ABAP数据字典中的参考表和参考字段的作用 大家最初在SE11中创建表和结构的时候都会遇到一个问题,如果设定了某个字段为QUAN或者CURR类型,也就是数量或金额的时候,总会要求输入一个参考表...
大家最初在 SE11 中创建表和结构的时候都会遇到一个问题,如果设定了某个字段为 QUAN 或者 CURR 类型,也就是数量或金额的时候,总会要求输入一个参考表和参考字段,它是做什么用的呢?
这要从数字的本质说起,大家都知道一句话“数字会说话”,但是,商业数字不是代数,一个没有没有单位的商业数字,是不会说话的,就算说,也是瞎话。比如大家都看过的贺岁片《非诚勿扰》,葛优和范伟对那个伟大的划时代发明“分歧终端机”刚达成了200万的协议,马上就冒出来美元和英镑的分歧——数字是会被误读的。
SAP 可不会让这样的事情发生,对于数量和金额,SAP 要求必须指定单位,这个单位就是由参考表和参考字段来指定的。这样,在运行时,ABAP 运行时环境就可以准确获得这个数字的单位,从而确保谁看到这个数字都不会夸大或缩小。
知道了为什么,接下来就是解释怎么做。
对于数据库表来说:
1、参考表是当前表的情况最好解释,某条记录中的数量的单位就是它的参考字段所包含的值,比如 MARA 等主数据表里就是这样;
2、如果参考表是另外一个表,则原则上当前表中应该有一个字段将参考表做为外键表来使用,这样,某条记录中的数量的单位就是该记录的外键字段的值在参考表中对应的参考字段的值,比如 T031 这个表就是这样;
3、最不可理解的是字段的参考表也不是外键表,我完全不明白它的数值怎么跟单位对应起来,也许是程序控制?这需要 SAP 解释了。这样的例子也有很多,比如 STPO。
对于结构来说:
情况与上面类似,但是更多都是第三种无法解释的定义。
ABAP 数据字典中的参考表和参考字段的作用的更多相关文章
-
从数据库中查询所有表及所有字段的SQL语句
从数据库中查询所有表及所有字段的SQL语句 由于一个小项目的需要,近日完成一个从数据库中查询所有表及所有字段的方法,其实用两条SQL语句就可以完成. Sql Server版:列出当前DB中所有表:se ...
-
C# 如何获取SQL Server 中指定数据表的所有字段名和字段类型
如何获取指定数据表的所有字段名和字段类型.SqlConnection.GetSchema方法有2个重载形式,获取指定数据表的所有字段名和字段类型的秘密就在GetSchema (String, Stri ...
-
mysql 数据库中的每张表加同一个字段(避免重复加)
DROP PROCEDURE IF EXISTS testEndHandle; DELIMITER $$ CREATE PROCEDURE testEndHandle() BEGIN DECLARE ...
-
oracle中,改变表名和字段名的大小写
1.将表名和字段名改为大写 见--http://www.cnblogs.com/wenboge/articles/4121331.html 2.将表名和字段名改为小写 ①改表名为小写 begin f ...
-
django中写form表单时csrf_token的作用
之前在学习django的时候,在template中写form时,出现错误.百度,google后要加{% csrf_token %}才可以,之前一直也没研究,只是知道要加个这个东西,具体是什么也不明白. ...
-
sql中修改多表关联的字段
表1:USERID USERNAME USERREMARK 表2:ROLEID USERID ROLENAME 其中表1的USERID与表2的USERID为关联字段. 若现在只知道ROLEID,要修改 ...
-
SqlServer中 将某个表的某个字段改个默认值
ALTER TABLE [dbo].[表名] ADD CONSTRAINT [DF_表名_列名] DEFAULT ((默认值)) FOR [列名] ALTER TABLE QA_API ADD CON ...
-
获取oracle中某张表的各个字段名称
select column_name from all_tab_columns where table_name='AT2_SSIS_CHNDB_CLIENT_INFO'
-
MySQL 表名和字段名不要使用保留字命名
今天测试代码,新建了一张 Order 表,使用的 MySQL 数据库. 插入数据的时候报语法错误,我检查了好几遍,也没看出 SQL 语句哪里有问题,于是从 MyBatis 的日志里拷贝出 SQL 语句 ...
随机推荐
-
angular的$scope
angularJS是一个MVVM的前端js框架. $scope的作用是angular向视图(html)传递数据的通道,它不负责处理和操作数据.也就是说要想向视图传递数据的话,必须定义$scope变量. ...
-
CentOS7安装图形界面和修改运行级别
CentOS7系统如果用mini镜像安装或者服务器版本安装,默认是没有安装图形界面的.如果需要额外去安装图形界面,可以手动来安装CentOS Gnome GUI包.然后会总结一下,在CentOS7系统 ...
-
node express 学习1
参考链接https://cnodejs.org/topic/55ece31004e2cdb230671c50 express-session connect-nongo mongoose 1.安装mo ...
-
禁止ubuntu的super快捷键
在mac上安装了ubuntu虚拟机, 但是发现command健(ubuntu中叫super健)被系统占用了, 习惯了command健的同学来说非常不方便, 如何禁用默认的command健呢? You ...
-
V5
系统设置--关于手机--版本号点5下--进去开发模式--打开开发选项--打开USB调试.然后在连接第三方助手软件 http://bbs.ztehn.com/thread-19037-1-1.html
-
关于MATLAB收集人工鼠标移动轨迹的坐标
首先需要设计一个用户图形界面的函数,这个图形界面被用于在其上面绘制轨迹并记录当时的坐标. 该回响函数应包含:鼠标按下时,鼠标移动时,和鼠标释放时的反应命令.当然网上有有相关的开源 程序,但是有缺陷(该 ...
-
Linux系统LVM基本使用
一.关于LVM的几个概念 1. LVM:逻辑卷管理器,是建立在物理存储设备上的一个抽象层,允许你生成逻辑存储卷, 与硬件相关的存储设置被其隐藏,你不用停止应用或卸载文件系统来调整卷大小 或迁移数据,可 ...
-
[转载] Fiddler为所欲为第三篇 封包逆向必备知识[三]
导语: 小A同学:会抓包有什么好学习的,不就用一个工具设置个wifi代{过}{滤}理就OK了嘛,还不是很多做不了.不如学习安卓逆向.didi科学家:不好意思,抓包可以为所欲为. 其实学习抓包,完完全全 ...
-
关于绕过域名(ip)校验的一些小知识
这篇文章最开始只是想写一个关于绕过referer的方法,写着写着发现和ssrf以及url跳转的一些手法类似,于是把这两种也加上了 对referer做校验一般是对csrf进行防范的手段之一,但是很多时候 ...
-
Foreach循环输出索引值
循环输邮索引值,使用for是没有任何问题: class Bh { public string[] str { get; set; } public void TestFor() { ; i < ...