<?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: Read Batch input log through custom report in Application Development and Automation Discussions</title>
    <link>https://community.sap.com/t5/application-development-and-automation-discussions/read-batch-input-log-through-custom-report/m-p/4278101#M1020643</link>
    <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Try this sample code..may be it will help u..&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;REPORT zepo_bi_log LINE-SIZE 255.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;TABLES: apqd, apqi, t100, bdcdata.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;DATA: BEGIN OF st-ifile,&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;        trans LIKE apqd-trans,&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;        field1(132),&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;        field2(132),&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;        field3(132),&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;        field4(132),&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;        field5(132),&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;        type(4),&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;      END OF st-ifile,&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;      BEGIN OF ifields OCCURS 5,&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;        fnam      TYPE bdcdata-fnam,&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;        fieldtext TYPE dfies-fieldtext,&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;        intlen    TYPE dd03l-intlen,&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;        outputlen TYPE dd03l-leng,&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;      END OF ifields,&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;      w_dfies LIKE dfies.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;DATA: iapqd LIKE apqd OCCURS 0 WITH HEADER LINE.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;DATA: ifile LIKE st-ifile OCCURS 0 WITH HEADER LINE.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;DATA: paramname(11) VALUE 'bdc/logfile',&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;      logname(80) VALUE 'D:\usr\sap\DEV\SYS\global\BIS70M000600.LOG',&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;      logname1(80),&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;      s_logname(80),&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;      ec     TYPE i,&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;      one    TYPE i VALUE 1,&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;      bdcld# TYPE i,&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;      log_flag,&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;      counter_err TYPE i,&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;      l_counter(7) TYPE n,&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;      parcnt  TYPE i,&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;      do_condense TYPE c,&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;      mtvaroff TYPE i,&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;      x(1) VALUE 'X',&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;      mparcnt TYPE i,&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;      charcnt TYPE i,&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;      wcnt TYPE i,&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;      sp_len TYPE i,&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;      digits(10) TYPE c VALUE '0123456789',&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;      mtext(124) TYPE c,&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;      mtext1(124) TYPE c,&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;      mtext2(273) TYPE c,&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;      line_count TYPE i,&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;      protcnt TYPE i.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;DATA: BEGIN OF mttab  OCCURS 4,&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;        off(02) TYPE n,&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;        len(02) TYPE n,&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;        text(80),&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;      END OF mttab.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;DATA: BEGIN OF mt,&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;        off(02) TYPE n,&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;        len(02) TYPE n,&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;        text(80),&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;      END OF mt.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;DATA: BEGIN OF file.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;INCLUDE rstr0112.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;DATA: END OF file.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;DATA: BEGIN OF par,&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;        len(02) TYPE n,&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;        text(80),&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;      END OF par.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;DATA: shiftlen TYPE i VALUE 0,&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;      protflen TYPE i VALUE 0,&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;      protfoff TYPE i VALUE 0,&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;      rlen     TYPE i VALUE 0.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;DATA BEGIN OF bdcld  OCCURS 0.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;        INCLUDE STRUCTURE bdcld.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;DATA:  logname(80),&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;       local_host(12),&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;       cnt TYPE i,&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;       active(1) TYPE c,&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;       temseid TYPE rstsoname.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;DATA: END OF bdcld.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;DATA: logtab LIKE bdcld OCCURS 0 WITH HEADER LINE,&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;      logtab_temse LIKE apql OCCURS 0 WITH HEADER LINE.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;DATA: BEGIN OF bdclda  OCCURS 0.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;        INCLUDE STRUCTURE bdcld.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;DATA: END OF bdclda.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;DATA: it_apqi LIKE apqi OCCURS 0 WITH HEADER LINE.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;DATA: save_mpar TYPE bdc_mpar.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;DATA: BEGIN OF bdclm  OCCURS 0.&lt;/P&gt;&lt;P&gt;&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;&lt;/P&gt;&lt;P&gt;        longtext TYPE bdc_mpar,&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;      END OF bdclm.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;DATA: BEGIN OF prot_list OCCURS 0.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;INCLUDE rstr0112.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;DATA:   seen(1),&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;        to_be_deleted(1),&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;        has_changed(1),&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;        local_host(12),&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;      END OF prot_list.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;DATA: field_offset TYPE i,&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;      field_length TYPE i,&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;      rec_cnt      TYPE i,&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;      found        TYPE i,&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;      j            TYPE i,&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;      jc(1),&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;      k            TYPE i,&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;      kc(1),&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;      field_txt(12),&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;      p_field_txt(8),&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;      c20(20),&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;      c21(20),&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;      c22(20).&lt;/P&gt;&lt;P&gt;&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;needed for check if TemSe interface is active:&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;DATA: protparam(60) VALUE 'bdc/new_protocol',&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;      newprot(3)    VALUE 'off',&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;      selected_protocol TYPE i.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;DATA: w_tabname LIKE dfies-tabname,&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;      w_fieldname LIKE dfies-fieldname,&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;      w_space(132) TYPE c.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;DATA: w_grpid(12).&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;DATA: p_qid(20).&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;FIELD-SYMBOLS: &amp;lt;p_field&amp;gt;,&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;               &amp;lt;mtxt&amp;gt;,&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;               &amp;lt;vtxt&amp;gt;,&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;               &amp;lt;field&amp;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;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;Selection screen&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;***&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;SELECTION-SCREEN BEGIN OF BLOCK qid WITH FRAME TITLE text-001.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;Group Selection&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;PARAMETERS: p_grpid LIKE apqi-groupid DEFAULT 'IT*'.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;SELECT-OPTIONS: so_date FOR apqi-credate DEFAULT sy-datum NO-EXTENSION.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;SELECTION-SCREEN END OF BLOCK qid.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;SELECTION-SCREEN BEGIN OF BLOCK type WITH FRAME TITLE text-002.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;Messages Selection&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;SELECT-OPTIONS: so_mart FOR bdclm-mart DEFAULT 'E',&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;                so_mid FOR bdclm-mid,&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;                so_mnr FOR bdclm-mnr.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;SELECTION-SCREEN END OF BLOCK type.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;SELECTION-SCREEN BEGIN OF BLOCK fields WITH FRAME TITLE text-003.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;Field Output Selection&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;PARAMETERS: p_field1 LIKE bdcdata-fnam DEFAULT 'RP50G-PERNR',&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;            p_field2 LIKE bdcdata-fnam DEFAULT 'RP50G-BEGDA',&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;            p_field3 LIKE bdcdata-fnam DEFAULT 'RP50G-ENDDA',&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;            p_field4 LIKE bdcdata-fnam,&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;            p_field5 LIKE bdcdata-fnam.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;SELECTION-SCREEN END OF BLOCK fields.&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;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;At selection screen&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;***&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;AT SELECTION-SCREEN ON so_date.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  IF so_date-low IS INITIAL.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;    so_date-low = sy-datum.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;    MESSAGE e065(29).&lt;/P&gt;&lt;P&gt;&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;&lt;/P&gt;&lt;P&gt;&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;Start of selection&lt;/P&gt;&lt;/LI&gt;&lt;/UL&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;  IF p_grpid IS INITIAL.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;    p_grpid = '*'.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  ENDIF.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  MOVE p_grpid TO w_grpid.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  REPLACE '*' WITH '%' INTO w_grpid.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  IF so_date-high LT so_date-low.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;    so_date-high = so_date-low.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  ENDIF.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  SELECT * FROM apqi WHERE groupid LIKE w_grpid&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;                       AND credate GE so_date-low&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;                       AND credate LE so_date-high.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;    WRITE:/ apqi-groupid HOTSPOT, apqi-creator,&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;            apqi-credate, apqi-cretime.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;    HIDE: apqi-qid,&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;         apqi-groupid, apqi-creator, apqi-credate, apqi-cretime.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  ENDSELECT.&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;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;At line selection&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;***&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;AT LINE-SELECTION.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  REFRESH: bdclm,&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;           prot_list,&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;           iapqd,&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;           it_apqi,&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;           ifile,&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;           ifields,&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;           bdcld.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  k = 0.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  DO 5 TIMES.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;    k = k + 1.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;    kc = k.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;    CONCATENATE 'p_field' kc INTO p_field_txt.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;    ASSIGN (p_field_txt) TO &amp;lt;p_field&amp;gt;.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;    IF &amp;lt;p_field&amp;gt; = space.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;      CONTINUE.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;    ENDIF.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;    ifields-fnam = &amp;lt;p_field&amp;gt;.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;    TRANSLATE ifields-fnam TO UPPER CASE.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;    SPLIT ifields-fnam AT '-' INTO w_tabname w_fieldname.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;    SELECT SINGLE intlen leng&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;             FROM dd03l&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;             INTO (ifields-intlen,ifields-outputlen)&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;            WHERE tabname   = w_tabname&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;              AND fieldname = w_fieldname.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;    IF sy-subrc &amp;lt;&amp;gt; 0.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;      CONTINUE.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;    ENDIF.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;    ifields-fieldtext = w_fieldname.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;    APPEND ifields.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  ENDDO.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  logname = space.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  line_count = 0.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  p_qid = apqi-qid.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  WRITE:/ apqi-groupid , apqi-creator , apqi-credate , apqi-cretime.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  WRITE:/.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  WRITE:/ '      LINE' , '      TRAN '.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  LOOP AT ifields.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;    WRITE: ifields-fieldtext(ifields-outputlen).&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  ENDLOOP.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  WRITE: 'TYPE' , 'ERROR MSG'.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  it_apqi-qid = p_qid.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  PERFORM f_get_logfiles_for_qid.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  IF selected_protocol &amp;gt; 0.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;    PERFORM f_get_log.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;    PERFORM f_extend_message_texts.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  ENDIF.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  LOOP AT bdclm WHERE mart IN so_mart AND&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;                      mid  IN so_mid AND&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;                      mnr  IN so_mnr.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;    SELECT * INTO TABLE iapqd&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;                  FROM apqd WHERE qid = p_qid AND&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;                                 trans = bdclm-tcnt.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;    SORT iapqd BY qid trans block.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;    LOOP AT iapqd.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;      IF ifile-trans NE iapqd-trans.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;        IF ifile-trans NE space.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;          APPEND ifile.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;        ENDIF.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;      ENDIF.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;      k = 0.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;      found = 0.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;      LOOP AT ifields.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;        k = k + 1.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;        kc = k.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;        CONCATENATE 'ifile-field' kc INTO field_txt.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;        ASSIGN ifields-fnam TO &amp;lt;p_field&amp;gt;.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;        ASSIGN (field_txt) TO &amp;lt;field&amp;gt;.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;        IF &amp;lt;p_field&amp;gt; = space OR NOT &amp;lt;field&amp;gt; IS INITIAL.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;          CONTINUE.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;        ENDIF.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;      Retrieve content of the field&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;        SEARCH iapqd-vardata FOR &amp;lt;p_field&amp;gt;.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;        IF sy-subrc = 0.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;          found = 1.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;          field_length = STRLEN( &amp;lt;p_field&amp;gt; ).&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;          field_offset = sy-fdpos + field_length + 1.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;          IF field_offset &amp;gt; iapqd-varlen.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;            CONTINUE.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;          ENDIF.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;          &amp;lt;field&amp;gt; = iapqd-vardata+field_offset(ifields-intlen).&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;        ENDIF.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;      ENDLOOP.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;      ifile-trans = iapqd-trans.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;    ENDLOOP.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;    ADD 1 TO line_count.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;    WRITE:/ line_count,&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;            ifile-trans.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;    k = 0.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;    LOOP AT ifields.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;      k = k + 1.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;      kc = k.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;      CONCATENATE 'ifile-field' kc INTO field_txt.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;      ASSIGN (field_txt) TO &amp;lt;field&amp;gt;.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;      IF &amp;lt;field&amp;gt; IS INITIAL.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;        WRITE: w_space(ifields-outputlen).&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;      ELSE.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;        WRITE: &amp;lt;field&amp;gt;(ifields-outputlen).&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;      ENDIF.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;    ENDLOOP.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;    ifile-type = bdclm-mart.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;    WRITE: ifile-type.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;    PERFORM f_get_text1.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;    WRITE: mtext.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;    CLEAR: ifile.&lt;/P&gt;&lt;P&gt;&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;&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;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;      FORM F_GET_TEXT1                                              *&lt;/P&gt;&lt;/LI&gt;&lt;/UL&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;FORM f_get_text1.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  DATA: shiftln TYPE i,&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;        vartcnt TYPE i,&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;        fdpos LIKE sy-fdpos.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  IF bdclm-mparcnt CN digits.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;    bdclm-mparcnt = 0.&lt;/P&gt;&lt;P&gt;&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;&lt;/P&gt;&lt;P&gt;   WHERE sprsl = sy-langu&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;   AND  arbgb  = bdclm-mid&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;   AND  msgnr  = 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;&lt;/P&gt;&lt;P&gt;    CLEAR: mtext,&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;           parcnt,&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;           mparcnt,&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;           charcnt,&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;           wcnt,&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;           mt,&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;           sp_len,&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;           sy-fdpos.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;    MOVE 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;&lt;/P&gt;&lt;P&gt;      MOVE t100-text TO mtext1.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;    ELSE.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;      MOVE t100-text TO mtext.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;      EXIT.&lt;/P&gt;&lt;P&gt;&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;&lt;/P&gt;&lt;P&gt;    CLEAR shiftln.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;    DO mparcnt TIMES.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;      CLEAR: par, mttab.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;      MOVE bdclm-mpar TO par.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;      IF par-len CN digits.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;        par-len = 1.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;      ENDIF.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;      WRITE par-text TO mttab-text(par-len).&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;      MOVE par-len  TO mttab-len.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;      MOVE mparcnt  TO mttab-off.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;      APPEND mttab.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;      shiftln = par-len + 2.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;      SHIFT bdclm-mpar BY shiftln PLACES.&lt;/P&gt;&lt;P&gt;&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;&lt;/P&gt;&lt;P&gt;    IF bdclm-mid EQ  '00' AND&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;       bdclm-mnr EQ '368' AND&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;       bdclm-mart EQ 'S'.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;      CLEAR mtext2.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;      CLEAR mttab.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;      READ TABLE mttab INDEX 1.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;      WRITE mttab-text TO mtext2+0(mttab-len).&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;      CLEAR mttab.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;      READ TABLE mttab INDEX 2.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;      WRITE mttab-text TO mtext2+35(mttab-len).&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;      mtext = mtext2.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;      EXIT.&lt;/P&gt;&lt;P&gt;&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;    do_condense = x.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;    CLEAR: mt, vartcnt, mtvaroff.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;    WHILE vartcnt LE 3.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;      vartcnt = vartcnt + 1.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;      IF mtext1 CA '$&amp;amp;'.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;        parcnt = parcnt + 1.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;        IF sy-fdpos GT 0.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;          fdpos = sy-fdpos - 1.        " neu sy-fdpos -1&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;        ELSE.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;          fdpos = sy-fdpos.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;        ENDIF.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;        SHIFT mtext1 BY sy-fdpos PLACES.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;        IF mtext1(1) EQ '&amp;amp;'.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;          SHIFT mtext1 BY 1 PLACES.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;          CASE mtext1(1).&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;            WHEN ' '.                  "'&amp;amp; '&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;              PERFORM f_replace_var USING '&amp;amp; ' parcnt fdpos.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;            WHEN '$'.                  "'&amp;amp;&amp;amp;'&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;              PERFORM f_replace_var USING '&amp;amp;&amp;amp;' 0      fdpos.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;            WHEN '1'.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;              PERFORM f_replace_var USING '&amp;amp;1' 1      fdpos.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;            WHEN '2'.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;              PERFORM f_replace_var USING '&amp;amp;2' 2      fdpos.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;            WHEN '3'.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;              PERFORM f_replace_var USING '&amp;amp;3' 3      fdpos.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;            WHEN '4'.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;              PERFORM f_replace_var USING '&amp;amp;4' 4      fdpos.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;            WHEN OTHERS.               "'&amp;amp;'&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;              PERFORM f_replace_var USING '&amp;amp;&amp;lt;' parcnt fdpos.&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;        ENDIF.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;        IF mtext1(1) EQ '$'.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;          SHIFT mtext1 BY 1 PLACES.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;          CASE mtext1(1).&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;            WHEN ' '.                  "'$ '&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;              PERFORM f_replace_var USING '$ ' parcnt  fdpos.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;            WHEN '$'.                  "'$$'&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;              PERFORM f_replace_var USING '$$' 0       fdpos.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;            WHEN '1'.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;              PERFORM f_replace_var USING '$1' 1       fdpos.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;            WHEN '2'.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;              PERFORM f_replace_var USING '$2' 2       fdpos.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;            WHEN '3'.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;              PERFORM f_replace_var USING '$3' 3       fdpos.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;            WHEN '4'.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;              PERFORM f_replace_var USING '$4' 4       fdpos.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;            WHEN OTHERS.               "'$'&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;              PERFORM f_replace_var USING '$&amp;lt;' parcnt  fdpos.&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;        ENDIF.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;      ENDIF.&lt;/P&gt;&lt;P&gt;&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;&lt;/P&gt;&lt;P&gt;      REPLACE '%%_D_%%' WITH '$' INTO mtext2.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;    ENDIF.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;    IF mtext2 CA '%%_A_%%'.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;      REPLACE '%%_A_%%' WITH '&amp;amp;' INTO mtext2.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;    ENDIF.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;    IF do_condense EQ space.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;      mtext = mtext2.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;    ELSE.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;      CONDENSE mtext2 .&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;      mtext = mtext2.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;    ENDIF.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  ELSE.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;    mtext = '???????????????????????????????????????????????????'(999).&lt;/P&gt;&lt;P&gt;&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.                    " F_GET_TEXT1&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;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;      FORM F_REPLACE_VAR                                            *&lt;/P&gt;&lt;/LI&gt;&lt;/UL&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;FORM f_replace_var USING vark vari varpos.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  DATA: var(02),&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;        var1,&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;        moff TYPE i,&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;        len  TYPE i,&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;        vlen  TYPE i.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  CLEAR: mttab , moff.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  var = vark.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  SHIFT var BY 1 PLACES.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  CASE var.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;    WHEN ' '.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;      READ TABLE mttab INDEX vari.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;      IF sy-subrc EQ 0.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;        moff = varpos + mtvaroff.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;        ASSIGN mtext2+moff(*) TO &amp;lt;mtxt&amp;gt;.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;        ASSIGN mttab-text(mttab-len) TO &amp;lt;vtxt&amp;gt;.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;        var1 = vark.&lt;/P&gt;&lt;P&gt;&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;&lt;/P&gt;&lt;P&gt;        mtvaroff = mttab-len.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;      ELSE.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;        IF vari GT mparcnt.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;          moff = varpos + mtvaroff.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;          ASSIGN mtext2+moff(*) TO &amp;lt;mtxt&amp;gt;.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;          REPLACE vark WITH '  ' INTO &amp;lt;mtxt&amp;gt;.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;          mtvaroff = 2.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;        ELSE.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;          moff = varpos + mtvaroff.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;          ASSIGN mtext2+moff(*) TO &amp;lt;mtxt&amp;gt;.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;          REPLACE vark WITH '%%_Z_%%' INTO &amp;lt;mtxt&amp;gt;.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;          mtvaroff = 7.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;        ENDIF.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;      ENDIF.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;    WHEN '$'.                          "'&amp;amp;&amp;amp;'&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;      moff = varpos + mtvaroff.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;      ASSIGN mtext2+moff(*) TO &amp;lt;mtxt&amp;gt;.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;      REPLACE vark WITH '%%_D_%%' INTO &amp;lt;mtxt&amp;gt;.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;      mtvaroff = 7.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;    WHEN '&amp;amp;'.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;      moff = varpos + mtvaroff.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;      ASSIGN mtext2+moff(*) TO &amp;lt;mtxt&amp;gt;.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;      REPLACE vark WITH '%%_A_%%' INTO &amp;lt;mtxt&amp;gt;.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;      mtvaroff = 7.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;    WHEN '&amp;lt;'.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;      READ TABLE mttab INDEX vari.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;      IF sy-subrc EQ 0.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;        IF vark EQ '&amp;amp;&amp;lt;'.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;          moff = varpos + mtvaroff.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;          ASSIGN mtext2+moff(*) TO &amp;lt;mtxt&amp;gt;.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;          ASSIGN mttab-text(mttab-len) TO &amp;lt;vtxt&amp;gt;.&lt;/P&gt;&lt;P&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;&lt;/P&gt;&lt;P&gt;          mtvaroff = mttab-len.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;        ENDIF.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;        IF vark EQ '$&amp;lt;'.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;          moff = varpos + mtvaroff.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;          ASSIGN mtext2+moff(*) TO &amp;lt;mtxt&amp;gt;.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;          ASSIGN mttab-text(mttab-len) TO &amp;lt;vtxt&amp;gt;.&lt;/P&gt;&lt;P&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;&lt;/P&gt;&lt;P&gt;          mtvaroff = mttab-len.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;        ENDIF.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;      ELSE.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;        IF vark EQ '&amp;amp;&amp;lt;'.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;          moff = varpos + mtvaroff.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;          ASSIGN mtext2+moff(*) TO &amp;lt;mtxt&amp;gt;.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;          REPLACE '&amp;amp;' WITH ' ' INTO &amp;lt;mtxt&amp;gt;.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;          mtvaroff = 1.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;        ENDIF.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;        IF vark EQ '$&amp;lt;'.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;          moff = varpos + mtvaroff.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;          ASSIGN mtext2+moff(*) TO &amp;lt;mtxt&amp;gt;.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;          REPLACE '$' WITH ' ' INTO &amp;lt;mtxt&amp;gt;.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;          mtvaroff = 1.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;        ENDIF.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;      ENDIF.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;    WHEN '1'.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;      READ TABLE mttab INDEX 1.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;      IF sy-subrc EQ 0.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;        moff = varpos + mtvaroff.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;        ASSIGN mtext2+moff(*) TO &amp;lt;mtxt&amp;gt;.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;        ASSIGN mttab-text(mttab-len) TO &amp;lt;vtxt&amp;gt;.&lt;/P&gt;&lt;P&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;&lt;/P&gt;&lt;P&gt;        mtvaroff = mttab-len.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;      ELSE.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;        IF vari GT mparcnt.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;          moff = varpos + mtvaroff.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;          ASSIGN mtext2+moff(*) TO &amp;lt;mtxt&amp;gt;.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;          REPLACE vark WITH '  ' INTO &amp;lt;mtxt&amp;gt;.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;          mtvaroff = 2.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;        ELSE.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;          moff = varpos + mtvaroff.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;          ASSIGN mtext2+moff(*) TO &amp;lt;mtxt&amp;gt;.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;          REPLACE vark WITH '%%_Z_%%' INTO &amp;lt;mtxt&amp;gt;.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;          mtvaroff = 7.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;        ENDIF.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;      ENDIF.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;    WHEN '2'.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;      READ TABLE mttab INDEX 2.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;      IF sy-subrc EQ 0.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;        moff = varpos + mtvaroff.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;        ASSIGN mtext2+moff(*) TO &amp;lt;mtxt&amp;gt;.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;        ASSIGN mttab-text(mttab-len) TO &amp;lt;vtxt&amp;gt;.&lt;/P&gt;&lt;P&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;&lt;/P&gt;&lt;P&gt;        mtvaroff = mttab-len.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;      ELSE.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;        IF vari GT mparcnt.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;          moff = varpos + mtvaroff.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;          ASSIGN mtext2+moff(*) TO &amp;lt;mtxt&amp;gt;.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;          REPLACE vark WITH '  ' INTO &amp;lt;mtxt&amp;gt;.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;          mtvaroff = 2.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;        ELSE.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;          moff = varpos + mtvaroff.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;          ASSIGN mtext2+moff(*) TO &amp;lt;mtxt&amp;gt;.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;          REPLACE vark WITH '%%_Z_%%' INTO &amp;lt;mtxt&amp;gt;.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;          mtvaroff = 7.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;        ENDIF.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;      ENDIF.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;    WHEN '3'.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;      READ TABLE mttab INDEX 3.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;      IF sy-subrc EQ 0.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;        moff = varpos + mtvaroff.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;        ASSIGN mtext2+moff(*) TO &amp;lt;mtxt&amp;gt;.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;        ASSIGN mttab-text(mttab-len) TO &amp;lt;vtxt&amp;gt;.&lt;/P&gt;&lt;P&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;&lt;/P&gt;&lt;P&gt;        mtvaroff = mttab-len.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;      ELSE.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;        IF vari GT mparcnt.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;          moff = varpos + mtvaroff.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;          ASSIGN mtext2+moff(*) TO &amp;lt;mtxt&amp;gt;.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;          REPLACE vark WITH '  ' INTO &amp;lt;mtxt&amp;gt;.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;          mtvaroff = 2.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;        ELSE.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;          moff = varpos + mtvaroff.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;          ASSIGN mtext2+moff(*) TO &amp;lt;mtxt&amp;gt;.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;          REPLACE vark WITH '%%_Z_%%' INTO &amp;lt;mtxt&amp;gt;.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;          mtvaroff = 7.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;        ENDIF.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;      ENDIF.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;    WHEN '4'.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;      READ TABLE mttab INDEX 4.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;      IF sy-subrc EQ 0.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;        moff = varpos + mtvaroff.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;        ASSIGN mtext2+moff(*) TO &amp;lt;mtxt&amp;gt;.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;        ASSIGN mttab-text(mttab-len) TO &amp;lt;vtxt&amp;gt;.&lt;/P&gt;&lt;P&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;&lt;/P&gt;&lt;P&gt;        mtvaroff = mttab-len.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;      ELSE.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;        IF vari GT mparcnt.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;          moff = varpos + mtvaroff.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;          ASSIGN mtext2+moff(*) TO &amp;lt;mtxt&amp;gt;.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;          REPLACE vark WITH '  ' INTO &amp;lt;mtxt&amp;gt;.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;          mtvaroff = 2.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;        ELSE.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;          moff = varpos + mtvaroff.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;          ASSIGN mtext2+moff(*) TO &amp;lt;mtxt&amp;gt;.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;          REPLACE vark WITH '%%_Z_%%' INTO &amp;lt;mtxt&amp;gt;.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;          mtvaroff = 7.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;        ENDIF.&lt;/P&gt;&lt;P&gt;&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;ENDFORM.                               " F_REPLACE_VAR&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;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;      FORM F_GET_LOGFILE_FOR_QID                                    *&lt;/P&gt;&lt;/LI&gt;&lt;/UL&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;FORM f_get_logfiles_for_qid.&lt;/P&gt;&lt;P&gt;&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;Get log from TemSe if it is active&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  PERFORM f_get_logfiles_from_temse.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  IF bdcld[] IS INITIAL.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;    newprot = 'OFF'.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;  Get logs from common log file&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;    CALL 'C_SAPGPARAM' ID 'NAME'   FIELD paramname&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;                       ID 'VALUE'  FIELD logname.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;    PERFORM f_list_protocol_files.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;    LOOP AT prot_list.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;      logname = prot_list-name.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;      PERFORM f_log_dir.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;    ENDLOOP.&lt;/P&gt;&lt;P&gt;&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;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;Now bdcld contains the log files for the given qid&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  SORT bdcld BY edate DESCENDING etime DESCENDING.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  DESCRIBE TABLE bdcld LINES selected_protocol.&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.                    " F_GET_LOGFILES_FOR_QID&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;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;      FORM F_FILL_PROT_LIST                                         *&lt;/P&gt;&lt;/LI&gt;&lt;/UL&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;FORM f_fill_prot_list USING prot_files.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  DATA: logname1(80),&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;        new_logfile(04) VALUE 'BI* ',&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;        old_logfile(06) VALUE 'bdclog'.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  CLEAR: logname1,&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;         prot_list,&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;         protcnt.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  REFRESH: prot_list.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  protflen = STRLEN( prot_files ).&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  MOVE prot_files TO logname1.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  WHILE shiftlen LE protflen.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;    IF  logname1 CP '&lt;STRONG&gt;#B#I&lt;/STRONG&gt;'.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;      IF sy-fdpos EQ 0.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;        shiftlen = 2.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;      ELSE.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;        shiftlen = sy-fdpos.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;      ENDIF.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;      protfoff = protfoff + shiftlen.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;      SHIFT logname1 BY shiftlen PLACES.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;    ELSE.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;      shiftlen = protflen + 1.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;      protfoff = protfoff - 2.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;    ENDIF.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  ENDWHILE.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  IF protfoff LE 0.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;    protfoff = 0.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  ENDIF.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  rlen = 80 - protfoff.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  WRITE space       TO prot_files+protfoff(rlen).&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  WRITE new_logfile TO prot_files+protfoff(4).&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  PERFORM f_search_prot USING prot_files.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  WRITE space       TO prot_files+protfoff(rlen).&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  WRITE old_logfile TO prot_files+protfoff(6).&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  PERFORM f_search_prot USING prot_files.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;ENDFORM.                               " F_FILL_PROT_LIST&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;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;      FORM F_LOG_DIR                                                *&lt;/P&gt;&lt;/LI&gt;&lt;/UL&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;FORM f_log_dir.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  CLEAR bdclda. REFRESH bdclda.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  CALL 'ReadLogDirA'       ID 'LOGN'  FIELD logname&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;                           ID 'DTAB'  FIELD bdclda-&lt;STRONG&gt;sys&lt;/STRONG&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;                           ID 'AINF'  FIELD one&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;                           ID 'ECNT'  FIELD ec.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  IF sy-subrc NE 0 OR ec = 0.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;    EXIT.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  ENDIF.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  LOOP AT bdclda WHERE lmand = sy-mandt AND quid = it_apqi-qid.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;    MOVE-CORRESPONDING bdclda TO bdcld.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;    MOVE logname TO bdcld-logname.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;    MOVE prot_list-local_host TO bdcld-local_host.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;    APPEND bdcld.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  ENDLOOP.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;ENDFORM.                               " F_LOG_DIR.&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;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;      FORM F_SEARCH_PROT                                            *&lt;/P&gt;&lt;/LI&gt;&lt;/UL&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;FORM f_search_prot USING prot_files.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  DATA: errcnt(2) TYPE p VALUE 0.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  CALL 'C_DIR_READ_START' ID 'FILE'   FIELD prot_files&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;   ID 'ERRNO'  FIELD file-errno&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;   ID 'ERRMSG' FIELD file-errmsg.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  IF sy-subrc &amp;lt;&amp;gt; 0.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;    WRITE:/ 'error call C_DIR_READ_START sy-subrc' , sy-subrc.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  ENDIF.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  DO.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;Read protocol file&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;    CLEAR file.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;    CALL 'C_DIR_READ_NEXT'&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;      ID 'TYPE'   FIELD file-type&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;      ID 'NAME'   FIELD file-name&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;      ID 'LEN'    FIELD file-len&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;      ID 'OWNER'  FIELD file-owner&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;      ID 'MTIME'  FIELD file-mtime&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;      ID 'MODE'   FIELD file-mode&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;      ID 'ERRNO'  FIELD file-errno&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;      ID 'ERRMSG' FIELD file-errmsg.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;    MOVE sy-subrc TO    file-subrc.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;    CASE sy-subrc.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;      WHEN 0.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;        CASE file-type(1).&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;          WHEN 'F'.                    " normal file.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;            MOVE 1       TO file-useable.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;          WHEN 'f'.                    " normal file.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;            MOVE 1       TO file-useable.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;          WHEN OTHERS. " Directory, device, fifo, socket,...&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;            MOVE 0       TO file-useable.&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;        IF file-len = 0.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;          MOVE 0      TO file-useable.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;        ENDIF.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;      WHEN 1.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;        EXIT.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;      WHEN OTHERS.                     " SY-SUBRC &amp;gt;= 2&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;        ADD 1 TO errcnt.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;        IF errcnt &amp;gt; 10.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;          EXIT.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;        ENDIF.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;        IF sy-subrc = 5.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;          MOVE: '???' TO file-type,&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;                '???' TO file-owner,&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;                '???' TO file-mode.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;        ENDIF.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;        MOVE 0      TO file-useable.&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;    MOVE-CORRESPONDING file TO prot_list.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;    SHIFT file-name BY protfoff PLACES.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;    MOVE file-name TO prot_list-local_host.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;    protcnt = protcnt + 1.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;    APPEND prot_list.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  ENDDO.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  CALL 'C_DIR_READ_FINISH'&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;    ID 'ERRNO'  FIELD file-errno&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;    ID 'ERRMSG' FIELD file-errmsg.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;ENDFORM.                               " F_SEARCH_PROT&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;&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;*&amp;amp;      Form  F_LIST_PROTOCOL_FILES                                    *&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;&lt;/P&gt;&lt;P&gt;FORM f_list_protocol_files.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  CLEAR:   logname1, prot_list, protcnt.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  REFRESH: prot_list.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  protflen = STRLEN( logname ).&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  MOVE logname TO logname1.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  WHILE shiftlen LE protflen.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;    IF  logname1 CP '&lt;STRONG&gt;#B#I&lt;/STRONG&gt;'.          "suchen nach muster &lt;STRONG&gt;#B#I&lt;/STRONG&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;      IF sy-fdpos EQ 0.                "nur grou00DFbuchstaben&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;        shiftlen = 2.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;      ELSE.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;        shiftlen = sy-fdpos.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;      ENDIF.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;      protfoff = protfoff + shiftlen.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;      SHIFT logname1 BY shiftlen PLACES.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;    ELSE.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;      shiftlen = protflen + 1.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;      protfoff = protfoff - 2.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;    ENDIF.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  ENDWHILE.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  IF protfoff LE 0.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;    protfoff = 0.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  ENDIF.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  rlen = 80 - protfoff.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  WRITE space  TO logname+protfoff(rlen).&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  WRITE 'BI* ' TO logname+protfoff(4).&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  PERFORM f_search_prot USING logname.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;ENDFORM.                    " F_LIST_PROTOCOL_FILES&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;&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;*&amp;amp;      Form  F_GET_LOGFILES_FROM_TEMSE                                *&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;&lt;/P&gt;&lt;P&gt;FORM f_get_logfiles_from_temse.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;are there any logs in the TemSe for this QID ?&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  CLEAR logtab_temse[].&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  CLEAR bdcld[].&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  SELECT * FROM apql INTO TABLE logtab_temse&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;           WHERE qid = apqi-qid.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  CHECK sy-subrc = 0.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;some logs were found: now put this info into table bdcld.&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  DATA: wa_log LIKE LINE OF logtab_temse,&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;        wa_ld  LIKE LINE OF bdcld.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  LOOP AT logtab_temse INTO wa_log.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;    CLEAR wa_ld.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;    wa_ld-temseid = wa_log-temseid.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;    wa_ld-lmand   = wa_log-mandant.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;    wa_ld-edate   = wa_log-credate.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;    wa_ld-etime   = wa_log-cretime.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;    wa_ld-luser   = wa_log-creator.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;    wa_ld-grpn    = wa_log-groupid.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;    wa_ld-quid    = wa_log-qid.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;    wa_ld-local_host = wa_log-destsys(8).&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;    APPEND wa_ld TO bdcld.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  ENDLOOP.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;ENDFORM.                    " F_GET_LOGFILES_FROM_TEMSE&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;&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;*&amp;amp;      Form  F_GET_LOG                                                *&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;&lt;/P&gt;&lt;P&gt;FORM f_get_log.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  DATA: BEGIN OF logtable OCCURS 50,&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;          enterdate LIKE btctle-enterdate,&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;          entertime LIKE btctle-entertime,&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;          logmessage(352) TYPE c,&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;        END OF logtable.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  DATA: external_date(10),&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;        internal_date TYPE d.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  READ TABLE bdcld INDEX 1.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  logname = bdcld-logname.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  IF newprot = 'OFF'.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;get logfile contents from common log file&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;    CALL 'ReadLogPartitionA'     ID 'LOGN'    FIELD logname&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;                                 ID 'ETAB'    FIELD bdclm-&lt;STRONG&gt;sys&lt;/STRONG&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;                                 ID 'PART'    FIELD bdcld&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;                                 ID 'ECNT'    FIELD ec.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;    IF sy-subrc &amp;lt;&amp;gt; 0. MESSAGE s325(00). ENDIF.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;    IF ec = 0.        MESSAGE s324(00). ENDIF.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  ELSE.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;get logfile contents from TemSe&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;    PERFORM read_bdc_log_plain&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;      TABLES logtable&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;      USING  bdcld-temseid bdcld-lmand.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;    IF sy-subrc &amp;lt;&amp;gt; 0.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;      MESSAGE s004(ts).&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;      EXIT.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;    ENDIF.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;    CLEAR bdclm[].&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;    LOOP AT logtable.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;      CALL 'DATE_CONV_INT_TO_EXT'&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;           ID 'DATINT' FIELD logtable-enterdate&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;           ID 'DATEXT' FIELD external_date.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;      CALL 'DATE_CONV_EXT_TO_INT'&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;           ID 'DATEXT' FIELD external_date&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;           ID 'DATINT' FIELD internal_date.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;      IF sy-subrc NE 0.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;        CONTINUE.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;      ENDIF.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;      CLEAR bdclm.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;      bdclm-indate  = logtable-enterdate.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;      bdclm-intime  = logtable-entertime.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;      bdclm+14(352) = logtable-logmessage.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;      APPEND bdclm.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;    ENDLOOP.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  ENDIF.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;ENDFORM.                    " F_GET_LOG&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;&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;*&amp;amp;      Form  F_EXTEND_MESSAGE_TEXTS                                   *&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;&lt;/P&gt;&lt;P&gt;FORM f_extend_message_texts.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  LOOP AT bdclm.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;    save_mpar = bdclm-mpar.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;    PERFORM f_get_text.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;    bdclm-longtext = mtext.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;    bdclm-mpar = save_mpar.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;    MODIFY bdclm.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  ENDLOOP.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;ENDFORM.                    " F_EXTEND_MESSAGE_TEXTS&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;&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;*&amp;amp;      Form  F_GET_TEXT                                               *&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;&lt;/P&gt;&lt;P&gt;FORM f_get_text.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  DATA: shiftln TYPE i,&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;        vartcnt TYPE i,&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;        fdpos LIKE sy-fdpos.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  IF bdclm-mparcnt CN digits.        "Korrupter Datensatz:&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;    bdclm-mparcnt = 0.               "z.B. Hexnullen&lt;/P&gt;&lt;P&gt;&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;&lt;/P&gt;&lt;P&gt;   WHERE sprsl = sy-langu&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;   AND  arbgb  = bdclm-mid&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;   AND  msgnr  = 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;&lt;/P&gt;&lt;P&gt;    CLEAR: mtext,&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;           parcnt,&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;           mparcnt,&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;           charcnt,&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;           wcnt,&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;           mt,&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;           sp_len,&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;           sy-fdpos.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;    MOVE bdclm-mparcnt TO mparcnt.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;    IF t100-text CA '$&amp;amp;'.            "Kennung fuer parameter:&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;      MOVE t100-text TO mtext1.      " alt '$' --- neu '&amp;amp;'&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;    ELSE.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;      MOVE t100-text TO mtext.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;      EXIT.&lt;/P&gt;&lt;P&gt;&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;&lt;/P&gt;&lt;P&gt;    CLEAR shiftln.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;    DO mparcnt TIMES.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;      CLEAR: par, mttab.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;      MOVE bdclm-mpar TO par.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;      IF par-len CN digits OR par-len EQ 0.       "convert_no_number&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;        par-len = 1.                              "entschu00E4rfen&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;      ENDIF.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;      WRITE par-text TO mttab-text(par-len).&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;      MOVE par-len  TO mttab-len.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;      MOVE mparcnt  TO mttab-off.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;      APPEND mttab.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;      shiftln = par-len + 2.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;      SHIFT bdclm-mpar BY shiftln PLACES.&lt;/P&gt;&lt;P&gt;&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;&lt;/P&gt;&lt;P&gt;    IF bdclm-mid EQ  '00' AND    " sonderbehandlung s00368&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;       bdclm-mnr EQ '368' AND&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;       bdclm-mart EQ 'S'.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;      CLEAR mtext2.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;      CLEAR mttab.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;      READ TABLE mttab INDEX 1.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;      WRITE mttab-text TO mtext2+0(mttab-len).&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;      CLEAR mttab.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;      READ TABLE mttab INDEX 2.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;      WRITE mttab-text TO mtext2+35(mttab-len).&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;      mtext = mtext2.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;      EXIT.&lt;/P&gt;&lt;P&gt;&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;&lt;/P&gt;&lt;P&gt;    CLEAR: mt, vartcnt, mtvaroff.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;    WHILE vartcnt LE 3.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;      vartcnt = vartcnt + 1.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;      IF mtext1 CA '$&amp;amp;'.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;        parcnt = parcnt + 1.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;        IF sy-fdpos GT 0.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;          fdpos = sy-fdpos - 1.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;        ELSE.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;          fdpos = sy-fdpos.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;        ENDIF.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;        SHIFT mtext1 BY sy-fdpos PLACES.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;        IF mtext1(1) EQ '&amp;amp;'.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;          SHIFT mtext1 BY 1 PLACES.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;          CASE mtext1(1).&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;            WHEN ' '.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;              PERFORM f_replace_var USING '&amp;amp; ' parcnt fdpos.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;            WHEN '$'.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;              PERFORM f_replace_var USING '&amp;amp;&amp;amp;' 0      fdpos.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;            WHEN '1'.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;              PERFORM f_replace_var USING '&amp;amp;1' 1      fdpos.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;            WHEN '2'.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;              PERFORM f_replace_var USING '&amp;amp;2' 2      fdpos.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;            WHEN '3'.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;              PERFORM f_replace_var USING '&amp;amp;3' 3      fdpos.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;            WHEN '4'.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;              PERFORM f_replace_var USING '&amp;amp;4' 4      fdpos.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;            WHEN OTHERS.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;              PERFORM f_replace_var USING '&amp;amp;&amp;lt;' parcnt fdpos.&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;        ENDIF.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;        IF mtext1(1) EQ '$'.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;          SHIFT mtext1 BY 1 PLACES.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;          CASE mtext1(1).&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;            WHEN ' '.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;              PERFORM f_replace_var USING '$ ' parcnt  fdpos.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;            WHEN '$'.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;              PERFORM f_replace_var USING '$$' 0       fdpos.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;            WHEN '1'.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;              PERFORM f_replace_var USING '$1' 1       fdpos.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;            WHEN '2'.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;              PERFORM f_replace_var USING '$2' 2       fdpos.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;            WHEN '3'.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;              PERFORM f_replace_var USING '$3' 3       fdpos.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;            WHEN '4'.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;              PERFORM f_replace_var USING '$4' 4       fdpos.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;            WHEN OTHERS.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;              PERFORM f_replace_var USING '$&amp;lt;' parcnt  fdpos.&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;        ENDIF.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;      ENDIF.&lt;/P&gt;&lt;P&gt;&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;&lt;/P&gt;&lt;P&gt;      REPLACE '%%_D_%%' WITH '$' INTO mtext2.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;    ENDIF.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;    IF mtext2 CA '%%_A_%%'.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;      REPLACE '%%_A_%%' WITH '&amp;amp;' INTO mtext2.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;    ENDIF.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;    IF do_condense EQ space.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;      mtext = mtext2.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;    ELSE.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;      CONDENSE mtext2 .&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;      mtext = mtext2.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;    ENDIF.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  ELSE.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;    mtext = '???????????????????????????????????????????????????'.&lt;/P&gt;&lt;P&gt;&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.                    " F_GET_TEXT&lt;/P&gt;&lt;P&gt;&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;Read plain log from TemSe&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;INCLUDE rsbdcil3.&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
    <pubDate>Wed, 06 Aug 2008 10:16:02 GMT</pubDate>
    <dc:creator>Former Member</dc:creator>
    <dc:date>2008-08-06T10:16:02Z</dc:date>
    <item>
      <title>Read Batch input log through custom report</title>
      <link>https://community.sap.com/t5/application-development-and-automation-discussions/read-batch-input-log-through-custom-report/m-p/4278100#M1020642</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 have a small issue like.I have created batch input session through the program and i have run the batch session in SM35 sucessfully. The log is generated.I want to display this log through my report.&lt;/P&gt;&lt;P&gt;Is there any function module for this.I know tat we can use APQL table and BDCLd and BDCLM.&lt;/P&gt;&lt;P&gt;in  BDCLD and BDCLM strctures the values will be strored.How to read the data from those strctures.&lt;/P&gt;&lt;P&gt;Is there any FM to get the data from those structures.&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Wed, 06 Aug 2008 10:13:17 GMT</pubDate>
      <guid>https://community.sap.com/t5/application-development-and-automation-discussions/read-batch-input-log-through-custom-report/m-p/4278100#M1020642</guid>
      <dc:creator>Former Member</dc:creator>
      <dc:date>2008-08-06T10:13:17Z</dc:date>
    </item>
    <item>
      <title>Re: Read Batch input log through custom report</title>
      <link>https://community.sap.com/t5/application-development-and-automation-discussions/read-batch-input-log-through-custom-report/m-p/4278101#M1020643</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Try this sample code..may be it will help u..&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;REPORT zepo_bi_log LINE-SIZE 255.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;TABLES: apqd, apqi, t100, bdcdata.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;DATA: BEGIN OF st-ifile,&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;        trans LIKE apqd-trans,&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;        field1(132),&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;        field2(132),&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;        field3(132),&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;        field4(132),&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;        field5(132),&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;        type(4),&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;      END OF st-ifile,&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;      BEGIN OF ifields OCCURS 5,&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;        fnam      TYPE bdcdata-fnam,&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;        fieldtext TYPE dfies-fieldtext,&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;        intlen    TYPE dd03l-intlen,&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;        outputlen TYPE dd03l-leng,&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;      END OF ifields,&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;      w_dfies LIKE dfies.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;DATA: iapqd LIKE apqd OCCURS 0 WITH HEADER LINE.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;DATA: ifile LIKE st-ifile OCCURS 0 WITH HEADER LINE.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;DATA: paramname(11) VALUE 'bdc/logfile',&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;      logname(80) VALUE 'D:\usr\sap\DEV\SYS\global\BIS70M000600.LOG',&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;      logname1(80),&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;      s_logname(80),&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;      ec     TYPE i,&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;      one    TYPE i VALUE 1,&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;      bdcld# TYPE i,&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;      log_flag,&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;      counter_err TYPE i,&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;      l_counter(7) TYPE n,&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;      parcnt  TYPE i,&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;      do_condense TYPE c,&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;      mtvaroff TYPE i,&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;      x(1) VALUE 'X',&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;      mparcnt TYPE i,&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;      charcnt TYPE i,&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;      wcnt TYPE i,&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;      sp_len TYPE i,&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;      digits(10) TYPE c VALUE '0123456789',&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;      mtext(124) TYPE c,&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;      mtext1(124) TYPE c,&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;      mtext2(273) TYPE c,&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;      line_count TYPE i,&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;      protcnt TYPE i.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;DATA: BEGIN OF mttab  OCCURS 4,&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;        off(02) TYPE n,&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;        len(02) TYPE n,&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;        text(80),&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;      END OF mttab.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;DATA: BEGIN OF mt,&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;        off(02) TYPE n,&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;        len(02) TYPE n,&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;        text(80),&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;      END OF mt.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;DATA: BEGIN OF file.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;INCLUDE rstr0112.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;DATA: END OF file.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;DATA: BEGIN OF par,&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;        len(02) TYPE n,&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;        text(80),&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;      END OF par.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;DATA: shiftlen TYPE i VALUE 0,&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;      protflen TYPE i VALUE 0,&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;      protfoff TYPE i VALUE 0,&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;      rlen     TYPE i VALUE 0.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;DATA BEGIN OF bdcld  OCCURS 0.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;        INCLUDE STRUCTURE bdcld.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;DATA:  logname(80),&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;       local_host(12),&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;       cnt TYPE i,&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;       active(1) TYPE c,&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;       temseid TYPE rstsoname.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;DATA: END OF bdcld.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;DATA: logtab LIKE bdcld OCCURS 0 WITH HEADER LINE,&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;      logtab_temse LIKE apql OCCURS 0 WITH HEADER LINE.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;DATA: BEGIN OF bdclda  OCCURS 0.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;        INCLUDE STRUCTURE bdcld.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;DATA: END OF bdclda.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;DATA: it_apqi LIKE apqi OCCURS 0 WITH HEADER LINE.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;DATA: save_mpar TYPE bdc_mpar.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;DATA: BEGIN OF bdclm  OCCURS 0.&lt;/P&gt;&lt;P&gt;&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;&lt;/P&gt;&lt;P&gt;        longtext TYPE bdc_mpar,&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;      END OF bdclm.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;DATA: BEGIN OF prot_list OCCURS 0.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;INCLUDE rstr0112.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;DATA:   seen(1),&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;        to_be_deleted(1),&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;        has_changed(1),&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;        local_host(12),&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;      END OF prot_list.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;DATA: field_offset TYPE i,&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;      field_length TYPE i,&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;      rec_cnt      TYPE i,&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;      found        TYPE i,&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;      j            TYPE i,&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;      jc(1),&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;      k            TYPE i,&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;      kc(1),&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;      field_txt(12),&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;      p_field_txt(8),&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;      c20(20),&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;      c21(20),&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;      c22(20).&lt;/P&gt;&lt;P&gt;&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;needed for check if TemSe interface is active:&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;DATA: protparam(60) VALUE 'bdc/new_protocol',&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;      newprot(3)    VALUE 'off',&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;      selected_protocol TYPE i.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;DATA: w_tabname LIKE dfies-tabname,&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;      w_fieldname LIKE dfies-fieldname,&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;      w_space(132) TYPE c.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;DATA: w_grpid(12).&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;DATA: p_qid(20).&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;FIELD-SYMBOLS: &amp;lt;p_field&amp;gt;,&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;               &amp;lt;mtxt&amp;gt;,&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;               &amp;lt;vtxt&amp;gt;,&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;               &amp;lt;field&amp;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;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;Selection screen&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;***&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;SELECTION-SCREEN BEGIN OF BLOCK qid WITH FRAME TITLE text-001.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;Group Selection&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;PARAMETERS: p_grpid LIKE apqi-groupid DEFAULT 'IT*'.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;SELECT-OPTIONS: so_date FOR apqi-credate DEFAULT sy-datum NO-EXTENSION.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;SELECTION-SCREEN END OF BLOCK qid.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;SELECTION-SCREEN BEGIN OF BLOCK type WITH FRAME TITLE text-002.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;Messages Selection&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;SELECT-OPTIONS: so_mart FOR bdclm-mart DEFAULT 'E',&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;                so_mid FOR bdclm-mid,&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;                so_mnr FOR bdclm-mnr.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;SELECTION-SCREEN END OF BLOCK type.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;SELECTION-SCREEN BEGIN OF BLOCK fields WITH FRAME TITLE text-003.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;Field Output Selection&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;PARAMETERS: p_field1 LIKE bdcdata-fnam DEFAULT 'RP50G-PERNR',&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;            p_field2 LIKE bdcdata-fnam DEFAULT 'RP50G-BEGDA',&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;            p_field3 LIKE bdcdata-fnam DEFAULT 'RP50G-ENDDA',&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;            p_field4 LIKE bdcdata-fnam,&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;            p_field5 LIKE bdcdata-fnam.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;SELECTION-SCREEN END OF BLOCK fields.&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;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;At selection screen&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;***&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;AT SELECTION-SCREEN ON so_date.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  IF so_date-low IS INITIAL.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;    so_date-low = sy-datum.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;    MESSAGE e065(29).&lt;/P&gt;&lt;P&gt;&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;&lt;/P&gt;&lt;P&gt;&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;Start of selection&lt;/P&gt;&lt;/LI&gt;&lt;/UL&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;  IF p_grpid IS INITIAL.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;    p_grpid = '*'.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  ENDIF.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  MOVE p_grpid TO w_grpid.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  REPLACE '*' WITH '%' INTO w_grpid.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  IF so_date-high LT so_date-low.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;    so_date-high = so_date-low.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  ENDIF.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  SELECT * FROM apqi WHERE groupid LIKE w_grpid&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;                       AND credate GE so_date-low&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;                       AND credate LE so_date-high.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;    WRITE:/ apqi-groupid HOTSPOT, apqi-creator,&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;            apqi-credate, apqi-cretime.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;    HIDE: apqi-qid,&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;         apqi-groupid, apqi-creator, apqi-credate, apqi-cretime.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  ENDSELECT.&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;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;At line selection&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;***&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;AT LINE-SELECTION.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  REFRESH: bdclm,&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;           prot_list,&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;           iapqd,&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;           it_apqi,&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;           ifile,&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;           ifields,&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;           bdcld.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  k = 0.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  DO 5 TIMES.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;    k = k + 1.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;    kc = k.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;    CONCATENATE 'p_field' kc INTO p_field_txt.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;    ASSIGN (p_field_txt) TO &amp;lt;p_field&amp;gt;.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;    IF &amp;lt;p_field&amp;gt; = space.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;      CONTINUE.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;    ENDIF.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;    ifields-fnam = &amp;lt;p_field&amp;gt;.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;    TRANSLATE ifields-fnam TO UPPER CASE.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;    SPLIT ifields-fnam AT '-' INTO w_tabname w_fieldname.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;    SELECT SINGLE intlen leng&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;             FROM dd03l&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;             INTO (ifields-intlen,ifields-outputlen)&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;            WHERE tabname   = w_tabname&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;              AND fieldname = w_fieldname.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;    IF sy-subrc &amp;lt;&amp;gt; 0.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;      CONTINUE.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;    ENDIF.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;    ifields-fieldtext = w_fieldname.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;    APPEND ifields.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  ENDDO.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  logname = space.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  line_count = 0.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  p_qid = apqi-qid.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  WRITE:/ apqi-groupid , apqi-creator , apqi-credate , apqi-cretime.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  WRITE:/.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  WRITE:/ '      LINE' , '      TRAN '.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  LOOP AT ifields.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;    WRITE: ifields-fieldtext(ifields-outputlen).&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  ENDLOOP.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  WRITE: 'TYPE' , 'ERROR MSG'.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  it_apqi-qid = p_qid.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  PERFORM f_get_logfiles_for_qid.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  IF selected_protocol &amp;gt; 0.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;    PERFORM f_get_log.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;    PERFORM f_extend_message_texts.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  ENDIF.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  LOOP AT bdclm WHERE mart IN so_mart AND&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;                      mid  IN so_mid AND&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;                      mnr  IN so_mnr.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;    SELECT * INTO TABLE iapqd&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;                  FROM apqd WHERE qid = p_qid AND&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;                                 trans = bdclm-tcnt.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;    SORT iapqd BY qid trans block.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;    LOOP AT iapqd.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;      IF ifile-trans NE iapqd-trans.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;        IF ifile-trans NE space.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;          APPEND ifile.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;        ENDIF.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;      ENDIF.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;      k = 0.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;      found = 0.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;      LOOP AT ifields.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;        k = k + 1.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;        kc = k.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;        CONCATENATE 'ifile-field' kc INTO field_txt.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;        ASSIGN ifields-fnam TO &amp;lt;p_field&amp;gt;.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;        ASSIGN (field_txt) TO &amp;lt;field&amp;gt;.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;        IF &amp;lt;p_field&amp;gt; = space OR NOT &amp;lt;field&amp;gt; IS INITIAL.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;          CONTINUE.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;        ENDIF.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;      Retrieve content of the field&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;        SEARCH iapqd-vardata FOR &amp;lt;p_field&amp;gt;.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;        IF sy-subrc = 0.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;          found = 1.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;          field_length = STRLEN( &amp;lt;p_field&amp;gt; ).&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;          field_offset = sy-fdpos + field_length + 1.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;          IF field_offset &amp;gt; iapqd-varlen.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;            CONTINUE.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;          ENDIF.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;          &amp;lt;field&amp;gt; = iapqd-vardata+field_offset(ifields-intlen).&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;        ENDIF.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;      ENDLOOP.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;      ifile-trans = iapqd-trans.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;    ENDLOOP.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;    ADD 1 TO line_count.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;    WRITE:/ line_count,&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;            ifile-trans.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;    k = 0.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;    LOOP AT ifields.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;      k = k + 1.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;      kc = k.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;      CONCATENATE 'ifile-field' kc INTO field_txt.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;      ASSIGN (field_txt) TO &amp;lt;field&amp;gt;.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;      IF &amp;lt;field&amp;gt; IS INITIAL.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;        WRITE: w_space(ifields-outputlen).&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;      ELSE.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;        WRITE: &amp;lt;field&amp;gt;(ifields-outputlen).&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;      ENDIF.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;    ENDLOOP.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;    ifile-type = bdclm-mart.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;    WRITE: ifile-type.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;    PERFORM f_get_text1.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;    WRITE: mtext.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;    CLEAR: ifile.&lt;/P&gt;&lt;P&gt;&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;&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;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;      FORM F_GET_TEXT1                                              *&lt;/P&gt;&lt;/LI&gt;&lt;/UL&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;FORM f_get_text1.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  DATA: shiftln TYPE i,&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;        vartcnt TYPE i,&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;        fdpos LIKE sy-fdpos.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  IF bdclm-mparcnt CN digits.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;    bdclm-mparcnt = 0.&lt;/P&gt;&lt;P&gt;&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;&lt;/P&gt;&lt;P&gt;   WHERE sprsl = sy-langu&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;   AND  arbgb  = bdclm-mid&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;   AND  msgnr  = 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;&lt;/P&gt;&lt;P&gt;    CLEAR: mtext,&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;           parcnt,&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;           mparcnt,&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;           charcnt,&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;           wcnt,&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;           mt,&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;           sp_len,&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;           sy-fdpos.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;    MOVE 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;&lt;/P&gt;&lt;P&gt;      MOVE t100-text TO mtext1.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;    ELSE.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;      MOVE t100-text TO mtext.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;      EXIT.&lt;/P&gt;&lt;P&gt;&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;&lt;/P&gt;&lt;P&gt;    CLEAR shiftln.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;    DO mparcnt TIMES.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;      CLEAR: par, mttab.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;      MOVE bdclm-mpar TO par.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;      IF par-len CN digits.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;        par-len = 1.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;      ENDIF.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;      WRITE par-text TO mttab-text(par-len).&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;      MOVE par-len  TO mttab-len.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;      MOVE mparcnt  TO mttab-off.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;      APPEND mttab.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;      shiftln = par-len + 2.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;      SHIFT bdclm-mpar BY shiftln PLACES.&lt;/P&gt;&lt;P&gt;&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;&lt;/P&gt;&lt;P&gt;    IF bdclm-mid EQ  '00' AND&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;       bdclm-mnr EQ '368' AND&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;       bdclm-mart EQ 'S'.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;      CLEAR mtext2.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;      CLEAR mttab.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;      READ TABLE mttab INDEX 1.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;      WRITE mttab-text TO mtext2+0(mttab-len).&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;      CLEAR mttab.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;      READ TABLE mttab INDEX 2.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;      WRITE mttab-text TO mtext2+35(mttab-len).&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;      mtext = mtext2.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;      EXIT.&lt;/P&gt;&lt;P&gt;&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;    do_condense = x.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;    CLEAR: mt, vartcnt, mtvaroff.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;    WHILE vartcnt LE 3.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;      vartcnt = vartcnt + 1.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;      IF mtext1 CA '$&amp;amp;'.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;        parcnt = parcnt + 1.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;        IF sy-fdpos GT 0.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;          fdpos = sy-fdpos - 1.        " neu sy-fdpos -1&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;        ELSE.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;          fdpos = sy-fdpos.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;        ENDIF.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;        SHIFT mtext1 BY sy-fdpos PLACES.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;        IF mtext1(1) EQ '&amp;amp;'.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;          SHIFT mtext1 BY 1 PLACES.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;          CASE mtext1(1).&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;            WHEN ' '.                  "'&amp;amp; '&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;              PERFORM f_replace_var USING '&amp;amp; ' parcnt fdpos.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;            WHEN '$'.                  "'&amp;amp;&amp;amp;'&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;              PERFORM f_replace_var USING '&amp;amp;&amp;amp;' 0      fdpos.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;            WHEN '1'.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;              PERFORM f_replace_var USING '&amp;amp;1' 1      fdpos.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;            WHEN '2'.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;              PERFORM f_replace_var USING '&amp;amp;2' 2      fdpos.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;            WHEN '3'.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;              PERFORM f_replace_var USING '&amp;amp;3' 3      fdpos.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;            WHEN '4'.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;              PERFORM f_replace_var USING '&amp;amp;4' 4      fdpos.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;            WHEN OTHERS.               "'&amp;amp;'&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;              PERFORM f_replace_var USING '&amp;amp;&amp;lt;' parcnt fdpos.&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;        ENDIF.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;        IF mtext1(1) EQ '$'.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;          SHIFT mtext1 BY 1 PLACES.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;          CASE mtext1(1).&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;            WHEN ' '.                  "'$ '&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;              PERFORM f_replace_var USING '$ ' parcnt  fdpos.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;            WHEN '$'.                  "'$$'&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;              PERFORM f_replace_var USING '$$' 0       fdpos.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;            WHEN '1'.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;              PERFORM f_replace_var USING '$1' 1       fdpos.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;            WHEN '2'.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;              PERFORM f_replace_var USING '$2' 2       fdpos.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;            WHEN '3'.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;              PERFORM f_replace_var USING '$3' 3       fdpos.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;            WHEN '4'.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;              PERFORM f_replace_var USING '$4' 4       fdpos.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;            WHEN OTHERS.               "'$'&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;              PERFORM f_replace_var USING '$&amp;lt;' parcnt  fdpos.&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;        ENDIF.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;      ENDIF.&lt;/P&gt;&lt;P&gt;&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;&lt;/P&gt;&lt;P&gt;      REPLACE '%%_D_%%' WITH '$' INTO mtext2.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;    ENDIF.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;    IF mtext2 CA '%%_A_%%'.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;      REPLACE '%%_A_%%' WITH '&amp;amp;' INTO mtext2.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;    ENDIF.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;    IF do_condense EQ space.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;      mtext = mtext2.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;    ELSE.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;      CONDENSE mtext2 .&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;      mtext = mtext2.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;    ENDIF.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  ELSE.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;    mtext = '???????????????????????????????????????????????????'(999).&lt;/P&gt;&lt;P&gt;&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.                    " F_GET_TEXT1&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;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;      FORM F_REPLACE_VAR                                            *&lt;/P&gt;&lt;/LI&gt;&lt;/UL&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;FORM f_replace_var USING vark vari varpos.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  DATA: var(02),&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;        var1,&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;        moff TYPE i,&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;        len  TYPE i,&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;        vlen  TYPE i.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  CLEAR: mttab , moff.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  var = vark.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  SHIFT var BY 1 PLACES.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  CASE var.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;    WHEN ' '.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;      READ TABLE mttab INDEX vari.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;      IF sy-subrc EQ 0.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;        moff = varpos + mtvaroff.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;        ASSIGN mtext2+moff(*) TO &amp;lt;mtxt&amp;gt;.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;        ASSIGN mttab-text(mttab-len) TO &amp;lt;vtxt&amp;gt;.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;        var1 = vark.&lt;/P&gt;&lt;P&gt;&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;&lt;/P&gt;&lt;P&gt;        mtvaroff = mttab-len.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;      ELSE.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;        IF vari GT mparcnt.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;          moff = varpos + mtvaroff.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;          ASSIGN mtext2+moff(*) TO &amp;lt;mtxt&amp;gt;.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;          REPLACE vark WITH '  ' INTO &amp;lt;mtxt&amp;gt;.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;          mtvaroff = 2.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;        ELSE.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;          moff = varpos + mtvaroff.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;          ASSIGN mtext2+moff(*) TO &amp;lt;mtxt&amp;gt;.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;          REPLACE vark WITH '%%_Z_%%' INTO &amp;lt;mtxt&amp;gt;.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;          mtvaroff = 7.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;        ENDIF.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;      ENDIF.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;    WHEN '$'.                          "'&amp;amp;&amp;amp;'&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;      moff = varpos + mtvaroff.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;      ASSIGN mtext2+moff(*) TO &amp;lt;mtxt&amp;gt;.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;      REPLACE vark WITH '%%_D_%%' INTO &amp;lt;mtxt&amp;gt;.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;      mtvaroff = 7.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;    WHEN '&amp;amp;'.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;      moff = varpos + mtvaroff.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;      ASSIGN mtext2+moff(*) TO &amp;lt;mtxt&amp;gt;.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;      REPLACE vark WITH '%%_A_%%' INTO &amp;lt;mtxt&amp;gt;.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;      mtvaroff = 7.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;    WHEN '&amp;lt;'.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;      READ TABLE mttab INDEX vari.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;      IF sy-subrc EQ 0.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;        IF vark EQ '&amp;amp;&amp;lt;'.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;          moff = varpos + mtvaroff.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;          ASSIGN mtext2+moff(*) TO &amp;lt;mtxt&amp;gt;.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;          ASSIGN mttab-text(mttab-len) TO &amp;lt;vtxt&amp;gt;.&lt;/P&gt;&lt;P&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;&lt;/P&gt;&lt;P&gt;          mtvaroff = mttab-len.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;        ENDIF.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;        IF vark EQ '$&amp;lt;'.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;          moff = varpos + mtvaroff.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;          ASSIGN mtext2+moff(*) TO &amp;lt;mtxt&amp;gt;.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;          ASSIGN mttab-text(mttab-len) TO &amp;lt;vtxt&amp;gt;.&lt;/P&gt;&lt;P&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;&lt;/P&gt;&lt;P&gt;          mtvaroff = mttab-len.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;        ENDIF.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;      ELSE.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;        IF vark EQ '&amp;amp;&amp;lt;'.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;          moff = varpos + mtvaroff.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;          ASSIGN mtext2+moff(*) TO &amp;lt;mtxt&amp;gt;.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;          REPLACE '&amp;amp;' WITH ' ' INTO &amp;lt;mtxt&amp;gt;.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;          mtvaroff = 1.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;        ENDIF.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;        IF vark EQ '$&amp;lt;'.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;          moff = varpos + mtvaroff.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;          ASSIGN mtext2+moff(*) TO &amp;lt;mtxt&amp;gt;.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;          REPLACE '$' WITH ' ' INTO &amp;lt;mtxt&amp;gt;.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;          mtvaroff = 1.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;        ENDIF.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;      ENDIF.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;    WHEN '1'.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;      READ TABLE mttab INDEX 1.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;      IF sy-subrc EQ 0.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;        moff = varpos + mtvaroff.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;        ASSIGN mtext2+moff(*) TO &amp;lt;mtxt&amp;gt;.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;        ASSIGN mttab-text(mttab-len) TO &amp;lt;vtxt&amp;gt;.&lt;/P&gt;&lt;P&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;&lt;/P&gt;&lt;P&gt;        mtvaroff = mttab-len.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;      ELSE.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;        IF vari GT mparcnt.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;          moff = varpos + mtvaroff.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;          ASSIGN mtext2+moff(*) TO &amp;lt;mtxt&amp;gt;.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;          REPLACE vark WITH '  ' INTO &amp;lt;mtxt&amp;gt;.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;          mtvaroff = 2.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;        ELSE.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;          moff = varpos + mtvaroff.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;          ASSIGN mtext2+moff(*) TO &amp;lt;mtxt&amp;gt;.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;          REPLACE vark WITH '%%_Z_%%' INTO &amp;lt;mtxt&amp;gt;.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;          mtvaroff = 7.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;        ENDIF.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;      ENDIF.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;    WHEN '2'.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;      READ TABLE mttab INDEX 2.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;      IF sy-subrc EQ 0.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;        moff = varpos + mtvaroff.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;        ASSIGN mtext2+moff(*) TO &amp;lt;mtxt&amp;gt;.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;        ASSIGN mttab-text(mttab-len) TO &amp;lt;vtxt&amp;gt;.&lt;/P&gt;&lt;P&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;&lt;/P&gt;&lt;P&gt;        mtvaroff = mttab-len.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;      ELSE.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;        IF vari GT mparcnt.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;          moff = varpos + mtvaroff.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;          ASSIGN mtext2+moff(*) TO &amp;lt;mtxt&amp;gt;.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;          REPLACE vark WITH '  ' INTO &amp;lt;mtxt&amp;gt;.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;          mtvaroff = 2.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;        ELSE.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;          moff = varpos + mtvaroff.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;          ASSIGN mtext2+moff(*) TO &amp;lt;mtxt&amp;gt;.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;          REPLACE vark WITH '%%_Z_%%' INTO &amp;lt;mtxt&amp;gt;.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;          mtvaroff = 7.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;        ENDIF.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;      ENDIF.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;    WHEN '3'.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;      READ TABLE mttab INDEX 3.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;      IF sy-subrc EQ 0.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;        moff = varpos + mtvaroff.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;        ASSIGN mtext2+moff(*) TO &amp;lt;mtxt&amp;gt;.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;        ASSIGN mttab-text(mttab-len) TO &amp;lt;vtxt&amp;gt;.&lt;/P&gt;&lt;P&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;&lt;/P&gt;&lt;P&gt;        mtvaroff = mttab-len.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;      ELSE.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;        IF vari GT mparcnt.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;          moff = varpos + mtvaroff.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;          ASSIGN mtext2+moff(*) TO &amp;lt;mtxt&amp;gt;.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;          REPLACE vark WITH '  ' INTO &amp;lt;mtxt&amp;gt;.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;          mtvaroff = 2.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;        ELSE.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;          moff = varpos + mtvaroff.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;          ASSIGN mtext2+moff(*) TO &amp;lt;mtxt&amp;gt;.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;          REPLACE vark WITH '%%_Z_%%' INTO &amp;lt;mtxt&amp;gt;.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;          mtvaroff = 7.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;        ENDIF.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;      ENDIF.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;    WHEN '4'.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;      READ TABLE mttab INDEX 4.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;      IF sy-subrc EQ 0.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;        moff = varpos + mtvaroff.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;        ASSIGN mtext2+moff(*) TO &amp;lt;mtxt&amp;gt;.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;        ASSIGN mttab-text(mttab-len) TO &amp;lt;vtxt&amp;gt;.&lt;/P&gt;&lt;P&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;&lt;/P&gt;&lt;P&gt;        mtvaroff = mttab-len.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;      ELSE.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;        IF vari GT mparcnt.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;          moff = varpos + mtvaroff.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;          ASSIGN mtext2+moff(*) TO &amp;lt;mtxt&amp;gt;.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;          REPLACE vark WITH '  ' INTO &amp;lt;mtxt&amp;gt;.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;          mtvaroff = 2.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;        ELSE.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;          moff = varpos + mtvaroff.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;          ASSIGN mtext2+moff(*) TO &amp;lt;mtxt&amp;gt;.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;          REPLACE vark WITH '%%_Z_%%' INTO &amp;lt;mtxt&amp;gt;.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;          mtvaroff = 7.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;        ENDIF.&lt;/P&gt;&lt;P&gt;&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;ENDFORM.                               " F_REPLACE_VAR&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;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;      FORM F_GET_LOGFILE_FOR_QID                                    *&lt;/P&gt;&lt;/LI&gt;&lt;/UL&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;FORM f_get_logfiles_for_qid.&lt;/P&gt;&lt;P&gt;&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;Get log from TemSe if it is active&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  PERFORM f_get_logfiles_from_temse.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  IF bdcld[] IS INITIAL.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;    newprot = 'OFF'.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;  Get logs from common log file&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;    CALL 'C_SAPGPARAM' ID 'NAME'   FIELD paramname&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;                       ID 'VALUE'  FIELD logname.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;    PERFORM f_list_protocol_files.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;    LOOP AT prot_list.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;      logname = prot_list-name.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;      PERFORM f_log_dir.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;    ENDLOOP.&lt;/P&gt;&lt;P&gt;&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;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;Now bdcld contains the log files for the given qid&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  SORT bdcld BY edate DESCENDING etime DESCENDING.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  DESCRIBE TABLE bdcld LINES selected_protocol.&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.                    " F_GET_LOGFILES_FOR_QID&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;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;      FORM F_FILL_PROT_LIST                                         *&lt;/P&gt;&lt;/LI&gt;&lt;/UL&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;FORM f_fill_prot_list USING prot_files.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  DATA: logname1(80),&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;        new_logfile(04) VALUE 'BI* ',&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;        old_logfile(06) VALUE 'bdclog'.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  CLEAR: logname1,&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;         prot_list,&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;         protcnt.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  REFRESH: prot_list.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  protflen = STRLEN( prot_files ).&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  MOVE prot_files TO logname1.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  WHILE shiftlen LE protflen.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;    IF  logname1 CP '&lt;STRONG&gt;#B#I&lt;/STRONG&gt;'.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;      IF sy-fdpos EQ 0.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;        shiftlen = 2.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;      ELSE.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;        shiftlen = sy-fdpos.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;      ENDIF.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;      protfoff = protfoff + shiftlen.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;      SHIFT logname1 BY shiftlen PLACES.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;    ELSE.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;      shiftlen = protflen + 1.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;      protfoff = protfoff - 2.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;    ENDIF.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  ENDWHILE.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  IF protfoff LE 0.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;    protfoff = 0.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  ENDIF.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  rlen = 80 - protfoff.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  WRITE space       TO prot_files+protfoff(rlen).&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  WRITE new_logfile TO prot_files+protfoff(4).&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  PERFORM f_search_prot USING prot_files.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  WRITE space       TO prot_files+protfoff(rlen).&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  WRITE old_logfile TO prot_files+protfoff(6).&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  PERFORM f_search_prot USING prot_files.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;ENDFORM.                               " F_FILL_PROT_LIST&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;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;      FORM F_LOG_DIR                                                *&lt;/P&gt;&lt;/LI&gt;&lt;/UL&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;FORM f_log_dir.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  CLEAR bdclda. REFRESH bdclda.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  CALL 'ReadLogDirA'       ID 'LOGN'  FIELD logname&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;                           ID 'DTAB'  FIELD bdclda-&lt;STRONG&gt;sys&lt;/STRONG&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;                           ID 'AINF'  FIELD one&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;                           ID 'ECNT'  FIELD ec.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  IF sy-subrc NE 0 OR ec = 0.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;    EXIT.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  ENDIF.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  LOOP AT bdclda WHERE lmand = sy-mandt AND quid = it_apqi-qid.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;    MOVE-CORRESPONDING bdclda TO bdcld.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;    MOVE logname TO bdcld-logname.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;    MOVE prot_list-local_host TO bdcld-local_host.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;    APPEND bdcld.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  ENDLOOP.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;ENDFORM.                               " F_LOG_DIR.&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;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;      FORM F_SEARCH_PROT                                            *&lt;/P&gt;&lt;/LI&gt;&lt;/UL&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;FORM f_search_prot USING prot_files.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  DATA: errcnt(2) TYPE p VALUE 0.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  CALL 'C_DIR_READ_START' ID 'FILE'   FIELD prot_files&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;   ID 'ERRNO'  FIELD file-errno&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;   ID 'ERRMSG' FIELD file-errmsg.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  IF sy-subrc &amp;lt;&amp;gt; 0.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;    WRITE:/ 'error call C_DIR_READ_START sy-subrc' , sy-subrc.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  ENDIF.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  DO.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;Read protocol file&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;    CLEAR file.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;    CALL 'C_DIR_READ_NEXT'&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;      ID 'TYPE'   FIELD file-type&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;      ID 'NAME'   FIELD file-name&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;      ID 'LEN'    FIELD file-len&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;      ID 'OWNER'  FIELD file-owner&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;      ID 'MTIME'  FIELD file-mtime&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;      ID 'MODE'   FIELD file-mode&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;      ID 'ERRNO'  FIELD file-errno&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;      ID 'ERRMSG' FIELD file-errmsg.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;    MOVE sy-subrc TO    file-subrc.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;    CASE sy-subrc.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;      WHEN 0.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;        CASE file-type(1).&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;          WHEN 'F'.                    " normal file.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;            MOVE 1       TO file-useable.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;          WHEN 'f'.                    " normal file.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;            MOVE 1       TO file-useable.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;          WHEN OTHERS. " Directory, device, fifo, socket,...&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;            MOVE 0       TO file-useable.&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;        IF file-len = 0.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;          MOVE 0      TO file-useable.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;        ENDIF.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;      WHEN 1.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;        EXIT.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;      WHEN OTHERS.                     " SY-SUBRC &amp;gt;= 2&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;        ADD 1 TO errcnt.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;        IF errcnt &amp;gt; 10.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;          EXIT.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;        ENDIF.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;        IF sy-subrc = 5.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;          MOVE: '???' TO file-type,&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;                '???' TO file-owner,&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;                '???' TO file-mode.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;        ENDIF.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;        MOVE 0      TO file-useable.&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;    MOVE-CORRESPONDING file TO prot_list.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;    SHIFT file-name BY protfoff PLACES.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;    MOVE file-name TO prot_list-local_host.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;    protcnt = protcnt + 1.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;    APPEND prot_list.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  ENDDO.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  CALL 'C_DIR_READ_FINISH'&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;    ID 'ERRNO'  FIELD file-errno&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;    ID 'ERRMSG' FIELD file-errmsg.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;ENDFORM.                               " F_SEARCH_PROT&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;&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;*&amp;amp;      Form  F_LIST_PROTOCOL_FILES                                    *&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;&lt;/P&gt;&lt;P&gt;FORM f_list_protocol_files.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  CLEAR:   logname1, prot_list, protcnt.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  REFRESH: prot_list.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  protflen = STRLEN( logname ).&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  MOVE logname TO logname1.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  WHILE shiftlen LE protflen.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;    IF  logname1 CP '&lt;STRONG&gt;#B#I&lt;/STRONG&gt;'.          "suchen nach muster &lt;STRONG&gt;#B#I&lt;/STRONG&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;      IF sy-fdpos EQ 0.                "nur grou00DFbuchstaben&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;        shiftlen = 2.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;      ELSE.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;        shiftlen = sy-fdpos.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;      ENDIF.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;      protfoff = protfoff + shiftlen.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;      SHIFT logname1 BY shiftlen PLACES.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;    ELSE.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;      shiftlen = protflen + 1.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;      protfoff = protfoff - 2.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;    ENDIF.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  ENDWHILE.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  IF protfoff LE 0.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;    protfoff = 0.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  ENDIF.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  rlen = 80 - protfoff.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  WRITE space  TO logname+protfoff(rlen).&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  WRITE 'BI* ' TO logname+protfoff(4).&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  PERFORM f_search_prot USING logname.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;ENDFORM.                    " F_LIST_PROTOCOL_FILES&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;&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;*&amp;amp;      Form  F_GET_LOGFILES_FROM_TEMSE                                *&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;&lt;/P&gt;&lt;P&gt;FORM f_get_logfiles_from_temse.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;are there any logs in the TemSe for this QID ?&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  CLEAR logtab_temse[].&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  CLEAR bdcld[].&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  SELECT * FROM apql INTO TABLE logtab_temse&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;           WHERE qid = apqi-qid.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  CHECK sy-subrc = 0.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;some logs were found: now put this info into table bdcld.&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  DATA: wa_log LIKE LINE OF logtab_temse,&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;        wa_ld  LIKE LINE OF bdcld.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  LOOP AT logtab_temse INTO wa_log.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;    CLEAR wa_ld.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;    wa_ld-temseid = wa_log-temseid.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;    wa_ld-lmand   = wa_log-mandant.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;    wa_ld-edate   = wa_log-credate.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;    wa_ld-etime   = wa_log-cretime.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;    wa_ld-luser   = wa_log-creator.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;    wa_ld-grpn    = wa_log-groupid.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;    wa_ld-quid    = wa_log-qid.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;    wa_ld-local_host = wa_log-destsys(8).&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;    APPEND wa_ld TO bdcld.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  ENDLOOP.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;ENDFORM.                    " F_GET_LOGFILES_FROM_TEMSE&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;&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;*&amp;amp;      Form  F_GET_LOG                                                *&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;&lt;/P&gt;&lt;P&gt;FORM f_get_log.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  DATA: BEGIN OF logtable OCCURS 50,&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;          enterdate LIKE btctle-enterdate,&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;          entertime LIKE btctle-entertime,&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;          logmessage(352) TYPE c,&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;        END OF logtable.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  DATA: external_date(10),&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;        internal_date TYPE d.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  READ TABLE bdcld INDEX 1.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  logname = bdcld-logname.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  IF newprot = 'OFF'.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;get logfile contents from common log file&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;    CALL 'ReadLogPartitionA'     ID 'LOGN'    FIELD logname&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;                                 ID 'ETAB'    FIELD bdclm-&lt;STRONG&gt;sys&lt;/STRONG&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;                                 ID 'PART'    FIELD bdcld&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;                                 ID 'ECNT'    FIELD ec.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;    IF sy-subrc &amp;lt;&amp;gt; 0. MESSAGE s325(00). ENDIF.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;    IF ec = 0.        MESSAGE s324(00). ENDIF.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  ELSE.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;get logfile contents from TemSe&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;    PERFORM read_bdc_log_plain&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;      TABLES logtable&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;      USING  bdcld-temseid bdcld-lmand.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;    IF sy-subrc &amp;lt;&amp;gt; 0.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;      MESSAGE s004(ts).&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;      EXIT.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;    ENDIF.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;    CLEAR bdclm[].&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;    LOOP AT logtable.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;      CALL 'DATE_CONV_INT_TO_EXT'&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;           ID 'DATINT' FIELD logtable-enterdate&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;           ID 'DATEXT' FIELD external_date.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;      CALL 'DATE_CONV_EXT_TO_INT'&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;           ID 'DATEXT' FIELD external_date&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;           ID 'DATINT' FIELD internal_date.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;      IF sy-subrc NE 0.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;        CONTINUE.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;      ENDIF.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;      CLEAR bdclm.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;      bdclm-indate  = logtable-enterdate.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;      bdclm-intime  = logtable-entertime.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;      bdclm+14(352) = logtable-logmessage.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;      APPEND bdclm.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;    ENDLOOP.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  ENDIF.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;ENDFORM.                    " F_GET_LOG&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;&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;*&amp;amp;      Form  F_EXTEND_MESSAGE_TEXTS                                   *&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;&lt;/P&gt;&lt;P&gt;FORM f_extend_message_texts.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  LOOP AT bdclm.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;    save_mpar = bdclm-mpar.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;    PERFORM f_get_text.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;    bdclm-longtext = mtext.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;    bdclm-mpar = save_mpar.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;    MODIFY bdclm.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  ENDLOOP.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;ENDFORM.                    " F_EXTEND_MESSAGE_TEXTS&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;&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;*&amp;amp;      Form  F_GET_TEXT                                               *&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;&lt;/P&gt;&lt;P&gt;FORM f_get_text.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  DATA: shiftln TYPE i,&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;        vartcnt TYPE i,&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;        fdpos LIKE sy-fdpos.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  IF bdclm-mparcnt CN digits.        "Korrupter Datensatz:&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;    bdclm-mparcnt = 0.               "z.B. Hexnullen&lt;/P&gt;&lt;P&gt;&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;&lt;/P&gt;&lt;P&gt;   WHERE sprsl = sy-langu&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;   AND  arbgb  = bdclm-mid&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;   AND  msgnr  = 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;&lt;/P&gt;&lt;P&gt;    CLEAR: mtext,&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;           parcnt,&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;           mparcnt,&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;           charcnt,&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;           wcnt,&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;           mt,&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;           sp_len,&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;           sy-fdpos.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;    MOVE bdclm-mparcnt TO mparcnt.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;    IF t100-text CA '$&amp;amp;'.            "Kennung fuer parameter:&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;      MOVE t100-text TO mtext1.      " alt '$' --- neu '&amp;amp;'&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;    ELSE.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;      MOVE t100-text TO mtext.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;      EXIT.&lt;/P&gt;&lt;P&gt;&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;&lt;/P&gt;&lt;P&gt;    CLEAR shiftln.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;    DO mparcnt TIMES.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;      CLEAR: par, mttab.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;      MOVE bdclm-mpar TO par.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;      IF par-len CN digits OR par-len EQ 0.       "convert_no_number&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;        par-len = 1.                              "entschu00E4rfen&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;      ENDIF.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;      WRITE par-text TO mttab-text(par-len).&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;      MOVE par-len  TO mttab-len.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;      MOVE mparcnt  TO mttab-off.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;      APPEND mttab.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;      shiftln = par-len + 2.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;      SHIFT bdclm-mpar BY shiftln PLACES.&lt;/P&gt;&lt;P&gt;&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;&lt;/P&gt;&lt;P&gt;    IF bdclm-mid EQ  '00' AND    " sonderbehandlung s00368&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;       bdclm-mnr EQ '368' AND&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;       bdclm-mart EQ 'S'.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;      CLEAR mtext2.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;      CLEAR mttab.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;      READ TABLE mttab INDEX 1.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;      WRITE mttab-text TO mtext2+0(mttab-len).&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;      CLEAR mttab.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;      READ TABLE mttab INDEX 2.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;      WRITE mttab-text TO mtext2+35(mttab-len).&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;      mtext = mtext2.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;      EXIT.&lt;/P&gt;&lt;P&gt;&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;&lt;/P&gt;&lt;P&gt;    CLEAR: mt, vartcnt, mtvaroff.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;    WHILE vartcnt LE 3.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;      vartcnt = vartcnt + 1.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;      IF mtext1 CA '$&amp;amp;'.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;        parcnt = parcnt + 1.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;        IF sy-fdpos GT 0.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;          fdpos = sy-fdpos - 1.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;        ELSE.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;          fdpos = sy-fdpos.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;        ENDIF.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;        SHIFT mtext1 BY sy-fdpos PLACES.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;        IF mtext1(1) EQ '&amp;amp;'.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;          SHIFT mtext1 BY 1 PLACES.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;          CASE mtext1(1).&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;            WHEN ' '.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;              PERFORM f_replace_var USING '&amp;amp; ' parcnt fdpos.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;            WHEN '$'.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;              PERFORM f_replace_var USING '&amp;amp;&amp;amp;' 0      fdpos.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;            WHEN '1'.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;              PERFORM f_replace_var USING '&amp;amp;1' 1      fdpos.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;            WHEN '2'.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;              PERFORM f_replace_var USING '&amp;amp;2' 2      fdpos.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;            WHEN '3'.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;              PERFORM f_replace_var USING '&amp;amp;3' 3      fdpos.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;            WHEN '4'.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;              PERFORM f_replace_var USING '&amp;amp;4' 4      fdpos.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;            WHEN OTHERS.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;              PERFORM f_replace_var USING '&amp;amp;&amp;lt;' parcnt fdpos.&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;        ENDIF.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;        IF mtext1(1) EQ '$'.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;          SHIFT mtext1 BY 1 PLACES.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;          CASE mtext1(1).&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;            WHEN ' '.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;              PERFORM f_replace_var USING '$ ' parcnt  fdpos.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;            WHEN '$'.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;              PERFORM f_replace_var USING '$$' 0       fdpos.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;            WHEN '1'.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;              PERFORM f_replace_var USING '$1' 1       fdpos.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;            WHEN '2'.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;              PERFORM f_replace_var USING '$2' 2       fdpos.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;            WHEN '3'.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;              PERFORM f_replace_var USING '$3' 3       fdpos.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;            WHEN '4'.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;              PERFORM f_replace_var USING '$4' 4       fdpos.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;            WHEN OTHERS.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;              PERFORM f_replace_var USING '$&amp;lt;' parcnt  fdpos.&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;        ENDIF.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;      ENDIF.&lt;/P&gt;&lt;P&gt;&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;&lt;/P&gt;&lt;P&gt;      REPLACE '%%_D_%%' WITH '$' INTO mtext2.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;    ENDIF.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;    IF mtext2 CA '%%_A_%%'.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;      REPLACE '%%_A_%%' WITH '&amp;amp;' INTO mtext2.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;    ENDIF.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;    IF do_condense EQ space.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;      mtext = mtext2.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;    ELSE.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;      CONDENSE mtext2 .&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;      mtext = mtext2.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;    ENDIF.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  ELSE.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;    mtext = '???????????????????????????????????????????????????'.&lt;/P&gt;&lt;P&gt;&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.                    " F_GET_TEXT&lt;/P&gt;&lt;P&gt;&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;Read plain log from TemSe&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;INCLUDE rsbdcil3.&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Wed, 06 Aug 2008 10:16:02 GMT</pubDate>
      <guid>https://community.sap.com/t5/application-development-and-automation-discussions/read-batch-input-log-through-custom-report/m-p/4278101#M1020643</guid>
      <dc:creator>Former Member</dc:creator>
      <dc:date>2008-08-06T10:16:02Z</dc:date>
    </item>
  </channel>
</rss>

