<?xml version="1.0" encoding="UTF-8"?>
<rss xmlns:content="http://purl.org/rss/1.0/modules/content/" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns:taxo="http://purl.org/rss/1.0/modules/taxonomy/" version="2.0">
  <channel>
    <title>topic Re: BDC in Application Development and Automation Discussions</title>
    <link>https://community.sap.com/t5/application-development-and-automation-discussions/bdc/m-p/2113775#M442185</link>
    <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Hai&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Please Refer this program&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;&amp;amp;----&lt;/STRONG&gt;&lt;/P&gt;&lt;HR originaltext="----------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;*&amp;amp; Report  ZSUBTEST_BDC&lt;/P&gt;&lt;P&gt;*&amp;amp;&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;&amp;amp;----&lt;/STRONG&gt;&lt;/P&gt;&lt;HR originaltext="----------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;*&amp;amp;&lt;/P&gt;&lt;P&gt;*&amp;amp;&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;&amp;amp;----&lt;/STRONG&gt;&lt;/P&gt;&lt;HR originaltext="----------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;----&lt;/STRONG&gt;&lt;/P&gt;&lt;HR originaltext="----------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;*&amp;amp; Program Name     : ZSUBTEST_BDC                                       *&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;*&amp;amp; Module Name      : Human Resource                                   *&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;*&amp;amp; Sub-Module       : Cross Component                                  *&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;*&amp;amp; Author           : Ravi Vadlakunta                                  *&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;*&amp;amp; Create Date      : 05/28/2003                                       *&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;*&amp;amp; Logical DB       : None                                             *&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;*&amp;amp; Program Type     : Report                                          *&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;*&amp;amp; SAP Release      : 4.7                                              *&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;*&amp;amp; Description:&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;*&amp;amp;   Program to read BDC Errors from SM35 and give the output report   *&lt;/P&gt;&lt;P&gt;*&amp;amp;   in  ALV format - Ravi Vadlakunta.                                 *&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;&amp;amp;----&lt;/STRONG&gt;&lt;/P&gt;&lt;HR originaltext="----------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;REPORT ZSUBTEST_BDC NO STANDARD PAGE HEADING&lt;/P&gt;&lt;P&gt;                        LINE-SIZE 300&lt;/P&gt;&lt;P&gt;                        LINE-COUNT 65.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;TABLES: apqd, apql, apqi, t100, dd03l, dd04t.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;DATA : BEGIN OF tbl_apqi OCCURS 0 .&lt;/P&gt;&lt;P&gt;        INCLUDE STRUCTURE apqi.&lt;/P&gt;&lt;P&gt;DATA: END OF tbl_apqi.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;DATA:  dynpro_index TYPE i,&lt;/P&gt;&lt;P&gt;       sdat LIKE apqd-vardata,&lt;/P&gt;&lt;P&gt;       udat LIKE apqd-vardata,&lt;/P&gt;&lt;P&gt;       bdcmhlen TYPE i VALUE 68,&lt;/P&gt;&lt;P&gt;       wcount TYPE i,&lt;/P&gt;&lt;P&gt;       mfstart TYPE i,&lt;/P&gt;&lt;P&gt;       mfende TYPE i,&lt;/P&gt;&lt;P&gt;       mflen TYPE i,&lt;/P&gt;&lt;P&gt;       mfart(2).&lt;/P&gt;&lt;P&gt;*&lt;/P&gt;&lt;P&gt;DATA:  BEGIN OF tf OCCURS 0,&lt;/P&gt;&lt;P&gt;       count TYPE i VALUE 0,&lt;/P&gt;&lt;P&gt;       trcd(4),&lt;/P&gt;&lt;P&gt;       stat(4),&lt;/P&gt;&lt;P&gt;       pgm(8),&lt;/P&gt;&lt;P&gt;       dyn(4) TYPE n,&lt;/P&gt;&lt;P&gt;       fname(35),&lt;/P&gt;&lt;P&gt;       farg(80),&lt;/P&gt;&lt;P&gt;       fstart(5) TYPE p,&lt;/P&gt;&lt;P&gt;       fende(5) TYPE p,&lt;/P&gt;&lt;P&gt;       END OF tf.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;TYPE-POOLS slis.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;DATA : BEGIN OF tbl_apqd OCCURS 0.&lt;/P&gt;&lt;P&gt;        INCLUDE STRUCTURE apqd.&lt;/P&gt;&lt;P&gt;DATA: END OF tbl_apqd.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;DATA: BEGIN OF all_bdc_dynpro OCCURS 0,&lt;/P&gt;&lt;P&gt;      program LIKE sy-cprog,&lt;/P&gt;&lt;P&gt;      dynpro LIKE sy-dynnr,&lt;/P&gt;&lt;P&gt;      fnam LIKE bdcdata-fnam,&lt;/P&gt;&lt;P&gt;      fval LIKE bdcdata-fval,&lt;/P&gt;&lt;P&gt;      index TYPE i,&lt;/P&gt;&lt;P&gt;      END OF all_bdc_dynpro.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;DATA :BEGIN OF bdcmh,&lt;/P&gt;&lt;P&gt;      mtype, state,&lt;/P&gt;&lt;P&gt;      tcode(20),&lt;/P&gt;&lt;P&gt;      prog(40),&lt;/P&gt;&lt;P&gt;      dynr(4),&lt;/P&gt;&lt;P&gt;      sepc,&lt;/P&gt;&lt;P&gt;      filler,&lt;/P&gt;&lt;P&gt;      END OF bdcmh.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;DATA:  BEGIN OF bdcth,&lt;/P&gt;&lt;P&gt;       mtype,&lt;/P&gt;&lt;P&gt;       state,&lt;/P&gt;&lt;P&gt;       tcode(20),&lt;/P&gt;&lt;P&gt;       postg,&lt;/P&gt;&lt;P&gt;       print,&lt;/P&gt;&lt;P&gt;       msgid(20),&lt;/P&gt;&lt;P&gt;       END OF bdcth.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;DATA: BEGIN OF all_bdc_tcodes OCCURS 0,&lt;/P&gt;&lt;P&gt;      index TYPE i,&lt;/P&gt;&lt;P&gt;      tcode LIKE sy-tcode,&lt;/P&gt;&lt;P&gt;      status(1),&lt;/P&gt;&lt;P&gt;      s_text(16),&lt;/P&gt;&lt;P&gt;      pernr(400),&lt;/P&gt;&lt;P&gt;      groupid LIKE apqi-groupid,&lt;/P&gt;&lt;P&gt;      qid LIKE apqi-qid,&lt;/P&gt;&lt;P&gt;      END OF all_bdc_tcodes.&lt;/P&gt;&lt;P&gt;DATA:&lt;/P&gt;&lt;P&gt;   logtab LIKE bdcld OCCURS 0 WITH HEADER LINE,&lt;/P&gt;&lt;P&gt;   tbl_temse LIKE apql OCCURS 0 WITH HEADER LINE.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;DATA: BEGIN OF tbl_bdcld  OCCURS 0,&lt;/P&gt;&lt;P&gt;        qid LIKE bdcld-quid.&lt;/P&gt;&lt;P&gt;        INCLUDE STRUCTURE bdcld.   "&lt;/P&gt;&lt;P&gt;DATA: logname(80),                 " protokollpfad&lt;/P&gt;&lt;P&gt;      local_host(12),              " lokaler rechner&lt;/P&gt;&lt;P&gt;      cnt TYPE i,                  " satzzaehler&lt;/P&gt;&lt;P&gt;      active(1) TYPE c,            " active flag&lt;/P&gt;&lt;P&gt;      temseid TYPE rstsoname.      " TemSe ID&lt;/P&gt;&lt;P&gt;DATA END OF tbl_bdcld .&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;DATA : tbl_temp_bdcld LIKE tbl_bdcld OCCURS 0 WITH HEADER LINE.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;DATA:   BEGIN OF tbl_bdclm  OCCURS 0,&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;        qid LIKE apqi-qid.&lt;/P&gt;&lt;P&gt;        INCLUDE STRUCTURE bdclm.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;DATA:   counter TYPE i,&lt;/P&gt;&lt;P&gt;        longtext TYPE bdc_mpar,&lt;/P&gt;&lt;P&gt;        text_caps TYPE bdc_mpar,&lt;/P&gt;&lt;P&gt;        END OF tbl_bdclm .&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;DATA: lm LIKE tbl_bdclm,&lt;/P&gt;&lt;P&gt;      save_mpar TYPE bdc_mpar,&lt;/P&gt;&lt;P&gt;      mtext(124) TYPE c,&lt;/P&gt;&lt;P&gt;      mtext1(124) TYPE c,&lt;/P&gt;&lt;P&gt;      mtext2(273) TYPE c,&lt;/P&gt;&lt;P&gt;      digits(10) TYPE c VALUE '0123456789'.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;DATA:  do_condense TYPE c,&lt;/P&gt;&lt;P&gt;       mtvaroff TYPE i,&lt;/P&gt;&lt;P&gt;       showtyp(05) TYPE c,                 "showtyp&lt;/P&gt;&lt;P&gt;       lmapn(12) TYPE c,                  "Hilfsfeld log-mapn&lt;/P&gt;&lt;P&gt;       date1  TYPE d,&lt;/P&gt;&lt;P&gt;       linct0      LIKE sy-linct,&lt;/P&gt;&lt;P&gt;       parcnt  TYPE i,&lt;/P&gt;&lt;P&gt;       sp_len  TYPE i,&lt;/P&gt;&lt;P&gt;       charcnt TYPE i,&lt;/P&gt;&lt;P&gt;       wcnt TYPE i,&lt;/P&gt;&lt;P&gt;       mparcnt TYPE i,&lt;/P&gt;&lt;P&gt;       qfound(04) TYPE n,&lt;/P&gt;&lt;P&gt;       x(1) VALUE 'X'.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;DATA :BEGIN OF mt,&lt;/P&gt;&lt;P&gt;   off(02) TYPE n,&lt;/P&gt;&lt;P&gt;   len(02) TYPE n,&lt;/P&gt;&lt;P&gt;   text(80),&lt;/P&gt;&lt;P&gt;END OF mt.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;DATA:                                "Aufbereitung Messagetext&lt;/P&gt;&lt;P&gt;  BEGIN OF mttab  OCCURS 4,&lt;/P&gt;&lt;P&gt;   off(02) TYPE n,&lt;/P&gt;&lt;P&gt;   len(02) TYPE n,&lt;/P&gt;&lt;P&gt;   text(80),&lt;/P&gt;&lt;P&gt;END OF mttab.&lt;/P&gt;&lt;P&gt;DATA:  BEGIN OF par,&lt;/P&gt;&lt;P&gt;   len(02) TYPE n,&lt;/P&gt;&lt;P&gt;   text(254),&lt;/P&gt;&lt;P&gt;END OF par.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;DATA : BEGIN OF tbl_out OCCURS 0,&lt;/P&gt;&lt;P&gt;       index LIKE  all_bdc_tcodes-index,&lt;/P&gt;&lt;P&gt;       info(35),&lt;/P&gt;&lt;P&gt;       module LIKE tbl_bdclm-module,&lt;/P&gt;&lt;P&gt;       screen LIKE tbl_bdclm-dynr,&lt;/P&gt;&lt;P&gt;       error_message LIKE tbl_bdclm-longtext,&lt;/P&gt;&lt;P&gt;       groupid LIKE apqi-groupid,&lt;/P&gt;&lt;P&gt;       qid LIKE apqi-qid,&lt;/P&gt;&lt;P&gt;       END OF tbl_out.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;DATA : x_catalog TYPE slis_fieldcat_alv.&lt;/P&gt;&lt;P&gt;DATA : x_sort TYPE slis_sortinfo_alv.&lt;/P&gt;&lt;P&gt;DATA : i_catalog TYPE slis_t_fieldcat_alv.&lt;/P&gt;&lt;P&gt;DATA : i_sort TYPE slis_t_sortinfo_alv.&lt;/P&gt;&lt;P&gt;DATA: gt_list_top_of_page    TYPE  slis_t_listheader.&lt;/P&gt;&lt;P&gt;DATA : gt_events  TYPE slis_t_event.&lt;/P&gt;&lt;P&gt;FIELD-SYMBOLS:&lt;/P&gt;&lt;P&gt;  &amp;lt;mtxt&amp;gt;,&lt;/P&gt;&lt;P&gt;  &amp;lt;vtxt&amp;gt;.&lt;/P&gt;&lt;P&gt;CONSTANTS : c_x VALUE 'X',&lt;/P&gt;&lt;P&gt;            c_i VALUE 'I'.&lt;/P&gt;&lt;P&gt;CONSTANTS : gc_formname_top_of_page    TYPE slis_formname&lt;/P&gt;&lt;P&gt;                      VALUE 'TOP_OF_PAGE'.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;SELECTION-SCREEN BEGIN OF BLOCK b1 WITH FRAME .&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;PARAMETERS : p_sess LIKE apql-groupid OBLIGATORY,&lt;/P&gt;&lt;P&gt;             p_user LIKE apql-creator OBLIGATORY,&lt;/P&gt;&lt;P&gt;             p_date LIKE sy-datum OBLIGATORY.&lt;/P&gt;&lt;P&gt;SELECT-OPTIONS: s_time FOR sy-uzeit OBLIGATORY.&lt;/P&gt;&lt;P&gt;PARAMETERS:  p_string(35) OBLIGATORY,&lt;/P&gt;&lt;P&gt;             p_mess(35) .&lt;/P&gt;&lt;P&gt;SELECT-OPTIONS: s_excl FOR tbl_bdclm-longtext NO INTERVALS.&lt;/P&gt;&lt;P&gt;PARAMETERS:  p_lgindx OBLIGATORY.&lt;/P&gt;&lt;P&gt;SELECTION-SCREEN END OF BLOCK b1.&lt;/P&gt;&lt;P&gt;SELECTION-SCREEN BEGIN OF BLOCK b2 WITH FRAME TITLE text-001 .&lt;/P&gt;&lt;P&gt;PARAMETERS: p_err AS CHECKBOX DEFAULT 'X',&lt;/P&gt;&lt;P&gt;            p_war AS CHECKBOX DEFAULT 'X'.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;SELECTION-SCREEN END OF BLOCK b2.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;----&lt;/STRONG&gt;&lt;/P&gt;&lt;HR originaltext="-----------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;START-OF-SELECTION.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  PERFORM select_session_data.&lt;/P&gt;&lt;P&gt;  PERFORM get_logs.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;----&lt;/STRONG&gt;&lt;/P&gt;&lt;HR originaltext="-----------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;END-OF-SELECTION.&lt;/P&gt;&lt;P&gt;  PERFORM move_final_data_to_tblout.&lt;/P&gt;&lt;P&gt;  PERFORM build_catalog.&lt;/P&gt;&lt;P&gt;  PERFORM sort.&lt;/P&gt;&lt;P&gt;  PERFORM display_alv.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;&amp;amp;----&lt;/STRONG&gt;&lt;/P&gt;&lt;HR originaltext="----------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;*&amp;amp;      Form  get_session_data&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;&amp;amp;----&lt;/STRONG&gt;&lt;/P&gt;&lt;HR originaltext="----------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;      text&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;&lt;STRONG&gt;----&lt;/STRONG&gt;&lt;/P&gt;&lt;HR originaltext="-----------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt; --&amp;gt;  p1        text&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt; &amp;lt;--  p2        text&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;&lt;STRONG&gt;----&lt;/STRONG&gt;&lt;/P&gt;&lt;HR originaltext="-----------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;FORM get_session_data.&lt;/P&gt;&lt;P&gt;  MOVE tbl_apqd-vardata TO bdcmh.&lt;/P&gt;&lt;P&gt;  TRANSLATE bdcmh TO UPPER CASE.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  MOVE tbl_apqd-vardata TO sdat.&lt;/P&gt;&lt;P&gt;  SHIFT sdat BY bdcmhlen PLACES.&lt;/P&gt;&lt;P&gt;  wcount = bdcmhlen.&lt;/P&gt;&lt;P&gt;  mfstart = wcount.&lt;/P&gt;&lt;P&gt;  mfart = 'FN'.&lt;/P&gt;&lt;P&gt;  WHILE wcount LE tbl_apqd-varlen.&lt;/P&gt;&lt;P&gt;    IF sdat(1) = bdcmh-sepc.&lt;/P&gt;&lt;P&gt;      mfende  = wcount.&lt;/P&gt;&lt;P&gt;      PERFORM move_tf.&lt;/P&gt;&lt;P&gt;    ENDIF.&lt;/P&gt;&lt;P&gt;    SHIFT sdat.&lt;/P&gt;&lt;P&gt;    wcount = wcount + 1.&lt;/P&gt;&lt;P&gt;  ENDWHILE.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;ENDFORM.                    " get_session_data&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;&amp;amp;----&lt;/STRONG&gt;&lt;/P&gt;&lt;HR originaltext="----------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;*&amp;amp;      Form  MOVE_TF&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;&amp;amp;----&lt;/STRONG&gt;&lt;/P&gt;&lt;HR originaltext="----------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;      text&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;&lt;STRONG&gt;----&lt;/STRONG&gt;&lt;/P&gt;&lt;HR originaltext="-----------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt; --&amp;gt;  p1        text&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt; &amp;lt;--  p2        text&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;&lt;STRONG&gt;----&lt;/STRONG&gt;&lt;/P&gt;&lt;HR originaltext="-----------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;FORM move_tf.&lt;/P&gt;&lt;P&gt;  mflen = mfende  - mfstart.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  CASE mfart.&lt;/P&gt;&lt;P&gt;    WHEN 'FN'.&lt;/P&gt;&lt;P&gt;      CLEAR: tf-fname,  udat.&lt;/P&gt;&lt;P&gt;      tf-fstart = mfstart.&lt;/P&gt;&lt;P&gt;      MOVE tbl_apqd-vardata TO udat.&lt;/P&gt;&lt;P&gt;      SHIFT udat BY mfstart PLACES.&lt;/P&gt;&lt;P&gt;      WRITE udat TO tf-fname+0(mflen).&lt;/P&gt;&lt;P&gt;      TRANSLATE tf-fname TO UPPER CASE.&lt;/P&gt;&lt;P&gt;      mfstart   = mfende + 1.&lt;/P&gt;&lt;P&gt;      mfende    = 0.&lt;/P&gt;&lt;P&gt;      MOVE 'FA' TO mfart.&lt;/P&gt;&lt;P&gt;    WHEN 'FA'.&lt;/P&gt;&lt;P&gt;      CLEAR: tf-farg,  udat.&lt;/P&gt;&lt;P&gt;      tf-fende  = mfende.&lt;/P&gt;&lt;P&gt;      MOVE tbl_apqd-vardata TO udat.&lt;/P&gt;&lt;P&gt;      SHIFT udat BY mfstart PLACES.&lt;/P&gt;&lt;P&gt;      WRITE udat TO tf-farg+0(mflen).&lt;/P&gt;&lt;P&gt;      APPEND tf.&lt;/P&gt;&lt;P&gt;      tf-stat = space.&lt;/P&gt;&lt;P&gt;      mfstart   = mfende + 1.&lt;/P&gt;&lt;P&gt;      mfende = 0.&lt;/P&gt;&lt;P&gt;      MOVE 'FN' TO mfart.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;      CHECK NOT tf-fname IS INITIAL.&lt;/P&gt;&lt;P&gt;      CLEAR all_bdc_dynpro.&lt;/P&gt;&lt;P&gt;      all_bdc_dynpro-index = dynpro_index.&lt;/P&gt;&lt;P&gt;      all_bdc_dynpro-fnam  = tf-fname.&lt;/P&gt;&lt;P&gt;      all_bdc_dynpro-fval  = tf-farg.&lt;/P&gt;&lt;P&gt;      APPEND all_bdc_dynpro.&lt;/P&gt;&lt;P&gt;    WHEN OTHERS.&lt;/P&gt;&lt;P&gt;  ENDCASE.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;ENDFORM.                    " MOVE_TF&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;&amp;amp;----&lt;/STRONG&gt;&lt;/P&gt;&lt;HR originaltext="----------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;*&amp;amp;      Form  get_logs&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;&amp;amp;----&lt;/STRONG&gt;&lt;/P&gt;&lt;HR originaltext="----------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;      text&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;&lt;STRONG&gt;----&lt;/STRONG&gt;&lt;/P&gt;&lt;HR originaltext="-----------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt; --&amp;gt;  p1        text&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt; &amp;lt;--  p2        text&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;&lt;STRONG&gt;----&lt;/STRONG&gt;&lt;/P&gt;&lt;HR originaltext="-----------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;FORM get_logs.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  DATA: BEGIN OF logtable OCCURS 50,  " plain log information in TemSe&lt;/P&gt;&lt;P&gt;          enterdate LIKE btctle-enterdate,&lt;/P&gt;&lt;P&gt;          entertime LIKE btctle-entertime,&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;         logmessage(900) type c,&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;          logmessage(400) TYPE c,&lt;/P&gt;&lt;P&gt;        END OF logtable.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  LOOP AT tbl_apqi.&lt;/P&gt;&lt;P&gt;    SELECT * FROM apql APPENDING TABLE tbl_temse WHERE qid =&lt;/P&gt;&lt;P&gt;  tbl_apqi-qid.&lt;/P&gt;&lt;P&gt;  ENDLOOP.&lt;/P&gt;&lt;P&gt;  CHECK sy-subrc = 0.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  DATA: wa_log LIKE LINE OF tbl_temse,&lt;/P&gt;&lt;P&gt;        wa_ld  LIKE LINE OF tbl_bdcld.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  LOOP AT tbl_temse INTO wa_log.&lt;/P&gt;&lt;P&gt;    CLEAR wa_ld.&lt;/P&gt;&lt;P&gt;    wa_ld-temseid = wa_log-temseid.&lt;/P&gt;&lt;P&gt;    wa_ld-lmand   = wa_log-mandant.&lt;/P&gt;&lt;P&gt;    wa_ld-edate   = wa_log-credate.&lt;/P&gt;&lt;P&gt;    wa_ld-etime   = wa_log-cretime.&lt;/P&gt;&lt;P&gt;    wa_ld-luser   = wa_log-creator.&lt;/P&gt;&lt;P&gt;    wa_ld-grpn    = wa_log-groupid.&lt;/P&gt;&lt;P&gt;    wa_ld-quid    = wa_log-qid.&lt;/P&gt;&lt;P&gt;    wa_ld-local_host = wa_log-destsys(8).&lt;/P&gt;&lt;P&gt;    wa_ld-qid = wa_log-qid.&lt;/P&gt;&lt;P&gt;    APPEND wa_ld TO tbl_bdcld.&lt;/P&gt;&lt;P&gt;  ENDLOOP.&lt;/P&gt;&lt;P&gt;  SORT tbl_bdcld BY qid ASCENDING edate DESCENDING etime DESCENDING.&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt; read table bdcld index 1.&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  LOOP AT tbl_bdcld.&lt;/P&gt;&lt;P&gt;    MOVE : tbl_bdcld TO tbl_temp_bdcld.&lt;/P&gt;&lt;P&gt;    APPEND tbl_temp_bdcld.&lt;/P&gt;&lt;P&gt;    AT END OF qid.&lt;/P&gt;&lt;P&gt;      SORT tbl_temp_bdcld BY qid ASCENDING edate DESCENDING&lt;/P&gt;&lt;P&gt;                                          etime  DESCENDING.&lt;/P&gt;&lt;P&gt;      READ TABLE tbl_temp_bdcld INDEX p_lgindx.&lt;/P&gt;&lt;P&gt;      PERFORM read_bdc_log_plain&lt;/P&gt;&lt;P&gt;          TABLES logtable&lt;/P&gt;&lt;P&gt;          USING  tbl_temp_bdcld-temseid tbl_temp_bdcld-lmand.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;      LOOP AT logtable.&lt;/P&gt;&lt;P&gt;        CLEAR tbl_bdclm.&lt;/P&gt;&lt;P&gt;        tbl_bdclm-indate  = logtable-enterdate.&lt;/P&gt;&lt;P&gt;        tbl_bdclm-qid = tbl_temp_bdcld-qid.&lt;/P&gt;&lt;P&gt;        tbl_bdclm-intime  = logtable-entertime.&lt;/P&gt;&lt;P&gt;        tbl_bdclm+34(300)  = logtable-logmessage.&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;        tbl_bdclm-mpar = logtable-logmessage.&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;        APPEND tbl_bdclm.&lt;/P&gt;&lt;P&gt;      ENDLOOP.&lt;/P&gt;&lt;P&gt;      REFRESH: tbl_temp_bdcld.&lt;/P&gt;&lt;P&gt;      CLEAR tbl_temp_bdcld.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;    ENDAT.&lt;/P&gt;&lt;P&gt;  ENDLOOP.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  LOOP AT tbl_bdclm.&lt;/P&gt;&lt;P&gt;    lm = tbl_bdclm. save_mpar = tbl_bdclm-mpar.&lt;/P&gt;&lt;P&gt;    PERFORM get_text.&lt;/P&gt;&lt;P&gt;    tbl_bdclm-longtext = mtext.&lt;/P&gt;&lt;P&gt;    tbl_bdclm-mpar = save_mpar.&lt;/P&gt;&lt;P&gt;    MOVE tbl_bdclm-longtext TO tbl_bdclm-text_caps.&lt;/P&gt;&lt;P&gt;    TRANSLATE tbl_bdclm-text_caps TO UPPER CASE.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;    MODIFY tbl_bdclm.&lt;/P&gt;&lt;P&gt;  ENDLOOP.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  IF  p_err IS INITIAL.&lt;/P&gt;&lt;P&gt;    DELETE tbl_bdclm WHERE mart = 'E'.&lt;/P&gt;&lt;P&gt;  ENDIF.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  IF  p_war IS INITIAL.&lt;/P&gt;&lt;P&gt;    DELETE tbl_bdclm WHERE mart = 'W'.&lt;/P&gt;&lt;P&gt;  ENDIF.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  IF NOT s_excl IS INITIAL.&lt;/P&gt;&lt;P&gt;    DELETE tbl_bdclm WHERE text_caps IN s_excl.&lt;/P&gt;&lt;P&gt;  ENDIF.&lt;/P&gt;&lt;P&gt;ENDFORM.                    " get_logs&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;&amp;amp;----&lt;/STRONG&gt;&lt;/P&gt;&lt;HR originaltext="----------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;*&amp;amp;      Form  READ_BDC_LOG_PLAIN&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;&amp;amp;----&lt;/STRONG&gt;&lt;/P&gt;&lt;HR originaltext="----------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;      text&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;&lt;STRONG&gt;----&lt;/STRONG&gt;&lt;/P&gt;&lt;HR originaltext="-----------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;     --&amp;gt;P_LOGTABLE  text&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;     --&amp;gt;P_BDCLD_TEMSEID  text&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;     --&amp;gt;P_BDCLD_LMAND  text&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;&lt;STRONG&gt;----&lt;/STRONG&gt;&lt;/P&gt;&lt;HR originaltext="-----------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;FORM read_bdc_log_plain&lt;/P&gt;&lt;P&gt;  TABLES&lt;/P&gt;&lt;P&gt;    log_table&lt;/P&gt;&lt;P&gt;  USING&lt;/P&gt;&lt;P&gt;    log_name log_client.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  FREE log_table.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  CALL FUNCTION 'RSTS_OPEN_RLC'&lt;/P&gt;&lt;P&gt;    EXPORTING&lt;/P&gt;&lt;P&gt;      name           = log_name&lt;/P&gt;&lt;P&gt;      client         = log_client&lt;/P&gt;&lt;P&gt;      authority      = 'BATCH'&lt;/P&gt;&lt;P&gt;      prom           = 'I'&lt;/P&gt;&lt;P&gt;      rectyp         = 'VNL----'&lt;/P&gt;&lt;P&gt;    EXCEPTIONS&lt;/P&gt;&lt;P&gt;      fb_call_handle = 4&lt;/P&gt;&lt;P&gt;      fb_error       = 8&lt;/P&gt;&lt;P&gt;      fb_rsts_noconv = 12&lt;/P&gt;&lt;P&gt;      fb_rsts_other  = 16&lt;/P&gt;&lt;P&gt;      no_object      = 20&lt;/P&gt;&lt;P&gt;      OTHERS         = 24.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  IF sy-subrc &amp;gt; 0.&lt;/P&gt;&lt;P&gt;    EXIT.&lt;/P&gt;&lt;P&gt;  ENDIF.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  CALL FUNCTION 'RSTS_READ'&lt;/P&gt;&lt;P&gt;    TABLES&lt;/P&gt;&lt;P&gt;      datatab        = log_table&lt;/P&gt;&lt;P&gt;    EXCEPTIONS&lt;/P&gt;&lt;P&gt;      fb_call_handle = 4&lt;/P&gt;&lt;P&gt;      fb_error       = 8&lt;/P&gt;&lt;P&gt;      fb_rsts_noconv = 12&lt;/P&gt;&lt;P&gt;      fb_rsts_other  = 16&lt;/P&gt;&lt;P&gt;      OTHERS         = 16.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  IF sy-subrc &amp;gt; 0.&lt;/P&gt;&lt;P&gt;    EXIT.&lt;/P&gt;&lt;P&gt;  ENDIF.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  CALL FUNCTION 'RSTS_CLOSE'&lt;/P&gt;&lt;P&gt;    EXCEPTIONS&lt;/P&gt;&lt;P&gt;      OTHERS = 4.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  IF sy-subrc &amp;gt; 0.&lt;/P&gt;&lt;P&gt;    EXIT.&lt;/P&gt;&lt;P&gt;  ENDIF.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;ENDFORM.                    " READ_BDC_LOG_PLAIN&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;&amp;amp;----&lt;/STRONG&gt;&lt;/P&gt;&lt;HR originaltext="----------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;*&amp;amp;      Form  GET_TEXT&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;&amp;amp;----&lt;/STRONG&gt;&lt;/P&gt;&lt;HR originaltext="----------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;      text&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;&lt;STRONG&gt;----&lt;/STRONG&gt;&lt;/P&gt;&lt;HR originaltext="-----------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt; --&amp;gt;  p1        text&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt; &amp;lt;--  p2        text&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;&lt;STRONG&gt;----&lt;/STRONG&gt;&lt;/P&gt;&lt;HR originaltext="-----------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;FORM get_text.&lt;/P&gt;&lt;P&gt;  DATA: shiftln TYPE i,&lt;/P&gt;&lt;P&gt;        vartcnt TYPE i,&lt;/P&gt;&lt;P&gt;        fdpos LIKE sy-fdpos.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  IF tbl_bdclm-mparcnt CN digits.&lt;/P&gt;&lt;P&gt;    tbl_bdclm-mparcnt = 0.&lt;/P&gt;&lt;P&gt;  ENDIF.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  SELECT SINGLE * FROM t100&lt;/P&gt;&lt;P&gt;   WHERE sprsl = sy-langu&lt;/P&gt;&lt;P&gt;   AND  arbgb  = tbl_bdclm-mid&lt;/P&gt;&lt;P&gt;   AND  msgnr  = tbl_bdclm-mnr.&lt;/P&gt;&lt;P&gt;*&lt;/P&gt;&lt;P&gt;  IF sy-subrc EQ 0.&lt;/P&gt;&lt;P&gt;    CLEAR: mtext,&lt;/P&gt;&lt;P&gt;           parcnt,&lt;/P&gt;&lt;P&gt;           mparcnt,&lt;/P&gt;&lt;P&gt;           charcnt,&lt;/P&gt;&lt;P&gt;           wcnt,&lt;/P&gt;&lt;P&gt;           mt,&lt;/P&gt;&lt;P&gt;           sp_len,&lt;/P&gt;&lt;P&gt;           sy-fdpos.&lt;/P&gt;&lt;P&gt;*&lt;/P&gt;&lt;P&gt;    MOVE tbl_bdclm-mparcnt TO mparcnt.&lt;/P&gt;&lt;P&gt;*&lt;/P&gt;&lt;P&gt;    IF t100-text CA '$&amp;amp;'.&lt;/P&gt;&lt;P&gt;      MOVE t100-text TO mtext1.&lt;/P&gt;&lt;P&gt;    ELSE.&lt;/P&gt;&lt;P&gt;      MOVE t100-text TO mtext.&lt;/P&gt;&lt;P&gt;      EXIT.&lt;/P&gt;&lt;P&gt;    ENDIF.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;    REFRESH mttab.&lt;/P&gt;&lt;P&gt;    CLEAR shiftln.&lt;/P&gt;&lt;P&gt;    DO mparcnt TIMES.&lt;/P&gt;&lt;P&gt;      CLEAR: par, mttab.&lt;/P&gt;&lt;P&gt;      MOVE tbl_bdclm-mpar TO par.&lt;/P&gt;&lt;P&gt;      IF par-len CN digits OR par-len EQ 0.&lt;/P&gt;&lt;P&gt;        par-len = 1.&lt;/P&gt;&lt;P&gt;      ENDIF.&lt;/P&gt;&lt;P&gt;      WRITE par-text TO mttab-text(par-len).&lt;/P&gt;&lt;P&gt;      MOVE par-len  TO mttab-len.&lt;/P&gt;&lt;P&gt;      MOVE mparcnt  TO mttab-off.&lt;/P&gt;&lt;P&gt;      APPEND mttab.&lt;/P&gt;&lt;P&gt;      shiftln = par-len + 2.&lt;/P&gt;&lt;P&gt;      SHIFT tbl_bdclm-mpar BY shiftln PLACES.&lt;/P&gt;&lt;P&gt;    ENDDO.&lt;/P&gt;&lt;P&gt;*&lt;/P&gt;&lt;P&gt;    mtext2 = mtext1.&lt;/P&gt;&lt;P&gt;    IF tbl_bdclm-mid EQ  '00' AND&lt;/P&gt;&lt;P&gt;       tbl_bdclm-mnr EQ '368' AND&lt;/P&gt;&lt;P&gt;       tbl_bdclm-mart EQ 'S'.&lt;/P&gt;&lt;P&gt;      CLEAR mtext2.&lt;/P&gt;&lt;P&gt;      CLEAR mttab.&lt;/P&gt;&lt;P&gt;      READ TABLE mttab INDEX 1.&lt;/P&gt;&lt;P&gt;      WRITE mttab-text TO mtext2+0(mttab-len).&lt;/P&gt;&lt;P&gt;      CLEAR mttab.&lt;/P&gt;&lt;P&gt;      READ TABLE mttab INDEX 2.&lt;/P&gt;&lt;P&gt;      WRITE mttab-text TO mtext2+35(mttab-len).&lt;/P&gt;&lt;P&gt;      mtext = mtext2.&lt;/P&gt;&lt;P&gt;      EXIT.&lt;/P&gt;&lt;P&gt;    ENDIF.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;    do_condense = x.&lt;/P&gt;&lt;P&gt;    CLEAR: mt, vartcnt, mtvaroff.&lt;/P&gt;&lt;P&gt;    WHILE vartcnt LE 3.&lt;/P&gt;&lt;P&gt;      vartcnt = vartcnt + 1.&lt;/P&gt;&lt;P&gt;      IF mtext1 CA '$&amp;amp;'.&lt;/P&gt;&lt;P&gt;        parcnt = parcnt + 1.&lt;/P&gt;&lt;P&gt;        IF sy-fdpos GT 0.&lt;/P&gt;&lt;P&gt;          fdpos = sy-fdpos - 1.&lt;/P&gt;&lt;P&gt;        ELSE.&lt;/P&gt;&lt;P&gt;          fdpos = sy-fdpos.&lt;/P&gt;&lt;P&gt;        ENDIF.&lt;/P&gt;&lt;P&gt;        SHIFT mtext1 BY sy-fdpos PLACES.&lt;/P&gt;&lt;P&gt;        IF mtext1(1) EQ '&amp;amp;'.&lt;/P&gt;&lt;P&gt;          SHIFT mtext1 BY 1 PLACES.&lt;/P&gt;&lt;P&gt;          CASE mtext1(1).&lt;/P&gt;&lt;P&gt;            WHEN ' '.&lt;/P&gt;&lt;P&gt;              PERFORM replace_var USING '&amp;amp; ' parcnt fdpos.&lt;/P&gt;&lt;P&gt;            WHEN '$'.&lt;/P&gt;&lt;P&gt;              PERFORM replace_var USING '&amp;amp;&amp;amp;' 0      fdpos.&lt;/P&gt;&lt;P&gt;            WHEN '1'.&lt;/P&gt;&lt;P&gt;              PERFORM replace_var USING '&amp;amp;1' 1      fdpos.&lt;/P&gt;&lt;P&gt;            WHEN '2'.&lt;/P&gt;&lt;P&gt;              PERFORM replace_var USING '&amp;amp;2' 2      fdpos.&lt;/P&gt;&lt;P&gt;            WHEN '3'.&lt;/P&gt;&lt;P&gt;              PERFORM replace_var USING '&amp;amp;3' 3      fdpos.&lt;/P&gt;&lt;P&gt;            WHEN '4'.&lt;/P&gt;&lt;P&gt;              PERFORM replace_var USING '&amp;amp;4' 4      fdpos.&lt;/P&gt;&lt;P&gt;            WHEN OTHERS.&lt;/P&gt;&lt;P&gt;              PERFORM replace_var USING '&amp;amp;&amp;lt;' parcnt fdpos.&lt;/P&gt;&lt;P&gt;          ENDCASE.&lt;/P&gt;&lt;P&gt;        ENDIF.&lt;/P&gt;&lt;P&gt;        IF mtext1(1) EQ '$'.&lt;/P&gt;&lt;P&gt;          SHIFT mtext1 BY 1 PLACES.&lt;/P&gt;&lt;P&gt;          CASE mtext1(1).&lt;/P&gt;&lt;P&gt;            WHEN ' '.&lt;/P&gt;&lt;P&gt;              PERFORM replace_var USING '$ ' parcnt  fdpos.&lt;/P&gt;&lt;P&gt;            WHEN '$'.&lt;/P&gt;&lt;P&gt;              PERFORM replace_var USING '$$' 0       fdpos.&lt;/P&gt;&lt;P&gt;            WHEN '1'.&lt;/P&gt;&lt;P&gt;              PERFORM replace_var USING '$1' 1       fdpos.&lt;/P&gt;&lt;P&gt;            WHEN '2'.&lt;/P&gt;&lt;P&gt;              PERFORM replace_var USING '$2' 2       fdpos.&lt;/P&gt;&lt;P&gt;            WHEN '3'.&lt;/P&gt;&lt;P&gt;              PERFORM replace_var USING '$3' 3       fdpos.&lt;/P&gt;&lt;P&gt;            WHEN '4'.&lt;/P&gt;&lt;P&gt;              PERFORM replace_var USING '$4' 4       fdpos.&lt;/P&gt;&lt;P&gt;            WHEN OTHERS.&lt;/P&gt;&lt;P&gt;              PERFORM replace_var USING '$&amp;lt;' parcnt  fdpos.&lt;/P&gt;&lt;P&gt;          ENDCASE.&lt;/P&gt;&lt;P&gt;        ENDIF.&lt;/P&gt;&lt;P&gt;      ENDIF.&lt;/P&gt;&lt;P&gt;    ENDWHILE.&lt;/P&gt;&lt;P&gt;*&lt;/P&gt;&lt;P&gt;    IF mtext2 CA '%%_D_%%'.&lt;/P&gt;&lt;P&gt;      REPLACE '%%_D_%%' WITH '$' INTO mtext2.&lt;/P&gt;&lt;P&gt;    ENDIF.&lt;/P&gt;&lt;P&gt;    IF mtext2 CA '%%_A_%%'.&lt;/P&gt;&lt;P&gt;      REPLACE '%%_A_%%' WITH '&amp;amp;' INTO mtext2.&lt;/P&gt;&lt;P&gt;    ENDIF.&lt;/P&gt;&lt;P&gt;    IF do_condense EQ space.&lt;/P&gt;&lt;P&gt;      mtext = mtext2.&lt;/P&gt;&lt;P&gt;    ELSE.&lt;/P&gt;&lt;P&gt;      CONDENSE mtext2 .&lt;/P&gt;&lt;P&gt;      mtext = mtext2.&lt;/P&gt;&lt;P&gt;    ENDIF.&lt;/P&gt;&lt;P&gt;  ELSE.&lt;/P&gt;&lt;P&gt;    mtext = '???????????????????????????????????????????????????'.&lt;/P&gt;&lt;P&gt;  ENDIF.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;ENDFORM.                    " GET_TEXT&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;&amp;amp;----&lt;/STRONG&gt;&lt;/P&gt;&lt;HR originaltext="----------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;*&amp;amp;      Form  REPLACE_VAR&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;&amp;amp;----&lt;/STRONG&gt;&lt;/P&gt;&lt;HR originaltext="----------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;      text&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;&lt;STRONG&gt;----&lt;/STRONG&gt;&lt;/P&gt;&lt;HR originaltext="-----------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;     --&amp;gt;P_1209   text&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;     --&amp;gt;P_PARCNT  text&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;     --&amp;gt;P_FDPOS  text&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;&lt;STRONG&gt;----&lt;/STRONG&gt;&lt;/P&gt;&lt;HR originaltext="-----------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;FORM replace_var USING    vark vari varpos.&lt;/P&gt;&lt;P&gt;  DATA: var(02),&lt;/P&gt;&lt;P&gt;       var1,&lt;/P&gt;&lt;P&gt;       moff TYPE i.&lt;/P&gt;&lt;P&gt;*&lt;/P&gt;&lt;P&gt;  CLEAR: mttab , moff.&lt;/P&gt;&lt;P&gt;  var = vark.&lt;/P&gt;&lt;P&gt;  SHIFT var BY 1 PLACES.&lt;/P&gt;&lt;P&gt;  CASE var.&lt;/P&gt;&lt;P&gt;    WHEN ' '.&lt;/P&gt;&lt;P&gt;      READ TABLE mttab INDEX vari.&lt;/P&gt;&lt;P&gt;      IF sy-subrc EQ 0.&lt;/P&gt;&lt;P&gt;        moff = varpos + mtvaroff.&lt;/P&gt;&lt;P&gt;        ASSIGN mtext2+moff(*) TO &amp;lt;mtxt&amp;gt;.&lt;/P&gt;&lt;P&gt;        ASSIGN mttab-text(mttab-len) TO &amp;lt;vtxt&amp;gt;.&lt;/P&gt;&lt;P&gt;        var1 = vark.&lt;/P&gt;&lt;P&gt;        REPLACE var1 WITH &amp;lt;vtxt&amp;gt;     INTO &amp;lt;mtxt&amp;gt;.&lt;/P&gt;&lt;P&gt;        mtvaroff = mttab-len.&lt;/P&gt;&lt;P&gt;      ELSE.&lt;/P&gt;&lt;P&gt;        IF vari GT mparcnt.&lt;/P&gt;&lt;P&gt;          moff = varpos + mtvaroff.&lt;/P&gt;&lt;P&gt;          ASSIGN mtext2+moff(*) TO &amp;lt;mtxt&amp;gt;.&lt;/P&gt;&lt;P&gt;          REPLACE vark WITH '  ' INTO &amp;lt;mtxt&amp;gt;.&lt;/P&gt;&lt;P&gt;          mtvaroff = 2.&lt;/P&gt;&lt;P&gt;        ELSE.&lt;/P&gt;&lt;P&gt;          moff = varpos + mtvaroff.&lt;/P&gt;&lt;P&gt;          ASSIGN mtext2+moff(*) TO &amp;lt;mtxt&amp;gt;.&lt;/P&gt;&lt;P&gt;          REPLACE vark WITH '%%_Z_%%' INTO &amp;lt;mtxt&amp;gt;.&lt;/P&gt;&lt;P&gt;          mtvaroff = 7.&lt;/P&gt;&lt;P&gt;        ENDIF.&lt;/P&gt;&lt;P&gt;      ENDIF.&lt;/P&gt;&lt;P&gt;    WHEN '$'.&lt;/P&gt;&lt;P&gt;      moff = varpos + mtvaroff.&lt;/P&gt;&lt;P&gt;      ASSIGN mtext2+moff(*) TO &amp;lt;mtxt&amp;gt;.&lt;/P&gt;&lt;P&gt;      REPLACE vark WITH '%%_D_%%' INTO &amp;lt;mtxt&amp;gt;.&lt;/P&gt;&lt;P&gt;      mtvaroff = 7.&lt;/P&gt;&lt;P&gt;    WHEN '&amp;amp;'.&lt;/P&gt;&lt;P&gt;      moff = varpos + mtvaroff.&lt;/P&gt;&lt;P&gt;      ASSIGN mtext2+moff(*) TO &amp;lt;mtxt&amp;gt;.&lt;/P&gt;&lt;P&gt;      REPLACE vark WITH '%%_A_%%' INTO &amp;lt;mtxt&amp;gt;.&lt;/P&gt;&lt;P&gt;      mtvaroff = 7.&lt;/P&gt;&lt;P&gt;    WHEN '&amp;lt;'.&lt;/P&gt;&lt;P&gt;      READ TABLE mttab INDEX vari.&lt;/P&gt;&lt;P&gt;      IF sy-subrc EQ 0.&lt;/P&gt;&lt;P&gt;        IF vark EQ '&amp;amp;&amp;lt;'.&lt;/P&gt;&lt;P&gt;          moff = varpos + mtvaroff.&lt;/P&gt;&lt;P&gt;          ASSIGN mtext2+moff(*) TO &amp;lt;mtxt&amp;gt;.&lt;/P&gt;&lt;P&gt;          ASSIGN mttab-text(mttab-len) TO &amp;lt;vtxt&amp;gt;.&lt;/P&gt;&lt;P&gt;          REPLACE '&amp;amp;' WITH &amp;lt;vtxt&amp;gt;     INTO &amp;lt;mtxt&amp;gt;.&lt;/P&gt;&lt;P&gt;          mtvaroff = mttab-len.&lt;/P&gt;&lt;P&gt;        ENDIF.&lt;/P&gt;&lt;P&gt;        IF vark EQ '$&amp;lt;'.&lt;/P&gt;&lt;P&gt;          moff = varpos + mtvaroff.&lt;/P&gt;&lt;P&gt;          ASSIGN mtext2+moff(*) TO &amp;lt;mtxt&amp;gt;.&lt;/P&gt;&lt;P&gt;          ASSIGN mttab-text(mttab-len) TO &amp;lt;vtxt&amp;gt;.&lt;/P&gt;&lt;P&gt;          REPLACE '$' WITH &amp;lt;vtxt&amp;gt;     INTO &amp;lt;mtxt&amp;gt;.&lt;/P&gt;&lt;P&gt;          mtvaroff = mttab-len.&lt;/P&gt;&lt;P&gt;        ENDIF.&lt;/P&gt;&lt;P&gt;      ELSE.&lt;/P&gt;&lt;P&gt;        IF vark EQ '&amp;amp;&amp;lt;'.&lt;/P&gt;&lt;P&gt;          moff = varpos + mtvaroff.&lt;/P&gt;&lt;P&gt;          ASSIGN mtext2+moff(*) TO &amp;lt;mtxt&amp;gt;.&lt;/P&gt;&lt;P&gt;          REPLACE '&amp;amp;' WITH ' ' INTO &amp;lt;mtxt&amp;gt;.&lt;/P&gt;&lt;P&gt;          mtvaroff = 1.&lt;/P&gt;&lt;P&gt;        ENDIF.&lt;/P&gt;&lt;P&gt;        IF vark EQ '$&amp;lt;'.&lt;/P&gt;&lt;P&gt;          moff = varpos + mtvaroff.&lt;/P&gt;&lt;P&gt;          ASSIGN mtext2+moff(*) TO &amp;lt;mtxt&amp;gt;.&lt;/P&gt;&lt;P&gt;          REPLACE '$' WITH ' ' INTO &amp;lt;mtxt&amp;gt;.&lt;/P&gt;&lt;P&gt;          mtvaroff = 1.&lt;/P&gt;&lt;P&gt;        ENDIF.&lt;/P&gt;&lt;P&gt;      ENDIF.&lt;/P&gt;&lt;P&gt;    WHEN '1'.&lt;/P&gt;&lt;P&gt;      READ TABLE mttab INDEX 1.&lt;/P&gt;&lt;P&gt;      IF sy-subrc EQ 0.&lt;/P&gt;&lt;P&gt;        moff = varpos + mtvaroff.&lt;/P&gt;&lt;P&gt;        ASSIGN mtext2+moff(*) TO &amp;lt;mtxt&amp;gt;.&lt;/P&gt;&lt;P&gt;        ASSIGN mttab-text(mttab-len) TO &amp;lt;vtxt&amp;gt;.&lt;/P&gt;&lt;P&gt;        REPLACE vark WITH &amp;lt;vtxt&amp;gt;     INTO &amp;lt;mtxt&amp;gt;.&lt;/P&gt;&lt;P&gt;        mtvaroff = mttab-len.&lt;/P&gt;&lt;P&gt;      ELSE.&lt;/P&gt;&lt;P&gt;        IF vari GT mparcnt.&lt;/P&gt;&lt;P&gt;          moff = varpos + mtvaroff.&lt;/P&gt;&lt;P&gt;          ASSIGN mtext2+moff(*) TO &amp;lt;mtxt&amp;gt;.&lt;/P&gt;&lt;P&gt;          REPLACE vark WITH '  ' INTO &amp;lt;mtxt&amp;gt;.&lt;/P&gt;&lt;P&gt;          mtvaroff = 2.&lt;/P&gt;&lt;P&gt;        ELSE.&lt;/P&gt;&lt;P&gt;          moff = varpos + mtvaroff.&lt;/P&gt;&lt;P&gt;          ASSIGN mtext2+moff(*) TO &amp;lt;mtxt&amp;gt;.&lt;/P&gt;&lt;P&gt;          REPLACE vark WITH '%%_Z_%%' INTO &amp;lt;mtxt&amp;gt;.&lt;/P&gt;&lt;P&gt;          mtvaroff = 7.&lt;/P&gt;&lt;P&gt;        ENDIF.&lt;/P&gt;&lt;P&gt;      ENDIF.&lt;/P&gt;&lt;P&gt;    WHEN '2'.&lt;/P&gt;&lt;P&gt;      READ TABLE mttab INDEX 2.&lt;/P&gt;&lt;P&gt;      IF sy-subrc EQ 0.&lt;/P&gt;&lt;P&gt;        moff = varpos + mtvaroff.&lt;/P&gt;&lt;P&gt;        ASSIGN mtext2+moff(*) TO &amp;lt;mtxt&amp;gt;.&lt;/P&gt;&lt;P&gt;        ASSIGN mttab-text(mttab-len) TO &amp;lt;vtxt&amp;gt;.&lt;/P&gt;&lt;P&gt;        REPLACE vark WITH &amp;lt;vtxt&amp;gt;     INTO &amp;lt;mtxt&amp;gt;.&lt;/P&gt;&lt;P&gt;        mtvaroff = mttab-len.&lt;/P&gt;&lt;P&gt;      ELSE.&lt;/P&gt;&lt;P&gt;        IF vari GT mparcnt.&lt;/P&gt;&lt;P&gt;          moff = varpos + mtvaroff.&lt;/P&gt;&lt;P&gt;          ASSIGN mtext2+moff(*) TO &amp;lt;mtxt&amp;gt;.&lt;/P&gt;&lt;P&gt;          REPLACE vark WITH '  ' INTO &amp;lt;mtxt&amp;gt;.&lt;/P&gt;&lt;P&gt;          mtvaroff = 2.&lt;/P&gt;&lt;P&gt;        ELSE.&lt;/P&gt;&lt;P&gt;          moff = varpos + mtvaroff.&lt;/P&gt;&lt;P&gt;          ASSIGN mtext2+moff(*) TO &amp;lt;mtxt&amp;gt;.&lt;/P&gt;&lt;P&gt;          REPLACE vark WITH '%%_Z_%%' INTO &amp;lt;mtxt&amp;gt;.&lt;/P&gt;&lt;P&gt;          mtvaroff = 7.                   ""&lt;/P&gt;&lt;P&gt;        ENDIF.&lt;/P&gt;&lt;P&gt;      ENDIF.&lt;/P&gt;&lt;P&gt;    WHEN '3'.&lt;/P&gt;&lt;P&gt;      READ TABLE mttab INDEX 3.&lt;/P&gt;&lt;P&gt;      IF sy-subrc EQ 0.&lt;/P&gt;&lt;P&gt;        moff = varpos + mtvaroff.&lt;/P&gt;&lt;P&gt;        ASSIGN mtext2+moff(*) TO &amp;lt;mtxt&amp;gt;.&lt;/P&gt;&lt;P&gt;        ASSIGN mttab-text(mttab-len) TO &amp;lt;vtxt&amp;gt;.&lt;/P&gt;&lt;P&gt;        REPLACE vark WITH &amp;lt;vtxt&amp;gt;     INTO &amp;lt;mtxt&amp;gt;.&lt;/P&gt;&lt;P&gt;        mtvaroff = mttab-len.&lt;/P&gt;&lt;P&gt;      ELSE.&lt;/P&gt;&lt;P&gt;        IF vari GT mparcnt.&lt;/P&gt;&lt;P&gt;          moff = varpos + mtvaroff.&lt;/P&gt;&lt;P&gt;          ASSIGN mtext2+moff(*) TO &amp;lt;mtxt&amp;gt;.&lt;/P&gt;&lt;P&gt;          REPLACE vark WITH '  ' INTO &amp;lt;mtxt&amp;gt;.&lt;/P&gt;&lt;P&gt;          mtvaroff = 2.&lt;/P&gt;&lt;P&gt;        ELSE.&lt;/P&gt;&lt;P&gt;          moff = varpos + mtvaroff.&lt;/P&gt;&lt;P&gt;          ASSIGN mtext2+moff(*) TO &amp;lt;mtxt&amp;gt;.&lt;/P&gt;&lt;P&gt;          REPLACE vark WITH '%%_Z_%%' INTO &amp;lt;mtxt&amp;gt;.&lt;/P&gt;&lt;P&gt;          mtvaroff = 7.&lt;/P&gt;&lt;P&gt;        ENDIF.&lt;/P&gt;&lt;P&gt;      ENDIF.&lt;/P&gt;&lt;P&gt;    WHEN '4'.&lt;/P&gt;&lt;P&gt;      READ TABLE mttab INDEX 4.&lt;/P&gt;&lt;P&gt;      IF sy-subrc EQ 0.&lt;/P&gt;&lt;P&gt;        moff = varpos + mtvaroff.&lt;/P&gt;&lt;P&gt;        ASSIGN mtext2+moff(*) TO &amp;lt;mtxt&amp;gt;.&lt;/P&gt;&lt;P&gt;        ASSIGN mttab-text(mttab-len) TO &amp;lt;vtxt&amp;gt;.&lt;/P&gt;&lt;P&gt;        REPLACE vark WITH &amp;lt;vtxt&amp;gt;     INTO &amp;lt;mtxt&amp;gt;.&lt;/P&gt;&lt;P&gt;        mtvaroff = mttab-len.&lt;/P&gt;&lt;P&gt;      ELSE.&lt;/P&gt;&lt;P&gt;        IF vari GT mparcnt.&lt;/P&gt;&lt;P&gt;          moff = varpos + mtvaroff.&lt;/P&gt;&lt;P&gt;          ASSIGN mtext2+moff(*) TO &amp;lt;mtxt&amp;gt;.&lt;/P&gt;&lt;P&gt;          REPLACE vark WITH '  ' INTO &amp;lt;mtxt&amp;gt;.&lt;/P&gt;&lt;P&gt;          mtvaroff = 2.&lt;/P&gt;&lt;P&gt;        ELSE.&lt;/P&gt;&lt;P&gt;          moff = varpos + mtvaroff.&lt;/P&gt;&lt;P&gt;          ASSIGN mtext2+moff(*) TO &amp;lt;mtxt&amp;gt;.&lt;/P&gt;&lt;P&gt;          REPLACE vark WITH '%%_Z_%%' INTO &amp;lt;mtxt&amp;gt;.&lt;/P&gt;&lt;P&gt;          mtvaroff = 7.&lt;/P&gt;&lt;P&gt;        ENDIF.&lt;/P&gt;&lt;P&gt;      ENDIF.&lt;/P&gt;&lt;P&gt;*&lt;/P&gt;&lt;P&gt;  ENDCASE.&lt;/P&gt;&lt;P&gt;*&lt;/P&gt;&lt;P&gt;  do_condense = space.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;ENDFORM.                    " REPLACE_VAR&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;&amp;amp;----&lt;/STRONG&gt;&lt;/P&gt;&lt;HR originaltext="----------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;*&amp;amp;      Form  build_catalog&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;&amp;amp;----&lt;/STRONG&gt;&lt;/P&gt;&lt;HR originaltext="----------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;      text&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;&lt;STRONG&gt;----&lt;/STRONG&gt;&lt;/P&gt;&lt;HR originaltext="-----------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt; --&amp;gt;  p1        text&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt; &amp;lt;--  p2        text&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;&lt;STRONG&gt;----&lt;/STRONG&gt;&lt;/P&gt;&lt;HR originaltext="-----------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;FORM build_catalog.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  DATA : tablenam LIKE dd03l-tabname,&lt;/P&gt;&lt;P&gt;         fieldnam LIKE dd03l-fieldname,&lt;/P&gt;&lt;P&gt;         pos TYPE i.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  SPLIT p_string AT '-' INTO tablenam fieldnam.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  SELECT SINGLE * FROM dd03l INTO dd03l WHERE tabname = tablenam AND&lt;/P&gt;&lt;P&gt;  fieldname = fieldnam.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  SELECT SINGLE * FROM dd04t WHERE rollname = dd03l-rollname AND&lt;/P&gt;&lt;P&gt;  ddlanguage = 'E'.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  ADD 1 TO pos.&lt;/P&gt;&lt;P&gt;  x_catalog-fieldname   = 'GROUPID'.&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt; x_catalog-col_pos     = 1.&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;  x_catalog-outputlen   = '15'.&lt;/P&gt;&lt;P&gt;  x_catalog-seltext_l   = 'Session Name'(047).&lt;/P&gt;&lt;P&gt;  APPEND x_catalog TO i_catalog.&lt;/P&gt;&lt;P&gt;  CLEAR x_catalog.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  ADD 1 TO pos.&lt;/P&gt;&lt;P&gt;  x_catalog-fieldname   = 'QID'.&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt; x_catalog-col_pos     = 1.&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;  x_catalog-outputlen   = '20'.&lt;/P&gt;&lt;P&gt;  x_catalog-seltext_l   = 'Queue ID'(047).&lt;/P&gt;&lt;P&gt;  x_catalog-no_out   = 'X'.&lt;/P&gt;&lt;P&gt;  APPEND x_catalog TO i_catalog.&lt;/P&gt;&lt;P&gt;  CLEAR x_catalog.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  ADD 1 TO pos.&lt;/P&gt;&lt;P&gt;  x_catalog-fieldname   = 'INDEX'.&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt; x_catalog-col_pos     = 2.&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;  x_catalog-outputlen   = '8'.&lt;/P&gt;&lt;P&gt;  x_catalog-seltext_l   = 'Index'(047).&lt;/P&gt;&lt;P&gt;  APPEND x_catalog TO i_catalog.&lt;/P&gt;&lt;P&gt;  CLEAR x_catalog.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  ADD 1 TO pos.&lt;/P&gt;&lt;P&gt;  x_catalog-fieldname   = 'INFO'.&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt; x_catalog-col_pos     = 3.&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;  x_catalog-outputlen   = '10'.&lt;/P&gt;&lt;P&gt;  x_catalog-seltext_l   = dd04t-scrtext_s.&lt;/P&gt;&lt;P&gt;  APPEND x_catalog TO i_catalog.&lt;/P&gt;&lt;P&gt;  CLEAR x_catalog.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  ADD 1 TO pos.&lt;/P&gt;&lt;P&gt;  x_catalog-fieldname   = 'MODULE'.&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt; x_catalog-col_pos     = 4.&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;  x_catalog-outputlen   = '8'.&lt;/P&gt;&lt;P&gt;  x_catalog-seltext_l   = 'Program'(007).&lt;/P&gt;&lt;P&gt;  APPEND x_catalog TO i_catalog.&lt;/P&gt;&lt;P&gt;  CLEAR x_catalog.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  ADD 1 TO pos.&lt;/P&gt;&lt;P&gt;  x_catalog-fieldname   = 'SCREEN'.&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt; x_catalog-col_pos     = 5.&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;  x_catalog-outputlen   = '4'.&lt;/P&gt;&lt;P&gt;  x_catalog-seltext_l   = 'Screen'(075).&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt; X_CATALOG-NO_OUT   = 'X'.&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;  APPEND x_catalog TO i_catalog.&lt;/P&gt;&lt;P&gt;  CLEAR x_catalog.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  ADD 1 TO pos.&lt;/P&gt;&lt;P&gt;  x_catalog-fieldname   = 'ERROR_MESSAGE'.&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt; x_catalog-col_pos     = 6.&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;  x_catalog-outputlen   = '254'.&lt;/P&gt;&lt;P&gt;  x_catalog-seltext_l   = 'Error Message'(076).&lt;/P&gt;&lt;P&gt;  APPEND x_catalog TO i_catalog.&lt;/P&gt;&lt;P&gt;  CLEAR x_catalog.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;ENDFORM.                    " build_catalog&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;&amp;amp;----&lt;/STRONG&gt;&lt;/P&gt;&lt;HR originaltext="----------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;*&amp;amp;      Form  sort&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;&amp;amp;----&lt;/STRONG&gt;&lt;/P&gt;&lt;HR originaltext="----------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;      text&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;&lt;STRONG&gt;----&lt;/STRONG&gt;&lt;/P&gt;&lt;HR originaltext="-----------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt; --&amp;gt;  p1        text&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt; &amp;lt;--  p2        text&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;&lt;STRONG&gt;----&lt;/STRONG&gt;&lt;/P&gt;&lt;HR originaltext="-----------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;FORM sort.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  DATA : srtpos TYPE i.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  ADD 1 TO srtpos.&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt; x_sort-spos = 1.&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;  x_sort-fieldname = 'GROUPID'.&lt;/P&gt;&lt;P&gt;  x_sort-up = c_x.&lt;/P&gt;&lt;P&gt;  x_sort-subtot = c_x.&lt;/P&gt;&lt;P&gt;  APPEND x_sort TO i_sort.&lt;/P&gt;&lt;P&gt;  CLEAR x_sort.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;*add 1 to srtpos.&lt;/P&gt;&lt;UL&gt;&lt;UL&gt;&lt;LI level="2" type="ul"&gt;&lt;P&gt; x_sort-spos = 1.&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt; x_sort-fieldname = 'QID'.&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt; x_sort-up = c_x.&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt; x_sort-subtot = c_x.&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt; append x_sort to i_sort.&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt; clear x_sort.&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  ADD 1 TO srtpos.&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt; x_sort-spos = 2.&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;  x_sort-fieldname = 'INDEX'.&lt;/P&gt;&lt;P&gt;  x_sort-up = c_x.&lt;/P&gt;&lt;P&gt;  x_sort-subtot = c_x.&lt;/P&gt;&lt;P&gt;  APPEND x_sort TO i_sort.&lt;/P&gt;&lt;P&gt;  CLEAR x_sort.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  ADD 1 TO srtpos.&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt; x_sort-spos = 3.&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;  x_sort-fieldname = 'INFO'.&lt;/P&gt;&lt;P&gt;  x_sort-up = c_x.&lt;/P&gt;&lt;P&gt;  x_sort-subtot = c_x.&lt;/P&gt;&lt;P&gt;  APPEND x_sort TO i_sort.&lt;/P&gt;&lt;P&gt;  CLEAR x_sort.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  ADD 1 TO srtpos.&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt; x_sort-spos = 4.&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;  x_sort-fieldname = 'ERROR_MESSAGE'.&lt;/P&gt;&lt;P&gt;  x_sort-up = c_x.&lt;/P&gt;&lt;P&gt;  x_sort-subtot = c_x.&lt;/P&gt;&lt;P&gt;  APPEND x_sort TO i_sort.&lt;/P&gt;&lt;P&gt;  CLEAR x_sort.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;ENDFORM.                    " sort&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;&amp;amp;----&lt;/STRONG&gt;&lt;/P&gt;&lt;HR originaltext="----------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;*&amp;amp;      Form  display_alv&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;&amp;amp;----&lt;/STRONG&gt;&lt;/P&gt;&lt;HR originaltext="----------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;      text&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;&lt;STRONG&gt;----&lt;/STRONG&gt;&lt;/P&gt;&lt;HR originaltext="-----------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt; --&amp;gt;  p1        text&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt; &amp;lt;--  p2        text&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;&lt;STRONG&gt;----&lt;/STRONG&gt;&lt;/P&gt;&lt;HR originaltext="-----------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;FORM display_alv.&lt;/P&gt;&lt;P&gt;  PERFORM eventtab_build     USING    gt_events[].&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  CALL FUNCTION 'REUSE_ALV_GRID_DISPLAY'&lt;/P&gt;&lt;P&gt;     EXPORTING&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;  I_INTERFACE_CHECK                 = ' '&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;  I_BYPASSING_BUFFER                =&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;  I_BUFFER_ACTIVE                   = ' '&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;     i_callback_program                = 'ZSUBTEST_BDC'&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;  I_CALLBACK_PF_STATUS_SET          = ' '&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;  I_CALLBACK_USER_COMMAND           = ' '&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;  I_CALLBACK_TOP_OF_PAGE            = ' '&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;  I_CALLBACK_HTML_TOP_OF_PAGE       = ' '&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;  I_CALLBACK_HTML_END_OF_LIST       = ' '&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;  I_STRUCTURE_NAME                  =&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;  I_BACKGROUND_ID                   = ' '&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;  I_GRID_TITLE                      = v_grid_title&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;  I_GRID_SETTINGS                   =&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;  IS_LAYOUT                         =&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;       it_fieldcat                       = i_catalog&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;  IT_EXCLUDING                      =&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;  IT_SPECIAL_GROUPS                 =&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;     it_sort                           = i_sort&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;  IT_FILTER                         =&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;  IS_SEL_HIDE                       =&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;  I_DEFAULT                         = 'X'&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;     i_save                            = 'A'&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;  IS_VARIANT                        = X_DISVARIANT&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;     it_events                         = gt_events[]&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;  IT_EVENT_EXIT                     =&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;  IS_PRINT                          =&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;  IS_REPREP_ID                      =&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;  I_SCREEN_START_COLUMN             = 0&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;  I_SCREEN_START_LINE               = 0&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;  I_SCREEN_END_COLUMN               = 0&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;  I_SCREEN_END_LINE                 = 0&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;  IT_ALV_GRAPHICS                   =&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;  IT_ADD_FIELDCAT                   =&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;  IT_HYPERLINK                      =&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;IMPORTING&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;  E_EXIT_CAUSED_BY_CALLER           =&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;  ES_EXIT_CAUSED_BY_USER            =&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;      TABLES&lt;/P&gt;&lt;P&gt;        t_outtab                          = tbl_out&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;EXCEPTIONS&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;  PROGRAM_ERROR                     = 1&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;  OTHERS                            = 2&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;              .&lt;/P&gt;&lt;P&gt;  IF sy-subrc &amp;lt;&amp;gt; 0.&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;MESSAGE ID SY-MSGID TYPE SY-MSGTY NUMBER SY-MSGNO&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;        WITH SY-MSGV1 SY-MSGV2 SY-MSGV3 SY-MSGV4.&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;  ENDIF.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;ENDFORM.                    " display_alv&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;----&lt;/STRONG&gt;&lt;/P&gt;&lt;HR originaltext="----------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;      FORM EVENTTAB_BUILD                                           *&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;&lt;STRONG&gt;----&lt;/STRONG&gt;&lt;/P&gt;&lt;HR originaltext="----------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;      ........                                                      *&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;&lt;STRONG&gt;----&lt;/STRONG&gt;&lt;/P&gt;&lt;HR originaltext="----------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt; --&amp;gt;  LT_EVENTS                                                     *&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;&lt;STRONG&gt;----&lt;/STRONG&gt;&lt;/P&gt;&lt;HR originaltext="----------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;FORM eventtab_build USING&lt;/P&gt;&lt;P&gt;                    lt_events    TYPE slis_t_event.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  DATA: ls_event TYPE slis_alv_event.&lt;/P&gt;&lt;P&gt;*&lt;/P&gt;&lt;P&gt;  CALL FUNCTION 'REUSE_ALV_EVENTS_GET'&lt;/P&gt;&lt;P&gt;    EXPORTING&lt;/P&gt;&lt;P&gt;      i_list_type = 0&lt;/P&gt;&lt;P&gt;    IMPORTING&lt;/P&gt;&lt;P&gt;      et_events   = lt_events.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  READ TABLE lt_events WITH KEY name = slis_ev_top_of_page&lt;/P&gt;&lt;P&gt;                           INTO ls_event.&lt;/P&gt;&lt;P&gt;  IF sy-subrc = 0.&lt;/P&gt;&lt;P&gt;    MOVE gc_formname_top_of_page TO ls_event-form.&lt;/P&gt;&lt;P&gt;    APPEND ls_event TO lt_events.&lt;/P&gt;&lt;P&gt;  ENDIF.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  .&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;ENDFORM.                    "eventtab_build&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;-------------------------------------------------------------------&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;---------------------------------------------------&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;FORM top_of_page.&lt;/P&gt;&lt;P&gt;*&lt;/P&gt;&lt;P&gt;  PERFORM comment_build      USING    gt_list_top_of_page[].&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  CALL FUNCTION 'REUSE_ALV_COMMENTARY_WRITE'&lt;/P&gt;&lt;P&gt;    EXPORTING&lt;/P&gt;&lt;P&gt;      i_logo             = 'TEST_IMAGINEPA_LOGO'&lt;/P&gt;&lt;P&gt;      it_list_commentary = gt_list_top_of_page.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;ENDFORM.                    "top_of_page&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;----&lt;/STRONG&gt;&lt;/P&gt;&lt;HR originaltext="----------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;      FORM COMMENT_BUILD                                            *&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;&lt;STRONG&gt;----&lt;/STRONG&gt;&lt;/P&gt;&lt;HR originaltext="----------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;      ........                                                      *&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;&lt;STRONG&gt;----&lt;/STRONG&gt;&lt;/P&gt;&lt;HR originaltext="----------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt; --&amp;gt;  LT_TOP_OF_PAGE                                                *&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;&lt;STRONG&gt;----&lt;/STRONG&gt;&lt;/P&gt;&lt;HR originaltext="----------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;FORM comment_build USING lt_top_of_page TYPE slis_t_listheader.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  DATA: ls_line   TYPE slis_listheader,&lt;/P&gt;&lt;P&gt;        data(15)  TYPE c,&lt;/P&gt;&lt;P&gt;        wa_lt     LIKE ls_line,&lt;/P&gt;&lt;P&gt;        date(10),&lt;/P&gt;&lt;P&gt;        time(10).&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  WRITE : p_date TO date MM/DD/YY.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  REFRESH lt_top_of_page.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  CLEAR ls_line.&lt;/P&gt;&lt;P&gt;  ls_line-typ  = 'H'.&lt;/P&gt;&lt;P&gt;  ls_line-info = 'BDC LOG REPORT'.&lt;/P&gt;&lt;P&gt;  APPEND ls_line TO lt_top_of_page.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  CLEAR ls_line.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  CLEAR ls_line.&lt;/P&gt;&lt;P&gt;  ls_line-typ  = 'S'.&lt;/P&gt;&lt;P&gt;  ls_line-key  = 'Session   :'.&lt;/P&gt;&lt;P&gt;  ls_line-info = p_sess.&lt;/P&gt;&lt;P&gt;  APPEND ls_line TO lt_top_of_page.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  CLEAR ls_line.&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;concatenate date  '  at  ' s_time-low ' - ' s_time-high into&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;                                               ls_line-info.&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;  ls_line-typ  = 'S'.&lt;/P&gt;&lt;P&gt;  ls_line-key  = 'Created On:'.&lt;/P&gt;&lt;P&gt;  ls_line-info = date.&lt;/P&gt;&lt;P&gt;  APPEND ls_line TO lt_top_of_page.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;ENDFORM.                    "comment_build&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;&amp;amp;----&lt;/STRONG&gt;&lt;/P&gt;&lt;HR originaltext="----------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;*&amp;amp;      Form  move_final_data_to_tblout&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;&amp;amp;----&lt;/STRONG&gt;&lt;/P&gt;&lt;HR originaltext="----------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;      text&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;&lt;STRONG&gt;----&lt;/STRONG&gt;&lt;/P&gt;&lt;HR originaltext="-----------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt; --&amp;gt;  p1        text&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt; &amp;lt;--  p2        text&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;&lt;STRONG&gt;----&lt;/STRONG&gt;&lt;/P&gt;&lt;HR originaltext="-----------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;FORM move_final_data_to_tblout.&lt;/P&gt;&lt;P&gt;  LOOP AT all_bdc_tcodes.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;    LOOP AT tbl_bdclm WHERE qid = all_bdc_tcodes-qid AND&lt;/P&gt;&lt;P&gt;                            tcnt = all_bdc_tcodes-index.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;      IF NOT  p_mess IS INITIAL.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;        IF tbl_bdclm-longtext CS p_mess.&lt;/P&gt;&lt;P&gt;          PERFORM build_tbl_out.&lt;/P&gt;&lt;P&gt;        ENDIF.&lt;/P&gt;&lt;P&gt;      ELSE.&lt;/P&gt;&lt;P&gt;        PERFORM build_tbl_out.&lt;/P&gt;&lt;P&gt;      ENDIF.&lt;/P&gt;&lt;P&gt;    ENDLOOP.&lt;/P&gt;&lt;P&gt;  ENDLOOP.&lt;/P&gt;&lt;P&gt;ENDFORM.                    " move_final_data_to_tblout&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;&amp;amp;----&lt;/STRONG&gt;&lt;/P&gt;&lt;HR originaltext="----------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;*&amp;amp;      Form  select_session_data&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;&amp;amp;----&lt;/STRONG&gt;&lt;/P&gt;&lt;HR originaltext="----------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;      text&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;&lt;STRONG&gt;----&lt;/STRONG&gt;&lt;/P&gt;&lt;HR originaltext="-----------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt; --&amp;gt;  p1        text&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt; &amp;lt;--  p2        text&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;&lt;STRONG&gt;----&lt;/STRONG&gt;&lt;/P&gt;&lt;HR originaltext="-----------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;FORM select_session_data.&lt;/P&gt;&lt;P&gt;  DO.&lt;/P&gt;&lt;P&gt;    IF p_sess CA '*'.&lt;/P&gt;&lt;P&gt;      TRANSLATE p_sess USING '*%'.&lt;/P&gt;&lt;P&gt;    ELSE.&lt;/P&gt;&lt;P&gt;      EXIT.&lt;/P&gt;&lt;P&gt;    ENDIF.&lt;/P&gt;&lt;P&gt;  ENDDO.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  SELECT  * FROM apqi INTO TABLE  tbl_apqi&lt;/P&gt;&lt;P&gt;                       WHERE mandant = sy-mandt AND&lt;/P&gt;&lt;P&gt;                       groupid LIKE p_sess AND&lt;/P&gt;&lt;P&gt;                       creator = p_user AND&lt;/P&gt;&lt;P&gt;                       credate = p_date AND&lt;/P&gt;&lt;P&gt;                       cretime IN s_time.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  LOOP AT tbl_apqi.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;    SELECT * FROM apqd  WHERE qid = tbl_apqi-qid AND&lt;/P&gt;&lt;P&gt;             block = 1 ORDER BY PRIMARY KEY.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;      MOVE apqd-vardata TO bdcth.&lt;/P&gt;&lt;P&gt;      CHECK bdcth-state = 'E'.&lt;/P&gt;&lt;P&gt;      all_bdc_tcodes-index = apqd-trans.&lt;/P&gt;&lt;P&gt;      all_bdc_tcodes-tcode = bdcth-tcode.&lt;/P&gt;&lt;P&gt;      all_bdc_tcodes-status = bdcth-state.&lt;/P&gt;&lt;P&gt;      all_bdc_tcodes-groupid = tbl_apqi-groupid.&lt;/P&gt;&lt;P&gt;      all_bdc_tcodes-qid = tbl_apqi-qid.&lt;/P&gt;&lt;P&gt;      APPEND  all_bdc_tcodes.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;    ENDSELECT.&lt;/P&gt;&lt;P&gt;  ENDLOOP.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  LOOP AT  all_bdc_tcodes.&lt;/P&gt;&lt;P&gt;    REFRESH: tf, tbl_apqd.&lt;/P&gt;&lt;P&gt;    CLEAR: tbl_apqd, tf.&lt;/P&gt;&lt;P&gt;    SELECT * FROM apqd INTO TABLE tbl_apqd WHERE&lt;/P&gt;&lt;P&gt;                 qid = all_bdc_tcodes-qid&lt;/P&gt;&lt;P&gt;                AND  trans =  all_bdc_tcodes-index.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;    LOOP AT tbl_apqd.&lt;/P&gt;&lt;P&gt;      IF tbl_apqd-vardata(1) = 'M'.&lt;/P&gt;&lt;P&gt;        PERFORM get_session_data.&lt;/P&gt;&lt;P&gt;      ENDIF.&lt;/P&gt;&lt;P&gt;    ENDLOOP.&lt;/P&gt;&lt;P&gt;    LOOP AT tf.&lt;/P&gt;&lt;P&gt;      IF tf-fname = p_string.&lt;/P&gt;&lt;P&gt;        MOVE tf-farg TO all_bdc_tcodes-pernr.&lt;/P&gt;&lt;P&gt;        MODIFY all_bdc_tcodes.&lt;/P&gt;&lt;P&gt;        EXIT.&lt;/P&gt;&lt;P&gt;      ENDIF.&lt;/P&gt;&lt;P&gt;    ENDLOOP.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  ENDLOOP.&lt;/P&gt;&lt;P&gt;ENDFORM.                    " select_session_data&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;&amp;amp;----&lt;/STRONG&gt;&lt;/P&gt;&lt;HR originaltext="----------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;*&amp;amp;      Form  build_tbl_out&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;&amp;amp;----&lt;/STRONG&gt;&lt;/P&gt;&lt;HR originaltext="----------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;      text&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;&lt;STRONG&gt;----&lt;/STRONG&gt;&lt;/P&gt;&lt;HR originaltext="-----------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt; --&amp;gt;  p1        text&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt; &amp;lt;--  p2        text&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;&lt;STRONG&gt;----&lt;/STRONG&gt;&lt;/P&gt;&lt;HR originaltext="-----------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;FORM build_tbl_out.&lt;/P&gt;&lt;P&gt;  MOVE :   all_bdc_tcodes-index TO tbl_out-index,&lt;/P&gt;&lt;P&gt;                     all_bdc_tcodes-pernr TO tbl_out-info,&lt;/P&gt;&lt;P&gt;                      tbl_bdclm-module TO tbl_out-module,&lt;/P&gt;&lt;P&gt;                       tbl_bdclm-dynr TO tbl_out-screen,&lt;/P&gt;&lt;P&gt;                      tbl_bdclm-longtext TO tbl_out-error_message,&lt;/P&gt;&lt;P&gt;                      all_bdc_tcodes-groupid TO tbl_out-groupid,&lt;/P&gt;&lt;P&gt;                      all_bdc_tcodes-qid TO tbl_out-qid.&lt;/P&gt;&lt;P&gt;  APPEND tbl_out.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;ENDFORM.                    " build_tbl_out&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&amp;lt;b&amp;gt;its very useful for u....&amp;lt;/b&amp;gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;**&lt;STRONG&gt;Please reward suitable points&lt;/STRONG&gt;***&lt;/P&gt;&lt;P&gt;With Regards&lt;/P&gt;&lt;P&gt;Navin Khedikar&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
    <pubDate>Wed, 18 Apr 2007 04:34:08 GMT</pubDate>
    <dc:creator>Former Member</dc:creator>
    <dc:date>2007-04-18T04:34:08Z</dc:date>
    <item>
      <title>BDC</title>
      <link>https://community.sap.com/t5/application-development-and-automation-discussions/bdc/m-p/2113774#M442184</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;hI all,&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;I would like to take print a report of all errors in bdc session where it stores in a log file. how can we get all the errors from a log file through a program. means how can we know the log file name. my idea is if we know the log file name by using ws_upload we will get that data into internal table. by using that internal table we can print a report. where can we get the log file name or is there any other method.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;pls help me out.&lt;/P&gt;&lt;P&gt;rewards will be awarded.&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Wed, 18 Apr 2007 04:23:38 GMT</pubDate>
      <guid>https://community.sap.com/t5/application-development-and-automation-discussions/bdc/m-p/2113774#M442184</guid>
      <dc:creator>Former Member</dc:creator>
      <dc:date>2007-04-18T04:23:38Z</dc:date>
    </item>
    <item>
      <title>Re: BDC</title>
      <link>https://community.sap.com/t5/application-development-and-automation-discussions/bdc/m-p/2113775#M442185</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Hai&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Please Refer this program&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;&amp;amp;----&lt;/STRONG&gt;&lt;/P&gt;&lt;HR originaltext="----------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;*&amp;amp; Report  ZSUBTEST_BDC&lt;/P&gt;&lt;P&gt;*&amp;amp;&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;&amp;amp;----&lt;/STRONG&gt;&lt;/P&gt;&lt;HR originaltext="----------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;*&amp;amp;&lt;/P&gt;&lt;P&gt;*&amp;amp;&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;&amp;amp;----&lt;/STRONG&gt;&lt;/P&gt;&lt;HR originaltext="----------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;----&lt;/STRONG&gt;&lt;/P&gt;&lt;HR originaltext="----------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;*&amp;amp; Program Name     : ZSUBTEST_BDC                                       *&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;*&amp;amp; Module Name      : Human Resource                                   *&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;*&amp;amp; Sub-Module       : Cross Component                                  *&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;*&amp;amp; Author           : Ravi Vadlakunta                                  *&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;*&amp;amp; Create Date      : 05/28/2003                                       *&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;*&amp;amp; Logical DB       : None                                             *&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;*&amp;amp; Program Type     : Report                                          *&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;*&amp;amp; SAP Release      : 4.7                                              *&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;*&amp;amp; Description:&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;*&amp;amp;   Program to read BDC Errors from SM35 and give the output report   *&lt;/P&gt;&lt;P&gt;*&amp;amp;   in  ALV format - Ravi Vadlakunta.                                 *&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;&amp;amp;----&lt;/STRONG&gt;&lt;/P&gt;&lt;HR originaltext="----------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;REPORT ZSUBTEST_BDC NO STANDARD PAGE HEADING&lt;/P&gt;&lt;P&gt;                        LINE-SIZE 300&lt;/P&gt;&lt;P&gt;                        LINE-COUNT 65.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;TABLES: apqd, apql, apqi, t100, dd03l, dd04t.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;DATA : BEGIN OF tbl_apqi OCCURS 0 .&lt;/P&gt;&lt;P&gt;        INCLUDE STRUCTURE apqi.&lt;/P&gt;&lt;P&gt;DATA: END OF tbl_apqi.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;DATA:  dynpro_index TYPE i,&lt;/P&gt;&lt;P&gt;       sdat LIKE apqd-vardata,&lt;/P&gt;&lt;P&gt;       udat LIKE apqd-vardata,&lt;/P&gt;&lt;P&gt;       bdcmhlen TYPE i VALUE 68,&lt;/P&gt;&lt;P&gt;       wcount TYPE i,&lt;/P&gt;&lt;P&gt;       mfstart TYPE i,&lt;/P&gt;&lt;P&gt;       mfende TYPE i,&lt;/P&gt;&lt;P&gt;       mflen TYPE i,&lt;/P&gt;&lt;P&gt;       mfart(2).&lt;/P&gt;&lt;P&gt;*&lt;/P&gt;&lt;P&gt;DATA:  BEGIN OF tf OCCURS 0,&lt;/P&gt;&lt;P&gt;       count TYPE i VALUE 0,&lt;/P&gt;&lt;P&gt;       trcd(4),&lt;/P&gt;&lt;P&gt;       stat(4),&lt;/P&gt;&lt;P&gt;       pgm(8),&lt;/P&gt;&lt;P&gt;       dyn(4) TYPE n,&lt;/P&gt;&lt;P&gt;       fname(35),&lt;/P&gt;&lt;P&gt;       farg(80),&lt;/P&gt;&lt;P&gt;       fstart(5) TYPE p,&lt;/P&gt;&lt;P&gt;       fende(5) TYPE p,&lt;/P&gt;&lt;P&gt;       END OF tf.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;TYPE-POOLS slis.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;DATA : BEGIN OF tbl_apqd OCCURS 0.&lt;/P&gt;&lt;P&gt;        INCLUDE STRUCTURE apqd.&lt;/P&gt;&lt;P&gt;DATA: END OF tbl_apqd.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;DATA: BEGIN OF all_bdc_dynpro OCCURS 0,&lt;/P&gt;&lt;P&gt;      program LIKE sy-cprog,&lt;/P&gt;&lt;P&gt;      dynpro LIKE sy-dynnr,&lt;/P&gt;&lt;P&gt;      fnam LIKE bdcdata-fnam,&lt;/P&gt;&lt;P&gt;      fval LIKE bdcdata-fval,&lt;/P&gt;&lt;P&gt;      index TYPE i,&lt;/P&gt;&lt;P&gt;      END OF all_bdc_dynpro.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;DATA :BEGIN OF bdcmh,&lt;/P&gt;&lt;P&gt;      mtype, state,&lt;/P&gt;&lt;P&gt;      tcode(20),&lt;/P&gt;&lt;P&gt;      prog(40),&lt;/P&gt;&lt;P&gt;      dynr(4),&lt;/P&gt;&lt;P&gt;      sepc,&lt;/P&gt;&lt;P&gt;      filler,&lt;/P&gt;&lt;P&gt;      END OF bdcmh.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;DATA:  BEGIN OF bdcth,&lt;/P&gt;&lt;P&gt;       mtype,&lt;/P&gt;&lt;P&gt;       state,&lt;/P&gt;&lt;P&gt;       tcode(20),&lt;/P&gt;&lt;P&gt;       postg,&lt;/P&gt;&lt;P&gt;       print,&lt;/P&gt;&lt;P&gt;       msgid(20),&lt;/P&gt;&lt;P&gt;       END OF bdcth.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;DATA: BEGIN OF all_bdc_tcodes OCCURS 0,&lt;/P&gt;&lt;P&gt;      index TYPE i,&lt;/P&gt;&lt;P&gt;      tcode LIKE sy-tcode,&lt;/P&gt;&lt;P&gt;      status(1),&lt;/P&gt;&lt;P&gt;      s_text(16),&lt;/P&gt;&lt;P&gt;      pernr(400),&lt;/P&gt;&lt;P&gt;      groupid LIKE apqi-groupid,&lt;/P&gt;&lt;P&gt;      qid LIKE apqi-qid,&lt;/P&gt;&lt;P&gt;      END OF all_bdc_tcodes.&lt;/P&gt;&lt;P&gt;DATA:&lt;/P&gt;&lt;P&gt;   logtab LIKE bdcld OCCURS 0 WITH HEADER LINE,&lt;/P&gt;&lt;P&gt;   tbl_temse LIKE apql OCCURS 0 WITH HEADER LINE.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;DATA: BEGIN OF tbl_bdcld  OCCURS 0,&lt;/P&gt;&lt;P&gt;        qid LIKE bdcld-quid.&lt;/P&gt;&lt;P&gt;        INCLUDE STRUCTURE bdcld.   "&lt;/P&gt;&lt;P&gt;DATA: logname(80),                 " protokollpfad&lt;/P&gt;&lt;P&gt;      local_host(12),              " lokaler rechner&lt;/P&gt;&lt;P&gt;      cnt TYPE i,                  " satzzaehler&lt;/P&gt;&lt;P&gt;      active(1) TYPE c,            " active flag&lt;/P&gt;&lt;P&gt;      temseid TYPE rstsoname.      " TemSe ID&lt;/P&gt;&lt;P&gt;DATA END OF tbl_bdcld .&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;DATA : tbl_temp_bdcld LIKE tbl_bdcld OCCURS 0 WITH HEADER LINE.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;DATA:   BEGIN OF tbl_bdclm  OCCURS 0,&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;        qid LIKE apqi-qid.&lt;/P&gt;&lt;P&gt;        INCLUDE STRUCTURE bdclm.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;DATA:   counter TYPE i,&lt;/P&gt;&lt;P&gt;        longtext TYPE bdc_mpar,&lt;/P&gt;&lt;P&gt;        text_caps TYPE bdc_mpar,&lt;/P&gt;&lt;P&gt;        END OF tbl_bdclm .&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;DATA: lm LIKE tbl_bdclm,&lt;/P&gt;&lt;P&gt;      save_mpar TYPE bdc_mpar,&lt;/P&gt;&lt;P&gt;      mtext(124) TYPE c,&lt;/P&gt;&lt;P&gt;      mtext1(124) TYPE c,&lt;/P&gt;&lt;P&gt;      mtext2(273) TYPE c,&lt;/P&gt;&lt;P&gt;      digits(10) TYPE c VALUE '0123456789'.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;DATA:  do_condense TYPE c,&lt;/P&gt;&lt;P&gt;       mtvaroff TYPE i,&lt;/P&gt;&lt;P&gt;       showtyp(05) TYPE c,                 "showtyp&lt;/P&gt;&lt;P&gt;       lmapn(12) TYPE c,                  "Hilfsfeld log-mapn&lt;/P&gt;&lt;P&gt;       date1  TYPE d,&lt;/P&gt;&lt;P&gt;       linct0      LIKE sy-linct,&lt;/P&gt;&lt;P&gt;       parcnt  TYPE i,&lt;/P&gt;&lt;P&gt;       sp_len  TYPE i,&lt;/P&gt;&lt;P&gt;       charcnt TYPE i,&lt;/P&gt;&lt;P&gt;       wcnt TYPE i,&lt;/P&gt;&lt;P&gt;       mparcnt TYPE i,&lt;/P&gt;&lt;P&gt;       qfound(04) TYPE n,&lt;/P&gt;&lt;P&gt;       x(1) VALUE 'X'.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;DATA :BEGIN OF mt,&lt;/P&gt;&lt;P&gt;   off(02) TYPE n,&lt;/P&gt;&lt;P&gt;   len(02) TYPE n,&lt;/P&gt;&lt;P&gt;   text(80),&lt;/P&gt;&lt;P&gt;END OF mt.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;DATA:                                "Aufbereitung Messagetext&lt;/P&gt;&lt;P&gt;  BEGIN OF mttab  OCCURS 4,&lt;/P&gt;&lt;P&gt;   off(02) TYPE n,&lt;/P&gt;&lt;P&gt;   len(02) TYPE n,&lt;/P&gt;&lt;P&gt;   text(80),&lt;/P&gt;&lt;P&gt;END OF mttab.&lt;/P&gt;&lt;P&gt;DATA:  BEGIN OF par,&lt;/P&gt;&lt;P&gt;   len(02) TYPE n,&lt;/P&gt;&lt;P&gt;   text(254),&lt;/P&gt;&lt;P&gt;END OF par.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;DATA : BEGIN OF tbl_out OCCURS 0,&lt;/P&gt;&lt;P&gt;       index LIKE  all_bdc_tcodes-index,&lt;/P&gt;&lt;P&gt;       info(35),&lt;/P&gt;&lt;P&gt;       module LIKE tbl_bdclm-module,&lt;/P&gt;&lt;P&gt;       screen LIKE tbl_bdclm-dynr,&lt;/P&gt;&lt;P&gt;       error_message LIKE tbl_bdclm-longtext,&lt;/P&gt;&lt;P&gt;       groupid LIKE apqi-groupid,&lt;/P&gt;&lt;P&gt;       qid LIKE apqi-qid,&lt;/P&gt;&lt;P&gt;       END OF tbl_out.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;DATA : x_catalog TYPE slis_fieldcat_alv.&lt;/P&gt;&lt;P&gt;DATA : x_sort TYPE slis_sortinfo_alv.&lt;/P&gt;&lt;P&gt;DATA : i_catalog TYPE slis_t_fieldcat_alv.&lt;/P&gt;&lt;P&gt;DATA : i_sort TYPE slis_t_sortinfo_alv.&lt;/P&gt;&lt;P&gt;DATA: gt_list_top_of_page    TYPE  slis_t_listheader.&lt;/P&gt;&lt;P&gt;DATA : gt_events  TYPE slis_t_event.&lt;/P&gt;&lt;P&gt;FIELD-SYMBOLS:&lt;/P&gt;&lt;P&gt;  &amp;lt;mtxt&amp;gt;,&lt;/P&gt;&lt;P&gt;  &amp;lt;vtxt&amp;gt;.&lt;/P&gt;&lt;P&gt;CONSTANTS : c_x VALUE 'X',&lt;/P&gt;&lt;P&gt;            c_i VALUE 'I'.&lt;/P&gt;&lt;P&gt;CONSTANTS : gc_formname_top_of_page    TYPE slis_formname&lt;/P&gt;&lt;P&gt;                      VALUE 'TOP_OF_PAGE'.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;SELECTION-SCREEN BEGIN OF BLOCK b1 WITH FRAME .&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;PARAMETERS : p_sess LIKE apql-groupid OBLIGATORY,&lt;/P&gt;&lt;P&gt;             p_user LIKE apql-creator OBLIGATORY,&lt;/P&gt;&lt;P&gt;             p_date LIKE sy-datum OBLIGATORY.&lt;/P&gt;&lt;P&gt;SELECT-OPTIONS: s_time FOR sy-uzeit OBLIGATORY.&lt;/P&gt;&lt;P&gt;PARAMETERS:  p_string(35) OBLIGATORY,&lt;/P&gt;&lt;P&gt;             p_mess(35) .&lt;/P&gt;&lt;P&gt;SELECT-OPTIONS: s_excl FOR tbl_bdclm-longtext NO INTERVALS.&lt;/P&gt;&lt;P&gt;PARAMETERS:  p_lgindx OBLIGATORY.&lt;/P&gt;&lt;P&gt;SELECTION-SCREEN END OF BLOCK b1.&lt;/P&gt;&lt;P&gt;SELECTION-SCREEN BEGIN OF BLOCK b2 WITH FRAME TITLE text-001 .&lt;/P&gt;&lt;P&gt;PARAMETERS: p_err AS CHECKBOX DEFAULT 'X',&lt;/P&gt;&lt;P&gt;            p_war AS CHECKBOX DEFAULT 'X'.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;SELECTION-SCREEN END OF BLOCK b2.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;----&lt;/STRONG&gt;&lt;/P&gt;&lt;HR originaltext="-----------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;START-OF-SELECTION.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  PERFORM select_session_data.&lt;/P&gt;&lt;P&gt;  PERFORM get_logs.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;----&lt;/STRONG&gt;&lt;/P&gt;&lt;HR originaltext="-----------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;END-OF-SELECTION.&lt;/P&gt;&lt;P&gt;  PERFORM move_final_data_to_tblout.&lt;/P&gt;&lt;P&gt;  PERFORM build_catalog.&lt;/P&gt;&lt;P&gt;  PERFORM sort.&lt;/P&gt;&lt;P&gt;  PERFORM display_alv.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;&amp;amp;----&lt;/STRONG&gt;&lt;/P&gt;&lt;HR originaltext="----------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;*&amp;amp;      Form  get_session_data&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;&amp;amp;----&lt;/STRONG&gt;&lt;/P&gt;&lt;HR originaltext="----------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;      text&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;&lt;STRONG&gt;----&lt;/STRONG&gt;&lt;/P&gt;&lt;HR originaltext="-----------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt; --&amp;gt;  p1        text&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt; &amp;lt;--  p2        text&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;&lt;STRONG&gt;----&lt;/STRONG&gt;&lt;/P&gt;&lt;HR originaltext="-----------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;FORM get_session_data.&lt;/P&gt;&lt;P&gt;  MOVE tbl_apqd-vardata TO bdcmh.&lt;/P&gt;&lt;P&gt;  TRANSLATE bdcmh TO UPPER CASE.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  MOVE tbl_apqd-vardata TO sdat.&lt;/P&gt;&lt;P&gt;  SHIFT sdat BY bdcmhlen PLACES.&lt;/P&gt;&lt;P&gt;  wcount = bdcmhlen.&lt;/P&gt;&lt;P&gt;  mfstart = wcount.&lt;/P&gt;&lt;P&gt;  mfart = 'FN'.&lt;/P&gt;&lt;P&gt;  WHILE wcount LE tbl_apqd-varlen.&lt;/P&gt;&lt;P&gt;    IF sdat(1) = bdcmh-sepc.&lt;/P&gt;&lt;P&gt;      mfende  = wcount.&lt;/P&gt;&lt;P&gt;      PERFORM move_tf.&lt;/P&gt;&lt;P&gt;    ENDIF.&lt;/P&gt;&lt;P&gt;    SHIFT sdat.&lt;/P&gt;&lt;P&gt;    wcount = wcount + 1.&lt;/P&gt;&lt;P&gt;  ENDWHILE.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;ENDFORM.                    " get_session_data&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;&amp;amp;----&lt;/STRONG&gt;&lt;/P&gt;&lt;HR originaltext="----------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;*&amp;amp;      Form  MOVE_TF&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;&amp;amp;----&lt;/STRONG&gt;&lt;/P&gt;&lt;HR originaltext="----------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;      text&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;&lt;STRONG&gt;----&lt;/STRONG&gt;&lt;/P&gt;&lt;HR originaltext="-----------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt; --&amp;gt;  p1        text&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt; &amp;lt;--  p2        text&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;&lt;STRONG&gt;----&lt;/STRONG&gt;&lt;/P&gt;&lt;HR originaltext="-----------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;FORM move_tf.&lt;/P&gt;&lt;P&gt;  mflen = mfende  - mfstart.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  CASE mfart.&lt;/P&gt;&lt;P&gt;    WHEN 'FN'.&lt;/P&gt;&lt;P&gt;      CLEAR: tf-fname,  udat.&lt;/P&gt;&lt;P&gt;      tf-fstart = mfstart.&lt;/P&gt;&lt;P&gt;      MOVE tbl_apqd-vardata TO udat.&lt;/P&gt;&lt;P&gt;      SHIFT udat BY mfstart PLACES.&lt;/P&gt;&lt;P&gt;      WRITE udat TO tf-fname+0(mflen).&lt;/P&gt;&lt;P&gt;      TRANSLATE tf-fname TO UPPER CASE.&lt;/P&gt;&lt;P&gt;      mfstart   = mfende + 1.&lt;/P&gt;&lt;P&gt;      mfende    = 0.&lt;/P&gt;&lt;P&gt;      MOVE 'FA' TO mfart.&lt;/P&gt;&lt;P&gt;    WHEN 'FA'.&lt;/P&gt;&lt;P&gt;      CLEAR: tf-farg,  udat.&lt;/P&gt;&lt;P&gt;      tf-fende  = mfende.&lt;/P&gt;&lt;P&gt;      MOVE tbl_apqd-vardata TO udat.&lt;/P&gt;&lt;P&gt;      SHIFT udat BY mfstart PLACES.&lt;/P&gt;&lt;P&gt;      WRITE udat TO tf-farg+0(mflen).&lt;/P&gt;&lt;P&gt;      APPEND tf.&lt;/P&gt;&lt;P&gt;      tf-stat = space.&lt;/P&gt;&lt;P&gt;      mfstart   = mfende + 1.&lt;/P&gt;&lt;P&gt;      mfende = 0.&lt;/P&gt;&lt;P&gt;      MOVE 'FN' TO mfart.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;      CHECK NOT tf-fname IS INITIAL.&lt;/P&gt;&lt;P&gt;      CLEAR all_bdc_dynpro.&lt;/P&gt;&lt;P&gt;      all_bdc_dynpro-index = dynpro_index.&lt;/P&gt;&lt;P&gt;      all_bdc_dynpro-fnam  = tf-fname.&lt;/P&gt;&lt;P&gt;      all_bdc_dynpro-fval  = tf-farg.&lt;/P&gt;&lt;P&gt;      APPEND all_bdc_dynpro.&lt;/P&gt;&lt;P&gt;    WHEN OTHERS.&lt;/P&gt;&lt;P&gt;  ENDCASE.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;ENDFORM.                    " MOVE_TF&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;&amp;amp;----&lt;/STRONG&gt;&lt;/P&gt;&lt;HR originaltext="----------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;*&amp;amp;      Form  get_logs&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;&amp;amp;----&lt;/STRONG&gt;&lt;/P&gt;&lt;HR originaltext="----------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;      text&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;&lt;STRONG&gt;----&lt;/STRONG&gt;&lt;/P&gt;&lt;HR originaltext="-----------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt; --&amp;gt;  p1        text&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt; &amp;lt;--  p2        text&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;&lt;STRONG&gt;----&lt;/STRONG&gt;&lt;/P&gt;&lt;HR originaltext="-----------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;FORM get_logs.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  DATA: BEGIN OF logtable OCCURS 50,  " plain log information in TemSe&lt;/P&gt;&lt;P&gt;          enterdate LIKE btctle-enterdate,&lt;/P&gt;&lt;P&gt;          entertime LIKE btctle-entertime,&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;         logmessage(900) type c,&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;          logmessage(400) TYPE c,&lt;/P&gt;&lt;P&gt;        END OF logtable.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  LOOP AT tbl_apqi.&lt;/P&gt;&lt;P&gt;    SELECT * FROM apql APPENDING TABLE tbl_temse WHERE qid =&lt;/P&gt;&lt;P&gt;  tbl_apqi-qid.&lt;/P&gt;&lt;P&gt;  ENDLOOP.&lt;/P&gt;&lt;P&gt;  CHECK sy-subrc = 0.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  DATA: wa_log LIKE LINE OF tbl_temse,&lt;/P&gt;&lt;P&gt;        wa_ld  LIKE LINE OF tbl_bdcld.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  LOOP AT tbl_temse INTO wa_log.&lt;/P&gt;&lt;P&gt;    CLEAR wa_ld.&lt;/P&gt;&lt;P&gt;    wa_ld-temseid = wa_log-temseid.&lt;/P&gt;&lt;P&gt;    wa_ld-lmand   = wa_log-mandant.&lt;/P&gt;&lt;P&gt;    wa_ld-edate   = wa_log-credate.&lt;/P&gt;&lt;P&gt;    wa_ld-etime   = wa_log-cretime.&lt;/P&gt;&lt;P&gt;    wa_ld-luser   = wa_log-creator.&lt;/P&gt;&lt;P&gt;    wa_ld-grpn    = wa_log-groupid.&lt;/P&gt;&lt;P&gt;    wa_ld-quid    = wa_log-qid.&lt;/P&gt;&lt;P&gt;    wa_ld-local_host = wa_log-destsys(8).&lt;/P&gt;&lt;P&gt;    wa_ld-qid = wa_log-qid.&lt;/P&gt;&lt;P&gt;    APPEND wa_ld TO tbl_bdcld.&lt;/P&gt;&lt;P&gt;  ENDLOOP.&lt;/P&gt;&lt;P&gt;  SORT tbl_bdcld BY qid ASCENDING edate DESCENDING etime DESCENDING.&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt; read table bdcld index 1.&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  LOOP AT tbl_bdcld.&lt;/P&gt;&lt;P&gt;    MOVE : tbl_bdcld TO tbl_temp_bdcld.&lt;/P&gt;&lt;P&gt;    APPEND tbl_temp_bdcld.&lt;/P&gt;&lt;P&gt;    AT END OF qid.&lt;/P&gt;&lt;P&gt;      SORT tbl_temp_bdcld BY qid ASCENDING edate DESCENDING&lt;/P&gt;&lt;P&gt;                                          etime  DESCENDING.&lt;/P&gt;&lt;P&gt;      READ TABLE tbl_temp_bdcld INDEX p_lgindx.&lt;/P&gt;&lt;P&gt;      PERFORM read_bdc_log_plain&lt;/P&gt;&lt;P&gt;          TABLES logtable&lt;/P&gt;&lt;P&gt;          USING  tbl_temp_bdcld-temseid tbl_temp_bdcld-lmand.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;      LOOP AT logtable.&lt;/P&gt;&lt;P&gt;        CLEAR tbl_bdclm.&lt;/P&gt;&lt;P&gt;        tbl_bdclm-indate  = logtable-enterdate.&lt;/P&gt;&lt;P&gt;        tbl_bdclm-qid = tbl_temp_bdcld-qid.&lt;/P&gt;&lt;P&gt;        tbl_bdclm-intime  = logtable-entertime.&lt;/P&gt;&lt;P&gt;        tbl_bdclm+34(300)  = logtable-logmessage.&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;        tbl_bdclm-mpar = logtable-logmessage.&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;        APPEND tbl_bdclm.&lt;/P&gt;&lt;P&gt;      ENDLOOP.&lt;/P&gt;&lt;P&gt;      REFRESH: tbl_temp_bdcld.&lt;/P&gt;&lt;P&gt;      CLEAR tbl_temp_bdcld.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;    ENDAT.&lt;/P&gt;&lt;P&gt;  ENDLOOP.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  LOOP AT tbl_bdclm.&lt;/P&gt;&lt;P&gt;    lm = tbl_bdclm. save_mpar = tbl_bdclm-mpar.&lt;/P&gt;&lt;P&gt;    PERFORM get_text.&lt;/P&gt;&lt;P&gt;    tbl_bdclm-longtext = mtext.&lt;/P&gt;&lt;P&gt;    tbl_bdclm-mpar = save_mpar.&lt;/P&gt;&lt;P&gt;    MOVE tbl_bdclm-longtext TO tbl_bdclm-text_caps.&lt;/P&gt;&lt;P&gt;    TRANSLATE tbl_bdclm-text_caps TO UPPER CASE.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;    MODIFY tbl_bdclm.&lt;/P&gt;&lt;P&gt;  ENDLOOP.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  IF  p_err IS INITIAL.&lt;/P&gt;&lt;P&gt;    DELETE tbl_bdclm WHERE mart = 'E'.&lt;/P&gt;&lt;P&gt;  ENDIF.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  IF  p_war IS INITIAL.&lt;/P&gt;&lt;P&gt;    DELETE tbl_bdclm WHERE mart = 'W'.&lt;/P&gt;&lt;P&gt;  ENDIF.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  IF NOT s_excl IS INITIAL.&lt;/P&gt;&lt;P&gt;    DELETE tbl_bdclm WHERE text_caps IN s_excl.&lt;/P&gt;&lt;P&gt;  ENDIF.&lt;/P&gt;&lt;P&gt;ENDFORM.                    " get_logs&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;&amp;amp;----&lt;/STRONG&gt;&lt;/P&gt;&lt;HR originaltext="----------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;*&amp;amp;      Form  READ_BDC_LOG_PLAIN&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;&amp;amp;----&lt;/STRONG&gt;&lt;/P&gt;&lt;HR originaltext="----------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;      text&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;&lt;STRONG&gt;----&lt;/STRONG&gt;&lt;/P&gt;&lt;HR originaltext="-----------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;     --&amp;gt;P_LOGTABLE  text&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;     --&amp;gt;P_BDCLD_TEMSEID  text&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;     --&amp;gt;P_BDCLD_LMAND  text&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;&lt;STRONG&gt;----&lt;/STRONG&gt;&lt;/P&gt;&lt;HR originaltext="-----------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;FORM read_bdc_log_plain&lt;/P&gt;&lt;P&gt;  TABLES&lt;/P&gt;&lt;P&gt;    log_table&lt;/P&gt;&lt;P&gt;  USING&lt;/P&gt;&lt;P&gt;    log_name log_client.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  FREE log_table.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  CALL FUNCTION 'RSTS_OPEN_RLC'&lt;/P&gt;&lt;P&gt;    EXPORTING&lt;/P&gt;&lt;P&gt;      name           = log_name&lt;/P&gt;&lt;P&gt;      client         = log_client&lt;/P&gt;&lt;P&gt;      authority      = 'BATCH'&lt;/P&gt;&lt;P&gt;      prom           = 'I'&lt;/P&gt;&lt;P&gt;      rectyp         = 'VNL----'&lt;/P&gt;&lt;P&gt;    EXCEPTIONS&lt;/P&gt;&lt;P&gt;      fb_call_handle = 4&lt;/P&gt;&lt;P&gt;      fb_error       = 8&lt;/P&gt;&lt;P&gt;      fb_rsts_noconv = 12&lt;/P&gt;&lt;P&gt;      fb_rsts_other  = 16&lt;/P&gt;&lt;P&gt;      no_object      = 20&lt;/P&gt;&lt;P&gt;      OTHERS         = 24.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  IF sy-subrc &amp;gt; 0.&lt;/P&gt;&lt;P&gt;    EXIT.&lt;/P&gt;&lt;P&gt;  ENDIF.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  CALL FUNCTION 'RSTS_READ'&lt;/P&gt;&lt;P&gt;    TABLES&lt;/P&gt;&lt;P&gt;      datatab        = log_table&lt;/P&gt;&lt;P&gt;    EXCEPTIONS&lt;/P&gt;&lt;P&gt;      fb_call_handle = 4&lt;/P&gt;&lt;P&gt;      fb_error       = 8&lt;/P&gt;&lt;P&gt;      fb_rsts_noconv = 12&lt;/P&gt;&lt;P&gt;      fb_rsts_other  = 16&lt;/P&gt;&lt;P&gt;      OTHERS         = 16.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  IF sy-subrc &amp;gt; 0.&lt;/P&gt;&lt;P&gt;    EXIT.&lt;/P&gt;&lt;P&gt;  ENDIF.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  CALL FUNCTION 'RSTS_CLOSE'&lt;/P&gt;&lt;P&gt;    EXCEPTIONS&lt;/P&gt;&lt;P&gt;      OTHERS = 4.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  IF sy-subrc &amp;gt; 0.&lt;/P&gt;&lt;P&gt;    EXIT.&lt;/P&gt;&lt;P&gt;  ENDIF.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;ENDFORM.                    " READ_BDC_LOG_PLAIN&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;&amp;amp;----&lt;/STRONG&gt;&lt;/P&gt;&lt;HR originaltext="----------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;*&amp;amp;      Form  GET_TEXT&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;&amp;amp;----&lt;/STRONG&gt;&lt;/P&gt;&lt;HR originaltext="----------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;      text&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;&lt;STRONG&gt;----&lt;/STRONG&gt;&lt;/P&gt;&lt;HR originaltext="-----------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt; --&amp;gt;  p1        text&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt; &amp;lt;--  p2        text&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;&lt;STRONG&gt;----&lt;/STRONG&gt;&lt;/P&gt;&lt;HR originaltext="-----------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;FORM get_text.&lt;/P&gt;&lt;P&gt;  DATA: shiftln TYPE i,&lt;/P&gt;&lt;P&gt;        vartcnt TYPE i,&lt;/P&gt;&lt;P&gt;        fdpos LIKE sy-fdpos.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  IF tbl_bdclm-mparcnt CN digits.&lt;/P&gt;&lt;P&gt;    tbl_bdclm-mparcnt = 0.&lt;/P&gt;&lt;P&gt;  ENDIF.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  SELECT SINGLE * FROM t100&lt;/P&gt;&lt;P&gt;   WHERE sprsl = sy-langu&lt;/P&gt;&lt;P&gt;   AND  arbgb  = tbl_bdclm-mid&lt;/P&gt;&lt;P&gt;   AND  msgnr  = tbl_bdclm-mnr.&lt;/P&gt;&lt;P&gt;*&lt;/P&gt;&lt;P&gt;  IF sy-subrc EQ 0.&lt;/P&gt;&lt;P&gt;    CLEAR: mtext,&lt;/P&gt;&lt;P&gt;           parcnt,&lt;/P&gt;&lt;P&gt;           mparcnt,&lt;/P&gt;&lt;P&gt;           charcnt,&lt;/P&gt;&lt;P&gt;           wcnt,&lt;/P&gt;&lt;P&gt;           mt,&lt;/P&gt;&lt;P&gt;           sp_len,&lt;/P&gt;&lt;P&gt;           sy-fdpos.&lt;/P&gt;&lt;P&gt;*&lt;/P&gt;&lt;P&gt;    MOVE tbl_bdclm-mparcnt TO mparcnt.&lt;/P&gt;&lt;P&gt;*&lt;/P&gt;&lt;P&gt;    IF t100-text CA '$&amp;amp;'.&lt;/P&gt;&lt;P&gt;      MOVE t100-text TO mtext1.&lt;/P&gt;&lt;P&gt;    ELSE.&lt;/P&gt;&lt;P&gt;      MOVE t100-text TO mtext.&lt;/P&gt;&lt;P&gt;      EXIT.&lt;/P&gt;&lt;P&gt;    ENDIF.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;    REFRESH mttab.&lt;/P&gt;&lt;P&gt;    CLEAR shiftln.&lt;/P&gt;&lt;P&gt;    DO mparcnt TIMES.&lt;/P&gt;&lt;P&gt;      CLEAR: par, mttab.&lt;/P&gt;&lt;P&gt;      MOVE tbl_bdclm-mpar TO par.&lt;/P&gt;&lt;P&gt;      IF par-len CN digits OR par-len EQ 0.&lt;/P&gt;&lt;P&gt;        par-len = 1.&lt;/P&gt;&lt;P&gt;      ENDIF.&lt;/P&gt;&lt;P&gt;      WRITE par-text TO mttab-text(par-len).&lt;/P&gt;&lt;P&gt;      MOVE par-len  TO mttab-len.&lt;/P&gt;&lt;P&gt;      MOVE mparcnt  TO mttab-off.&lt;/P&gt;&lt;P&gt;      APPEND mttab.&lt;/P&gt;&lt;P&gt;      shiftln = par-len + 2.&lt;/P&gt;&lt;P&gt;      SHIFT tbl_bdclm-mpar BY shiftln PLACES.&lt;/P&gt;&lt;P&gt;    ENDDO.&lt;/P&gt;&lt;P&gt;*&lt;/P&gt;&lt;P&gt;    mtext2 = mtext1.&lt;/P&gt;&lt;P&gt;    IF tbl_bdclm-mid EQ  '00' AND&lt;/P&gt;&lt;P&gt;       tbl_bdclm-mnr EQ '368' AND&lt;/P&gt;&lt;P&gt;       tbl_bdclm-mart EQ 'S'.&lt;/P&gt;&lt;P&gt;      CLEAR mtext2.&lt;/P&gt;&lt;P&gt;      CLEAR mttab.&lt;/P&gt;&lt;P&gt;      READ TABLE mttab INDEX 1.&lt;/P&gt;&lt;P&gt;      WRITE mttab-text TO mtext2+0(mttab-len).&lt;/P&gt;&lt;P&gt;      CLEAR mttab.&lt;/P&gt;&lt;P&gt;      READ TABLE mttab INDEX 2.&lt;/P&gt;&lt;P&gt;      WRITE mttab-text TO mtext2+35(mttab-len).&lt;/P&gt;&lt;P&gt;      mtext = mtext2.&lt;/P&gt;&lt;P&gt;      EXIT.&lt;/P&gt;&lt;P&gt;    ENDIF.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;    do_condense = x.&lt;/P&gt;&lt;P&gt;    CLEAR: mt, vartcnt, mtvaroff.&lt;/P&gt;&lt;P&gt;    WHILE vartcnt LE 3.&lt;/P&gt;&lt;P&gt;      vartcnt = vartcnt + 1.&lt;/P&gt;&lt;P&gt;      IF mtext1 CA '$&amp;amp;'.&lt;/P&gt;&lt;P&gt;        parcnt = parcnt + 1.&lt;/P&gt;&lt;P&gt;        IF sy-fdpos GT 0.&lt;/P&gt;&lt;P&gt;          fdpos = sy-fdpos - 1.&lt;/P&gt;&lt;P&gt;        ELSE.&lt;/P&gt;&lt;P&gt;          fdpos = sy-fdpos.&lt;/P&gt;&lt;P&gt;        ENDIF.&lt;/P&gt;&lt;P&gt;        SHIFT mtext1 BY sy-fdpos PLACES.&lt;/P&gt;&lt;P&gt;        IF mtext1(1) EQ '&amp;amp;'.&lt;/P&gt;&lt;P&gt;          SHIFT mtext1 BY 1 PLACES.&lt;/P&gt;&lt;P&gt;          CASE mtext1(1).&lt;/P&gt;&lt;P&gt;            WHEN ' '.&lt;/P&gt;&lt;P&gt;              PERFORM replace_var USING '&amp;amp; ' parcnt fdpos.&lt;/P&gt;&lt;P&gt;            WHEN '$'.&lt;/P&gt;&lt;P&gt;              PERFORM replace_var USING '&amp;amp;&amp;amp;' 0      fdpos.&lt;/P&gt;&lt;P&gt;            WHEN '1'.&lt;/P&gt;&lt;P&gt;              PERFORM replace_var USING '&amp;amp;1' 1      fdpos.&lt;/P&gt;&lt;P&gt;            WHEN '2'.&lt;/P&gt;&lt;P&gt;              PERFORM replace_var USING '&amp;amp;2' 2      fdpos.&lt;/P&gt;&lt;P&gt;            WHEN '3'.&lt;/P&gt;&lt;P&gt;              PERFORM replace_var USING '&amp;amp;3' 3      fdpos.&lt;/P&gt;&lt;P&gt;            WHEN '4'.&lt;/P&gt;&lt;P&gt;              PERFORM replace_var USING '&amp;amp;4' 4      fdpos.&lt;/P&gt;&lt;P&gt;            WHEN OTHERS.&lt;/P&gt;&lt;P&gt;              PERFORM replace_var USING '&amp;amp;&amp;lt;' parcnt fdpos.&lt;/P&gt;&lt;P&gt;          ENDCASE.&lt;/P&gt;&lt;P&gt;        ENDIF.&lt;/P&gt;&lt;P&gt;        IF mtext1(1) EQ '$'.&lt;/P&gt;&lt;P&gt;          SHIFT mtext1 BY 1 PLACES.&lt;/P&gt;&lt;P&gt;          CASE mtext1(1).&lt;/P&gt;&lt;P&gt;            WHEN ' '.&lt;/P&gt;&lt;P&gt;              PERFORM replace_var USING '$ ' parcnt  fdpos.&lt;/P&gt;&lt;P&gt;            WHEN '$'.&lt;/P&gt;&lt;P&gt;              PERFORM replace_var USING '$$' 0       fdpos.&lt;/P&gt;&lt;P&gt;            WHEN '1'.&lt;/P&gt;&lt;P&gt;              PERFORM replace_var USING '$1' 1       fdpos.&lt;/P&gt;&lt;P&gt;            WHEN '2'.&lt;/P&gt;&lt;P&gt;              PERFORM replace_var USING '$2' 2       fdpos.&lt;/P&gt;&lt;P&gt;            WHEN '3'.&lt;/P&gt;&lt;P&gt;              PERFORM replace_var USING '$3' 3       fdpos.&lt;/P&gt;&lt;P&gt;            WHEN '4'.&lt;/P&gt;&lt;P&gt;              PERFORM replace_var USING '$4' 4       fdpos.&lt;/P&gt;&lt;P&gt;            WHEN OTHERS.&lt;/P&gt;&lt;P&gt;              PERFORM replace_var USING '$&amp;lt;' parcnt  fdpos.&lt;/P&gt;&lt;P&gt;          ENDCASE.&lt;/P&gt;&lt;P&gt;        ENDIF.&lt;/P&gt;&lt;P&gt;      ENDIF.&lt;/P&gt;&lt;P&gt;    ENDWHILE.&lt;/P&gt;&lt;P&gt;*&lt;/P&gt;&lt;P&gt;    IF mtext2 CA '%%_D_%%'.&lt;/P&gt;&lt;P&gt;      REPLACE '%%_D_%%' WITH '$' INTO mtext2.&lt;/P&gt;&lt;P&gt;    ENDIF.&lt;/P&gt;&lt;P&gt;    IF mtext2 CA '%%_A_%%'.&lt;/P&gt;&lt;P&gt;      REPLACE '%%_A_%%' WITH '&amp;amp;' INTO mtext2.&lt;/P&gt;&lt;P&gt;    ENDIF.&lt;/P&gt;&lt;P&gt;    IF do_condense EQ space.&lt;/P&gt;&lt;P&gt;      mtext = mtext2.&lt;/P&gt;&lt;P&gt;    ELSE.&lt;/P&gt;&lt;P&gt;      CONDENSE mtext2 .&lt;/P&gt;&lt;P&gt;      mtext = mtext2.&lt;/P&gt;&lt;P&gt;    ENDIF.&lt;/P&gt;&lt;P&gt;  ELSE.&lt;/P&gt;&lt;P&gt;    mtext = '???????????????????????????????????????????????????'.&lt;/P&gt;&lt;P&gt;  ENDIF.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;ENDFORM.                    " GET_TEXT&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;&amp;amp;----&lt;/STRONG&gt;&lt;/P&gt;&lt;HR originaltext="----------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;*&amp;amp;      Form  REPLACE_VAR&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;&amp;amp;----&lt;/STRONG&gt;&lt;/P&gt;&lt;HR originaltext="----------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;      text&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;&lt;STRONG&gt;----&lt;/STRONG&gt;&lt;/P&gt;&lt;HR originaltext="-----------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;     --&amp;gt;P_1209   text&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;     --&amp;gt;P_PARCNT  text&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;     --&amp;gt;P_FDPOS  text&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;&lt;STRONG&gt;----&lt;/STRONG&gt;&lt;/P&gt;&lt;HR originaltext="-----------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;FORM replace_var USING    vark vari varpos.&lt;/P&gt;&lt;P&gt;  DATA: var(02),&lt;/P&gt;&lt;P&gt;       var1,&lt;/P&gt;&lt;P&gt;       moff TYPE i.&lt;/P&gt;&lt;P&gt;*&lt;/P&gt;&lt;P&gt;  CLEAR: mttab , moff.&lt;/P&gt;&lt;P&gt;  var = vark.&lt;/P&gt;&lt;P&gt;  SHIFT var BY 1 PLACES.&lt;/P&gt;&lt;P&gt;  CASE var.&lt;/P&gt;&lt;P&gt;    WHEN ' '.&lt;/P&gt;&lt;P&gt;      READ TABLE mttab INDEX vari.&lt;/P&gt;&lt;P&gt;      IF sy-subrc EQ 0.&lt;/P&gt;&lt;P&gt;        moff = varpos + mtvaroff.&lt;/P&gt;&lt;P&gt;        ASSIGN mtext2+moff(*) TO &amp;lt;mtxt&amp;gt;.&lt;/P&gt;&lt;P&gt;        ASSIGN mttab-text(mttab-len) TO &amp;lt;vtxt&amp;gt;.&lt;/P&gt;&lt;P&gt;        var1 = vark.&lt;/P&gt;&lt;P&gt;        REPLACE var1 WITH &amp;lt;vtxt&amp;gt;     INTO &amp;lt;mtxt&amp;gt;.&lt;/P&gt;&lt;P&gt;        mtvaroff = mttab-len.&lt;/P&gt;&lt;P&gt;      ELSE.&lt;/P&gt;&lt;P&gt;        IF vari GT mparcnt.&lt;/P&gt;&lt;P&gt;          moff = varpos + mtvaroff.&lt;/P&gt;&lt;P&gt;          ASSIGN mtext2+moff(*) TO &amp;lt;mtxt&amp;gt;.&lt;/P&gt;&lt;P&gt;          REPLACE vark WITH '  ' INTO &amp;lt;mtxt&amp;gt;.&lt;/P&gt;&lt;P&gt;          mtvaroff = 2.&lt;/P&gt;&lt;P&gt;        ELSE.&lt;/P&gt;&lt;P&gt;          moff = varpos + mtvaroff.&lt;/P&gt;&lt;P&gt;          ASSIGN mtext2+moff(*) TO &amp;lt;mtxt&amp;gt;.&lt;/P&gt;&lt;P&gt;          REPLACE vark WITH '%%_Z_%%' INTO &amp;lt;mtxt&amp;gt;.&lt;/P&gt;&lt;P&gt;          mtvaroff = 7.&lt;/P&gt;&lt;P&gt;        ENDIF.&lt;/P&gt;&lt;P&gt;      ENDIF.&lt;/P&gt;&lt;P&gt;    WHEN '$'.&lt;/P&gt;&lt;P&gt;      moff = varpos + mtvaroff.&lt;/P&gt;&lt;P&gt;      ASSIGN mtext2+moff(*) TO &amp;lt;mtxt&amp;gt;.&lt;/P&gt;&lt;P&gt;      REPLACE vark WITH '%%_D_%%' INTO &amp;lt;mtxt&amp;gt;.&lt;/P&gt;&lt;P&gt;      mtvaroff = 7.&lt;/P&gt;&lt;P&gt;    WHEN '&amp;amp;'.&lt;/P&gt;&lt;P&gt;      moff = varpos + mtvaroff.&lt;/P&gt;&lt;P&gt;      ASSIGN mtext2+moff(*) TO &amp;lt;mtxt&amp;gt;.&lt;/P&gt;&lt;P&gt;      REPLACE vark WITH '%%_A_%%' INTO &amp;lt;mtxt&amp;gt;.&lt;/P&gt;&lt;P&gt;      mtvaroff = 7.&lt;/P&gt;&lt;P&gt;    WHEN '&amp;lt;'.&lt;/P&gt;&lt;P&gt;      READ TABLE mttab INDEX vari.&lt;/P&gt;&lt;P&gt;      IF sy-subrc EQ 0.&lt;/P&gt;&lt;P&gt;        IF vark EQ '&amp;amp;&amp;lt;'.&lt;/P&gt;&lt;P&gt;          moff = varpos + mtvaroff.&lt;/P&gt;&lt;P&gt;          ASSIGN mtext2+moff(*) TO &amp;lt;mtxt&amp;gt;.&lt;/P&gt;&lt;P&gt;          ASSIGN mttab-text(mttab-len) TO &amp;lt;vtxt&amp;gt;.&lt;/P&gt;&lt;P&gt;          REPLACE '&amp;amp;' WITH &amp;lt;vtxt&amp;gt;     INTO &amp;lt;mtxt&amp;gt;.&lt;/P&gt;&lt;P&gt;          mtvaroff = mttab-len.&lt;/P&gt;&lt;P&gt;        ENDIF.&lt;/P&gt;&lt;P&gt;        IF vark EQ '$&amp;lt;'.&lt;/P&gt;&lt;P&gt;          moff = varpos + mtvaroff.&lt;/P&gt;&lt;P&gt;          ASSIGN mtext2+moff(*) TO &amp;lt;mtxt&amp;gt;.&lt;/P&gt;&lt;P&gt;          ASSIGN mttab-text(mttab-len) TO &amp;lt;vtxt&amp;gt;.&lt;/P&gt;&lt;P&gt;          REPLACE '$' WITH &amp;lt;vtxt&amp;gt;     INTO &amp;lt;mtxt&amp;gt;.&lt;/P&gt;&lt;P&gt;          mtvaroff = mttab-len.&lt;/P&gt;&lt;P&gt;        ENDIF.&lt;/P&gt;&lt;P&gt;      ELSE.&lt;/P&gt;&lt;P&gt;        IF vark EQ '&amp;amp;&amp;lt;'.&lt;/P&gt;&lt;P&gt;          moff = varpos + mtvaroff.&lt;/P&gt;&lt;P&gt;          ASSIGN mtext2+moff(*) TO &amp;lt;mtxt&amp;gt;.&lt;/P&gt;&lt;P&gt;          REPLACE '&amp;amp;' WITH ' ' INTO &amp;lt;mtxt&amp;gt;.&lt;/P&gt;&lt;P&gt;          mtvaroff = 1.&lt;/P&gt;&lt;P&gt;        ENDIF.&lt;/P&gt;&lt;P&gt;        IF vark EQ '$&amp;lt;'.&lt;/P&gt;&lt;P&gt;          moff = varpos + mtvaroff.&lt;/P&gt;&lt;P&gt;          ASSIGN mtext2+moff(*) TO &amp;lt;mtxt&amp;gt;.&lt;/P&gt;&lt;P&gt;          REPLACE '$' WITH ' ' INTO &amp;lt;mtxt&amp;gt;.&lt;/P&gt;&lt;P&gt;          mtvaroff = 1.&lt;/P&gt;&lt;P&gt;        ENDIF.&lt;/P&gt;&lt;P&gt;      ENDIF.&lt;/P&gt;&lt;P&gt;    WHEN '1'.&lt;/P&gt;&lt;P&gt;      READ TABLE mttab INDEX 1.&lt;/P&gt;&lt;P&gt;      IF sy-subrc EQ 0.&lt;/P&gt;&lt;P&gt;        moff = varpos + mtvaroff.&lt;/P&gt;&lt;P&gt;        ASSIGN mtext2+moff(*) TO &amp;lt;mtxt&amp;gt;.&lt;/P&gt;&lt;P&gt;        ASSIGN mttab-text(mttab-len) TO &amp;lt;vtxt&amp;gt;.&lt;/P&gt;&lt;P&gt;        REPLACE vark WITH &amp;lt;vtxt&amp;gt;     INTO &amp;lt;mtxt&amp;gt;.&lt;/P&gt;&lt;P&gt;        mtvaroff = mttab-len.&lt;/P&gt;&lt;P&gt;      ELSE.&lt;/P&gt;&lt;P&gt;        IF vari GT mparcnt.&lt;/P&gt;&lt;P&gt;          moff = varpos + mtvaroff.&lt;/P&gt;&lt;P&gt;          ASSIGN mtext2+moff(*) TO &amp;lt;mtxt&amp;gt;.&lt;/P&gt;&lt;P&gt;          REPLACE vark WITH '  ' INTO &amp;lt;mtxt&amp;gt;.&lt;/P&gt;&lt;P&gt;          mtvaroff = 2.&lt;/P&gt;&lt;P&gt;        ELSE.&lt;/P&gt;&lt;P&gt;          moff = varpos + mtvaroff.&lt;/P&gt;&lt;P&gt;          ASSIGN mtext2+moff(*) TO &amp;lt;mtxt&amp;gt;.&lt;/P&gt;&lt;P&gt;          REPLACE vark WITH '%%_Z_%%' INTO &amp;lt;mtxt&amp;gt;.&lt;/P&gt;&lt;P&gt;          mtvaroff = 7.&lt;/P&gt;&lt;P&gt;        ENDIF.&lt;/P&gt;&lt;P&gt;      ENDIF.&lt;/P&gt;&lt;P&gt;    WHEN '2'.&lt;/P&gt;&lt;P&gt;      READ TABLE mttab INDEX 2.&lt;/P&gt;&lt;P&gt;      IF sy-subrc EQ 0.&lt;/P&gt;&lt;P&gt;        moff = varpos + mtvaroff.&lt;/P&gt;&lt;P&gt;        ASSIGN mtext2+moff(*) TO &amp;lt;mtxt&amp;gt;.&lt;/P&gt;&lt;P&gt;        ASSIGN mttab-text(mttab-len) TO &amp;lt;vtxt&amp;gt;.&lt;/P&gt;&lt;P&gt;        REPLACE vark WITH &amp;lt;vtxt&amp;gt;     INTO &amp;lt;mtxt&amp;gt;.&lt;/P&gt;&lt;P&gt;        mtvaroff = mttab-len.&lt;/P&gt;&lt;P&gt;      ELSE.&lt;/P&gt;&lt;P&gt;        IF vari GT mparcnt.&lt;/P&gt;&lt;P&gt;          moff = varpos + mtvaroff.&lt;/P&gt;&lt;P&gt;          ASSIGN mtext2+moff(*) TO &amp;lt;mtxt&amp;gt;.&lt;/P&gt;&lt;P&gt;          REPLACE vark WITH '  ' INTO &amp;lt;mtxt&amp;gt;.&lt;/P&gt;&lt;P&gt;          mtvaroff = 2.&lt;/P&gt;&lt;P&gt;        ELSE.&lt;/P&gt;&lt;P&gt;          moff = varpos + mtvaroff.&lt;/P&gt;&lt;P&gt;          ASSIGN mtext2+moff(*) TO &amp;lt;mtxt&amp;gt;.&lt;/P&gt;&lt;P&gt;          REPLACE vark WITH '%%_Z_%%' INTO &amp;lt;mtxt&amp;gt;.&lt;/P&gt;&lt;P&gt;          mtvaroff = 7.                   ""&lt;/P&gt;&lt;P&gt;        ENDIF.&lt;/P&gt;&lt;P&gt;      ENDIF.&lt;/P&gt;&lt;P&gt;    WHEN '3'.&lt;/P&gt;&lt;P&gt;      READ TABLE mttab INDEX 3.&lt;/P&gt;&lt;P&gt;      IF sy-subrc EQ 0.&lt;/P&gt;&lt;P&gt;        moff = varpos + mtvaroff.&lt;/P&gt;&lt;P&gt;        ASSIGN mtext2+moff(*) TO &amp;lt;mtxt&amp;gt;.&lt;/P&gt;&lt;P&gt;        ASSIGN mttab-text(mttab-len) TO &amp;lt;vtxt&amp;gt;.&lt;/P&gt;&lt;P&gt;        REPLACE vark WITH &amp;lt;vtxt&amp;gt;     INTO &amp;lt;mtxt&amp;gt;.&lt;/P&gt;&lt;P&gt;        mtvaroff = mttab-len.&lt;/P&gt;&lt;P&gt;      ELSE.&lt;/P&gt;&lt;P&gt;        IF vari GT mparcnt.&lt;/P&gt;&lt;P&gt;          moff = varpos + mtvaroff.&lt;/P&gt;&lt;P&gt;          ASSIGN mtext2+moff(*) TO &amp;lt;mtxt&amp;gt;.&lt;/P&gt;&lt;P&gt;          REPLACE vark WITH '  ' INTO &amp;lt;mtxt&amp;gt;.&lt;/P&gt;&lt;P&gt;          mtvaroff = 2.&lt;/P&gt;&lt;P&gt;        ELSE.&lt;/P&gt;&lt;P&gt;          moff = varpos + mtvaroff.&lt;/P&gt;&lt;P&gt;          ASSIGN mtext2+moff(*) TO &amp;lt;mtxt&amp;gt;.&lt;/P&gt;&lt;P&gt;          REPLACE vark WITH '%%_Z_%%' INTO &amp;lt;mtxt&amp;gt;.&lt;/P&gt;&lt;P&gt;          mtvaroff = 7.&lt;/P&gt;&lt;P&gt;        ENDIF.&lt;/P&gt;&lt;P&gt;      ENDIF.&lt;/P&gt;&lt;P&gt;    WHEN '4'.&lt;/P&gt;&lt;P&gt;      READ TABLE mttab INDEX 4.&lt;/P&gt;&lt;P&gt;      IF sy-subrc EQ 0.&lt;/P&gt;&lt;P&gt;        moff = varpos + mtvaroff.&lt;/P&gt;&lt;P&gt;        ASSIGN mtext2+moff(*) TO &amp;lt;mtxt&amp;gt;.&lt;/P&gt;&lt;P&gt;        ASSIGN mttab-text(mttab-len) TO &amp;lt;vtxt&amp;gt;.&lt;/P&gt;&lt;P&gt;        REPLACE vark WITH &amp;lt;vtxt&amp;gt;     INTO &amp;lt;mtxt&amp;gt;.&lt;/P&gt;&lt;P&gt;        mtvaroff = mttab-len.&lt;/P&gt;&lt;P&gt;      ELSE.&lt;/P&gt;&lt;P&gt;        IF vari GT mparcnt.&lt;/P&gt;&lt;P&gt;          moff = varpos + mtvaroff.&lt;/P&gt;&lt;P&gt;          ASSIGN mtext2+moff(*) TO &amp;lt;mtxt&amp;gt;.&lt;/P&gt;&lt;P&gt;          REPLACE vark WITH '  ' INTO &amp;lt;mtxt&amp;gt;.&lt;/P&gt;&lt;P&gt;          mtvaroff = 2.&lt;/P&gt;&lt;P&gt;        ELSE.&lt;/P&gt;&lt;P&gt;          moff = varpos + mtvaroff.&lt;/P&gt;&lt;P&gt;          ASSIGN mtext2+moff(*) TO &amp;lt;mtxt&amp;gt;.&lt;/P&gt;&lt;P&gt;          REPLACE vark WITH '%%_Z_%%' INTO &amp;lt;mtxt&amp;gt;.&lt;/P&gt;&lt;P&gt;          mtvaroff = 7.&lt;/P&gt;&lt;P&gt;        ENDIF.&lt;/P&gt;&lt;P&gt;      ENDIF.&lt;/P&gt;&lt;P&gt;*&lt;/P&gt;&lt;P&gt;  ENDCASE.&lt;/P&gt;&lt;P&gt;*&lt;/P&gt;&lt;P&gt;  do_condense = space.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;ENDFORM.                    " REPLACE_VAR&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;&amp;amp;----&lt;/STRONG&gt;&lt;/P&gt;&lt;HR originaltext="----------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;*&amp;amp;      Form  build_catalog&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;&amp;amp;----&lt;/STRONG&gt;&lt;/P&gt;&lt;HR originaltext="----------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;      text&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;&lt;STRONG&gt;----&lt;/STRONG&gt;&lt;/P&gt;&lt;HR originaltext="-----------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt; --&amp;gt;  p1        text&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt; &amp;lt;--  p2        text&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;&lt;STRONG&gt;----&lt;/STRONG&gt;&lt;/P&gt;&lt;HR originaltext="-----------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;FORM build_catalog.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  DATA : tablenam LIKE dd03l-tabname,&lt;/P&gt;&lt;P&gt;         fieldnam LIKE dd03l-fieldname,&lt;/P&gt;&lt;P&gt;         pos TYPE i.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  SPLIT p_string AT '-' INTO tablenam fieldnam.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  SELECT SINGLE * FROM dd03l INTO dd03l WHERE tabname = tablenam AND&lt;/P&gt;&lt;P&gt;  fieldname = fieldnam.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  SELECT SINGLE * FROM dd04t WHERE rollname = dd03l-rollname AND&lt;/P&gt;&lt;P&gt;  ddlanguage = 'E'.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  ADD 1 TO pos.&lt;/P&gt;&lt;P&gt;  x_catalog-fieldname   = 'GROUPID'.&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt; x_catalog-col_pos     = 1.&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;  x_catalog-outputlen   = '15'.&lt;/P&gt;&lt;P&gt;  x_catalog-seltext_l   = 'Session Name'(047).&lt;/P&gt;&lt;P&gt;  APPEND x_catalog TO i_catalog.&lt;/P&gt;&lt;P&gt;  CLEAR x_catalog.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  ADD 1 TO pos.&lt;/P&gt;&lt;P&gt;  x_catalog-fieldname   = 'QID'.&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt; x_catalog-col_pos     = 1.&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;  x_catalog-outputlen   = '20'.&lt;/P&gt;&lt;P&gt;  x_catalog-seltext_l   = 'Queue ID'(047).&lt;/P&gt;&lt;P&gt;  x_catalog-no_out   = 'X'.&lt;/P&gt;&lt;P&gt;  APPEND x_catalog TO i_catalog.&lt;/P&gt;&lt;P&gt;  CLEAR x_catalog.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  ADD 1 TO pos.&lt;/P&gt;&lt;P&gt;  x_catalog-fieldname   = 'INDEX'.&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt; x_catalog-col_pos     = 2.&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;  x_catalog-outputlen   = '8'.&lt;/P&gt;&lt;P&gt;  x_catalog-seltext_l   = 'Index'(047).&lt;/P&gt;&lt;P&gt;  APPEND x_catalog TO i_catalog.&lt;/P&gt;&lt;P&gt;  CLEAR x_catalog.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  ADD 1 TO pos.&lt;/P&gt;&lt;P&gt;  x_catalog-fieldname   = 'INFO'.&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt; x_catalog-col_pos     = 3.&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;  x_catalog-outputlen   = '10'.&lt;/P&gt;&lt;P&gt;  x_catalog-seltext_l   = dd04t-scrtext_s.&lt;/P&gt;&lt;P&gt;  APPEND x_catalog TO i_catalog.&lt;/P&gt;&lt;P&gt;  CLEAR x_catalog.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  ADD 1 TO pos.&lt;/P&gt;&lt;P&gt;  x_catalog-fieldname   = 'MODULE'.&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt; x_catalog-col_pos     = 4.&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;  x_catalog-outputlen   = '8'.&lt;/P&gt;&lt;P&gt;  x_catalog-seltext_l   = 'Program'(007).&lt;/P&gt;&lt;P&gt;  APPEND x_catalog TO i_catalog.&lt;/P&gt;&lt;P&gt;  CLEAR x_catalog.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  ADD 1 TO pos.&lt;/P&gt;&lt;P&gt;  x_catalog-fieldname   = 'SCREEN'.&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt; x_catalog-col_pos     = 5.&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;  x_catalog-outputlen   = '4'.&lt;/P&gt;&lt;P&gt;  x_catalog-seltext_l   = 'Screen'(075).&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt; X_CATALOG-NO_OUT   = 'X'.&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;  APPEND x_catalog TO i_catalog.&lt;/P&gt;&lt;P&gt;  CLEAR x_catalog.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  ADD 1 TO pos.&lt;/P&gt;&lt;P&gt;  x_catalog-fieldname   = 'ERROR_MESSAGE'.&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt; x_catalog-col_pos     = 6.&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;  x_catalog-outputlen   = '254'.&lt;/P&gt;&lt;P&gt;  x_catalog-seltext_l   = 'Error Message'(076).&lt;/P&gt;&lt;P&gt;  APPEND x_catalog TO i_catalog.&lt;/P&gt;&lt;P&gt;  CLEAR x_catalog.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;ENDFORM.                    " build_catalog&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;&amp;amp;----&lt;/STRONG&gt;&lt;/P&gt;&lt;HR originaltext="----------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;*&amp;amp;      Form  sort&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;&amp;amp;----&lt;/STRONG&gt;&lt;/P&gt;&lt;HR originaltext="----------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;      text&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;&lt;STRONG&gt;----&lt;/STRONG&gt;&lt;/P&gt;&lt;HR originaltext="-----------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt; --&amp;gt;  p1        text&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt; &amp;lt;--  p2        text&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;&lt;STRONG&gt;----&lt;/STRONG&gt;&lt;/P&gt;&lt;HR originaltext="-----------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;FORM sort.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  DATA : srtpos TYPE i.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  ADD 1 TO srtpos.&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt; x_sort-spos = 1.&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;  x_sort-fieldname = 'GROUPID'.&lt;/P&gt;&lt;P&gt;  x_sort-up = c_x.&lt;/P&gt;&lt;P&gt;  x_sort-subtot = c_x.&lt;/P&gt;&lt;P&gt;  APPEND x_sort TO i_sort.&lt;/P&gt;&lt;P&gt;  CLEAR x_sort.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;*add 1 to srtpos.&lt;/P&gt;&lt;UL&gt;&lt;UL&gt;&lt;LI level="2" type="ul"&gt;&lt;P&gt; x_sort-spos = 1.&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt; x_sort-fieldname = 'QID'.&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt; x_sort-up = c_x.&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt; x_sort-subtot = c_x.&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt; append x_sort to i_sort.&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt; clear x_sort.&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  ADD 1 TO srtpos.&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt; x_sort-spos = 2.&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;  x_sort-fieldname = 'INDEX'.&lt;/P&gt;&lt;P&gt;  x_sort-up = c_x.&lt;/P&gt;&lt;P&gt;  x_sort-subtot = c_x.&lt;/P&gt;&lt;P&gt;  APPEND x_sort TO i_sort.&lt;/P&gt;&lt;P&gt;  CLEAR x_sort.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  ADD 1 TO srtpos.&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt; x_sort-spos = 3.&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;  x_sort-fieldname = 'INFO'.&lt;/P&gt;&lt;P&gt;  x_sort-up = c_x.&lt;/P&gt;&lt;P&gt;  x_sort-subtot = c_x.&lt;/P&gt;&lt;P&gt;  APPEND x_sort TO i_sort.&lt;/P&gt;&lt;P&gt;  CLEAR x_sort.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  ADD 1 TO srtpos.&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt; x_sort-spos = 4.&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;  x_sort-fieldname = 'ERROR_MESSAGE'.&lt;/P&gt;&lt;P&gt;  x_sort-up = c_x.&lt;/P&gt;&lt;P&gt;  x_sort-subtot = c_x.&lt;/P&gt;&lt;P&gt;  APPEND x_sort TO i_sort.&lt;/P&gt;&lt;P&gt;  CLEAR x_sort.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;ENDFORM.                    " sort&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;&amp;amp;----&lt;/STRONG&gt;&lt;/P&gt;&lt;HR originaltext="----------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;*&amp;amp;      Form  display_alv&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;&amp;amp;----&lt;/STRONG&gt;&lt;/P&gt;&lt;HR originaltext="----------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;      text&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;&lt;STRONG&gt;----&lt;/STRONG&gt;&lt;/P&gt;&lt;HR originaltext="-----------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt; --&amp;gt;  p1        text&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt; &amp;lt;--  p2        text&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;&lt;STRONG&gt;----&lt;/STRONG&gt;&lt;/P&gt;&lt;HR originaltext="-----------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;FORM display_alv.&lt;/P&gt;&lt;P&gt;  PERFORM eventtab_build     USING    gt_events[].&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  CALL FUNCTION 'REUSE_ALV_GRID_DISPLAY'&lt;/P&gt;&lt;P&gt;     EXPORTING&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;  I_INTERFACE_CHECK                 = ' '&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;  I_BYPASSING_BUFFER                =&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;  I_BUFFER_ACTIVE                   = ' '&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;     i_callback_program                = 'ZSUBTEST_BDC'&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;  I_CALLBACK_PF_STATUS_SET          = ' '&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;  I_CALLBACK_USER_COMMAND           = ' '&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;  I_CALLBACK_TOP_OF_PAGE            = ' '&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;  I_CALLBACK_HTML_TOP_OF_PAGE       = ' '&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;  I_CALLBACK_HTML_END_OF_LIST       = ' '&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;  I_STRUCTURE_NAME                  =&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;  I_BACKGROUND_ID                   = ' '&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;  I_GRID_TITLE                      = v_grid_title&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;  I_GRID_SETTINGS                   =&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;  IS_LAYOUT                         =&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;       it_fieldcat                       = i_catalog&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;  IT_EXCLUDING                      =&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;  IT_SPECIAL_GROUPS                 =&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;     it_sort                           = i_sort&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;  IT_FILTER                         =&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;  IS_SEL_HIDE                       =&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;  I_DEFAULT                         = 'X'&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;     i_save                            = 'A'&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;  IS_VARIANT                        = X_DISVARIANT&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;     it_events                         = gt_events[]&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;  IT_EVENT_EXIT                     =&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;  IS_PRINT                          =&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;  IS_REPREP_ID                      =&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;  I_SCREEN_START_COLUMN             = 0&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;  I_SCREEN_START_LINE               = 0&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;  I_SCREEN_END_COLUMN               = 0&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;  I_SCREEN_END_LINE                 = 0&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;  IT_ALV_GRAPHICS                   =&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;  IT_ADD_FIELDCAT                   =&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;  IT_HYPERLINK                      =&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;IMPORTING&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;  E_EXIT_CAUSED_BY_CALLER           =&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;  ES_EXIT_CAUSED_BY_USER            =&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;      TABLES&lt;/P&gt;&lt;P&gt;        t_outtab                          = tbl_out&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;EXCEPTIONS&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;  PROGRAM_ERROR                     = 1&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;  OTHERS                            = 2&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;              .&lt;/P&gt;&lt;P&gt;  IF sy-subrc &amp;lt;&amp;gt; 0.&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;MESSAGE ID SY-MSGID TYPE SY-MSGTY NUMBER SY-MSGNO&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;        WITH SY-MSGV1 SY-MSGV2 SY-MSGV3 SY-MSGV4.&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;  ENDIF.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;ENDFORM.                    " display_alv&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;----&lt;/STRONG&gt;&lt;/P&gt;&lt;HR originaltext="----------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;      FORM EVENTTAB_BUILD                                           *&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;&lt;STRONG&gt;----&lt;/STRONG&gt;&lt;/P&gt;&lt;HR originaltext="----------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;      ........                                                      *&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;&lt;STRONG&gt;----&lt;/STRONG&gt;&lt;/P&gt;&lt;HR originaltext="----------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt; --&amp;gt;  LT_EVENTS                                                     *&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;&lt;STRONG&gt;----&lt;/STRONG&gt;&lt;/P&gt;&lt;HR originaltext="----------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;FORM eventtab_build USING&lt;/P&gt;&lt;P&gt;                    lt_events    TYPE slis_t_event.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  DATA: ls_event TYPE slis_alv_event.&lt;/P&gt;&lt;P&gt;*&lt;/P&gt;&lt;P&gt;  CALL FUNCTION 'REUSE_ALV_EVENTS_GET'&lt;/P&gt;&lt;P&gt;    EXPORTING&lt;/P&gt;&lt;P&gt;      i_list_type = 0&lt;/P&gt;&lt;P&gt;    IMPORTING&lt;/P&gt;&lt;P&gt;      et_events   = lt_events.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  READ TABLE lt_events WITH KEY name = slis_ev_top_of_page&lt;/P&gt;&lt;P&gt;                           INTO ls_event.&lt;/P&gt;&lt;P&gt;  IF sy-subrc = 0.&lt;/P&gt;&lt;P&gt;    MOVE gc_formname_top_of_page TO ls_event-form.&lt;/P&gt;&lt;P&gt;    APPEND ls_event TO lt_events.&lt;/P&gt;&lt;P&gt;  ENDIF.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  .&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;ENDFORM.                    "eventtab_build&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;-------------------------------------------------------------------&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;---------------------------------------------------&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;FORM top_of_page.&lt;/P&gt;&lt;P&gt;*&lt;/P&gt;&lt;P&gt;  PERFORM comment_build      USING    gt_list_top_of_page[].&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  CALL FUNCTION 'REUSE_ALV_COMMENTARY_WRITE'&lt;/P&gt;&lt;P&gt;    EXPORTING&lt;/P&gt;&lt;P&gt;      i_logo             = 'TEST_IMAGINEPA_LOGO'&lt;/P&gt;&lt;P&gt;      it_list_commentary = gt_list_top_of_page.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;ENDFORM.                    "top_of_page&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;----&lt;/STRONG&gt;&lt;/P&gt;&lt;HR originaltext="----------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;      FORM COMMENT_BUILD                                            *&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;&lt;STRONG&gt;----&lt;/STRONG&gt;&lt;/P&gt;&lt;HR originaltext="----------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;      ........                                                      *&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;&lt;STRONG&gt;----&lt;/STRONG&gt;&lt;/P&gt;&lt;HR originaltext="----------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt; --&amp;gt;  LT_TOP_OF_PAGE                                                *&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;&lt;STRONG&gt;----&lt;/STRONG&gt;&lt;/P&gt;&lt;HR originaltext="----------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;FORM comment_build USING lt_top_of_page TYPE slis_t_listheader.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  DATA: ls_line   TYPE slis_listheader,&lt;/P&gt;&lt;P&gt;        data(15)  TYPE c,&lt;/P&gt;&lt;P&gt;        wa_lt     LIKE ls_line,&lt;/P&gt;&lt;P&gt;        date(10),&lt;/P&gt;&lt;P&gt;        time(10).&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  WRITE : p_date TO date MM/DD/YY.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  REFRESH lt_top_of_page.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  CLEAR ls_line.&lt;/P&gt;&lt;P&gt;  ls_line-typ  = 'H'.&lt;/P&gt;&lt;P&gt;  ls_line-info = 'BDC LOG REPORT'.&lt;/P&gt;&lt;P&gt;  APPEND ls_line TO lt_top_of_page.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  CLEAR ls_line.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  CLEAR ls_line.&lt;/P&gt;&lt;P&gt;  ls_line-typ  = 'S'.&lt;/P&gt;&lt;P&gt;  ls_line-key  = 'Session   :'.&lt;/P&gt;&lt;P&gt;  ls_line-info = p_sess.&lt;/P&gt;&lt;P&gt;  APPEND ls_line TO lt_top_of_page.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  CLEAR ls_line.&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;concatenate date  '  at  ' s_time-low ' - ' s_time-high into&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;                                               ls_line-info.&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;  ls_line-typ  = 'S'.&lt;/P&gt;&lt;P&gt;  ls_line-key  = 'Created On:'.&lt;/P&gt;&lt;P&gt;  ls_line-info = date.&lt;/P&gt;&lt;P&gt;  APPEND ls_line TO lt_top_of_page.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;ENDFORM.                    "comment_build&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;&amp;amp;----&lt;/STRONG&gt;&lt;/P&gt;&lt;HR originaltext="----------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;*&amp;amp;      Form  move_final_data_to_tblout&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;&amp;amp;----&lt;/STRONG&gt;&lt;/P&gt;&lt;HR originaltext="----------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;      text&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;&lt;STRONG&gt;----&lt;/STRONG&gt;&lt;/P&gt;&lt;HR originaltext="-----------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt; --&amp;gt;  p1        text&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt; &amp;lt;--  p2        text&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;&lt;STRONG&gt;----&lt;/STRONG&gt;&lt;/P&gt;&lt;HR originaltext="-----------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;FORM move_final_data_to_tblout.&lt;/P&gt;&lt;P&gt;  LOOP AT all_bdc_tcodes.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;    LOOP AT tbl_bdclm WHERE qid = all_bdc_tcodes-qid AND&lt;/P&gt;&lt;P&gt;                            tcnt = all_bdc_tcodes-index.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;      IF NOT  p_mess IS INITIAL.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;        IF tbl_bdclm-longtext CS p_mess.&lt;/P&gt;&lt;P&gt;          PERFORM build_tbl_out.&lt;/P&gt;&lt;P&gt;        ENDIF.&lt;/P&gt;&lt;P&gt;      ELSE.&lt;/P&gt;&lt;P&gt;        PERFORM build_tbl_out.&lt;/P&gt;&lt;P&gt;      ENDIF.&lt;/P&gt;&lt;P&gt;    ENDLOOP.&lt;/P&gt;&lt;P&gt;  ENDLOOP.&lt;/P&gt;&lt;P&gt;ENDFORM.                    " move_final_data_to_tblout&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;&amp;amp;----&lt;/STRONG&gt;&lt;/P&gt;&lt;HR originaltext="----------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;*&amp;amp;      Form  select_session_data&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;&amp;amp;----&lt;/STRONG&gt;&lt;/P&gt;&lt;HR originaltext="----------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;      text&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;&lt;STRONG&gt;----&lt;/STRONG&gt;&lt;/P&gt;&lt;HR originaltext="-----------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt; --&amp;gt;  p1        text&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt; &amp;lt;--  p2        text&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;&lt;STRONG&gt;----&lt;/STRONG&gt;&lt;/P&gt;&lt;HR originaltext="-----------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;FORM select_session_data.&lt;/P&gt;&lt;P&gt;  DO.&lt;/P&gt;&lt;P&gt;    IF p_sess CA '*'.&lt;/P&gt;&lt;P&gt;      TRANSLATE p_sess USING '*%'.&lt;/P&gt;&lt;P&gt;    ELSE.&lt;/P&gt;&lt;P&gt;      EXIT.&lt;/P&gt;&lt;P&gt;    ENDIF.&lt;/P&gt;&lt;P&gt;  ENDDO.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  SELECT  * FROM apqi INTO TABLE  tbl_apqi&lt;/P&gt;&lt;P&gt;                       WHERE mandant = sy-mandt AND&lt;/P&gt;&lt;P&gt;                       groupid LIKE p_sess AND&lt;/P&gt;&lt;P&gt;                       creator = p_user AND&lt;/P&gt;&lt;P&gt;                       credate = p_date AND&lt;/P&gt;&lt;P&gt;                       cretime IN s_time.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  LOOP AT tbl_apqi.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;    SELECT * FROM apqd  WHERE qid = tbl_apqi-qid AND&lt;/P&gt;&lt;P&gt;             block = 1 ORDER BY PRIMARY KEY.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;      MOVE apqd-vardata TO bdcth.&lt;/P&gt;&lt;P&gt;      CHECK bdcth-state = 'E'.&lt;/P&gt;&lt;P&gt;      all_bdc_tcodes-index = apqd-trans.&lt;/P&gt;&lt;P&gt;      all_bdc_tcodes-tcode = bdcth-tcode.&lt;/P&gt;&lt;P&gt;      all_bdc_tcodes-status = bdcth-state.&lt;/P&gt;&lt;P&gt;      all_bdc_tcodes-groupid = tbl_apqi-groupid.&lt;/P&gt;&lt;P&gt;      all_bdc_tcodes-qid = tbl_apqi-qid.&lt;/P&gt;&lt;P&gt;      APPEND  all_bdc_tcodes.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;    ENDSELECT.&lt;/P&gt;&lt;P&gt;  ENDLOOP.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  LOOP AT  all_bdc_tcodes.&lt;/P&gt;&lt;P&gt;    REFRESH: tf, tbl_apqd.&lt;/P&gt;&lt;P&gt;    CLEAR: tbl_apqd, tf.&lt;/P&gt;&lt;P&gt;    SELECT * FROM apqd INTO TABLE tbl_apqd WHERE&lt;/P&gt;&lt;P&gt;                 qid = all_bdc_tcodes-qid&lt;/P&gt;&lt;P&gt;                AND  trans =  all_bdc_tcodes-index.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;    LOOP AT tbl_apqd.&lt;/P&gt;&lt;P&gt;      IF tbl_apqd-vardata(1) = 'M'.&lt;/P&gt;&lt;P&gt;        PERFORM get_session_data.&lt;/P&gt;&lt;P&gt;      ENDIF.&lt;/P&gt;&lt;P&gt;    ENDLOOP.&lt;/P&gt;&lt;P&gt;    LOOP AT tf.&lt;/P&gt;&lt;P&gt;      IF tf-fname = p_string.&lt;/P&gt;&lt;P&gt;        MOVE tf-farg TO all_bdc_tcodes-pernr.&lt;/P&gt;&lt;P&gt;        MODIFY all_bdc_tcodes.&lt;/P&gt;&lt;P&gt;        EXIT.&lt;/P&gt;&lt;P&gt;      ENDIF.&lt;/P&gt;&lt;P&gt;    ENDLOOP.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  ENDLOOP.&lt;/P&gt;&lt;P&gt;ENDFORM.                    " select_session_data&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;&amp;amp;----&lt;/STRONG&gt;&lt;/P&gt;&lt;HR originaltext="----------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;*&amp;amp;      Form  build_tbl_out&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;&amp;amp;----&lt;/STRONG&gt;&lt;/P&gt;&lt;HR originaltext="----------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;      text&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;&lt;STRONG&gt;----&lt;/STRONG&gt;&lt;/P&gt;&lt;HR originaltext="-----------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt; --&amp;gt;  p1        text&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt; &amp;lt;--  p2        text&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;&lt;STRONG&gt;----&lt;/STRONG&gt;&lt;/P&gt;&lt;HR originaltext="-----------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;FORM build_tbl_out.&lt;/P&gt;&lt;P&gt;  MOVE :   all_bdc_tcodes-index TO tbl_out-index,&lt;/P&gt;&lt;P&gt;                     all_bdc_tcodes-pernr TO tbl_out-info,&lt;/P&gt;&lt;P&gt;                      tbl_bdclm-module TO tbl_out-module,&lt;/P&gt;&lt;P&gt;                       tbl_bdclm-dynr TO tbl_out-screen,&lt;/P&gt;&lt;P&gt;                      tbl_bdclm-longtext TO tbl_out-error_message,&lt;/P&gt;&lt;P&gt;                      all_bdc_tcodes-groupid TO tbl_out-groupid,&lt;/P&gt;&lt;P&gt;                      all_bdc_tcodes-qid TO tbl_out-qid.&lt;/P&gt;&lt;P&gt;  APPEND tbl_out.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;ENDFORM.                    " build_tbl_out&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&amp;lt;b&amp;gt;its very useful for u....&amp;lt;/b&amp;gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;**&lt;STRONG&gt;Please reward suitable points&lt;/STRONG&gt;***&lt;/P&gt;&lt;P&gt;With Regards&lt;/P&gt;&lt;P&gt;Navin Khedikar&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Wed, 18 Apr 2007 04:34:08 GMT</pubDate>
      <guid>https://community.sap.com/t5/application-development-and-automation-discussions/bdc/m-p/2113775#M442185</guid>
      <dc:creator>Former Member</dc:creator>
      <dc:date>2007-04-18T04:34:08Z</dc:date>
    </item>
    <item>
      <title>Re: BDC</title>
      <link>https://community.sap.com/t5/application-development-and-automation-discussions/bdc/m-p/2113776#M442186</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Hi Pavan,&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;1.GO to sm35&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;2.In Incorrect Tab,Select your transaction.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;3.You can see one button " Log " on the application tool bar.click on that.....&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;4.Click on the Display button which is on the application tool bar.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;5.Then here you can see the &amp;lt;b&amp;gt;ERROR LOG&amp;lt;/b&amp;gt; for that transaction ....&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&amp;lt;b&amp;gt;&lt;/P&gt;&lt;P&gt;Hope your problem is solved...&lt;/P&gt;&lt;P&gt;Reward all helpful answers.&amp;lt;/b&amp;gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Regards,&lt;/P&gt;&lt;P&gt;V.Raghavender.&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Wed, 18 Apr 2007 04:38:30 GMT</pubDate>
      <guid>https://community.sap.com/t5/application-development-and-automation-discussions/bdc/m-p/2113776#M442186</guid>
      <dc:creator>Former Member</dc:creator>
      <dc:date>2007-04-18T04:38:30Z</dc:date>
    </item>
    <item>
      <title>Re: BDC</title>
      <link>https://community.sap.com/t5/application-development-and-automation-discussions/bdc/m-p/2113777#M442187</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Hi,&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;I want error log file name not how to see error log in sm35. thanks for your information.&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Wed, 18 Apr 2007 04:46:27 GMT</pubDate>
      <guid>https://community.sap.com/t5/application-development-and-automation-discussions/bdc/m-p/2113777#M442187</guid>
      <dc:creator>Former Member</dc:creator>
      <dc:date>2007-04-18T04:46:27Z</dc:date>
    </item>
    <item>
      <title>Re: BDC</title>
      <link>https://community.sap.com/t5/application-development-and-automation-discussions/bdc/m-p/2113778#M442188</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Hi Pavan,&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Check out this sample program to understand the same&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;PRE&gt;&lt;CODE&gt;REPORT  ztest_report
 NO STANDARD PAGE HEADING
                        LINE-SIZE 255
                        MESSAGE-ID ZRASH.

