<?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: Issue in Dynamic Structure and Component Program in Application Development and Automation Discussions</title>
    <link>https://community.sap.com/t5/application-development-and-automation-discussions/issue-in-dynamic-structure-and-component-program/m-p/4302809#M1026048</link>
    <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Hi,&lt;/P&gt;&lt;P&gt; I am facing a problem in this part:&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;LOOP AT ITAB_CONTENT INTO WA_CONTENT.&lt;/P&gt;&lt;P&gt;L_TABIX = SY-TABIX.&lt;/P&gt;&lt;P&gt;LOOP AT GT_COMPONENTS INTO GS_COMP.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;CONCATENATE 'L_WA_FINAL' GS_COMP-NAME INTO L_WA_FINAL SEPARATED BY '-'. &lt;/P&gt;&lt;P&gt;CONCATENATE 'WA_CONTENT-CHAR' L_TABIX INTO L_WA_CONTENT1. &lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;CONCATENATE 'CHAR' L_TABIX INTO L_WA_CONTENT1.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;l_value = wa_content-char1.&lt;/P&gt;&lt;P&gt;l_value1 = GS_COMP-NAME.&lt;/P&gt;&lt;P&gt;ASSIGN GS_COMP-NAME to &amp;lt;fs_field&amp;gt;.&lt;/P&gt;&lt;P&gt;ASSIGN l_value TO &amp;lt;fs_field1&amp;gt;.&lt;/P&gt;&lt;P&gt;IF &amp;lt;fs_field&amp;gt; IS ASSIGNED.&lt;/P&gt;&lt;P&gt;&amp;lt;fs_field1&amp;gt; = &amp;lt;fs_field&amp;gt;.&lt;/P&gt;&lt;P&gt;ENDIF.&lt;/P&gt;&lt;P&gt;APPEND &amp;lt;fs_field1&amp;gt; to &amp;lt;dyn_table&amp;gt;.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;l_value = wa_content-char2.&lt;/P&gt;&lt;P&gt;l_value1 = GS_COMP-NAME.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;ASSIGN GS_COMP-NAME to &amp;lt;fs_field&amp;gt;.&lt;/P&gt;&lt;P&gt;ASSIGN l_value TO &amp;lt;fs_field1&amp;gt;.&lt;/P&gt;&lt;P&gt;IF &amp;lt;fs_field&amp;gt; IS ASSIGNED.&lt;/P&gt;&lt;P&gt;&amp;lt;fs_field1&amp;gt; = &amp;lt;fs_field&amp;gt;.&lt;/P&gt;&lt;P&gt;ENDIF.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;APPEND &amp;lt;fs_field1&amp;gt; to &amp;lt;dyn_table&amp;gt;.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;l_value = wa_content-char3.&lt;/P&gt;&lt;P&gt;l_value1 = GS_COMP-NAME.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;ASSIGN GS_COMP-NAME to &amp;lt;fs_field&amp;gt;.&lt;/P&gt;&lt;P&gt;ASSIGN l_value TO &amp;lt;fs_field1&amp;gt;.&lt;/P&gt;&lt;P&gt;IF &amp;lt;fs_field&amp;gt; IS ASSIGNED.&lt;/P&gt;&lt;P&gt;&amp;lt;fs_field1&amp;gt; = &amp;lt;fs_field&amp;gt;.&lt;/P&gt;&lt;P&gt;ENDIF.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;APPEND &amp;lt;fs_field1&amp;gt; to &amp;lt;dyn_table&amp;gt;.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;IF NOT &amp;lt;dyn_table&amp;gt; IS INITIAL.&lt;/P&gt;&lt;P&gt;INSERT (l_tabname) FROM TABLE &amp;lt;dyn_table&amp;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;Any inputs will be appreciated.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;cheers&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Aveek&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
    <pubDate>Sat, 02 Aug 2008 15:20:28 GMT</pubDate>
    <dc:creator>Former Member</dc:creator>
    <dc:date>2008-08-02T15:20:28Z</dc:date>
    <item>
      <title>Issue in Dynamic Structure and Component Program</title>
      <link>https://community.sap.com/t5/application-development-and-automation-discussions/issue-in-dynamic-structure-and-component-program/m-p/4302807#M1026046</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Hi,&lt;/P&gt;&lt;P&gt;  I have a requirement of creating an inbound idoc program and populating dynamic structures. The program for the dynamic structure creation is as follows: ( I have been referencing Heilmans Blog &lt;span class="lia-unicode-emoji" title=":disappointed_face:"&gt;😞&lt;/span&gt; The part for the inbound idoc creation works fine. The data will come in a flat file with Table name and 15 characterstcis. The table name is known at runtime. I need to create the dynamic table, find out the components and then populate the custom table with the dynamically created structures.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Custom table: 4 components&lt;/P&gt;&lt;P&gt;Internal table from file: 15 components with value.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;There could be more than one table in the flat file and not all components or char in the flat file is mapped to the table. I would need some expertise in coding the OO part of the program.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Any inputs will be apprciated:&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN __default_attr="red" __jive_macro_name="color"&gt;&lt;STRONG&gt;&amp;lt;removed 6845 lines of code (forum software cut off at this point, there was more!) - did you actually expect anyone to read that? Also, please use code tags (the "&amp;lt;&amp;gt;" icon on the toolbar)&amp;gt;&lt;/STRONG&gt;&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Edited by: Mike Pokraka on Aug 3, 2008 6:15 PM&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Wed, 30 Jul 2008 15:31:52 GMT</pubDate>
      <guid>https://community.sap.com/t5/application-development-and-automation-discussions/issue-in-dynamic-structure-and-component-program/m-p/4302807#M1026046</guid>
      <dc:creator>Former Member</dc:creator>
      <dc:date>2008-07-30T15:31:52Z</dc:date>
    </item>
    <item>
      <title>Re: Issue in Dynamic Structure and Component Program</title>
      <link>https://community.sap.com/t5/application-development-and-automation-discussions/issue-in-dynamic-structure-and-component-program/m-p/4302808#M1026047</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Hi Guys --- TOO COMPLICATED.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;You can simplify this sort of stuff really easily.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;I want to create for example an ALV grid with a Variable number of columns which is only determined at run time.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;The structure is basically&lt;/P&gt;&lt;P&gt;1) a fixed piece containing a definite number of columns&lt;/P&gt;&lt;P&gt;2) a variable part containing a number of columns depending on the number of BOM components broken down in a number of orders&lt;/P&gt;&lt;P&gt;3) a final fixed part.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;I don't need to do the breakdown -- I get the BOM componnts from a Z-table --but you should be able to get the idea from the code snippets.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;What you do is manually create an ALV field catalog (note NOT an SLIS catalog --DO NOT USE FM REUSE*** for this example).&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;You then create a dynamic table and populate it as follows.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;PRE&gt;&lt;CODE&gt;

FORM create_horiz_fcat.

  DATA:
  lv_text(30) TYPE c,
  lv_text1(30) TYPE c,
  lv_index TYPE sy-tabix.
  REFRESH ifc.  " Internal field catalog table
  CLEAR xfc.    " field catalog structure (ALV not SLIS model)

* ******************************************************************
*
*  Documentation on the dynamic horizontal table generation
*
*******************************************************************

* The structure is dynamically created at run time
* there are a  variable number of columns for
* the components -- the number of components depends on
* the number obtained from the selection criteria.


* To create a dynamic structure for our ALV grid we need
* to create an appropriate Field catalog containing our components.
* we can do this and then based on this field catalog
* we create a dynamic table based on the field catalog
* and then we populate it with the required data.

* dynamic table created with call method cl_alv_table_create=&amp;gt;create_dynamic_table
* have to use OO here as it can't be done any other way.

* Build our horizontal table with dynamic column nrs

* structure contains a) fixed part, b) variable part, c) fixed part.

* This unfortunately has to be built manually since the
* full implementation of  cl_abap_structdescr=&amp;gt;component_table
* doesn't work correctly ( rel &amp;lt; 6.40 ) -- comp_tab type not available
* so we can't generate this semi-automatically.

* Field catalog layout

*a) first fixed part

* Doc Nr
* Pos Nr
* Sold to
* Main Material
* material description
* Old material
* CXC
* Price curr
* Exch rate
* netpr
* qty ordered
* qty to sched
* qty sched
* qty to del
* group
* diff
* total
* ratio

* b) then the variable part
* per component  actual qty  value (rm) price (rm)
* after variable part  another fixed part.

*c) 2nd fixed part*
* total
* Qty to deliver
* process loss
*

* For Building the Field Catalog (Horizontal Grid display)
*
*
define horiz_fcat.
* field-name type len decimals col-text
  xfc-fieldname = &amp;amp;1.
  xfc-datatype  = &amp;amp;2.
  xfc-inttype = &amp;amp;2.
  xfc-intlen =  &amp;amp;3.
  xfc-decimals = &amp;amp;4.
  xfc-no_zero = 'X'.
  xfc-coltext = &amp;amp;5.
  append xfc to ifc.
  clear xfc.
end-of-definition.

* macro call parmeters  field-name field-type field-len decimals col_text.

  horiz_fcat 'DOCNR'   'C' 10 0  'Doc nr'.
  horiz_fcat 'POSNR'   'C' 10 0  'Item'.
  horiz_fcat 'CNAME'   'C' 24 0  'Sold to'.
  horiz_fcat 'MATNR'   'C' 18 0  'Material'.
  horiz_fcat 'MAKTX'   'C' 18 0  'Material desc.'.
  horiz_fcat 'OLDNR'   'C' 18 0  'Old Mat. Nr.'.
  horiz_fcat 'CXC'     'C' 18 0  'CXC'.
  horiz_fcat 'WAERS'   'C' 5  0  'Curr.'.
  horiz_fcat 'XCHG'    'C' 13 0  'Xchg. Rate'.
  horiz_fcat 'NETPR'   'C' 13 0  'Net Pr.'.
  horiz_fcat 'QTYORD'  'C' 11 0  'Qty Ordered'.
  horiz_fcat 'QTY2SCH' 'C' 11 0  'Qty to schedule'.
  horiz_fcat 'QTYSCH'  'C' 11 0  'Qty scheduled'.
  horiz_fcat 'QTY2DEL' 'C' 11 0  'Qty to deliver'.
  horiz_fcat 'GRP'     'C' 6  0  'Group'.
  horiz_fcat 'TOT1'    'C' 15 0  'Total'.
  horiz_fcat 'DIFF'    'C' 11 0  'Difference'.
  horiz_fcat 'RATIO'   'C' 5 0  'Ratio'.

* Now variable part depending on nr of components


* Now variable part

  LOOP AT ta_components INTO wa_components.

*    CONCATENATE wa_components-idnrk '-'  wa_components-maktx *INTO lv_text.
    CONCATENATE wa_components-idnrk 'QTY' INTO lv_text1.
    CONDENSE lv_text1 NO-GAPS.
    . horiz_fcat lv_text1 'C' 15 0 wa_components-maktx.

    CLEAR lv_text1.

    CONCATENATE wa_components-idnrk 'VAL' INTO lv_text1.
    horiz_fcat lv_text1 'C' 15  0 'Value'.
    CLEAR lv_text1.

    CONCATENATE wa_components-idnrk 'PRICE' INTO lv_text1.
    horiz_fcat lv_text1 'C'  15 0 'Price'.

  ENDLOOP.

 final fixed part.

  horiz_fcat 'TOTAL'   'C' 15  0  'Total'.
  horiz_fcat 'TQTYDEL' 'C' 15  0  'Total qty to deliver'.
  horiz_fcat 'LOSS'    'C' 15  0  'TProcess Loss'.


ENDFORM.                    "create_horiz_fcat

FORM create_dyn_horiz_table.
  CALL METHOD cl_alv_table_create=&amp;gt;create_dynamic_table
    EXPORTING
      it_fieldcatalog = ifc
    IMPORTING
      ep_table        = dy_table.

  ASSIGN dy_table-&amp;gt;* TO &amp;lt;dyn_table&amp;gt;.

* Create dynamic work area and assign to FS
  CREATE DATA dy_line LIKE LINE OF &amp;lt;dyn_table&amp;gt;.
  ASSIGN dy_line-&amp;gt;* TO &amp;lt;dyn_wa&amp;gt;.


ENDFORM.                    "create_dyn_horiz_table

FORM fill_horiz_table.

* Local variables

  DATA: lv_field(30) TYPE c,
        lv_calc(15)  TYPE p DECIMALS 2,
        lv_cumulative(15)  TYPE p DECIMALS 3,
        lv_2del(15) TYPE p DECIMALS 3,
        lv_loss(11) TYPE p DECIMALS 3,
        lv_diff(11) TYPE p DECIMALS 3,
        lv_ratio(5) TYPE p DECIMALS 2,
        lv_bismt    TYPE mara-bismt,
        lv_rc       TYPE sy-subrc,
        lv_string   TYPE string,
        lv_wa_vert2 type ty_vert2,    "to save fields in AT   ENDAT structure.
        lv_postx    TYPE knmt-postx.

* Populate the horizontal table from the vertical.
* now the trick is to get the correct horizontal
* column in the dynamic table to move our totals
* field from the vertical table.
*
  LOOP AT ta_vert2 INTO wa_vert2.
    READ TABLE i_makt WITH KEY
       matnr = wa_vert2-matnr
          spras = sy-langu.

    MOVE-CORRESPONDING wa_vert2 TO &amp;lt;dyn_wa&amp;gt;.
    ASSIGN COMPONENT 'MAKTX' OF STRUCTURE &amp;lt;dyn_wa&amp;gt; TO &amp;lt;fs3&amp;gt;.
    &amp;lt;fs3&amp;gt; = i_makt-maktx.
    lv_wa_vert2 = wa_vert2.
    AT NEW docnr.                                             " New Order Number

* on a new order nr get iinformation about the components
* from the FMOD Z_SALES_DOCUMENTS

      REFRESH i_sales.
      REFRESH t_zap_order_info.

*  Only process documents of type 'G' (Contract)
*  that actually exist in VBAK
*
*  do not process entries in ZLONGSHORT that don't
* have entries in VBAK.

      SELECT  *  FROM vbak
        INTO CORRESPONDING FIELDS OF  TABLE i_sales
        WHERE vbeln EQ lv_wa_vert2-docnr
        AND  vbtyp  EQ 'G'.
      lv_rc  = sy-subrc.
      CASE  sy-subrc.
        WHEN 0.
          CLEAR i_vbpa.
          REFRESH i_vbpa.
          IF NOT i_sales IS INITIAL.
            SELECT * FROM vbpa INTO TABLE i_vbpa
              FOR ALL ENTRIES IN i_sales
              WHERE  vbeln  = i_sales-vbeln
*              AND    posnr  = '000000'
                   AND    parvw  = 'WE'
                   AND    kunnr NE ' '.
          ENDIF.

* Now we have in the i_VBPA all documents that contains on the header *or
* in one of the items the right Ship-to partner.

          SORT i_sales BY vbeln.
          SORT i_vbpa BY vbeln.

          LOOP AT i_sales INTO ls_sales.
            ll_index = sy-tabix.
            READ TABLE i_vbpa INTO ls_vbpa
                              WITH KEY vbeln = ls_sales-vbeln
                              BINARY SEARCH.
            IF sy-subrc EQ 0.
*     Just go on.
            ELSE.
*     Delete the vbak line
              DELETE i_sales INDEX ll_index.
            ENDIF.

          ENDLOOP.

          CALL FUNCTION 'Z_SALES_DOCUMENTS'
*    EXPORTING
*      UNIT                   =
*      SUBS_ORDERS            =
*    IMPORTING
*      RETURN                 =
            TABLES
              t_zap_order_info       =   t_zap_order_info
              cust_id                =   i_cust
              i_material             =   i_makt
              i_sale                 =   i_sales
              i_partner              =   i_vbpa.
      ENDCASE.

      IF lv_rc = 0.                "If doc not in VBAK don't process.

        READ TABLE t_zap_order_info
        INTO wa_info
          WITH KEY vbeln = lv_wa_vert2-docnr
                   posnr = lv_wa_vert2-posnr.
        CASE sy-subrc.
          WHEN 0.
            ASSIGN COMPONENT 'CNAME' OF STRUCTURE &amp;lt;dyn_wa&amp;gt; TO &amp;lt;fs3&amp;gt;.
            &amp;lt;fs3&amp;gt; = wa_info-name1.
            ASSIGN COMPONENT 'WAERS' OF STRUCTURE &amp;lt;dyn_wa&amp;gt; TO &amp;lt;fs3&amp;gt;.
            &amp;lt;fs3&amp;gt; = wa_info-waerk.
            ASSIGN COMPONENT 'XCHG' OF STRUCTURE &amp;lt;dyn_wa&amp;gt; TO &amp;lt;fs3&amp;gt;.
            WRITE wa_info-kursk TO &amp;lt;fs3&amp;gt; DECIMALS 5.
            ASSIGN COMPONENT 'QTYORD' OF STRUCTURE &amp;lt;dyn_wa&amp;gt; TO &amp;lt;fs3&amp;gt;.
            WRITE wa_info-qty_contract TO &amp;lt;fs3&amp;gt; DECIMALS 3 NO-ZERO.
            ASSIGN COMPONENT 'QTY2SCH' OF STRUCTURE &amp;lt;dyn_wa&amp;gt; TO &amp;lt;fs3&amp;gt;.
            WRITE wa_info-qty_to_schedule TO &amp;lt;fs3&amp;gt; DECIMALS 3 NO-ZERO.
            ASSIGN COMPONENT 'QTYSCH' OF STRUCTURE &amp;lt;dyn_wa&amp;gt; TO &amp;lt;fs3&amp;gt;.
            WRITE wa_info-qty_scheduled TO &amp;lt;fs3&amp;gt; DECIMALS 3 NO-ZERO.
            ASSIGN COMPONENT 'QTY2DEL' OF STRUCTURE &amp;lt;dyn_wa&amp;gt; TO &amp;lt;fs3&amp;gt;.
*            lv_2del = lv_2del + wa_info-qty_to_deliver.
            WRITE wa_info-qty_to_deliver TO &amp;lt;fs3&amp;gt; DECIMALS 3 NO-ZERO.
             ASSIGN COMPONENT 'RATIO' OF STRUCTURE &amp;lt;dyn_wa&amp;gt; TO &amp;lt;fs3&amp;gt;.

            lv_ratio = wa_info-qty_to_deliver / wa_info-qty_contract.
            WRITE lv_ratio  TO &amp;lt;fs3&amp;gt; DECIMALS 2 NO-SIGN.
            ASSIGN COMPONENT 'GRP' OF STRUCTURE &amp;lt;dyn_wa&amp;gt; TO &amp;lt;fs3&amp;gt;.
            &amp;lt;fs3&amp;gt; = wa_info-mvgr1.
            ASSIGN COMPONENT 'CXC' OF STRUCTURE &amp;lt;dyn_wa&amp;gt; TO &amp;lt;fs3&amp;gt;.
            &amp;lt;fs3&amp;gt; = wa_info-cxc_ct_no.
        ENDCASE.
      ENDIF.
    ENDAT.               "End of New order nr
    CASE lv_rc.
      WHEN 0.


        ASSIGN COMPONENT 'OLDNR' OF STRUCTURE  &amp;lt;dyn_wa&amp;gt; TO &amp;lt;fs3&amp;gt;.
        CLEAR lv_bismt.
        SELECT  bismt
          INTO lv_bismt
          FROM mara
           WHERE matnr EQ wa_vert2-matnr.
        ENDSELECT.
        CASE sy-subrc.
          WHEN 0.
            &amp;lt;fs3&amp;gt; = lv_bismt.
        ENDCASE.

        ASSIGN COMPONENT 'NETPR' OF STRUCTURE &amp;lt;dyn_wa&amp;gt; TO &amp;lt;fs3&amp;gt;.
        WRITE wa_vert2-netpr TO &amp;lt;fs3&amp;gt; DECIMALS 2 NO-ZERO.
        CONCATENATE wa_vert2-idnrk 'QTY' INTO lv_field.
        ASSIGN  COMPONENT  lv_field  OF STRUCTURE &amp;lt;dyn_wa&amp;gt; TO &amp;lt;fs3&amp;gt;.
        IF wa_vert2-menge &amp;lt; 0.
          lv_string = wa_vert2-menge.
          CALL FUNCTION 'CLOI_PUT_SIGN_IN_FRONT'
            CHANGING
              value = lv_string.
          &amp;lt;fs3&amp;gt; = lv_string.
          .
        ELSE.
          WRITE wa_vert2-menge TO &amp;lt;fs3&amp;gt; DECIMALS 3 NO-ZERO.
        ENDIF.
        lv_cumulative = lv_cumulative +  wa_vert2-menge.
        CONCATENATE wa_vert2-idnrk 'PRICE' INTO lv_field.
        ASSIGN  COMPONENT  lv_field  OF STRUCTURE &amp;lt;dyn_wa&amp;gt; TO &amp;lt;fs4&amp;gt;.
        WRITE wa_vert2-netpr TO &amp;lt;fs4&amp;gt; DECIMALS 2 NO-ZERO.
        CONCATENATE wa_vert2-idnrk 'VAL' INTO lv_field.
        lv_calc = wa_vert2-menge * wa_vert2-netpr.
        ASSIGN  COMPONENT  lv_field  OF STRUCTURE &amp;lt;dyn_wa&amp;gt; TO &amp;lt;fs3&amp;gt;.
        IF lv_calc &amp;lt; 0.
          lv_string = lv_calc.
          CALL FUNCTION 'CLOI_PUT_SIGN_IN_FRONT'
            CHANGING
              value = lv_string.
          &amp;lt;fs3&amp;gt; = lv_string.
          .
        ELSE.
          WRITE lv_calc TO &amp;lt;fs3&amp;gt; DECIMALS 3 NO-ZERO.
        ENDIF.
        .

* after all line items have been processed write totals

        AT END OF posnr.

          ASSIGN COMPONENT 'TOTAL' OF STRUCTURE &amp;lt;dyn_wa&amp;gt; TO &amp;lt;fs3&amp;gt;.
          IF lv_cumulative &amp;lt; 0.
            lv_string = lv_cumulative.
            CALL FUNCTION 'CLOI_PUT_SIGN_IN_FRONT'
              CHANGING
                value = lv_string.
            &amp;lt;fs3&amp;gt; = lv_string.
            .
          ELSE.
            WRITE lv_cumulative TO &amp;lt;fs3&amp;gt; DECIMALS 3 NO-ZERO.
          ENDIF.
          ASSIGN COMPONENT 'TOT1' OF STRUCTURE &amp;lt;dyn_wa&amp;gt; TO &amp;lt;fs4&amp;gt;.
          &amp;lt;fs4&amp;gt; = &amp;lt;fs3&amp;gt;.
*          WRITE lv_cumulative TO &amp;lt;fs3&amp;gt; DECIMALS 3 NO-ZERO..

          ASSIGN COMPONENT 'TQTYDEL' OF STRUCTURE &amp;lt;dyn_wa&amp;gt; TO &amp;lt;fs3&amp;gt;.
          WRITE  wa_info-qty_to_deliver TO &amp;lt;fs3&amp;gt; DECIMALS 3 NO-ZERO.
          lv_2del = wa_info-qty_to_deliver.



          ASSIGN COMPONENT 'LOSS' OF STRUCTURE &amp;lt;dyn_wa&amp;gt; TO &amp;lt;fs3&amp;gt;.
          lv_loss = lv_cumulative + lv_2del.


          IF lv_loss &amp;lt; 0.
            lv_string = lv_loss.
            CALL FUNCTION 'CLOI_PUT_SIGN_IN_FRONT'
              CHANGING
                value = lv_string.
            &amp;lt;fs3&amp;gt; = lv_string.
          ELSE.
            WRITE lv_loss TO &amp;lt;fs3&amp;gt; DECIMALS 3 NO-ZERO.
            .
          ENDIF.


          ASSIGN COMPONENT 'DIFF' OF STRUCTURE &amp;lt;dyn_wa&amp;gt; TO &amp;lt;fs3&amp;gt;.

          IF lv_loss &amp;lt; 0.
            lv_string = lv_loss.
            CALL FUNCTION 'CLOI_PUT_SIGN_IN_FRONT'
              CHANGING
                value = lv_string.
            &amp;lt;fs3&amp;gt; = lv_string.
            .
          ELSE..
            WRITE lv_loss TO &amp;lt;fs3&amp;gt; DECIMALS 3 NO-ZERO.
          ENDIF.
          APPEND &amp;lt;dyn_wa&amp;gt; TO &amp;lt;dyn_table&amp;gt;.
          CLEAR &amp;lt;dyn_wa&amp;gt;.
          CLEAR lv_cumulative.
          CLEAR lv_calc.
          CLEAR lv_2del.
          CLEAR lv_loss.
        ENDAT.                                                  " End of Item processing
*
      WHEN OTHERS.
        CLEAR &amp;lt;dyn_wa&amp;gt;.
    ENDCASE.
  ENDLOOP.
ENDFORM.                    "fill_horiz_table
&lt;/CODE&gt;&lt;/PRE&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;What this does is create a Grid &lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Col 1 col 2 ... Fixed bit&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Variable bit  for each bom component &lt;/P&gt;&lt;P&gt;col 1 col 2 col 3 .......to end of Bom components&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;2nd fixed bit&lt;/P&gt;&lt;P&gt;col 1 col2 etc.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;simple when you know how.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Cheers&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;jimbo&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Wed, 30 Jul 2008 20:32:34 GMT</pubDate>
      <guid>https://community.sap.com/t5/application-development-and-automation-discussions/issue-in-dynamic-structure-and-component-program/m-p/4302808#M1026047</guid>
      <dc:creator>Former Member</dc:creator>
      <dc:date>2008-07-30T20:32:34Z</dc:date>
    </item>
    <item>
      <title>Re: Issue in Dynamic Structure and Component Program</title>
      <link>https://community.sap.com/t5/application-development-and-automation-discussions/issue-in-dynamic-structure-and-component-program/m-p/4302809#M1026048</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Hi,&lt;/P&gt;&lt;P&gt; I am facing a problem in this part:&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;LOOP AT ITAB_CONTENT INTO WA_CONTENT.&lt;/P&gt;&lt;P&gt;L_TABIX = SY-TABIX.&lt;/P&gt;&lt;P&gt;LOOP AT GT_COMPONENTS INTO GS_COMP.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;CONCATENATE 'L_WA_FINAL' GS_COMP-NAME INTO L_WA_FINAL SEPARATED BY '-'. &lt;/P&gt;&lt;P&gt;CONCATENATE 'WA_CONTENT-CHAR' L_TABIX INTO L_WA_CONTENT1. &lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;CONCATENATE 'CHAR' L_TABIX INTO L_WA_CONTENT1.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;l_value = wa_content-char1.&lt;/P&gt;&lt;P&gt;l_value1 = GS_COMP-NAME.&lt;/P&gt;&lt;P&gt;ASSIGN GS_COMP-NAME to &amp;lt;fs_field&amp;gt;.&lt;/P&gt;&lt;P&gt;ASSIGN l_value TO &amp;lt;fs_field1&amp;gt;.&lt;/P&gt;&lt;P&gt;IF &amp;lt;fs_field&amp;gt; IS ASSIGNED.&lt;/P&gt;&lt;P&gt;&amp;lt;fs_field1&amp;gt; = &amp;lt;fs_field&amp;gt;.&lt;/P&gt;&lt;P&gt;ENDIF.&lt;/P&gt;&lt;P&gt;APPEND &amp;lt;fs_field1&amp;gt; to &amp;lt;dyn_table&amp;gt;.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;l_value = wa_content-char2.&lt;/P&gt;&lt;P&gt;l_value1 = GS_COMP-NAME.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;ASSIGN GS_COMP-NAME to &amp;lt;fs_field&amp;gt;.&lt;/P&gt;&lt;P&gt;ASSIGN l_value TO &amp;lt;fs_field1&amp;gt;.&lt;/P&gt;&lt;P&gt;IF &amp;lt;fs_field&amp;gt; IS ASSIGNED.&lt;/P&gt;&lt;P&gt;&amp;lt;fs_field1&amp;gt; = &amp;lt;fs_field&amp;gt;.&lt;/P&gt;&lt;P&gt;ENDIF.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;APPEND &amp;lt;fs_field1&amp;gt; to &amp;lt;dyn_table&amp;gt;.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;l_value = wa_content-char3.&lt;/P&gt;&lt;P&gt;l_value1 = GS_COMP-NAME.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;ASSIGN GS_COMP-NAME to &amp;lt;fs_field&amp;gt;.&lt;/P&gt;&lt;P&gt;ASSIGN l_value TO &amp;lt;fs_field1&amp;gt;.&lt;/P&gt;&lt;P&gt;IF &amp;lt;fs_field&amp;gt; IS ASSIGNED.&lt;/P&gt;&lt;P&gt;&amp;lt;fs_field1&amp;gt; = &amp;lt;fs_field&amp;gt;.&lt;/P&gt;&lt;P&gt;ENDIF.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;APPEND &amp;lt;fs_field1&amp;gt; to &amp;lt;dyn_table&amp;gt;.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;IF NOT &amp;lt;dyn_table&amp;gt; IS INITIAL.&lt;/P&gt;&lt;P&gt;INSERT (l_tabname) FROM TABLE &amp;lt;dyn_table&amp;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;Any inputs will be appreciated.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;cheers&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Aveek&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Sat, 02 Aug 2008 15:20:28 GMT</pubDate>
      <guid>https://community.sap.com/t5/application-development-and-automation-discussions/issue-in-dynamic-structure-and-component-program/m-p/4302809#M1026048</guid>
      <dc:creator>Former Member</dc:creator>
      <dc:date>2008-08-02T15:20:28Z</dc:date>
    </item>
    <item>
      <title>Re: Issue in Dynamic Structure and Component Program</title>
      <link>https://community.sap.com/t5/application-development-and-automation-discussions/issue-in-dynamic-structure-and-component-program/m-p/4302810#M1026049</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Hello Aveek&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;If I understand your question in the correct way then the file used to create inbound IDocs contains a mixture of &lt;EM&gt;meta-data&lt;/EM&gt; and the "&lt;EM&gt;real&lt;/EM&gt;" data used for the IDoc. Data for the same table may be repeated 0-n times.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;To implement this application I would create a class which has at least two methods:&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;one method dealing with the meta-data of each record&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;one method dealing with the "real" data belonging to the previously read meta-data&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;There should be a single class for any kind of table because the logic should always be the same.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;For each record of your file you could create an instance of this class.&lt;/P&gt;&lt;P&gt;To process the entire file you would need a second class which holds a collection of these instance. This "controller" class read the file and creates a "record" class for each line read.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Regards&lt;/P&gt;&lt;P&gt;  Uwe&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Sun, 03 Aug 2008 20:23:41 GMT</pubDate>
      <guid>https://community.sap.com/t5/application-development-and-automation-discussions/issue-in-dynamic-structure-and-component-program/m-p/4302810#M1026049</guid>
      <dc:creator>uwe_schieferstein</dc:creator>
      <dc:date>2008-08-03T20:23:41Z</dc:date>
    </item>
    <item>
      <title>Re: Issue in Dynamic Structure and Component Program</title>
      <link>https://community.sap.com/t5/application-development-and-automation-discussions/issue-in-dynamic-structure-and-component-program/m-p/4302811#M1026050</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Hi,&lt;/P&gt;&lt;P&gt; The program works fine fo creating inbound idocs. It is the dynamic structure population that seems to be the problem mentioned earlier: Here is the code:&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;*&amp;amp;----&lt;/P&gt;&lt;HR originaltext="---------------------------------------------------------------" /&gt;&lt;P&gt;*&lt;/P&gt;&lt;P&gt;*&amp;amp; Report  /FACTGLB/GTDMI_VARTAB_IDOCS02                               *&lt;/P&gt;&lt;P&gt;*&amp;amp;                                                                     *&lt;/P&gt;&lt;P&gt;*&amp;amp;----&lt;/P&gt;&lt;HR originaltext="---------------------------------------------------------------" /&gt;&lt;P&gt;*&lt;/P&gt;&lt;P&gt;*&amp;amp;                                                                     *&lt;/P&gt;&lt;P&gt;*&amp;amp;                                                                     *&lt;/P&gt;&lt;P&gt;*&amp;amp;----&lt;/P&gt;&lt;HR originaltext="---------------------------------------------------------------" /&gt;&lt;P&gt;*&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;PROGRAM DESCRIPTION: Variant Table and Content Upload Interface.&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;*&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;          DEVELOPER: Aveek Ghose&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;      CREATION DATE: 2008-04-18&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;         RDD NUMBER: DCDD027&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;TRANSPORT NUMBER(S): RD2K902769&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;*&lt;/P&gt;&lt;P&gt;*-- REVISION HISTORY -&lt;/P&gt;&lt;P&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;          DEVELOPER:&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;       DATE APPLIED: YYYY-MM-DD&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;         SCR NUMBER: &amp;lt;Scope Change Request ID&amp;gt;&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;         RDD NUMBER: &amp;lt;Toolset Object ID&amp;gt;&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;TRANSPORT NUMBER(S):&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;        DESCRIPTION:&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;*&lt;/P&gt;&lt;P&gt;*----&lt;/P&gt;&lt;HR originaltext="----------------------------------------------------------------" /&gt;&lt;P&gt;*&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;REPORT  ZGTDMI_VARTAB_IDOCS_DYNAMIC&lt;/P&gt;&lt;P&gt;        NO STANDARD PAGE HEADING&lt;/P&gt;&lt;P&gt;        LINE-SIZE   150&lt;/P&gt;&lt;P&gt;        LINE-COUNT  55&lt;/P&gt;&lt;P&gt;        MESSAGE-ID  zfactglb.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;**Include for Global Data Declaration&lt;/P&gt;&lt;P&gt;*INCLUDE /FACTGLB/GTDMI_VARTAB_TOP02.&lt;/P&gt;&lt;P&gt;**Include for Selection Screen&lt;/P&gt;&lt;P&gt;*INCLUDE /FACTGLB/GTDMI_VARTAB_SEL02.&lt;/P&gt;&lt;P&gt;**Include for Sub Routines&lt;/P&gt;&lt;P&gt;*INCLUDE /FACTGLB/GTDMI_VARTAB_FORMS02.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;*&amp;amp;----&lt;/P&gt;&lt;HR originaltext="---------------------------------------------------------------" /&gt;&lt;P&gt;*&lt;/P&gt;&lt;P&gt;*&amp;amp;  Include           /FACTGLB/GTDMI_VARTAB_TOP02                      *&lt;/P&gt;&lt;P&gt;*&amp;amp;----&lt;/P&gt;&lt;HR originaltext="---------------------------------------------------------------" /&gt;&lt;P&gt;*&lt;/P&gt;&lt;P&gt;*&amp;amp;----&lt;/P&gt;&lt;HR originaltext="---------------------------------------------------------------" /&gt;&lt;P&gt;*&lt;/P&gt;&lt;P&gt;*&amp;amp;  Include           /FACTGLB/GTDMI_VARTAB_TOP02                      *&lt;/P&gt;&lt;P&gt;*&amp;amp;----&lt;/P&gt;&lt;HR originaltext="---------------------------------------------------------------" /&gt;&lt;P&gt;*&lt;/P&gt;&lt;P&gt;*&amp;amp;----&lt;/P&gt;&lt;HR originaltext="---------------------------------------------------------------" /&gt;&lt;P&gt;*&lt;/P&gt;&lt;P&gt;*&amp;amp;  Include           /FACTGLB/GTDMI_VARTAB_TOP&lt;/P&gt;&lt;P&gt;*&amp;amp;----&lt;/P&gt;&lt;HR originaltext="---------------------------------------------------------------" /&gt;&lt;P&gt;*&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;*&amp;amp;----&lt;/P&gt;&lt;HR originaltext="---------------------------------------------------------------" /&gt;&lt;P&gt;*&lt;/P&gt;&lt;P&gt;*&amp;amp;  Include           /FACTGLB/GTDMI_VARTAB_TOP&lt;/P&gt;&lt;P&gt;*&amp;amp;----&lt;/P&gt;&lt;HR originaltext="---------------------------------------------------------------" /&gt;&lt;P&gt;*&lt;/P&gt;&lt;P&gt;*----&lt;/P&gt;&lt;HR originaltext="----------------------------------------------------------------" /&gt;&lt;P&gt;*&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;PROGRAM DESCRIPTION: Variant Table and Content Upload Interface.&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;*&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;          DEVELOPER: Aveek Ghose&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;      CREATION DATE: 2008-04-18&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;         RDD NUMBER: DCDD027&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;TRANSPORT NUMBER(S): RD2K902769&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;*&lt;/P&gt;&lt;P&gt;*-- REVISION HISTORY -&lt;/P&gt;&lt;P&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;          DEVELOPER:&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;       DATE APPLIED: YYYY-MM-DD&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;         SCR NUMBER: &amp;lt;Scope Change Request ID&amp;gt;&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;         RDD NUMBER: &amp;lt;Toolset Object ID&amp;gt;&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;TRANSPORT NUMBER(S):&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;        DESCRIPTION:&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;*&lt;/P&gt;&lt;P&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;TYPE POOLS&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;************************************************************************&lt;/P&gt;&lt;P&gt;*Type declaration for ALV display&lt;/P&gt;&lt;P&gt;TYPE-POOLS : slis.&lt;/P&gt;&lt;P&gt;Include .&lt;/P&gt;&lt;P&gt;type-pools: col,                                            "#EC *&lt;/P&gt;&lt;P&gt;            icon,                                           "#EC *&lt;/P&gt;&lt;P&gt;            sym,                                            "#EC *&lt;/P&gt;&lt;P&gt;            abap.                                           "#EC *&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;Target structure definitions&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;tables:&lt;/P&gt;&lt;P&gt;  E1CUVTM,                                                  "#EC *&lt;/P&gt;&lt;P&gt;  E1DATEM,                                                  "#EC *&lt;/P&gt;&lt;P&gt;  E1CUV1M,                                                  "#EC *&lt;/P&gt;&lt;P&gt;  edp21,                                                    "#EC *&lt;/P&gt;&lt;P&gt;  edi_dc40,                                                 "#EC *&lt;/P&gt;&lt;P&gt;  edi_dd40,                                                 "#EC *&lt;/P&gt;&lt;P&gt;  edi_ds40.                                                 "#EC *&lt;/P&gt;&lt;P&gt;************************************************************************&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;GLOBAL TYPES&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;************************************************************************&lt;/P&gt;&lt;P&gt;TYPES : BEGIN OF ty_vartab.&lt;/P&gt;&lt;P&gt;        include structure E1CUVTM.&lt;/P&gt;&lt;P&gt;TYPES:  END OF ty_vartab.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;TYPES : BEGIN OF ty_vartabdate.&lt;/P&gt;&lt;P&gt;        INCLUDE STRUCTURE E1DATEM.&lt;/P&gt;&lt;P&gt;TYPES : END OF ty_vartabdate.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;*Structure for data retreived&lt;/P&gt;&lt;P&gt;TYPES : BEGIN OF ty_vardetails.&lt;/P&gt;&lt;P&gt;        INCLUDE STRUCTURE E1CUV1M.&lt;/P&gt;&lt;P&gt;TYPES : END OF ty_vardetails.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;*Structure for data retreived from table tabinput.&lt;/P&gt;&lt;P&gt;TYPES : BEGIN OF ty_tabinput,&lt;/P&gt;&lt;P&gt;          lines type string,&lt;/P&gt;&lt;P&gt;        END OF ty_tabinput.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;*Structure for data retreived from Table dsn_input.&lt;/P&gt;&lt;P&gt;TYPES : BEGIN OF ty_dsninput,                               "#EC *&lt;/P&gt;&lt;P&gt;          LINE(101) type c,&lt;/P&gt;&lt;P&gt;        END OF ty_dsninput.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;*Structure for data retreived from Table dsn_input.&lt;/P&gt;&lt;P&gt;TYPES : BEGIN OF ty_newinput,                               "#EC *&lt;/P&gt;&lt;P&gt;          LINE(101) type c,&lt;/P&gt;&lt;P&gt;          flag(1) type c,&lt;/P&gt;&lt;P&gt;        END OF ty_newinput.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;*Structure for keeping the values of all the custom tables&lt;/P&gt;&lt;P&gt;TYPES : BEGIN OF ty_custom_tabs,&lt;/P&gt;&lt;P&gt;          matnr   TYPE matnr,    "Material Number&lt;/P&gt;&lt;P&gt;          werks   TYPE werks_d,  "Plant&lt;/P&gt;&lt;P&gt;          lgort   TYPE lgort_d,  "Storage Location&lt;/P&gt;&lt;P&gt;          qunty   TYPE P DECIMALS 2, "Standard Order Quantity&lt;/P&gt;&lt;P&gt;          det_loc TYPE CHAR6, "Detail Location&lt;/P&gt;&lt;P&gt;          class   TYPE CHAR2,   "Class&lt;/P&gt;&lt;P&gt;          rate    TYPE P DECIMALS 2,    "Rate&lt;/P&gt;&lt;P&gt;        END OF ty_custom_tabs.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;*Type declared for the internal table and work area which will store&lt;/P&gt;&lt;P&gt;*fields for error log&lt;/P&gt;&lt;P&gt;TYPES : BEGIN OF ty_error_log,&lt;/P&gt;&lt;P&gt;          matnr TYPE matnr,       "Material Number&lt;/P&gt;&lt;P&gt;          mtart TYPE mtart,       "Material Type&lt;/P&gt;&lt;P&gt;          sel_data TYPE char10,   "No of selectyed data&lt;/P&gt;&lt;P&gt;        END OF ty_error_log.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;*Structure for keeping the output data&lt;/P&gt;&lt;P&gt;TYPES : BEGIN OF ty_final,&lt;/P&gt;&lt;P&gt;          VTNAM(018) type C,&lt;/P&gt;&lt;P&gt;          CHAR1(030) type C,&lt;/P&gt;&lt;P&gt;          CHAR2(030) type C,&lt;/P&gt;&lt;P&gt;          CHAR3(030) type C,&lt;/P&gt;&lt;P&gt;          CHAR4(030) type C,&lt;/P&gt;&lt;P&gt;          CHAR5(030) type C,&lt;/P&gt;&lt;P&gt;          CHAR6(030) type C,&lt;/P&gt;&lt;P&gt;          CHAR7(030) type C,&lt;/P&gt;&lt;P&gt;          CHAR8(030) type C,&lt;/P&gt;&lt;P&gt;          CHAR9(030) type C,&lt;/P&gt;&lt;P&gt;          CHAR10(030) type C,&lt;/P&gt;&lt;P&gt;          CHAR11(030) type C,&lt;/P&gt;&lt;P&gt;          CHAR12(030) type C,&lt;/P&gt;&lt;P&gt;          CHAR13(030) type C,&lt;/P&gt;&lt;P&gt;          CHAR14(030) type C,&lt;/P&gt;&lt;P&gt;          CHAR15(030) type C,&lt;/P&gt;&lt;P&gt;          FLAG(001) type C,&lt;/P&gt;&lt;P&gt;        END OF ty_final.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;TYPES: begin of TY_CONTENTHD,&lt;/P&gt;&lt;P&gt;          VTNAM(018) type C,&lt;/P&gt;&lt;P&gt;          FLAG(001) type C,&lt;/P&gt;&lt;P&gt;  end of TY_CONTENTHD.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;TYPES: begin of TY_CONTENT,&lt;/P&gt;&lt;P&gt;          VTNAM(018) type C,&lt;/P&gt;&lt;P&gt;          CHAR1(030) type C,&lt;/P&gt;&lt;P&gt;          CHAR2(030) type C,&lt;/P&gt;&lt;P&gt;          CHAR3(030) type C,&lt;/P&gt;&lt;P&gt;          CHAR4(030) type C,&lt;/P&gt;&lt;P&gt;          CHAR5(030) type C,&lt;/P&gt;&lt;P&gt;          CHAR6(030) type C,&lt;/P&gt;&lt;P&gt;          CHAR7(030) type C,&lt;/P&gt;&lt;P&gt;          CHAR8(030) type C,&lt;/P&gt;&lt;P&gt;          CHAR9(030) type C,&lt;/P&gt;&lt;P&gt;          CHAR10(030) type C,&lt;/P&gt;&lt;P&gt;          CHAR11(030) type C,&lt;/P&gt;&lt;P&gt;          CHAR12(030) type C,&lt;/P&gt;&lt;P&gt;          CHAR13(030) type C,&lt;/P&gt;&lt;P&gt;          CHAR14(030) type C,&lt;/P&gt;&lt;P&gt;          CHAR15(030) type C,&lt;/P&gt;&lt;P&gt;          FLAG(001) type C.&lt;/P&gt;&lt;P&gt;TYPES: end of TY_CONTENT.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;TYPES: BEGIN OF TY_E1CUVTM,&lt;/P&gt;&lt;P&gt;          MSGFN	  TYPE MSGFN,&lt;/P&gt;&lt;P&gt;          VAR_TAB	  TYPE APITABL,&lt;/P&gt;&lt;P&gt;          STATUS	  TYPE RCUTBST,&lt;/P&gt;&lt;P&gt;          VTGROUP	  TYPE RCUTBGR,&lt;/P&gt;&lt;P&gt;          AUTHSTRUC	  TYPE RCUTBBE,&lt;/P&gt;&lt;P&gt;          AUTHENTRY	  TYPE RCUFNBI,&lt;/P&gt;&lt;P&gt;          FLDELETE	  TYPE FLLKENZ,&lt;/P&gt;&lt;P&gt;          DBTABNAME	  TYPE TABNAME16,&lt;/P&gt;&lt;P&gt;          DBCONACTIVE TYPE DBCON_ACTI,&lt;/P&gt;&lt;P&gt;          PRESDEC	  TYPE VTDCT,&lt;/P&gt;&lt;P&gt;       END OF TY_E1CUVTM.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;TYPES: BEGIN OF TY_E1CUV1M,&lt;/P&gt;&lt;P&gt;          MSGFN	TYPE MSGFN,&lt;/P&gt;&lt;P&gt;          VTLINENO	TYPE VTLINENO,&lt;/P&gt;&lt;P&gt;          VTCHARACT	TYPE ATNAM,&lt;/P&gt;&lt;P&gt;          ATWRT	TYPE ATWRT,&lt;/P&gt;&lt;P&gt;          ATFLV	TYPE ATFLV,&lt;/P&gt;&lt;P&gt;          ATAWE	TYPE MSEHI,&lt;/P&gt;&lt;P&gt;          ATFLB	TYPE ATFLB,&lt;/P&gt;&lt;P&gt;          ATAW1	TYPE MSEHI,&lt;/P&gt;&lt;P&gt;          ATCOD	TYPE ATCOD,&lt;/P&gt;&lt;P&gt;          ATTLV	TYPE ATTLV,&lt;/P&gt;&lt;P&gt;          ATTLB	TYPE ATTLB,&lt;/P&gt;&lt;P&gt;          ATPRZ	TYPE ATPRZ,&lt;/P&gt;&lt;P&gt;          ATINC	TYPE ATINC,&lt;/P&gt;&lt;P&gt;          VTLINENO5	TYPE VTLINENO5,&lt;/P&gt;&lt;P&gt;       END OF TY_E1CUV1M.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;TYPES: BEGIN OF TY_E1DATEM,&lt;/P&gt;&lt;P&gt;          MSGFN	  TYPE MSGFN,&lt;/P&gt;&lt;P&gt;          KEY_DATE	  TYPE SYDATUM,&lt;/P&gt;&lt;P&gt;          AENNR	  TYPE AENNR,&lt;/P&gt;&lt;P&gt;          EFFECTIVITY TYPE 	CC_MTEFF,&lt;/P&gt;&lt;P&gt;       END OF TY_E1DATEM.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;TYPES: BEGIN OF ty_vtnam,&lt;/P&gt;&lt;P&gt;         vtint TYPE vtint,  " Internal number of variant table&lt;/P&gt;&lt;P&gt;         vtnam TYPE vtnam,  " Name of variant table&lt;/P&gt;&lt;P&gt;         error  TYPE char1,  " Indicates error in data format&lt;/P&gt;&lt;P&gt;         reas   TYPE char50, " Reason for failure&lt;/P&gt;&lt;P&gt;       END OF ty_vtnam.&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;Get data type for characteristic&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;TYPES: BEGIN OF ty_cabn,&lt;/P&gt;&lt;P&gt;        atinn  TYPE atinn,       "Internal characteristic&lt;/P&gt;&lt;P&gt;        atnam  TYPE atnam,       "Characteristic Name&lt;/P&gt;&lt;P&gt;        atfor  TYPE atfor,       "Data type of characteristic&lt;/P&gt;&lt;P&gt;        atson  TYPE atson,       "Indicator: Additional Values&lt;/P&gt;&lt;P&gt;        atprt  TYPE atprt,       "Check table&lt;/P&gt;&lt;P&gt;        atprr  TYPE atprr,       "Name of Check Report Program&lt;/P&gt;&lt;P&gt;        atprf  TYPE atprf,       "Function Module for Checking Values&lt;/P&gt;&lt;P&gt;        anzdz  TYPE anzdz,       "Number of Decimal Places&lt;/P&gt;&lt;P&gt;        check  TYPE char1,       "Indicates check required or not&lt;/P&gt;&lt;P&gt;       END OF ty_cabn.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;Get field names of variant table&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;TYPES: BEGIN OF ty_cuvtab_fld,&lt;/P&gt;&lt;P&gt;         vtint TYPE vtint,   " Internal number of variant table&lt;/P&gt;&lt;P&gt;         atinn TYPE atinn,   " Internal characteristic&lt;/P&gt;&lt;P&gt;         vtpos TYPE vtpos,   " Item number of characteristic in variant&lt;/P&gt;&lt;P&gt;         exist TYPE char1,   " X Indictaes characteristic is part of fil&lt;/P&gt;&lt;P&gt;       END OF ty_cuvtab_fld.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;Store all data in internal table&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;TYPES: BEGIN OF ty_file,&lt;/P&gt;&lt;P&gt;          vtnam TYPE vtnam,&lt;/P&gt;&lt;P&gt;          char1 TYPE atwrt,&lt;/P&gt;&lt;P&gt;          char2 TYPE atwrt,&lt;/P&gt;&lt;P&gt;          char3 TYPE atwrt,&lt;/P&gt;&lt;P&gt;          char4 TYPE atwrt,&lt;/P&gt;&lt;P&gt;          char5 TYPE atwrt,&lt;/P&gt;&lt;P&gt;          char6 TYPE atwrt,&lt;/P&gt;&lt;P&gt;          char7 TYPE atwrt,&lt;/P&gt;&lt;P&gt;          char8 TYPE atwrt,&lt;/P&gt;&lt;P&gt;          char9 TYPE atwrt,&lt;/P&gt;&lt;P&gt;          char10 TYPE atwrt,&lt;/P&gt;&lt;P&gt;          char11 TYPE atwrt,&lt;/P&gt;&lt;P&gt;          char12 TYPE atwrt,&lt;/P&gt;&lt;P&gt;          char13 TYPE atwrt,&lt;/P&gt;&lt;P&gt;          char14 TYPE atwrt,&lt;/P&gt;&lt;P&gt;          char15 TYPE atwrt,&lt;/P&gt;&lt;P&gt;          flag   TYPE char1,&lt;/P&gt;&lt;P&gt;          error  TYPE char50,&lt;/P&gt;&lt;P&gt;       END OF ty_file.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;To check for duplicates&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;TYPES: BEGIN OF ty_dupl,&lt;/P&gt;&lt;P&gt;          vtnam TYPE vtnam,&lt;/P&gt;&lt;P&gt;          char1 TYPE atwrt,&lt;/P&gt;&lt;P&gt;          char2 TYPE atwrt,&lt;/P&gt;&lt;P&gt;          char3 TYPE atwrt,&lt;/P&gt;&lt;P&gt;          char4 TYPE atwrt,&lt;/P&gt;&lt;P&gt;          char5 TYPE atwrt,&lt;/P&gt;&lt;P&gt;          char6 TYPE atwrt,&lt;/P&gt;&lt;P&gt;          char7 TYPE atwrt,&lt;/P&gt;&lt;P&gt;          char8 TYPE atwrt,&lt;/P&gt;&lt;P&gt;          char9 TYPE atwrt,&lt;/P&gt;&lt;P&gt;          char10 TYPE atwrt,&lt;/P&gt;&lt;P&gt;          char11 TYPE atwrt,&lt;/P&gt;&lt;P&gt;          char12 TYPE atwrt,&lt;/P&gt;&lt;P&gt;          char13 TYPE atwrt,&lt;/P&gt;&lt;P&gt;          char14 TYPE atwrt,&lt;/P&gt;&lt;P&gt;          char15 TYPE atwrt,&lt;/P&gt;&lt;P&gt;          slnid  TYPE  slnid,&lt;/P&gt;&lt;P&gt;        END OF ty_dupl.&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 previously loaded characteristic values for internal table (CHAR)&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;TYPES: BEGIN OF ty_cuvtab_valc,&lt;/P&gt;&lt;P&gt;        vtint  TYPE  vtint,   " Internal number of variant table&lt;/P&gt;&lt;P&gt;        slnid  TYPE  slnid,   " Key for value combination in variant tab&lt;/P&gt;&lt;P&gt;        atinn  TYPE  atinn,   " Internal characteristic&lt;/P&gt;&lt;P&gt;        valc   TYPE  atwrt,   " Characteristic Value&lt;/P&gt;&lt;P&gt;      END OF ty_cuvtab_valc.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;Get previously loaded characteristic values for internal table (NUM)&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;TYPES: BEGIN OF ty_cuvtab_valn,&lt;/P&gt;&lt;P&gt;        vtint  TYPE  vtint,      " Internal number of variant table&lt;/P&gt;&lt;P&gt;        slnid  TYPE  slnid,      " Key for value combination in variant tab&lt;/P&gt;&lt;P&gt;        atinn  TYPE  atinn,      " Internal characteristic&lt;/P&gt;&lt;P&gt;        val_from  TYPE  atflv,   " Internal floating point from&lt;/P&gt;&lt;P&gt;       END OF ty_cuvtab_valn.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;Store column positions of characteristics&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;TYPES: BEGIN OF ty_col_pos,&lt;/P&gt;&lt;P&gt;         vtint  TYPE vtint,   " Internal number of variant table&lt;/P&gt;&lt;P&gt;         vtnam  TYPE vtnam,   " Variant table name&lt;/P&gt;&lt;P&gt;         atinn  TYPE atinn,   "Internal characteristic&lt;/P&gt;&lt;P&gt;         atnam  TYPE atnam,   "Characteristic Name&lt;/P&gt;&lt;P&gt;         field  TYPE fieldname,   "Field name&lt;/P&gt;&lt;P&gt;         req    TYPE char1,       " Required or not&lt;/P&gt;&lt;P&gt;         vtpos  TYPE vtpos,       " Item number of characteristics&lt;/P&gt;&lt;P&gt;       END OF ty_col_pos.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;Store valid values for characteristics&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;TYPES: BEGIN OF ty_cawn,&lt;/P&gt;&lt;P&gt;          atinn TYPE atinn,   " Internal characteristic&lt;/P&gt;&lt;P&gt;          atzhl TYPE atzhl,   " Int counter&lt;/P&gt;&lt;P&gt;          atwrt TYPE atwrt,   " Characteristic Value&lt;/P&gt;&lt;P&gt;          atflv TYPE atflv,   " Internal floating point from&lt;/P&gt;&lt;P&gt;          lkenz TYPE lkenz,   " Deletion indicator&lt;/P&gt;&lt;P&gt;      END OF ty_cawn.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;Store error messages for individual lines&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;TYPES: BEGIN OF ty_error,&lt;/P&gt;&lt;P&gt;         vtnam  TYPE vtnam,       " Variant table name&lt;/P&gt;&lt;P&gt;         fname  TYPE fieldname,   " Fieldname&lt;/P&gt;&lt;P&gt;         atnam  TYPE atnam,       " Characteristic name&lt;/P&gt;&lt;P&gt;         atwrt  TYPE atwrt,       " Characteristic value&lt;/P&gt;&lt;P&gt;         row    TYPE char5,       " Row id&lt;/P&gt;&lt;P&gt;      END OF ty_error.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;Begin TPR# 4618&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;To store unique number for variant&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;TYPES: BEGIN OF ty_vnt_ma,&lt;/P&gt;&lt;P&gt;        vtnam     TYPE vtnam,&lt;/P&gt;&lt;P&gt;        unique_no TYPE ZGTDM_UNQN,&lt;/P&gt;&lt;P&gt;        no_chr    TYPE ZGTDM_NO_CHR,&lt;/P&gt;&lt;P&gt;      END OF ty_vnt_ma.&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;To find out concatenated number for&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;TYPES: BEGIN OF ty_split,&lt;/P&gt;&lt;P&gt;        f1 TYPE char6,&lt;/P&gt;&lt;P&gt;      END OF ty_split.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;TYPES: BEGIN OF ty_charval,&lt;/P&gt;&lt;P&gt;        char TYPE char30,&lt;/P&gt;&lt;P&gt;      END OF ty_charval.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;TYPES: BEGIN OF TY_DATA,&lt;/P&gt;&lt;P&gt;       name TYPE string,&lt;/P&gt;&lt;P&gt;       value(15) type c,&lt;/P&gt;&lt;P&gt;      END OF TY_DATA.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;DATA: I_DATATAB TYPE STANDARD TABLE OF TY_DATA.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;TYPES:&lt;/P&gt;&lt;P&gt;  TUMLS_MESSTYPE type /SAPDMC/LS_MESSTYPE,&lt;/P&gt;&lt;P&gt;  TUMLS_MESSTYPETXT type EDI_TEXT60,&lt;/P&gt;&lt;P&gt;  TUMLS_MESSCODE type EDIPMESCOD.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;TYPES:&lt;/P&gt;&lt;P&gt;  TUMLS_TABNAME TYPE TABNAME,                               "#EC *&lt;/P&gt;&lt;P&gt;  TUMLS_SEGMENT TYPE TABNAME.                               "#EC *&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;TYPES:&lt;/P&gt;&lt;P&gt;  TUMLS_PATHFILE TYPE /SAPDMC/LS_FILENAME,&lt;/P&gt;&lt;P&gt;  TUMLS_FILENAME TYPE /SAPDMC/LS_FILENAME,&lt;/P&gt;&lt;P&gt;  TUMLS_FILETEXT TYPE /SAPDMC/LS_FILETEXT.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;TYPES:&lt;/P&gt;&lt;P&gt;  BEGIN OF type_errorline,&lt;/P&gt;&lt;P&gt;     msgty type SYMSGTY,&lt;/P&gt;&lt;P&gt;     id type SYMSGID,&lt;/P&gt;&lt;P&gt;     msgno type symsgno,&lt;/P&gt;&lt;P&gt;     par1 type symsgv,&lt;/P&gt;&lt;P&gt;     par2 type symsgv,&lt;/P&gt;&lt;P&gt;     par3 type symsgv,&lt;/P&gt;&lt;P&gt;     par4 type symsgv,&lt;/P&gt;&lt;P&gt;  END OF type_errorline.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;TYPES:&lt;/P&gt;&lt;P&gt;  type_errortab TYPE SORTED TABLE&lt;/P&gt;&lt;P&gt;                OF type_errorline&lt;/P&gt;&lt;P&gt;                WITH NON-UNIQUE KEY id msgno par1 par2 par3 par4.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;DATA:&lt;/P&gt;&lt;P&gt;    LV_INDEX TYPE SY-INDEX,&lt;/P&gt;&lt;P&gt;    LV_INDEX2 TYPE SYINDEX,&lt;/P&gt;&lt;P&gt;    LV_TABLE1 TYPE REF TO DATA,&lt;/P&gt;&lt;P&gt;    LV_TABLE2 TYPE REF TO DATA,&lt;/P&gt;&lt;P&gt;    LV_TABLE3 TYPE REF TO DATA,&lt;/P&gt;&lt;P&gt;    LV_TABLE4 TYPE REF TO DATA,&lt;/P&gt;&lt;P&gt;    LV_LINE1  TYPE REF TO DATA,&lt;/P&gt;&lt;P&gt;    LV_LINE2  TYPE REF TO DATA,&lt;/P&gt;&lt;P&gt;    LV_LINE3  TYPE REF TO DATA,&lt;/P&gt;&lt;P&gt;    LV_LINE4  TYPE REF TO DATA,&lt;/P&gt;&lt;P&gt;    LV_OFFSET1 TYPE SYTABIX,&lt;/P&gt;&lt;P&gt;    ST_IS_LAYOUT_ALV TYPE SLIS_LAYOUT_ALV,&lt;/P&gt;&lt;P&gt;    L_IT_FCATLOG_ALV TYPE SLIS_T_FIELDCAT_ALV,&lt;/P&gt;&lt;P&gt;    L_IT_FLDCAT TYPE LVC_T_FCAT.&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;GLOBAL INTERNAL TABLES&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;************************************************************************&lt;/P&gt;&lt;P&gt;DATA : i_newinput TYPE STANDARD TABLE OF ty_newinput INITIAL SIZE 0."#EC *&lt;/P&gt;&lt;P&gt;DATA : i_contentheader1 TYPE STANDARD TABLE OF ty_contenthd INITIAL SIZE 0."#EC *&lt;/P&gt;&lt;P&gt;DATA : i_contenttab1 TYPE STANDARD TABLE OF ty_content INITIAL SIZE 0."#EC *&lt;/P&gt;&lt;P&gt;DATA : i_contenttab2 TYPE STANDARD TABLE OF ty_content INITIAL SIZE 0."#EC *&lt;/P&gt;&lt;P&gt;DATA : i_contenttab3 TYPE STANDARD TABLE OF ty_content INITIAL SIZE 0."#EC *&lt;/P&gt;&lt;P&gt;DATA : i_contenttab4 TYPE STANDARD TABLE OF ty_content INITIAL SIZE 0."#EC *&lt;/P&gt;&lt;P&gt;DATA : i_E1CUV1M TYPE STANDARD TABLE OF E1CUV1M INITIAL SIZE 0."#EC *&lt;/P&gt;&lt;P&gt;DATA : i_errortab TYPE STANDARD TABLE OF solisti1 INITIAL SIZE 0."#EC *&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;GLOBAL WORK AREAS&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;************************************************************************&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;**Internal Table for the structure TY_T001L&lt;/P&gt;&lt;P&gt;DATA : wa_vartab TYPE ty_vartab.                            "#EC *&lt;/P&gt;&lt;P&gt;DATA : wa_vartabdate TYPE ty_vartabdate.                    "#EC *&lt;/P&gt;&lt;P&gt;DATA : wa_vardetails TYPE ty_vardetails.                    "#EC *&lt;/P&gt;&lt;P&gt;DATA : wa_tabinput TYPE ty_tabinput.                        "#EC *&lt;/P&gt;&lt;P&gt;DATA : wa_dsninput TYPE ty_dsninput.                        "#EC *&lt;/P&gt;&lt;P&gt;DATA : wa_newinput TYPE ty_newinput.                        "#EC *&lt;/P&gt;&lt;P&gt;DATA : wa_gnewinput TYPE ty_newinput.                       "#EC *&lt;/P&gt;&lt;P&gt;DATA : wa_ginput_data TYPE ty_newinput.                     "#EC *&lt;/P&gt;&lt;P&gt;DATA : wa_final TYPE ty_final.                              "#EC *&lt;/P&gt;&lt;P&gt;DATA : wa_content TYPE ty_content.                          "#EC *&lt;/P&gt;&lt;P&gt;DATA : wa_contenthd TYPE ty_contenthd.                      "#EC *&lt;/P&gt;&lt;P&gt;DATA : wa_contentheader type ty_contenthd.                  "#EC *&lt;/P&gt;&lt;P&gt;DATA : wa_contenttab TYPE ty_content.                       "#EC *&lt;/P&gt;&lt;P&gt;DATA : wa_content1 TYPE ty_content.                         "#EC *&lt;/P&gt;&lt;P&gt;DATA : wa_contenthd1 TYPE ty_contenthd.                     "#EC *&lt;/P&gt;&lt;P&gt;DATA : wa_contentheader1 type ty_contenthd.                 "#EC *&lt;/P&gt;&lt;P&gt;DATA : wa_contenttab1 TYPE ty_content.                      "#EC *&lt;/P&gt;&lt;P&gt;DATA : wa_contenttab2 TYPE ty_content.                      "#EC *'&lt;/P&gt;&lt;P&gt;DATA : wa_contenttab3 TYPE ty_content.                      "#EC *&lt;/P&gt;&lt;P&gt;DATA : wa_contenttab4 TYPE ty_content.                      "#EC *&lt;/P&gt;&lt;P&gt;DATA : wa_E1CUVTM TYPE E1CUVTM.                             "#EC *&lt;/P&gt;&lt;P&gt;DATA : wa_E1CUV1M TYPE E1CUV1M.                             "#EC *&lt;/P&gt;&lt;P&gt;DATA : wa_E1DATEM TYPE E1DATEM.                             "#EC *&lt;/P&gt;&lt;P&gt;DATA : wa_error_tab TYPE solisti1.                          "#EC *&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;INTERNAL TABLES AND WORK AREAS FOR BDC&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;************************************************************************&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;*Internal Table to store the data to display the error message&lt;/P&gt;&lt;P&gt;DATA : i_errormsg TYPE STANDARD TABLE OF solisti1 INITIAL SIZE 0."#EC *&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;*Internal Table to store the data to display the error message&lt;/P&gt;&lt;P&gt;DATA : i_error TYPE STANDARD TABLE OF solisti1 INITIAL SIZE 0."#EC *&lt;/P&gt;&lt;P&gt;DATA : itab_error TYPE STANDARD TABLE OF solisti1 INITIAL SIZE 0."#EC *&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;**Work area to store the data to display the error message&lt;/P&gt;&lt;P&gt;DATA : wa_errormsg TYPE solisti1.                           "#EC *&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;**Internal table which will store data for the error log&lt;/P&gt;&lt;P&gt;DATA:i_error_log TYPE STANDARD TABLE OF ty_error_log INITIAL SIZE 0."#EC *&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;GLOBAL VARIABLES&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;************************************************************************&lt;/P&gt;&lt;P&gt;DATA:  G_FILE TYPE string.                                  "#EC *&lt;/P&gt;&lt;P&gt;DATA : g_ctr_input_recs(5) type c.                          "#EC *&lt;/P&gt;&lt;P&gt;DATA:  g_ctr_output_recs(5) type p.                         "#EC *&lt;/P&gt;&lt;P&gt;data : g_msg(100) type c.                                   "#EC *&lt;/P&gt;&lt;P&gt;data:  g_struct_file TYPE string.                           "#EC *&lt;/P&gt;&lt;P&gt;data:  g_login type FILEINTERN.                             "#EC *&lt;/P&gt;&lt;P&gt;data:  g_phyin type string.                                 "#EC *&lt;/P&gt;&lt;P&gt;DATA:  g_lprnt type RSPOPSHORT.                             "#EC *&lt;/P&gt;&lt;P&gt;DATA:  g_FNAME1 TYPE STRING.                                "#EC *&lt;/P&gt;&lt;P&gt;DATA : g_repid TYPE repid,                                  "#EC *&lt;/P&gt;&lt;P&gt;       g_exit(1) TYPE C,                                    "#EC *&lt;/P&gt;&lt;P&gt;       gx_variant  type disvariant.                         "#EC *&lt;/P&gt;&lt;P&gt;DATA : g_lines    TYPE i .                                  "#EC *&lt;/P&gt;&lt;P&gt;data : g_save(1) type c.                                    "#EC *&lt;/P&gt;&lt;P&gt;DATA : g_splid     TYPE rspoid .                            "#EC *&lt;/P&gt;&lt;P&gt;data:  p_login type FILEINTERN.                             "#EC *&lt;/P&gt;&lt;P&gt;data:  p_phyin type string.                                 "#EC *&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;DATA:&lt;/P&gt;&lt;P&gt;  go_table         TYPE REF TO cl_salv_table,&lt;/P&gt;&lt;P&gt;  go_sdescr        TYPE REF TO cl_abap_structdescr,&lt;/P&gt;&lt;P&gt;  go_tdescr        TYPE REF TO cl_abap_tabledescr,&lt;/P&gt;&lt;P&gt;  gdo_data         TYPE REF TO data,&lt;/P&gt;&lt;P&gt;  gdo_handle       TYPE REF TO data,&lt;/P&gt;&lt;P&gt;  gs_comp          TYPE abap_componentdescr,&lt;/P&gt;&lt;P&gt;  gt_components    TYPE abap_component_tab.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;FIELD-SYMBOLS:&lt;/P&gt;&lt;P&gt;       TYPE table.&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;GLOBAL CONSTANTS&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;************************************************************************&lt;/P&gt;&lt;P&gt;CONSTANTS c_msgar   TYPE rslgarea   VALUE 'F8'.             "#EC *&lt;/P&gt;&lt;P&gt;CONSTANTS c_msgid   TYPE rslgsubid  VALUE 'E'.              "#EC *&lt;/P&gt;&lt;P&gt;CONSTANTS c_urgnc   TYPE char04     VALUE 'HIGH'.           "#EC *&lt;/P&gt;&lt;P&gt;CONSTANTS C_X(1)       TYPE C          VALUE 'X'.           "#EC *&lt;/P&gt;&lt;P&gt;CONSTANTS C_Y(1)       TYPE C          VALUE 'Y'.           "#EC *&lt;/P&gt;&lt;P&gt;CONSTANTS C_Z(1)       TYPE C          VALUE 'Z'.           "#EC *&lt;/P&gt;&lt;P&gt;CONSTANTS C_E(1)       TYPE C          VALUE 'E'.           "#EC *&lt;/P&gt;&lt;P&gt;CONSTANTS C_SAP(3)     TYPE C          VALUE 'SAP'.         "#EC *&lt;/P&gt;&lt;P&gt;CONSTANTS C_MOD(3)     TYPE C          VALUE 'MOD'.         "#EC *&lt;/P&gt;&lt;P&gt;CONSTANTS C_MD1(3)     TYPE C          VALUE 'MD1'.         "#EC *&lt;/P&gt;&lt;P&gt;CONSTANTS C_MD2(3)     TYPE C          VALUE 'MD2'.         "#EC *&lt;/P&gt;&lt;P&gt;CONSTANTS C_MD3(3)     TYPE C          VALUE 'MD3'.         "#EC *&lt;/P&gt;&lt;P&gt;constants:   c_000001(6)  type c value '000001',            "#EC *&lt;/P&gt;&lt;P&gt;             c_e1cuv1m(7) type c value 'E1CUV1M',           "#EC *&lt;/P&gt;&lt;P&gt;             c_02(2)  type c value '02',                    "#EC *&lt;/P&gt;&lt;P&gt;             c_009(3)   type c value '009',                 "#EC *&lt;/P&gt;&lt;P&gt;             c_0001(4) type c value '0001'.                 "#EC *&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;constants:  c_e1datem(7) type c value 'E1DATEM'.            "#EC *&lt;/P&gt;&lt;P&gt;constants:  c_e1cuvtm(7) type c value 'E1CUVTM'.            "#EC *&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;GLOBAL INTERNAL TABLES FOR ALV DISPLAY&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;************************************************************************&lt;/P&gt;&lt;P&gt;*Internal tables for ALV Field cat&lt;/P&gt;&lt;P&gt;DATA :&lt;/P&gt;&lt;P&gt;i_fieldcat_ov  TYPE STANDARD TABLE OF slis_fieldcat_alv INITIAL SIZE 0,"#EC *&lt;/P&gt;&lt;P&gt;i_fieldcat_dtl TYPE STANDARD TABLE OF slis_fieldcat_alv INITIAL SIZE 0,"#EC *&lt;/P&gt;&lt;P&gt;i_fieldcat_ov1 TYPE lvc_t_fcat,                             "#EC *&lt;/P&gt;&lt;P&gt;i_events       TYPE slis_t_event.                           "#EC *&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;GLOBAL WORK AREAS FOR ALV DISPLAY&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;************************************************************************&lt;/P&gt;&lt;P&gt;*Work area for ALV Field layout&lt;/P&gt;&lt;P&gt;DATA : wa_layout TYPE slis_layout_alv.                      "#EC *&lt;/P&gt;&lt;P&gt;*Work area for Field Cat. Table&lt;/P&gt;&lt;P&gt;DATA : wa_fieldcat TYPE slis_fieldcat_alv.                  "#EC *&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;GLOBAL VARIABLES FOR ALV DISPLAY&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;************************************************************************&lt;/P&gt;&lt;P&gt;DATA : g_event  TYPE slis_t_event.                          "#EC *&lt;/P&gt;&lt;P&gt;DATA : g_top_of_page TYPE slis_t_listheader.                "#EC *&lt;/P&gt;&lt;P&gt;DATA : g_ok_code     TYPE char4.                            "#EC *&lt;/P&gt;&lt;P&gt;DATA : g_variant     type disvariant.                       "#EC *&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;GLOBAL CONSTANTS FOR ALV DISPLAY&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;************************************************************************&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;BAL handling&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;data: iv_log_handle type BALLOGHNDL.                        "#EC *&lt;/P&gt;&lt;P&gt;data: is_log_header type bal_s_log.                         "#EC *&lt;/P&gt;&lt;P&gt;data: iv_object     type bal_s_log-object    value 'CAPI'.  "#EC *&lt;/P&gt;&lt;P&gt;data: iv_subobject  type bal_s_log-subobject value 'CAPI_LOG'."#EC *&lt;/P&gt;&lt;P&gt;data: iv_tcode      type bal_s_log-altcode   value 'SE38'.  "#EC *&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;********************************************************************&lt;/P&gt;&lt;P&gt;*MOD-005&lt;/P&gt;&lt;P&gt;********************************************************************&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;RANGES:&lt;/P&gt;&lt;P&gt;    R_MESTYP FOR EDIDC-MESTYP,                              "#EC *&lt;/P&gt;&lt;P&gt;    R_CREDAT FOR EDIDC-CREDAT,	                             "#EC *&lt;/P&gt;&lt;P&gt;    R_CRETIM FOR EDIDC-CRETIM,                              "#EC *&lt;/P&gt;&lt;P&gt;    R_SNDPRT FOR EDIDC-SNDPRT,                              "#EC *&lt;/P&gt;&lt;P&gt;    R_SNDPRN FOR EDIDC-SNDPRN.                              "#EC *&lt;/P&gt;&lt;P&gt;DATA:&lt;/P&gt;&lt;P&gt;    L_MESSTYPE TYPE TUMLS_MESSTYPE.                         "#EC *&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;********************************************************************&lt;/P&gt;&lt;P&gt;*MOD-005&lt;/P&gt;&lt;P&gt;********************************************************************&lt;/P&gt;&lt;P&gt;data:        p_sndprn TYPE EDI_SNDPRN,                      "#EC *&lt;/P&gt;&lt;P&gt;             p_sndprt TYPE EDI_SNDPRT,                      "#EC *&lt;/P&gt;&lt;P&gt;             p_sndpor TYPE EDI_SNDPOR.                      "#EC *&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;data:        p_rcvprn TYPE EDI_RCVPRN,                      "#EC *&lt;/P&gt;&lt;P&gt;             p_rcvprt TYPE EDI_RCVPRT,                      "#EC *&lt;/P&gt;&lt;P&gt;             p_rcvpor TYPE EDI_RCVPOR.                      "#EC *&lt;/P&gt;&lt;P&gt;data:&lt;/P&gt;&lt;P&gt;  init_E1CUVTM type E1CUVTM,                                "#EC *&lt;/P&gt;&lt;P&gt;  prev_E1CUVTM type E1CUVTM,                                "#EC *&lt;/P&gt;&lt;P&gt;  init_E1DATEM type E1DATEM,                                "#EC *&lt;/P&gt;&lt;P&gt;  prev_E1DATEM type E1DATEM,                                "#EC *&lt;/P&gt;&lt;P&gt;  init_E1CUV1M type E1CUV1M,                                "#EC *&lt;/P&gt;&lt;P&gt;  prev_E1CUV1M type E1CUV1M.                                "#EC *&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;Source structure definitions&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;data:&lt;/P&gt;&lt;P&gt;  begin of LSMW_TAB_CONTENT,                                "#EC *&lt;/P&gt;&lt;P&gt;    VTNAM(018) type C,&lt;/P&gt;&lt;P&gt;    CHAR1(030) type C,&lt;/P&gt;&lt;P&gt;    CHAR2(030) type C,&lt;/P&gt;&lt;P&gt;    CHAR3(030) type C,&lt;/P&gt;&lt;P&gt;    CHAR4(030) type C,&lt;/P&gt;&lt;P&gt;    CHAR5(030) type C,&lt;/P&gt;&lt;P&gt;    CHAR6(030) type C,&lt;/P&gt;&lt;P&gt;    CHAR7(030) type C,&lt;/P&gt;&lt;P&gt;    CHAR8(030) type C,&lt;/P&gt;&lt;P&gt;    CHAR9(030) type C,&lt;/P&gt;&lt;P&gt;    CHAR10(030) type C,&lt;/P&gt;&lt;P&gt;    CHAR11(030) type C,&lt;/P&gt;&lt;P&gt;    CHAR12(030) type C,&lt;/P&gt;&lt;P&gt;    CHAR13(030) type C,&lt;/P&gt;&lt;P&gt;    CHAR14(030) type C,&lt;/P&gt;&lt;P&gt;    CHAR15(030) type C,&lt;/P&gt;&lt;P&gt;    FLAG(001) type C,&lt;/P&gt;&lt;P&gt;  end of LSMW_TAB_CONTENT.&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;Counters&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;data:&lt;/P&gt;&lt;P&gt;  g_cnt_VAR_TAB  type i,                                    "#EC *&lt;/P&gt;&lt;P&gt;  g_cnt_TAB_CONTENT  type i.                                "#EC *&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;Counter ct_xxxxxxxxxx: number of transferred records&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;data:&lt;/P&gt;&lt;P&gt;  ct_edi_dc40 type i,                                       "#EC *&lt;/P&gt;&lt;P&gt;  cs_edi_dc40 type i,                                       "#EC *&lt;/P&gt;&lt;P&gt;  ct_E1CUVTM  type i,                                       "#EC *&lt;/P&gt;&lt;P&gt;  cs_E1CUVTM  type i,                                       "#EC *&lt;/P&gt;&lt;P&gt;  ct_E1DATEM  type i,                                       "#EC *&lt;/P&gt;&lt;P&gt;  cs_E1DATEM  type i,                                       "#EC *&lt;/P&gt;&lt;P&gt;  ct_E1CUV1M  type i,                                       "#EC *&lt;/P&gt;&lt;P&gt;  cs_E1CUV1M  type i.                                       "#EC *&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;Global data definitions and data declarations&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;DATA: wa_cabn TYPE ty_cabn,&lt;/P&gt;&lt;P&gt;      wa_cawn TYPE ty_cawn,&lt;/P&gt;&lt;P&gt;      wa_file TYPE ty_file,&lt;/P&gt;&lt;P&gt;      wa_vtnam TYPE ty_vtnam,&lt;/P&gt;&lt;P&gt;      wa_cuvtab_fld TYPE ty_cuvtab_fld,&lt;/P&gt;&lt;P&gt;      wa_cuvtab_valn TYPE ty_cuvtab_valn,&lt;/P&gt;&lt;P&gt;      wa_cuvtab_valc TYPE ty_cuvtab_valc,&lt;/P&gt;&lt;P&gt;      wa_col_pos     TYPE ty_col_pos,&lt;/P&gt;&lt;P&gt;      wa_error       TYPE ty_error,&lt;/P&gt;&lt;P&gt;      wa_dupl        TYPE ty_dupl,&lt;/P&gt;&lt;P&gt;      wa_dupl_file   TYPE ty_dupl.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;DATA: wa_vnt_ma TYPE ty_vnt_ma,&lt;/P&gt;&lt;P&gt;      wa_split  TYPE ty_split.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;DATA: wa_charval TYPE ty_charval.                           "#EC *&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;*----&lt;/P&gt;&lt;P&gt;-&lt;/P&gt;&lt;HR originaltext="----" /&gt;&lt;P&gt;Internal table&lt;/P&gt;&lt;P&gt;DATA: i_cabn        TYPE STANDARD TABLE OF ty_cabn,         "#EC *&lt;/P&gt;&lt;P&gt;      i_cabn_temp   TYPE STANDARD TABLE OF ty_cabn,         "#EC *&lt;/P&gt;&lt;P&gt;      i_cabn_atinn  TYPE STANDARD TABLE OF ty_cabn,         "#EC *&lt;/P&gt;&lt;P&gt;      i_file        TYPE STANDARD TABLE OF ty_file,         "#EC *&lt;/P&gt;&lt;P&gt;      i_file_tmp    TYPE STANDARD TABLE OF ty_file,         "#EC *&lt;/P&gt;&lt;P&gt;      i_vtnam       TYPE STANDARD TABLE OF ty_vtnam,        "#EC *&lt;/P&gt;&lt;P&gt;      i_cuvtab      TYPE STANDARD TABLE OF ty_vtnam,        "#EC *&lt;/P&gt;&lt;P&gt;      i_cuvtab_fld  TYPE STANDARD TABLE OF ty_cuvtab_fld,   "#EC *&lt;/P&gt;&lt;P&gt;      i_cuvtab_valn TYPE STANDARD TABLE OF ty_cuvtab_valn,  "#EC *&lt;/P&gt;&lt;P&gt;      i_cuvtab_valc TYPE STANDARD TABLE OF ty_cuvtab_valc,  "#EC *&lt;/P&gt;&lt;P&gt;      i_col_pos     TYPE STANDARD TABLE OF ty_col_pos,      "#EC *&lt;/P&gt;&lt;P&gt;      i_cawn        TYPE STANDARD TABLE OF ty_cawn,         "#EC *&lt;/P&gt;&lt;P&gt;      i_cawn_n      TYPE STANDARD TABLE OF ty_cawn,         "#EC *&lt;/P&gt;&lt;P&gt;      i_cawn_c      TYPE STANDARD TABLE OF ty_cawn,         "#EC *&lt;/P&gt;&lt;P&gt;      i_cawn_i      TYPE STANDARD TABLE OF ty_cawn,         "#EC *&lt;/P&gt;&lt;P&gt;      i_cuv_error   TYPE STANDARD TABLE OF ty_vtnam,        "#EC *&lt;/P&gt;&lt;P&gt;      i_dupl        TYPE STANDARD TABLE OF ty_dupl.         "#EC *&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;DATA: i_vnt_ma TYPE STANDARD TABLE OF ty_vnt_ma,            "#EC *&lt;/P&gt;&lt;P&gt;      i_split  TYPE STANDARD TABLE OF ty_split.             "#EC *&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;DATA: i_dupl_file TYPE STANDARD TABLE OF ty_dupl.           "#EC *&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;DATA: i_charval TYPE STANDARD TABLE OF ty_charval.          "#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;-&lt;/P&gt;&lt;HR originaltext="----" /&gt;&lt;P&gt; Constants&lt;/P&gt;&lt;P&gt;CONSTANTS: c_char TYPE atfor VALUE 'CHAR',                  "#EC *&lt;/P&gt;&lt;P&gt;           c_date TYPE atfor VALUE 'DATE',                  "#EC *&lt;/P&gt;&lt;P&gt;           c_time TYPE atfor VALUE 'TIME',                  "#EC *&lt;/P&gt;&lt;P&gt;           c_varcond TYPE atnam VALUE 'Z_VARCOND'.          "#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;-&lt;/P&gt;&lt;HR originaltext="---" /&gt;&lt;P&gt; Field Symbols&lt;/P&gt;&lt;P&gt;FIELD-SYMBOLS:  TYPE ANY.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;*----&lt;/P&gt;&lt;P&gt;-&lt;/P&gt;&lt;HR originaltext="---" /&gt;&lt;P&gt; Variables&lt;/P&gt;&lt;P&gt;DATA: g_raw(500)  TYPE c,                                   "#EC *&lt;/P&gt;&lt;P&gt;      g_invalid   TYPE char1,                               "#EC *&lt;/P&gt;&lt;P&gt;      g_error     TYPE char1,                               "#EC *&lt;/P&gt;&lt;P&gt;      g_message   TYPE char50,                              "#EC *&lt;/P&gt;&lt;P&gt;      g_slnid_c    TYPE slnid,                              "#EC *&lt;/P&gt;&lt;P&gt;      g_slnid_n    TYPE slnid,                              "#EC *&lt;/P&gt;&lt;P&gt;      g_row        TYPE char5.                              "#EC *&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;DATA: g_varcond TYPE varcond, "Variant condition "#EC NEEDED&lt;/P&gt;&lt;P&gt;      g_split_var TYPE i.                                   "#EC *&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Types: begin of ty_charname,&lt;/P&gt;&lt;P&gt;         name type atnam,&lt;/P&gt;&lt;P&gt;       end of ty_charname.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;data: wa_charname type ty_charname,                         "#EC *&lt;/P&gt;&lt;P&gt;      i_charname type standard table of ty_charname.        "#EC *&lt;/P&gt;&lt;P&gt;data: cnt_i type i,                                         "#EC *&lt;/P&gt;&lt;P&gt;      g_tabix type char10.                                  "#EC *&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Types: begin of ty_itab_zedidc40.&lt;/P&gt;&lt;P&gt;        include structure edi_dc40.&lt;/P&gt;&lt;P&gt;TYPES:       end of ty_itab_zedidc40.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Types: begin of ty_itab_zedidd40.&lt;/P&gt;&lt;P&gt;        include structure edi_dd40.&lt;/P&gt;&lt;P&gt;TYPES: end of ty_itab_zedidd40.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;DATA: itab_zedidc40 type standard table of&lt;/P&gt;&lt;P&gt;                  ty_itab_zedidc40 initial size 0.          "#EC *&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;DATA: itab_zedidd40 type standard table of&lt;/P&gt;&lt;P&gt;                  ty_itab_zedidd40 initial size 0.          "#EC *&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;DATA: wa_itab_zedidc40 type ty_itab_zedidc40.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;DATA: wa_itab_zedidd40 type ty_itab_zedidd40.&lt;/P&gt;&lt;P&gt;****************************************************************&lt;/P&gt;&lt;P&gt;*MOD-009&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: itab_ze1cuvtm type e1cuvtm,                           "#EC *&lt;/P&gt;&lt;P&gt;      itab_ze1datem type e1datem,                           "#EC *&lt;/P&gt;&lt;P&gt;      itab_ze1cuv1m type e1cuv1m.                           "#EC *&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;data: wdocnum(16) type n value 0.                           "#EC *&lt;/P&gt;&lt;P&gt;data: wsegnum(6)  type n value 0.                           "#EC *&lt;/P&gt;&lt;P&gt;data: witemno(10) type n value 0.                           "#EC *&lt;/P&gt;&lt;P&gt;data: witemno_new(10)  type n value 0.                      "#EC *&lt;/P&gt;&lt;P&gt;data: witemno_gst(10)  type n value 0.                      "#EC *&lt;/P&gt;&lt;P&gt;data: witemno_qst(10)  type n value 0.                      "#EC *&lt;/P&gt;&lt;P&gt;TYPES: BEGIN OF ty_input_data1,                             "#EC *&lt;/P&gt;&lt;P&gt;          line(560) type c,&lt;/P&gt;&lt;P&gt;          flag(1) type c,&lt;/P&gt;&lt;P&gt;       END OF ty_input_data1.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;DATA: i_input_data type standard table of&lt;/P&gt;&lt;P&gt;                  ty_input_data1 initial size 0. "with header line.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;DATA: i_input_data1 type standard table of&lt;/P&gt;&lt;P&gt;                  ty_input_data1 initial size 0. "with header line.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;DATA: wa_input_data type ty_input_data1.                    "#EC *&lt;/P&gt;&lt;P&gt;DATA: g_cnt_input_recs type i.                              "#EC *&lt;/P&gt;&lt;P&gt;DATA: g_flg_error type c.                                   "#EC *&lt;/P&gt;&lt;P&gt;DATA: l_lines type i.                                       "#EC *&lt;/P&gt;&lt;P&gt;DATA: l_tabix type i.                                       "#EC *&lt;/P&gt;&lt;P&gt;DATA: wa_input_data1 type ty_input_data1.                   "#EC *&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;DATA: FILE TYPE STRING.&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;Fields that are made available to the user:&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;DATA:&lt;/P&gt;&lt;P&gt;  g_cnt_records_read TYPE i,                                "#EC *&lt;/P&gt;&lt;P&gt;  g_cnt_records_transferred TYPE i,                         "#EC *&lt;/P&gt;&lt;P&gt;  g_cnt_transactions_read TYPE i,                           "#EC *&lt;/P&gt;&lt;P&gt;  g_cnt_transactions_transferred TYPE i,                    "#EC *&lt;/P&gt;&lt;P&gt;  g_cnt_idocs_package TYPE i.                               "#EC *&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;data: v_log_handle type balloghndl.                         "#EC *&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;DATA: gt_curr_edi_dc40 TYPE STANDARD TABLE OF edi_dc40 initial size 0."#EC *&lt;/P&gt;&lt;P&gt;DATA: gt_curr_edi_dd40 TYPE STANDARD TABLE OF edi_dd40 initial size 0."#EC *&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;DATA: wa_curr_edi_dc40 TYPE edi_dc40.                       "#EC *&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;DATA: wa_curr_edi_dd40 TYPE edi_dd40.                       "#EC *&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;internal table for error messages during conversion&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;DATA: g_error_tab TYPE type_errortab,                       "#EC *&lt;/P&gt;&lt;P&gt;      wa_errortab TYPE type_errorline.                      "#EC *&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;DATA:  g_edidd_segnam type EDI4SEGNAM,                      "#EC *&lt;/P&gt;&lt;P&gt;       g_edidd_hlevel type EDI4HLEVEC.                      "#EC *&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;DATA: g_segnum(6) TYPE n.&lt;/P&gt;&lt;P&gt;DATA: g_objecttype(2) type C.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;DATA: P_FNAME(128) TYPE C VALUE '/usr/sap/trans/vartabheader'. " MODIF ID MD1 OBLIGATORY.&lt;/P&gt;&lt;P&gt;DATA: P_FNAME1(128) TYPE C VALUE '/usr/sap/trans/vartabcontent'. " MODIF ID MD1 OBLIGATORY.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;DATA: alv_fldcat TYPE slis_t_fieldcat_alv,&lt;/P&gt;&lt;P&gt;      it_fldcat TYPE lvc_t_fcat.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;field-symbols: .&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;data: dy_table type ref to data,&lt;/P&gt;&lt;P&gt;      dy_line  type ref to data,&lt;/P&gt;&lt;P&gt;      xfc type lvc_s_fcat,&lt;/P&gt;&lt;P&gt;      ifc type lvc_t_fcat.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;data: l_wa_data TYPE TY_CONTENT,&lt;/P&gt;&lt;P&gt;      itab_data TYPE standard table of TY_CONTENT.&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;DECLARATION FOR 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;HR originaltext="---------------------------------------------------------------" /&gt;&lt;P&gt;*selection-screen skip 1.&lt;/P&gt;&lt;P&gt;*----&lt;/P&gt;&lt;P&gt;-&lt;/P&gt;&lt;HR originaltext="---------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;*For all the input field entries&lt;/P&gt;&lt;P&gt;SELECTION-SCREEN BEGIN OF BLOCK bl1 WITH FRAME TITLE text-001.&lt;/P&gt;&lt;P&gt;*Parameter for Input File Name:&lt;/P&gt;&lt;P&gt;PARAMETERS:   p_inpt   TYPE RLGRAP-FILENAME MODIF ID MOD . " Presentation server File Variant table&lt;/P&gt;&lt;P&gt;PARAMETERS:   p_inpt1  TYPE RLGRAP-FILENAME MODIF ID MOD . " Presentation server File variant Content&lt;/P&gt;&lt;P&gt;SELECTION-SCREEN END OF BLOCK bl1.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;UL&gt;&lt;LI level="2" type="ul"&gt;&lt;P&gt;IDoc creation&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;/UL&gt;&lt;P&gt;selection-screen begin of block idocpars&lt;/P&gt;&lt;P&gt;                 with frame title text-006.&lt;/P&gt;&lt;P&gt;parameters:&lt;/P&gt;&lt;P&gt;   p_trfcpt as checkbox default C_X MODIF ID MD3,&lt;/P&gt;&lt;P&gt;   p_packge(5) type n default 1 MODIF ID MD3.&lt;/P&gt;&lt;P&gt;selection-screen end of block idocpars.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;SELECTION-SCREEN BEGIN OF BLOCK bl3 WITH FRAME TITLE text-032.&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt; Radio Buttons :&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;parameters:&lt;/P&gt;&lt;P&gt;  rb_apsrv RADIOBUTTON GROUP RB1 DEFAULT 'X' USER-COMMAND UCOM,&lt;/P&gt;&lt;P&gt;  rb_convt RADIOBUTTON GROUP RB1,&lt;/P&gt;&lt;P&gt;  rb_idoc RADIOBUTTON GROUP RB1,&lt;/P&gt;&lt;P&gt;  rb_proc RADIOBUTTON GROUP RB1.&lt;/P&gt;&lt;P&gt;SELECTION-SCREEN END OF BLOCK bl3.&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;INITIALIZATION&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;************************************************************************&lt;/P&gt;&lt;P&gt;INITIALIZATION.&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;Check selection-screen entries *&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;************************************************************************&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;*AT SELECTION-SCREEN.&lt;/P&gt;&lt;P&gt;*&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt; PERFORM sub_get_physical_file USING p_fpath p_fname.&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;*&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt; PERFORM sub_get_physical_file1 USING p_fpath1 p_fname1.&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;*&lt;/P&gt;&lt;P&gt;*************************************************************************&lt;/P&gt;&lt;UL&gt;&lt;UL&gt;&lt;LI level="2" type="ul"&gt;&lt;P&gt;AT SELECTION SCREEN&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;/UL&gt;&lt;P&gt;*************************************************************************&lt;/P&gt;&lt;P&gt;*AT SELECTION-SCREEN ON VALUE-REQUEST FOR p_fname.&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt; PERFORM sub_get_file. " CHANGING p_fname.         "#EC *&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;*&lt;/P&gt;&lt;P&gt;*AT SELECTION-SCREEN ON VALUE-REQUEST FOR p_fname1.&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt; PERFORM sub_get_file1. " CHANGING p_fname1.       "#EC *&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;AT SELECTION-SCREEN ON VALUE-REQUEST FOR P_INPT.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  CALL FUNCTION 'KD_GET_FILENAME_ON_F4'&lt;/P&gt;&lt;P&gt;    EXPORTING&lt;/P&gt;&lt;P&gt;      STATIC        = C_X&lt;/P&gt;&lt;P&gt;    CHANGING&lt;/P&gt;&lt;P&gt;      FILE_NAME     = P_INPT&lt;/P&gt;&lt;P&gt;    EXCEPTIONS&lt;/P&gt;&lt;P&gt;      MASK_TOO_LONG = 1&lt;/P&gt;&lt;P&gt;      OTHERS        = 2.&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;    MESSAGE e241.&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;AT SELECTION-SCREEN ON VALUE-REQUEST FOR P_INPT1.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  CALL FUNCTION 'KD_GET_FILENAME_ON_F4'&lt;/P&gt;&lt;P&gt;    EXPORTING&lt;/P&gt;&lt;P&gt;      STATIC        = C_X&lt;/P&gt;&lt;P&gt;    CHANGING&lt;/P&gt;&lt;P&gt;      FILE_NAME     = P_INPT1&lt;/P&gt;&lt;P&gt;    EXCEPTIONS&lt;/P&gt;&lt;P&gt;      MASK_TOO_LONG = 1&lt;/P&gt;&lt;P&gt;      OTHERS        = 2.&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;    MESSAGE e241.&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;*&amp;amp;----&lt;/P&gt;&lt;HR originaltext="---------------------------------------------------------------" /&gt;&lt;P&gt;*&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;At Selection Screen Output&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;*&amp;amp;----&lt;/P&gt;&lt;HR originaltext="---------------------------------------------------------------" /&gt;&lt;P&gt;*&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;AT SELECTION-SCREEN OUTPUT.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt; IF rb_apsrv = 'X'.&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;   LOOP AT SCREEN.&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;     IF SCREEN-GROUP1 = c_mod.&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;       SCREEN-INPUT = 0.&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;     ENDIF.&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;     IF SCREEN-GROUP1 = c_md2.&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;       SCREEN-INPUT = 0.&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;     ENDIF.&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;     IF SCREEN-GROUP1 = c_md3.&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;       SCREEN-INPUT = 0.&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;     ENDIF.&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;     MODIFY SCREEN.&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;   ENDLOOP.&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt; endif.&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;IF rb_apsrv = 'X'.&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;  LOOP AT SCREEN.&lt;/P&gt;&lt;P&gt;    IF SCREEN-GROUP1 = c_md1.&lt;/P&gt;&lt;P&gt;      SCREEN-INPUT = 0.&lt;/P&gt;&lt;P&gt;    ENDIF.&lt;/P&gt;&lt;P&gt;    IF SCREEN-GROUP1 = c_md2.&lt;/P&gt;&lt;P&gt;      SCREEN-INPUT = 0.&lt;/P&gt;&lt;P&gt;    ENDIF.&lt;/P&gt;&lt;P&gt;    IF SCREEN-GROUP1 = c_md3.&lt;/P&gt;&lt;P&gt;      SCREEN-INPUT = 0.&lt;/P&gt;&lt;P&gt;    ENDIF.&lt;/P&gt;&lt;P&gt;    MODIFY SCREEN.&lt;/P&gt;&lt;P&gt;  ENDLOOP.&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;endif.&lt;/P&gt;&lt;/LI&gt;&lt;/UL&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;START-OF-SELECTION.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;*Subroutines for start of selection event&lt;/P&gt;&lt;P&gt;  PERFORM sub_start_selection.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  IF rb_apsrv = 'X'.&lt;/P&gt;&lt;P&gt;    PERFORM sub_upload_data_app.&lt;/P&gt;&lt;P&gt;    MESSAGE i256.&lt;/P&gt;&lt;P&gt;    LEAVE LIST-PROCESSING.&lt;/P&gt;&lt;P&gt;    EXIT.&lt;/P&gt;&lt;P&gt;  ELSE.&lt;/P&gt;&lt;P&gt;    PERFORM sub_upload_data.&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;PERFORM sub_upload_data.&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;Get characteristic details&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;  PERFORM sub_get_cabn.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;Get value for characteristics&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;  PERFORM sub_get_cawn.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  perform sub_convert_transaction.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;END-OF-SELECTION.&lt;/P&gt;&lt;P&gt;************************************************************************&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;END 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;*MOD-012&lt;/P&gt;&lt;P&gt;**************************************************************&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;Final message&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;  perform sub_final_message_idoc.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;Display errorneous variant tables.&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;  perform sub_display_variant.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;Display lines with incorrect data&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;  perform sub_display_errorlines.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;*Subroutines for end of selection event&lt;/P&gt;&lt;P&gt;  PERFORM sub_end_selection.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  perform sub_clear_source_tables.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;**************************************************************&lt;/P&gt;&lt;P&gt;*MOD-012&lt;/P&gt;&lt;P&gt;**************************************************************&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;*&amp;amp;----&lt;/P&gt;&lt;HR originaltext="---------------------------------------------------------------" /&gt;&lt;P&gt;*&lt;/P&gt;&lt;P&gt;*&amp;amp;  Include           /FACTGLB/GTDMI_VARTAB_FORMS02                    *&lt;/P&gt;&lt;P&gt;*&amp;amp;----&lt;/P&gt;&lt;HR originaltext="---------------------------------------------------------------" /&gt;&lt;P&gt;*&lt;/P&gt;&lt;P&gt;*&amp;amp;----&lt;/P&gt;&lt;HR originaltext="---------------------------------------------------------------" /&gt;&lt;P&gt;*&lt;/P&gt;&lt;P&gt;*&amp;amp;  Include           /FACTGLB/GTDMI_VARTAB_FORMS02                    *&lt;/P&gt;&lt;P&gt;*&amp;amp;----&lt;/P&gt;&lt;HR originaltext="---------------------------------------------------------------" /&gt;&lt;P&gt;*&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;*----&lt;/P&gt;&lt;HR originaltext="----------------------------------------------------------------" /&gt;&lt;P&gt;*&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;PROGRAM DESCRIPTION: Variant Table and Content Upload Interface.&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;*&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;          DEVELOPER: Aveek Ghose&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;      CREATION DATE: 2008-04-18&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;         RDD NUMBER: DCDD027&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;TRANSPORT NUMBER(S): RD2K902769&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;*&lt;/P&gt;&lt;P&gt;*-- REVISION HISTORY -&lt;/P&gt;&lt;P&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;          DEVELOPER:&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;       DATE APPLIED: YYYY-MM-DD&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;         SCR NUMBER: &amp;lt;Scope Change Request ID&amp;gt;&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;         RDD NUMBER: &amp;lt;Toolset Object ID&amp;gt;&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;TRANSPORT NUMBER(S):&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;        DESCRIPTION:&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;*&lt;/P&gt;&lt;P&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;----&lt;/P&gt;&lt;HR originaltext="---------------------------------------------------------------" /&gt;&lt;P&gt;*&lt;/P&gt;&lt;P&gt;*&amp;amp;      Form  sub_refresh_variables&lt;/P&gt;&lt;P&gt;*&amp;amp;----&lt;/P&gt;&lt;HR originaltext="---------------------------------------------------------------" /&gt;&lt;P&gt;*&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;  This Subroutien Rfreshes all the Global Variables, Internal Tables&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;  and Work Areas usd in this program&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;*----&lt;/P&gt;&lt;HR originaltext="----------------------------------------------------------------" /&gt;&lt;P&gt;*&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;FORM sub_refresh_variables .&lt;/P&gt;&lt;P&gt;**********************************&lt;/P&gt;&lt;UL&gt;&lt;UL&gt;&lt;LI level="2" type="ul"&gt;&lt;P&gt;REFRESH GLOBAL INTERNAL TABLES&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;/UL&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;REFRESH GLOBAL WORK AREAS&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;****************************&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;*Work Area for the structure I_MESSTAB&lt;/P&gt;&lt;P&gt;  CLEAR:  wa_vartab,&lt;/P&gt;&lt;P&gt;          wa_vartabdate,&lt;/P&gt;&lt;P&gt;          wa_vardetails,&lt;/P&gt;&lt;P&gt;          wa_tabinput,&lt;/P&gt;&lt;P&gt;          wa_dsninput,&lt;/P&gt;&lt;P&gt;          wa_dsninput,&lt;/P&gt;&lt;P&gt;          wa_newinput,&lt;/P&gt;&lt;P&gt;          wa_gnewinput,&lt;/P&gt;&lt;P&gt;          wa_ginput_data ,&lt;/P&gt;&lt;P&gt;          wa_final,&lt;/P&gt;&lt;P&gt;          wa_content,&lt;/P&gt;&lt;P&gt;          wa_contenthd ,&lt;/P&gt;&lt;P&gt;          wa_contentheader,&lt;/P&gt;&lt;P&gt;          wa_contenttab,&lt;/P&gt;&lt;P&gt;          wa_content1,&lt;/P&gt;&lt;P&gt;          wa_contenthd1,&lt;/P&gt;&lt;P&gt;          wa_contentheader1,&lt;/P&gt;&lt;P&gt;          wa_contenttab1,&lt;/P&gt;&lt;P&gt;          wa_E1CUVTM ,&lt;/P&gt;&lt;P&gt;          wa_E1CUV1M ,&lt;/P&gt;&lt;P&gt;          wa_E1DATEM .&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;REFRESH INTERNAL TABLES AND WORK AREAS FOR BDC&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;*************************************************&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;*Internal Table to store the data to display the error message&lt;/P&gt;&lt;P&gt;  REFRESH i_errormsg[] .&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;*Internal Table to store the data to display the error message&lt;/P&gt;&lt;P&gt;  REFRESH i_error[].&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;**Work area to store the data to display the error message&lt;/P&gt;&lt;P&gt;  CLEAR wa_errormsg.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;*Internal table which will store data for the error log&lt;/P&gt;&lt;P&gt;  REFRESH i_error_log[] .&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;REFRESH GLOBAL VARIABLES&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;***************************&lt;/P&gt;&lt;P&gt;  CLEAR: g_ctr_input_recs,&lt;/P&gt;&lt;P&gt;         g_ctr_output_recs,&lt;/P&gt;&lt;P&gt;         g_msg,&lt;/P&gt;&lt;P&gt;         g_struct_file,&lt;/P&gt;&lt;P&gt;         g_login,&lt;/P&gt;&lt;P&gt;         g_phyin ,&lt;/P&gt;&lt;P&gt;         g_FNAME1,&lt;/P&gt;&lt;P&gt;         g_repid,&lt;/P&gt;&lt;P&gt;         g_exit,&lt;/P&gt;&lt;P&gt;         gx_variant,&lt;/P&gt;&lt;P&gt;         g_lines ,&lt;/P&gt;&lt;P&gt;         g_save,&lt;/P&gt;&lt;P&gt;         g_splid ,&lt;/P&gt;&lt;P&gt;         p_login ,&lt;/P&gt;&lt;P&gt;         p_phyin.&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;REFRESH GLOBAL INTERNAL TABLES FOR ALV DISPLAY&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;*************************************************&lt;/P&gt;&lt;P&gt;*Refresh Internal tables for ALV Field cat&lt;/P&gt;&lt;P&gt;  REFRESH i_fieldcat_ov[].&lt;/P&gt;&lt;P&gt;  REFRESH i_fieldcat_dtl[].&lt;/P&gt;&lt;P&gt;  REFRESH i_fieldcat_ov1[].&lt;/P&gt;&lt;P&gt;  REFRESH i_events[].&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;REFRESH GLOBAL WORK AREAS FOR ALV DISPLAY&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;********************************************&lt;/P&gt;&lt;P&gt;*Work area for ALV Field layout&lt;/P&gt;&lt;P&gt;  CLEAR  wa_layout.&lt;/P&gt;&lt;P&gt;*Work area for Field Cat. Table&lt;/P&gt;&lt;P&gt;  CLEAR  wa_fieldcat.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  CLEAR:&lt;/P&gt;&lt;P&gt;     g_cnt_records_read,&lt;/P&gt;&lt;P&gt;     g_cnt_records_transferred,&lt;/P&gt;&lt;P&gt;     g_cnt_transactions_read,&lt;/P&gt;&lt;P&gt;     g_cnt_transactions_transferred.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;ENDFORM.                    " sub_refresh_variables&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;*&lt;/P&gt;&lt;P&gt;*&amp;amp;----&lt;/P&gt;&lt;P&gt;-&lt;/P&gt;&lt;HR originaltext="---------------------------------------------------------------" /&gt;&lt;P&gt;*&amp;amp;      Form  sub_populate_syslog&lt;/P&gt;&lt;P&gt;*&amp;amp;----&lt;/P&gt;&lt;P&gt;-&lt;/P&gt;&lt;HR originaltext="---------------------------------------------------------------" /&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;       Populate the error message&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;*----&lt;/P&gt;&lt;HR originaltext="----------------------------------------------------------------" /&gt;&lt;P&gt;*&lt;/P&gt;&lt;P&gt;*FORM sub_populate_syslog. " TABLES i_error STRUCTURE solisti1. "#EC *&lt;/P&gt;&lt;P&gt;*&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt; constants: c_lp01(4) type c value 'LP01'.&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt; data:      c_99 type i value 99.&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt; g_repid = sy-repid.&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt; g_lprnt = c_lp01.&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;*&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt; DESCRIBE TABLE i_errortab LINES g_lines.&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;*&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt; IF g_lines GT 0.&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;*&lt;/P&gt;&lt;UL&gt;&lt;UL&gt;&lt;LI level="2" type="ul"&gt;&lt;P&gt;To display the Text data in Spool&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;   CALL FUNCTION 'RSPO_SX_OUTPUT_TEXTDATA'&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;     EXPORTING&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;       dest           = g_lprnt&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;       rows           = g_lines&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;       startrow       = 1&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;       pages          = c_99&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;       rqtitle        = text-029&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;       immediately    = space&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;     IMPORTING&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;       rqid           = g_splid&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;     TABLES&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;       text_data      = i_errortab&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;     EXCEPTIONS&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;       name_missing   = 1&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;       name_twice     = 2&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;       not_found      = 3&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;       illegal_layout = 4&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;       internal_error = 5&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;       size_mismatch  = 6&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;       OTHERS         = 7.                                 "#EC NOTEXT&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;*&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;   IF sy-subrc EQ 0.&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;     g_repid = sy-repid.&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;*&lt;/P&gt;&lt;UL&gt;&lt;UL&gt;&lt;LI level="2" type="ul"&gt;&lt;P&gt;To write the spool number of the error log to System log&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;     CALL FUNCTION 'RSLG_WRITE_SYSLOG_ENTRY'&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;       EXPORTING&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;         data_word1         = c_urgnc      " Urgency&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;         data_word2         = g_splid      " Spool Number&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;         data_word3         = g_repid      " Program Name&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;         sl_message_area    = c_msgar      " Message Area&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;         sl_message_subid   = c_msgid&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;       EXCEPTIONS&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;         data_missing       = 1     " Third character of msg area&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;         data_words_problem = 2&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;         other_problem      = 3&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;         pre_params_problem = 4&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;         OTHERS             = 5.&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;     IF sy-subrc NE 0.&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;       MESSAGE ID sy-msgid TYPE sy-msgty NUMBER sy-msgno&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;               WITH sy-msgv1 sy-msgv2 sy-msgv3 sy-msgv4.&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;     ENDIF.&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;*&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;   ENDIF.&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt; ENDIF.&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;*&lt;/P&gt;&lt;P&gt;*ENDFORM.                    " sub_populate_syslog&lt;/P&gt;&lt;P&gt;*&lt;/P&gt;&lt;P&gt;*&amp;amp;----&lt;/P&gt;&lt;HR originaltext="---------------------------------------------------------------" /&gt;&lt;P&gt;*&lt;/P&gt;&lt;P&gt;*&amp;amp;      Form  SUB_UPLOAD_DATA&lt;/P&gt;&lt;P&gt;*&amp;amp;----&lt;/P&gt;&lt;HR originaltext="---------------------------------------------------------------" /&gt;&lt;P&gt;*&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;      text&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;*----&lt;/P&gt;&lt;HR originaltext="----------------------------------------------------------------" /&gt;&lt;P&gt;*&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt; --&amp;gt;  p1        text&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt; &amp;lt;--  p2        text&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;*----&lt;/P&gt;&lt;HR originaltext="----------------------------------------------------------------" /&gt;&lt;P&gt;*&lt;/P&gt;&lt;P&gt;FORM SUB_UPLOAD_DATA .&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  CALL FUNCTION 'SAPGUI_PROGRESS_INDICATOR'                 "#EC *&lt;/P&gt;&lt;P&gt;    EXPORTING&lt;/P&gt;&lt;P&gt;      percentage = 0&lt;/P&gt;&lt;P&gt;      text       = text-038.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;Upload from presentation server&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;  perform sub_upload_from_preserver.&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;  perform sub_upload_from_appserver1.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;ENDFORM.                    " SUB_UPLOAD_DATA&lt;/P&gt;&lt;P&gt;*&amp;amp;----&lt;/P&gt;&lt;HR originaltext="---------------------------------------------------------------" /&gt;&lt;P&gt;*&lt;/P&gt;&lt;P&gt;*&amp;amp;      Form  sub_get_physical_file&lt;/P&gt;&lt;P&gt;*&amp;amp;----&lt;/P&gt;&lt;HR originaltext="---------------------------------------------------------------" /&gt;&lt;P&gt;*&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;      text&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;*----&lt;/P&gt;&lt;HR originaltext="----------------------------------------------------------------" /&gt;&lt;P&gt;*&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;     --&amp;gt;P_P_FPATH  text&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;     --&amp;gt;P_P_LPATH  text&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;*----&lt;/P&gt;&lt;HR originaltext="----------------------------------------------------------------" /&gt;&lt;P&gt;*&lt;/P&gt;&lt;P&gt;FORM sub_get_physical_file USING    p_lfile type FILEINTERN "#EC *&lt;/P&gt;&lt;P&gt;                                    p_pfile type LOCALFILE. "#EC *&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  IF NOT p_lfile IS INITIAL.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;    CALL FUNCTION 'FILE_GET_NAME'&lt;/P&gt;&lt;P&gt;      EXPORTING&lt;/P&gt;&lt;P&gt;        client           = sy-mandt&lt;/P&gt;&lt;P&gt;        logical_filename = p_lfile&lt;/P&gt;&lt;P&gt;        operating_system = sy-opsys&lt;/P&gt;&lt;P&gt;      IMPORTING&lt;/P&gt;&lt;P&gt;        file_name        = p_pfile&lt;/P&gt;&lt;P&gt;      EXCEPTIONS&lt;/P&gt;&lt;P&gt;        file_not_found   = 1&lt;/P&gt;&lt;P&gt;        OTHERS           = 2.&lt;/P&gt;&lt;P&gt;    IF sy-subrc NE 0.&lt;/P&gt;&lt;P&gt;      p_pfile = '' .&lt;/P&gt;&lt;P&gt;      MESSAGE e237 WITH p_lfile.&lt;/P&gt;&lt;P&gt;    ENDIF.&lt;/P&gt;&lt;P&gt;  ENDIF.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;ENDFORM.                    " sub_get_physical_file&lt;/P&gt;&lt;P&gt;**&amp;amp;----&lt;/P&gt;&lt;HR originaltext="---------------------------------------------------------------" /&gt;&lt;P&gt;*&lt;/P&gt;&lt;P&gt;*&amp;amp;      Form  sub_end_selection&lt;/P&gt;&lt;P&gt;*&amp;amp;----&lt;/P&gt;&lt;HR originaltext="---------------------------------------------------------------" /&gt;&lt;P&gt;*&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;      text&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;*----&lt;/P&gt;&lt;HR originaltext="----------------------------------------------------------------" /&gt;&lt;P&gt;*&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt; --&amp;gt;  p1        text&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt; &amp;lt;--  p2        text&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;*----&lt;/P&gt;&lt;HR originaltext="----------------------------------------------------------------" /&gt;&lt;P&gt;*&lt;/P&gt;&lt;P&gt;FORM sub_end_selection .&lt;/P&gt;&lt;P&gt;*Population of Error Log&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt; IF g_error_tab[] IS NOT INITIAL.&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;   PERFORM sub_create_erortab.                             "#EC *&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;   PERFORM sub_populate_syslog. "tables i_errortab.          "#EC *&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt; ENDIF.&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt; IF NOT G_ERROR_TAB[] IS INITIAL.&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;   perform sub_application_log.&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt; ENDIF.&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;UL&gt;&lt;LI level="2" type="ul"&gt;&lt;P&gt;Population of Application Log*&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt; IF NOT G_ERROR_TAB[] IS INITIAL.&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;   PERFORM sub_app_log_init CHANGING v_log_handle.         "#EC *&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;   PERFORM sub_app_log_add USING v_log_handle.             "#EC *&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;   PERFORM sub_data_save USING v_log_handle.               "#EC *&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;   PERFORM sub_log_show USING v_log_handle.                "#EC *&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt; ENDIF.&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;ENDFORM.                    " sub_end_selection&lt;/P&gt;&lt;P&gt;*&amp;amp;----&lt;/P&gt;&lt;HR originaltext="---------------------------------------------------------------" /&gt;&lt;P&gt;*&lt;/P&gt;&lt;P&gt;*&amp;amp;      Form  sub_start_selection&lt;/P&gt;&lt;P&gt;*&amp;amp;----&lt;/P&gt;&lt;HR originaltext="---------------------------------------------------------------" /&gt;&lt;P&gt;*&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;      text&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;*----&lt;/P&gt;&lt;HR originaltext="----------------------------------------------------------------" /&gt;&lt;P&gt;*&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt; --&amp;gt;  p1        text&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt; &amp;lt;--  p2        text&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;*----&lt;/P&gt;&lt;HR originaltext="----------------------------------------------------------------" /&gt;&lt;P&gt;*&lt;/P&gt;&lt;P&gt;FORM sub_start_selection .&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  SET PF-STATUS '/FACTGLB/DMIVART'. "EXCLUDING rt_extab.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;*Initialization of all the Global Variables&lt;/P&gt;&lt;P&gt;  PERFORM sub_refresh_variables.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  CONCATENATE C_SAP sy-sysid INTO p_rcvpor.&lt;/P&gt;&lt;P&gt;  CONCATENATE C_SAP sy-sysid INTO p_rcvprn.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  CALL FUNCTION 'OWN_LOGICAL_SYSTEM_GET'                    "#EC *&lt;/P&gt;&lt;P&gt;       IMPORTING&lt;/P&gt;&lt;P&gt;            own_logical_system             = p_rcvprn&lt;/P&gt;&lt;P&gt;       EXCEPTIONS&lt;/P&gt;&lt;P&gt;            own_logical_system_not_defined = 1&lt;/P&gt;&lt;P&gt;            OTHERS                         = 2.&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;    MESSAGE i088.                  "Invalid Logical System&lt;/P&gt;&lt;P&gt;    LEAVE LIST-PROCESSING.&lt;/P&gt;&lt;P&gt;  ENDIF.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  IF rb_apsrv = C_X.&lt;/P&gt;&lt;P&gt;    IF p_inpt IS INITIAL.&lt;/P&gt;&lt;P&gt;      message i196.&lt;/P&gt;&lt;P&gt;      LEAVE LIST-PROCESSING.&lt;/P&gt;&lt;P&gt;    ENDIF.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;    IF p_inpt1 IS INITIAL.&lt;/P&gt;&lt;P&gt;      message i197.&lt;/P&gt;&lt;P&gt;      LEAVE LIST-PROCESSING.&lt;/P&gt;&lt;P&gt;    ENDIF.&lt;/P&gt;&lt;P&gt;  ENDIF.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  g_objecttype = '04'.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;ENDFORM.                    " sub_start_selection&lt;/P&gt;&lt;P&gt;*&amp;amp;----&lt;/P&gt;&lt;HR originaltext="---------------------------------------------------------------" /&gt;&lt;P&gt;*&lt;/P&gt;&lt;P&gt;*&amp;amp;      Form  SUB_GET_PHYSICAL_FILE1&lt;/P&gt;&lt;P&gt;*&amp;amp;----&lt;/P&gt;&lt;HR originaltext="---------------------------------------------------------------" /&gt;&lt;P&gt;*&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;      text&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;*----&lt;/P&gt;&lt;HR originaltext="----------------------------------------------------------------" /&gt;&lt;P&gt;*&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;     --&amp;gt;P_P_FPATH  text&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;     --&amp;gt;P_P_FNAME  text&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;*----&lt;/P&gt;&lt;HR originaltext="----------------------------------------------------------------" /&gt;&lt;P&gt;*&lt;/P&gt;&lt;P&gt;FORM sub_get_physical_file1 USING   p_lfile1 type FILEINTERN"#EC *&lt;/P&gt;&lt;P&gt;                                    p_pfile1 type LOCALFILE."#EC *&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  IF NOT p_lfile1 IS INITIAL.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;    CALL FUNCTION 'FILE_GET_NAME'&lt;/P&gt;&lt;P&gt;      EXPORTING&lt;/P&gt;&lt;P&gt;        client           = sy-mandt&lt;/P&gt;&lt;P&gt;        logical_filename = p_lfile1&lt;/P&gt;&lt;P&gt;        operating_system = sy-opsys&lt;/P&gt;&lt;P&gt;      IMPORTING&lt;/P&gt;&lt;P&gt;        file_name        = p_pfile1&lt;/P&gt;&lt;P&gt;      EXCEPTIONS&lt;/P&gt;&lt;P&gt;        file_not_found   = 1&lt;/P&gt;&lt;P&gt;        OTHERS           = 2.&lt;/P&gt;&lt;P&gt;    IF sy-subrc NE 0.&lt;/P&gt;&lt;P&gt;      p_pfile1 = '' .&lt;/P&gt;&lt;P&gt;      MESSAGE e237 WITH p_lfile1.&lt;/P&gt;&lt;P&gt;    ENDIF.&lt;/P&gt;&lt;P&gt;  ENDIF.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;ENDFORM.                    " sub_get_physical_file1&lt;/P&gt;&lt;P&gt;*&amp;amp;----&lt;/P&gt;&lt;HR originaltext="---------------------------------------------------------------" /&gt;&lt;P&gt;*&lt;/P&gt;&lt;P&gt;*&amp;amp;      Form  SUB_GET_PHYSICAL_FILE1&lt;/P&gt;&lt;P&gt;*&amp;amp;----&lt;/P&gt;&lt;HR originaltext="---------------------------------------------------------------" /&gt;&lt;P&gt;*&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;*&amp;amp;----&lt;/P&gt;&lt;HR originaltext="---------------------------------------------------------------" /&gt;&lt;P&gt;*&lt;/P&gt;&lt;P&gt;*&amp;amp;      Form  get_internal_char&lt;/P&gt;&lt;P&gt;*&amp;amp;----&lt;/P&gt;&lt;HR originaltext="---------------------------------------------------------------" /&gt;&lt;P&gt;*&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;      text&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;*----&lt;/P&gt;&lt;HR originaltext="----------------------------------------------------------------" /&gt;&lt;P&gt;*&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;     --&amp;gt;P_CHARAC   text&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;     --&amp;gt;P_CABN     text&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;     --&amp;gt;P_VTNAM    text&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;*----&lt;/P&gt;&lt;HR originaltext="----------------------------------------------------------------" /&gt;&lt;P&gt;*&lt;/P&gt;&lt;P&gt;FORM get_internal_char USING p_charac TYPE atnam&lt;/P&gt;&lt;P&gt;                    CHANGING p_cabn   TYPE ty_cabn&lt;/P&gt;&lt;P&gt;                             p_vtnam  TYPE ty_vtnam.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;sort i_cabn by atinn atnam.&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;  READ TABLE i_cabn INTO p_cabn&lt;/P&gt;&lt;P&gt;  WITH KEY atnam = p_charac. " BINARY SEARCH.&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;    p_vtnam-error = C_X.&lt;/P&gt;&lt;P&gt;    CONCATENATE p_charac  text-012                          "#EC NOTEXT&lt;/P&gt;&lt;P&gt;    INTO p_vtnam-reas SEPARATED BY space.&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;  p_vtnam-reas  = 'Characteristic name is not valid'.&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;    g_error = c_x.&lt;/P&gt;&lt;P&gt;    CLEAR wa_vtnam.&lt;/P&gt;&lt;P&gt;    wa_vtnam = p_vtnam.&lt;/P&gt;&lt;P&gt;    APPEND wa_vtnam TO i_cuv_error.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;    wa_errortab-msgty = C_E.&lt;/P&gt;&lt;P&gt;    wa_errortab-id = '/factglb/gta_custdev'.&lt;/P&gt;&lt;P&gt;    wa_errortab-msgno = 008.&lt;/P&gt;&lt;P&gt;    wa_errortab-par1 = wa_vtnam-reas.&lt;/P&gt;&lt;P&gt;    INSERT wa_errortab INTO TABLE g_error_tab.&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;  APPEND WA_ERRORTAB TO G_ERROR_TAB.&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;  ENDIF.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;ENDFORM.                    "get_internal_char&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;*&amp;amp;----&lt;/P&gt;&lt;HR originaltext="---------------------------------------------------------------" /&gt;&lt;P&gt;*&lt;/P&gt;&lt;P&gt;*&amp;amp;      Form  find_char_exist&lt;/P&gt;&lt;P&gt;*&amp;amp;----&lt;/P&gt;&lt;HR originaltext="---------------------------------------------------------------" /&gt;&lt;P&gt;*&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;      text&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;*----&lt;/P&gt;&lt;HR originaltext="----------------------------------------------------------------" /&gt;&lt;P&gt;*&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;     --&amp;gt;&amp;lt;FS_VTNAM&amp;gt; text&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;     --&amp;gt;WA_CABN    text&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;*----&lt;/P&gt;&lt;HR originaltext="----------------------------------------------------------------" /&gt;&lt;P&gt;*&lt;/P&gt;&lt;P&gt;FORM find_char_exist USING p_file  TYPE ty_file             "#EC *&lt;/P&gt;&lt;P&gt;                           p_vtnam TYPE ty_vtnam            "#EC *&lt;/P&gt;&lt;P&gt;                           p_cabn  TYPE ty_cabn.            "#EC *&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  DATA: l_quot TYPE char2,                                  "#EC NEEDED&lt;/P&gt;&lt;P&gt;        l_pos  TYPE char3.                                  "#EC *&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  IF p_vtnam-error IS INITIAL.&lt;/P&gt;&lt;P&gt;*********************************************************&lt;/P&gt;&lt;P&gt;*MOD-012&lt;/P&gt;&lt;P&gt;*********************************************************&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;  sort i_cuvtab_fld by vtint atinn.&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;    READ TABLE i_cuvtab_fld ASSIGNING -vtpos.&lt;/P&gt;&lt;P&gt;      APPEND wa_col_pos TO i_col_pos.&lt;/P&gt;&lt;P&gt;      CLEAR wa_col_pos.&lt;/P&gt;&lt;P&gt;    ENDIF.&lt;/P&gt;&lt;P&gt;  ENDIF.&lt;/P&gt;&lt;P&gt;ENDFORM.                    "find_char_exist&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;*&amp;amp;----&lt;/P&gt;&lt;HR originaltext="---------------------------------------------------------------" /&gt;&lt;P&gt;*&lt;/P&gt;&lt;P&gt;*&amp;amp;      Form  transfer_e1cuv1m&lt;/P&gt;&lt;P&gt;*&amp;amp;----&lt;/P&gt;&lt;HR originaltext="---------------------------------------------------------------" /&gt;&lt;P&gt;*&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;      text&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;*----&lt;/P&gt;&lt;HR originaltext="----------------------------------------------------------------" /&gt;&lt;P&gt;*&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;     --&amp;gt;P_E1CUV1M  text&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;*----&lt;/P&gt;&lt;HR originaltext="----------------------------------------------------------------" /&gt;&lt;P&gt;*&lt;/P&gt;&lt;P&gt;FORM transfer_e1cuv1m. " USING p_e1cuv1m TYPE e1cuv1m.         "#EC *&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  constants: c_000001(6)  type c value '000001',&lt;/P&gt;&lt;P&gt;             c_e1cuv1m(7) type c value 'E1CUV1M',&lt;/P&gt;&lt;P&gt;             c_02(2)  type c value '02',&lt;/P&gt;&lt;P&gt;             c_009(3)   type c value '009',&lt;/P&gt;&lt;P&gt;             c_0001(4) type c value '0001'.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  CLEAR e1cuv1m.&lt;/P&gt;&lt;P&gt;  e1cuv1m = wa_e1cuv1m.                                     "#EC NEEDED&lt;/P&gt;&lt;P&gt;  wa_itab_zedidd40-docnum          = wdocnum.&lt;/P&gt;&lt;P&gt;  wa_itab_zedidd40-segnum          = c_000001.&lt;/P&gt;&lt;P&gt;  wa_itab_zedidd40-segnam          = c_E1CUV1M.&lt;/P&gt;&lt;P&gt;  wa_itab_zedidd40-hlevel          = c_02.&lt;/P&gt;&lt;P&gt;  E1CUV1M-MSGFN            = c_009.&lt;/P&gt;&lt;P&gt;  E1CUV1M-VTLINENO         = c_0001.&lt;/P&gt;&lt;P&gt;  wa_itab_zedidd40-sdata           = e1cuv1m.&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;append itab_zedidd40.                                          " e1cuvtm&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;  witemno = 0.                                              "#EC NEEDED&lt;/P&gt;&lt;P&gt;  witemno_gst = 0.                                        "#EC NEEDED .&lt;/P&gt;&lt;P&gt;  witemno_qst = 0.                                          "#EC NEEDED&lt;/P&gt;&lt;P&gt;  witemno_new = 0.                                          "#EC NEEDED&lt;/P&gt;&lt;P&gt;  wsegnum = 1.                                              "#EC NEEDED&lt;/P&gt;&lt;P&gt;  clear: wa_e1cuv1m.                                        "#EC NEEDED&lt;/P&gt;&lt;P&gt;  clear: itab_ze1cuv1m.                                     "#EC NEEDED&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;************************************************************************&lt;/P&gt;&lt;P&gt;*MOD-012&lt;/P&gt;&lt;P&gt;************************************************************************&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;READ TABLE itab_zedidc40 into wa_itab_zedidc40 index 1.&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt; CASE g_objecttype.&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;   WHEN '03' OR '04'.&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;     IF wa_itab_zedidc40-tabnam = 'EDI_DC40'.&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;       IF p_trfcpt = 'X'.&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;         wa_curr_edi_dc40 = 'EDI_DC40'.&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;         APPEND wa_curr_edi_dc40 to gt_curr_edi_dc40 .&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;       ENDIF.&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;     ELSE.&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;       IF p_trfcpt = c_x.&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;         wa_curr_edi_dd40 = wa_itab_zedidd40.&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;         APPEND wa_curr_edi_dd40 to gt_curr_edi_dd40.&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;       ENDIF.&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;     ENDIF.&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt; ENDCASE.&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;************************************************************************&lt;/P&gt;&lt;P&gt;*MOD-012&lt;/P&gt;&lt;P&gt;************************************************************************&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  IF p_trfcpt = c_x.&lt;/P&gt;&lt;P&gt;    wa_curr_edi_dd40 = wa_itab_zedidd40.&lt;/P&gt;&lt;P&gt;    APPEND wa_curr_edi_dd40 to gt_curr_edi_dd40.&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;*MOD-009&lt;/P&gt;&lt;P&gt;****************************************************&lt;/P&gt;&lt;P&gt;ENDFORM.                    "transfer_e1cuv1m&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;*&amp;amp;----&lt;/P&gt;&lt;HR originaltext="---------------------------------------------------------------" /&gt;&lt;P&gt;*&lt;/P&gt;&lt;P&gt;*&amp;amp;      Form  transfer_e1cuvtm&lt;/P&gt;&lt;P&gt;*&amp;amp;----&lt;/P&gt;&lt;HR originaltext="---------------------------------------------------------------" /&gt;&lt;P&gt;*&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;      text&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;*----&lt;/P&gt;&lt;HR originaltext="----------------------------------------------------------------" /&gt;&lt;P&gt;*&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;     --&amp;gt;P_E1CUVTM text&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;*----&lt;/P&gt;&lt;HR originaltext="----------------------------------------------------------------" /&gt;&lt;P&gt;*&lt;/P&gt;&lt;P&gt;FORM transfer_e1cuvtm USING p_e1cuvtm TYPE e1cuvtm.         "#EC CALLED&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  CLEAR e1cuvtm.&lt;/P&gt;&lt;P&gt;  e1cuvtm = p_e1cuvtm.&lt;/P&gt;&lt;P&gt;*MOD-009&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;perform transfer_record_idoc.&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;*MOD-009&lt;/P&gt;&lt;P&gt;  CLEAR edi_dd40.&lt;/P&gt;&lt;P&gt;  edi_dd40-segnam = g_edidd_segnam.&lt;/P&gt;&lt;P&gt;  edi_dd40-mandt = edi_dc40-mandt.&lt;/P&gt;&lt;P&gt;  edi_dd40-docnum = edi_dc40-docnum.&lt;/P&gt;&lt;P&gt;  ADD 1 TO g_segnum.&lt;/P&gt;&lt;P&gt;  edi_dd40-segnum = g_segnum.&lt;/P&gt;&lt;P&gt;  edi_dd40-hlevel = g_edidd_hlevel.&lt;/P&gt;&lt;P&gt;  edi_dd40-sdata = e1cuvtm.&lt;/P&gt;&lt;P&gt;  IF p_trfcpt = C_X.&lt;/P&gt;&lt;P&gt;    wa_curr_edi_dd40 = edi_dd40.&lt;/P&gt;&lt;P&gt;    APPEND wa_curr_edi_dd40 to gt_curr_edi_dd40.&lt;/P&gt;&lt;P&gt;  ENDIF.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;ENDFORM.                    "transfer_e1cuvtm "#EC CALLED&lt;/P&gt;&lt;P&gt;*&amp;amp;----&lt;/P&gt;&lt;HR originaltext="---------------------------------------------------------------" /&gt;&lt;P&gt;*&lt;/P&gt;&lt;P&gt;*&amp;amp;      Form  transfer_e1datem&lt;/P&gt;&lt;P&gt;*&amp;amp;----&lt;/P&gt;&lt;HR originaltext="---------------------------------------------------------------" /&gt;&lt;P&gt;*&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;      text&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;*----&lt;/P&gt;&lt;HR originaltext="----------------------------------------------------------------" /&gt;&lt;P&gt;*&lt;/P&gt;&lt;P&gt;FORM transfer_e1datem.                                      "#EC CALLED&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  CLEAR e1datem.&lt;/P&gt;&lt;P&gt;  e1datem-msgfn = '009'.&lt;/P&gt;&lt;P&gt;  e1datem-key_date = sy-datum.&lt;/P&gt;&lt;P&gt;  perform transfer_record_idoc.&lt;/P&gt;&lt;P&gt;  CLEAR edi_dd40.&lt;/P&gt;&lt;P&gt;  edi_dd40-segnam = g_edidd_segnam.&lt;/P&gt;&lt;P&gt;  edi_dd40-mandt = edi_dc40-mandt.&lt;/P&gt;&lt;P&gt;  edi_dd40-docnum = edi_dc40-docnum.&lt;/P&gt;&lt;P&gt;  ADD 1 TO g_segnum.&lt;/P&gt;&lt;P&gt;  edi_dd40-segnum = g_segnum.&lt;/P&gt;&lt;P&gt;  edi_dd40-hlevel = g_edidd_hlevel.&lt;/P&gt;&lt;P&gt;  edi_dd40-sdata = e1datem.&lt;/P&gt;&lt;P&gt;  IF p_trfcpt = C_X.&lt;/P&gt;&lt;P&gt;    wa_curr_edi_dd40 = edi_dd40.&lt;/P&gt;&lt;P&gt;    APPEND wa_curr_edi_dd40 to gt_curr_edi_dd40.&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.                    "transfer_e1cuvtm "#EC CALLED&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;*&amp;amp;----&lt;/P&gt;&lt;HR originaltext="---------------------------------------------------------------" /&gt;&lt;P&gt;*&lt;/P&gt;&lt;P&gt;*&amp;amp;      Form  errror_line&lt;/P&gt;&lt;P&gt;*&amp;amp;----&lt;/P&gt;&lt;HR originaltext="---------------------------------------------------------------" /&gt;&lt;P&gt;*&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;      text&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;*----&lt;/P&gt;&lt;HR originaltext="----------------------------------------------------------------" /&gt;&lt;P&gt;*&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;     --&amp;gt;P_VTNAM  Variant table&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;     --&amp;gt;P_FIELDNAME    Fieldname&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;     --&amp;gt;P_ATNAM  Characteristic name&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;     --&amp;gt;P_VAL       Value&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;     --&amp;gt;P_ROW       Rowid&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;*----&lt;/P&gt;&lt;HR originaltext="----------------------------------------------------------------" /&gt;&lt;P&gt;*&lt;/P&gt;&lt;P&gt;FORM errror_line USING p_vtnam     TYPE vtnam&lt;/P&gt;&lt;P&gt;                       p_fieldname TYPE fieldname&lt;/P&gt;&lt;P&gt;                       p_atnam     TYPE atnam&lt;/P&gt;&lt;P&gt;                       p_val       TYPE atwrt&lt;/P&gt;&lt;P&gt;                       p_row       TYPE char5.&lt;/P&gt;&lt;P&gt;  CLEAR wa_error.&lt;/P&gt;&lt;P&gt;  wa_error-vtnam   = p_vtnam.&lt;/P&gt;&lt;P&gt;  wa_error-fname   = p_fieldname.&lt;/P&gt;&lt;P&gt;  wa_error-atnam   = p_atnam.&lt;/P&gt;&lt;P&gt;  wa_error-atwrt   = p_val.&lt;/P&gt;&lt;P&gt;  wa_error-row     = p_row.&lt;/P&gt;&lt;P&gt;  APPEND wa_error TO i_error.&lt;/P&gt;&lt;P&gt;  APPEND wa_error TO itab_error.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;ENDFORM.                    "errror_line&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;*&amp;amp;----&lt;/P&gt;&lt;HR originaltext="---------------------------------------------------------------" /&gt;&lt;P&gt;*&lt;/P&gt;&lt;P&gt;*&amp;amp;      Form  delete_duplicates&lt;/P&gt;&lt;P&gt;*&amp;amp;----&lt;/P&gt;&lt;HR originaltext="---------------------------------------------------------------" /&gt;&lt;P&gt;*&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;      text&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;*----&lt;/P&gt;&lt;HR originaltext="----------------------------------------------------------------" /&gt;&lt;P&gt;*&lt;/P&gt;&lt;P&gt;FORM sub_delete_duplicates.                                 "#EC CALLED&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  SORT i_file.&lt;/P&gt;&lt;P&gt;  DELETE ADJACENT DUPLICATES FROM i_file.&lt;/P&gt;&lt;P&gt;ENDFORM.                    "sub_delete_duplicates "#EC CALLED&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;*&amp;amp;----&lt;/P&gt;&lt;HR originaltext="---------------------------------------------------------------" /&gt;&lt;P&gt;*&lt;/P&gt;&lt;P&gt;*&amp;amp;      Form  pop_dupl&lt;/P&gt;&lt;P&gt;*&amp;amp;----&lt;/P&gt;&lt;HR originaltext="---------------------------------------------------------------" /&gt;&lt;P&gt;*&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;      text&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;*----&lt;/P&gt;&lt;HR originaltext="----------------------------------------------------------------" /&gt;&lt;P&gt;*&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;     --&amp;gt;P_VTNAM  text&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;     --&amp;gt;P_SLNID       text&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;     --&amp;gt;P_ATNAM   text&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;     --&amp;gt;P_VAL   text&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;*----&lt;/P&gt;&lt;HR originaltext="----------------------------------------------------------------" /&gt;&lt;P&gt;*&lt;/P&gt;&lt;P&gt;FORM pop_dupl USING p_vtnam  TYPE vtnam&lt;/P&gt;&lt;P&gt;                    p_slnid TYPE slnid&lt;/P&gt;&lt;P&gt;                    p_atnam TYPE atnam&lt;/P&gt;&lt;P&gt;                    p_val   TYPE any.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  DATA: l_field TYPE fieldname.&lt;/P&gt;&lt;P&gt;  FIELD-SYMBOLS:   TYPE ANY.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;Do not populate value for characteristic Z_VARCOND as it will not be&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;part of duplicate check&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;  IF p_atnam NE c_varcond.&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt; assign p_val to &amp;lt;fs_val&amp;gt;.&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;    CLEAR wa_col_pos.&lt;/P&gt;&lt;P&gt;*****************************************************&lt;/P&gt;&lt;P&gt;*MOD-012&lt;/P&gt;&lt;P&gt;*****************************************************&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;   SORT i_col_pos BY  vtint&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;                      vtnam&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;                      atinn&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;                      atnam.&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;******************************************************&lt;/P&gt;&lt;P&gt;*MOD-012&lt;/P&gt;&lt;P&gt;*****************************************************&lt;/P&gt;&lt;P&gt;    READ TABLE i_col_pos INTO wa_col_pos WITH KEY vtnam = p_vtnam&lt;/P&gt;&lt;P&gt;                                                  atnam = p_atnam.&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt; No need to check sy-subrc here&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;    CLEAR l_field.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;    READ TABLE i_dupl ASSIGNING  = p_val.&lt;/P&gt;&lt;P&gt;      APPEND wa_dupl TO i_dupl.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;    ENDIF.&lt;/P&gt;&lt;P&gt;  ENDIF.&lt;/P&gt;&lt;P&gt;ENDFORM.                    "pop_dupl&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;*&amp;amp;----&lt;/P&gt;&lt;HR originaltext="---------------------------------------------------------------" /&gt;&lt;P&gt;*&lt;/P&gt;&lt;P&gt;*&amp;amp;----&lt;/P&gt;&lt;HR originaltext="---------------------------------------------------------------" /&gt;&lt;P&gt;*&lt;/P&gt;&lt;P&gt;*&amp;amp;      Form  TRANSFER_RECORD_IDOC&lt;/P&gt;&lt;P&gt;*&amp;amp;----&lt;/P&gt;&lt;HR originaltext="---------------------------------------------------------------" /&gt;&lt;P&gt;*&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;      text&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;*----&lt;/P&gt;&lt;HR originaltext="----------------------------------------------------------------" /&gt;&lt;P&gt;*&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt; --&amp;gt;  p1        text&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt; &amp;lt;--  p2        text&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;*----&lt;/P&gt;&lt;HR originaltext="----------------------------------------------------------------" /&gt;&lt;P&gt;*&lt;/P&gt;&lt;P&gt;FORM TRANSFER_RECORD_IDOC .                                 "#EC CALLED&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;READ TABLE itab_zedidc40 into wa_itab_zedidc40 index 1.&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  CASE g_objecttype.&lt;/P&gt;&lt;P&gt;    WHEN '03' OR '04'.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;*********************************************&lt;/P&gt;&lt;P&gt;      CLEAR: wa_curr_edi_dd40.&lt;/P&gt;&lt;P&gt;**********************************************&lt;/P&gt;&lt;P&gt;*MOD-012&lt;/P&gt;&lt;P&gt;**********************************************&lt;/P&gt;&lt;P&gt;      CLEAR edi_dd40.&lt;/P&gt;&lt;P&gt;      edi_dd40-segnam = g_edidd_segnam.&lt;/P&gt;&lt;P&gt;      edi_dd40-mandt = edi_dc40-mandt.&lt;/P&gt;&lt;P&gt;      edi_dd40-docnum = edi_dc40-docnum.&lt;/P&gt;&lt;P&gt;      ADD 1 TO g_segnum.&lt;/P&gt;&lt;P&gt;      edi_dd40-segnum = g_segnum.&lt;/P&gt;&lt;P&gt;      edi_dd40-hlevel = g_edidd_hlevel.&lt;/P&gt;&lt;P&gt;      edi_dd40-sdata = wa_itab_zedidd40.&lt;/P&gt;&lt;P&gt;      IF p_trfcpt = c_x.&lt;/P&gt;&lt;P&gt;        wa_curr_edi_dd40 = wa_itab_zedidd40.&lt;/P&gt;&lt;P&gt;        APPEND wa_curr_edi_dd40 to gt_curr_edi_dd40.&lt;/P&gt;&lt;P&gt;      ENDIF.&lt;/P&gt;&lt;P&gt;**********************************************&lt;/P&gt;&lt;P&gt;*MOD-012&lt;/P&gt;&lt;P&gt;**********************************************&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;    ENDIF.&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;**********************************************&lt;/P&gt;&lt;P&gt;*MOD-012&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;    ENDIF.&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;  ENDCASE.&lt;/P&gt;&lt;P&gt;**********************************************&lt;/P&gt;&lt;P&gt;*MOD-012&lt;/P&gt;&lt;P&gt;**********************************************&lt;/P&gt;&lt;P&gt;  CLEAR: wa_itab_zedidc40.&lt;/P&gt;&lt;P&gt;**********************************************&lt;/P&gt;&lt;P&gt;*MOD-012&lt;/P&gt;&lt;P&gt;**********************************************&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;ENDFORM.                    " TRANSFER_RECORD_IDOC "#EC CALLED&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;*********************************************************************&lt;/P&gt;&lt;P&gt;*MOD-008&lt;/P&gt;&lt;P&gt;*********************************************************************&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;*&amp;amp;----&lt;/P&gt;&lt;HR originaltext="---------------------------------------------------------------" /&gt;&lt;P&gt;*&lt;/P&gt;&lt;P&gt;*&amp;amp;----&lt;/P&gt;&lt;HR originaltext="---------------------------------------------------------------" /&gt;&lt;P&gt;*&lt;/P&gt;&lt;P&gt;*&amp;amp;      Form  FILL_EDIDD_SEGMENTS&lt;/P&gt;&lt;P&gt;*&amp;amp;----&lt;/P&gt;&lt;HR originaltext="---------------------------------------------------------------" /&gt;&lt;P&gt;*&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;      text&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;*----&lt;/P&gt;&lt;HR originaltext="----------------------------------------------------------------" /&gt;&lt;P&gt;*&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt; --&amp;gt;  p1        text&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt; &amp;lt;--  p2        text&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;*----&lt;/P&gt;&lt;HR originaltext="----------------------------------------------------------------" /&gt;&lt;P&gt;*&lt;/P&gt;&lt;P&gt;FORM FILL_EDIDD_SEGMENTS USING p_e1cuv1m TYPE e1cuv1m.      "#EC CALLED&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  LOOP AT I_CONTENTTAB1 INTO WA_CONTENTTAB1.&lt;/P&gt;&lt;P&gt;    IF SY-TABIX = 1.&lt;/P&gt;&lt;P&gt;      wa_contenttab2 = wa_contenttab1.&lt;/P&gt;&lt;P&gt;      append wa_contenttab2 to i_contenttab2.&lt;/P&gt;&lt;P&gt;      clear: wa_contenttab2.&lt;/P&gt;&lt;P&gt;    ENDIF.&lt;/P&gt;&lt;P&gt;  ENDLOOP.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  LOOP AT I_CONTENTTAB1 INTO WA_CONTENTTAB1.&lt;/P&gt;&lt;P&gt;    L_TABIX = SY-TABIX.&lt;/P&gt;&lt;P&gt;    IF L_TABIX &amp;gt; 1.&lt;/P&gt;&lt;P&gt;      READ TABLE I_CONTENTTAB2 INTO WA_CONTENTTAB2&lt;/P&gt;&lt;P&gt;                    WITH KEY VTNAM = WA_CONTENTTAB1-VTNAM BINARY SEARCH.&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;*--- E1CUV1M-VTCHARACT&lt;/P&gt;&lt;P&gt;*if not WA_CONTENTTAB1-VTCHARACT is initial.&lt;/P&gt;&lt;P&gt;        if not WA_CONTENTTAB1-CHAR1 is initial.&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;      E1CUV1M-VTCHARACT = TAB_CONTENT-ATNAM.&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;**---   E1CUV1M-VTLINENO&lt;/P&gt;&lt;P&gt;          E1CUV1M-MSGFN    = c_009.&lt;/P&gt;&lt;P&gt;          E1CUV1M-VTLINENO = c_0001.&lt;/P&gt;&lt;UL&gt;&lt;UL&gt;&lt;LI level="2" type="ul"&gt;&lt;P&gt;---  E1CUV1M-MSGFN&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;/UL&gt;&lt;P&gt;          E1CUV1M-VTCHARACT = WA_CONTENTTAB2-CHAR1.&lt;/P&gt;&lt;P&gt;          E1CUV1M-ATWRT     = WA_CONTENTTAB1-CHAR1.&lt;/P&gt;&lt;P&gt;          wa_itab_zedidd40-docnum          = wdocnum.&lt;/P&gt;&lt;P&gt;          wa_itab_zedidd40-segnum          = c_000001.&lt;/P&gt;&lt;P&gt;          wa_itab_zedidd40-segnam          = p_E1CUV1M.&lt;/P&gt;&lt;P&gt;          wa_itab_zedidd40-hlevel          = c_02.&lt;/P&gt;&lt;P&gt;          wa_itab_zedidd40-sdata           = e1cuv1m.&lt;/P&gt;&lt;P&gt;          append wa_itab_zedidd40 to itab_zedidd40.         " e1cuvtm&lt;/P&gt;&lt;P&gt;          witemno = 0.                                      "#EC NEEDED&lt;/P&gt;&lt;P&gt;          witemno_gst = 0.                                "#EC NEEDED .&lt;/P&gt;&lt;P&gt;          witemno_qst = 0.                                  "#EC NEEDED&lt;/P&gt;&lt;P&gt;          witemno_new = 0.                                  "#EC NEEDED&lt;/P&gt;&lt;P&gt;          wsegnum = 1.                                      "#EC NEEDED&lt;/P&gt;&lt;P&gt;          clear: wa_e1cuv1m.                                "#EC NEEDED&lt;/P&gt;&lt;P&gt;          clear: itab_ze1cuv1m.                             "#EC NEEDED&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 not WA_CONTENTTAB1-CHAR2 is initial.&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;      E1CUV1M-VTCHARACT = TAB_CONTENT-ATNAM.&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;          E1CUV1M-MSGFN    = '009'.&lt;/P&gt;&lt;P&gt;          E1CUV1M-VTLINENO = '0001'.&lt;/P&gt;&lt;UL&gt;&lt;UL&gt;&lt;LI level="2" type="ul"&gt;&lt;P&gt;---  E1CUV1M-MSGFN&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;/UL&gt;&lt;P&gt;          E1CUV1M-VTCHARACT = WA_CONTENTTAB2-CHAR2.&lt;/P&gt;&lt;P&gt;          E1CUV1M-ATWRT     = WA_CONTENTTAB1-CHAR2.&lt;/P&gt;&lt;P&gt;          wa_itab_zedidd40-docnum          = wdocnum.&lt;/P&gt;&lt;P&gt;          wa_itab_zedidd40-segnum          = c_000001.&lt;/P&gt;&lt;P&gt;          wa_itab_zedidd40-segnam          = p_E1CUV1M.&lt;/P&gt;&lt;P&gt;          wa_itab_zedidd40-hlevel          = c_02.&lt;/P&gt;&lt;P&gt;          wa_itab_zedidd40-sdata           = e1cuv1m.&lt;/P&gt;&lt;P&gt;          append wa_itab_zedidd40 to itab_zedidd40.         " e1cuvtm&lt;/P&gt;&lt;P&gt;          witemno = 0.                                      "#EC NEEDED&lt;/P&gt;&lt;P&gt;          witemno_gst = 0.                                "#EC NEEDED .&lt;/P&gt;&lt;P&gt;          witemno_qst = 0.                                  "#EC NEEDED&lt;/P&gt;&lt;P&gt;          witemno_new = 0.                                  "#EC NEEDED&lt;/P&gt;&lt;P&gt;          wsegnum = 1.                                      "#EC NEEDED&lt;/P&gt;&lt;P&gt;          clear: wa_e1cuv1m.                                "#EC NEEDED&lt;/P&gt;&lt;P&gt;          clear: itab_ze1cuv1m.                             "#EC NEEDED&lt;/P&gt;&lt;P&gt;        endif.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;        if not WA_CONTENTTAB1-CHAR3 is initial.&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;      E1CUV1M-VTCHARACT = TAB_CONTENT-ATNAM.&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;          E1CUV1M-MSGFN    = '009'.&lt;/P&gt;&lt;P&gt;          E1CUV1M-VTLINENO = '0001'.&lt;/P&gt;&lt;UL&gt;&lt;UL&gt;&lt;LI level="2" type="ul"&gt;&lt;P&gt;---  E1CUV1M-MSGFN&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;/UL&gt;&lt;P&gt;          E1CUV1M-VTCHARACT = WA_CONTENTTAB2-CHAR3.&lt;/P&gt;&lt;P&gt;          E1CUV1M-ATWRT     = WA_CONTENTTAB1-CHAR3.&lt;/P&gt;&lt;P&gt;          wa_itab_zedidd40-docnum          = wdocnum.&lt;/P&gt;&lt;P&gt;          wa_itab_zedidd40-segnum          = c_000001.&lt;/P&gt;&lt;P&gt;          wa_itab_zedidd40-segnam          = p_E1CUV1M.&lt;/P&gt;&lt;P&gt;          wa_itab_zedidd40-hlevel          = c_02.&lt;/P&gt;&lt;P&gt;          wa_itab_zedidd40-sdata           = e1cuv1m.&lt;/P&gt;&lt;P&gt;          append wa_itab_zedidd40 to itab_zedidd40.         " e1cuvtm&lt;/P&gt;&lt;P&gt;          witemno = 0.                                      "#EC NEEDED&lt;/P&gt;&lt;P&gt;          witemno_gst = 0.                                "#EC NEEDED .&lt;/P&gt;&lt;P&gt;          witemno_qst = 0.                                  "#EC NEEDED&lt;/P&gt;&lt;P&gt;          witemno_new = 0.                                  "#EC NEEDED&lt;/P&gt;&lt;P&gt;          wsegnum = 1.                                      "#EC NEEDED&lt;/P&gt;&lt;P&gt;          clear: wa_e1cuv1m.                                "#EC NEEDED&lt;/P&gt;&lt;P&gt;          clear: itab_ze1cuv1m.                             "#EC NEEDED&lt;/P&gt;&lt;P&gt;        endif.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;        if not WA_CONTENTTAB1-CHAR4 is initial.&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;      E1CUV1M-VTCHARACT = TAB_CONTENT-ATNAM.&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;          E1CUV1M-MSGFN    = '009'.&lt;/P&gt;&lt;P&gt;          E1CUV1M-VTLINENO = '0001'.&lt;/P&gt;&lt;UL&gt;&lt;UL&gt;&lt;LI level="2" type="ul"&gt;&lt;P&gt;---  E1CUV1M-MSGFN&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;/UL&gt;&lt;P&gt;          E1CUV1M-VTCHARACT = WA_CONTENTTAB2-CHAR4.&lt;/P&gt;&lt;P&gt;          E1CUV1M-ATWRT     = WA_CONTENTTAB1-CHAR4.&lt;/P&gt;&lt;P&gt;          wa_itab_zedidd40-docnum          = wdocnum.&lt;/P&gt;&lt;P&gt;          wa_itab_zedidd40-segnum          = c_000001.&lt;/P&gt;&lt;P&gt;          wa_itab_zedidd40-segnam          = p_E1CUV1M.&lt;/P&gt;&lt;P&gt;          wa_itab_zedidd40-hlevel          = c_02.&lt;/P&gt;&lt;P&gt;          wa_itab_zedidd40-sdata           = e1cuv1m.&lt;/P&gt;&lt;P&gt;          append wa_itab_zedidd40 to itab_zedidd40.         " e1cuvtm&lt;/P&gt;&lt;P&gt;          witemno = 0.                                      "#EC NEEDED&lt;/P&gt;&lt;P&gt;          witemno_gst = 0.                                "#EC NEEDED .&lt;/P&gt;&lt;P&gt;          witemno_qst = 0.                                  "#EC NEEDED&lt;/P&gt;&lt;P&gt;          witemno_new = 0.                                  "#EC NEEDED&lt;/P&gt;&lt;P&gt;          wsegnum = 1.                                      "#EC NEEDED&lt;/P&gt;&lt;P&gt;          clear: wa_e1cuv1m.                                "#EC NEEDED&lt;/P&gt;&lt;P&gt;          clear: itab_ze1cuv1m.                             "#EC NEEDED&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 not WA_CONTENTTAB1-CHAR5 is initial.&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;      E1CUV1M-VTCHARACT = TAB_CONTENT-ATNAM.&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;          E1CUV1M-MSGFN    = '009'.&lt;/P&gt;&lt;P&gt;          E1CUV1M-VTLINENO = '0001'.&lt;/P&gt;&lt;UL&gt;&lt;UL&gt;&lt;LI level="2" type="ul"&gt;&lt;P&gt;---  E1CUV1M-MSGFN&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;/UL&gt;&lt;P&gt;          E1CUV1M-VTCHARACT = WA_CONTENTTAB2-CHAR5.&lt;/P&gt;&lt;P&gt;          E1CUV1M-ATWRT     = WA_CONTENTTAB1-CHAR5.&lt;/P&gt;&lt;P&gt;          wa_itab_zedidd40-docnum          = wdocnum.&lt;/P&gt;&lt;P&gt;          wa_itab_zedidd40-segnum          = c_000001.&lt;/P&gt;&lt;P&gt;          wa_itab_zedidd40-segnam          = p_E1CUV1M.&lt;/P&gt;&lt;P&gt;          wa_itab_zedidd40-hlevel          = c_02.&lt;/P&gt;&lt;P&gt;          wa_itab_zedidd40-sdata           = e1cuv1m.&lt;/P&gt;&lt;P&gt;          append wa_itab_zedidd40 to itab_zedidd40.         " e1cuvtm&lt;/P&gt;&lt;P&gt;          witemno = 0.                                      "#EC NEEDED&lt;/P&gt;&lt;P&gt;          witemno_gst = 0.                                "#EC NEEDED .&lt;/P&gt;&lt;P&gt;          witemno_qst = 0.                                  "#EC NEEDED&lt;/P&gt;&lt;P&gt;          witemno_new = 0.                                  "#EC NEEDED&lt;/P&gt;&lt;P&gt;          wsegnum = 1.                                      "#EC NEEDED&lt;/P&gt;&lt;P&gt;          clear: wa_e1cuv1m.                                "#EC NEEDED&lt;/P&gt;&lt;P&gt;          clear: itab_ze1cuv1m.                             "#EC NEEDED&lt;/P&gt;&lt;P&gt;        endif.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;        if not WA_CONTENTTAB1-CHAR6 is initial.&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;      E1CUV1M-VTCHARACT = TAB_CONTENT-ATNAM.&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;          E1CUV1M-MSGFN    = '009'.&lt;/P&gt;&lt;P&gt;          E1CUV1M-VTLINENO = '0001'.&lt;/P&gt;&lt;UL&gt;&lt;UL&gt;&lt;LI level="2" type="ul"&gt;&lt;P&gt;---  E1CUV1M-MSGFN&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;/UL&gt;&lt;P&gt;          E1CUV1M-VTCHARACT = WA_CONTENTTAB2-CHAR6.&lt;/P&gt;&lt;P&gt;          E1CUV1M-ATWRT     = WA_CONTENTTAB1-CHAR6.&lt;/P&gt;&lt;P&gt;          wa_itab_zedidd40-docnum          = wdocnum.&lt;/P&gt;&lt;P&gt;          wa_itab_zedidd40-segnum          = c_000001.&lt;/P&gt;&lt;P&gt;          wa_itab_zedidd40-segnam          = p_E1CUV1M.&lt;/P&gt;&lt;P&gt;          wa_itab_zedidd40-hlevel          = c_02.&lt;/P&gt;&lt;P&gt;          wa_itab_zedidd40-sdata           = e1cuv1m.&lt;/P&gt;&lt;P&gt;          append wa_itab_zedidd40 to itab_zedidd40.         " e1cuvtm&lt;/P&gt;&lt;P&gt;          witemno = 0.                                      "#EC NEEDED&lt;/P&gt;&lt;P&gt;          witemno_gst = 0.                                "#EC NEEDED .&lt;/P&gt;&lt;P&gt;          witemno_qst = 0.                                  "#EC NEEDED&lt;/P&gt;&lt;P&gt;          witemno_new = 0.                                  "#EC NEEDED&lt;/P&gt;&lt;P&gt;          wsegnum = 1.                                      "#EC NEEDED&lt;/P&gt;&lt;P&gt;          clear: wa_e1cuv1m.                                "#EC NEEDED&lt;/P&gt;&lt;P&gt;          clear: itab_ze1cuv1m.                             "#EC NEEDED&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 not WA_CONTENTTAB1-CHAR7 is initial.&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;      E1CUV1M-VTCHARACT = TAB_CONTENT-ATNAM.&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;          E1CUV1M-MSGFN    = '009'.&lt;/P&gt;&lt;P&gt;          E1CUV1M-VTLINENO = '0001'.&lt;/P&gt;&lt;UL&gt;&lt;UL&gt;&lt;LI level="2" type="ul"&gt;&lt;P&gt;---  E1CUV1M-MSGFN&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;/UL&gt;&lt;P&gt;          E1CUV1M-VTCHARACT = WA_CONTENTTAB2-CHAR7.&lt;/P&gt;&lt;P&gt;          E1CUV1M-ATWRT     = WA_CONTENTTAB1-CHAR7.&lt;/P&gt;&lt;P&gt;          wa_itab_zedidd40-docnum          = wdocnum.&lt;/P&gt;&lt;P&gt;          wa_itab_zedidd40-segnum          = c_000001.&lt;/P&gt;&lt;P&gt;          wa_itab_zedidd40-segnam          = p_E1CUV1M.&lt;/P&gt;&lt;P&gt;          wa_itab_zedidd40-hlevel          = c_02.&lt;/P&gt;&lt;P&gt;          wa_itab_zedidd40-sdata           = e1cuv1m.&lt;/P&gt;&lt;P&gt;          append wa_itab_zedidd40 to itab_zedidd40.         " e1cuvtm&lt;/P&gt;&lt;P&gt;          witemno = 0.                                      "#EC NEEDED&lt;/P&gt;&lt;P&gt;          witemno_gst = 0.                                "#EC NEEDED .&lt;/P&gt;&lt;P&gt;          witemno_qst = 0.                                  "#EC NEEDED&lt;/P&gt;&lt;P&gt;          witemno_new = 0.                                  "#EC NEEDED&lt;/P&gt;&lt;P&gt;          wsegnum = 1.                                      "#EC NEEDED&lt;/P&gt;&lt;P&gt;          clear: wa_e1cuv1m.                                "#EC NEEDED&lt;/P&gt;&lt;P&gt;          clear: itab_ze1cuv1m.                             "#EC NEEDED&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 not WA_CONTENTTAB1-CHAR8 is initial.&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;      E1CUV1M-VTCHARACT = TAB_CONTENT-ATNAM.&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;          E1CUV1M-MSGFN    = '009'.&lt;/P&gt;&lt;P&gt;          E1CUV1M-VTLINENO = '0001'.&lt;/P&gt;&lt;UL&gt;&lt;UL&gt;&lt;LI level="2" type="ul"&gt;&lt;P&gt;---  E1CUV1M-MSGFN&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;/UL&gt;&lt;P&gt;          E1CUV1M-VTCHARACT = WA_CONTENTTAB2-CHAR8.&lt;/P&gt;&lt;P&gt;          E1CUV1M-ATWRT     = WA_CONTENTTAB1-CHAR8.&lt;/P&gt;&lt;P&gt;          wa_itab_zedidd40-docnum          = wdocnum.&lt;/P&gt;&lt;P&gt;          wa_itab_zedidd40-segnum          = c_000001.&lt;/P&gt;&lt;P&gt;          wa_itab_zedidd40-segnam          = p_E1CUV1M.&lt;/P&gt;&lt;P&gt;          wa_itab_zedidd40-hlevel          = c_02.&lt;/P&gt;&lt;P&gt;          wa_itab_zedidd40-sdata           = e1cuv1m.&lt;/P&gt;&lt;P&gt;          append wa_itab_zedidd40 to itab_zedidd40.         " e1cuvtm&lt;/P&gt;&lt;P&gt;          witemno = 0.                                      "#EC NEEDED&lt;/P&gt;&lt;P&gt;          witemno_gst = 0.                                "#EC NEEDED .&lt;/P&gt;&lt;P&gt;          witemno_qst = 0.                                  "#EC NEEDED&lt;/P&gt;&lt;P&gt;          witemno_new = 0.                                  "#EC NEEDED&lt;/P&gt;&lt;P&gt;          wsegnum = 1.                                      "#EC NEEDED&lt;/P&gt;&lt;P&gt;          clear: wa_e1cuv1m.                                "#EC NEEDED&lt;/P&gt;&lt;P&gt;          clear: itab_ze1cuv1m.                             "#EC NEEDED&lt;/P&gt;&lt;P&gt;&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 not WA_CONTENTTAB1-CHAR9 is initial.&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;      E1CUV1M-VTCHARACT = TAB_CONTENT-ATNAM.&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;          E1CUV1M-MSGFN    = '009'.&lt;/P&gt;&lt;P&gt;          E1CUV1M-VTLINENO = '0001'.&lt;/P&gt;&lt;UL&gt;&lt;UL&gt;&lt;LI level="2" type="ul"&gt;&lt;P&gt;---  E1CUV1M-MSGFN&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;/UL&gt;&lt;P&gt;          E1CUV1M-VTCHARACT = WA_CONTENTTAB2-CHAR9.&lt;/P&gt;&lt;P&gt;          E1CUV1M-ATWRT     = WA_CONTENTTAB1-CHAR9.&lt;/P&gt;&lt;P&gt;          wa_itab_zedidd40-docnum          = wdocnum.&lt;/P&gt;&lt;P&gt;          wa_itab_zedidd40-segnum          = c_000001.&lt;/P&gt;&lt;P&gt;          wa_itab_zedidd40-segnam          = p_E1CUV1M.&lt;/P&gt;&lt;P&gt;          wa_itab_zedidd40-hlevel          = c_02.&lt;/P&gt;&lt;P&gt;          wa_itab_zedidd40-sdata           = e1cuv1m.&lt;/P&gt;&lt;P&gt;          append wa_itab_zedidd40 to itab_zedidd40.         " e1cuvtm&lt;/P&gt;&lt;P&gt;          witemno = 0.                                      "#EC NEEDED&lt;/P&gt;&lt;P&gt;          witemno_gst = 0.                                "#EC NEEDED .&lt;/P&gt;&lt;P&gt;          witemno_qst = 0.                                  "#EC NEEDED&lt;/P&gt;&lt;P&gt;          witemno_new = 0.                                  "#EC NEEDED&lt;/P&gt;&lt;P&gt;          wsegnum = 1.                                      "#EC NEEDED&lt;/P&gt;&lt;P&gt;          clear: wa_e1cuv1m.                                "#EC NEEDED&lt;/P&gt;&lt;P&gt;          clear: itab_ze1cuv1m.                             "#EC NEEDED&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 not WA_CONTENTTAB1-CHAR10 is initial.&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;      E1CUV1M-VTCHARACT = TAB_CONTENT-ATNAM.&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;          E1CUV1M-MSGFN    = '009'.&lt;/P&gt;&lt;P&gt;          E1CUV1M-VTLINENO = '0001'.&lt;/P&gt;&lt;UL&gt;&lt;UL&gt;&lt;LI level="2" type="ul"&gt;&lt;P&gt;---  E1CUV1M-MSGFN&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;/UL&gt;&lt;P&gt;          E1CUV1M-VTCHARACT = WA_CONTENTTAB2-CHAR10.&lt;/P&gt;&lt;P&gt;          E1CUV1M-ATWRT     = WA_CONTENTTAB1-CHAR10.&lt;/P&gt;&lt;P&gt;          wa_itab_zedidd40-docnum          = wdocnum.&lt;/P&gt;&lt;P&gt;          wa_itab_zedidd40-segnum          = c_000001.&lt;/P&gt;&lt;P&gt;          wa_itab_zedidd40-segnam          = p_E1CUV1M.&lt;/P&gt;&lt;P&gt;          wa_itab_zedidd40-hlevel          = c_02.&lt;/P&gt;&lt;P&gt;          wa_itab_zedidd40-sdata           = e1cuv1m.&lt;/P&gt;&lt;P&gt;          append wa_itab_zedidd40 to itab_zedidd40.&lt;/P&gt;&lt;P&gt;          witemno = 0.                                      "#EC NEEDED&lt;/P&gt;&lt;P&gt;          witemno_gst = 0.                                "#EC NEEDED .&lt;/P&gt;&lt;P&gt;          witemno_qst = 0.                                  "#EC NEEDED&lt;/P&gt;&lt;P&gt;          witemno_new = 0.                                  "#EC NEEDED&lt;/P&gt;&lt;P&gt;          wsegnum = 1.                                      "#EC NEEDED&lt;/P&gt;&lt;P&gt;          clear: wa_e1cuv1m.                                "#EC NEEDED&lt;/P&gt;&lt;P&gt;          clear: itab_ze1cuv1m.                             "#EC NEEDED&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 not WA_CONTENTTAB1-CHAR11 is initial.&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;      E1CUV1M-VTCHARACT = TAB_CONTENT-ATNAM.&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;          E1CUV1M-MSGFN    = '009'.&lt;/P&gt;&lt;P&gt;          E1CUV1M-VTLINENO = '0001'.&lt;/P&gt;&lt;UL&gt;&lt;UL&gt;&lt;LI level="2" type="ul"&gt;&lt;P&gt;---  E1CUV1M-MSGFN&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;/UL&gt;&lt;P&gt;          E1CUV1M-VTCHARACT = WA_CONTENTTAB2-CHAR11.&lt;/P&gt;&lt;P&gt;          E1CUV1M-ATWRT     = WA_CONTENTTAB1-CHAR11.&lt;/P&gt;&lt;P&gt;          wa_itab_zedidd40-docnum          = wdocnum.&lt;/P&gt;&lt;P&gt;          wa_itab_zedidd40-segnum          = c_000001.&lt;/P&gt;&lt;P&gt;          wa_itab_zedidd40-segnam          = p_E1CUV1M.&lt;/P&gt;&lt;P&gt;          wa_itab_zedidd40-hlevel          = c_02.&lt;/P&gt;&lt;P&gt;          wa_itab_zedidd40-sdata           = e1cuv1m.&lt;/P&gt;&lt;P&gt;          append wa_itab_zedidd40 to itab_zedidd40.         " e1cuvtm&lt;/P&gt;&lt;P&gt;          witemno = 0.                                      "#EC NEEDED&lt;/P&gt;&lt;P&gt;          witemno_gst = 0.                                "#EC NEEDED .&lt;/P&gt;&lt;P&gt;          witemno_qst = 0.                                  "#EC NEEDED&lt;/P&gt;&lt;P&gt;          witemno_new = 0.                                  "#EC NEEDED&lt;/P&gt;&lt;P&gt;          wsegnum = 1.                                      "#EC NEEDED&lt;/P&gt;&lt;P&gt;          clear: wa_e1cuv1m.                                "#EC NEEDED&lt;/P&gt;&lt;P&gt;          clear: itab_ze1cuv1m.                             "#EC NEEDED&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 not WA_CONTENTTAB1-CHAR12 is initial.&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;      E1CUV1M-VTCHARACT = TAB_CONTENT-ATNAM.&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;          E1CUV1M-MSGFN    = '009'.&lt;/P&gt;&lt;P&gt;          E1CUV1M-VTLINENO = '0001'.&lt;/P&gt;&lt;UL&gt;&lt;UL&gt;&lt;LI level="2" type="ul"&gt;&lt;P&gt;---  E1CUV1M-MSGFN&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;/UL&gt;&lt;P&gt;          E1CUV1M-VTCHARACT = WA_CONTENTTAB2-CHAR12.&lt;/P&gt;&lt;P&gt;          E1CUV1M-ATWRT     = WA_CONTENTTAB1-CHAR12.&lt;/P&gt;&lt;P&gt;          wa_itab_zedidd40-docnum          = wdocnum.&lt;/P&gt;&lt;P&gt;          wa_itab_zedidd40-segnum          = c_000001.&lt;/P&gt;&lt;P&gt;          wa_itab_zedidd40-segnam          = p_E1CUV1M.&lt;/P&gt;&lt;P&gt;          wa_itab_zedidd40-hlevel          = c_02.&lt;/P&gt;&lt;P&gt;          wa_itab_zedidd40-sdata           = e1cuv1m.&lt;/P&gt;&lt;P&gt;          append wa_itab_zedidd40 to itab_zedidd40.         " e1cuvtm&lt;/P&gt;&lt;P&gt;          witemno = 0.                                      "#EC NEEDED&lt;/P&gt;&lt;P&gt;          witemno_gst = 0.                                "#EC NEEDED .&lt;/P&gt;&lt;P&gt;          witemno_qst = 0.                                  "#EC NEEDED&lt;/P&gt;&lt;P&gt;          witemno_new = 0.                                  "#EC NEEDED&lt;/P&gt;&lt;P&gt;          wsegnum = 1.                                      "#EC NEEDED&lt;/P&gt;&lt;P&gt;          clear: wa_e1cuv1m.                                "#EC NEEDED&lt;/P&gt;&lt;P&gt;          clear: itab_ze1cuv1m.                             "#EC NEEDED&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 not WA_CONTENTTAB1-CHAR13 is initial.&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;      E1CUV1M-VTCHARACT = TAB_CONTENT-ATNAM.&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;          E1CUV1M-MSGFN    = '009'.&lt;/P&gt;&lt;P&gt;          E1CUV1M-VTLINENO = '0001'.&lt;/P&gt;&lt;UL&gt;&lt;UL&gt;&lt;LI level="2" type="ul"&gt;&lt;P&gt;---  E1CUV1M-MSGFN&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;/UL&gt;&lt;P&gt;          E1CUV1M-VTCHARACT = WA_CONTENTTAB2-CHAR13.&lt;/P&gt;&lt;P&gt;          E1CUV1M-ATWRT     = WA_CONTENTTAB1-CHAR13.&lt;/P&gt;&lt;P&gt;          wa_itab_zedidd40-docnum          = wdocnum.&lt;/P&gt;&lt;P&gt;          wa_itab_zedidd40-segnum          = c_000001.&lt;/P&gt;&lt;P&gt;          wa_itab_zedidd40-segnam          = p_E1CUV1M.&lt;/P&gt;&lt;P&gt;          wa_itab_zedidd40-hlevel          = c_02.&lt;/P&gt;&lt;P&gt;          wa_itab_zedidd40-sdata           = e1cuv1m.&lt;/P&gt;&lt;P&gt;          append wa_itab_zedidd40 to itab_zedidd40.         " e1cuvtm&lt;/P&gt;&lt;P&gt;          witemno = 0.                                      "#EC NEEDED&lt;/P&gt;&lt;P&gt;          witemno_gst = 0.                                "#EC NEEDED .&lt;/P&gt;&lt;P&gt;          witemno_qst = 0.                                  "#EC NEEDED&lt;/P&gt;&lt;P&gt;          witemno_new = 0.                                  "#EC NEEDED&lt;/P&gt;&lt;P&gt;          wsegnum = 1.                                      "#EC NEEDED&lt;/P&gt;&lt;P&gt;          clear: wa_e1cuv1m.                                "#EC NEEDED&lt;/P&gt;&lt;P&gt;          clear: itab_ze1cuv1m.                             "#EC NEEDED&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 not WA_CONTENTTAB1-CHAR14 is initial.&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;    E1CUV1M-VTCHARACT = TAB_CONTENT-ATNAM.&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;          E1CUV1M-MSGFN    = '009'.&lt;/P&gt;&lt;P&gt;          E1CUV1M-VTLINENO = '0001'.&lt;/P&gt;&lt;UL&gt;&lt;UL&gt;&lt;LI level="2" type="ul"&gt;&lt;P&gt;---  E1CUV1M-MSGFN&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;/UL&gt;&lt;P&gt;          E1CUV1M-VTCHARACT = WA_CONTENTTAB2-CHAR14.&lt;/P&gt;&lt;P&gt;          E1CUV1M-ATWRT     = WA_CONTENTTAB1-CHAR14.&lt;/P&gt;&lt;P&gt;          wa_itab_zedidd40-docnum          = wdocnum.&lt;/P&gt;&lt;P&gt;          wa_itab_zedidd40-segnum          = c_000001.&lt;/P&gt;&lt;P&gt;          wa_itab_zedidd40-segnam          = p_E1CUV1M.&lt;/P&gt;&lt;P&gt;          wa_itab_zedidd40-hlevel          = c_02.&lt;/P&gt;&lt;P&gt;          wa_itab_zedidd40-sdata           = e1cuv1m.&lt;/P&gt;&lt;P&gt;          append wa_itab_zedidd40 to itab_zedidd40.         " e1cuvtm&lt;/P&gt;&lt;P&gt;          witemno = 0.                                      "#EC NEEDED&lt;/P&gt;&lt;P&gt;          witemno_gst = 0.                                "#EC NEEDED .&lt;/P&gt;&lt;P&gt;          witemno_qst = 0.                                  "#EC NEEDED&lt;/P&gt;&lt;P&gt;          witemno_new = 0.                                  "#EC NEEDED&lt;/P&gt;&lt;P&gt;          wsegnum = 1.                                      "#EC NEEDED&lt;/P&gt;&lt;P&gt;          clear: wa_e1cuv1m.                                "#EC NEEDED&lt;/P&gt;&lt;P&gt;          clear: itab_ze1cuv1m.                             "#EC NEEDED&lt;/P&gt;&lt;P&gt;        endif.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;        if not WA_CONTENTTAB1-CHAR15 is initial.&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;      E1CUV1M-VTCHARACT = TAB_CONTENT-ATNAM.&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;          E1CUV1M-MSGFN    = '009'.&lt;/P&gt;&lt;P&gt;          E1CUV1M-VTLINENO = '0001'.&lt;/P&gt;&lt;UL&gt;&lt;UL&gt;&lt;LI level="2" type="ul"&gt;&lt;P&gt;---  E1CUV1M-MSGFN&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;/UL&gt;&lt;P&gt;          E1CUV1M-VTCHARACT = WA_CONTENTTAB2-CHAR15.&lt;/P&gt;&lt;P&gt;          E1CUV1M-ATWRT     = WA_CONTENTTAB1-CHAR15.&lt;/P&gt;&lt;P&gt;          wa_itab_zedidd40-docnum          = wdocnum.&lt;/P&gt;&lt;P&gt;          wa_itab_zedidd40-segnum          = c_000001.&lt;/P&gt;&lt;P&gt;          wa_itab_zedidd40-segnam          = p_E1CUV1M.&lt;/P&gt;&lt;P&gt;          wa_itab_zedidd40-hlevel          = c_02.&lt;/P&gt;&lt;P&gt;          wa_itab_zedidd40-sdata           = e1cuv1m.&lt;/P&gt;&lt;P&gt;          append wa_itab_zedidd40 to itab_zedidd40.         " e1cuvtm&lt;/P&gt;&lt;P&gt;          witemno = 0.                                      "#EC NEEDED&lt;/P&gt;&lt;P&gt;          witemno_gst = 0.                                "#EC NEEDED .&lt;/P&gt;&lt;P&gt;          witemno_qst = 0.                                  "#EC NEEDED&lt;/P&gt;&lt;P&gt;          witemno_new = 0.                                  "#EC NEEDED&lt;/P&gt;&lt;P&gt;          wsegnum = 1.                                      "#EC NEEDED&lt;/P&gt;&lt;P&gt;          clear: wa_e1cuv1m.                                "#EC NEEDED&lt;/P&gt;&lt;P&gt;          clear: itab_ze1cuv1m.                             "#EC NEEDED&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: wa_contenttab2.&lt;/P&gt;&lt;P&gt;      ENDIF.&lt;/P&gt;&lt;P&gt;      CLEAR: L_TABIX.&lt;/P&gt;&lt;P&gt;    ENDIF.&lt;/P&gt;&lt;P&gt;    CLEAR: wa_contenttab1.&lt;/P&gt;&lt;P&gt;  ENDLOOP.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  perform transfer_record_idoc.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;ENDFORM.                    " FILL_EDIDD_SEGMENTS&lt;/P&gt;&lt;P&gt;*&amp;amp;----&lt;/P&gt;&lt;HR originaltext="---------------------------------------------------------------" /&gt;&lt;P&gt;*&lt;/P&gt;&lt;P&gt;*&amp;amp;      Form  SUB_GET_CABN&lt;/P&gt;&lt;P&gt;*&amp;amp;----&lt;/P&gt;&lt;HR originaltext="---------------------------------------------------------------" /&gt;&lt;P&gt;*&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;      text&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;*----&lt;/P&gt;&lt;HR originaltext="----------------------------------------------------------------" /&gt;&lt;P&gt;*&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt; --&amp;gt;  p1        text&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt; &amp;lt;--  p2        text&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;*----&lt;/P&gt;&lt;HR originaltext="----------------------------------------------------------------" /&gt;&lt;P&gt;*&lt;/P&gt;&lt;P&gt;FORM SUB_GET_CABN .&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  DATA: I_CABN_CHAR TYPE STANDARD TABLE OF ty_content INITIAL SIZE 0."#EC NEEDED&lt;/P&gt;&lt;P&gt;  DATA: WA_CABN_CHAR TYPE TY_CONTENT.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  READ TABLE I_CONTENTTAB1 INTO WA_CONTENTTAB1 INDEX 1.&lt;/P&gt;&lt;P&gt;  MOVE-CORRESPONDING WA_CONTENTTAB1 TO WA_CABN_CHAR.&lt;/P&gt;&lt;P&gt;  APPEND WA_CABN_CHAR TO I_CABN_CHAR.&lt;/P&gt;&lt;P&gt;  CLEAR: WA_CABN_CHAR.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  SELECT atinn&lt;/P&gt;&lt;P&gt;         atnam&lt;/P&gt;&lt;P&gt;         atfor&lt;/P&gt;&lt;P&gt;         atson&lt;/P&gt;&lt;P&gt;         atprt&lt;/P&gt;&lt;P&gt;         atprr&lt;/P&gt;&lt;P&gt;         atprf&lt;/P&gt;&lt;P&gt;         anzdz&lt;/P&gt;&lt;P&gt;         FROM cabn&lt;/P&gt;&lt;P&gt;         INTO TABLE i_cabn&lt;/P&gt;&lt;P&gt;         FOR ALL ENTRIES IN I_CABN_CHAR&lt;/P&gt;&lt;P&gt;         WHERE ( ATNAM = i_cabn_char-char1 or&lt;/P&gt;&lt;P&gt;               ATNAM = i_cabn_char-char2 or&lt;/P&gt;&lt;P&gt;               ATNAM = i_cabn_char-char3 or&lt;/P&gt;&lt;P&gt;               ATNAM = i_cabn_char-char4 or&lt;/P&gt;&lt;P&gt;               ATNAM = i_cabn_char-char5 or&lt;/P&gt;&lt;P&gt;               ATNAM = i_cabn_char-char6 or&lt;/P&gt;&lt;P&gt;               ATNAM = i_cabn_char-char7 or&lt;/P&gt;&lt;P&gt;               ATNAM = i_cabn_char-char8 or&lt;/P&gt;&lt;P&gt;               ATNAM = i_cabn_char-char9 or&lt;/P&gt;&lt;P&gt;               ATNAM = i_cabn_char-char10 or&lt;/P&gt;&lt;P&gt;               ATNAM = i_cabn_char-char11 or&lt;/P&gt;&lt;P&gt;               ATNAM = i_cabn_char-char12 or&lt;/P&gt;&lt;P&gt;               ATNAM = i_cabn_char-char13 or&lt;/P&gt;&lt;P&gt;               ATNAM = i_cabn_char-char14 or&lt;/P&gt;&lt;P&gt;               ATNAM = i_cabn_char-char15 ).&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  IF sy-subrc = 0.&lt;/P&gt;&lt;P&gt;    SORT i_cabn BY atinn atnam.&lt;/P&gt;&lt;P&gt;    delete i_cabn where atnam is initial.&lt;/P&gt;&lt;P&gt;    i_cabn_temp[] = i_cabn[].&lt;/P&gt;&lt;P&gt;    i_cabn_atinn[] = i_cabn[].&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;  Sort IT by internal characteristic number&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;    SORT i_cabn_atinn BY atinn atnam.&lt;/P&gt;&lt;P&gt;    DELETE ADJACENT DUPLICATES FROM i_cabn_atinn COMPARING atinn atnam.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;    DELETE   i_cabn_temp&lt;/P&gt;&lt;P&gt;    WHERE atson IS NOT INITIAL&lt;/P&gt;&lt;P&gt;    AND   atprt IS NOT INITIAL&lt;/P&gt;&lt;P&gt;    AND   atprr IS NOT INITIAL&lt;/P&gt;&lt;P&gt;    AND   atprf IS NOT INITIAL.&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.                    " SUB_GET_CABN&lt;/P&gt;&lt;P&gt;*&amp;amp;----&lt;/P&gt;&lt;HR originaltext="---------------------------------------------------------------" /&gt;&lt;P&gt;*&lt;/P&gt;&lt;P&gt;*&amp;amp;      Form  SUB_GET_CAWN&lt;/P&gt;&lt;P&gt;*&amp;amp;----&lt;/P&gt;&lt;HR originaltext="---------------------------------------------------------------" /&gt;&lt;P&gt;*&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;      text&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;*----&lt;/P&gt;&lt;HR originaltext="----------------------------------------------------------------" /&gt;&lt;P&gt;*&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt; --&amp;gt;  p1        text&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt; &amp;lt;--  p2        text&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;*----&lt;/P&gt;&lt;HR originaltext="----------------------------------------------------------------" /&gt;&lt;P&gt;*&lt;/P&gt;&lt;P&gt;FORM SUB_GET_CAWN .&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  IF NOT i_cabn_temp[] is initial.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;    SELECT atinn&lt;/P&gt;&lt;P&gt;           atzhl&lt;/P&gt;&lt;P&gt;           atwrt&lt;/P&gt;&lt;P&gt;           atflv&lt;/P&gt;&lt;P&gt;           lkenz&lt;/P&gt;&lt;P&gt;           FROM cawn&lt;/P&gt;&lt;P&gt;           INTO TABLE i_cawn&lt;/P&gt;&lt;P&gt;           FOR ALL ENTRIES IN i_cabn_temp&lt;/P&gt;&lt;P&gt;           WHERE atinn = i_cabn_temp-atinn.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;    IF sy-subrc = 0.&lt;/P&gt;&lt;P&gt;      i_cawn_c[] = i_cawn[].&lt;/P&gt;&lt;P&gt;      DELETE i_cawn_c WHERE atwrt IS INITIAL.&lt;/P&gt;&lt;P&gt;      SORT i_cawn_c BY atinn atwrt.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;      i_cawn_n = i_cawn.&lt;/P&gt;&lt;P&gt;      DELETE i_cawn_n WHERE atflv IS INITIAL.&lt;/P&gt;&lt;P&gt;      SORT i_cawn_n BY atinn atflv.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;      i_cawn_i = i_cawn.&lt;/P&gt;&lt;P&gt;      SORT i_cawn_i BY atinn.&lt;/P&gt;&lt;P&gt;      DELETE ADJACENT DUPLICATES FROM i_cawn_i COMPARING atinn.&lt;/P&gt;&lt;P&gt;    ENDIF.&lt;/P&gt;&lt;P&gt;  ENDIF.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;ENDFORM.                    " SUB_GET_CAWN&lt;/P&gt;&lt;P&gt;*&amp;amp;----&lt;/P&gt;&lt;HR originaltext="---------------------------------------------------------------" /&gt;&lt;P&gt;*&lt;/P&gt;&lt;P&gt;*&amp;amp;      Form  SUB_CONVERT_TRANSACTION&lt;/P&gt;&lt;P&gt;*&amp;amp;----&lt;/P&gt;&lt;HR originaltext="---------------------------------------------------------------" /&gt;&lt;P&gt;*&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;      text&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;*----&lt;/P&gt;&lt;HR originaltext="----------------------------------------------------------------" /&gt;&lt;P&gt;*&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt; --&amp;gt;  p1        text&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt; &amp;lt;--  p2        text&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;*----&lt;/P&gt;&lt;HR originaltext="----------------------------------------------------------------" /&gt;&lt;P&gt;*&lt;/P&gt;&lt;P&gt;FORM SUB_CONVERT_TRANSACTION .&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  DATA: L_TABLE TYPE APITABL.                               "#EC *&lt;/P&gt;&lt;P&gt;  DATA: L_CHANGE_NUMBER TYPE AENNR.                         "#EC *&lt;/P&gt;&lt;P&gt;  DATA: L_DLOCK          TYPE DLOCK,                        "#EC *&lt;/P&gt;&lt;P&gt;        ITAB_VT_BASIC_DATA   TYPE  VTBASDAT,                "#EC *&lt;/P&gt;&lt;P&gt;        L_DATE            TYPE VONDATX,                     "#EC *&lt;/P&gt;&lt;P&gt;        L_LINE_NO         TYPE I.                           "#EC *&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  DATA: wa_var_tab_entries type VTENTRIES.                  "#EC *&lt;/P&gt;&lt;P&gt;  DATA: ITAB_VAR_TAB_ENTRIES TYPE STANDARD TABLE OF VTENTRIES."#EC *&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  PERFORM sub_clear_tables.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;**********************************************************************&lt;/P&gt;&lt;P&gt;*MOD-012&lt;/P&gt;&lt;P&gt;**********************************************************************&lt;/P&gt;&lt;P&gt;*********************************************************************&lt;/P&gt;&lt;P&gt;**MOD-012&lt;/P&gt;&lt;P&gt;*********************************************************************&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  loop at i_contentheader1 into wa_contentheader1.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;    CALL FUNCTION 'CARD_TABLE_READ_STRUCTURE'&lt;/P&gt;&lt;P&gt;      EXPORTING&lt;/P&gt;&lt;P&gt;        VAR_TAB    = WA_CONTENTHEADER1-VTNAM&lt;/P&gt;&lt;P&gt;        CHANGE_NO  = L_CHANGE_NUMBER&lt;/P&gt;&lt;P&gt;        DATE       = L_DATE&lt;/P&gt;&lt;P&gt;      IMPORTING&lt;/P&gt;&lt;P&gt;        BASIC_DATA = ITAB_VT_BASIC_DATA&lt;/P&gt;&lt;P&gt;      EXCEPTIONS&lt;/P&gt;&lt;P&gt;        ERROR      = 1&lt;/P&gt;&lt;P&gt;        OTHERS     = 2.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;    CHECK SY-SUBRC IS INITIAL.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;    CALL FUNCTION 'CARD_TABLE_READ_ENTRIES'                 "#EC *&lt;/P&gt;&lt;P&gt;      EXPORTING&lt;/P&gt;&lt;P&gt;        VAR_TABLE       = WA_CONTENTHEADER1-VTNAM&lt;/P&gt;&lt;P&gt;        CHANGE_NO       = L_CHANGE_NUMBER&lt;/P&gt;&lt;P&gt;        DATE            = L_DATE&lt;/P&gt;&lt;P&gt;      TABLES&lt;/P&gt;&lt;P&gt;        VAR_TAB_ENTRIES = ITAB_VAR_TAB_ENTRIES&lt;/P&gt;&lt;P&gt;      EXCEPTIONS&lt;/P&gt;&lt;P&gt;        ERROR           = 1&lt;/P&gt;&lt;P&gt;        OTHERS          = 2.&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;*MOD-012&lt;/P&gt;&lt;P&gt;*************************************************************************&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  SORT itab_var_tab_entries by VTCHARACT VTVALUE.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  loop at i_contenttab1 into wa_contenttab1.&lt;/P&gt;&lt;P&gt;    if sy-tabix = 1.&lt;/P&gt;&lt;P&gt;      continue.&lt;/P&gt;&lt;P&gt;    endif.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;    IF wa_contenttab1-char1 ne ' '.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;      READ TABLE itab_var_tab_entries into wa_var_tab_entries&lt;/P&gt;&lt;P&gt;         WITH KEY VTVALUE = wa_contenttab1-char1 binary search.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;      IF SY-SUBRC = 0.&lt;/P&gt;&lt;P&gt;        wa_contenttab1-flag = C_Y.&lt;/P&gt;&lt;P&gt;        modify i_contenttab1 from wa_contenttab1 transporting flag.&lt;/P&gt;&lt;P&gt;      ELSE.&lt;/P&gt;&lt;P&gt;        IF wa_var_tab_entries-VTCHARACT = C_VARCOND.&lt;/P&gt;&lt;P&gt;          wa_contenttab1-flag = C_Y.&lt;/P&gt;&lt;P&gt;          modify i_contenttab1 from wa_contenttab1 transporting flag.&lt;/P&gt;&lt;P&gt;        ELSE.&lt;/P&gt;&lt;P&gt;          wa_contenttab1-flag = C_Z.&lt;/P&gt;&lt;P&gt;          modify i_contenttab1 from wa_contenttab1 transporting flag.&lt;/P&gt;&lt;P&gt;          CONTINUE.&lt;/P&gt;&lt;P&gt;        ENDIF.&lt;/P&gt;&lt;P&gt;      ENDIF.&lt;/P&gt;&lt;P&gt;    ENDIF.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;    IF wa_contenttab1-char2 ne ' '.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;      READ TABLE itab_var_tab_entries into wa_var_tab_entries&lt;/P&gt;&lt;P&gt;         WITH KEY VTVALUE = wa_contenttab1-char2.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;      IF SY-SUBRC = 0.&lt;/P&gt;&lt;P&gt;        wa_contenttab1-flag = C_Y.&lt;/P&gt;&lt;P&gt;        modify i_contenttab1 from wa_contenttab1 transporting flag.&lt;/P&gt;&lt;P&gt;      ELSE.&lt;/P&gt;&lt;P&gt;        IF wa_var_tab_entries-VTCHARACT = C_VARCOND.&lt;/P&gt;&lt;P&gt;          wa_contenttab1-flag = C_Y.&lt;/P&gt;&lt;P&gt;          modify i_contenttab1 from wa_contenttab1 transporting flag.&lt;/P&gt;&lt;P&gt;        ELSE.&lt;/P&gt;&lt;P&gt;          wa_contenttab1-flag = C_Z.&lt;/P&gt;&lt;P&gt;          modify i_contenttab1 from wa_contenttab1 transporting flag.&lt;/P&gt;&lt;P&gt;          CONTINUE.&lt;/P&gt;&lt;P&gt;        ENDIF.&lt;/P&gt;&lt;P&gt;      ENDIF.&lt;/P&gt;&lt;P&gt;    ENDIF.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;    IF wa_contenttab1-char3 ne ' '.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;      READ TABLE itab_var_tab_entries into wa_var_tab_entries&lt;/P&gt;&lt;P&gt;         WITH KEY VTVALUE = wa_contenttab1-char3.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;      IF SY-SUBRC = 0.&lt;/P&gt;&lt;P&gt;        wa_contenttab1-flag = C_Y.&lt;/P&gt;&lt;P&gt;        modify i_contenttab1 from wa_contenttab1 transporting flag.&lt;/P&gt;&lt;P&gt;      ELSE.&lt;/P&gt;&lt;P&gt;        IF wa_var_tab_entries-VTCHARACT = C_VARCOND.&lt;/P&gt;&lt;P&gt;          wa_contenttab1-flag = C_Y.&lt;/P&gt;&lt;P&gt;          modify i_contenttab1 from wa_contenttab1 transporting flag.&lt;/P&gt;&lt;P&gt;        ELSE.&lt;/P&gt;&lt;P&gt;          wa_contenttab1-flag = C_Z.&lt;/P&gt;&lt;P&gt;          modify i_contenttab1 from wa_contenttab1 transporting flag.&lt;/P&gt;&lt;P&gt;          CONTINUE.&lt;/P&gt;&lt;P&gt;        ENDIF.&lt;/P&gt;&lt;P&gt;      ENDIF.&lt;/P&gt;&lt;P&gt;    ENDIF.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;    IF wa_contenttab1-char4 ne ' '.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;      READ TABLE itab_var_tab_entries into wa_var_tab_entries&lt;/P&gt;&lt;P&gt;         WITH KEY VTVALUE = wa_contenttab1-char4.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;      IF SY-SUBRC = 0.&lt;/P&gt;&lt;P&gt;        wa_contenttab1-flag = C_Y.&lt;/P&gt;&lt;P&gt;        modify i_contenttab1 from wa_contenttab1 transporting flag.&lt;/P&gt;&lt;P&gt;      ELSE.&lt;/P&gt;&lt;P&gt;        IF wa_var_tab_entries-VTCHARACT = C_VARCOND.&lt;/P&gt;&lt;P&gt;          wa_contenttab1-flag = C_Y.&lt;/P&gt;&lt;P&gt;          modify i_contenttab1 from wa_contenttab1 transporting flag.&lt;/P&gt;&lt;P&gt;        ELSE.&lt;/P&gt;&lt;P&gt;          wa_contenttab1-flag = C_Z.&lt;/P&gt;&lt;P&gt;          modify i_contenttab1 from wa_contenttab1 transporting flag.&lt;/P&gt;&lt;P&gt;          CONTINUE.&lt;/P&gt;&lt;P&gt;        ENDIF.&lt;/P&gt;&lt;P&gt;      ENDIF.&lt;/P&gt;&lt;P&gt;    ENDIF.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;    IF wa_contenttab1-char5 ne ' '.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;      READ TABLE itab_var_tab_entries into wa_var_tab_entries&lt;/P&gt;&lt;P&gt;         WITH KEY VTVALUE = wa_contenttab1-char5.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;      IF SY-SUBRC = 0.&lt;/P&gt;&lt;P&gt;        wa_contenttab1-flag = C_Y.&lt;/P&gt;&lt;P&gt;        modify i_contenttab1 from wa_contenttab1 transporting flag.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;      ELSE.&lt;/P&gt;&lt;P&gt;        IF wa_var_tab_entries-VTCHARACT = C_VARCOND.&lt;/P&gt;&lt;P&gt;          wa_contenttab1-flag = C_Y.&lt;/P&gt;&lt;P&gt;          modify i_contenttab1 from wa_contenttab1 transporting flag.&lt;/P&gt;&lt;P&gt;        ELSE.&lt;/P&gt;&lt;P&gt;          wa_contenttab1-flag = C_Z.&lt;/P&gt;&lt;P&gt;          modify i_contenttab1 from wa_contenttab1 transporting flag.&lt;/P&gt;&lt;P&gt;          CONTINUE.&lt;/P&gt;&lt;P&gt;        ENDIF.&lt;/P&gt;&lt;P&gt;      ENDIF.&lt;/P&gt;&lt;P&gt;    ENDIF.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;    IF wa_contenttab1-char6 ne ' '.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;      READ TABLE itab_var_tab_entries into wa_var_tab_entries&lt;/P&gt;&lt;P&gt;         WITH KEY VTVALUE = wa_contenttab1-char6.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;      IF SY-SUBRC = 0.&lt;/P&gt;&lt;P&gt;        wa_contenttab1-flag = C_Y.&lt;/P&gt;&lt;P&gt;        modify i_contenttab1 from wa_contenttab1 transporting flag.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;      ELSE.&lt;/P&gt;&lt;P&gt;        IF wa_var_tab_entries-VTCHARACT = C_VARCOND.&lt;/P&gt;&lt;P&gt;          wa_contenttab1-flag = C_Y.&lt;/P&gt;&lt;P&gt;          modify i_contenttab1 from wa_contenttab1 transporting flag.&lt;/P&gt;&lt;P&gt;        ELSE.&lt;/P&gt;&lt;P&gt;          wa_contenttab1-flag = C_Z.&lt;/P&gt;&lt;P&gt;          modify i_contenttab1 from wa_contenttab1 transporting flag.&lt;/P&gt;&lt;P&gt;          CONTINUE.&lt;/P&gt;&lt;P&gt;        ENDIF.&lt;/P&gt;&lt;P&gt;      ENDIF.&lt;/P&gt;&lt;P&gt;    ENDIF.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;    IF wa_contenttab1-char7 ne ' '.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;      READ TABLE itab_var_tab_entries into wa_var_tab_entries&lt;/P&gt;&lt;P&gt;         WITH KEY VTVALUE = wa_contenttab1-char7.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;      IF SY-SUBRC = 0.&lt;/P&gt;&lt;P&gt;        wa_contenttab1-flag = C_Y.&lt;/P&gt;&lt;P&gt;        modify i_contenttab1 from wa_contenttab1 transporting flag.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;      ELSE.&lt;/P&gt;&lt;P&gt;        IF wa_var_tab_entries-VTCHARACT = C_VARCOND.&lt;/P&gt;&lt;P&gt;          wa_contenttab1-flag = C_Y.&lt;/P&gt;&lt;P&gt;          modify i_contenttab1 from wa_contenttab1 transporting flag.&lt;/P&gt;&lt;P&gt;        ELSE.&lt;/P&gt;&lt;P&gt;          wa_contenttab1-flag = C_Z.&lt;/P&gt;&lt;P&gt;          modify i_contenttab1 from wa_contenttab1 transporting flag.&lt;/P&gt;&lt;P&gt;          CONTINUE.&lt;/P&gt;&lt;P&gt;        ENDIF.&lt;/P&gt;&lt;P&gt;      ENDIF.&lt;/P&gt;&lt;P&gt;    ENDIF.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;    IF wa_contenttab1-char8 ne ' '.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;      READ TABLE itab_var_tab_entries into wa_var_tab_entries&lt;/P&gt;&lt;P&gt;         WITH KEY VTVALUE = wa_contenttab1-char8.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;      IF SY-SUBRC = 0.&lt;/P&gt;&lt;P&gt;        wa_contenttab1-flag = C_Y.&lt;/P&gt;&lt;P&gt;        modify i_contenttab1 from wa_contenttab1 transporting flag.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;      ELSE.&lt;/P&gt;&lt;P&gt;        IF wa_var_tab_entries-VTCHARACT = C_VARCOND.&lt;/P&gt;&lt;P&gt;          wa_contenttab1-flag = C_Y.&lt;/P&gt;&lt;P&gt;          modify i_contenttab1 from wa_contenttab1 transporting flag.&lt;/P&gt;&lt;P&gt;        ELSE.&lt;/P&gt;&lt;P&gt;          wa_contenttab1-flag = C_Z.&lt;/P&gt;&lt;P&gt;          modify i_contenttab1 from wa_contenttab1 transporting flag.&lt;/P&gt;&lt;P&gt;          CONTINUE.&lt;/P&gt;&lt;P&gt;        ENDIF.&lt;/P&gt;&lt;P&gt;      ENDIF.&lt;/P&gt;&lt;P&gt;    ENDIF.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;    IF wa_contenttab1-char9 ne ' '.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;      READ TABLE itab_var_tab_entries into wa_var_tab_entries&lt;/P&gt;&lt;P&gt;         WITH KEY VTVALUE = wa_contenttab1-char9.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;      IF SY-SUBRC = 0.&lt;/P&gt;&lt;P&gt;        wa_contenttab1-flag = C_Y.&lt;/P&gt;&lt;P&gt;        modify i_contenttab1 from wa_contenttab1 transporting flag.&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 wa_var_tab_entries-VTCHARACT = C_VARCOND.&lt;/P&gt;&lt;P&gt;          wa_contenttab1-flag = C_Y.&lt;/P&gt;&lt;P&gt;          modify i_contenttab1 from wa_contenttab1 transporting flag.&lt;/P&gt;&lt;P&gt;        ELSE.&lt;/P&gt;&lt;P&gt;          wa_contenttab1-flag = C_Z.&lt;/P&gt;&lt;P&gt;          modify i_contenttab1 from wa_contenttab1 transporting flag.&lt;/P&gt;&lt;P&gt;          CONTINUE.&lt;/P&gt;&lt;P&gt;        ENDIF.&lt;/P&gt;&lt;P&gt;      ENDIF.&lt;/P&gt;&lt;P&gt;    ENDIF.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;    IF wa_contenttab1-char10 ne ' '.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;      READ TABLE itab_var_tab_entries into wa_var_tab_entries&lt;/P&gt;&lt;P&gt;         WITH KEY VTVALUE = wa_contenttab1-char10.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;      IF SY-SUBRC = 0.&lt;/P&gt;&lt;P&gt;        wa_contenttab1-flag = C_Y.&lt;/P&gt;&lt;P&gt;        modify i_contenttab1 from wa_contenttab1 transporting flag.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;      ELSE.&lt;/P&gt;&lt;P&gt;        IF wa_var_tab_entries-VTCHARACT = C_VARCOND.&lt;/P&gt;&lt;P&gt;          wa_contenttab1-flag = C_Y.&lt;/P&gt;&lt;P&gt;          modify i_contenttab1 from wa_contenttab1 transporting flag.&lt;/P&gt;&lt;P&gt;        ELSE.&lt;/P&gt;&lt;P&gt;          wa_contenttab1-flag = C_Z.&lt;/P&gt;&lt;P&gt;          modify i_contenttab1 from wa_contenttab1 transporting flag.&lt;/P&gt;&lt;P&gt;          CONTINUE.&lt;/P&gt;&lt;P&gt;        ENDIF.&lt;/P&gt;&lt;P&gt;      ENDIF.&lt;/P&gt;&lt;P&gt;    ENDIF.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;    IF wa_contenttab1-char11 ne ' '.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;      READ TABLE itab_var_tab_entries into wa_var_tab_entries&lt;/P&gt;&lt;P&gt;         WITH KEY VTVALUE = wa_contenttab1-char11.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;      IF SY-SUBRC = 0.&lt;/P&gt;&lt;P&gt;        wa_contenttab1-flag = C_Y.&lt;/P&gt;&lt;P&gt;        modify i_contenttab1 from wa_contenttab1 transporting flag.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;      ELSE.&lt;/P&gt;&lt;P&gt;        IF wa_var_tab_entries-VTCHARACT = C_VARCOND.&lt;/P&gt;&lt;P&gt;          wa_contenttab1-flag = C_Y.&lt;/P&gt;&lt;P&gt;          modify i_contenttab1 from wa_contenttab1 transporting flag.&lt;/P&gt;&lt;P&gt;        ELSE.&lt;/P&gt;&lt;P&gt;          wa_contenttab1-flag = C_Z.&lt;/P&gt;&lt;P&gt;          modify i_contenttab1 from wa_contenttab1 transporting flag.&lt;/P&gt;&lt;P&gt;          CONTINUE.&lt;/P&gt;&lt;P&gt;        ENDIF.&lt;/P&gt;&lt;P&gt;      ENDIF.&lt;/P&gt;&lt;P&gt;    ENDIF.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;    IF wa_contenttab1-char12 ne ' '.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;      READ TABLE itab_var_tab_entries into wa_var_tab_entries&lt;/P&gt;&lt;P&gt;         WITH KEY VTVALUE = wa_contenttab1-char12.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;      IF SY-SUBRC = 0.&lt;/P&gt;&lt;P&gt;        wa_contenttab1-flag = C_Y.&lt;/P&gt;&lt;P&gt;        modify i_contenttab1 from wa_contenttab1 transporting flag.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;      ELSE.&lt;/P&gt;&lt;P&gt;        IF wa_var_tab_entries-VTCHARACT = C_VARCOND.&lt;/P&gt;&lt;P&gt;          wa_contenttab1-flag = C_Y.&lt;/P&gt;&lt;P&gt;          modify i_contenttab1 from wa_contenttab1 transporting flag.&lt;/P&gt;&lt;P&gt;        ELSE.&lt;/P&gt;&lt;P&gt;          wa_contenttab1-flag = C_Z.&lt;/P&gt;&lt;P&gt;          modify i_contenttab1 from wa_contenttab1 transporting flag.&lt;/P&gt;&lt;P&gt;          CONTINUE.&lt;/P&gt;&lt;P&gt;        ENDIF.&lt;/P&gt;&lt;P&gt;      ENDIF.&lt;/P&gt;&lt;P&gt;    ENDIF.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;    IF wa_contenttab1-char13 ne ' '.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;      READ TABLE itab_var_tab_entries into wa_var_tab_entries&lt;/P&gt;&lt;P&gt;         WITH KEY VTVALUE = wa_contenttab1-char13.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;      IF SY-SUBRC = 0.&lt;/P&gt;&lt;P&gt;        wa_contenttab1-flag = C_Y.&lt;/P&gt;&lt;P&gt;        modify i_contenttab1 from wa_contenttab1 transporting flag.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;      ELSE.&lt;/P&gt;&lt;P&gt;        IF wa_var_tab_entries-VTCHARACT = C_VARCOND.&lt;/P&gt;&lt;P&gt;          wa_contenttab1-flag = C_Y.&lt;/P&gt;&lt;P&gt;          modify i_contenttab1 from wa_contenttab1 transporting flag.&lt;/P&gt;&lt;P&gt;        ELSE.&lt;/P&gt;&lt;P&gt;          wa_contenttab1-flag = C_Z.&lt;/P&gt;&lt;P&gt;          modify i_contenttab1 from wa_contenttab1 transporting flag.&lt;/P&gt;&lt;P&gt;          CONTINUE.&lt;/P&gt;&lt;P&gt;        ENDIF.&lt;/P&gt;&lt;P&gt;      ENDIF.&lt;/P&gt;&lt;P&gt;    ENDIF.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;    IF wa_contenttab1-char14 ne ' '.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;      READ TABLE itab_var_tab_entries into wa_var_tab_entries&lt;/P&gt;&lt;P&gt;         WITH KEY VTVALUE = wa_contenttab1-char14.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;      IF SY-SUBRC = 0.&lt;/P&gt;&lt;P&gt;        wa_contenttab1-flag = C_Y.&lt;/P&gt;&lt;P&gt;        modify i_contenttab1 from wa_contenttab1 transporting flag.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;      ELSE.&lt;/P&gt;&lt;P&gt;        IF wa_var_tab_entries-VTCHARACT = C_VARCOND.&lt;/P&gt;&lt;P&gt;          wa_contenttab1-flag = C_Y.&lt;/P&gt;&lt;P&gt;          modify i_contenttab1 from wa_contenttab1 transporting flag.&lt;/P&gt;&lt;P&gt;        ELSE.&lt;/P&gt;&lt;P&gt;          wa_contenttab1-flag = C_Z.&lt;/P&gt;&lt;P&gt;          modify i_contenttab1 from wa_contenttab1 transporting flag.&lt;/P&gt;&lt;P&gt;          CONTINUE.&lt;/P&gt;&lt;P&gt;        ENDIF.&lt;/P&gt;&lt;P&gt;      ENDIF.&lt;/P&gt;&lt;P&gt;    ENDIF.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;    IF wa_contenttab1-char15 ne ' '.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;      READ TABLE itab_var_tab_entries into wa_var_tab_entries&lt;/P&gt;&lt;P&gt;         WITH KEY VTVALUE = wa_contenttab1-char15.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;      IF SY-SUBRC = 0.&lt;/P&gt;&lt;P&gt;        wa_contenttab1-flag = C_Y.&lt;/P&gt;&lt;P&gt;        modify i_contenttab1 from wa_contenttab1 transporting flag.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;      ELSE.&lt;/P&gt;&lt;P&gt;        IF wa_var_tab_entries-VTCHARACT = C_VARCOND.&lt;/P&gt;&lt;P&gt;          wa_contenttab1-flag = C_Y.&lt;/P&gt;&lt;P&gt;          modify i_contenttab1 from wa_contenttab1 transporting flag.&lt;/P&gt;&lt;P&gt;        ELSE.&lt;/P&gt;&lt;P&gt;          wa_contenttab1-flag = C_Z.&lt;/P&gt;&lt;P&gt;          modify i_contenttab1 from wa_contenttab1 transporting flag.&lt;/P&gt;&lt;P&gt;          CONTINUE.&lt;/P&gt;&lt;P&gt;        ENDIF.&lt;/P&gt;&lt;P&gt;      ENDIF.&lt;/P&gt;&lt;P&gt;    ENDIF.&lt;/P&gt;&lt;P&gt;  endloop.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;Delete i_contenttab1 where flag = C_Y.&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  I_CONTENTTAB3[] = I_CONTENTTAB1[].&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  SORT I_CONTENTTAB3 BY VTNAM.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  DELETE I_CONTENTTAB3 WHERE VTNAM IS INITIAL.&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;DELETE ADJACENT DUPLICATES FROM I_CONTENTTAB1.&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;  CLEAR: L_LINES.&lt;/P&gt;&lt;P&gt;  DESCRIBE TABLE I_CONTENTTAB3 LINES L_LINES.&lt;/P&gt;&lt;P&gt;  IF L_LINES = 1.&lt;/P&gt;&lt;P&gt;    g_error = c_X.&lt;/P&gt;&lt;P&gt;    CLEAR wa_vtnam.&lt;/P&gt;&lt;P&gt;    MESSAGE I164.&lt;/P&gt;&lt;P&gt;    LEAVE LIST-PROCESSING.&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;*MOD-0112&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;perform sub_clear_tables.&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;**********************************************************************&lt;/P&gt;&lt;P&gt;*MOD-012&lt;/P&gt;&lt;P&gt;**********************************************************************&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;IF G_ERROR &amp;lt;&amp;gt; C_X.&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;**********************************************************************&lt;/P&gt;&lt;P&gt;*MOD-009&lt;/P&gt;&lt;P&gt;**********************************************************************&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  loop at i_contentheader1 into wa_contentheader1.&lt;/P&gt;&lt;P&gt;    perform sub_convert_0001.                               " E1CUVTM&lt;/P&gt;&lt;P&gt;    perform sub_convert_0002.                               " E1DATEM'&lt;/P&gt;&lt;P&gt;*************************************************************************&lt;/P&gt;&lt;P&gt;***MOD-009&lt;/P&gt;&lt;P&gt;*************************************************************************&lt;/P&gt;&lt;P&gt;    READ TABLE I_CONTENTTAB1 INTO WA_CONTENTTAB1 INDEX 1.&lt;/P&gt;&lt;P&gt;    IF WA_CONTENTTAB1-VTNAM NE WA_CONTENTHEADER1-VTNAM.&lt;/P&gt;&lt;P&gt;      MOVE-CORRESPONDING wa_contenttab1 TO wa_file.&lt;/P&gt;&lt;P&gt;      IF ( wa_file-flag = 'X' OR wa_file-flag = 'x' ) .&lt;/P&gt;&lt;P&gt;*****************************************************&lt;/P&gt;&lt;P&gt;*MOD-012&lt;/P&gt;&lt;P&gt;***************************************************&lt;/P&gt;&lt;P&gt;        cnt_i = 18.&lt;/P&gt;&lt;P&gt;        g_raw = wa_file.&lt;/P&gt;&lt;P&gt;        DO 15 TIMES.&lt;/P&gt;&lt;P&gt;          wa_charname-name = g_raw+cnt_i(30).&lt;/P&gt;&lt;P&gt;          APPEND wa_charname TO i_charname.&lt;/P&gt;&lt;P&gt;          cnt_i = cnt_i + 30.&lt;/P&gt;&lt;P&gt;        ENDDO.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;*****************************************************&lt;/P&gt;&lt;P&gt;*MOD-012&lt;/P&gt;&lt;P&gt;*****************************************************&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;        APPEND wa_file TO i_file_tmp.&lt;/P&gt;&lt;P&gt;        CLEAR: WA_FILE.&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;Check duplicate columns for characteristics&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;        PERFORM sub_dupl_columns.&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;      ENDIF.&lt;/P&gt;&lt;P&gt;    ENDIF.&lt;/P&gt;&lt;P&gt;*************************************************************************&lt;/P&gt;&lt;P&gt;***MOD-009&lt;/P&gt;&lt;P&gt;*************************************************************************&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;    loop at i_contenttab1 into wa_contenttab1&lt;/P&gt;&lt;P&gt;         where VTNAM = wa_contentheader1-VTNAM.&lt;/P&gt;&lt;P&gt;      perform sub_convert_0003.                             " E1CUV1M&lt;/P&gt;&lt;P&gt;      clear: wa_contenttab1.&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;**MOD-012&lt;/P&gt;&lt;P&gt;**********************************************************&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;  ENDLOOP.&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;**********************************************************&lt;/P&gt;&lt;P&gt;**MOD-012&lt;/P&gt;&lt;P&gt;**********************************************************&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;Delete Duplicates:&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;   PERFORM sub_delete_duplicates.&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;**********************************************************&lt;/P&gt;&lt;P&gt;**MOD-012&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 internal variant table number, store in internal table I_CUVTAB&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;    PERFORM sub_get_cuvtab.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;Get unique number for variant table from table /FACTGLB/DVNT_MA&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;    PERFORM sub_get_vnt_ma.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;Get internal table fields and their order&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;    PERFORM sub_get_cuvtab_fld.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;Find out if check is required for characteristic, if no value&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;exists in CAWN, no check is required&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;    IF g_error &amp;lt;&amp;gt; 'X'.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;      PERFORM sub_check_cabn.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;Get already uploaded characteristic values (Character, date, time)&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;      PERFORM sub_get_cuvtab_valc.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;Get already uploaded characteristic values (Numeric)&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;      PERFORM sub_get_cuvtab_valn.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;Find table name and characteristic names&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;      PERFORM sub_validate_table_fields.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;Check if all characteristics of table are defined in file&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;      PERFORM sub_charac_exist.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;Validate characteristic values&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;      PERFORM sub_validate_charac_values.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;**********************************************************&lt;/P&gt;&lt;P&gt;*MOD-013&lt;/P&gt;&lt;P&gt;**********************************************************&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;    IF g_error &amp;lt;&amp;gt; c_x.&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;       clear: g_lines.&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;       DESCRIBE TABLE i_error LINES g_lines.&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;       IF g_lines = 0.&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;      IF rb_idoc = c_x.&lt;/P&gt;&lt;P&gt;        PERFORM SUB_CREATE_IDOCS.&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;       IF rb_proc = c_x.&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;         PERFORM SUB_START_IDOC_PROCESS.&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;       ENDIF.&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;        PERFORM SUB_CREATE_IDOCS.&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;        PERFORM SUB_START_IDOC_PROCESS.&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;       endif.&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;    ENDIF.&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;*********************************************************&lt;/P&gt;&lt;P&gt;*MOD-013&lt;/P&gt;&lt;P&gt;*********************************************************&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;      PERFORM SUB_CLEAR_VARIABLES.&lt;/P&gt;&lt;P&gt;    ENDIF.&lt;/P&gt;&lt;P&gt;  ENDLOOP.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;*********************************************************&lt;/P&gt;&lt;P&gt;*MOD-012&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; IF rb_idoc = c_x.&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;   PERFORM SUB_DISPLAY_IDOCS.&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt; ENDIF.&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;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt; IF rb_proc = c_x.&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;   PERFORM SUB_START_IDOC_PROCESS.&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt; ENDIF.&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;  ENDIF.&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;********************************************************&lt;/P&gt;&lt;P&gt;*MOD-012&lt;/P&gt;&lt;P&gt;********************************************************&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;ENDFORM.                    " SUB_CONVERT_TRANSACTION&lt;/P&gt;&lt;P&gt;*&amp;amp;----&lt;/P&gt;&lt;HR originaltext="---------------------------------------------------------------" /&gt;&lt;P&gt;*&lt;/P&gt;&lt;P&gt;*&amp;amp;      Form  SUB_CREATE_IDOCS&lt;/P&gt;&lt;P&gt;*&amp;amp;----&lt;/P&gt;&lt;HR originaltext="---------------------------------------------------------------" /&gt;&lt;P&gt;*&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;      text&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;*----&lt;/P&gt;&lt;HR originaltext="----------------------------------------------------------------" /&gt;&lt;P&gt;*&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt; --&amp;gt;  p1        text&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt; &amp;lt;--  p2        text&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;*----&lt;/P&gt;&lt;HR originaltext="----------------------------------------------------------------" /&gt;&lt;P&gt;*&lt;/P&gt;&lt;P&gt;FORM SUB_CREATE_IDOCS .&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  CONSTANTS: C_VTMMAS TYPE EDI_MESTYP VALUE 'VTMMAS'.&lt;/P&gt;&lt;P&gt;  CONSTANTS: C_EDI_DC40(8) TYPE C VALUE 'EDI_DC40'.&lt;/P&gt;&lt;P&gt;  CONSTANTS: C_2(1) TYPE C VALUE '2'.&lt;/P&gt;&lt;P&gt;  CONSTANTS: C_LS(2) TYPE C VALUE 'LS'.&lt;/P&gt;&lt;P&gt;  CONSTANTS: C_VTMMAS02(8) TYPE C VALUE 'VTMMAS02'.&lt;/P&gt;&lt;P&gt;  CONSTANTS: l_c_x TYPE char1 VALUE 'X'.                    "#EC *&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;Local Data Declaration&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;  DATA: l_logsys     TYPE logsys,                           "#EC *&lt;/P&gt;&lt;P&gt;        l_i_model    TYPE TABLE OF bdi_mmodel,              "#EC *&lt;/P&gt;&lt;P&gt;        l_rec_model  TYPE bdi_mmodel,                       "#EC *&lt;/P&gt;&lt;P&gt;        l_rec_edidc  TYPE edidc,                            "#EC *&lt;/P&gt;&lt;P&gt;        l_rec_edidd  TYPE edidd,                            "#EC *&lt;/P&gt;&lt;P&gt;        l_v_cnt      TYPE i VALUE 0.                        "#EC *&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  DATA: wa_i_mmodel type bdi_mmodel.                        "#EC *&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  DATA:&lt;/P&gt;&lt;P&gt;       l_text(132),                                         "#EC *&lt;/P&gt;&lt;P&gt;       l_lines TYPE i,                                      "#EC *&lt;/P&gt;&lt;P&gt;       l_idoc_nr_from TYPE i,                               "#EC *&lt;/P&gt;&lt;P&gt;       l_idoc_nr_to TYPE i,                                 "#EC *&lt;/P&gt;&lt;P&gt;       l_idoc_nr_from_char(10) type c,                      "#EC *&lt;/P&gt;&lt;P&gt;       l_idoc_nr_to_char(10) type c,                        "#EC *&lt;/P&gt;&lt;P&gt;       l_edkp1 type edkp1,                                  "#EC *&lt;/P&gt;&lt;P&gt;       l_edk21 type edk21.                                  "#EC *&lt;/P&gt;&lt;P&gt;  DATA:&lt;/P&gt;&lt;P&gt;      l_flg_tranferred_something.                           "#EC *&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  FIELD-SYMBOLS:&lt;/P&gt;&lt;P&gt;    .                                               "#EC *&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  perform get_structure.&lt;/P&gt;&lt;P&gt;  perform create_dynamic_itab.&lt;/P&gt;&lt;P&gt;  perform get_data.&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;perform write_out.&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;**MOD-012&lt;/P&gt;&lt;P&gt;********************************************************************&lt;/P&gt;&lt;UL&gt;&lt;UL&gt;&lt;LI level="2" type="ul"&gt;&lt;P&gt;Getting own logical system&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt; CALL FUNCTION 'OWN_LOGICAL_SYSTEM_GET'&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;   IMPORTING&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;     own_logical_system             = l_logsys&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;   EXCEPTIONS&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;     own_logical_system_not_defined = 1&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;     OTHERS                         = 2.&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt; IF sy-subrc &amp;lt;&amp;gt; 0.&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;   MESSAGE i088.                  "Invalid Logical System&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;   LEAVE LIST-PROCESSING.&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt; ENDIF.&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;*&lt;/P&gt;&lt;P&gt;*&lt;/P&gt;&lt;UL&gt;&lt;UL&gt;&lt;LI level="2" type="ul"&gt;&lt;P&gt;Getting the systems to which the Idocs are to be sent&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt; CALL FUNCTION 'MMODEL_INT_VALID_GET'&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;   EXPORTING&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;     mestyp = C_VTMMAS&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;   TABLES&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;     model  = l_i_model.&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;************************************************************************&lt;/P&gt;&lt;UL&gt;&lt;UL&gt;&lt;LI level="2" type="ul"&gt;&lt;P&gt;    SUBRC check is not required because no exceptions are defined in&lt;/P&gt;&lt;/LI&gt;&lt;LI level="2" type="ul"&gt;&lt;P&gt;    this FM.&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;/UL&gt;&lt;P&gt;************************************************************************&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt; SORT l_i_model by sndsystem mestyp rcvsystem.&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;*&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt; READ TABLE l_i_model into wa_i_mmodel with key sndsystem = l_logsys binary search.&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;***************************************************&lt;/P&gt;&lt;P&gt;**MOD-008&lt;/P&gt;&lt;P&gt;***************************************************&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt; SORT I_CONTENTTAB1 BY VTNAM.&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt; DELETE I_CONTENTTAB1 where vtnam is initial.&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt; DELETE I_CONTENTTAB1 INDEX 1.&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;***************************************************&lt;/P&gt;&lt;P&gt;**MOD-008&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;**MOD-012&lt;/P&gt;&lt;P&gt;***************************************************&lt;/P&gt;&lt;UL&gt;&lt;UL&gt;&lt;LI level="2" type="ul"&gt;&lt;P&gt;loop at i_contentheader1 into wa_contentheader1.&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;/UL&gt;&lt;P&gt;***************************************************&lt;/P&gt;&lt;P&gt;**MOD-012&lt;/P&gt;&lt;P&gt;***************************************************&lt;/P&gt;&lt;UL&gt;&lt;UL&gt;&lt;LI level="2" type="ul"&gt;&lt;P&gt; READ TABLE I_CONTENTTAB1 INTO WA_CONTENTTAB1 WITH KEY VTNAM = WA_CONTENTHEADER1-VTNAM BINARY SEARCH.&lt;/P&gt;&lt;/LI&gt;&lt;LI level="2" type="ul"&gt;&lt;P&gt; IF SY-SUBRC = 0.&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;/UL&gt;&lt;P&gt;***************************************************&lt;/P&gt;&lt;P&gt;**MOD-012&lt;/P&gt;&lt;P&gt;***************************************************&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt; clear wa_itab_zedidc40.&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt; wa_itab_zedidc40-tabnam    = C_EDI_DC40.&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt; wa_itab_zedidc40-docnum    = wdocnum.                     "#EC NEEDED&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt; wa_itab_zedidc40-direct    = C_2.&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt; concatenate 'SAP' sy-sysid into wa_itab_zedidc40-rcvpor.&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt; wa_itab_zedidc40-rcvprt    =  C_LS.&lt;/P&gt;&lt;/LI&gt;&lt;UL&gt;&lt;LI level="2" type="ul"&gt;&lt;P&gt;    itab_zedidc40-rcvprn    = 'ID3CLNT800'.&lt;/P&gt;&lt;/LI&gt;&lt;LI level="2" type="ul"&gt;&lt;P&gt;    itab_zedidc40-rcvprn    =  p_rcvpr.&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt; wa_itab_zedidc40-rcvprn    =  wa_i_mmodel-RCVSYSTEM.&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt; wa_itab_zedidc40-sndpor    = ' '.&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt; wa_itab_zedidc40-sndprt    = C_LS.&lt;/P&gt;&lt;/LI&gt;&lt;UL&gt;&lt;LI level="2" type="ul"&gt;&lt;P&gt;    itab_zedidc40-sndprn    = 'T90CLNT090'.&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt; wa_itab_zedidc40-sndprn    = l_logsys.&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt; wa_itab_zedidc40-credat    = sy-datum.&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt; wa_itab_zedidc40-cretim    = sy-uzeit.&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt; wa_itab_zedidc40-mestyp    = C_VTMMAS.&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt; wa_itab_zedidc40-idoctyp   = C_VTMMAS02.&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt; append wa_itab_zedidc40 to itab_zedidc40.                                      " Control record&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt; clear: wa_contentheader1.&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt; clear: wa_contenttab1.&lt;/P&gt;&lt;/LI&gt;&lt;UL&gt;&lt;LI level="2" type="ul"&gt;&lt;P&gt;ENDIF.&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;/UL&gt;&lt;P&gt;***************************************************&lt;/P&gt;&lt;P&gt;**MOD-012&lt;/P&gt;&lt;P&gt;***************************************************&lt;/P&gt;&lt;UL&gt;&lt;UL&gt;&lt;LI level="2" type="ul"&gt;&lt;P&gt;endloop.&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;/UL&gt;&lt;P&gt;***************************************************&lt;/P&gt;&lt;P&gt;**MOD-012&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 TABLE itab_zedidc40 into wa_itab_zedidc40 INDEX 1.&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;*&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt; IF SY-SUBRC = 0.&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;   l_edkp1-mandt = sy-mandt.&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;   l_edkp1-parnum = wa_itab_zedidc40-sndprn.&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;   l_edkp1-partyp = wa_itab_zedidc40-sndprt.&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;   CALL FUNCTION 'EDI_AGREE_PARTNER_READ'                  "#EC *&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;     EXPORTING&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;       rec_edkp1 = l_edkp1.&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;   IF sy-subrc &amp;lt;&amp;gt; 0.                                       "#EC *&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;     MESSAGE i810(/sapdmc/lsmw) WITH wa_itab_zedidc40-sndprn"#EC *&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;                                     wa_itab_zedidc40-sndprt.&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;     EXIT.&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;   ENDIF.&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;*&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;   l_edk21-mandt = sy-mandt.&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;   l_edk21-sndprn = wa_itab_zedidc40-sndprn.&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;   l_edk21-sndprt = wa_itab_zedidc40-sndprt.&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;   l_edk21-mestyp = wa_itab_zedidc40-mestyp.&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;   l_edk21-mescod = wa_itab_zedidc40-mescod.&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;   CALL FUNCTION 'EDI_AGREE_IN_MESSTYPE_READ'              "#EC *&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;     EXPORTING&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;       rec_edk21 = l_edk21.&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;   IF sy-subrc &amp;lt;&amp;gt; 0.                                       "#EC *&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;     MESSAGE i811(/sapdmc/lsmw) WITH wa_itab_zedidc40-mestyp."#EC *&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;     EXIT.&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;   ENDIF.&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt; ENDIF.&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;*&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt; CALL FUNCTION 'SAPGUI_PROGRESS_INDICATOR'                 "#EC *&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;   EXPORTING&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;     text = text-010.&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;*&lt;/P&gt;&lt;UL&gt;&lt;UL&gt;&lt;LI level="2" type="ul"&gt;&lt;P&gt;if p_proc = c_x.&lt;/P&gt;&lt;/LI&gt;&lt;LI level="2" type="ul"&gt;&lt;P&gt;if g_error &amp;lt;&amp;gt; c_x.&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt; wdocnum = 0.&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;*************************************************************&lt;/P&gt;&lt;P&gt;**MOD-012&lt;/P&gt;&lt;P&gt;*************************************************************&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt; LOOP AT itab_zedidc40 into wa_itab_zedidc40.&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;**************************************************************&lt;/P&gt;&lt;P&gt;**MOD-012&lt;/P&gt;&lt;P&gt;**************************************************************&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;   call function 'IDOC_INBOUND_ASYNCHRONOUS'&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;     TABLES&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;       idoc_control_rec_40 = itab_zedidc40&lt;/P&gt;&lt;/LI&gt;&lt;UL&gt;&lt;LI level="2" type="ul"&gt;&lt;P&gt;      idoc_control_rec_40 = gt_curr_edi_dc40&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;       idoc_data_rec_40    = gt_curr_edi_dd40.&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;   add 1 to g_cnt_transactions_transferred.&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;   add 1 to g_cnt_transactions_read.&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;   add 1 to wdocnum.&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;**************************************************************&lt;/P&gt;&lt;P&gt;**MOD-012&lt;/P&gt;&lt;P&gt;**************************************************************&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt; endloop.&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;**************************************************************&lt;/P&gt;&lt;P&gt;**MOD-012&lt;/P&gt;&lt;P&gt;**************************************************************&lt;/P&gt;&lt;P&gt;*&lt;/P&gt;&lt;UL&gt;&lt;UL&gt;&lt;LI level="2" type="ul"&gt;&lt;P&gt; endif.&lt;/P&gt;&lt;/LI&gt;&lt;LI level="2" type="ul"&gt;&lt;P&gt;  skip 2.&lt;/P&gt;&lt;/LI&gt;&lt;LI level="2" type="ul"&gt;&lt;P&gt;endif.&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;/UL&gt;&lt;P&gt;*&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt; DESCRIBE TABLE itab_zedidc40 LINES l_lines.&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt; ADD l_lines TO g_cnt_records_transferred.&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt; DESCRIBE TABLE gt_curr_edi_dd40 LINES l_lines.&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt; ADD l_lines TO g_cnt_records_transferred.&lt;/P&gt;&lt;/LI&gt;&lt;/UL&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; CLEAR:&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;   g_cnt_idocs_package,&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;   itab_zedidc40[],&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;   itab_zedidd40[].&lt;/P&gt;&lt;/LI&gt;&lt;/UL&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; CLEAR:&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;   itab_zedidd40[],                                        "YOG190700&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;   itab_zedidd40[].                                        "YOG190700&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;*&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt; CLEAR: g_segnum.&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;*&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt; Refresh: itab_zedidc40,&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;         gt_curr_edi_dc40,&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;         gt_curr_edi_dd40.&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;******************************************************************************&lt;/P&gt;&lt;P&gt;**MOD-012&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.                    " SUB_CREATE_IDOCS&lt;/P&gt;&lt;P&gt;*&amp;amp;----&lt;/P&gt;&lt;HR originaltext="---------------------------------------------------------------" /&gt;&lt;P&gt;*&lt;/P&gt;&lt;P&gt;*&amp;amp;      Form  SUB_START_IDOC_PROCESS&lt;/P&gt;&lt;P&gt;*&amp;amp;----&lt;/P&gt;&lt;HR originaltext="---------------------------------------------------------------" /&gt;&lt;P&gt;*&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;      text&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;*----&lt;/P&gt;&lt;HR originaltext="----------------------------------------------------------------" /&gt;&lt;P&gt;*&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt; --&amp;gt;  p1        text&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt; &amp;lt;--  p2        text&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;*----&lt;/P&gt;&lt;HR originaltext="----------------------------------------------------------------" /&gt;&lt;P&gt;*&lt;/P&gt;&lt;P&gt;FORM SUB_START_IDOC_PROCESS .&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  CONSTANTS: C_I(1)  TYPE C VALUE 'I'.&lt;/P&gt;&lt;P&gt;  CONSTANTS: C_EQ(2) TYPE C VALUE 'EQ'.&lt;/P&gt;&lt;P&gt;  CONSTANTS: C_VTMMAS(6) TYPE C VALUE 'VTMMAS'.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;RBDAPP01 aufrufen&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;  R_CREDAT-SIGN = C_I.&lt;/P&gt;&lt;P&gt;  R_CREDAT-OPTION = C_EQ.&lt;/P&gt;&lt;P&gt;  R_CREDAT-LOW = SY-DATUM.&lt;/P&gt;&lt;P&gt;  APPEND R_CREDAT.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  R_CRETIM-SIGN = C_I.&lt;/P&gt;&lt;P&gt;  R_CRETIM-OPTION = C_EQ.&lt;/P&gt;&lt;P&gt;  R_CRETIM-LOW = SY-UZEIT.&lt;/P&gt;&lt;P&gt;  APPEND R_CRETIM.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  R_MESTYP-SIGN = C_I.&lt;/P&gt;&lt;P&gt;  R_MESTYP-OPTION = C_EQ.&lt;/P&gt;&lt;P&gt;  R_MESTYP-LOW = C_VTMMAS.&lt;/P&gt;&lt;P&gt;  APPEND R_MESTYP.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  LOOP AT itab_zedidc40 into wa_itab_zedidc40.&lt;/P&gt;&lt;P&gt;    R_SNDPRT-SIGN = C_I.&lt;/P&gt;&lt;P&gt;    R_SNDPRT-OPTION = C_EQ.&lt;/P&gt;&lt;P&gt;    R_SNDPRT-LOW = wa_itab_zedidc40-sndprt.&lt;/P&gt;&lt;P&gt;    APPEND R_SNDPRT.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;    R_SNDPRN-SIGN = C_I.&lt;/P&gt;&lt;P&gt;    R_SNDPRN-OPTION = C_EQ.&lt;/P&gt;&lt;P&gt;    R_SNDPRN-LOW = wa_itab_zedidc40-sndprn.&lt;/P&gt;&lt;P&gt;    APPEND R_SNDPRN.&lt;/P&gt;&lt;P&gt;  ENDLOOP.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  SUBMIT RBDAPP01                                        "#EC CI_SUBMIT&lt;/P&gt;&lt;P&gt;          WITH CREDAT IN R_CREDAT&lt;/P&gt;&lt;P&gt;          WITH CRETIM IN R_CRETIM&lt;/P&gt;&lt;P&gt;          WITH MESTYP IN R_MESTYP&lt;/P&gt;&lt;P&gt;          WITH SNDPRN IN R_SNDPRN&lt;/P&gt;&lt;P&gt;          WITH SNDPRT IN R_SNDPRT&lt;/P&gt;&lt;P&gt;          VIA SELECTION-SCREEN&lt;/P&gt;&lt;P&gt;          AND RETURN.&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;Rufe RBDINPUT&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;  R_MESTYP-SIGN = C_I.&lt;/P&gt;&lt;P&gt;  R_MESTYP-OPTION = C_EQ.&lt;/P&gt;&lt;P&gt;  R_MESTYP-LOW = L_MESSTYPE.&lt;/P&gt;&lt;P&gt;  APPEND R_MESTYP.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  SUBMIT RBDINPUT                                        "#EC CI_SUBMIT&lt;/P&gt;&lt;P&gt;     VIA SELECTION-SCREEN&lt;/P&gt;&lt;P&gt;     AND RETURN.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;**CALL TRANSACTION 'WE02'&lt;/P&gt;&lt;P&gt;  SUBMIT RSEIDOC2                                        "#EC CI_SUBMIT&lt;/P&gt;&lt;P&gt;  WITH CREDAT EQ R_CREDAT-LOW SIGN C_I&lt;/P&gt;&lt;P&gt;  WITH MESTYP EQ C_VTMMAS SIGN 'I'&lt;/P&gt;&lt;P&gt;  AND RETURN.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  REFRESH: R_CREDAT,&lt;/P&gt;&lt;P&gt;           R_CRETIM,&lt;/P&gt;&lt;P&gt;           R_MESTYP.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;ENDFORM.                    " SUB_START_IDOC_PROCESS&lt;/P&gt;&lt;P&gt;**&amp;amp;----&lt;/P&gt;&lt;HR originaltext="---------------------------------------------------------------" /&gt;&lt;P&gt;*&lt;/P&gt;&lt;P&gt;*&amp;amp;      Form  SUB_UPLOAD_FROM_APPSERVER&lt;/P&gt;&lt;P&gt;*&amp;amp;----&lt;/P&gt;&lt;HR originaltext="---------------------------------------------------------------" /&gt;&lt;P&gt;*&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;      text&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;*----&lt;/P&gt;&lt;HR originaltext="----------------------------------------------------------------" /&gt;&lt;P&gt;*&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt; --&amp;gt;  p1        text&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt; &amp;lt;--  p2        text&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;*----&lt;/P&gt;&lt;HR originaltext="----------------------------------------------------------------" /&gt;&lt;P&gt;*&lt;/P&gt;&lt;P&gt;FORM SUB_UPLOAD_FROM_APPSERVER .&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  DATA: l_timestamp type timestamp.&lt;/P&gt;&lt;P&gt;  DATA: l_time(15) type C.&lt;/P&gt;&lt;P&gt;  DATA: WA_DVNT_TM TYPE ZDVNT_TM.&lt;/P&gt;&lt;P&gt;  DATA: l_counter type i.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  SELECT max( COUNTER )&lt;/P&gt;&lt;P&gt;       INTO L_COUNTER&lt;/P&gt;&lt;P&gt;       FROM ZDVNT_TM.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  L_COUNTER  = L_COUNTER + 1.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  get time stamp field l_timestamp.&lt;/P&gt;&lt;P&gt;  write l_timestamp to l_time.&lt;/P&gt;&lt;P&gt;  CONCATENATE P_FNAME SY-UNAME l_time '.txt'  INTO P_FNAME.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  WA_DVNT_TM-MANDT  = SY-MANDT.&lt;/P&gt;&lt;P&gt;  WA_DVNT_TM-BNAME  = SY-UNAME.&lt;/P&gt;&lt;P&gt;  WA_DVNT_TM-COUNTER = L_COUNTER.&lt;/P&gt;&lt;P&gt;  WA_dVNT_TM-FILETYPE = C_X.&lt;/P&gt;&lt;P&gt;  WA_DVNT_TM-FILEINTERN = P_FNAME.&lt;/P&gt;&lt;P&gt;  WA_DVNT_TM-DATE_TIME_STMP = l_time.&lt;/P&gt;&lt;P&gt;  insert into ZDVNT_TM values WA_DVNT_TM.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  get time stamp field l_timestamp.&lt;/P&gt;&lt;P&gt;  write l_timestamp to l_time.&lt;/P&gt;&lt;P&gt;  CONCATENATE P_FNAME1 SY-UNAME l_time '.txt'  INTO P_FNAME1.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  WA_DVNT_TM-MANDT  = SY-MANDT.&lt;/P&gt;&lt;P&gt;  WA_DVNT_TM-BNAME  = SY-UNAME.&lt;/P&gt;&lt;P&gt;  WA_DVNT_TM-COUNTER = L_COUNTER.&lt;/P&gt;&lt;P&gt;  WA_DVNT_TM-FILETYPE = C_Y.&lt;/P&gt;&lt;P&gt;  WA_DVNT_TM-FILEINTERN = P_FNAME1.&lt;/P&gt;&lt;P&gt;  WA_DVNT_TM-DATE_TIME_STMP = l_time.&lt;/P&gt;&lt;P&gt;  insert into ZDVNT_TM values WA_DVNT_TM.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  CLEAR: L_COUNTER.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  if rb_apsrv  = 'X'.&lt;/P&gt;&lt;P&gt;    OPEN DATASET p_fname FOR OUTPUT IN TEXT MODE ENCODING DEFAULT.&lt;/P&gt;&lt;P&gt;    LOOP AT I_INPUT_DATA INTO WA_INPUT_DATA.&lt;/P&gt;&lt;P&gt;      IF SY-SUBRC = 0.&lt;/P&gt;&lt;P&gt;        TRANSFER WA_INPUT_DATA TO p_fname.&lt;/P&gt;&lt;P&gt;      ENDIF.&lt;/P&gt;&lt;P&gt;    ENDLOOP.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;    OPEN DATASET p_fname1 FOR OUTPUT IN TEXT MODE ENCODING DEFAULT.&lt;/P&gt;&lt;P&gt;    LOOP AT I_INPUT_DATA1 INTO WA_INPUT_DATA1.&lt;/P&gt;&lt;P&gt;      IF SY-SUBRC = 0.&lt;/P&gt;&lt;P&gt;        TRANSFER WA_INPUT_DATA1 TO p_fname1.&lt;/P&gt;&lt;P&gt;      ENDIF.&lt;/P&gt;&lt;P&gt;    ENDLOOP.&lt;/P&gt;&lt;P&gt;  ENDIF.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;ENDFORM.                    " SUB_UPLOAD_FROM_APPSERVER&lt;/P&gt;&lt;P&gt;*&amp;amp;----&lt;/P&gt;&lt;HR originaltext="---------------------------------------------------------------" /&gt;&lt;P&gt;*&lt;/P&gt;&lt;P&gt;*&amp;amp;      Form  SUB_UPLOAD_FROM_PRESERVER&lt;/P&gt;&lt;P&gt;*&amp;amp;----&lt;/P&gt;&lt;HR originaltext="---------------------------------------------------------------" /&gt;&lt;P&gt;*&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;      text&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;*----&lt;/P&gt;&lt;HR originaltext="----------------------------------------------------------------" /&gt;&lt;P&gt;*&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt; --&amp;gt;  p1        text&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt; &amp;lt;--  p2        text&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;*----&lt;/P&gt;&lt;HR originaltext="----------------------------------------------------------------" /&gt;&lt;P&gt;*&lt;/P&gt;&lt;P&gt;FORM SUB_UPLOAD_FROM_PRESERVER .&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  CONSTANTS: C_ASC(10) TYPE C VALUE 'ASC'.                  "#EC *&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;Read file from NT server into a table&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;  file = p_inpt.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  call function 'GUI_UPLOAD'&lt;/P&gt;&lt;P&gt;    EXPORTING&lt;/P&gt;&lt;P&gt;      filename                = file&lt;/P&gt;&lt;P&gt;      filetype                = 'ASC'&lt;/P&gt;&lt;P&gt;    TABLES&lt;/P&gt;&lt;P&gt;      data_tab                = i_input_data&lt;/P&gt;&lt;P&gt;    EXCEPTIONS&lt;/P&gt;&lt;P&gt;      file_open_error         = 1&lt;/P&gt;&lt;P&gt;      file_read_error         = 2&lt;/P&gt;&lt;P&gt;      no_batch                = 3&lt;/P&gt;&lt;P&gt;      gui_refuse_filetransfer = 4&lt;/P&gt;&lt;P&gt;      invalid_type            = 5&lt;/P&gt;&lt;P&gt;      no_authority            = 6&lt;/P&gt;&lt;P&gt;      unknown_error           = 7&lt;/P&gt;&lt;P&gt;      bad_data_format         = 8&lt;/P&gt;&lt;P&gt;      header_not_allowed      = 9&lt;/P&gt;&lt;P&gt;      separator_not_allowed   = 10&lt;/P&gt;&lt;P&gt;      header_too_long         = 11&lt;/P&gt;&lt;P&gt;      unknown_dp_error        = 12&lt;/P&gt;&lt;P&gt;      access_denied           = 13&lt;/P&gt;&lt;P&gt;      dp_out_of_memory        = 14&lt;/P&gt;&lt;P&gt;      disk_full               = 15&lt;/P&gt;&lt;P&gt;      dp_timeout              = 16&lt;/P&gt;&lt;P&gt;      others                  = 17.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  if sy-subrc ne 0.&lt;/P&gt;&lt;P&gt;    write: / text-036:, p_inpt.&lt;/P&gt;&lt;P&gt;    skip 2.&lt;/P&gt;&lt;P&gt;    stop.&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;Read file from NT server into a table&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;  CLEAR: file.&lt;/P&gt;&lt;P&gt;  file = p_inpt1.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  call function 'GUI_UPLOAD'&lt;/P&gt;&lt;P&gt;    EXPORTING&lt;/P&gt;&lt;P&gt;      filename                = file&lt;/P&gt;&lt;P&gt;      filetype                = 'ASC'&lt;/P&gt;&lt;P&gt;    TABLES&lt;/P&gt;&lt;P&gt;      data_tab                = i_input_data1&lt;/P&gt;&lt;P&gt;    EXCEPTIONS&lt;/P&gt;&lt;P&gt;      file_open_error         = 1&lt;/P&gt;&lt;P&gt;      file_read_error         = 2&lt;/P&gt;&lt;P&gt;      no_batch                = 3&lt;/P&gt;&lt;P&gt;      gui_refuse_filetransfer = 4&lt;/P&gt;&lt;P&gt;      invalid_type            = 5&lt;/P&gt;&lt;P&gt;      no_authority            = 6&lt;/P&gt;&lt;P&gt;      unknown_error           = 7&lt;/P&gt;&lt;P&gt;      bad_data_format         = 8&lt;/P&gt;&lt;P&gt;      header_not_allowed      = 9&lt;/P&gt;&lt;P&gt;      separator_not_allowed   = 10&lt;/P&gt;&lt;P&gt;      header_too_long         = 11&lt;/P&gt;&lt;P&gt;      unknown_dp_error        = 12&lt;/P&gt;&lt;P&gt;      access_denied           = 13&lt;/P&gt;&lt;P&gt;      dp_out_of_memory        = 14&lt;/P&gt;&lt;P&gt;      disk_full               = 15&lt;/P&gt;&lt;P&gt;      dp_timeout              = 16&lt;/P&gt;&lt;P&gt;      others                  = 17.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  if sy-subrc ne 0.&lt;/P&gt;&lt;P&gt;    write: / text-036:, p_inpt.&lt;/P&gt;&lt;P&gt;    skip 2.&lt;/P&gt;&lt;P&gt;    stop.&lt;/P&gt;&lt;P&gt;  endif.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;ENDFORM.                    " SUB_UPLOAD_FROM_PRESERVER&lt;/P&gt;&lt;P&gt;*&amp;amp;----&lt;/P&gt;&lt;HR originaltext="---------------------------------------------------------------" /&gt;&lt;P&gt;*&lt;/P&gt;&lt;P&gt;*&amp;amp;      Form  SUB_FINAL_MESSAGE_IDOC&lt;/P&gt;&lt;P&gt;*&amp;amp;----&lt;/P&gt;&lt;HR originaltext="---------------------------------------------------------------" /&gt;&lt;P&gt;*&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;      text&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;*----&lt;/P&gt;&lt;HR originaltext="----------------------------------------------------------------" /&gt;&lt;P&gt;*&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt; --&amp;gt;  p1        text&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt; &amp;lt;--  p2        text&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;*----&lt;/P&gt;&lt;HR originaltext="----------------------------------------------------------------" /&gt;&lt;P&gt;*&lt;/P&gt;&lt;P&gt;FORM SUB_FINAL_MESSAGE_IDOC .&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  DATA:&lt;/P&gt;&lt;P&gt;      l_tabix type sy-tabix,                                "#EC *&lt;/P&gt;&lt;P&gt;      l_filename_read TYPE tumls_filename,                  "#EC *&lt;/P&gt;&lt;P&gt;      l_filename_conv TYPE tumls_filename.                  "#EC *&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  DATA:&lt;/P&gt;&lt;P&gt;    l_cnt_records_read(10) type c,                          "#EC *&lt;/P&gt;&lt;P&gt;    l_cnt_transactions_read(10) type c,                     "#EC *&lt;/P&gt;&lt;P&gt;    l_cnt_records_transferred(10) type c,                   "#EC *&lt;/P&gt;&lt;P&gt;    l_cnt_transactions_transferred(10) type c.              "#EC *&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  DATA:&lt;/P&gt;&lt;P&gt;    l_messagetext(130),                                     "#EC *&lt;/P&gt;&lt;P&gt;    wa_errortab TYPE type_errorline.                        "#EC *&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  l_cnt_records_read = g_cnt_records_read.&lt;/P&gt;&lt;P&gt;  l_cnt_transactions_read = g_cnt_transactions_read.&lt;/P&gt;&lt;P&gt;  l_cnt_records_transferred = g_cnt_records_transferred.&lt;/P&gt;&lt;P&gt;  l_cnt_transactions_transferred = g_cnt_transactions_transferred.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  WRITE: / 'DATE:', sy-datum DD/MM/YYYY,&lt;/P&gt;&lt;P&gt;            '-',&lt;/P&gt;&lt;P&gt;            'TIME:', sy-uzeit USING EDIT MASK '__:__:__ h'.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  ULINE.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  ULINE.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  WRITE: / 'Transactions Read.'(024),                       "#EC *&lt;/P&gt;&lt;P&gt;         30 g_cnt_transactions_read.&lt;/P&gt;&lt;P&gt;  WRITE: / 'Transactions Transferred:'(026),                "#EC *&lt;/P&gt;&lt;P&gt;         30 g_cnt_transactions_transferred.&lt;/P&gt;&lt;P&gt;  WRITE: / 'Records Transferred:'(027),                     "#EC *&lt;/P&gt;&lt;P&gt;         30 g_cnt_records_transferred.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  ULINE.&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.                    " SUB_FINAL_MESSAGE_IDOC&lt;/P&gt;&lt;P&gt;*&amp;amp;----&lt;/P&gt;&lt;HR originaltext="---------------------------------------------------------------" /&gt;&lt;P&gt;*&lt;/P&gt;&lt;P&gt;*&amp;amp;      Form  SUB_DISPLAY_VARIANT&lt;/P&gt;&lt;P&gt;*&amp;amp;----&lt;/P&gt;&lt;HR originaltext="---------------------------------------------------------------" /&gt;&lt;P&gt;*&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;      text&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;*----&lt;/P&gt;&lt;HR originaltext="----------------------------------------------------------------" /&gt;&lt;P&gt;*&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt; --&amp;gt;  p1        text&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt; &amp;lt;--  p2        text&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;*----&lt;/P&gt;&lt;HR originaltext="----------------------------------------------------------------" /&gt;&lt;P&gt;*&lt;/P&gt;&lt;P&gt;FORM SUB_DISPLAY_VARIANT .&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  IF NOT i_cuv_error IS INITIAL.&lt;/P&gt;&lt;P&gt;    SKIP 2.&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;  WRITE:/ 'Following tables have incorrect characteristic names'(013)."#EC NOTEXT&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;    WRITE:/ text-013.                                       "#EC NOTEXT&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;    WRITE:/ sy-uline(72).&lt;/P&gt;&lt;P&gt;    FORMAT COLOR 1 ON.&lt;/P&gt;&lt;P&gt;    WRITE:/1   sy-vline,&lt;/P&gt;&lt;P&gt;               2  text-014,                                 "#EC NOTEXT&lt;/P&gt;&lt;P&gt;               20 sy-vline,&lt;/P&gt;&lt;P&gt;               21 text-015,                                 "#EC NOTEXT&lt;/P&gt;&lt;P&gt;               72 sy-vline.&lt;/P&gt;&lt;P&gt;    FORMAT COLOR 1 OFF.&lt;/P&gt;&lt;P&gt;    WRITE:/ sy-uline(72).&lt;/P&gt;&lt;P&gt;    LOOP AT i_cuv_error INTO wa_vtnam.&lt;/P&gt;&lt;P&gt;      WRITE:/1   sy-vline,&lt;/P&gt;&lt;P&gt;             2 wa_vtnam-vtnam,&lt;/P&gt;&lt;P&gt;            20 sy-vline,&lt;/P&gt;&lt;P&gt;            21 wa_vtnam-reas,&lt;/P&gt;&lt;P&gt;            72 sy-vline.&lt;/P&gt;&lt;P&gt;      WRITE:/ sy-uline(72).&lt;/P&gt;&lt;P&gt;    ENDLOOP.&lt;/P&gt;&lt;P&gt;  ENDIF.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;ENDFORM.                    " SUB_DISPLAY_VARIANT&lt;/P&gt;&lt;P&gt;*&amp;amp;----&lt;/P&gt;&lt;HR originaltext="---------------------------------------------------------------" /&gt;&lt;P&gt;*&lt;/P&gt;&lt;P&gt;*&amp;amp;      Form  SUB_DISPLAY_ERRORLINES&lt;/P&gt;&lt;P&gt;*&amp;amp;----&lt;/P&gt;&lt;HR originaltext="---------------------------------------------------------------" /&gt;&lt;P&gt;*&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;      text&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;*----&lt;/P&gt;&lt;HR originaltext="----------------------------------------------------------------" /&gt;&lt;P&gt;*&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt; --&amp;gt;  p1        text&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt; &amp;lt;--  p2        text&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;*----&lt;/P&gt;&lt;HR originaltext="----------------------------------------------------------------" /&gt;&lt;P&gt;*&lt;/P&gt;&lt;P&gt;FORM SUB_DISPLAY_ERRORLINES .&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  SKIP 2.&lt;/P&gt;&lt;P&gt;  IF NOT itab_error IS INITIAL.&lt;/P&gt;&lt;P&gt;    FORMAT COLOR 1 ON.&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;   WRITE:/ 'Following lines have invalid/blank values'.    "#EC NOTEXT&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;    WRITE:/ text-016.                                       "#EC NOTEXT&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;    SKIP.&lt;/P&gt;&lt;P&gt;    WRITE:/ sy-uline(120).&lt;/P&gt;&lt;P&gt;    WRITE:/1  sy-vline,&lt;/P&gt;&lt;P&gt;           2  'Variant table'(017),                         "#EC NOTEXT&lt;/P&gt;&lt;P&gt;           20 sy-vline,&lt;/P&gt;&lt;P&gt;           21 'Fieldname'(018),                             "#EC NOTEXT&lt;/P&gt;&lt;P&gt;           51 sy-vline,&lt;/P&gt;&lt;P&gt;           52 'Characteristic name'(019),                   "#EC NOTEXT&lt;/P&gt;&lt;P&gt;           82 sy-vline,&lt;/P&gt;&lt;P&gt;           83 'Characteristic value'(020),                  "#EC NOTEXT&lt;/P&gt;&lt;P&gt;           113 sy-vline,&lt;/P&gt;&lt;P&gt;           114 'Row no'(021),                               "#EC NOTEXT&lt;/P&gt;&lt;P&gt;           120 sy-vline.&lt;/P&gt;&lt;P&gt;    FORMAT COLOR 1 OFF.&lt;/P&gt;&lt;P&gt;    WRITE:/ sy-uline(120).&lt;/P&gt;&lt;P&gt;    LOOP AT itab_error INTO wa_error.&lt;/P&gt;&lt;P&gt;      WRITE:/1  sy-vline,&lt;/P&gt;&lt;P&gt;             2  wa_error-vtnam,&lt;/P&gt;&lt;P&gt;             20 sy-vline,&lt;/P&gt;&lt;P&gt;             21 wa_error-fname+8(6),&lt;/P&gt;&lt;P&gt;             51 sy-vline,&lt;/P&gt;&lt;P&gt;             52 wa_error-atnam,&lt;/P&gt;&lt;P&gt;             82 sy-vline,&lt;/P&gt;&lt;P&gt;             83 wa_error-atwrt,&lt;/P&gt;&lt;P&gt;             113 sy-vline,&lt;/P&gt;&lt;P&gt;             114 wa_error-row,&lt;/P&gt;&lt;P&gt;             120 sy-vline.&lt;/P&gt;&lt;P&gt;      WRITE:/ sy-uline(120).&lt;/P&gt;&lt;P&gt;    ENDLOOP.&lt;/P&gt;&lt;P&gt;  ENDIF.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;ENDFORM.                    " SUB_DISPLAY_ERRORLINES&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;**&amp;amp;----&lt;/P&gt;&lt;HR originaltext="---------------------------------------------------------------" /&gt;&lt;P&gt;*&lt;/P&gt;&lt;P&gt;*&amp;amp;      Form  SUB_CLEAR_SOURCE_TABLES&lt;/P&gt;&lt;P&gt;*&amp;amp;----&lt;/P&gt;&lt;HR originaltext="---------------------------------------------------------------" /&gt;&lt;P&gt;*&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;      text&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;*----&lt;/P&gt;&lt;HR originaltext="----------------------------------------------------------------" /&gt;&lt;P&gt;*&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt; --&amp;gt;  p1        text&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt; &amp;lt;--  p2        text&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;*----&lt;/P&gt;&lt;HR originaltext="----------------------------------------------------------------" /&gt;&lt;P&gt;*&lt;/P&gt;&lt;P&gt;FORM SUB_CLEAR_SOURCE_TABLES .&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  Refresh: I_CONTENTHEADER1,&lt;/P&gt;&lt;P&gt;           I_CONTENTTAB1.&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;REFRESH GLOBAL WORK AREAS&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;****************************&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;*Work Area for the structure I_MESSTAB&lt;/P&gt;&lt;P&gt;  CLEAR:  wa_vartab,&lt;/P&gt;&lt;P&gt;          wa_vartabdate,&lt;/P&gt;&lt;P&gt;          wa_vardetails,&lt;/P&gt;&lt;P&gt;          wa_tabinput,&lt;/P&gt;&lt;P&gt;          wa_dsninput,&lt;/P&gt;&lt;P&gt;          wa_dsninput,&lt;/P&gt;&lt;P&gt;          wa_newinput,&lt;/P&gt;&lt;P&gt;          wa_gnewinput,&lt;/P&gt;&lt;P&gt;          wa_ginput_data ,&lt;/P&gt;&lt;P&gt;          wa_final,&lt;/P&gt;&lt;P&gt;          wa_content,&lt;/P&gt;&lt;P&gt;          wa_contenthd ,&lt;/P&gt;&lt;P&gt;          wa_contentheader,&lt;/P&gt;&lt;P&gt;          wa_contenttab,&lt;/P&gt;&lt;P&gt;          wa_content1,&lt;/P&gt;&lt;P&gt;          wa_contenthd1,&lt;/P&gt;&lt;P&gt;          wa_contentheader1,&lt;/P&gt;&lt;P&gt;          wa_contenttab1,&lt;/P&gt;&lt;P&gt;          wa_E1CUVTM ,&lt;/P&gt;&lt;P&gt;          wa_E1CUV1M ,&lt;/P&gt;&lt;P&gt;          wa_E1DATEM .&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;REFRESH INTERNAL TABLES AND WORK AREAS FOR BDC&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;*************************************************&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;*Internal Table to store the data to display the error message&lt;/P&gt;&lt;P&gt;  REFRESH i_errormsg[] .&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;*Internal Table to store the data to display the error message&lt;/P&gt;&lt;P&gt;  REFRESH i_error[].&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;**Work area to store the data to display the error message&lt;/P&gt;&lt;P&gt;  CLEAR wa_errormsg.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;*Internal table which will store data for the error log&lt;/P&gt;&lt;P&gt;  REFRESH i_error_log[] .&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;REFRESH GLOBAL VARIABLES&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;***************************&lt;/P&gt;&lt;P&gt;  CLEAR: g_ctr_input_recs,&lt;/P&gt;&lt;P&gt;         g_ctr_output_recs,&lt;/P&gt;&lt;P&gt;         g_msg,&lt;/P&gt;&lt;P&gt;         g_struct_file,&lt;/P&gt;&lt;P&gt;         g_login,&lt;/P&gt;&lt;P&gt;         g_phyin ,&lt;/P&gt;&lt;P&gt;         g_FNAME1,&lt;/P&gt;&lt;P&gt;         g_repid,&lt;/P&gt;&lt;P&gt;         g_exit,&lt;/P&gt;&lt;P&gt;         gx_variant,&lt;/P&gt;&lt;P&gt;         g_lines ,&lt;/P&gt;&lt;P&gt;         g_save,&lt;/P&gt;&lt;P&gt;         g_splid ,&lt;/P&gt;&lt;P&gt;         p_login ,&lt;/P&gt;&lt;P&gt;         p_phyin.&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;REFRESH GLOBAL INTERNAL TABLES FOR ALV DISPLAY&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;*************************************************&lt;/P&gt;&lt;P&gt;*Refresh Internal tables for ALV Field cat&lt;/P&gt;&lt;P&gt;  REFRESH i_fieldcat_ov[].&lt;/P&gt;&lt;P&gt;  REFRESH i_fieldcat_dtl[].&lt;/P&gt;&lt;P&gt;  REFRESH i_fieldcat_ov1[].&lt;/P&gt;&lt;P&gt;  REFRESH i_events[].&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  Refresh:  itab_zedidc40,&lt;/P&gt;&lt;P&gt;            itab_zedidd40,&lt;/P&gt;&lt;P&gt;            gt_curr_edi_dc40,&lt;/P&gt;&lt;P&gt;            gt_curr_edi_dd40.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  CLEAR:   i_file,&lt;/P&gt;&lt;P&gt;           i_file_tmp,&lt;/P&gt;&lt;P&gt;           i_cuvtab_fld,&lt;/P&gt;&lt;P&gt;           i_cuvtab_valn,&lt;/P&gt;&lt;P&gt;           i_cuvtab,&lt;/P&gt;&lt;P&gt;           i_cuvtab_valc,&lt;/P&gt;&lt;P&gt;           i_col_pos,&lt;/P&gt;&lt;P&gt;           g_slnid_c,&lt;/P&gt;&lt;P&gt;           g_slnid_n,&lt;/P&gt;&lt;P&gt;           g_split_var.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;ENDFORM.                    " SUB_CLEAR_SOURCE_TABLES&lt;/P&gt;&lt;P&gt;*&amp;amp;----&lt;/P&gt;&lt;HR originaltext="---------------------------------------------------------------" /&gt;&lt;P&gt;*&lt;/P&gt;&lt;P&gt;*&amp;amp;      Form  SUB_CLEAR_TABLES&lt;/P&gt;&lt;P&gt;*&amp;amp;----&lt;/P&gt;&lt;HR originaltext="---------------------------------------------------------------" /&gt;&lt;P&gt;*&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;      text&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;*----&lt;/P&gt;&lt;HR originaltext="----------------------------------------------------------------" /&gt;&lt;P&gt;*&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt; --&amp;gt;  p1        text&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt; &amp;lt;--  p2        text&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;*----&lt;/P&gt;&lt;HR originaltext="----------------------------------------------------------------" /&gt;&lt;P&gt;*&lt;/P&gt;&lt;P&gt;FORM SUB_CLEAR_TABLES .&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  CLEAR:  i_file,&lt;/P&gt;&lt;P&gt;          i_cuvtab_fld,&lt;/P&gt;&lt;P&gt;          i_cuvtab_valn,&lt;/P&gt;&lt;P&gt;          i_cuvtab,&lt;/P&gt;&lt;P&gt;          i_cuvtab_valc,&lt;/P&gt;&lt;P&gt;          i_col_pos,&lt;/P&gt;&lt;P&gt;          g_slnid_c,&lt;/P&gt;&lt;P&gt;          g_slnid_n,&lt;/P&gt;&lt;P&gt;          g_split_var.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;ENDFORM.                    " SUB_CLEAR_TABLES&lt;/P&gt;&lt;P&gt;*&amp;amp;----&lt;/P&gt;&lt;HR originaltext="---------------------------------------------------------------" /&gt;&lt;P&gt;*&lt;/P&gt;&lt;P&gt;*&amp;amp;      Form  SUB_CONVERT_0001&lt;/P&gt;&lt;P&gt;*&amp;amp;----&lt;/P&gt;&lt;HR originaltext="---------------------------------------------------------------" /&gt;&lt;P&gt;*&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;      text&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;*----&lt;/P&gt;&lt;HR originaltext="----------------------------------------------------------------" /&gt;&lt;P&gt;*&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt; --&amp;gt;  p1        text&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt; &amp;lt;--  p2        text&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;*----&lt;/P&gt;&lt;HR originaltext="----------------------------------------------------------------" /&gt;&lt;P&gt;*&lt;/P&gt;&lt;P&gt;FORM SUB_CONVERT_0001 .&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  constants: c_01(2) type c value '01'.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  clear itab_ze1cuvtm.&lt;/P&gt;&lt;P&gt;  clear itab_zedidd40.&lt;/P&gt;&lt;P&gt;  wdocnum = wdocnum + 1.&lt;/P&gt;&lt;P&gt;  itab_ze1cuvtm-msgfn           = c_009.&lt;/P&gt;&lt;P&gt;  if not wa_contentheader1-vtnam is initial.&lt;/P&gt;&lt;P&gt;    itab_ze1cuvtm-VAR_TAB       = wa_contentheader1-vtnam.&lt;/P&gt;&lt;P&gt;  endif.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  wa_itab_zedidd40-docnum   = wdocnum.                      "#EC NEEDED&lt;/P&gt;&lt;P&gt;  wa_itab_zedidd40-segnum   = c_000001.&lt;/P&gt;&lt;P&gt;  wa_itab_zedidd40-segnam   = 'E2CUVTM001'.&lt;/P&gt;&lt;P&gt;  wa_itab_zedidd40-psgnum    = '000000'.&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;itab_zedidd40-segnam          = c_E1CUVTM.&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;  wa_itab_zedidd40-hlevel          = c_01.&lt;/P&gt;&lt;P&gt;  wa_itab_zedidd40-sdata           = itab_ze1cuvtm.&lt;/P&gt;&lt;P&gt;  append wa_itab_zedidd40 to itab_zedidd40.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  perform transfer_record_idoc.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;ENDFORM.                    " SUB_CONVERT_0001&lt;/P&gt;&lt;P&gt;*&amp;amp;----&lt;/P&gt;&lt;HR originaltext="---------------------------------------------------------------" /&gt;&lt;P&gt;*&lt;/P&gt;&lt;P&gt;*&amp;amp;      Form  SUB_CONVERT_0002&lt;/P&gt;&lt;P&gt;*&amp;amp;----&lt;/P&gt;&lt;HR originaltext="---------------------------------------------------------------" /&gt;&lt;P&gt;*&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;      text&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;*----&lt;/P&gt;&lt;HR originaltext="----------------------------------------------------------------" /&gt;&lt;P&gt;*&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt; --&amp;gt;  p1        text&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt; &amp;lt;--  p2        text&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;*----&lt;/P&gt;&lt;HR originaltext="----------------------------------------------------------------" /&gt;&lt;P&gt;*&lt;/P&gt;&lt;P&gt;FORM SUB_CONVERT_0002 .&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;ze1datem&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;  witemno = witemno + 1.                                    "#EC NEEDED&lt;/P&gt;&lt;P&gt;  wsegnum = wsegnum + 1.                                    "#EC NEEDED&lt;/P&gt;&lt;P&gt;  clear itab_ze1datem.&lt;/P&gt;&lt;P&gt;  itab_ze1datem-msgfn           = c_009.&lt;/P&gt;&lt;P&gt;  itab_ze1datem-key_date        = sy-datum.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  wa_itab_zedidd40-segnam = 'E2DATEM001'.&lt;/P&gt;&lt;P&gt;  wa_itab_zedidd40-segnum = '0002'.&lt;/P&gt;&lt;P&gt;  wa_itab_zedidd40-psgnum = '000001'.&lt;/P&gt;&lt;P&gt;*******************************************&lt;/P&gt;&lt;P&gt;*MOD-009&lt;/P&gt;&lt;P&gt;*******************************************&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt; itab_zedidd40-hlevel = '02'.&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;itab_zedidd40-docnum          = wdocnum.                       "#EC NEEDED&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt; itab_zedidd40-segnum          = wsegnum.&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt; itab_zedidd40-segnam          = c_E1DATEM.&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;*******************************************&lt;/P&gt;&lt;P&gt;*MOD-009&lt;/P&gt;&lt;P&gt;*******************************************&lt;/P&gt;&lt;P&gt;  wa_itab_zedidd40-hlevel          = c_02.&lt;/P&gt;&lt;P&gt;  wa_itab_zedidd40-sdata           = itab_ze1datem.&lt;/P&gt;&lt;P&gt;  append wa_itab_zedidd40 to itab_zedidd40.                 " E1DATEM&lt;/P&gt;&lt;P&gt;  witemno = 0.                                              "#EC NEEDED&lt;/P&gt;&lt;P&gt;  witemno_gst = 0.                                          "#EC NEEDED&lt;/P&gt;&lt;P&gt;  witemno_qst = 0.                                          "#EC NEEDED&lt;/P&gt;&lt;P&gt;  witemno_new = 0.                                          "#EC NEEDED&lt;/P&gt;&lt;P&gt;  wsegnum = 1.                                              "#EC NEEDED&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  perform transfer_record_idoc.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;ENDFORM.                    " SUB_CONVERT_0002&lt;/P&gt;&lt;P&gt;*&amp;amp;----&lt;/P&gt;&lt;HR originaltext="---------------------------------------------------------------" /&gt;&lt;P&gt;*&lt;/P&gt;&lt;P&gt;*&amp;amp;      Form  SUB_CONVERT_0003&lt;/P&gt;&lt;P&gt;*&amp;amp;----&lt;/P&gt;&lt;HR originaltext="---------------------------------------------------------------" /&gt;&lt;P&gt;*&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;      text&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;*----&lt;/P&gt;&lt;HR originaltext="----------------------------------------------------------------" /&gt;&lt;P&gt;*&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt; --&amp;gt;  p1        text&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt; &amp;lt;--  p2        text&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;*----&lt;/P&gt;&lt;HR originaltext="----------------------------------------------------------------" /&gt;&lt;P&gt;*&lt;/P&gt;&lt;P&gt;FORM SUB_CONVERT_0003 .&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  perform sub_store_file.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;ENDFORM.                    " SUB_CONVERT_0003&lt;/P&gt;&lt;P&gt;*&amp;amp;----&lt;/P&gt;&lt;HR originaltext="---------------------------------------------------------------" /&gt;&lt;P&gt;*&lt;/P&gt;&lt;P&gt;*&amp;amp;      Form  SUB_GET_CUVTAB&lt;/P&gt;&lt;P&gt;*&amp;amp;----&lt;/P&gt;&lt;HR originaltext="---------------------------------------------------------------" /&gt;&lt;P&gt;*&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;      text&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;*----&lt;/P&gt;&lt;HR originaltext="----------------------------------------------------------------" /&gt;&lt;P&gt;*&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt; --&amp;gt;  p1        text&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt; &amp;lt;--  p2        text&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;*----&lt;/P&gt;&lt;HR originaltext="----------------------------------------------------------------" /&gt;&lt;P&gt;*&lt;/P&gt;&lt;P&gt;FORM SUB_GET_CUVTAB .&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  CLEAR g_error.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;***********************************************************&lt;/P&gt;&lt;P&gt;*MOD-012&lt;/P&gt;&lt;P&gt;***********************************************************&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;LOOP AT I_CONTENTHEADER1 INTO WA_CONTENTHEADER1.&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;***********************************************************&lt;/P&gt;&lt;P&gt;*MOD-012&lt;/P&gt;&lt;P&gt;***********************************************************&lt;/P&gt;&lt;P&gt;  SELECT vtint vtnam FROM cuvtab&lt;/P&gt;&lt;P&gt;  INTO CORRESPONDING FIELDS OF TABLE i_cuvtab&lt;/P&gt;&lt;P&gt;  WHERE vtnam = wa_contentheader1-vtnam.&lt;/P&gt;&lt;P&gt;  IF sy-subrc &amp;lt;&amp;gt; 0.&lt;/P&gt;&lt;P&gt;    g_error = c_x.&lt;/P&gt;&lt;P&gt;    CLEAR wa_vtnam.&lt;/P&gt;&lt;P&gt;    wa_vtnam-vtnam = wa_contentheader1-vtnam.&lt;/P&gt;&lt;P&gt;    wa_vtnam-reas = text-008.&lt;/P&gt;&lt;P&gt;    APPEND wa_vtnam TO i_cuv_error.&lt;/P&gt;&lt;P&gt;    wa_errortab-msgty = 'E'.&lt;/P&gt;&lt;P&gt;    wa_errortab-id = '/factglb/gta_custdev'.&lt;/P&gt;&lt;P&gt;    wa_errortab-msgno = 075.&lt;/P&gt;&lt;P&gt;    wa_errortab-par1 = wa_vtnam-reas.&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;  INSERT wa_errortab INTO TABLE g_error_tab.&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;    INSERT WA_ERRORTAB INTO TABLE G_ERROR_TAB.&lt;/P&gt;&lt;P&gt;    clear: wa_vtnam, wa_errortab.&lt;/P&gt;&lt;P&gt;  ENDIF.&lt;/P&gt;&lt;P&gt;***********************************************************&lt;/P&gt;&lt;P&gt;*MOD-012&lt;/P&gt;&lt;P&gt;***********************************************************&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;  clear: WA_CONTENTHEADER1.&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;***********************************************************&lt;/P&gt;&lt;P&gt;*MOD-012&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.                    " SUB_GET_CUVTAB&lt;/P&gt;&lt;P&gt;*&amp;amp;----&lt;/P&gt;&lt;HR originaltext="---------------------------------------------------------------" /&gt;&lt;P&gt;*&lt;/P&gt;&lt;P&gt;*&amp;amp;      Form  SUB_GET_VNT_MA&lt;/P&gt;&lt;P&gt;*&amp;amp;----&lt;/P&gt;&lt;HR originaltext="---------------------------------------------------------------" /&gt;&lt;P&gt;*&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;      text&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;*----&lt;/P&gt;&lt;HR originaltext="----------------------------------------------------------------" /&gt;&lt;P&gt;*&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt; --&amp;gt;  p1        text&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt; &amp;lt;--  p2        text&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;*----&lt;/P&gt;&lt;HR originaltext="----------------------------------------------------------------" /&gt;&lt;P&gt;*&lt;/P&gt;&lt;P&gt;FORM SUB_GET_VNT_MA .&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  constants: c_e(1)   TYPE c value 'E',                     "#EC *&lt;/P&gt;&lt;P&gt;             C_001(3) TYPE C VALUE '001'.                   "#EC *&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  CLEAR wa_vnt_ma.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;**************************************************&lt;/P&gt;&lt;P&gt;*MOD-012&lt;/P&gt;&lt;P&gt;**************************************************&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;LOOP AT I_CONTENTHEADER1 INTO WA_CONTENTHEADER1.&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;**************************************************&lt;/P&gt;&lt;P&gt;*MOD-012&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;LOOP AT I_CONTENTHEADER1 INTO WA_CONTENTHEADER1.&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  SELECT SINGLE vtnam unique_no no_chr&lt;/P&gt;&lt;P&gt;  FROM ZDVNT_MA&lt;/P&gt;&lt;P&gt;  INTO wa_vnt_ma&lt;/P&gt;&lt;P&gt;  WHERE vtnam = wa_contentheader1-vtnam.&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;    g_error = 'X'.&lt;/P&gt;&lt;P&gt;    CLEAR wa_vtnam.&lt;/P&gt;&lt;P&gt;    wa_vtnam-vtnam = wa_contentheader1-vtnam.&lt;/P&gt;&lt;P&gt;    wa_vtnam-error = c_x.&lt;/P&gt;&lt;P&gt;    wa_vtnam-reas = text-023                        .       "#EC NOTEXT&lt;/P&gt;&lt;P&gt;    APPEND wa_vtnam TO i_cuv_error.&lt;/P&gt;&lt;P&gt;    wa_errortab-msgty = c_e.&lt;/P&gt;&lt;P&gt;    wa_errortab-id = '/factglb/gta_custdev'.&lt;/P&gt;&lt;P&gt;    wa_errortab-msgno = 076.&lt;/P&gt;&lt;P&gt;    wa_errortab-par1 = wa_vtnam-reas.&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;  INSERT wa_errortab INTO TABLE g_error_tab.&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;    INSERT WA_ERRORTAB INTO TABLE G_ERROR_TAB.&lt;/P&gt;&lt;P&gt;    clear: wa_vtnam, wa_errortab.&lt;/P&gt;&lt;P&gt;  ENDIF.&lt;/P&gt;&lt;P&gt;**************************************************&lt;/P&gt;&lt;P&gt;*MOD-012&lt;/P&gt;&lt;P&gt;**************************************************&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;   clear: wa_contentheader1.&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt; ENDLOOP.&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;**************************************************&lt;/P&gt;&lt;P&gt;*MOD-012&lt;/P&gt;&lt;P&gt;**************************************************&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;ENDFORM.                    " SUB_GET_VNT_MA&lt;/P&gt;&lt;P&gt;*&amp;amp;----&lt;/P&gt;&lt;HR originaltext="---------------------------------------------------------------" /&gt;&lt;P&gt;*&lt;/P&gt;&lt;P&gt;*&amp;amp;      Form  SUB_GET_CUVTAB_VALN&lt;/P&gt;&lt;P&gt;*&amp;amp;----&lt;/P&gt;&lt;HR originaltext="---------------------------------------------------------------" /&gt;&lt;P&gt;*&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;      text&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;*----&lt;/P&gt;&lt;HR originaltext="----------------------------------------------------------------" /&gt;&lt;P&gt;*&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt; --&amp;gt;  p1        text&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt; &amp;lt;--  p2        text&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;*----&lt;/P&gt;&lt;HR originaltext="----------------------------------------------------------------" /&gt;&lt;P&gt;*&lt;/P&gt;&lt;P&gt;FORM SUB_GET_CUVTAB_VALN .&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  IF NOT i_cuvtab[] IS INITIAL.&lt;/P&gt;&lt;P&gt;    SELECT vtint slnid atinn val_from&lt;/P&gt;&lt;P&gt;    FROM cuvtab_valn INTO TABLE i_cuvtab_valn&lt;/P&gt;&lt;P&gt;    FOR ALL ENTRIES IN i_cuvtab&lt;/P&gt;&lt;P&gt;    WHERE vtint = i_cuvtab-vtint.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;    IF sy-subrc = 0.&lt;/P&gt;&lt;P&gt;      SORT i_cuvtab_valn BY vtint slnid.&lt;/P&gt;&lt;P&gt;    ENDIF.&lt;/P&gt;&lt;P&gt;  ENDIF.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;ENDFORM.                    " SUB_GET_CUVTAB_VALN&lt;/P&gt;&lt;P&gt;*&amp;amp;----&lt;/P&gt;&lt;HR originaltext="---------------------------------------------------------------" /&gt;&lt;P&gt;*&lt;/P&gt;&lt;P&gt;*&amp;amp;      Form  SUB_GET_CUVTAB_FLD&lt;/P&gt;&lt;P&gt;*&amp;amp;----&lt;/P&gt;&lt;HR originaltext="---------------------------------------------------------------" /&gt;&lt;P&gt;*&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;      text&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;*----&lt;/P&gt;&lt;HR originaltext="----------------------------------------------------------------" /&gt;&lt;P&gt;*&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt; --&amp;gt;  p1        text&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt; &amp;lt;--  p2        text&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;*----&lt;/P&gt;&lt;HR originaltext="----------------------------------------------------------------" /&gt;&lt;P&gt;*&lt;/P&gt;&lt;P&gt;FORM SUB_GET_CUVTAB_FLD .&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  IF g_error &amp;lt;&amp;gt; c_x.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;    IF NOT i_cuvtab[] IS INITIAL.&lt;/P&gt;&lt;P&gt;      SELECT vtint atinn vtpos FROM cuvtab_fld&lt;/P&gt;&lt;P&gt;      INTO TABLE i_cuvtab_fld&lt;/P&gt;&lt;P&gt;      FOR ALL ENTRIES IN i_cuvtab&lt;/P&gt;&lt;P&gt;      WHERE vtint = i_cuvtab-vtint.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;      IF sy-subrc = 0.&lt;/P&gt;&lt;P&gt;        SORT i_cuvtab_fld BY vtint atinn.&lt;/P&gt;&lt;P&gt;      ELSE.&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;      LOOP AT I_CONTENTHEADER1 INTO WA_CONTENTHEADER1.&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;        Sort i_cuvtab by vtint vtnam.&lt;/P&gt;&lt;P&gt;        READ TABLE i_cuvtab INTO wa_vtnam WITH KEY VTNAM = WA_CONTENTHEADER1-VTNAM BINARY SEARCH.&lt;/P&gt;&lt;P&gt;        IF SY-SUBRC = 0.&lt;/P&gt;&lt;P&gt;          g_error = c_x.&lt;/P&gt;&lt;P&gt;          CLEAR wa_vtnam.&lt;/P&gt;&lt;P&gt;          wa_vtnam-vtnam = wa_contentheader1-vtnam.&lt;/P&gt;&lt;P&gt;          wa_vtnam-reas = text-009.&lt;/P&gt;&lt;P&gt;          APPEND wa_vtnam TO i_cuv_error.&lt;/P&gt;&lt;P&gt;          wa_errortab-msgty = c_e.&lt;/P&gt;&lt;P&gt;          wa_errortab-id = '/factglb/gta_custdev'.&lt;/P&gt;&lt;P&gt;          wa_errortab-msgno = 077.&lt;/P&gt;&lt;P&gt;          wa_errortab-par2 = wa_vtnam-reas.&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;        INSERT wa_errortab INTO TABLE g_error_tab.&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;          INSERT WA_ERRORTAB INTO TABLE G_ERROR_TAB.&lt;/P&gt;&lt;P&gt;          clear: wa_vtnam, wa_errortab.&lt;/P&gt;&lt;P&gt;        ENDIF.&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;      ENDLOOP.&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;      ENDIF.&lt;/P&gt;&lt;P&gt;    ENDIF.&lt;/P&gt;&lt;P&gt;  ENDIF.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;ENDFORM.                    " SUB_GET_CUVTAB_FLD&lt;/P&gt;&lt;P&gt;*&amp;amp;----&lt;/P&gt;&lt;HR originaltext="---------------------------------------------------------------" /&gt;&lt;P&gt;*&lt;/P&gt;&lt;P&gt;*&amp;amp;      Form  SUB_CHECK_CABN&lt;/P&gt;&lt;P&gt;*&amp;amp;----&lt;/P&gt;&lt;HR originaltext="---------------------------------------------------------------" /&gt;&lt;P&gt;*&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;      text&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;*----&lt;/P&gt;&lt;HR originaltext="----------------------------------------------------------------" /&gt;&lt;P&gt;*&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt; --&amp;gt;  p1        text&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt; &amp;lt;--  p2        text&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;*----&lt;/P&gt;&lt;HR originaltext="----------------------------------------------------------------" /&gt;&lt;P&gt;*&lt;/P&gt;&lt;P&gt;FORM SUB_CHECK_CABN .&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  LOOP AT i_cabn ASSIGNING -check = C_X.&lt;/P&gt;&lt;P&gt;    ENDIF.&lt;/P&gt;&lt;P&gt;  ENDLOOP.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;ENDFORM.                    " SUB_CHECK_CABN&lt;/P&gt;&lt;P&gt;*&amp;amp;----&lt;/P&gt;&lt;HR originaltext="---------------------------------------------------------------" /&gt;&lt;P&gt;*&lt;/P&gt;&lt;P&gt;*&amp;amp;      Form  SUB_GET_CUVTAB_VALC&lt;/P&gt;&lt;P&gt;*&amp;amp;----&lt;/P&gt;&lt;HR originaltext="---------------------------------------------------------------" /&gt;&lt;P&gt;*&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;      text&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;*----&lt;/P&gt;&lt;HR originaltext="----------------------------------------------------------------" /&gt;&lt;P&gt;*&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt; --&amp;gt;  p1        text&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt; &amp;lt;--  p2        text&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;*----&lt;/P&gt;&lt;HR originaltext="----------------------------------------------------------------" /&gt;&lt;P&gt;*&lt;/P&gt;&lt;P&gt;FORM SUB_GET_CUVTAB_VALC .&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  IF NOT i_cuvtab[] is initial.&lt;/P&gt;&lt;P&gt;    SELECT vtint slnid atinn valc&lt;/P&gt;&lt;P&gt;    FROM cuvtab_valc INTO TABLE i_cuvtab_valc&lt;/P&gt;&lt;P&gt;    FOR ALL ENTRIES IN i_cuvtab&lt;/P&gt;&lt;P&gt;    WHERE vtint = i_cuvtab-vtint.&lt;/P&gt;&lt;P&gt;    IF sy-subrc = 0.&lt;/P&gt;&lt;P&gt;      SORT i_cuvtab_valc BY vtint slnid.&lt;/P&gt;&lt;P&gt;    ENDIF.&lt;/P&gt;&lt;P&gt;  ENDIF.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;ENDFORM.                    " SUB_GET_CUVTAB_VALC&lt;/P&gt;&lt;P&gt;*&amp;amp;----&lt;/P&gt;&lt;HR originaltext="---------------------------------------------------------------" /&gt;&lt;P&gt;*&lt;/P&gt;&lt;P&gt;*&amp;amp;      Form  SUB_VALIDATE_TABLE_FIELDS&lt;/P&gt;&lt;P&gt;*&amp;amp;----&lt;/P&gt;&lt;HR originaltext="---------------------------------------------------------------" /&gt;&lt;P&gt;*&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;      text&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;*----&lt;/P&gt;&lt;HR originaltext="----------------------------------------------------------------" /&gt;&lt;P&gt;*&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt; --&amp;gt;  p1        text&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt; &amp;lt;--  p2        text&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;*----&lt;/P&gt;&lt;HR originaltext="----------------------------------------------------------------" /&gt;&lt;P&gt;*&lt;/P&gt;&lt;P&gt;FORM SUB_VALIDATE_TABLE_FIELDS .&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  SORT I_FILE_TMP BY VTNAM.&lt;/P&gt;&lt;P&gt;  LOOP AT i_cuvtab ASSIGNING  0.&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;Row containing characteristic names might have 'x' instead of 'X'&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;      READ TABLE i_file_tmp INTO wa_file WITH KEY flag  = 'x'.&lt;/P&gt;&lt;P&gt;      IF sy-subrc .&lt;/P&gt;&lt;P&gt;        APPEND wa_vtnam TO i_cuv_error.&lt;/P&gt;&lt;P&gt;        wa_errortab-msgty = C_E.&lt;/P&gt;&lt;P&gt;        wa_errortab-id = '/factglb/gta_custdev'.&lt;/P&gt;&lt;P&gt;        wa_errortab-msgno = 078.&lt;/P&gt;&lt;P&gt;        wa_errortab-par2 = wa_vtnam-reas.&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;      INSERT wa_errortab INTO TABLE g_error_tab.&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;        INSERT WA_ERRORTAB INTO TABLE G_ERROR_TAB.&lt;/P&gt;&lt;P&gt;        clear: wa_vtnam, wa_errortab.&lt;/P&gt;&lt;P&gt;        EXIT.&lt;/P&gt;&lt;P&gt;      ENDIF.&lt;/P&gt;&lt;P&gt;    ELSE.&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;  Check for characteristic name 1&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;      IF wa_file-char1 IS NOT INITIAL.&lt;/P&gt;&lt;P&gt;        CLEAR wa_cabn.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;        PERFORM get_internal_char USING wa_file-char1&lt;/P&gt;&lt;P&gt;                               CHANGING wa_cabn&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;     Find out if characteristic name exists in variant table definitio&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;        PERFORM find_char_exist USING wa_file&lt;/P&gt;&lt;P&gt;                                      -error IS INITIAL.&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;  Check for characteristic name 2&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;      IF wa_file-char2 IS NOT INITIAL.&lt;/P&gt;&lt;P&gt;        CLEAR wa_cabn.&lt;/P&gt;&lt;P&gt;        PERFORM get_internal_char USING wa_file-char2&lt;/P&gt;&lt;P&gt;                               CHANGING wa_cabn&lt;/P&gt;&lt;P&gt;                                        .&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;     Find out if characteristic name exists in variant table definitio&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;        PERFORM find_char_exist USING wa_file&lt;/P&gt;&lt;P&gt;                                      -error IS INITIAL.&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;  Check for characteristic name 3&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;      IF wa_file-char3 IS NOT INITIAL.&lt;/P&gt;&lt;P&gt;        CLEAR wa_cabn.&lt;/P&gt;&lt;P&gt;        PERFORM get_internal_char USING wa_file-char3&lt;/P&gt;&lt;P&gt;                               CHANGING wa_cabn&lt;/P&gt;&lt;P&gt;                                        .&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;     Find out if characteristic name exists in variant table definitio&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;        PERFORM find_char_exist USING wa_file&lt;/P&gt;&lt;P&gt;                                      &lt;/P&gt;&lt;P&gt;                                      wa_cabn.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;      ENDIF.&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;  Check for characteristic name 4&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;      IF wa_file-char4 IS NOT INITIAL.&lt;/P&gt;&lt;P&gt;        CLEAR wa_cabn.&lt;/P&gt;&lt;P&gt;        PERFORM get_internal_char USING wa_file-char4&lt;/P&gt;&lt;P&gt;                                  CHANGING wa_cabn&lt;/P&gt;&lt;P&gt;                                        .&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;     Find out if characteristic name exists in variant table definitio&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;        PERFORM find_char_exist USING wa_file&lt;/P&gt;&lt;P&gt;                                      -error IS INITIAL.&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;  Check for characteristic name 5&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;      IF wa_file-char5 IS NOT INITIAL.&lt;/P&gt;&lt;P&gt;        CLEAR wa_cabn.&lt;/P&gt;&lt;P&gt;        PERFORM get_internal_char USING wa_file-char5&lt;/P&gt;&lt;P&gt;                               CHANGING wa_cabn&lt;/P&gt;&lt;P&gt;                                        .&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;     Find out if characteristic name exists in variant table definitio&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;        PERFORM find_char_exist USING wa_file&lt;/P&gt;&lt;P&gt;                                      -error IS INITIAL.&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;  Check for characteristic name 6&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;      IF wa_file-char6 IS NOT INITIAL.&lt;/P&gt;&lt;P&gt;        CLEAR wa_cabn.&lt;/P&gt;&lt;P&gt;        PERFORM get_internal_char USING wa_file-char6&lt;/P&gt;&lt;P&gt;                               CHANGING wa_cabn&lt;/P&gt;&lt;P&gt;                                        .&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;     Find out if characteristic name exists in variant table definitio&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;        PERFORM find_char_exist USING wa_file&lt;/P&gt;&lt;P&gt;                                      -error IS INITIAL.&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;  Check for characteristic name 7&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;      IF wa_file-char7 IS NOT INITIAL.&lt;/P&gt;&lt;P&gt;        CLEAR wa_cabn.&lt;/P&gt;&lt;P&gt;        PERFORM get_internal_char USING wa_file-char7&lt;/P&gt;&lt;P&gt;                               CHANGING wa_cabn&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;     Find out if characteristic name exists in variant table definitio&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;        PERFORM find_char_exist USING wa_file&lt;/P&gt;&lt;P&gt;                                      -error IS INITIAL.&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;  Check for characteristic name 8&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;      IF wa_file-char8 IS NOT INITIAL.&lt;/P&gt;&lt;P&gt;        CLEAR wa_cabn.&lt;/P&gt;&lt;P&gt;        PERFORM get_internal_char USING wa_file-char8&lt;/P&gt;&lt;P&gt;                               CHANGING wa_cabn&lt;/P&gt;&lt;P&gt;                                        .&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;     Find out if characteristic name exists in variant table definitio&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;        PERFORM find_char_exist USING wa_file&lt;/P&gt;&lt;P&gt;                                      -error IS INITIAL.&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;  Check for characteristic name 9&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;      IF wa_file-char9 IS NOT INITIAL.&lt;/P&gt;&lt;P&gt;        CLEAR wa_cabn.&lt;/P&gt;&lt;P&gt;        PERFORM get_internal_char USING wa_file-char9&lt;/P&gt;&lt;P&gt;                               CHANGING wa_cabn&lt;/P&gt;&lt;P&gt;                                        .&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;     Find out if characteristic name exists in variant table definitio&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;        PERFORM find_char_exist USING wa_file&lt;/P&gt;&lt;P&gt;                                      -error IS INITIAL.&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;  Check for characteristic name 10&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;      IF wa_file-char10 IS NOT INITIAL.&lt;/P&gt;&lt;P&gt;        CLEAR wa_cabn.&lt;/P&gt;&lt;P&gt;        PERFORM get_internal_char USING wa_file-char10&lt;/P&gt;&lt;P&gt;                               CHANGING wa_cabn&lt;/P&gt;&lt;P&gt;                                        .&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;     Find out if characteristic name exists in variant table definitio&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;        PERFORM find_char_exist USING wa_file&lt;/P&gt;&lt;P&gt;                                      -error IS INITIAL.&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;  Check for characteristic name 11&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;      IF wa_file-char11 IS NOT INITIAL.&lt;/P&gt;&lt;P&gt;        CLEAR wa_cabn.&lt;/P&gt;&lt;P&gt;        PERFORM get_internal_char USING wa_file-char11&lt;/P&gt;&lt;P&gt;                               CHANGING wa_cabn&lt;/P&gt;&lt;P&gt;                                        .&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;     Find out if characteristic name exists in variant table definitio&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;        PERFORM find_char_exist USING wa_file&lt;/P&gt;&lt;P&gt;                                      -error IS INITIAL.&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;  Check for characteristic name 12&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;      IF wa_file-char12 IS NOT INITIAL.&lt;/P&gt;&lt;P&gt;        CLEAR wa_cabn.&lt;/P&gt;&lt;P&gt;        PERFORM get_internal_char USING wa_file-char12&lt;/P&gt;&lt;P&gt;                               CHANGING wa_cabn&lt;/P&gt;&lt;P&gt;                                        .&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;     Find out if characteristic name exists in variant table definitio&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;        PERFORM find_char_exist USING wa_file&lt;/P&gt;&lt;P&gt;                                      -error IS INITIAL.&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;  Check for characteristic name 13&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;      IF wa_file-char13 IS NOT INITIAL.&lt;/P&gt;&lt;P&gt;        CLEAR wa_cabn.&lt;/P&gt;&lt;P&gt;        PERFORM get_internal_char USING wa_file-char13&lt;/P&gt;&lt;P&gt;                               CHANGING wa_cabn&lt;/P&gt;&lt;P&gt;                                        .&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;     Find out if characteristic name exists in variant table definitio&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;        PERFORM find_char_exist USING wa_file&lt;/P&gt;&lt;P&gt;                                      -error IS INITIAL.&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;  Check for characteristic name 14&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;      IF wa_file-char14 IS NOT INITIAL.&lt;/P&gt;&lt;P&gt;        CLEAR wa_cabn.&lt;/P&gt;&lt;P&gt;        PERFORM get_internal_char USING wa_file-char14&lt;/P&gt;&lt;P&gt;                               CHANGING wa_cabn&lt;/P&gt;&lt;P&gt;                                        .&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;     Find out if characteristic name exists in variant table definitio&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;        PERFORM find_char_exist USING wa_file&lt;/P&gt;&lt;P&gt;                                      -error IS INITIAL.&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;  Check for characteristic name 15&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;      IF wa_file-char15 IS NOT INITIAL.&lt;/P&gt;&lt;P&gt;        CLEAR wa_cabn.&lt;/P&gt;&lt;P&gt;        PERFORM get_internal_char USING wa_file-char15&lt;/P&gt;&lt;P&gt;                               CHANGING wa_cabn&lt;/P&gt;&lt;P&gt;                                        .&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;     Find out if characteristic name exists in variant table definitio&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;        PERFORM find_char_exist USING wa_file&lt;/P&gt;&lt;P&gt;                                      &lt;/P&gt;&lt;P&gt;                                      wa_cabn.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;      ENDIF.&lt;/P&gt;&lt;P&gt;    ENDIF.&lt;/P&gt;&lt;P&gt;  ENDLOOP.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;ENDFORM.                    " SUB_VALIDATE_TABLE_FIELDS&lt;/P&gt;&lt;P&gt;*&amp;amp;----&lt;/P&gt;&lt;HR originaltext="---------------------------------------------------------------" /&gt;&lt;P&gt;*&lt;/P&gt;&lt;P&gt;*&amp;amp;      Form  SUB_CHARAC_EXIST&lt;/P&gt;&lt;P&gt;*&amp;amp;----&lt;/P&gt;&lt;HR originaltext="---------------------------------------------------------------" /&gt;&lt;P&gt;*&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;      text&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;*----&lt;/P&gt;&lt;HR originaltext="----------------------------------------------------------------" /&gt;&lt;P&gt;*&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt; --&amp;gt;  p1        text&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt; &amp;lt;--  p2        text&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;*----&lt;/P&gt;&lt;HR originaltext="----------------------------------------------------------------" /&gt;&lt;P&gt;*&lt;/P&gt;&lt;P&gt;FORM SUB_CHARAC_EXIST .&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  IF g_error &amp;lt;&amp;gt; 'X'.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;    LOOP AT i_cuvtab_fld INTO wa_cuvtab_fld WHERE exist = space.&lt;/P&gt;&lt;P&gt;      g_error = 'X'.&lt;/P&gt;&lt;P&gt;      CLEAR wa_vtnam.&lt;/P&gt;&lt;P&gt;      READ TABLE i_cuvtab INTO wa_vtnam WITH KEY&lt;/P&gt;&lt;P&gt;      vtint = wa_cuvtab_fld-vtint.&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;No need to check sy-subrc here&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;      READ TABLE i_cabn INTO wa_cabn WITH KEY atinn = wa_cuvtab_fld-atinn.&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;No need to check sy-subrc here&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;      CONCATENATE wa_cabn-atnam text-022                    "#EC NOTEXT&lt;/P&gt;&lt;P&gt;      INTO wa_vtnam-reas SEPARATED BY space.&lt;/P&gt;&lt;P&gt;      APPEND wa_vtnam TO i_cuv_error.&lt;/P&gt;&lt;P&gt;      wa_errortab-msgty = C_E.&lt;/P&gt;&lt;P&gt;      wa_errortab-id = '/factglb/gta_custdev'.&lt;/P&gt;&lt;P&gt;      wa_errortab-msgno = 079.&lt;/P&gt;&lt;P&gt;      wa_errortab-par1 = wa_vtnam-reas.&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;    INSERT wa_errortab INTO TABLE g_error_tab.&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;      INSERT WA_ERRORTAB INTO TABLE G_ERROR_TAB.&lt;/P&gt;&lt;P&gt;      clear: wa_vtnam, wa_errortab.&lt;/P&gt;&lt;P&gt;    ENDLOOP.&lt;/P&gt;&lt;P&gt;  ENDIF.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;ENDFORM.                    " SUB_CHARAC_EXIST&lt;/P&gt;&lt;P&gt;*&amp;amp;----&lt;/P&gt;&lt;HR originaltext="---------------------------------------------------------------" /&gt;&lt;P&gt;*&lt;/P&gt;&lt;P&gt;*&amp;amp;      Form  SUB_VALIDATE_CHARAC_VALUES&lt;/P&gt;&lt;P&gt;*&amp;amp;----&lt;/P&gt;&lt;HR originaltext="---------------------------------------------------------------" /&gt;&lt;P&gt;*&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;      text&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;*----&lt;/P&gt;&lt;HR originaltext="----------------------------------------------------------------" /&gt;&lt;P&gt;*&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt; --&amp;gt;  p1        text&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt; &amp;lt;--  p2        text&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;*----&lt;/P&gt;&lt;HR originaltext="----------------------------------------------------------------" /&gt;&lt;P&gt;*&lt;/P&gt;&lt;P&gt;FORM SUB_VALIDATE_CHARAC_VALUES .&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  LOOP AT i_cuvtab INTO wa_vtnam WHERE error &amp;lt;&amp;gt; c_x.&lt;/P&gt;&lt;P&gt;    CLEAR i_dupl_file. "A&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;  Clear internal table for duplicate entries&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;    CLEAR i_dupl.&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;Transfer already stored characteristic values (CHAR, DATE and TIME)&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;    PERFORM sub_transfer_st_char.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;Transfer already stored characteristic values (Numeric)&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;    PERFORM sub_transfer_st_num.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;Check if Internal table for duplicate records is populated or not&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;    IF NOT i_dupl IS INITIAL.&lt;/P&gt;&lt;P&gt;*************************************************&lt;/P&gt;&lt;P&gt;*MOD-012&lt;/P&gt;&lt;P&gt;*************************************************&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;      SORT i_dupl. " BY vtnam char1 char2 char3&lt;/P&gt;&lt;P&gt;      " char4 char5 char6 char7&lt;/P&gt;&lt;P&gt;      "  char8 char9 char10 char11&lt;/P&gt;&lt;P&gt;      "  char12 char13 char14 char15.&lt;/P&gt;&lt;P&gt;*************************************************&lt;/P&gt;&lt;P&gt;*MOD-012&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;*MOD-012&lt;/P&gt;&lt;P&gt;*************************************************&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;   SORT i_col_pos BY  vtint&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;                      vtnam&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;                      atinn&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;                      atnam.&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;*************************************************&lt;/P&gt;&lt;P&gt;*MOD-012&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; Check current sequence number for SLNID&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt; We would only use G_SLNID_C from here onwards for sequnce purpose&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;    IF g_slnid_c &amp;lt; g_slnid_n.&lt;/P&gt;&lt;P&gt;      g_slnid_c = g_slnid_n.&lt;/P&gt;&lt;P&gt;    ENDIF.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;    LOOP AT i_file INTO wa_file WHERE vtnam = wa_vtnam-vtnam.&lt;/P&gt;&lt;P&gt;      CLEAR wa_dupl_file.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;      CLEAR i_e1cuv1m.&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;  Increment Sequence counter for each record&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;      g_slnid_c = g_slnid_c + 1.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;  Increment Sequnce counter for concatenation&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;      g_split_var = g_split_var + 1.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;   Counter for each row&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;      g_row = g_row + 1.&lt;/P&gt;&lt;P&gt;      CLEAR g_invalid.&lt;/P&gt;&lt;P&gt;*******************************************&lt;/P&gt;&lt;P&gt;*MOD-008&lt;/P&gt;&lt;P&gt;*******************************************&lt;/P&gt;&lt;P&gt;      PERFORM sub_check_char_values.&lt;/P&gt;&lt;P&gt;*******************************************&lt;/P&gt;&lt;P&gt;*MOD-008&lt;/P&gt;&lt;P&gt;*******************************************&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;    Check for duplicate values&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;      READ TABLE i_dupl INTO wa_dupl&lt;/P&gt;&lt;P&gt;      WITH KEY vtnam = wa_dupl_file-vtnam&lt;/P&gt;&lt;P&gt;               char1 = wa_dupl_file-char1&lt;/P&gt;&lt;P&gt;               char2 = wa_dupl_file-char2&lt;/P&gt;&lt;P&gt;               char3 = wa_dupl_file-char3&lt;/P&gt;&lt;P&gt;               char4 = wa_dupl_file-char4&lt;/P&gt;&lt;P&gt;               char5 = wa_dupl_file-char5&lt;/P&gt;&lt;P&gt;               char6 = wa_dupl_file-char6&lt;/P&gt;&lt;P&gt;               char7 = wa_dupl_file-char7&lt;/P&gt;&lt;P&gt;               char8 = wa_dupl_file-char8&lt;/P&gt;&lt;P&gt;               char9 = wa_dupl_file-char9&lt;/P&gt;&lt;P&gt;               char10 = wa_dupl_file-char10&lt;/P&gt;&lt;P&gt;               char11 = wa_dupl_file-char11&lt;/P&gt;&lt;P&gt;               char12 = wa_dupl_file-char12&lt;/P&gt;&lt;P&gt;               char13 = wa_dupl_file-char13&lt;/P&gt;&lt;P&gt;               char14 = wa_dupl_file-char14&lt;/P&gt;&lt;P&gt;               char15 = wa_dupl_file-char15.&lt;/P&gt;&lt;P&gt;      IF sy-subrc = 0.&lt;/P&gt;&lt;P&gt;        g_invalid = c_x.&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;    Reduce counter by 1 to maintain sequence&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;        g_split_var = g_split_var - 1.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;      ELSE.&lt;/P&gt;&lt;P&gt;        CLEAR wa_dupl.&lt;/P&gt;&lt;P&gt;        wa_dupl = wa_dupl_file.&lt;/P&gt;&lt;P&gt;        APPEND wa_dupl TO i_dupl.&lt;/P&gt;&lt;P&gt;        CLEAR wa_dupl.&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;**mod-012&lt;/P&gt;&lt;P&gt;****************************************************&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;     wa_e1cuv1m-msgfn = C_009.&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;     wa_e1cuv1m-vtlineno5 = g_slnid_c.&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;     wa_e1cuv1m-vtcharact = c_varcond.&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;     wa_e1cuv1m-atwrt  = g_varcond.&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;     APPEND wa_e1cuv1m TO i_e1cuv1m.&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;*&lt;/P&gt;&lt;P&gt;*************************************************************&lt;/P&gt;&lt;P&gt;*MOD-012&lt;/P&gt;&lt;P&gt;*************************************************************&lt;/P&gt;&lt;P&gt;      IF g_invalid IS INITIAL.&lt;/P&gt;&lt;P&gt;        LOOP AT i_e1cuv1m INTO wa_e1cuv1m.&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;        perform fill_edidd_segments USING wa_e1cuv1m.&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;          PERFORM transfer_e1cuv1m. " USING wa_e1cuv1m.    "#EC *&lt;/P&gt;&lt;P&gt;        ENDLOOP.&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;**MOD-012&lt;/P&gt;&lt;P&gt;*******************************************************************&lt;/P&gt;&lt;P&gt;      clear: g_invalid.&lt;/P&gt;&lt;P&gt;*******************************************************************&lt;/P&gt;&lt;P&gt;**MOD-012&lt;/P&gt;&lt;P&gt;******************************************************************&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;*****************************************************&lt;/P&gt;&lt;P&gt;**MOD-009&lt;/P&gt;&lt;P&gt;*****************************************************&lt;/P&gt;&lt;P&gt;    ENDLOOP.&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;ENDFORM.                    " SUB_VALIDATE_CHARAC_VALUES&lt;/P&gt;&lt;P&gt;*&amp;amp;----&lt;/P&gt;&lt;HR originaltext="---------------------------------------------------------------" /&gt;&lt;P&gt;*&lt;/P&gt;&lt;P&gt;*&amp;amp;      Form  SUB_TRANSFER_ST_CHAR&lt;/P&gt;&lt;P&gt;*&amp;amp;----&lt;/P&gt;&lt;HR originaltext="---------------------------------------------------------------" /&gt;&lt;P&gt;*&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;      text&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;*----&lt;/P&gt;&lt;HR originaltext="----------------------------------------------------------------" /&gt;&lt;P&gt;*&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt; --&amp;gt;  p1        text&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt; &amp;lt;--  p2        text&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;*----&lt;/P&gt;&lt;HR originaltext="----------------------------------------------------------------" /&gt;&lt;P&gt;*&lt;/P&gt;&lt;P&gt;FORM SUB_TRANSFER_ST_CHAR .&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  DATA: l_lines TYPE i.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  LOOP AT i_cuvtab_valc INTO wa_cuvtab_valc&lt;/P&gt;&lt;P&gt;                         WHERE vtint = wa_vtnam-vtint.&lt;/P&gt;&lt;P&gt;    CLEAR wa_cabn.&lt;/P&gt;&lt;P&gt;    READ TABLE i_cabn_atinn INTO wa_cabn&lt;/P&gt;&lt;P&gt;    WITH KEY atinn = wa_cuvtab_valc-atinn BINARY SEARCH.&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;No need to check sy-subrc here&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;    CLEAR wa_e1cuv1m.&lt;/P&gt;&lt;P&gt;    wa_e1cuv1m-msgfn = c_009.&lt;/P&gt;&lt;P&gt;    wa_e1cuv1m-vtlineno5 = wa_cuvtab_valc-slnid.&lt;/P&gt;&lt;P&gt;    wa_e1cuv1m-vtcharact = wa_cabn-atnam.&lt;/P&gt;&lt;P&gt;    wa_e1cuv1m-atwrt = wa_cuvtab_valc-valc.&lt;/P&gt;&lt;P&gt;****************************************************&lt;/P&gt;&lt;P&gt;*MOD-008&lt;/P&gt;&lt;P&gt;****************************************************&lt;/P&gt;&lt;P&gt;    PERFORM transfer_e1cuv1m. " USING wa_e1cuv1m.      "#EC *&lt;/P&gt;&lt;P&gt;****************************************************&lt;/P&gt;&lt;P&gt;*MOD-008&lt;/P&gt;&lt;P&gt;****************************************************&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;store last value&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;    g_slnid_c = wa_cuvtab_valc-slnid.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;Find concatenated number at the end of variant&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;    IF wa_cabn-atnam = c_varcond.&lt;/P&gt;&lt;P&gt;      CLEAR i_split.&lt;/P&gt;&lt;P&gt;      SPLIT wa_cuvtab_valc-valc AT '_' INTO TABLE i_split.&lt;/P&gt;&lt;P&gt;      CLEAR l_lines.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;      DESCRIBE TABLE i_split LINES l_lines.&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;Read last line of table as it contains concatenated number&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;      READ TABLE i_split INTO wa_split INDEX l_lines.&lt;/P&gt;&lt;P&gt;      SHIFT wa_split-f1 LEFT DELETING LEADING space.&lt;/P&gt;&lt;P&gt;      IF wa_split-f1 CO '0123456789 '.&lt;/P&gt;&lt;P&gt;        CLEAR l_lines.&lt;/P&gt;&lt;P&gt;        l_lines = wa_split-f1.&lt;/P&gt;&lt;P&gt;        IF l_lines &amp;gt; g_split_var.&lt;/P&gt;&lt;P&gt;          g_split_var = l_lines.&lt;/P&gt;&lt;P&gt;        ENDIF.&lt;/P&gt;&lt;P&gt;      ENDIF.&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; Check for duplicate records&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;    PERFORM pop_dupl USING wa_vtnam-vtnam&lt;/P&gt;&lt;P&gt;                           g_slnid_c&lt;/P&gt;&lt;P&gt;                           wa_cabn-atnam&lt;/P&gt;&lt;P&gt;                           wa_cuvtab_valc-valc.&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.                    " SUB_TRANSFER_ST_CHAR&lt;/P&gt;&lt;P&gt;*&amp;amp;----&lt;/P&gt;&lt;HR originaltext="---------------------------------------------------------------" /&gt;&lt;P&gt;*&lt;/P&gt;&lt;P&gt;*&amp;amp;      Form  SUB_TRANSFER_ST_NUM&lt;/P&gt;&lt;P&gt;*&amp;amp;----&lt;/P&gt;&lt;HR originaltext="---------------------------------------------------------------" /&gt;&lt;P&gt;*&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;      text&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;*----&lt;/P&gt;&lt;HR originaltext="----------------------------------------------------------------" /&gt;&lt;P&gt;*&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt; --&amp;gt;  p1        text&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt; &amp;lt;--  p2        text&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;*----&lt;/P&gt;&lt;HR originaltext="----------------------------------------------------------------" /&gt;&lt;P&gt;*&lt;/P&gt;&lt;P&gt;FORM SUB_TRANSFER_ST_NUM .&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  DATA: l_val   TYPE p,                                     "#EC NEEDED&lt;/P&gt;&lt;P&gt;        l_val1  TYPE p DECIMALS 1,                          "#EC NEEDED&lt;/P&gt;&lt;P&gt;        l_val2  TYPE p DECIMALS 2,                          "#EC NEEDED&lt;/P&gt;&lt;P&gt;        l_val3  TYPE p DECIMALS 3,                          "#EC NEEDED&lt;/P&gt;&lt;P&gt;        l_char TYPE char16.                                 "#EC NEEDED&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  LOOP AT i_cuvtab_valn INTO wa_cuvtab_valn&lt;/P&gt;&lt;P&gt;                WHERE vtint = wa_vtnam-vtint.&lt;/P&gt;&lt;P&gt;    CLEAR wa_cabn.&lt;/P&gt;&lt;P&gt;    READ TABLE i_cabn_atinn INTO wa_cabn&lt;/P&gt;&lt;P&gt;    WITH KEY atinn = wa_cuvtab_valn-atinn BINARY SEARCH.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;    CLEAR wa_e1cuv1m.&lt;/P&gt;&lt;P&gt;    wa_e1cuv1m-msgfn = c_009.&lt;/P&gt;&lt;P&gt;    wa_e1cuv1m-vtlineno5 = wa_cuvtab_valn-slnid.&lt;/P&gt;&lt;P&gt;    wa_e1cuv1m-vtcharact = wa_cabn-atnam.&lt;/P&gt;&lt;P&gt;    wa_e1cuv1m-atflv     = wa_cuvtab_valn-val_from.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;****************************************************&lt;/P&gt;&lt;P&gt;*MOD-008&lt;/P&gt;&lt;P&gt;****************************************************&lt;/P&gt;&lt;P&gt;    PERFORM transfer_e1cuv1m. " USING wa_e1cuv1m.    "#EC *&lt;/P&gt;&lt;P&gt;****************************************************&lt;/P&gt;&lt;P&gt;*MOD-008&lt;/P&gt;&lt;P&gt;****************************************************&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;store last value&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;    g_slnid_n = wa_cuvtab_valn-slnid.&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;Convert characteristic value from Exp format to normal format&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;    CLEAR: l_val, l_char, l_val1, l_val2, l_val3.&lt;/P&gt;&lt;P&gt;    CASE wa_cabn-anzdz.&lt;/P&gt;&lt;P&gt;      WHEN 0.&lt;/P&gt;&lt;P&gt;        l_val =  wa_cuvtab_valn-val_from.&lt;/P&gt;&lt;P&gt;        l_char = l_val.&lt;/P&gt;&lt;P&gt;      WHEN 1.&lt;/P&gt;&lt;P&gt;        l_val1 = wa_cuvtab_valn-val_from.&lt;/P&gt;&lt;P&gt;        l_char = l_val1.&lt;/P&gt;&lt;P&gt;      WHEN 2.&lt;/P&gt;&lt;P&gt;        l_val2 = wa_cuvtab_valn-val_from.&lt;/P&gt;&lt;P&gt;        l_char = l_val2.&lt;/P&gt;&lt;P&gt;      WHEN 3.&lt;/P&gt;&lt;P&gt;        l_val = wa_cuvtab_valn-val_from.&lt;/P&gt;&lt;P&gt;        l_char = l_val.&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;    SHIFT l_char LEFT DELETING LEADING space.&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt; Check for duplicate records&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;    PERFORM pop_dupl USING wa_vtnam-vtnam&lt;/P&gt;&lt;P&gt;                           g_slnid_n&lt;/P&gt;&lt;P&gt;                           wa_cabn-atnam&lt;/P&gt;&lt;P&gt;                           l_char.&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;ENDFORM.                    " SUB_TRANSFER_ST_NUM&lt;/P&gt;&lt;P&gt;*&amp;amp;----&lt;/P&gt;&lt;HR originaltext="---------------------------------------------------------------" /&gt;&lt;P&gt;*&lt;/P&gt;&lt;P&gt;*&amp;amp;      Form  SUB_CHECK_CHAR_VALUES&lt;/P&gt;&lt;P&gt;*&amp;amp;----&lt;/P&gt;&lt;HR originaltext="---------------------------------------------------------------" /&gt;&lt;P&gt;*&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;      text&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;*----&lt;/P&gt;&lt;HR originaltext="----------------------------------------------------------------" /&gt;&lt;P&gt;*&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt; --&amp;gt;  p1        text&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt; &amp;lt;--  p2        text&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;*----&lt;/P&gt;&lt;HR originaltext="----------------------------------------------------------------" /&gt;&lt;P&gt;*&lt;/P&gt;&lt;P&gt;FORM SUB_CHECK_CHAR_VALUES .&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  DATA: l_fieldname TYPE fieldname,&lt;/P&gt;&lt;P&gt;         l_field_dup TYPE fieldname.&lt;/P&gt;&lt;P&gt;  FIELD-SYMBOLS:  TYPE ANY.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  DATA: l_len_slnid TYPE i,                                 "#EC NEEDED&lt;/P&gt;&lt;P&gt;        l_len_varcond TYPE i,                               "#EC NEEDED&lt;/P&gt;&lt;P&gt;        l_temp_slnid TYPE i,                                "#EC NEEDED&lt;/P&gt;&lt;P&gt;        l_temp_slnc TYPE char5,                             "#EC NEEDED&lt;/P&gt;&lt;P&gt;        l_temp_varcond TYPE varcond,                        "#EC NEEDED&lt;/P&gt;&lt;P&gt;        l_sub_var      TYPE i,                              "#EC NEEDED&lt;/P&gt;&lt;P&gt;        l_val_split TYPE char10.                            "#EC NEEDED&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  DATA: l_invalid.                                          "#EC NEEDED&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;We are sorting it to concatenate characteristics value into Variant&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;  CLEAR g_varcond.&lt;/P&gt;&lt;P&gt;  CONCATENATE 'V' wa_vnt_ma-unique_no INTO g_varcond.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;*************************************************************************&lt;/P&gt;&lt;P&gt;**MOD-012&lt;/P&gt;&lt;P&gt;*************************************************************************&lt;/P&gt;&lt;P&gt;  LOOP AT i_col_pos INTO wa_col_pos WHERE vtnam = wa_file-vtnam.&lt;/P&gt;&lt;P&gt;    CLEAR l_fieldname.&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt; Dynamically assign value to field l_value for validation&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;    CONCATENATE 'WA_FILE-CHAR' wa_col_pos-field INTO l_fieldname.&lt;/P&gt;&lt;P&gt;    ASSIGN (l_fieldname) TO .&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;Put values in work area to check for duplicates&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;    IF wa_col_pos-atnam .&lt;/P&gt;&lt;P&gt;************************************************&lt;/P&gt;&lt;P&gt;*MOD-008&lt;/P&gt;&lt;P&gt;************************************************&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;  &amp;lt;fs_val1&amp;gt; = &amp;lt;fs_val&amp;gt;.&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;      IF NOT .&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;      ASSIGN &amp;lt;fs_val&amp;gt; TO &amp;lt;fs_val1&amp;gt;.&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;      ENDIF.&lt;/P&gt;&lt;P&gt;************************************************&lt;/P&gt;&lt;P&gt;*MOD-008&lt;/P&gt;&lt;P&gt;************************************************&lt;/P&gt;&lt;P&gt;      CONCATENATE g_varcond  INTO g_varcond SEPARATED BY '_'.&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;ENDIF commented out, It will be taken to the end just before endloop&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;Value for Z_VARCOND will be generated by program as per new logic&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;   ENDIF.&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;      IF  IS NOT INITIAL.&lt;/P&gt;&lt;P&gt;        SORT I_CABN BY ATINN ATNAM.&lt;/P&gt;&lt;P&gt;        CLEAR wa_cabn.&lt;/P&gt;&lt;P&gt;        READ TABLE i_cabn INTO wa_cabn&lt;/P&gt;&lt;P&gt;        WITH KEY atnam = wa_col_pos-atnam. " BINARY SEARCH.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;Validate values against function module stored in field ATPRF&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;        CLEAR l_invalid.&lt;/P&gt;&lt;P&gt;        IF wa_cabn-atprf IS NOT INITIAL.&lt;/P&gt;&lt;P&gt;          CATCH SYSTEM-EXCEPTIONS OTHERS = 1.&lt;/P&gt;&lt;P&gt;            CALL FUNCTION wa_cabn-atprf&lt;/P&gt;&lt;P&gt;              EXPORTING&lt;/P&gt;&lt;P&gt;                charact_no = wa_cabn-atinn&lt;/P&gt;&lt;P&gt;                charact    = wa_cabn-atnam&lt;/P&gt;&lt;P&gt;                value      =  c_x.&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;    SY-SUBRC should not fail here because check has already been done&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;    We need to validate value only if following fields are blank&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;          IF wa_cabn-atson IS INITIAL    " Indicator: Additional Values&lt;/P&gt;&lt;P&gt;          AND wa_cabn-atprt IS INITIAL   " Check table&lt;/P&gt;&lt;P&gt;          AND wa_cabn-atprr IS INITIAL   " Name of Check Report Program&lt;/P&gt;&lt;P&gt;          AND wa_cabn-atprf IS INITIAL   " Function Module for Checking&lt;/P&gt;&lt;P&gt;          AND wa_cabn-check IS INITIAL.  " No value found in CAWN table&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;      Check value&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;            CLEAR wa_cawn.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;            CASE wa_cabn-atfor.&lt;/P&gt;&lt;P&gt;              WHEN c_char OR c_date OR c_time.&lt;/P&gt;&lt;P&gt;                READ TABLE i_cawn_c INTO wa_cawn WITH KEY atinn = wa_cabn-atinn&lt;/P&gt;&lt;P&gt;                                                         atwrt = .&lt;/P&gt;&lt;P&gt;                    APPEND wa_e1cuv1m TO i_e1cuv1m.&lt;/P&gt;&lt;P&gt;****************************************************&lt;/P&gt;&lt;P&gt;*MOD-008&lt;/P&gt;&lt;P&gt;****************************************************&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;                  perform fill_edidd_segments USING wa_e1cuv1m.&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;                  PERFORM transfer_e1cuv1m. " USING wa_e1cuv1m.    "#EC *&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;                    clear: wa_e1cuv1m.&lt;/P&gt;&lt;P&gt;****************************************************&lt;/P&gt;&lt;P&gt;*MOD-008&lt;/P&gt;&lt;P&gt;****************************************************&lt;/P&gt;&lt;P&gt;                  ENDIF.&lt;/P&gt;&lt;P&gt;                ELSE.&lt;/P&gt;&lt;P&gt;                  PERFORM errror_line USING wa_file-vtnam&lt;/P&gt;&lt;P&gt;                                            l_fieldname&lt;/P&gt;&lt;P&gt;                                            wa_cabn-atnam&lt;/P&gt;&lt;P&gt;                                            .&lt;/P&gt;&lt;P&gt;                    APPEND wa_e1cuv1m TO i_e1cuv1m.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;*****************************************************&lt;/P&gt;&lt;P&gt;**MOD-008&lt;/P&gt;&lt;P&gt;*****************************************************&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;                  perform fill_edidd_segments USING wa_e1cuv1m.&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;                  PERFORM transfer_e1cuv1m. " USING wa_e1cuv1m.        "#EC *&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;                    clear: wa_e1cuv1m.&lt;/P&gt;&lt;P&gt;*****************************************************&lt;/P&gt;&lt;P&gt;**MOD-008&lt;/P&gt;&lt;P&gt;*****************************************************&lt;/P&gt;&lt;P&gt;                  ENDIF.&lt;/P&gt;&lt;P&gt;                ELSE.&lt;/P&gt;&lt;P&gt;                  PERFORM errror_line USING wa_file-vtnam&lt;/P&gt;&lt;P&gt;                                            l_fieldname&lt;/P&gt;&lt;P&gt;                                            wa_cabn-atnam&lt;/P&gt;&lt;P&gt;                                            .&lt;/P&gt;&lt;P&gt;                APPEND wa_e1cuv1m TO i_e1cuv1m.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;****************************************************&lt;/P&gt;&lt;P&gt;*MOD-008&lt;/P&gt;&lt;P&gt;****************************************************&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;              perform fill_edidd_segments USING wa_e1cuv1m.&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;              PERFORM transfer_e1cuv1m. " USING wa_e1cuv1m.         "#EC *&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;                clear: wa_e1cuv1m.&lt;/P&gt;&lt;P&gt;****************************************************&lt;/P&gt;&lt;P&gt;*MOD-008&lt;/P&gt;&lt;P&gt;****************************************************&lt;/P&gt;&lt;P&gt;              WHEN OTHERS.&lt;/P&gt;&lt;P&gt;                CLEAR wa_e1cuv1m.&lt;/P&gt;&lt;P&gt;                wa_e1cuv1m-msgfn = C_009.&lt;/P&gt;&lt;P&gt;                wa_e1cuv1m-vtlineno5 = g_slnid_c.&lt;/P&gt;&lt;P&gt;                wa_e1cuv1m-vtcharact = wa_cabn-atnam.&lt;/P&gt;&lt;P&gt;                wa_e1cuv1m-atflv  = .&lt;/P&gt;&lt;P&gt;                APPEND wa_e1cuv1m TO i_e1cuv1m.&lt;/P&gt;&lt;P&gt;****************************************************&lt;/P&gt;&lt;P&gt;*MOD-008&lt;/P&gt;&lt;P&gt;****************************************************&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;              PERFORM transfer_e1cuv1m. " USING wa_e1cuv1m.       "#EC *&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;                clear: wa_e1cuv1m.&lt;/P&gt;&lt;P&gt;****************************************************&lt;/P&gt;&lt;P&gt;*MOD-008&lt;/P&gt;&lt;P&gt;****************************************************&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;            ENDCASE.&lt;/P&gt;&lt;P&gt;          ENDIF.&lt;/P&gt;&lt;P&gt;        ELSE.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;          PERFORM errror_line USING wa_file-vtnam&lt;/P&gt;&lt;P&gt;                                    l_fieldname&lt;/P&gt;&lt;P&gt;                                    wa_col_pos-atnam&lt;/P&gt;&lt;P&gt;                                    &lt;/P&gt;&lt;P&gt;                                  g_row.&lt;/P&gt;&lt;P&gt;        g_invalid = 'X'.&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;    ENDIF.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;    clear: wa_col_pos.&lt;/P&gt;&lt;P&gt;  ENDLOOP.&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;Assign value to type i variable to find length&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;  CLEAR: l_len_slnid,&lt;/P&gt;&lt;P&gt;         l_len_varcond,&lt;/P&gt;&lt;P&gt;         l_temp_slnid,&lt;/P&gt;&lt;P&gt;         l_temp_slnc,&lt;/P&gt;&lt;P&gt;         l_temp_varcond,&lt;/P&gt;&lt;P&gt;         l_sub_var .&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;Put i type value in variable with 10 characters&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;  CLEAR l_val_split.&lt;/P&gt;&lt;P&gt;  l_val_split = g_split_var.&lt;/P&gt;&lt;P&gt;  SHIFT l_val_split LEFT DELETING LEADING space.&lt;/P&gt;&lt;P&gt;  l_temp_slnid = g_split_var.&lt;/P&gt;&lt;P&gt;  l_temp_slnc = l_val_split+0(5).&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt; SHIFT l_temp_slnc LEFT DELETING LEADING space.&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;  l_len_slnid = STRLEN( l_temp_slnc ).&lt;/P&gt;&lt;P&gt;  l_len_varcond = STRLEN( g_varcond ).&lt;/P&gt;&lt;P&gt;  l_sub_var = 26 - l_len_slnid.&lt;/P&gt;&lt;P&gt;  l_sub_var = l_sub_var - 1.&lt;/P&gt;&lt;P&gt;  l_temp_varcond = g_varcond+0(l_sub_var).&lt;/P&gt;&lt;P&gt;  CLEAR g_varcond.&lt;/P&gt;&lt;P&gt;  CONCATENATE l_temp_varcond l_temp_slnc INTO g_varcond&lt;/P&gt;&lt;P&gt;                                         SEPARATED BY '_'.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;*************************************************************************&lt;/P&gt;&lt;P&gt;*MOD-012&lt;/P&gt;&lt;P&gt;*************************************************************************&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  if g_invalid &amp;lt;&amp;gt; c_x.&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;REFRESH: I_E1CUV1M.&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;    CLEAR wa_e1cuv1m.&lt;/P&gt;&lt;P&gt;    wa_e1cuv1m-msgfn = C_009.&lt;/P&gt;&lt;P&gt;    wa_e1cuv1m-vtlineno5 = g_slnid_c.&lt;/P&gt;&lt;P&gt;    wa_e1cuv1m-vtcharact = c_varcond.&lt;/P&gt;&lt;P&gt;    wa_e1cuv1m-atwrt  = g_varcond.&lt;/P&gt;&lt;P&gt;    APPEND wa_e1cuv1m TO i_e1cuv1m.&lt;/P&gt;&lt;P&gt;  endif.&lt;/P&gt;&lt;P&gt;*************************************************************************&lt;/P&gt;&lt;P&gt;*MOD-012&lt;/P&gt;&lt;P&gt;*************************************************************************&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt; PERFORM transfer_e1cuv1m. " USING wa_e1cuv1m.    "#EC *&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;ENDFORM.                    " SUB_CHECK_CHAR_VALUES&lt;/P&gt;&lt;P&gt;*&amp;amp;----&lt;/P&gt;&lt;HR originaltext="---------------------------------------------------------------" /&gt;&lt;P&gt;*&lt;/P&gt;&lt;P&gt;*&amp;amp;      Form  SUB_DUPL_COLUMNS&lt;/P&gt;&lt;P&gt;*&amp;amp;----&lt;/P&gt;&lt;HR originaltext="---------------------------------------------------------------" /&gt;&lt;P&gt;*&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;      text&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;*----&lt;/P&gt;&lt;HR originaltext="----------------------------------------------------------------" /&gt;&lt;P&gt;*&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt; --&amp;gt;  p1        text&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt; &amp;lt;--  p2        text&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;*----&lt;/P&gt;&lt;HR originaltext="----------------------------------------------------------------" /&gt;&lt;P&gt;*&lt;/P&gt;&lt;P&gt;FORM SUB_DUPL_COLUMNS .&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  DATA: l_fieldname TYPE fieldname,                         "#EC NEEDED&lt;/P&gt;&lt;P&gt;          l_counter TYPE char2.                             "#EC NEEDED&lt;/P&gt;&lt;P&gt;  FIELD-SYMBOLS: .&lt;/P&gt;&lt;P&gt;        APPEND wa_charval TO i_charval.&lt;/P&gt;&lt;P&gt;      ENDIF.&lt;/P&gt;&lt;P&gt;    ENDIF.&lt;/P&gt;&lt;P&gt;  ENDDO.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  IF i_charval IS NOT INITIAL.&lt;/P&gt;&lt;P&gt;    DELETE i_charval WHERE char IS INITIAL.&lt;/P&gt;&lt;P&gt;    SORT i_charval.&lt;/P&gt;&lt;P&gt;    DELETE ADJACENT DUPLICATES FROM i_charval.&lt;/P&gt;&lt;P&gt;    IF sy-subrc = 0.&lt;/P&gt;&lt;P&gt;      MESSAGE i243.&lt;/P&gt;&lt;P&gt;      LEAVE LIST-PROCESSING.&lt;/P&gt;&lt;P&gt;    ENDIF.&lt;/P&gt;&lt;P&gt;  ENDIF.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;ENDFORM.                    " SUB_DUPL_COLUMNS&lt;/P&gt;&lt;P&gt;*&amp;amp;----&lt;/P&gt;&lt;HR originaltext="---------------------------------------------------------------" /&gt;&lt;P&gt;*&lt;/P&gt;&lt;P&gt;*&amp;amp;      Form  SUB_STORE_FILE&lt;/P&gt;&lt;P&gt;*&amp;amp;----&lt;/P&gt;&lt;HR originaltext="---------------------------------------------------------------" /&gt;&lt;P&gt;*&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;      text&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;*----&lt;/P&gt;&lt;HR originaltext="----------------------------------------------------------------" /&gt;&lt;P&gt;*&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt; --&amp;gt;  p1        text&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt; &amp;lt;--  p2        text&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;*----&lt;/P&gt;&lt;HR originaltext="----------------------------------------------------------------" /&gt;&lt;P&gt;*&lt;/P&gt;&lt;P&gt;FORM SUB_STORE_FILE .&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  DATA: G_RAW(500) TYPE C,&lt;/P&gt;&lt;P&gt;        CNT_I TYPE I.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  MOVE-CORRESPONDING wa_contenttab1 TO wa_file.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  IF NOT ( wa_file-flag = 'X' OR wa_file-flag = 'x' ) .&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;***********************************************************&lt;/P&gt;&lt;P&gt;*MOD-012&lt;/P&gt;&lt;P&gt;***********************************************************&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;   LOOP AT I_CONTENTTAB1 INTO WA_CONTENTTAB1.&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;     L_TABIX = SY-TABIX.&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;     IF L_TABIX = 1.&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;       wa_contenttab2 = wa_contenttab1.&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;       append wa_contenttab2 to i_contenttab2.&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;       clear: wa_contenttab2.&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;       clear: l_tabix.&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;       continue.&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;     ENDIF.&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;   ENDLOOP.&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;***********************************************************&lt;/P&gt;&lt;P&gt;*MOD-012&lt;/P&gt;&lt;P&gt;**********************************************************&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;    APPEND wa_file TO i_file.&lt;/P&gt;&lt;P&gt;    cLEAR: WA_FILE.&lt;/P&gt;&lt;P&gt;  ELSE.&lt;/P&gt;&lt;P&gt;*****************************************************&lt;/P&gt;&lt;P&gt;*MOD-012&lt;/P&gt;&lt;P&gt;***************************************************&lt;/P&gt;&lt;P&gt;    cnt_i = 18.&lt;/P&gt;&lt;P&gt;    g_raw = wa_file.&lt;/P&gt;&lt;P&gt;    DO 15 TIMES.&lt;/P&gt;&lt;P&gt;      wa_charname-name = g_raw+cnt_i(30).&lt;/P&gt;&lt;P&gt;      APPEND wa_charname TO i_charname.&lt;/P&gt;&lt;P&gt;      cnt_i = cnt_i + 30.&lt;/P&gt;&lt;P&gt;    ENDDO.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;**************************************************&lt;/P&gt;&lt;P&gt;*MOD-012&lt;/P&gt;&lt;P&gt;*****************************************************&lt;/P&gt;&lt;P&gt;    APPEND wa_file TO i_file_tmp.&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;Check duplicate columns for characteristics&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;    PERFORM sub_dupl_columns.&lt;/P&gt;&lt;P&gt;    CLEAR: WA_FILE.&lt;/P&gt;&lt;P&gt;  ENDIF.&lt;/P&gt;&lt;P&gt;**************************************************&lt;/P&gt;&lt;P&gt;*MOD-012&lt;/P&gt;&lt;P&gt;*****************************************************&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;ENDFORM.                    " SUB_STORE_FILE&lt;/P&gt;&lt;P&gt;*&amp;amp;----&lt;/P&gt;&lt;HR originaltext="---------------------------------------------------------------" /&gt;&lt;P&gt;*&lt;/P&gt;&lt;P&gt;*&amp;amp;      Form  SUB_GET_FILE&lt;/P&gt;&lt;P&gt;*&amp;amp;----&lt;/P&gt;&lt;HR originaltext="---------------------------------------------------------------" /&gt;&lt;P&gt;*&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;      text&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;*----&lt;/P&gt;&lt;HR originaltext="----------------------------------------------------------------" /&gt;&lt;P&gt;*&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;     &amp;lt;--P_P_FNAME  text&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;*----&lt;/P&gt;&lt;HR originaltext="----------------------------------------------------------------" /&gt;&lt;P&gt;*&lt;/P&gt;&lt;P&gt;*FORM SUB_GET_FILE. " CHANGING P_P_FNAME.        "#EC NEEDED&lt;/P&gt;&lt;P&gt;*&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt; DATA: C_FNH_MASK TYPE DXFIELDS-FILEMASK VALUE '&lt;STRONG&gt;.&lt;/STRONG&gt;',&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt; SEARCH_DIR TYPE DXFIELDS-LONGPATH VALUE '/usr/sap/trans/',&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt; FILE_PATH TYPE DXLPATH.&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;*&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt; CALL FUNCTION 'F4_DXFILENAME_TOPRECURSION'&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;   EXPORTING&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;     I_LOCATION_FLAG = 'A'&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;     I_SERVER        = ' '&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;     I_PATH          = SEARCH_DIR&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;     FILEMASK        = C_FNH_MASK&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;     FILEOPERATION   = 'R'&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;   IMPORTING&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;     O_PATH          = FILE_PATH&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;   EXCEPTIONS&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;     RFC_ERROR       = 1&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;     OTHERS          = 2.&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;*&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt; IF SY-SUBRC EQ 0.&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;   P_fname = FILE_PATH.                                    "#EC&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt; ENDIF.&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;*&lt;/P&gt;&lt;P&gt;*&lt;/P&gt;&lt;P&gt;*ENDFORM.                    " SUB_GET_FILE&lt;/P&gt;&lt;P&gt;**&amp;amp;----&lt;/P&gt;&lt;HR originaltext="---------------------------------------------------------------" /&gt;&lt;P&gt;*&lt;/P&gt;&lt;P&gt;*&amp;amp;      Form  SUB_GET_FILE1&lt;/P&gt;&lt;P&gt;*&amp;amp;----&lt;/P&gt;&lt;HR originaltext="---------------------------------------------------------------" /&gt;&lt;P&gt;*&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;      text&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;*----&lt;/P&gt;&lt;HR originaltext="----------------------------------------------------------------" /&gt;&lt;P&gt;*&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;     &amp;lt;--P_P_FNAME1  text&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;*----&lt;/P&gt;&lt;HR originaltext="----------------------------------------------------------------" /&gt;&lt;P&gt;*&lt;/P&gt;&lt;P&gt;*FORM SUB_GET_FILE1. "  CHANGING P_P_FNAME1.            "#EC NEEDED&lt;/P&gt;&lt;P&gt;*&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt; DATA: C_FNH_MASK TYPE DXFIELDS-FILEMASK VALUE '&lt;STRONG&gt;.&lt;/STRONG&gt;',&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt; SEARCH_DIR TYPE DXFIELDS-LONGPATH VALUE '/usr/sap/trans/',&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt; FILE_PATH TYPE DXLPATH.&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;*&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt; CALL FUNCTION 'F4_DXFILENAME_TOPRECURSION'&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;   EXPORTING&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;     I_LOCATION_FLAG = 'A'&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;     I_SERVER        = ' '&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;     I_PATH          = SEARCH_DIR&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;     FILEMASK        = C_FNH_MASK&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;     FILEOPERATION   = 'R'&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;   IMPORTING&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;     O_PATH          = FILE_PATH&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;   EXCEPTIONS&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;     RFC_ERROR       = 1&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;     OTHERS          = 2.&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;*&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt; IF SY-SUBRC EQ 0.&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;   P_fname1 = FILE_PATH.                                   "#EC&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt; ENDIF.&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;*&lt;/P&gt;&lt;P&gt;*ENDFORM.                    " SUB_GET_FILE1&lt;/P&gt;&lt;P&gt;**&amp;amp;----&lt;/P&gt;&lt;HR originaltext="---------------------------------------------------------------" /&gt;&lt;P&gt;*&lt;/P&gt;&lt;P&gt;**&amp;amp;      Form  SUB_APP_LOG_INIT&lt;/P&gt;&lt;P&gt;*&amp;amp;----&lt;/P&gt;&lt;HR originaltext="---------------------------------------------------------------" /&gt;&lt;P&gt;*&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;      text&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;*----&lt;/P&gt;&lt;HR originaltext="----------------------------------------------------------------" /&gt;&lt;P&gt;*&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;     &amp;lt;--P_V_LOG_HANDLE  text&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;*----&lt;/P&gt;&lt;HR originaltext="----------------------------------------------------------------" /&gt;&lt;P&gt;*&lt;/P&gt;&lt;P&gt;*Form  SUB_APP_LOG_INIT CHANGING fp_log_handle TYPE balloghndl.&lt;/P&gt;&lt;P&gt;*&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt; DATA: l_s_log TYPE bal_s_log.                             "#EC NEEDED&lt;/P&gt;&lt;/LI&gt;&lt;/UL&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; CLEAR l_s_log.&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;*&lt;/P&gt;&lt;UL&gt;&lt;UL&gt;&lt;LI level="2" type="ul"&gt;&lt;P&gt; IS_LOG_HEADER-EXTNUMBER  = TEXT-L01.&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt; IS_LOG_HEADER-ALUSER     = SY-UNAME.&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt; IS_LOG_HEADER-ALDATE     = SY-DATUM.&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt; IS_LOG_HEADER-ALTIME     = SY-UZEIT.&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt; IS_LOG_HEADER-ALTCODE    = IV_TCODE.&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt; IS_LOG_HEADER-ALPROG     = SY-REPID.&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt; IS_LOG_HEADER-OBJECT     = 'CAPI'.&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt; IS_LOG_HEADER-SUBOBJECT  = 'CAPI_LOG'.&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt; is_log_header-del_before = 'X'.&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;*&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt; CALL FUNCTION 'BAL_LOG_CREATE'&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;   EXPORTING&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;     i_s_log                 = is_log_header&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;   IMPORTING&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;     e_log_handle            = fp_log_handle&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;   EXCEPTIONS&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;     log_header_inconsistent = 1&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;     OTHERS                  = 2.&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt; IF sy-subrc &amp;lt;&amp;gt; 0.&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;   MESSAGE ID sy-msgid TYPE sy-msgty NUMBER sy-msgno&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;           WITH sy-msgv1 sy-msgv2 sy-msgv3 sy-msgv4.&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt; ENDIF.&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;*&lt;/P&gt;&lt;P&gt;*ENDFORM.                    " f_app_log_init&lt;/P&gt;&lt;P&gt;*&lt;/P&gt;&lt;P&gt;**&amp;amp;----&lt;/P&gt;&lt;HR originaltext="---------------------------------------------------------------" /&gt;&lt;P&gt;*&lt;/P&gt;&lt;P&gt;*&amp;amp;      Form  SUB_APP_LOG_INIT&lt;/P&gt;&lt;P&gt;*&amp;amp;----&lt;/P&gt;&lt;HR originaltext="---------------------------------------------------------------" /&gt;&lt;P&gt;*&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;*FORM sub_app_log_add  USING fp_log_handle TYPE balloghndl.&lt;/P&gt;&lt;P&gt;*&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt; DATA:  l_v_probclass TYPE bal_s_msg-probclass,&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;        l_s_msg     TYPE bal_s_msg,&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;        l_v_msg     TYPE  boolean.                         "#EC NEEDED&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;*&lt;/P&gt;&lt;UL&gt;&lt;UL&gt;&lt;LI level="2" type="ul"&gt;&lt;P&gt;priority clas&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt; CONSTANTS:&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;   l_c_probclass_very_high TYPE bal_s_msg-probclass VALUE '1',&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;   l_c_probclass_high      TYPE bal_s_msg-probclass VALUE '2',&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;   l_c_probclass_medium    TYPE bal_s_msg-probclass VALUE '3',&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;   l_c_probclass_low       TYPE bal_s_msg-probclass VALUE '4',&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;   l_c_probclass_none      TYPE bal_s_msg-probclass VALUE ' '.&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;*&lt;/P&gt;&lt;UL&gt;&lt;UL&gt;&lt;LI level="2" type="ul"&gt;&lt;P&gt;message types&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt; CONSTANTS:&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;   l_c_msgty_x             TYPE sy-msgty            VALUE 'X',&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;   l_c_msgty_a             TYPE sy-msgty            VALUE 'A',&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;   l_c_msgty_e             TYPE sy-msgty            VALUE 'E',&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;   l_c_msgty_w             TYPE sy-msgty            VALUE 'W',&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;   l_c_msgty_i             TYPE sy-msgty            VALUE 'I',&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;   l_c_msgty_s             TYPE sy-msgty            VALUE 'S',&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;   l_c_msgty_none          TYPE sy-msgty            VALUE ' '.&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;*&lt;/P&gt;&lt;UL&gt;&lt;UL&gt;&lt;UL&gt;&lt;LI level="3" type="ul"&gt;&lt;P&gt;entry check&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;LI level="2" type="ul"&gt;&lt;P&gt; CHECK sy-msgno NE 0.&lt;/P&gt;&lt;/LI&gt;&lt;LI level="2" type="ul"&gt;&lt;P&gt; CHECK sy-msgid NE space.&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;/UL&gt;&lt;P&gt;*&lt;/P&gt;&lt;P&gt;*&lt;/P&gt;&lt;UL&gt;&lt;UL&gt;&lt;LI level="2" type="ul"&gt;&lt;P&gt;define data of message for Application Log&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt; l_s_msg-msgty     = sy-msgty.&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt; l_s_msg-msgid     = sy-msgid.&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt; l_s_msg-msgno     = sy-msgno.&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt; l_s_msg-msgv1     = sy-msgv1.&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt; l_s_msg-msgv2     = sy-msgv2.&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt; l_s_msg-msgv3     = sy-msgv3.&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt; l_s_msg-msgv4     = sy-msgv4.&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;*&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt; LOOP AT G_ERROR_TAB INTO WA_ERRORTAB.&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;   l_s_msg-msgty     = WA_ERRORTAB-msgty.&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;   l_s_msg-msgid     = WA_ERRORTAB-id.&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;   l_s_msg-msgno     = WA_ERRORTAB-msgno.&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;   l_s_msg-msgv1     = WA_ERRORTAB-par1.&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;   l_s_msg-msgv2     = WA_ERRORTAB-par2.&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;   l_s_msg-msgv3     = WA_ERRORTAB-par3.&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;   l_s_msg-msgv4     = WA_ERRORTAB-par4.&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt; ENDLOOP.&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;*&lt;/P&gt;&lt;UL&gt;&lt;UL&gt;&lt;LI level="2" type="ul"&gt;&lt;P&gt;  CASE sy-msgty.&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt; CASE l_s_msg-msgty.&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;   WHEN l_c_msgty_x.&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;     l_v_probclass = l_c_probclass_very_high.  l_v_msg = 'X'.&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;   WHEN l_c_msgty_a.&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;     l_v_probclass = l_c_probclass_very_high.  l_v_msg = 'X'.&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;   WHEN l_c_msgty_e.&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;     l_v_probclass = l_c_probclass_high.       l_v_msg = 'X'.&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;   WHEN l_c_msgty_w.&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;     l_v_probclass = l_c_probclass_medium.&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;   WHEN l_c_msgty_i.&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;     l_v_probclass = l_c_probclass_low.&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;   WHEN l_c_msgty_s.&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;     l_v_probclass = l_c_probclass_low.&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;   WHEN l_c_msgty_none.&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;     l_v_probclass = l_c_probclass_none.&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt; ENDCASE.&lt;/P&gt;&lt;/LI&gt;&lt;UL&gt;&lt;LI level="2" type="ul"&gt;&lt;P&gt;bis hier temporär&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt; l_s_msg-probclass = l_v_probclass.&lt;/P&gt;&lt;/LI&gt;&lt;UL&gt;&lt;LI level="2" type="ul"&gt;&lt;P&gt;add this message to log file&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;/UL&gt;&lt;P&gt;*&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt; CALL FUNCTION 'BAL_LOG_MSG_ADD'&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;   EXPORTING&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;     i_log_handle     = fp_log_handle&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;     i_s_msg          = l_s_msg&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;   EXCEPTIONS&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;     log_not_found    = 1&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;     msg_inconsistent = 2&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;     log_is_full      = 3&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;     OTHERS           = 4.&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;*&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt; IF sy-subrc &amp;lt;&amp;gt; 0.&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;   MESSAGE ID sy-msgid TYPE sy-msgty NUMBER sy-msgno&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;           WITH sy-msgv1 sy-msgv2 sy-msgv3 sy-msgv4.&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt; ENDIF.&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;*&lt;/P&gt;&lt;P&gt;*ENDFORM.                    " f_app_log_add&lt;/P&gt;&lt;P&gt;**&amp;amp;----&lt;/P&gt;&lt;HR originaltext="---------------------------------------------------------------" /&gt;&lt;P&gt;*&lt;/P&gt;&lt;P&gt;*&amp;amp;      Form  f_data_save&lt;/P&gt;&lt;P&gt;*&amp;amp;----&lt;/P&gt;&lt;HR originaltext="---------------------------------------------------------------" /&gt;&lt;P&gt;*&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;Saving the app log&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;*----&lt;/P&gt;&lt;HR originaltext="----------------------------------------------------------------" /&gt;&lt;P&gt;*&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;--&amp;gt;  FP_LOG_HANDLE   Variable&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;*----&lt;/P&gt;&lt;HR originaltext="----------------------------------------------------------------" /&gt;&lt;P&gt;*&lt;/P&gt;&lt;P&gt;*FORM sub_data_save USING fp_log_handle TYPE balloghndl.&lt;/P&gt;&lt;P&gt;*&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt; DATA: lt_log_handle TYPE  bal_t_logh.&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;*&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt; APPEND fp_log_handle TO lt_log_handle.&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;*&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt; CALL FUNCTION 'BAL_DB_SAVE'&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;   EXPORTING&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;     i_client         = sy-mandt&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;     i_save_all       = ' '&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;     i_t_log_handle   = lt_log_handle&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;   EXCEPTIONS&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;     log_not_found    = 1&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;     save_not_allowed = 2&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;     numbering_error  = 3&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;     OTHERS           = 4.&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;*&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt; IF sy-subrc &amp;lt;&amp;gt; 0.&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;   MESSAGE ID sy-msgid TYPE sy-msgty NUMBER sy-msgno&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;           WITH sy-msgv1 sy-msgv2 sy-msgv3 sy-msgv4.&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt; ENDIF.&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;*&lt;/P&gt;&lt;P&gt;*ENDFORM.                    " f_data_save&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;*&amp;amp;----&lt;/P&gt;&lt;HR originaltext="---------------------------------------------------------------" /&gt;&lt;P&gt;*&lt;/P&gt;&lt;P&gt;*&amp;amp;      Form  f_data_save&lt;/P&gt;&lt;P&gt;*&amp;amp;----&lt;/P&gt;&lt;HR originaltext="---------------------------------------------------------------" /&gt;&lt;P&gt;*&lt;/P&gt;&lt;P&gt;*&amp;amp;----&lt;/P&gt;&lt;HR originaltext="---------------------------------------------------------------" /&gt;&lt;P&gt;*&lt;/P&gt;&lt;P&gt;*&amp;amp;      Form  SUB_CREATE_ERORTAB&lt;/P&gt;&lt;P&gt;*&amp;amp;----&lt;/P&gt;&lt;HR originaltext="---------------------------------------------------------------" /&gt;&lt;P&gt;*&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;     text&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;*----&lt;/P&gt;&lt;HR originaltext="----------------------------------------------------------------" /&gt;&lt;P&gt;*&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt; --&amp;gt;  p1        text&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt; &amp;lt;--  p2        text&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;*----&lt;/P&gt;&lt;HR originaltext="----------------------------------------------------------------" /&gt;&lt;P&gt;*&lt;/P&gt;&lt;P&gt;*FORM SUB_CREATE_ERORTAB .&lt;/P&gt;&lt;P&gt;*&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt; LOOP AT G_ERROR_TAB INTO WA_ERRORTAB.&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;   concatenate   WA_ERRORTAB-msgty&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;                 WA_ERRORTAB-id&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;                 WA_ERRORTAB-msgno&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;                 WA_ERRORTAB-par1&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;                 into wa_error_tab-line separated by space.&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;   APPEND WA_ERROR_TAB TO I_ERRORTAB.&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;   CLEAR: WA_ERROR_TAB, wa_errortab.&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt; ENDLOOP.&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;*&lt;/P&gt;&lt;P&gt;*ENDFORM.                    " SUB_CREATE_ERORTAB&lt;/P&gt;&lt;P&gt;**&amp;amp;----&lt;/P&gt;&lt;HR originaltext="---------------------------------------------------------------" /&gt;&lt;P&gt;*&lt;/P&gt;&lt;P&gt;*&amp;amp;      Form  BAL_DB_SAVE&lt;/P&gt;&lt;P&gt;*&amp;amp;----&lt;/P&gt;&lt;HR originaltext="---------------------------------------------------------------" /&gt;&lt;P&gt;*&lt;/P&gt;&lt;P&gt;*FORM sub_log_show USING fp_log_handle TYPE balloghndl.      "#EC NEEDED&lt;/P&gt;&lt;P&gt;*&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt; DATA: LS_PROFILE TYPE BAL_S_PROF.&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;*&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt; CALL FUNCTION 'BAL_DSP_PROFILE_SINGLE_LOG_GET'&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;   IMPORTING&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;     E_S_DISPLAY_PROFILE = LS_PROFILE.&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;*&lt;/P&gt;&lt;UL&gt;&lt;UL&gt;&lt;LI level="2" type="ul"&gt;&lt;P&gt;we therefore show all messages immediately&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt; LS_PROFILE-EXP_LEVEL   = 0.&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt; LS_PROFILE-USE_GRID   = C_X.&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;*&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt; CALL FUNCTION 'BAL_DSP_LOG_DISPLAY'&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;   EXPORTING&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;     I_S_DISPLAY_PROFILE = LS_PROFILE&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;   EXCEPTIONS&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;     OTHERS              = 1.&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt; IF SY-SUBRC &amp;lt;&amp;gt; 0.&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;   MESSAGE ID SY-MSGID TYPE SY-MSGTY NUMBER SY-MSGNO&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;           WITH SY-MSGV1 SY-MSGV2 SY-MSGV3 SY-MSGV4.&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt; ENDIF.&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;*&lt;/P&gt;&lt;P&gt;*&lt;/P&gt;&lt;P&gt;*ENDFORM.                    " LOG_DISPLAY&lt;/P&gt;&lt;P&gt;*&amp;amp;----&lt;/P&gt;&lt;HR originaltext="---------------------------------------------------------------" /&gt;&lt;P&gt;*&lt;/P&gt;&lt;P&gt;*&amp;amp;      Form  BAL_DB_SAVE&lt;/P&gt;&lt;P&gt;*&amp;amp;----&lt;/P&gt;&lt;HR originaltext="---------------------------------------------------------------" /&gt;&lt;P&gt;*&lt;/P&gt;&lt;P&gt;*&amp;amp;----&lt;/P&gt;&lt;HR originaltext="---------------------------------------------------------------" /&gt;&lt;P&gt;*&lt;/P&gt;&lt;P&gt;*&amp;amp;      Form  sub_application_log&lt;/P&gt;&lt;P&gt;*&amp;amp;----&lt;/P&gt;&lt;HR originaltext="---------------------------------------------------------------" /&gt;&lt;P&gt;*&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;      text&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;*----&lt;/P&gt;&lt;HR originaltext="----------------------------------------------------------------" /&gt;&lt;P&gt;*&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt; --&amp;gt;  p1        text&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt; &amp;lt;--  p2        text&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;*----&lt;/P&gt;&lt;HR originaltext="----------------------------------------------------------------" /&gt;&lt;P&gt;*&lt;/P&gt;&lt;P&gt;*FORM sub_application_log.&lt;/P&gt;&lt;P&gt;*&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt; TYPES: BEGIN OF type_errorline,&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;        msgty LIKE sy-msgty,&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;        id LIKE sy-msgid,&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;        msgno LIKE sy-msgno,&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;        par1 LIKE sy-msgv1,&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;        par2 LIKE sy-msgv2,&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;        par3 LIKE sy-msgv3,&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;        par4 LIKE sy-msgv4,&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;   END OF type_errorline.&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;*&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt; TYPES: BEGIN OF ty_balmi.&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;         INCLUDE STRUCTURE BALMI.&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt; TYPES: END OF ty_balmi.&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;*&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt; TYPES: BEGIN OF ty_balnri.&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;         INCLUDE STRUCTURE BALNRI.&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt; TYPES: END OF ty_balnri.&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;*&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt; DATA: l_s_balhdri TYPE balhdri,&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;       l_loghandle TYPE balloghndl.&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;*&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt; DATA: l_s_msg TYPE STANDARD TABLE OF ty_balmi INITIAL SIZE 0,&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;       l_i_msg TYPE STANDARD TABLE OF ty_balmi INITIAL SIZE 0,&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;       l_st_msg TYPE STANDARD TABLE OF ty_balmi INITIAL SIZE 0.&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;*&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt; DATA: l_s_balnri TYPE STANDARD TABLE OF ty_balnri.&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;*&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt; DATA: wa_s_msg TYPE ty_balmi,&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;*&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;       wa_st_msg TYPE ty_balmi.&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt; DATA: wa_s_balnri TYPE ty_balnri.&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt; DATA: LS_PROFILE TYPE BAL_S_PROF.&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;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt; CALL FUNCTION 'APPL_LOG_INIT'&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;  EXPORTING&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;    object                    = 'CAPI'&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;    subobject                 = 'CAPI_LOG'&lt;/P&gt;&lt;/LI&gt;&lt;UL&gt;&lt;LI level="2" type="ul"&gt;&lt;P&gt;  LOG_HANDLE                = ' '&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;  EXCEPTIONS&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;    object_not_found          = 1&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;    subobject_not_found       = 2&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;    OTHERS                    = 3&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;           .&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt; IF sy-subrc &amp;lt;&amp;gt; 0.&lt;/P&gt;&lt;/LI&gt;&lt;UL&gt;&lt;LI level="2" type="ul"&gt;&lt;P&gt;MESSAGE ID SY-MSGID TYPE SY-MSGTY NUMBER SY-MSGNO&lt;/P&gt;&lt;/LI&gt;&lt;LI level="2" type="ul"&gt;&lt;P&gt;        WITH SY-MSGV1 SY-MSGV2 SY-MSGV3 SY-MSGV4.&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt; ENDIF.&lt;/P&gt;&lt;/LI&gt;&lt;/UL&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; l_s_balhdri-object = 'CAPI'.&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt; l_s_balhdri-subobject = 'CAPI_LOG'.&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;*&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt; CALL FUNCTION 'APPL_LOG_WRITE_HEADER'&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;   EXPORTING&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;     header                    = l_s_balhdri&lt;/P&gt;&lt;/LI&gt;&lt;UL&gt;&lt;LI level="2" type="ul"&gt;&lt;P&gt;  LOG_HANDLE                =&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;  IMPORTING&lt;/P&gt;&lt;/LI&gt;&lt;UL&gt;&lt;LI level="2" type="ul"&gt;&lt;P&gt;  UPDATE_OR_INSERT          =&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;    e_log_handle              = l_loghandle&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;  EXCEPTIONS&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;    object_not_found          = 1&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;    subobject_not_found       = 2&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;    error                     = 3&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;    OTHERS                    = 4&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;           .&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt; IF sy-subrc &amp;lt;&amp;gt; 0.&lt;/P&gt;&lt;/LI&gt;&lt;UL&gt;&lt;LI level="2" type="ul"&gt;&lt;P&gt;MESSAGE ID SY-MSGID TYPE SY-MSGTY NUMBER SY-MSGNO&lt;/P&gt;&lt;/LI&gt;&lt;LI level="2" type="ul"&gt;&lt;P&gt;        WITH SY-MSGV1 SY-MSGV2 SY-MSGV3 SY-MSGV4.&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt; ENDIF.&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;*&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt; LOOP AT G_ERROR_TAB INTO WA_ERRORTAB.&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;   wa_s_msg-msgty     = 'I'.&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;   wa_s_msg-msgid     = '/factglb/gta_custdev'.&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;   wa_s_msg-msgno     = WA_ERRORTAB-msgno.&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;   wa_s_msg-msgv1     = WA_ERRORTAB-par1.&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;   wa_s_msg-msgv2     = WA_ERRORTAB-par2.&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;   wa_s_msg-msgv3     = WA_ERRORTAB-par3.&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;   wa_s_msg-msgv4     = WA_ERRORTAB-par4.&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;   APPEND wa_s_msg to l_s_msg.&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;   clear: wa_s_msg.&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt; ENDLOOP.&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;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt; CALL FUNCTION 'APPL_LOG_WRITE_MESSAGES'&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;   EXPORTING&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;     object              = 'CAPI'&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;     subobject           = 'CAPI_LOG'&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;     log_handle          = l_loghandle&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;   TABLES&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;     messages            = l_s_msg&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;   EXCEPTIONS&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;     object_not_found    = 1&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;     subobject_not_found = 2&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;     OTHERS              = 3.&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt; IF sy-subrc &amp;lt;&amp;gt; 0.&lt;/P&gt;&lt;/LI&gt;&lt;UL&gt;&lt;LI level="2" type="ul"&gt;&lt;P&gt;MESSAGE ID SY-MSGID TYPE SY-MSGTY NUMBER SY-MSGNO&lt;/P&gt;&lt;/LI&gt;&lt;LI level="2" type="ul"&gt;&lt;P&gt;        WITH SY-MSGV1 SY-MSGV2 SY-MSGV3 SY-MSGV4.&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt; ENDIF.&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;*&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt; CALL FUNCTION 'APPL_LOG_WRITE_DB'&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;   EXPORTING&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;     object                = 'CAPI'&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;     subobject             = 'CAPI_LOG'&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;     log_handle            = l_loghandle&lt;/P&gt;&lt;/LI&gt;&lt;UL&gt;&lt;LI level="2" type="ul"&gt;&lt;P&gt;   update_task           = 'I'&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;   TABLES&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;     object_with_lognumber = l_s_balnri&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;   EXCEPTIONS&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;     object_not_found      = 1&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;     subobject_not_found   = 2&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;     internal_error        = 3&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;     OTHERS                = 4.&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt; IF sy-subrc &amp;lt;&amp;gt; 0.&lt;/P&gt;&lt;/LI&gt;&lt;UL&gt;&lt;LI level="2" type="ul"&gt;&lt;P&gt;MESSAGE ID SY-MSGID TYPE SY-MSGTY NUMBER SY-MSGNO&lt;/P&gt;&lt;/LI&gt;&lt;LI level="2" type="ul"&gt;&lt;P&gt;        WITH SY-MSGV1 SY-MSGV2 SY-MSGV3 SY-MSGV4.&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt; ENDIF.&lt;/P&gt;&lt;/LI&gt;&lt;/UL&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; CALL FUNCTION 'BAL_DSP_PROFILE_SINGLE_LOG_GET'&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;   IMPORTING&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;     E_S_DISPLAY_PROFILE = LS_PROFILE.&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;*&lt;/P&gt;&lt;UL&gt;&lt;UL&gt;&lt;LI level="2" type="ul"&gt;&lt;P&gt;we therefore show all messages immediately&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt; LS_PROFILE-EXP_LEVEL   = 0.&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt; LS_PROFILE-USE_GRID   = C_X.&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;*&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt; CALL FUNCTION 'BAL_DSP_LOG_DISPLAY'&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;   EXPORTING&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;     I_S_DISPLAY_PROFILE = LS_PROFILE&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;   EXCEPTIONS&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;     OTHERS              = 1.&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt; IF SY-SUBRC &amp;lt;&amp;gt; 0.&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;   MESSAGE ID SY-MSGID TYPE SY-MSGTY NUMBER SY-MSGNO&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;           WITH SY-MSGV1 SY-MSGV2 SY-MSGV3 SY-MSGV4.&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt; ENDIF.&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;*&lt;/P&gt;&lt;P&gt;*ENDFORM.                    " sub_application_log&lt;/P&gt;&lt;P&gt;*&amp;amp;----&lt;/P&gt;&lt;HR originaltext="---------------------------------------------------------------" /&gt;&lt;P&gt;*&lt;/P&gt;&lt;P&gt;*&amp;amp;      Form  SUB_CLEAR_VARIABLES&lt;/P&gt;&lt;P&gt;*&amp;amp;----&lt;/P&gt;&lt;HR originaltext="---------------------------------------------------------------" /&gt;&lt;P&gt;*&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;      text&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;*----&lt;/P&gt;&lt;HR originaltext="----------------------------------------------------------------" /&gt;&lt;P&gt;*&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt; --&amp;gt;  p1        text&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt; &amp;lt;--  p2        text&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;*----&lt;/P&gt;&lt;HR originaltext="----------------------------------------------------------------" /&gt;&lt;P&gt;*&lt;/P&gt;&lt;P&gt;FORM SUB_CLEAR_VARIABLES .&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  clear:  wa_contentheader1.&lt;/P&gt;&lt;P&gt;  CLEAR:  g_cnt_idocs_package,&lt;/P&gt;&lt;P&gt;          itab_zedidc40[],&lt;/P&gt;&lt;P&gt;          itab_zedidd40[].&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  CLEAR:  itab_zedidd40[],&lt;/P&gt;&lt;P&gt;          itab_zedidd40[].&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  REFRESH: gt_curr_edi_dd40,&lt;/P&gt;&lt;P&gt;           i_error.&lt;/P&gt;&lt;P&gt;  CLEAR  : gt_curr_edi_dd40.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  CLEAR  : g_segnum,&lt;/P&gt;&lt;P&gt;           g_error.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;*Work Area for the structure I_MESSTAB&lt;/P&gt;&lt;P&gt;  CLEAR:  wa_vartab,&lt;/P&gt;&lt;P&gt;          wa_vartabdate,&lt;/P&gt;&lt;P&gt;          wa_vardetails,&lt;/P&gt;&lt;P&gt;          wa_tabinput,&lt;/P&gt;&lt;P&gt;          wa_dsninput,&lt;/P&gt;&lt;P&gt;          wa_dsninput,&lt;/P&gt;&lt;P&gt;          wa_newinput,&lt;/P&gt;&lt;P&gt;          wa_gnewinput,&lt;/P&gt;&lt;P&gt;          wa_ginput_data ,&lt;/P&gt;&lt;P&gt;          wa_final,&lt;/P&gt;&lt;P&gt;          wa_content,&lt;/P&gt;&lt;P&gt;          wa_contenthd ,&lt;/P&gt;&lt;P&gt;          wa_contentheader,&lt;/P&gt;&lt;P&gt;          wa_contenttab,&lt;/P&gt;&lt;P&gt;          wa_content1,&lt;/P&gt;&lt;P&gt;          wa_contenthd1,&lt;/P&gt;&lt;P&gt;          wa_contentheader1,&lt;/P&gt;&lt;P&gt;          wa_contenttab1,&lt;/P&gt;&lt;P&gt;          wa_E1CUVTM ,&lt;/P&gt;&lt;P&gt;          wa_E1CUV1M ,&lt;/P&gt;&lt;P&gt;          wa_E1DATEM .&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.                    " SUB_CLEAR_VARIABLES&lt;/P&gt;&lt;P&gt;*&amp;amp;----&lt;/P&gt;&lt;HR originaltext="---------------------------------------------------------------" /&gt;&lt;P&gt;*&lt;/P&gt;&lt;P&gt;*&amp;amp;      Form  sub_upload_data_app&lt;/P&gt;&lt;P&gt;*&amp;amp;----&lt;/P&gt;&lt;HR originaltext="---------------------------------------------------------------" /&gt;&lt;P&gt;*&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;      text&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;*----&lt;/P&gt;&lt;HR originaltext="----------------------------------------------------------------" /&gt;&lt;P&gt;*&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt; --&amp;gt;  p1        text&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt; &amp;lt;--  p2        text&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;*----&lt;/P&gt;&lt;HR originaltext="----------------------------------------------------------------" /&gt;&lt;P&gt;*&lt;/P&gt;&lt;P&gt;FORM sub_upload_data_app.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  CALL FUNCTION 'SAPGUI_PROGRESS_INDICATOR'                 "#EC *&lt;/P&gt;&lt;P&gt;     EXPORTING&lt;/P&gt;&lt;P&gt;       percentage = 0&lt;/P&gt;&lt;P&gt;       text       = text-037.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  perform sub_upload_from_preserver.&lt;/P&gt;&lt;P&gt;  perform sub_upload_from_appserver.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;ENDFORM.                    " sub_upload_data_app&lt;/P&gt;&lt;P&gt;*&amp;amp;----&lt;/P&gt;&lt;HR originaltext="---------------------------------------------------------------" /&gt;&lt;P&gt;*&lt;/P&gt;&lt;P&gt;*&amp;amp;      Form  sub_upload_from_appserver1&lt;/P&gt;&lt;P&gt;*&amp;amp;----&lt;/P&gt;&lt;HR originaltext="---------------------------------------------------------------" /&gt;&lt;P&gt;*&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;      text&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;*----&lt;/P&gt;&lt;HR originaltext="----------------------------------------------------------------" /&gt;&lt;P&gt;*&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt; --&amp;gt;  p1        text&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt; &amp;lt;--  p2        text&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;*----&lt;/P&gt;&lt;HR originaltext="----------------------------------------------------------------" /&gt;&lt;P&gt;*&lt;/P&gt;&lt;P&gt;FORM sub_upload_from_appserver1.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  DATA: l_timestamp type timestamp.                         "#EC *&lt;/P&gt;&lt;P&gt;  DATA: l_time(15) type C.                                  "#EC *&lt;/P&gt;&lt;P&gt;  DATA: L_COUNTER TYPE I.                                   "#EC *&lt;/P&gt;&lt;P&gt;  DATA: WA_DVNT_TM TYPE ZDVNT_TM.                           "#EC *&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  SELECT max( COUNTER )&lt;/P&gt;&lt;P&gt;  INTO l_counter&lt;/P&gt;&lt;P&gt;  FROM ZDVNT_TM.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  SELECT SINGLE FILEINTERN&lt;/P&gt;&lt;P&gt;  INTO P_FNAME&lt;/P&gt;&lt;P&gt;  FROM ZDVNT_TM&lt;/P&gt;&lt;P&gt;  WHERE BNAME = SY-UNAME AND&lt;/P&gt;&lt;P&gt;        FILETYPE = C_X AND&lt;/P&gt;&lt;P&gt;        COUNTER  = L_COUNTER.&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;P&gt;  SELECT SINGLE FILEINTERN&lt;/P&gt;&lt;P&gt;  INTO P_FNAME1&lt;/P&gt;&lt;P&gt;  FROM ZDVNT_TM&lt;/P&gt;&lt;P&gt;  WHERE BNAME = SY-UNAME AND&lt;/P&gt;&lt;P&gt;        FILETYPE = C_Y AND&lt;/P&gt;&lt;P&gt;        COUNTER  = L_COUNTER.&lt;/P&gt;&lt;P&gt;&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;P&gt;  open dataset p_fname for input in text mode encoding default.&lt;/P&gt;&lt;P&gt;  if sy-subrc = 0.&lt;/P&gt;&lt;P&gt;    DO.&lt;/P&gt;&lt;P&gt;      READ DATASET p_fname INTO wa_input_data.&lt;/P&gt;&lt;P&gt;      IF sy-subrc NE 0.&lt;/P&gt;&lt;P&gt;        IF g_cnt_input_recs = 0.&lt;/P&gt;&lt;P&gt;          MESSAGE i242.&lt;/P&gt;&lt;P&gt;          g_flg_error = C_Y.&lt;/P&gt;&lt;P&gt;          STOP.&lt;/P&gt;&lt;P&gt;        ENDIF.&lt;/P&gt;&lt;P&gt;        EXIT.&lt;/P&gt;&lt;P&gt;      ELSE.&lt;/P&gt;&lt;P&gt;        APPEND wa_input_data to i_input_data.&lt;/P&gt;&lt;P&gt;        ADD 1 TO g_cnt_input_recs.&lt;/P&gt;&lt;P&gt;        CLEAR: wa_input_data.&lt;/P&gt;&lt;P&gt;      ENDIF.&lt;/P&gt;&lt;P&gt;    ENDDO.&lt;/P&gt;&lt;P&gt;  else.&lt;/P&gt;&lt;P&gt;    message e246. " with text-003.&lt;/P&gt;&lt;P&gt;  endif.&lt;/P&gt;&lt;P&gt;  close dataset p_fname.&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;delete dataset p_fname.&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  open dataset p_fname1 for input in text mode encoding default.&lt;/P&gt;&lt;P&gt;  if sy-subrc = 0.&lt;/P&gt;&lt;P&gt;    DO.&lt;/P&gt;&lt;P&gt;      READ DATASET p_fname1 INTO wa_input_data1.&lt;/P&gt;&lt;P&gt;      IF sy-subrc NE 0.&lt;/P&gt;&lt;P&gt;        IF g_cnt_input_recs = 0.&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;        MESSAGE s000 WITH 'Input file is empty'.&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;          MESSAGE i242.&lt;/P&gt;&lt;P&gt;          g_flg_error = C_Y.&lt;/P&gt;&lt;P&gt;          STOP.&lt;/P&gt;&lt;P&gt;        ENDIF.&lt;/P&gt;&lt;P&gt;        EXIT.&lt;/P&gt;&lt;P&gt;      ELSE.&lt;/P&gt;&lt;P&gt;        APPEND wa_input_data1 to i_input_data1.&lt;/P&gt;&lt;P&gt;        ADD 1 TO g_cnt_input_recs.&lt;/P&gt;&lt;P&gt;        CLEAR: wa_input_data1.&lt;/P&gt;&lt;P&gt;      ENDIF.&lt;/P&gt;&lt;P&gt;    ENDDO.&lt;/P&gt;&lt;P&gt;  else.&lt;/P&gt;&lt;P&gt;    message e246. "with text-003.&lt;/P&gt;&lt;P&gt;  endif.&lt;/P&gt;&lt;P&gt;  close dataset p_fname1.&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;delete dataset p_fname1.&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  delete i_input_data index 1.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  delete i_input_data1 INDEX 1.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  loop at i_input_data INTO WA_INPUT_DATA.&lt;/P&gt;&lt;P&gt;    SPLIT wa_input_data AT CL_ABAP_CHAR_UTILITIES=&amp;gt;HORIZONTAL_TAB&lt;/P&gt;&lt;P&gt;                                        INTO wa_contenthd-vtnam&lt;/P&gt;&lt;P&gt;                                             wa_contenthd-flag.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;    append wa_contenthd to i_contentheader1.&lt;/P&gt;&lt;P&gt;    clear: wa_contenthd.&lt;/P&gt;&lt;P&gt;  endloop.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  loop at i_input_data1 INTO WA_INPUT_DATA1.&lt;/P&gt;&lt;P&gt;    SPLIT wa_input_data1 AT CL_ABAP_CHAR_UTILITIES=&amp;gt;HORIZONTAL_TAB&lt;/P&gt;&lt;P&gt;                                       INTO       wa_content1-VTNAM&lt;/P&gt;&lt;P&gt;                                                  wa_content1-CHAR1&lt;/P&gt;&lt;P&gt;                                                  wa_content1-CHAR2&lt;/P&gt;&lt;P&gt;                                                  wa_content1-CHAR3&lt;/P&gt;&lt;P&gt;                                                  wa_content1-CHAR4&lt;/P&gt;&lt;P&gt;                                                  wa_content1-CHAR5&lt;/P&gt;&lt;P&gt;                                                  wa_content1-CHAR6&lt;/P&gt;&lt;P&gt;                                                  wa_content1-CHAR7&lt;/P&gt;&lt;P&gt;                                                  wa_content1-CHAR8&lt;/P&gt;&lt;P&gt;                                                  wa_content1-CHAR9&lt;/P&gt;&lt;P&gt;                                                  wa_content1-CHAR10&lt;/P&gt;&lt;P&gt;                                                  wa_content1-CHAR11&lt;/P&gt;&lt;P&gt;                                                  wa_content1-CHAR12&lt;/P&gt;&lt;P&gt;                                                  wa_content1-CHAR13&lt;/P&gt;&lt;P&gt;                                                  wa_content1-CHAR14&lt;/P&gt;&lt;P&gt;                                                  wa_content1-CHAR15&lt;/P&gt;&lt;P&gt;                                                  wa_content1-FLAG.&lt;/P&gt;&lt;P&gt;    append wa_content1 to i_contenttab1.&lt;/P&gt;&lt;P&gt;    clear: wa_content1.&lt;/P&gt;&lt;P&gt;  endloop.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;ENDFORM.                    " sub_upload_from_appserver1&lt;/P&gt;&lt;P&gt;*&amp;amp;----&lt;/P&gt;&lt;HR originaltext="---------------------------------------------------------------" /&gt;&lt;P&gt;*&lt;/P&gt;&lt;P&gt;*&amp;amp;      Form  SUB_DISPLAY_IDOCS&lt;/P&gt;&lt;P&gt;*&amp;amp;----&lt;/P&gt;&lt;HR originaltext="---------------------------------------------------------------" /&gt;&lt;P&gt;*&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;      text&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;*----&lt;/P&gt;&lt;HR originaltext="----------------------------------------------------------------" /&gt;&lt;P&gt;*&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt; --&amp;gt;  p1        text&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt; &amp;lt;--  p2        text&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;*----&lt;/P&gt;&lt;HR originaltext="----------------------------------------------------------------" /&gt;&lt;P&gt;*&lt;/P&gt;&lt;P&gt;FORM SUB_DISPLAY_IDOCS .&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  CONSTANTS: C_I(1)  TYPE C VALUE 'I'.&lt;/P&gt;&lt;P&gt;  CONSTANTS: C_EQ(2) TYPE C VALUE 'EQ'.&lt;/P&gt;&lt;P&gt;  CONSTANTS: C_VTMMAS(6) TYPE C VALUE 'VTMMAS'.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;RBDAPP01 aufrufen&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;  R_CREDAT-SIGN = C_I.&lt;/P&gt;&lt;P&gt;  R_CREDAT-OPTION = C_EQ.&lt;/P&gt;&lt;P&gt;  R_CREDAT-LOW = SY-DATUM.&lt;/P&gt;&lt;P&gt;  APPEND R_CREDAT.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  R_CRETIM-SIGN = C_I.&lt;/P&gt;&lt;P&gt;  R_CRETIM-OPTION = C_EQ.&lt;/P&gt;&lt;P&gt;  R_CRETIM-LOW = SY-UZEIT.&lt;/P&gt;&lt;P&gt;  APPEND R_CRETIM.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  R_MESTYP-SIGN = C_I.&lt;/P&gt;&lt;P&gt;  R_MESTYP-OPTION = C_EQ.&lt;/P&gt;&lt;P&gt;  R_MESTYP-LOW = C_VTMMAS.&lt;/P&gt;&lt;P&gt;  APPEND R_MESTYP.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;**CALL TRANSACTION 'WE02'&lt;/P&gt;&lt;P&gt;  SUBMIT RSEIDOC2                                        "#EC CI_SUBMIT&lt;/P&gt;&lt;P&gt;  WITH CREDAT EQ R_CREDAT-LOW SIGN C_I&lt;/P&gt;&lt;P&gt;  WITH MESTYP EQ C_VTMMAS SIGN 'I'&lt;/P&gt;&lt;P&gt;  AND RETURN.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  REFRESH: R_CREDAT,&lt;/P&gt;&lt;P&gt;           R_CRETIM,&lt;/P&gt;&lt;P&gt;           R_MESTYP.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;ENDFORM.                    " SUB_DISPLAY_IDOCS&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;*&amp;amp;----&lt;/P&gt;&lt;HR originaltext="---------------------------------------------------------------" /&gt;&lt;P&gt;*&lt;/P&gt;&lt;P&gt;*&amp;amp;      Form  GET_STRUCTURE&lt;/P&gt;&lt;P&gt;*&amp;amp;----&lt;/P&gt;&lt;HR originaltext="---------------------------------------------------------------" /&gt;&lt;P&gt;*&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;      text&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;*----&lt;/P&gt;&lt;HR originaltext="----------------------------------------------------------------" /&gt;&lt;P&gt;*&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt; --&amp;gt;  p1        text&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt; &amp;lt;--  p2        text&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;*----&lt;/P&gt;&lt;HR originaltext="----------------------------------------------------------------" /&gt;&lt;P&gt;*&lt;/P&gt;&lt;P&gt;form get_structure.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  data : idetails type abap_compdescr_tab,&lt;/P&gt;&lt;P&gt;         xdetails type abap_compdescr.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  data : ref_table_des type ref to cl_abap_structdescr.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;Local variable declaration&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;  DATA:  l_tabname TYPE tabname.&lt;/P&gt;&lt;P&gt;  MOVE   wa_contentheader1-vtnam TO l_tabname.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;Get the structure of the table.&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;  ref_table_des ?=&lt;/P&gt;&lt;P&gt;      cl_abap_typedescr=&amp;gt;describe_by_name( l_tabname ).&lt;/P&gt;&lt;P&gt;  idetails[] = ref_table_des-&amp;gt;components[].&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  loop at idetails into xdetails.&lt;/P&gt;&lt;P&gt;    clear xfc.&lt;/P&gt;&lt;P&gt;    xfc-fieldname = xdetails-name .&lt;/P&gt;&lt;P&gt;    xfc-datatype = xdetails-type_kind.&lt;/P&gt;&lt;P&gt;    xfc-inttype = xdetails-type_kind.&lt;/P&gt;&lt;P&gt;    xfc-intlen = xdetails-length.&lt;/P&gt;&lt;P&gt;    xfc-decimals = xdetails-decimals.&lt;/P&gt;&lt;P&gt;    xfc-ref_table = wa_contentheader1.&lt;/P&gt;&lt;P&gt;    xfc-ref_field = xdetails-name.&lt;/P&gt;&lt;P&gt;    append xfc to ifc.&lt;/P&gt;&lt;P&gt;  endloop.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;endform.                    "get_structure&lt;/P&gt;&lt;P&gt;*&amp;amp;----&lt;/P&gt;&lt;HR originaltext="---------------------------------------------------------------" /&gt;&lt;P&gt;*&lt;/P&gt;&lt;P&gt;*&amp;amp;      Form  CREATE_DYNAMIC_ITAB&lt;/P&gt;&lt;P&gt;*&amp;amp;----&lt;/P&gt;&lt;HR originaltext="---------------------------------------------------------------" /&gt;&lt;P&gt;*&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;      text&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;*----&lt;/P&gt;&lt;HR originaltext="----------------------------------------------------------------" /&gt;&lt;P&gt;*&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt; --&amp;gt;  p1        text&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt; &amp;lt;--  p2        text&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;*----&lt;/P&gt;&lt;HR originaltext="----------------------------------------------------------------" /&gt;&lt;P&gt;*&lt;/P&gt;&lt;P&gt;form create_dynamic_itab.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;Create dynamic internal table and assign to FS&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;  call method cl_alv_table_create=&amp;gt;create_dynamic_table&lt;/P&gt;&lt;P&gt;    EXPORTING&lt;/P&gt;&lt;P&gt;      it_fieldcatalog = ifc&lt;/P&gt;&lt;P&gt;    IMPORTING&lt;/P&gt;&lt;P&gt;      ep_table        = dy_table.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  assign dy_table-&amp;gt;* to .&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;Create dynamic work area and assign to FS&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;  create data dy_line like line of .&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;Create dynamic work area and assign to the dynamic table&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;  CREATE DATA LV_LINE2 LIKE LINE OF .&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;endform.                    "create_dynamic_itab&lt;/P&gt;&lt;P&gt;*&amp;amp;----&lt;/P&gt;&lt;HR originaltext="---------------------------------------------------------------" /&gt;&lt;P&gt;*&lt;/P&gt;&lt;P&gt;*&amp;amp;      Form  GET_DATA&lt;/P&gt;&lt;P&gt;*&amp;amp;----&lt;/P&gt;&lt;HR originaltext="---------------------------------------------------------------" /&gt;&lt;P&gt;*&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;      text&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;*----&lt;/P&gt;&lt;HR originaltext="----------------------------------------------------------------" /&gt;&lt;P&gt;*&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt; --&amp;gt;  p1        text&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt; &amp;lt;--  p2        text&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;*----&lt;/P&gt;&lt;HR originaltext="----------------------------------------------------------------" /&gt;&lt;P&gt;*&lt;/P&gt;&lt;P&gt;form get_data.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  FIELD-SYMBOLS:  TYPE ANY TABLE.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;Internal table of data&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;  DATA: i_cond_tab_data TYPE REF TO data.&lt;/P&gt;&lt;P&gt;  DATA: i_cond_tab TYPE REF TO data.&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;Local variable declaration&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;  DATA:  l_tabname TYPE tabname.    "Table name&lt;/P&gt;&lt;P&gt;  TYPES: BEGIN OF TY_CHARAC,&lt;/P&gt;&lt;P&gt;          CHAR(30) TYPE C,&lt;/P&gt;&lt;P&gt;         END OF TY_CHARAC.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  TYPES: BEGIN OF TY_DD03L,&lt;/P&gt;&lt;P&gt;          TABNAME TYPE TABNAME,&lt;/P&gt;&lt;P&gt;          FIELDNAME TYPE FIELDNAME,&lt;/P&gt;&lt;P&gt;         END OF TY_DD03L.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  DATA: ITAB_DD03L TYPE STANDARD TABLE OF TY_DD03L.&lt;/P&gt;&lt;P&gt;  DATA: WA_DD03L TYPE TY_DD03L.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  DATA: L_WA_CONTENT TYPE TY_CHARAC.&lt;/P&gt;&lt;P&gt;  DATA: L_WA_CONTENT1(30) TYPE C.&lt;/P&gt;&lt;P&gt;  DATA: L_TABIX(2) TYPE C.&lt;/P&gt;&lt;P&gt;  FIELD-SYMBOLS:    TYPE ANY.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  TYPES: BEGIN OF TY_FIELD,&lt;/P&gt;&lt;P&gt;           FIELD(30) TYPE C.&lt;/P&gt;&lt;P&gt;  TYPES: END OF TY_FIELD.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  DATA: L_FIELD(30) TYPE C.&lt;/P&gt;&lt;P&gt;  DATA: WA_ITAB_FINAL(15) TYPE C.&lt;/P&gt;&lt;P&gt;  DATA: L_WA_FINAL(45) TYPE C.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  DATA: WA_FIELD TYPE TY_FIELD.&lt;/P&gt;&lt;P&gt;  DATA: ITAB_FIELD TYPE STANDARD TABLE OF TY_FIELD.&lt;/P&gt;&lt;P&gt;  CONSTANTS C_FINAL(20)     TYPE C          VALUE 'L_WA_FINAL'."#EC *&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  TYPES: BEGIN OF TY_COMP,&lt;/P&gt;&lt;P&gt;          COMP(30) TYPE C,&lt;/P&gt;&lt;P&gt;         END OF TY_COMP.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  TYPES: BEGIN OF TY_CHAR,&lt;/P&gt;&lt;P&gt;          CHAR(30) TYPE C,&lt;/P&gt;&lt;P&gt;         END OF TY_CHAR.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  DATA:&lt;/P&gt;&lt;P&gt;  gd_tabnam        TYPE string,&lt;/P&gt;&lt;P&gt;  gd_tabfield      TYPE string,&lt;/P&gt;&lt;P&gt;  go_table         TYPE REF TO cl_salv_table,&lt;/P&gt;&lt;P&gt;  go_sdescr        TYPE REF TO cl_abap_structdescr,&lt;/P&gt;&lt;P&gt;  go_sdescr_new    TYPE REF TO cl_abap_structdescr,&lt;/P&gt;&lt;P&gt;  go_tdescr        TYPE REF TO cl_abap_tabledescr,&lt;/P&gt;&lt;P&gt;  gdo_data         TYPE REF TO data,&lt;/P&gt;&lt;P&gt;  gdo_handle       TYPE REF TO data,&lt;/P&gt;&lt;P&gt;  gs_component     TYPE abap_compdescr,&lt;/P&gt;&lt;P&gt;  gs_comp          TYPE abap_componentdescr,&lt;/P&gt;&lt;P&gt;  gt_components    TYPE abap_component_tab.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  MOVE wa_contentheader1-vtnam TO l_tabname.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;******************************************************&lt;/P&gt;&lt;P&gt;*MOD-008&lt;/P&gt;&lt;P&gt;******************************************************&lt;/P&gt;&lt;P&gt;  READ TABLE i_contenttab1 INTO wa_contenttab1 INDEX 1.&lt;/P&gt;&lt;P&gt;  IF sy-subrc IS INITIAL.&lt;/P&gt;&lt;P&gt;    xfc1-datatype = 'C'.&lt;/P&gt;&lt;P&gt;    xfc1-inttype = 'C'.&lt;/P&gt;&lt;P&gt;    xfc1-intlen = 30.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;    IF not wa_contenttab1-char1 IS INITIAL.&lt;/P&gt;&lt;P&gt;      xfc1-fieldname = 'VTNAM'.&lt;/P&gt;&lt;P&gt;      xfc1-datatype = 'CHAR'.&lt;/P&gt;&lt;P&gt;      xfc1-inttype = 'C'.&lt;/P&gt;&lt;P&gt;      xfc1-intlen = 18.&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;     xfc1-ref_table = wa_contentheader1-vtnam.&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;     xfc1-ref_field = wa_contenttab1-char1.&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;    ELSE.&lt;/P&gt;&lt;P&gt;      xfc1-fieldname = 'VTNAM'.&lt;/P&gt;&lt;P&gt;      xfc1-datatype = 'CHAR'.&lt;/P&gt;&lt;P&gt;      xfc1-inttype = 'C'.&lt;/P&gt;&lt;P&gt;      xfc1-intlen = 18.&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;     xfc-ref_table = wa_contentheader1-vtnam.&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;     xfc-ref_field = wa_contenttab1-char1.&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;    ENDIF.&lt;/P&gt;&lt;P&gt;    APPEND xfc1 TO ifc1.&lt;/P&gt;&lt;P&gt;    Clear: xfc1.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;    IF not wa_contenttab1-char1 IS INITIAL.&lt;/P&gt;&lt;P&gt;      xfc1-fieldname = 'CHAR1'.&lt;/P&gt;&lt;P&gt;      xfc1-datatype = 'CHAR'.&lt;/P&gt;&lt;P&gt;      xfc1-inttype = 'C'.&lt;/P&gt;&lt;P&gt;      xfc1-intlen = 30.&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;     xfc1-ref_table = wa_contentheader1-vtnam.&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;     xfc1-ref_field = wa_contenttab1-char1.&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;    ELSE.&lt;/P&gt;&lt;P&gt;      xfc1-fieldname = 'CHAR1'.&lt;/P&gt;&lt;P&gt;      xfc1-datatype = 'CHAR'.&lt;/P&gt;&lt;P&gt;      xfc1-inttype = 'C'.&lt;/P&gt;&lt;P&gt;      xfc1-intlen = 30.&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;     xfc-ref_table = wa_contentheader1-vtnam.&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;     xfc-ref_field = wa_contenttab1-char1.&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;    ENDIF.&lt;/P&gt;&lt;P&gt;    APPEND xfc1 TO ifc1.&lt;/P&gt;&lt;P&gt;    Clear: xfc1.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;    IF not wa_contenttab1-char2 IS INITIAL.&lt;/P&gt;&lt;P&gt;      xfc1-fieldname = 'CHAR2'.&lt;/P&gt;&lt;P&gt;      xfc1-datatype = 'CHAR'.&lt;/P&gt;&lt;P&gt;      xfc1-inttype = 'C'.&lt;/P&gt;&lt;P&gt;      xfc1-intlen = 30.&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;     xfc1-ref_table = wa_contentheader1-vtnam.&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;     xfc1-ref_field = wa_contenttab1-char2.&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;    ELSE.&lt;/P&gt;&lt;P&gt;      xfc1-fieldname = 'CHAR2'.&lt;/P&gt;&lt;P&gt;      xfc1-datatype = 'CHAR'.&lt;/P&gt;&lt;P&gt;      xfc1-inttype = 'C'.&lt;/P&gt;&lt;P&gt;      xfc1-intlen = 30.&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;     xfc-ref_table = wa_contentheader1-vtnam.&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;     xfc-ref_field = wa_contenttab1-char2.&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;    ENDIF.&lt;/P&gt;&lt;P&gt;    APPEND xfc1 TO ifc1.&lt;/P&gt;&lt;P&gt;    Clear: xfc1.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;    IF not wa_contenttab1-char3 IS INITIAL.&lt;/P&gt;&lt;P&gt;      xfc1-fieldname = 'CHAR3'.&lt;/P&gt;&lt;P&gt;      xfc1-datatype = 'CHAR'.&lt;/P&gt;&lt;P&gt;      xfc1-inttype = 'C'.&lt;/P&gt;&lt;P&gt;      xfc1-intlen = 30.&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;     xfc1-ref_table = wa_contentheader1-vtnam.&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;     xfc1-ref_field = wa_contenttab1-char3.&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;    ELSE.&lt;/P&gt;&lt;P&gt;      xfc1-fieldname = 'CHAR3'.&lt;/P&gt;&lt;P&gt;      xfc1-datatype = 'CHAR'.&lt;/P&gt;&lt;P&gt;      xfc1-inttype = 'C'.&lt;/P&gt;&lt;P&gt;      xfc1-intlen = 30.&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;     xfc-ref_table = wa_contentheader1-vtnam.&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;     xfc-ref_field = wa_contenttab1-char3.&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;    ENDIF.&lt;/P&gt;&lt;P&gt;    APPEND xfc1 TO ifc1.&lt;/P&gt;&lt;P&gt;    Clear: xfc1.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;    IF not wa_contenttab1-char4 IS INITIAL.&lt;/P&gt;&lt;P&gt;      xfc1-fieldname = wa_contenttab1-char4.&lt;/P&gt;&lt;P&gt;      xfc1-datatype = 'CHAR4'.&lt;/P&gt;&lt;P&gt;      xfc1-inttype = 'C'.&lt;/P&gt;&lt;P&gt;      xfc1-intlen = 30.&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;     xfc1-ref_table = wa_contentheader1-vtnam.&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;     xfc1-ref_field = wa_contenttab1-char4.&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;      APPEND xfc TO ifc1.&lt;/P&gt;&lt;P&gt;      Clear: xfc1.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;    ELSE.&lt;/P&gt;&lt;P&gt;      xfc1-fieldname = 'CHAR4'.&lt;/P&gt;&lt;P&gt;      xfc1-datatype = 'CHAR'.&lt;/P&gt;&lt;P&gt;      xfc1-inttype = 'C'.&lt;/P&gt;&lt;P&gt;      xfc1-intlen = 30.&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;     xfc-ref_table = wa_contentheader1-vtnam.&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;     xfc-ref_field = wa_contenttab1-char4.&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;      APPEND xfc1 TO ifc1.&lt;/P&gt;&lt;P&gt;      Clear: xfc1.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&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 not wa_contenttab1-char5 IS INITIAL.&lt;/P&gt;&lt;P&gt;      xfc1-fieldname = wa_contenttab1-char5.&lt;/P&gt;&lt;P&gt;      xfc1-datatype = 'CHAR5'.&lt;/P&gt;&lt;P&gt;      xfc1-inttype = 'C'.&lt;/P&gt;&lt;P&gt;      xfc1-intlen = 30.&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;     xfc1-ref_table = wa_contentheader1-vtnam.&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;     xfc1-ref_field = wa_contenttab1-char5.&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;*&lt;/P&gt;&lt;P&gt;      APPEND xfc TO ifc1.&lt;/P&gt;&lt;P&gt;      Clear: xfc1.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;    ELSE.&lt;/P&gt;&lt;P&gt;      xfc1-fieldname = 'CHAR5'.&lt;/P&gt;&lt;P&gt;      xfc1-datatype = 'CHAR'.&lt;/P&gt;&lt;P&gt;      xfc1-inttype = 'C'.&lt;/P&gt;&lt;P&gt;      xfc1-intlen = 30.&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;    xfc-ref_table = wa_contentheader1-vtnam.&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;    xfc-ref_field = wa_contenttab1-char5.&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;      APPEND xfc1 TO ifc1.&lt;/P&gt;&lt;P&gt;      Clear: xfc1.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&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 not wa_contenttab1-char6 IS INITIAL.&lt;/P&gt;&lt;P&gt;      xfc1-fieldname = 'CHAR6'.&lt;/P&gt;&lt;P&gt;      xfc1-datatype = 'CHAR'.&lt;/P&gt;&lt;P&gt;      xfc1-inttype = 'C'.&lt;/P&gt;&lt;P&gt;      xfc1-intlen = 30.&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;     xfc1-ref_table = wa_contentheader1-vtnam.&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;     xfc1-ref_field = wa_contenttab1-char6.&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;      APPEND xfc TO ifc1.&lt;/P&gt;&lt;P&gt;      Clear: xfc1.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;    ELSE.&lt;/P&gt;&lt;P&gt;      xfc1-fieldname = 'CHAR6'.&lt;/P&gt;&lt;P&gt;      xfc1-datatype = 'CHAR'.&lt;/P&gt;&lt;P&gt;      xfc1-inttype = 'C'.&lt;/P&gt;&lt;P&gt;      xfc1-intlen = 30.&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;     xfc-ref_table = wa_contentheader1-vtnam.&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;     xfc-ref_field = wa_contenttab1-char6.&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;      APPEND xfc1 TO ifc1.&lt;/P&gt;&lt;P&gt;      Clear: xfc1.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&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 not wa_contenttab1-char7 IS INITIAL.&lt;/P&gt;&lt;P&gt;      xfc1-fieldname = 'CHAR7'.&lt;/P&gt;&lt;P&gt;      xfc1-datatype = 'CHAR'.&lt;/P&gt;&lt;P&gt;      xfc1-inttype = 'C'.&lt;/P&gt;&lt;P&gt;      xfc1-intlen = 30.&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;     xfc1-ref_table = wa_contentheader1-vtnam.&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;     xfc1-ref_field = wa_contenttab1-char7.&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;      APPEND xfc TO ifc1.&lt;/P&gt;&lt;P&gt;      Clear: xfc1.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;    ELSE.&lt;/P&gt;&lt;P&gt;      xfc1-fieldname = 'CHAR7'.&lt;/P&gt;&lt;P&gt;      xfc1-datatype = 'CHAR'.&lt;/P&gt;&lt;P&gt;      xfc1-inttype = 'C'.&lt;/P&gt;&lt;P&gt;      xfc1-intlen = 30.&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;     xfc-ref_table = wa_contentheader1-vtnam.&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;     xfc-ref_field = wa_contenttab1-char7.&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;      APPEND xfc1 TO ifc1.&lt;/P&gt;&lt;P&gt;      Clear: xfc1.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&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 not wa_contenttab1-char8 IS INITIAL.&lt;/P&gt;&lt;P&gt;      xfc1-fieldname = 'CHAR8'.&lt;/P&gt;&lt;P&gt;      xfc1-datatype = 'CHAR'.&lt;/P&gt;&lt;P&gt;      xfc1-inttype = 'C'.&lt;/P&gt;&lt;P&gt;      xfc1-intlen = 30.&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;     xfc1-ref_table = wa_contentheader1-vtnam.&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;     xfc1-ref_field = wa_contenttab1-char8.&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;*&lt;/P&gt;&lt;P&gt;      APPEND xfc1 TO ifc1.&lt;/P&gt;&lt;P&gt;      Clear: xfc1.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;    ELSE.&lt;/P&gt;&lt;P&gt;      xfc1-fieldname = 'CHAR8'.&lt;/P&gt;&lt;P&gt;      xfc1-datatype = 'CHAR'.&lt;/P&gt;&lt;P&gt;      xfc1-inttype = 'C'.&lt;/P&gt;&lt;P&gt;      xfc1-intlen = 30.&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;     xfc-ref_table = wa_contentheader1-vtnam.&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;     xfc-ref_field = wa_contenttab1-char8.&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;      APPEND xfc1 TO ifc1.&lt;/P&gt;&lt;P&gt;      Clear: xfc1.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&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 not wa_contenttab1-char9 IS INITIAL.&lt;/P&gt;&lt;P&gt;      xfc-fieldname = 'CHAR9'.&lt;/P&gt;&lt;P&gt;      xfc1-datatype = 'CHAR'.&lt;/P&gt;&lt;P&gt;      xfc1-inttype = 'C'.&lt;/P&gt;&lt;P&gt;      xfc1-intlen = 30.&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;     xfc1-ref_table = wa_contentheader1-vtnam.&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;     xfc1-ref_field = wa_contenttab1-char9.&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;      APPEND xfc1 TO ifc1.&lt;/P&gt;&lt;P&gt;      Clear: xfc1.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;    ELSE.&lt;/P&gt;&lt;P&gt;      xfc1-fieldname = 'CHAR9'.&lt;/P&gt;&lt;P&gt;      xfc1-datatype = 'CHAR'.&lt;/P&gt;&lt;P&gt;      xfc1-inttype = 'C'.&lt;/P&gt;&lt;P&gt;      xfc1-intlen = 30.&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;     xfc-ref_table = wa_contentheader1-vtnam.&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;     xfc-ref_field = wa_contenttab1-char9.&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;      APPEND xfc1 TO ifc1.&lt;/P&gt;&lt;P&gt;      Clear: xfc1.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&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 not wa_contenttab1-char10 IS INITIAL.&lt;/P&gt;&lt;P&gt;      xfc-fieldname = 'CHAR10'.&lt;/P&gt;&lt;P&gt;      xfc1-datatype = 'CHAR'.&lt;/P&gt;&lt;P&gt;      xfc-inttype = 'C'.&lt;/P&gt;&lt;P&gt;      xfc1-intlen = 30.&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;     xfc1-ref_table = wa_contentheader1-vtnam.&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;     xfc1-ref_field = wa_contenttab1-char10.&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;      APPEND xfc1 TO ifc1.&lt;/P&gt;&lt;P&gt;      Clear: xfc1.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;    ELSE.&lt;/P&gt;&lt;P&gt;      xfc1-fieldname = 'CHAR10'.&lt;/P&gt;&lt;P&gt;      xfc1-datatype = 'CHAR'.&lt;/P&gt;&lt;P&gt;      xfc1-inttype = 'C'.&lt;/P&gt;&lt;P&gt;      xfc1-intlen = 30.&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;     xfc-ref_table = wa_contentheader1-vtnam.&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;     xfc-ref_field = wa_contenttab1-char10.&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;      APPEND xfc1 TO ifc1.&lt;/P&gt;&lt;P&gt;      Clear: xfc1.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&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 not wa_contenttab1-char11 IS INITIAL.&lt;/P&gt;&lt;P&gt;      xfc1-fieldname = 'CHAR11'.&lt;/P&gt;&lt;P&gt;      xfc1-datatype = 'CHAR'.&lt;/P&gt;&lt;P&gt;      xfc1-inttype = 'C'.&lt;/P&gt;&lt;P&gt;      xfc1-intlen = 30.&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;     xfc1-ref_table = wa_contentheader1-vtnam.&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;     xfc1-ref_field = wa_contenttab1-char11.&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;      APPEND xfc1 TO ifc1.&lt;/P&gt;&lt;P&gt;      Clear: xfc1.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;    ELSE.&lt;/P&gt;&lt;P&gt;      xfc1-fieldname = 'CHAR11'.&lt;/P&gt;&lt;P&gt;      xfc-datatype = 'CHAR'.&lt;/P&gt;&lt;P&gt;      xfc1-inttype = 'C'.&lt;/P&gt;&lt;P&gt;      xfc1-intlen = 30.&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;     xfc-ref_table = wa_contentheader1-vtnam.&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;     xfc-ref_field = wa_contenttab1-char11.&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;*&lt;/P&gt;&lt;P&gt;      APPEND xfc1 TO ifc1.&lt;/P&gt;&lt;P&gt;      Clear: xfc1.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&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 not wa_contenttab1-char12 IS INITIAL.&lt;/P&gt;&lt;P&gt;      xfc1-fieldname = 'CHAR12'.&lt;/P&gt;&lt;P&gt;      xfc1-datatype = 'CHAR'.&lt;/P&gt;&lt;P&gt;      xfc1-inttype = 'C'.&lt;/P&gt;&lt;P&gt;      xfc1-intlen = 30.&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;     xfc1-ref_table = wa_contentheader1-vtnam.&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;     xfc1-ref_field = wa_contenttab1-char12.&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;      APPEND xfc1 TO ifc1.&lt;/P&gt;&lt;P&gt;      Clear: xfc1.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;    ELSE.&lt;/P&gt;&lt;P&gt;      xfc1-fieldname = 'CHAR12'.&lt;/P&gt;&lt;P&gt;      xfc1-datatype = 'CHAR'.&lt;/P&gt;&lt;P&gt;      xfc1-inttype = 'C'.&lt;/P&gt;&lt;P&gt;      xfc1-intlen = 30.&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;     xfc-ref_table = wa_contentheader1-vtnam.&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;     xfc-ref_field = wa_contenttab1-char12.&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;      APPEND xfc1 TO ifc1.&lt;/P&gt;&lt;P&gt;      Clear: xfc1.&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 not wa_contenttab1-char13 IS INITIAL.&lt;/P&gt;&lt;P&gt;      xfc1-fieldname = 'CHAR13'.&lt;/P&gt;&lt;P&gt;      xfc1-datatype = 'CHAR'.&lt;/P&gt;&lt;P&gt;      xfc1-inttype = 'C'.&lt;/P&gt;&lt;P&gt;      xfc1-intlen = 30.&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;     xfc1-ref_table = wa_contentheader1-vtnam.&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;     xfc1-ref_field = wa_contenttab1-char13.&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;      APPEND xfc1 TO ifc1.&lt;/P&gt;&lt;P&gt;      Clear: xfc1.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;    ELSE.&lt;/P&gt;&lt;P&gt;      xfc1-fieldname = 'CHAR13'.&lt;/P&gt;&lt;P&gt;      xfc1-datatype = 'CHAR'.&lt;/P&gt;&lt;P&gt;      xfc1-inttype = 'C'.&lt;/P&gt;&lt;P&gt;      xfc1-intlen = 30.&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;     xfc-ref_table = wa_contentheader1-vtnam.&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;     xfc-ref_field = wa_contenttab1-char13.&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;*&lt;/P&gt;&lt;P&gt;      APPEND xfc1 TO ifc1.&lt;/P&gt;&lt;P&gt;      Clear: xfc1.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&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 not wa_contenttab1-char14 IS INITIAL.&lt;/P&gt;&lt;P&gt;      xfc1-fieldname = 'CHAR14'.&lt;/P&gt;&lt;P&gt;      xfc1-datatype = 'CHAR'.&lt;/P&gt;&lt;P&gt;      xfc1-inttype = 'C'.&lt;/P&gt;&lt;P&gt;      xfc1-intlen = 30.&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;     xfc1-ref_table = wa_contentheader1-vtnam.&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;     xfc1-ref_field = wa_contenttab1-char14.&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;      APPEND xfc1 TO ifc1.&lt;/P&gt;&lt;P&gt;      Clear: xfc1.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;    ELSE.&lt;/P&gt;&lt;P&gt;      xfc1-fieldname = 'CHAR14'.&lt;/P&gt;&lt;P&gt;      xfc1-datatype = 'CHAR'.&lt;/P&gt;&lt;P&gt;      xfc1-inttype = 'C'.&lt;/P&gt;&lt;P&gt;      xfc1-intlen = 30.&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;     xfc-ref_table = wa_contentheader1-vtnam.&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;     xfc-ref_field = wa_contenttab1-char14.&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;*&lt;/P&gt;&lt;P&gt;      APPEND xfc1 TO ifc1.&lt;/P&gt;&lt;P&gt;      Clear: xfc1.&lt;/P&gt;&lt;P&gt;&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 not wa_contenttab1-char15 IS INITIAL.&lt;/P&gt;&lt;P&gt;      xfc1-fieldname = 'CHAR15'.&lt;/P&gt;&lt;P&gt;      xfc1-datatype = 'CHAR'.&lt;/P&gt;&lt;P&gt;      xfc1-inttype = 'C'.&lt;/P&gt;&lt;P&gt;      xfc1-intlen = 30.&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;     xfc1-ref_table = wa_contentheader1-vtnam.&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;     xfc1-ref_field = wa_contenttab1-char15.&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;      APPEND xfc1 TO ifc1.&lt;/P&gt;&lt;P&gt;      Clear: xfc1.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;    ELSE.&lt;/P&gt;&lt;P&gt;      xfc1-fieldname = 'CHAR15'.&lt;/P&gt;&lt;P&gt;      xfc-datatype = 'CHAR'.&lt;/P&gt;&lt;P&gt;      xfc1-inttype = 'C'.&lt;/P&gt;&lt;P&gt;      xfc1-intlen = 30.&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;     xfc-ref_table = wa_contentheader1-vtnam.&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;     xfc-ref_field = wa_contenttab1-char15.&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;      APPEND xfc1 TO ifc1.&lt;/P&gt;&lt;P&gt;      Clear: xfc1.&lt;/P&gt;&lt;P&gt;&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;  CALL METHOD cl_alv_table_create=&amp;gt;create_dynamic_table&lt;/P&gt;&lt;P&gt;    EXPORTING&lt;/P&gt;&lt;P&gt;      it_fieldcatalog = ifc1&lt;/P&gt;&lt;P&gt;    IMPORTING&lt;/P&gt;&lt;P&gt;      ep_table        = dy_table5.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  ASSIGN dy_table5-&amp;gt;* TO .&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;Create dynamic work area and assign to FS&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;  CREATE DATA dy_line5 LIKE LINE OF  IS ASSIGNED ).&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;Create dynamic work area and assign to FS&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;  CREATE DATA dy_line6 LIKE LINE OF .&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;*MOD-008&lt;/P&gt;&lt;P&gt;******************************************************&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;Creating the Internal table with the structure of the&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;current table.&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  SELECT *&lt;/P&gt;&lt;P&gt;      FROM (l_tabname)&lt;/P&gt;&lt;P&gt;      INTO TABLE .&lt;/P&gt;&lt;P&gt;******************************************************&lt;/P&gt;&lt;P&gt;*MOD-008&lt;/P&gt;&lt;P&gt;******************************************************&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;LOOP AT itab_content INTO wa_content.&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;     IF wa_content-container_size  = &amp;lt;fs_wa_table&amp;gt;-container_size AND&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;        wa_content-container_type  = &amp;lt;fs_wa_table&amp;gt;-container_type AND&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;        wa_content-port_of_discha   = &amp;lt;fs_wa_table&amp;gt;-port_of_discha AND&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;        wa_content-place_of_recei  = &amp;lt;fs_wa_table&amp;gt;-place_of_recei AND&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;        wa_content-varcond         = &amp;lt;fs_wa_table&amp;gt;-varcond.&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;        wa_content-delete = c_x.&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;       MODIFY itab_content FROM wa_content TRANSPORTING delete.&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;     ENDIF.&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt; ENDLOOP.&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt; DELETE itab_content WHERE delete = c_x.&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;*&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt; SORT itab_content BY container_size&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;                      container_type&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;                      port_of_discha&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;                      place_of_recei&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;                      varcond.&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;*&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt; DELETE ADJACENT DUPLICATES FROM itab_content.&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;*&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt; DELETE itab_content WHERE container_size IS INITIAL.&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;***********************************************************&lt;/P&gt;&lt;P&gt;*MOD-008&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; go_sdescr ?= cl_abap_structdescr=&amp;gt;describe_by_name( l_tabname ).&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt; gd_tabnam     = go_sdescr-&amp;gt;get_relative_name( ).&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;*&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt; DO 5 TIMES.&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;   READ TABLE go_sdescr-&amp;gt;components INTO gs_component INDEX syst-index.&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;*&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;   CONCATENATE gd_tabnam gs_component-name INTO gd_tabfield&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;                                           SEPARATED BY '-'.&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;*&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;   CLEAR: gs_comp.&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;   gs_comp-type ?= cl_abap_datadescr=&amp;gt;describe_by_name( gd_tabfield ).&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;   gs_comp-name  = gs_component-name.&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;   APPEND gs_comp TO gt_components.&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt; ENDDO.&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;********************************************************&lt;/P&gt;&lt;P&gt;*MOD-012&lt;/P&gt;&lt;P&gt;********************************************************&lt;/P&gt;&lt;P&gt;  LOOP AT  TO wa_content.&lt;/P&gt;&lt;P&gt;    APPEND wa_content TO itab_content.&lt;/P&gt;&lt;P&gt;  ENDLOOP.&lt;/P&gt;&lt;P&gt;********************************************************&lt;/P&gt;&lt;P&gt;*MOD-012&lt;/P&gt;&lt;P&gt;********************************************************&lt;/P&gt;&lt;P&gt;  DATA: WA_DATATAB TYPE TY_DATA.&lt;/P&gt;&lt;P&gt;  DELETE GT_COMPONENTS INDEX 1.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  SELECT TABNAME FIELDNAME&lt;/P&gt;&lt;P&gt;  INTO TABLE ITAB_DD03L&lt;/P&gt;&lt;P&gt;  FROM DD03L&lt;/P&gt;&lt;P&gt;  WHERE TABNAME = L_TABNAME.&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;P&gt;  DELETE ITAB_DD03L INDEX 1.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  READ TABLE I_CONTENTTAB3 INTO WA_CONTENTTAB3 INDEX 1.&lt;/P&gt;&lt;P&gt;  IF SY-SUBRC = 0.&lt;/P&gt;&lt;P&gt;    APPEND WA_CONTENTTAB3 TO I_CONTENTTAB4.&lt;/P&gt;&lt;P&gt;    CLEAR WA_CONTENTTAB3.&lt;/P&gt;&lt;P&gt;  ENDIF.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  DELETE ITAB_CONTENT WHERE VTNAM IS INITIAL.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  LOOP AT ITAB_DD03L INTO WA_DD03L.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;   LOOP AT ITAB_CONTENT INTO wa_content.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;     CHECK SY-SUBRC = 0.&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;*&lt;/P&gt;&lt;P&gt;      L_TABIX = SY-TABIX.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;    CONCATENATE 'L_WA_FINAL' GS_COMP-NAME INTO L_WA_FINAL SEPARATED BY '-'.&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;    CONCATENATE 'WA_CONTENT-CHAR' L_TABIX INTO L_WA_CONTENT1.&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;      CONCATENATE 'CHAR' L_TABIX INTO L_WA_CONTENT1.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;      l_value = wa_content-char1.&lt;/P&gt;&lt;P&gt;      l_value1 = WA_DD03L-FIELDNAME.&lt;/P&gt;&lt;P&gt;      ASSIGN WA_DD03L-FIELDNAME  to .&lt;/P&gt;&lt;P&gt;      WA_DATATAB-NAME = l_value1.&lt;/P&gt;&lt;P&gt;      WA_DATATAB-VALUE = l_value.&lt;/P&gt;&lt;P&gt;      APPEND WA_DATATAB TO I_DATATAB.&lt;/P&gt;&lt;P&gt;      CLEAR:WA_DATATAB.&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;     ASSIGN COMPONENT GS_COMP-NAME OF STRUCTURE GS_COMP TO &amp;lt;fs_field&amp;gt;.&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;     IF &amp;lt;fs_field&amp;gt; IS ASSIGNED.&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;        ASSIGN COMPONENT L_WA_CONTENT1 OF STRUCTURE &amp;lt;dyn_wa5&amp;gt; TO &amp;lt;fs_field1&amp;gt;.&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;        IF &amp;lt;fs_field1&amp;gt; IS ASSIGNED.&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;           &amp;lt;fs_field&amp;gt; = &amp;lt;fs_field1&amp;gt;.&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;        ENDIF.&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;     ENDIF.&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;     INSERT &amp;lt;dyn_wa&amp;gt; INTO TABLE &amp;lt;dyn_table&amp;gt;.&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;******************************************************************************&lt;/P&gt;&lt;P&gt;    ENDLOOP.&lt;/P&gt;&lt;P&gt;  ENDLOOP.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  SORT I_DATATAB BY NAME VALUE.&lt;/P&gt;&lt;P&gt;  DELETE ADJACENT DUPLICATES FROM I_DATATAB.&lt;/P&gt;&lt;P&gt;  APPEND I_DATATAB TO .&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt; IF NOT &amp;lt;dyn_table&amp;gt; IS INITIAL.&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;   INSERT (l_tabname) FROM TABLE &amp;lt;dyn_table&amp;gt;.&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt; ENDIF.&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;*&lt;/P&gt;&lt;P&gt;*********************************************************************************&lt;/P&gt;&lt;P&gt;*MOD-012&lt;/P&gt;&lt;P&gt;*********************************************************************************&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;UL&gt;&lt;LI level="2" type="ul"&gt;&lt;P&gt;Append last line for brand name subtotal&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt; IF &amp;lt;FS_DYN_WA_BNAME&amp;gt; IS NOT INITIAL.&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;   CONCATENATE LC_TOTAL &amp;lt;FS_DYN_WA_BNAME&amp;gt;+30(LC_BRANDNAME_LEN)&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;      INTO &amp;lt;FS_DYN_WA_BNAME&amp;gt;+70(40) SEPARATED BY SPACE.&lt;/P&gt;&lt;/LI&gt;&lt;UL&gt;&lt;LI level="2" type="ul"&gt;&lt;P&gt; &amp;lt;DYN_WA1&amp;gt;&lt;EM&gt;4(4) = &amp;lt;DYN_WA1&amp;gt;&lt;/EM&gt;LV_OFFSET1(4).&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;   APPEND &amp;lt;FS_DYN_WA_BNAME&amp;gt; TO &amp;lt;FS_DYN_TABLE&amp;gt;.&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt; ENDIF.&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;*&lt;/P&gt;&lt;P&gt;********************************************************&lt;/P&gt;&lt;P&gt;*MOD-012&lt;/P&gt;&lt;P&gt;********************************************************&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt; LOOP AT &amp;lt;dyn_table2&amp;gt; ASSIGNING &amp;lt;dyn_wa5&amp;gt;.&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;   MOVE-CORRESPONDING &amp;lt;dyn_wa5&amp;gt; TO wa_content.&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;   APPEND wa_content TO itab_content.&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt; ENDLOOP.&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;********************************************************&lt;/P&gt;&lt;P&gt;*MOD-012&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; LOOP AT ITAB_CONTENT INTO WA_CONTENT.&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;   L_TABIX = SY-TABIX.&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;   LOOP AT GT_COMPONENTS INTO GS_COMP.&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;     CONCATENATE 'L_WA_FINAL' GS_COMP-NAME INTO L_WA_FINAL SEPARATED BY '-'.&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;     CONCATENATE 'L_WA_CONTENT-CHAR' L_TABIX INTO L_WA_CONTENT1.&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;     ASSIGN L_WA_FINAL TO &amp;lt;WA_FINAL&amp;gt;.&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;     &amp;lt;dyn_wa&amp;gt; = &amp;lt;WA_FINAL&amp;gt;.&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;     INSERT &amp;lt;dyn_wa&amp;gt; INTO TABLE &amp;lt;dyn_table&amp;gt;.&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;     UNASSIGN &amp;lt;WA_FINAL&amp;gt;.&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;     UNASSIGN &amp;lt;dyn_wa&amp;gt;.&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;     ASSIGN L_WA_CONTENT1 TO &amp;lt;WA_FINAL&amp;gt;.&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;     &amp;lt;dyn_wa&amp;gt; = &amp;lt;WA_FINAL&amp;gt;.&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;     INSERT &amp;lt;dyn_wa&amp;gt; INTO TABLE &amp;lt;dyn_table&amp;gt;.&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;     UNASSIGN &amp;lt;WA_FINAL&amp;gt;.&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;     UNASSIGN &amp;lt;dyn_wa&amp;gt;.&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;   ENDLOOP.&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt; ENDLOOP.&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;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt; IF NOT &amp;lt;itab_final&amp;gt; IS INITIAL.&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;   INSERT (l_tabname) FROM TABLE &amp;lt;itab_final&amp;gt;.&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt; ENDIF.&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;********************************************************************&lt;/P&gt;&lt;P&gt;**MOD-012&lt;/P&gt;&lt;P&gt;********************************************************************&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;********************************************************************&lt;/P&gt;&lt;P&gt;*MOD-012&lt;/P&gt;&lt;P&gt;*********************************************************************&lt;/P&gt;&lt;P&gt;**comments : Wa_content decalration should be dynamic.&lt;/P&gt;&lt;P&gt;**Decalare it as dynamic and assign the fields&lt;/P&gt;&lt;P&gt;**make sure to condense the fields&lt;/P&gt;&lt;P&gt;*&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt; LOOP AT &amp;lt;dyn_table2&amp;gt; ASSIGNING &amp;lt;dyn_wa5&amp;gt;.&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;   MOVE-CORRESPONDING &amp;lt;dyn_wa5&amp;gt; TO wa_content.&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;   APPEND wa_content TO itab_content.&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt; ENDLOOP.&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;*&lt;/P&gt;&lt;P&gt;**Now you have the data in itab_content and go ahead with actual&lt;/P&gt;&lt;P&gt;**processing.&lt;/P&gt;&lt;P&gt;*&lt;/P&gt;&lt;P&gt;**Try to debug the code and see how I have populated the data.&lt;/P&gt;&lt;P&gt;*&lt;STRONG&gt;end of changes&lt;/STRONG&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;ASSIGN itab_content TO &amp;lt;itab_final&amp;gt; .&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;********************************************************************&lt;/P&gt;&lt;P&gt;*MOD-012&lt;/P&gt;&lt;P&gt;*********************************************************************&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt; IF NOT &amp;lt;itab_final&amp;gt; IS INITIAL.&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;   INSERT (l_tabname) FROM TABLE &amp;lt;itab_final&amp;gt;.&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt; ENDIF.&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;*********************************************************&lt;/P&gt;&lt;P&gt;*MOD-012&lt;/P&gt;&lt;P&gt;*********************************************************&lt;/P&gt;&lt;P&gt;**********************************************************&lt;/P&gt;&lt;P&gt;**MOD-004&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; LOOP AT &amp;lt;DYN_TABLE&amp;gt; ASSIGNING &amp;lt;fs_wa_cond_tab_data&amp;gt;.&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;*&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;   ASSIGN COMPONENT 'SM_APPL_SOFTWARE' OF STRUCTURE&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;                 &amp;lt;fs_wa_cond_tab_data&amp;gt;  TO &amp;lt;fs_field&amp;gt;.&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;*&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;   IF &amp;lt;fs_field&amp;gt; IS ASSIGNED.&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;     l_wa_contenttab1-SM_APPL_SOFTWARE = &amp;lt;fs_field&amp;gt;.&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;     UNASSIGN &amp;lt;fs_field&amp;gt;.&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;   ENDIF.&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;*&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;   ASSIGN COMPONENT 'SM_SOFTWARE_VERS' OF STRUCTURE&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;                 &amp;lt;fs_wa_cond_tab_data&amp;gt;  TO &amp;lt;fs_field&amp;gt;.&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;*&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;   IF &amp;lt;fs_field&amp;gt; IS ASSIGNED.&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;     l_wa_contenttab1-SM_SOFTWARE_VERS = &amp;lt;fs_field&amp;gt;.&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;     UNASSIGN &amp;lt;fs_field&amp;gt;.&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;   ENDIF.&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;*&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;   ASSIGN COMPONENT 'SM_OPERATING_SYS' OF STRUCTURE&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;                 &amp;lt;fs_wa_cond_tab_data&amp;gt;  TO &amp;lt;fs_field&amp;gt;.&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;*&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;   IF &amp;lt;fs_field&amp;gt; IS ASSIGNED.&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;     l_wa_contenttab1-SM_OPERATING_SYS = &amp;lt;fs_field&amp;gt;.&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;     UNASSIGN &amp;lt;fs_field&amp;gt;.&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;   ENDIF.&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;*&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;   APPEND l_wa_contenttab1 TO itab_final.&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;   CLEAR l_wa_contenttab1.&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;*&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt; ENDLOOP.&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;****************************************************************&lt;/P&gt;&lt;P&gt;*MOD-008&lt;/P&gt;&lt;P&gt;****************************************************************&lt;/P&gt;&lt;P&gt;****************************************************************&lt;/P&gt;&lt;P&gt;*MOD-012&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.                    "get_data&lt;/P&gt;&lt;P&gt;*&amp;amp;----&lt;/P&gt;&lt;HR originaltext="---------------------------------------------------------------" /&gt;&lt;P&gt;*&lt;/P&gt;&lt;P&gt;*&amp;amp;      Form  GET_DATA&lt;/P&gt;&lt;P&gt;*&amp;amp;----&lt;/P&gt;&lt;HR originaltext="---------------------------------------------------------------" /&gt;&lt;P&gt;*&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Mon, 04 Aug 2008 05:27:44 GMT</pubDate>
      <guid>https://community.sap.com/t5/application-development-and-automation-discussions/issue-in-dynamic-structure-and-component-program/m-p/4302811#M1026050</guid>
      <dc:creator>Former Member</dc:creator>
      <dc:date>2008-08-04T05:27:44Z</dc:date>
    </item>
    <item>
      <title>Re: Issue in Dynamic Structure and Component Program</title>
      <link>https://community.sap.com/t5/application-development-and-automation-discussions/issue-in-dynamic-structure-and-component-program/m-p/4302812#M1026051</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Thanks India for answering my question.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;cheers&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Aveek&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Mon, 04 Aug 2008 14:16:39 GMT</pubDate>
      <guid>https://community.sap.com/t5/application-development-and-automation-discussions/issue-in-dynamic-structure-and-component-program/m-p/4302812#M1026051</guid>
      <dc:creator>Former Member</dc:creator>
      <dc:date>2008-08-04T14:16:39Z</dc:date>
    </item>
    <item>
      <title>Re: Issue in Dynamic Structure and Component Program</title>
      <link>https://community.sap.com/t5/application-development-and-automation-discussions/issue-in-dynamic-structure-and-component-program/m-p/4302813#M1026052</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Solved it myself, Thanks.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;cheers&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Aveek&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Wed, 06 Aug 2008 09:48:24 GMT</pubDate>
      <guid>https://community.sap.com/t5/application-development-and-automation-discussions/issue-in-dynamic-structure-and-component-program/m-p/4302813#M1026052</guid>
      <dc:creator>Former Member</dc:creator>
      <dc:date>2008-08-06T09:48:24Z</dc:date>
    </item>
    <item>
      <title>Re: Issue in Dynamic Structure and Component Program</title>
      <link>https://community.sap.com/t5/application-development-and-automation-discussions/issue-in-dynamic-structure-and-component-program/m-p/4302814#M1026053</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Hi,&lt;/P&gt;&lt;P&gt;  Based on Rich Heilmans Blog I have built the dynamic part of the code. I would appreciate if someone could check and comment on it.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  perform get_structure.&lt;/P&gt;&lt;P&gt;  perform create_dynamic_itab.&lt;/P&gt;&lt;P&gt;  perform get_data.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;&amp;amp;----&lt;/STRONG&gt;&lt;/P&gt;&lt;HR originaltext="----------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;*&amp;amp;      Form  GET_STRUCTURE&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;&amp;amp;----&lt;/STRONG&gt;&lt;/P&gt;&lt;HR originaltext="----------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;      text&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;&lt;STRONG&gt;----&lt;/STRONG&gt;&lt;/P&gt;&lt;HR originaltext="-----------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt; --&amp;gt;  p1        text&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt; &amp;lt;--  p2        text&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;&lt;STRONG&gt;----&lt;/STRONG&gt;&lt;/P&gt;&lt;HR originaltext="-----------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;form get_structure.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  data : idetails type abap_compdescr_tab,&lt;/P&gt;&lt;P&gt;         xdetails type abap_compdescr.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  data : ref_table_des type ref to cl_abap_structdescr.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;Local variable declaration&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;  DATA:  l_tabname TYPE tabname.&lt;/P&gt;&lt;P&gt;  MOVE   wa_contentheader1-vtnam TO l_tabname.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;Get the structure of the table.&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;  ref_table_des ?=&lt;/P&gt;&lt;P&gt;      cl_abap_typedescr=&amp;gt;describe_by_name( l_tabname ).&lt;/P&gt;&lt;P&gt;  idetails[] = ref_table_des-&amp;gt;components[].&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  loop at idetails into xdetails.&lt;/P&gt;&lt;P&gt;    clear xfc.&lt;/P&gt;&lt;P&gt;    xfc-fieldname = xdetails-name .&lt;/P&gt;&lt;P&gt;    xfc-datatype = xdetails-type_kind.&lt;/P&gt;&lt;P&gt;    xfc-inttype = xdetails-type_kind.&lt;/P&gt;&lt;P&gt;    xfc-intlen = xdetails-length.&lt;/P&gt;&lt;P&gt;    xfc-decimals = xdetails-decimals.&lt;/P&gt;&lt;P&gt;    xfc-ref_table = wa_contentheader1.&lt;/P&gt;&lt;P&gt;    xfc-ref_field = xdetails-name.&lt;/P&gt;&lt;P&gt;    append xfc to ifc.&lt;/P&gt;&lt;P&gt;  endloop.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;endform.                    "get_structure&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;&amp;amp;----&lt;/STRONG&gt;&lt;/P&gt;&lt;HR originaltext="----------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;*&amp;amp;      Form  CREATE_DYNAMIC_ITAB&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;&amp;amp;----&lt;/STRONG&gt;&lt;/P&gt;&lt;HR originaltext="----------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;      text&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;&lt;STRONG&gt;----&lt;/STRONG&gt;&lt;/P&gt;&lt;HR originaltext="-----------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt; --&amp;gt;  p1        text&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt; &amp;lt;--  p2        text&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;&lt;STRONG&gt;----&lt;/STRONG&gt;&lt;/P&gt;&lt;HR originaltext="-----------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;form create_dynamic_itab.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;Create dynamic internal table and assign to FS&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;  call method cl_alv_table_create=&amp;gt;create_dynamic_table&lt;/P&gt;&lt;P&gt;    EXPORTING&lt;/P&gt;&lt;P&gt;      it_fieldcatalog = ifc&lt;/P&gt;&lt;P&gt;    IMPORTING&lt;/P&gt;&lt;P&gt;      ep_table        = dy_table.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  assign dy_table-&amp;gt;* to &amp;lt;dyn_table&amp;gt;.&lt;/P&gt;&lt;P&gt;  assign dy_table-&amp;gt;* to &amp;lt;dyn_table1&amp;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;Create dynamic work area and assign to FS&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;  create data dy_line like line of &amp;lt;dyn_table&amp;gt;.&lt;/P&gt;&lt;P&gt;  assign dy_line-&amp;gt;* to &amp;lt;dyn_wa&amp;gt;.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;Create dynamic work area and assign to the dynamic table&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;  CREATE DATA LV_LINE2 LIKE LINE OF &amp;lt;dyn_table&amp;gt;.&lt;/P&gt;&lt;P&gt;  ASSIGN LV_LINE2-&amp;gt;* TO &amp;lt;FS_DYN_WA&amp;gt;.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;endform.                    "create_dynamic_itab&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;&amp;amp;----&lt;/STRONG&gt;&lt;/P&gt;&lt;HR originaltext="----------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;*&amp;amp;      Form  GET_DATA&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;&amp;amp;----&lt;/STRONG&gt;&lt;/P&gt;&lt;HR originaltext="----------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;      text&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;&lt;STRONG&gt;----&lt;/STRONG&gt;&lt;/P&gt;&lt;HR originaltext="-----------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt; --&amp;gt;  p1        text&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt; &amp;lt;--  p2        text&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;&lt;STRONG&gt;----&lt;/STRONG&gt;&lt;/P&gt;&lt;HR originaltext="-----------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;form get_data.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  FIELD-SYMBOLS: &amp;lt;fs&amp;gt; TYPE ANY TABLE.&lt;/P&gt;&lt;P&gt;  FIELD-SYMBOLS: &amp;lt;itab_final&amp;gt; TYPE STANDARD TABLE.&lt;/P&gt;&lt;P&gt;  FIELD-SYMBOLS: &amp;lt;wa_table1&amp;gt; TYPE ANY.&lt;/P&gt;&lt;P&gt;  FIELD-SYMBOLS: &amp;lt;wa_contenttab1&amp;gt; TYPE ANY TABLE.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  DATA:   WA_CONTENT TYPE TY_CONTENT.&lt;/P&gt;&lt;P&gt;  DATA:   ITAB_CONTENT TYPE standard table of TY_CONTENT.&lt;/P&gt;&lt;P&gt;  DATA:   W_FIELDNAME(30) TYPE C.&lt;/P&gt;&lt;P&gt;  DATA:   L_COMP1(30) TYPE C,&lt;/P&gt;&lt;P&gt;          L_COMP2(30) TYPE C,&lt;/P&gt;&lt;P&gt;          L_COMP3(30) TYPE C,&lt;/P&gt;&lt;P&gt;          L_COMP4(30) TYPE C,&lt;/P&gt;&lt;P&gt;          L_COMP5(30) TYPE C,&lt;/P&gt;&lt;P&gt;          L_COMP6(30) TYPE C,&lt;/P&gt;&lt;P&gt;          L_COMP7(30) TYPE C,&lt;/P&gt;&lt;P&gt;          L_COMP8(30) TYPE C,&lt;/P&gt;&lt;P&gt;          L_COMP9(30) TYPE C,&lt;/P&gt;&lt;P&gt;          L_COMP10(30) TYPE C,&lt;/P&gt;&lt;P&gt;          L_COMP11(30) TYPE C,&lt;/P&gt;&lt;P&gt;          L_COMP12(30) TYPE C,&lt;/P&gt;&lt;P&gt;          L_COMP13(30) TYPE C,&lt;/P&gt;&lt;P&gt;          L_COMP14(30) TYPE C,&lt;/P&gt;&lt;P&gt;          L_COMP15(30) TYPE C.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt; TYPES: BEGIN OF ty_content.&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;         INCLUDE STRUCTURE ZSM_SW_VERSION.&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt; TYPES:    delete(1) TYPE c.&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt; TYPES: END OF ty_content.&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;*&lt;/P&gt;&lt;P&gt;  DATA: l_wa_contenttab1 TYPE ty_content.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  DATA: wa_final(30) TYPE C.&lt;/P&gt;&lt;P&gt;  DATA: l_value(15) type c.&lt;/P&gt;&lt;P&gt;  DATA: l_value1(30) type c.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  data: l_lines type i,&lt;/P&gt;&lt;P&gt;        l_index1 type sy-index,&lt;/P&gt;&lt;P&gt;        l_index2 type sy-index.&lt;/P&gt;&lt;P&gt;  field-symbols: &amp;lt;fs_field2&amp;gt; type any,&lt;/P&gt;&lt;P&gt;                 &amp;lt;fs_field3&amp;gt; type any.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  DATA: itab_final TYPE STANDARD TABLE OF ty_content.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  FIELD-SYMBOLS: &amp;lt;wa_content&amp;gt; TYPE ANY TABLE,&lt;/P&gt;&lt;P&gt;                 &amp;lt;itab_content&amp;gt; TYPE STANDARD TABLE.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  FIELD-SYMBOLS:   &amp;lt;fs_i_cond_tab_data&amp;gt; TYPE STANDARD TABLE,&lt;/P&gt;&lt;P&gt;                   &amp;lt;fs_wa_cond_tab_data&amp;gt; TYPE ANY,&lt;/P&gt;&lt;P&gt;                   &amp;lt;fs_field&amp;gt; TYPE ANY,&lt;/P&gt;&lt;P&gt;                   &amp;lt;fs_field1&amp;gt; TYPE ANY,&lt;/P&gt;&lt;P&gt;                   &amp;lt;fs_wa_table&amp;gt;  TYPE ZSM_SW_VERSION,&lt;/P&gt;&lt;P&gt;                   &amp;lt;DYN_TABLE_WA&amp;gt; TYPE ANY TABLE.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;Internal table of data&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;  DATA: i_cond_tab_data TYPE REF TO data.&lt;/P&gt;&lt;P&gt;  DATA: i_cond_tab TYPE REF TO data.&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;Local variable declaration&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;  DATA:  l_tabname TYPE tabname.    "Table name&lt;/P&gt;&lt;P&gt;  TYPES: BEGIN OF TY_CHARAC,&lt;/P&gt;&lt;P&gt;          CHAR(30) TYPE C,&lt;/P&gt;&lt;P&gt;         END OF TY_CHARAC.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  TYPES: BEGIN OF TY_DD03L,&lt;/P&gt;&lt;P&gt;          TABNAME TYPE TABNAME,&lt;/P&gt;&lt;P&gt;          FIELDNAME TYPE FIELDNAME,&lt;/P&gt;&lt;P&gt;         END OF TY_DD03L.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  DATA: ITAB_DD03L TYPE STANDARD TABLE OF TY_DD03L.&lt;/P&gt;&lt;P&gt;  DATA: WA_DD03L TYPE TY_DD03L.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  DATA: L_WA_CONTENT TYPE TY_CHARAC.&lt;/P&gt;&lt;P&gt;  DATA: L_WA_CONTENT1(30) TYPE C.&lt;/P&gt;&lt;P&gt;  DATA: L_TABIX(2) TYPE C.&lt;/P&gt;&lt;P&gt;  FIELD-SYMBOLS:   &amp;lt;FS_FIELD_FROM&amp;gt;,&lt;/P&gt;&lt;P&gt;                   &amp;lt;FS_FIELD_TO&amp;gt;.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  DATA : container_size TYPE char20,&lt;/P&gt;&lt;P&gt;         xfc1 TYPE lvc_s_fcat,&lt;/P&gt;&lt;P&gt;         xfc  TYPE lvc_s_fcat,&lt;/P&gt;&lt;P&gt;         ifc1 TYPE lvc_t_fcat,&lt;/P&gt;&lt;P&gt;         dy_table5 TYPE REF TO data,&lt;/P&gt;&lt;P&gt;         dy_line5  TYPE REF TO data,&lt;/P&gt;&lt;P&gt;         dy_line6  TYPE REF TO data.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  FIELD-SYMBOLS :   &amp;lt;fs1&amp;gt; TYPE ANY,&lt;/P&gt;&lt;P&gt;                    &amp;lt;fst&amp;gt; TYPE ANY,&lt;/P&gt;&lt;P&gt;                    &amp;lt;dyn_table2&amp;gt; TYPE STANDARD TABLE,&lt;/P&gt;&lt;P&gt;                    &amp;lt;dyn_table3&amp;gt; TYPE STANDARD TABLE,&lt;/P&gt;&lt;P&gt;                    &amp;lt;dyn_wa5&amp;gt; TYPE ANY,&lt;/P&gt;&lt;P&gt;                    &amp;lt;dyn_wa6&amp;gt; TYPE ANY,&lt;/P&gt;&lt;P&gt;                    &amp;lt;WA_FINAL&amp;gt; TYPE ANY.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  TYPES: BEGIN OF TY_FIELD,&lt;/P&gt;&lt;P&gt;           FIELD(30) TYPE C.&lt;/P&gt;&lt;P&gt;  TYPES: END OF TY_FIELD.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  DATA: L_FIELD(30) TYPE C.&lt;/P&gt;&lt;P&gt;  DATA: WA_ITAB_FINAL(15) TYPE C.&lt;/P&gt;&lt;P&gt;  DATA: L_WA_FINAL(45) TYPE C.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  DATA: WA_FIELD TYPE TY_FIELD.&lt;/P&gt;&lt;P&gt;  DATA: ITAB_FIELD TYPE STANDARD TABLE OF TY_FIELD.&lt;/P&gt;&lt;P&gt;  CONSTANTS C_FINAL(20)     TYPE C          VALUE 'L_WA_FINAL'."#EC *&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  TYPES: BEGIN OF TY_COMP,&lt;/P&gt;&lt;P&gt;          COMP(30) TYPE C,&lt;/P&gt;&lt;P&gt;         END OF TY_COMP.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  TYPES: BEGIN OF TY_CHAR,&lt;/P&gt;&lt;P&gt;          CHAR(30) TYPE C,&lt;/P&gt;&lt;P&gt;         END OF TY_CHAR.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  DATA:&lt;/P&gt;&lt;P&gt;  gd_tabnam        TYPE string,&lt;/P&gt;&lt;P&gt;  gd_tabfield      TYPE string,&lt;/P&gt;&lt;P&gt;  go_table         TYPE REF TO cl_salv_table,&lt;/P&gt;&lt;P&gt;  go_sdescr        TYPE REF TO cl_abap_structdescr,&lt;/P&gt;&lt;P&gt;  go_sdescr_new    TYPE REF TO cl_abap_structdescr,&lt;/P&gt;&lt;P&gt;  go_tdescr        TYPE REF TO cl_abap_tabledescr,&lt;/P&gt;&lt;P&gt;  gdo_data         TYPE REF TO data,&lt;/P&gt;&lt;P&gt;  gdo_handle       TYPE REF TO data,&lt;/P&gt;&lt;P&gt;  gs_component     TYPE abap_compdescr,&lt;/P&gt;&lt;P&gt;  gs_comp          TYPE abap_componentdescr,&lt;/P&gt;&lt;P&gt;  gt_components    TYPE abap_component_tab.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  MOVE wa_contentheader1-vtnam TO l_tabname.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;******************************************************&lt;/P&gt;&lt;P&gt;*MOD-008&lt;/P&gt;&lt;P&gt;******************************************************&lt;/P&gt;&lt;P&gt;  READ TABLE i_contenttab1 INTO wa_contenttab1 INDEX 1.&lt;/P&gt;&lt;P&gt;  IF sy-subrc IS INITIAL.&lt;/P&gt;&lt;P&gt;    xfc1-datatype = 'C'.&lt;/P&gt;&lt;P&gt;    xfc1-inttype = 'C'.&lt;/P&gt;&lt;P&gt;    xfc1-intlen = 30.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;    IF not wa_contenttab1-char1 IS INITIAL.&lt;/P&gt;&lt;P&gt;      xfc1-fieldname = 'VTNAM'.&lt;/P&gt;&lt;P&gt;      xfc1-datatype = 'CHAR'.&lt;/P&gt;&lt;P&gt;      xfc1-inttype = 'C'.&lt;/P&gt;&lt;P&gt;      xfc1-intlen = 18.&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;     xfc1-ref_table = wa_contentheader1-vtnam.&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;     xfc1-ref_field = wa_contenttab1-char1.&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;    ELSE.&lt;/P&gt;&lt;P&gt;      xfc1-fieldname = 'VTNAM'.&lt;/P&gt;&lt;P&gt;      xfc1-datatype = 'CHAR'.&lt;/P&gt;&lt;P&gt;      xfc1-inttype = 'C'.&lt;/P&gt;&lt;P&gt;      xfc1-intlen = 18.&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;     xfc-ref_table = wa_contentheader1-vtnam.&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;     xfc-ref_field = wa_contenttab1-char1.&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;    ENDIF.&lt;/P&gt;&lt;P&gt;    APPEND xfc1 TO ifc1.&lt;/P&gt;&lt;P&gt;    Clear: xfc1.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;    IF not wa_contenttab1-char1 IS INITIAL.&lt;/P&gt;&lt;P&gt;      xfc1-fieldname = 'CHAR1'.&lt;/P&gt;&lt;P&gt;      xfc1-datatype = 'CHAR'.&lt;/P&gt;&lt;P&gt;      xfc1-inttype = 'C'.&lt;/P&gt;&lt;P&gt;      xfc1-intlen = 30.&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;     xfc1-ref_table = wa_contentheader1-vtnam.&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;     xfc1-ref_field = wa_contenttab1-char1.&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;    ELSE.&lt;/P&gt;&lt;P&gt;      xfc1-fieldname = 'CHAR1'.&lt;/P&gt;&lt;P&gt;      xfc1-datatype = 'CHAR'.&lt;/P&gt;&lt;P&gt;      xfc1-inttype = 'C'.&lt;/P&gt;&lt;P&gt;      xfc1-intlen = 30.&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;     xfc-ref_table = wa_contentheader1-vtnam.&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;     xfc-ref_field = wa_contenttab1-char1.&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;    ENDIF.&lt;/P&gt;&lt;P&gt;    APPEND xfc1 TO ifc1.&lt;/P&gt;&lt;P&gt;    Clear: xfc1.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;    IF not wa_contenttab1-char2 IS INITIAL.&lt;/P&gt;&lt;P&gt;      xfc1-fieldname = 'CHAR2'.&lt;/P&gt;&lt;P&gt;      xfc1-datatype = 'CHAR'.&lt;/P&gt;&lt;P&gt;      xfc1-inttype = 'C'.&lt;/P&gt;&lt;P&gt;      xfc1-intlen = 30.&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;     xfc1-ref_table = wa_contentheader1-vtnam.&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;     xfc1-ref_field = wa_contenttab1-char2.&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;    ELSE.&lt;/P&gt;&lt;P&gt;      xfc1-fieldname = 'CHAR2'.&lt;/P&gt;&lt;P&gt;      xfc1-datatype = 'CHAR'.&lt;/P&gt;&lt;P&gt;      xfc1-inttype = 'C'.&lt;/P&gt;&lt;P&gt;      xfc1-intlen = 30.&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;     xfc-ref_table = wa_contentheader1-vtnam.&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;     xfc-ref_field = wa_contenttab1-char2.&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;    ENDIF.&lt;/P&gt;&lt;P&gt;    APPEND xfc1 TO ifc1.&lt;/P&gt;&lt;P&gt;    Clear: xfc1.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;    IF not wa_contenttab1-char3 IS INITIAL.&lt;/P&gt;&lt;P&gt;      xfc1-fieldname = 'CHAR3'.&lt;/P&gt;&lt;P&gt;      xfc1-datatype = 'CHAR'.&lt;/P&gt;&lt;P&gt;      xfc1-inttype = 'C'.&lt;/P&gt;&lt;P&gt;      xfc1-intlen = 30.&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;     xfc1-ref_table = wa_contentheader1-vtnam.&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;     xfc1-ref_field = wa_contenttab1-char3.&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;    ELSE.&lt;/P&gt;&lt;P&gt;      xfc1-fieldname = 'CHAR3'.&lt;/P&gt;&lt;P&gt;      xfc1-datatype = 'CHAR'.&lt;/P&gt;&lt;P&gt;      xfc1-inttype = 'C'.&lt;/P&gt;&lt;P&gt;      xfc1-intlen = 30.&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;     xfc-ref_table = wa_contentheader1-vtnam.&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;     xfc-ref_field = wa_contenttab1-char3.&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;    ENDIF.&lt;/P&gt;&lt;P&gt;    APPEND xfc1 TO ifc1.&lt;/P&gt;&lt;P&gt;    Clear: xfc1.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;    IF not wa_contenttab1-char4 IS INITIAL.&lt;/P&gt;&lt;P&gt;      xfc1-fieldname = wa_contenttab1-char4.&lt;/P&gt;&lt;P&gt;      xfc1-datatype = 'CHAR4'.&lt;/P&gt;&lt;P&gt;      xfc1-inttype = 'C'.&lt;/P&gt;&lt;P&gt;      xfc1-intlen = 30.&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;     xfc1-ref_table = wa_contentheader1-vtnam.&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;     xfc1-ref_field = wa_contenttab1-char4.&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;      APPEND xfc TO ifc1.&lt;/P&gt;&lt;P&gt;      Clear: xfc1.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;    ELSE.&lt;/P&gt;&lt;P&gt;      xfc1-fieldname = 'CHAR4'.&lt;/P&gt;&lt;P&gt;      xfc1-datatype = 'CHAR'.&lt;/P&gt;&lt;P&gt;      xfc1-inttype = 'C'.&lt;/P&gt;&lt;P&gt;      xfc1-intlen = 30.&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;     xfc-ref_table = wa_contentheader1-vtnam.&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;     xfc-ref_field = wa_contenttab1-char4.&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;      APPEND xfc1 TO ifc1.&lt;/P&gt;&lt;P&gt;      Clear: xfc1.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&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 not wa_contenttab1-char5 IS INITIAL.&lt;/P&gt;&lt;P&gt;      xfc1-fieldname = wa_contenttab1-char5.&lt;/P&gt;&lt;P&gt;      xfc1-datatype = 'CHAR5'.&lt;/P&gt;&lt;P&gt;      xfc1-inttype = 'C'.&lt;/P&gt;&lt;P&gt;      xfc1-intlen = 30.&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;     xfc1-ref_table = wa_contentheader1-vtnam.&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;     xfc1-ref_field = wa_contenttab1-char5.&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;*&lt;/P&gt;&lt;P&gt;      APPEND xfc TO ifc1.&lt;/P&gt;&lt;P&gt;      Clear: xfc1.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;    ELSE.&lt;/P&gt;&lt;P&gt;      xfc1-fieldname = 'CHAR5'.&lt;/P&gt;&lt;P&gt;      xfc1-datatype = 'CHAR'.&lt;/P&gt;&lt;P&gt;      xfc1-inttype = 'C'.&lt;/P&gt;&lt;P&gt;      xfc1-intlen = 30.&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;    xfc-ref_table = wa_contentheader1-vtnam.&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;    xfc-ref_field = wa_contenttab1-char5.&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;      APPEND xfc1 TO ifc1.&lt;/P&gt;&lt;P&gt;      Clear: xfc1.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&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 not wa_contenttab1-char6 IS INITIAL.&lt;/P&gt;&lt;P&gt;      xfc1-fieldname = 'CHAR6'.&lt;/P&gt;&lt;P&gt;      xfc1-datatype = 'CHAR'.&lt;/P&gt;&lt;P&gt;      xfc1-inttype = 'C'.&lt;/P&gt;&lt;P&gt;      xfc1-intlen = 30.&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;     xfc1-ref_table = wa_contentheader1-vtnam.&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;     xfc1-ref_field = wa_contenttab1-char6.&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;      APPEND xfc TO ifc1.&lt;/P&gt;&lt;P&gt;      Clear: xfc1.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;    ELSE.&lt;/P&gt;&lt;P&gt;      xfc1-fieldname = 'CHAR6'.&lt;/P&gt;&lt;P&gt;      xfc1-datatype = 'CHAR'.&lt;/P&gt;&lt;P&gt;      xfc1-inttype = 'C'.&lt;/P&gt;&lt;P&gt;      xfc1-intlen = 30.&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;     xfc-ref_table = wa_contentheader1-vtnam.&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;     xfc-ref_field = wa_contenttab1-char6.&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;      APPEND xfc1 TO ifc1.&lt;/P&gt;&lt;P&gt;      Clear: xfc1.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&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 not wa_contenttab1-char7 IS INITIAL.&lt;/P&gt;&lt;P&gt;      xfc1-fieldname = 'CHAR7'.&lt;/P&gt;&lt;P&gt;      xfc1-datatype = 'CHAR'.&lt;/P&gt;&lt;P&gt;      xfc1-inttype = 'C'.&lt;/P&gt;&lt;P&gt;      xfc1-intlen = 30.&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;     xfc1-ref_table = wa_contentheader1-vtnam.&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;     xfc1-ref_field = wa_contenttab1-char7.&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;      APPEND xfc TO ifc1.&lt;/P&gt;&lt;P&gt;      Clear: xfc1.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;    ELSE.&lt;/P&gt;&lt;P&gt;      xfc1-fieldname = 'CHAR7'.&lt;/P&gt;&lt;P&gt;      xfc1-datatype = 'CHAR'.&lt;/P&gt;&lt;P&gt;      xfc1-inttype = 'C'.&lt;/P&gt;&lt;P&gt;      xfc1-intlen = 30.&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;     xfc-ref_table = wa_contentheader1-vtnam.&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;     xfc-ref_field = wa_contenttab1-char7.&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;      APPEND xfc1 TO ifc1.&lt;/P&gt;&lt;P&gt;      Clear: xfc1.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&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 not wa_contenttab1-char8 IS INITIAL.&lt;/P&gt;&lt;P&gt;      xfc1-fieldname = 'CHAR8'.&lt;/P&gt;&lt;P&gt;      xfc1-datatype = 'CHAR'.&lt;/P&gt;&lt;P&gt;      xfc1-inttype = 'C'.&lt;/P&gt;&lt;P&gt;      xfc1-intlen = 30.&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;     xfc1-ref_table = wa_contentheader1-vtnam.&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;     xfc1-ref_field = wa_contenttab1-char8.&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;*&lt;/P&gt;&lt;P&gt;      APPEND xfc1 TO ifc1.&lt;/P&gt;&lt;P&gt;      Clear: xfc1.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;    ELSE.&lt;/P&gt;&lt;P&gt;      xfc1-fieldname = 'CHAR8'.&lt;/P&gt;&lt;P&gt;      xfc1-datatype = 'CHAR'.&lt;/P&gt;&lt;P&gt;      xfc1-inttype = 'C'.&lt;/P&gt;&lt;P&gt;      xfc1-intlen = 30.&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;     xfc-ref_table = wa_contentheader1-vtnam.&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;     xfc-ref_field = wa_contenttab1-char8.&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;      APPEND xfc1 TO ifc1.&lt;/P&gt;&lt;P&gt;      Clear: xfc1.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&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 not wa_contenttab1-char9 IS INITIAL.&lt;/P&gt;&lt;P&gt;      xfc-fieldname = 'CHAR9'.&lt;/P&gt;&lt;P&gt;      xfc1-datatype = 'CHAR'.&lt;/P&gt;&lt;P&gt;      xfc1-inttype = 'C'.&lt;/P&gt;&lt;P&gt;      xfc1-intlen = 30.&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;     xfc1-ref_table = wa_contentheader1-vtnam.&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;     xfc1-ref_field = wa_contenttab1-char9.&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;      APPEND xfc1 TO ifc1.&lt;/P&gt;&lt;P&gt;      Clear: xfc1.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;    ELSE.&lt;/P&gt;&lt;P&gt;      xfc1-fieldname = 'CHAR9'.&lt;/P&gt;&lt;P&gt;      xfc1-datatype = 'CHAR'.&lt;/P&gt;&lt;P&gt;      xfc1-inttype = 'C'.&lt;/P&gt;&lt;P&gt;      xfc1-intlen = 30.&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;     xfc-ref_table = wa_contentheader1-vtnam.&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;     xfc-ref_field = wa_contenttab1-char9.&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;      APPEND xfc1 TO ifc1.&lt;/P&gt;&lt;P&gt;      Clear: xfc1.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&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 not wa_contenttab1-char10 IS INITIAL.&lt;/P&gt;&lt;P&gt;      xfc-fieldname = 'CHAR10'.&lt;/P&gt;&lt;P&gt;      xfc1-datatype = 'CHAR'.&lt;/P&gt;&lt;P&gt;      xfc-inttype = 'C'.&lt;/P&gt;&lt;P&gt;      xfc1-intlen = 30.&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;     xfc1-ref_table = wa_contentheader1-vtnam.&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;     xfc1-ref_field = wa_contenttab1-char10.&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;      APPEND xfc1 TO ifc1.&lt;/P&gt;&lt;P&gt;      Clear: xfc1.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;    ELSE.&lt;/P&gt;&lt;P&gt;      xfc1-fieldname = 'CHAR10'.&lt;/P&gt;&lt;P&gt;      xfc1-datatype = 'CHAR'.&lt;/P&gt;&lt;P&gt;      xfc1-inttype = 'C'.&lt;/P&gt;&lt;P&gt;      xfc1-intlen = 30.&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;     xfc-ref_table = wa_contentheader1-vtnam.&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;     xfc-ref_field = wa_contenttab1-char10.&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;      APPEND xfc1 TO ifc1.&lt;/P&gt;&lt;P&gt;      Clear: xfc1.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&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 not wa_contenttab1-char11 IS INITIAL.&lt;/P&gt;&lt;P&gt;      xfc1-fieldname = 'CHAR11'.&lt;/P&gt;&lt;P&gt;      xfc1-datatype = 'CHAR'.&lt;/P&gt;&lt;P&gt;      xfc1-inttype = 'C'.&lt;/P&gt;&lt;P&gt;      xfc1-intlen = 30.&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;     xfc1-ref_table = wa_contentheader1-vtnam.&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;     xfc1-ref_field = wa_contenttab1-char11.&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;      APPEND xfc1 TO ifc1.&lt;/P&gt;&lt;P&gt;      Clear: xfc1.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;    ELSE.&lt;/P&gt;&lt;P&gt;      xfc1-fieldname = 'CHAR11'.&lt;/P&gt;&lt;P&gt;      xfc-datatype = 'CHAR'.&lt;/P&gt;&lt;P&gt;      xfc1-inttype = 'C'.&lt;/P&gt;&lt;P&gt;      xfc1-intlen = 30.&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;     xfc-ref_table = wa_contentheader1-vtnam.&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;     xfc-ref_field = wa_contenttab1-char11.&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;*&lt;/P&gt;&lt;P&gt;      APPEND xfc1 TO ifc1.&lt;/P&gt;&lt;P&gt;      Clear: xfc1.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&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 not wa_contenttab1-char12 IS INITIAL.&lt;/P&gt;&lt;P&gt;      xfc1-fieldname = 'CHAR12'.&lt;/P&gt;&lt;P&gt;      xfc1-datatype = 'CHAR'.&lt;/P&gt;&lt;P&gt;      xfc1-inttype = 'C'.&lt;/P&gt;&lt;P&gt;      xfc1-intlen = 30.&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;     xfc1-ref_table = wa_contentheader1-vtnam.&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;     xfc1-ref_field = wa_contenttab1-char12.&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;      APPEND xfc1 TO ifc1.&lt;/P&gt;&lt;P&gt;      Clear: xfc1.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;    ELSE.&lt;/P&gt;&lt;P&gt;      xfc1-fieldname = 'CHAR12'.&lt;/P&gt;&lt;P&gt;      xfc1-datatype = 'CHAR'.&lt;/P&gt;&lt;P&gt;      xfc1-inttype = 'C'.&lt;/P&gt;&lt;P&gt;      xfc1-intlen = 30.&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;     xfc-ref_table = wa_contentheader1-vtnam.&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;     xfc-ref_field = wa_contenttab1-char12.&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;      APPEND xfc1 TO ifc1.&lt;/P&gt;&lt;P&gt;      Clear: xfc1.&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 not wa_contenttab1-char13 IS INITIAL.&lt;/P&gt;&lt;P&gt;      xfc1-fieldname = 'CHAR13'.&lt;/P&gt;&lt;P&gt;      xfc1-datatype = 'CHAR'.&lt;/P&gt;&lt;P&gt;      xfc1-inttype = 'C'.&lt;/P&gt;&lt;P&gt;      xfc1-intlen = 30.&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;     xfc1-ref_table = wa_contentheader1-vtnam.&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;     xfc1-ref_field = wa_contenttab1-char13.&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;      APPEND xfc1 TO ifc1.&lt;/P&gt;&lt;P&gt;      Clear: xfc1.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;    ELSE.&lt;/P&gt;&lt;P&gt;      xfc1-fieldname = 'CHAR13'.&lt;/P&gt;&lt;P&gt;      xfc1-datatype = 'CHAR'.&lt;/P&gt;&lt;P&gt;      xfc1-inttype = 'C'.&lt;/P&gt;&lt;P&gt;      xfc1-intlen = 30.&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;     xfc-ref_table = wa_contentheader1-vtnam.&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;     xfc-ref_field = wa_contenttab1-char13.&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;*&lt;/P&gt;&lt;P&gt;      APPEND xfc1 TO ifc1.&lt;/P&gt;&lt;P&gt;      Clear: xfc1.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&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 not wa_contenttab1-char14 IS INITIAL.&lt;/P&gt;&lt;P&gt;      xfc1-fieldname = 'CHAR14'.&lt;/P&gt;&lt;P&gt;      xfc1-datatype = 'CHAR'.&lt;/P&gt;&lt;P&gt;      xfc1-inttype = 'C'.&lt;/P&gt;&lt;P&gt;      xfc1-intlen = 30.&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;     xfc1-ref_table = wa_contentheader1-vtnam.&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;     xfc1-ref_field = wa_contenttab1-char14.&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;      APPEND xfc1 TO ifc1.&lt;/P&gt;&lt;P&gt;      Clear: xfc1.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;    ELSE.&lt;/P&gt;&lt;P&gt;      xfc1-fieldname = 'CHAR14'.&lt;/P&gt;&lt;P&gt;      xfc1-datatype = 'CHAR'.&lt;/P&gt;&lt;P&gt;      xfc1-inttype = 'C'.&lt;/P&gt;&lt;P&gt;      xfc1-intlen = 30.&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;     xfc-ref_table = wa_contentheader1-vtnam.&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;     xfc-ref_field = wa_contenttab1-char14.&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;*&lt;/P&gt;&lt;P&gt;      APPEND xfc1 TO ifc1.&lt;/P&gt;&lt;P&gt;      Clear: xfc1.&lt;/P&gt;&lt;P&gt;&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 not wa_contenttab1-char15 IS INITIAL.&lt;/P&gt;&lt;P&gt;      xfc1-fieldname = 'CHAR15'.&lt;/P&gt;&lt;P&gt;      xfc1-datatype = 'CHAR'.&lt;/P&gt;&lt;P&gt;      xfc1-inttype = 'C'.&lt;/P&gt;&lt;P&gt;      xfc1-intlen = 30.&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;     xfc1-ref_table = wa_contentheader1-vtnam.&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;     xfc1-ref_field = wa_contenttab1-char15.&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;      APPEND xfc1 TO ifc1.&lt;/P&gt;&lt;P&gt;      Clear: xfc1.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;    ELSE.&lt;/P&gt;&lt;P&gt;      xfc1-fieldname = 'CHAR15'.&lt;/P&gt;&lt;P&gt;      xfc-datatype = 'CHAR'.&lt;/P&gt;&lt;P&gt;      xfc1-inttype = 'C'.&lt;/P&gt;&lt;P&gt;      xfc1-intlen = 30.&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;     xfc-ref_table = wa_contentheader1-vtnam.&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;     xfc-ref_field = wa_contenttab1-char15.&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;      APPEND xfc1 TO ifc1.&lt;/P&gt;&lt;P&gt;      Clear: xfc1.&lt;/P&gt;&lt;P&gt;&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;  CALL METHOD cl_alv_table_create=&amp;gt;create_dynamic_table&lt;/P&gt;&lt;P&gt;    EXPORTING&lt;/P&gt;&lt;P&gt;      it_fieldcatalog = ifc1&lt;/P&gt;&lt;P&gt;    IMPORTING&lt;/P&gt;&lt;P&gt;      ep_table        = dy_table5.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  ASSIGN dy_table5-&amp;gt;* TO &amp;lt;dyn_table2&amp;gt;.&lt;/P&gt;&lt;P&gt;  ASSIGN dy_table5-&amp;gt;* TO &amp;lt;dyn_table3&amp;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;Create dynamic work area and assign to FS&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;  CREATE DATA dy_line5 LIKE LINE OF &amp;lt;dyn_table2&amp;gt;.&lt;/P&gt;&lt;P&gt;  ASSIGN dy_line5-&amp;gt;* TO &amp;lt;dyn_wa5&amp;gt;.&lt;/P&gt;&lt;P&gt;  CHECK ( &amp;lt;dyn_wa5&amp;gt; IS ASSIGNED ).&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;Create dynamic work area and assign to FS&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;  CREATE DATA dy_line6 LIKE LINE OF &amp;lt;dyn_table3&amp;gt;.&lt;/P&gt;&lt;P&gt;  ASSIGN dy_line6-&amp;gt;* TO &amp;lt;dyn_wa6&amp;gt;.&lt;/P&gt;&lt;P&gt;  CHECK ( &amp;lt;dyn_wa6&amp;gt; IS ASSIGNED ).&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  DELETE i_contenttab1 INDEX 1.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;*try to condense the fields and move all data.&lt;/P&gt;&lt;P&gt;  LOOP AT i_contenttab1 INTO wa_contenttab1.&lt;/P&gt;&lt;P&gt;    MOVE wa_contenttab1 TO &amp;lt;dyn_wa5&amp;gt;.&lt;/P&gt;&lt;P&gt;    APPEND &amp;lt;dyn_wa5&amp;gt; TO &amp;lt;dyn_table2&amp;gt;.&lt;/P&gt;&lt;P&gt;  ENDLOOP.&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; go_sdescr ?= cl_abap_structdescr=&amp;gt;describe_by_name( l_tabname ).&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt; gd_tabnam     = go_sdescr-&amp;gt;get_relative_name( ).&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;*&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt; DO 5 TIMES.&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;   READ TABLE go_sdescr-&amp;gt;components INTO gs_component INDEX syst-index.&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;*&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;   CONCATENATE gd_tabnam gs_component-name INTO gd_tabfield&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;                                           SEPARATED BY '-'.&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;*&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;   CLEAR: gs_comp.&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;   gs_comp-type ?= cl_abap_datadescr=&amp;gt;describe_by_name( gd_tabfield ).&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;   gs_comp-name  = gs_component-name.&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;   APPEND gs_comp TO gt_components.&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt; ENDDO.&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;********************************************************&lt;/P&gt;&lt;P&gt;*MOD-012&lt;/P&gt;&lt;P&gt;********************************************************&lt;/P&gt;&lt;P&gt;  LOOP AT &amp;lt;dyn_table2&amp;gt; ASSIGNING &amp;lt;dyn_wa5&amp;gt;.&lt;/P&gt;&lt;P&gt;    MOVE-CORRESPONDING &amp;lt;dyn_wa5&amp;gt; TO wa_content.&lt;/P&gt;&lt;P&gt;    APPEND wa_content TO itab_content.&lt;/P&gt;&lt;P&gt;  ENDLOOP.&lt;/P&gt;&lt;P&gt;********************************************************&lt;/P&gt;&lt;P&gt;*MOD-012&lt;/P&gt;&lt;P&gt;********************************************************&lt;/P&gt;&lt;P&gt;  DATA: WA_DATATAB TYPE TY_DATA.&lt;/P&gt;&lt;P&gt;  DELETE GT_COMPONENTS INDEX 1.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  SELECT TABNAME FIELDNAME&lt;/P&gt;&lt;P&gt;  INTO TABLE ITAB_DD03L&lt;/P&gt;&lt;P&gt;  FROM DD03L&lt;/P&gt;&lt;P&gt;  WHERE TABNAME = L_TABNAME.&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;P&gt;  DELETE ITAB_DD03L INDEX 1.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  LOOP AT I_CONTENTTAB3 INTO WA_CONTENTTAB3.&lt;/P&gt;&lt;P&gt;    MOVE-CORRESPONDING WA_CONTENTTAB3 TO WA_CONTENTTAB5.&lt;/P&gt;&lt;P&gt;    APPEND WA_CONTENTTAB5 TO I_CONTENTTAB5.&lt;/P&gt;&lt;P&gt;    CLEAR: WA_CONTENTTAB5.&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;  READ TABLE I_CONTENTTAB3 INTO WA_CONTENTTAB3 INDEX 1.&lt;/P&gt;&lt;P&gt;  IF SY-SUBRC = 0.&lt;/P&gt;&lt;P&gt;    APPEND WA_CONTENTTAB3 TO I_CONTENTTAB4.&lt;/P&gt;&lt;P&gt;    CLEAR WA_CONTENTTAB3.&lt;/P&gt;&lt;P&gt;  ENDIF.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  DELETE ITAB_CONTENT WHERE VTNAM IS INITIAL.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  LOOP AT I_CONTENTTAB5 INTO WA_CONTENTTAB5.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;    READ TABLE I_CONTENTTAB4 INTO WA_CONTENTTAB4&lt;/P&gt;&lt;P&gt;    WITH KEY vtnam = WA_CONTENTTAB5-vtnam&lt;/P&gt;&lt;P&gt;             char1 = WA_CONTENTTAB5-char1.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;    IF sy-subrc = 0.&lt;/P&gt;&lt;P&gt;      L_COMP1 = WA_CONTENTTAB4-CHAR1.&lt;/P&gt;&lt;P&gt;      WA_CONTENTTAB5-COMP1 = WA_CONTENTTAB4-CHAR1.&lt;/P&gt;&lt;P&gt;      MODIFY I_CONTENTTAB5 FROM WA_CONTENTTAB5 TRANSPORTING COMP1.&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;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  LOOP AT I_CONTENTTAB5 INTO WA_CONTENTTAB5.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;    READ TABLE I_CONTENTTAB4 INTO WA_CONTENTTAB4&lt;/P&gt;&lt;P&gt;    WITH KEY vtnam  = WA_CONTENTTAB5-vtnam&lt;/P&gt;&lt;P&gt;              char2 = WA_CONTENTTAB5-char2.&lt;/P&gt;&lt;P&gt;    IF sy-subrc = 0.&lt;/P&gt;&lt;P&gt;      L_COMP2 = WA_CONTENTTAB4-CHAR2.&lt;/P&gt;&lt;P&gt;      WA_CONTENTTAB5-COMP2 = WA_CONTENTTAB4-CHAR2.&lt;/P&gt;&lt;P&gt;      MODIFY I_CONTENTTAB5 FROM WA_CONTENTTAB5 TRANSPORTING COMP2.&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;  LOOP AT I_CONTENTTAB5 INTO WA_CONTENTTAB5.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;    READ TABLE I_CONTENTTAB4 INTO WA_CONTENTTAB4&lt;/P&gt;&lt;P&gt;         WITH KEY vtnam  = WA_CONTENTTAB5-vtnam&lt;/P&gt;&lt;P&gt;             char3 = WA_CONTENTTAB5-char3.&lt;/P&gt;&lt;P&gt;    IF sy-subrc = 0.&lt;/P&gt;&lt;P&gt;      L_COMP3 = WA_CONTENTTAB4-CHAR3.&lt;/P&gt;&lt;P&gt;      WA_CONTENTTAB5-COMP3 = WA_CONTENTTAB4-CHAR3.&lt;/P&gt;&lt;P&gt;      MODIFY I_CONTENTTAB5 FROM WA_CONTENTTAB5 TRANSPORTING COMP3.&lt;/P&gt;&lt;P&gt;    ENDIF.&lt;/P&gt;&lt;P&gt;  ENDLOOP.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  LOOP AT I_CONTENTTAB5 INTO WA_CONTENTTAB5.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;    READ TABLE I_CONTENTTAB4 INTO WA_CONTENTTAB4&lt;/P&gt;&lt;P&gt;    WITH KEY vtnam  = WA_CONTENTTAB5-vtnam&lt;/P&gt;&lt;P&gt;              char4 = WA_CONTENTTAB5-char4.&lt;/P&gt;&lt;P&gt;    IF sy-subrc = 0.&lt;/P&gt;&lt;P&gt;      L_COMP4 = WA_CONTENTTAB4-CHAR4.&lt;/P&gt;&lt;P&gt;      WA_CONTENTTAB5-COMP4 = WA_CONTENTTAB4-CHAR4.&lt;/P&gt;&lt;P&gt;      MODIFY I_CONTENTTAB5 FROM WA_CONTENTTAB5 TRANSPORTING COMP4.&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;  LOOP AT I_CONTENTTAB5 INTO WA_CONTENTTAB5.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;    READ TABLE I_CONTENTTAB4 INTO WA_CONTENTTAB4&lt;/P&gt;&lt;P&gt;    WITH KEY vtnam  = WA_CONTENTTAB5-vtnam&lt;/P&gt;&lt;P&gt;              char5 = WA_CONTENTTAB5-char5.&lt;/P&gt;&lt;P&gt;    IF sy-subrc = 0.&lt;/P&gt;&lt;P&gt;      L_COMP5 = WA_CONTENTTAB4-CHAR5.&lt;/P&gt;&lt;P&gt;      WA_CONTENTTAB5-COMP5 = WA_CONTENTTAB4-CHAR5.&lt;/P&gt;&lt;P&gt;      MODIFY I_CONTENTTAB5 FROM WA_CONTENTTAB5 TRANSPORTING COMP5.&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;  LOOP AT I_CONTENTTAB5 INTO WA_CONTENTTAB5.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;    READ TABLE I_CONTENTTAB4 INTO WA_CONTENTTAB4&lt;/P&gt;&lt;P&gt;    WITH KEY vtnam  = WA_CONTENTTAB5-vtnam&lt;/P&gt;&lt;P&gt;              char6 = WA_CONTENTTAB5-char6.&lt;/P&gt;&lt;P&gt;    IF sy-subrc = 0.&lt;/P&gt;&lt;P&gt;      L_COMP6 = WA_CONTENTTAB4-CHAR6.&lt;/P&gt;&lt;P&gt;      WA_CONTENTTAB5-COMP6 = WA_CONTENTTAB4-CHAR6.&lt;/P&gt;&lt;P&gt;      MODIFY I_CONTENTTAB5 FROM WA_CONTENTTAB5 TRANSPORTING COMP6.&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;  LOOP AT I_CONTENTTAB5 INTO WA_CONTENTTAB5.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;    READ TABLE I_CONTENTTAB4 INTO WA_CONTENTTAB4&lt;/P&gt;&lt;P&gt;    WITH KEY vtnam  = WA_CONTENTTAB5-vtnam&lt;/P&gt;&lt;P&gt;              char7 = WA_CONTENTTAB5-char7.&lt;/P&gt;&lt;P&gt;    IF sy-subrc = 0.&lt;/P&gt;&lt;P&gt;      L_COMP7 = WA_CONTENTTAB4-CHAR7.&lt;/P&gt;&lt;P&gt;      WA_CONTENTTAB5-COMP7 = WA_CONTENTTAB4-CHAR7.&lt;/P&gt;&lt;P&gt;      MODIFY I_CONTENTTAB5 FROM WA_CONTENTTAB5 TRANSPORTING COMP7.&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;  LOOP AT I_CONTENTTAB5 INTO WA_CONTENTTAB5.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;    READ TABLE I_CONTENTTAB4 INTO WA_CONTENTTAB4&lt;/P&gt;&lt;P&gt;    WITH KEY vtnam  = WA_CONTENTTAB5-vtnam&lt;/P&gt;&lt;P&gt;              char8 = WA_CONTENTTAB5-char8.&lt;/P&gt;&lt;P&gt;    IF sy-subrc = 0.&lt;/P&gt;&lt;P&gt;      L_COMP8 = WA_CONTENTTAB4-CHAR8.&lt;/P&gt;&lt;P&gt;      WA_CONTENTTAB5-COMP8 = WA_CONTENTTAB4-CHAR8.&lt;/P&gt;&lt;P&gt;      MODIFY I_CONTENTTAB5 FROM WA_CONTENTTAB5 TRANSPORTING COMP8.&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;  LOOP AT I_CONTENTTAB5 INTO WA_CONTENTTAB5.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;    READ TABLE I_CONTENTTAB4 INTO WA_CONTENTTAB4&lt;/P&gt;&lt;P&gt;    WITH KEY vtnam  = WA_CONTENTTAB5-vtnam&lt;/P&gt;&lt;P&gt;              char9 = WA_CONTENTTAB5-char9.&lt;/P&gt;&lt;P&gt;    IF sy-subrc = 0.&lt;/P&gt;&lt;P&gt;      L_COMP9 = WA_CONTENTTAB4-CHAR9.&lt;/P&gt;&lt;P&gt;      WA_CONTENTTAB5-COMP9 = WA_CONTENTTAB4-CHAR9.&lt;/P&gt;&lt;P&gt;      MODIFY I_CONTENTTAB5 FROM WA_CONTENTTAB5 TRANSPORTING COMP9.&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;  LOOP AT I_CONTENTTAB5 INTO WA_CONTENTTAB5.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;    READ TABLE I_CONTENTTAB4 INTO WA_CONTENTTAB4&lt;/P&gt;&lt;P&gt;     WITH KEY vtnam  = WA_CONTENTTAB5-vtnam&lt;/P&gt;&lt;P&gt;              char10 = WA_CONTENTTAB5-char10.&lt;/P&gt;&lt;P&gt;    IF sy-subrc = 0.&lt;/P&gt;&lt;P&gt;      L_COMP10 = WA_CONTENTTAB4-CHAR10.&lt;/P&gt;&lt;P&gt;      WA_CONTENTTAB5-COMP10 = WA_CONTENTTAB4-CHAR10.&lt;/P&gt;&lt;P&gt;      MODIFY I_CONTENTTAB5 FROM WA_CONTENTTAB5 TRANSPORTING COMP10.&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;  LOOP AT I_CONTENTTAB5 INTO WA_CONTENTTAB5.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;    READ TABLE I_CONTENTTAB4 INTO WA_CONTENTTAB4&lt;/P&gt;&lt;P&gt;   WITH KEY vtnam  = WA_CONTENTTAB5-vtnam&lt;/P&gt;&lt;P&gt;             char11 = WA_CONTENTTAB5-char11.&lt;/P&gt;&lt;P&gt;    IF sy-subrc = 0.&lt;/P&gt;&lt;P&gt;      L_COMP11 = WA_CONTENTTAB4-CHAR11.&lt;/P&gt;&lt;P&gt;      WA_CONTENTTAB5-COMP11 = WA_CONTENTTAB4-CHAR11.&lt;/P&gt;&lt;P&gt;      MODIFY I_CONTENTTAB5 FROM WA_CONTENTTAB5 TRANSPORTING COMP11.&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;  LOOP AT I_CONTENTTAB5 INTO WA_CONTENTTAB5.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;    READ TABLE I_CONTENTTAB4 INTO WA_CONTENTTAB4&lt;/P&gt;&lt;P&gt;   WITH KEY vtnam  = WA_CONTENTTAB5-vtnam&lt;/P&gt;&lt;P&gt;             char12 = WA_CONTENTTAB5-char12.&lt;/P&gt;&lt;P&gt;    IF sy-subrc = 0.&lt;/P&gt;&lt;P&gt;      L_COMP12 = WA_CONTENTTAB4-CHAR12.&lt;/P&gt;&lt;P&gt;      WA_CONTENTTAB5-COMP12 = WA_CONTENTTAB4-CHAR12.&lt;/P&gt;&lt;P&gt;      MODIFY I_CONTENTTAB5 FROM WA_CONTENTTAB5 TRANSPORTING COMP12.&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;  LOOP AT I_CONTENTTAB5 INTO WA_CONTENTTAB5.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;    READ TABLE I_CONTENTTAB4 INTO WA_CONTENTTAB4&lt;/P&gt;&lt;P&gt;   WITH KEY vtnam  = WA_CONTENTTAB5-vtnam&lt;/P&gt;&lt;P&gt;             char13 = WA_CONTENTTAB5-char13.&lt;/P&gt;&lt;P&gt;    IF sy-subrc = 0.&lt;/P&gt;&lt;P&gt;      L_COMP13 = WA_CONTENTTAB4-CHAR13.&lt;/P&gt;&lt;P&gt;      WA_CONTENTTAB5-COMP13 = WA_CONTENTTAB4-CHAR13.&lt;/P&gt;&lt;P&gt;      MODIFY I_CONTENTTAB5 FROM WA_CONTENTTAB5 TRANSPORTING COMP13.&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;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  LOOP AT I_CONTENTTAB5 INTO WA_CONTENTTAB5.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;    READ TABLE I_CONTENTTAB4 INTO WA_CONTENTTAB4&lt;/P&gt;&lt;P&gt;   WITH KEY vtnam  = WA_CONTENTTAB5-vtnam&lt;/P&gt;&lt;P&gt;             char14 = WA_CONTENTTAB5-char14.&lt;/P&gt;&lt;P&gt;    IF sy-subrc = 0.&lt;/P&gt;&lt;P&gt;      L_COMP14 = WA_CONTENTTAB4-CHAR14.&lt;/P&gt;&lt;P&gt;      WA_CONTENTTAB5-COMP14 = WA_CONTENTTAB4-CHAR14.&lt;/P&gt;&lt;P&gt;      MODIFY I_CONTENTTAB5 FROM WA_CONTENTTAB5 TRANSPORTING COMP14.&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;&lt;/P&gt;&lt;P&gt;  LOOP AT I_CONTENTTAB5 INTO WA_CONTENTTAB5.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;    READ TABLE I_CONTENTTAB4 INTO WA_CONTENTTAB4&lt;/P&gt;&lt;P&gt;   WITH KEY vtnam  = WA_CONTENTTAB5-vtnam&lt;/P&gt;&lt;P&gt;             char15 = WA_CONTENTTAB5-char15.&lt;/P&gt;&lt;P&gt;    IF sy-subrc = 0.&lt;/P&gt;&lt;P&gt;      L_COMP15 = WA_CONTENTTAB4-CHAR15.&lt;/P&gt;&lt;P&gt;      WA_CONTENTTAB5-COMP15 = WA_CONTENTTAB4-CHAR15.&lt;/P&gt;&lt;P&gt;      MODIFY I_CONTENTTAB5 FROM WA_CONTENTTAB5 TRANSPORTING COMP15.&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;  LOOP AT I_CONTENTTAB5 INTO WA_CONTENTTAB5.&lt;/P&gt;&lt;P&gt;    WA_CONTENTTAB5-COMP1 = L_COMP1.&lt;/P&gt;&lt;P&gt;    WA_CONTENTTAB5-COMP2 = L_COMP2.&lt;/P&gt;&lt;P&gt;    WA_CONTENTTAB5-COMP3 = L_COMP3..&lt;/P&gt;&lt;P&gt;    WA_CONTENTTAB5-COMP4 = L_COMP4.&lt;/P&gt;&lt;P&gt;    WA_CONTENTTAB5-COMP5 = L_COMP5.&lt;/P&gt;&lt;P&gt;    WA_CONTENTTAB5-COMP6 = L_COMP6.&lt;/P&gt;&lt;P&gt;    WA_CONTENTTAB5-COMP7 = L_COMP7.&lt;/P&gt;&lt;P&gt;    WA_CONTENTTAB5-COMP8 = L_COMP8.&lt;/P&gt;&lt;P&gt;    WA_CONTENTTAB5-COMP9 = L_COMP9.&lt;/P&gt;&lt;P&gt;    WA_CONTENTTAB5-COMP10 = L_COMP10.&lt;/P&gt;&lt;P&gt;    WA_CONTENTTAB5-COMP11 = L_COMP11.&lt;/P&gt;&lt;P&gt;    WA_CONTENTTAB5-COMP12 = L_COMP12.&lt;/P&gt;&lt;P&gt;    WA_CONTENTTAB5-COMP13 = L_COMP13.&lt;/P&gt;&lt;P&gt;    WA_CONTENTTAB5-COMP14 = L_COMP14.&lt;/P&gt;&lt;P&gt;    WA_CONTENTTAB5-COMP15 = L_COMP15.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;    MODIFY I_CONTENTTAB5 FROM WA_CONTENTTAB5 TRANSPORTING COMP1&lt;/P&gt;&lt;P&gt;                                                          COMP2&lt;/P&gt;&lt;P&gt;                                                          COMP3&lt;/P&gt;&lt;P&gt;                                                          COMP4&lt;/P&gt;&lt;P&gt;                                                          COMP5&lt;/P&gt;&lt;P&gt;                                                          COMP6&lt;/P&gt;&lt;P&gt;                                                          COMP7&lt;/P&gt;&lt;P&gt;                                                          COMP8&lt;/P&gt;&lt;P&gt;                                                          COMP9&lt;/P&gt;&lt;P&gt;                                                          COMP10&lt;/P&gt;&lt;P&gt;                                                          COMP11&lt;/P&gt;&lt;P&gt;                                                          COMP12&lt;/P&gt;&lt;P&gt;                                                          COMP13&lt;/P&gt;&lt;P&gt;                                                          COMP14&lt;/P&gt;&lt;P&gt;                                                          COMP15.&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;  DELETE I_CONTENTTAB5 INDEX 1.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  LOOP AT ITAB_DD03L INTO WA_DD03L.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;    LOOP AT I_CONTENTTAB5 INTO WA_CONTENTTAB5&lt;/P&gt;&lt;P&gt;       WHERE VTNAM  = WA_DD03L-TABNAME AND&lt;/P&gt;&lt;P&gt;             COMP1  = WA_DD03L-FIELDNAME OR&lt;/P&gt;&lt;P&gt;             COMP2  = WA_DD03L-FIELDNAME OR&lt;/P&gt;&lt;P&gt;             COMP3  = WA_DD03L-FIELDNAME OR&lt;/P&gt;&lt;P&gt;             COMP4  = WA_DD03L-FIELDNAME OR&lt;/P&gt;&lt;P&gt;             COMP5  = WA_DD03L-FIELDNAME OR&lt;/P&gt;&lt;P&gt;             COMP6  = WA_DD03L-FIELDNAME OR&lt;/P&gt;&lt;P&gt;             COMP7  = WA_DD03L-FIELDNAME OR&lt;/P&gt;&lt;P&gt;             COMP8  = WA_DD03L-FIELDNAME OR&lt;/P&gt;&lt;P&gt;             COMP9  = WA_DD03L-FIELDNAME OR&lt;/P&gt;&lt;P&gt;             COMP10 = WA_DD03L-FIELDNAME OR&lt;/P&gt;&lt;P&gt;             COMP11 = WA_DD03L-FIELDNAME OR&lt;/P&gt;&lt;P&gt;             COMP12 = WA_DD03L-FIELDNAME OR&lt;/P&gt;&lt;P&gt;             COMP13 = WA_DD03L-FIELDNAME OR&lt;/P&gt;&lt;P&gt;             COMP14 = WA_DD03L-FIELDNAME OR&lt;/P&gt;&lt;P&gt;             COMP15 = WA_DD03L-FIELDNAME.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;      CHECK SY-SUBRC = 0.&lt;/P&gt;&lt;P&gt;      L_TABIX = SY-TABIX.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;      CONCATENATE 'CHAR' L_TABIX INTO L_WA_CONTENT1.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;      l_value = WA_CONTENTTAB5-char1.&lt;/P&gt;&lt;P&gt;      l_value1 = WA_CONTENTTAB5-COMP1.&lt;/P&gt;&lt;P&gt;      ASSIGN WA_CONTENTTAB5-COMP1  to &amp;lt;fs_field&amp;gt;.&lt;/P&gt;&lt;P&gt;      ASSIGN l_value TO &amp;lt;fs_field1&amp;gt;.&lt;/P&gt;&lt;P&gt;      WA_DATATAB-NAME = l_value1.&lt;/P&gt;&lt;P&gt;      WA_DATATAB-VALUE = l_value.&lt;/P&gt;&lt;P&gt;      APPEND WA_DATATAB TO I_DATATAB.&lt;/P&gt;&lt;P&gt;      CLEAR:WA_DATATAB.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;      l_value = WA_CONTENTTAB5-char2.&lt;/P&gt;&lt;P&gt;      l_value1 = WA_CONTENTTAB5-COMP2.&lt;/P&gt;&lt;P&gt;      ASSIGN WA_CONTENTTAB5-COMP2 to &amp;lt;fs_field&amp;gt;.&lt;/P&gt;&lt;P&gt;      ASSIGN l_value TO &amp;lt;fs_field1&amp;gt;.&lt;/P&gt;&lt;P&gt;      WA_DATATAB-NAME = l_value1.&lt;/P&gt;&lt;P&gt;      WA_DATATAB-VALUE = l_value.&lt;/P&gt;&lt;P&gt;      APPEND WA_DATATAB TO I_DATATAB.&lt;/P&gt;&lt;P&gt;      CLEAR:WA_DATATAB.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;      l_value = WA_CONTENTTAB5-char3.&lt;/P&gt;&lt;P&gt;      l_value1 = WA_CONTENTTAB5-COMP3.&lt;/P&gt;&lt;P&gt;      ASSIGN WA_CONTENTTAB5-COMP3  to &amp;lt;fs_field&amp;gt;.&lt;/P&gt;&lt;P&gt;      ASSIGN l_value TO &amp;lt;fs_field1&amp;gt;.&lt;/P&gt;&lt;P&gt;      WA_DATATAB-NAME = l_value1.&lt;/P&gt;&lt;P&gt;      WA_DATATAB-VALUE = l_value.&lt;/P&gt;&lt;P&gt;      APPEND WA_DATATAB TO I_DATATAB.&lt;/P&gt;&lt;P&gt;      CLEAR:WA_DATATAB.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;      l_value = WA_CONTENTTAB5-char4.&lt;/P&gt;&lt;P&gt;      l_value1 = WA_CONTENTTAB5-COMP4.&lt;/P&gt;&lt;P&gt;      ASSIGN WA_CONTENTTAB5-COMP3  to &amp;lt;fs_field&amp;gt;.&lt;/P&gt;&lt;P&gt;      ASSIGN l_value TO &amp;lt;fs_field1&amp;gt;.&lt;/P&gt;&lt;P&gt;      WA_DATATAB-NAME = l_value1.&lt;/P&gt;&lt;P&gt;      WA_DATATAB-VALUE = l_value.&lt;/P&gt;&lt;P&gt;      APPEND WA_DATATAB TO I_DATATAB.&lt;/P&gt;&lt;P&gt;      CLEAR:WA_DATATAB.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;      l_value = WA_CONTENTTAB5-char5.&lt;/P&gt;&lt;P&gt;      l_value1 = WA_CONTENTTAB5-COMP5.&lt;/P&gt;&lt;P&gt;      ASSIGN WA_CONTENTTAB5-COMP3  to &amp;lt;fs_field&amp;gt;.&lt;/P&gt;&lt;P&gt;      ASSIGN l_value TO &amp;lt;fs_field1&amp;gt;.&lt;/P&gt;&lt;P&gt;      WA_DATATAB-NAME = l_value1.&lt;/P&gt;&lt;P&gt;      WA_DATATAB-VALUE = l_value.&lt;/P&gt;&lt;P&gt;      APPEND WA_DATATAB TO I_DATATAB.&lt;/P&gt;&lt;P&gt;      CLEAR:WA_DATATAB.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;      l_value = WA_CONTENTTAB5-char6.&lt;/P&gt;&lt;P&gt;      l_value1 = WA_CONTENTTAB5-COMP6.&lt;/P&gt;&lt;P&gt;      ASSIGN WA_CONTENTTAB5-COMP3  to &amp;lt;fs_field&amp;gt;.&lt;/P&gt;&lt;P&gt;      ASSIGN l_value TO &amp;lt;fs_field1&amp;gt;.&lt;/P&gt;&lt;P&gt;      WA_DATATAB-NAME = l_value1.&lt;/P&gt;&lt;P&gt;      WA_DATATAB-VALUE = l_value.&lt;/P&gt;&lt;P&gt;      APPEND WA_DATATAB TO I_DATATAB.&lt;/P&gt;&lt;P&gt;      CLEAR:WA_DATATAB.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;      l_value = WA_CONTENTTAB5-char7.&lt;/P&gt;&lt;P&gt;      l_value1 = WA_CONTENTTAB5-COMP7.&lt;/P&gt;&lt;P&gt;      ASSIGN WA_CONTENTTAB5-COMP3  to &amp;lt;fs_field&amp;gt;.&lt;/P&gt;&lt;P&gt;      ASSIGN l_value TO &amp;lt;fs_field1&amp;gt;.&lt;/P&gt;&lt;P&gt;      WA_DATATAB-NAME = l_value1.&lt;/P&gt;&lt;P&gt;      WA_DATATAB-VALUE = l_value.&lt;/P&gt;&lt;P&gt;      APPEND WA_DATATAB TO I_DATATAB.&lt;/P&gt;&lt;P&gt;      CLEAR:WA_DATATAB.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;      l_value = WA_CONTENTTAB5-char8.&lt;/P&gt;&lt;P&gt;      l_value1 = WA_CONTENTTAB5-COMP8.&lt;/P&gt;&lt;P&gt;      ASSIGN WA_CONTENTTAB5-COMP3  to &amp;lt;fs_field&amp;gt;.&lt;/P&gt;&lt;P&gt;      ASSIGN l_value TO &amp;lt;fs_field1&amp;gt;.&lt;/P&gt;&lt;P&gt;      WA_DATATAB-NAME = l_value1.&lt;/P&gt;&lt;P&gt;      WA_DATATAB-VALUE = l_value.&lt;/P&gt;&lt;P&gt;      APPEND WA_DATATAB TO I_DATATAB.&lt;/P&gt;&lt;P&gt;      CLEAR:WA_DATATAB.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;      l_value = WA_CONTENTTAB5-char9.&lt;/P&gt;&lt;P&gt;      l_value1 = WA_CONTENTTAB5-COMP9.&lt;/P&gt;&lt;P&gt;      ASSIGN WA_CONTENTTAB5-COMP3  to &amp;lt;fs_field&amp;gt;.&lt;/P&gt;&lt;P&gt;      ASSIGN l_value TO &amp;lt;fs_field1&amp;gt;.&lt;/P&gt;&lt;P&gt;      WA_DATATAB-NAME = l_value1.&lt;/P&gt;&lt;P&gt;      WA_DATATAB-VALUE = l_value.&lt;/P&gt;&lt;P&gt;      APPEND WA_DATATAB TO I_DATATAB.&lt;/P&gt;&lt;P&gt;      CLEAR:WA_DATATAB.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;      l_value = WA_CONTENTTAB5-char10.&lt;/P&gt;&lt;P&gt;      l_value1 = WA_CONTENTTAB5-COMP10.&lt;/P&gt;&lt;P&gt;      ASSIGN WA_CONTENTTAB5-COMP3  to &amp;lt;fs_field&amp;gt;.&lt;/P&gt;&lt;P&gt;      ASSIGN l_value TO &amp;lt;fs_field1&amp;gt;.&lt;/P&gt;&lt;P&gt;      WA_DATATAB-NAME = l_value1.&lt;/P&gt;&lt;P&gt;      WA_DATATAB-VALUE = l_value.&lt;/P&gt;&lt;P&gt;      APPEND WA_DATATAB TO I_DATATAB.&lt;/P&gt;&lt;P&gt;      CLEAR:WA_DATATAB.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;      l_value = WA_CONTENTTAB5-char11.&lt;/P&gt;&lt;P&gt;      l_value1 = WA_CONTENTTAB5-COMP11.&lt;/P&gt;&lt;P&gt;      ASSIGN WA_CONTENTTAB5-COMP3  to &amp;lt;fs_field&amp;gt;.&lt;/P&gt;&lt;P&gt;      ASSIGN l_value TO &amp;lt;fs_field1&amp;gt;.&lt;/P&gt;&lt;P&gt;      WA_DATATAB-NAME = l_value1.&lt;/P&gt;&lt;P&gt;      WA_DATATAB-VALUE = l_value.&lt;/P&gt;&lt;P&gt;      APPEND WA_DATATAB TO I_DATATAB.&lt;/P&gt;&lt;P&gt;      CLEAR:WA_DATATAB.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;      l_value = WA_CONTENTTAB5-char12.&lt;/P&gt;&lt;P&gt;      l_value1 = WA_CONTENTTAB5-COMP12.&lt;/P&gt;&lt;P&gt;      ASSIGN WA_CONTENTTAB5-COMP3  to &amp;lt;fs_field&amp;gt;.&lt;/P&gt;&lt;P&gt;      ASSIGN l_value TO &amp;lt;fs_field1&amp;gt;.&lt;/P&gt;&lt;P&gt;      WA_DATATAB-NAME = l_value1.&lt;/P&gt;&lt;P&gt;      WA_DATATAB-VALUE = l_value.&lt;/P&gt;&lt;P&gt;      APPEND WA_DATATAB TO I_DATATAB.&lt;/P&gt;&lt;P&gt;      CLEAR:WA_DATATAB.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;      l_value = WA_CONTENTTAB5-char13.&lt;/P&gt;&lt;P&gt;      l_value1 = WA_CONTENTTAB5-COMP13.&lt;/P&gt;&lt;P&gt;      ASSIGN WA_CONTENTTAB5-COMP3  to &amp;lt;fs_field&amp;gt;.&lt;/P&gt;&lt;P&gt;      ASSIGN l_value TO &amp;lt;fs_field1&amp;gt;.&lt;/P&gt;&lt;P&gt;      WA_DATATAB-NAME = l_value1.&lt;/P&gt;&lt;P&gt;      WA_DATATAB-VALUE = l_value.&lt;/P&gt;&lt;P&gt;      APPEND WA_DATATAB TO I_DATATAB.&lt;/P&gt;&lt;P&gt;      CLEAR:WA_DATATAB.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;      l_value = WA_CONTENTTAB5-char14.&lt;/P&gt;&lt;P&gt;      l_value1 = WA_CONTENTTAB5-COMP14.&lt;/P&gt;&lt;P&gt;      ASSIGN WA_CONTENTTAB5-COMP3  to &amp;lt;fs_field&amp;gt;.&lt;/P&gt;&lt;P&gt;      ASSIGN l_value TO &amp;lt;fs_field1&amp;gt;.&lt;/P&gt;&lt;P&gt;      WA_DATATAB-NAME = l_value1.&lt;/P&gt;&lt;P&gt;      WA_DATATAB-VALUE = l_value.&lt;/P&gt;&lt;P&gt;      APPEND WA_DATATAB TO I_DATATAB.&lt;/P&gt;&lt;P&gt;      CLEAR:WA_DATATAB.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;      l_value = WA_CONTENTTAB5-char15.&lt;/P&gt;&lt;P&gt;      l_value1 = WA_CONTENTTAB5-COMP15.&lt;/P&gt;&lt;P&gt;      ASSIGN WA_CONTENTTAB5-COMP3  to &amp;lt;fs_field&amp;gt;.&lt;/P&gt;&lt;P&gt;      ASSIGN l_value TO &amp;lt;fs_field1&amp;gt;.&lt;/P&gt;&lt;P&gt;      WA_DATATAB-NAME = l_value1.&lt;/P&gt;&lt;P&gt;      WA_DATATAB-VALUE = l_value.&lt;/P&gt;&lt;P&gt;      APPEND WA_DATATAB TO I_DATATAB.&lt;/P&gt;&lt;P&gt;      CLEAR:WA_DATATAB.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;*******************************************************************************&lt;/P&gt;&lt;UL&gt;&lt;UL&gt;&lt;LI level="2" type="ul"&gt;&lt;P&gt;     ASSIGN COMPONENT GS_COMP-NAME OF STRUCTURE GS_COMP TO &amp;lt;fs_field&amp;gt;.&lt;/P&gt;&lt;/LI&gt;&lt;LI level="2" type="ul"&gt;&lt;P&gt;     IF &amp;lt;fs_field&amp;gt; IS ASSIGNED.&lt;/P&gt;&lt;/LI&gt;&lt;LI level="2" type="ul"&gt;&lt;P&gt;        ASSIGN COMPONENT L_WA_CONTENT1 OF STRUCTURE &amp;lt;dyn_wa5&amp;gt; TO &amp;lt;fs_field1&amp;gt;.&lt;/P&gt;&lt;/LI&gt;&lt;LI level="2" type="ul"&gt;&lt;P&gt;        IF &amp;lt;fs_field1&amp;gt; IS ASSIGNED.&lt;/P&gt;&lt;/LI&gt;&lt;LI level="2" type="ul"&gt;&lt;P&gt;           &amp;lt;fs_field&amp;gt; = &amp;lt;fs_field1&amp;gt;.&lt;/P&gt;&lt;/LI&gt;&lt;LI level="2" type="ul"&gt;&lt;P&gt;        ENDIF.&lt;/P&gt;&lt;/LI&gt;&lt;LI level="2" type="ul"&gt;&lt;P&gt;     ENDIF.&lt;/P&gt;&lt;/LI&gt;&lt;LI level="2" type="ul"&gt;&lt;P&gt;     INSERT &amp;lt;dyn_wa&amp;gt; INTO TABLE &amp;lt;dyn_table&amp;gt;.&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;/UL&gt;&lt;P&gt;*******************************************************************************&lt;/P&gt;&lt;P&gt;    ENDLOOP.&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;*MOD-012&lt;/P&gt;&lt;P&gt;*************************************************************************&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;Creating the Internal table with the structure of the&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;current table.&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  SELECT *&lt;/P&gt;&lt;P&gt;      FROM (l_tabname)&lt;/P&gt;&lt;P&gt;      INTO TABLE &amp;lt;dyn_table1&amp;gt;.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  sort &amp;lt;dyn_table1&amp;gt;.&lt;/P&gt;&lt;P&gt;  sort i_contenttab1.&lt;/P&gt;&lt;P&gt;  DELETE I_CONTENTTAB1 WHERE CHAR1 IS INITIAL.&lt;/P&gt;&lt;P&gt;  describe table &amp;lt;dyn_table1&amp;gt; lines l_lines1.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  if l_lines1 &amp;gt; 0.&lt;/P&gt;&lt;P&gt;    loop at i_contenttab1 into wa_contenttab1.&lt;/P&gt;&lt;P&gt;      LOOP AT &amp;lt;dyn_table1&amp;gt; ASSIGNING &amp;lt;dyn_wa1&amp;gt;.&lt;/P&gt;&lt;P&gt;        l_index1 = 2.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;        assign component l_index1 of structure wa_contenttab1 to &amp;lt;fs_field2&amp;gt;.&lt;/P&gt;&lt;P&gt;        assign component l_index1 of structure &amp;lt;dyn_wa1&amp;gt; to &amp;lt;fs_field3&amp;gt;.&lt;/P&gt;&lt;P&gt;        if  &amp;lt;fs_field3&amp;gt; = &amp;lt;fs_field2&amp;gt;.&lt;/P&gt;&lt;P&gt;          clear: &amp;lt;dyn_wa1&amp;gt;.&lt;/P&gt;&lt;P&gt;          wa_contenttab1-flag = c_x.&lt;/P&gt;&lt;P&gt;          MODIFY i_contenttab1 FROM wa_contenttab1 TRANSPORTING flag.&lt;/P&gt;&lt;P&gt;        endif.&lt;/P&gt;&lt;P&gt;        UNASSIGN &amp;lt;fs_field2&amp;gt;.&lt;/P&gt;&lt;P&gt;        UNASSIGN &amp;lt;fs_field3&amp;gt;.&lt;/P&gt;&lt;P&gt;        l_index1 = l_index1 + 1.&lt;/P&gt;&lt;P&gt;      endloop.&lt;/P&gt;&lt;P&gt;    endloop.&lt;/P&gt;&lt;P&gt;  endif.&lt;/P&gt;&lt;P&gt;  clear:  l_index1.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  DELETE i_contenttab1 WHERE flag = c_x.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  SORT I_CONTENTTAB1.&lt;/P&gt;&lt;P&gt;  DELETE ADJACENT DUPLICATES FROM i_contenttab1.&lt;/P&gt;&lt;P&gt;  DELETE I_CONTENTTAB1 WHERE CHAR1 IS INITIAL.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;*************************************************************************&lt;/P&gt;&lt;P&gt;*MOD-012&lt;/P&gt;&lt;P&gt;*************************************************************************&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;UNASSIGN &amp;lt;dyn_table&amp;gt;.&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;*************************************************************************&lt;/P&gt;&lt;P&gt;*MOD-012&lt;/P&gt;&lt;P&gt;*************************************************************************&lt;/P&gt;&lt;P&gt;  describe table itab_dd03l lines l_lines.&lt;/P&gt;&lt;P&gt;  loop at i_contenttab1 into wa_contenttab1.&lt;/P&gt;&lt;P&gt;    l_index1 = 2.&lt;/P&gt;&lt;P&gt;    do l_lines times.&lt;/P&gt;&lt;P&gt;      assign component l_index1 of structure wa_contenttab1 to &amp;lt;fs_field2&amp;gt;.&lt;/P&gt;&lt;P&gt;      assign component l_index1 of structure &amp;lt;dyn_wa&amp;gt; to &amp;lt;fs_field3&amp;gt;.&lt;/P&gt;&lt;P&gt;      &amp;lt;fs_field3&amp;gt; = &amp;lt;fs_field2&amp;gt;.&lt;/P&gt;&lt;P&gt;      l_index1 = l_index1 + 1.&lt;/P&gt;&lt;P&gt;    enddo.&lt;/P&gt;&lt;P&gt;    append &amp;lt;dyn_wa&amp;gt; to &amp;lt;dyn_table&amp;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;*MOD-012&lt;/P&gt;&lt;P&gt;********************************************************************&lt;/P&gt;&lt;P&gt;********************************************************************&lt;/P&gt;&lt;P&gt;*MOD-012&lt;/P&gt;&lt;P&gt;********************************************************************&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  IF I_CONTENTTAB1 IS INITIAL.&lt;/P&gt;&lt;P&gt;    UNASSIGN &amp;lt;dyn_table&amp;gt;.&lt;/P&gt;&lt;P&gt;  ENDIF.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  IF &amp;lt;dyn_table&amp;gt; IS ASSIGNED.&lt;/P&gt;&lt;P&gt;    INSERT (l_tabname) FROM TABLE &amp;lt;dyn_table&amp;gt;.&lt;/P&gt;&lt;P&gt;  ENDIF.&lt;/P&gt;&lt;P&gt;  UNASSIGN &amp;lt;dyn_table&amp;gt;.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;cheers&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Aveek&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Thu, 21 Aug 2008 07:11:57 GMT</pubDate>
      <guid>https://community.sap.com/t5/application-development-and-automation-discussions/issue-in-dynamic-structure-and-component-program/m-p/4302814#M1026053</guid>
      <dc:creator>Former Member</dc:creator>
      <dc:date>2008-08-21T07:11:57Z</dc:date>
    </item>
  </channel>
</rss>

