问题描述
看到有一个叫demo_hello_world的report程序。其中有个screen。no是1000。代码如下。定义了很多的module,如%_INIT_PBO,%_INIT_PBO等。我在report程序中怎么也找不到这些定义的MODULE,双击这些名字,提示没有这些module,是否建立?可是没有这些module,程序却是运行的很好。有哪位可以解释一下吗,太迷茫了。PROCESSBEFOREOUTPUT.MODULE%_INIT_PBO.MODULEPBO_REPORT.MODULE%_PF_STATUS.MODULE%_END_OF_PBO.PROCESSAFTERINPUT.MODULE%_BACKATEXIT-COMMAND.MODULE%_INIT_PAI.FIELD!INPUTMODULE!INPUT.CHAIN.FIELDINPUT.MODULEEND_OF_SCREEN.MODULE%_OK_CODE_1000.ENDCHAIN.
解决方案
解决方案二:
1000是标准屏幕你说的那个代码模块也是有的,系统标准的
解决方案三:
这种是报表程序的选择屏幕,是通过代码自动生成的屏幕。你可以在程序里看到SELECTION-SCREEN、SELECT-OPTIONS、PARAMETERS这样的代码,这些代码就是创建选择屏幕的。至于其中的这些MODULE,则是通过运行报表程序的程序调用的,在报表程序里并没有对这些MODULE进行处理的代码。控制报表程序的PBO和PAI逻辑的,是一些预定义的事件,如INITIALIZATION、ATSELECTION-SCREENOUTPUT、ATSELECTION-SCREEN[ON]、START-OF-SELECTION、END-OF-SELECTION、ATLINE-SELECTION、ATUSER-COMMAND等。其实在你双击1000打开屏幕时,状态栏就会提示,这个是选择屏幕,不允许手工编辑。