DATA: BEGIN OF itab OCCURS 0 ,
app_obj LIKE tse05-app_obj ,
keyword LIKE tse05-keyword ,
position LIKE tse05-position ,
line LIKE tse05-line ,
END OF itab.
DATA: BEGIN OF messtab OCCURS 0.
INCLUDE STRUCTURE bdcmsgcoll.
DATA: END OF messtab.
DATA: BEGIN OF itab_log OCCURS 0,
message(132) TYPE c,
END OF itab_log.
DATA: bdcdata LIKE bdcdata OCCURS 0 WITH HEADER LINE.
DATA: flag .
PARAMETERS :ctumode LIKE ctu_params-dismode DEFAULT 'A' MODIF ID abc .
INITIALIZATION.
* EXPORT '' TO MEMORY ID 'F1'.
*AT SELECTION-SCREEN OUTPUT.
* IMPORT flag FROM MEMORY ID 'F1'.
* LOOP AT SCREEN.
* CASE screen-group1.
* WHEN 'ABC'.
* IF flag = 1 .
* screen-input = '1'.
* ELSE.
* screen-input = '0'.
* MODIFY SCREEN.
* ENDIF.
* ENDCASE.
* ENDLOOP.
START-OF-SELECTION.
flag = 1 .
EXPORT flag TO MEMORY ID 'F1'.
WRITE 'AA'.
PERFORM gettext.
PERFORM runbdc.
*&---------------------------------------------------------------------*
*& Form gettext
*&---------------------------------------------------------------------*
FORM gettext .
ENDFORM. " gettext
*&---------------------------------------------------------------------*
*& Form runbdc
*&---------------------------------------------------------------------*
FORM runbdc .
* LOOP AT itab .
REFRESH bdcdata .
CLEAR bdcdata .
PERFORM bdc_dynpro USING 'SAPMSRD0' '0102'.
PERFORM bdc_field USING 'BDC_OKCODE' '=SHOW'.
PERFORM bdc_field USING 'RSRD1-TBMA' 'X'.
PERFORM bdc_field USING 'RSRD1-TBMA_VAL' 'TSE05'.
PERFORM bdc_dynpro USING 'SAPLSD41' '2200'.
PERFORM bdc_field USING 'BDC_OKCODE' '=TDED'.
PERFORM bdc_dynpro USING '/1BCDWB/DBTSE05' '0111'.
PERFORM bdc_field USING 'BDC_OKCODE' '=SAVE'.
PERFORM bdc_field USING 'TSE05-APP_OBJ' 'ABAP'.
PERFORM bdc_field USING 'TSE05-KEYWORD' 'ZTEST005'.
PERFORM bdc_field USING 'TSE05-POSITION' '2'.
PERFORM bdc_field USING 'TSE05-LINE' '*****'.
PERFORM bdc_dynpro USING '/1BCDWB/DBTSE05' '0111'.
PERFORM bdc_field USING 'BDC_OKCODE' '/EBACK'.
PERFORM bdc_dynpro USING 'SAPLSD41' '2200'.
PERFORM bdc_field USING 'BDC_OKCODE' '=WB_BACK'.
PERFORM bdc_dynpro USING 'SAPMSRD0' '0102'.
PERFORM bdc_field USING 'BDC_OKCODE' '=BACK'.
* PERFORM bdc_field USING '' ''.
* PERFORM bdc_field USING '' ''.
CALL TRANSACTION 'SE11' USING bdcdata MODE ctumode UPDATE 'S'
MESSAGES INTO messtab.
* ENDLOOP.
LOOP AT messtab.
CALL FUNCTION 'MESSAGE_TEXT_BUILD'
EXPORTING
msgid = messtab-msgid
msgnr = messtab-msgnr
msgv1 = messtab-msgv1
msgv2 = messtab-msgv2
msgv3 = messtab-msgv3
msgv4 = messtab-msgv4
IMPORTING
message_text_output = itab_log-message.
APPEND itab_log.
CLEAR itab_log.
ENDLOOP.
CALL FUNCTION 'G_DISPLAY_SELECTION_DYNPRO'
EXPORTING
dynp_title = 'Title'
show_also_1 = 'X' "只有一条记录也显示
sel_title1 = 'skdfjsdfj'
start_column = 5
TABLES
sel_table = itab_log
EXCEPTIONS
no_lines = 1
no_line_picked = 2
OTHERS = 3.
ENDFORM. " runbdc
*----------------------------------------------------------------------*
* Start new screen *
*----------------------------------------------------------------------*
FORM bdc_dynpro USING program dynpro.
CLEAR bdcdata.
bdcdata-program = program.
bdcdata-dynpro = dynpro.
bdcdata-dynbegin = 'X'.
APPEND bdcdata.
ENDFORM. "BDC_DYNPRO
*----------------------------------------------------------------------*
* Insert field *
*----------------------------------------------------------------------*
FORM bdc_field USING fnam fval.
CLEAR bdcdata.
bdcdata-fnam = fnam.
bdcdata-fval = fval.
CONDENSE bdcdata-fval.
APPEND bdcdata.
ENDFORM. "BDC_FIELD