明天系统上线,数据一团糟,没人提BUG,无聊ING....
今天说说SAP开发常用的DIALOG吧
一般单独的DIALOG程序可以直接建成函数组,功能组,普通报表程序。
基本都是统一的样式,主程序中INCLUDE一系列子程序,一般包含:TOP(数据定义)、PBO(屏幕输出前的处理)、PAI(屏幕事件以及逻辑管理)、FRM(FORM包)
输出样式一般是:TC表,普通结构字段等。。。
一般的字段逻辑在PAI中,MOUDLE xxx ON INPUT/REQUEST。
1、INPUT:有值就会执行。REQUEST:值变更才执行。这两者有很大的区别,前者很耗时,后者很严谨。
2、LOOP AT TC:这个可以简易的理解为电子显像管,从上到下,从左到右,依次输出TABLE内容。屏幕控制必须在PBO的LOOP前或中才能起效;数据处理在LOOP中或者后才能起效(之前MODIFY亦可)
3、屏幕事件接收OK_CODE必须及时清空,滚动滑轮等一系列其他事件会继续触发之前的OK_CODE事件。尤其是生成单据,跟新数据!
4、TC中添加行,更新行号 1)任意位置,这种情况一般是在PBO的LOOP前循环一遍更新序号,对效率稍有影响。
2)追加空行,修改自动生成的insert_row l_line = l_selline - <tc>-top_line + 1.
INSERT INITIAL LINE INTO <table> INDEX l_selline.(可在此时直接用作为行号计算基数)
5、屏幕控制:一般可以在STATUS中,或者后。按钮控制单独用EXCLUDING;普通字段是否可编辑,可见等,screen-input,INVISIBLE&LENGTH