************************************************************************
*                 Internal Table Declarations                          *
************************************************************************
*--Internal Table for Data Uploading.
DATA : BEGIN OF IT_FFCUST OCCURS 0,
         KUNNR(10),
         BUKRS(4),
         KTOKD(4),
         ANRED(15),
         NAME1(35),
         SORTL(10),
         STRAS(35),
         ORT01(35),
         PSTLZ(10),
         LAND1(3),
         SPRAS(2),
         AKONT(10),
       END OF IT_FFCUST.

*--Internal Table to Store Error Records.
DATA : BEGIN OF IT_ERRCUST OCCURS 0,
         KUNNR(10),
         EMSG(255),
       END OF IT_ERRCUST.

*--Internal Table to Store Successful Records.
DATA : BEGIN OF IT_SUCCUST OCCURS 0,
         KUNNR(10),
         SMSG(255),
       END OF IT_SUCCUST.

*--Internal Table for Storing the BDC data.
DATA : IT_CUSTBDC LIKE BDCDATA OCCURS 0 WITH HEADER LINE.

*--Internal Table for storing the messages.
DATA : IT_CUSTMSG LIKE BDCMSGCOLL OCCURS 0 WITH HEADER LINE.

DATA : V_FLAG1(1) VALUE ' ',
"Flag used for opening session.
       V_TLINES LIKE SY-TABIX,
       "For storing total records processed.
       V_ELINES LIKE SY-TABIX,
       "For storing the no of error records.
       V_SLINES LIKE SY-TABIX.
       "For storing the no of success records.


