摘要: SAP锁机制一、SAP为什么要设置锁: 1,保持数据的一致性 如果几个用户要访问同样的资源,需要找到一种同步访问的方法去保持数据的一致性。比如说,在航班预订系统中,需要检查还有没有空座位,当检查的时候,你不想别人修改重要的数据(空座位的数量)。 2,仅仅用Database锁是不够的 数据库管理系统物理锁定了要修改的行记录,其他用户要等到数据库锁释放才能访问这个记录。 在SAP系统中,当一个新屏幕显示的时候会释放掉Database锁,因为屏幕的改变会触发一个隐式的DB COMMIT。如果数据是从好几个屏幕收集来的话,而且在这段时间内这些数据会分别被锁定,仅仅用Database锁就不够了。 SAP 阅读全文
posted @ 2014-01-15 19:57 小鱼儿游 阅读(1078) 评论(0) 推荐(0) 编辑
摘要: 当选择屏幕上的一个字段所参考的数据元素没有建立搜索帮助时,可以手工建立一个: 1、在se11创建一个搜索帮助ZAUTEST,需要输入: (1)描述; (2)选择方法:即搜索帮助显示字段所在的透明表; (3)搜索帮助参数:即搜索帮助要显示的字段; (4)IMP:输入字段,勾上即表示显示该字段; (5)EXP:输出字段,勾上即表示该字段是搜索帮助需要的输入字段; (6)Lpos:搜索帮助下半部分字段排序;Spos:搜索帮助上半部分字段排序。 如下图:在Dialog屏幕中给输入字段建立搜索帮助,有以下三种情况:一:直接使用系统已有的搜索帮助,对于系统已存在搜索帮助的输入字段可直接使用:... 阅读全文
posted @ 2014-01-15 19:28 小鱼儿游 阅读(1552) 评论(0) 推荐(0) 编辑
摘要: ABAP的常用tcode开发-----------------------------------------------SE51 屏幕制作SE91 MESSAGE OBJECTSE80 对象浏览器(可以建开发类等很多大的对象,包括INTERFACE)SE21 建开发类SE38 ABAP编程SE39... 阅读全文
posted @ 2014-01-15 18:58 小鱼儿游 阅读(1559) 评论(0) 推荐(0) 编辑
摘要: 事务码 描述(中英文) SBIT Menu 菜单 SBTA Test background processing 后台处理测试 SBTU Background processing for user 对用户的后台处理 SM36 Define Background Job 定义后台作业 SM37 B... 阅读全文
posted @ 2014-01-15 18:58 小鱼儿游 阅读(1028) 评论(0) 推荐(0) 编辑
摘要: 1.F只能是内表的第一个字段2.AT NEW F、AT END OF F使用F之后内表内容会变为*解决出现*的办法:FIELD-SYMBOLS: LIKE ITABLOOP ATITABASSIGNING .ENDLOOP. 阅读全文
posted @ 2014-01-15 18:55 小鱼儿游 阅读(294) 评论(0) 推荐(0) 编辑
摘要: TYPE-POOLS: slis.DATA: i_fieldcat TYPE STANDARD TABLE OF slis_fieldcat_alv.DATA gs_fieldcat LIKE LINE OF i_fieldcat."参考内表定义工作区域DATA n TYPE i VALUE 1.D... 阅读全文
posted @ 2014-01-15 18:53 小鱼儿游 阅读(241) 评论(0) 推荐(0) 编辑
摘要: SY-SUBRC: 系统执行某指令后,表示执行成功与否的变量,’0’ 表示成功SY-DBLNT: 被处理过的记录的笔数SY-UNAME: 当前使用者登入SAP的USERNAME;SY-DATUM: 当前系统日期;SY-UZEIT: 当前系统时间;SY-TCODE: 当前执行程序的Transaction codeSY-INDEX : 当前LOOP循环过的次数SY-TABIX: 当前处理的是internal table 的第几笔SY-TMAXL: Internal table的总笔数SY-SROWS: 屏幕总行数;SY-SCOLS: 屏幕总列数;SY-MANDT: 當前系統編號(CLIENT NU 阅读全文
posted @ 2014-01-15 18:50 小鱼儿游 阅读(1049) 评论(0) 推荐(0) 编辑
摘要: 当向EXCEL写入类似'01-01-01'或'01-01'这样的数据时,打开EXCEL时会发现数据变成了2001/1/1和1月1日。这是由于EXCEL自动转换功能,我们得要在输入前多加一个’号。而在ABAP中,加一个‘号的方法是:wa= '''01-01-01'.其中第一个’号是表示一个字符的开始,后两个‘表示转义符为一个’号。 阅读全文
posted @ 2014-01-15 17:15 小鱼儿游 阅读(1682) 评论(0) 推荐(0) 编辑
摘要: SY-TABIX– 内表当前行的索引号。SY-TABIX 的值可以被以下命令修改,但是只适用于索引表(index table)。对于哈希表(Hashed table),这个系统变量的值为空或0。APPEND 将 SY-TABIX 的值置为表最后一行的索引号,也就是说它将等于内表的行数。 等于增加一行数据之后内表的数据的行数COLLECT 将 SY-TABIX 的值置为现有或刚刚插入的行的索引号。如果内表为哈希(hashed table)表的话,SY-TABIX 被置为0。LOOP AT 将 SY-TABIX 的值置为每一次循环开始时的当前行索引号,在整个循环的结束时 SY-TABIX 被恢复为 阅读全文
posted @ 2014-01-15 17:14 小鱼儿游 阅读(586) 评论(0) 推荐(0) 编辑
摘要: 1 *modifying a set of lines directly(批量修改内表数据) 2 *使用"LOOP ... ASSIGNING ..."可以直接修改内表中的数据,而不需要先将内表数据复制到相应工作区,然后再更新回去。 3 ***METHOD ONE: 4 LOOP AT itab INTO wa. 5 i = sy-tabix MOD 2. 6 IF i = 0. 7 wa-flag = 'X'. 8 MODIFY itab FROM wa. 9 ENDIF.10 ENDLOOP.11 12 ***METHOD TWO:13 field-sy 阅读全文
posted @ 2014-01-15 17:10 小鱼儿游 阅读(235) 评论(0) 推荐(0) 编辑
该文被密码保护。 阅读全文
posted @ 2014-01-15 17:02 小鱼儿游 阅读(3) 评论(0) 推荐(0) 编辑
摘要: Loopatscreen会loop处理屏幕上的每一个组件,并对其做相应的处理。SELECTION-SCREEN:BEGINOFBLOCKB1WITHFRAME.PARAMETERSS_DATETYPEDATUMDEFAULTSY-DATUMMODIFIDOO.SELECTION-SCREEN:ENDOFBLOCKB1.SELECTION-SCREEN:BEGINOFBLOCKB2WITHFRAME.SELECT-OPTIONS:S_DATE2FORSY-DATUMMODIFIDPP.SELECTION-SCREEN:ENDOFBLOCKB2.SELECTION-SCREEN:BEGINOFBL 阅读全文
posted @ 2014-01-15 16:19 小鱼儿游 阅读(6190) 评论(0) 推荐(1) 编辑
摘要: 1.把某个字段相同行的数值型数据字段汇总如:初始数据FLD1FLD2FLD3aa1ab2ba3处理后数据FLD1FLD2FLD3aa3ba3其中:fld1,fld2为字符型,fld3为数值型。要求:现在我们的要求是:把fld1相同的行的FLD3汇总到最前面那行(如果要汇总到最后那行,可以为itab一个字段设fld4赋值1,2,3,。。然后sort itab by fld1 descending fld4 discending.再做下面的运算),并把多余的行删除。实际情况:(这是相当于FLD1是父结点,FLD2是子结点,FLD3为数值)现在的要求就是求父结点的值(为所有子结点的值之和)假设数据已 阅读全文
posted @ 2014-01-15 16:13 小鱼儿游 阅读(616) 评论(0) 推荐(0) 编辑