Dynproの作成手順

来源:互联网 发布:mysql整型类型 编辑:程序博客网 时间:2024/04/30 07:28

Dynpro Id:9010

*▼▼▼▼▼▼▼▼▼▼▼▼▼▼▼▼▼▼▼TOP▼▼▼▼▼▼▼▼▼▼▼▼▼▼▼▼▼▼▼*

*テーブルコントロール定義

CONTROLS:TAB9010 TYPE TABVIEW USING SCREEN ‘9010’.

 

*テーブルコントロール定義

TYPES:

  BEGIN OF TYP_TAB9010,

              FIELD1(10)            TYPE C,

              FIELD2(4)              TYPE C,

              FIELD3                 TYPE SY-DATUM,

              FIELD4                 TYPE P(8),

             

  END OF TYP_TAB9010.

 

DATA:    

  GTD_TAB9010                 TYPE STANDARD TABLE OF TYP_TAB9010,

  GTH_TAB9010                 LIKE LINES OF GTD_TAB9010,

  GST_TAB9010                 LIKE LINES OF GTD_TAB9010.

*▲▲▲▲▲▲▲▲▲▲▲▲▲▲▲▲▲▲▲TOP▲▲▲▲▲▲▲▲▲▲▲▲▲▲▲▲▲▲▲*

*▼▼▼▼▼▼▼▼▼▼▼▼▼▼▼▼▼Dynpro 9010▼▼▼▼▼▼▼▼▼▼▼▼▼▼▼▼▼*

PROCESS BEFORE OUTPUT.

              MODULE INIT_SCREEN_9010.

              MODULE FILL_OTHERS.

              LOOP WITH CONTROL TAB9010.

                            MODULE FILL_TAB9010.

ENDLOOP.

             

PROCESS AFTER INPUT.

              LOOP WITH CONTROL TAB9010.

                            MODULE MODIFY_TAB9010.

ENDLOOP.

MODULE USER_COMMAND_9010.

 

MODULE INIT_SCREEN_9010.

              *①ステータス設定

              SET PF-STATUS ‘ST_9010’.

              *②表題設定

              SET TITLEBAR ‘TITLE_9010’.

              *③テーブルコントロール行数設定

              TAB9010-LINES = LINES( GTD_TAB9010).

              *④カーソル設定(エラー発生など)

              SET CURSOR FIELD GWK_CURSOR_FIELD LINES GWK_CURSOR_LINE.

              CLEAR: GWK_CURSOR_FIELD,

                            GWK_CURSOR_LINE.

ENDMODULE.

 

MODULE FILL_OTHERS.

              *ヘッダ部名称の取得など

              *テーブルコントロール項目(金額など)の合計値の計算など

                ※合計値がMODULE FILL_TAB9010にて計算する場合、テーブルコントロール現在

                  表示行の値のみ合計され、スクロール移動することで、合計値が動的に表示

ENDMODULE.

 

MODULE FILL_TAB9010.

              *テーブルコントロールにデータ読込

              CLEAR: GTH_TAB9010.

              READ TABLE GTD_TAB9010 INTO GTH_TAB9010 INDEX TAB9010-CURRENT-LINE

              *画面制御

              LOOP AT SCREEN.

                            IF SCREEN-NAME = ‘XXXX’.

                           

                            MODIFY SCREEN.

ENDIF.

              ENDLOOP.

ENDMODULE.

 

MODULE MODIFY_TAB9010.

              *データチェック

              *テーブルコントロールのデータ編集

              MODIFY GTD_TAB9010 FROM GTH_TAB9010 INDEX TAB9010-CURRENT_LINE

                                                        TRANSPORTING FIELD1 FIELD2…

              ※非表示項目はTRANSPORTINGの後ろで指定しないで

ENDMODULE.

 

MODULE USER_COMMAND_9010.

*エラー発生(GWK_ERR=TRUE)後、再度Enter押下する時、入力制御解除する為に、ユーザコメントをクリアしなければいけない

              IF GWK_ERR = TRUE.

                            CLEAR: GWK_UCOMM,

                                          GWK_ERR.

              ELSE.

                            GWK_UCOMM = SY-UCOMM.

              ENDIF.

              *ユーザコメント

              CASE GWK_UCOMM.

                            WHEN ‘&SAVE’.

                            WHEN ‘BACK’ OR ‘CANCEL’.

                                          LEAVE TO LIST-PROCESSING AND RETURN TO SCREEN.

                            WHEN ‘END’.

                                          LEAVE PROGRAM.

                           

              ENDCASE.

ENDMODULE.

*▲▲▲▲▲▲▲▲▲▲▲▲▲▲▲▲▲Dynpro 9010▲▲▲▲▲▲▲▲▲▲▲▲▲▲▲▲▲*

 

Dynpro中、金額(符号(+-)付き)項目の定義について

  項目の「テキスト」に「_______________V」を設定する

原创粉丝点击