ABAP数据字典中的参考表和参考字段的作⽤⼤家最初在SE11中创建表和结构的时候都会遇到⼀个问题,如果设定了某个字段为QUAN 或者CURR类型,也就是数量或⾦额的时候,总会要求输⼊⼀个参考表...
⼤家最初在 SE11 中创建表和结构的时候都会遇到⼀个问题,如果设定了某个字段为 QUAN 或者 CURR 类型,也就是数量或⾦额的时候,总会要求输⼊⼀个参考表和参考字段,它是做什么⽤的呢?
这要从数字的本质说起,⼤家都知道⼀句话“数字会说话”,但是,商业数字不是代数,⼀个没有没有单位的商业数字,是不会说话的,就算说,也是瞎话。⽐如⼤家都看过的贺岁⽚《⾮诚勿扰》,葛优和范伟对那个伟⼤的划时代发明“分歧终端机”刚达成了200万的协议,马上就冒出来美元和英镑的分歧——数字是会被误读的。
SAP 可不会让这样的事情发⽣,对于数量和⾦额,SAP 要求必须指定单位,这个单位就是由参考表和参考字段来指定的。这样,在运⾏时,ABAP 运⾏时环境就可以准确获得这个数字的单位,从⽽确保谁看到这个数字都不会夸⼤或缩⼩。
知道了为什么,接下来就是解释怎么做。
记住我
对于数据库表来说:
1、参考表是当前表的情况最好解释,某条记录中的数量的单位就是它的参考字段所包含的值,⽐如 MARA 等主数据表⾥就是这样;
2、如果参考表是另外⼀个表,则原则上当前表中应该有⼀个字段将参考表做为外键表来使⽤,这样,某条记录中的数量的单位就是该记录的外键字段的值在参考表中对应的参考字段的值,⽐如 T031 这个表就是这样;
3、最不可理解的是字段的参考表也不是外键表,我完全不明⽩它的数值怎么跟单位对应起来,也许是程序控制?这需要 SAP 解释了。这样的例⼦也有很多,⽐如 STPO。
对于结构来说:
情况与上⾯类似,但是更多都是第三种⽆法解释的定义。
发布评论