************************************************************************
*          Selection screen                                            *
************************************************************************

SELECTION-SCREEN BEGIN OF BLOCK B1.
PARAMETERS : V_FNAME LIKE RLGRAP-FILENAME,
             V_SESNAM  LIKE RLGRAP-FILENAME.
SELECTION-SCREEN END OF BLOCK B1.

************************************************************************
*          Start-of-selection                                          *
************************************************************************

START-OF-SELECTION.
*-- Form to upload flatfile data into the internal table.
  PERFORM FORM_UPLOADFF.

************************************************************************
*        TOP-OF-PAGE                                                   *
************************************************************************
TOP-OF-PAGE.
  WRITE:/ 'Details of the error and success records for the transaction'
  .
  ULINE.
  SKIP.


************************************************************************
*          End of Selection                                            *
************************************************************************
END-OF-SELECTION.
*-- Form to Generate a BDC from the Uploaded Internal table
  PERFORM FORM_BDCGENERATE.

*--To write the totals and the session name.
  PERFORM FORM_WRITEOP.



*&amp;amp;---------------------------------------------------------------------*
*&amp;amp;      Form  form_uploadff
*&amp;amp;---------------------------------------------------------------------*
*     Form to upload flatfile data into the internal table.
*----------------------------------------------------------------------*
FORM FORM_UPLOADFF .

