SAP MDG · REPLICATION INBOUND

How do I implement and use the MDG mass key mapping log display in ABAP?

The log display pattern saves the application log with BAL_DB_SAVE, sorts and formats GT_LOG, builds an ALV field catalog, and displays the run results with REUSE_ALV_GRID_DISPLAY. This is the standard pattern used in the MDG mass key mapping report to review status, object data, and messages after download or upload processing.

The log display pattern saves the application log with BAL_DB_SAVE, sorts and formats GT_LOG, builds an ALV field catalog, and displays the run results with REUSE_ALV_GRID_DISPLAY. This is the standard pattern used in the MDG mass key mapping report to review status, object data, and messages after download or upload processing.

The MDG mass key mapping report writes application log data and then displays it in an ALV grid. In the retrieved source, `FORM show_log` first calls `BAL_DB_SAVE`, checks `GT_LOG`, sorts the entries, fills display text such as the long-text icon, and builds a field catalog for the log columns before calling `REUSE_ALV_GRID_DISPLAY`.

Process flow

  1. Call `BAL_DB_SAVE` for `GT_LOG_HD`.
  2. Check whether `GT_LOG` is initial before displaying.
  3. Sort `GT_LOG` by `ROW_INDEX` and set the long-text icon.
  4. Build the ALV field catalog with the required columns.
  5. Call `REUSE_ALV_GRID_DISPLAY` with `CREATE_KEY_MAPPING_CREATE_LOG` as callback program.
  6. Handle double-click or drill-down actions in `ALV_USER_COMMAND`.

Referenced tables

ObjectPurpose
GT_LOGInternal log table displayed in the ALV output.
GT_LOG_HDApplication log handles passed to `BAL_DB_SAVE`.

ILLUSTRATIVE ABAP SAMPLE

Source ABAP example

Exact relevant implementation excerpt from the knowledge document.

