sap abap dialog编程问题
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了sap abap dialog编程问题相关的知识,希望对你有一定的参考价值。
请教下大家,编程里结构screen 各参数是什麽含义,比如 screen-group1 = 'BLK', screen-group1 = 'GP1',其中BLK,GP1这些值是系统预置的还是自已定的呢?如果是系统预置的话?那分别代表什么含?呢?在哪里可以看到screen 所有预设值的含议呢?万分感谢。
自己设定的,某些含义的缩写,BLK不知道,GP1 就是 Group 1 嘛。这样设定,主要是为了将屏幕上的字段进行分组用的,一个字段可以设定4个组,分别是GROUP1,GROUP2,GROUP3,GROUP4。通过屏幕窗口中的元素清单标签下面的子标签Mod.groups/fucntions进行组的设定。通过组的设定,当程序执行PBO(process before output)时,我们可以使用命令对屏幕进行控制,实现屏幕上字段的显示或不显示,输入或不可输入等操作,可以通过数据字典查看SCREEN中的具体参数。如下面的例子:
LOOP SCREEN.
IF SCREEN-GROUP1 = 'BLK'. “ 如你上述写的命名
SCREEN-INPUT = '0'.
ENDIF.
IF SCREEN-GROUP2 = 'GP2'.
SCREEN- ACTIVE = '1'.
ENDIF.
MODIFY SCREEN.
ENDLOOP. 参考技术A 可以自己定义,双击一个屏幕--〉你会看见Attributes,Element list,Flow logic-->然后点上面的Layout--〉出现的屏幕任意双击一个屏幕字段Field--〉在弹出的小窗口你会看见Groups,就是你想要的了!自己定义,可以check在同一个Group 下面不同字段,是否有变化,做相应的change。
至于sap标准的,不外乎也是一个屏幕套用一个屏幕,你知道程序名,你知道屏幕号,可以去程序里面看,那个Group是啥。至于group的含义,我不认为有什么含义。。。指不定哪个程序元自己随意想出来的。。。
ABAP系列SAP ABAP 如何控制Dialog中的键盘(回车)功能
公众号:SAP Technical
本文作者:matinal
前言部分
大家可以关注我的公众号,公众号里的排版更好,阅读更舒适。
正文部分
MODULE USER_COMMAND_2100 INPUT. CLEAR SAVE_OK. SAVE_OK = OK_CODE. CLEAR OK_CODE. CASE SAVE_OK. WHEN \\‘ENTER\\‘. PERFORM FRM_ENTER. WHEN \\‘CANC\\‘ OR \\‘BACK\\‘. LEAVE TO SCREEN 0. WHEN \\‘EXIT\\‘. LEAVE PROGRAM. WHEN \\‘INPU\\‘. PERFORM FRM_SELE_FUNC USING \\‘1\\‘. WHEN \\‘MODI\\‘. PERFORM FRM_SELE_FUNC USING \\‘2\\‘. WHEN \\‘SECH\\‘. PERFORM FRM_SELE_FUNC USING \\‘3\\‘. WHEN \\‘CLEA\\‘. PERFORM FRM_CLEAR_SCREEN USING \\‘2100\\‘. WHEN OTHERS. ENDCASE. ENDMODULE. " USER_COMMAND_2100 INPUT *&---------------------------------------------------------------------* *& Form FRM_ENTER *&---------------------------------------------------------------------* * 按回车键引发的动作 *----------------------------------------------------------------------* FORM FRM_ENTER_2100 . * 取得当前光标所在位置 CLEAR W_2100-CURPOS. GET CURSOR FIELD W_2100-CURPOS. CASE W_2100-CURPOS. WHEN \\‘W_2100-DATE\\‘. * 拣配日期——默认当天日期,可修改。若修改,用户回车后判断日期格式 * 是否正确,若不正确光标停留在“拣配日期”项目上等待用户修改;若正 * 确光标跳到“仓库”项目上。 PERFORM FRM_MAIN_CHECK_JZRQ USING W_2100-DATE. "检查日期 IF G_MAIN_CURPOS = \\‘W_G-JZRQ\\‘. W_2100-CURPOS = \\‘W_2100-DATE\\‘. EXIT. ELSE. W_2100-CURPOS = \\‘W_2100-LGORT\\‘. ENDIF. WHEN \\‘W_2100-LGORT\\‘. * 仓库——用户登录后,从“仓管员信息表”里查找出用户名对应的库存地点, * 显示在“仓库”后面。用户可修改,修改后按回车,系统需要判断用户输入的 * 库存地点代码是否在“仓管员信息表”里,若不存在提示错误信息(您没有操 * 作该仓库的权限)。若正确,回车后光标跳到“请选择”上 SELECT SINGLE LGORT INTO ZMMWHM-LGORT FROM ZMMWHM WHERE NAME = SY-UNAME AND LGORT = W_2100-LGORT. IF SY-SUBRC <> 0. W_2100-CURPOS = \\‘W_2100-LGORT\\‘. MESSAGE E000. EXIT. ELSE. W_2100-CURPOS = \\‘W_2100-SELE\\‘. ENDIF. WHEN \\‘W_2100-SELE\\‘. * 请选择——用户在该项目上输入屏幕上可供选择的菜单项编号,回车后系统判 * 断输入的内容是否存在对应菜单编号,若不存在光标停留在“请选择”项目 * 上,并选中输入的内容等待用户修改;若存在则进入相应的操作屏幕。 PERFORM FRM_SELE_FUNC USING W_2100-SELE. WHEN OTHERS. ENDCASE. ENDFORM. " FRM_ENTER
以上是关于sap abap dialog编程问题的主要内容,如果未能解决你的问题,请参考以下文章
ABAP系列SAP ABAP 如何控制Dialog中的键盘(回车)功能