*--Variable to change the type of the parameter file name.
  DATA : LV_FILE TYPE STRING.

  LV_FILE = V_FNAME.

*--Function to upload the flat file to the internal table.
  CALL FUNCTION 'GUI_UPLOAD'
    EXPORTING
      FILENAME                      =  LV_FILE
*     FILETYPE                      = 'ASC'
      HAS_FIELD_SEPARATOR           = 'X'
*     HEADER_LENGTH                 = 0
*     READ_BY_LINE                  = 'X'
*     DAT_MODE                      = ' '
*   IMPORTING
*     FILELENGTH                    =
*     HEADER                        =
    TABLES
      DATA_TAB                      = IT_FFCUST
    EXCEPTIONS
      FILE_OPEN_ERROR               = 1
      FILE_READ_ERROR               = 2
      NO_BATCH                      = 3
      GUI_REFUSE_FILETRANSFER       = 4
      INVALID_TYPE                  = 5
      NO_AUTHORITY                  = 6
      UNKNOWN_ERROR                 = 7
      BAD_DATA_FORMAT               = 8
      HEADER_NOT_ALLOWED            = 9
      SEPARATOR_NOT_ALLOWED         = 10
      HEADER_TOO_LONG               = 11
      UNKNOWN_DP_ERROR              = 12
      ACCESS_DENIED                 = 13
      DP_OUT_OF_MEMORY              = 14
      DISK_FULL                     = 15
      DP_TIMEOUT                    = 16
      OTHERS                        = 17
            .
  IF SY-SUBRC = 0.
