SE11
自省数据及表存储
2014年4月6日
21:37
类似JAVA反射的特性
SAP提供自省数据的机制
这样可以保证程序的灵活性和动态性
1.使用OO中的cl_abap_typedescr等相关class的method
可以达到查看各种数据内部结构的功能
参见REPORT Z_QUERY_PARSER.解析table的结构
2.使用function
DDIF_TABL_GET
查询数据字典中定义的结构
---------------------------------------------------------------------
使用st05查看DDIF_TABL_GET的查询过程

涉及的数据字典定义的表
如果有必要其实都可以自己去查询
DD01L DD04L 分别对应domain 和 element的信息
DD02L:
表的基本信息
创建者
修改等等


由此可见 structure table view之类的定义都是共享的同一张表
想来也应该这样设计 抽象出共同的特征
设置类别
放在一起
DD03L:
表字段基本信息
是否为key Element 是啥 Domain是啥
是否激活 技术信息等等

DD08L:
定义关系
某些字段是否为外键 表检查对应的表
数量关系
等等

(这里DD03L 和 DD08L 也恰好对应了创建表格时
需要维护的多个页签)
外挂表的维护
2014年4月6日
21:38
1 通过SM30维护
进入TCODE:SE93建立新TCODE,
tcode类型选择为:"Transaction with parameters(parameter transaction)";
事务栏输入"SM30";选中"跳过起始屏幕";选中"Inherit GUI attribute";
输入默认字段:VIEWNAME = '自定义的表名' 和UPDATE = 'X';保存激活即可;
2 通过RS_TABLE_LIST_CREATE函数建立新程序来建立TCODE
新程序代码如下
report zjwec026 .
call function 'RS_TABLE_LIST_CREATE'
exporting
action = 'ANLE'
table_name = 'ZJW_CC_GZJSQ'
generation_forced = ' '.
通过View_Maintenance_Call 函数建立新程序来建立TCODE,代码可以参见SAP的标准程序RFT042D_CALL
代码如下
report rft042d_call.
call function 'VIEW_MAINTENANCE_CALL'
exporting
action = 'S'
view_name = 'V_T042D'.
---------------------------------------------------------------------------------------
在维护外挂表的时候
通常都通过生成维护视图来实现
维护视图的代码利用系统的机制 类似代码生成器生成
如果表格有改动需要重新生成(或者更新)
同时由于这部分代码是放在自定义的一个函数组中(所以部分代码是有修改权限的
和 Query 略有差异)
所以也可以从代码层面加入需要的特定功能
例如数据准确性的管控
维护界面文本等的维护
From <http://xianjun.blog.51cto.com/276780/57852>
SM30
2014年8月5日
19:11
自己创建的数据库表,如果用SM30来维护的话,在SE11创建表格的时候,有2点需要注意的:
1.判断客户是批量维护,还是单个维护。
在"表格维护生成器"中,"维护类型"选中"一步"单选按钮,维护数据时,就是批量维护;选中"两步"单选按钮,维护数据时,就是单个维护,即分两步.
2.判断客户在生产机维护的数据是否需要传到测试机和生产机。
在"表格维护生成器"中,"记录例程"选中"标准记录例程"单选按钮时,维护数据时,就会产生请求,这样的话,就可以对数据进行传输;选中"不,或用户,记录例程"单选按钮时,维护数据时,不会生产请求。
From <http://xvebin666.blog.163.com/blog/static/196884020091038723374/>
另外还有一个配置影响是否要求放入请求


SCC4
SCC*
是一组关于client的操作

附SCC1同一个server上的copy
另外这玩意还控制
SM30视图内容是否可修改
quan的理解
2014年4月6日
23:26
se11中建表关于quan
quan表示它是一种数量类型 并且需要有单位才能有意义的
这个单位的来源:(From Web)
对于数量和金额,SAP 要求必须指定单位,这个单位就是由参考表和参考字段来指定的。这样,在运行时,ABAP 运行时环境就可以准确获得这个数字的单位,从而确保谁看到这个数字都不会夸大或缩小。
知道了为什么,接下来就是解释怎么做。
对于数据库表来说:
、参考表是当前表的情况最好解释,某条记录中的数量的单位就是它的参考字段所包含的值,比如 MARA 等主数据表里就是这样;
、如果参考表是另外一个表,则原则上当前表中应该有一个字段将参考表做为外键表来使用,这样,某条记录中的数量的单位就是该记录的外键字段的值在参考表中对应的参考字段的值,比如 T031 这个表就是这样;
、最不可理解的是字段的参考表也不是外键表,我完全不明白它的数值怎么跟单位对应起来,也许是程序控制?这需要 SAP 解释了。这样的例子也有很多,比如 STPO。
对于结构来说:
情况与上面类似,但是更多都是第三种无法解释的定义。
看下vbap中的定义:

vbap中的定义显然就很靠谱
一看就懂
我们自己建表也要有这么个过程
其实应该是用错了quan
你没事用p 用 int表示数量不就好了
用了quan要么在表中我们自己指定单位 (想vbap中的vrkme一样 unit格式)
要么省事不用
去其他表参考个单位来 只是为了能通过检查而已
没有什么实际意义
另外quan和curr在smartfrom中是无法处理的
两种解决方案:程序中转换和smartform中转换
SE11的更多相关文章
- SAP SE11 网格布局显示
SE11 进入数据显示界面后 在 Settings -> User Parameters, Data Browser 页面 勾选ALV Grid display 即可.
- SAP 锁对象 基本概念与基本操作 SE11
一.SAP为什么要设置锁: 1,保持数据的一致性 假设几个用户要訪问相同的资源,须要找到一种同步訪问的方法去保持数据的一致性.比方说,在航班预订系统中,须要检查还有没有空座位,当检 ...
- 20170224 SE11删除数据
目的,批量删除错误条目.1.SE11 通过条件找到目标数据,并选中: 2./H 进入debug,回车,更改值 OK_CODE = DEL5 F8 运行则出现删除框,
- SE11 数据表中 日志数据更改 勾选的作用
[园工]HF-abap-Rainy(574570549) 11:10:12这个有啥作用,勾上了怎么查修改日志呢,[园丁]SH-CRM-ALEX(8738890) 11:13:53SCU3[ ...
- JAVA SE11环境变量配置(Windows)
附上:03. 安装环境:Windows · IntelliJ IDEA Tutorial 附上:使用调试功能进行 Java debug 附上:Linux(Deepin)下配置java8 - L1412 ...
- SAP自定义权限对象
SAP系统自带了很多的权限对象,每一个运行画面都有非常多的权限用到.不过标准的权限对象并不一定适合于用在客户自己开发的程序里面,所以每个ABAPer都应该会自己开发一套权限对象,并引用在程序代码里面. ...
- SAP CRM 在Web UI中创建搜索帮助
多数情况下,在Web UI为一个特定的字段提供搜索帮助需要在事务SE11中创建搜索帮助. (注:也可以通过在SE24中创建一个类并实现实现IF_BSP_WD_CUSTOM_F4_CALLBACK接口来 ...
- 一步步实现ABAP后台导入EXCEL到数据库【2】
前文:http://www.cnblogs.com/hhelibeb/p/5912330.html 既然后台作业只能在应用服务器运行,那么,我们可以先将要上传的数据保存在应用服务器中,之后再以后台作业 ...
- BW知识问答汇总
什么是sap的星型结构,能不能详细讲解一下? Cube的星型结构中SID技术的优点有哪些? 什么是BW的星型结构,与传统的星型结构的区别是什么? SAP的星型结构相对于传统的星型结构优势? Cube与 ...
随机推荐
- DataTable中的数据赋值给model z
create table memberinfo ( member_id int, member_name varchar(20), member_birthday varchar(50) ) go / ...
- NSPredicate,谓词
原文地址:http://blog.csdn.net/holydancer/article/details/7380799 在语言上,谓语,谓词是用来判断的,比如“我是程序猿”中的是,就是表判断的谓语, ...
- expdp导出数据库
源地址:http://www.cnblogs.com/luluping/archive/2010/03/16/1687093.html 使用EXPDP和IMPDP时应该注意的事项: EXP和IMP是客 ...
- EXPDP
源地址:http://blog.csdn.net/zftang/article/details/6387325
- [Java] java中的异常处理-续
异常处理器,它由try, catch, finally以及随后的程序块组成.finally不是必须的. catch的括号有一个参数,代表所要捕捉的异常的类型.catch会捕捉相应的类型及其衍生类.tr ...
- Servlet中读取参数的几种方式
为每一Servlet设置初始化参数 可以为每一个Servlet在对应的web.xml中的Servlet节点下编写初始化参数,格式如下: <init-param> <param-nam ...
- 单元测试利器之Jtester
http://kiral.iteye.com/blog/900975 名词解释: Junit:众所周知的单元测试. 官方网址:http://junit.sourceforge.net/.Junit从4 ...
- Delphi的Socket编程步骤(repulish)
转贴自:http://topic.csdn.net/t/20010727/16/212155.html ClientSocket 和ServerSocket几个重要的属性: 1.client和se ...
- 让EntityFramework6支持SQLite
最近给朋友的小孩做了一个毕业设计.用的是asp.net MVC5 + EntityFramework6 + SQL Server 2008. 结果做好后,朋友说能不能不要数据库,直接运行?顿时让我很纠 ...
- 算法练习1 用c#编写的一个判定一组数是否是有序的
//判定数组是否有序 //总的程序代码如下: using System; using System.Collections.Generic; using System.Linq; using Syst ...