1*----------------------------------------------------------------------* 2***INCLUDE CREATE_KEY_MAPPING_CREATE_LOG . 3*----------------------------------------------------------------------* 4*&---------------------------------------------------------------------* 5*& Form SHOW_LOG 6*&---------------------------------------------------------------------* 7* text 8*----------------------------------------------------------------------* 9* --> p1 text 10* <-- p2 text 11*----------------------------------------------------------------------* 12FORM show_log . 13 14 DATA: lt_extab TYPE slis_t_extab, 15 lt_fcat TYPE slis_t_fieldcat_alv, 16 ls_fcat TYPE LINE OF slis_t_fieldcat_alv, 17 ls_variant TYPE disvariant, 18 lf_repid TYPE syrepid, 19 ls_layout TYPE slis_layout_alv. 20 21 CALL FUNCTION 'BAL_DB_SAVE' 22 EXPORTING 23 i_t_log_handle = gt_log_hd. 24 25 CHECK NOT gt_log[] IS INITIAL. 26 27 SORT gt_log BY row_index. 28 gt_log-longtext = icon_text_act. 29 MODIFY gt_log TRANSPORTING longtext WHERE longtext IS INITIAL. 30 31* build field catalog 32 ls_fcat-tabname = 'GT_LOG'. "#EC NOTEXT 33 34 ls_fcat-fieldname = 'ROW_INDEX'. "#EC NOTEXT 35 ls_fcat-rollname = 'INDEX_I'. "#EC NOTEXT 36 ADD 1 TO ls_fcat-col_pos. 37 APPEND ls_fcat TO lt_fcat. 38 39 ls_fcat-fieldname = 'STATUS'. "#EC NOTEXT 40 ls_fcat-rollname = 'ICON_D'. "#EC NOTEXT 41 ls_fcat-seltext_l = text-012. 42 ls_fcat-seltext_m = text-012. 43 ls_fcat-seltext_s = text-012. 44 ls_fcat-icon = 'X'. 45 ADD 1 TO ls_fcat-col_pos. 46 APPEND ls_fcat TO lt_fcat. 47 48 CLEAR: ls_fcat-icon, ls_fcat-seltext_l , ls_fcat-seltext_m, ls_fcat-seltext_s. 49 50 ls_fcat-fieldname = 'OBJ_TYPE_TXT'. "#EC NOTEXT 51 ls_fcat-rollname = 'MDG_OBJECT_TYPE_CODE_BS'. "#EC NOTEXT 52 ADD 1 TO ls_fcat-col_pos. 53 APPEND ls_fcat TO lt_fcat. 54 55 ls_fcat-fieldname = 'OBJ_ID_TYPE_TXT'. "#EC NOTEXT 56 ls_fcat-rollname = 'MDG_IDS_TYPE_CODE_BS'. "#EC NOTEXT 57 ADD 1 TO ls_fcat-col_pos. 58 APPEND ls_fcat TO lt_fcat. 59 60 ls_fcat-fieldname = 'SYS_ID'. "#EC NOTEXT 61 ls_fcat-rollname = 'SLD_BSKEY'. "#EC NOTEXT 62 ADD 1 TO ls_fcat-col_pos. 63 APPEND ls_fcat TO lt_fcat. 64 65 ls_fcat-fieldname = 'ID_VALUE'. "#EC NOTEXT 66 ls_fcat-rollname = 'MDG_OBJECT_ID_BS'. "#EC NOTEXT 67 ADD 1 TO ls_fcat-col_pos. 68 APPEND ls_fcat TO lt_fcat. 69 70 ls_fcat-fieldname = 'EXT_SYS_ID'. "#EC NOTEXT 71 ls_fcat-rollname = 'External system id'. "#EC NOTEXT 72 ls_fcat-seltext_l = text-013. 73 ls_fcat-seltext_m = text-013. 74 ls_fcat-seltext_s = text-013. 75 ADD 1 TO ls_fcat-col_pos. 76 APPEND ls_fcat TO lt_fcat. 77 CLEAR: ls_fcat-seltext_l, ls_fcat-seltext_m, ls_fcat-seltext_s. 78 79 ls_fcat-fieldname = 'EXT_ID_VALUE'. "#EC NOTEXT 80 ls_fcat-rollname = 'External object id'. "#EC NOTEXT 81 ls_fcat-seltext_l = text-014. 82 ls_fcat-seltext_m = text-014. 83 ls_fcat-seltext_s = text-014. 84 ADD 1 TO ls_fcat-col_pos. 85 APPEND ls_fcat TO lt_fcat. 86 CLEAR: ls_fcat-seltext_l, ls_fcat-seltext_m, ls_fcat-seltext_s. 87 88 ls_fcat-fieldname = 'MSGTY'. "#EC NOTEXT 89 ls_fcat-rollname = 'SYMSGTY'. "#EC NOTEXT 90 ADD 1 TO ls_fcat-col_pos. 91 APPEND ls_fcat TO lt_fcat. 92 93 ls_fcat-fieldname = 'MSGID'. "#EC NOTEXT 94 ls_fcat-rollname = 'SYMSGID'. "#EC NOTEXT 95 ADD 1 TO ls_fcat-col_pos. 96 APPEND ls_fcat TO lt_fcat. 97 98 ls_fcat-fieldname = 'MSGNO'. "#EC NOTEXT 99 ls_fcat-rollname = 'SYMSGNO'. "#EC NOTEXT 100 ADD 1 TO ls_fcat-col_pos. 101 APPEND ls_fcat TO lt_fcat. 102 103 ls_fcat-fieldname = 'MESSAGE'. 104 ls_fcat-rollname = 'BAPI_MSG'. 105 106 107 ADD 1 TO ls_fcat-col_pos. 108 APPEND ls_fcat TO lt_fcat. 109 110 lf_repid = sy-repid. 111 112 ls_variant-report = 'CREATE_KEY_MAPPING_CREATE_LOG'. 113 ls_variant-handle = '01'. 114 115 SPLIT '&XXL &AQW %PC %SL &ABC &GRAPH &VEXCEL' "#EC NOTEXT 116 AT space INTO TABLE lt_extab. 117 118 ls_layout-colwidth_optimize = abap_true. 119 120 CALL FUNCTION 'REUSE_ALV_GRID_DISPLAY'

The remaining configuration, implementation details, and testing guidance continue from this answer more…

Related questions and keywords

Alternative questions

  • How does the MDG mass key mapping report show the application log?
  • How do I display mass key mapping processing messages in ALV?
  • How do I save BAL logs and show them in an ALV grid?

Possible questions

  • How do I implement the key mapping log display in the MDG mass key mapping report?
  • What does the SHOW_LOG form do in ZCREATE_KEY_MAPPING_CREATE_LOG?
  • How do I troubleshoot the ALV log output for key mapping processing?
  • How do I adapt the log display pattern for my own MDG report?
  • Which BAL and ALV objects are used in the mass key mapping log screen?

Keywords

SAP MDGABAPBAL_DB_SAVEREUSE_ALV_GRID_DISPLAYapplication logALVkey mappingmass processingGT_LOGSLIS_T_FIELDCAT_ALV