*--Deleting the headings from the internal table.
    DELETE IT_FFCUST INDEX 1.
*--Getting the total number of records uploaded.
    DESCRIBE TABLE IT_FFCUST LINES V_TLINES.

  ENDIF.


ENDFORM.                    " form_uploadff
*&amp;amp;---------------------------------------------------------------------*
*&amp;amp;      Form  Form_bdcgenerate
*&amp;amp;---------------------------------------------------------------------*
*     Form to Generate a BDC from the Uploaded Internal table
*----------------------------------------------------------------------*
FORM FORM_BDCGENERATE .

*--Generating the BDC table for the fields of the internal table.
  LOOP AT IT_FFCUST.
    PERFORM POPULATEBDC USING :
                                'X' 'SAPMF02D' '0105',
                                ' ' 'BDC_OKCODE'  '/00' ,
                                ' ' 'RF02D-KUNNR' IT_FFCUST-KUNNR,
                                ' ' 'RF02D-BUKRS' IT_FFCUST-BUKRS,
                                ' ' 'RF02D-KTOKD' IT_FFCUST-KTOKD,
                                'X' 'SAPMF02D' '0110' ,
                                ' ' 'BDC_OKCODE'  '/00',
                                ' ' 'KNA1-ANRED'  IT_FFCUST-ANRED,
                                ' ' 'KNA1-NAME1' IT_FFCUST-NAME1,
                                ' ' 'KNA1-SORTL'  IT_FFCUST-SORTL,
                                ' ' 'KNA1-STRAS' IT_FFCUST-STRAS,
                                ' ' 'KNA1-ORT01' IT_FFCUST-ORT01,
                                ' ' 'KNA1-PSTLZ' IT_FFCUST-PSTLZ,
                                ' ' 'KNA1-LAND1' IT_FFCUST-LAND1,
                                ' ' 'KNA1-SPRAS' IT_FFCUST-SPRAS,

                                'X' 'SAPMFO2D' '0120',	
                                ' ' 'BDC_OKCODE'  '/00',

                                'X' 'SAPMF02D' '0125',	
                                ' ' 'BDC_OKCODE'  '/00',

                                'X' 'SAPMF02D' '0130',	
                                ' ' 'BDC_OKCODE'  '=ENTR',

                                'X' 'SAPMF02D' '0340',	
                                ' ' 'BDC_OKCODE'  '=ENTR',

                                'X' 'SAPMF02D' '0360',
                                ' ' 'BDC_OKCODE'  '=ENTR',

                                'X' 'SAPMF02D' '0210',	
                                ' ' 'KNB1-AKONT'  IT_FFCUST-AKONT,
                                ' ' 'BDC_OKCODE'  '/00',

                                'X' 'SAPMF02D' '0215',
                                ' ' 'BDC_OKCODE'  '/00',

                                'X' 'SAPMF02D' '0220',	
                                ' ' 'BDC_OKCODE'  '/00',

                                'X' 'SAPMF02D' '0230',	
                                ' ' 'BDC_OKCODE'  '=UPDA'.
