<?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: Dynamic Structure and Components Issue in Application Development and Automation Discussions</title>
    <link>https://community.sap.com/t5/application-development-and-automation-discussions/dynamic-structure-and-components-issue/m-p/4423078#M1050460</link>
    <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;For the dynamic components and database structure I am trying to work out this way.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;I have the database field in i_cuvtab_fld-dbfld.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;The problem is that the file could have components which are in random order and cannot be accessed by indexing. I also dont know the components of the file.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;**************************************************************************&lt;/P&gt;&lt;P&gt;**MOD-015&lt;/P&gt;&lt;P&gt;***************************************************************************&lt;/P&gt;&lt;P&gt;data: l_dbfld type NAME_FELD.&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;read table i_contenttab3 into wa_contenttab3 with key vtnam = wa_contenttab1-vtnam binary search.&lt;/P&gt;&lt;P&gt;if sy-subrc = 0.&lt;/P&gt;&lt;P&gt;READ TABLE i_col_pos INTO wa_col_pos with key vtnam = wa_contenttab1-vtnam&lt;/P&gt;&lt;P&gt;atnam = wa_contenttab3-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;READ TABLE I_CUVTAB_FLD INTO WA_CUVTAB_FLD WITH KEY VTINT = WA_COL_POS-VTINT&lt;/P&gt;&lt;P&gt;ATINN = WA_COL_POS-ATINN&lt;/P&gt;&lt;P&gt;VTPOS = WA_COL_POS-VTPOS BINARY SEARCH.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;if sy-subrc = 0.&lt;/P&gt;&lt;P&gt;l_index1 = wa_col_pos-field + 1.&lt;/P&gt;&lt;P&gt;l_dbfld = wa_cuvtab_fld-dbfld.&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_dbfld 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;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;***MOD-015&lt;/P&gt;&lt;P&gt;***************************************************************************&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;READ TABLE i_col_pos INTO wa_col_pos with key vtnam = wa_contenttab1-vtnam&lt;/P&gt;&lt;P&gt;atnam = wa_contenttab3-char2 binary search.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;if sy-subrc = 0.&lt;/P&gt;&lt;P&gt;READ TABLE I_CUVTAB_FLD INTO WA_CUVTAB_FLD WITH KEY VTINT = WA_COL_POS-VTINT&lt;/P&gt;&lt;P&gt;ATINN = WA_COL_POS-ATINN&lt;/P&gt;&lt;P&gt;VTPOS = WA_COL_POS-VTPOS BINARY SEARCH.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;if sy-subrc = 0.&lt;/P&gt;&lt;P&gt;l_index1 = wa_col_pos-field + 1.&lt;/P&gt;&lt;P&gt;l_dbfld = wa_cuvtab_fld-dbfld.&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_dbfld 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;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;READ TABLE i_col_pos INTO wa_col_pos with key vtnam = wa_contenttab1-vtnam&lt;/P&gt;&lt;P&gt;atnam = wa_contenttab3-char3 binary search.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;if sy-subrc = 0.&lt;/P&gt;&lt;P&gt;READ TABLE I_CUVTAB_FLD INTO WA_CUVTAB_FLD WITH KEY VTINT = WA_COL_POS-VTINT&lt;/P&gt;&lt;P&gt;ATINN = WA_COL_POS-ATINN&lt;/P&gt;&lt;P&gt;VTPOS = WA_COL_POS-VTPOS BINARY SEARCH.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;if sy-subrc = 0.&lt;/P&gt;&lt;P&gt;l_index1 = wa_col_pos-field + 1.&lt;/P&gt;&lt;P&gt;l_dbfld = wa_cuvtab_fld-dbfld.&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_dbfld 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;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;&lt;/P&gt;&lt;P&gt;READ TABLE i_col_pos INTO wa_col_pos with key vtnam = wa_contenttab1-vtnam&lt;/P&gt;&lt;P&gt;atnam = wa_contenttab3-char4 binary search.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;if sy-subrc = 0.&lt;/P&gt;&lt;P&gt;READ TABLE I_CUVTAB_FLD INTO WA_CUVTAB_FLD WITH KEY VTINT = WA_COL_POS-VTINT&lt;/P&gt;&lt;P&gt;ATINN = WA_COL_POS-ATINN&lt;/P&gt;&lt;P&gt;VTPOS = WA_COL_POS-VTPOS BINARY SEARCH.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;if sy-subrc = 0.&lt;/P&gt;&lt;P&gt;l_index1 = wa_col_pos-field + 1.&lt;/P&gt;&lt;P&gt;l_dbfld = wa_cuvtab_fld-dbfld.&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_dbfld 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;endif.&lt;/P&gt;&lt;P&gt;endif.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;READ TABLE i_col_pos INTO wa_col_pos with key vtnam = wa_contenttab1-vtnam&lt;/P&gt;&lt;P&gt;atnam = wa_contenttab3-char5 binary search.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;if sy-subrc = 0.&lt;/P&gt;&lt;P&gt;READ TABLE I_CUVTAB_FLD INTO WA_CUVTAB_FLD WITH KEY VTINT = WA_COL_POS-VTINT&lt;/P&gt;&lt;P&gt;ATINN = WA_COL_POS-ATINN&lt;/P&gt;&lt;P&gt;VTPOS = WA_COL_POS-VTPOS BINARY SEARCH.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;if sy-subrc = 0.&lt;/P&gt;&lt;P&gt;l_index1 = wa_col_pos-field + 1.&lt;/P&gt;&lt;P&gt;l_dbfld = wa_cuvtab_fld-dbfld.&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_dbfld 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;endif.&lt;/P&gt;&lt;P&gt;endif.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;READ TABLE i_col_pos INTO wa_col_pos with key vtnam = wa_contenttab1-vtnam&lt;/P&gt;&lt;P&gt;atnam = wa_contenttab3-char6 binary search.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;if sy-subrc = 0.&lt;/P&gt;&lt;P&gt;READ TABLE I_CUVTAB_FLD INTO WA_CUVTAB_FLD WITH KEY VTINT = WA_COL_POS-VTINT&lt;/P&gt;&lt;P&gt;ATINN = WA_COL_POS-ATINN&lt;/P&gt;&lt;P&gt;VTPOS = WA_COL_POS-VTPOS BINARY SEARCH.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;if sy-subrc = 0.&lt;/P&gt;&lt;P&gt;l_index1 = wa_col_pos-field + 1.&lt;/P&gt;&lt;P&gt;l_dbfld = wa_cuvtab_fld-dbfld.&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_dbfld 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;endif.&lt;/P&gt;&lt;P&gt;endif.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;READ TABLE i_col_pos INTO wa_col_pos with key vtnam = wa_contenttab1-vtnam&lt;/P&gt;&lt;P&gt;atnam = wa_contenttab3-char7 binary search.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;if sy-subrc = 0.&lt;/P&gt;&lt;P&gt;READ TABLE I_CUVTAB_FLD INTO WA_CUVTAB_FLD WITH KEY VTINT = WA_COL_POS-VTINT&lt;/P&gt;&lt;P&gt;ATINN = WA_COL_POS-ATINN&lt;/P&gt;&lt;P&gt;VTPOS = WA_COL_POS-VTPOS BINARY SEARCH.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;if sy-subrc = 0.&lt;/P&gt;&lt;P&gt;l_index1 = wa_col_pos-field + 1.&lt;/P&gt;&lt;P&gt;l_dbfld = wa_cuvtab_fld-dbfld.&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_dbfld 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;endif.&lt;/P&gt;&lt;P&gt;endif.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;READ TABLE i_col_pos INTO wa_col_pos with key vtnam = wa_contenttab1-vtnam&lt;/P&gt;&lt;P&gt;atnam = wa_contenttab3-char8 binary search.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;if sy-subrc = 0.&lt;/P&gt;&lt;P&gt;READ TABLE I_CUVTAB_FLD INTO WA_CUVTAB_FLD WITH KEY VTINT = WA_COL_POS-VTINT&lt;/P&gt;&lt;P&gt;ATINN = WA_COL_POS-ATINN&lt;/P&gt;&lt;P&gt;VTPOS = WA_COL_POS-VTPOS BINARY SEARCH.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;if sy-subrc = 0.&lt;/P&gt;&lt;P&gt;l_index1 = wa_col_pos-field + 1.&lt;/P&gt;&lt;P&gt;l_dbfld = wa_cuvtab_fld-dbfld.&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_dbfld 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;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;READ TABLE i_col_pos INTO wa_col_pos with key vtnam = wa_contenttab1-vtnam&lt;/P&gt;&lt;P&gt;atnam = wa_contenttab3-char9 binary search.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;if sy-subrc = 0.&lt;/P&gt;&lt;P&gt;READ TABLE I_CUVTAB_FLD INTO WA_CUVTAB_FLD WITH KEY VTINT = WA_COL_POS-VTINT&lt;/P&gt;&lt;P&gt;ATINN = WA_COL_POS-ATINN&lt;/P&gt;&lt;P&gt;VTPOS = WA_COL_POS-VTPOS BINARY SEARCH.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;if sy-subrc = 0.&lt;/P&gt;&lt;P&gt;l_index1 = wa_col_pos-field + 1.&lt;/P&gt;&lt;P&gt;l_dbfld = wa_cuvtab_fld-dbfld.&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_dbfld 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;endif.&lt;/P&gt;&lt;P&gt;endif.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;READ TABLE i_col_pos INTO wa_col_pos with key vtnam = wa_contenttab1-vtnam&lt;/P&gt;&lt;P&gt;atnam = wa_contenttab3-char10 binary search.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;if sy-subrc = 0.&lt;/P&gt;&lt;P&gt;READ TABLE I_CUVTAB_FLD INTO WA_CUVTAB_FLD WITH KEY VTINT = WA_COL_POS-VTINT&lt;/P&gt;&lt;P&gt;ATINN = WA_COL_POS-ATINN&lt;/P&gt;&lt;P&gt;VTPOS = WA_COL_POS-VTPOS BINARY SEARCH.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;if sy-subrc = 0.&lt;/P&gt;&lt;P&gt;l_index1 = wa_col_pos-field + 1.&lt;/P&gt;&lt;P&gt;l_dbfld = wa_cuvtab_fld-dbfld.&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_dbfld 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;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;READ TABLE i_col_pos INTO wa_col_pos with key vtnam = wa_contenttab1-vtnam&lt;/P&gt;&lt;P&gt;atnam = wa_contenttab3-char11 binary search.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;if sy-subrc = 0.&lt;/P&gt;&lt;P&gt;READ TABLE I_CUVTAB_FLD INTO WA_CUVTAB_FLD WITH KEY VTINT = WA_COL_POS-VTINT&lt;/P&gt;&lt;P&gt;ATINN = WA_COL_POS-ATINN&lt;/P&gt;&lt;P&gt;VTPOS = WA_COL_POS-VTPOS BINARY SEARCH.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;if sy-subrc = 0.&lt;/P&gt;&lt;P&gt;l_index1 = wa_col_pos-field + 1.&lt;/P&gt;&lt;P&gt;l_dbfld = wa_cuvtab_fld-dbfld.&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_dbfld 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;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;&lt;/P&gt;&lt;P&gt;READ TABLE i_col_pos INTO wa_col_pos with key vtnam = wa_contenttab1-vtnam&lt;/P&gt;&lt;P&gt;atnam = wa_contenttab3-char12 binary search.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;if sy-subrc = 0.&lt;/P&gt;&lt;P&gt;READ TABLE I_CUVTAB_FLD INTO WA_CUVTAB_FLD WITH KEY VTINT = WA_COL_POS-VTINT&lt;/P&gt;&lt;P&gt;ATINN = WA_COL_POS-ATINN&lt;/P&gt;&lt;P&gt;VTPOS = WA_COL_POS-VTPOS BINARY SEARCH.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;if sy-subrc = 0.&lt;/P&gt;&lt;P&gt;l_index1 = wa_col_pos-field + 1.&lt;/P&gt;&lt;P&gt;l_dbfld = wa_cuvtab_fld-dbfld.&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_dbfld 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;endif.&lt;/P&gt;&lt;P&gt;endif.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;READ TABLE i_col_pos INTO wa_col_pos with key vtnam = wa_contenttab1-vtnam&lt;/P&gt;&lt;P&gt;atnam = wa_contenttab3-char13 binary search.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;if sy-subrc = 0.&lt;/P&gt;&lt;P&gt;READ TABLE I_CUVTAB_FLD INTO WA_CUVTAB_FLD WITH KEY VTINT = WA_COL_POS-VTINT&lt;/P&gt;&lt;P&gt;ATINN = WA_COL_POS-ATINN&lt;/P&gt;&lt;P&gt;VTPOS = WA_COL_POS-VTPOS BINARY SEARCH.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;if sy-subrc = 0.&lt;/P&gt;&lt;P&gt;l_index1 = wa_col_pos-field + 1.&lt;/P&gt;&lt;P&gt;l_dbfld = wa_cuvtab_fld-dbfld.&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_dbfld 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;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;&lt;/P&gt;&lt;P&gt;READ TABLE i_col_pos INTO wa_col_pos with key vtnam = wa_contenttab1-vtnam&lt;/P&gt;&lt;P&gt;atnam = wa_contenttab3-char14 binary search.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;if sy-subrc = 0.&lt;/P&gt;&lt;P&gt;READ TABLE I_CUVTAB_FLD INTO WA_CUVTAB_FLD WITH KEY VTINT = WA_COL_POS-VTINT&lt;/P&gt;&lt;P&gt;ATINN = WA_COL_POS-ATINN&lt;/P&gt;&lt;P&gt;VTPOS = WA_COL_POS-VTPOS BINARY SEARCH.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;if sy-subrc = 0.&lt;/P&gt;&lt;P&gt;l_index1 = wa_col_pos-field + 1.&lt;/P&gt;&lt;P&gt;l_dbfld = wa_cuvtab_fld-dbfld.&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_dbfld 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;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;READ TABLE i_col_pos INTO wa_col_pos with key vtnam = wa_contenttab1-vtnam&lt;/P&gt;&lt;P&gt;atnam = wa_contenttab3-char15 binary search.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;if sy-subrc = 0.&lt;/P&gt;&lt;P&gt;READ TABLE I_CUVTAB_FLD INTO WA_CUVTAB_FLD WITH KEY VTINT = WA_COL_POS-VTINT&lt;/P&gt;&lt;P&gt;ATINN = WA_COL_POS-ATINN&lt;/P&gt;&lt;P&gt;VTPOS = WA_COL_POS-VTPOS 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;assign component 'Z_VARCOND' of structure wa_contenttab1 to &amp;lt;fs_field2&amp;gt;.&lt;/P&gt;&lt;P&gt;assign component l_lines_varcond 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;&lt;/P&gt;&lt;P&gt;endif.&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;SORT &amp;lt;dyn_table&amp;gt;. &lt;/P&gt;&lt;P&gt;DELETE ADJACENT DUPLICATES FROM &amp;lt;dyn_table&amp;gt;. &lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;**********************************************************************&lt;/P&gt;&lt;P&gt;The problem is here. Just before the assign component of z_varcond THE values in &amp;lt;dyn_wa&amp;gt; are correct. However after assigning the component z_varcond the &amp;lt;dyn_wa&amp;gt; is overwritten. I need the z_varcond in &amp;lt;dyn_wa&amp;gt; as the last column to be populated. Looking forward to yor inputs.&lt;/P&gt;&lt;P&gt;********************************************************************&lt;/P&gt;&lt;P&gt;**MOD-015&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;MODIFY (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;*MOD-015&lt;/P&gt;&lt;P&gt;*************************************************************************&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Any inputs would 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>Mon, 08 Sep 2008 11:34:56 GMT</pubDate>
    <dc:creator>Former Member</dc:creator>
    <dc:date>2008-09-08T11:34:56Z</dc:date>
    <item>
      <title>Dynamic Structure and Components Issue</title>
      <link>https://community.sap.com/t5/application-development-and-automation-discussions/dynamic-structure-and-components-issue/m-p/4423069#M1050451</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. &lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;I have been able to code the part where the components in the structure and the file components are in the same order. The problem is if the components in the structure and the file components are not in the same order. I would appreciate some inputs in this issue.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;The part that has to be worked out is:&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt; IF NOT L_TABNAME IS INITIAL.&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;  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;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-07-02&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-07-02&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;          Z_VARCOND TYPE VARCOND.&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_CONTENTTAB,&lt;/P&gt;&lt;P&gt;          VTNAM(018) type C,&lt;/P&gt;&lt;P&gt;          COMP1(30) TYPE C,&lt;/P&gt;&lt;P&gt;          CHAR1(030) type C,&lt;/P&gt;&lt;P&gt;          COMP2(30) TYPE C,&lt;/P&gt;&lt;P&gt;          CHAR2(030) type C,&lt;/P&gt;&lt;P&gt;          COMP3(30) TYPE C,&lt;/P&gt;&lt;P&gt;          CHAR3(030) type C,&lt;/P&gt;&lt;P&gt;          COMP4(30) TYPE C,&lt;/P&gt;&lt;P&gt;          CHAR4(030) type C,&lt;/P&gt;&lt;P&gt;          COMP5(30) TYPE C,&lt;/P&gt;&lt;P&gt;          CHAR5(030) type C,&lt;/P&gt;&lt;P&gt;          COMP6(30) TYPE C,&lt;/P&gt;&lt;P&gt;          CHAR6(030) type C,&lt;/P&gt;&lt;P&gt;          COMP7(30) TYPE C,&lt;/P&gt;&lt;P&gt;          CHAR7(030) type C,&lt;/P&gt;&lt;P&gt;          COMP8(30) TYPE C,&lt;/P&gt;&lt;P&gt;          CHAR8(030) type C,&lt;/P&gt;&lt;P&gt;          COMP9(30) TYPE C,&lt;/P&gt;&lt;P&gt;          CHAR9(030) type C,&lt;/P&gt;&lt;P&gt;          COMP10(30) TYPE C,&lt;/P&gt;&lt;P&gt;          CHAR10(030) type C,&lt;/P&gt;&lt;P&gt;          COMP11(30) TYPE C,&lt;/P&gt;&lt;P&gt;          CHAR11(030) type C,&lt;/P&gt;&lt;P&gt;          COMP12(30) TYPE C,&lt;/P&gt;&lt;P&gt;          CHAR12(030) type C,&lt;/P&gt;&lt;P&gt;          COMP13(30) TYPE C,&lt;/P&gt;&lt;P&gt;          CHAR13(030) type C,&lt;/P&gt;&lt;P&gt;          COMP14(30) TYPE C,&lt;/P&gt;&lt;P&gt;          CHAR14(030) type C,&lt;/P&gt;&lt;P&gt;          COMP15(30) 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_CONTENTTAB.&lt;/P&gt;&lt;P&gt;&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;         dbtab_name type tabname16, "Custom table Name&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;***********************************************************************&lt;/P&gt;&lt;P&gt;*mod-012&lt;/P&gt;&lt;P&gt;***********************************************************************&lt;/P&gt;&lt;P&gt;        DBFLD type NAME_FELD,&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;         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;         DBFLD type NAME_FELD,    " Field Name of Custom table.&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;P&gt;&lt;/P&gt;&lt;P&gt;TYPES: BEGIN OF ty_dbtab,&lt;/P&gt;&lt;P&gt;        vtint     TYPE vtint,&lt;/P&gt;&lt;P&gt;        vtnam     TYPE vtnam,&lt;/P&gt;&lt;P&gt;        DBTAB_NAME TYPE TABNAME16,&lt;/P&gt;&lt;P&gt;      END OF ty_dbtab.&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;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_contenttab5 TYPE STANDARD TABLE OF ty_contenttab 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_contenttab5 TYPE ty_contentTAB.                   "#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_MD4(3)     TYPE C          VALUE 'MD4'.         "#EC *&lt;/P&gt;&lt;P&gt;CONSTANTS C_MD5(3)     TYPE C          VALUE 'MD5'.         "#EC *&lt;/P&gt;&lt;P&gt;&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;      i_dbtab       TYPE STANDARD TABLE OF ty_dbtab.        "#EC *&lt;/P&gt;&lt;P&gt;&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_lines_varcond type i.                               "#EC *&lt;/P&gt;&lt;P&gt;DATA: l_lines1 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;      l_tabname TYPE tabname,&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;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;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 bl5 WITH FRAME TITLE text-038.&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_idocp RADIOBUTTON GROUP RB3 DEFAULT 'X' USER-COMMAND UCOM MODIF ID MD6,&lt;/P&gt;&lt;P&gt;  rb_custt RADIOBUTTON GROUP RB3 MODIF ID MD6.&lt;/P&gt;&lt;P&gt;SELECTION-SCREEN END OF BLOCK bl5.&lt;/P&gt;&lt;P&gt;&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 MODIF ID MD4,&lt;/P&gt;&lt;P&gt;  rb_convt RADIOBUTTON GROUP RB1 MODIF ID MD4,&lt;/P&gt;&lt;P&gt;  rb_idoc RADIOBUTTON  GROUP RB1 MODIF ID MD4,&lt;/P&gt;&lt;P&gt;  rb_proc RADIOBUTTON  GROUP RB1 MODIF ID MD4.&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;SELECTION-SCREEN BEGIN OF BLOCK bl4 WITH FRAME TITLE text-037.&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_appct RADIOBUTTON GROUP RB2 DEFAULT 'X' USER-COMMAND UCOM MODIF ID MD5,&lt;/P&gt;&lt;P&gt;  rb_conct RADIOBUTTON GROUP RB2 MODIF ID MD5,&lt;/P&gt;&lt;P&gt;  rb_cust RADIOBUTTON  GROUP RB2 MODIF ID MD5.&lt;/P&gt;&lt;P&gt;SELECTION-SCREEN END OF BLOCK bl4.&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;P&gt;  IF RB_IDOCP = 'X'.&lt;/P&gt;&lt;P&gt;    LOOP AT SCREEN.&lt;/P&gt;&lt;P&gt;      IF SCREEN-GROUP1 = c_md5.&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;P&gt;  ENDIF.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  IF RB_CUSTT = 'X'.&lt;/P&gt;&lt;P&gt;    LOOP AT SCREEN.&lt;/P&gt;&lt;P&gt;      IF SCREEN-GROUP1 = c_md4.&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;P&gt;  ENDIF.&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_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;UL&gt;&lt;LI level="2" type="ul"&gt;&lt;P&gt;     IF SCREEN-GROUP1 = c_md4.&lt;/P&gt;&lt;/LI&gt;&lt;LI level="2" type="ul"&gt;&lt;P&gt;       SCREEN-INPUT = 0.&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;LI level="1" type="ul"&gt;&lt;P&gt;     IF SCREEN-GROUP1 = c_md5.&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_appct = '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_md4.&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;UL&gt;&lt;LI level="2" type="ul"&gt;&lt;P&gt;     IF SCREEN-GROUP1 = c_md5.&lt;/P&gt;&lt;/LI&gt;&lt;LI level="2" type="ul"&gt;&lt;P&gt;       SCREEN-INPUT = 0.&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;     MODIFY SCREEN.&lt;/P&gt;&lt;/LI&gt;&lt;/UL&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;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;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt; IF rb_idocp = 'X'.&lt;/P&gt;&lt;/LI&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;     PERFORM sub_upload_data_app.&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;     MESSAGE i256.&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;     EXIT.&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;     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;   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_CONVT = 'X'.&lt;/P&gt;&lt;/LI&gt;&lt;UL&gt;&lt;LI level="2" type="ul"&gt;&lt;P&gt;    Get characteristic details&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;     PERFORM sub_get_cabn.&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;    Get value for characteristics&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;     PERFORM sub_get_cawn.&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_convert_transaction.&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_idoc = c_x.&lt;/P&gt;&lt;/LI&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;   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_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_CLEAR_VARIABLES.&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;  IF RB_CUSTT = 'X'.&lt;/P&gt;&lt;P&gt;    IF rb_appct = '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;  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_cust.&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;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-07-02&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;P&gt;  constants: c_lp01(4) type c value 'LP01'.&lt;/P&gt;&lt;P&gt;  data:      c_99 type i value 99.&lt;/P&gt;&lt;P&gt;  g_repid = sy-repid.&lt;/P&gt;&lt;P&gt;  g_lprnt = c_lp01.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  DESCRIBE TABLE i_errortab LINES g_lines.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  IF g_lines GT 0.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;To display the Text data in Spool&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;    CALL FUNCTION 'RSPO_SX_OUTPUT_TEXTDATA'&lt;/P&gt;&lt;P&gt;      EXPORTING&lt;/P&gt;&lt;P&gt;        dest           = g_lprnt&lt;/P&gt;&lt;P&gt;        rows           = g_lines&lt;/P&gt;&lt;P&gt;        startrow       = 1&lt;/P&gt;&lt;P&gt;        pages          = c_99&lt;/P&gt;&lt;P&gt;        rqtitle        = text-029&lt;/P&gt;&lt;P&gt;        immediately    = space&lt;/P&gt;&lt;P&gt;      IMPORTING&lt;/P&gt;&lt;P&gt;        rqid           = g_splid&lt;/P&gt;&lt;P&gt;      TABLES&lt;/P&gt;&lt;P&gt;        text_data      = i_errortab&lt;/P&gt;&lt;P&gt;      EXCEPTIONS&lt;/P&gt;&lt;P&gt;        name_missing   = 1&lt;/P&gt;&lt;P&gt;        name_twice     = 2&lt;/P&gt;&lt;P&gt;        not_found      = 3&lt;/P&gt;&lt;P&gt;        illegal_layout = 4&lt;/P&gt;&lt;P&gt;        internal_error = 5&lt;/P&gt;&lt;P&gt;        size_mismatch  = 6&lt;/P&gt;&lt;P&gt;        OTHERS         = 7.                                 "#EC NOTEXT&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;    IF sy-subrc EQ 0.&lt;/P&gt;&lt;P&gt;      g_repid = sy-repid.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" 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;P&gt;      CALL FUNCTION 'RSLG_WRITE_SYSLOG_ENTRY'&lt;/P&gt;&lt;P&gt;        EXPORTING&lt;/P&gt;&lt;P&gt;          data_word1         = c_urgnc      " Urgency&lt;/P&gt;&lt;P&gt;          data_word2         = g_splid      " Spool Number&lt;/P&gt;&lt;P&gt;          data_word3         = g_repid      " Program Name&lt;/P&gt;&lt;P&gt;          sl_message_area    = c_msgar      " Message Area&lt;/P&gt;&lt;P&gt;          sl_message_subid   = c_msgid&lt;/P&gt;&lt;P&gt;        EXCEPTIONS&lt;/P&gt;&lt;P&gt;          data_missing       = 1     " Third character of msg area&lt;/P&gt;&lt;P&gt;          data_words_problem = 2&lt;/P&gt;&lt;P&gt;          other_problem      = 3&lt;/P&gt;&lt;P&gt;          pre_params_problem = 4&lt;/P&gt;&lt;P&gt;          OTHERS             = 5.&lt;/P&gt;&lt;P&gt;      IF sy-subrc NE 0.&lt;/P&gt;&lt;P&gt;        MESSAGE ID sy-msgid TYPE sy-msgty NUMBER sy-msgno&lt;/P&gt;&lt;P&gt;                WITH sy-msgv1 sy-msgv2 sy-msgv3 sy-msgv4.&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;  ENDIF.&lt;/P&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;P&gt;  IF g_error_tab[] IS NOT INITIAL.&lt;/P&gt;&lt;P&gt;    PERFORM sub_create_erortab.                             "#EC *&lt;/P&gt;&lt;P&gt;    PERFORM sub_populate_syslog. "tables i_errortab.          "#EC *&lt;/P&gt;&lt;P&gt;  ENDIF.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  IF NOT G_ERROR_TAB[] IS INITIAL.&lt;/P&gt;&lt;P&gt;    perform sub_application_log.&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;Population of Application Log*&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;  IF NOT G_ERROR_TAB[] IS INITIAL.&lt;/P&gt;&lt;P&gt;    PERFORM sub_app_log_init CHANGING v_log_handle.         "#EC *&lt;/P&gt;&lt;P&gt;    PERFORM sub_app_log_add USING v_log_handle.             "#EC *&lt;/P&gt;&lt;P&gt;    PERFORM sub_data_save USING v_log_handle.               "#EC *&lt;/P&gt;&lt;P&gt;    PERFORM sub_log_show USING v_log_handle.                "#EC *&lt;/P&gt;&lt;P&gt;  ENDIF.&lt;/P&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-015&lt;/P&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;P&gt;      IF rb_proc = c_x.&lt;/P&gt;&lt;P&gt;        PERFORM SUB_START_IDOC_PROCESS.&lt;/P&gt;&lt;P&gt;      ENDIF.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;      PERFORM SUB_CLEAR_VARIABLES.&lt;/P&gt;&lt;P&gt;*********************************************************&lt;/P&gt;&lt;P&gt;*MOD-015&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;  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;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;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;DATA:  l_tabname TYPE tabname.&lt;/P&gt;&lt;/LI&gt;&lt;/UL&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;  DATA: L_TAB TYPE TABNAME.&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;*******************************************************************&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; MOVE   wa_contentheader1-vtnam TO l_tabname.&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; SELECT SINGLE TABNAME&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt; INTO L_TAB&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt; FROM DD03L&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt; WHERE TABNAME = L_TABNAME.&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 L_TAB IS INITIAL.&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;   perform get_structure.&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;   perform create_dynamic_itab.&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;   perform get_data.&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;Getting own logical system&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;  CALL FUNCTION 'OWN_LOGICAL_SYSTEM_GET'&lt;/P&gt;&lt;P&gt;    IMPORTING&lt;/P&gt;&lt;P&gt;      own_logical_system             = l_logsys&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;  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;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" 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;P&gt;  CALL FUNCTION 'MMODEL_INT_VALID_GET'&lt;/P&gt;&lt;P&gt;    EXPORTING&lt;/P&gt;&lt;P&gt;      mestyp = C_VTMMAS&lt;/P&gt;&lt;P&gt;    TABLES&lt;/P&gt;&lt;P&gt;      model  = l_i_model.&lt;/P&gt;&lt;P&gt;***********************************************************************&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" 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="1" type="ul"&gt;&lt;P&gt;    this FM.&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;***********************************************************************&lt;/P&gt;&lt;P&gt;  SORT l_i_model by sndsystem mestyp rcvsystem.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  READ TABLE l_i_model into wa_i_mmodel with key sndsystem = l_logsys binary search.&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;  SORT I_CONTENTTAB1 BY VTNAM.&lt;/P&gt;&lt;P&gt;  DELETE I_CONTENTTAB1 where vtnam is initial.&lt;/P&gt;&lt;UL&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;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;UL&gt;&lt;LI level="1" 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="1" type="ul"&gt;&lt;P&gt; IF SY-SUBRC = 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;P&gt;  clear wa_itab_zedidc40.&lt;/P&gt;&lt;P&gt;  wa_itab_zedidc40-tabnam    = C_EDI_DC40.&lt;/P&gt;&lt;P&gt;  wa_itab_zedidc40-docnum    = wdocnum.                     "#EC NEEDED&lt;/P&gt;&lt;P&gt;  wa_itab_zedidc40-direct    = C_2.&lt;/P&gt;&lt;P&gt;  concatenate 'SAP' sy-sysid into wa_itab_zedidc40-rcvpor.&lt;/P&gt;&lt;P&gt;  wa_itab_zedidc40-rcvprt    =  C_LS.&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;    itab_zedidc40-rcvprn    = 'ID3CLNT800'.&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;    itab_zedidc40-rcvprn    =  p_rcvpr.&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;  wa_itab_zedidc40-rcvprn    =  wa_i_mmodel-RCVSYSTEM.&lt;/P&gt;&lt;P&gt;  wa_itab_zedidc40-sndpor    = ' '.&lt;/P&gt;&lt;P&gt;  wa_itab_zedidc40-sndprt    = C_LS.&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;    itab_zedidc40-sndprn    = 'T90CLNT090'.&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;  wa_itab_zedidc40-sndprn    = l_logsys.&lt;/P&gt;&lt;P&gt;  wa_itab_zedidc40-credat    = sy-datum.&lt;/P&gt;&lt;P&gt;  wa_itab_zedidc40-cretim    = sy-uzeit.&lt;/P&gt;&lt;P&gt;  wa_itab_zedidc40-mestyp    = C_VTMMAS.&lt;/P&gt;&lt;P&gt;  wa_itab_zedidc40-idoctyp   = C_VTMMAS02.&lt;/P&gt;&lt;P&gt;  append wa_itab_zedidc40 to itab_zedidc40.                                      " Control record&lt;/P&gt;&lt;P&gt;  clear: wa_contentheader1.&lt;/P&gt;&lt;P&gt;  clear: wa_contenttab1.&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;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;P&gt;  READ TABLE itab_zedidc40 into wa_itab_zedidc40 INDEX 1.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  IF SY-SUBRC = 0.&lt;/P&gt;&lt;P&gt;    l_edkp1-mandt = sy-mandt.&lt;/P&gt;&lt;P&gt;    l_edkp1-parnum = wa_itab_zedidc40-sndprn.&lt;/P&gt;&lt;P&gt;    l_edkp1-partyp = wa_itab_zedidc40-sndprt.&lt;/P&gt;&lt;P&gt;    CALL FUNCTION 'EDI_AGREE_PARTNER_READ'                  "#EC *&lt;/P&gt;&lt;P&gt;      EXPORTING&lt;/P&gt;&lt;P&gt;        rec_edkp1 = l_edkp1.&lt;/P&gt;&lt;P&gt;    IF sy-subrc &amp;lt;&amp;gt; 0.                                       "#EC *&lt;/P&gt;&lt;P&gt;      MESSAGE i810(/sapdmc/lsmw) WITH wa_itab_zedidc40-sndprn"#EC *&lt;/P&gt;&lt;P&gt;                                      wa_itab_zedidc40-sndprt.&lt;/P&gt;&lt;P&gt;      EXIT.&lt;/P&gt;&lt;P&gt;    ENDIF.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;    l_edk21-mandt = sy-mandt.&lt;/P&gt;&lt;P&gt;    l_edk21-sndprn = wa_itab_zedidc40-sndprn.&lt;/P&gt;&lt;P&gt;    l_edk21-sndprt = wa_itab_zedidc40-sndprt.&lt;/P&gt;&lt;P&gt;    l_edk21-mestyp = wa_itab_zedidc40-mestyp.&lt;/P&gt;&lt;P&gt;    l_edk21-mescod = wa_itab_zedidc40-mescod.&lt;/P&gt;&lt;P&gt;    CALL FUNCTION 'EDI_AGREE_IN_MESSTYPE_READ'              "#EC *&lt;/P&gt;&lt;P&gt;      EXPORTING&lt;/P&gt;&lt;P&gt;        rec_edk21 = l_edk21.&lt;/P&gt;&lt;P&gt;    IF sy-subrc &amp;lt;&amp;gt; 0.                                       "#EC *&lt;/P&gt;&lt;P&gt;      MESSAGE i811(/sapdmc/lsmw) WITH wa_itab_zedidc40-mestyp."#EC *&lt;/P&gt;&lt;P&gt;      EXIT.&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;  CALL FUNCTION 'SAPGUI_PROGRESS_INDICATOR'                 "#EC *&lt;/P&gt;&lt;P&gt;    EXPORTING&lt;/P&gt;&lt;P&gt;      text = text-010.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  wdocnum = 0.&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 itab_zedidc40 into wa_itab_zedidc40.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;    call function 'IDOC_INBOUND_ASYNCHRONOUS'&lt;/P&gt;&lt;P&gt;      TABLES&lt;/P&gt;&lt;P&gt;        idoc_control_rec_40 = itab_zedidc40&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;      idoc_control_rec_40 = gt_curr_edi_dc40&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;        idoc_data_rec_40    = gt_curr_edi_dd40.&lt;/P&gt;&lt;P&gt;    add 1 to g_cnt_transactions_transferred.&lt;/P&gt;&lt;P&gt;    add 1 to g_cnt_transactions_read.&lt;/P&gt;&lt;P&gt;    add 1 to wdocnum.&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;  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;&lt;/P&gt;&lt;P&gt;  DESCRIBE TABLE itab_zedidc40 LINES l_lines.&lt;/P&gt;&lt;P&gt;  ADD l_lines TO g_cnt_records_transferred.&lt;/P&gt;&lt;P&gt;  DESCRIBE TABLE gt_curr_edi_dd40 LINES l_lines.&lt;/P&gt;&lt;P&gt;  ADD l_lines TO g_cnt_records_transferred.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  CLEAR:&lt;/P&gt;&lt;P&gt;    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;&lt;/P&gt;&lt;P&gt;  CLEAR:&lt;/P&gt;&lt;P&gt;    itab_zedidd40[],                                        "YOG190700&lt;/P&gt;&lt;P&gt;    itab_zedidd40[].                                        "YOG190700&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  CLEAR: g_segnum.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  Refresh: itab_zedidc40,&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;*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;  SELECT vtint vtnam dbtab_name 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;&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;  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;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;*********************************************&lt;/P&gt;&lt;P&gt;*MOD-012&lt;/P&gt;&lt;P&gt;*********************************************&lt;/P&gt;&lt;P&gt;      SELECT vtint atinn vtpos DBFLD&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;      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;P&gt;        Sort i_cuvtab by vtint vtnam.&lt;/P&gt;&lt;P&gt;        READ TABLE i_cuvtab INTO wa_vtnam WITH KEY DBTAB_NAME = 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-015&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;        WA_CONTENTTAB1-Z_VARCOND = G_VARCOND.&lt;/P&gt;&lt;P&gt;        MODIFY I_CONTENTTAB1 FROM WA_CONTENTTAB1 TRANSPORTING Z_VARCOND.&lt;/P&gt;&lt;P&gt;      ENDLOOP.&lt;/P&gt;&lt;P&gt;****************************************************************&lt;/P&gt;&lt;P&gt;*MOD-015&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;LI level="1" type="ul"&gt;&lt;P&gt;     IF g_invalid IS INITIAL.&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;       LOOP AT i_e1cuv1m INTO wa_e1cuv1m.&lt;/P&gt;&lt;/LI&gt;&lt;UL&gt;&lt;LI level="2" type="ul"&gt;&lt;P&gt;        perform fill_edidd_segments USING wa_e1cuv1m.&lt;/P&gt;&lt;/LI&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;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;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;*mod-015&lt;/P&gt;&lt;P&gt;************************************************************************&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt; DATA: l_len_slnid TYPE i,                                 "#EC NEEDED&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;       l_len_varcond TYPE i,                               "#EC NEEDED&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;       l_temp_slnid TYPE i,                                "#EC NEEDED&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;       l_temp_slnc TYPE char5,                             "#EC NEEDED&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;       l_temp_varcond TYPE varcond,                        "#EC NEEDED&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;       l_sub_var      TYPE i,                              "#EC NEEDED&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;       l_val_split TYPE char10.                            "#EC NEEDED&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_invalid.                                          "#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;We are sorting it to concatenate characteristics value into Variant&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt; CLEAR g_varcond.&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt; CONCATENATE 'V' wa_vnt_ma-unique_no INTO g_varcond.&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; DATA: l_invalid.                                          "#EC NEEDED&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;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-015&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;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-015&lt;/P&gt;&lt;P&gt;*************************************************************************&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  if g_split_var = 1.&lt;/P&gt;&lt;P&gt;   DELETE I_CONTENTTAB1 INDEX 1.&lt;/P&gt;&lt;P&gt;  endif.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  READ TABLE I_CONTENTTAB1 INTO WA_CONTENTTAB1 INDEX g_split_var.&lt;/P&gt;&lt;P&gt;  IF SY-SUBRC = 0.&lt;/P&gt;&lt;P&gt;    WA_CONTENTTAB1-Z_VARCOND = G_VARCOND.&lt;/P&gt;&lt;P&gt;  ENDIF.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  MODIFY I_CONTENTTAB1 INDEX g_split_var FROM WA_CONTENTTAB1 TRANSPORTING Z_VARCOND.&lt;/P&gt;&lt;P&gt;  g_split_var = g_split_var + 1.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;*************************************************************************&lt;/P&gt;&lt;P&gt;*MOD-015&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;P&gt;  DATA: l_s_log TYPE bal_s_log.                             "#EC NEEDED&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  CLEAR l_s_log.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt; IS_LOG_HEADER-EXTNUMBER  = TEXT-L01.&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;  IS_LOG_HEADER-ALUSER     = SY-UNAME.&lt;/P&gt;&lt;P&gt;  IS_LOG_HEADER-ALDATE     = SY-DATUM.&lt;/P&gt;&lt;P&gt;  IS_LOG_HEADER-ALTIME     = SY-UZEIT.&lt;/P&gt;&lt;P&gt;  IS_LOG_HEADER-ALTCODE    = IV_TCODE.&lt;/P&gt;&lt;P&gt;  IS_LOG_HEADER-ALPROG     = SY-REPID.&lt;/P&gt;&lt;P&gt;  IS_LOG_HEADER-OBJECT     = 'CAPI'.&lt;/P&gt;&lt;P&gt;  IS_LOG_HEADER-SUBOBJECT  = 'CAPI_LOG'.&lt;/P&gt;&lt;P&gt;  is_log_header-del_before = 'X'.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  CALL FUNCTION 'BAL_LOG_CREATE'&lt;/P&gt;&lt;P&gt;    EXPORTING&lt;/P&gt;&lt;P&gt;      i_s_log                 = is_log_header&lt;/P&gt;&lt;P&gt;    IMPORTING&lt;/P&gt;&lt;P&gt;      e_log_handle            = fp_log_handle&lt;/P&gt;&lt;P&gt;    EXCEPTIONS&lt;/P&gt;&lt;P&gt;      log_header_inconsistent = 1&lt;/P&gt;&lt;P&gt;      OTHERS                  = 2.&lt;/P&gt;&lt;P&gt;  IF sy-subrc &amp;lt;&amp;gt; 0.&lt;/P&gt;&lt;P&gt;    MESSAGE ID sy-msgid TYPE sy-msgty NUMBER sy-msgno&lt;/P&gt;&lt;P&gt;            WITH sy-msgv1 sy-msgv2 sy-msgv3 sy-msgv4.&lt;/P&gt;&lt;P&gt;  ENDIF.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;ENDFORM.                    " f_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;*&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;P&gt;  DATA:  l_v_probclass TYPE bal_s_msg-probclass,&lt;/P&gt;&lt;P&gt;         l_s_msg     TYPE bal_s_msg,&lt;/P&gt;&lt;P&gt;         l_v_msg     TYPE  boolean.                         "#EC NEEDED&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;priority clas&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;  CONSTANTS:&lt;/P&gt;&lt;P&gt;    l_c_probclass_very_high TYPE bal_s_msg-probclass VALUE '1',&lt;/P&gt;&lt;P&gt;    l_c_probclass_high      TYPE bal_s_msg-probclass VALUE '2',&lt;/P&gt;&lt;P&gt;    l_c_probclass_medium    TYPE bal_s_msg-probclass VALUE '3',&lt;/P&gt;&lt;P&gt;    l_c_probclass_low       TYPE bal_s_msg-probclass VALUE '4',&lt;/P&gt;&lt;P&gt;    l_c_probclass_none      TYPE bal_s_msg-probclass VALUE ' '.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;message types&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;  CONSTANTS:&lt;/P&gt;&lt;P&gt;    l_c_msgty_x             TYPE sy-msgty            VALUE 'X',&lt;/P&gt;&lt;P&gt;    l_c_msgty_a             TYPE sy-msgty            VALUE 'A',&lt;/P&gt;&lt;P&gt;    l_c_msgty_e             TYPE sy-msgty            VALUE 'E',&lt;/P&gt;&lt;P&gt;    l_c_msgty_w             TYPE sy-msgty            VALUE 'W',&lt;/P&gt;&lt;P&gt;    l_c_msgty_i             TYPE sy-msgty            VALUE 'I',&lt;/P&gt;&lt;P&gt;    l_c_msgty_s             TYPE sy-msgty            VALUE 'S',&lt;/P&gt;&lt;P&gt;    l_c_msgty_none          TYPE sy-msgty            VALUE ' '.&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;entry check&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt; CHECK sy-msgno NE 0.&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt; CHECK sy-msgid NE space.&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;define data of message for Application Log&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;  l_s_msg-msgty     = sy-msgty.&lt;/P&gt;&lt;P&gt;  l_s_msg-msgid     = sy-msgid.&lt;/P&gt;&lt;P&gt;  l_s_msg-msgno     = sy-msgno.&lt;/P&gt;&lt;P&gt;  l_s_msg-msgv1     = sy-msgv1.&lt;/P&gt;&lt;P&gt;  l_s_msg-msgv2     = sy-msgv2.&lt;/P&gt;&lt;P&gt;  l_s_msg-msgv3     = sy-msgv3.&lt;/P&gt;&lt;P&gt;  l_s_msg-msgv4     = sy-msgv4.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  LOOP AT G_ERROR_TAB INTO WA_ERRORTAB.&lt;/P&gt;&lt;P&gt;    l_s_msg-msgty     = WA_ERRORTAB-msgty.&lt;/P&gt;&lt;P&gt;    l_s_msg-msgid     = WA_ERRORTAB-id.&lt;/P&gt;&lt;P&gt;    l_s_msg-msgno     = WA_ERRORTAB-msgno.&lt;/P&gt;&lt;P&gt;    l_s_msg-msgv1     = WA_ERRORTAB-par1.&lt;/P&gt;&lt;P&gt;    l_s_msg-msgv2     = WA_ERRORTAB-par2.&lt;/P&gt;&lt;P&gt;    l_s_msg-msgv3     = WA_ERRORTAB-par3.&lt;/P&gt;&lt;P&gt;    l_s_msg-msgv4     = WA_ERRORTAB-par4.&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;  CASE sy-msgty.&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;  CASE l_s_msg-msgty.&lt;/P&gt;&lt;P&gt;    WHEN l_c_msgty_x.&lt;/P&gt;&lt;P&gt;      l_v_probclass = l_c_probclass_very_high.  l_v_msg = 'X'.&lt;/P&gt;&lt;P&gt;    WHEN l_c_msgty_a.&lt;/P&gt;&lt;P&gt;      l_v_probclass = l_c_probclass_very_high.  l_v_msg = 'X'.&lt;/P&gt;&lt;P&gt;    WHEN l_c_msgty_e.&lt;/P&gt;&lt;P&gt;      l_v_probclass = l_c_probclass_high.       l_v_msg = 'X'.&lt;/P&gt;&lt;P&gt;    WHEN l_c_msgty_w.&lt;/P&gt;&lt;P&gt;      l_v_probclass = l_c_probclass_medium.&lt;/P&gt;&lt;P&gt;    WHEN l_c_msgty_i.&lt;/P&gt;&lt;P&gt;      l_v_probclass = l_c_probclass_low.&lt;/P&gt;&lt;P&gt;    WHEN l_c_msgty_s.&lt;/P&gt;&lt;P&gt;      l_v_probclass = l_c_probclass_low.&lt;/P&gt;&lt;P&gt;    WHEN l_c_msgty_none.&lt;/P&gt;&lt;P&gt;      l_v_probclass = l_c_probclass_none.&lt;/P&gt;&lt;P&gt;  ENDCASE.&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;bis hier temporär&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;  l_s_msg-probclass = l_v_probclass.&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;add this message to log file&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  CALL FUNCTION 'BAL_LOG_MSG_ADD'&lt;/P&gt;&lt;P&gt;    EXPORTING&lt;/P&gt;&lt;P&gt;      i_log_handle     = fp_log_handle&lt;/P&gt;&lt;P&gt;      i_s_msg          = l_s_msg&lt;/P&gt;&lt;P&gt;    EXCEPTIONS&lt;/P&gt;&lt;P&gt;      log_not_found    = 1&lt;/P&gt;&lt;P&gt;      msg_inconsistent = 2&lt;/P&gt;&lt;P&gt;      log_is_full      = 3&lt;/P&gt;&lt;P&gt;      OTHERS           = 4.&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 ID sy-msgid TYPE sy-msgty NUMBER sy-msgno&lt;/P&gt;&lt;P&gt;            WITH sy-msgv1 sy-msgv2 sy-msgv3 sy-msgv4.&lt;/P&gt;&lt;P&gt;  ENDIF.&lt;/P&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;P&gt;  DATA: lt_log_handle TYPE  bal_t_logh.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  APPEND fp_log_handle TO lt_log_handle.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  CALL FUNCTION 'BAL_DB_SAVE'&lt;/P&gt;&lt;P&gt;    EXPORTING&lt;/P&gt;&lt;P&gt;      i_client         = sy-mandt&lt;/P&gt;&lt;P&gt;      i_save_all       = ' '&lt;/P&gt;&lt;P&gt;      i_t_log_handle   = lt_log_handle&lt;/P&gt;&lt;P&gt;    EXCEPTIONS&lt;/P&gt;&lt;P&gt;      log_not_found    = 1&lt;/P&gt;&lt;P&gt;      save_not_allowed = 2&lt;/P&gt;&lt;P&gt;      numbering_error  = 3&lt;/P&gt;&lt;P&gt;      OTHERS           = 4.&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 ID sy-msgid TYPE sy-msgty NUMBER sy-msgno&lt;/P&gt;&lt;P&gt;            WITH sy-msgv1 sy-msgv2 sy-msgv3 sy-msgv4.&lt;/P&gt;&lt;P&gt;  ENDIF.&lt;/P&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;P&gt;  LOOP AT G_ERROR_TAB INTO WA_ERRORTAB.&lt;/P&gt;&lt;P&gt;    concatenate   WA_ERRORTAB-msgty&lt;/P&gt;&lt;P&gt;                  WA_ERRORTAB-id&lt;/P&gt;&lt;P&gt;                  WA_ERRORTAB-msgno&lt;/P&gt;&lt;P&gt;                  WA_ERRORTAB-par1&lt;/P&gt;&lt;P&gt;                  into wa_error_tab-line separated by space.&lt;/P&gt;&lt;P&gt;    APPEND WA_ERROR_TAB TO I_ERRORTAB.&lt;/P&gt;&lt;P&gt;    CLEAR: WA_ERROR_TAB, wa_errortab.&lt;/P&gt;&lt;P&gt;  ENDLOOP.&lt;/P&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;P&gt;  DATA: LS_PROFILE TYPE BAL_S_PROF.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  CALL FUNCTION 'BAL_DSP_PROFILE_SINGLE_LOG_GET'&lt;/P&gt;&lt;P&gt;    IMPORTING&lt;/P&gt;&lt;P&gt;      E_S_DISPLAY_PROFILE = LS_PROFILE.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;we therefore show all messages immediately&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;  LS_PROFILE-EXP_LEVEL   = 0.&lt;/P&gt;&lt;P&gt;  LS_PROFILE-USE_GRID   = C_X.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  CALL FUNCTION 'BAL_DSP_LOG_DISPLAY'&lt;/P&gt;&lt;P&gt;    EXPORTING&lt;/P&gt;&lt;P&gt;      I_S_DISPLAY_PROFILE = LS_PROFILE&lt;/P&gt;&lt;P&gt;    EXCEPTIONS&lt;/P&gt;&lt;P&gt;      OTHERS              = 1.&lt;/P&gt;&lt;P&gt;  IF SY-SUBRC &amp;lt;&amp;gt; 0.&lt;/P&gt;&lt;P&gt;    MESSAGE ID SY-MSGID TYPE SY-MSGTY NUMBER SY-MSGNO&lt;/P&gt;&lt;P&gt;            WITH SY-MSGV1 SY-MSGV2 SY-MSGV3 SY-MSGV4.&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.                    " 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;P&gt;  TYPES: BEGIN OF type_errorline,&lt;/P&gt;&lt;P&gt;         msgty LIKE sy-msgty,&lt;/P&gt;&lt;P&gt;         id LIKE sy-msgid,&lt;/P&gt;&lt;P&gt;         msgno LIKE sy-msgno,&lt;/P&gt;&lt;P&gt;         par1 LIKE sy-msgv1,&lt;/P&gt;&lt;P&gt;         par2 LIKE sy-msgv2,&lt;/P&gt;&lt;P&gt;         par3 LIKE sy-msgv3,&lt;/P&gt;&lt;P&gt;         par4 LIKE sy-msgv4,&lt;/P&gt;&lt;P&gt;    END OF type_errorline.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  TYPES: BEGIN OF ty_balmi.&lt;/P&gt;&lt;P&gt;          INCLUDE STRUCTURE BALMI.&lt;/P&gt;&lt;P&gt;  TYPES: END OF ty_balmi.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  TYPES: BEGIN OF ty_balnri.&lt;/P&gt;&lt;P&gt;          INCLUDE STRUCTURE BALNRI.&lt;/P&gt;&lt;P&gt;  TYPES: END OF ty_balnri.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  DATA: l_s_balhdri TYPE balhdri,&lt;/P&gt;&lt;P&gt;        l_loghandle TYPE balloghndl.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  DATA: l_s_msg TYPE STANDARD TABLE OF ty_balmi INITIAL SIZE 0,&lt;/P&gt;&lt;P&gt;        l_i_msg TYPE STANDARD TABLE OF ty_balmi INITIAL SIZE 0,&lt;/P&gt;&lt;P&gt;        l_st_msg TYPE STANDARD TABLE OF ty_balmi INITIAL SIZE 0.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  DATA: l_s_balnri TYPE STANDARD TABLE OF ty_balnri.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  DATA: wa_s_msg TYPE ty_balmi,&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;        wa_st_msg TYPE ty_balmi.&lt;/P&gt;&lt;P&gt;  DATA: wa_s_balnri TYPE ty_balnri.&lt;/P&gt;&lt;P&gt;  DATA: LS_PROFILE TYPE BAL_S_PROF.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  CALL FUNCTION 'APPL_LOG_INIT'&lt;/P&gt;&lt;P&gt;   EXPORTING&lt;/P&gt;&lt;P&gt;     object                    = 'CAPI'&lt;/P&gt;&lt;P&gt;     subobject                 = 'CAPI_LOG'&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;  LOG_HANDLE                = ' '&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;   EXCEPTIONS&lt;/P&gt;&lt;P&gt;     object_not_found          = 1&lt;/P&gt;&lt;P&gt;     subobject_not_found       = 2&lt;/P&gt;&lt;P&gt;     OTHERS                    = 3&lt;/P&gt;&lt;P&gt;            .&lt;/P&gt;&lt;P&gt;  IF sy-subrc &amp;lt;&amp;gt; 0.&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;MESSAGE ID SY-MSGID TYPE SY-MSGTY NUMBER SY-MSGNO&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;        WITH SY-MSGV1 SY-MSGV2 SY-MSGV3 SY-MSGV4.&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;  ENDIF.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  l_s_balhdri-object = 'CAPI'.&lt;/P&gt;&lt;P&gt;  l_s_balhdri-subobject = 'CAPI_LOG'.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  CALL FUNCTION 'APPL_LOG_WRITE_HEADER'&lt;/P&gt;&lt;P&gt;    EXPORTING&lt;/P&gt;&lt;P&gt;      header                    = l_s_balhdri&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;  LOG_HANDLE                =&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;   IMPORTING&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;  UPDATE_OR_INSERT          =&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;     e_log_handle              = l_loghandle&lt;/P&gt;&lt;P&gt;   EXCEPTIONS&lt;/P&gt;&lt;P&gt;     object_not_found          = 1&lt;/P&gt;&lt;P&gt;     subobject_not_found       = 2&lt;/P&gt;&lt;P&gt;     error                     = 3&lt;/P&gt;&lt;P&gt;     OTHERS                    = 4&lt;/P&gt;&lt;P&gt;            .&lt;/P&gt;&lt;P&gt;  IF sy-subrc &amp;lt;&amp;gt; 0.&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;MESSAGE ID SY-MSGID TYPE SY-MSGTY NUMBER SY-MSGNO&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;        WITH SY-MSGV1 SY-MSGV2 SY-MSGV3 SY-MSGV4.&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;  ENDIF.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  LOOP AT G_ERROR_TAB INTO WA_ERRORTAB.&lt;/P&gt;&lt;P&gt;    wa_s_msg-msgty     = 'I'.&lt;/P&gt;&lt;P&gt;    wa_s_msg-msgid     = '/factglb/gta_custdev'.&lt;/P&gt;&lt;P&gt;    wa_s_msg-msgno     = WA_ERRORTAB-msgno.&lt;/P&gt;&lt;P&gt;    wa_s_msg-msgv1     = WA_ERRORTAB-par1.&lt;/P&gt;&lt;P&gt;    wa_s_msg-msgv2     = WA_ERRORTAB-par2.&lt;/P&gt;&lt;P&gt;    wa_s_msg-msgv3     = WA_ERRORTAB-par3.&lt;/P&gt;&lt;P&gt;    wa_s_msg-msgv4     = WA_ERRORTAB-par4.&lt;/P&gt;&lt;P&gt;    APPEND wa_s_msg to l_s_msg.&lt;/P&gt;&lt;P&gt;    clear: wa_s_msg.&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;  CALL FUNCTION 'APPL_LOG_WRITE_MESSAGES'&lt;/P&gt;&lt;P&gt;    EXPORTING&lt;/P&gt;&lt;P&gt;      object              = 'CAPI'&lt;/P&gt;&lt;P&gt;      subobject           = 'CAPI_LOG'&lt;/P&gt;&lt;P&gt;      log_handle          = l_loghandle&lt;/P&gt;&lt;P&gt;    TABLES&lt;/P&gt;&lt;P&gt;      messages            = l_s_msg&lt;/P&gt;&lt;P&gt;    EXCEPTIONS&lt;/P&gt;&lt;P&gt;      object_not_found    = 1&lt;/P&gt;&lt;P&gt;      subobject_not_found = 2&lt;/P&gt;&lt;P&gt;      OTHERS              = 3.&lt;/P&gt;&lt;P&gt;  IF sy-subrc &amp;lt;&amp;gt; 0.&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;MESSAGE ID SY-MSGID TYPE SY-MSGTY NUMBER SY-MSGNO&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;        WITH SY-MSGV1 SY-MSGV2 SY-MSGV3 SY-MSGV4.&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;  ENDIF.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  CALL FUNCTION 'APPL_LOG_WRITE_DB'&lt;/P&gt;&lt;P&gt;    EXPORTING&lt;/P&gt;&lt;P&gt;      object                = 'CAPI'&lt;/P&gt;&lt;P&gt;      subobject             = 'CAPI_LOG'&lt;/P&gt;&lt;P&gt;      log_handle            = l_loghandle&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;   update_task           = 'I'&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;    TABLES&lt;/P&gt;&lt;P&gt;      object_with_lognumber = l_s_balnri&lt;/P&gt;&lt;P&gt;    EXCEPTIONS&lt;/P&gt;&lt;P&gt;      object_not_found      = 1&lt;/P&gt;&lt;P&gt;      subobject_not_found   = 2&lt;/P&gt;&lt;P&gt;      internal_error        = 3&lt;/P&gt;&lt;P&gt;      OTHERS                = 4.&lt;/P&gt;&lt;P&gt;  IF sy-subrc &amp;lt;&amp;gt; 0.&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;MESSAGE ID SY-MSGID TYPE SY-MSGTY NUMBER SY-MSGNO&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;        WITH SY-MSGV1 SY-MSGV2 SY-MSGV3 SY-MSGV4.&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;  ENDIF.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  CALL FUNCTION 'BAL_DSP_PROFILE_SINGLE_LOG_GET'&lt;/P&gt;&lt;P&gt;    IMPORTING&lt;/P&gt;&lt;P&gt;      E_S_DISPLAY_PROFILE = LS_PROFILE.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;we therefore show all messages immediately&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;  LS_PROFILE-EXP_LEVEL   = 0.&lt;/P&gt;&lt;P&gt;  LS_PROFILE-USE_GRID   = C_X.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  CALL FUNCTION 'BAL_DSP_LOG_DISPLAY'&lt;/P&gt;&lt;P&gt;    EXPORTING&lt;/P&gt;&lt;P&gt;      I_S_DISPLAY_PROFILE = LS_PROFILE&lt;/P&gt;&lt;P&gt;    EXCEPTIONS&lt;/P&gt;&lt;P&gt;      OTHERS              = 1.&lt;/P&gt;&lt;P&gt;  IF SY-SUBRC &amp;lt;&amp;gt; 0.&lt;/P&gt;&lt;P&gt;    MESSAGE ID SY-MSGID TYPE SY-MSGTY NUMBER SY-MSGNO&lt;/P&gt;&lt;P&gt;            WITH SY-MSGV1 SY-MSGV2 SY-MSGV3 SY-MSGV4.&lt;/P&gt;&lt;P&gt;  ENDIF.&lt;/P&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;LI level="1" type="ul"&gt;&lt;P&gt;DATA:  l_tabname TYPE tabname.&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;MOVE   wa_contentheader1-vtnam TO l_tabname.&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 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;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;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:  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;LI level="1" type="ul"&gt;&lt;P&gt;DATA:  l_tabname TYPE tabname.    "Table name&lt;/P&gt;&lt;/LI&gt;&lt;/UL&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;***************************************************************&lt;/P&gt;&lt;P&gt;*MOD-015&lt;/P&gt;&lt;P&gt;***************************************************************&lt;/P&gt;&lt;P&gt;  SELECT SINGLE DBTAB_NAME&lt;/P&gt;&lt;P&gt;  INTO L_TABNAME&lt;/P&gt;&lt;P&gt;  FROM CUVTAB&lt;/P&gt;&lt;P&gt;  WHERE VTNAM = wa_contentheader1-vtnam.&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;***************************************************************&lt;/P&gt;&lt;P&gt;*MOD-015&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-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  IS ASSIGNED ).&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;DELETE i_contenttab1 INDEX 1.&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-015&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;P&gt;*LOOP AT I_CONTENTTAB1 INTO WA_CONTENTTAB1.&lt;/P&gt;&lt;UL&gt;&lt;UL&gt;&lt;UL&gt;&lt;LI level="3" 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;/UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt; CLEAR g_varcond.&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt; CONCATENATE 'V' wa_vnt_ma-unique_no INTO g_varcond.&lt;/P&gt;&lt;/LI&gt;&lt;UL&gt;&lt;LI level="2" 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;LI level="1" type="ul"&gt;&lt;P&gt; CLEAR l_val_split.&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt; g_split_var = g_split_var + 1.&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt; l_val_split = g_split_var.&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt; SHIFT l_val_split LEFT DELETING LEADING space.&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt; l_temp_slnid = g_split_var.&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt; l_temp_slnc = l_val_split+0(5).&lt;/P&gt;&lt;/LI&gt;&lt;UL&gt;&lt;LI level="2" type="ul"&gt;&lt;P&gt; SHIFT l_temp_slnc LEFT DELETING LEADING space.&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt; l_len_slnid = STRLEN( l_temp_slnc ).&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt; l_len_varcond = STRLEN( g_varcond ).&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt; l_sub_var = 26 - l_len_slnid.&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt; l_sub_var = l_sub_var - 1.&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt; l_temp_varcond = g_varcond+0(l_sub_var).&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt; CLEAR g_varcond.&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt; CONCATENATE l_temp_varcond l_temp_slnc INTO g_varcond&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;LI level="1" type="ul"&gt;&lt;P&gt; WA_CONTENTTAB1-Z_VARCOND = G_VARCOND.&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt; MODIFY I_CONTENTTAB1 FROM WA_CONTENTTAB1 TRANSPORTING Z_VARCOND.&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;*ENDLOOP.&lt;/P&gt;&lt;P&gt;****************************************************************&lt;/P&gt;&lt;P&gt;*MOD-015&lt;/P&gt;&lt;P&gt;****************************************************************&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 .&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; 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 .&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-015&lt;/P&gt;&lt;P&gt;********************************************************************************&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  LOOP AT i_col_pos into wa_col_pos.&lt;/P&gt;&lt;P&gt;    READ TABLE i_cuvtab_fld INTO wa_cuvtab_fld WITH KEY vtint = wa_col_pos-vtint&lt;/P&gt;&lt;P&gt;                                                        atinn = wa_col_pos-atinn binary search.&lt;/P&gt;&lt;P&gt;    IF SY-SUBRC = 0.&lt;/P&gt;&lt;P&gt;      wa_col_pos-dbfld = wa_cuvtab_fld-dbfld.&lt;/P&gt;&lt;P&gt;      modify i_col_pos from wa_col_pos transporting dbfld.&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;*MOD-015&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;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;  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;&lt;/P&gt;&lt;P&gt;***************************************************************************&lt;/P&gt;&lt;P&gt;***MOD-015&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; describe table itab_dd03l lines l_lines.&lt;/P&gt;&lt;/LI&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;   read table i_contenttab3 into wa_contenttab3 with key vtnam = wa_contenttab1-vtnam binary search.&lt;/P&gt;&lt;/LI&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;       READ TABLE i_col_pos INTO wa_col_pos with key vtnam = wa_contenttab1-vtnam&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;                                                     atnam = wa_contenttab3-char1 binary search.&lt;/P&gt;&lt;/LI&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_index1 = wa_col_pos-field + 1.&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;         assign component l_index1 of structure wa_contenttab1 to &amp;lt;fs_field2&amp;gt;.&lt;/P&gt;&lt;/LI&gt;&lt;UL&gt;&lt;LI level="2" type="ul"&gt;&lt;P&gt;        assign component wa_col_pos-dbfld of structure wa_col_pos to &amp;lt;fs_field3&amp;gt;.&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;LI level="1" type="ul"&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;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;         &amp;lt;fs_field3&amp;gt; = &amp;lt;fs_field2&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;       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;       READ TABLE i_col_pos INTO wa_col_pos with key vtnam = wa_contenttab1-vtnam&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;                                                   atnam = wa_contenttab3-char2 binary search.&lt;/P&gt;&lt;/LI&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_index1 = wa_col_pos-field + 1.&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;         assign component l_index1 of structure wa_contenttab1 to &amp;lt;fs_field2&amp;gt;.&lt;/P&gt;&lt;/LI&gt;&lt;UL&gt;&lt;LI level="2" type="ul"&gt;&lt;P&gt;        assign component wa_col_pos-dbfld of structure wa_col_pos to &amp;lt;fs_field3&amp;gt;.&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;LI level="1" type="ul"&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;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;         &amp;lt;fs_field3&amp;gt; = &amp;lt;fs_field2&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;       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;       READ TABLE i_col_pos INTO wa_col_pos with key vtnam = wa_contenttab1-vtnam&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;                                                   atnam = wa_contenttab3-char3 binary search.&lt;/P&gt;&lt;/LI&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_index1 = wa_col_pos-field + 1.&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;         assign component l_index1 of structure wa_contenttab1 to &amp;lt;fs_field2&amp;gt;.&lt;/P&gt;&lt;/LI&gt;&lt;UL&gt;&lt;LI level="2" type="ul"&gt;&lt;P&gt;        assign component wa_col_pos-dbfld of structure wa_col_pos to &amp;lt;fs_field3&amp;gt;.&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;LI level="1" type="ul"&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;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;         &amp;lt;fs_field3&amp;gt; = &amp;lt;fs_field2&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;       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;       READ TABLE i_col_pos INTO wa_col_pos with key vtnam = wa_contenttab1-vtnam&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;                                                   atnam = wa_contenttab3-char4 binary search.&lt;/P&gt;&lt;/LI&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_index1 = wa_col_pos-field + 1.&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;         assign component l_index1 of structure wa_contenttab1 to &amp;lt;fs_field2&amp;gt;.&lt;/P&gt;&lt;/LI&gt;&lt;UL&gt;&lt;LI level="2" type="ul"&gt;&lt;P&gt;        assign component wa_col_pos-dbfld of structure wa_col_pos to &amp;lt;fs_field3&amp;gt;.&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;LI level="1" type="ul"&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;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;         &amp;lt;fs_field3&amp;gt; = &amp;lt;fs_field2&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;       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;       READ TABLE i_col_pos INTO wa_col_pos with key vtnam = wa_contenttab1-vtnam&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;                                                   atnam = wa_contenttab3-char5 binary search.&lt;/P&gt;&lt;/LI&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_index1 = wa_col_pos-field + 1.&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;         assign component l_index1 of structure wa_contenttab1 to &amp;lt;fs_field2&amp;gt;.&lt;/P&gt;&lt;/LI&gt;&lt;UL&gt;&lt;LI level="2" type="ul"&gt;&lt;P&gt;        assign component wa_col_pos-dbfld of structure wa_col_pos to &amp;lt;fs_field3&amp;gt;.&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;LI level="1" type="ul"&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;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;         &amp;lt;fs_field3&amp;gt; = &amp;lt;fs_field2&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;       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;       READ TABLE i_col_pos INTO wa_col_pos with key vtnam = wa_contenttab1-vtnam&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;                                                   atnam = wa_contenttab3-char6 binary search.&lt;/P&gt;&lt;/LI&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_index1 = wa_col_pos-field + 1.&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;         assign component l_index1 of structure wa_contenttab1 to &amp;lt;fs_field2&amp;gt;.&lt;/P&gt;&lt;/LI&gt;&lt;UL&gt;&lt;LI level="2" type="ul"&gt;&lt;P&gt;        assign component wa_col_pos-dbfld of structure wa_col_pos to &amp;lt;fs_field3&amp;gt;.&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;LI level="1" type="ul"&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;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;         &amp;lt;fs_field3&amp;gt; = &amp;lt;fs_field2&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;       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;       READ TABLE i_col_pos INTO wa_col_pos with key vtnam = wa_contenttab1-vtnam&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;                                                   atnam = wa_contenttab3-char7 binary search.&lt;/P&gt;&lt;/LI&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_index1 = wa_col_pos-field + 1.&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;         assign component l_index1 of structure wa_contenttab1 to &amp;lt;fs_field2&amp;gt;.&lt;/P&gt;&lt;/LI&gt;&lt;UL&gt;&lt;LI level="2" type="ul"&gt;&lt;P&gt;        assign component wa_col_pos-dbfld of structure wa_col_pos to &amp;lt;fs_field3&amp;gt;.&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;LI level="1" type="ul"&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;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;         &amp;lt;fs_field3&amp;gt; = &amp;lt;fs_field2&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;       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;       READ TABLE i_col_pos INTO wa_col_pos with key vtnam = wa_contenttab1-vtnam&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;                                                   atnam = wa_contenttab3-char8 binary search.&lt;/P&gt;&lt;/LI&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_index1 = wa_col_pos-field + 1.&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;         assign component l_index1 of structure wa_contenttab1 to &amp;lt;fs_field2&amp;gt;.&lt;/P&gt;&lt;/LI&gt;&lt;UL&gt;&lt;LI level="2" type="ul"&gt;&lt;P&gt;        assign component wa_col_pos-dbfld of structure wa_col_pos to &amp;lt;fs_field3&amp;gt;.&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;LI level="1" type="ul"&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;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;         &amp;lt;fs_field3&amp;gt; = &amp;lt;fs_field2&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;       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;       READ TABLE i_col_pos INTO wa_col_pos with key vtnam = wa_contenttab1-vtnam&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;                                                   atnam = wa_contenttab3-char9 binary search.&lt;/P&gt;&lt;/LI&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_index1 = wa_col_pos-field + 1.&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;         assign component l_index1 of structure wa_contenttab1 to &amp;lt;fs_field2&amp;gt;.&lt;/P&gt;&lt;/LI&gt;&lt;UL&gt;&lt;LI level="2" type="ul"&gt;&lt;P&gt;        assign component wa_col_pos-dbfld of structure wa_col_pos to &amp;lt;fs_field3&amp;gt;.&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;LI level="1" type="ul"&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;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;         &amp;lt;fs_field3&amp;gt; = &amp;lt;fs_field2&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;       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;       READ TABLE i_col_pos INTO wa_col_pos with key vtnam = wa_contenttab1-vtnam&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;                                                   atnam = wa_contenttab3-char10 binary search.&lt;/P&gt;&lt;/LI&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_index1 = wa_col_pos-field + 1.&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;         assign component l_index1 of structure wa_contenttab1 to &amp;lt;fs_field2&amp;gt;.&lt;/P&gt;&lt;/LI&gt;&lt;UL&gt;&lt;LI level="2" type="ul"&gt;&lt;P&gt;        assign component wa_col_pos-dbfld of structure wa_col_pos to &amp;lt;fs_field3&amp;gt;.&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;LI level="1" type="ul"&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;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;         &amp;lt;fs_field3&amp;gt; = &amp;lt;fs_field2&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;       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;       READ TABLE i_col_pos INTO wa_col_pos with key vtnam = wa_contenttab1-vtnam&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;                                                   atnam = wa_contenttab3-char11 binary search.&lt;/P&gt;&lt;/LI&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_index1 = wa_col_pos-field + 1.&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;         assign component l_index1 of structure wa_contenttab1 to &amp;lt;fs_field2&amp;gt;.&lt;/P&gt;&lt;/LI&gt;&lt;UL&gt;&lt;LI level="2" type="ul"&gt;&lt;P&gt;        assign component wa_col_pos-dbfld of structure wa_col_pos to &amp;lt;fs_field3&amp;gt;.&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;LI level="1" type="ul"&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;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;         &amp;lt;fs_field3&amp;gt; = &amp;lt;fs_field2&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;       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;       READ TABLE i_col_pos INTO wa_col_pos with key vtnam = wa_contenttab1-vtnam&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;                                                   atnam = wa_contenttab3-char12 binary search.&lt;/P&gt;&lt;/LI&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_index1 = wa_col_pos-field + 1.&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;         assign component l_index1 of structure wa_contenttab1 to &amp;lt;fs_field2&amp;gt;.&lt;/P&gt;&lt;/LI&gt;&lt;UL&gt;&lt;LI level="2" type="ul"&gt;&lt;P&gt;        assign component wa_col_pos-dbfld of structure wa_col_pos to &amp;lt;fs_field3&amp;gt;.&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;LI level="1" type="ul"&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;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;         &amp;lt;fs_field3&amp;gt; = &amp;lt;fs_field2&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;       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;       READ TABLE i_col_pos INTO wa_col_pos with key vtnam = wa_contenttab1-vtnam&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;                                                   atnam = wa_contenttab3-char13 binary search.&lt;/P&gt;&lt;/LI&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_index1 = wa_col_pos-field + 1.&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;         assign component l_index1 of structure wa_contenttab1 to &amp;lt;fs_field2&amp;gt;.&lt;/P&gt;&lt;/LI&gt;&lt;UL&gt;&lt;LI level="2" type="ul"&gt;&lt;P&gt;        assign component wa_col_pos-dbfld of structure wa_col_pos to &amp;lt;fs_field3&amp;gt;.&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;LI level="1" type="ul"&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;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;         &amp;lt;fs_field3&amp;gt; = &amp;lt;fs_field2&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;       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;       READ TABLE i_col_pos INTO wa_col_pos with key vtnam = wa_contenttab1-vtnam&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;                                                   atnam = wa_contenttab3-char14 binary search.&lt;/P&gt;&lt;/LI&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_index1 = wa_col_pos-field + 1.&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;         assign component l_index1 of structure wa_contenttab1 to &amp;lt;fs_field2&amp;gt;.&lt;/P&gt;&lt;/LI&gt;&lt;UL&gt;&lt;LI level="2" type="ul"&gt;&lt;P&gt;        assign component wa_col_pos-dbfld of structure wa_col_pos to &amp;lt;fs_field3&amp;gt;.&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;LI level="1" type="ul"&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;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;         &amp;lt;fs_field3&amp;gt; = &amp;lt;fs_field2&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;       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;       READ TABLE i_col_pos INTO wa_col_pos with key vtnam = wa_contenttab1-vtnam&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;                                                   atnam = wa_contenttab3-char15 binary search.&lt;/P&gt;&lt;/LI&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_index1 = wa_col_pos-field + 1.&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;         assign component l_index1 of structure wa_contenttab1 to &amp;lt;fs_field2&amp;gt;.&lt;/P&gt;&lt;/LI&gt;&lt;UL&gt;&lt;LI level="2" type="ul"&gt;&lt;P&gt;        assign component wa_col_pos-dbfld of structure wa_col_pos to &amp;lt;fs_field3&amp;gt;.&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;LI level="1" type="ul"&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;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;         &amp;lt;fs_field3&amp;gt; = &amp;lt;fs_field2&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;       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;   append &amp;lt;dyn_wa&amp;gt; to &amp;lt;dyn_table&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;/UL&gt;&lt;P&gt;*&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt; SORT &amp;lt;dyn_table&amp;gt;.&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt; DELETE ADJACENT DUPLICATES FROM &amp;lt;dyn_table&amp;gt;.&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-015&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 .&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;*&amp;amp;----&lt;/P&gt;&lt;HR originaltext="---------------------------------------------------------------" /&gt;&lt;P&gt;*&lt;/P&gt;&lt;P&gt;*&amp;amp;      Form  SUB_CONVERT_TRANSACTION_CUST&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_CUST .&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;  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;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;&lt;/P&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;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_contentheader1 into wa_contentheader1.&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;   perform sub_convert_0001.                               " E1CUVTM&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;   perform sub_convert_0002.                               " E1DATEM'&lt;/P&gt;&lt;/LI&gt;&lt;/UL&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;        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;        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;    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;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;      IF rb_cust = c_x.&lt;/P&gt;&lt;P&gt;        PERFORM SUB_UPLOAD_CUST_TABLE.&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;  ENDLOOP.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;ENDFORM.                    " SUB_CONVERT_TRANSACTION_CUST&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_CUST_TABLE&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_CUST_TABLE .&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&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Thu, 04 Sep 2008 13:43:56 GMT</pubDate>
      <guid>https://community.sap.com/t5/application-development-and-automation-discussions/dynamic-structure-and-components-issue/m-p/4423069#M1050451</guid>
      <dc:creator>Former Member</dc:creator>
      <dc:date>2008-09-04T13:43:56Z</dc:date>
    </item>
    <item>
      <title>Re: Dynamic Structure and Components Issue</title>
      <link>https://community.sap.com/t5/application-development-and-automation-discussions/dynamic-structure-and-components-issue/m-p/4423070#M1050452</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Hi,&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;Look at the below code ( For dynamic table creation)&lt;/STRONG&gt;&lt;/P&gt;&lt;P&gt;*****Global Declarations&lt;/P&gt;&lt;P&gt;DATA: gd_tabname TYPE tabname,&lt;/P&gt;&lt;P&gt;      obj_dref TYPE REF TO data,                         " Dereferencing&lt;/P&gt;&lt;P&gt;      obj_grid TYPE REF TO cl_gui_alv_grid,              " Instance for Grid&lt;/P&gt;&lt;P&gt;      obj_container TYPE REF TO cl_gui_custom_container, " Container Instance&lt;/P&gt;&lt;P&gt;      wa_layout TYPE lvc_s_layo.                         " Layout&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;*****Field Symbols&lt;/P&gt;&lt;P&gt;FIELD-SYMBOLS: &amp;lt;t_itab&amp;gt; TYPE ANY TABLE.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;*Assign the table name to the global variable&lt;/P&gt;&lt;P&gt;gd_tabname = p_table.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;Dereferenceing&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;CREATE DATA obj_dref TYPE TABLE OF (gd_tabname).&lt;/P&gt;&lt;P&gt;ASSIGN obj_dref-&amp;gt;* TO &amp;lt;t_itab&amp;gt;.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;For Component assignments&lt;/STRONG&gt; &lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;LOOP AT gt_ofile INTO wa_ofile.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt; &lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;    l_ctr_do = 1.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt; &lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;    DO .&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;      ASSIGN COMPONENT l_ctr_do OF STRUCTURE wa_ofile&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;                                TO           &amp;lt;l_wk_field&amp;gt;.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;      IF sy-subrc EQ 0.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;        IF l_ctr_do EQ 1.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;          MOVE &amp;lt;l_wk_field&amp;gt; TO wa_string-text.&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;          CONCATENATE wa_string-text &amp;lt;l_wk_field&amp;gt; INTO wa_string-text&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;          SEPARATED BY c_del.&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;        ADD 1 TO l_ctr_do.&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;        EXIT.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;      ENDIF.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;    ENDDO.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;    APPEND wa_string TO gt_string.&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;Hope this helps you&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Regards&lt;/P&gt;&lt;P&gt;Pavan&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Thu, 04 Sep 2008 13:52:26 GMT</pubDate>
      <guid>https://community.sap.com/t5/application-development-and-automation-discussions/dynamic-structure-and-components-issue/m-p/4423070#M1050452</guid>
      <dc:creator>Former Member</dc:creator>
      <dc:date>2008-09-04T13:52:26Z</dc:date>
    </item>
    <item>
      <title>Re: Dynamic Structure and Components Issue</title>
      <link>https://community.sap.com/t5/application-development-and-automation-discussions/dynamic-structure-and-components-issue/m-p/4423071#M1050453</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Hi,&lt;/P&gt;&lt;P&gt; This part works for the same order in the structure component and the component in the file.&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;describe table itab_dd03l lines l_lines.&lt;/P&gt;&lt;P&gt;l_lines_varcond = l_lines + 1.&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;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;assign component 'Z_VARCOND' of structure wa_contenttab1 to &amp;lt;fs_field2&amp;gt;.&lt;/P&gt;&lt;P&gt;assign component l_lines_varcond 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;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;*MOD-012&lt;/P&gt;&lt;P&gt;*************************************************************************&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;The problem is that if the components in the structure and the components in the file are not in the same odrer. I will need some inputs regarding this part. I do not know the components so I have to use a index.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Custom table components: X / Y / Z&lt;/P&gt;&lt;P&gt;File components:               Y / Z / X&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Appreciate your inputs&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, 04 Sep 2008 14:22:13 GMT</pubDate>
      <guid>https://community.sap.com/t5/application-development-and-automation-discussions/dynamic-structure-and-components-issue/m-p/4423071#M1050453</guid>
      <dc:creator>Former Member</dc:creator>
      <dc:date>2008-09-04T14:22:13Z</dc:date>
    </item>
    <item>
      <title>Re: Dynamic Structure and Components Issue</title>
      <link>https://community.sap.com/t5/application-development-and-automation-discussions/dynamic-structure-and-components-issue/m-p/4423072#M1050454</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;For the dynamic components and database structure I am trying to work out this way.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;I have the database field in i_cuvtab_fld-dbfld.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;The problem is that the file could have components which are in random order and cannot be accessed by indexing. I also dont know the components of the file.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;**************************************************************************&lt;/P&gt;&lt;P&gt;**MOD-015&lt;/P&gt;&lt;P&gt;***************************************************************************&lt;/P&gt;&lt;P&gt;  data: l_dbfld type NAME_FELD.&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;    read table i_contenttab3 into wa_contenttab3 with key vtnam = wa_contenttab1-vtnam binary search.&lt;/P&gt;&lt;P&gt;    if sy-subrc = 0.&lt;/P&gt;&lt;P&gt;      READ TABLE i_col_pos INTO wa_col_pos with key vtnam = wa_contenttab1-vtnam&lt;/P&gt;&lt;P&gt;                                                    atnam = wa_contenttab3-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;        READ TABLE I_CUVTAB_FLD INTO WA_CUVTAB_FLD WITH KEY VTINT = WA_COL_POS-VTINT&lt;/P&gt;&lt;P&gt;                                                            ATINN = WA_COL_POS-ATINN&lt;/P&gt;&lt;P&gt;                                                            VTPOS = WA_COL_POS-VTPOS BINARY SEARCH.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;        if sy-subrc = 0.&lt;/P&gt;&lt;P&gt;          l_index1 = wa_col_pos-field + 1.&lt;/P&gt;&lt;P&gt;          l_dbfld  = wa_cuvtab_fld-dbfld.&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_dbfld 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;        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;***MOD-015&lt;/P&gt;&lt;P&gt;***************************************************************************&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;      READ TABLE i_col_pos INTO wa_col_pos with key vtnam = wa_contenttab1-vtnam&lt;/P&gt;&lt;P&gt;                                                    atnam = wa_contenttab3-char2 binary search.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;      if sy-subrc = 0.&lt;/P&gt;&lt;P&gt;        READ TABLE I_CUVTAB_FLD INTO WA_CUVTAB_FLD WITH KEY VTINT = WA_COL_POS-VTINT&lt;/P&gt;&lt;P&gt;                                                            ATINN = WA_COL_POS-ATINN&lt;/P&gt;&lt;P&gt;                                                            VTPOS = WA_COL_POS-VTPOS BINARY SEARCH.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;        if sy-subrc = 0.&lt;/P&gt;&lt;P&gt;          l_index1 = wa_col_pos-field + 1.&lt;/P&gt;&lt;P&gt;          l_dbfld  = wa_cuvtab_fld-dbfld.&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_dbfld 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;        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;      READ TABLE i_col_pos INTO wa_col_pos with key vtnam = wa_contenttab1-vtnam&lt;/P&gt;&lt;P&gt;                                                    atnam = wa_contenttab3-char3 binary search.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;      if sy-subrc = 0.&lt;/P&gt;&lt;P&gt;        READ TABLE I_CUVTAB_FLD INTO WA_CUVTAB_FLD WITH KEY VTINT = WA_COL_POS-VTINT&lt;/P&gt;&lt;P&gt;                                                            ATINN = WA_COL_POS-ATINN&lt;/P&gt;&lt;P&gt;                                                            VTPOS = WA_COL_POS-VTPOS BINARY SEARCH.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;        if sy-subrc = 0.&lt;/P&gt;&lt;P&gt;          l_index1 = wa_col_pos-field + 1.&lt;/P&gt;&lt;P&gt;          l_dbfld  = wa_cuvtab_fld-dbfld.&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_dbfld 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;        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;&lt;/P&gt;&lt;P&gt;      READ TABLE i_col_pos INTO wa_col_pos with key vtnam = wa_contenttab1-vtnam&lt;/P&gt;&lt;P&gt;                                                     atnam = wa_contenttab3-char4 binary search.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;      if sy-subrc = 0.&lt;/P&gt;&lt;P&gt;        READ TABLE I_CUVTAB_FLD INTO WA_CUVTAB_FLD WITH KEY VTINT = WA_COL_POS-VTINT&lt;/P&gt;&lt;P&gt;                                                            ATINN = WA_COL_POS-ATINN&lt;/P&gt;&lt;P&gt;                                                            VTPOS = WA_COL_POS-VTPOS BINARY SEARCH.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;        if sy-subrc = 0.&lt;/P&gt;&lt;P&gt;          l_index1 = wa_col_pos-field + 1.&lt;/P&gt;&lt;P&gt;          l_dbfld  = wa_cuvtab_fld-dbfld.&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_dbfld 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;        endif.&lt;/P&gt;&lt;P&gt;      endif.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;      READ TABLE i_col_pos INTO wa_col_pos with key vtnam = wa_contenttab1-vtnam&lt;/P&gt;&lt;P&gt;                                                     atnam = wa_contenttab3-char5 binary search.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;      if sy-subrc = 0.&lt;/P&gt;&lt;P&gt;        READ TABLE I_CUVTAB_FLD INTO WA_CUVTAB_FLD WITH KEY VTINT = WA_COL_POS-VTINT&lt;/P&gt;&lt;P&gt;                                                            ATINN = WA_COL_POS-ATINN&lt;/P&gt;&lt;P&gt;                                                            VTPOS = WA_COL_POS-VTPOS BINARY SEARCH.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;        if sy-subrc = 0.&lt;/P&gt;&lt;P&gt;          l_index1 = wa_col_pos-field + 1.&lt;/P&gt;&lt;P&gt;          l_dbfld  = wa_cuvtab_fld-dbfld.&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_dbfld 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;        endif.&lt;/P&gt;&lt;P&gt;      endif.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;      READ TABLE i_col_pos INTO wa_col_pos with key vtnam = wa_contenttab1-vtnam&lt;/P&gt;&lt;P&gt;                                                    atnam = wa_contenttab3-char6 binary search.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;      if sy-subrc = 0.&lt;/P&gt;&lt;P&gt;        READ TABLE I_CUVTAB_FLD INTO WA_CUVTAB_FLD WITH KEY VTINT = WA_COL_POS-VTINT&lt;/P&gt;&lt;P&gt;                                                            ATINN = WA_COL_POS-ATINN&lt;/P&gt;&lt;P&gt;                                                            VTPOS = WA_COL_POS-VTPOS BINARY SEARCH.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;        if sy-subrc = 0.&lt;/P&gt;&lt;P&gt;          l_index1 = wa_col_pos-field + 1.&lt;/P&gt;&lt;P&gt;          l_dbfld  = wa_cuvtab_fld-dbfld.&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_dbfld 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;        endif.&lt;/P&gt;&lt;P&gt;      endif.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;      READ TABLE i_col_pos INTO wa_col_pos with key vtnam = wa_contenttab1-vtnam&lt;/P&gt;&lt;P&gt;                                                    atnam = wa_contenttab3-char7 binary search.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;      if sy-subrc = 0.&lt;/P&gt;&lt;P&gt;        READ TABLE I_CUVTAB_FLD INTO WA_CUVTAB_FLD WITH KEY VTINT = WA_COL_POS-VTINT&lt;/P&gt;&lt;P&gt;                                                            ATINN = WA_COL_POS-ATINN&lt;/P&gt;&lt;P&gt;                                                            VTPOS = WA_COL_POS-VTPOS BINARY SEARCH.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;        if sy-subrc = 0.&lt;/P&gt;&lt;P&gt;          l_index1 = wa_col_pos-field + 1.&lt;/P&gt;&lt;P&gt;          l_dbfld  = wa_cuvtab_fld-dbfld.&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_dbfld 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;        endif.&lt;/P&gt;&lt;P&gt;      endif.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;      READ TABLE i_col_pos INTO wa_col_pos with key vtnam = wa_contenttab1-vtnam&lt;/P&gt;&lt;P&gt;                                                    atnam = wa_contenttab3-char8 binary search.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;      if sy-subrc = 0.&lt;/P&gt;&lt;P&gt;        READ TABLE I_CUVTAB_FLD INTO WA_CUVTAB_FLD WITH KEY VTINT = WA_COL_POS-VTINT&lt;/P&gt;&lt;P&gt;                                                            ATINN = WA_COL_POS-ATINN&lt;/P&gt;&lt;P&gt;                                                            VTPOS = WA_COL_POS-VTPOS BINARY SEARCH.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;        if sy-subrc = 0.&lt;/P&gt;&lt;P&gt;          l_index1 = wa_col_pos-field + 1.&lt;/P&gt;&lt;P&gt;          l_dbfld  = wa_cuvtab_fld-dbfld.&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_dbfld 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;        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;      READ TABLE i_col_pos INTO wa_col_pos with key vtnam = wa_contenttab1-vtnam&lt;/P&gt;&lt;P&gt;                                                    atnam = wa_contenttab3-char9 binary search.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;      if sy-subrc = 0.&lt;/P&gt;&lt;P&gt;        READ TABLE I_CUVTAB_FLD INTO WA_CUVTAB_FLD WITH KEY VTINT = WA_COL_POS-VTINT&lt;/P&gt;&lt;P&gt;                                                            ATINN = WA_COL_POS-ATINN&lt;/P&gt;&lt;P&gt;                                                            VTPOS = WA_COL_POS-VTPOS BINARY SEARCH.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;        if sy-subrc = 0.&lt;/P&gt;&lt;P&gt;          l_index1 = wa_col_pos-field + 1.&lt;/P&gt;&lt;P&gt;          l_dbfld  = wa_cuvtab_fld-dbfld.&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_dbfld 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;        endif.&lt;/P&gt;&lt;P&gt;      endif.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;      READ TABLE i_col_pos INTO wa_col_pos with key vtnam = wa_contenttab1-vtnam&lt;/P&gt;&lt;P&gt;                                                    atnam = wa_contenttab3-char10 binary search.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;      if sy-subrc = 0.&lt;/P&gt;&lt;P&gt;        READ TABLE I_CUVTAB_FLD INTO WA_CUVTAB_FLD WITH KEY VTINT = WA_COL_POS-VTINT&lt;/P&gt;&lt;P&gt;                                                            ATINN = WA_COL_POS-ATINN&lt;/P&gt;&lt;P&gt;                                                            VTPOS = WA_COL_POS-VTPOS BINARY SEARCH.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;        if sy-subrc = 0.&lt;/P&gt;&lt;P&gt;          l_index1 = wa_col_pos-field + 1.&lt;/P&gt;&lt;P&gt;          l_dbfld  = wa_cuvtab_fld-dbfld.&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_dbfld 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;        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;      READ TABLE i_col_pos INTO wa_col_pos with key vtnam = wa_contenttab1-vtnam&lt;/P&gt;&lt;P&gt;                                                    atnam = wa_contenttab3-char11 binary search.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;      if sy-subrc = 0.&lt;/P&gt;&lt;P&gt;        READ TABLE I_CUVTAB_FLD INTO WA_CUVTAB_FLD WITH KEY VTINT = WA_COL_POS-VTINT&lt;/P&gt;&lt;P&gt;                                                            ATINN = WA_COL_POS-ATINN&lt;/P&gt;&lt;P&gt;                                                            VTPOS = WA_COL_POS-VTPOS BINARY SEARCH.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;        if sy-subrc = 0.&lt;/P&gt;&lt;P&gt;          l_index1 = wa_col_pos-field + 1.&lt;/P&gt;&lt;P&gt;          l_dbfld  = wa_cuvtab_fld-dbfld.&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_dbfld 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;        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;&lt;/P&gt;&lt;P&gt;      READ TABLE i_col_pos INTO wa_col_pos with key vtnam = wa_contenttab1-vtnam&lt;/P&gt;&lt;P&gt;                                                    atnam = wa_contenttab3-char12 binary search.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;      if sy-subrc = 0.&lt;/P&gt;&lt;P&gt;        READ TABLE I_CUVTAB_FLD INTO WA_CUVTAB_FLD WITH KEY VTINT = WA_COL_POS-VTINT&lt;/P&gt;&lt;P&gt;                                                            ATINN = WA_COL_POS-ATINN&lt;/P&gt;&lt;P&gt;                                                            VTPOS = WA_COL_POS-VTPOS BINARY SEARCH.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;        if sy-subrc = 0.&lt;/P&gt;&lt;P&gt;          l_index1 = wa_col_pos-field + 1.&lt;/P&gt;&lt;P&gt;          l_dbfld  = wa_cuvtab_fld-dbfld.&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_dbfld 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;        endif.&lt;/P&gt;&lt;P&gt;      endif.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;      READ TABLE i_col_pos INTO wa_col_pos with key vtnam = wa_contenttab1-vtnam&lt;/P&gt;&lt;P&gt;                                                    atnam = wa_contenttab3-char13 binary search.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;      if sy-subrc = 0.&lt;/P&gt;&lt;P&gt;        READ TABLE I_CUVTAB_FLD INTO WA_CUVTAB_FLD WITH KEY VTINT = WA_COL_POS-VTINT&lt;/P&gt;&lt;P&gt;                                                            ATINN = WA_COL_POS-ATINN&lt;/P&gt;&lt;P&gt;                                                            VTPOS = WA_COL_POS-VTPOS BINARY SEARCH.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;        if sy-subrc = 0.&lt;/P&gt;&lt;P&gt;          l_index1 = wa_col_pos-field + 1.&lt;/P&gt;&lt;P&gt;          l_dbfld  = wa_cuvtab_fld-dbfld.&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_dbfld 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;        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;&lt;/P&gt;&lt;P&gt;      READ TABLE i_col_pos INTO wa_col_pos with key vtnam = wa_contenttab1-vtnam&lt;/P&gt;&lt;P&gt;                                                    atnam = wa_contenttab3-char14 binary search.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;      if sy-subrc = 0.&lt;/P&gt;&lt;P&gt;        READ TABLE I_CUVTAB_FLD INTO WA_CUVTAB_FLD WITH KEY VTINT = WA_COL_POS-VTINT&lt;/P&gt;&lt;P&gt;                                                            ATINN = WA_COL_POS-ATINN&lt;/P&gt;&lt;P&gt;                                                            VTPOS = WA_COL_POS-VTPOS BINARY SEARCH.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;        if sy-subrc = 0.&lt;/P&gt;&lt;P&gt;          l_index1 = wa_col_pos-field + 1.&lt;/P&gt;&lt;P&gt;          l_dbfld  = wa_cuvtab_fld-dbfld.&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_dbfld 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;        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;      READ TABLE i_col_pos INTO wa_col_pos with key vtnam = wa_contenttab1-vtnam&lt;/P&gt;&lt;P&gt;                                                    atnam = wa_contenttab3-char15 binary search.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;      if sy-subrc = 0.&lt;/P&gt;&lt;P&gt;        READ TABLE I_CUVTAB_FLD INTO WA_CUVTAB_FLD WITH KEY VTINT = WA_COL_POS-VTINT&lt;/P&gt;&lt;P&gt;                                                            ATINN = WA_COL_POS-ATINN&lt;/P&gt;&lt;P&gt;                                                            VTPOS = WA_COL_POS-VTPOS BINARY SEARCH.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;        if sy-subrc = 0.&lt;/P&gt;&lt;P&gt;          l_index1 = wa_col_pos-field + 1.&lt;/P&gt;&lt;P&gt;          l_dbfld  = wa_cuvtab_fld-dbfld.&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_dbfld 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;        endif.&lt;/P&gt;&lt;P&gt;      endif.&lt;/P&gt;&lt;P&gt;&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;      assign component 'Z_VARCOND' of structure wa_contenttab1 to &amp;lt;fs_field2&amp;gt;.&lt;/P&gt;&lt;P&gt;      assign component l_lines_varcond 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;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;    append &amp;lt;dyn_wa&amp;gt; to &amp;lt;dyn_table&amp;gt;.&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;    endif.&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;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt; SORT &amp;lt;dyn_table&amp;gt;.&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;DELETE ADJACENT DUPLICATES FROM &amp;lt;dyn_table&amp;gt;.&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-015&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;UL&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;/UL&gt;&lt;P&gt;    MODIFY (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;*MOD-015&lt;/P&gt;&lt;P&gt;*************************************************************************&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Any inputs would 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>Fri, 05 Sep 2008 15:02:36 GMT</pubDate>
      <guid>https://community.sap.com/t5/application-development-and-automation-discussions/dynamic-structure-and-components-issue/m-p/4423072#M1050454</guid>
      <dc:creator>Former Member</dc:creator>
      <dc:date>2008-09-05T15:02:36Z</dc:date>
    </item>
    <item>
      <title>Re: Dynamic Structure and Components Issue</title>
      <link>https://community.sap.com/t5/application-development-and-automation-discussions/dynamic-structure-and-components-issue/m-p/4423073#M1050455</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 will need some inputs for loading multiple tables in a file dynamically when the structure components and file columns are in a random order. Refer to the previous post of mine.&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, 08 Sep 2008 08:34:12 GMT</pubDate>
      <guid>https://community.sap.com/t5/application-development-and-automation-discussions/dynamic-structure-and-components-issue/m-p/4423073#M1050455</guid>
      <dc:creator>Former Member</dc:creator>
      <dc:date>2008-09-08T08:34:12Z</dc:date>
    </item>
    <item>
      <title>Re: Dynamic Structure and Components Issue</title>
      <link>https://community.sap.com/t5/application-development-and-automation-discussions/dynamic-structure-and-components-issue/m-p/4423074#M1050456</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;One important thing you should do: surround your code with  tags before posting.  It's almost impossible to read otherwise!&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Mon, 08 Sep 2008 09:33:03 GMT</pubDate>
      <guid>https://community.sap.com/t5/application-development-and-automation-discussions/dynamic-structure-and-components-issue/m-p/4423074#M1050456</guid>
      <dc:creator>matt</dc:creator>
      <dc:date>2008-09-08T09:33:03Z</dc:date>
    </item>
    <item>
      <title>Re: Dynamic Structure and Components Issue</title>
      <link>https://community.sap.com/t5/application-development-and-automation-discussions/dynamic-structure-and-components-issue/m-p/4423075#M1050457</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Here is the mising part of the first post. You can load and check the problem:&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;FORM SUB_UPLOAD_CUST_TABLE .&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;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;DATA:  l_tabname TYPE tabname.&lt;/P&gt;&lt;/LI&gt;&lt;/UL&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;  DATA: L_TAB TYPE TABNAME.&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;DATA: l_tabname TYPE tabname.&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  FIELD-SYMBOLS:&lt;/P&gt;&lt;P&gt;    &amp;lt;buffer&amp;gt;.                                               "#EC *&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;***************************************************************&lt;/P&gt;&lt;P&gt;*MOD-015&lt;/P&gt;&lt;P&gt;***************************************************************&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;MOVE: wa_contentheader1-vtnam TO l_tabname.&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-015&lt;/P&gt;&lt;P&gt;***************************************************************&lt;/P&gt;&lt;P&gt;  SELECT SINGLE DBTAB_NAME&lt;/P&gt;&lt;P&gt;  INTO L_TABNAME&lt;/P&gt;&lt;P&gt;  FROM CUVTAB&lt;/P&gt;&lt;P&gt;  WHERE VTNAM = wa_contentheader1-vtnam.&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;***************************************************************&lt;/P&gt;&lt;P&gt;*MOD-015&lt;/P&gt;&lt;P&gt;***************************************************************&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt; SELECT SINGLE TABNAME&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt; INTO L_TAB&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt; FROM DD03L&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt; WHERE TABNAME = L_TABNAME.&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;***************************************************************&lt;/P&gt;&lt;P&gt;*MOD-015&lt;/P&gt;&lt;P&gt;***************************************************************&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  IF NOT L_TABNAME IS INITIAL.&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;  ENDIF.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;ENDFORM.                    " SUB_UPLOAD_CUST_TABLE&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;*******************************************************************&lt;/P&gt;&lt;P&gt;*ENDPROGRAM&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>Mon, 08 Sep 2008 09:50:43 GMT</pubDate>
      <guid>https://community.sap.com/t5/application-development-and-automation-discussions/dynamic-structure-and-components-issue/m-p/4423075#M1050457</guid>
      <dc:creator>Former Member</dc:creator>
      <dc:date>2008-09-08T09:50:43Z</dc:date>
    </item>
    <item>
      <title>Re: Dynamic Structure and Components Issue</title>
      <link>https://community.sap.com/t5/application-development-and-automation-discussions/dynamic-structure-and-components-issue/m-p/4423076#M1050458</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;I'm not going to do your work for you but if you read some of my previous posts on creating dynamic structures using the RTTI as well as obtaining the number of components in each structure it's a realatively simple matter to create a file of TYPE STRING which will have ANY and ALL your structures in it.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;This approach can be used both on UPLOAD and DOWNLOAD&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;I'll give you a small hint  here's DOWNLOAD example -- get any SAP structure (not deep) into a file without going through a whole lot of convoluted stuff. The SAP structure can be your own structure which doesn't have to be in the DDIC.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;PRE&gt;&lt;CODE&gt;

data  ta_string type table of string.        
data: zstring type string.
data: zstring1 type string.

data   gv_rtti_struc type ref to cl_abap_structdescr .
data:  zog    like line of gv_rtti_struc-&amp;gt;components .
data:  zogt   like table of zog,
dref               type ref to data.

  free dref.
  refresh zogt.
  create data dref type TY_YOUR_STRUCTURE.
  assign dref-&amp;gt;* to &amp;lt;fs&amp;gt;.
  gv_rtti_struc ?= cl_abap_structdescr=&amp;gt;describe_by_data( &amp;lt;fs&amp;gt; ).

* get the structure details into a table.
* Nr of lines in this table is the number of elements in structure
* Needed for generating the field delimiters etc.

  zogt[]  = gv_rtti_struc-&amp;gt;components.
  describe table zogt lines gv_struct_len.
  gv_len_min1 = gv_struct_len - 1.   " nr of elements - 1.

  gv_index = 1.
  loop at  ta_contract_headers into wa_your_structure.

    clear : zstring, zstring1.
    while gv_index le gv_len_min1.
      clear zstring.
      assign component gv_index of structure wa_your_structure to  &amp;lt;fsa&amp;gt;.
      concatenate '"' &amp;lt;fsa&amp;gt; '"' into zstring.
      concatenate zstring1 zstring into zstring1.
      concatenate  zstring1 ',' into zstring1.
      gv_index = gv_index + 1.
      clear zstring.

    endwhile.
    gv_index = gv_struct_len.
    assign component gv_index of structure wa_your_structure to  &amp;lt;fsa&amp;gt;.
    concatenate '"' &amp;lt;fsa&amp;gt; '"' into zstring.
    concatenate zstring1 zstring into zstring1.
    condense zstring1.
    append zstring1 to ta_string.
    clear zstring1.
    gv_index = 1.
  endloop.
&lt;/CODE&gt;&lt;/PRE&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;so just keep adding data to your file.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;This will produce a file output of  (all char fields) &lt;/P&gt;&lt;P&gt;   with the structure "field","field","field",......."field"&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;If you use multiple structures your first field could contain say the table name.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;BTW if you have a huge horrendous program like your first example BREAK IT DOWN into manageable pieces.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;I'm not sure who sets your ABAP CODE standards in your shop but the program is a) impossible to read and b) would be a TOTAL nightmare for someone to maintain / modify it. --You've obviously got a very understanding Boss who doesn't have to worry about how the stuff is maintained.  !!!!!&lt;/P&gt;&lt;P&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;jimbo&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Mon, 08 Sep 2008 10:15:27 GMT</pubDate>
      <guid>https://community.sap.com/t5/application-development-and-automation-discussions/dynamic-structure-and-components-issue/m-p/4423076#M1050458</guid>
      <dc:creator>Former Member</dc:creator>
      <dc:date>2008-09-08T10:15:27Z</dc:date>
    </item>
    <item>
      <title>Re: Dynamic Structure and Components Issue</title>
      <link>https://community.sap.com/t5/application-development-and-automation-discussions/dynamic-structure-and-components-issue/m-p/4423077#M1050459</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Hi,&lt;/P&gt;&lt;P&gt;  Hetre is how the file looks like:&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;VTNAM	CHAR1	CHAR2	CHAR3	CHAR4	CHAR5	CHAR6	CHAR7	CHAR8	CHAR9	CHAR10	CHAR11	CHAR12	CHAR13	CHAR14	CHAR15	FLAG&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Z_CS_CT_LOP_POD	Z_PORT_DISCHARGE_CTRY	Z_PORT_LOAD_CTRY	Z_CARRIER_PLACE_OF_DELIVERY	Z_CONTAINER_SIZE	Z_CONTAINER_TYPE	Z_PORT_OF_DISCHARGE	Z_PORT_OF_LOAD	Z_PLACE_OF_DELIVERY	Z_PLACE_OF_RECEIPT	Z_VARCOND						X&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Z_CS_CT_LOP_POD				20	DRY		CNTST	PLGDY								&lt;/P&gt;&lt;P&gt;Z_CS_CT_LOP_POD				40	DRY		CNTST	PLGDY								&lt;/P&gt;&lt;P&gt;Z_CS_CT_POD_POR				40	HDRY			DEBRV	CNNPO&lt;/P&gt;&lt;P&gt;Z_CS_CT_POD_POR				45	HDRY			DEBRV	CNNPO&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;There is the table name below VTNAM and 15 Characteristics with an indicator flag in it.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;The second row onwards contains the table name and the characteristics with the indicator at the end.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;There could be multiple tables in the file and may conjtain values for one or more charac.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Here is how I am working on the solution:&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;For fixed components and characs in the file:&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; describe table itab_dd03l lines l_lines.&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt; l_lines_varcond = l_lines + 1.&lt;/P&gt;&lt;/LI&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_index1 = 2.&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;   do l_lines times.&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;     assign component l_index1 of structure wa_contenttab1 to &amp;lt;fs_field2&amp;gt;.&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&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;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;     &amp;lt;fs_field3&amp;gt; = &amp;lt;fs_field2&amp;gt;.&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;     l_index1 = l_index1 + 1.&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;   enddo.&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;     UNASSIGN &amp;lt;fs_field2&amp;gt;.&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;     UNASSIGN &amp;lt;fs_field3&amp;gt;.&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;     assign component 'Z_VARCOND' of structure wa_contenttab1 to &amp;lt;fs_field2&amp;gt;.&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;     assign component l_lines_varcond of structure &amp;lt;dyn_wa&amp;gt; to &amp;lt;fs_field3&amp;gt;.&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;     &amp;lt;fs_field3&amp;gt; = &amp;lt;fs_field2&amp;gt;.&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;     append &amp;lt;dyn_wa&amp;gt; to &amp;lt;dyn_table&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;/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;For random charac in the file for which the charac may or may not have values: For Char1. This is repeated to Char15. and at the end the append is done.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;**************************************************************************&lt;/P&gt;&lt;P&gt;**MOD-015&lt;/P&gt;&lt;P&gt;***************************************************************************&lt;/P&gt;&lt;P&gt;  data: l_dbfld type NAME_FELD.&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;    read table i_contenttab3 into wa_contenttab3 with key vtnam = wa_contenttab1-vtnam binary search.&lt;/P&gt;&lt;P&gt;    if sy-subrc = 0.&lt;/P&gt;&lt;P&gt;      READ TABLE i_col_pos INTO wa_col_pos with key vtnam = wa_contenttab1-vtnam&lt;/P&gt;&lt;P&gt;                                                    atnam = wa_contenttab3-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;        READ TABLE I_CUVTAB_FLD INTO WA_CUVTAB_FLD WITH KEY VTINT = WA_COL_POS-VTINT&lt;/P&gt;&lt;P&gt;                                                            ATINN = WA_COL_POS-ATINN&lt;/P&gt;&lt;P&gt;                                                            VTPOS = WA_COL_POS-VTPOS BINARY SEARCH.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;        if sy-subrc = 0.&lt;/P&gt;&lt;P&gt;          l_index1 = wa_col_pos-field + 1.&lt;/P&gt;&lt;P&gt;          l_dbfld  = wa_cuvtab_fld-dbfld.&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_dbfld 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;        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;***MOD-015&lt;/P&gt;&lt;P&gt;*************************************************************************&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;&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-015&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;    MODIFY (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;The program works for fixed components and fixed char in the file but not for random charac with or without values in the file.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Looking forward to your inputs.&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, 08 Sep 2008 10:31:42 GMT</pubDate>
      <guid>https://community.sap.com/t5/application-development-and-automation-discussions/dynamic-structure-and-components-issue/m-p/4423077#M1050459</guid>
      <dc:creator>Former Member</dc:creator>
      <dc:date>2008-09-08T10:31:42Z</dc:date>
    </item>
    <item>
      <title>Re: Dynamic Structure and Components Issue</title>
      <link>https://community.sap.com/t5/application-development-and-automation-discussions/dynamic-structure-and-components-issue/m-p/4423078#M1050460</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;For the dynamic components and database structure I am trying to work out this way.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;I have the database field in i_cuvtab_fld-dbfld.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;The problem is that the file could have components which are in random order and cannot be accessed by indexing. I also dont know the components of the file.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;**************************************************************************&lt;/P&gt;&lt;P&gt;**MOD-015&lt;/P&gt;&lt;P&gt;***************************************************************************&lt;/P&gt;&lt;P&gt;data: l_dbfld type NAME_FELD.&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;read table i_contenttab3 into wa_contenttab3 with key vtnam = wa_contenttab1-vtnam binary search.&lt;/P&gt;&lt;P&gt;if sy-subrc = 0.&lt;/P&gt;&lt;P&gt;READ TABLE i_col_pos INTO wa_col_pos with key vtnam = wa_contenttab1-vtnam&lt;/P&gt;&lt;P&gt;atnam = wa_contenttab3-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;READ TABLE I_CUVTAB_FLD INTO WA_CUVTAB_FLD WITH KEY VTINT = WA_COL_POS-VTINT&lt;/P&gt;&lt;P&gt;ATINN = WA_COL_POS-ATINN&lt;/P&gt;&lt;P&gt;VTPOS = WA_COL_POS-VTPOS BINARY SEARCH.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;if sy-subrc = 0.&lt;/P&gt;&lt;P&gt;l_index1 = wa_col_pos-field + 1.&lt;/P&gt;&lt;P&gt;l_dbfld = wa_cuvtab_fld-dbfld.&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_dbfld 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;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;***MOD-015&lt;/P&gt;&lt;P&gt;***************************************************************************&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;READ TABLE i_col_pos INTO wa_col_pos with key vtnam = wa_contenttab1-vtnam&lt;/P&gt;&lt;P&gt;atnam = wa_contenttab3-char2 binary search.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;if sy-subrc = 0.&lt;/P&gt;&lt;P&gt;READ TABLE I_CUVTAB_FLD INTO WA_CUVTAB_FLD WITH KEY VTINT = WA_COL_POS-VTINT&lt;/P&gt;&lt;P&gt;ATINN = WA_COL_POS-ATINN&lt;/P&gt;&lt;P&gt;VTPOS = WA_COL_POS-VTPOS BINARY SEARCH.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;if sy-subrc = 0.&lt;/P&gt;&lt;P&gt;l_index1 = wa_col_pos-field + 1.&lt;/P&gt;&lt;P&gt;l_dbfld = wa_cuvtab_fld-dbfld.&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_dbfld 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;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;READ TABLE i_col_pos INTO wa_col_pos with key vtnam = wa_contenttab1-vtnam&lt;/P&gt;&lt;P&gt;atnam = wa_contenttab3-char3 binary search.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;if sy-subrc = 0.&lt;/P&gt;&lt;P&gt;READ TABLE I_CUVTAB_FLD INTO WA_CUVTAB_FLD WITH KEY VTINT = WA_COL_POS-VTINT&lt;/P&gt;&lt;P&gt;ATINN = WA_COL_POS-ATINN&lt;/P&gt;&lt;P&gt;VTPOS = WA_COL_POS-VTPOS BINARY SEARCH.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;if sy-subrc = 0.&lt;/P&gt;&lt;P&gt;l_index1 = wa_col_pos-field + 1.&lt;/P&gt;&lt;P&gt;l_dbfld = wa_cuvtab_fld-dbfld.&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_dbfld 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;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;&lt;/P&gt;&lt;P&gt;READ TABLE i_col_pos INTO wa_col_pos with key vtnam = wa_contenttab1-vtnam&lt;/P&gt;&lt;P&gt;atnam = wa_contenttab3-char4 binary search.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;if sy-subrc = 0.&lt;/P&gt;&lt;P&gt;READ TABLE I_CUVTAB_FLD INTO WA_CUVTAB_FLD WITH KEY VTINT = WA_COL_POS-VTINT&lt;/P&gt;&lt;P&gt;ATINN = WA_COL_POS-ATINN&lt;/P&gt;&lt;P&gt;VTPOS = WA_COL_POS-VTPOS BINARY SEARCH.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;if sy-subrc = 0.&lt;/P&gt;&lt;P&gt;l_index1 = wa_col_pos-field + 1.&lt;/P&gt;&lt;P&gt;l_dbfld = wa_cuvtab_fld-dbfld.&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_dbfld 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;endif.&lt;/P&gt;&lt;P&gt;endif.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;READ TABLE i_col_pos INTO wa_col_pos with key vtnam = wa_contenttab1-vtnam&lt;/P&gt;&lt;P&gt;atnam = wa_contenttab3-char5 binary search.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;if sy-subrc = 0.&lt;/P&gt;&lt;P&gt;READ TABLE I_CUVTAB_FLD INTO WA_CUVTAB_FLD WITH KEY VTINT = WA_COL_POS-VTINT&lt;/P&gt;&lt;P&gt;ATINN = WA_COL_POS-ATINN&lt;/P&gt;&lt;P&gt;VTPOS = WA_COL_POS-VTPOS BINARY SEARCH.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;if sy-subrc = 0.&lt;/P&gt;&lt;P&gt;l_index1 = wa_col_pos-field + 1.&lt;/P&gt;&lt;P&gt;l_dbfld = wa_cuvtab_fld-dbfld.&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_dbfld 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;endif.&lt;/P&gt;&lt;P&gt;endif.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;READ TABLE i_col_pos INTO wa_col_pos with key vtnam = wa_contenttab1-vtnam&lt;/P&gt;&lt;P&gt;atnam = wa_contenttab3-char6 binary search.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;if sy-subrc = 0.&lt;/P&gt;&lt;P&gt;READ TABLE I_CUVTAB_FLD INTO WA_CUVTAB_FLD WITH KEY VTINT = WA_COL_POS-VTINT&lt;/P&gt;&lt;P&gt;ATINN = WA_COL_POS-ATINN&lt;/P&gt;&lt;P&gt;VTPOS = WA_COL_POS-VTPOS BINARY SEARCH.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;if sy-subrc = 0.&lt;/P&gt;&lt;P&gt;l_index1 = wa_col_pos-field + 1.&lt;/P&gt;&lt;P&gt;l_dbfld = wa_cuvtab_fld-dbfld.&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_dbfld 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;endif.&lt;/P&gt;&lt;P&gt;endif.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;READ TABLE i_col_pos INTO wa_col_pos with key vtnam = wa_contenttab1-vtnam&lt;/P&gt;&lt;P&gt;atnam = wa_contenttab3-char7 binary search.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;if sy-subrc = 0.&lt;/P&gt;&lt;P&gt;READ TABLE I_CUVTAB_FLD INTO WA_CUVTAB_FLD WITH KEY VTINT = WA_COL_POS-VTINT&lt;/P&gt;&lt;P&gt;ATINN = WA_COL_POS-ATINN&lt;/P&gt;&lt;P&gt;VTPOS = WA_COL_POS-VTPOS BINARY SEARCH.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;if sy-subrc = 0.&lt;/P&gt;&lt;P&gt;l_index1 = wa_col_pos-field + 1.&lt;/P&gt;&lt;P&gt;l_dbfld = wa_cuvtab_fld-dbfld.&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_dbfld 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;endif.&lt;/P&gt;&lt;P&gt;endif.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;READ TABLE i_col_pos INTO wa_col_pos with key vtnam = wa_contenttab1-vtnam&lt;/P&gt;&lt;P&gt;atnam = wa_contenttab3-char8 binary search.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;if sy-subrc = 0.&lt;/P&gt;&lt;P&gt;READ TABLE I_CUVTAB_FLD INTO WA_CUVTAB_FLD WITH KEY VTINT = WA_COL_POS-VTINT&lt;/P&gt;&lt;P&gt;ATINN = WA_COL_POS-ATINN&lt;/P&gt;&lt;P&gt;VTPOS = WA_COL_POS-VTPOS BINARY SEARCH.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;if sy-subrc = 0.&lt;/P&gt;&lt;P&gt;l_index1 = wa_col_pos-field + 1.&lt;/P&gt;&lt;P&gt;l_dbfld = wa_cuvtab_fld-dbfld.&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_dbfld 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;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;READ TABLE i_col_pos INTO wa_col_pos with key vtnam = wa_contenttab1-vtnam&lt;/P&gt;&lt;P&gt;atnam = wa_contenttab3-char9 binary search.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;if sy-subrc = 0.&lt;/P&gt;&lt;P&gt;READ TABLE I_CUVTAB_FLD INTO WA_CUVTAB_FLD WITH KEY VTINT = WA_COL_POS-VTINT&lt;/P&gt;&lt;P&gt;ATINN = WA_COL_POS-ATINN&lt;/P&gt;&lt;P&gt;VTPOS = WA_COL_POS-VTPOS BINARY SEARCH.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;if sy-subrc = 0.&lt;/P&gt;&lt;P&gt;l_index1 = wa_col_pos-field + 1.&lt;/P&gt;&lt;P&gt;l_dbfld = wa_cuvtab_fld-dbfld.&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_dbfld 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;endif.&lt;/P&gt;&lt;P&gt;endif.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;READ TABLE i_col_pos INTO wa_col_pos with key vtnam = wa_contenttab1-vtnam&lt;/P&gt;&lt;P&gt;atnam = wa_contenttab3-char10 binary search.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;if sy-subrc = 0.&lt;/P&gt;&lt;P&gt;READ TABLE I_CUVTAB_FLD INTO WA_CUVTAB_FLD WITH KEY VTINT = WA_COL_POS-VTINT&lt;/P&gt;&lt;P&gt;ATINN = WA_COL_POS-ATINN&lt;/P&gt;&lt;P&gt;VTPOS = WA_COL_POS-VTPOS BINARY SEARCH.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;if sy-subrc = 0.&lt;/P&gt;&lt;P&gt;l_index1 = wa_col_pos-field + 1.&lt;/P&gt;&lt;P&gt;l_dbfld = wa_cuvtab_fld-dbfld.&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_dbfld 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;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;READ TABLE i_col_pos INTO wa_col_pos with key vtnam = wa_contenttab1-vtnam&lt;/P&gt;&lt;P&gt;atnam = wa_contenttab3-char11 binary search.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;if sy-subrc = 0.&lt;/P&gt;&lt;P&gt;READ TABLE I_CUVTAB_FLD INTO WA_CUVTAB_FLD WITH KEY VTINT = WA_COL_POS-VTINT&lt;/P&gt;&lt;P&gt;ATINN = WA_COL_POS-ATINN&lt;/P&gt;&lt;P&gt;VTPOS = WA_COL_POS-VTPOS BINARY SEARCH.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;if sy-subrc = 0.&lt;/P&gt;&lt;P&gt;l_index1 = wa_col_pos-field + 1.&lt;/P&gt;&lt;P&gt;l_dbfld = wa_cuvtab_fld-dbfld.&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_dbfld 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;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;&lt;/P&gt;&lt;P&gt;READ TABLE i_col_pos INTO wa_col_pos with key vtnam = wa_contenttab1-vtnam&lt;/P&gt;&lt;P&gt;atnam = wa_contenttab3-char12 binary search.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;if sy-subrc = 0.&lt;/P&gt;&lt;P&gt;READ TABLE I_CUVTAB_FLD INTO WA_CUVTAB_FLD WITH KEY VTINT = WA_COL_POS-VTINT&lt;/P&gt;&lt;P&gt;ATINN = WA_COL_POS-ATINN&lt;/P&gt;&lt;P&gt;VTPOS = WA_COL_POS-VTPOS BINARY SEARCH.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;if sy-subrc = 0.&lt;/P&gt;&lt;P&gt;l_index1 = wa_col_pos-field + 1.&lt;/P&gt;&lt;P&gt;l_dbfld = wa_cuvtab_fld-dbfld.&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_dbfld 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;endif.&lt;/P&gt;&lt;P&gt;endif.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;READ TABLE i_col_pos INTO wa_col_pos with key vtnam = wa_contenttab1-vtnam&lt;/P&gt;&lt;P&gt;atnam = wa_contenttab3-char13 binary search.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;if sy-subrc = 0.&lt;/P&gt;&lt;P&gt;READ TABLE I_CUVTAB_FLD INTO WA_CUVTAB_FLD WITH KEY VTINT = WA_COL_POS-VTINT&lt;/P&gt;&lt;P&gt;ATINN = WA_COL_POS-ATINN&lt;/P&gt;&lt;P&gt;VTPOS = WA_COL_POS-VTPOS BINARY SEARCH.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;if sy-subrc = 0.&lt;/P&gt;&lt;P&gt;l_index1 = wa_col_pos-field + 1.&lt;/P&gt;&lt;P&gt;l_dbfld = wa_cuvtab_fld-dbfld.&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_dbfld 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;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;&lt;/P&gt;&lt;P&gt;READ TABLE i_col_pos INTO wa_col_pos with key vtnam = wa_contenttab1-vtnam&lt;/P&gt;&lt;P&gt;atnam = wa_contenttab3-char14 binary search.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;if sy-subrc = 0.&lt;/P&gt;&lt;P&gt;READ TABLE I_CUVTAB_FLD INTO WA_CUVTAB_FLD WITH KEY VTINT = WA_COL_POS-VTINT&lt;/P&gt;&lt;P&gt;ATINN = WA_COL_POS-ATINN&lt;/P&gt;&lt;P&gt;VTPOS = WA_COL_POS-VTPOS BINARY SEARCH.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;if sy-subrc = 0.&lt;/P&gt;&lt;P&gt;l_index1 = wa_col_pos-field + 1.&lt;/P&gt;&lt;P&gt;l_dbfld = wa_cuvtab_fld-dbfld.&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_dbfld 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;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;READ TABLE i_col_pos INTO wa_col_pos with key vtnam = wa_contenttab1-vtnam&lt;/P&gt;&lt;P&gt;atnam = wa_contenttab3-char15 binary search.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;if sy-subrc = 0.&lt;/P&gt;&lt;P&gt;READ TABLE I_CUVTAB_FLD INTO WA_CUVTAB_FLD WITH KEY VTINT = WA_COL_POS-VTINT&lt;/P&gt;&lt;P&gt;ATINN = WA_COL_POS-ATINN&lt;/P&gt;&lt;P&gt;VTPOS = WA_COL_POS-VTPOS 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;assign component 'Z_VARCOND' of structure wa_contenttab1 to &amp;lt;fs_field2&amp;gt;.&lt;/P&gt;&lt;P&gt;assign component l_lines_varcond 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;&lt;/P&gt;&lt;P&gt;endif.&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;SORT &amp;lt;dyn_table&amp;gt;. &lt;/P&gt;&lt;P&gt;DELETE ADJACENT DUPLICATES FROM &amp;lt;dyn_table&amp;gt;. &lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;**********************************************************************&lt;/P&gt;&lt;P&gt;The problem is here. Just before the assign component of z_varcond THE values in &amp;lt;dyn_wa&amp;gt; are correct. However after assigning the component z_varcond the &amp;lt;dyn_wa&amp;gt; is overwritten. I need the z_varcond in &amp;lt;dyn_wa&amp;gt; as the last column to be populated. Looking forward to yor inputs.&lt;/P&gt;&lt;P&gt;********************************************************************&lt;/P&gt;&lt;P&gt;**MOD-015&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;MODIFY (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;*MOD-015&lt;/P&gt;&lt;P&gt;*************************************************************************&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Any inputs would 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>Mon, 08 Sep 2008 11:34:56 GMT</pubDate>
      <guid>https://community.sap.com/t5/application-development-and-automation-discussions/dynamic-structure-and-components-issue/m-p/4423078#M1050460</guid>
      <dc:creator>Former Member</dc:creator>
      <dc:date>2008-09-08T11:34:56Z</dc:date>
    </item>
    <item>
      <title>Re: Dynamic Structure and Components Issue</title>
      <link>https://community.sap.com/t5/application-development-and-automation-discussions/dynamic-structure-and-components-issue/m-p/4423079#M1050461</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;For the dynamic components and database structure I am trying to work out this way.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;I have the database field in i_cuvtab_fld-dbfld.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;The problem is that the file could have components which are in random order and cannot be accessed by indexing. I also dont know the components of the file.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;**************************************************************************&lt;/P&gt;&lt;P&gt;**MOD-015&lt;/P&gt;&lt;P&gt;***************************************************************************&lt;/P&gt;&lt;P&gt;data: l_dbfld type NAME_FELD.&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;read table i_contenttab3 into wa_contenttab3 with key vtnam = wa_contenttab1-vtnam binary search.&lt;/P&gt;&lt;P&gt;if sy-subrc = 0.&lt;/P&gt;&lt;P&gt;READ TABLE i_col_pos INTO wa_col_pos with key vtnam = wa_contenttab1-vtnam&lt;/P&gt;&lt;P&gt;atnam = wa_contenttab3-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;READ TABLE I_CUVTAB_FLD INTO WA_CUVTAB_FLD WITH KEY VTINT = WA_COL_POS-VTINT&lt;/P&gt;&lt;P&gt;ATINN = WA_COL_POS-ATINN&lt;/P&gt;&lt;P&gt;VTPOS = WA_COL_POS-VTPOS BINARY SEARCH.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;if sy-subrc = 0.&lt;/P&gt;&lt;P&gt;l_index1 = wa_col_pos-field + 1.&lt;/P&gt;&lt;P&gt;l_dbfld = wa_cuvtab_fld-dbfld.&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_dbfld 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;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;***MOD-015&lt;/P&gt;&lt;P&gt;***************************************************************************&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;READ TABLE i_col_pos INTO wa_col_pos with key vtnam = wa_contenttab1-vtnam&lt;/P&gt;&lt;P&gt;atnam = wa_contenttab3-char2 binary search.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;if sy-subrc = 0.&lt;/P&gt;&lt;P&gt;READ TABLE I_CUVTAB_FLD INTO WA_CUVTAB_FLD WITH KEY VTINT = WA_COL_POS-VTINT&lt;/P&gt;&lt;P&gt;ATINN = WA_COL_POS-ATINN&lt;/P&gt;&lt;P&gt;VTPOS = WA_COL_POS-VTPOS BINARY SEARCH.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;if sy-subrc = 0.&lt;/P&gt;&lt;P&gt;l_index1 = wa_col_pos-field + 1.&lt;/P&gt;&lt;P&gt;l_dbfld = wa_cuvtab_fld-dbfld.&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_dbfld 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;endif.&lt;/P&gt;&lt;P&gt;endif.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;READ TABLE i_col_pos INTO wa_col_pos with key vtnam = wa_contenttab1-vtnam&lt;/P&gt;&lt;P&gt;atnam = wa_contenttab3-char3 binary search.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;if sy-subrc = 0.&lt;/P&gt;&lt;P&gt;READ TABLE I_CUVTAB_FLD INTO WA_CUVTAB_FLD WITH KEY VTINT = WA_COL_POS-VTINT&lt;/P&gt;&lt;P&gt;ATINN = WA_COL_POS-ATINN&lt;/P&gt;&lt;P&gt;VTPOS = WA_COL_POS-VTPOS BINARY SEARCH.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;if sy-subrc = 0.&lt;/P&gt;&lt;P&gt;l_index1 = wa_col_pos-field + 1.&lt;/P&gt;&lt;P&gt;l_dbfld = wa_cuvtab_fld-dbfld.&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_dbfld 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;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;&lt;/P&gt;&lt;P&gt;READ TABLE i_col_pos INTO wa_col_pos with key vtnam = wa_contenttab1-vtnam&lt;/P&gt;&lt;P&gt;atnam = wa_contenttab3-char4 binary search.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;if sy-subrc = 0.&lt;/P&gt;&lt;P&gt;READ TABLE I_CUVTAB_FLD INTO WA_CUVTAB_FLD WITH KEY VTINT = WA_COL_POS-VTINT&lt;/P&gt;&lt;P&gt;ATINN = WA_COL_POS-ATINN&lt;/P&gt;&lt;P&gt;VTPOS = WA_COL_POS-VTPOS BINARY SEARCH.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;if sy-subrc = 0.&lt;/P&gt;&lt;P&gt;l_index1 = wa_col_pos-field + 1.&lt;/P&gt;&lt;P&gt;l_dbfld = wa_cuvtab_fld-dbfld.&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_dbfld 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;endif.&lt;/P&gt;&lt;P&gt;endif.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;READ TABLE i_col_pos INTO wa_col_pos with key vtnam = wa_contenttab1-vtnam&lt;/P&gt;&lt;P&gt;atnam = wa_contenttab3-char5 binary search.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;if sy-subrc = 0.&lt;/P&gt;&lt;P&gt;READ TABLE I_CUVTAB_FLD INTO WA_CUVTAB_FLD WITH KEY VTINT = WA_COL_POS-VTINT&lt;/P&gt;&lt;P&gt;ATINN = WA_COL_POS-ATINN&lt;/P&gt;&lt;P&gt;VTPOS = WA_COL_POS-VTPOS BINARY SEARCH.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;if sy-subrc = 0.&lt;/P&gt;&lt;P&gt;l_index1 = wa_col_pos-field + 1.&lt;/P&gt;&lt;P&gt;l_dbfld = wa_cuvtab_fld-dbfld.&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_dbfld 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;endif.&lt;/P&gt;&lt;P&gt;endif.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;READ TABLE i_col_pos INTO wa_col_pos with key vtnam = wa_contenttab1-vtnam&lt;/P&gt;&lt;P&gt;atnam = wa_contenttab3-char6 binary search.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;if sy-subrc = 0.&lt;/P&gt;&lt;P&gt;READ TABLE I_CUVTAB_FLD INTO WA_CUVTAB_FLD WITH KEY VTINT = WA_COL_POS-VTINT&lt;/P&gt;&lt;P&gt;ATINN = WA_COL_POS-ATINN&lt;/P&gt;&lt;P&gt;VTPOS = WA_COL_POS-VTPOS BINARY SEARCH.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;if sy-subrc = 0.&lt;/P&gt;&lt;P&gt;l_index1 = wa_col_pos-field + 1.&lt;/P&gt;&lt;P&gt;l_dbfld = wa_cuvtab_fld-dbfld.&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_dbfld 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;endif.&lt;/P&gt;&lt;P&gt;endif.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;READ TABLE i_col_pos INTO wa_col_pos with key vtnam = wa_contenttab1-vtnam&lt;/P&gt;&lt;P&gt;atnam = wa_contenttab3-char7 binary search.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;if sy-subrc = 0.&lt;/P&gt;&lt;P&gt;READ TABLE I_CUVTAB_FLD INTO WA_CUVTAB_FLD WITH KEY VTINT = WA_COL_POS-VTINT&lt;/P&gt;&lt;P&gt;ATINN = WA_COL_POS-ATINN&lt;/P&gt;&lt;P&gt;VTPOS = WA_COL_POS-VTPOS BINARY SEARCH.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;if sy-subrc = 0.&lt;/P&gt;&lt;P&gt;l_index1 = wa_col_pos-field + 1.&lt;/P&gt;&lt;P&gt;l_dbfld = wa_cuvtab_fld-dbfld.&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_dbfld 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;endif.&lt;/P&gt;&lt;P&gt;endif.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;READ TABLE i_col_pos INTO wa_col_pos with key vtnam = wa_contenttab1-vtnam&lt;/P&gt;&lt;P&gt;atnam = wa_contenttab3-char8 binary search.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;if sy-subrc = 0.&lt;/P&gt;&lt;P&gt;READ TABLE I_CUVTAB_FLD INTO WA_CUVTAB_FLD WITH KEY VTINT = WA_COL_POS-VTINT&lt;/P&gt;&lt;P&gt;ATINN = WA_COL_POS-ATINN&lt;/P&gt;&lt;P&gt;VTPOS = WA_COL_POS-VTPOS BINARY SEARCH.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;if sy-subrc = 0.&lt;/P&gt;&lt;P&gt;l_index1 = wa_col_pos-field + 1.&lt;/P&gt;&lt;P&gt;l_dbfld = wa_cuvtab_fld-dbfld.&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_dbfld 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;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;READ TABLE i_col_pos INTO wa_col_pos with key vtnam = wa_contenttab1-vtnam&lt;/P&gt;&lt;P&gt;atnam = wa_contenttab3-char9 binary search.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;if sy-subrc = 0.&lt;/P&gt;&lt;P&gt;READ TABLE I_CUVTAB_FLD INTO WA_CUVTAB_FLD WITH KEY VTINT = WA_COL_POS-VTINT&lt;/P&gt;&lt;P&gt;ATINN = WA_COL_POS-ATINN&lt;/P&gt;&lt;P&gt;VTPOS = WA_COL_POS-VTPOS BINARY SEARCH.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;if sy-subrc = 0.&lt;/P&gt;&lt;P&gt;l_index1 = wa_col_pos-field + 1.&lt;/P&gt;&lt;P&gt;l_dbfld = wa_cuvtab_fld-dbfld.&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_dbfld 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;endif.&lt;/P&gt;&lt;P&gt;endif.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;READ TABLE i_col_pos INTO wa_col_pos with key vtnam = wa_contenttab1-vtnam&lt;/P&gt;&lt;P&gt;atnam = wa_contenttab3-char10 binary search.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;if sy-subrc = 0.&lt;/P&gt;&lt;P&gt;READ TABLE I_CUVTAB_FLD INTO WA_CUVTAB_FLD WITH KEY VTINT = WA_COL_POS-VTINT&lt;/P&gt;&lt;P&gt;ATINN = WA_COL_POS-ATINN&lt;/P&gt;&lt;P&gt;VTPOS = WA_COL_POS-VTPOS BINARY SEARCH.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;if sy-subrc = 0.&lt;/P&gt;&lt;P&gt;l_index1 = wa_col_pos-field + 1.&lt;/P&gt;&lt;P&gt;l_dbfld = wa_cuvtab_fld-dbfld.&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_dbfld 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;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;READ TABLE i_col_pos INTO wa_col_pos with key vtnam = wa_contenttab1-vtnam&lt;/P&gt;&lt;P&gt;atnam = wa_contenttab3-char11 binary search.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;if sy-subrc = 0.&lt;/P&gt;&lt;P&gt;READ TABLE I_CUVTAB_FLD INTO WA_CUVTAB_FLD WITH KEY VTINT = WA_COL_POS-VTINT&lt;/P&gt;&lt;P&gt;ATINN = WA_COL_POS-ATINN&lt;/P&gt;&lt;P&gt;VTPOS = WA_COL_POS-VTPOS BINARY SEARCH.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;if sy-subrc = 0.&lt;/P&gt;&lt;P&gt;l_index1 = wa_col_pos-field + 1.&lt;/P&gt;&lt;P&gt;l_dbfld = wa_cuvtab_fld-dbfld.&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_dbfld 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;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;&lt;/P&gt;&lt;P&gt;READ TABLE i_col_pos INTO wa_col_pos with key vtnam = wa_contenttab1-vtnam&lt;/P&gt;&lt;P&gt;atnam = wa_contenttab3-char12 binary search.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;if sy-subrc = 0.&lt;/P&gt;&lt;P&gt;READ TABLE I_CUVTAB_FLD INTO WA_CUVTAB_FLD WITH KEY VTINT = WA_COL_POS-VTINT&lt;/P&gt;&lt;P&gt;ATINN = WA_COL_POS-ATINN&lt;/P&gt;&lt;P&gt;VTPOS = WA_COL_POS-VTPOS BINARY SEARCH.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;if sy-subrc = 0.&lt;/P&gt;&lt;P&gt;l_index1 = wa_col_pos-field + 1.&lt;/P&gt;&lt;P&gt;l_dbfld = wa_cuvtab_fld-dbfld.&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_dbfld 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;endif.&lt;/P&gt;&lt;P&gt;endif.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;READ TABLE i_col_pos INTO wa_col_pos with key vtnam = wa_contenttab1-vtnam&lt;/P&gt;&lt;P&gt;atnam = wa_contenttab3-char13 binary search.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;if sy-subrc = 0.&lt;/P&gt;&lt;P&gt;READ TABLE I_CUVTAB_FLD INTO WA_CUVTAB_FLD WITH KEY VTINT = WA_COL_POS-VTINT&lt;/P&gt;&lt;P&gt;ATINN = WA_COL_POS-ATINN&lt;/P&gt;&lt;P&gt;VTPOS = WA_COL_POS-VTPOS BINARY SEARCH.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;if sy-subrc = 0.&lt;/P&gt;&lt;P&gt;l_index1 = wa_col_pos-field + 1.&lt;/P&gt;&lt;P&gt;l_dbfld = wa_cuvtab_fld-dbfld.&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_dbfld 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;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;&lt;/P&gt;&lt;P&gt;READ TABLE i_col_pos INTO wa_col_pos with key vtnam = wa_contenttab1-vtnam&lt;/P&gt;&lt;P&gt;atnam = wa_contenttab3-char14 binary search.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;if sy-subrc = 0.&lt;/P&gt;&lt;P&gt;READ TABLE I_CUVTAB_FLD INTO WA_CUVTAB_FLD WITH KEY VTINT = WA_COL_POS-VTINT&lt;/P&gt;&lt;P&gt;ATINN = WA_COL_POS-ATINN&lt;/P&gt;&lt;P&gt;VTPOS = WA_COL_POS-VTPOS BINARY SEARCH.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;if sy-subrc = 0.&lt;/P&gt;&lt;P&gt;l_index1 = wa_col_pos-field + 1.&lt;/P&gt;&lt;P&gt;l_dbfld = wa_cuvtab_fld-dbfld.&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_dbfld 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;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;READ TABLE i_col_pos INTO wa_col_pos with key vtnam = wa_contenttab1-vtnam&lt;/P&gt;&lt;P&gt;atnam = wa_contenttab3-char15 binary search.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;if sy-subrc = 0.&lt;/P&gt;&lt;P&gt;READ TABLE I_CUVTAB_FLD INTO WA_CUVTAB_FLD WITH KEY VTINT = WA_COL_POS-VTINT&lt;/P&gt;&lt;P&gt;ATINN = WA_COL_POS-ATINN&lt;/P&gt;&lt;P&gt;VTPOS = WA_COL_POS-VTPOS 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;assign component 'Z_VARCOND' of structure wa_contenttab1 to &amp;lt;fs_field2&amp;gt;.&lt;/P&gt;&lt;P&gt;assign component l_lines_varcond 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;&lt;/P&gt;&lt;P&gt;*********************************************************************&lt;/P&gt;&lt;P&gt;For the multiple table case the value of z_varcond is not getting populated. The previous problem has been fixed.&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;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;SORT &amp;lt;dyn_table&amp;gt;. &lt;/P&gt;&lt;P&gt;DELETE ADJACENT DUPLICATES FROM &amp;lt;dyn_table&amp;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;MODIFY (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;*MOD-015&lt;/P&gt;&lt;P&gt;*************************************************************************&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Any inputs would 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>Tue, 09 Sep 2008 12:39:57 GMT</pubDate>
      <guid>https://community.sap.com/t5/application-development-and-automation-discussions/dynamic-structure-and-components-issue/m-p/4423079#M1050461</guid>
      <dc:creator>Former Member</dc:creator>
      <dc:date>2008-09-09T12:39:57Z</dc:date>
    </item>
    <item>
      <title>Re: Dynamic Structure and Components Issue</title>
      <link>https://community.sap.com/t5/application-development-and-automation-discussions/dynamic-structure-and-components-issue/m-p/4423080#M1050462</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;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Fri, 12 Sep 2008 05:09:27 GMT</pubDate>
      <guid>https://community.sap.com/t5/application-development-and-automation-discussions/dynamic-structure-and-components-issue/m-p/4423080#M1050462</guid>
      <dc:creator>Former Member</dc:creator>
      <dc:date>2008-09-12T05:09:27Z</dc:date>
    </item>
    <item>
      <title>Re: Dynamic Structure and Components Issue</title>
      <link>https://community.sap.com/t5/application-development-and-automation-discussions/dynamic-structure-and-components-issue/m-p/4423081#M1050463</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 now have a requirement for the following:&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Duplicate VARCOND if I  Use small letters and capital letters. Sequential number also duplicated.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Here is the code and would appreciate if someone could shed some light on the issue.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;&amp;amp;----&lt;/STRONG&gt;&lt;/P&gt;&lt;HR originaltext="----------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;*&amp;amp; Report  ZVARTABDYNFINAL&lt;/P&gt;&lt;P&gt;*&amp;amp;&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;&amp;amp;----&lt;/STRONG&gt;&lt;/P&gt;&lt;HR originaltext="----------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;*&amp;amp;&lt;/P&gt;&lt;P&gt;*&amp;amp;&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;&amp;amp;----&lt;/STRONG&gt;&lt;/P&gt;&lt;HR originaltext="----------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;*&amp;amp;                                                                     *&lt;/P&gt;&lt;P&gt;*&amp;amp;                                                                     *&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;&amp;amp;----&lt;/STRONG&gt;&lt;/P&gt;&lt;HR originaltext="----------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;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-08-25&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;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;STRONG&gt;----&lt;/STRONG&gt;&lt;/P&gt;&lt;HR originaltext="-----------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;REPORT  ZVARTABDYNFINAL 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  /factglb/gta_custdev.&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;  Include           /FACTGLB/GTDMI_VARTAB_TOP02                      *&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;&amp;amp;----&lt;/STRONG&gt;&lt;/P&gt;&lt;HR originaltext="----------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;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;  Include           /FACTGLB/GTDMI_VARTAB_TOP&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;&amp;amp;----&lt;/STRONG&gt;&lt;/P&gt;&lt;HR originaltext="----------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;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;  Include           /FACTGLB/GTDMI_VARTAB_TOP&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;&amp;amp;----&lt;/STRONG&gt;&lt;/P&gt;&lt;HR originaltext="----------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;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;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-08-25&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;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;STRONG&gt;----&lt;/STRONG&gt;&lt;/P&gt;&lt;HR originaltext="-----------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;************************************************************************&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;TYPE POOLS&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;TYPE POOLS&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;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 &amp;lt;icon&amp;gt;.&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;          Z_VARCOND type VARCOND.&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_CONTENTTAB,&lt;/P&gt;&lt;P&gt;          VTNAM(018) type C,&lt;/P&gt;&lt;P&gt;          COMP1(30) TYPE C,&lt;/P&gt;&lt;P&gt;          CHAR1(030) type C,&lt;/P&gt;&lt;P&gt;          COMP2(30) TYPE C,&lt;/P&gt;&lt;P&gt;          CHAR2(030) type C,&lt;/P&gt;&lt;P&gt;          COMP3(30) TYPE C,&lt;/P&gt;&lt;P&gt;          CHAR3(030) type C,&lt;/P&gt;&lt;P&gt;          COMP4(30) TYPE C,&lt;/P&gt;&lt;P&gt;          CHAR4(030) type C,&lt;/P&gt;&lt;P&gt;          COMP5(30) TYPE C,&lt;/P&gt;&lt;P&gt;          CHAR5(030) type C,&lt;/P&gt;&lt;P&gt;          COMP6(30) TYPE C,&lt;/P&gt;&lt;P&gt;          CHAR6(030) type C,&lt;/P&gt;&lt;P&gt;          COMP7(30) TYPE C,&lt;/P&gt;&lt;P&gt;          CHAR7(030) type C,&lt;/P&gt;&lt;P&gt;          COMP8(30) TYPE C,&lt;/P&gt;&lt;P&gt;          CHAR8(030) type C,&lt;/P&gt;&lt;P&gt;          COMP9(30) TYPE C,&lt;/P&gt;&lt;P&gt;          CHAR9(030) type C,&lt;/P&gt;&lt;P&gt;          COMP10(30) TYPE C,&lt;/P&gt;&lt;P&gt;          CHAR10(030) type C,&lt;/P&gt;&lt;P&gt;          COMP11(30) TYPE C,&lt;/P&gt;&lt;P&gt;          CHAR11(030) type C,&lt;/P&gt;&lt;P&gt;          COMP12(30) TYPE C,&lt;/P&gt;&lt;P&gt;          CHAR12(030) type C,&lt;/P&gt;&lt;P&gt;          COMP13(30) TYPE C,&lt;/P&gt;&lt;P&gt;          CHAR13(030) type C,&lt;/P&gt;&lt;P&gt;          COMP14(30) TYPE C,&lt;/P&gt;&lt;P&gt;          CHAR14(030) type C,&lt;/P&gt;&lt;P&gt;          COMP15(30) 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_CONTENTTAB.&lt;/P&gt;&lt;P&gt;&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;         dbtab_name type tabname16, "Custom table Name&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;***********************************************************************&lt;/P&gt;&lt;P&gt;*mod-012&lt;/P&gt;&lt;P&gt;***********************************************************************&lt;/P&gt;&lt;P&gt;         DBFLD type NAME_FELD,&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;         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;P&gt;&lt;/P&gt;&lt;P&gt;TYPES: BEGIN OF ty_dbtab,&lt;/P&gt;&lt;P&gt;        vtint     TYPE vtint,&lt;/P&gt;&lt;P&gt;        vtnam     TYPE vtnam,&lt;/P&gt;&lt;P&gt;        DBTAB_NAME TYPE TABNAME16,&lt;/P&gt;&lt;P&gt;      END OF ty_dbtab.&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;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. "#EC NEEDED&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_LINE2  TYPE REF TO DATA.&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_contenttab5 TYPE STANDARD TABLE OF ty_contenttab 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_contenttab5 TYPE ty_contentTAB.                   "#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;&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_MD4(3)     TYPE C          VALUE 'MD4'.         "#EC *&lt;/P&gt;&lt;P&gt;CONSTANTS C_MD5(3)     TYPE C          VALUE 'MD5'.         "#EC *&lt;/P&gt;&lt;P&gt;&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;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;      i_dbtab       TYPE STANDARD TABLE OF ty_dbtab.        "#EC *&lt;/P&gt;&lt;P&gt;&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;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;HR originaltext="----" /&gt;&lt;P&gt; Field Symbols&lt;/P&gt;&lt;P&gt;FIELD-SYMBOLS: &amp;lt;fs_vtnam&amp;gt;      TYPE ty_vtnam,               "#EC *&lt;/P&gt;&lt;P&gt;               &amp;lt;fs_cabn&amp;gt;       TYPE ty_cabn,                "#EC *&lt;/P&gt;&lt;P&gt;               &amp;lt;fs_cuvtab_fld&amp;gt; TYPE ty_cuvtab_fld,          "#EC *&lt;/P&gt;&lt;P&gt;               &amp;lt;fs_dupl&amp;gt;       TYPE ty_dupl.                "#EC *&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;FIELD-SYMBOLS: &amp;lt;FS_DYN_WA&amp;gt; TYPE ANY.&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;      g_split_var1 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.               "#EC NEEDED&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_lines1 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;&lt;/P&gt;&lt;P&gt;field-symbols: &amp;lt;dyn_table&amp;gt; type standard table,&lt;/P&gt;&lt;P&gt;               &amp;lt;dyn_table1&amp;gt; type standard table,&lt;/P&gt;&lt;P&gt;               &amp;lt;dyn_wa&amp;gt;,&lt;/P&gt;&lt;P&gt;               &amp;lt;dyn_wa1&amp;gt; TYPE ANY.&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_tabname TYPE tabname.&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;P&gt;*Include for Global Data Declaration&lt;/P&gt;&lt;P&gt;*INCLUDE ZGTDMI_VARTAB_TOPDYN.&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 ZGTDMI_VARTAB_SELDYN.&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 ZGTDMI_VARTAB_FORMSDYN.&lt;/P&gt;&lt;P&gt;*INCLUDE /FACTGLB/GTDMI_VARTAB_FORMS02.&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;  Include           /FACTGLB/GTDMI_VARTAB_SEL02                      *&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;&amp;amp;----&lt;/STRONG&gt;&lt;/P&gt;&lt;HR originaltext="----------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;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;  Include           /FACTGLB/GTDMI_VARTAB_SEL&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;&amp;amp;----&lt;/STRONG&gt;&lt;/P&gt;&lt;HR originaltext="----------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;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;  Include           /FACTGLB/GTDMI_VARTAB_SEL&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;&amp;amp;----&lt;/STRONG&gt;&lt;/P&gt;&lt;HR originaltext="----------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;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;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-08-25&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;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;STRONG&gt;----&lt;/STRONG&gt;&lt;/P&gt;&lt;HR originaltext="-----------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;************************************************************************&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;HR originaltext="----------------------------------------------------------------" /&gt;&lt;P&gt;*selection-screen skip 1.&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;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;rb_proc RADIOBUTTON GROUP RB1.&lt;/P&gt;&lt;/LI&gt;&lt;/UL&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;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;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;&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;At Selection Screen Output&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;&lt;STRONG&gt;&amp;amp;----&lt;/STRONG&gt;&lt;/P&gt;&lt;HR originaltext="----------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;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;/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 i255.&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;**************************************************************&lt;/P&gt;&lt;P&gt;*MOD-008&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;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;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;Final message&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;perform sub_final_message_idoc.&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;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;&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;  Include           /FACTGLB/GTDMI_VARTAB_FORMS02                    *&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;&amp;amp;----&lt;/STRONG&gt;&lt;/P&gt;&lt;HR originaltext="----------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;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;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-08-25&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;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;STRONG&gt;----&lt;/STRONG&gt;&lt;/P&gt;&lt;HR originaltext="-----------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;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  sub_refresh_variables&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;  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;STRONG&gt;----&lt;/STRONG&gt;&lt;/P&gt;&lt;HR originaltext="-----------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;FORM 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;&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  SUB_UPLOAD_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 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;&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  sub_get_physical_file&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;&amp;amp;----&lt;/STRONG&gt;&lt;/P&gt;&lt;HR originaltext="----------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;      text&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;&lt;STRONG&gt;----&lt;/STRONG&gt;&lt;/P&gt;&lt;HR originaltext="-----------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;     --&amp;gt;P_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;STRONG&gt;----&lt;/STRONG&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;*&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  sub_end_selection&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 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;&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  sub_start_selection&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 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;&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  SUB_GET_PHYSICAL_FILE1&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;&amp;amp;----&lt;/STRONG&gt;&lt;/P&gt;&lt;HR originaltext="----------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;      text&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;&lt;STRONG&gt;----&lt;/STRONG&gt;&lt;/P&gt;&lt;HR originaltext="-----------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;     --&amp;gt;P_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;STRONG&gt;----&lt;/STRONG&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;&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  SUB_GET_PHYSICAL_FILE1&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;&amp;amp;----&lt;/STRONG&gt;&lt;/P&gt;&lt;HR originaltext="----------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;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_internal_char&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;&amp;amp;----&lt;/STRONG&gt;&lt;/P&gt;&lt;HR originaltext="----------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;      text&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;&lt;STRONG&gt;----&lt;/STRONG&gt;&lt;/P&gt;&lt;HR originaltext="-----------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;     --&amp;gt;P_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;STRONG&gt;----&lt;/STRONG&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;&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  find_char_exist&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;&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;STRONG&gt;----&lt;/STRONG&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 &amp;lt;fs_cuvtab_fld&amp;gt;&lt;/P&gt;&lt;P&gt;    WITH KEY vtint = p_vtnam-vtint&lt;/P&gt;&lt;P&gt;             atinn = p_cabn-atinn&lt;/P&gt;&lt;P&gt;             binary search.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;    IF sy-subrc = 0.&lt;/P&gt;&lt;P&gt;      &amp;lt;fs_cuvtab_fld&amp;gt;-exist = c_x.&lt;/P&gt;&lt;P&gt;      READ TABLE i_charname INTO wa_charname&lt;/P&gt;&lt;P&gt;       WITH KEY name = p_cabn-atnam.&lt;/P&gt;&lt;P&gt;      IF sy-subrc = 0.&lt;/P&gt;&lt;P&gt;        g_tabix = sy-tabix.&lt;/P&gt;&lt;P&gt;        SHIFT g_tabix LEFT DELETING LEADING space.&lt;/P&gt;&lt;P&gt;        l_quot = g_tabix+0(2).&lt;/P&gt;&lt;P&gt;      ENDIF.&lt;/P&gt;&lt;P&gt;      wa_col_pos-vtint = p_vtnam-vtint.&lt;/P&gt;&lt;P&gt;      wa_col_pos-vtnam = p_vtnam-vtnam.&lt;/P&gt;&lt;P&gt;      wa_col_pos-atnam = p_cabn-atnam.&lt;/P&gt;&lt;P&gt;      wa_col_pos-atinn = p_cabn-atinn.&lt;/P&gt;&lt;P&gt;      wa_col_pos-field  = l_quot.&lt;/P&gt;&lt;P&gt;      wa_col_pos-vtpos = &amp;lt;fs_cuvtab_fld&amp;gt;-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;&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  transfer_e1cuv1m&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;&amp;amp;----&lt;/STRONG&gt;&lt;/P&gt;&lt;HR originaltext="----------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;      text&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;&lt;STRONG&gt;----&lt;/STRONG&gt;&lt;/P&gt;&lt;HR originaltext="-----------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;     --&amp;gt;P_E1CUV1M  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 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;  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;&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  transfer_e1cuvtm&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;&amp;amp;----&lt;/STRONG&gt;&lt;/P&gt;&lt;HR originaltext="----------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;      text&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;&lt;STRONG&gt;----&lt;/STRONG&gt;&lt;/P&gt;&lt;HR originaltext="-----------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;     --&amp;gt;P_E1CUVTM 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 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;&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  transfer_e1datem&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;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;&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  errror_line&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;&amp;amp;----&lt;/STRONG&gt;&lt;/P&gt;&lt;HR originaltext="----------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;      text&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;&lt;STRONG&gt;----&lt;/STRONG&gt;&lt;/P&gt;&lt;HR originaltext="-----------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;     --&amp;gt;P_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;STRONG&gt;----&lt;/STRONG&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;&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  delete_duplicates&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;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;&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  pop_dupl&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;&amp;amp;----&lt;/STRONG&gt;&lt;/P&gt;&lt;HR originaltext="----------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;      text&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;&lt;STRONG&gt;----&lt;/STRONG&gt;&lt;/P&gt;&lt;HR originaltext="-----------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;     --&amp;gt;P_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;STRONG&gt;----&lt;/STRONG&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:  &amp;lt;fs_val&amp;gt; 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 &amp;lt;fs_dupl&amp;gt; WITH KEY vtnam = p_vtnam&lt;/P&gt;&lt;P&gt;                                                   slnid = p_slnid.&lt;/P&gt;&lt;P&gt;    IF sy-subrc = 0.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;      CONCATENATE '&amp;lt;FS_DUPL&amp;gt;-CHAR'  wa_col_pos-field INTO l_field.&lt;/P&gt;&lt;P&gt;      ASSIGN (l_field) TO &amp;lt;fs_val&amp;gt;.&lt;/P&gt;&lt;P&gt;      &amp;lt;fs_val&amp;gt; = p_val.&lt;/P&gt;&lt;P&gt;    ELSE.&lt;/P&gt;&lt;P&gt;      CLEAR wa_dupl.&lt;/P&gt;&lt;P&gt;      wa_dupl-vtnam = p_vtnam.&lt;/P&gt;&lt;P&gt;      wa_dupl-slnid = p_slnid.&lt;/P&gt;&lt;P&gt;      CONCATENATE 'WA_DUPL-CHAR'  wa_col_pos-field INTO l_field.&lt;/P&gt;&lt;P&gt;      ASSIGN (l_field) TO &amp;lt;fs_val&amp;gt;.&lt;/P&gt;&lt;P&gt;      &amp;lt;fs_val&amp;gt; = 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;&lt;STRONG&gt;&amp;amp;----&lt;/STRONG&gt;&lt;/P&gt;&lt;HR originaltext="----------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;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  TRANSFER_RECORD_IDOC&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 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;&lt;STRONG&gt;&amp;amp;----&lt;/STRONG&gt;&lt;/P&gt;&lt;HR originaltext="----------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;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  FILL_EDIDD_SEGMENTS&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 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;&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  SUB_GET_CABN&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 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;&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  SUB_GET_CAWN&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 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;&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  SUB_CONVERT_TRANSACTION&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 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;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;I_CONTENTTAB3[] = I_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;SORT I_CONTENTTAB3 BY VTNAM.&lt;/P&gt;&lt;/LI&gt;&lt;/UL&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;  clear: wa_contentheader1.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  loop at i_contentheader1 into wa_contentheader1.&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;   perform sub_convert_0001.                               " E1CUVTM&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;   perform sub_convert_0002.                               " 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;    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;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;      IF g_error &amp;lt;&amp;gt; c_x.&lt;/P&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;P&gt;&lt;/P&gt;&lt;P&gt;        MESSAGE I260.&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;       LEAVE LIST-PROCESSING.&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;&lt;/P&gt;&lt;P&gt;      PERFORM SUB_CLEAR_VARIABLES.&lt;/P&gt;&lt;P&gt;      DELETE I_CONTENTTAB1 WHERE VTNAM = WA_CONTENTHEADER1-VTNAM.&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;ENDFORM.                    " SUB_CONVERT_TRANSACTION&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  SUB_CREATE_IDOCS&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 SUB_CREATE_IDOCS .&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt; CONSTANTS: C_VTMMAS TYPE EDI_MESTYP VALUE 'VTMMAS'.&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt; CONSTANTS: C_EDI_DC40(8) TYPE C VALUE 'EDI_DC40'.&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt; CONSTANTS: C_2(1) TYPE C VALUE '2'.&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt; CONSTANTS: C_LS(2) TYPE C VALUE 'LS'.&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt; CONSTANTS: C_VTMMAS02(8) TYPE C VALUE 'VTMMAS02'.&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt; CONSTANTS: l_c_x TYPE char1 VALUE 'X'.                    "#EC *&lt;/P&gt;&lt;/LI&gt;&lt;UL&gt;&lt;LI level="2" type="ul"&gt;&lt;P&gt;Local Data Declaration&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt; DATA: l_logsys     TYPE logsys,                           "#EC *&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;       l_i_model    TYPE TABLE OF bdi_mmodel,              "#EC *&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;       l_rec_model  TYPE bdi_mmodel,                       "#EC *&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;       l_rec_edidc  TYPE edidc,                            "#EC *&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;       l_rec_edidd  TYPE edidd,                            "#EC *&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;       l_v_cnt      TYPE i VALUE 0.                        "#EC *&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_i_mmodel type bdi_mmodel.                        "#EC *&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:&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;      l_text(132),                                         "#EC *&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;      l_lines TYPE i,                                      "#EC *&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;      l_idoc_nr_from TYPE i,                               "#EC *&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;      l_idoc_nr_to TYPE i,                                 "#EC *&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;      l_idoc_nr_from_char(10) type c,                      "#EC *&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;      l_idoc_nr_to_char(10) type c,                        "#EC *&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;      l_edkp1 type edkp1,                                  "#EC *&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;      l_edk21 type edk21.                                  "#EC *&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt; DATA:&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;     l_flg_tranferred_something.                           "#EC *&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; FIELD-SYMBOLS:&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;   &amp;lt;buffer&amp;gt;.                                               "#EC *&lt;/P&gt;&lt;/LI&gt;&lt;/UL&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.         "#EC *&lt;/P&gt;&lt;P&gt;  DATA: WA_DD03L TYPE TY_DD03L.                             "#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;*MOD-015&lt;/P&gt;&lt;P&gt;***************************************************************&lt;/P&gt;&lt;P&gt;  SELECT SINGLE DBTAB_NAME                                  "#EC *&lt;/P&gt;&lt;P&gt;  INTO L_TABNAME&lt;/P&gt;&lt;P&gt;  FROM CUVTAB&lt;/P&gt;&lt;P&gt;  WHERE VTNAM = wa_contentheader1-vtnam.&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;  IF NOT L_TABNAME IS INITIAL.&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;  ENDIF.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;ENDFORM.                    " SUB_CREATE_IDOCS&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  SUB_START_IDOC_PROCESS&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 SUB_START_IDOC_PROCESS .&lt;/P&gt;&lt;P&gt;*&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt; CONSTANTS: C_I(1)  TYPE C VALUE 'I'.&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt; CONSTANTS: C_EQ(2) TYPE C VALUE 'EQ'.&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt; CONSTANTS: C_VTMMAS(6) TYPE C VALUE 'VTMMAS'.&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;RBDAPP01 aufrufen&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt; R_CREDAT-SIGN = C_I.&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt; R_CREDAT-OPTION = C_EQ.&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt; R_CREDAT-LOW = SY-DATUM.&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt; APPEND R_CREDAT.&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; R_CRETIM-SIGN = C_I.&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt; R_CRETIM-OPTION = C_EQ.&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt; R_CRETIM-LOW = SY-UZEIT.&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt; APPEND R_CRETIM.&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; R_MESTYP-SIGN = C_I.&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt; R_MESTYP-OPTION = C_EQ.&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt; R_MESTYP-LOW = C_VTMMAS.&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt; APPEND R_MESTYP.&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 itab_zedidc40 into wa_itab_zedidc40.&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;   R_SNDPRT-SIGN = C_I.&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;   R_SNDPRT-OPTION = C_EQ.&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;   R_SNDPRT-LOW = wa_itab_zedidc40-sndprt.&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;   APPEND R_SNDPRT.&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;   R_SNDPRN-SIGN = C_I.&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;   R_SNDPRN-OPTION = C_EQ.&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;   R_SNDPRN-LOW = wa_itab_zedidc40-sndprn.&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;   APPEND R_SNDPRN.&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;LI level="1" type="ul"&gt;&lt;P&gt; SUBMIT RBDAPP01                                        "#EC CI_SUBMIT&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;         WITH CREDAT IN R_CREDAT&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;         WITH CRETIM IN R_CRETIM&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;         WITH MESTYP IN R_MESTYP&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;         WITH SNDPRN IN R_SNDPRN&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;         WITH SNDPRT IN R_SNDPRT&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;         VIA SELECTION-SCREEN&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;         AND RETURN.&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;Rufe RBDINPUT&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt; R_MESTYP-SIGN = C_I.&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt; R_MESTYP-OPTION = C_EQ.&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt; R_MESTYP-LOW = L_MESSTYPE.&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt; APPEND R_MESTYP.&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; SUBMIT RBDINPUT                                        "#EC CI_SUBMIT&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;    VIA SELECTION-SCREEN&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;    AND RETURN.&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;*&lt;/P&gt;&lt;P&gt;*&lt;/P&gt;&lt;P&gt;***CALL TRANSACTION 'WE02'&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt; SUBMIT RSEIDOC2                                        "#EC CI_SUBMIT&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt; WITH CREDAT EQ R_CREDAT-LOW SIGN C_I&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt; WITH MESTYP EQ C_VTMMAS SIGN 'I'&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt; AND RETURN.&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: R_CREDAT,&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;          R_CRETIM,&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;          R_MESTYP.&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_START_IDOC_PROCESS&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  SUB_UPLOAD_FROM_APPSERVER&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 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;&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  SUB_UPLOAD_FROM_PRESERVER&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 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;&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  SUB_FINAL_MESSAGE_IDOC&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 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; DATA:&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;     l_tabix type sy-tabix,                                "#EC *&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;     l_filename_read TYPE tumls_filename,                  "#EC *&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;     l_filename_conv TYPE tumls_filename.                  "#EC *&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:&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;   l_cnt_records_read(10) type c,                          "#EC *&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;   l_cnt_transactions_read(10) type c,                     "#EC *&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;   l_cnt_records_transferred(10) type c,                   "#EC *&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;   l_cnt_transactions_transferred(10) type c.              "#EC *&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:&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;   l_messagetext(130),                                     "#EC *&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;   wa_errortab TYPE type_errorline.                        "#EC *&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_cnt_records_read = g_cnt_records_read.&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt; l_cnt_transactions_read = g_cnt_transactions_read.&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt; l_cnt_records_transferred = g_cnt_records_transferred.&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt; l_cnt_transactions_transferred = g_cnt_transactions_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; WRITE: / 'DATE:', sy-datum DD/MM/YYYY,&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;           'TIME:', sy-uzeit USING EDIT MASK '__:__:__ h'.&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; ULINE.&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; ULINE.&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; WRITE: / 'Transactions Read.'(024),                       "#EC *&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;        30 g_cnt_transactions_read.&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt; WRITE: / 'Transactions Transferred:'(026),                "#EC *&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;        30 g_cnt_transactions_transferred.&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt; WRITE: / 'Records Transferred:'(027),                     "#EC *&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;        30 g_cnt_records_transferred.&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; ULINE.&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;*ENDFORM.                    " SUB_FINAL_MESSAGE_IDOC&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  SUB_DISPLAY_VARIANT&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 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;&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  SUB_DISPLAY_ERRORLINES&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 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;*&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  SUB_CLEAR_SOURCE_TABLES&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 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;&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  SUB_CLEAR_TABLES&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 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;&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  SUB_CONVERT_0001&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 SUB_CONVERT_0001 .&lt;/P&gt;&lt;P&gt;*&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt; constants: c_01(2) type c value '01'.&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 itab_ze1cuvtm.&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt; clear itab_zedidd40.&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt; wdocnum = wdocnum + 1.&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt; itab_ze1cuvtm-msgfn           = c_009.&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt; if not wa_contentheader1-vtnam is initial.&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;   itab_ze1cuvtm-VAR_TAB       = wa_contentheader1-vtnam.&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; wa_itab_zedidd40-docnum   = wdocnum.                      "#EC NEEDED&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt; wa_itab_zedidd40-segnum   = c_000001.&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt; wa_itab_zedidd40-segnam   = 'E2CUVTM001'.&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt; wa_itab_zedidd40-psgnum    = '000000'.&lt;/P&gt;&lt;/LI&gt;&lt;UL&gt;&lt;LI level="2" type="ul"&gt;&lt;P&gt;itab_zedidd40-segnam          = c_E1CUVTM.&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt; wa_itab_zedidd40-hlevel          = c_01.&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt; wa_itab_zedidd40-sdata           = itab_ze1cuvtm.&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt; append wa_itab_zedidd40 to itab_zedidd40.&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 transfer_record_idoc.&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;*&lt;/P&gt;&lt;P&gt;*ENDFORM.                    " SUB_CONVERT_0001&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  SUB_CONVERT_0002&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 SUB_CONVERT_0002 .&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;ze1datem&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt; witemno = witemno + 1.                                    "#EC NEEDED&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt; wsegnum = wsegnum + 1.                                    "#EC NEEDED&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt; clear itab_ze1datem.&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt; itab_ze1datem-msgfn           = c_009.&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt; itab_ze1datem-key_date        = sy-datum.&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_itab_zedidd40-segnam = 'E2DATEM001'.&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt; wa_itab_zedidd40-segnum = '0002'.&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt; wa_itab_zedidd40-psgnum = '000001'.&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;UL&gt;&lt;UL&gt;&lt;LI level="2" type="ul"&gt;&lt;P&gt; itab_zedidd40-hlevel = '02'.&lt;/P&gt;&lt;/LI&gt;&lt;LI level="2" type="ul"&gt;&lt;P&gt;itab_zedidd40-docnum          = wdocnum.                       "#EC NEEDED&lt;/P&gt;&lt;/LI&gt;&lt;LI level="2" type="ul"&gt;&lt;P&gt; itab_zedidd40-segnum          = wsegnum.&lt;/P&gt;&lt;/LI&gt;&lt;LI level="2" type="ul"&gt;&lt;P&gt; itab_zedidd40-segnam          = c_E1DATEM.&lt;/P&gt;&lt;/LI&gt;&lt;/UL&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;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt; wa_itab_zedidd40-hlevel          = c_02.&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt; wa_itab_zedidd40-sdata           = itab_ze1datem.&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt; append wa_itab_zedidd40 to itab_zedidd40.                 " E1DATEM&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt; witemno = 0.                                              "#EC NEEDED&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt; witemno_gst = 0.                                          "#EC NEEDED&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt; witemno_qst = 0.                                          "#EC NEEDED&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt; witemno_new = 0.                                          "#EC NEEDED&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt; wsegnum = 1.                                              "#EC NEEDED&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 transfer_record_idoc.&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;*&lt;/P&gt;&lt;P&gt;*ENDFORM.                    " SUB_CONVERT_0002&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  SUB_CONVERT_0003&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 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;&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  SUB_GET_CUVTAB&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 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;&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  SUB_GET_VNT_MA&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 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;  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;ENDFORM.                    " SUB_GET_VNT_MA&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  SUB_GET_CUVTAB_VALN&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 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;&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  SUB_GET_CUVTAB_FLD&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 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 DBFLD&lt;/P&gt;&lt;P&gt;      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;&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  SUB_CHECK_CABN&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 SUB_CHECK_CABN .&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  LOOP AT i_cabn ASSIGNING &amp;lt;fs_cabn&amp;gt;.&lt;/P&gt;&lt;P&gt;    READ TABLE i_cawn_i INTO wa_cawn WITH KEY atinn = &amp;lt;fs_cabn&amp;gt;-atinn.&lt;/P&gt;&lt;P&gt;    IF sy-subrc &amp;lt;&amp;gt; 0.&lt;/P&gt;&lt;P&gt;      &amp;lt;fs_cabn&amp;gt;-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;&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  SUB_GET_CUVTAB_VALC&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 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;&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  SUB_VALIDATE_TABLE_FIELDS&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 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 &amp;lt;fs_vtnam&amp;gt;.&lt;/P&gt;&lt;P&gt;    READ TABLE i_file_tmp INTO wa_file WITH KEY flag  = 'X'.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;    IF sy-subrc &amp;lt;&amp;gt; 0.&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;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 &amp;lt;&amp;gt; 0.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;        &amp;lt;fs_vtnam&amp;gt;-error = C_X.&lt;/P&gt;&lt;P&gt;        &amp;lt;fs_vtnam&amp;gt;-reas  = text-011.                        "#EC NOTEXT&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 = &amp;lt;fs_vtnam&amp;gt;.&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;                                        &amp;lt;fs_vtnam&amp;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;                                      &amp;lt;fs_vtnam&amp;gt;&lt;/P&gt;&lt;P&gt;                                      wa_cabn.&lt;/P&gt;&lt;P&gt;      ENDIF.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;      CHECK &amp;lt;fs_vtnam&amp;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;                                        &amp;lt;fs_vtnam&amp;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;                                      &amp;lt;fs_vtnam&amp;gt;&lt;/P&gt;&lt;P&gt;                                      wa_cabn.&lt;/P&gt;&lt;P&gt;      ENDIF.&lt;/P&gt;&lt;P&gt;      CHECK &amp;lt;fs_vtnam&amp;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;                                        &amp;lt;fs_vtnam&amp;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;                                      &amp;lt;fs_vtnam&amp;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;                                        &amp;lt;fs_vtnam&amp;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;                                      &amp;lt;fs_vtnam&amp;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;      CHECK &amp;lt;fs_vtnam&amp;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;                                        &amp;lt;fs_vtnam&amp;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;                                      &amp;lt;fs_vtnam&amp;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;      CHECK &amp;lt;fs_vtnam&amp;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;                                        &amp;lt;fs_vtnam&amp;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;                                      &amp;lt;fs_vtnam&amp;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;      CHECK &amp;lt;fs_vtnam&amp;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;                                        &amp;lt;fs_vtnam&amp;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;                                      &amp;lt;fs_vtnam&amp;gt;&lt;/P&gt;&lt;P&gt;                                      wa_cabn.&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;      CHECK &amp;lt;fs_vtnam&amp;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;                                        &amp;lt;fs_vtnam&amp;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;                                      &amp;lt;fs_vtnam&amp;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;      CHECK &amp;lt;fs_vtnam&amp;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;                                        &amp;lt;fs_vtnam&amp;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;                                      &amp;lt;fs_vtnam&amp;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;      CHECK &amp;lt;fs_vtnam&amp;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;                                        &amp;lt;fs_vtnam&amp;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;                                      &amp;lt;fs_vtnam&amp;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;      CHECK &amp;lt;fs_vtnam&amp;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;                                        &amp;lt;fs_vtnam&amp;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;                                      &amp;lt;fs_vtnam&amp;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;      CHECK &amp;lt;fs_vtnam&amp;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;                                        &amp;lt;fs_vtnam&amp;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;                                      &amp;lt;fs_vtnam&amp;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;      CHECK &amp;lt;fs_vtnam&amp;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;                                        &amp;lt;fs_vtnam&amp;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;                                      &amp;lt;fs_vtnam&amp;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;      CHECK &amp;lt;fs_vtnam&amp;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;                                        &amp;lt;fs_vtnam&amp;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;                                      &amp;lt;fs_vtnam&amp;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;      CHECK &amp;lt;fs_vtnam&amp;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;                                        &amp;lt;fs_vtnam&amp;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;                                      &amp;lt;fs_vtnam&amp;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;&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  SUB_CHARAC_EXIST&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 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;&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  SUB_VALIDATE_CHARAC_VALUES&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 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;    g_split_var = 0.&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;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;     IF g_invalid IS INITIAL.&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;       LOOP AT i_e1cuv1m INTO wa_e1cuv1m.&lt;/P&gt;&lt;/LI&gt;&lt;UL&gt;&lt;LI level="2" type="ul"&gt;&lt;P&gt;        perform fill_edidd_segments USING wa_e1cuv1m.&lt;/P&gt;&lt;/LI&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;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;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;&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  SUB_TRANSFER_ST_CHAR&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 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;&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  SUB_TRANSFER_ST_NUM&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 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;&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  SUB_CHECK_CHAR_VALUES&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 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: &amp;lt;fs_val&amp;gt; TYPE ANY,&lt;/P&gt;&lt;P&gt;                 &amp;lt;fs_val1&amp;gt; TYPE ANY.&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; DATA: l_len_slnid TYPE i,                                 "#EC NEEDED&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;       l_len_varcond TYPE i,                               "#EC NEEDED&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;       l_temp_slnid TYPE i,                                "#EC NEEDED&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;       l_temp_slnc TYPE char5,                             "#EC NEEDED&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;       l_temp_varcond TYPE varcond,                        "#EC NEEDED&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;       l_sub_var      TYPE i,                              "#EC NEEDED&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;       l_val_split TYPE char10.                            "#EC NEEDED&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_invalid.                                          "#EC NEEDED&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;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 &amp;lt;fs_val&amp;gt;.&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 &amp;lt;&amp;gt; c_varcond.   " Variant condition&lt;/P&gt;&lt;P&gt;      CLEAR l_field_dup.&lt;/P&gt;&lt;P&gt;      wa_dupl_file-vtnam = wa_file-vtnam.&lt;/P&gt;&lt;P&gt;      CONCATENATE 'WA_DUPL_FILE-CHAR' wa_col_pos-field INTO l_field_dup.&lt;/P&gt;&lt;P&gt;      ASSIGN (l_field_dup) TO &amp;lt;fs_val1&amp;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;  &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 &amp;lt;fs_val&amp;gt; is initial.&lt;/P&gt;&lt;P&gt;        &amp;lt;fs_val1&amp;gt; = &amp;lt;fs_val&amp;gt;.&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 &amp;lt;fs_val&amp;gt; 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 &amp;lt;fs_val&amp;gt; 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      = &amp;lt;fs_val&amp;gt;&lt;/P&gt;&lt;P&gt;              EXCEPTIONS&lt;/P&gt;&lt;P&gt;                not_found  = 1.&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;              l_invalid = c_x.&lt;/P&gt;&lt;P&gt;              g_invalid = c_x.&lt;/P&gt;&lt;P&gt;            ENDIF.&lt;/P&gt;&lt;P&gt;          ENDCATCH.&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;        IF l_invalid &amp;lt;&amp;gt; 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 = &amp;lt;fs_val&amp;gt;.&lt;/P&gt;&lt;P&gt;                IF sy-subrc = 0.&lt;/P&gt;&lt;P&gt;                  IF wa_cawn-lkenz = c_x.&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;                                              &amp;lt;fs_val&amp;gt;&lt;/P&gt;&lt;P&gt;                                              g_row.&lt;/P&gt;&lt;P&gt;                    g_invalid = c_x.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;                    wa_file-error = C_X.&lt;/P&gt;&lt;P&gt;                    modify i_file from wa_file transporting error.&lt;/P&gt;&lt;P&gt;                  ELSE.&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-atwrt  = &amp;lt;fs_val&amp;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;*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;                                            &amp;lt;fs_val&amp;gt;&lt;/P&gt;&lt;P&gt;                                            g_row.&lt;/P&gt;&lt;P&gt;                  g_invalid = C_X.&lt;/P&gt;&lt;P&gt;                  wa_file-error = C_X.&lt;/P&gt;&lt;P&gt;                  modify i_file from wa_file transporting error.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;                ENDIF.&lt;/P&gt;&lt;P&gt;              WHEN OTHERS.&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_cawn_n INTO wa_cawn WITH KEY atinn = wa_cabn-atinn&lt;/P&gt;&lt;P&gt;                                                          atflv = &amp;lt;fs_val&amp;gt;.&lt;/P&gt;&lt;P&gt;                IF sy-subrc = 0.&lt;/P&gt;&lt;P&gt;                  IF wa_cawn-lkenz = C_X.&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;                                              &amp;lt;fs_val&amp;gt;&lt;/P&gt;&lt;P&gt;                                              g_row.&lt;/P&gt;&lt;P&gt;                    g_invalid = C_X.&lt;/P&gt;&lt;P&gt;                    wa_file-error = C_X.&lt;/P&gt;&lt;P&gt;                    modify i_file from wa_file transporting error.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;                  ELSE.&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  = &amp;lt;fs_val&amp;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;                                            &amp;lt;fs_val&amp;gt;&lt;/P&gt;&lt;P&gt;                                            g_row.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;                  g_invalid = C_X.&lt;/P&gt;&lt;P&gt;                  wa_file-error = C_X.&lt;/P&gt;&lt;P&gt;                  modify i_file from wa_file transporting error.&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;*MOD-008&lt;/P&gt;&lt;P&gt;************************************************************&lt;/P&gt;&lt;P&gt;            ENDCASE.&lt;/P&gt;&lt;P&gt;          ELSE.&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;                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-atwrt  = &amp;lt;fs_val&amp;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  = &amp;lt;fs_val&amp;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;*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;                                    &amp;lt;fs_val&amp;gt;&lt;/P&gt;&lt;P&gt;                                    g_row.&lt;/P&gt;&lt;P&gt;          g_invalid = 'X'.&lt;/P&gt;&lt;P&gt;          wa_file-error = C_X.&lt;/P&gt;&lt;P&gt;          modify i_file from wa_file transporting error.&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;      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_col_pos-atnam&lt;/P&gt;&lt;P&gt;                                  &amp;lt;fs_val&amp;gt;&lt;/P&gt;&lt;P&gt;                                  g_row.&lt;/P&gt;&lt;P&gt;        g_invalid = 'X'.&lt;/P&gt;&lt;P&gt;        wa_file-error = C_X.&lt;/P&gt;&lt;P&gt;        modify i_file from wa_file transporting error.&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;&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-015&lt;/P&gt;&lt;P&gt;*************************************************************************&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  if g_split_var = 1.&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;  I_CONTENTTAB3[] = I_CONTENTTAB1[].&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;    DELETE I_CONTENTTAB1 INDEX 1.&lt;/P&gt;&lt;P&gt;  endif.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;READ TABLE I_CONTENTTAB1 INTO WA_CONTENTTAB1 INDEX g_split_var.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  READ TABLE I_CONTENTTAB1 INTO WA_CONTENTTAB1&lt;/P&gt;&lt;P&gt;    WITH KEY vtnam = wa_file-vtnam&lt;/P&gt;&lt;P&gt;           char1 = wa_file-char1&lt;/P&gt;&lt;P&gt;           char2 = wa_file-char2&lt;/P&gt;&lt;P&gt;           char3 = wa_file-char3&lt;/P&gt;&lt;P&gt;           char4 = wa_file-char4&lt;/P&gt;&lt;P&gt;           char5 = wa_file-char5&lt;/P&gt;&lt;P&gt;           char6 = wa_file-char6&lt;/P&gt;&lt;P&gt;           char7 = wa_file-char7&lt;/P&gt;&lt;P&gt;           char8 = wa_file-char8&lt;/P&gt;&lt;P&gt;           char9 = wa_file-char9&lt;/P&gt;&lt;P&gt;           char10 = wa_file-char10&lt;/P&gt;&lt;P&gt;           char11 = wa_file-char11&lt;/P&gt;&lt;P&gt;           char12 = wa_file-char12&lt;/P&gt;&lt;P&gt;           char13 = wa_file-char13&lt;/P&gt;&lt;P&gt;           char14 = wa_file-char14&lt;/P&gt;&lt;P&gt;           char15 = wa_file-char15.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  IF sy-subrc = 0.&lt;/P&gt;&lt;P&gt;    G_SPLIT_VAR = SY-TABIX.&lt;/P&gt;&lt;P&gt;    WA_CONTENTTAB1-Z_VARCOND = G_VARCOND.&lt;/P&gt;&lt;P&gt;    MODIFY I_CONTENTTAB1 INDEX g_split_var FROM WA_CONTENTTAB1 TRANSPORTING Z_VARCOND.&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;*MODIFY I_CONTENTTAB1 FROM WA_CONTENTTAB1 TRANSPORTING Z_VARCOND&lt;/P&gt;&lt;P&gt;*where      vtnam = wa_file-vtnam and&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;          char1 = wa_file-char1 and&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;          char2 = wa_file-char2 and&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;          char3 = wa_file-char3 and&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;          char4 = wa_file-char4 and&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;          char5 = wa_file-char5 and&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;          char6 = wa_file-char6 and&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;          char7 = wa_file-char7 and&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;          char8 = wa_file-char8 and&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;          char9 = wa_file-char9 and&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;          char10 = wa_file-char10 and&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;          char11 = wa_file-char11 and&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;          char12 = wa_file-char12 and&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;          char13 = wa_file-char13 and&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;          char14 = wa_file-char14 and&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;          char15 = wa_file-char15.&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;g_split_var = g_split_var + 1.&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;*MOD-015&lt;/P&gt;&lt;P&gt;*************************************************************************&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;*************************************************************************&lt;/P&gt;&lt;P&gt;*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;&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  SUB_DUPL_COLUMNS&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 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: &amp;lt;fs_char_val&amp;gt; TYPE ANY.                    "#EC *&lt;/P&gt;&lt;P&gt;  CONSTANTS: c_field TYPE char12 VALUE 'WA_FILE-CHAR'.      "#EC NEEDED&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  DO 15 TIMES.&lt;/P&gt;&lt;P&gt;    l_counter = l_counter + 1.&lt;/P&gt;&lt;P&gt;    CONCATENATE c_field l_counter INTO l_fieldname.&lt;/P&gt;&lt;P&gt;    IF l_fieldname IS NOT INITIAL.&lt;/P&gt;&lt;P&gt;      ASSIGN (l_fieldname) TO &amp;lt;fs_char_val&amp;gt;.&lt;/P&gt;&lt;P&gt;      IF &amp;lt;fs_char_val&amp;gt; IS ASSIGNED.&lt;/P&gt;&lt;P&gt;        wa_charval-char = &amp;lt;fs_char_val&amp;gt;.&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;&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  SUB_STORE_FILE&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 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;&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  SUB_CLEAR_VARIABLES&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 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;&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  sub_upload_data_app&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 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;&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  sub_upload_from_appserver1&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 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                                  "#EC *&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                                  "#EC *&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;  I_CONTENTTAB3[] = I_CONTENTTAB1[].&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;ENDFORM.                    " sub_upload_from_appserver1&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;&amp;amp;----&lt;/STRONG&gt;&lt;/P&gt;&lt;HR originaltext="----------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;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;  refresh: ifc.&lt;/P&gt;&lt;P&gt;&lt;/P&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 = l_tabname.&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;P&gt;  clear: dy_table.&lt;/P&gt;&lt;P&gt;  unassign &amp;lt;dyn_table&amp;gt;.&lt;/P&gt;&lt;P&gt;  unassign &amp;lt;dyn_table1&amp;gt;.&lt;/P&gt;&lt;P&gt;  unassign &amp;lt;dyn_wa&amp;gt;.&lt;/P&gt;&lt;P&gt;  unassign &amp;lt;FS_DYN_WA&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 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;  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;&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;P&gt;&lt;/P&gt;&lt;P&gt;&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_lines_varcond type i,&lt;/P&gt;&lt;P&gt;        l_index1 type sy-index.&lt;/P&gt;&lt;P&gt;&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;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  FIELD-SYMBOLS:   &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;&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;LI level="1" type="ul"&gt;&lt;P&gt;DATA:  l_tabname TYPE tabname.    "Table name&lt;/P&gt;&lt;/LI&gt;&lt;/UL&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;&lt;/P&gt;&lt;P&gt;  DATA: L_WA_CONTENT1(30) TYPE C.                           "#EC NEEDED&lt;/P&gt;&lt;P&gt;  DATA: L_TABIX(2) TYPE C.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  DATA : 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;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;&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;  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;*MOD-015&lt;/P&gt;&lt;P&gt;***************************************************************&lt;/P&gt;&lt;P&gt;  SELECT SINGLE DBTAB_NAME                                  "#EC *&lt;/P&gt;&lt;P&gt;  INTO L_TABNAME&lt;/P&gt;&lt;P&gt;  FROM CUVTAB&lt;/P&gt;&lt;P&gt;  WHERE VTNAM = wa_contentheader1-vtnam.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  CHECK SY-SUBRC = 0.&lt;/P&gt;&lt;P&gt;  clear: xfc1.&lt;/P&gt;&lt;P&gt;  refresh: ifc1.&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;    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;    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-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;    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;    ENDIF.&lt;/P&gt;&lt;P&gt;&lt;/P&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;    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;    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;    ENDIF.&lt;/P&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;    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;    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;    ENDIF.&lt;/P&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;    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;    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;&lt;/P&gt;&lt;P&gt;    ENDIF.&lt;/P&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;    IF not wa_contenttab1-char9 IS INITIAL.&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;     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;    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;    ENDIF.&lt;/P&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;    IF not wa_contenttab1-char10 IS INITIAL.&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;     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;&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;    ENDIF.&lt;/P&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;    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;    ELSE.&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;     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;&lt;/P&gt;&lt;P&gt;    ENDIF.&lt;/P&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;    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;    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;    ENDIF.&lt;/P&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;    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;&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;    ENDIF.&lt;/P&gt;&lt;P&gt;&lt;/P&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;    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;&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;    ENDIF.&lt;/P&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;    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;&lt;/P&gt;&lt;P&gt;    ELSE.&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;     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;&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;  ENDIF.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  clear: dy_table5.&lt;/P&gt;&lt;P&gt;  UNASSIGN &amp;lt;dyn_table2&amp;gt;.&lt;/P&gt;&lt;P&gt;  UNASSIGN &amp;lt;dyn_table3&amp;gt;.&lt;/P&gt;&lt;P&gt;  UNASSIGN &amp;lt;dyn_wa5&amp;gt;.&lt;/P&gt;&lt;P&gt;  UNASSIGN &amp;lt;dyn_wa6&amp;gt;.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  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;UL&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;*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;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; 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;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;DELETE GT_COMPONENTS INDEX 1.&lt;/P&gt;&lt;/LI&gt;&lt;/UL&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;  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;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;DELETE I_CONTENTTAB1 WHERE CHAR1 IS INITIAL.&lt;/P&gt;&lt;/LI&gt;&lt;/UL&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;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt; if l_lines1 &amp;gt; 0.&lt;/P&gt;&lt;/LI&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;     LOOP AT &amp;lt;dyn_table1&amp;gt; ASSIGNING &amp;lt;dyn_wa1&amp;gt;.&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;       l_index1 = 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;       assign component l_index1 of structure wa_contenttab1 to &amp;lt;fs_field2&amp;gt;.&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&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;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;       if  &amp;lt;fs_field3&amp;gt; = &amp;lt;fs_field2&amp;gt;.&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;         clear: &amp;lt;dyn_wa1&amp;gt;.&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;         wa_contenttab1-flag = c_x.&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;         MODIFY i_contenttab1 FROM wa_contenttab1 TRANSPORTING flag.&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;       UNASSIGN &amp;lt;fs_field2&amp;gt;.&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;       UNASSIGN &amp;lt;fs_field3&amp;gt;.&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;       l_index1 = l_index1 + 1.&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;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; clear:  l_index1.&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-015&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 l_lines1 &amp;gt; 0.&lt;/P&gt;&lt;/LI&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;     LOOP AT &amp;lt;dyn_table1&amp;gt; ASSIGNING &amp;lt;dyn_wa1&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;       read table i_contenttab3 into wa_contenttab3 with key vtnam = wa_contenttab1-vtnam binary search.&lt;/P&gt;&lt;/LI&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;         READ TABLE i_col_pos INTO wa_col_pos with key vtnam = wa_contenttab1-vtnam&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;                                                       atnam = wa_contenttab3-char1 binary search.&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;           READ TABLE I_CUVTAB_FLD INTO WA_CUVTAB_FLD WITH KEY VTINT = WA_COL_POS-VTINT&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;                                                               ATINN = WA_COL_POS-ATINN&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;                                                               VTPOS = WA_COL_POS-VTPOS BINARY SEARCH.&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_index1 = wa_col_pos-field + 1.&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;             l_dbfld  = wa_cuvtab_fld-dbfld.&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;             assign component l_index1 of structure wa_contenttab1 to &amp;lt;fs_field2&amp;gt;.&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;             assign component l_dbfld of structure &amp;lt;dyn_wa&amp;gt; to &amp;lt;fs_field3&amp;gt;.&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;             &amp;lt;fs_field3&amp;gt; = &amp;lt;fs_field2&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;       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;   endif.&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;*******************************************************************************************************&lt;/P&gt;&lt;P&gt;*MOD-015&lt;/P&gt;&lt;P&gt;*******************************************************************************************************&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;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;DELETE I_CONTENTTAB1 WHERE CHAR1 IS INITIAL.&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;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;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt; describe table itab_dd03l lines l_lines.&lt;/P&gt;&lt;/LI&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_index1 = 2.&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;   do l_lines times.&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;     assign component l_index1 of structure wa_contenttab1 to &amp;lt;fs_field2&amp;gt;.&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&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;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;     &amp;lt;fs_field3&amp;gt; = &amp;lt;fs_field2&amp;gt;.&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;     l_index1 = l_index1 + 1.&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;   enddo.&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;   append &amp;lt;dyn_wa&amp;gt; to &amp;lt;dyn_table&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;/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; describe table itab_dd03l lines l_lines.&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt; l_lines_varcond = l_lines + 1.&lt;/P&gt;&lt;/LI&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_index1 = 2.&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;   do l_lines times.&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;     assign component l_index1 of structure wa_contenttab1 to &amp;lt;fs_field2&amp;gt;.&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&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;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;     &amp;lt;fs_field3&amp;gt; = &amp;lt;fs_field2&amp;gt;.&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;     l_index1 = l_index1 + 1.&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;   enddo.&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;   UNASSIGN &amp;lt;fs_field2&amp;gt;.&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;   UNASSIGN &amp;lt;fs_field3&amp;gt;.&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;   assign component 'Z_VARCOND' of structure wa_contenttab1 to &amp;lt;fs_field2&amp;gt;.&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;   assign component l_lines_varcond of structure &amp;lt;dyn_wa&amp;gt; to &amp;lt;fs_field3&amp;gt;.&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;   &amp;lt;fs_field3&amp;gt; = &amp;lt;fs_field2&amp;gt;.&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;   append &amp;lt;dyn_wa&amp;gt; to &amp;lt;dyn_table&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;/UL&gt;&lt;P&gt;*************************************************************************&lt;/P&gt;&lt;P&gt;***MOD-016&lt;/P&gt;&lt;P&gt;***************************************************************************&lt;/P&gt;&lt;P&gt;loop at i_contenttab1 into wa_contenttab1 where vtnam = wa_contentheader1-vtnam.&lt;/P&gt;&lt;P&gt;  read table i_file into wa_file with key vtnam = wa_contentheader1-vtnam&lt;/P&gt;&lt;P&gt;                                          char1 = wa_contenttab1-char1&lt;/P&gt;&lt;P&gt;                                          char2 = wa_contenttab1-char2&lt;/P&gt;&lt;P&gt;                                          char3 = wa_contenttab1-char3&lt;/P&gt;&lt;P&gt;                                          char4 = wa_contenttab1-char4&lt;/P&gt;&lt;P&gt;                                          char5 = wa_contenttab1-char5&lt;/P&gt;&lt;P&gt;                                          char6 = wa_contenttab1-char6&lt;/P&gt;&lt;P&gt;                                          char7 = wa_contenttab1-char7&lt;/P&gt;&lt;P&gt;                                          char8 = wa_contenttab1-char8&lt;/P&gt;&lt;P&gt;                                          char9 = wa_contenttab1-char9&lt;/P&gt;&lt;P&gt;                                          char10 = wa_contenttab1-char10&lt;/P&gt;&lt;P&gt;                                          char11 = wa_contenttab1-char11&lt;/P&gt;&lt;P&gt;                                          char12 = wa_contenttab1-char12&lt;/P&gt;&lt;P&gt;                                          char13 = wa_contenttab1-char13&lt;/P&gt;&lt;P&gt;                                          char14 = wa_contenttab1-char14&lt;/P&gt;&lt;P&gt;                                          char15 = wa_contenttab1-char15.&lt;/P&gt;&lt;P&gt;  if sy-subrc = 0.&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;endloop.&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;***MOD-016&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: l_dbfld type NAME_FELD.&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 where vtnam = wa_contentheader1-vtnam.&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;  read table i_contenttab3 into wa_contenttab3 with key vtnam = wa_contenttab1-vtnam binary search.&lt;/P&gt;&lt;/LI&gt;&lt;/UL&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;      READ TABLE i_col_pos INTO wa_col_pos with key vtnam = wa_contenttab1-vtnam&lt;/P&gt;&lt;P&gt;                                                    atnam = wa_contenttab3-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;        READ TABLE I_CUVTAB_FLD INTO WA_CUVTAB_FLD WITH KEY VTINT = WA_COL_POS-VTINT&lt;/P&gt;&lt;P&gt;                                                            ATINN = WA_COL_POS-ATINN&lt;/P&gt;&lt;P&gt;                                                            VTPOS = WA_COL_POS-VTPOS BINARY SEARCH.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;        if sy-subrc = 0.&lt;/P&gt;&lt;P&gt;          l_index1 = wa_col_pos-field + 1.&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;        l_index1 = wa_col_pos-field.&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;          l_dbfld  = wa_cuvtab_fld-dbfld.&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_dbfld 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;        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;***MOD-015&lt;/P&gt;&lt;P&gt;***************************************************************************&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;      READ TABLE i_col_pos INTO wa_col_pos with key vtnam = wa_contenttab1-vtnam&lt;/P&gt;&lt;P&gt;                                                    atnam = wa_contenttab3-char2. " binary search.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;      if sy-subrc = 0.&lt;/P&gt;&lt;P&gt;        READ TABLE I_CUVTAB_FLD INTO WA_CUVTAB_FLD WITH KEY VTINT = WA_COL_POS-VTINT&lt;/P&gt;&lt;P&gt;                                                            ATINN = WA_COL_POS-ATINN&lt;/P&gt;&lt;P&gt;                                                            VTPOS = WA_COL_POS-VTPOS BINARY SEARCH.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;        if sy-subrc = 0.&lt;/P&gt;&lt;P&gt;          l_index1 = wa_col_pos-field + 1.&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;        l_index1 = wa_col_pos-field.&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;          l_dbfld  = wa_cuvtab_fld-dbfld.&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_dbfld 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;        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;      READ TABLE i_col_pos INTO wa_col_pos with key vtnam = wa_contenttab1-vtnam&lt;/P&gt;&lt;P&gt;                                                    atnam = wa_contenttab3-char3. " binary search.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;      if sy-subrc = 0.&lt;/P&gt;&lt;P&gt;        READ TABLE I_CUVTAB_FLD INTO WA_CUVTAB_FLD WITH KEY VTINT = WA_COL_POS-VTINT&lt;/P&gt;&lt;P&gt;                                                            ATINN = WA_COL_POS-ATINN&lt;/P&gt;&lt;P&gt;                                                            VTPOS = WA_COL_POS-VTPOS BINARY SEARCH.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;        if sy-subrc = 0.&lt;/P&gt;&lt;P&gt;         l_index1 = wa_col_pos-field + 1.&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;       l_index1 = wa_col_pos-field.&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;          l_dbfld  = wa_cuvtab_fld-dbfld.&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_dbfld 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;        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;&lt;/P&gt;&lt;P&gt;      READ TABLE i_col_pos INTO wa_col_pos with key vtnam = wa_contenttab1-vtnam&lt;/P&gt;&lt;P&gt;                                                     atnam = wa_contenttab3-char4. " binary search.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;      if sy-subrc = 0.&lt;/P&gt;&lt;P&gt;        READ TABLE I_CUVTAB_FLD INTO WA_CUVTAB_FLD WITH KEY VTINT = WA_COL_POS-VTINT&lt;/P&gt;&lt;P&gt;                                                            ATINN = WA_COL_POS-ATINN&lt;/P&gt;&lt;P&gt;                                                            VTPOS = WA_COL_POS-VTPOS BINARY SEARCH.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;        if sy-subrc = 0.&lt;/P&gt;&lt;P&gt;          l_index1 = wa_col_pos-field + 1.&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;        l_index1 = wa_col_pos-field.&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;          l_dbfld  = wa_cuvtab_fld-dbfld.&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_dbfld 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;        endif.&lt;/P&gt;&lt;P&gt;      endif.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;      READ TABLE i_col_pos INTO wa_col_pos with key vtnam = wa_contenttab1-vtnam&lt;/P&gt;&lt;P&gt;                                                     atnam = wa_contenttab3-char5. " binary search.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;      if sy-subrc = 0.&lt;/P&gt;&lt;P&gt;        READ TABLE I_CUVTAB_FLD INTO WA_CUVTAB_FLD WITH KEY VTINT = WA_COL_POS-VTINT&lt;/P&gt;&lt;P&gt;                                                            ATINN = WA_COL_POS-ATINN&lt;/P&gt;&lt;P&gt;                                                            VTPOS = WA_COL_POS-VTPOS BINARY SEARCH.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;        if sy-subrc = 0.&lt;/P&gt;&lt;P&gt;          l_index1 = wa_col_pos-field + 1.&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;        l_index1 = wa_col_pos-field.&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;          l_dbfld  = wa_cuvtab_fld-dbfld.&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_dbfld 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;        endif.&lt;/P&gt;&lt;P&gt;      endif.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;      READ TABLE i_col_pos INTO wa_col_pos with key vtnam = wa_contenttab1-vtnam&lt;/P&gt;&lt;P&gt;                                                    atnam = wa_contenttab3-char6. " binary search.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;      if sy-subrc = 0.&lt;/P&gt;&lt;P&gt;        READ TABLE I_CUVTAB_FLD INTO WA_CUVTAB_FLD WITH KEY VTINT = WA_COL_POS-VTINT&lt;/P&gt;&lt;P&gt;                                                            ATINN = WA_COL_POS-ATINN&lt;/P&gt;&lt;P&gt;                                                            VTPOS = WA_COL_POS-VTPOS BINARY SEARCH.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;        if sy-subrc = 0.&lt;/P&gt;&lt;P&gt;          l_index1 = wa_col_pos-field + 1.&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;        l_index1 = wa_col_pos-field.&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;          l_dbfld  = wa_cuvtab_fld-dbfld.&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_dbfld 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;        endif.&lt;/P&gt;&lt;P&gt;      endif.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;      READ TABLE i_col_pos INTO wa_col_pos with key vtnam = wa_contenttab1-vtnam&lt;/P&gt;&lt;P&gt;                                                    atnam = wa_contenttab3-char7. " binary search.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;      if sy-subrc = 0.&lt;/P&gt;&lt;P&gt;        READ TABLE I_CUVTAB_FLD INTO WA_CUVTAB_FLD WITH KEY VTINT = WA_COL_POS-VTINT&lt;/P&gt;&lt;P&gt;                                                            ATINN = WA_COL_POS-ATINN&lt;/P&gt;&lt;P&gt;                                                            VTPOS = WA_COL_POS-VTPOS BINARY SEARCH.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;        if sy-subrc = 0.&lt;/P&gt;&lt;P&gt;          l_index1 = wa_col_pos-field + 1.&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;        l_index1 = wa_col_pos-field.&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;          l_dbfld  = wa_cuvtab_fld-dbfld.&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_dbfld 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;        endif.&lt;/P&gt;&lt;P&gt;      endif.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;      READ TABLE i_col_pos INTO wa_col_pos with key vtnam = wa_contenttab1-vtnam&lt;/P&gt;&lt;P&gt;                                                    atnam = wa_contenttab3-char8. "binary search.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;      if sy-subrc = 0.&lt;/P&gt;&lt;P&gt;        READ TABLE I_CUVTAB_FLD INTO WA_CUVTAB_FLD WITH KEY VTINT = WA_COL_POS-VTINT&lt;/P&gt;&lt;P&gt;                                                            ATINN = WA_COL_POS-ATINN&lt;/P&gt;&lt;P&gt;                                                            VTPOS = WA_COL_POS-VTPOS BINARY SEARCH.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;        if sy-subrc = 0.&lt;/P&gt;&lt;P&gt;          l_index1 = wa_col_pos-field + 1.&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;        l_index1 = wa_col_pos-field.&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;          l_dbfld  = wa_cuvtab_fld-dbfld.&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_dbfld 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;        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;      READ TABLE i_col_pos INTO wa_col_pos with key vtnam = wa_contenttab1-vtnam&lt;/P&gt;&lt;P&gt;                                                    atnam = wa_contenttab3-char9. " binary search.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;      if sy-subrc = 0.&lt;/P&gt;&lt;P&gt;        READ TABLE I_CUVTAB_FLD INTO WA_CUVTAB_FLD WITH KEY VTINT = WA_COL_POS-VTINT&lt;/P&gt;&lt;P&gt;                                                            ATINN = WA_COL_POS-ATINN&lt;/P&gt;&lt;P&gt;                                                            VTPOS = WA_COL_POS-VTPOS BINARY SEARCH.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;        if sy-subrc = 0.&lt;/P&gt;&lt;P&gt;          l_index1 = wa_col_pos-field + 1.&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;        l_index1 = wa_col_pos-field.&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;          l_dbfld  = wa_cuvtab_fld-dbfld.&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_dbfld 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;        endif.&lt;/P&gt;&lt;P&gt;      endif.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;      READ TABLE i_col_pos INTO wa_col_pos with key vtnam = wa_contenttab1-vtnam&lt;/P&gt;&lt;P&gt;                                                    atnam = wa_contenttab3-char10. " binary search.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;      if sy-subrc = 0.&lt;/P&gt;&lt;P&gt;        READ TABLE I_CUVTAB_FLD INTO WA_CUVTAB_FLD WITH KEY VTINT = WA_COL_POS-VTINT&lt;/P&gt;&lt;P&gt;                                                            ATINN = WA_COL_POS-ATINN&lt;/P&gt;&lt;P&gt;                                                            VTPOS = WA_COL_POS-VTPOS BINARY SEARCH.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;        if sy-subrc = 0.&lt;/P&gt;&lt;P&gt;          l_index1 = wa_col_pos-field + 1.&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;        l_index1 = wa_col_pos-field.&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;          l_dbfld  = wa_cuvtab_fld-dbfld.&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_dbfld 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;        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;      READ TABLE i_col_pos INTO wa_col_pos with key vtnam = wa_contenttab1-vtnam&lt;/P&gt;&lt;P&gt;                                                    atnam = wa_contenttab3-char11. " binary search.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;      if sy-subrc = 0.&lt;/P&gt;&lt;P&gt;        READ TABLE I_CUVTAB_FLD INTO WA_CUVTAB_FLD WITH KEY VTINT = WA_COL_POS-VTINT&lt;/P&gt;&lt;P&gt;                                                            ATINN = WA_COL_POS-ATINN&lt;/P&gt;&lt;P&gt;                                                            VTPOS = WA_COL_POS-VTPOS BINARY SEARCH.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;        if sy-subrc = 0.&lt;/P&gt;&lt;P&gt;          l_index1 = wa_col_pos-field + 1.&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;        l_index1 = wa_col_pos-field.&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;          l_dbfld  = wa_cuvtab_fld-dbfld.&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_dbfld 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;        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;&lt;/P&gt;&lt;P&gt;      READ TABLE i_col_pos INTO wa_col_pos with key vtnam = wa_contenttab1-vtnam&lt;/P&gt;&lt;P&gt;                                                    atnam = wa_contenttab3-char12. " binary search.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;      if sy-subrc = 0.&lt;/P&gt;&lt;P&gt;        READ TABLE I_CUVTAB_FLD INTO WA_CUVTAB_FLD WITH KEY VTINT = WA_COL_POS-VTINT&lt;/P&gt;&lt;P&gt;                                                            ATINN = WA_COL_POS-ATINN&lt;/P&gt;&lt;P&gt;                                                            VTPOS = WA_COL_POS-VTPOS BINARY SEARCH.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;        if sy-subrc = 0.&lt;/P&gt;&lt;P&gt;          l_index1 = wa_col_pos-field + 1.&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;        l_index1 = wa_col_pos-field.&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;          l_dbfld  = wa_cuvtab_fld-dbfld.&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_dbfld 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;        endif.&lt;/P&gt;&lt;P&gt;      endif.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;      READ TABLE i_col_pos INTO wa_col_pos with key vtnam = wa_contenttab1-vtnam&lt;/P&gt;&lt;P&gt;                                                    atnam = wa_contenttab3-char13. " binary search.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;      if sy-subrc = 0.&lt;/P&gt;&lt;P&gt;        READ TABLE I_CUVTAB_FLD INTO WA_CUVTAB_FLD WITH KEY VTINT = WA_COL_POS-VTINT&lt;/P&gt;&lt;P&gt;                                                            ATINN = WA_COL_POS-ATINN&lt;/P&gt;&lt;P&gt;                                                            VTPOS = WA_COL_POS-VTPOS BINARY SEARCH.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;        if sy-subrc = 0.&lt;/P&gt;&lt;P&gt;          l_index1 = wa_col_pos-field + 1.&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;        l_index1 = wa_col_pos-field.&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;          l_dbfld  = wa_cuvtab_fld-dbfld.&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_dbfld 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;        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;&lt;/P&gt;&lt;P&gt;      READ TABLE i_col_pos INTO wa_col_pos with key vtnam = wa_contenttab1-vtnam&lt;/P&gt;&lt;P&gt;                                                    atnam = wa_contenttab3-char14. " binary search.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;      if sy-subrc = 0.&lt;/P&gt;&lt;P&gt;        READ TABLE I_CUVTAB_FLD INTO WA_CUVTAB_FLD WITH KEY VTINT = WA_COL_POS-VTINT&lt;/P&gt;&lt;P&gt;                                                            ATINN = WA_COL_POS-ATINN&lt;/P&gt;&lt;P&gt;                                                            VTPOS = WA_COL_POS-VTPOS BINARY SEARCH.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;        if sy-subrc = 0.&lt;/P&gt;&lt;P&gt;          l_index1 = wa_col_pos-field + 1.&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;        l_index1 = wa_col_pos-field.&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;          l_dbfld  = wa_cuvtab_fld-dbfld.&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_dbfld 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;        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;      READ TABLE i_col_pos INTO wa_col_pos with key vtnam = wa_contenttab1-vtnam&lt;/P&gt;&lt;P&gt;                                                    atnam = wa_contenttab3-char15. " binary search.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;      if sy-subrc = 0.&lt;/P&gt;&lt;P&gt;        READ TABLE I_CUVTAB_FLD INTO WA_CUVTAB_FLD WITH KEY VTINT = WA_COL_POS-VTINT&lt;/P&gt;&lt;P&gt;                                                            ATINN = WA_COL_POS-ATINN&lt;/P&gt;&lt;P&gt;                                                            VTPOS = WA_COL_POS-VTPOS BINARY SEARCH.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;        if sy-subrc = 0.&lt;/P&gt;&lt;P&gt;          l_index1 = wa_col_pos-field + 1.&lt;/P&gt;&lt;P&gt;          l_dbfld  = wa_cuvtab_fld-dbfld.&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_dbfld 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;        endif.&lt;/P&gt;&lt;P&gt;      endif.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;      Data: l_lines1 type i.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;      Describe table i_col_pos lines l_lines1.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;      READ TABLE i_col_pos INTO wa_col_pos index l_lines1.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;      if sy-subrc = 0.&lt;/P&gt;&lt;P&gt;        READ TABLE I_CUVTAB_FLD INTO WA_CUVTAB_FLD WITH KEY VTINT = WA_COL_POS-VTINT&lt;/P&gt;&lt;P&gt;                                                            ATINN = WA_COL_POS-ATINN&lt;/P&gt;&lt;P&gt;                                                            VTPOS = WA_COL_POS-VTPOS BINARY SEARCH.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;        if sy-subrc = 0.&lt;/P&gt;&lt;P&gt;          l_index1 = wa_col_pos-field.&lt;/P&gt;&lt;P&gt;          l_dbfld  = wa_cuvtab_fld-dbfld.&lt;/P&gt;&lt;P&gt;          assign component 'Z_VARCOND' of structure wa_contenttab1 to &amp;lt;fs_field2&amp;gt;.&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;          assign component l_index1 of structure wa_contenttab1 to &amp;lt;fs_field2&amp;gt;.&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;          assign component l_dbfld 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;        endif.&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;      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;  endloop.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;*******************************************************************&lt;/P&gt;&lt;P&gt;*MOD-015&lt;/P&gt;&lt;P&gt;*********************************************************************&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;SORT &amp;lt;dyn_table&amp;gt;.&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-015&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 I_CONTENTTAB1 IS INITIAL.&lt;/P&gt;&lt;/LI&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;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;  IF &amp;lt;dyn_table&amp;gt; IS ASSIGNED.&lt;/P&gt;&lt;UL&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;/UL&gt;&lt;P&gt;    MODIFY (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;*MOD-015&lt;/P&gt;&lt;P&gt;**************************************************************************&lt;/P&gt;&lt;P&gt;  Message i261 with l_tabname.&lt;/P&gt;&lt;P&gt;*****************************************************************************&lt;/P&gt;&lt;P&gt;*MOD-015&lt;/P&gt;&lt;P&gt;*****************************************************************************&lt;/P&gt;&lt;P&gt;  DELETE I_CONTENTTAB1 WHERE VTNAM = WA_CONTENTHEADER1-VTNAM.&lt;/P&gt;&lt;P&gt;*****************************************************************************&lt;/P&gt;&lt;P&gt;*MOD-015&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;leave list-processing.&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-015&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;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;*S.M 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;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;*S.M MOD-012&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;*&lt;STRONG&gt;&amp;amp;----&lt;/STRONG&gt;&lt;/P&gt;&lt;HR originaltext="----------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;*&lt;STRONG&gt;&amp;amp;----&lt;/STRONG&gt;&lt;/P&gt;&lt;HR originaltext="----------------------------------------------------------------" /&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;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Wed, 17 Sep 2008 05:50:19 GMT</pubDate>
      <guid>https://community.sap.com/t5/application-development-and-automation-discussions/dynamic-structure-and-components-issue/m-p/4423081#M1050463</guid>
      <dc:creator>Former Member</dc:creator>
      <dc:date>2008-09-17T05:50:19Z</dc:date>
    </item>
    <item>
      <title>Re: Dynamic Structure and Components Issue</title>
      <link>https://community.sap.com/t5/application-development-and-automation-discussions/dynamic-structure-and-components-issue/m-p/4423082#M1050464</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 now have a requirement for the following:&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Duplicate VARCOND Sequential number also duplicated.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Here is the part of the code and would appreciate if someone could shed some light on the issue.&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-015&lt;/P&gt;&lt;P&gt;*************************************************************************&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  if g_split_var = 1.&lt;/P&gt;&lt;P&gt;    DELETE I_CONTENTTAB1 INDEX 1.&lt;/P&gt;&lt;P&gt;  endif.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;READ TABLE I_CONTENTTAB1 INTO WA_CONTENTTAB1 INDEX g_split_var.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  READ TABLE I_CONTENTTAB1 INTO WA_CONTENTTAB1&lt;/P&gt;&lt;P&gt;    WITH KEY vtnam = wa_file-vtnam&lt;/P&gt;&lt;P&gt;           char1 = wa_file-char1&lt;/P&gt;&lt;P&gt;           char2 = wa_file-char2&lt;/P&gt;&lt;P&gt;           char3 = wa_file-char3&lt;/P&gt;&lt;P&gt;           char4 = wa_file-char4&lt;/P&gt;&lt;P&gt;           char5 = wa_file-char5&lt;/P&gt;&lt;P&gt;           char6 = wa_file-char6&lt;/P&gt;&lt;P&gt;           char7 = wa_file-char7&lt;/P&gt;&lt;P&gt;           char8 = wa_file-char8&lt;/P&gt;&lt;P&gt;           char9 = wa_file-char9&lt;/P&gt;&lt;P&gt;           char10 = wa_file-char10&lt;/P&gt;&lt;P&gt;           char11 = wa_file-char11&lt;/P&gt;&lt;P&gt;           char12 = wa_file-char12&lt;/P&gt;&lt;P&gt;           char13 = wa_file-char13&lt;/P&gt;&lt;P&gt;           char14 = wa_file-char14&lt;/P&gt;&lt;P&gt;           char15 = wa_file-char15.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  IF sy-subrc = 0.&lt;/P&gt;&lt;P&gt;    G_SPLIT_VAR = SY-TABIX.&lt;/P&gt;&lt;P&gt;    WA_CONTENTTAB1-Z_VARCOND = G_VARCOND.&lt;/P&gt;&lt;P&gt;    MODIFY I_CONTENTTAB1 INDEX g_split_var FROM WA_CONTENTTAB1 TRANSPORTING Z_VARCOND.&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;MODIFY I_CONTENTTAB1 FROM WA_CONTENTTAB1 TRANSPORTING Z_VARCOND&lt;/P&gt;&lt;P&gt;where      vtnam = wa_file-vtnam and&lt;/P&gt;&lt;P&gt;           char1 = wa_file-char1 and&lt;/P&gt;&lt;P&gt;           char2 = wa_file-char2 and&lt;/P&gt;&lt;P&gt;           char3 = wa_file-char3 and&lt;/P&gt;&lt;P&gt;           char4 = wa_file-char4 and&lt;/P&gt;&lt;P&gt;           char5 = wa_file-char5 and&lt;/P&gt;&lt;P&gt;           char6 = wa_file-char6 and&lt;/P&gt;&lt;P&gt;           char7 = wa_file-char7 and&lt;/P&gt;&lt;P&gt;           char8 = wa_file-char8 and&lt;/P&gt;&lt;P&gt;           char9 = wa_file-char9 and&lt;/P&gt;&lt;P&gt;           char10 = wa_file-char10 and&lt;/P&gt;&lt;P&gt;           char11 = wa_file-char11 and&lt;/P&gt;&lt;P&gt;           char12 = wa_file-char12 and&lt;/P&gt;&lt;P&gt;           char13 = wa_file-char13 and&lt;/P&gt;&lt;P&gt;           char14 = wa_file-char14 and&lt;/P&gt;&lt;P&gt;           char15 = wa_file-char15.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;*************************************************************************&lt;/P&gt;&lt;P&gt;*MOD-015&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;  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;P&gt;&lt;/P&gt;&lt;P&gt;If you execute the program with one file with multiple records the sequence number in G_VARCOND is fine. Howevr if you load 3 diff files with one record each then the sequence number gets duplicated.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;I am not facing this problem in the Inbound idoc creation program but in the custom table load only. Loking forward for some inputs.&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Wed, 17 Sep 2008 15:12:28 GMT</pubDate>
      <guid>https://community.sap.com/t5/application-development-and-automation-discussions/dynamic-structure-and-components-issue/m-p/4423082#M1050464</guid>
      <dc:creator>Former Member</dc:creator>
      <dc:date>2008-09-17T15:12:28Z</dc:date>
    </item>
  </channel>
</rss>

