Ref program : LSVIMF44
form : vim_process_assigns
# View 의 추가부분.
MODULE set_if_data. MODULE liste_after_loop.
# 호출부분.
MODULE set_if_data INPUT. CHECK function EQ 'SAVE'. PERFORM save_if_data. ENDMODULE.
# 함수호출부분.
FORM save_if_data . DATA : lv_offset TYPE i. lv_offset = x_header-after_tabc / cl_abap_char_utilities=>charsize + x_header-aft_txttbc / cl_abap_char_utilities=>charsize. LOOP AT total. CASE total+lv_offset(1). WHEN space. *--- save I/F log WHEN OTHERS. CALL FUNCTION 'ZMGB_SET_IF_DATA' EXPORTING iv_logtype = total+lv_offset(1) iv_table = x_header-roottab is_data = total. ENDCASE. ENDLOOP. ENDFORM.
# 데이터 처리부분.
FUNCTION zmgb_set_if_data. *"---------------------------------------------------------------------- *"*"Local interface: *" IMPORTING *" REFERENCE(IV_LOGTYPE) TYPE ZMGGE_LOGTYPE *" REFERENCE(IV_TABLE) TYPE TABNAME *" REFERENCE(IS_DATA) TYPE ANY *"---------------------------------------------------------------------- CONSTANTS : lc_prefix TYPE char10 VALUE 'ZBMT'. DATA : lv_target TYPE tabname, lv_subrc TYPE sy-subrc. DATA : lo_desc TYPE REF TO cl_abap_structdescr, lo_ref TYPE REF TO data. DATA : ls_zmggsdate TYPE zmggsdate. FIELD-SYMBOLS : <ls_data> TYPE any, <lv_value> TYPE any. *--- Convert to Target Table Name lv_target = iv_table. REPLACE ALL OCCURRENCES OF lc_prefix IN lv_target WITH space. CONDENSE lv_target. CONCATENATE 'ZMGBI' lv_target INTO lv_target. *--- Check table CALL FUNCTION 'DD_EXIST_TABLE' EXPORTING tabname = lv_target status = 'A' IMPORTING subrc = lv_subrc EXCEPTIONS wrong_status = 1 OTHERS = 2. IF lv_subrc IS NOT INITIAL OR sy-subrc <> 0. EXIT. ENDIF. *--- get Structure lo_desc ?= cl_abap_typedescr=>describe_by_name( lv_target ). CREATE DATA lo_ref TYPE HANDLE lo_desc. ASSIGN lo_ref->* TO <ls_data>. *--- Save data ls_zmggsdate-erdat = sy-datum. ls_zmggsdate-erzet = sy-uzeit. ls_zmggsdate-ernam = sy-uname. MOVE-CORRESPONDING is_data TO <ls_data>. MOVE-CORRESPONDING ls_zmggsdate TO <ls_data>. *--- set Log Type. ASSIGN COMPONENT 'LOGTYP' OF STRUCTURE <ls_data> TO <lv_value>. <lv_value> = iv_logtype. UNASSIGN <lv_value>. *--- set Log Type. ASSIGN COMPONENT 'ZLOGSEQ' OF STRUCTURE <ls_data> TO <lv_value>. CALL FUNCTION 'ZMGG_GET_LOGSEQ' IMPORTING ev_zlogseq = <lv_value>. MODIFY (lv_target) FROM <ls_data>. ENDFUNCTION.
'SAP > Maintenance View' 카테고리의 다른 글
Modification Date Control. (0) | 2015.11.11 |
---|