*--Calling the transaction 'fd01'.
    CALL TRANSACTION 'FD01' USING IT_CUSTBDC MODE 'N' UPDATE 'S'
    MESSAGES INTO IT_CUSTMSG.
    IF SY-SUBRC &amp;lt;&amp;gt; 0.
*--Populating the error records internal table.
      IT_ERRCUST-KUNNR = IT_FFCUST-KUNNR.
      APPEND IT_ERRCUST.
      CLEAR IT_ERRCUST.
*--Opening a session if there is an error record.
      IF V_FLAG1 = ' '.
        PERFORM FORM_OPENSESSION.
        V_FLAG1 = 'X'.
      ENDIF.
*--Inserting the error records into already open session.
      IF V_FLAG1 = 'X'.
        PERFORM FORM_INSERT.
      ENDIF.
*--Populating the Success records internal table.
    ELSE.
      IT_SUCCUST-KUNNR = IT_FFCUST-KUNNR.
      APPEND IT_SUCCUST.
      CLEAR IT_SUCCUST.
    ENDIF.
*--Displaying the messages.
    IF NOT IT_CUSTMSG[] IS INITIAL.
      PERFORM FORM_FORMATMSG.
    ENDIF.
*--Clearing the message and bdc tables.
    CLEAR : IT_CUSTBDC[],IT_CUSTMSG[].
  ENDLOOP.

