FIELD MODULE结合CHAIN在SCREEN中的应用实例
2011-02-12 18:13
405 查看
REPORT中代码------------------------------------------------------------------------------------------
TABLES SPFLI.
DATA: OK_CODE TYPE SY-UCOMM.
DATA: S***E_OK TYPE SY-UCOMM.
DATA: FLD1(20) TYPE C,
FLD2(20) TYPE C,
FLD3(20) TYPE C,
FLD4(20) TYPE C,
ACTION(50) TYPE C.
*&---------------------------------------------------------------------*
*& Module CANCEL INPUT
*&---------------------------------------------------------------------*
* text
*----------------------------------------------------------------------*
CALL SCREEN 100.
module CANCEL input.
LE***E PROGRAM.
endmodule. " CANCEL INPUT
*&---------------------------------------------------------------------*
*& Module USER_COMMAND_0100 INPUT
*&---------------------------------------------------------------------*
* text
*----------------------------------------------------------------------*
module USER_COMMAND_0100 input.
S***E_OK = OK_CODE.
CLEAR OK_CODE.
CASE S***E_OK.
WHEN 'EXIT'.
LE***E PROGRAM.
ENDCASE.
* SELECT SINGLE *
* INTO CORRESPONDING FIELDS OF SPFLI
* FROM SPFLI
* WHERE CARRID EQ SPFLI-CARRID AND CONNID EQ SPFLI-CONNID.
*IF sy-subrc ne 0.
* CLEAR spfli.
*ENDIF.
ACTION = ''.
CONCATENATE FLD1 FLD2 FLD3 FLD4 INTO ACTION.
endmodule. " USER_COMMAND_0100 INPUT
*&---------------------------------------------------------------------*
*& Module STATUS_0100 OUTPUT
*&---------------------------------------------------------------------*
* text
*----------------------------------------------------------------------*
module STATUS_0100 output.
SET PF-STATUS 'STATUS1'.
* SET TITLEBAR 'xxx'.
endmodule. " STATUS_0100 OUTPUT
*&---------------------------------------------------------------------*
*& Module CHECK1 INPUT
*&---------------------------------------------------------------------*
* text
*----------------------------------------------------------------------*
module CHECK1 input.
IF fld1 = 'FLD1'.
MESSAGE e398(00) WITH 'FLD1 ERROR'.
ENDIF.
IF FLD1 = 'FLD11'.
MESSAGE I398(00) WITH 'FLD1 WARNING'.
ENDIF.
IF FLD1 = 'FLD111'.
MESSAGE S398(00) WITH 'FLD1 OK'.
ENDIF.
endmodule. " CHECK1 INPUT
*&---------------------------------------------------------------------*
*& Module CHECK2 INPUT
*&---------------------------------------------------------------------*
* text
*----------------------------------------------------------------------*
module CHECK2 input.
IF FLD3 = 'FLD3'.
MESSAGE E398(00) WITH 'FLD3 ERROR'.
ENDIF.
IF FLD3 = 'FLD33'.
MESSAGE I398(00) WITH 'FLD3 WARNING'.
ENDIF.
IF FLD3 = 'FLD333'.
MESSAGE S398(00) WITH 'FLD3 OK'.
ENDIF.
endmodule. " CHECK2 INPUT
*&---------------------------------------------------------------------*
*& Module CHECK3 INPUT
*&---------------------------------------------------------------------*
* text
*----------------------------------------------------------------------*
module CHECK3 input.
MESSAGE I398(00) WITH 'FLD2 * WARNING'.
endmodule. " CHECK3 INPUT
屏幕100的逻辑流---------------------------------------------------------------------------------------
PROCESS BEFORE OUTPUT.
MODULE STATUS_0100.
*
PROCESS AFTER INPUT.
CHAIN.
FIELD: FLD1, FLD2.
MODULE CHECK1.
ENDCHAIN.
CHAIN.
FIELD: FLD3, FLD4.
MODULE CHECK2.
ENDCHAIN.
FIELD FLD2 MODULE CHECK3 ON *-INPUT.
MODULE CANCEL AT EXIT-COMMAND.
MODULE USER_COMMAND_0100.
TABLES SPFLI.
DATA: OK_CODE TYPE SY-UCOMM.
DATA: S***E_OK TYPE SY-UCOMM.
DATA: FLD1(20) TYPE C,
FLD2(20) TYPE C,
FLD3(20) TYPE C,
FLD4(20) TYPE C,
ACTION(50) TYPE C.
*&---------------------------------------------------------------------*
*& Module CANCEL INPUT
*&---------------------------------------------------------------------*
* text
*----------------------------------------------------------------------*
CALL SCREEN 100.
module CANCEL input.
LE***E PROGRAM.
endmodule. " CANCEL INPUT
*&---------------------------------------------------------------------*
*& Module USER_COMMAND_0100 INPUT
*&---------------------------------------------------------------------*
* text
*----------------------------------------------------------------------*
module USER_COMMAND_0100 input.
S***E_OK = OK_CODE.
CLEAR OK_CODE.
CASE S***E_OK.
WHEN 'EXIT'.
LE***E PROGRAM.
ENDCASE.
* SELECT SINGLE *
* INTO CORRESPONDING FIELDS OF SPFLI
* FROM SPFLI
* WHERE CARRID EQ SPFLI-CARRID AND CONNID EQ SPFLI-CONNID.
*IF sy-subrc ne 0.
* CLEAR spfli.
*ENDIF.
ACTION = ''.
CONCATENATE FLD1 FLD2 FLD3 FLD4 INTO ACTION.
endmodule. " USER_COMMAND_0100 INPUT
*&---------------------------------------------------------------------*
*& Module STATUS_0100 OUTPUT
*&---------------------------------------------------------------------*
* text
*----------------------------------------------------------------------*
module STATUS_0100 output.
SET PF-STATUS 'STATUS1'.
* SET TITLEBAR 'xxx'.
endmodule. " STATUS_0100 OUTPUT
*&---------------------------------------------------------------------*
*& Module CHECK1 INPUT
*&---------------------------------------------------------------------*
* text
*----------------------------------------------------------------------*
module CHECK1 input.
IF fld1 = 'FLD1'.
MESSAGE e398(00) WITH 'FLD1 ERROR'.
ENDIF.
IF FLD1 = 'FLD11'.
MESSAGE I398(00) WITH 'FLD1 WARNING'.
ENDIF.
IF FLD1 = 'FLD111'.
MESSAGE S398(00) WITH 'FLD1 OK'.
ENDIF.
endmodule. " CHECK1 INPUT
*&---------------------------------------------------------------------*
*& Module CHECK2 INPUT
*&---------------------------------------------------------------------*
* text
*----------------------------------------------------------------------*
module CHECK2 input.
IF FLD3 = 'FLD3'.
MESSAGE E398(00) WITH 'FLD3 ERROR'.
ENDIF.
IF FLD3 = 'FLD33'.
MESSAGE I398(00) WITH 'FLD3 WARNING'.
ENDIF.
IF FLD3 = 'FLD333'.
MESSAGE S398(00) WITH 'FLD3 OK'.
ENDIF.
endmodule. " CHECK2 INPUT
*&---------------------------------------------------------------------*
*& Module CHECK3 INPUT
*&---------------------------------------------------------------------*
* text
*----------------------------------------------------------------------*
module CHECK3 input.
MESSAGE I398(00) WITH 'FLD2 * WARNING'.
endmodule. " CHECK3 INPUT
屏幕100的逻辑流---------------------------------------------------------------------------------------
PROCESS BEFORE OUTPUT.
MODULE STATUS_0100.
*
PROCESS AFTER INPUT.
CHAIN.
FIELD: FLD1, FLD2.
MODULE CHECK1.
ENDCHAIN.
CHAIN.
FIELD: FLD3, FLD4.
MODULE CHECK2.
ENDCHAIN.
FIELD FLD2 MODULE CHECK3 ON *-INPUT.
MODULE CANCEL AT EXIT-COMMAND.
MODULE USER_COMMAND_0100.
相关文章推荐
- SCREEN 实例(重点在于FIELD的验证结合CHAIN的用法)
- Ansible自动化运维配置与应用(结合实例)
- android Gallery与ImageSwitcher结合实例应用总结
- Spring + mybatis整合方案总结 结合实例应用
- Java与数据库的结合,应用实例。以学生表、选课表为例。可以自己扩展功能。
- jsonp与Java结合应用实例
- stm32f103 adc1 与DMA的结合方式应用实例
- 闹钟实例与远程机制AIDL工具android:process=":remote"结合应用
- Spring + mybatis整合方案总结 结合实例应用
- tuple list 结构结合record的应用实例
- Jquery+Json+Handler文件结合应用实例
- mvc结合web应用实例分析
- 4.EditText控件的应用实例:结合TableLayout
- spring结合velocity的应用实例
- android应用开发全程实录-你有多熟悉listview? getView重写 inflate结合各种Adapter实例
- flash+xml结合应用实例下载
- CountDownLatch与AIDL获取应用软件大小结合使用实例
- Spring + mybatis整合方案总结 结合实例应用
- 管道pipe与dup结合使用,应用实例
- flash+xml结合应用实例下载