*--Getting the total no of error records.
  DESCRIBE TABLE IT_ERRCUST LINES V_ELINES.

*--Getting the total no of successful records.
  DESCRIBE TABLE IT_SUCCUST LINES V_SLINES.

*--Closing the session only if it is open.
  IF V_FLAG1 = 'X'.
    PERFORM FORM_CLOSESESS.
  ENDIF.


ENDFORM.                    " Form_bdcgenerate


*&amp;amp;---------------------------------------------------------------------*
*&amp;amp;      Form  populatebdc
*&amp;amp;---------------------------------------------------------------------*
*       FOrm to Populate the BDC table.
*----------------------------------------------------------------------*
FORM POPULATEBDC  USING    VALUE(P_0178)
                           VALUE(P_0179)
                           VALUE(P_0180).

  IF P_0178 = 'X'.
    IT_CUSTBDC-PROGRAM = P_0179.
    IT_CUSTBDC-DYNPRO = P_0180.
    IT_CUSTBDC-DYNBEGIN = 'X'.
  ELSE.
    IT_CUSTBDC-FNAM = P_0179.
    IT_CUSTBDC-FVAL = P_0180.
  ENDIF.

  APPEND IT_CUSTBDC.
  CLEAR IT_CUSTBDC.


ENDFORM.                    " populatebdc


*&amp;amp;---------------------------------------------------------------------*
*&amp;amp;      Form  FORM_OPENSESSION
*&amp;amp;---------------------------------------------------------------------*
*       Form to Open a session.
*----------------------------------------------------------------------*
FORM FORM_OPENSESSION .

*--Variable to convert the given session name into reqd type.
  DATA : LV_SESNAM(12).

  LV_SESNAM = V_SESNAM.

*--Opening a session.
  CALL FUNCTION 'BDC_OPEN_GROUP'
   EXPORTING
     CLIENT                    = SY-MANDT
     GROUP                     = LV_SESNAM
     HOLDDATE                  = '20040805'
     KEEP                      = 'X'
     USER                      = SY-UNAME
     PROG                      = SY-CPROG
*  IMPORTING
*    QID                       =
   EXCEPTIONS
     CLIENT_INVALID            = 1
     DESTINATION_INVALID       = 2
     GROUP_INVALID             = 3
     GROUP_IS_LOCKED           = 4
     HOLDDATE_INVALID          = 5
     INTERNAL_ERROR            = 6
     QUEUE_ERROR               = 7
     RUNNING                   = 8
     SYSTEM_LOCK_ERROR         = 9
     USER_INVALID              = 10
     OTHERS                    = 11
            .
  IF SY-SUBRC &amp;lt;&amp;gt; 0.
    WRITE :/ 'Session not open'.
  ENDIF.


ENDFORM.                    " FORM_OPENSESSION
*&amp;amp;---------------------------------------------------------------------*
*&amp;amp;      Form  FORM_INSERT
*&amp;amp;---------------------------------------------------------------------*
*       fORM TO INSERT ERROR RECOED INTO A SESSION.
*----------------------------------------------------------------------*
FORM FORM_INSERT .

*--Inserting the record into session.
  CALL FUNCTION 'BDC_INSERT'
    EXPORTING
      TCODE                  = 'FD01'
*     POST_LOCAL             = NOVBLOCAL
*     PRINTING               = NOPRINT
*     SIMUBATCH              = ' '
*     CTUPARAMS              = ' '
    TABLES
      DYNPROTAB              = IT_CUSTBDC
    EXCEPTIONS
      INTERNAL_ERROR         = 1
      NOT_OPEN               = 2
      QUEUE_ERROR            = 3
      TCODE_INVALID          = 4
      PRINTING_INVALID       = 5
      POSTING_INVALID        = 6
      OTHERS                 = 7
            .
  IF SY-SUBRC &amp;lt;&amp;gt; 0.
    WRITE :/ 'Unable to insert the record'.
  ENDIF.


ENDFORM.                    " FORM_INSERT
*&amp;amp;---------------------------------------------------------------------*
*&amp;amp;      Form  FORM_CLOSESESS
*&amp;amp;---------------------------------------------------------------------*
*       Form to Close the Open Session.
*----------------------------------------------------------------------*
FORM FORM_CLOSESESS .


  CALL FUNCTION 'BDC_CLOSE_GROUP'
    EXCEPTIONS
      NOT_OPEN    = 1
      QUEUE_ERROR = 2
      OTHERS      = 3.
  IF SY-SUBRC &amp;lt;&amp;gt; 0.
  ENDIF.



ENDFORM.                    " FORM_CLOSESESS
*&amp;amp;---------------------------------------------------------------------*
*&amp;amp;      Form  FORM_FORMATMSG
*&amp;amp;---------------------------------------------------------------------*
*       Form to format messages.
*----------------------------------------------------------------------*
FORM FORM_FORMATMSG .

*--Var to store the formatted msg.
  DATA : LV_MSG(255).


  CALL FUNCTION 'FORMAT_MESSAGE'
    EXPORTING
      ID        = SY-MSGID
      LANG      = SY-LANGU
      NO        = SY-MSGNO
      V1        = SY-MSGV1
      V2        = SY-MSGV2
      V3        = SY-MSGV3
      V4        = SY-MSGV4
    IMPORTING
      MSG       = LV_MSG
    EXCEPTIONS
      NOT_FOUND = 1
      OTHERS    = 2.
  IF SY-SUBRC = 0.

    WRITE :/ LV_MSG.

  ENDIF.
  ULINE.


ENDFORM.                    " FORM_FORMATMSG
*&amp;amp;---------------------------------------------------------------------*
*&amp;amp;      Form  form_writeop
*&amp;amp;---------------------------------------------------------------------*
*       To write the totals and the session name.
*----------------------------------------------------------------------*
FORM FORM_WRITEOP .

  WRITE :/ 'Total Records Uploaded :',V_TLINES,
           / 'No of Error Records :',V_ELINES,
           / 'No of Success Records :',V_SLINES,
           / 'Name of the Session :',V_SESNAM.
  ULINE.

ENDFORM.                    " form_writeop
&lt;/CODE&gt;&lt;/PRE&gt;&lt;P&gt;&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Wed, 18 Apr 2007 05:00:21 GMT</pubDate>
      <guid>https://community.sap.com/t5/application-development-and-automation-discussions/bdc/m-p/2113778#M442188</guid>
      <dc:creator>Former Member</dc:creator>
      <dc:date>2007-04-18T05:00:21Z</dc:date>
    </item>
  </channel>
</rss>

