<?xml version="1.0" encoding="UTF-8"?>
<rss xmlns:content="http://purl.org/rss/1.0/modules/content/" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns:taxo="http://purl.org/rss/1.0/modules/taxonomy/" version="2.0">
  <channel>
    <title>topic Re: BDC for test mode.... in Application Development and Automation Discussions</title>
    <link>https://community.sap.com/t5/application-development-and-automation-discussions/bdc-for-test-mode/m-p/1454783#M215056</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;  You can put a check in the program to call BDC_OPEN function module and the subsequent steps only when the check box value = ' ', this should be after uploading &amp;amp; validating the flat file contents to Internal table using GUI_UPLOAD,&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Hope this helps, &lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Rgds,&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
    <pubDate>Wed, 12 Jul 2006 10:35:24 GMT</pubDate>
    <dc:creator>Former Member</dc:creator>
    <dc:date>2006-07-12T10:35:24Z</dc:date>
    <item>
      <title>BDC for test mode....</title>
      <link>https://community.sap.com/t5/application-development-and-automation-discussions/bdc-for-test-mode/m-p/1454782#M215055</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Hi,&lt;/P&gt;&lt;P&gt;  i am writing BDC for VK11 transaction. i have a check box in selection screen for test run. if i click on check box BDC should execute(for validations i.e if a condition record exist and if i run the same it will be overlap, i need to handle that message) and database tables should not be updated.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;thanks for advance.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Regards,&lt;/P&gt;&lt;P&gt;Srikanth.&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Wed, 12 Jul 2006 10:32:09 GMT</pubDate>
      <guid>https://community.sap.com/t5/application-development-and-automation-discussions/bdc-for-test-mode/m-p/1454782#M215055</guid>
      <dc:creator>Former Member</dc:creator>
      <dc:date>2006-07-12T10:32:09Z</dc:date>
    </item>
    <item>
      <title>Re: BDC for test mode....</title>
      <link>https://community.sap.com/t5/application-development-and-automation-discussions/bdc-for-test-mode/m-p/1454783#M215056</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;  You can put a check in the program to call BDC_OPEN function module and the subsequent steps only when the check box value = ' ', this should be after uploading &amp;amp; validating the flat file contents to Internal table using GUI_UPLOAD,&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Hope this helps, &lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Rgds,&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Wed, 12 Jul 2006 10:35:24 GMT</pubDate>
      <guid>https://community.sap.com/t5/application-development-and-automation-discussions/bdc-for-test-mode/m-p/1454783#M215056</guid>
      <dc:creator>Former Member</dc:creator>
      <dc:date>2006-07-12T10:35:24Z</dc:date>
    </item>
    <item>
      <title>Re: BDC for test mode....</title>
      <link>https://community.sap.com/t5/application-development-and-automation-discussions/bdc-for-test-mode/m-p/1454784#M215057</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Hello Srikanth,&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;This is report which I have did to change the condition record in the simulation as well as updation mode.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;REPORT z08v_ra_d_condrecupd MESSAGE-ID z08v_d&lt;/P&gt;&lt;P&gt;                            NO STANDARD PAGE HEADING&lt;/P&gt;&lt;P&gt;                            LINE-SIZE 140.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;*Data Declaration&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;TABLES: mara,&lt;/P&gt;&lt;P&gt;        rv13a,&lt;/P&gt;&lt;P&gt;        vbak,&lt;/P&gt;&lt;P&gt;        t685a,&lt;/P&gt;&lt;P&gt;        konv,&lt;/P&gt;&lt;P&gt;        tcurr,&lt;/P&gt;&lt;P&gt;        tcurf,&lt;/P&gt;&lt;P&gt;        z08v_prd_struc_price,&lt;/P&gt;&lt;P&gt;        a004,&lt;/P&gt;&lt;P&gt;        a703,                                               "#EC *&lt;/P&gt;&lt;P&gt;        mvke,&lt;/P&gt;&lt;P&gt;        konp.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;TYPE-POOLS: kcde.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;DATA: w_filen_tx LIKE rlgrap-filename.&lt;/P&gt;&lt;P&gt;DATA: lv_filepath TYPE draw-filep.                          "#EC *&lt;/P&gt;&lt;P&gt;DATA: lv_datab LIKE rv13a-datab.&lt;/P&gt;&lt;P&gt;DATA: lv_datbi LIKE rv13a-datbi.&lt;/P&gt;&lt;P&gt;DATA: lv_newrec, lv_singrec, lv_errmsg(100).&lt;/P&gt;&lt;P&gt;DATA: lv_datestr(8), lv_amnt(13).&lt;/P&gt;&lt;P&gt;DATA: lv_sydate(8), lv_tempdat1 LIKE rv13a-datbi,&lt;/P&gt;&lt;P&gt;                    lv_tempdat2 LIKE rv13a-datbi.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;Internal table to hold the data input from a PC file.&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;DATA: it_input TYPE kcde_intern WITH HEADER LINE.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;DATA: BEGIN OF wa_date,&lt;/P&gt;&lt;P&gt;        tabix LIKE sy-tabix,&lt;/P&gt;&lt;P&gt;        kschl LIKE rv13a-kschl,&lt;/P&gt;&lt;P&gt;        start LIKE rv13a-datab,&lt;/P&gt;&lt;P&gt;        end LIKE rv13a-datbi,&lt;/P&gt;&lt;P&gt;      END OF wa_date.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;DATA: it_date LIKE wa_date OCCURS 0 WITH HEADER LINE.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;DATA : BEGIN OF it_tcurf OCCURS 0,&lt;/P&gt;&lt;P&gt;         kurst LIKE tcurf-kurst,&lt;/P&gt;&lt;P&gt;         fcurr LIKE tcurf-fcurr,&lt;/P&gt;&lt;P&gt;         tcurr LIKE tcurf-tcurr,&lt;/P&gt;&lt;P&gt;         gdatu LIKE tcurf-gdatu,&lt;/P&gt;&lt;P&gt;         ffact LIKE tcurf-ffact,&lt;/P&gt;&lt;P&gt;         tfact LIKE tcurf-tfact,&lt;/P&gt;&lt;P&gt;         xdate TYPE d,&lt;/P&gt;&lt;P&gt;       END OF it_tcurf.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;DATA : v_date(10),&lt;/P&gt;&lt;P&gt;       lv_filecheck,&lt;/P&gt;&lt;P&gt;       lv_count TYPE i,&lt;/P&gt;&lt;P&gt;       lv_tempdat(8).&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;DATA: w_filelength_pd TYPE p,&lt;/P&gt;&lt;P&gt;      lv_repid LIKE sy-repid,&lt;/P&gt;&lt;P&gt;      lv_matnr LIKE mara-matnr.&lt;/P&gt;&lt;P&gt;DATA: lv_data_cnt(4) TYPE n VALUE 0,&lt;/P&gt;&lt;P&gt;      w_data_bdc_recs(4)    TYPE n  VALUE 0.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;DATA: BEGIN OF wa_output,&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;       vkorg LIKE vbak-vkorg,&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;       vtweg LIKE vbak-vtweg,&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;       spart LIKE vbak-spart,&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;       land1 LIKE kna1-land1,&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;        matnr LIKE mara-matnr,&lt;/P&gt;&lt;P&gt;        condtab(4),&lt;/P&gt;&lt;P&gt;        kschl1 LIKE t685a-kschl,&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;       kbetr1 LIKE konv-kbetr,&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;        kschl2 LIKE t685a-kschl,&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;       kbetr2 LIKE konv-kbetr,&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;       waers LIKE konv-waers,&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;        datab(10),&lt;/P&gt;&lt;P&gt;        datbi(10),&lt;/P&gt;&lt;P&gt;        kurst LIKE tcurr-kurst,&lt;/P&gt;&lt;P&gt;        ukurs LIKE tcurr-ukurs,&lt;/P&gt;&lt;P&gt;        kbetr LIKE konv-kbetr,&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;       kbetr4 LIKE konv-kbetr,&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;      END OF wa_output.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;DATA: it_output LIKE wa_output OCCURS 0 WITH HEADER LINE.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;DATA: it_extract LIKE z08v_prd_struc_price OCCURS 0 WITH HEADER LINE.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;Internal table to hold wrong materials.&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;DATA: BEGIN OF it_errmat OCCURS 0,&lt;/P&gt;&lt;P&gt;        recno TYPE i,&lt;/P&gt;&lt;P&gt;        kschl LIKE t685a-kschl,&lt;/P&gt;&lt;P&gt;        matnr LIKE mara-matnr,&lt;/P&gt;&lt;P&gt;        status(15),&lt;/P&gt;&lt;P&gt;        bdcmsg(150),&lt;/P&gt;&lt;P&gt;      END OF it_errmat.&lt;/P&gt;&lt;P&gt;DATA: wa_errmat LIKE it_errmat.&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;Internal table to hold data to be used in BDC session.&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;/UL&gt;&lt;P&gt;*DATA: BEGIN OF it_final OCCURS 0,&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;     kurst LIKE tcurr-kurst,      " Exc. Rate Type&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;     vdate(10) TYPE c,            " Valid from Date&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;     ukurs LIKE tcurr-ukurs,      " Indirect Quote rate&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;     fcurr LIKE tcurr-fcurr,      " From Currency&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;     tcurr LIKE tcurr-tcurr,      " To Currency&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;     ffact LIKE tcurf-ffact,      " From factor&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;     tfact LIKE tcurf-tfact,      " To Factor&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;     END OF it_final.&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;Internal table to hold the BDC data.&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;DATA: BEGIN OF bdcdata OCCURS 1000.&lt;/P&gt;&lt;P&gt;        INCLUDE STRUCTURE bdcdata.&lt;/P&gt;&lt;P&gt;DATA: END OF bdcdata.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;DATA: it_msgtab LIKE bdcmsgcoll OCCURS 0 WITH HEADER LINE.&lt;/P&gt;&lt;P&gt;DATA: wa_msglog LIKE msg_log.&lt;/P&gt;&lt;P&gt;DATA: wa_msgtxt LIKE msg_text.&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; SELECTION SCREEN&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;SELECTION-SCREEN BEGIN OF BLOCK bl1 WITH FRAME TITLE text-001.&lt;/P&gt;&lt;P&gt;PARAMETERS: p_fpath LIKE ibipparms-path OBLIGATORY,&lt;/P&gt;&lt;P&gt;            p_sim AS CHECKBOX.&lt;/P&gt;&lt;P&gt;SELECTION-SCREEN END OF BLOCK bl1.&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;    Initialization&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;INITIALIZATION.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  lv_repid = sy-repid.&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; AT SELECTION-SCREEN&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;AT SELECTION-SCREEN ON VALUE-REQUEST FOR p_fpath.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  CALL FUNCTION 'WS_FILENAME_GET'                           "#EC *&lt;/P&gt;&lt;P&gt;       EXPORTING&lt;/P&gt;&lt;P&gt;            def_filename = ' '&lt;/P&gt;&lt;P&gt;            def_path     = 'c:\'&lt;/P&gt;&lt;P&gt;            mask         = ',&lt;STRONG&gt;.&lt;/STRONG&gt;,&lt;STRONG&gt;.&lt;/STRONG&gt;.'&lt;/P&gt;&lt;P&gt;            mode         = 'O'&lt;/P&gt;&lt;P&gt;            title        = text-016&lt;/P&gt;&lt;P&gt;       IMPORTING&lt;/P&gt;&lt;P&gt;            filename     = p_fpath&lt;/P&gt;&lt;P&gt;       EXCEPTIONS&lt;/P&gt;&lt;P&gt;            OTHERS.&lt;/P&gt;&lt;P&gt;  IF sy-subrc EQ 0.                    "Only if name has been changed,&lt;/P&gt;&lt;P&gt;    w_filen_tx = p_fpath.              "copy the new name&lt;/P&gt;&lt;P&gt;  ENDIF.            .&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; AT SELECTION-SCREEN ON field&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;AT SELECTION-SCREEN ON p_fpath.&lt;/P&gt;&lt;P&gt;  CLEAR lv_filepath.&lt;/P&gt;&lt;P&gt;  MOVE p_fpath TO lv_filepath.&lt;/P&gt;&lt;P&gt;  CALL FUNCTION 'CV120_DOC_FILE_EXISTENCE_CHECK'&lt;/P&gt;&lt;P&gt;    EXPORTING&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;  PF_HOSTNAME       =&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;  PF_DTTRG          =&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;      pf_file           = lv_filepath&lt;/P&gt;&lt;P&gt;    IMPORTING&lt;/P&gt;&lt;P&gt;      pfx_exist         = lv_filecheck&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;  IF lv_filecheck &amp;lt;&amp;gt; 'X'.&lt;/P&gt;&lt;P&gt;    MESSAGE i003 WITH text-003.&lt;/P&gt;&lt;P&gt;    EXIT.&lt;/P&gt;&lt;P&gt;  ENDIF.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&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; START OF SELECTION&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;START-OF-SELECTION.&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;Upload the input data.&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;  PERFORM file_upload.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;Check the uploaded data.&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;  PERFORM check_data.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;----&lt;/STRONG&gt;&lt;/P&gt;&lt;HR originaltext="----------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;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;STRONG&gt;----&lt;/STRONG&gt;&lt;/P&gt;&lt;HR originaltext="----------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;END-OF-SELECTION.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  IF p_sim &amp;lt;&amp;gt; 'X'.&lt;/P&gt;&lt;P&gt;    FORMAT COLOR 3.&lt;/P&gt;&lt;P&gt;    WRITE:/5 text-002, w_data_bdc_recs.&lt;/P&gt;&lt;P&gt;    FORMAT COLOR OFF.&lt;/P&gt;&lt;P&gt;  ENDIF.&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;TOP-OF-PAGE.&lt;/P&gt;&lt;P&gt;  ULINE.&lt;/P&gt;&lt;P&gt;  FORMAT COLOR 1.&lt;/P&gt;&lt;P&gt;  WRITE:/ 'Program  : ', lv_repid.                          "#EC NOTEXT&lt;/P&gt;&lt;P&gt;  WRITE:/ 'Title    : ', sy-title.                          "#EC NOTEXT&lt;/P&gt;&lt;P&gt;  WRITE:/ 'User     : ', sy-uname, 115 'Date  : ', sy-datum."#EC NOTEXT&lt;/P&gt;&lt;P&gt;  WRITE:/115 'Page  : ', sy-pagno.                          "#EC NOTEXT&lt;/P&gt;&lt;P&gt;  FORMAT COLOR OFF.&lt;/P&gt;&lt;P&gt;  ULINE.&lt;/P&gt;&lt;P&gt;  IF p_sim = 'X'.&lt;/P&gt;&lt;P&gt;    FORMAT COLOR 2.&lt;/P&gt;&lt;P&gt;    WRITE:/ text-005.&lt;/P&gt;&lt;P&gt;    SKIP.&lt;/P&gt;&lt;P&gt;   WRITE:/ text-006, 16 text-007, 30 text-008, 50 text-009, 74 text-010,&lt;/P&gt;&lt;P&gt;           90 text-011, 102 text-012, 114 text-013.&lt;/P&gt;&lt;P&gt;    FORMAT COLOR OFF.&lt;/P&gt;&lt;P&gt;    ULINE.&lt;/P&gt;&lt;P&gt;  ELSE.&lt;/P&gt;&lt;P&gt;    FORMAT COLOR 2.&lt;/P&gt;&lt;P&gt;    WRITE:/ text-022.&lt;/P&gt;&lt;P&gt;    SKIP.&lt;/P&gt;&lt;P&gt;    WRITE:/ text-023, 15 text-006, 31 text-008, 53 text-024,&lt;/P&gt;&lt;P&gt;            65 text-025.&lt;/P&gt;&lt;P&gt;    FORMAT COLOR OFF.&lt;/P&gt;&lt;P&gt;    ULINE.&lt;/P&gt;&lt;P&gt;  ENDIF.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;END-OF-PAGE.&lt;/P&gt;&lt;P&gt;  ULINE.&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  FILE_UPLOAD&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;      Upload the file&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 file_upload.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  CLEAR it_extract.&lt;/P&gt;&lt;P&gt;  REFRESH it_extract.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;*download the excel data into an internal table&lt;/P&gt;&lt;P&gt;  CALL FUNCTION 'KCD_EXCEL_OLE_TO_INT_CONVERT'&lt;/P&gt;&lt;P&gt;    EXPORTING&lt;/P&gt;&lt;P&gt;      filename                = w_filen_tx&lt;/P&gt;&lt;P&gt;      i_begin_col             = 1&lt;/P&gt;&lt;P&gt;      i_begin_row             = 2&lt;/P&gt;&lt;P&gt;      i_end_col               = 13&lt;/P&gt;&lt;P&gt;      i_end_row               = 65536&lt;/P&gt;&lt;P&gt;    TABLES&lt;/P&gt;&lt;P&gt;      intern                  = it_input&lt;/P&gt;&lt;P&gt;    EXCEPTIONS&lt;/P&gt;&lt;P&gt;      inconsistent_parameters = 1&lt;/P&gt;&lt;P&gt;      upload_ole              = 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;P&gt;    MESSAGE e003 WITH text-004.&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;  LOOP AT it_input.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;    IF it_input-col = '1'.&lt;/P&gt;&lt;P&gt;      it_extract-vkorg = it_input-value.&lt;/P&gt;&lt;P&gt;    ENDIF.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;    IF it_input-col = '2'.&lt;/P&gt;&lt;P&gt;      it_extract-vtweg = it_input-value.&lt;/P&gt;&lt;P&gt;    ENDIF.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;    IF it_input-col = '3'.&lt;/P&gt;&lt;P&gt;      it_extract-spart = it_input-value.&lt;/P&gt;&lt;P&gt;    ENDIF.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;    IF it_input-col = '4'.&lt;/P&gt;&lt;P&gt;      it_extract-land1 = it_input-value.&lt;/P&gt;&lt;P&gt;    ENDIF.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;    IF it_input-col = '5'.&lt;/P&gt;&lt;P&gt;      it_extract-matnr = it_input-value.&lt;/P&gt;&lt;P&gt;    ENDIF.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;    IF it_input-col = '6'.&lt;/P&gt;&lt;P&gt;      it_extract-kschl1 = it_input-value.&lt;/P&gt;&lt;P&gt;    ENDIF.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;    IF it_input-col = '7'.&lt;/P&gt;&lt;P&gt;      it_extract-kbetr1 = it_input-value.&lt;/P&gt;&lt;P&gt;    ENDIF.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;    IF it_input-col = '8'.&lt;/P&gt;&lt;P&gt;      it_extract-kschl2 = it_input-value.&lt;/P&gt;&lt;P&gt;    ENDIF.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;    IF it_input-col = '9'.&lt;/P&gt;&lt;P&gt;      it_extract-kbetr2 = it_input-value.&lt;/P&gt;&lt;P&gt;    ENDIF.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;    IF it_input-col = '10'.&lt;/P&gt;&lt;P&gt;      it_extract-waers = it_input-value.&lt;/P&gt;&lt;P&gt;    ENDIF.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;    IF it_input-col = '11'.&lt;/P&gt;&lt;P&gt;      REPLACE ALL OCCURRENCES OF '.' IN it_input-value WITH ''.&lt;/P&gt;&lt;P&gt;      CONDENSE it_input-value NO-GAPS.&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;     it_extract-datab+6(2)  = it_input-value(2).&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;     it_extract-datab&lt;EM&gt;4(2)  = it_input-value&lt;/EM&gt;2(2).&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;     it_extract-datab(4)    = it_input-value+4(4).&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;      it_extract-datab    = it_input-value.&lt;/P&gt;&lt;P&gt;    ENDIF.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;    IF it_input-col = '12'.&lt;/P&gt;&lt;P&gt;      REPLACE ALL OCCURRENCES OF '.' IN it_input-value WITH ''.&lt;/P&gt;&lt;P&gt;      CONDENSE it_input-value NO-GAPS.&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;     it_extract-datbi+6(2)  = it_input-value(2).&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;     it_extract-datbi&lt;EM&gt;4(2)  = it_input-value&lt;/EM&gt;2(2).&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;     it_extract-datbi(4)    = it_input-value+4(4).&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;      it_extract-datbi    = it_input-value.&lt;/P&gt;&lt;P&gt;    ENDIF.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;    IF it_input-col = '13'.&lt;/P&gt;&lt;P&gt;      it_extract-kurst = it_input-value.&lt;/P&gt;&lt;P&gt;    ENDIF.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;    IF it_input-col = '14'.&lt;/P&gt;&lt;P&gt;      it_extract-ukurs = it_input-value.&lt;/P&gt;&lt;P&gt;    ENDIF.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;    IF it_input-col = '15'.&lt;/P&gt;&lt;P&gt;      it_extract-kbetr3 = it_input-value.&lt;/P&gt;&lt;P&gt;    ENDIF.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;    IF it_input-col = '16'.&lt;/P&gt;&lt;P&gt;      it_extract-kbetr4 = it_input-value.&lt;/P&gt;&lt;P&gt;    ENDIF.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;    AT END OF row.&lt;/P&gt;&lt;P&gt;      APPEND it_extract.&lt;/P&gt;&lt;P&gt;      CLEAR it_extract.&lt;/P&gt;&lt;P&gt;    ENDAT.&lt;/P&gt;&lt;P&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;Count the valid records input.&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;  CLEAR lv_data_cnt.&lt;/P&gt;&lt;P&gt;  LOOP AT it_extract.&lt;/P&gt;&lt;P&gt;    ADD 1 TO lv_data_cnt.&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;Getting the condition value using table TCURR and TCURF&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;  LOOP AT it_extract.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;Condition value&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;    IF it_extract-waers &amp;lt;&amp;gt; 'EUR'.&lt;/P&gt;&lt;P&gt;      CLEAR lv_datestr.&lt;/P&gt;&lt;P&gt;      lv_datestr = 99999999 - sy-datum.&lt;/P&gt;&lt;P&gt;      SELECT SINGLE * FROM tcurr WHERE&lt;/P&gt;&lt;P&gt;                          kurst = it_extract-kurst AND&lt;/P&gt;&lt;P&gt;                          fcurr = it_extract-waers AND&lt;/P&gt;&lt;P&gt;                          tcurr = 'EUR' AND&lt;/P&gt;&lt;P&gt;                         gdatu &amp;lt;= lv_datestr.             "#EC PORTABLE&lt;/P&gt;&lt;P&gt;      IF sy-subrc = 0.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;        SELECT * INTO CORRESPONDING FIELDS OF TABLE it_tcurf&lt;/P&gt;&lt;P&gt;          FROM tcurf&lt;/P&gt;&lt;P&gt;         WHERE kurst =  it_extract-kurst&lt;/P&gt;&lt;P&gt;           AND ( fcurr = 'EUR' OR fcurr = it_extract-waers )&lt;/P&gt;&lt;P&gt;           AND ( tcurr = it_extract-waers OR tcurr = 'EUR' ).&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;        IF sy-subrc = 0.&lt;/P&gt;&lt;P&gt;          LOOP AT it_tcurf.&lt;/P&gt;&lt;P&gt;            CALL FUNCTION 'CONVERSION_EXIT_INVDT_OUTPUT'&lt;/P&gt;&lt;P&gt;              EXPORTING&lt;/P&gt;&lt;P&gt;                input  = it_tcurf-gdatu&lt;/P&gt;&lt;P&gt;              IMPORTING&lt;/P&gt;&lt;P&gt;                output = v_date&lt;/P&gt;&lt;P&gt;              EXCEPTIONS&lt;/P&gt;&lt;P&gt;                OTHERS = 1.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;            it_tcurf-xdate&lt;EM&gt;0(4) = v_date&lt;/EM&gt;6(4).&lt;/P&gt;&lt;P&gt;            it_tcurf-xdate&lt;EM&gt;4(2) = v_date&lt;/EM&gt;3(2).&lt;/P&gt;&lt;P&gt;            it_tcurf-xdate&lt;EM&gt;6(2) = v_date&lt;/EM&gt;0(2).&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;            IF it_tcurf-gdatu &amp;lt;= lv_datestr.              "#EC PORTABLE&lt;/P&gt;&lt;P&gt;              MODIFY it_tcurf.&lt;/P&gt;&lt;P&gt;            ELSE.&lt;/P&gt;&lt;P&gt;              DELETE it_tcurf.&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;          SORT it_tcurf BY kurst fcurr tcurr ASCENDING&lt;/P&gt;&lt;P&gt;            xdate DESCENDING.&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;Get only the latest value for each currency conversion&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;          DELETE ADJACENT DUPLICATES FROM it_tcurf&lt;/P&gt;&lt;P&gt;          COMPARING kurst tcurr.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;          READ TABLE it_tcurf WITH KEY kurst = it_extract-kurst&lt;/P&gt;&lt;P&gt;                            fcurr = it_extract-waers&lt;/P&gt;&lt;P&gt;                            tcurr = 'EUR'.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;          IF sy-subrc NE 0. " If no conversion factor table exists&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;          it_extract-ukurs = tcurr-ukurs / it_tcurf-tfact.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;          it_extract-kbetr3 = it_extract-kbetr1 * it_extract-ukurs.&lt;/P&gt;&lt;P&gt;          it_extract-kbetr4 = it_extract-kbetr2 * it_extract-ukurs.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;          MODIFY it_extract.&lt;/P&gt;&lt;P&gt;        ENDIF.&lt;/P&gt;&lt;P&gt;      ENDIF.&lt;/P&gt;&lt;P&gt;    ELSE.&lt;/P&gt;&lt;P&gt;      it_extract-kbetr3 = it_extract-kbetr1.&lt;/P&gt;&lt;P&gt;      it_extract-kbetr4 = it_extract-kbetr2.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;      MODIFY it_extract.&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.                    " FILE_UPLOAD&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;----&lt;/STRONG&gt;&lt;/P&gt;&lt;HR originaltext="-----------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;     Form  CHECK_DATA&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;  Validate the input data&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 check_data.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  CLEAR: it_extract, it_errmat.&lt;/P&gt;&lt;P&gt;  REFRESH: it_errmat.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  IF p_sim &amp;lt;&amp;gt; 'X'.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;    CLEAR lv_count.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;    LOOP AT it_extract.&lt;/P&gt;&lt;P&gt;      lv_count = lv_count + 1.&lt;/P&gt;&lt;P&gt;      IF it_extract-land1 IS INITIAL.&lt;/P&gt;&lt;P&gt;        PERFORM bdc_004.&lt;/P&gt;&lt;P&gt;      ELSE.&lt;/P&gt;&lt;P&gt;        PERFORM bdc_703.&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;    CLEAR lv_count.&lt;/P&gt;&lt;P&gt;    PERFORM upd_rec_output.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  ELSE.&lt;/P&gt;&lt;P&gt;    PERFORM sim_log.&lt;/P&gt;&lt;P&gt;  ENDIF.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;ENDFORM.                    " CHECK_DATA&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  BDC_DYNPRO&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 : Starts a new screen in the BDC table&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;             This routine should be called for each new screen&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;             encountered during the dialog processing.&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;             All data relating to the screen should be entered using&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;             BDC_FIELD immediately after this routine.&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 bdc_dynpro&lt;/P&gt;&lt;P&gt;     USING  value(program)&lt;/P&gt;&lt;P&gt;            value(dynpro).&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  CLEAR bdcdata.&lt;/P&gt;&lt;P&gt;  bdcdata-program  = program.&lt;/P&gt;&lt;P&gt;  bdcdata-dynpro   = dynpro.&lt;/P&gt;&lt;P&gt;  bdcdata-dynbegin = 'X'.&lt;/P&gt;&lt;P&gt;  APPEND bdcdata.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;ENDFORM.                    "BDC_DYNPRO&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  BDC_FIELD&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 : Adds screen data to the BDC table&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;             Just nominate the field name, and data to populate the&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;             field.  You can also use BDC_CURSOR and BDC_OKCODE.&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 bdc_field&lt;/P&gt;&lt;P&gt;     USING  value(fnam)&lt;/P&gt;&lt;P&gt;            value(fval).&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;Exit if field value is blank&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;  CHECK NOT fval IS INITIAL.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  CLEAR bdcdata.&lt;/P&gt;&lt;P&gt;  bdcdata-fnam = fnam.&lt;/P&gt;&lt;P&gt;  bdcdata-fval = fval.&lt;/P&gt;&lt;P&gt;  APPEND bdcdata.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;ENDFORM.                    "BDC_FIELD&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  bdc_004&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 bdc_004 .&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;*check whether record exists in A004.&lt;/P&gt;&lt;P&gt;  IF NOT it_extract-kschl1 IS INITIAL.&lt;/P&gt;&lt;P&gt;    SELECT SINGLE * FROM a004&lt;/P&gt;&lt;P&gt;                        WHERE kappl = 'V'&lt;/P&gt;&lt;P&gt;                        AND   kschl = it_extract-kschl1&lt;/P&gt;&lt;P&gt;                        AND   vkorg = it_extract-vkorg&lt;/P&gt;&lt;P&gt;                        AND   vtweg = it_extract-vtweg&lt;/P&gt;&lt;P&gt;                        AND   matnr = it_extract-matnr&lt;/P&gt;&lt;P&gt;                        AND   datbi &amp;gt;= sy-datum&lt;/P&gt;&lt;P&gt;                        AND   datab &amp;lt;= sy-datum.&lt;/P&gt;&lt;P&gt;    IF sy-subrc = 0.&lt;/P&gt;&lt;P&gt;      REFRESH bdcdata.&lt;/P&gt;&lt;P&gt;      CLEAR bdcdata.&lt;/P&gt;&lt;P&gt;      CLEAR: lv_tempdat1, lv_tempdat2.&lt;/P&gt;&lt;P&gt;      lv_tempdat1+6(2) = it_extract-datab(2).&lt;/P&gt;&lt;P&gt;      lv_tempdat1&lt;EM&gt;4(2) = it_extract-datab&lt;/EM&gt;2(2).&lt;/P&gt;&lt;P&gt;      lv_tempdat1(4) = it_extract-datab+4(4).&lt;/P&gt;&lt;P&gt;      lv_tempdat2+6(2) = it_extract-datbi(2).&lt;/P&gt;&lt;P&gt;      lv_tempdat2&lt;EM&gt;4(2) = it_extract-datbi&lt;/EM&gt;2(2).&lt;/P&gt;&lt;P&gt;      lv_tempdat2(4) = it_extract-datbi+4(4).&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;****************&lt;/P&gt;&lt;P&gt;*Case 1&lt;/P&gt;&lt;P&gt;****************&lt;/P&gt;&lt;P&gt;      IF lv_tempdat1 &amp;gt; a004-datab AND&lt;/P&gt;&lt;P&gt;          lv_tempdat1 &amp;lt; a004-datbi AND&lt;/P&gt;&lt;P&gt;           lv_tempdat2 &amp;gt;= a004-datbi.&lt;/P&gt;&lt;P&gt;*changing the existing record wherein 'Valid to' date is changed to&lt;/P&gt;&lt;P&gt;*'From date - 1'. Here 'From date' is from input file.&lt;/P&gt;&lt;P&gt;        CLEAR lv_datab.&lt;/P&gt;&lt;P&gt;        REFRESH bdcdata.&lt;/P&gt;&lt;P&gt;        CLEAR bdcdata.&lt;/P&gt;&lt;P&gt;        PERFORM bdc_dynpro      USING 'SAPMV13A' '0100'.&lt;/P&gt;&lt;P&gt;        PERFORM bdc_field       USING 'BDC_CURSOR' 'RV13A-KSCHL'.&lt;/P&gt;&lt;P&gt;        PERFORM bdc_field       USING 'BDC_OKCODE' '=ANTA'.&lt;/P&gt;&lt;P&gt;        PERFORM bdc_field       USING 'RV13A-KSCHL' it_extract-kschl1.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;        PERFORM bdc_dynpro      USING 'SAPLV14A' '0100'.&lt;/P&gt;&lt;P&gt;        PERFORM bdc_field       USING 'BDC_CURSOR' 'RV130-SELKZ(02)'.&lt;/P&gt;&lt;P&gt;        PERFORM bdc_field       USING 'BDC_OKCODE' '=WEIT'.&lt;/P&gt;&lt;P&gt;        PERFORM bdc_field       USING 'RV130-SELKZ(01)'  ''.&lt;/P&gt;&lt;P&gt;        PERFORM bdc_field       USING 'RV130-SELKZ(02)'  'X'.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;        PERFORM bdc_dynpro      USING 'RV13A004' '1000'.&lt;/P&gt;&lt;P&gt;        PERFORM bdc_field       USING 'BDC_CURSOR' 'F001'.&lt;/P&gt;&lt;P&gt;        PERFORM bdc_field       USING 'BDC_OKCODE' '=ONLI'.&lt;/P&gt;&lt;P&gt;        PERFORM bdc_field       USING 'F001' it_extract-vkorg.&lt;/P&gt;&lt;P&gt;        PERFORM bdc_field       USING 'F002' it_extract-vtweg.&lt;/P&gt;&lt;P&gt;        PERFORM bdc_field       USING 'F003-LOW' it_extract-matnr.&lt;/P&gt;&lt;P&gt;        CLEAR lv_sydate.&lt;/P&gt;&lt;P&gt;        lv_sydate(2) = sy-datum+6(2).&lt;/P&gt;&lt;P&gt;        lv_sydate&lt;EM&gt;2(2) = sy-datum&lt;/EM&gt;4(2).&lt;/P&gt;&lt;P&gt;        lv_sydate+4(4) = sy-datum(4).&lt;/P&gt;&lt;P&gt;        PERFORM bdc_field       USING 'SEL_DATE' lv_sydate.&lt;/P&gt;&lt;P&gt;        CLEAR lv_sydate.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;        PERFORM bdc_dynpro      USING 'SAPMV13A' '1004'.&lt;/P&gt;&lt;P&gt;        PERFORM bdc_field       USING 'BDC_CURSOR' 'RV13A-DATBI(01)'.&lt;/P&gt;&lt;P&gt;        PERFORM bdc_field       USING 'BDC_OKCODE' '=SICH'.&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;       PERFORM bdc_field     USING 'KONP-KBETR(01)' it_extract-kbetr3.&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;        lv_datab = lv_tempdat1.&lt;/P&gt;&lt;P&gt;        SUBTRACT 1 FROM lv_datab.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;        CLEAR lv_tempdat.&lt;/P&gt;&lt;P&gt;        lv_tempdat(2) = lv_datab+6(2).&lt;/P&gt;&lt;P&gt;        lv_tempdat&lt;EM&gt;2(2) = lv_datab&lt;/EM&gt;4(2).&lt;/P&gt;&lt;P&gt;        lv_tempdat+4(4) = lv_datab(4).&lt;/P&gt;&lt;P&gt;        lv_datab = lv_tempdat.&lt;/P&gt;&lt;P&gt;        CLEAR lv_tempdat.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;        PERFORM bdc_field       USING 'RV13A-DATBI(01)' lv_datab.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;        REFRESH it_msgtab.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;        CALL TRANSACTION 'VK12'&lt;/P&gt;&lt;P&gt;                          USING bdcdata&lt;/P&gt;&lt;P&gt;                          MODE 'N'&lt;/P&gt;&lt;P&gt;                          UPDATE 'S'&lt;/P&gt;&lt;P&gt;                          MESSAGES INTO it_msgtab.&lt;/P&gt;&lt;P&gt;        IF sy-subrc = 0.&lt;/P&gt;&lt;P&gt;          ADD 1 TO w_data_bdc_recs.&lt;/P&gt;&lt;P&gt;          DELETE ADJACENT DUPLICATES FROM it_msgtab.&lt;/P&gt;&lt;P&gt;          LOOP AT it_msgtab.&lt;/P&gt;&lt;P&gt;            CLEAR wa_msglog.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;            wa_msglog-msgid = it_msgtab-msgid.&lt;/P&gt;&lt;P&gt;            wa_msglog-msgno = it_msgtab-msgnr.&lt;/P&gt;&lt;P&gt;            wa_msglog-msgty = it_msgtab-msgtyp.&lt;/P&gt;&lt;P&gt;            wa_msglog-msgv1 = it_msgtab-msgv1.&lt;/P&gt;&lt;P&gt;            wa_msglog-msgv2 = it_msgtab-msgv2.&lt;/P&gt;&lt;P&gt;            wa_msglog-msgv3 = it_msgtab-msgv3.&lt;/P&gt;&lt;P&gt;            wa_msglog-msgv4 = it_msgtab-msgv4.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;            CALL FUNCTION 'MESSAGE_TEXTS_READ'&lt;/P&gt;&lt;P&gt;              EXPORTING&lt;/P&gt;&lt;P&gt;                msg_log_imp  = wa_msglog&lt;/P&gt;&lt;P&gt;              IMPORTING&lt;/P&gt;&lt;P&gt;                msg_text_exp = wa_msgtxt.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;            IF sy-subrc = 0.&lt;/P&gt;&lt;P&gt;              CLEAR it_errmat.&lt;/P&gt;&lt;P&gt;              it_errmat-recno = lv_count.&lt;/P&gt;&lt;P&gt;              it_errmat-kschl = it_extract-kschl1.&lt;/P&gt;&lt;P&gt;              it_errmat-matnr = it_extract-matnr.&lt;/P&gt;&lt;P&gt;              it_errmat-status = text-020.&lt;/P&gt;&lt;P&gt;              it_errmat-bdcmsg = wa_msgtxt-msgtx.&lt;/P&gt;&lt;P&gt;              APPEND it_errmat.&lt;/P&gt;&lt;P&gt;            ENDIF.&lt;/P&gt;&lt;P&gt;          ENDLOOP.&lt;/P&gt;&lt;P&gt;        ELSE.&lt;/P&gt;&lt;P&gt;          LOOP AT it_msgtab.&lt;/P&gt;&lt;P&gt;            CLEAR wa_msglog.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;            wa_msglog-msgid = it_msgtab-msgid.&lt;/P&gt;&lt;P&gt;            wa_msglog-msgno = it_msgtab-msgnr.&lt;/P&gt;&lt;P&gt;            wa_msglog-msgty = it_msgtab-msgtyp.&lt;/P&gt;&lt;P&gt;            wa_msglog-msgv1 = it_msgtab-msgv1.&lt;/P&gt;&lt;P&gt;            wa_msglog-msgv2 = it_msgtab-msgv2.&lt;/P&gt;&lt;P&gt;            wa_msglog-msgv3 = it_msgtab-msgv3.&lt;/P&gt;&lt;P&gt;            wa_msglog-msgv4 = it_msgtab-msgv4.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;            CALL FUNCTION 'MESSAGE_TEXTS_READ'&lt;/P&gt;&lt;P&gt;              EXPORTING&lt;/P&gt;&lt;P&gt;                msg_log_imp  = wa_msglog&lt;/P&gt;&lt;P&gt;              IMPORTING&lt;/P&gt;&lt;P&gt;                msg_text_exp = wa_msgtxt.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;            IF sy-subrc = 0.&lt;/P&gt;&lt;P&gt;              CLEAR it_errmat.&lt;/P&gt;&lt;P&gt;              it_errmat-recno = lv_count.&lt;/P&gt;&lt;P&gt;              it_errmat-kschl = it_extract-kschl1.&lt;/P&gt;&lt;P&gt;              it_errmat-matnr = it_extract-matnr.&lt;/P&gt;&lt;P&gt;              it_errmat-status = text-021.&lt;/P&gt;&lt;P&gt;              it_errmat-bdcmsg = wa_msgtxt-msgtx.&lt;/P&gt;&lt;P&gt;              APPEND it_errmat.&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;        COMMIT WORK AND WAIT.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;*second record in case 1&lt;/P&gt;&lt;P&gt;        PERFORM new_record_a004.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;*case 2&lt;/P&gt;&lt;P&gt;*if validity period coincide, then just change the amount.&lt;/P&gt;&lt;P&gt;      ELSEIF lv_tempdat1 = a004-datab AND&lt;/P&gt;&lt;P&gt;          lv_tempdat2 = a004-datbi.&lt;/P&gt;&lt;P&gt;        CLEAR lv_datab.&lt;/P&gt;&lt;P&gt;        REFRESH bdcdata.&lt;/P&gt;&lt;P&gt;        CLEAR bdcdata.&lt;/P&gt;&lt;P&gt;        PERFORM bdc_dynpro      USING 'SAPMV13A' '0100'.&lt;/P&gt;&lt;P&gt;        PERFORM bdc_field       USING 'BDC_CURSOR' 'RV13A-KSCHL'.&lt;/P&gt;&lt;P&gt;        PERFORM bdc_field       USING 'BDC_OKCODE' '=ANTA'.&lt;/P&gt;&lt;P&gt;        PERFORM bdc_field       USING 'RV13A-KSCHL' it_extract-kschl1.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;        PERFORM bdc_dynpro      USING 'SAPLV14A' '0100'.&lt;/P&gt;&lt;P&gt;        PERFORM bdc_field       USING 'BDC_CURSOR' 'RV130-SELKZ(02)'.&lt;/P&gt;&lt;P&gt;        PERFORM bdc_field       USING 'BDC_OKCODE' '=WEIT'.&lt;/P&gt;&lt;P&gt;        PERFORM bdc_field       USING 'RV130-SELKZ(01)'  ''.&lt;/P&gt;&lt;P&gt;        PERFORM bdc_field       USING 'RV130-SELKZ(02)'  'X'.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;        PERFORM bdc_dynpro      USING 'RV13A004' '1000'.&lt;/P&gt;&lt;P&gt;        PERFORM bdc_field       USING 'BDC_CURSOR' 'F001'.&lt;/P&gt;&lt;P&gt;        PERFORM bdc_field       USING 'BDC_OKCODE' '=ONLI'.&lt;/P&gt;&lt;P&gt;        PERFORM bdc_field       USING 'F001' it_extract-vkorg.&lt;/P&gt;&lt;P&gt;        PERFORM bdc_field       USING 'F002' it_extract-vtweg.&lt;/P&gt;&lt;P&gt;        PERFORM bdc_field       USING 'F003-LOW' it_extract-matnr.&lt;/P&gt;&lt;P&gt;        CLEAR lv_sydate.&lt;/P&gt;&lt;P&gt;        lv_sydate(2) = sy-datum+6(2).&lt;/P&gt;&lt;P&gt;        lv_sydate&lt;EM&gt;2(2) = sy-datum&lt;/EM&gt;4(2).&lt;/P&gt;&lt;P&gt;        lv_sydate+4(4) = sy-datum(4).&lt;/P&gt;&lt;P&gt;        PERFORM bdc_field       USING 'SEL_DATE' lv_sydate.&lt;/P&gt;&lt;P&gt;        CLEAR lv_sydate.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;        PERFORM bdc_dynpro      USING 'SAPMV13A' '1004'.&lt;/P&gt;&lt;P&gt;        PERFORM bdc_field       USING 'BDC_CURSOR' 'RV13A-DATBI(01)'.&lt;/P&gt;&lt;P&gt;        PERFORM bdc_field       USING 'BDC_OKCODE' '=SICH'.&lt;/P&gt;&lt;P&gt;        CLEAR lv_amnt.&lt;/P&gt;&lt;P&gt;        MOVE it_extract-kbetr3 TO lv_amnt.&lt;/P&gt;&lt;P&gt;        REPLACE '.' WITH ',' INTO lv_amnt.&lt;/P&gt;&lt;P&gt;        CONDENSE lv_amnt NO-GAPS.&lt;/P&gt;&lt;P&gt;        PERFORM bdc_field     USING 'KONP-KBETR(01)' lv_amnt.&lt;/P&gt;&lt;P&gt;        CLEAR lv_amnt.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;        REFRESH it_msgtab.&lt;/P&gt;&lt;P&gt;        CALL TRANSACTION 'VK12'&lt;/P&gt;&lt;P&gt;                          USING bdcdata&lt;/P&gt;&lt;P&gt;                          MODE 'N'&lt;/P&gt;&lt;P&gt;                          UPDATE 'S'&lt;/P&gt;&lt;P&gt;                          MESSAGES INTO it_msgtab.&lt;/P&gt;&lt;P&gt;        IF sy-subrc = 0.&lt;/P&gt;&lt;P&gt;          ADD 1 TO w_data_bdc_recs.&lt;/P&gt;&lt;P&gt;          DELETE ADJACENT DUPLICATES FROM it_msgtab.&lt;/P&gt;&lt;P&gt;          LOOP AT it_msgtab.&lt;/P&gt;&lt;P&gt;            CLEAR wa_msglog.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;            wa_msglog-msgid = it_msgtab-msgid.&lt;/P&gt;&lt;P&gt;            wa_msglog-msgno = it_msgtab-msgnr.&lt;/P&gt;&lt;P&gt;            wa_msglog-msgty = it_msgtab-msgtyp.&lt;/P&gt;&lt;P&gt;            wa_msglog-msgv1 = it_msgtab-msgv1.&lt;/P&gt;&lt;P&gt;            wa_msglog-msgv2 = it_msgtab-msgv2.&lt;/P&gt;&lt;P&gt;            wa_msglog-msgv3 = it_msgtab-msgv3.&lt;/P&gt;&lt;P&gt;            wa_msglog-msgv4 = it_msgtab-msgv4.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;            CALL FUNCTION 'MESSAGE_TEXTS_READ'&lt;/P&gt;&lt;P&gt;              EXPORTING&lt;/P&gt;&lt;P&gt;                msg_log_imp  = wa_msglog&lt;/P&gt;&lt;P&gt;              IMPORTING&lt;/P&gt;&lt;P&gt;                msg_text_exp = wa_msgtxt.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;            IF sy-subrc = 0.&lt;/P&gt;&lt;P&gt;              CLEAR it_errmat.&lt;/P&gt;&lt;P&gt;              it_errmat-recno = lv_count.&lt;/P&gt;&lt;P&gt;              it_errmat-kschl = it_extract-kschl1.&lt;/P&gt;&lt;P&gt;              it_errmat-matnr = it_extract-matnr.&lt;/P&gt;&lt;P&gt;              it_errmat-status = text-020.&lt;/P&gt;&lt;P&gt;              it_errmat-bdcmsg = wa_msgtxt-msgtx.&lt;/P&gt;&lt;P&gt;              APPEND it_errmat.&lt;/P&gt;&lt;P&gt;            ENDIF.&lt;/P&gt;&lt;P&gt;          ENDLOOP.&lt;/P&gt;&lt;P&gt;        ELSE.&lt;/P&gt;&lt;P&gt;          LOOP AT it_msgtab.&lt;/P&gt;&lt;P&gt;            CLEAR wa_msglog.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;            wa_msglog-msgid = it_msgtab-msgid.&lt;/P&gt;&lt;P&gt;            wa_msglog-msgno = it_msgtab-msgnr.&lt;/P&gt;&lt;P&gt;            wa_msglog-msgty = it_msgtab-msgtyp.&lt;/P&gt;&lt;P&gt;            wa_msglog-msgv1 = it_msgtab-msgv1.&lt;/P&gt;&lt;P&gt;            wa_msglog-msgv2 = it_msgtab-msgv2.&lt;/P&gt;&lt;P&gt;            wa_msglog-msgv3 = it_msgtab-msgv3.&lt;/P&gt;&lt;P&gt;            wa_msglog-msgv4 = it_msgtab-msgv4.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;            CALL FUNCTION 'MESSAGE_TEXTS_READ'&lt;/P&gt;&lt;P&gt;              EXPORTING&lt;/P&gt;&lt;P&gt;                msg_log_imp  = wa_msglog&lt;/P&gt;&lt;P&gt;              IMPORTING&lt;/P&gt;&lt;P&gt;                msg_text_exp = wa_msgtxt.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;            IF sy-subrc = 0.&lt;/P&gt;&lt;P&gt;              CLEAR it_errmat.&lt;/P&gt;&lt;P&gt;              it_errmat-recno = lv_count.&lt;/P&gt;&lt;P&gt;              it_errmat-kschl = it_extract-kschl1.&lt;/P&gt;&lt;P&gt;              it_errmat-matnr = it_extract-matnr.&lt;/P&gt;&lt;P&gt;              it_errmat-status = text-021.&lt;/P&gt;&lt;P&gt;              it_errmat-bdcmsg = wa_msgtxt-msgtx.&lt;/P&gt;&lt;P&gt;              APPEND it_errmat.&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;        COMMIT WORK AND WAIT.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;********************&lt;/P&gt;&lt;P&gt;*Case 3            *&lt;/P&gt;&lt;P&gt;********************&lt;/P&gt;&lt;P&gt;      ELSEIF lv_tempdat1 &amp;gt; a004-datab AND&lt;/P&gt;&lt;P&gt;              lv_tempdat1 &amp;lt; a004-datbi AND&lt;/P&gt;&lt;P&gt;               lv_tempdat2 &amp;lt; a004-datbi.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;        CLEAR lv_datab.&lt;/P&gt;&lt;P&gt;        REFRESH bdcdata.&lt;/P&gt;&lt;P&gt;        CLEAR bdcdata.&lt;/P&gt;&lt;P&gt;        PERFORM bdc_dynpro      USING 'SAPMV13A' '0100'.&lt;/P&gt;&lt;P&gt;        PERFORM bdc_field       USING 'BDC_CURSOR' 'RV13A-KSCHL'.&lt;/P&gt;&lt;P&gt;        PERFORM bdc_field       USING 'BDC_OKCODE' '=ANTA'.&lt;/P&gt;&lt;P&gt;        PERFORM bdc_field       USING 'RV13A-KSCHL' it_extract-kschl1.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;        PERFORM bdc_dynpro      USING 'SAPLV14A' '0100'.&lt;/P&gt;&lt;P&gt;        PERFORM bdc_field       USING 'BDC_CURSOR' 'RV130-SELKZ(02)'.&lt;/P&gt;&lt;P&gt;        PERFORM bdc_field       USING 'BDC_OKCODE' '=WEIT'.&lt;/P&gt;&lt;P&gt;        PERFORM bdc_field       USING 'RV130-SELKZ(01)'  ''.&lt;/P&gt;&lt;P&gt;        PERFORM bdc_field       USING 'RV130-SELKZ(02)'  'X'.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;        PERFORM bdc_dynpro      USING 'RV13A004' '1000'.&lt;/P&gt;&lt;P&gt;        PERFORM bdc_field       USING 'BDC_CURSOR' 'F001'.&lt;/P&gt;&lt;P&gt;        PERFORM bdc_field       USING 'BDC_OKCODE' '=ONLI'.&lt;/P&gt;&lt;P&gt;        PERFORM bdc_field       USING 'F001' it_extract-vkorg.&lt;/P&gt;&lt;P&gt;        PERFORM bdc_field       USING 'F002' it_extract-vtweg.&lt;/P&gt;&lt;P&gt;        PERFORM bdc_field       USING 'F003-LOW' it_extract-matnr.&lt;/P&gt;&lt;P&gt;        CLEAR lv_sydate.&lt;/P&gt;&lt;P&gt;        lv_sydate(2) = sy-datum+6(2).&lt;/P&gt;&lt;P&gt;        lv_sydate&lt;EM&gt;2(2) = sy-datum&lt;/EM&gt;4(2).&lt;/P&gt;&lt;P&gt;        lv_sydate+4(4) = sy-datum(4).&lt;/P&gt;&lt;P&gt;        PERFORM bdc_field       USING 'SEL_DATE' lv_sydate.&lt;/P&gt;&lt;P&gt;        CLEAR lv_sydate.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;        PERFORM bdc_dynpro      USING 'SAPMV13A' '1004'.&lt;/P&gt;&lt;P&gt;        PERFORM bdc_field       USING 'BDC_CURSOR' 'RV13A-DATBI(01)'.&lt;/P&gt;&lt;P&gt;        PERFORM bdc_field       USING 'BDC_OKCODE' '=SICH'.&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;       PERFORM bdc_field     USING 'KONP-KBETR(01)' it_extract-kbetr3.&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;        MOVE lv_tempdat1 TO lv_datab.&lt;/P&gt;&lt;P&gt;        SUBTRACT 1 FROM lv_datab.&lt;/P&gt;&lt;P&gt;        CLEAR lv_tempdat.&lt;/P&gt;&lt;P&gt;        lv_tempdat(2) = lv_datab+6(2).&lt;/P&gt;&lt;P&gt;        lv_tempdat&lt;EM&gt;2(2) = lv_datab&lt;/EM&gt;4(2).&lt;/P&gt;&lt;P&gt;        lv_tempdat+4(4) = lv_datab(4).&lt;/P&gt;&lt;P&gt;        lv_datab = lv_tempdat.&lt;/P&gt;&lt;P&gt;        CLEAR lv_tempdat.&lt;/P&gt;&lt;P&gt;        PERFORM bdc_field       USING 'RV13A-DATBI(01)' lv_datab.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;        REFRESH it_msgtab.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;        CALL TRANSACTION 'VK12'&lt;/P&gt;&lt;P&gt;                          USING bdcdata&lt;/P&gt;&lt;P&gt;                          MODE 'N'&lt;/P&gt;&lt;P&gt;                          UPDATE 'S'&lt;/P&gt;&lt;P&gt;                          MESSAGES INTO it_msgtab.&lt;/P&gt;&lt;P&gt;        IF sy-subrc = 0.&lt;/P&gt;&lt;P&gt;          ADD 1 TO w_data_bdc_recs.&lt;/P&gt;&lt;P&gt;          DELETE ADJACENT DUPLICATES FROM it_msgtab.&lt;/P&gt;&lt;P&gt;          LOOP AT it_msgtab.&lt;/P&gt;&lt;P&gt;            CLEAR wa_msglog.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;            wa_msglog-msgid = it_msgtab-msgid.&lt;/P&gt;&lt;P&gt;            wa_msglog-msgno = it_msgtab-msgnr.&lt;/P&gt;&lt;P&gt;            wa_msglog-msgty = it_msgtab-msgtyp.&lt;/P&gt;&lt;P&gt;            wa_msglog-msgv1 = it_msgtab-msgv1.&lt;/P&gt;&lt;P&gt;            wa_msglog-msgv2 = it_msgtab-msgv2.&lt;/P&gt;&lt;P&gt;            wa_msglog-msgv3 = it_msgtab-msgv3.&lt;/P&gt;&lt;P&gt;            wa_msglog-msgv4 = it_msgtab-msgv4.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;            CALL FUNCTION 'MESSAGE_TEXTS_READ'&lt;/P&gt;&lt;P&gt;              EXPORTING&lt;/P&gt;&lt;P&gt;                msg_log_imp  = wa_msglog&lt;/P&gt;&lt;P&gt;              IMPORTING&lt;/P&gt;&lt;P&gt;                msg_text_exp = wa_msgtxt.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;            IF sy-subrc = 0.&lt;/P&gt;&lt;P&gt;              CLEAR it_errmat.&lt;/P&gt;&lt;P&gt;              it_errmat-recno = lv_count.&lt;/P&gt;&lt;P&gt;              it_errmat-kschl = it_extract-kschl1.&lt;/P&gt;&lt;P&gt;              it_errmat-matnr = it_extract-matnr.&lt;/P&gt;&lt;P&gt;              it_errmat-status = text-020.&lt;/P&gt;&lt;P&gt;              it_errmat-bdcmsg = wa_msgtxt-msgtx.&lt;/P&gt;&lt;P&gt;              APPEND it_errmat.&lt;/P&gt;&lt;P&gt;            ENDIF.&lt;/P&gt;&lt;P&gt;          ENDLOOP.&lt;/P&gt;&lt;P&gt;        ELSE.&lt;/P&gt;&lt;P&gt;          LOOP AT it_msgtab.&lt;/P&gt;&lt;P&gt;            CLEAR wa_msglog.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;            wa_msglog-msgid = it_msgtab-msgid.&lt;/P&gt;&lt;P&gt;            wa_msglog-msgno = it_msgtab-msgnr.&lt;/P&gt;&lt;P&gt;            wa_msglog-msgty = it_msgtab-msgtyp.&lt;/P&gt;&lt;P&gt;            wa_msglog-msgv1 = it_msgtab-msgv1.&lt;/P&gt;&lt;P&gt;            wa_msglog-msgv2 = it_msgtab-msgv2.&lt;/P&gt;&lt;P&gt;            wa_msglog-msgv3 = it_msgtab-msgv3.&lt;/P&gt;&lt;P&gt;            wa_msglog-msgv4 = it_msgtab-msgv4.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;            CALL FUNCTION 'MESSAGE_TEXTS_READ'&lt;/P&gt;&lt;P&gt;              EXPORTING&lt;/P&gt;&lt;P&gt;                msg_log_imp  = wa_msglog&lt;/P&gt;&lt;P&gt;              IMPORTING&lt;/P&gt;&lt;P&gt;                msg_text_exp = wa_msgtxt.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;            IF sy-subrc = 0.&lt;/P&gt;&lt;P&gt;              CLEAR it_errmat.&lt;/P&gt;&lt;P&gt;              it_errmat-recno = lv_count.&lt;/P&gt;&lt;P&gt;              it_errmat-kschl = it_extract-kschl1.&lt;/P&gt;&lt;P&gt;              it_errmat-matnr = it_extract-matnr.&lt;/P&gt;&lt;P&gt;              it_errmat-status = text-021.&lt;/P&gt;&lt;P&gt;              it_errmat-bdcmsg = wa_msgtxt-msgtx.&lt;/P&gt;&lt;P&gt;              APPEND it_errmat.&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;        COMMIT WORK AND WAIT.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;      second record in case 3&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;        PERFORM new_record_a004.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;      third record in case 3&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;        REFRESH bdcdata.&lt;/P&gt;&lt;P&gt;        CLEAR bdcdata.&lt;/P&gt;&lt;P&gt;        PERFORM bdc_dynpro      USING 'SAPMV13A' '0100'.&lt;/P&gt;&lt;P&gt;        PERFORM bdc_field       USING 'BDC_CURSOR' 'RV13A-KSCHL'.&lt;/P&gt;&lt;P&gt;        PERFORM bdc_field       USING 'BDC_OKCODE' '=ANTA'.&lt;/P&gt;&lt;P&gt;        PERFORM bdc_field       USING 'RV13A-KSCHL' it_extract-kschl1.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;        PERFORM bdc_dynpro      USING 'SAPLV14A' '0100'.&lt;/P&gt;&lt;P&gt;        PERFORM bdc_field       USING 'BDC_CURSOR' 'RV130-SELKZ(02)'.&lt;/P&gt;&lt;P&gt;        PERFORM bdc_field       USING 'BDC_OKCODE' '=WEIT'.&lt;/P&gt;&lt;P&gt;        PERFORM bdc_field       USING 'RV130-SELKZ(01)' ''.&lt;/P&gt;&lt;P&gt;        PERFORM bdc_field       USING 'RV130-SELKZ(02)' 'X'.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;        PERFORM bdc_dynpro      USING 'RV13A004' '1000'.&lt;/P&gt;&lt;P&gt;        PERFORM bdc_field       USING 'BDC_CURSOR' 'F003-LOW'.&lt;/P&gt;&lt;P&gt;        PERFORM bdc_field       USING 'BDC_OKCODE' '=ONLI'.&lt;/P&gt;&lt;P&gt;        PERFORM bdc_field       USING 'F001' it_extract-vkorg.&lt;/P&gt;&lt;P&gt;        PERFORM bdc_field       USING 'F002' it_extract-vtweg.&lt;/P&gt;&lt;P&gt;        PERFORM bdc_field       USING 'F003-LOW' it_extract-matnr.&lt;/P&gt;&lt;P&gt;        CLEAR lv_datab.&lt;/P&gt;&lt;P&gt;        lv_datab = lv_tempdat2.&lt;/P&gt;&lt;P&gt;        ADD 1 TO lv_datab.&lt;/P&gt;&lt;P&gt;        CLEAR lv_tempdat.&lt;/P&gt;&lt;P&gt;        lv_tempdat(2) = lv_datab+6(2).&lt;/P&gt;&lt;P&gt;        lv_tempdat&lt;EM&gt;2(2) = lv_datab&lt;/EM&gt;4(2).&lt;/P&gt;&lt;P&gt;        lv_tempdat+4(4) = lv_datab(4).&lt;/P&gt;&lt;P&gt;        lv_datab = lv_tempdat.&lt;/P&gt;&lt;P&gt;        CLEAR lv_tempdat.&lt;/P&gt;&lt;P&gt;        PERFORM bdc_field       USING 'SEL_DATE' lv_datab.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;        PERFORM bdc_dynpro      USING 'SAPMV13A' '1004'.&lt;/P&gt;&lt;P&gt;        PERFORM bdc_field       USING 'BDC_CURSOR' 'RV13A-DATBI(01)'.&lt;/P&gt;&lt;P&gt;        PERFORM bdc_field       USING 'BDC_OKCODE' '=SICH'.&lt;/P&gt;&lt;P&gt;        PERFORM bdc_field       USING 'KOMG-VKORG' it_extract-vkorg.&lt;/P&gt;&lt;P&gt;        PERFORM bdc_field       USING 'KOMG-VTWEG' it_extract-vtweg.&lt;/P&gt;&lt;P&gt;        PERFORM bdc_field       USING 'KOMG-MATNR(01)' it_extract-matnr.&lt;/P&gt;&lt;P&gt;        CLEAR lv_amnt.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;        SELECT SINGLE * FROM konp WHERE&lt;/P&gt;&lt;P&gt;                        knumh = a004-knumh AND&lt;/P&gt;&lt;P&gt;                        kopos = '01'.&lt;/P&gt;&lt;P&gt;        IF sy-subrc = 0.&lt;/P&gt;&lt;P&gt;          MOVE konp-kbetr TO lv_amnt.&lt;/P&gt;&lt;P&gt;          REPLACE '.' WITH ',' INTO lv_amnt.&lt;/P&gt;&lt;P&gt;          CONDENSE lv_amnt NO-GAPS.&lt;/P&gt;&lt;P&gt;          PERFORM bdc_field       USING 'KONP-KBETR(01)' lv_amnt.&lt;/P&gt;&lt;P&gt;        ENDIF.&lt;/P&gt;&lt;P&gt;        CLEAR lv_amnt.&lt;/P&gt;&lt;P&gt;        PERFORM bdc_field       USING 'KONP-KONWA(01)' 'EUR'.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;        IF NOT it_extract-datab IS INITIAL.&lt;/P&gt;&lt;P&gt;          PERFORM bdc_field       USING 'RV13A-DATAB(01)' lv_datab.&lt;/P&gt;&lt;P&gt;        ELSE.&lt;/P&gt;&lt;P&gt;          PERFORM bdc_field       USING 'RV13A-DATAB(01)' sy-datum.&lt;/P&gt;&lt;P&gt;        ENDIF.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;        IF NOT it_extract-datbi IS INITIAL.&lt;/P&gt;&lt;P&gt;          PERFORM bdc_field       USING 'RV13A-DATBI(01)' a004-datbi.&lt;/P&gt;&lt;P&gt;        ELSE.&lt;/P&gt;&lt;P&gt;          PERFORM bdc_field       USING 'RV13A-DATBI(01)' '31.12.9999'.&lt;/P&gt;&lt;P&gt;        ENDIF.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;        REFRESH it_msgtab.&lt;/P&gt;&lt;P&gt;        CALL TRANSACTION 'VK12'&lt;/P&gt;&lt;P&gt;                          USING bdcdata&lt;/P&gt;&lt;P&gt;                          MODE 'N'&lt;/P&gt;&lt;P&gt;                          UPDATE 'S'&lt;/P&gt;&lt;P&gt;                          MESSAGES INTO it_msgtab.&lt;/P&gt;&lt;P&gt;        IF sy-subrc = 0.&lt;/P&gt;&lt;P&gt;          ADD 1 TO w_data_bdc_recs.&lt;/P&gt;&lt;P&gt;          DELETE ADJACENT DUPLICATES FROM it_msgtab.&lt;/P&gt;&lt;P&gt;          LOOP AT it_msgtab.&lt;/P&gt;&lt;P&gt;            CLEAR wa_msglog.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;            wa_msglog-msgid = it_msgtab-msgid.&lt;/P&gt;&lt;P&gt;            wa_msglog-msgno = it_msgtab-msgnr.&lt;/P&gt;&lt;P&gt;            wa_msglog-msgty = it_msgtab-msgtyp.&lt;/P&gt;&lt;P&gt;            wa_msglog-msgv1 = it_msgtab-msgv1.&lt;/P&gt;&lt;P&gt;            wa_msglog-msgv2 = it_msgtab-msgv2.&lt;/P&gt;&lt;P&gt;            wa_msglog-msgv3 = it_msgtab-msgv3.&lt;/P&gt;&lt;P&gt;            wa_msglog-msgv4 = it_msgtab-msgv4.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;            CALL FUNCTION 'MESSAGE_TEXTS_READ'&lt;/P&gt;&lt;P&gt;              EXPORTING&lt;/P&gt;&lt;P&gt;                msg_log_imp  = wa_msglog&lt;/P&gt;&lt;P&gt;              IMPORTING&lt;/P&gt;&lt;P&gt;                msg_text_exp = wa_msgtxt.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;            IF sy-subrc = 0.&lt;/P&gt;&lt;P&gt;              CLEAR it_errmat.&lt;/P&gt;&lt;P&gt;              it_errmat-recno = lv_count.&lt;/P&gt;&lt;P&gt;              it_errmat-kschl = it_extract-kschl1.&lt;/P&gt;&lt;P&gt;              it_errmat-matnr = it_extract-matnr.&lt;/P&gt;&lt;P&gt;              it_errmat-status = text-020.&lt;/P&gt;&lt;P&gt;              it_errmat-bdcmsg = wa_msgtxt-msgtx.&lt;/P&gt;&lt;P&gt;              APPEND it_errmat.&lt;/P&gt;&lt;P&gt;            ENDIF.&lt;/P&gt;&lt;P&gt;          ENDLOOP.&lt;/P&gt;&lt;P&gt;        ELSE.&lt;/P&gt;&lt;P&gt;          LOOP AT it_msgtab.&lt;/P&gt;&lt;P&gt;            CLEAR wa_msglog.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;            wa_msglog-msgid = it_msgtab-msgid.&lt;/P&gt;&lt;P&gt;            wa_msglog-msgno = it_msgtab-msgnr.&lt;/P&gt;&lt;P&gt;            wa_msglog-msgty = it_msgtab-msgtyp.&lt;/P&gt;&lt;P&gt;            wa_msglog-msgv1 = it_msgtab-msgv1.&lt;/P&gt;&lt;P&gt;            wa_msglog-msgv2 = it_msgtab-msgv2.&lt;/P&gt;&lt;P&gt;            wa_msglog-msgv3 = it_msgtab-msgv3.&lt;/P&gt;&lt;P&gt;            wa_msglog-msgv4 = it_msgtab-msgv4.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;            CALL FUNCTION 'MESSAGE_TEXTS_READ'&lt;/P&gt;&lt;P&gt;              EXPORTING&lt;/P&gt;&lt;P&gt;                msg_log_imp  = wa_msglog&lt;/P&gt;&lt;P&gt;              IMPORTING&lt;/P&gt;&lt;P&gt;                msg_text_exp = wa_msgtxt.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;            IF sy-subrc = 0.&lt;/P&gt;&lt;P&gt;              CLEAR it_errmat.&lt;/P&gt;&lt;P&gt;              it_errmat-recno = lv_count.&lt;/P&gt;&lt;P&gt;              it_errmat-kschl = it_extract-kschl1.&lt;/P&gt;&lt;P&gt;              it_errmat-matnr = it_extract-matnr.&lt;/P&gt;&lt;P&gt;              it_errmat-status = text-021.&lt;/P&gt;&lt;P&gt;              it_errmat-bdcmsg = wa_msgtxt-msgtx.&lt;/P&gt;&lt;P&gt;              APPEND it_errmat.&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;        COMMIT WORK AND WAIT.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;************&lt;/P&gt;&lt;P&gt;*case 4&lt;/P&gt;&lt;P&gt;************&lt;/P&gt;&lt;P&gt;      ELSEIF lv_tempdat1 &amp;lt; a004-datab AND&lt;/P&gt;&lt;P&gt;              lv_tempdat2 &amp;gt; a004-datab AND&lt;/P&gt;&lt;P&gt;               lv_tempdat2 &amp;lt; a004-datbi.&lt;/P&gt;&lt;P&gt;        CLEAR lv_datab.&lt;/P&gt;&lt;P&gt;        REFRESH bdcdata.&lt;/P&gt;&lt;P&gt;        CLEAR bdcdata.&lt;/P&gt;&lt;P&gt;        PERFORM bdc_dynpro      USING 'SAPMV13A' '0100'.&lt;/P&gt;&lt;P&gt;        PERFORM bdc_field       USING 'BDC_CURSOR' 'RV13A-KSCHL'.&lt;/P&gt;&lt;P&gt;        PERFORM bdc_field       USING 'BDC_OKCODE' '=ANTA'.&lt;/P&gt;&lt;P&gt;        PERFORM bdc_field       USING 'RV13A-KSCHL' it_extract-kschl1.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;        PERFORM bdc_dynpro      USING 'SAPLV14A' '0100'.&lt;/P&gt;&lt;P&gt;        PERFORM bdc_field       USING 'BDC_CURSOR' 'RV130-SELKZ(02)'.&lt;/P&gt;&lt;P&gt;        PERFORM bdc_field       USING 'BDC_OKCODE' '=WEIT'.&lt;/P&gt;&lt;P&gt;        PERFORM bdc_field       USING 'RV130-SELKZ(01)'  ''.&lt;/P&gt;&lt;P&gt;        PERFORM bdc_field       USING 'RV130-SELKZ(02)'  'X'.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;        PERFORM bdc_dynpro      USING 'RV13A004' '1000'.&lt;/P&gt;&lt;P&gt;        PERFORM bdc_field       USING 'BDC_CURSOR' 'F001'.&lt;/P&gt;&lt;P&gt;        PERFORM bdc_field       USING 'BDC_OKCODE' '=ONLI'.&lt;/P&gt;&lt;P&gt;        PERFORM bdc_field       USING 'F001' it_extract-vkorg.&lt;/P&gt;&lt;P&gt;        PERFORM bdc_field       USING 'F002' it_extract-vtweg.&lt;/P&gt;&lt;P&gt;        PERFORM bdc_field       USING 'F003-LOW' it_extract-matnr.&lt;/P&gt;&lt;P&gt;        CLEAR lv_sydate.&lt;/P&gt;&lt;P&gt;        lv_sydate(2) = sy-datum+6(2).&lt;/P&gt;&lt;P&gt;        lv_sydate&lt;EM&gt;2(2) = sy-datum&lt;/EM&gt;4(2).&lt;/P&gt;&lt;P&gt;        lv_sydate+4(4) = sy-datum(4).&lt;/P&gt;&lt;P&gt;        PERFORM bdc_field       USING 'SEL_DATE' lv_sydate.&lt;/P&gt;&lt;P&gt;        CLEAR lv_sydate.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;        PERFORM bdc_dynpro      USING 'SAPMV13A' '1004'.&lt;/P&gt;&lt;P&gt;        PERFORM bdc_field       USING 'BDC_CURSOR' 'RV13A-DATBI(01)'.&lt;/P&gt;&lt;P&gt;        PERFORM bdc_field       USING 'BDC_OKCODE' '=SICH'.&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;       PERFORM bdc_field     USING 'KONP-KBETR(01)' it_extract-kbetr3.&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;        lv_datab = lv_tempdat2.&lt;/P&gt;&lt;P&gt;        ADD 1 TO lv_datab.&lt;/P&gt;&lt;P&gt;        CLEAR lv_tempdat.&lt;/P&gt;&lt;P&gt;        lv_tempdat(2) = lv_datab+6(2).&lt;/P&gt;&lt;P&gt;        lv_tempdat&lt;EM&gt;2(2) = lv_datab&lt;/EM&gt;4(2).&lt;/P&gt;&lt;P&gt;        lv_tempdat+4(4) = lv_datab(4).&lt;/P&gt;&lt;P&gt;        lv_datab = lv_tempdat.&lt;/P&gt;&lt;P&gt;        CLEAR lv_tempdat.&lt;/P&gt;&lt;P&gt;        PERFORM bdc_field       USING 'RV13A-DATAB(01)' lv_datab.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;        REFRESH it_msgtab.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;        CALL TRANSACTION 'VK12'&lt;/P&gt;&lt;P&gt;                          USING bdcdata&lt;/P&gt;&lt;P&gt;                          MODE 'N'&lt;/P&gt;&lt;P&gt;                          UPDATE 'S'&lt;/P&gt;&lt;P&gt;                          MESSAGES INTO it_msgtab.&lt;/P&gt;&lt;P&gt;        IF sy-subrc = 0.&lt;/P&gt;&lt;P&gt;          ADD 1 TO w_data_bdc_recs.&lt;/P&gt;&lt;P&gt;          DELETE ADJACENT DUPLICATES FROM it_msgtab.&lt;/P&gt;&lt;P&gt;          LOOP AT it_msgtab.&lt;/P&gt;&lt;P&gt;            CLEAR wa_msglog.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;            wa_msglog-msgid = it_msgtab-msgid.&lt;/P&gt;&lt;P&gt;            wa_msglog-msgno = it_msgtab-msgnr.&lt;/P&gt;&lt;P&gt;            wa_msglog-msgty = it_msgtab-msgtyp.&lt;/P&gt;&lt;P&gt;            wa_msglog-msgv1 = it_msgtab-msgv1.&lt;/P&gt;&lt;P&gt;            wa_msglog-msgv2 = it_msgtab-msgv2.&lt;/P&gt;&lt;P&gt;            wa_msglog-msgv3 = it_msgtab-msgv3.&lt;/P&gt;&lt;P&gt;            wa_msglog-msgv4 = it_msgtab-msgv4.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;            CALL FUNCTION 'MESSAGE_TEXTS_READ'&lt;/P&gt;&lt;P&gt;              EXPORTING&lt;/P&gt;&lt;P&gt;                msg_log_imp  = wa_msglog&lt;/P&gt;&lt;P&gt;              IMPORTING&lt;/P&gt;&lt;P&gt;                msg_text_exp = wa_msgtxt.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;            IF sy-subrc = 0.&lt;/P&gt;&lt;P&gt;              CLEAR it_errmat.&lt;/P&gt;&lt;P&gt;              it_errmat-recno = lv_count.&lt;/P&gt;&lt;P&gt;              it_errmat-kschl = it_extract-kschl1.&lt;/P&gt;&lt;P&gt;              it_errmat-matnr = it_extract-matnr.&lt;/P&gt;&lt;P&gt;              it_errmat-status = text-020.&lt;/P&gt;&lt;P&gt;              it_errmat-bdcmsg = wa_msgtxt-msgtx.&lt;/P&gt;&lt;P&gt;              APPEND it_errmat.&lt;/P&gt;&lt;P&gt;            ENDIF.&lt;/P&gt;&lt;P&gt;          ENDLOOP.&lt;/P&gt;&lt;P&gt;        ELSE.&lt;/P&gt;&lt;P&gt;          LOOP AT it_msgtab.&lt;/P&gt;&lt;P&gt;            CLEAR wa_msglog.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;            wa_msglog-msgid = it_msgtab-msgid.&lt;/P&gt;&lt;P&gt;            wa_msglog-msgno = it_msgtab-msgnr.&lt;/P&gt;&lt;P&gt;            wa_msglog-msgty = it_msgtab-msgtyp.&lt;/P&gt;&lt;P&gt;            wa_msglog-msgv1 = it_msgtab-msgv1.&lt;/P&gt;&lt;P&gt;            wa_msglog-msgv2 = it_msgtab-msgv2.&lt;/P&gt;&lt;P&gt;            wa_msglog-msgv3 = it_msgtab-msgv3.&lt;/P&gt;&lt;P&gt;            wa_msglog-msgv4 = it_msgtab-msgv4.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;            CALL FUNCTION 'MESSAGE_TEXTS_READ'&lt;/P&gt;&lt;P&gt;              EXPORTING&lt;/P&gt;&lt;P&gt;                msg_log_imp  = wa_msglog&lt;/P&gt;&lt;P&gt;              IMPORTING&lt;/P&gt;&lt;P&gt;                msg_text_exp = wa_msgtxt.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;            IF sy-subrc = 0.&lt;/P&gt;&lt;P&gt;              CLEAR it_errmat.&lt;/P&gt;&lt;P&gt;              it_errmat-recno = lv_count.&lt;/P&gt;&lt;P&gt;              it_errmat-kschl = it_extract-kschl1.&lt;/P&gt;&lt;P&gt;              it_errmat-matnr = it_extract-matnr.&lt;/P&gt;&lt;P&gt;              it_errmat-status = text-021.&lt;/P&gt;&lt;P&gt;              it_errmat-bdcmsg = wa_msgtxt-msgtx.&lt;/P&gt;&lt;P&gt;              APPEND it_errmat.&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;        COMMIT WORK AND WAIT.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;*second record in case 4&lt;/P&gt;&lt;P&gt;        PERFORM new_record_a004.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;************&lt;/P&gt;&lt;P&gt;*case 5&lt;/P&gt;&lt;P&gt;************&lt;/P&gt;&lt;P&gt;      ELSEIF lv_tempdat1 &amp;lt; a004-datab AND&lt;/P&gt;&lt;P&gt;              lv_tempdat2 &amp;lt; a004-datab.&lt;/P&gt;&lt;P&gt;        PERFORM new_record_a004.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;************&lt;/P&gt;&lt;P&gt;*case 6&lt;/P&gt;&lt;P&gt;************&lt;/P&gt;&lt;P&gt;      ELSEIF lv_tempdat1 &amp;gt; a004-datab AND&lt;/P&gt;&lt;P&gt;              lv_tempdat2 &amp;gt; a004-datab.&lt;/P&gt;&lt;P&gt;        PERFORM new_record_a004.&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;Case 7&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;*************************&lt;/P&gt;&lt;P&gt;      ELSEIF lv_tempdat1 &amp;gt; a004-datab AND&lt;/P&gt;&lt;P&gt;          lv_tempdat1 &amp;lt; a004-datbi.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;*changing the existing record wherein 'Valid from' date is changed to&lt;/P&gt;&lt;P&gt;*'From date + 1'. Here 'To date' is from input file.&lt;/P&gt;&lt;P&gt;        CLEAR lv_datab.&lt;/P&gt;&lt;P&gt;        REFRESH bdcdata.&lt;/P&gt;&lt;P&gt;        CLEAR bdcdata.&lt;/P&gt;&lt;P&gt;        PERFORM bdc_dynpro      USING 'SAPMV13A' '0100'.&lt;/P&gt;&lt;P&gt;        PERFORM bdc_field       USING 'BDC_CURSOR' 'RV13A-KSCHL'.&lt;/P&gt;&lt;P&gt;        PERFORM bdc_field       USING 'BDC_OKCODE' '=ANTA'.&lt;/P&gt;&lt;P&gt;        PERFORM bdc_field       USING 'RV13A-KSCHL' it_extract-kschl1.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;        PERFORM bdc_dynpro      USING 'SAPLV14A' '0100'.&lt;/P&gt;&lt;P&gt;        PERFORM bdc_field       USING 'BDC_CURSOR' 'RV130-SELKZ(02)'.&lt;/P&gt;&lt;P&gt;        PERFORM bdc_field       USING 'BDC_OKCODE' '=WEIT'.&lt;/P&gt;&lt;P&gt;        PERFORM bdc_field       USING 'RV130-SELKZ(01)'  ''.&lt;/P&gt;&lt;P&gt;        PERFORM bdc_field       USING 'RV130-SELKZ(02)'  'X'.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;        PERFORM bdc_dynpro      USING 'RV13A004' '1000'.&lt;/P&gt;&lt;P&gt;        PERFORM bdc_field       USING 'BDC_CURSOR' 'F001'.&lt;/P&gt;&lt;P&gt;        PERFORM bdc_field       USING 'BDC_OKCODE' '=ONLI'.&lt;/P&gt;&lt;P&gt;        PERFORM bdc_field       USING 'F001' it_extract-vkorg.&lt;/P&gt;&lt;P&gt;        PERFORM bdc_field       USING 'F002' it_extract-vtweg.&lt;/P&gt;&lt;P&gt;        PERFORM bdc_field       USING 'F003-LOW' it_extract-matnr.&lt;/P&gt;&lt;P&gt;        CLEAR lv_sydate.&lt;/P&gt;&lt;P&gt;        lv_sydate(2) = sy-datum+6(2).&lt;/P&gt;&lt;P&gt;        lv_sydate&lt;EM&gt;2(2) = sy-datum&lt;/EM&gt;4(2).&lt;/P&gt;&lt;P&gt;        lv_sydate+4(4) = sy-datum(4).&lt;/P&gt;&lt;P&gt;        PERFORM bdc_field       USING 'SEL_DATE' lv_sydate.&lt;/P&gt;&lt;P&gt;        CLEAR lv_sydate.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;        PERFORM bdc_dynpro      USING 'SAPMV13A' '1004'.&lt;/P&gt;&lt;P&gt;        PERFORM bdc_field       USING 'BDC_CURSOR' 'RV13A-DATBI(01)'.&lt;/P&gt;&lt;P&gt;        PERFORM bdc_field       USING 'BDC_OKCODE' '=SICH'.&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;       PERFORM bdc_field     USING 'KONP-KBETR(01)' it_extract-kbetr3.&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;        lv_datab = lv_tempdat1.&lt;/P&gt;&lt;P&gt;        ADD 1 TO lv_datab.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;        CLEAR lv_tempdat.&lt;/P&gt;&lt;P&gt;        lv_tempdat(2) = lv_datab+6(2).&lt;/P&gt;&lt;P&gt;        lv_tempdat&lt;EM&gt;2(2) = lv_datab&lt;/EM&gt;4(2).&lt;/P&gt;&lt;P&gt;        lv_tempdat+4(4) = lv_datab(4).&lt;/P&gt;&lt;P&gt;        lv_datab = lv_tempdat.&lt;/P&gt;&lt;P&gt;        CLEAR lv_tempdat.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;        PERFORM bdc_field       USING 'RV13A-DATAB(01)' lv_datab.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;        REFRESH it_msgtab.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;        CALL TRANSACTION 'VK12'&lt;/P&gt;&lt;P&gt;                          USING bdcdata&lt;/P&gt;&lt;P&gt;                          MODE 'N'&lt;/P&gt;&lt;P&gt;                          UPDATE 'S'&lt;/P&gt;&lt;P&gt;                          MESSAGES INTO it_msgtab.&lt;/P&gt;&lt;P&gt;        IF sy-subrc = 0.&lt;/P&gt;&lt;P&gt;          ADD 1 TO w_data_bdc_recs.&lt;/P&gt;&lt;P&gt;          DELETE ADJACENT DUPLICATES FROM it_msgtab.&lt;/P&gt;&lt;P&gt;          LOOP AT it_msgtab.&lt;/P&gt;&lt;P&gt;            CLEAR wa_msglog.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;            wa_msglog-msgid = it_msgtab-msgid.&lt;/P&gt;&lt;P&gt;            wa_msglog-msgno = it_msgtab-msgnr.&lt;/P&gt;&lt;P&gt;            wa_msglog-msgty = it_msgtab-msgtyp.&lt;/P&gt;&lt;P&gt;            wa_msglog-msgv1 = it_msgtab-msgv1.&lt;/P&gt;&lt;P&gt;            wa_msglog-msgv2 = it_msgtab-msgv2.&lt;/P&gt;&lt;P&gt;            wa_msglog-msgv3 = it_msgtab-msgv3.&lt;/P&gt;&lt;P&gt;            wa_msglog-msgv4 = it_msgtab-msgv4.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;            CALL FUNCTION 'MESSAGE_TEXTS_READ'&lt;/P&gt;&lt;P&gt;              EXPORTING&lt;/P&gt;&lt;P&gt;                msg_log_imp  = wa_msglog&lt;/P&gt;&lt;P&gt;              IMPORTING&lt;/P&gt;&lt;P&gt;                msg_text_exp = wa_msgtxt.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;            IF sy-subrc = 0.&lt;/P&gt;&lt;P&gt;              CLEAR it_errmat.&lt;/P&gt;&lt;P&gt;              it_errmat-recno = lv_count.&lt;/P&gt;&lt;P&gt;              it_errmat-kschl = it_extract-kschl1.&lt;/P&gt;&lt;P&gt;              it_errmat-matnr = it_extract-matnr.&lt;/P&gt;&lt;P&gt;              it_errmat-status = text-020.&lt;/P&gt;&lt;P&gt;              it_errmat-bdcmsg = wa_msgtxt-msgtx.&lt;/P&gt;&lt;P&gt;              APPEND it_errmat.&lt;/P&gt;&lt;P&gt;            ENDIF.&lt;/P&gt;&lt;P&gt;          ENDLOOP.&lt;/P&gt;&lt;P&gt;        ELSE.&lt;/P&gt;&lt;P&gt;          LOOP AT it_msgtab.&lt;/P&gt;&lt;P&gt;            CLEAR wa_msglog.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;            wa_msglog-msgid = it_msgtab-msgid.&lt;/P&gt;&lt;P&gt;            wa_msglog-msgno = it_msgtab-msgnr.&lt;/P&gt;&lt;P&gt;            wa_msglog-msgty = it_msgtab-msgtyp.&lt;/P&gt;&lt;P&gt;            wa_msglog-msgv1 = it_msgtab-msgv1.&lt;/P&gt;&lt;P&gt;            wa_msglog-msgv2 = it_msgtab-msgv2.&lt;/P&gt;&lt;P&gt;            wa_msglog-msgv3 = it_msgtab-msgv3.&lt;/P&gt;&lt;P&gt;            wa_msglog-msgv4 = it_msgtab-msgv4.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;            CALL FUNCTION 'MESSAGE_TEXTS_READ'&lt;/P&gt;&lt;P&gt;              EXPORTING&lt;/P&gt;&lt;P&gt;                msg_log_imp  = wa_msglog&lt;/P&gt;&lt;P&gt;              IMPORTING&lt;/P&gt;&lt;P&gt;                msg_text_exp = wa_msgtxt.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;            IF sy-subrc = 0.&lt;/P&gt;&lt;P&gt;              CLEAR it_errmat.&lt;/P&gt;&lt;P&gt;              it_errmat-recno = lv_count.&lt;/P&gt;&lt;P&gt;              it_errmat-kschl = it_extract-kschl1.&lt;/P&gt;&lt;P&gt;              it_errmat-matnr = it_extract-matnr.&lt;/P&gt;&lt;P&gt;              it_errmat-status = text-021.&lt;/P&gt;&lt;P&gt;              it_errmat-bdcmsg = wa_msgtxt-msgtx.&lt;/P&gt;&lt;P&gt;              APPEND it_errmat.&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;        COMMIT WORK AND WAIT.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;*second record in case 7&lt;/P&gt;&lt;P&gt;        PERFORM new_record_a004.&lt;/P&gt;&lt;P&gt;****************&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;Case 8&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;****************&lt;/P&gt;&lt;P&gt;      ELSEIF lv_tempdat1 &amp;lt; a004-datab AND&lt;/P&gt;&lt;P&gt;          lv_tempdat2 = a004-datbi.&lt;/P&gt;&lt;P&gt;*changing the existing record wherein 'Valid from' date is changed to&lt;/P&gt;&lt;P&gt;*'From date + 1'. Here 'To date' is from input file.&lt;/P&gt;&lt;P&gt;        CLEAR lv_datab.&lt;/P&gt;&lt;P&gt;        REFRESH bdcdata.&lt;/P&gt;&lt;P&gt;        CLEAR bdcdata.&lt;/P&gt;&lt;P&gt;        PERFORM bdc_dynpro      USING 'SAPMV13A' '0100'.&lt;/P&gt;&lt;P&gt;        PERFORM bdc_field       USING 'BDC_CURSOR' 'RV13A-KSCHL'.&lt;/P&gt;&lt;P&gt;        PERFORM bdc_field       USING 'BDC_OKCODE' '=ANTA'.&lt;/P&gt;&lt;P&gt;        PERFORM bdc_field       USING 'RV13A-KSCHL' it_extract-kschl1.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;        PERFORM bdc_dynpro      USING 'SAPLV14A' '0100'.&lt;/P&gt;&lt;P&gt;        PERFORM bdc_field       USING 'BDC_CURSOR' 'RV130-SELKZ(02)'.&lt;/P&gt;&lt;P&gt;        PERFORM bdc_field       USING 'BDC_OKCODE' '=WEIT'.&lt;/P&gt;&lt;P&gt;        PERFORM bdc_field       USING 'RV130-SELKZ(01)'  ''.&lt;/P&gt;&lt;P&gt;        PERFORM bdc_field       USING 'RV130-SELKZ(02)'  'X'.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;        PERFORM bdc_dynpro      USING 'RV13A004' '1000'.&lt;/P&gt;&lt;P&gt;        PERFORM bdc_field       USING 'BDC_CURSOR' 'F001'.&lt;/P&gt;&lt;P&gt;        PERFORM bdc_field       USING 'BDC_OKCODE' '=ONLI'.&lt;/P&gt;&lt;P&gt;        PERFORM bdc_field       USING 'F001' it_extract-vkorg.&lt;/P&gt;&lt;P&gt;        PERFORM bdc_field       USING 'F002' it_extract-vtweg.&lt;/P&gt;&lt;P&gt;        PERFORM bdc_field       USING 'F003-LOW' it_extract-matnr.&lt;/P&gt;&lt;P&gt;        CLEAR lv_sydate.&lt;/P&gt;&lt;P&gt;        lv_sydate(2) = sy-datum+6(2).&lt;/P&gt;&lt;P&gt;        lv_sydate&lt;EM&gt;2(2) = sy-datum&lt;/EM&gt;4(2).&lt;/P&gt;&lt;P&gt;        lv_sydate+4(4) = sy-datum(4).&lt;/P&gt;&lt;P&gt;        PERFORM bdc_field       USING 'SEL_DATE' lv_sydate.&lt;/P&gt;&lt;P&gt;        CLEAR lv_sydate.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;        PERFORM bdc_dynpro      USING 'SAPMV13A' '1004'.&lt;/P&gt;&lt;P&gt;        PERFORM bdc_field       USING 'BDC_CURSOR' 'RV13A-DATBI(01)'.&lt;/P&gt;&lt;P&gt;        PERFORM bdc_field       USING 'BDC_OKCODE' '=SICH'.&lt;/P&gt;&lt;P&gt;        PERFORM bdc_field     USING 'KONP-KBETR(01)' it_extract-kbetr3.&lt;/P&gt;&lt;P&gt;        lv_datab = lv_tempdat1.&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;     ADD 1 TO lv_datab.&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;        CLEAR lv_tempdat.&lt;/P&gt;&lt;P&gt;        lv_tempdat(2) = lv_datab+6(2).&lt;/P&gt;&lt;P&gt;        lv_tempdat&lt;EM&gt;2(2) = lv_datab&lt;/EM&gt;4(2).&lt;/P&gt;&lt;P&gt;        lv_tempdat+4(4) = lv_datab(4).&lt;/P&gt;&lt;P&gt;        lv_datab = lv_tempdat.&lt;/P&gt;&lt;P&gt;        CLEAR lv_tempdat.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;        PERFORM bdc_field       USING 'RV13A-DATAB(01)' lv_datab.&lt;/P&gt;&lt;P&gt;        PERFORM bdc_field       USING 'BDC_OKCODE' '=SICH'.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;        REFRESH it_msgtab.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;        CALL TRANSACTION 'VK12'&lt;/P&gt;&lt;P&gt;                          USING bdcdata&lt;/P&gt;&lt;P&gt;                          MODE 'N'&lt;/P&gt;&lt;P&gt;                          UPDATE 'S'&lt;/P&gt;&lt;P&gt;                          MESSAGES INTO it_msgtab.&lt;/P&gt;&lt;P&gt;        IF sy-subrc = 0.&lt;/P&gt;&lt;P&gt;          ADD 1 TO w_data_bdc_recs.&lt;/P&gt;&lt;P&gt;          DELETE ADJACENT DUPLICATES FROM it_msgtab.&lt;/P&gt;&lt;P&gt;          LOOP AT it_msgtab.&lt;/P&gt;&lt;P&gt;            CLEAR wa_msglog.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;            wa_msglog-msgid = it_msgtab-msgid.&lt;/P&gt;&lt;P&gt;            wa_msglog-msgno = it_msgtab-msgnr.&lt;/P&gt;&lt;P&gt;            wa_msglog-msgty = it_msgtab-msgtyp.&lt;/P&gt;&lt;P&gt;            wa_msglog-msgv1 = it_msgtab-msgv1.&lt;/P&gt;&lt;P&gt;            wa_msglog-msgv2 = it_msgtab-msgv2.&lt;/P&gt;&lt;P&gt;            wa_msglog-msgv3 = it_msgtab-msgv3.&lt;/P&gt;&lt;P&gt;            wa_msglog-msgv4 = it_msgtab-msgv4.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;            CALL FUNCTION 'MESSAGE_TEXTS_READ'&lt;/P&gt;&lt;P&gt;              EXPORTING&lt;/P&gt;&lt;P&gt;                msg_log_imp  = wa_msglog&lt;/P&gt;&lt;P&gt;              IMPORTING&lt;/P&gt;&lt;P&gt;                msg_text_exp = wa_msgtxt.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;            IF sy-subrc = 0.&lt;/P&gt;&lt;P&gt;              CLEAR it_errmat.&lt;/P&gt;&lt;P&gt;              it_errmat-recno = lv_count.&lt;/P&gt;&lt;P&gt;              it_errmat-kschl = it_extract-kschl1.&lt;/P&gt;&lt;P&gt;              it_errmat-matnr = it_extract-matnr.&lt;/P&gt;&lt;P&gt;              it_errmat-status = text-020.&lt;/P&gt;&lt;P&gt;              it_errmat-bdcmsg = wa_msgtxt-msgtx.&lt;/P&gt;&lt;P&gt;              APPEND it_errmat.&lt;/P&gt;&lt;P&gt;            ENDIF.&lt;/P&gt;&lt;P&gt;          ENDLOOP.&lt;/P&gt;&lt;P&gt;        ELSE.&lt;/P&gt;&lt;P&gt;          LOOP AT it_msgtab.&lt;/P&gt;&lt;P&gt;            CLEAR wa_msglog.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;            wa_msglog-msgid = it_msgtab-msgid.&lt;/P&gt;&lt;P&gt;            wa_msglog-msgno = it_msgtab-msgnr.&lt;/P&gt;&lt;P&gt;            wa_msglog-msgty = it_msgtab-msgtyp.&lt;/P&gt;&lt;P&gt;            wa_msglog-msgv1 = it_msgtab-msgv1.&lt;/P&gt;&lt;P&gt;            wa_msglog-msgv2 = it_msgtab-msgv2.&lt;/P&gt;&lt;P&gt;            wa_msglog-msgv3 = it_msgtab-msgv3.&lt;/P&gt;&lt;P&gt;            wa_msglog-msgv4 = it_msgtab-msgv4.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;            CALL FUNCTION 'MESSAGE_TEXTS_READ'&lt;/P&gt;&lt;P&gt;              EXPORTING&lt;/P&gt;&lt;P&gt;                msg_log_imp  = wa_msglog&lt;/P&gt;&lt;P&gt;              IMPORTING&lt;/P&gt;&lt;P&gt;                msg_text_exp = wa_msgtxt.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;            IF sy-subrc = 0.&lt;/P&gt;&lt;P&gt;              CLEAR it_errmat.&lt;/P&gt;&lt;P&gt;              it_errmat-recno = lv_count.&lt;/P&gt;&lt;P&gt;              it_errmat-kschl = it_extract-kschl1.&lt;/P&gt;&lt;P&gt;              it_errmat-matnr = it_extract-matnr.&lt;/P&gt;&lt;P&gt;              it_errmat-status = text-021.&lt;/P&gt;&lt;P&gt;              it_errmat-bdcmsg = wa_msgtxt-msgtx.&lt;/P&gt;&lt;P&gt;              APPEND it_errmat.&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;        COMMIT WORK AND WAIT.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;*second record in case 8&lt;/P&gt;&lt;P&gt;        PERFORM new_record_a004.&lt;/P&gt;&lt;P&gt;      ENDIF.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;      CLEAR: lv_tempdat1, lv_tempdat2.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;    ELSE.&lt;/P&gt;&lt;P&gt;*Totally new record as no record found in table A004.&lt;/P&gt;&lt;P&gt;      REFRESH bdcdata.&lt;/P&gt;&lt;P&gt;      CLEAR bdcdata.&lt;/P&gt;&lt;P&gt;      PERFORM bdc_dynpro      USING 'SAPMV13A' '0100'.&lt;/P&gt;&lt;P&gt;      PERFORM bdc_field       USING 'BDC_CURSOR' 'RV13A-KSCHL'.&lt;/P&gt;&lt;P&gt;      PERFORM bdc_field       USING 'BDC_OKCODE' '=ANTA'.&lt;/P&gt;&lt;P&gt;      PERFORM bdc_field       USING 'RV13A-KSCHL' it_extract-kschl1.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;      PERFORM bdc_dynpro      USING 'SAPLV14A' '0100'.&lt;/P&gt;&lt;P&gt;      PERFORM bdc_field       USING 'BDC_CURSOR' 'RV130-SELKZ(02)'.&lt;/P&gt;&lt;P&gt;      PERFORM bdc_field       USING 'BDC_OKCODE' '=WEIT'.&lt;/P&gt;&lt;P&gt;      PERFORM bdc_field       USING 'RV130-SELKZ(01)'  ''.&lt;/P&gt;&lt;P&gt;      PERFORM bdc_field       USING 'RV130-SELKZ(02)'  'X'.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;      PERFORM bdc_dynpro      USING 'RV13A004' '1000'.&lt;/P&gt;&lt;P&gt;      PERFORM bdc_field       USING 'BDC_CURSOR' 'F003-LOW'.&lt;/P&gt;&lt;P&gt;      PERFORM bdc_field       USING 'BDC_OKCODE' '=ONLI'.&lt;/P&gt;&lt;P&gt;      PERFORM bdc_field       USING 'F001' it_extract-vkorg.&lt;/P&gt;&lt;P&gt;      PERFORM bdc_field       USING 'F002' it_extract-vtweg.&lt;/P&gt;&lt;P&gt;      PERFORM bdc_field       USING 'F003-LOW' it_extract-matnr.&lt;/P&gt;&lt;P&gt;      CLEAR lv_sydate.&lt;/P&gt;&lt;P&gt;      lv_sydate(2) = sy-datum+6(2).&lt;/P&gt;&lt;P&gt;      lv_sydate&lt;EM&gt;2(2) = sy-datum&lt;/EM&gt;4(2).&lt;/P&gt;&lt;P&gt;      lv_sydate+4(4) = sy-datum(4).&lt;/P&gt;&lt;P&gt;      PERFORM bdc_field       USING 'SEL_DATE' lv_sydate.&lt;/P&gt;&lt;P&gt;      CLEAR lv_sydate.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;      PERFORM bdc_dynpro      USING 'SAPMV13A' '1004'.&lt;/P&gt;&lt;P&gt;      PERFORM bdc_field       USING 'BDC_CURSOR' 'RV13A-DATBI(01)'.&lt;/P&gt;&lt;P&gt;      PERFORM bdc_field       USING 'BDC_OKCODE' '=SICH'.&lt;/P&gt;&lt;P&gt;      PERFORM bdc_field       USING 'KOMG-VKORG' it_extract-vkorg.&lt;/P&gt;&lt;P&gt;      PERFORM bdc_field       USING 'KOMG-VTWEG' it_extract-vtweg.&lt;/P&gt;&lt;P&gt;      PERFORM bdc_field       USING 'KOMG-MATNR(01)' it_extract-matnr.&lt;/P&gt;&lt;P&gt;      CLEAR lv_amnt.&lt;/P&gt;&lt;P&gt;      MOVE it_extract-kbetr3 TO lv_amnt.&lt;/P&gt;&lt;P&gt;      REPLACE '.' WITH ',' INTO lv_amnt.&lt;/P&gt;&lt;P&gt;      CONDENSE lv_amnt NO-GAPS.&lt;/P&gt;&lt;P&gt;      PERFORM bdc_field       USING 'KONP-KBETR(01)' lv_amnt.&lt;/P&gt;&lt;P&gt;      CLEAR lv_amnt.&lt;/P&gt;&lt;P&gt;      PERFORM bdc_field       USING 'KONP-KONWA(01)' 'EUR'.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;      IF NOT it_extract-datab IS INITIAL.&lt;/P&gt;&lt;P&gt;        PERFORM bdc_field      USING 'RV13A-DATAB(01)' it_extract-datab.&lt;/P&gt;&lt;P&gt;      ELSE.&lt;/P&gt;&lt;P&gt;        PERFORM bdc_field      USING 'RV13A-DATAB(01)' sy-datum.&lt;/P&gt;&lt;P&gt;      ENDIF.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;      IF NOT it_extract-datbi IS INITIAL.&lt;/P&gt;&lt;P&gt;        PERFORM bdc_field      USING 'RV13A-DATBI(01)' it_extract-datbi.&lt;/P&gt;&lt;P&gt;      ELSE.&lt;/P&gt;&lt;P&gt;        PERFORM bdc_field      USING 'RV13A-DATBI(01)' '31.12.9999'.&lt;/P&gt;&lt;P&gt;      ENDIF.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;      REFRESH it_msgtab.&lt;/P&gt;&lt;P&gt;      CALL TRANSACTION 'VK12'&lt;/P&gt;&lt;P&gt;                        USING bdcdata&lt;/P&gt;&lt;P&gt;                        MODE 'N'&lt;/P&gt;&lt;P&gt;                        UPDATE 'S'&lt;/P&gt;&lt;P&gt;                        MESSAGES INTO it_msgtab.&lt;/P&gt;&lt;P&gt;      IF sy-subrc = 0.&lt;/P&gt;&lt;P&gt;        ADD 1 TO w_data_bdc_recs.&lt;/P&gt;&lt;P&gt;        DELETE ADJACENT DUPLICATES FROM it_msgtab.&lt;/P&gt;&lt;P&gt;        LOOP AT it_msgtab.&lt;/P&gt;&lt;P&gt;          CLEAR wa_msglog.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;          wa_msglog-msgid = it_msgtab-msgid.&lt;/P&gt;&lt;P&gt;          wa_msglog-msgno = it_msgtab-msgnr.&lt;/P&gt;&lt;P&gt;          wa_msglog-msgty = it_msgtab-msgtyp.&lt;/P&gt;&lt;P&gt;          wa_msglog-msgv1 = it_msgtab-msgv1.&lt;/P&gt;&lt;P&gt;          wa_msglog-msgv2 = it_msgtab-msgv2.&lt;/P&gt;&lt;P&gt;          wa_msglog-msgv3 = it_msgtab-msgv3.&lt;/P&gt;&lt;P&gt;          wa_msglog-msgv4 = it_msgtab-msgv4.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;          CALL FUNCTION 'MESSAGE_TEXTS_READ'&lt;/P&gt;&lt;P&gt;            EXPORTING&lt;/P&gt;&lt;P&gt;              msg_log_imp  = wa_msglog&lt;/P&gt;&lt;P&gt;            IMPORTING&lt;/P&gt;&lt;P&gt;              msg_text_exp = wa_msgtxt.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;          IF sy-subrc = 0.&lt;/P&gt;&lt;P&gt;            CLEAR it_errmat.&lt;/P&gt;&lt;P&gt;            it_errmat-recno = lv_count.&lt;/P&gt;&lt;P&gt;            it_errmat-kschl = it_extract-kschl1.&lt;/P&gt;&lt;P&gt;            it_errmat-matnr = it_extract-matnr.&lt;/P&gt;&lt;P&gt;            it_errmat-status = text-020.&lt;/P&gt;&lt;P&gt;            it_errmat-bdcmsg = wa_msgtxt-msgtx.&lt;/P&gt;&lt;P&gt;            APPEND it_errmat.&lt;/P&gt;&lt;P&gt;          ENDIF.&lt;/P&gt;&lt;P&gt;        ENDLOOP.&lt;/P&gt;&lt;P&gt;      ELSE.&lt;/P&gt;&lt;P&gt;        LOOP AT it_msgtab.&lt;/P&gt;&lt;P&gt;          CLEAR wa_msglog.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;          wa_msglog-msgid = it_msgtab-msgid.&lt;/P&gt;&lt;P&gt;          wa_msglog-msgno = it_msgtab-msgnr.&lt;/P&gt;&lt;P&gt;          wa_msglog-msgty = it_msgtab-msgtyp.&lt;/P&gt;&lt;P&gt;          wa_msglog-msgv1 = it_msgtab-msgv1.&lt;/P&gt;&lt;P&gt;          wa_msglog-msgv2 = it_msgtab-msgv2.&lt;/P&gt;&lt;P&gt;          wa_msglog-msgv3 = it_msgtab-msgv3.&lt;/P&gt;&lt;P&gt;          wa_msglog-msgv4 = it_msgtab-msgv4.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;          CALL FUNCTION 'MESSAGE_TEXTS_READ'&lt;/P&gt;&lt;P&gt;            EXPORTING&lt;/P&gt;&lt;P&gt;              msg_log_imp  = wa_msglog&lt;/P&gt;&lt;P&gt;            IMPORTING&lt;/P&gt;&lt;P&gt;              msg_text_exp = wa_msgtxt.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;          IF sy-subrc = 0.&lt;/P&gt;&lt;P&gt;            CLEAR it_errmat.&lt;/P&gt;&lt;P&gt;            it_errmat-recno = lv_count.&lt;/P&gt;&lt;P&gt;            it_errmat-kschl = it_extract-kschl1.&lt;/P&gt;&lt;P&gt;            it_errmat-matnr = it_extract-matnr.&lt;/P&gt;&lt;P&gt;            it_errmat-status = text-021.&lt;/P&gt;&lt;P&gt;            it_errmat-bdcmsg = wa_msgtxt-msgtx.&lt;/P&gt;&lt;P&gt;            APPEND it_errmat.&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;      COMMIT WORK AND WAIT.&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;&lt;/P&gt;&lt;P&gt;  IF NOT it_extract-kschl2 IS INITIAL.&lt;/P&gt;&lt;P&gt;*for the condition ZKDT&lt;/P&gt;&lt;P&gt;    SELECT SINGLE * FROM a004&lt;/P&gt;&lt;P&gt;                        WHERE kappl = 'V'&lt;/P&gt;&lt;P&gt;                        AND   kschl = it_extract-kschl2&lt;/P&gt;&lt;P&gt;                        AND   vkorg = it_extract-vkorg&lt;/P&gt;&lt;P&gt;                        AND   vtweg = it_extract-vtweg&lt;/P&gt;&lt;P&gt;                        AND   matnr = it_extract-matnr&lt;/P&gt;&lt;P&gt;                        AND   datbi &amp;gt;= sy-datum&lt;/P&gt;&lt;P&gt;                        AND   datab &amp;lt;= sy-datum.&lt;/P&gt;&lt;P&gt;    IF sy-subrc = 0.&lt;/P&gt;&lt;P&gt;      REFRESH bdcdata.&lt;/P&gt;&lt;P&gt;      CLEAR bdcdata.&lt;/P&gt;&lt;P&gt;      CLEAR: lv_tempdat1, lv_tempdat2.&lt;/P&gt;&lt;P&gt;      lv_tempdat1+6(2) = it_extract-datab(2).&lt;/P&gt;&lt;P&gt;      lv_tempdat1&lt;EM&gt;4(2) = it_extract-datab&lt;/EM&gt;2(2).&lt;/P&gt;&lt;P&gt;      lv_tempdat1(4) = it_extract-datab+4(4).&lt;/P&gt;&lt;P&gt;      lv_tempdat2+6(2) = it_extract-datbi(2).&lt;/P&gt;&lt;P&gt;      lv_tempdat2&lt;EM&gt;4(2) = it_extract-datbi&lt;/EM&gt;2(2).&lt;/P&gt;&lt;P&gt;      lv_tempdat2(4) = it_extract-datbi+4(4).&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;****************&lt;/P&gt;&lt;P&gt;*Case 1&lt;/P&gt;&lt;P&gt;****************&lt;/P&gt;&lt;P&gt;      IF lv_tempdat1 = a004-datab AND&lt;/P&gt;&lt;P&gt;          lv_tempdat2 &amp;lt; a004-datbi AND&lt;/P&gt;&lt;P&gt;           lv_tempdat2 &amp;gt;= a004-datbi.&lt;/P&gt;&lt;P&gt;*changing the existing record wherein 'Valid to' date is changed to&lt;/P&gt;&lt;P&gt;*'From date - 1'. Here 'From date' is from input file.&lt;/P&gt;&lt;P&gt;        CLEAR lv_datab.&lt;/P&gt;&lt;P&gt;        REFRESH bdcdata.&lt;/P&gt;&lt;P&gt;        CLEAR bdcdata.&lt;/P&gt;&lt;P&gt;        PERFORM bdc_dynpro      USING 'SAPMV13A' '0100'.&lt;/P&gt;&lt;P&gt;        PERFORM bdc_field       USING 'BDC_CURSOR' 'RV13A-KSCHL'.&lt;/P&gt;&lt;P&gt;        PERFORM bdc_field       USING 'BDC_OKCODE' '=ANTA'.&lt;/P&gt;&lt;P&gt;        PERFORM bdc_field       USING 'RV13A-KSCHL' it_extract-kschl2.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;        PERFORM bdc_dynpro      USING 'SAPLV14A' '0100'.&lt;/P&gt;&lt;P&gt;        PERFORM bdc_field       USING 'BDC_CURSOR' 'RV130-SELKZ(02)'.&lt;/P&gt;&lt;P&gt;        PERFORM bdc_field       USING 'BDC_OKCODE' '=WEIT'.&lt;/P&gt;&lt;P&gt;        PERFORM bdc_field       USING 'RV130-SELKZ(01)'  ''.&lt;/P&gt;&lt;P&gt;        PERFORM bdc_field       USING 'RV130-SELKZ(02)'  'X'.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;        PERFORM bdc_dynpro      USING 'RV13A004' '1000'.&lt;/P&gt;&lt;P&gt;        PERFORM bdc_field       USING 'BDC_CURSOR' 'F001'.&lt;/P&gt;&lt;P&gt;        PERFORM bdc_field       USING 'BDC_OKCODE' '=ONLI'.&lt;/P&gt;&lt;P&gt;        PERFORM bdc_field       USING 'F001' it_extract-vkorg.&lt;/P&gt;&lt;P&gt;        PERFORM bdc_field       USING 'F002' it_extract-vtweg.&lt;/P&gt;&lt;P&gt;        PERFORM bdc_field       USING 'F003-LOW' it_extract-matnr.&lt;/P&gt;&lt;P&gt;        CLEAR lv_sydate.&lt;/P&gt;&lt;P&gt;        lv_sydate(2) = sy-datum+6(2).&lt;/P&gt;&lt;P&gt;        lv_sydate&lt;EM&gt;2(2) = sy-datum&lt;/EM&gt;4(2).&lt;/P&gt;&lt;P&gt;        lv_sydate+4(4) = sy-datum(4).&lt;/P&gt;&lt;P&gt;        PERFORM bdc_field       USING 'SEL_DATE' lv_sydate.&lt;/P&gt;&lt;P&gt;        CLEAR lv_sydate.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;        PERFORM bdc_dynpro      USING 'SAPMV13A' '1004'.&lt;/P&gt;&lt;P&gt;        PERFORM bdc_field       USING 'BDC_CURSOR' 'RV13A-DATBI(01)'.&lt;/P&gt;&lt;P&gt;        PERFORM bdc_field       USING 'BDC_OKCODE' '=SICH'.&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;       PERFORM bdc_field     USING 'KONP-KBETR(01)' it_extract-kbetr3.&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;        lv_datab = lv_tempdat1.&lt;/P&gt;&lt;P&gt;        SUBTRACT 1 FROM lv_datab.&lt;/P&gt;&lt;P&gt;        CLEAR lv_tempdat.&lt;/P&gt;&lt;P&gt;        lv_tempdat(2) = lv_datab+6(2).&lt;/P&gt;&lt;P&gt;        lv_tempdat&lt;EM&gt;2(2) = lv_datab&lt;/EM&gt;4(2).&lt;/P&gt;&lt;P&gt;        lv_tempdat+4(4) = lv_datab(4).&lt;/P&gt;&lt;P&gt;        lv_datab = lv_tempdat.&lt;/P&gt;&lt;P&gt;        CLEAR lv_tempdat.&lt;/P&gt;&lt;P&gt;        PERFORM bdc_field       USING 'RV13A-DATBI(01)' lv_datab.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;        REFRESH it_msgtab.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;        CALL TRANSACTION 'VK12'&lt;/P&gt;&lt;P&gt;                          USING bdcdata&lt;/P&gt;&lt;P&gt;                          MODE 'N'&lt;/P&gt;&lt;P&gt;                          UPDATE 'S'&lt;/P&gt;&lt;P&gt;                          MESSAGES INTO it_msgtab.&lt;/P&gt;&lt;P&gt;        IF sy-subrc = 0.&lt;/P&gt;&lt;P&gt;          ADD 1 TO w_data_bdc_recs.&lt;/P&gt;&lt;P&gt;          DELETE ADJACENT DUPLICATES FROM it_msgtab.&lt;/P&gt;&lt;P&gt;          LOOP AT it_msgtab.&lt;/P&gt;&lt;P&gt;            CLEAR wa_msglog.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;            wa_msglog-msgid = it_msgtab-msgid.&lt;/P&gt;&lt;P&gt;            wa_msglog-msgno = it_msgtab-msgnr.&lt;/P&gt;&lt;P&gt;            wa_msglog-msgty = it_msgtab-msgtyp.&lt;/P&gt;&lt;P&gt;            wa_msglog-msgv1 = it_msgtab-msgv1.&lt;/P&gt;&lt;P&gt;            wa_msglog-msgv2 = it_msgtab-msgv2.&lt;/P&gt;&lt;P&gt;            wa_msglog-msgv3 = it_msgtab-msgv3.&lt;/P&gt;&lt;P&gt;            wa_msglog-msgv4 = it_msgtab-msgv4.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;            CALL FUNCTION 'MESSAGE_TEXTS_READ'&lt;/P&gt;&lt;P&gt;              EXPORTING&lt;/P&gt;&lt;P&gt;                msg_log_imp  = wa_msglog&lt;/P&gt;&lt;P&gt;              IMPORTING&lt;/P&gt;&lt;P&gt;                msg_text_exp = wa_msgtxt.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;            IF sy-subrc = 0.&lt;/P&gt;&lt;P&gt;              CLEAR it_errmat.&lt;/P&gt;&lt;P&gt;              it_errmat-recno = lv_count.&lt;/P&gt;&lt;P&gt;              it_errmat-kschl = it_extract-kschl2.&lt;/P&gt;&lt;P&gt;              it_errmat-matnr = it_extract-matnr.&lt;/P&gt;&lt;P&gt;              it_errmat-status = text-020.&lt;/P&gt;&lt;P&gt;              it_errmat-bdcmsg = wa_msgtxt-msgtx.&lt;/P&gt;&lt;P&gt;              APPEND it_errmat.&lt;/P&gt;&lt;P&gt;            ENDIF.&lt;/P&gt;&lt;P&gt;          ENDLOOP.&lt;/P&gt;&lt;P&gt;        ELSE.&lt;/P&gt;&lt;P&gt;          LOOP AT it_msgtab.&lt;/P&gt;&lt;P&gt;            CLEAR wa_msglog.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;            wa_msglog-msgid = it_msgtab-msgid.&lt;/P&gt;&lt;P&gt;            wa_msglog-msgno = it_msgtab-msgnr.&lt;/P&gt;&lt;P&gt;            wa_msglog-msgty = it_msgtab-msgtyp.&lt;/P&gt;&lt;P&gt;            wa_msglog-msgv1 = it_msgtab-msgv1.&lt;/P&gt;&lt;P&gt;            wa_msglog-msgv2 = it_msgtab-msgv2.&lt;/P&gt;&lt;P&gt;            wa_msglog-msgv3 = it_msgtab-msgv3.&lt;/P&gt;&lt;P&gt;            wa_msglog-msgv4 = it_msgtab-msgv4.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;            CALL FUNCTION 'MESSAGE_TEXTS_READ'&lt;/P&gt;&lt;P&gt;              EXPORTING&lt;/P&gt;&lt;P&gt;                msg_log_imp  = wa_msglog&lt;/P&gt;&lt;P&gt;              IMPORTING&lt;/P&gt;&lt;P&gt;                msg_text_exp = wa_msgtxt.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;            IF sy-subrc = 0.&lt;/P&gt;&lt;P&gt;              CLEAR it_errmat.&lt;/P&gt;&lt;P&gt;              it_errmat-recno = lv_count.&lt;/P&gt;&lt;P&gt;              it_errmat-kschl = it_extract-kschl2.&lt;/P&gt;&lt;P&gt;              it_errmat-matnr = it_extract-matnr.&lt;/P&gt;&lt;P&gt;              it_errmat-status = text-021.&lt;/P&gt;&lt;P&gt;              it_errmat-bdcmsg = wa_msgtxt-msgtx.&lt;/P&gt;&lt;P&gt;              APPEND it_errmat.&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;        COMMIT WORK AND WAIT.&lt;/P&gt;&lt;P&gt;*second record in case 1&lt;/P&gt;&lt;P&gt;        PERFORM new_record_a004_2.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;*case 2&lt;/P&gt;&lt;P&gt;*if validity period coincide, then just change the amount.&lt;/P&gt;&lt;P&gt;      ELSEIF lv_tempdat1 = a004-datab AND&lt;/P&gt;&lt;P&gt;          lv_tempdat2 = a004-datbi.&lt;/P&gt;&lt;P&gt;        CLEAR lv_datab.&lt;/P&gt;&lt;P&gt;        REFRESH bdcdata.&lt;/P&gt;&lt;P&gt;        CLEAR bdcdata.&lt;/P&gt;&lt;P&gt;        PERFORM bdc_dynpro      USING 'SAPMV13A' '0100'.&lt;/P&gt;&lt;P&gt;        PERFORM bdc_field       USING 'BDC_CURSOR' 'RV13A-KSCHL'.&lt;/P&gt;&lt;P&gt;        PERFORM bdc_field       USING 'BDC_OKCODE' '=ANTA'.&lt;/P&gt;&lt;P&gt;        PERFORM bdc_field       USING 'RV13A-KSCHL' it_extract-kschl2.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;        PERFORM bdc_dynpro      USING 'SAPLV14A' '0100'.&lt;/P&gt;&lt;P&gt;        PERFORM bdc_field       USING 'BDC_CURSOR' 'RV130-SELKZ(02)'.&lt;/P&gt;&lt;P&gt;        PERFORM bdc_field       USING 'BDC_OKCODE' '=WEIT'.&lt;/P&gt;&lt;P&gt;        PERFORM bdc_field       USING 'RV130-SELKZ(01)'  ''.&lt;/P&gt;&lt;P&gt;        PERFORM bdc_field       USING 'RV130-SELKZ(02)'  'X'.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;        PERFORM bdc_dynpro      USING 'RV13A004' '1000'.&lt;/P&gt;&lt;P&gt;        PERFORM bdc_field       USING 'BDC_CURSOR' 'F001'.&lt;/P&gt;&lt;P&gt;        PERFORM bdc_field       USING 'BDC_OKCODE' '=ONLI'.&lt;/P&gt;&lt;P&gt;        PERFORM bdc_field       USING 'F001' it_extract-vkorg.&lt;/P&gt;&lt;P&gt;        PERFORM bdc_field       USING 'F002' it_extract-vtweg.&lt;/P&gt;&lt;P&gt;        PERFORM bdc_field       USING 'F003-LOW' it_extract-matnr.&lt;/P&gt;&lt;P&gt;        CLEAR lv_sydate.&lt;/P&gt;&lt;P&gt;        lv_sydate(2) = sy-datum+6(2).&lt;/P&gt;&lt;P&gt;        lv_sydate&lt;EM&gt;2(2) = sy-datum&lt;/EM&gt;4(2).&lt;/P&gt;&lt;P&gt;        lv_sydate+4(4) = sy-datum(4).&lt;/P&gt;&lt;P&gt;        PERFORM bdc_field       USING 'SEL_DATE' lv_sydate.&lt;/P&gt;&lt;P&gt;        CLEAR lv_sydate.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;        PERFORM bdc_dynpro      USING 'SAPMV13A' '1004'.&lt;/P&gt;&lt;P&gt;        PERFORM bdc_field       USING 'BDC_CURSOR' 'RV13A-DATBI(01)'.&lt;/P&gt;&lt;P&gt;        PERFORM bdc_field       USING 'BDC_OKCODE' '=SICH'.&lt;/P&gt;&lt;P&gt;        CLEAR lv_amnt.&lt;/P&gt;&lt;P&gt;        MOVE it_extract-kbetr4 TO lv_amnt.&lt;/P&gt;&lt;P&gt;        REPLACE '.' WITH ',' INTO lv_amnt.&lt;/P&gt;&lt;P&gt;        CONDENSE lv_amnt NO-GAPS.&lt;/P&gt;&lt;P&gt;        PERFORM bdc_field     USING 'KONP-KBETR(01)' lv_amnt.&lt;/P&gt;&lt;P&gt;        CLEAR lv_amnt.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;        REFRESH it_msgtab.&lt;/P&gt;&lt;P&gt;        CALL TRANSACTION 'VK12'&lt;/P&gt;&lt;P&gt;                          USING bdcdata&lt;/P&gt;&lt;P&gt;                          MODE 'N'&lt;/P&gt;&lt;P&gt;                          UPDATE 'S'&lt;/P&gt;&lt;P&gt;                          MESSAGES INTO it_msgtab.&lt;/P&gt;&lt;P&gt;        IF sy-subrc = 0.&lt;/P&gt;&lt;P&gt;          ADD 1 TO w_data_bdc_recs.&lt;/P&gt;&lt;P&gt;          DELETE ADJACENT DUPLICATES FROM it_msgtab.&lt;/P&gt;&lt;P&gt;          LOOP AT it_msgtab.&lt;/P&gt;&lt;P&gt;            CLEAR wa_msglog.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;            wa_msglog-msgid = it_msgtab-msgid.&lt;/P&gt;&lt;P&gt;            wa_msglog-msgno = it_msgtab-msgnr.&lt;/P&gt;&lt;P&gt;            wa_msglog-msgty = it_msgtab-msgtyp.&lt;/P&gt;&lt;P&gt;            wa_msglog-msgv1 = it_msgtab-msgv1.&lt;/P&gt;&lt;P&gt;            wa_msglog-msgv2 = it_msgtab-msgv2.&lt;/P&gt;&lt;P&gt;            wa_msglog-msgv3 = it_msgtab-msgv3.&lt;/P&gt;&lt;P&gt;            wa_msglog-msgv4 = it_msgtab-msgv4.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;            CALL FUNCTION 'MESSAGE_TEXTS_READ'&lt;/P&gt;&lt;P&gt;              EXPORTING&lt;/P&gt;&lt;P&gt;                msg_log_imp  = wa_msglog&lt;/P&gt;&lt;P&gt;              IMPORTING&lt;/P&gt;&lt;P&gt;                msg_text_exp = wa_msgtxt.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;            IF sy-subrc = 0.&lt;/P&gt;&lt;P&gt;              CLEAR it_errmat.&lt;/P&gt;&lt;P&gt;              it_errmat-recno = lv_count.&lt;/P&gt;&lt;P&gt;              it_errmat-kschl = it_extract-kschl2.&lt;/P&gt;&lt;P&gt;              it_errmat-matnr = it_extract-matnr.&lt;/P&gt;&lt;P&gt;              it_errmat-status = text-020.&lt;/P&gt;&lt;P&gt;              it_errmat-bdcmsg = wa_msgtxt-msgtx.&lt;/P&gt;&lt;P&gt;              APPEND it_errmat.&lt;/P&gt;&lt;P&gt;            ENDIF.&lt;/P&gt;&lt;P&gt;          ENDLOOP.&lt;/P&gt;&lt;P&gt;        ELSE.&lt;/P&gt;&lt;P&gt;          LOOP AT it_msgtab.&lt;/P&gt;&lt;P&gt;            CLEAR wa_msglog.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;            wa_msglog-msgid = it_msgtab-msgid.&lt;/P&gt;&lt;P&gt;            wa_msglog-msgno = it_msgtab-msgnr.&lt;/P&gt;&lt;P&gt;            wa_msglog-msgty = it_msgtab-msgtyp.&lt;/P&gt;&lt;P&gt;            wa_msglog-msgv1 = it_msgtab-msgv1.&lt;/P&gt;&lt;P&gt;            wa_msglog-msgv2 = it_msgtab-msgv2.&lt;/P&gt;&lt;P&gt;            wa_msglog-msgv3 = it_msgtab-msgv3.&lt;/P&gt;&lt;P&gt;            wa_msglog-msgv4 = it_msgtab-msgv4.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;            CALL FUNCTION 'MESSAGE_TEXTS_READ'&lt;/P&gt;&lt;P&gt;              EXPORTING&lt;/P&gt;&lt;P&gt;                msg_log_imp  = wa_msglog&lt;/P&gt;&lt;P&gt;              IMPORTING&lt;/P&gt;&lt;P&gt;                msg_text_exp = wa_msgtxt.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;            IF sy-subrc = 0.&lt;/P&gt;&lt;P&gt;              CLEAR it_errmat.&lt;/P&gt;&lt;P&gt;              it_errmat-recno = lv_count.&lt;/P&gt;&lt;P&gt;              it_errmat-kschl = it_extract-kschl2.&lt;/P&gt;&lt;P&gt;              it_errmat-matnr = it_extract-matnr.&lt;/P&gt;&lt;P&gt;              it_errmat-status = text-021.&lt;/P&gt;&lt;P&gt;              it_errmat-bdcmsg = wa_msgtxt-msgtx.&lt;/P&gt;&lt;P&gt;              APPEND it_errmat.&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;        COMMIT WORK AND WAIT.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;********************&lt;/P&gt;&lt;P&gt;*Case 3            *&lt;/P&gt;&lt;P&gt;********************&lt;/P&gt;&lt;P&gt;      ELSEIF lv_tempdat1 &amp;gt; a004-datab AND&lt;/P&gt;&lt;P&gt;              lv_tempdat1 &amp;lt; a004-datbi AND&lt;/P&gt;&lt;P&gt;               lv_tempdat2 &amp;lt; a004-datbi.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;        CLEAR lv_datab.&lt;/P&gt;&lt;P&gt;        REFRESH bdcdata.&lt;/P&gt;&lt;P&gt;        CLEAR bdcdata.&lt;/P&gt;&lt;P&gt;        PERFORM bdc_dynpro      USING 'SAPMV13A' '0100'.&lt;/P&gt;&lt;P&gt;        PERFORM bdc_field       USING 'BDC_CURSOR' 'RV13A-KSCHL'.&lt;/P&gt;&lt;P&gt;        PERFORM bdc_field       USING 'BDC_OKCODE' '=ANTA'.&lt;/P&gt;&lt;P&gt;        PERFORM bdc_field       USING 'RV13A-KSCHL' it_extract-kschl2.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;        PERFORM bdc_dynpro      USING 'SAPLV14A' '0100'.&lt;/P&gt;&lt;P&gt;        PERFORM bdc_field       USING 'BDC_CURSOR' 'RV130-SELKZ(02)'.&lt;/P&gt;&lt;P&gt;        PERFORM bdc_field       USING 'BDC_OKCODE' '=WEIT'.&lt;/P&gt;&lt;P&gt;        PERFORM bdc_field       USING 'RV130-SELKZ(01)'  ''.&lt;/P&gt;&lt;P&gt;        PERFORM bdc_field       USING 'RV130-SELKZ(02)'  'X'.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;        PERFORM bdc_dynpro      USING 'RV13A004' '1000'.&lt;/P&gt;&lt;P&gt;        PERFORM bdc_field       USING 'BDC_CURSOR' 'F001'.&lt;/P&gt;&lt;P&gt;        PERFORM bdc_field       USING 'BDC_OKCODE' '=ONLI'.&lt;/P&gt;&lt;P&gt;        PERFORM bdc_field       USING 'F001' it_extract-vkorg.&lt;/P&gt;&lt;P&gt;        PERFORM bdc_field       USING 'F002' it_extract-vtweg.&lt;/P&gt;&lt;P&gt;        PERFORM bdc_field       USING 'F003-LOW' it_extract-matnr.&lt;/P&gt;&lt;P&gt;        CLEAR lv_sydate.&lt;/P&gt;&lt;P&gt;        lv_sydate(2) = sy-datum+6(2).&lt;/P&gt;&lt;P&gt;        lv_sydate&lt;EM&gt;2(2) = sy-datum&lt;/EM&gt;4(2).&lt;/P&gt;&lt;P&gt;        lv_sydate+4(4) = sy-datum(4).&lt;/P&gt;&lt;P&gt;        PERFORM bdc_field       USING 'SEL_DATE' lv_sydate.&lt;/P&gt;&lt;P&gt;        CLEAR lv_sydate.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;        PERFORM bdc_dynpro      USING 'SAPMV13A' '1004'.&lt;/P&gt;&lt;P&gt;        PERFORM bdc_field       USING 'BDC_CURSOR' 'RV13A-DATBI(01)'.&lt;/P&gt;&lt;P&gt;        PERFORM bdc_field       USING 'BDC_OKCODE' '=SICH'.&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;       PERFORM bdc_field     USING 'KONP-KBETR(01)' it_extract-kbetr3.&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;        lv_datab = lv_tempdat1.&lt;/P&gt;&lt;P&gt;        SUBTRACT 1 FROM lv_datab.&lt;/P&gt;&lt;P&gt;        CLEAR lv_tempdat.&lt;/P&gt;&lt;P&gt;        lv_tempdat(2) = lv_datab+6(2).&lt;/P&gt;&lt;P&gt;        lv_tempdat&lt;EM&gt;2(2) = lv_datab&lt;/EM&gt;4(2).&lt;/P&gt;&lt;P&gt;        lv_tempdat+4(4) = lv_datab(4).&lt;/P&gt;&lt;P&gt;        lv_datab = lv_tempdat.&lt;/P&gt;&lt;P&gt;        CLEAR lv_tempdat.&lt;/P&gt;&lt;P&gt;        PERFORM bdc_field       USING 'RV13A-DATBI(01)' lv_datab.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;        REFRESH it_msgtab.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;        CALL TRANSACTION 'VK12'&lt;/P&gt;&lt;P&gt;                          USING bdcdata&lt;/P&gt;&lt;P&gt;                          MODE 'N'&lt;/P&gt;&lt;P&gt;                          UPDATE 'S'&lt;/P&gt;&lt;P&gt;                          MESSAGES INTO it_msgtab.&lt;/P&gt;&lt;P&gt;        IF sy-subrc = 0.&lt;/P&gt;&lt;P&gt;          ADD 1 TO w_data_bdc_recs.&lt;/P&gt;&lt;P&gt;          DELETE ADJACENT DUPLICATES FROM it_msgtab.&lt;/P&gt;&lt;P&gt;          LOOP AT it_msgtab.&lt;/P&gt;&lt;P&gt;            CLEAR wa_msglog.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;            wa_msglog-msgid = it_msgtab-msgid.&lt;/P&gt;&lt;P&gt;            wa_msglog-msgno = it_msgtab-msgnr.&lt;/P&gt;&lt;P&gt;            wa_msglog-msgty = it_msgtab-msgtyp.&lt;/P&gt;&lt;P&gt;            wa_msglog-msgv1 = it_msgtab-msgv1.&lt;/P&gt;&lt;P&gt;            wa_msglog-msgv2 = it_msgtab-msgv2.&lt;/P&gt;&lt;P&gt;            wa_msglog-msgv3 = it_msgtab-msgv3.&lt;/P&gt;&lt;P&gt;            wa_msglog-msgv4 = it_msgtab-msgv4.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;            CALL FUNCTION 'MESSAGE_TEXTS_READ'&lt;/P&gt;&lt;P&gt;              EXPORTING&lt;/P&gt;&lt;P&gt;                msg_log_imp  = wa_msglog&lt;/P&gt;&lt;P&gt;              IMPORTING&lt;/P&gt;&lt;P&gt;                msg_text_exp = wa_msgtxt.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;            IF sy-subrc = 0.&lt;/P&gt;&lt;P&gt;              CLEAR it_errmat.&lt;/P&gt;&lt;P&gt;              it_errmat-recno = lv_count.&lt;/P&gt;&lt;P&gt;              it_errmat-kschl = it_extract-kschl2.&lt;/P&gt;&lt;P&gt;              it_errmat-matnr = it_extract-matnr.&lt;/P&gt;&lt;P&gt;              it_errmat-status = text-020.&lt;/P&gt;&lt;P&gt;              it_errmat-bdcmsg = wa_msgtxt-msgtx.&lt;/P&gt;&lt;P&gt;              APPEND it_errmat.&lt;/P&gt;&lt;P&gt;            ENDIF.&lt;/P&gt;&lt;P&gt;          ENDLOOP.&lt;/P&gt;&lt;P&gt;        ELSE.&lt;/P&gt;&lt;P&gt;          LOOP AT it_msgtab.&lt;/P&gt;&lt;P&gt;            CLEAR wa_msglog.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;            wa_msglog-msgid = it_msgtab-msgid.&lt;/P&gt;&lt;P&gt;            wa_msglog-msgno = it_msgtab-msgnr.&lt;/P&gt;&lt;P&gt;            wa_msglog-msgty = it_msgtab-msgtyp.&lt;/P&gt;&lt;P&gt;            wa_msglog-msgv1 = it_msgtab-msgv1.&lt;/P&gt;&lt;P&gt;            wa_msglog-msgv2 = it_msgtab-msgv2.&lt;/P&gt;&lt;P&gt;            wa_msglog-msgv3 = it_msgtab-msgv3.&lt;/P&gt;&lt;P&gt;            wa_msglog-msgv4 = it_msgtab-msgv4.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;            CALL FUNCTION 'MESSAGE_TEXTS_READ'&lt;/P&gt;&lt;P&gt;              EXPORTING&lt;/P&gt;&lt;P&gt;                msg_log_imp  = wa_msglog&lt;/P&gt;&lt;P&gt;              IMPORTING&lt;/P&gt;&lt;P&gt;                msg_text_exp = wa_msgtxt.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;            IF sy-subrc = 0.&lt;/P&gt;&lt;P&gt;              CLEAR it_errmat.&lt;/P&gt;&lt;P&gt;              it_errmat-recno = lv_count.&lt;/P&gt;&lt;P&gt;              it_errmat-kschl = it_extract-kschl2.&lt;/P&gt;&lt;P&gt;              it_errmat-matnr = it_extract-matnr.&lt;/P&gt;&lt;P&gt;              it_errmat-status = text-021.&lt;/P&gt;&lt;P&gt;              it_errmat-bdcmsg = wa_msgtxt-msgtx.&lt;/P&gt;&lt;P&gt;              APPEND it_errmat.&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;        COMMIT WORK AND WAIT.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;      second record in case 3&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;        PERFORM new_record_a004_2.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;      third record in case 3&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;        REFRESH bdcdata.&lt;/P&gt;&lt;P&gt;        CLEAR bdcdata.&lt;/P&gt;&lt;P&gt;        PERFORM bdc_dynpro      USING 'SAPMV13A' '0100'.&lt;/P&gt;&lt;P&gt;        PERFORM bdc_field       USING 'BDC_CURSOR' 'RV13A-KSCHL'.&lt;/P&gt;&lt;P&gt;        PERFORM bdc_field       USING 'BDC_OKCODE' '=ANTA'.&lt;/P&gt;&lt;P&gt;        PERFORM bdc_field       USING 'RV13A-KSCHL' it_extract-kschl2.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;        PERFORM bdc_dynpro      USING 'SAPLV14A' '0100'.&lt;/P&gt;&lt;P&gt;        PERFORM bdc_field       USING 'BDC_CURSOR' 'RV130-SELKZ(02)'.&lt;/P&gt;&lt;P&gt;        PERFORM bdc_field       USING 'BDC_OKCODE' '=WEIT'.&lt;/P&gt;&lt;P&gt;        PERFORM bdc_field       USING 'RV130-SELKZ(01)' ''.&lt;/P&gt;&lt;P&gt;        PERFORM bdc_field       USING 'RV130-SELKZ(02)' 'X'.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;        PERFORM bdc_dynpro      USING 'RV13A004' '1000'.&lt;/P&gt;&lt;P&gt;        PERFORM bdc_field       USING 'BDC_CURSOR' 'F003-LOW'.&lt;/P&gt;&lt;P&gt;        PERFORM bdc_field       USING 'BDC_OKCODE' '=ONLI'.&lt;/P&gt;&lt;P&gt;        PERFORM bdc_field       USING 'F001' it_extract-vkorg.&lt;/P&gt;&lt;P&gt;        PERFORM bdc_field       USING 'F002' it_extract-vtweg.&lt;/P&gt;&lt;P&gt;        PERFORM bdc_field       USING 'F003-LOW' it_extract-matnr.&lt;/P&gt;&lt;P&gt;        CLEAR lv_datab.&lt;/P&gt;&lt;P&gt;        lv_datab = lv_tempdat2.&lt;/P&gt;&lt;P&gt;        ADD 1 TO lv_datab.&lt;/P&gt;&lt;P&gt;        CLEAR lv_tempdat.&lt;/P&gt;&lt;P&gt;        lv_tempdat(2) = lv_datab+6(2).&lt;/P&gt;&lt;P&gt;        lv_tempdat&lt;EM&gt;2(2) = lv_datab&lt;/EM&gt;4(2).&lt;/P&gt;&lt;P&gt;        lv_tempdat+4(4) = lv_datab(4).&lt;/P&gt;&lt;P&gt;        lv_datab = lv_tempdat.&lt;/P&gt;&lt;P&gt;        CLEAR lv_tempdat.&lt;/P&gt;&lt;P&gt;        PERFORM bdc_field       USING 'SEL_DATE' lv_datab.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;        PERFORM bdc_dynpro      USING 'SAPMV13A' '1004'.&lt;/P&gt;&lt;P&gt;        PERFORM bdc_field       USING 'BDC_CURSOR' 'RV13A-DATBI(01)'.&lt;/P&gt;&lt;P&gt;        PERFORM bdc_field       USING 'BDC_OKCODE' '=SICH'.&lt;/P&gt;&lt;P&gt;        PERFORM bdc_field       USING 'KOMG-VKORG' it_extract-vkorg.&lt;/P&gt;&lt;P&gt;        PERFORM bdc_field       USING 'KOMG-VTWEG' it_extract-vtweg.&lt;/P&gt;&lt;P&gt;        PERFORM bdc_field       USING 'KOMG-MATNR(01)' it_extract-matnr.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;        SELECT SINGLE * FROM konp WHERE&lt;/P&gt;&lt;P&gt;                        knumh = a004-knumh AND&lt;/P&gt;&lt;P&gt;                        kopos = '01'.&lt;/P&gt;&lt;P&gt;        IF sy-subrc = 0.&lt;/P&gt;&lt;P&gt;          CLEAR lv_amnt.&lt;/P&gt;&lt;P&gt;          MOVE konp-kbetr TO lv_amnt.&lt;/P&gt;&lt;P&gt;          REPLACE '.' WITH ',' INTO lv_amnt.&lt;/P&gt;&lt;P&gt;          CONDENSE lv_amnt NO-GAPS.&lt;/P&gt;&lt;P&gt;          PERFORM bdc_field       USING 'KONP-KBETR(01)' lv_amnt.&lt;/P&gt;&lt;P&gt;        ENDIF.&lt;/P&gt;&lt;P&gt;        CLEAR lv_amnt.&lt;/P&gt;&lt;P&gt;        PERFORM bdc_field       USING 'KONP-KONWA(01)' 'EUR'.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;        IF NOT it_extract-datab IS INITIAL.&lt;/P&gt;&lt;P&gt;          PERFORM bdc_field       USING 'RV13A-DATAB(01)' lv_datab.&lt;/P&gt;&lt;P&gt;        ELSE.&lt;/P&gt;&lt;P&gt;          PERFORM bdc_field       USING 'RV13A-DATAB(01)' sy-datum.&lt;/P&gt;&lt;P&gt;        ENDIF.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;        IF NOT it_extract-datbi IS INITIAL.&lt;/P&gt;&lt;P&gt;          PERFORM bdc_field       USING 'RV13A-DATBI(01)' a004-datbi.&lt;/P&gt;&lt;P&gt;        ELSE.&lt;/P&gt;&lt;P&gt;          PERFORM bdc_field       USING 'RV13A-DATBI(01)' '31.12.9999'.&lt;/P&gt;&lt;P&gt;        ENDIF.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;        REFRESH it_msgtab.&lt;/P&gt;&lt;P&gt;        CALL TRANSACTION 'VK12'&lt;/P&gt;&lt;P&gt;                          USING bdcdata&lt;/P&gt;&lt;P&gt;                          MODE 'N'&lt;/P&gt;&lt;P&gt;                          UPDATE 'S'&lt;/P&gt;&lt;P&gt;                          MESSAGES INTO it_msgtab.&lt;/P&gt;&lt;P&gt;        IF sy-subrc = 0.&lt;/P&gt;&lt;P&gt;          ADD 1 TO w_data_bdc_recs.&lt;/P&gt;&lt;P&gt;          DELETE ADJACENT DUPLICATES FROM it_msgtab.&lt;/P&gt;&lt;P&gt;          LOOP AT it_msgtab.&lt;/P&gt;&lt;P&gt;            CLEAR wa_msglog.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;            wa_msglog-msgid = it_msgtab-msgid.&lt;/P&gt;&lt;P&gt;            wa_msglog-msgno = it_msgtab-msgnr.&lt;/P&gt;&lt;P&gt;            wa_msglog-msgty = it_msgtab-msgtyp.&lt;/P&gt;&lt;P&gt;            wa_msglog-msgv1 = it_msgtab-msgv1.&lt;/P&gt;&lt;P&gt;            wa_msglog-msgv2 = it_msgtab-msgv2.&lt;/P&gt;&lt;P&gt;            wa_msglog-msgv3 = it_msgtab-msgv3.&lt;/P&gt;&lt;P&gt;            wa_msglog-msgv4 = it_msgtab-msgv4.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;            CALL FUNCTION 'MESSAGE_TEXTS_READ'&lt;/P&gt;&lt;P&gt;              EXPORTING&lt;/P&gt;&lt;P&gt;                msg_log_imp  = wa_msglog&lt;/P&gt;&lt;P&gt;              IMPORTING&lt;/P&gt;&lt;P&gt;                msg_text_exp = wa_msgtxt.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;            IF sy-subrc = 0.&lt;/P&gt;&lt;P&gt;              CLEAR it_errmat.&lt;/P&gt;&lt;P&gt;              it_errmat-recno = lv_count.&lt;/P&gt;&lt;P&gt;              it_errmat-kschl = it_extract-kschl2.&lt;/P&gt;&lt;P&gt;              it_errmat-matnr = it_extract-matnr.&lt;/P&gt;&lt;P&gt;              it_errmat-status = text-020.&lt;/P&gt;&lt;P&gt;              it_errmat-bdcmsg = wa_msgtxt-msgtx.&lt;/P&gt;&lt;P&gt;              APPEND it_errmat.&lt;/P&gt;&lt;P&gt;            ENDIF.&lt;/P&gt;&lt;P&gt;          ENDLOOP.&lt;/P&gt;&lt;P&gt;        ELSE.&lt;/P&gt;&lt;P&gt;          LOOP AT it_msgtab.&lt;/P&gt;&lt;P&gt;            CLEAR wa_msglog.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;            wa_msglog-msgid = it_msgtab-msgid.&lt;/P&gt;&lt;P&gt;            wa_msglog-msgno = it_msgtab-msgnr.&lt;/P&gt;&lt;P&gt;            wa_msglog-msgty = it_msgtab-msgtyp.&lt;/P&gt;&lt;P&gt;            wa_msglog-msgv1 = it_msgtab-msgv1.&lt;/P&gt;&lt;P&gt;            wa_msglog-msgv2 = it_msgtab-msgv2.&lt;/P&gt;&lt;P&gt;            wa_msglog-msgv3 = it_msgtab-msgv3.&lt;/P&gt;&lt;P&gt;            wa_msglog-msgv4 = it_msgtab-msgv4.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;            CALL FUNCTION 'MESSAGE_TEXTS_READ'&lt;/P&gt;&lt;P&gt;              EXPORTING&lt;/P&gt;&lt;P&gt;                msg_log_imp  = wa_msglog&lt;/P&gt;&lt;P&gt;              IMPORTING&lt;/P&gt;&lt;P&gt;                msg_text_exp = wa_msgtxt.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;            IF sy-subrc = 0.&lt;/P&gt;&lt;P&gt;              CLEAR it_errmat.&lt;/P&gt;&lt;P&gt;              it_errmat-recno = lv_count.&lt;/P&gt;&lt;P&gt;              it_errmat-kschl = it_extract-kschl2.&lt;/P&gt;&lt;P&gt;              it_errmat-matnr = it_extract-matnr.&lt;/P&gt;&lt;P&gt;              it_errmat-status = text-021.&lt;/P&gt;&lt;P&gt;              it_errmat-bdcmsg = wa_msgtxt-msgtx.&lt;/P&gt;&lt;P&gt;              APPEND it_errmat.&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;        COMMIT WORK AND WAIT.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;************&lt;/P&gt;&lt;P&gt;*case 4&lt;/P&gt;&lt;P&gt;************&lt;/P&gt;&lt;P&gt;      ELSEIF lv_tempdat1 &amp;lt; a004-datab AND&lt;/P&gt;&lt;P&gt;              lv_tempdat2 &amp;gt; a004-datab AND&lt;/P&gt;&lt;P&gt;               lv_tempdat2 &amp;lt; a004-datbi.&lt;/P&gt;&lt;P&gt;        CLEAR lv_datab.&lt;/P&gt;&lt;P&gt;        REFRESH bdcdata.&lt;/P&gt;&lt;P&gt;        CLEAR bdcdata.&lt;/P&gt;&lt;P&gt;        PERFORM bdc_dynpro      USING 'SAPMV13A' '0100'.&lt;/P&gt;&lt;P&gt;        PERFORM bdc_field       USING 'BDC_CURSOR' 'RV13A-KSCHL'.&lt;/P&gt;&lt;P&gt;        PERFORM bdc_field       USING 'BDC_OKCODE' '=ANTA'.&lt;/P&gt;&lt;P&gt;        PERFORM bdc_field       USING 'RV13A-KSCHL' it_extract-kschl2.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;        PERFORM bdc_dynpro      USING 'SAPLV14A' '0100'.&lt;/P&gt;&lt;P&gt;        PERFORM bdc_field       USING 'BDC_CURSOR' 'RV130-SELKZ(02)'.&lt;/P&gt;&lt;P&gt;        PERFORM bdc_field       USING 'BDC_OKCODE' '=WEIT'.&lt;/P&gt;&lt;P&gt;        PERFORM bdc_field       USING 'RV130-SELKZ(01)'  ''.&lt;/P&gt;&lt;P&gt;        PERFORM bdc_field       USING 'RV130-SELKZ(02)'  'X'.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;        PERFORM bdc_dynpro      USING 'RV13A004' '1000'.&lt;/P&gt;&lt;P&gt;        PERFORM bdc_field       USING 'BDC_CURSOR' 'F001'.&lt;/P&gt;&lt;P&gt;        PERFORM bdc_field       USING 'BDC_OKCODE' '=ONLI'.&lt;/P&gt;&lt;P&gt;        PERFORM bdc_field       USING 'F001' it_extract-vkorg.&lt;/P&gt;&lt;P&gt;        PERFORM bdc_field       USING 'F002' it_extract-vtweg.&lt;/P&gt;&lt;P&gt;        PERFORM bdc_field       USING 'F003-LOW' it_extract-matnr.&lt;/P&gt;&lt;P&gt;        CLEAR lv_sydate.&lt;/P&gt;&lt;P&gt;        lv_sydate(2) = sy-datum+6(2).&lt;/P&gt;&lt;P&gt;        lv_sydate&lt;EM&gt;2(2) = sy-datum&lt;/EM&gt;4(2).&lt;/P&gt;&lt;P&gt;        lv_sydate+4(4) = sy-datum(4).&lt;/P&gt;&lt;P&gt;        PERFORM bdc_field       USING 'SEL_DATE' lv_sydate.&lt;/P&gt;&lt;P&gt;        CLEAR lv_sydate.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;        PERFORM bdc_dynpro      USING 'SAPMV13A' '1004'.&lt;/P&gt;&lt;P&gt;        PERFORM bdc_field       USING 'BDC_CURSOR' 'RV13A-DATBI(01)'.&lt;/P&gt;&lt;P&gt;        PERFORM bdc_field       USING 'BDC_OKCODE' '=SICH'.&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;       PERFORM bdc_field     USING 'KONP-KBETR(01)' it_extract-kbetr3.&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;        lv_datab = lv_tempdat2.&lt;/P&gt;&lt;P&gt;        ADD 1 TO lv_datab.&lt;/P&gt;&lt;P&gt;        CLEAR lv_tempdat.&lt;/P&gt;&lt;P&gt;        lv_tempdat(2) = lv_datab+6(2).&lt;/P&gt;&lt;P&gt;        lv_tempdat&lt;EM&gt;2(2) = lv_datab&lt;/EM&gt;4(2).&lt;/P&gt;&lt;P&gt;        lv_tempdat+4(4) = lv_datab(4).&lt;/P&gt;&lt;P&gt;        lv_datab = lv_tempdat.&lt;/P&gt;&lt;P&gt;        CLEAR lv_tempdat.&lt;/P&gt;&lt;P&gt;        PERFORM bdc_field       USING 'RV13A-DATAB(01)' lv_datab.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;        REFRESH it_msgtab.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;        CALL TRANSACTION 'VK12'&lt;/P&gt;&lt;P&gt;                          USING bdcdata&lt;/P&gt;&lt;P&gt;                          MODE 'N'&lt;/P&gt;&lt;P&gt;                          UPDATE 'S'&lt;/P&gt;&lt;P&gt;                          MESSAGES INTO it_msgtab.&lt;/P&gt;&lt;P&gt;        IF sy-subrc = 0.&lt;/P&gt;&lt;P&gt;          ADD 1 TO w_data_bdc_recs.&lt;/P&gt;&lt;P&gt;          DELETE ADJACENT DUPLICATES FROM it_msgtab.&lt;/P&gt;&lt;P&gt;          LOOP AT it_msgtab.&lt;/P&gt;&lt;P&gt;            CLEAR wa_msglog.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;            wa_msglog-msgid = it_msgtab-msgid.&lt;/P&gt;&lt;P&gt;            wa_msglog-msgno = it_msgtab-msgnr.&lt;/P&gt;&lt;P&gt;            wa_msglog-msgty = it_msgtab-msgtyp.&lt;/P&gt;&lt;P&gt;            wa_msglog-msgv1 = it_msgtab-msgv1.&lt;/P&gt;&lt;P&gt;            wa_msglog-msgv2 = it_msgtab-msgv2.&lt;/P&gt;&lt;P&gt;            wa_msglog-msgv3 = it_msgtab-msgv3.&lt;/P&gt;&lt;P&gt;            wa_msglog-msgv4 = it_msgtab-msgv4.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;            CALL FUNCTION 'MESSAGE_TEXTS_READ'&lt;/P&gt;&lt;P&gt;              EXPORTING&lt;/P&gt;&lt;P&gt;                msg_log_imp  = wa_msglog&lt;/P&gt;&lt;P&gt;              IMPORTING&lt;/P&gt;&lt;P&gt;                msg_text_exp = wa_msgtxt.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;            IF sy-subrc = 0.&lt;/P&gt;&lt;P&gt;              CLEAR it_errmat.&lt;/P&gt;&lt;P&gt;              it_errmat-recno = lv_count.&lt;/P&gt;&lt;P&gt;              it_errmat-kschl = it_extract-kschl2.&lt;/P&gt;&lt;P&gt;              it_errmat-matnr = it_extract-matnr.&lt;/P&gt;&lt;P&gt;              it_errmat-status = text-020.&lt;/P&gt;&lt;P&gt;              it_errmat-bdcmsg = wa_msgtxt-msgtx.&lt;/P&gt;&lt;P&gt;              APPEND it_errmat.&lt;/P&gt;&lt;P&gt;            ENDIF.&lt;/P&gt;&lt;P&gt;          ENDLOOP.&lt;/P&gt;&lt;P&gt;        ELSE.&lt;/P&gt;&lt;P&gt;          LOOP AT it_msgtab.&lt;/P&gt;&lt;P&gt;            CLEAR wa_msglog.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;            wa_msglog-msgid = it_msgtab-msgid.&lt;/P&gt;&lt;P&gt;            wa_msglog-msgno = it_msgtab-msgnr.&lt;/P&gt;&lt;P&gt;            wa_msglog-msgty = it_msgtab-msgtyp.&lt;/P&gt;&lt;P&gt;            wa_msglog-msgv1 = it_msgtab-msgv1.&lt;/P&gt;&lt;P&gt;            wa_msglog-msgv2 = it_msgtab-msgv2.&lt;/P&gt;&lt;P&gt;            wa_msglog-msgv3 = it_msgtab-msgv3.&lt;/P&gt;&lt;P&gt;            wa_msglog-msgv4 = it_msgtab-msgv4.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;            CALL FUNCTION 'MESSAGE_TEXTS_READ'&lt;/P&gt;&lt;P&gt;              EXPORTING&lt;/P&gt;&lt;P&gt;                msg_log_imp  = wa_msglog&lt;/P&gt;&lt;P&gt;              IMPORTING&lt;/P&gt;&lt;P&gt;                msg_text_exp = wa_msgtxt.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;            IF sy-subrc = 0.&lt;/P&gt;&lt;P&gt;              CLEAR it_errmat.&lt;/P&gt;&lt;P&gt;              it_errmat-recno = lv_count.&lt;/P&gt;&lt;P&gt;              it_errmat-kschl = it_extract-kschl2.&lt;/P&gt;&lt;P&gt;              it_errmat-matnr = it_extract-matnr.&lt;/P&gt;&lt;P&gt;              it_errmat-status = text-021.&lt;/P&gt;&lt;P&gt;              it_errmat-bdcmsg = wa_msgtxt-msgtx.&lt;/P&gt;&lt;P&gt;              APPEND it_errmat.&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;        COMMIT WORK AND WAIT.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;*second record in case 4&lt;/P&gt;&lt;P&gt;        PERFORM new_record_a004_2.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;************&lt;/P&gt;&lt;P&gt;*case 5&lt;/P&gt;&lt;P&gt;************&lt;/P&gt;&lt;P&gt;      ELSEIF lv_tempdat1 &amp;lt; a004-datab AND&lt;/P&gt;&lt;P&gt;              lv_tempdat2 &amp;lt; a004-datab.&lt;/P&gt;&lt;P&gt;        PERFORM new_record_a004_2.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;************&lt;/P&gt;&lt;P&gt;*case 6&lt;/P&gt;&lt;P&gt;************&lt;/P&gt;&lt;P&gt;      ELSEIF lv_tempdat1 &amp;gt; a004-datab AND&lt;/P&gt;&lt;P&gt;              lv_tempdat2 &amp;gt; a004-datab.&lt;/P&gt;&lt;P&gt;        PERFORM new_record_a004_2.&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;   ELSE.&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;Case 7&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;*************************&lt;/P&gt;&lt;P&gt;      ELSEIF lv_tempdat1 &amp;gt; a004-datab AND&lt;/P&gt;&lt;P&gt;          lv_tempdat1 &amp;lt; a004-datbi.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;*changing the existing record wherein 'Valid from' date is changed to&lt;/P&gt;&lt;P&gt;*'From date + 1'. Here 'To date' is from input file.&lt;/P&gt;&lt;P&gt;        CLEAR lv_datab.&lt;/P&gt;&lt;P&gt;        REFRESH bdcdata.&lt;/P&gt;&lt;P&gt;        CLEAR bdcdata.&lt;/P&gt;&lt;P&gt;        PERFORM bdc_dynpro      USING 'SAPMV13A' '0100'.&lt;/P&gt;&lt;P&gt;        PERFORM bdc_field       USING 'BDC_CURSOR' 'RV13A-KSCHL'.&lt;/P&gt;&lt;P&gt;        PERFORM bdc_field       USING 'BDC_OKCODE' '=ANTA'.&lt;/P&gt;&lt;P&gt;        PERFORM bdc_field       USING 'RV13A-KSCHL' it_extract-kschl1.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;        PERFORM bdc_dynpro      USING 'SAPLV14A' '0100'.&lt;/P&gt;&lt;P&gt;        PERFORM bdc_field       USING 'BDC_CURSOR' 'RV130-SELKZ(02)'.&lt;/P&gt;&lt;P&gt;        PERFORM bdc_field       USING 'BDC_OKCODE' '=WEIT'.&lt;/P&gt;&lt;P&gt;        PERFORM bdc_field       USING 'RV130-SELKZ(01)'  ''.&lt;/P&gt;&lt;P&gt;        PERFORM bdc_field       USING 'RV130-SELKZ(02)'  'X'.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;        PERFORM bdc_dynpro      USING 'RV13A004' '1000'.&lt;/P&gt;&lt;P&gt;        PERFORM bdc_field       USING 'BDC_CURSOR' 'F001'.&lt;/P&gt;&lt;P&gt;        PERFORM bdc_field       USING 'BDC_OKCODE' '=ONLI'.&lt;/P&gt;&lt;P&gt;        PERFORM bdc_field       USING 'F001' it_extract-vkorg.&lt;/P&gt;&lt;P&gt;        PERFORM bdc_field       USING 'F002' it_extract-vtweg.&lt;/P&gt;&lt;P&gt;        PERFORM bdc_field       USING 'F003-LOW' it_extract-matnr.&lt;/P&gt;&lt;P&gt;        CLEAR lv_sydate.&lt;/P&gt;&lt;P&gt;        lv_sydate(2) = sy-datum+6(2).&lt;/P&gt;&lt;P&gt;        lv_sydate&lt;EM&gt;2(2) = sy-datum&lt;/EM&gt;4(2).&lt;/P&gt;&lt;P&gt;        lv_sydate+4(4) = sy-datum(4).&lt;/P&gt;&lt;P&gt;        PERFORM bdc_field       USING 'SEL_DATE' lv_sydate.&lt;/P&gt;&lt;P&gt;        CLEAR lv_sydate.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;        PERFORM bdc_dynpro      USING 'SAPMV13A' '1004'.&lt;/P&gt;&lt;P&gt;        PERFORM bdc_field       USING 'BDC_CURSOR' 'RV13A-DATBI(01)'.&lt;/P&gt;&lt;P&gt;        PERFORM bdc_field       USING 'BDC_OKCODE' '=SICH'.&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;       PERFORM bdc_field     USING 'KONP-KBETR(01)' it_extract-kbetr3.&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;        lv_datab = lv_tempdat1.&lt;/P&gt;&lt;P&gt;        ADD 1 TO lv_datab.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;        CLEAR lv_tempdat.&lt;/P&gt;&lt;P&gt;        lv_tempdat(2) = lv_datab+6(2).&lt;/P&gt;&lt;P&gt;        lv_tempdat&lt;EM&gt;2(2) = lv_datab&lt;/EM&gt;4(2).&lt;/P&gt;&lt;P&gt;        lv_tempdat+4(4) = lv_datab(4).&lt;/P&gt;&lt;P&gt;        lv_datab = lv_tempdat.&lt;/P&gt;&lt;P&gt;        CLEAR lv_tempdat.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;        PERFORM bdc_field       USING 'RV13A-DATAB(01)' lv_datab.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;        REFRESH it_msgtab.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;        CALL TRANSACTION 'VK12'&lt;/P&gt;&lt;P&gt;                          USING bdcdata&lt;/P&gt;&lt;P&gt;                          MODE 'N'&lt;/P&gt;&lt;P&gt;                          UPDATE 'S'&lt;/P&gt;&lt;P&gt;                          MESSAGES INTO it_msgtab.&lt;/P&gt;&lt;P&gt;        IF sy-subrc = 0.&lt;/P&gt;&lt;P&gt;          ADD 1 TO w_data_bdc_recs.&lt;/P&gt;&lt;P&gt;          DELETE ADJACENT DUPLICATES FROM it_msgtab.&lt;/P&gt;&lt;P&gt;          LOOP AT it_msgtab.&lt;/P&gt;&lt;P&gt;            CLEAR wa_msglog.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;            wa_msglog-msgid = it_msgtab-msgid.&lt;/P&gt;&lt;P&gt;            wa_msglog-msgno = it_msgtab-msgnr.&lt;/P&gt;&lt;P&gt;            wa_msglog-msgty = it_msgtab-msgtyp.&lt;/P&gt;&lt;P&gt;            wa_msglog-msgv1 = it_msgtab-msgv1.&lt;/P&gt;&lt;P&gt;            wa_msglog-msgv2 = it_msgtab-msgv2.&lt;/P&gt;&lt;P&gt;            wa_msglog-msgv3 = it_msgtab-msgv3.&lt;/P&gt;&lt;P&gt;            wa_msglog-msgv4 = it_msgtab-msgv4.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;            CALL FUNCTION 'MESSAGE_TEXTS_READ'&lt;/P&gt;&lt;P&gt;              EXPORTING&lt;/P&gt;&lt;P&gt;                msg_log_imp  = wa_msglog&lt;/P&gt;&lt;P&gt;              IMPORTING&lt;/P&gt;&lt;P&gt;                msg_text_exp = wa_msgtxt.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;            IF sy-subrc = 0.&lt;/P&gt;&lt;P&gt;              CLEAR it_errmat.&lt;/P&gt;&lt;P&gt;              it_errmat-recno = lv_count.&lt;/P&gt;&lt;P&gt;              it_errmat-kschl = it_extract-kschl1.&lt;/P&gt;&lt;P&gt;              it_errmat-matnr = it_extract-matnr.&lt;/P&gt;&lt;P&gt;              it_errmat-status = text-020.&lt;/P&gt;&lt;P&gt;              it_errmat-bdcmsg = wa_msgtxt-msgtx.&lt;/P&gt;&lt;P&gt;              APPEND it_errmat.&lt;/P&gt;&lt;P&gt;            ENDIF.&lt;/P&gt;&lt;P&gt;          ENDLOOP.&lt;/P&gt;&lt;P&gt;        ELSE.&lt;/P&gt;&lt;P&gt;          LOOP AT it_msgtab.&lt;/P&gt;&lt;P&gt;            CLEAR wa_msglog.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;            wa_msglog-msgid = it_msgtab-msgid.&lt;/P&gt;&lt;P&gt;            wa_msglog-msgno = it_msgtab-msgnr.&lt;/P&gt;&lt;P&gt;            wa_msglog-msgty = it_msgtab-msgtyp.&lt;/P&gt;&lt;P&gt;            wa_msglog-msgv1 = it_msgtab-msgv1.&lt;/P&gt;&lt;P&gt;            wa_msglog-msgv2 = it_msgtab-msgv2.&lt;/P&gt;&lt;P&gt;            wa_msglog-msgv3 = it_msgtab-msgv3.&lt;/P&gt;&lt;P&gt;            wa_msglog-msgv4 = it_msgtab-msgv4.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;            CALL FUNCTION 'MESSAGE_TEXTS_READ'&lt;/P&gt;&lt;P&gt;              EXPORTING&lt;/P&gt;&lt;P&gt;                msg_log_imp  = wa_msglog&lt;/P&gt;&lt;P&gt;              IMPORTING&lt;/P&gt;&lt;P&gt;                msg_text_exp = wa_msgtxt.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;            IF sy-subrc = 0.&lt;/P&gt;&lt;P&gt;              CLEAR it_errmat.&lt;/P&gt;&lt;P&gt;              it_errmat-recno = lv_count.&lt;/P&gt;&lt;P&gt;              it_errmat-kschl = it_extract-kschl1.&lt;/P&gt;&lt;P&gt;              it_errmat-matnr = it_extract-matnr.&lt;/P&gt;&lt;P&gt;              it_errmat-status = text-021.&lt;/P&gt;&lt;P&gt;              it_errmat-bdcmsg = wa_msgtxt-msgtx.&lt;/P&gt;&lt;P&gt;              APPEND it_errmat.&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;        COMMIT WORK AND WAIT.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;*second record in case 7&lt;/P&gt;&lt;P&gt;        PERFORM new_record_a004.&lt;/P&gt;&lt;P&gt;****************&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;Case 8&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;****************&lt;/P&gt;&lt;P&gt;      ELSEIF lv_tempdat1 &amp;lt; a004-datab AND&lt;/P&gt;&lt;P&gt;          lv_tempdat2 = a004-datbi.&lt;/P&gt;&lt;P&gt;*changing the existing record wherein 'Valid from' date is changed to&lt;/P&gt;&lt;P&gt;*'From date + 1'. Here 'To date' is from input file.&lt;/P&gt;&lt;P&gt;        CLEAR lv_datab.&lt;/P&gt;&lt;P&gt;        REFRESH bdcdata.&lt;/P&gt;&lt;P&gt;        CLEAR bdcdata.&lt;/P&gt;&lt;P&gt;        PERFORM bdc_dynpro      USING 'SAPMV13A' '0100'.&lt;/P&gt;&lt;P&gt;        PERFORM bdc_field       USING 'BDC_CURSOR' 'RV13A-KSCHL'.&lt;/P&gt;&lt;P&gt;        PERFORM bdc_field       USING 'BDC_OKCODE' '=ANTA'.&lt;/P&gt;&lt;P&gt;        PERFORM bdc_field       USING 'RV13A-KSCHL' it_extract-kschl2.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;        PERFORM bdc_dynpro      USING 'SAPLV14A' '0100'.&lt;/P&gt;&lt;P&gt;        PERFORM bdc_field       USING 'BDC_CURSOR' 'RV130-SELKZ(02)'.&lt;/P&gt;&lt;P&gt;        PERFORM bdc_field       USING 'BDC_OKCODE' '=WEIT'.&lt;/P&gt;&lt;P&gt;        PERFORM bdc_field       USING 'RV130-SELKZ(01)'  ''.&lt;/P&gt;&lt;P&gt;        PERFORM bdc_field       USING 'RV130-SELKZ(02)'  'X'.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;        PERFORM bdc_dynpro      USING 'RV13A004' '1000'.&lt;/P&gt;&lt;P&gt;        PERFORM bdc_field       USING 'BDC_CURSOR' 'F001'.&lt;/P&gt;&lt;P&gt;        PERFORM bdc_field       USING 'BDC_OKCODE' '=ONLI'.&lt;/P&gt;&lt;P&gt;        PERFORM bdc_field       USING 'F001' it_extract-vkorg.&lt;/P&gt;&lt;P&gt;        PERFORM bdc_field       USING 'F002' it_extract-vtweg.&lt;/P&gt;&lt;P&gt;        PERFORM bdc_field       USING 'F003-LOW' it_extract-matnr.&lt;/P&gt;&lt;P&gt;        CLEAR lv_sydate.&lt;/P&gt;&lt;P&gt;        lv_sydate(2) = sy-datum+6(2).&lt;/P&gt;&lt;P&gt;        lv_sydate&lt;EM&gt;2(2) = sy-datum&lt;/EM&gt;4(2).&lt;/P&gt;&lt;P&gt;        lv_sydate+4(4) = sy-datum(4).&lt;/P&gt;&lt;P&gt;        PERFORM bdc_field       USING 'SEL_DATE' lv_sydate.&lt;/P&gt;&lt;P&gt;        CLEAR lv_sydate.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;        PERFORM bdc_dynpro      USING 'SAPMV13A' '1004'.&lt;/P&gt;&lt;P&gt;        PERFORM bdc_field       USING 'BDC_CURSOR' 'RV13A-DATBI(01)'.&lt;/P&gt;&lt;P&gt;        PERFORM bdc_field       USING 'BDC_OKCODE' '=SICH'.&lt;/P&gt;&lt;P&gt;        PERFORM bdc_field     USING 'KONP-KBETR(01)' it_extract-kbetr4.&lt;/P&gt;&lt;P&gt;        lv_datab = lv_tempdat1.&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;     ADD 1 TO lv_datab.&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;        CLEAR lv_tempdat.&lt;/P&gt;&lt;P&gt;        lv_tempdat(2) = lv_datab+6(2).&lt;/P&gt;&lt;P&gt;        lv_tempdat&lt;EM&gt;2(2) = lv_datab&lt;/EM&gt;4(2).&lt;/P&gt;&lt;P&gt;        lv_tempdat+4(4) = lv_datab(4).&lt;/P&gt;&lt;P&gt;        lv_datab = lv_tempdat.&lt;/P&gt;&lt;P&gt;        CLEAR lv_tempdat.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;        PERFORM bdc_field       USING 'RV13A-DATAB(01)' lv_datab.&lt;/P&gt;&lt;P&gt;        PERFORM bdc_field       USING 'BDC_OKCODE' '=SICH'.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;        REFRESH it_msgtab.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;        CALL TRANSACTION 'VK12'&lt;/P&gt;&lt;P&gt;                          USING bdcdata&lt;/P&gt;&lt;P&gt;                          MODE 'N'&lt;/P&gt;&lt;P&gt;                          UPDATE 'S'&lt;/P&gt;&lt;P&gt;                          MESSAGES INTO it_msgtab.&lt;/P&gt;&lt;P&gt;        IF sy-subrc = 0.&lt;/P&gt;&lt;P&gt;          ADD 1 TO w_data_bdc_recs.&lt;/P&gt;&lt;P&gt;          DELETE ADJACENT DUPLICATES FROM it_msgtab.&lt;/P&gt;&lt;P&gt;          LOOP AT it_msgtab.&lt;/P&gt;&lt;P&gt;            CLEAR wa_msglog.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;            wa_msglog-msgid = it_msgtab-msgid.&lt;/P&gt;&lt;P&gt;            wa_msglog-msgno = it_msgtab-msgnr.&lt;/P&gt;&lt;P&gt;            wa_msglog-msgty = it_msgtab-msgtyp.&lt;/P&gt;&lt;P&gt;            wa_msglog-msgv1 = it_msgtab-msgv1.&lt;/P&gt;&lt;P&gt;            wa_msglog-msgv2 = it_msgtab-msgv2.&lt;/P&gt;&lt;P&gt;            wa_msglog-msgv3 = it_msgtab-msgv3.&lt;/P&gt;&lt;P&gt;            wa_msglog-msgv4 = it_msgtab-msgv4.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;            CALL FUNCTION 'MESSAGE_TEXTS_READ'&lt;/P&gt;&lt;P&gt;              EXPORTING&lt;/P&gt;&lt;P&gt;                msg_log_imp  = wa_msglog&lt;/P&gt;&lt;P&gt;              IMPORTING&lt;/P&gt;&lt;P&gt;                msg_text_exp = wa_msgtxt.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;            IF sy-subrc = 0.&lt;/P&gt;&lt;P&gt;              CLEAR it_errmat.&lt;/P&gt;&lt;P&gt;              it_errmat-recno = lv_count.&lt;/P&gt;&lt;P&gt;              it_errmat-kschl = it_extract-kschl1.&lt;/P&gt;&lt;P&gt;              it_errmat-matnr = it_extract-matnr.&lt;/P&gt;&lt;P&gt;              it_errmat-status = text-020.&lt;/P&gt;&lt;P&gt;              it_errmat-bdcmsg = wa_msgtxt-msgtx.&lt;/P&gt;&lt;P&gt;              APPEND it_errmat.&lt;/P&gt;&lt;P&gt;            ENDIF.&lt;/P&gt;&lt;P&gt;          ENDLOOP.&lt;/P&gt;&lt;P&gt;        ELSE.&lt;/P&gt;&lt;P&gt;          LOOP AT it_msgtab.&lt;/P&gt;&lt;P&gt;            CLEAR wa_msglog.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;            wa_msglog-msgid = it_msgtab-msgid.&lt;/P&gt;&lt;P&gt;            wa_msglog-msgno = it_msgtab-msgnr.&lt;/P&gt;&lt;P&gt;            wa_msglog-msgty = it_msgtab-msgtyp.&lt;/P&gt;&lt;P&gt;            wa_msglog-msgv1 = it_msgtab-msgv1.&lt;/P&gt;&lt;P&gt;            wa_msglog-msgv2 = it_msgtab-msgv2.&lt;/P&gt;&lt;P&gt;            wa_msglog-msgv3 = it_msgtab-msgv3.&lt;/P&gt;&lt;P&gt;            wa_msglog-msgv4 = it_msgtab-msgv4.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;            CALL FUNCTION 'MESSAGE_TEXTS_READ'&lt;/P&gt;&lt;P&gt;              EXPORTING&lt;/P&gt;&lt;P&gt;                msg_log_imp  = wa_msglog&lt;/P&gt;&lt;P&gt;              IMPORTING&lt;/P&gt;&lt;P&gt;                msg_text_exp = wa_msgtxt.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;            IF sy-subrc = 0.&lt;/P&gt;&lt;P&gt;              CLEAR it_errmat.&lt;/P&gt;&lt;P&gt;              it_errmat-recno = lv_count.&lt;/P&gt;&lt;P&gt;              it_errmat-kschl = it_extract-kschl1.&lt;/P&gt;&lt;P&gt;              it_errmat-matnr = it_extract-matnr.&lt;/P&gt;&lt;P&gt;              it_errmat-status = text-021.&lt;/P&gt;&lt;P&gt;              it_errmat-bdcmsg = wa_msgtxt-msgtx.&lt;/P&gt;&lt;P&gt;              APPEND it_errmat.&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;        COMMIT WORK AND WAIT.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;*second record in case 8&lt;/P&gt;&lt;P&gt;        PERFORM new_record_a004.&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;      CLEAR: lv_tempdat1, lv_tempdat2.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;*Totally new record as no record found in table A004.&lt;/P&gt;&lt;P&gt;      REFRESH bdcdata.&lt;/P&gt;&lt;P&gt;      CLEAR bdcdata.&lt;/P&gt;&lt;P&gt;      PERFORM bdc_dynpro      USING 'SAPMV13A' '0100'.&lt;/P&gt;&lt;P&gt;      PERFORM bdc_field       USING 'BDC_CURSOR' 'RV13A-KSCHL'.&lt;/P&gt;&lt;P&gt;      PERFORM bdc_field       USING 'BDC_OKCODE' '=ANTA'.&lt;/P&gt;&lt;P&gt;      PERFORM bdc_field       USING 'RV13A-KSCHL' it_extract-kschl2.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;      PERFORM bdc_dynpro      USING 'SAPLV14A' '0100'.&lt;/P&gt;&lt;P&gt;      PERFORM bdc_field       USING 'BDC_CURSOR' 'RV130-SELKZ(02)'.&lt;/P&gt;&lt;P&gt;      PERFORM bdc_field       USING 'BDC_OKCODE' '=WEIT'.&lt;/P&gt;&lt;P&gt;      PERFORM bdc_field       USING 'RV130-SELKZ(01)'  ''.&lt;/P&gt;&lt;P&gt;      PERFORM bdc_field       USING 'RV130-SELKZ(02)'  'X'.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;      PERFORM bdc_dynpro      USING 'RV13A004' '1000'.&lt;/P&gt;&lt;P&gt;      PERFORM bdc_field       USING 'BDC_CURSOR' 'F003-LOW'.&lt;/P&gt;&lt;P&gt;      PERFORM bdc_field       USING 'BDC_OKCODE' '=ONLI'.&lt;/P&gt;&lt;P&gt;      PERFORM bdc_field       USING 'F001' it_extract-vkorg.&lt;/P&gt;&lt;P&gt;      PERFORM bdc_field       USING 'F002' it_extract-vtweg.&lt;/P&gt;&lt;P&gt;      PERFORM bdc_field       USING 'F003-LOW' it_extract-matnr.&lt;/P&gt;&lt;P&gt;      CLEAR lv_sydate.&lt;/P&gt;&lt;P&gt;      lv_sydate(2) = sy-datum+6(2).&lt;/P&gt;&lt;P&gt;      lv_sydate&lt;EM&gt;2(2) = sy-datum&lt;/EM&gt;4(2).&lt;/P&gt;&lt;P&gt;      lv_sydate+4(4) = sy-datum(4).&lt;/P&gt;&lt;P&gt;      PERFORM bdc_field       USING 'SEL_DATE' lv_sydate.&lt;/P&gt;&lt;P&gt;      CLEAR lv_sydate.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;      PERFORM bdc_dynpro      USING 'SAPMV13A' '1004'.&lt;/P&gt;&lt;P&gt;      PERFORM bdc_field       USING 'BDC_CURSOR' 'RV13A-DATBI(01)'.&lt;/P&gt;&lt;P&gt;      PERFORM bdc_field       USING 'BDC_OKCODE' '=SICH'.&lt;/P&gt;&lt;P&gt;      PERFORM bdc_field       USING 'KOMG-VKORG' it_extract-vkorg.&lt;/P&gt;&lt;P&gt;      PERFORM bdc_field       USING 'KOMG-VTWEG' it_extract-vtweg.&lt;/P&gt;&lt;P&gt;      PERFORM bdc_field       USING 'KOMG-MATNR(01)' it_extract-matnr.&lt;/P&gt;&lt;P&gt;      CLEAR lv_amnt.&lt;/P&gt;&lt;P&gt;      MOVE it_extract-kbetr4 TO lv_amnt.&lt;/P&gt;&lt;P&gt;      REPLACE '.' WITH ',' INTO lv_amnt.&lt;/P&gt;&lt;P&gt;      CONDENSE lv_amnt NO-GAPS.&lt;/P&gt;&lt;P&gt;      PERFORM bdc_field       USING 'KONP-KBETR(01)' lv_amnt.&lt;/P&gt;&lt;P&gt;      CLEAR lv_amnt.&lt;/P&gt;&lt;P&gt;      PERFORM bdc_field       USING 'KONP-KONWA(01)' 'EUR'.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;      IF NOT it_extract-datab IS INITIAL.&lt;/P&gt;&lt;P&gt;        PERFORM bdc_field      USING 'RV13A-DATAB(01)' it_extract-datab.&lt;/P&gt;&lt;P&gt;      ELSE.&lt;/P&gt;&lt;P&gt;        PERFORM bdc_field      USING 'RV13A-DATAB(01)' sy-datum.&lt;/P&gt;&lt;P&gt;      ENDIF.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;      IF NOT it_extract-datbi IS INITIAL.&lt;/P&gt;&lt;P&gt;        PERFORM bdc_field      USING 'RV13A-DATBI(01)' it_extract-datbi.&lt;/P&gt;&lt;P&gt;      ELSE.&lt;/P&gt;&lt;P&gt;        PERFORM bdc_field      USING 'RV13A-DATBI(01)' '31.12.9999'.&lt;/P&gt;&lt;P&gt;      ENDIF.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;      REFRESH it_msgtab.&lt;/P&gt;&lt;P&gt;      CALL TRANSACTION 'VK12'&lt;/P&gt;&lt;P&gt;                        USING bdcdata&lt;/P&gt;&lt;P&gt;                        MODE 'N'&lt;/P&gt;&lt;P&gt;                        UPDATE 'S'&lt;/P&gt;&lt;P&gt;                        MESSAGES INTO it_msgtab.&lt;/P&gt;&lt;P&gt;      IF sy-subrc = 0.&lt;/P&gt;&lt;P&gt;        ADD 1 TO w_data_bdc_recs.&lt;/P&gt;&lt;P&gt;        DELETE ADJACENT DUPLICATES FROM it_msgtab.&lt;/P&gt;&lt;P&gt;        LOOP AT it_msgtab.&lt;/P&gt;&lt;P&gt;          CLEAR wa_msglog.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;          wa_msglog-msgid = it_msgtab-msgid.&lt;/P&gt;&lt;P&gt;          wa_msglog-msgno = it_msgtab-msgnr.&lt;/P&gt;&lt;P&gt;          wa_msglog-msgty = it_msgtab-msgtyp.&lt;/P&gt;&lt;P&gt;          wa_msglog-msgv1 = it_msgtab-msgv1.&lt;/P&gt;&lt;P&gt;          wa_msglog-msgv2 = it_msgtab-msgv2.&lt;/P&gt;&lt;P&gt;          wa_msglog-msgv3 = it_msgtab-msgv3.&lt;/P&gt;&lt;P&gt;          wa_msglog-msgv4 = it_msgtab-msgv4.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;          CALL FUNCTION 'MESSAGE_TEXTS_READ'&lt;/P&gt;&lt;P&gt;            EXPORTING&lt;/P&gt;&lt;P&gt;              msg_log_imp  = wa_msglog&lt;/P&gt;&lt;P&gt;            IMPORTING&lt;/P&gt;&lt;P&gt;              msg_text_exp = wa_msgtxt.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;          IF sy-subrc = 0.&lt;/P&gt;&lt;P&gt;            CLEAR it_errmat.&lt;/P&gt;&lt;P&gt;            it_errmat-recno = lv_count.&lt;/P&gt;&lt;P&gt;            it_errmat-kschl = it_extract-kschl2.&lt;/P&gt;&lt;P&gt;            it_errmat-matnr = it_extract-matnr.&lt;/P&gt;&lt;P&gt;            it_errmat-status = text-020.&lt;/P&gt;&lt;P&gt;            it_errmat-bdcmsg = wa_msgtxt-msgtx.&lt;/P&gt;&lt;P&gt;            APPEND it_errmat.&lt;/P&gt;&lt;P&gt;          ENDIF.&lt;/P&gt;&lt;P&gt;        ENDLOOP.&lt;/P&gt;&lt;P&gt;      ELSE.&lt;/P&gt;&lt;P&gt;        LOOP AT it_msgtab.&lt;/P&gt;&lt;P&gt;          CLEAR wa_msglog.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;          wa_msglog-msgid = it_msgtab-msgid.&lt;/P&gt;&lt;P&gt;          wa_msglog-msgno = it_msgtab-msgnr.&lt;/P&gt;&lt;P&gt;          wa_msglog-msgty = it_msgtab-msgtyp.&lt;/P&gt;&lt;P&gt;          wa_msglog-msgv1 = it_msgtab-msgv1.&lt;/P&gt;&lt;P&gt;          wa_msglog-msgv2 = it_msgtab-msgv2.&lt;/P&gt;&lt;P&gt;          wa_msglog-msgv3 = it_msgtab-msgv3.&lt;/P&gt;&lt;P&gt;          wa_msglog-msgv4 = it_msgtab-msgv4.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;          CALL FUNCTION 'MESSAGE_TEXTS_READ'&lt;/P&gt;&lt;P&gt;            EXPORTING&lt;/P&gt;&lt;P&gt;              msg_log_imp  = wa_msglog&lt;/P&gt;&lt;P&gt;            IMPORTING&lt;/P&gt;&lt;P&gt;              msg_text_exp = wa_msgtxt.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;          IF sy-subrc = 0.&lt;/P&gt;&lt;P&gt;            CLEAR it_errmat.&lt;/P&gt;&lt;P&gt;            it_errmat-recno = lv_count.&lt;/P&gt;&lt;P&gt;            it_errmat-kschl = it_extract-kschl2.&lt;/P&gt;&lt;P&gt;            it_errmat-matnr = it_extract-matnr.&lt;/P&gt;&lt;P&gt;            it_errmat-status = text-021.&lt;/P&gt;&lt;P&gt;            it_errmat-bdcmsg = wa_msgtxt-msgtx.&lt;/P&gt;&lt;P&gt;            APPEND it_errmat.&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;      COMMIT WORK AND WAIT.&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;ENDFORM.                                                    " bdc_004&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  bdc_703&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 bdc_703 .&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;*check whether record exists in A703.&lt;/P&gt;&lt;P&gt;  IF NOT it_extract-kschl1 IS INITIAL.&lt;/P&gt;&lt;P&gt;    SELECT SINGLE * FROM a703&lt;/P&gt;&lt;P&gt;                        WHERE kappl = 'V'&lt;/P&gt;&lt;P&gt;                        AND   kschl = it_extract-kschl1&lt;/P&gt;&lt;P&gt;                        AND   vkorg = it_extract-vkorg&lt;/P&gt;&lt;P&gt;                        AND   vtweg = it_extract-vtweg&lt;/P&gt;&lt;P&gt;                        AND   spart = it_extract-spart&lt;/P&gt;&lt;P&gt;                        AND   land1 = it_extract-land1&lt;/P&gt;&lt;P&gt;                        AND   matnr = it_extract-matnr&lt;/P&gt;&lt;P&gt;                        AND   datbi &amp;gt;= sy-datum&lt;/P&gt;&lt;P&gt;                        AND   datab &amp;lt;= sy-datum.&lt;/P&gt;&lt;P&gt;    IF sy-subrc = 0.&lt;/P&gt;&lt;P&gt;      CLEAR bdcdata.&lt;/P&gt;&lt;P&gt;      CLEAR: lv_tempdat1, lv_tempdat2.&lt;/P&gt;&lt;P&gt;      lv_tempdat1+6(2) = it_extract-datab(2).&lt;/P&gt;&lt;P&gt;      lv_tempdat1&lt;EM&gt;4(2) = it_extract-datab&lt;/EM&gt;2(2).&lt;/P&gt;&lt;P&gt;      lv_tempdat1(4) = it_extract-datab+4(4).&lt;/P&gt;&lt;P&gt;      lv_tempdat2+6(2) = it_extract-datbi(2).&lt;/P&gt;&lt;P&gt;      lv_tempdat2&lt;EM&gt;4(2) = it_extract-datbi&lt;/EM&gt;2(2).&lt;/P&gt;&lt;P&gt;      lv_tempdat2(4) = it_extract-datbi+4(4).&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;****************&lt;/P&gt;&lt;P&gt;*Case 1&lt;/P&gt;&lt;P&gt;****************&lt;/P&gt;&lt;P&gt;      IF lv_tempdat1 &amp;gt; a703-datab AND&lt;/P&gt;&lt;P&gt;          lv_tempdat1 &amp;lt; a703-datbi AND&lt;/P&gt;&lt;P&gt;           lv_tempdat2 &amp;gt;= a703-datbi.&lt;/P&gt;&lt;P&gt;        REFRESH bdcdata.&lt;/P&gt;&lt;P&gt;        CLEAR bdcdata.&lt;/P&gt;&lt;P&gt;        CLEAR lv_datab.&lt;/P&gt;&lt;P&gt;        PERFORM bdc_dynpro      USING 'SAPMV13A' '0100'.&lt;/P&gt;&lt;P&gt;        PERFORM bdc_field       USING 'BDC_CURSOR' 'RV13A-KSCHL'.&lt;/P&gt;&lt;P&gt;        PERFORM bdc_field       USING 'BDC_OKCODE' '=ANTA'.&lt;/P&gt;&lt;P&gt;        PERFORM bdc_field       USING 'RV13A-KSCHL' it_extract-kschl1.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;        PERFORM bdc_dynpro      USING 'SAPLV14A' '0100'.&lt;/P&gt;&lt;P&gt;        PERFORM bdc_field       USING 'BDC_CURSOR' 'RV130-SELKZ(02)'.&lt;/P&gt;&lt;P&gt;        PERFORM bdc_field       USING 'BDC_OKCODE' '=WEIT'.&lt;/P&gt;&lt;P&gt;        PERFORM bdc_field       USING 'RV130-SELKZ(01)'  'X'.&lt;/P&gt;&lt;P&gt;        PERFORM bdc_field       USING 'RV130-SELKZ(02)'  ''.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;        PERFORM bdc_dynpro      USING 'RV13A703' '1000'.&lt;/P&gt;&lt;P&gt;        PERFORM bdc_field       USING 'BDC_CURSOR' 'F004'.&lt;/P&gt;&lt;P&gt;        PERFORM bdc_field       USING 'BDC_OKCODE' '=ONLI'.&lt;/P&gt;&lt;P&gt;        PERFORM bdc_field       USING 'F001' it_extract-vkorg.&lt;/P&gt;&lt;P&gt;        PERFORM bdc_field       USING 'F002' it_extract-vtweg.&lt;/P&gt;&lt;P&gt;        PERFORM bdc_field       USING 'F003' it_extract-spart.&lt;/P&gt;&lt;P&gt;        PERFORM bdc_field       USING 'F004' it_extract-land1.&lt;/P&gt;&lt;P&gt;        PERFORM bdc_field       USING 'F005-LOW' it_extract-matnr.&lt;/P&gt;&lt;P&gt;        CLEAR lv_sydate.&lt;/P&gt;&lt;P&gt;        lv_sydate(2) = sy-datum+6(2).&lt;/P&gt;&lt;P&gt;        lv_sydate&lt;EM&gt;2(2) = sy-datum&lt;/EM&gt;4(2).&lt;/P&gt;&lt;P&gt;        lv_sydate+4(4) = sy-datum(4).&lt;/P&gt;&lt;P&gt;        PERFORM bdc_field       USING 'SEL_DATE' lv_sydate.&lt;/P&gt;&lt;P&gt;        CLEAR lv_sydate.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;        PERFORM bdc_dynpro      USING 'SAPMV13A' '1703'.&lt;/P&gt;&lt;P&gt;        PERFORM bdc_field       USING 'BDC_CURSOR' 'RV13A-DATBI(01)'.&lt;/P&gt;&lt;P&gt;        PERFORM bdc_field       USING 'BDC_OKCODE' '=SICH'.&lt;/P&gt;&lt;P&gt;        lv_datab = lv_tempdat1.&lt;/P&gt;&lt;P&gt;        SUBTRACT 1 FROM lv_datab.&lt;/P&gt;&lt;P&gt;        CLEAR lv_tempdat.&lt;/P&gt;&lt;P&gt;        lv_tempdat(2) = lv_datab+6(2).&lt;/P&gt;&lt;P&gt;        lv_tempdat&lt;EM&gt;2(2) = lv_datab&lt;/EM&gt;4(2).&lt;/P&gt;&lt;P&gt;        lv_tempdat+4(4) = lv_datab(4).&lt;/P&gt;&lt;P&gt;        lv_datab = lv_tempdat.&lt;/P&gt;&lt;P&gt;        CLEAR lv_tempdat.&lt;/P&gt;&lt;P&gt;        PERFORM bdc_field       USING 'RV13A-DATBI(01)' lv_datab.&lt;/P&gt;&lt;P&gt;        PERFORM bdc_field       USING 'BDC_OKCODE' '=SICH'.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;        REFRESH it_msgtab.&lt;/P&gt;&lt;P&gt;        CALL TRANSACTION 'VK12'&lt;/P&gt;&lt;P&gt;                          USING bdcdata&lt;/P&gt;&lt;P&gt;                          MODE 'N'&lt;/P&gt;&lt;P&gt;                          UPDATE 'S'&lt;/P&gt;&lt;P&gt;                          MESSAGES INTO it_msgtab.&lt;/P&gt;&lt;P&gt;        IF sy-subrc = 0.&lt;/P&gt;&lt;P&gt;          ADD 1 TO w_data_bdc_recs.&lt;/P&gt;&lt;P&gt;          DELETE ADJACENT DUPLICATES FROM it_msgtab.&lt;/P&gt;&lt;P&gt;          LOOP AT it_msgtab.&lt;/P&gt;&lt;P&gt;            CLEAR wa_msglog.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;            wa_msglog-msgid = it_msgtab-msgid.&lt;/P&gt;&lt;P&gt;            wa_msglog-msgno = it_msgtab-msgnr.&lt;/P&gt;&lt;P&gt;            wa_msglog-msgty = it_msgtab-msgtyp.&lt;/P&gt;&lt;P&gt;            wa_msglog-msgv1 = it_msgtab-msgv1.&lt;/P&gt;&lt;P&gt;            wa_msglog-msgv2 = it_msgtab-msgv2.&lt;/P&gt;&lt;P&gt;            wa_msglog-msgv3 = it_msgtab-msgv3.&lt;/P&gt;&lt;P&gt;            wa_msglog-msgv4 = it_msgtab-msgv4.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;            CALL FUNCTION 'MESSAGE_TEXTS_READ'&lt;/P&gt;&lt;P&gt;              EXPORTING&lt;/P&gt;&lt;P&gt;                msg_log_imp  = wa_msglog&lt;/P&gt;&lt;P&gt;              IMPORTING&lt;/P&gt;&lt;P&gt;                msg_text_exp = wa_msgtxt.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;            IF sy-subrc = 0.&lt;/P&gt;&lt;P&gt;              CLEAR it_errmat.&lt;/P&gt;&lt;P&gt;              it_errmat-recno = lv_count.&lt;/P&gt;&lt;P&gt;              it_errmat-kschl = it_extract-kschl1.&lt;/P&gt;&lt;P&gt;              it_errmat-matnr = it_extract-matnr.&lt;/P&gt;&lt;P&gt;              it_errmat-status = text-020.&lt;/P&gt;&lt;P&gt;              it_errmat-bdcmsg = wa_msgtxt-msgtx.&lt;/P&gt;&lt;P&gt;              APPEND it_errmat.&lt;/P&gt;&lt;P&gt;            ENDIF.&lt;/P&gt;&lt;P&gt;          ENDLOOP.&lt;/P&gt;&lt;P&gt;        ELSE.&lt;/P&gt;&lt;P&gt;          LOOP AT it_msgtab.&lt;/P&gt;&lt;P&gt;            CLEAR wa_msglog.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;            wa_msglog-msgid = it_msgtab-msgid.&lt;/P&gt;&lt;P&gt;            wa_msglog-msgno = it_msgtab-msgnr.&lt;/P&gt;&lt;P&gt;            wa_msglog-msgty = it_msgtab-msgtyp.&lt;/P&gt;&lt;P&gt;            wa_msglog-msgv1 = it_msgtab-msgv1.&lt;/P&gt;&lt;P&gt;            wa_msglog-msgv2 = it_msgtab-msgv2.&lt;/P&gt;&lt;P&gt;            wa_msglog-msgv3 = it_msgtab-msgv3.&lt;/P&gt;&lt;P&gt;            wa_msglog-msgv4 = it_msgtab-msgv4.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;            CALL FUNCTION 'MESSAGE_TEXTS_READ'&lt;/P&gt;&lt;P&gt;              EXPORTING&lt;/P&gt;&lt;P&gt;                msg_log_imp  = wa_msglog&lt;/P&gt;&lt;P&gt;              IMPORTING&lt;/P&gt;&lt;P&gt;                msg_text_exp = wa_msgtxt.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;            IF sy-subrc = 0.&lt;/P&gt;&lt;P&gt;              CLEAR it_errmat.&lt;/P&gt;&lt;P&gt;              it_errmat-recno = lv_count.&lt;/P&gt;&lt;P&gt;              it_errmat-kschl = it_extract-kschl1.&lt;/P&gt;&lt;P&gt;              it_errmat-matnr = it_extract-matnr.&lt;/P&gt;&lt;P&gt;              it_errmat-status = text-021.&lt;/P&gt;&lt;P&gt;              it_errmat-bdcmsg = wa_msgtxt-msgtx.&lt;/P&gt;&lt;P&gt;              APPEND it_errmat.&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;        COMMIT WORK AND WAIT.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;*second record in case 1&lt;/P&gt;&lt;P&gt;        PERFORM new_record_a703.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;*case 2&lt;/P&gt;&lt;P&gt;*if validity period coincide, then just change the amount.&lt;/P&gt;&lt;P&gt;      ELSEIF lv_tempdat1 = a703-datab AND&lt;/P&gt;&lt;P&gt;             lv_tempdat2 = a703-datbi.&lt;/P&gt;&lt;P&gt;        REFRESH bdcdata.&lt;/P&gt;&lt;P&gt;        CLEAR bdcdata.&lt;/P&gt;&lt;P&gt;        CLEAR lv_datab.&lt;/P&gt;&lt;P&gt;        PERFORM bdc_dynpro      USING 'SAPMV13A' '0100'.&lt;/P&gt;&lt;P&gt;        PERFORM bdc_field       USING 'BDC_CURSOR' 'RV13A-KSCHL'.&lt;/P&gt;&lt;P&gt;        PERFORM bdc_field       USING 'BDC_OKCODE' '=ANTA'.&lt;/P&gt;&lt;P&gt;        PERFORM bdc_field       USING 'RV13A-KSCHL' it_extract-kschl1.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;        PERFORM bdc_dynpro      USING 'SAPLV14A' '0100'.&lt;/P&gt;&lt;P&gt;        PERFORM bdc_field       USING 'BDC_CURSOR' 'RV130-SELKZ(02)'.&lt;/P&gt;&lt;P&gt;        PERFORM bdc_field       USING 'BDC_OKCODE' '=WEIT'.&lt;/P&gt;&lt;P&gt;        PERFORM bdc_field       USING 'RV130-SELKZ(01)'  'X'.&lt;/P&gt;&lt;P&gt;        PERFORM bdc_field       USING 'RV130-SELKZ(02)'  ''.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;        PERFORM bdc_dynpro      USING 'RV13A703' '1000'.&lt;/P&gt;&lt;P&gt;        PERFORM bdc_field       USING 'BDC_CURSOR' 'F004'.&lt;/P&gt;&lt;P&gt;        PERFORM bdc_field       USING 'BDC_OKCODE' '=ONLI'.&lt;/P&gt;&lt;P&gt;        PERFORM bdc_field       USING 'F001' it_extract-vkorg.&lt;/P&gt;&lt;P&gt;        PERFORM bdc_field       USING 'F002' it_extract-vtweg.&lt;/P&gt;&lt;P&gt;        PERFORM bdc_field       USING 'F003' it_extract-spart.&lt;/P&gt;&lt;P&gt;        PERFORM bdc_field       USING 'F004' it_extract-land1.&lt;/P&gt;&lt;P&gt;        PERFORM bdc_field       USING 'F005-LOW' it_extract-matnr.&lt;/P&gt;&lt;P&gt;        CLEAR lv_sydate.&lt;/P&gt;&lt;P&gt;        lv_sydate(2) = sy-datum+6(2).&lt;/P&gt;&lt;P&gt;        lv_sydate&lt;EM&gt;2(2) = sy-datum&lt;/EM&gt;4(2).&lt;/P&gt;&lt;P&gt;        lv_sydate+4(4) = sy-datum(4).&lt;/P&gt;&lt;P&gt;        PERFORM bdc_field       USING 'SEL_DATE' lv_sydate.&lt;/P&gt;&lt;P&gt;        CLEAR lv_sydate.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;        PERFORM bdc_dynpro      USING 'SAPMV13A' '1703'.&lt;/P&gt;&lt;P&gt;        PERFORM bdc_field       USING 'BDC_CURSOR' 'RV13A-DATBI(01)'.&lt;/P&gt;&lt;P&gt;        PERFORM bdc_field       USING 'BDC_OKCODE' '=SICH'.&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;       lv_datab = lv_tempdat1.&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;       SUBTRACT 1 FROM lv_datab.&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;       CLEAR lv_tempdat.&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;       lv_tempdat(2) = lv_datab+6(2).&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;       lv_tempdat&lt;EM&gt;2(2) = lv_datab&lt;/EM&gt;4(2).&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;       lv_tempdat+4(4) = lv_datab(4).&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;       lv_datab = lv_tempdat.&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;       CLEAR lv_tempdat.&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;       PERFORM bdc_field       USING 'RV13A-DATBI(01)' lv_datab.&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;        CLEAR lv_amnt.&lt;/P&gt;&lt;P&gt;        MOVE it_extract-kbetr3 TO lv_amnt.&lt;/P&gt;&lt;P&gt;        REPLACE '.' WITH ',' INTO lv_amnt.&lt;/P&gt;&lt;P&gt;        CONDENSE lv_amnt NO-GAPS.&lt;/P&gt;&lt;P&gt;        PERFORM bdc_field     USING 'KONP-KBETR(01)' lv_amnt.&lt;/P&gt;&lt;P&gt;        CLEAR lv_amnt.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;        REFRESH it_msgtab.&lt;/P&gt;&lt;P&gt;        CALL TRANSACTION 'VK12'&lt;/P&gt;&lt;P&gt;                          USING bdcdata&lt;/P&gt;&lt;P&gt;                          MODE 'N'&lt;/P&gt;&lt;P&gt;                          UPDATE 'S'&lt;/P&gt;&lt;P&gt;                          MESSAGES INTO it_msgtab.&lt;/P&gt;&lt;P&gt;        IF sy-subrc = 0.&lt;/P&gt;&lt;P&gt;          ADD 1 TO w_data_bdc_recs.&lt;/P&gt;&lt;P&gt;          DELETE ADJACENT DUPLICATES FROM it_msgtab.&lt;/P&gt;&lt;P&gt;          LOOP AT it_msgtab.&lt;/P&gt;&lt;P&gt;            CLEAR wa_msglog.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;            wa_msglog-msgid = it_msgtab-msgid.&lt;/P&gt;&lt;P&gt;            wa_msglog-msgno = it_msgtab-msgnr.&lt;/P&gt;&lt;P&gt;            wa_msglog-msgty = it_msgtab-msgtyp.&lt;/P&gt;&lt;P&gt;            wa_msglog-msgv1 = it_msgtab-msgv1.&lt;/P&gt;&lt;P&gt;            wa_msglog-msgv2 = it_msgtab-msgv2.&lt;/P&gt;&lt;P&gt;            wa_msglog-msgv3 = it_msgtab-msgv3.&lt;/P&gt;&lt;P&gt;            wa_msglog-msgv4 = it_msgtab-msgv4.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;            CALL FUNCTION 'MESSAGE_TEXTS_READ'&lt;/P&gt;&lt;P&gt;              EXPORTING&lt;/P&gt;&lt;P&gt;                msg_log_imp  = wa_msglog&lt;/P&gt;&lt;P&gt;              IMPORTING&lt;/P&gt;&lt;P&gt;                msg_text_exp = wa_msgtxt.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;            IF sy-subrc = 0.&lt;/P&gt;&lt;P&gt;              CLEAR it_errmat.&lt;/P&gt;&lt;P&gt;              it_errmat-recno = lv_count.&lt;/P&gt;&lt;P&gt;              it_errmat-kschl = it_extract-kschl1.&lt;/P&gt;&lt;P&gt;              it_errmat-matnr = it_extract-matnr.&lt;/P&gt;&lt;P&gt;              it_errmat-status = text-020.&lt;/P&gt;&lt;P&gt;              it_errmat-bdcmsg = wa_msgtxt-msgtx.&lt;/P&gt;&lt;P&gt;              APPEND it_errmat.&lt;/P&gt;&lt;P&gt;            ENDIF.&lt;/P&gt;&lt;P&gt;          ENDLOOP.&lt;/P&gt;&lt;P&gt;        ELSE.&lt;/P&gt;&lt;P&gt;          LOOP AT it_msgtab.&lt;/P&gt;&lt;P&gt;            CLEAR wa_msglog.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;            wa_msglog-msgid = it_msgtab-msgid.&lt;/P&gt;&lt;P&gt;            wa_msglog-msgno = it_msgtab-msgnr.&lt;/P&gt;&lt;P&gt;            wa_msglog-msgty = it_msgtab-msgtyp.&lt;/P&gt;&lt;P&gt;            wa_msglog-msgv1 = it_msgtab-msgv1.&lt;/P&gt;&lt;P&gt;            wa_msglog-msgv2 = it_msgtab-msgv2.&lt;/P&gt;&lt;P&gt;            wa_msglog-msgv3 = it_msgtab-msgv3.&lt;/P&gt;&lt;P&gt;            wa_msglog-msgv4 = it_msgtab-msgv4.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;            CALL FUNCTION 'MESSAGE_TEXTS_READ'&lt;/P&gt;&lt;P&gt;              EXPORTING&lt;/P&gt;&lt;P&gt;                msg_log_imp  = wa_msglog&lt;/P&gt;&lt;P&gt;              IMPORTING&lt;/P&gt;&lt;P&gt;                msg_text_exp = wa_msgtxt.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;            IF sy-subrc = 0.&lt;/P&gt;&lt;P&gt;              CLEAR it_errmat.&lt;/P&gt;&lt;P&gt;              it_errmat-recno = lv_count.&lt;/P&gt;&lt;P&gt;              it_errmat-kschl = it_extract-kschl1.&lt;/P&gt;&lt;P&gt;              it_errmat-matnr = it_extract-matnr.&lt;/P&gt;&lt;P&gt;              it_errmat-status = text-021.&lt;/P&gt;&lt;P&gt;              it_errmat-bdcmsg = wa_msgtxt-msgtx.&lt;/P&gt;&lt;P&gt;              APPEND it_errmat.&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;        COMMIT WORK AND WAIT.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;********************&lt;/P&gt;&lt;P&gt;*Case 3            *&lt;/P&gt;&lt;P&gt;********************&lt;/P&gt;&lt;P&gt;      ELSEIF lv_tempdat1 &amp;gt; a703-datab AND&lt;/P&gt;&lt;P&gt;              lv_tempdat1 &amp;lt; a703-datbi AND&lt;/P&gt;&lt;P&gt;               lv_tempdat2 &amp;lt; a703-datbi.&lt;/P&gt;&lt;P&gt;        REFRESH bdcdata.&lt;/P&gt;&lt;P&gt;        CLEAR bdcdata.&lt;/P&gt;&lt;P&gt;        CLEAR lv_datab.&lt;/P&gt;&lt;P&gt;        PERFORM bdc_dynpro      USING 'SAPMV13A' '0100'.&lt;/P&gt;&lt;P&gt;        PERFORM bdc_field       USING 'BDC_CURSOR' 'RV13A-KSCHL'.&lt;/P&gt;&lt;P&gt;        PERFORM bdc_field       USING 'BDC_OKCODE' '=ANTA'.&lt;/P&gt;&lt;P&gt;        PERFORM bdc_field       USING 'RV13A-KSCHL' it_extract-kschl1.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;        PERFORM bdc_dynpro      USING 'SAPLV14A' '0100'.&lt;/P&gt;&lt;P&gt;        PERFORM bdc_field       USING 'BDC_CURSOR' 'RV130-SELKZ(02)'.&lt;/P&gt;&lt;P&gt;        PERFORM bdc_field       USING 'BDC_OKCODE' '=WEIT'.&lt;/P&gt;&lt;P&gt;        PERFORM bdc_field       USING 'RV130-SELKZ(01)'  'X'.&lt;/P&gt;&lt;P&gt;        PERFORM bdc_field       USING 'RV130-SELKZ(02)'  ''.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;        PERFORM bdc_dynpro      USING 'RV13A703' '1000'.&lt;/P&gt;&lt;P&gt;        PERFORM bdc_field       USING 'BDC_CURSOR' 'F004'.&lt;/P&gt;&lt;P&gt;        PERFORM bdc_field       USING 'BDC_OKCODE' '=ONLI'.&lt;/P&gt;&lt;P&gt;        PERFORM bdc_field       USING 'F001' it_extract-vkorg.&lt;/P&gt;&lt;P&gt;        PERFORM bdc_field       USING 'F002' it_extract-vtweg.&lt;/P&gt;&lt;P&gt;        PERFORM bdc_field       USING 'F003' it_extract-spart.&lt;/P&gt;&lt;P&gt;        PERFORM bdc_field       USING 'F004' it_extract-land1.&lt;/P&gt;&lt;P&gt;        PERFORM bdc_field       USING 'F005-LOW' it_extract-matnr.&lt;/P&gt;&lt;P&gt;        CLEAR lv_sydate.&lt;/P&gt;&lt;P&gt;        lv_sydate(2) = sy-datum+6(2).&lt;/P&gt;&lt;P&gt;        lv_sydate&lt;EM&gt;2(2) = sy-datum&lt;/EM&gt;4(2).&lt;/P&gt;&lt;P&gt;        lv_sydate+4(4) = sy-datum(4).&lt;/P&gt;&lt;P&gt;        PERFORM bdc_field       USING 'SEL_DATE' lv_sydate.&lt;/P&gt;&lt;P&gt;        CLEAR lv_sydate.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;        PERFORM bdc_dynpro      USING 'SAPMV13A' '1703'.&lt;/P&gt;&lt;P&gt;        PERFORM bdc_field       USING 'BDC_CURSOR' 'RV13A-DATBI(01)'.&lt;/P&gt;&lt;P&gt;        PERFORM bdc_field       USING 'BDC_OKCODE' '=SICH'.&lt;/P&gt;&lt;P&gt;        lv_datab = lv_tempdat1.&lt;/P&gt;&lt;P&gt;        SUBTRACT 1 FROM lv_datab.&lt;/P&gt;&lt;P&gt;        CLEAR lv_tempdat.&lt;/P&gt;&lt;P&gt;        lv_tempdat(2) = lv_datab+6(2).&lt;/P&gt;&lt;P&gt;        lv_tempdat&lt;EM&gt;2(2) = lv_datab&lt;/EM&gt;4(2).&lt;/P&gt;&lt;P&gt;        lv_tempdat+4(4) = lv_datab(4).&lt;/P&gt;&lt;P&gt;        lv_datab = lv_tempdat.&lt;/P&gt;&lt;P&gt;        CLEAR lv_tempdat.&lt;/P&gt;&lt;P&gt;        PERFORM bdc_field       USING 'RV13A-DATBI(01)' lv_datab.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;        REFRESH it_msgtab.&lt;/P&gt;&lt;P&gt;        CALL TRANSACTION 'VK12'&lt;/P&gt;&lt;P&gt;                          USING bdcdata&lt;/P&gt;&lt;P&gt;                          MODE 'N'&lt;/P&gt;&lt;P&gt;                          UPDATE 'S'&lt;/P&gt;&lt;P&gt;                          MESSAGES INTO it_msgtab.&lt;/P&gt;&lt;P&gt;        IF sy-subrc = 0.&lt;/P&gt;&lt;P&gt;          ADD 1 TO w_data_bdc_recs.&lt;/P&gt;&lt;P&gt;          DELETE ADJACENT DUPLICATES FROM it_msgtab.&lt;/P&gt;&lt;P&gt;          LOOP AT it_msgtab.&lt;/P&gt;&lt;P&gt;            CLEAR wa_msglog.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;            wa_msglog-msgid = it_msgtab-msgid.&lt;/P&gt;&lt;P&gt;            wa_msglog-msgno = it_msgtab-msgnr.&lt;/P&gt;&lt;P&gt;            wa_msglog-msgty = it_msgtab-msgtyp.&lt;/P&gt;&lt;P&gt;            wa_msglog-msgv1 = it_msgtab-msgv1.&lt;/P&gt;&lt;P&gt;            wa_msglog-msgv2 = it_msgtab-msgv2.&lt;/P&gt;&lt;P&gt;            wa_msglog-msgv3 = it_msgtab-msgv3.&lt;/P&gt;&lt;P&gt;            wa_msglog-msgv4 = it_msgtab-msgv4.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;            CALL FUNCTION 'MESSAGE_TEXTS_READ'&lt;/P&gt;&lt;P&gt;              EXPORTING&lt;/P&gt;&lt;P&gt;                msg_log_imp  = wa_msglog&lt;/P&gt;&lt;P&gt;              IMPORTING&lt;/P&gt;&lt;P&gt;                msg_text_exp = wa_msgtxt.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;            IF sy-subrc = 0.&lt;/P&gt;&lt;P&gt;              CLEAR it_errmat.&lt;/P&gt;&lt;P&gt;              it_errmat-recno = lv_count.&lt;/P&gt;&lt;P&gt;              it_errmat-kschl = it_extract-kschl1.&lt;/P&gt;&lt;P&gt;              it_errmat-matnr = it_extract-matnr.&lt;/P&gt;&lt;P&gt;              it_errmat-status = text-020.&lt;/P&gt;&lt;P&gt;              it_errmat-bdcmsg = wa_msgtxt-msgtx.&lt;/P&gt;&lt;P&gt;              APPEND it_errmat.&lt;/P&gt;&lt;P&gt;            ENDIF.&lt;/P&gt;&lt;P&gt;          ENDLOOP.&lt;/P&gt;&lt;P&gt;        ELSE.&lt;/P&gt;&lt;P&gt;          LOOP AT it_msgtab.&lt;/P&gt;&lt;P&gt;            CLEAR wa_msglog.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;            wa_msglog-msgid = it_msgtab-msgid.&lt;/P&gt;&lt;P&gt;            wa_msglog-msgno = it_msgtab-msgnr.&lt;/P&gt;&lt;P&gt;            wa_msglog-msgty = it_msgtab-msgtyp.&lt;/P&gt;&lt;P&gt;            wa_msglog-msgv1 = it_msgtab-msgv1.&lt;/P&gt;&lt;P&gt;            wa_msglog-msgv2 = it_msgtab-msgv2.&lt;/P&gt;&lt;P&gt;            wa_msglog-msgv3 = it_msgtab-msgv3.&lt;/P&gt;&lt;P&gt;            wa_msglog-msgv4 = it_msgtab-msgv4.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;            CALL FUNCTION 'MESSAGE_TEXTS_READ'&lt;/P&gt;&lt;P&gt;              EXPORTING&lt;/P&gt;&lt;P&gt;                msg_log_imp  = wa_msglog&lt;/P&gt;&lt;P&gt;              IMPORTING&lt;/P&gt;&lt;P&gt;                msg_text_exp = wa_msgtxt.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;            IF sy-subrc = 0.&lt;/P&gt;&lt;P&gt;              CLEAR it_errmat.&lt;/P&gt;&lt;P&gt;              it_errmat-recno = lv_count.&lt;/P&gt;&lt;P&gt;              it_errmat-kschl = it_extract-kschl1.&lt;/P&gt;&lt;P&gt;              it_errmat-matnr = it_extract-matnr.&lt;/P&gt;&lt;P&gt;              it_errmat-status = text-021.&lt;/P&gt;&lt;P&gt;              it_errmat-bdcmsg = wa_msgtxt-msgtx.&lt;/P&gt;&lt;P&gt;              APPEND it_errmat.&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;        COMMIT WORK AND WAIT.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;*second record in case 3&lt;/P&gt;&lt;P&gt;        PERFORM new_record_a703.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;*third record in case 3&lt;/P&gt;&lt;P&gt;        REFRESH bdcdata.&lt;/P&gt;&lt;P&gt;        CLEAR bdcdata.&lt;/P&gt;&lt;P&gt;        PERFORM bdc_dynpro      USING 'SAPMV13A' '0100'.&lt;/P&gt;&lt;P&gt;        PERFORM bdc_field       USING 'BDC_CURSOR' 'RV13A-KSCHL'.&lt;/P&gt;&lt;P&gt;        PERFORM bdc_field       USING 'BDC_OKCODE' '=ANTA'.&lt;/P&gt;&lt;P&gt;        PERFORM bdc_field       USING 'RV13A-KSCHL' it_extract-kschl1.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;        PERFORM bdc_dynpro      USING 'SAPLV14A' '0100'.&lt;/P&gt;&lt;P&gt;        PERFORM bdc_field       USING 'BDC_CURSOR' 'RV130-SELKZ(01)'.&lt;/P&gt;&lt;P&gt;        PERFORM bdc_field       USING 'BDC_OKCODE' '=WEIT'.&lt;/P&gt;&lt;P&gt;        PERFORM bdc_field       USING 'RV130-SELKZ(01)'  'X'.&lt;/P&gt;&lt;P&gt;        PERFORM bdc_field       USING 'RV130-SELKZ(02)'  ''.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;        PERFORM bdc_dynpro      USING 'RV13A703' '1000'.&lt;/P&gt;&lt;P&gt;        PERFORM bdc_field       USING 'BDC_CURSOR' 'F004'.&lt;/P&gt;&lt;P&gt;        PERFORM bdc_field       USING 'BDC_OKCODE' '=ONLI'.&lt;/P&gt;&lt;P&gt;        PERFORM bdc_field       USING 'F001' it_extract-vkorg.&lt;/P&gt;&lt;P&gt;        PERFORM bdc_field       USING 'F002' it_extract-vtweg.&lt;/P&gt;&lt;P&gt;        PERFORM bdc_field       USING 'F003' it_extract-spart.&lt;/P&gt;&lt;P&gt;        PERFORM bdc_field       USING 'F004' it_extract-land1.&lt;/P&gt;&lt;P&gt;        PERFORM bdc_field       USING 'F005-LOW' it_extract-matnr.&lt;/P&gt;&lt;P&gt;        CLEAR lv_datab.&lt;/P&gt;&lt;P&gt;        lv_datab = lv_tempdat2.&lt;/P&gt;&lt;P&gt;        ADD 1 TO lv_datab.&lt;/P&gt;&lt;P&gt;        CLEAR lv_tempdat.&lt;/P&gt;&lt;P&gt;        lv_tempdat(2) = lv_datab+6(2).&lt;/P&gt;&lt;P&gt;        lv_tempdat&lt;EM&gt;2(2) = lv_datab&lt;/EM&gt;4(2).&lt;/P&gt;&lt;P&gt;        lv_tempdat+4(4) = lv_datab(4).&lt;/P&gt;&lt;P&gt;        lv_datab = lv_tempdat.&lt;/P&gt;&lt;P&gt;        CLEAR lv_tempdat.&lt;/P&gt;&lt;P&gt;        PERFORM bdc_field       USING 'SEL_DATE' lv_datab.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;        PERFORM bdc_dynpro      USING 'SAPMV13A' '1703'.&lt;/P&gt;&lt;P&gt;        PERFORM bdc_field       USING 'BDC_CURSOR' 'RV13A-DATBI(01)'.&lt;/P&gt;&lt;P&gt;        PERFORM bdc_field       USING 'BDC_OKCODE' '=SICH'.&lt;/P&gt;&lt;P&gt;        PERFORM bdc_field       USING 'KOMG-VKORG' it_extract-vkorg.&lt;/P&gt;&lt;P&gt;        PERFORM bdc_field       USING 'KOMG-VTWEG' it_extract-vtweg.&lt;/P&gt;&lt;P&gt;        PERFORM bdc_field       USING 'KOMG-SPART' it_extract-spart.&lt;/P&gt;&lt;P&gt;        PERFORM bdc_field       USING 'KOMG-LAND1' it_extract-land1.&lt;/P&gt;&lt;P&gt;        PERFORM bdc_field       USING 'KOMG-MATNR(01)' it_extract-matnr.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;        SELECT SINGLE * FROM konp WHERE&lt;/P&gt;&lt;P&gt;                        knumh = a703-knumh AND&lt;/P&gt;&lt;P&gt;                        kopos = '01'.&lt;/P&gt;&lt;P&gt;        IF sy-subrc = 0.&lt;/P&gt;&lt;P&gt;          CLEAR lv_amnt.&lt;/P&gt;&lt;P&gt;          MOVE konp-kbetr TO lv_amnt.&lt;/P&gt;&lt;P&gt;          REPLACE '.' WITH ',' INTO lv_amnt.&lt;/P&gt;&lt;P&gt;          CONDENSE lv_amnt NO-GAPS.&lt;/P&gt;&lt;P&gt;          PERFORM bdc_field       USING 'KONP-KBETR(01)' lv_amnt.&lt;/P&gt;&lt;P&gt;        ENDIF.&lt;/P&gt;&lt;P&gt;        CLEAR lv_amnt.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;        PERFORM bdc_field       USING 'KONP-KONWA(01)' 'EUR'.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;        IF NOT it_extract-datab IS INITIAL.&lt;/P&gt;&lt;P&gt;          PERFORM bdc_field       USING 'RV13A-DATAB(01)' lv_datab.&lt;/P&gt;&lt;P&gt;        ELSE.&lt;/P&gt;&lt;P&gt;          PERFORM bdc_field       USING 'RV13A-DATAB(01)' sy-datum.&lt;/P&gt;&lt;P&gt;        ENDIF.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;        IF NOT it_extract-datbi IS INITIAL.&lt;/P&gt;&lt;P&gt;          PERFORM bdc_field       USING 'RV13A-DATBI(01)' a703-datbi.&lt;/P&gt;&lt;P&gt;        ELSE.&lt;/P&gt;&lt;P&gt;          PERFORM bdc_field       USING 'RV13A-DATBI(01)' '31.12.9999'.&lt;/P&gt;&lt;P&gt;        ENDIF.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;        REFRESH it_msgtab.&lt;/P&gt;&lt;P&gt;        CALL TRANSACTION 'VK12'&lt;/P&gt;&lt;P&gt;                          USING bdcdata&lt;/P&gt;&lt;P&gt;                          MODE 'N'&lt;/P&gt;&lt;P&gt;                          UPDATE 'S'&lt;/P&gt;&lt;P&gt;                          MESSAGES INTO it_msgtab.&lt;/P&gt;&lt;P&gt;        IF sy-subrc = 0.&lt;/P&gt;&lt;P&gt;          ADD 1 TO w_data_bdc_recs.&lt;/P&gt;&lt;P&gt;          DELETE ADJACENT DUPLICATES FROM it_msgtab.&lt;/P&gt;&lt;P&gt;          LOOP AT it_msgtab.&lt;/P&gt;&lt;P&gt;            CLEAR wa_msglog.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;            wa_msglog-msgid = it_msgtab-msgid.&lt;/P&gt;&lt;P&gt;            wa_msglog-msgno = it_msgtab-msgnr.&lt;/P&gt;&lt;P&gt;            wa_msglog-msgty = it_msgtab-msgtyp.&lt;/P&gt;&lt;P&gt;            wa_msglog-msgv1 = it_msgtab-msgv1.&lt;/P&gt;&lt;P&gt;            wa_msglog-msgv2 = it_msgtab-msgv2.&lt;/P&gt;&lt;P&gt;            wa_msglog-msgv3 = it_msgtab-msgv3.&lt;/P&gt;&lt;P&gt;            wa_msglog-msgv4 = it_msgtab-msgv4.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;            CALL FUNCTION 'MESSAGE_TEXTS_READ'&lt;/P&gt;&lt;P&gt;              EXPORTING&lt;/P&gt;&lt;P&gt;                msg_log_imp  = wa_msglog&lt;/P&gt;&lt;P&gt;              IMPORTING&lt;/P&gt;&lt;P&gt;                msg_text_exp = wa_msgtxt.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;            IF sy-subrc = 0.&lt;/P&gt;&lt;P&gt;              CLEAR it_errmat.&lt;/P&gt;&lt;P&gt;              it_errmat-recno = lv_count.&lt;/P&gt;&lt;P&gt;              it_errmat-kschl = it_extract-kschl1.&lt;/P&gt;&lt;P&gt;              it_errmat-matnr = it_extract-matnr.&lt;/P&gt;&lt;P&gt;              it_errmat-status = text-020.&lt;/P&gt;&lt;P&gt;              it_errmat-bdcmsg = wa_msgtxt-msgtx.&lt;/P&gt;&lt;P&gt;              APPEND it_errmat.&lt;/P&gt;&lt;P&gt;            ENDIF.&lt;/P&gt;&lt;P&gt;          ENDLOOP.&lt;/P&gt;&lt;P&gt;        ELSE.&lt;/P&gt;&lt;P&gt;          LOOP AT it_msgtab.&lt;/P&gt;&lt;P&gt;            CLEAR wa_msglog.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;            wa_msglog-msgid = it_msgtab-msgid.&lt;/P&gt;&lt;P&gt;            wa_msglog-msgno = it_msgtab-msgnr.&lt;/P&gt;&lt;P&gt;            wa_msglog-msgty = it_msgtab-msgtyp.&lt;/P&gt;&lt;P&gt;            wa_msglog-msgv1 = it_msgtab-msgv1.&lt;/P&gt;&lt;P&gt;            wa_msglog-msgv2 = it_msgtab-msgv2.&lt;/P&gt;&lt;P&gt;            wa_msglog-msgv3 = it_msgtab-msgv3.&lt;/P&gt;&lt;P&gt;            wa_msglog-msgv4 = it_msgtab-msgv4.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;            CALL FUNCTION 'MESSAGE_TEXTS_READ'&lt;/P&gt;&lt;P&gt;              EXPORTING&lt;/P&gt;&lt;P&gt;                msg_log_imp  = wa_msglog&lt;/P&gt;&lt;P&gt;              IMPORTING&lt;/P&gt;&lt;P&gt;                msg_text_exp = wa_msgtxt.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;            IF sy-subrc = 0.&lt;/P&gt;&lt;P&gt;              CLEAR it_errmat.&lt;/P&gt;&lt;P&gt;              it_errmat-recno = lv_count.&lt;/P&gt;&lt;P&gt;              it_errmat-kschl = it_extract-kschl1.&lt;/P&gt;&lt;P&gt;              it_errmat-matnr = it_extract-matnr.&lt;/P&gt;&lt;P&gt;              it_errmat-status = text-021.&lt;/P&gt;&lt;P&gt;              it_errmat-bdcmsg = wa_msgtxt-msgtx.&lt;/P&gt;&lt;P&gt;              APPEND it_errmat.&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;        COMMIT WORK AND WAIT.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;************&lt;/P&gt;&lt;P&gt;*case 4&lt;/P&gt;&lt;P&gt;************&lt;/P&gt;&lt;P&gt;      ELSEIF lv_tempdat1 &amp;lt; a703-datab AND&lt;/P&gt;&lt;P&gt;              lv_tempdat2 &amp;gt; a703-datab AND&lt;/P&gt;&lt;P&gt;               lv_tempdat2 &amp;lt; a703-datbi.&lt;/P&gt;&lt;P&gt;        REFRESH bdcdata.&lt;/P&gt;&lt;P&gt;        CLEAR bdcdata.&lt;/P&gt;&lt;P&gt;        CLEAR lv_datab.&lt;/P&gt;&lt;P&gt;        PERFORM bdc_dynpro      USING 'SAPMV13A' '0100'.&lt;/P&gt;&lt;P&gt;        PERFORM bdc_field       USING 'BDC_CURSOR' 'RV13A-KSCHL'.&lt;/P&gt;&lt;P&gt;        PERFORM bdc_field       USING 'BDC_OKCODE' '=ANTA'.&lt;/P&gt;&lt;P&gt;        PERFORM bdc_field       USING 'RV13A-KSCHL' it_extract-kschl1.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;        PERFORM bdc_dynpro      USING 'SAPLV14A' '0100'.&lt;/P&gt;&lt;P&gt;        PERFORM bdc_field       USING 'BDC_CURSOR' 'RV130-SELKZ(02)'.&lt;/P&gt;&lt;P&gt;        PERFORM bdc_field       USING 'BDC_OKCODE' '=WEIT'.&lt;/P&gt;&lt;P&gt;        PERFORM bdc_field       USING 'RV130-SELKZ(01)'  'X'.&lt;/P&gt;&lt;P&gt;        PERFORM bdc_field       USING 'RV130-SELKZ(02)'  ''.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;        PERFORM bdc_dynpro      USING 'RV13A703' '1000'.&lt;/P&gt;&lt;P&gt;        PERFORM bdc_field       USING 'BDC_CURSOR' 'F004'.&lt;/P&gt;&lt;P&gt;        PERFORM bdc_field       USING 'BDC_OKCODE' '=ONLI'.&lt;/P&gt;&lt;P&gt;        PERFORM bdc_field       USING 'F001' it_extract-vkorg.&lt;/P&gt;&lt;P&gt;        PERFORM bdc_field       USING 'F002' it_extract-vtweg.&lt;/P&gt;&lt;P&gt;        PERFORM bdc_field       USING 'F003' it_extract-spart.&lt;/P&gt;&lt;P&gt;        PERFORM bdc_field       USING 'F004' it_extract-land1.&lt;/P&gt;&lt;P&gt;        PERFORM bdc_field       USING 'F005-LOW' it_extract-matnr.&lt;/P&gt;&lt;P&gt;        CLEAR lv_sydate.&lt;/P&gt;&lt;P&gt;        lv_sydate(2) = sy-datum+6(2).&lt;/P&gt;&lt;P&gt;        lv_sydate&lt;EM&gt;2(2) = sy-datum&lt;/EM&gt;4(2).&lt;/P&gt;&lt;P&gt;        lv_sydate+4(4) = sy-datum(4).&lt;/P&gt;&lt;P&gt;        PERFORM bdc_field       USING 'SEL_DATE' lv_sydate.&lt;/P&gt;&lt;P&gt;        CLEAR lv_sydate.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;        PERFORM bdc_dynpro      USING 'SAPMV13A' '1703'.&lt;/P&gt;&lt;P&gt;        PERFORM bdc_field       USING 'BDC_CURSOR' 'RV13A-DATBI(01)'.&lt;/P&gt;&lt;P&gt;        PERFORM bdc_field       USING 'BDC_OKCODE' '=SICH'.&lt;/P&gt;&lt;P&gt;        lv_datab = lv_tempdat2.&lt;/P&gt;&lt;P&gt;        ADD 1 TO lv_datab.&lt;/P&gt;&lt;P&gt;        CLEAR lv_tempdat.&lt;/P&gt;&lt;P&gt;        lv_tempdat(2) = lv_datab+6(2).&lt;/P&gt;&lt;P&gt;        lv_tempdat&lt;EM&gt;2(2) = lv_datab&lt;/EM&gt;4(2).&lt;/P&gt;&lt;P&gt;        lv_tempdat+4(4) = lv_datab(4).&lt;/P&gt;&lt;P&gt;        lv_datab = lv_tempdat.&lt;/P&gt;&lt;P&gt;        CLEAR lv_tempdat.&lt;/P&gt;&lt;P&gt;        PERFORM bdc_field       USING 'RV13A-DATAB(01)' lv_datab.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;        REFRESH it_msgtab.&lt;/P&gt;&lt;P&gt;        CALL TRANSACTION 'VK12'&lt;/P&gt;&lt;P&gt;                          USING bdcdata&lt;/P&gt;&lt;P&gt;                          MODE 'N'&lt;/P&gt;&lt;P&gt;                          UPDATE 'S'&lt;/P&gt;&lt;P&gt;                          MESSAGES INTO it_msgtab.&lt;/P&gt;&lt;P&gt;        IF sy-subrc = 0.&lt;/P&gt;&lt;P&gt;          ADD 1 TO w_data_bdc_recs.&lt;/P&gt;&lt;P&gt;          DELETE ADJACENT DUPLICATES FROM it_msgtab.&lt;/P&gt;&lt;P&gt;          LOOP AT it_msgtab.&lt;/P&gt;&lt;P&gt;            CLEAR wa_msglog.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;            wa_msglog-msgid = it_msgtab-msgid.&lt;/P&gt;&lt;P&gt;            wa_msglog-msgno = it_msgtab-msgnr.&lt;/P&gt;&lt;P&gt;            wa_msglog-msgty = it_msgtab-msgtyp.&lt;/P&gt;&lt;P&gt;            wa_msglog-msgv1 = it_msgtab-msgv1.&lt;/P&gt;&lt;P&gt;            wa_msglog-msgv2 = it_msgtab-msgv2.&lt;/P&gt;&lt;P&gt;            wa_msglog-msgv3 = it_msgtab-msgv3.&lt;/P&gt;&lt;P&gt;            wa_msglog-msgv4 = it_msgtab-msgv4.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;            CALL FUNCTION 'MESSAGE_TEXTS_READ'&lt;/P&gt;&lt;P&gt;              EXPORTING&lt;/P&gt;&lt;P&gt;                msg_log_imp  = wa_msglog&lt;/P&gt;&lt;P&gt;              IMPORTING&lt;/P&gt;&lt;P&gt;                msg_text_exp = wa_msgtxt.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;            IF sy-subrc = 0.&lt;/P&gt;&lt;P&gt;              CLEAR it_errmat.&lt;/P&gt;&lt;P&gt;              it_errmat-recno = lv_count.&lt;/P&gt;&lt;P&gt;              it_errmat-kschl = it_extract-kschl1.&lt;/P&gt;&lt;P&gt;              it_errmat-matnr = it_extract-matnr.&lt;/P&gt;&lt;P&gt;              it_errmat-status = text-020.&lt;/P&gt;&lt;P&gt;              it_errmat-bdcmsg = wa_msgtxt-msgtx.&lt;/P&gt;&lt;P&gt;              APPEND it_errmat.&lt;/P&gt;&lt;P&gt;            ENDIF.&lt;/P&gt;&lt;P&gt;          ENDLOOP.&lt;/P&gt;&lt;P&gt;        ELSE.&lt;/P&gt;&lt;P&gt;          LOOP AT it_msgtab.&lt;/P&gt;&lt;P&gt;            CLEAR wa_msglog.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;            wa_msglog-msgid = it_msgtab-msgid.&lt;/P&gt;&lt;P&gt;            wa_msglog-msgno = it_msgtab-msgnr.&lt;/P&gt;&lt;P&gt;            wa_msglog-msgty = it_msgtab-msgtyp.&lt;/P&gt;&lt;P&gt;            wa_msglog-msgv1 = it_msgtab-msgv1.&lt;/P&gt;&lt;P&gt;            wa_msglog-msgv2 = it_msgtab-msgv2.&lt;/P&gt;&lt;P&gt;            wa_msglog-msgv3 = it_msgtab-msgv3.&lt;/P&gt;&lt;P&gt;            wa_msglog-msgv4 = it_msgtab-msgv4.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;            CALL FUNCTION 'MESSAGE_TEXTS_READ'&lt;/P&gt;&lt;P&gt;              EXPORTING&lt;/P&gt;&lt;P&gt;                msg_log_imp  = wa_msglog&lt;/P&gt;&lt;P&gt;              IMPORTING&lt;/P&gt;&lt;P&gt;                msg_text_exp = wa_msgtxt.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;            IF sy-subrc = 0.&lt;/P&gt;&lt;P&gt;              CLEAR it_errmat.&lt;/P&gt;&lt;P&gt;              it_errmat-recno = lv_count.&lt;/P&gt;&lt;P&gt;              it_errmat-kschl = it_extract-kschl1.&lt;/P&gt;&lt;P&gt;              it_errmat-matnr = it_extract-matnr.&lt;/P&gt;&lt;P&gt;              it_errmat-status = text-021.&lt;/P&gt;&lt;P&gt;              it_errmat-bdcmsg = wa_msgtxt-msgtx.&lt;/P&gt;&lt;P&gt;              APPEND it_errmat.&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;        COMMIT WORK AND WAIT.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;*second record in case 4&lt;/P&gt;&lt;P&gt;        PERFORM new_record_a703.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;************&lt;/P&gt;&lt;P&gt;*case 5&lt;/P&gt;&lt;P&gt;************&lt;/P&gt;&lt;P&gt;      ELSEIF lv_tempdat1 &amp;lt; a703-datab AND&lt;/P&gt;&lt;P&gt;              lv_tempdat2 &amp;lt; a703-datab.&lt;/P&gt;&lt;P&gt;        PERFORM new_record_a703.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;************&lt;/P&gt;&lt;P&gt;*case 6&lt;/P&gt;&lt;P&gt;************&lt;/P&gt;&lt;P&gt;      ELSEIF lv_tempdat1 &amp;gt; a703-datab AND&lt;/P&gt;&lt;P&gt;             lv_tempdat2 &amp;gt; a703-datab.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;        SELECT SINGLE * FROM a703&lt;/P&gt;&lt;P&gt;                            WHERE kappl = 'V'&lt;/P&gt;&lt;P&gt;                              AND   kschl = it_extract-kschl1&lt;/P&gt;&lt;P&gt;                              AND   vkorg = it_extract-vkorg&lt;/P&gt;&lt;P&gt;                              AND   vtweg = it_extract-vtweg&lt;/P&gt;&lt;P&gt;                              AND   spart = it_extract-spart&lt;/P&gt;&lt;P&gt;                              AND   land1 = it_extract-land1&lt;/P&gt;&lt;P&gt;                              AND   matnr = it_extract-matnr&lt;/P&gt;&lt;P&gt;                              AND   datab &amp;lt;= lv_tempdat1&lt;/P&gt;&lt;P&gt;                              AND   datbi &amp;gt;= lv_tempdat2.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;        IF sy-subrc = 0.&lt;/P&gt;&lt;P&gt;          IF lv_tempdat1 = a703-datab AND&lt;/P&gt;&lt;P&gt;             lv_tempdat2 = a703-datbi.&lt;/P&gt;&lt;P&gt;            REFRESH bdcdata.&lt;/P&gt;&lt;P&gt;            CLEAR bdcdata.&lt;/P&gt;&lt;P&gt;            CLEAR lv_datab.&lt;/P&gt;&lt;P&gt;            PERFORM bdc_dynpro      USING 'SAPMV13A' '0100'.&lt;/P&gt;&lt;P&gt;            PERFORM bdc_field       USING 'BDC_CURSOR' 'RV13A-KSCHL'.&lt;/P&gt;&lt;P&gt;            PERFORM bdc_field       USING 'BDC_OKCODE' '=ANTA'.&lt;/P&gt;&lt;P&gt;          PERFORM bdc_field       USING 'RV13A-KSCHL' it_extract-kschl1.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;            PERFORM bdc_dynpro      USING 'SAPLV14A' '0100'.&lt;/P&gt;&lt;P&gt;           PERFORM bdc_field       USING 'BDC_CURSOR' 'RV130-SELKZ(02)'.&lt;/P&gt;&lt;P&gt;            PERFORM bdc_field       USING 'BDC_OKCODE' '=WEIT'.&lt;/P&gt;&lt;P&gt;            PERFORM bdc_field       USING 'RV130-SELKZ(01)'  'X'.&lt;/P&gt;&lt;P&gt;            PERFORM bdc_field       USING 'RV130-SELKZ(02)'  ''.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;            PERFORM bdc_dynpro      USING 'RV13A703' '1000'.&lt;/P&gt;&lt;P&gt;            PERFORM bdc_field       USING 'BDC_CURSOR' 'F004'.&lt;/P&gt;&lt;P&gt;            PERFORM bdc_field       USING 'BDC_OKCODE' '=ONLI'.&lt;/P&gt;&lt;P&gt;            PERFORM bdc_field       USING 'F001' it_extract-vkorg.&lt;/P&gt;&lt;P&gt;            PERFORM bdc_field       USING 'F002' it_extract-vtweg.&lt;/P&gt;&lt;P&gt;            PERFORM bdc_field       USING 'F003' it_extract-spart.&lt;/P&gt;&lt;P&gt;            PERFORM bdc_field       USING 'F004' it_extract-land1.&lt;/P&gt;&lt;P&gt;            PERFORM bdc_field       USING 'F005-LOW' it_extract-matnr.&lt;/P&gt;&lt;P&gt;            CLEAR lv_sydate.&lt;/P&gt;&lt;P&gt;            lv_sydate(2) = sy-datum+6(2).&lt;/P&gt;&lt;P&gt;            lv_sydate&lt;EM&gt;2(2) = sy-datum&lt;/EM&gt;4(2).&lt;/P&gt;&lt;P&gt;            lv_sydate+4(4) = sy-datum(4).&lt;/P&gt;&lt;P&gt;            PERFORM bdc_field       USING 'SEL_DATE' lv_sydate.&lt;/P&gt;&lt;P&gt;            CLEAR lv_sydate.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;            PERFORM bdc_dynpro      USING 'SAPMV13A' '1703'.&lt;/P&gt;&lt;P&gt;           PERFORM bdc_field       USING 'BDC_CURSOR' 'RV13A-DATBI(01)'.&lt;/P&gt;&lt;P&gt;            PERFORM bdc_field       USING 'BDC_OKCODE' '=SICH'.&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;       lv_datab = lv_tempdat1.&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;       SUBTRACT 1 FROM lv_datab.&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;       CLEAR lv_tempdat.&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;       lv_tempdat(2) = lv_datab+6(2).&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;       lv_tempdat&lt;EM&gt;2(2) = lv_datab&lt;/EM&gt;4(2).&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;       lv_tempdat+4(4) = lv_datab(4).&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;       lv_datab = lv_tempdat.&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;       CLEAR lv_tempdat.&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;       PERFORM bdc_field       USING 'RV13A-DATBI(01)' lv_datab.&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;            CLEAR lv_amnt.&lt;/P&gt;&lt;P&gt;            MOVE it_extract-kbetr3 TO lv_amnt.&lt;/P&gt;&lt;P&gt;            REPLACE '.' WITH ',' INTO lv_amnt.&lt;/P&gt;&lt;P&gt;            CONDENSE lv_amnt NO-GAPS.&lt;/P&gt;&lt;P&gt;            PERFORM bdc_field     USING 'KONP-KBETR(01)' lv_amnt.&lt;/P&gt;&lt;P&gt;            CLEAR lv_amnt.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;            REFRESH it_msgtab.&lt;/P&gt;&lt;P&gt;            CALL TRANSACTION 'VK12'&lt;/P&gt;&lt;P&gt;                              USING bdcdata&lt;/P&gt;&lt;P&gt;                              MODE 'N'&lt;/P&gt;&lt;P&gt;                              UPDATE 'S'&lt;/P&gt;&lt;P&gt;                              MESSAGES INTO it_msgtab.&lt;/P&gt;&lt;P&gt;            IF sy-subrc = 0.&lt;/P&gt;&lt;P&gt;              ADD 1 TO w_data_bdc_recs.&lt;/P&gt;&lt;P&gt;              DELETE ADJACENT DUPLICATES FROM it_msgtab.&lt;/P&gt;&lt;P&gt;              LOOP AT it_msgtab.&lt;/P&gt;&lt;P&gt;                CLEAR wa_msglog.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;                wa_msglog-msgid = it_msgtab-msgid.&lt;/P&gt;&lt;P&gt;                wa_msglog-msgno = it_msgtab-msgnr.&lt;/P&gt;&lt;P&gt;                wa_msglog-msgty = it_msgtab-msgtyp.&lt;/P&gt;&lt;P&gt;                wa_msglog-msgv1 = it_msgtab-msgv1.&lt;/P&gt;&lt;P&gt;                wa_msglog-msgv2 = it_msgtab-msgv2.&lt;/P&gt;&lt;P&gt;                wa_msglog-msgv3 = it_msgtab-msgv3.&lt;/P&gt;&lt;P&gt;                wa_msglog-msgv4 = it_msgtab-msgv4.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;                CALL FUNCTION 'MESSAGE_TEXTS_READ'&lt;/P&gt;&lt;P&gt;                  EXPORTING&lt;/P&gt;&lt;P&gt;                    msg_log_imp  = wa_msglog&lt;/P&gt;&lt;P&gt;                  IMPORTING&lt;/P&gt;&lt;P&gt;                    msg_text_exp = wa_msgtxt.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;                IF sy-subrc = 0.&lt;/P&gt;&lt;P&gt;                  CLEAR it_errmat.&lt;/P&gt;&lt;P&gt;                  it_errmat-recno = lv_count.&lt;/P&gt;&lt;P&gt;                  it_errmat-kschl = it_extract-kschl1.&lt;/P&gt;&lt;P&gt;                  it_errmat-matnr = it_extract-matnr.&lt;/P&gt;&lt;P&gt;                  it_errmat-status = text-020.&lt;/P&gt;&lt;P&gt;                  it_errmat-bdcmsg = wa_msgtxt-msgtx.&lt;/P&gt;&lt;P&gt;                  APPEND it_errmat.&lt;/P&gt;&lt;P&gt;                ENDIF.&lt;/P&gt;&lt;P&gt;              ENDLOOP.&lt;/P&gt;&lt;P&gt;            ELSE.&lt;/P&gt;&lt;P&gt;              LOOP AT it_msgtab.&lt;/P&gt;&lt;P&gt;                CLEAR wa_msglog.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;                wa_msglog-msgid = it_msgtab-msgid.&lt;/P&gt;&lt;P&gt;                wa_msglog-msgno = it_msgtab-msgnr.&lt;/P&gt;&lt;P&gt;                wa_msglog-msgty = it_msgtab-msgtyp.&lt;/P&gt;&lt;P&gt;                wa_msglog-msgv1 = it_msgtab-msgv1.&lt;/P&gt;&lt;P&gt;                wa_msglog-msgv2 = it_msgtab-msgv2.&lt;/P&gt;&lt;P&gt;                wa_msglog-msgv3 = it_msgtab-msgv3.&lt;/P&gt;&lt;P&gt;                wa_msglog-msgv4 = it_msgtab-msgv4.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;                CALL FUNCTION 'MESSAGE_TEXTS_READ'&lt;/P&gt;&lt;P&gt;                  EXPORTING&lt;/P&gt;&lt;P&gt;                    msg_log_imp  = wa_msglog&lt;/P&gt;&lt;P&gt;                  IMPORTING&lt;/P&gt;&lt;P&gt;                    msg_text_exp = wa_msgtxt.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;                IF sy-subrc = 0.&lt;/P&gt;&lt;P&gt;                  CLEAR it_errmat.&lt;/P&gt;&lt;P&gt;                  it_errmat-recno = lv_count.&lt;/P&gt;&lt;P&gt;                  it_errmat-kschl = it_extract-kschl1.&lt;/P&gt;&lt;P&gt;                  it_errmat-matnr = it_extract-matnr.&lt;/P&gt;&lt;P&gt;                  it_errmat-status = text-021.&lt;/P&gt;&lt;P&gt;                  it_errmat-bdcmsg = wa_msgtxt-msgtx.&lt;/P&gt;&lt;P&gt;                  APPEND it_errmat.&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;            COMMIT WORK AND WAIT.&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 new_record_a703.&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;*Case 7&lt;/P&gt;&lt;P&gt;****************&lt;/P&gt;&lt;P&gt;      ELSEIF lv_tempdat1 = a703-datab AND&lt;/P&gt;&lt;P&gt;           lv_tempdat2 &amp;lt; a703-datbi.&lt;/P&gt;&lt;P&gt;        REFRESH bdcdata.&lt;/P&gt;&lt;P&gt;        CLEAR bdcdata.&lt;/P&gt;&lt;P&gt;        CLEAR lv_datab.&lt;/P&gt;&lt;P&gt;        PERFORM bdc_dynpro      USING 'SAPMV13A' '0100'.&lt;/P&gt;&lt;P&gt;        PERFORM bdc_field       USING 'BDC_CURSOR' 'RV13A-KSCHL'.&lt;/P&gt;&lt;P&gt;        PERFORM bdc_field       USING 'BDC_OKCODE' '=ANTA'.&lt;/P&gt;&lt;P&gt;        PERFORM bdc_field       USING 'RV13A-KSCHL' it_extract-kschl1.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;        PERFORM bdc_dynpro      USING 'SAPLV14A' '0100'.&lt;/P&gt;&lt;P&gt;        PERFORM bdc_field       USING 'BDC_CURSOR' 'RV130-SELKZ(02)'.&lt;/P&gt;&lt;P&gt;        PERFORM bdc_field       USING 'BDC_OKCODE' '=WEIT'.&lt;/P&gt;&lt;P&gt;        PERFORM bdc_field       USING 'RV130-SELKZ(01)'  'X'.&lt;/P&gt;&lt;P&gt;        PERFORM bdc_field       USING 'RV130-SELKZ(02)'  ''.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;        PERFORM bdc_dynpro      USING 'RV13A703' '1000'.&lt;/P&gt;&lt;P&gt;        PERFORM bdc_field       USING 'BDC_CURSOR' 'F004'.&lt;/P&gt;&lt;P&gt;        PERFORM bdc_field       USING 'BDC_OKCODE' '=ONLI'.&lt;/P&gt;&lt;P&gt;        PERFORM bdc_field       USING 'F001' it_extract-vkorg.&lt;/P&gt;&lt;P&gt;        PERFORM bdc_field       USING 'F002' it_extract-vtweg.&lt;/P&gt;&lt;P&gt;        PERFORM bdc_field       USING 'F003' it_extract-spart.&lt;/P&gt;&lt;P&gt;        PERFORM bdc_field       USING 'F004' it_extract-land1.&lt;/P&gt;&lt;P&gt;        PERFORM bdc_field       USING 'F005-LOW' it_extract-matnr.&lt;/P&gt;&lt;P&gt;        CLEAR lv_sydate.&lt;/P&gt;&lt;P&gt;        lv_sydate(2) = sy-datum+6(2).&lt;/P&gt;&lt;P&gt;        lv_sydate&lt;EM&gt;2(2) = sy-datum&lt;/EM&gt;4(2).&lt;/P&gt;&lt;P&gt;        lv_sydate+4(4) = sy-datum(4).&lt;/P&gt;&lt;P&gt;        PERFORM bdc_field       USING 'SEL_DATE' lv_sydate.&lt;/P&gt;&lt;P&gt;        CLEAR lv_sydate.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;        PERFORM bdc_dynpro      USING 'SAPMV13A' '1703'.&lt;/P&gt;&lt;P&gt;        PERFORM bdc_field       USING 'BDC_CURSOR' 'RV13A-DATBI(01)'.&lt;/P&gt;&lt;P&gt;        PERFORM bdc_field       USING 'BDC_OKCODE' '=SICH'.&lt;/P&gt;&lt;P&gt;        lv_datab = lv_tempdat1.&lt;/P&gt;&lt;P&gt;        ADD 1 TO lv_datab.&lt;/P&gt;&lt;P&gt;        CLEAR lv_tempdat.&lt;/P&gt;&lt;P&gt;        lv_tempdat(2) = lv_datab+6(2).&lt;/P&gt;&lt;P&gt;        lv_tempdat&lt;EM&gt;2(2) = lv_datab&lt;/EM&gt;4(2).&lt;/P&gt;&lt;P&gt;        lv_tempdat+4(4) = lv_datab(4).&lt;/P&gt;&lt;P&gt;        lv_datab = lv_tempdat.&lt;/P&gt;&lt;P&gt;        CLEAR lv_tempdat.&lt;/P&gt;&lt;P&gt;        PERFORM bdc_field       USING 'RV13A-DATAB(01)' lv_datab.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;        REFRESH it_msgtab.&lt;/P&gt;&lt;P&gt;        CALL TRANSACTION 'VK12'&lt;/P&gt;&lt;P&gt;                          USING bdcdata&lt;/P&gt;&lt;P&gt;                          MODE 'N'&lt;/P&gt;&lt;P&gt;                          UPDATE 'S'&lt;/P&gt;&lt;P&gt;                          MESSAGES INTO it_msgtab.&lt;/P&gt;&lt;P&gt;        IF sy-subrc = 0.&lt;/P&gt;&lt;P&gt;          ADD 1 TO w_data_bdc_recs.&lt;/P&gt;&lt;P&gt;          DELETE ADJACENT DUPLICATES FROM it_msgtab.&lt;/P&gt;&lt;P&gt;          LOOP AT it_msgtab.&lt;/P&gt;&lt;P&gt;            CLEAR wa_msglog.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;            wa_msglog-msgid = it_msgtab-msgid.&lt;/P&gt;&lt;P&gt;            wa_msglog-msgno = it_msgtab-msgnr.&lt;/P&gt;&lt;P&gt;            wa_msglog-msgty = it_msgtab-msgtyp.&lt;/P&gt;&lt;P&gt;            wa_msglog-msgv1 = it_msgtab-msgv1.&lt;/P&gt;&lt;P&gt;            wa_msglog-msgv2 = it_msgtab-msgv2.&lt;/P&gt;&lt;P&gt;            wa_msglog-msgv3 = it_msgtab-msgv3.&lt;/P&gt;&lt;P&gt;            wa_msglog-msgv4 = it_msgtab-msgv4.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;            CALL FUNCTION 'MESSAGE_TEXTS_READ'&lt;/P&gt;&lt;P&gt;              EXPORTING&lt;/P&gt;&lt;P&gt;                msg_log_imp  = wa_msglog&lt;/P&gt;&lt;P&gt;              IMPORTING&lt;/P&gt;&lt;P&gt;                msg_text_exp = wa_msgtxt.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;            IF sy-subrc = 0.&lt;/P&gt;&lt;P&gt;              CLEAR it_errmat.&lt;/P&gt;&lt;P&gt;              it_errmat-recno = lv_count.&lt;/P&gt;&lt;P&gt;              it_errmat-kschl = it_extract-kschl1.&lt;/P&gt;&lt;P&gt;              it_errmat-matnr = it_extract-matnr.&lt;/P&gt;&lt;P&gt;              it_errmat-status = text-020.&lt;/P&gt;&lt;P&gt;              it_errmat-bdcmsg = wa_msgtxt-msgtx.&lt;/P&gt;&lt;P&gt;              APPEND it_errmat.&lt;/P&gt;&lt;P&gt;            ENDIF.&lt;/P&gt;&lt;P&gt;          ENDLOOP.&lt;/P&gt;&lt;P&gt;        ELSE.&lt;/P&gt;&lt;P&gt;          LOOP AT it_msgtab.&lt;/P&gt;&lt;P&gt;            CLEAR wa_msglog.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;            wa_msglog-msgid = it_msgtab-msgid.&lt;/P&gt;&lt;P&gt;            wa_msglog-msgno = it_msgtab-msgnr.&lt;/P&gt;&lt;P&gt;            wa_msglog-msgty = it_msgtab-msgtyp.&lt;/P&gt;&lt;P&gt;            wa_msglog-msgv1 = it_msgtab-msgv1.&lt;/P&gt;&lt;P&gt;            wa_msglog-msgv2 = it_msgtab-msgv2.&lt;/P&gt;&lt;P&gt;            wa_msglog-msgv3 = it_msgtab-msgv3.&lt;/P&gt;&lt;P&gt;            wa_msglog-msgv4 = it_msgtab-msgv4.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;            CALL FUNCTION 'MESSAGE_TEXTS_READ'&lt;/P&gt;&lt;P&gt;              EXPORTING&lt;/P&gt;&lt;P&gt;                msg_log_imp  = wa_msglog&lt;/P&gt;&lt;P&gt;              IMPORTING&lt;/P&gt;&lt;P&gt;                msg_text_exp = wa_msgtxt.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;            IF sy-subrc = 0.&lt;/P&gt;&lt;P&gt;              CLEAR it_errmat.&lt;/P&gt;&lt;P&gt;              it_errmat-recno = lv_count.&lt;/P&gt;&lt;P&gt;              it_errmat-kschl = it_extract-kschl1.&lt;/P&gt;&lt;P&gt;              it_errmat-matnr = it_extract-matnr.&lt;/P&gt;&lt;P&gt;              it_errmat-status = text-021.&lt;/P&gt;&lt;P&gt;              it_errmat-bdcmsg = wa_msgtxt-msgtx.&lt;/P&gt;&lt;P&gt;              APPEND it_errmat.&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;        COMMIT WORK AND WAIT.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;*second record in case 7&lt;/P&gt;&lt;P&gt;        PERFORM new_record_a703.&lt;/P&gt;&lt;P&gt;****************&lt;/P&gt;&lt;P&gt;*Case 8&lt;/P&gt;&lt;P&gt;****************&lt;/P&gt;&lt;P&gt;      ELSEIF lv_tempdat1 &amp;lt; a703-datab AND&lt;/P&gt;&lt;P&gt;           lv_tempdat2 = a703-datbi.&lt;/P&gt;&lt;P&gt;        REFRESH bdcdata.&lt;/P&gt;&lt;P&gt;        CLEAR bdcdata.&lt;/P&gt;&lt;P&gt;        CLEAR lv_datab.&lt;/P&gt;&lt;P&gt;        PERFORM bdc_dynpro      USING 'SAPMV13A' '0100'.&lt;/P&gt;&lt;P&gt;        PERFORM bdc_field       USING 'BDC_CURSOR' 'RV13A-KSCHL'.&lt;/P&gt;&lt;P&gt;        PERFORM bdc_field       USING 'BDC_OKCODE' '=ANTA'.&lt;/P&gt;&lt;P&gt;        PERFORM bdc_field       USING 'RV13A-KSCHL' it_extract-kschl1.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;        PERFORM bdc_dynpro      USING 'SAPLV14A' '0100'.&lt;/P&gt;&lt;P&gt;        PERFORM bdc_field       USING 'BDC_CURSOR' 'RV130-SELKZ(02)'.&lt;/P&gt;&lt;P&gt;        PERFORM bdc_field       USING 'BDC_OKCODE' '=WEIT'.&lt;/P&gt;&lt;P&gt;        PERFORM bdc_field       USING 'RV130-SELKZ(01)'  'X'.&lt;/P&gt;&lt;P&gt;        PERFORM bdc_field       USING 'RV130-SELKZ(02)'  ''.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;        PERFORM bdc_dynpro      USING 'RV13A703' '1000'.&lt;/P&gt;&lt;P&gt;        PERFORM bdc_field       USING 'BDC_CURSOR' 'F004'.&lt;/P&gt;&lt;P&gt;        PERFORM bdc_field       USING 'BDC_OKCODE' '=ONLI'.&lt;/P&gt;&lt;P&gt;        PERFORM bdc_field       USING 'F001' it_extract-vkorg.&lt;/P&gt;&lt;P&gt;        PERFORM bdc_field       USING 'F002' it_extract-vtweg.&lt;/P&gt;&lt;P&gt;        PERFORM bdc_field       USING 'F003' it_extract-spart.&lt;/P&gt;&lt;P&gt;        PERFORM bdc_field       USING 'F004' it_extract-land1.&lt;/P&gt;&lt;P&gt;        PERFORM bdc_field       USING 'F005-LOW' it_extract-matnr.&lt;/P&gt;&lt;P&gt;        CLEAR lv_sydate.&lt;/P&gt;&lt;P&gt;        lv_sydate(2) = sy-datum+6(2).&lt;/P&gt;&lt;P&gt;        lv_sydate&lt;EM&gt;2(2) = sy-datum&lt;/EM&gt;4(2).&lt;/P&gt;&lt;P&gt;        lv_sydate+4(4) = sy-datum(4).&lt;/P&gt;&lt;P&gt;        PERFORM bdc_field       USING 'SEL_DATE' lv_sydate.&lt;/P&gt;&lt;P&gt;        CLEAR lv_sydate.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;        PERFORM bdc_dynpro      USING 'SAPMV13A' '1703'.&lt;/P&gt;&lt;P&gt;        PERFORM bdc_field       USING 'BDC_CURSOR' 'RV13A-DATBI(01)'.&lt;/P&gt;&lt;P&gt;        PERFORM bdc_field       USING 'BDC_OKCODE' '=SICH'.&lt;/P&gt;&lt;P&gt;        lv_datab = lv_tempdat1.&lt;/P&gt;&lt;P&gt;        CLEAR lv_tempdat.&lt;/P&gt;&lt;P&gt;        lv_tempdat(2) = lv_datab+6(2).&lt;/P&gt;&lt;P&gt;        lv_tempdat&lt;EM&gt;2(2) = lv_datab&lt;/EM&gt;4(2).&lt;/P&gt;&lt;P&gt;        lv_tempdat+4(4) = lv_datab(4).&lt;/P&gt;&lt;P&gt;        lv_datab = lv_tempdat.&lt;/P&gt;&lt;P&gt;        CLEAR lv_tempdat.&lt;/P&gt;&lt;P&gt;        PERFORM bdc_field       USING 'RV13A-DATAB(01)' lv_datab.&lt;/P&gt;&lt;P&gt;        PERFORM bdc_field       USING 'BDC_OKCODE' '=SICH'.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;        REFRESH it_msgtab.&lt;/P&gt;&lt;P&gt;        CALL TRANSACTION 'VK12'&lt;/P&gt;&lt;P&gt;                          USING bdcdata&lt;/P&gt;&lt;P&gt;                          MODE 'N'&lt;/P&gt;&lt;P&gt;                          UPDATE 'S'&lt;/P&gt;&lt;P&gt;                          MESSAGES INTO it_msgtab.&lt;/P&gt;&lt;P&gt;        IF sy-subrc = 0.&lt;/P&gt;&lt;P&gt;          ADD 1 TO w_data_bdc_recs.&lt;/P&gt;&lt;P&gt;          DELETE ADJACENT DUPLICATES FROM it_msgtab.&lt;/P&gt;&lt;P&gt;          LOOP AT it_msgtab.&lt;/P&gt;&lt;P&gt;            CLEAR wa_msglog.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;            wa_msglog-msgid = it_msgtab-msgid.&lt;/P&gt;&lt;P&gt;            wa_msglog-msgno = it_msgtab-msgnr.&lt;/P&gt;&lt;P&gt;            wa_msglog-msgty = it_msgtab-msgtyp.&lt;/P&gt;&lt;P&gt;            wa_msglog-msgv1 = it_msgtab-msgv1.&lt;/P&gt;&lt;P&gt;            wa_msglog-msgv2 = it_msgtab-msgv2.&lt;/P&gt;&lt;P&gt;            wa_msglog-msgv3 = it_msgtab-msgv3.&lt;/P&gt;&lt;P&gt;            wa_msglog-msgv4 = it_msgtab-msgv4.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;            CALL FUNCTION 'MESSAGE_TEXTS_READ'&lt;/P&gt;&lt;P&gt;              EXPORTING&lt;/P&gt;&lt;P&gt;                msg_log_imp  = wa_msglog&lt;/P&gt;&lt;P&gt;              IMPORTING&lt;/P&gt;&lt;P&gt;                msg_text_exp = wa_msgtxt.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;            IF sy-subrc = 0.&lt;/P&gt;&lt;P&gt;              CLEAR it_errmat.&lt;/P&gt;&lt;P&gt;              it_errmat-recno = lv_count.&lt;/P&gt;&lt;P&gt;              it_errmat-kschl = it_extract-kschl1.&lt;/P&gt;&lt;P&gt;              it_errmat-matnr = it_extract-matnr.&lt;/P&gt;&lt;P&gt;              it_errmat-status = text-020.&lt;/P&gt;&lt;P&gt;              it_errmat-bdcmsg = wa_msgtxt-msgtx.&lt;/P&gt;&lt;P&gt;              APPEND it_errmat.&lt;/P&gt;&lt;P&gt;            ENDIF.&lt;/P&gt;&lt;P&gt;          ENDLOOP.&lt;/P&gt;&lt;P&gt;        ELSE.&lt;/P&gt;&lt;P&gt;          LOOP AT it_msgtab.&lt;/P&gt;&lt;P&gt;            CLEAR wa_msglog.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;            wa_msglog-msgid = it_msgtab-msgid.&lt;/P&gt;&lt;P&gt;            wa_msglog-msgno = it_msgtab-msgnr.&lt;/P&gt;&lt;P&gt;            wa_msglog-msgty = it_msgtab-msgtyp.&lt;/P&gt;&lt;P&gt;            wa_msglog-msgv1 = it_msgtab-msgv1.&lt;/P&gt;&lt;P&gt;            wa_msglog-msgv2 = it_msgtab-msgv2.&lt;/P&gt;&lt;P&gt;            wa_msglog-msgv3 = it_msgtab-msgv3.&lt;/P&gt;&lt;P&gt;            wa_msglog-msgv4 = it_msgtab-msgv4.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;            CALL FUNCTION 'MESSAGE_TEXTS_READ'&lt;/P&gt;&lt;P&gt;              EXPORTING&lt;/P&gt;&lt;P&gt;                msg_log_imp  = wa_msglog&lt;/P&gt;&lt;P&gt;              IMPORTING&lt;/P&gt;&lt;P&gt;                msg_text_exp = wa_msgtxt.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;            IF sy-subrc = 0.&lt;/P&gt;&lt;P&gt;              CLEAR it_errmat.&lt;/P&gt;&lt;P&gt;              it_errmat-recno = lv_count.&lt;/P&gt;&lt;P&gt;              it_errmat-kschl = it_extract-kschl1.&lt;/P&gt;&lt;P&gt;              it_errmat-matnr = it_extract-matnr.&lt;/P&gt;&lt;P&gt;              it_errmat-status = text-021.&lt;/P&gt;&lt;P&gt;              it_errmat-bdcmsg = wa_msgtxt-msgtx.&lt;/P&gt;&lt;P&gt;              APPEND it_errmat.&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;        COMMIT WORK AND WAIT.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;*second record in case 8&lt;/P&gt;&lt;P&gt;        PERFORM new_record_a703.&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;      CLEAR: lv_tempdat1, lv_tempdat2.&lt;/P&gt;&lt;P&gt;*Totally new record.&lt;/P&gt;&lt;P&gt;      REFRESH bdcdata.&lt;/P&gt;&lt;P&gt;      CLEAR bdcdata.&lt;/P&gt;&lt;P&gt;      PERFORM bdc_dynpro      USING 'SAPMV13A' '0100'.&lt;/P&gt;&lt;P&gt;      PERFORM bdc_field       USING 'BDC_CURSOR' 'RV13A-KSCHL'.&lt;/P&gt;&lt;P&gt;      PERFORM bdc_field       USING 'BDC_OKCODE' '=ANTA'.&lt;/P&gt;&lt;P&gt;      PERFORM bdc_field       USING 'RV13A-KSCHL' it_extract-kschl1.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;      PERFORM bdc_dynpro      USING 'SAPLV14A' '0100'.&lt;/P&gt;&lt;P&gt;      PERFORM bdc_field       USING 'BDC_CURSOR' 'RV130-SELKZ(01)'.&lt;/P&gt;&lt;P&gt;      PERFORM bdc_field       USING 'BDC_OKCODE' '=WEIT'.&lt;/P&gt;&lt;P&gt;      PERFORM bdc_field       USING 'RV130-SELKZ(01)'  'X'.&lt;/P&gt;&lt;P&gt;      PERFORM bdc_field       USING 'RV130-SELKZ(02)'  ''.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;      PERFORM bdc_dynpro      USING 'RV13A703' '1000'.&lt;/P&gt;&lt;P&gt;      PERFORM bdc_field       USING 'BDC_CURSOR' 'F004'.&lt;/P&gt;&lt;P&gt;      PERFORM bdc_field       USING 'BDC_OKCODE' '=ONLI'.&lt;/P&gt;&lt;P&gt;      PERFORM bdc_field       USING 'F001' it_extract-vkorg.&lt;/P&gt;&lt;P&gt;      PERFORM bdc_field       USING 'F002' it_extract-vtweg.&lt;/P&gt;&lt;P&gt;      PERFORM bdc_field       USING 'F003' it_extract-spart.&lt;/P&gt;&lt;P&gt;      PERFORM bdc_field       USING 'F004' it_extract-land1.&lt;/P&gt;&lt;P&gt;      PERFORM bdc_field       USING 'F005-LOW' it_extract-matnr.&lt;/P&gt;&lt;P&gt;      CLEAR lv_sydate.&lt;/P&gt;&lt;P&gt;      lv_sydate(2) = sy-datum+6(2).&lt;/P&gt;&lt;P&gt;      lv_sydate&lt;EM&gt;2(2) = sy-datum&lt;/EM&gt;4(2).&lt;/P&gt;&lt;P&gt;      lv_sydate+4(4) = sy-datum(4).&lt;/P&gt;&lt;P&gt;      PERFORM bdc_field       USING 'SEL_DATE' lv_sydate.&lt;/P&gt;&lt;P&gt;      CLEAR lv_sydate.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;      PERFORM bdc_dynpro      USING 'SAPMV13A' '1703'.&lt;/P&gt;&lt;P&gt;      PERFORM bdc_field       USING 'BDC_CURSOR' 'RV13A-DATBI(01)'.&lt;/P&gt;&lt;P&gt;      PERFORM bdc_field       USING 'BDC_OKCODE' '=SICH'.&lt;/P&gt;&lt;P&gt;      PERFORM bdc_field       USING 'KOMG-VKORG' it_extract-vkorg.&lt;/P&gt;&lt;P&gt;      PERFORM bdc_field       USING 'KOMG-VTWEG' it_extract-vtweg.&lt;/P&gt;&lt;P&gt;      PERFORM bdc_field       USING 'KOMG-SPART' it_extract-spart.&lt;/P&gt;&lt;P&gt;      PERFORM bdc_field       USING 'KOMG-LAND1' it_extract-land1.&lt;/P&gt;&lt;P&gt;      PERFORM bdc_field       USING 'KOMG-MATNR(01)' it_extract-matnr.&lt;/P&gt;&lt;P&gt;      CLEAR lv_amnt.&lt;/P&gt;&lt;P&gt;      MOVE it_extract-kbetr3 TO lv_amnt.&lt;/P&gt;&lt;P&gt;      REPLACE '.' WITH ',' INTO lv_amnt.&lt;/P&gt;&lt;P&gt;      CONDENSE lv_amnt NO-GAPS.&lt;/P&gt;&lt;P&gt;      PERFORM bdc_field       USING 'KONP-KBETR(01)' lv_amnt.&lt;/P&gt;&lt;P&gt;      CLEAR lv_amnt.&lt;/P&gt;&lt;P&gt;      PERFORM bdc_field       USING 'KONP-KONWA(01)' 'EUR'.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;      IF NOT it_extract-datab IS INITIAL.&lt;/P&gt;&lt;P&gt;        PERFORM bdc_field   USING 'RV13A-DATAB(01)' it_extract-datab.&lt;/P&gt;&lt;P&gt;      ELSE.&lt;/P&gt;&lt;P&gt;        PERFORM bdc_field USING 'RV13A-DATAB(01)' sy-datum.&lt;/P&gt;&lt;P&gt;      ENDIF.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;      IF NOT it_extract-datbi IS INITIAL.&lt;/P&gt;&lt;P&gt;        PERFORM bdc_field     USING 'RV13A-DATBI(01)' it_extract-datbi.&lt;/P&gt;&lt;P&gt;      ELSE.&lt;/P&gt;&lt;P&gt;        PERFORM bdc_field       USING 'RV13A-DATBI(01)' '31.12.9999'.&lt;/P&gt;&lt;P&gt;      ENDIF.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;      REFRESH it_msgtab.&lt;/P&gt;&lt;P&gt;      CALL TRANSACTION 'VK12'&lt;/P&gt;&lt;P&gt;                        USING bdcdata&lt;/P&gt;&lt;P&gt;                        MODE 'N'&lt;/P&gt;&lt;P&gt;                        UPDATE 'S'&lt;/P&gt;&lt;P&gt;                        MESSAGES INTO it_msgtab.&lt;/P&gt;&lt;P&gt;      IF sy-subrc = 0.&lt;/P&gt;&lt;P&gt;        ADD 1 TO w_data_bdc_recs.&lt;/P&gt;&lt;P&gt;        DELETE ADJACENT DUPLICATES FROM it_msgtab.&lt;/P&gt;&lt;P&gt;        LOOP AT it_msgtab.&lt;/P&gt;&lt;P&gt;          CLEAR wa_msglog.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;          wa_msglog-msgid = it_msgtab-msgid.&lt;/P&gt;&lt;P&gt;          wa_msglog-msgno = it_msgtab-msgnr.&lt;/P&gt;&lt;P&gt;          wa_msglog-msgty = it_msgtab-msgtyp.&lt;/P&gt;&lt;P&gt;          wa_msglog-msgv1 = it_msgtab-msgv1.&lt;/P&gt;&lt;P&gt;          wa_msglog-msgv2 = it_msgtab-msgv2.&lt;/P&gt;&lt;P&gt;          wa_msglog-msgv3 = it_msgtab-msgv3.&lt;/P&gt;&lt;P&gt;          wa_msglog-msgv4 = it_msgtab-msgv4.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;          CALL FUNCTION 'MESSAGE_TEXTS_READ'&lt;/P&gt;&lt;P&gt;            EXPORTING&lt;/P&gt;&lt;P&gt;              msg_log_imp  = wa_msglog&lt;/P&gt;&lt;P&gt;            IMPORTING&lt;/P&gt;&lt;P&gt;              msg_text_exp = wa_msgtxt.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;          IF sy-subrc = 0.&lt;/P&gt;&lt;P&gt;            CLEAR it_errmat.&lt;/P&gt;&lt;P&gt;            it_errmat-recno = lv_count.&lt;/P&gt;&lt;P&gt;            it_errmat-kschl = it_extract-kschl1.&lt;/P&gt;&lt;P&gt;            it_errmat-matnr = it_extract-matnr.&lt;/P&gt;&lt;P&gt;            it_errmat-status = text-020.&lt;/P&gt;&lt;P&gt;            it_errmat-bdcmsg = wa_msgtxt-msgtx.&lt;/P&gt;&lt;P&gt;            APPEND it_errmat.&lt;/P&gt;&lt;P&gt;          ENDIF.&lt;/P&gt;&lt;P&gt;        ENDLOOP.&lt;/P&gt;&lt;P&gt;      ELSE.&lt;/P&gt;&lt;P&gt;        LOOP AT it_msgtab.&lt;/P&gt;&lt;P&gt;          CLEAR wa_msglog.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;          wa_msglog-msgid = it_msgtab-msgid.&lt;/P&gt;&lt;P&gt;          wa_msglog-msgno = it_msgtab-msgnr.&lt;/P&gt;&lt;P&gt;          wa_msglog-msgty = it_msgtab-msgtyp.&lt;/P&gt;&lt;P&gt;          wa_msglog-msgv1 = it_msgtab-msgv1.&lt;/P&gt;&lt;P&gt;          wa_msglog-msgv2 = it_msgtab-msgv2.&lt;/P&gt;&lt;P&gt;          wa_msglog-msgv3 = it_msgtab-msgv3.&lt;/P&gt;&lt;P&gt;          wa_msglog-msgv4 = it_msgtab-msgv4.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;          CALL FUNCTION 'MESSAGE_TEXTS_READ'&lt;/P&gt;&lt;P&gt;            EXPORTING&lt;/P&gt;&lt;P&gt;              msg_log_imp  = wa_msglog&lt;/P&gt;&lt;P&gt;            IMPORTING&lt;/P&gt;&lt;P&gt;              msg_text_exp = wa_msgtxt.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;          IF sy-subrc = 0.&lt;/P&gt;&lt;P&gt;            CLEAR it_errmat.&lt;/P&gt;&lt;P&gt;            it_errmat-recno = lv_count.&lt;/P&gt;&lt;P&gt;            it_errmat-kschl = it_extract-kschl1.&lt;/P&gt;&lt;P&gt;            it_errmat-matnr = it_extract-matnr.&lt;/P&gt;&lt;P&gt;            it_errmat-status = text-021.&lt;/P&gt;&lt;P&gt;            it_errmat-bdcmsg = wa_msgtxt-msgtx.&lt;/P&gt;&lt;P&gt;            APPEND it_errmat.&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;      COMMIT WORK AND WAIT.&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;  IF NOT it_extract-kschl2 IS INITIAL.&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt; For the condition ZKDT&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;    SELECT SINGLE * FROM a703&lt;/P&gt;&lt;P&gt;                        WHERE kappl = 'V'&lt;/P&gt;&lt;P&gt;                        AND   kschl = it_extract-kschl2&lt;/P&gt;&lt;P&gt;                        AND   vkorg = it_extract-vkorg&lt;/P&gt;&lt;P&gt;                        AND   vtweg = it_extract-vtweg&lt;/P&gt;&lt;P&gt;                        AND   spart = it_extract-spart&lt;/P&gt;&lt;P&gt;                        AND   land1 = it_extract-land1&lt;/P&gt;&lt;P&gt;                        AND   matnr = it_extract-matnr&lt;/P&gt;&lt;P&gt;                        AND   datbi &amp;gt;= sy-datum&lt;/P&gt;&lt;P&gt;                        AND   datab &amp;lt;= sy-datum.&lt;/P&gt;&lt;P&gt;    IF sy-subrc = 0.&lt;/P&gt;&lt;P&gt;      CLEAR bdcdata.&lt;/P&gt;&lt;P&gt;      CLEAR: lv_tempdat1, lv_tempdat2.&lt;/P&gt;&lt;P&gt;      lv_tempdat1+6(2) = it_extract-datab(2).&lt;/P&gt;&lt;P&gt;      lv_tempdat1&lt;EM&gt;4(2) = it_extract-datab&lt;/EM&gt;2(2).&lt;/P&gt;&lt;P&gt;      lv_tempdat1(4) = it_extract-datab+4(4).&lt;/P&gt;&lt;P&gt;      lv_tempdat2+6(2) = it_extract-datbi(2).&lt;/P&gt;&lt;P&gt;      lv_tempdat2&lt;EM&gt;4(2) = it_extract-datbi&lt;/EM&gt;2(2).&lt;/P&gt;&lt;P&gt;      lv_tempdat2(4) = it_extract-datbi+4(4).&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;****************&lt;/P&gt;&lt;P&gt;*Case 1&lt;/P&gt;&lt;P&gt;****************&lt;/P&gt;&lt;P&gt;      IF lv_tempdat1 &amp;gt; a703-datab AND&lt;/P&gt;&lt;P&gt;          lv_tempdat1 &amp;lt; a703-datbi AND&lt;/P&gt;&lt;P&gt;           lv_tempdat2 &amp;gt;= a703-datbi.&lt;/P&gt;&lt;P&gt;        REFRESH bdcdata.&lt;/P&gt;&lt;P&gt;        CLEAR bdcdata.&lt;/P&gt;&lt;P&gt;        CLEAR lv_datab.&lt;/P&gt;&lt;P&gt;        PERFORM bdc_dynpro      USING 'SAPMV13A' '0100'.&lt;/P&gt;&lt;P&gt;        PERFORM bdc_field       USING 'BDC_CURSOR' 'RV13A-KSCHL'.&lt;/P&gt;&lt;P&gt;        PERFORM bdc_field       USING 'BDC_OKCODE' '=ANTA'.&lt;/P&gt;&lt;P&gt;        PERFORM bdc_field       USING 'RV13A-KSCHL' it_extract-kschl2.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;        PERFORM bdc_dynpro      USING 'SAPLV14A' '0100'.&lt;/P&gt;&lt;P&gt;        PERFORM bdc_field       USING 'BDC_CURSOR' 'RV130-SELKZ(02)'.&lt;/P&gt;&lt;P&gt;        PERFORM bdc_field       USING 'BDC_OKCODE' '=WEIT'.&lt;/P&gt;&lt;P&gt;        PERFORM bdc_field       USING 'RV130-SELKZ(01)'  'X'.&lt;/P&gt;&lt;P&gt;        PERFORM bdc_field       USING 'RV130-SELKZ(02)'  ''.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;        PERFORM bdc_dynpro      USING 'RV13A703' '1000'.&lt;/P&gt;&lt;P&gt;        PERFORM bdc_field       USING 'BDC_CURSOR' 'F004'.&lt;/P&gt;&lt;P&gt;        PERFORM bdc_field       USING 'BDC_OKCODE' '=ONLI'.&lt;/P&gt;&lt;P&gt;        PERFORM bdc_field       USING 'F001' it_extract-vkorg.&lt;/P&gt;&lt;P&gt;        PERFORM bdc_field       USING 'F002' it_extract-vtweg.&lt;/P&gt;&lt;P&gt;        PERFORM bdc_field       USING 'F003' it_extract-spart.&lt;/P&gt;&lt;P&gt;        PERFORM bdc_field       USING 'F004' it_extract-land1.&lt;/P&gt;&lt;P&gt;        PERFORM bdc_field       USING 'F005-LOW' it_extract-matnr.&lt;/P&gt;&lt;P&gt;        CLEAR lv_sydate.&lt;/P&gt;&lt;P&gt;        lv_sydate(2) = sy-datum+6(2).&lt;/P&gt;&lt;P&gt;        lv_sydate&lt;EM&gt;2(2) = sy-datum&lt;/EM&gt;4(2).&lt;/P&gt;&lt;P&gt;        lv_sydate+4(4) = sy-datum(4).&lt;/P&gt;&lt;P&gt;        PERFORM bdc_field       USING 'SEL_DATE' lv_sydate.&lt;/P&gt;&lt;P&gt;        CLEAR lv_sydate.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;        PERFORM bdc_dynpro      USING 'SAPMV13A' '1703'.&lt;/P&gt;&lt;P&gt;        PERFORM bdc_field       USING 'BDC_CURSOR' 'RV13A-DATBI(01)'.&lt;/P&gt;&lt;P&gt;        PERFORM bdc_field       USING 'BDC_OKCODE' '=SICH'.&lt;/P&gt;&lt;P&gt;        lv_datab = lv_tempdat1.&lt;/P&gt;&lt;P&gt;        SUBTRACT 1 FROM lv_datab.&lt;/P&gt;&lt;P&gt;        CLEAR lv_tempdat.&lt;/P&gt;&lt;P&gt;        lv_tempdat(2) = lv_datab+6(2).&lt;/P&gt;&lt;P&gt;        lv_tempdat&lt;EM&gt;2(2) = lv_datab&lt;/EM&gt;4(2).&lt;/P&gt;&lt;P&gt;        lv_tempdat+4(4) = lv_datab(4).&lt;/P&gt;&lt;P&gt;        lv_datab = lv_tempdat.&lt;/P&gt;&lt;P&gt;        CLEAR lv_tempdat.&lt;/P&gt;&lt;P&gt;        PERFORM bdc_field       USING 'RV13A-DATBI(01)' lv_datab.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;        REFRESH it_msgtab.&lt;/P&gt;&lt;P&gt;        CALL TRANSACTION 'VK12'&lt;/P&gt;&lt;P&gt;                          USING bdcdata&lt;/P&gt;&lt;P&gt;                          MODE 'N'&lt;/P&gt;&lt;P&gt;                          UPDATE 'S'&lt;/P&gt;&lt;P&gt;                          MESSAGES INTO it_msgtab.&lt;/P&gt;&lt;P&gt;        IF sy-subrc = 0.&lt;/P&gt;&lt;P&gt;          ADD 1 TO w_data_bdc_recs.&lt;/P&gt;&lt;P&gt;          DELETE ADJACENT DUPLICATES FROM it_msgtab.&lt;/P&gt;&lt;P&gt;          LOOP AT it_msgtab.&lt;/P&gt;&lt;P&gt;            CLEAR wa_msglog.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;            wa_msglog-msgid = it_msgtab-msgid.&lt;/P&gt;&lt;P&gt;            wa_msglog-msgno = it_msgtab-msgnr.&lt;/P&gt;&lt;P&gt;            wa_msglog-msgty = it_msgtab-msgtyp.&lt;/P&gt;&lt;P&gt;            wa_msglog-msgv1 = it_msgtab-msgv1.&lt;/P&gt;&lt;P&gt;            wa_msglog-msgv2 = it_msgtab-msgv2.&lt;/P&gt;&lt;P&gt;            wa_msglog-msgv3 = it_msgtab-msgv3.&lt;/P&gt;&lt;P&gt;            wa_msglog-msgv4 = it_msgtab-msgv4.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;            CALL FUNCTION 'MESSAGE_TEXTS_READ'&lt;/P&gt;&lt;P&gt;              EXPORTING&lt;/P&gt;&lt;P&gt;                msg_log_imp  = wa_msglog&lt;/P&gt;&lt;P&gt;              IMPORTING&lt;/P&gt;&lt;P&gt;                msg_text_exp = wa_msgtxt.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;            IF sy-subrc = 0.&lt;/P&gt;&lt;P&gt;              CLEAR it_errmat.&lt;/P&gt;&lt;P&gt;              it_errmat-recno = lv_count.&lt;/P&gt;&lt;P&gt;              it_errmat-kschl = it_extract-kschl2.&lt;/P&gt;&lt;P&gt;              it_errmat-matnr = it_extract-matnr.&lt;/P&gt;&lt;P&gt;              it_errmat-status = text-020.&lt;/P&gt;&lt;P&gt;              it_errmat-bdcmsg = wa_msgtxt-msgtx.&lt;/P&gt;&lt;P&gt;              APPEND it_errmat.&lt;/P&gt;&lt;P&gt;            ENDIF.&lt;/P&gt;&lt;P&gt;          ENDLOOP.&lt;/P&gt;&lt;P&gt;        ELSE.&lt;/P&gt;&lt;P&gt;          LOOP AT it_msgtab.&lt;/P&gt;&lt;P&gt;            CLEAR wa_msglog.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;            wa_msglog-msgid = it_msgtab-msgid.&lt;/P&gt;&lt;P&gt;            wa_msglog-msgno = it_msgtab-msgnr.&lt;/P&gt;&lt;P&gt;            wa_msglog-msgty = it_msgtab-msgtyp.&lt;/P&gt;&lt;P&gt;            wa_msglog-msgv1 = it_msgtab-msgv1.&lt;/P&gt;&lt;P&gt;            wa_msglog-msgv2 = it_msgtab-msgv2.&lt;/P&gt;&lt;P&gt;            wa_msglog-msgv3 = it_msgtab-msgv3.&lt;/P&gt;&lt;P&gt;            wa_msglog-msgv4 = it_msgtab-msgv4.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;            CALL FUNCTION 'MESSAGE_TEXTS_READ'&lt;/P&gt;&lt;P&gt;              EXPORTING&lt;/P&gt;&lt;P&gt;                msg_log_imp  = wa_msglog&lt;/P&gt;&lt;P&gt;              IMPORTING&lt;/P&gt;&lt;P&gt;                msg_text_exp = wa_msgtxt.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;            IF sy-subrc = 0.&lt;/P&gt;&lt;P&gt;              CLEAR it_errmat.&lt;/P&gt;&lt;P&gt;              it_errmat-recno = lv_count.&lt;/P&gt;&lt;P&gt;              it_errmat-kschl = it_extract-kschl2.&lt;/P&gt;&lt;P&gt;              it_errmat-matnr = it_extract-matnr.&lt;/P&gt;&lt;P&gt;              it_errmat-status = text-021.&lt;/P&gt;&lt;P&gt;              it_errmat-bdcmsg = wa_msgtxt-msgtx.&lt;/P&gt;&lt;P&gt;              APPEND it_errmat.&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;        COMMIT WORK AND WAIT.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;*second record in case 1&lt;/P&gt;&lt;P&gt;        PERFORM new_record_a703_2.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;*case 2&lt;/P&gt;&lt;P&gt;*if validity period coincide, then just change the amount.&lt;/P&gt;&lt;P&gt;      ELSEIF lv_tempdat1 = a703-datab AND&lt;/P&gt;&lt;P&gt;          lv_tempdat2 = a703-datbi.&lt;/P&gt;&lt;P&gt;        REFRESH bdcdata.&lt;/P&gt;&lt;P&gt;        CLEAR bdcdata.&lt;/P&gt;&lt;P&gt;        CLEAR lv_datab.&lt;/P&gt;&lt;P&gt;        PERFORM bdc_dynpro      USING 'SAPMV13A' '0100'.&lt;/P&gt;&lt;P&gt;        PERFORM bdc_field       USING 'BDC_CURSOR' 'RV13A-KSCHL'.&lt;/P&gt;&lt;P&gt;        PERFORM bdc_field       USING 'BDC_OKCODE' '=ANTA'.&lt;/P&gt;&lt;P&gt;        PERFORM bdc_field       USING 'RV13A-KSCHL' it_extract-kschl1.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;        PERFORM bdc_dynpro      USING 'SAPLV14A' '0100'.&lt;/P&gt;&lt;P&gt;        PERFORM bdc_field       USING 'BDC_CURSOR' 'RV130-SELKZ(02)'.&lt;/P&gt;&lt;P&gt;        PERFORM bdc_field       USING 'BDC_OKCODE' '=WEIT'.&lt;/P&gt;&lt;P&gt;        PERFORM bdc_field       USING 'RV130-SELKZ(01)'  'X'.&lt;/P&gt;&lt;P&gt;        PERFORM bdc_field       USING 'RV130-SELKZ(02)'  ''.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;        PERFORM bdc_dynpro      USING 'RV13A703' '1000'.&lt;/P&gt;&lt;P&gt;        PERFORM bdc_field       USING 'BDC_CURSOR' 'F004'.&lt;/P&gt;&lt;P&gt;        PERFORM bdc_field       USING 'BDC_OKCODE' '=ONLI'.&lt;/P&gt;&lt;P&gt;        PERFORM bdc_field       USING 'F001' it_extract-vkorg.&lt;/P&gt;&lt;P&gt;        PERFORM bdc_field       USING 'F002' it_extract-vtweg.&lt;/P&gt;&lt;P&gt;        PERFORM bdc_field       USING 'F003' it_extract-spart.&lt;/P&gt;&lt;P&gt;        PERFORM bdc_field       USING 'F004' it_extract-land1.&lt;/P&gt;&lt;P&gt;        PERFORM bdc_field       USING 'F005-LOW' it_extract-matnr.&lt;/P&gt;&lt;P&gt;        CLEAR lv_sydate.&lt;/P&gt;&lt;P&gt;        lv_sydate(2) = sy-datum+6(2).&lt;/P&gt;&lt;P&gt;        lv_sydate&lt;EM&gt;2(2) = sy-datum&lt;/EM&gt;4(2).&lt;/P&gt;&lt;P&gt;        lv_sydate+4(4) = sy-datum(4).&lt;/P&gt;&lt;P&gt;        PERFORM bdc_field       USING 'SEL_DATE' lv_sydate.&lt;/P&gt;&lt;P&gt;        CLEAR lv_sydate.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;        PERFORM bdc_dynpro      USING 'SAPMV13A' '1703'.&lt;/P&gt;&lt;P&gt;        PERFORM bdc_field       USING 'BDC_CURSOR' 'RV13A-DATBI(01)'.&lt;/P&gt;&lt;P&gt;        PERFORM bdc_field       USING 'BDC_OKCODE' '=SICH'.&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;       lv_datab = lv_tempdat1.&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;       SUBTRACT 1 FROM lv_datab.&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;       CLEAR lv_tempdat.&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;       lv_tempdat(2) = lv_datab+6(2).&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;       lv_tempdat&lt;EM&gt;2(2) = lv_datab&lt;/EM&gt;4(2).&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;       lv_tempdat+4(4) = lv_datab(4).&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;       lv_datab = lv_tempdat.&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;       CLEAR lv_tempdat.&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;       PERFORM bdc_field       USING 'RV13A-DATBI(01)' lv_datab.&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;        CLEAR lv_amnt.&lt;/P&gt;&lt;P&gt;        MOVE it_extract-kbetr4 TO lv_amnt.&lt;/P&gt;&lt;P&gt;        REPLACE '.' WITH ',' INTO lv_amnt.&lt;/P&gt;&lt;P&gt;        CONDENSE lv_amnt NO-GAPS.&lt;/P&gt;&lt;P&gt;        PERFORM bdc_field     USING 'KONP-KBETR(01)' lv_amnt.&lt;/P&gt;&lt;P&gt;        CLEAR lv_amnt.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;        REFRESH it_msgtab.&lt;/P&gt;&lt;P&gt;        CALL TRANSACTION 'VK12'&lt;/P&gt;&lt;P&gt;                          USING bdcdata&lt;/P&gt;&lt;P&gt;                          MODE 'N'&lt;/P&gt;&lt;P&gt;                          UPDATE 'S'&lt;/P&gt;&lt;P&gt;                          MESSAGES INTO it_msgtab.&lt;/P&gt;&lt;P&gt;        IF sy-subrc = 0.&lt;/P&gt;&lt;P&gt;          ADD 1 TO w_data_bdc_recs.&lt;/P&gt;&lt;P&gt;          DELETE ADJACENT DUPLICATES FROM it_msgtab.&lt;/P&gt;&lt;P&gt;          LOOP AT it_msgtab.&lt;/P&gt;&lt;P&gt;            CLEAR wa_msglog.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;            wa_msglog-msgid = it_msgtab-msgid.&lt;/P&gt;&lt;P&gt;            wa_msglog-msgno = it_msgtab-msgnr.&lt;/P&gt;&lt;P&gt;            wa_msglog-msgty = it_msgtab-msgtyp.&lt;/P&gt;&lt;P&gt;            wa_msglog-msgv1 = it_msgtab-msgv1.&lt;/P&gt;&lt;P&gt;            wa_msglog-msgv2 = it_msgtab-msgv2.&lt;/P&gt;&lt;P&gt;            wa_msglog-msgv3 = it_msgtab-msgv3.&lt;/P&gt;&lt;P&gt;            wa_msglog-msgv4 = it_msgtab-msgv4.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;            CALL FUNCTION 'MESSAGE_TEXTS_READ'&lt;/P&gt;&lt;P&gt;              EXPORTING&lt;/P&gt;&lt;P&gt;                msg_log_imp  = wa_msglog&lt;/P&gt;&lt;P&gt;              IMPORTING&lt;/P&gt;&lt;P&gt;                msg_text_exp = wa_msgtxt.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;            IF sy-subrc = 0.&lt;/P&gt;&lt;P&gt;              CLEAR it_errmat.&lt;/P&gt;&lt;P&gt;              it_errmat-recno = lv_count.&lt;/P&gt;&lt;P&gt;              it_errmat-kschl = it_extract-kschl2.&lt;/P&gt;&lt;P&gt;              it_errmat-matnr = it_extract-matnr.&lt;/P&gt;&lt;P&gt;              it_errmat-status = text-020.&lt;/P&gt;&lt;P&gt;              it_errmat-bdcmsg = wa_msgtxt-msgtx.&lt;/P&gt;&lt;P&gt;              APPEND it_errmat.&lt;/P&gt;&lt;P&gt;            ENDIF.&lt;/P&gt;&lt;P&gt;          ENDLOOP.&lt;/P&gt;&lt;P&gt;        ELSE.&lt;/P&gt;&lt;P&gt;          LOOP AT it_msgtab.&lt;/P&gt;&lt;P&gt;            CLEAR wa_msglog.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;            wa_msglog-msgid = it_msgtab-msgid.&lt;/P&gt;&lt;P&gt;            wa_msglog-msgno = it_msgtab-msgnr.&lt;/P&gt;&lt;P&gt;            wa_msglog-msgty = it_msgtab-msgtyp.&lt;/P&gt;&lt;P&gt;            wa_msglog-msgv1 = it_msgtab-msgv1.&lt;/P&gt;&lt;P&gt;            wa_msglog-msgv2 = it_msgtab-msgv2.&lt;/P&gt;&lt;P&gt;            wa_msglog-msgv3 = it_msgtab-msgv3.&lt;/P&gt;&lt;P&gt;            wa_msglog-msgv4 = it_msgtab-msgv4.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;            CALL FUNCTION 'MESSAGE_TEXTS_READ'&lt;/P&gt;&lt;P&gt;              EXPORTING&lt;/P&gt;&lt;P&gt;                msg_log_imp  = wa_msglog&lt;/P&gt;&lt;P&gt;              IMPORTING&lt;/P&gt;&lt;P&gt;                msg_text_exp = wa_msgtxt.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;            IF sy-subrc = 0.&lt;/P&gt;&lt;P&gt;              CLEAR it_errmat.&lt;/P&gt;&lt;P&gt;              it_errmat-recno = lv_count.&lt;/P&gt;&lt;P&gt;              it_errmat-kschl = it_extract-kschl2.&lt;/P&gt;&lt;P&gt;              it_errmat-matnr = it_extract-matnr.&lt;/P&gt;&lt;P&gt;              it_errmat-status = text-021.&lt;/P&gt;&lt;P&gt;              it_errmat-bdcmsg = wa_msgtxt-msgtx.&lt;/P&gt;&lt;P&gt;              APPEND it_errmat.&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;        COMMIT WORK AND WAIT.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;********************&lt;/P&gt;&lt;P&gt;*Case 3            *&lt;/P&gt;&lt;P&gt;********************&lt;/P&gt;&lt;P&gt;      ELSEIF lv_tempdat1 &amp;gt; a703-datab AND&lt;/P&gt;&lt;P&gt;              lv_tempdat1 &amp;lt; a703-datbi AND&lt;/P&gt;&lt;P&gt;               lv_tempdat2 &amp;lt; a703-datbi.&lt;/P&gt;&lt;P&gt;        REFRESH bdcdata.&lt;/P&gt;&lt;P&gt;        CLEAR bdcdata.&lt;/P&gt;&lt;P&gt;        CLEAR lv_datab.&lt;/P&gt;&lt;P&gt;        PERFORM bdc_dynpro      USING 'SAPMV13A' '0100'.&lt;/P&gt;&lt;P&gt;        PERFORM bdc_field       USING 'BDC_CURSOR' 'RV13A-KSCHL'.&lt;/P&gt;&lt;P&gt;        PERFORM bdc_field       USING 'BDC_OKCODE' '=ANTA'.&lt;/P&gt;&lt;P&gt;        PERFORM bdc_field       USING 'RV13A-KSCHL' it_extract-kschl2.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;        PERFORM bdc_dynpro      USING 'SAPLV14A' '0100'.&lt;/P&gt;&lt;P&gt;        PERFORM bdc_field       USING 'BDC_CURSOR' 'RV130-SELKZ(02)'.&lt;/P&gt;&lt;P&gt;        PERFORM bdc_field       USING 'BDC_OKCODE' '=WEIT'.&lt;/P&gt;&lt;P&gt;        PERFORM bdc_field       USING 'RV130-SELKZ(01)'  'X'.&lt;/P&gt;&lt;P&gt;        PERFORM bdc_field       USING 'RV130-SELKZ(02)'  ''.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;        PERFORM bdc_dynpro      USING 'RV13A703' '1000'.&lt;/P&gt;&lt;P&gt;        PERFORM bdc_field       USING 'BDC_CURSOR' 'F004'.&lt;/P&gt;&lt;P&gt;        PERFORM bdc_field       USING 'BDC_OKCODE' '=ONLI'.&lt;/P&gt;&lt;P&gt;        PERFORM bdc_field       USING 'F001' it_extract-vkorg.&lt;/P&gt;&lt;P&gt;        PERFORM bdc_field       USING 'F002' it_extract-vtweg.&lt;/P&gt;&lt;P&gt;        PERFORM bdc_field       USING 'F003' it_extract-spart.&lt;/P&gt;&lt;P&gt;        PERFORM bdc_field       USING 'F004' it_extract-land1.&lt;/P&gt;&lt;P&gt;        PERFORM bdc_field       USING 'F005-LOW' it_extract-matnr.&lt;/P&gt;&lt;P&gt;        CLEAR lv_sydate.&lt;/P&gt;&lt;P&gt;        lv_sydate(2) = sy-datum+6(2).&lt;/P&gt;&lt;P&gt;        lv_sydate&lt;EM&gt;2(2) = sy-datum&lt;/EM&gt;4(2).&lt;/P&gt;&lt;P&gt;        lv_sydate+4(4) = sy-datum(4).&lt;/P&gt;&lt;P&gt;        PERFORM bdc_field       USING 'SEL_DATE' lv_sydate.&lt;/P&gt;&lt;P&gt;        CLEAR lv_sydate.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;        PERFORM bdc_dynpro      USING 'SAPMV13A' '1703'.&lt;/P&gt;&lt;P&gt;        PERFORM bdc_field       USING 'BDC_CURSOR' 'RV13A-DATBI(01)'.&lt;/P&gt;&lt;P&gt;        PERFORM bdc_field       USING 'BDC_OKCODE' '=SICH'.&lt;/P&gt;&lt;P&gt;        lv_datab = lv_tempdat1.&lt;/P&gt;&lt;P&gt;        SUBTRACT 1 FROM lv_datab.&lt;/P&gt;&lt;P&gt;        CLEAR lv_tempdat.&lt;/P&gt;&lt;P&gt;        lv_tempdat(2) = lv_datab+6(2).&lt;/P&gt;&lt;P&gt;        lv_tempdat&lt;EM&gt;2(2) = lv_datab&lt;/EM&gt;4(2).&lt;/P&gt;&lt;P&gt;        lv_tempdat+4(4) = lv_datab(4).&lt;/P&gt;&lt;P&gt;        lv_datab = lv_tempdat.&lt;/P&gt;&lt;P&gt;        CLEAR lv_tempdat.&lt;/P&gt;&lt;P&gt;        PERFORM bdc_field       USING 'RV13A-DATBI(01)' lv_datab.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;        REFRESH it_msgtab.&lt;/P&gt;&lt;P&gt;        CALL TRANSACTION 'VK12'&lt;/P&gt;&lt;P&gt;                          USING bdcdata&lt;/P&gt;&lt;P&gt;                          MODE 'N'&lt;/P&gt;&lt;P&gt;                          UPDATE 'S'&lt;/P&gt;&lt;P&gt;                          MESSAGES INTO it_msgtab.&lt;/P&gt;&lt;P&gt;        IF sy-subrc = 0.&lt;/P&gt;&lt;P&gt;          ADD 1 TO w_data_bdc_recs.&lt;/P&gt;&lt;P&gt;          DELETE ADJACENT DUPLICATES FROM it_msgtab.&lt;/P&gt;&lt;P&gt;          LOOP AT it_msgtab.&lt;/P&gt;&lt;P&gt;            CLEAR wa_msglog.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;            wa_msglog-msgid = it_msgtab-msgid.&lt;/P&gt;&lt;P&gt;            wa_msglog-msgno = it_msgtab-msgnr.&lt;/P&gt;&lt;P&gt;            wa_msglog-msgty = it_msgtab-msgtyp.&lt;/P&gt;&lt;P&gt;            wa_msglog-msgv1 = it_msgtab-msgv1.&lt;/P&gt;&lt;P&gt;            wa_msglog-msgv2 = it_msgtab-msgv2.&lt;/P&gt;&lt;P&gt;            wa_msglog-msgv3 = it_msgtab-msgv3.&lt;/P&gt;&lt;P&gt;            wa_msglog-msgv4 = it_msgtab-msgv4.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;            CALL FUNCTION 'MESSAGE_TEXTS_READ'&lt;/P&gt;&lt;P&gt;              EXPORTING&lt;/P&gt;&lt;P&gt;                msg_log_imp  = wa_msglog&lt;/P&gt;&lt;P&gt;              IMPORTING&lt;/P&gt;&lt;P&gt;                msg_text_exp = wa_msgtxt.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;            IF sy-subrc = 0.&lt;/P&gt;&lt;P&gt;              CLEAR it_errmat.&lt;/P&gt;&lt;P&gt;              it_errmat-recno = lv_count.&lt;/P&gt;&lt;P&gt;              it_errmat-kschl = it_extract-kschl2.&lt;/P&gt;&lt;P&gt;              it_errmat-matnr = it_extract-matnr.&lt;/P&gt;&lt;P&gt;              it_errmat-status = text-020.&lt;/P&gt;&lt;P&gt;              it_errmat-bdcmsg = wa_msgtxt-msgtx.&lt;/P&gt;&lt;P&gt;              APPEND it_errmat.&lt;/P&gt;&lt;P&gt;            ENDIF.&lt;/P&gt;&lt;P&gt;          ENDLOOP.&lt;/P&gt;&lt;P&gt;        ELSE.&lt;/P&gt;&lt;P&gt;          LOOP AT it_msgtab.&lt;/P&gt;&lt;P&gt;            CLEAR wa_msglog.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;            wa_msglog-msgid = it_msgtab-msgid.&lt;/P&gt;&lt;P&gt;            wa_msglog-msgno = it_msgtab-msgnr.&lt;/P&gt;&lt;P&gt;            wa_msglog-msgty = it_msgtab-msgtyp.&lt;/P&gt;&lt;P&gt;            wa_msglog-msgv1 = it_msgtab-msgv1.&lt;/P&gt;&lt;P&gt;            wa_msglog-msgv2 = it_msgtab-msgv2.&lt;/P&gt;&lt;P&gt;            wa_msglog-msgv3 = it_msgtab-msgv3.&lt;/P&gt;&lt;P&gt;            wa_msglog-msgv4 = it_msgtab-msgv4.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;            CALL FUNCTION 'MESSAGE_TEXTS_READ'&lt;/P&gt;&lt;P&gt;              EXPORTING&lt;/P&gt;&lt;P&gt;                msg_log_imp  = wa_msglog&lt;/P&gt;&lt;P&gt;              IMPORTING&lt;/P&gt;&lt;P&gt;                msg_text_exp = wa_msgtxt.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;            IF sy-subrc = 0.&lt;/P&gt;&lt;P&gt;              CLEAR it_errmat.&lt;/P&gt;&lt;P&gt;              it_errmat-recno = lv_count.&lt;/P&gt;&lt;P&gt;              it_errmat-kschl = it_extract-kschl2.&lt;/P&gt;&lt;P&gt;              it_errmat-matnr = it_extract-matnr.&lt;/P&gt;&lt;P&gt;              it_errmat-status = text-021.&lt;/P&gt;&lt;P&gt;              it_errmat-bdcmsg = wa_msgtxt-msgtx.&lt;/P&gt;&lt;P&gt;              APPEND it_errmat.&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;        COMMIT WORK AND WAIT.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;*second record in case 3&lt;/P&gt;&lt;P&gt;        PERFORM new_record_a703_2.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;*third record in case 3&lt;/P&gt;&lt;P&gt;        REFRESH bdcdata.&lt;/P&gt;&lt;P&gt;        CLEAR bdcdata.&lt;/P&gt;&lt;P&gt;        PERFORM bdc_dynpro      USING 'SAPMV13A' '0100'.&lt;/P&gt;&lt;P&gt;        PERFORM bdc_field       USING 'BDC_CURSOR' 'RV13A-KSCHL'.&lt;/P&gt;&lt;P&gt;        PERFORM bdc_field       USING 'BDC_OKCODE' '=ANTA'.&lt;/P&gt;&lt;P&gt;        PERFORM bdc_field       USING 'RV13A-KSCHL' it_extract-kschl2.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;        PERFORM bdc_dynpro      USING 'SAPLV14A' '0100'.&lt;/P&gt;&lt;P&gt;        PERFORM bdc_field       USING 'BDC_CURSOR' 'RV130-SELKZ(01)'.&lt;/P&gt;&lt;P&gt;        PERFORM bdc_field       USING 'BDC_OKCODE' '=WEIT'.&lt;/P&gt;&lt;P&gt;        PERFORM bdc_field       USING 'RV130-SELKZ(01)'  'X'.&lt;/P&gt;&lt;P&gt;        PERFORM bdc_field       USING 'RV130-SELKZ(02)'  ''.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;        PERFORM bdc_dynpro      USING 'RV13A703' '1000'.&lt;/P&gt;&lt;P&gt;        PERFORM bdc_field       USING 'BDC_CURSOR' 'F004'.&lt;/P&gt;&lt;P&gt;        PERFORM bdc_field       USING 'BDC_OKCODE' '=ONLI'.&lt;/P&gt;&lt;P&gt;        PERFORM bdc_field       USING 'F001' it_extract-vkorg.&lt;/P&gt;&lt;P&gt;        PERFORM bdc_field       USING 'F002' it_extract-vtweg.&lt;/P&gt;&lt;P&gt;        PERFORM bdc_field       USING 'F003' it_extract-spart.&lt;/P&gt;&lt;P&gt;        PERFORM bdc_field       USING 'F004' it_extract-land1.&lt;/P&gt;&lt;P&gt;        PERFORM bdc_field       USING 'F005-LOW' it_extract-matnr.&lt;/P&gt;&lt;P&gt;        CLEAR lv_datab.&lt;/P&gt;&lt;P&gt;        lv_datab = lv_tempdat2.&lt;/P&gt;&lt;P&gt;        ADD 1 TO lv_datab.&lt;/P&gt;&lt;P&gt;        CLEAR lv_tempdat.&lt;/P&gt;&lt;P&gt;        lv_tempdat(2) = lv_datab+6(2).&lt;/P&gt;&lt;P&gt;        lv_tempdat&lt;EM&gt;2(2) = lv_datab&lt;/EM&gt;4(2).&lt;/P&gt;&lt;P&gt;        lv_tempdat+4(4) = lv_datab(4).&lt;/P&gt;&lt;P&gt;        lv_datab = lv_tempdat.&lt;/P&gt;&lt;P&gt;        CLEAR lv_tempdat.&lt;/P&gt;&lt;P&gt;        PERFORM bdc_field       USING 'SEL_DATE' lv_datab.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;        PERFORM bdc_dynpro      USING 'SAPMV13A' '1703'.&lt;/P&gt;&lt;P&gt;        PERFORM bdc_field       USING 'BDC_CURSOR' 'RV13A-DATBI(01)'.&lt;/P&gt;&lt;P&gt;        PERFORM bdc_field       USING 'BDC_OKCODE' '=SICH'.&lt;/P&gt;&lt;P&gt;        PERFORM bdc_field       USING 'KOMG-VKORG' it_extract-vkorg.&lt;/P&gt;&lt;P&gt;        PERFORM bdc_field       USING 'KOMG-VTWEG' it_extract-vtweg.&lt;/P&gt;&lt;P&gt;        PERFORM bdc_field       USING 'KOMG-SPART' it_extract-spart.&lt;/P&gt;&lt;P&gt;        PERFORM bdc_field       USING 'KOMG-LAND1' it_extract-land1.&lt;/P&gt;&lt;P&gt;        PERFORM bdc_field       USING 'KOMG-MATNR(01)' it_extract-matnr.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;        SELECT SINGLE * FROM konp WHERE&lt;/P&gt;&lt;P&gt;                        knumh = a703-knumh AND&lt;/P&gt;&lt;P&gt;                        kopos = '01'.&lt;/P&gt;&lt;P&gt;        IF sy-subrc = 0.&lt;/P&gt;&lt;P&gt;          CLEAR lv_amnt.&lt;/P&gt;&lt;P&gt;          MOVE konp-kbetr TO lv_amnt.&lt;/P&gt;&lt;P&gt;          REPLACE '.' WITH ',' INTO lv_amnt.&lt;/P&gt;&lt;P&gt;          CONDENSE lv_amnt NO-GAPS.&lt;/P&gt;&lt;P&gt;          PERFORM bdc_field       USING 'KONP-KBETR(01)' lv_amnt.&lt;/P&gt;&lt;P&gt;        ENDIF.&lt;/P&gt;&lt;P&gt;        CLEAR lv_amnt.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;        PERFORM bdc_field       USING 'KONP-KONWA(01)' 'EUR'.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;        IF NOT it_extract-datab IS INITIAL.&lt;/P&gt;&lt;P&gt;          PERFORM bdc_field       USING 'RV13A-DATAB(01)' lv_datab.&lt;/P&gt;&lt;P&gt;        ELSE.&lt;/P&gt;&lt;P&gt;          PERFORM bdc_field       USING 'RV13A-DATAB(01)' sy-datum.&lt;/P&gt;&lt;P&gt;        ENDIF.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;        IF NOT it_extract-datbi IS INITIAL.&lt;/P&gt;&lt;P&gt;          PERFORM bdc_field       USING 'RV13A-DATBI(01)' a703-datbi.&lt;/P&gt;&lt;P&gt;        ELSE.&lt;/P&gt;&lt;P&gt;          PERFORM bdc_field       USING 'RV13A-DATBI(01)' '31.12.9999'.&lt;/P&gt;&lt;P&gt;        ENDIF.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;        REFRESH it_msgtab.&lt;/P&gt;&lt;P&gt;        CALL TRANSACTION 'VK12'&lt;/P&gt;&lt;P&gt;                          USING bdcdata&lt;/P&gt;&lt;P&gt;                          MODE 'N'&lt;/P&gt;&lt;P&gt;                          UPDATE 'S'&lt;/P&gt;&lt;P&gt;                          MESSAGES INTO it_msgtab.&lt;/P&gt;&lt;P&gt;        IF sy-subrc = 0.&lt;/P&gt;&lt;P&gt;          ADD 1 TO w_data_bdc_recs.&lt;/P&gt;&lt;P&gt;          DELETE ADJACENT DUPLICATES FROM it_msgtab.&lt;/P&gt;&lt;P&gt;          LOOP AT it_msgtab.&lt;/P&gt;&lt;P&gt;            CLEAR wa_msglog.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;            wa_msglog-msgid = it_msgtab-msgid.&lt;/P&gt;&lt;P&gt;            wa_msglog-msgno = it_msgtab-msgnr.&lt;/P&gt;&lt;P&gt;            wa_msglog-msgty = it_msgtab-msgtyp.&lt;/P&gt;&lt;P&gt;            wa_msglog-msgv1 = it_msgtab-msgv1.&lt;/P&gt;&lt;P&gt;            wa_msglog-msgv2 = it_msgtab-msgv2.&lt;/P&gt;&lt;P&gt;            wa_msglog-msgv3 = it_msgtab-msgv3.&lt;/P&gt;&lt;P&gt;            wa_msglog-msgv4 = it_msgtab-msgv4.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;            CALL FUNCTION 'MESSAGE_TEXTS_READ'&lt;/P&gt;&lt;P&gt;              EXPORTING&lt;/P&gt;&lt;P&gt;                msg_log_imp  = wa_msglog&lt;/P&gt;&lt;P&gt;              IMPORTING&lt;/P&gt;&lt;P&gt;                msg_text_exp = wa_msgtxt.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;            IF sy-subrc = 0.&lt;/P&gt;&lt;P&gt;              CLEAR it_errmat.&lt;/P&gt;&lt;P&gt;              it_errmat-recno = lv_count.&lt;/P&gt;&lt;P&gt;              it_errmat-kschl = it_extract-kschl2.&lt;/P&gt;&lt;P&gt;              it_errmat-matnr = it_extract-matnr.&lt;/P&gt;&lt;P&gt;              it_errmat-status = text-020.&lt;/P&gt;&lt;P&gt;              it_errmat-bdcmsg = wa_msgtxt-msgtx.&lt;/P&gt;&lt;P&gt;              APPEND it_errmat.&lt;/P&gt;&lt;P&gt;            ENDIF.&lt;/P&gt;&lt;P&gt;          ENDLOOP.&lt;/P&gt;&lt;P&gt;        ELSE.&lt;/P&gt;&lt;P&gt;          LOOP AT it_msgtab.&lt;/P&gt;&lt;P&gt;            CLEAR wa_msglog.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;            wa_msglog-msgid = it_msgtab-msgid.&lt;/P&gt;&lt;P&gt;            wa_msglog-msgno = it_msgtab-msgnr.&lt;/P&gt;&lt;P&gt;            wa_msglog-msgty = it_msgtab-msgtyp.&lt;/P&gt;&lt;P&gt;            wa_msglog-msgv1 = it_msgtab-msgv1.&lt;/P&gt;&lt;P&gt;            wa_msglog-msgv2 = it_msgtab-msgv2.&lt;/P&gt;&lt;P&gt;            wa_msglog-msgv3 = it_msgtab-msgv3.&lt;/P&gt;&lt;P&gt;            wa_msglog-msgv4 = it_msgtab-msgv4.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;            CALL FUNCTION 'MESSAGE_TEXTS_READ'&lt;/P&gt;&lt;P&gt;              EXPORTING&lt;/P&gt;&lt;P&gt;                msg_log_imp  = wa_msglog&lt;/P&gt;&lt;P&gt;              IMPORTING&lt;/P&gt;&lt;P&gt;                msg_text_exp = wa_msgtxt.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;            IF sy-subrc = 0.&lt;/P&gt;&lt;P&gt;              CLEAR it_errmat.&lt;/P&gt;&lt;P&gt;              it_errmat-recno = lv_count.&lt;/P&gt;&lt;P&gt;              it_errmat-kschl = it_extract-kschl2.&lt;/P&gt;&lt;P&gt;              it_errmat-matnr = it_extract-matnr.&lt;/P&gt;&lt;P&gt;              it_errmat-status = text-021.&lt;/P&gt;&lt;P&gt;              it_errmat-bdcmsg = wa_msgtxt-msgtx.&lt;/P&gt;&lt;P&gt;              APPEND it_errmat.&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;        COMMIT WORK AND WAIT.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;************&lt;/P&gt;&lt;P&gt;*case 4&lt;/P&gt;&lt;P&gt;************&lt;/P&gt;&lt;P&gt;      ELSEIF lv_tempdat1 &amp;lt; a703-datab AND&lt;/P&gt;&lt;P&gt;              lv_tempdat2 &amp;gt; a703-datab AND&lt;/P&gt;&lt;P&gt;               lv_tempdat2 &amp;lt; a703-datbi.&lt;/P&gt;&lt;P&gt;        REFRESH bdcdata.&lt;/P&gt;&lt;P&gt;        CLEAR bdcdata.&lt;/P&gt;&lt;P&gt;        CLEAR lv_datab.&lt;/P&gt;&lt;P&gt;        PERFORM bdc_dynpro      USING 'SAPMV13A' '0100'.&lt;/P&gt;&lt;P&gt;        PERFORM bdc_field       USING 'BDC_CURSOR' 'RV13A-KSCHL'.&lt;/P&gt;&lt;P&gt;        PERFORM bdc_field       USING 'BDC_OKCODE' '=ANTA'.&lt;/P&gt;&lt;P&gt;        PERFORM bdc_field       USING 'RV13A-KSCHL' it_extract-kschl2.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;        PERFORM bdc_dynpro      USING 'SAPLV14A' '0100'.&lt;/P&gt;&lt;P&gt;        PERFORM bdc_field       USING 'BDC_CURSOR' 'RV130-SELKZ(02)'.&lt;/P&gt;&lt;P&gt;        PERFORM bdc_field       USING 'BDC_OKCODE' '=WEIT'.&lt;/P&gt;&lt;P&gt;        PERFORM bdc_field       USING 'RV130-SELKZ(01)'  'X'.&lt;/P&gt;&lt;P&gt;        PERFORM bdc_field       USING 'RV130-SELKZ(02)'  ''.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;        PERFORM bdc_dynpro      USING 'RV13A703' '1000'.&lt;/P&gt;&lt;P&gt;        PERFORM bdc_field       USING 'BDC_CURSOR' 'F004'.&lt;/P&gt;&lt;P&gt;        PERFORM bdc_field       USING 'BDC_OKCODE' '=ONLI'.&lt;/P&gt;&lt;P&gt;        PERFORM bdc_field       USING 'F001' it_extract-vkorg.&lt;/P&gt;&lt;P&gt;        PERFORM bdc_field       USING 'F002' it_extract-vtweg.&lt;/P&gt;&lt;P&gt;        PERFORM bdc_field       USING 'F003' it_extract-spart.&lt;/P&gt;&lt;P&gt;        PERFORM bdc_field       USING 'F004' it_extract-land1.&lt;/P&gt;&lt;P&gt;        PERFORM bdc_field       USING 'F005-LOW' it_extract-matnr.&lt;/P&gt;&lt;P&gt;        CLEAR lv_sydate.&lt;/P&gt;&lt;P&gt;        lv_sydate(2) = sy-datum+6(2).&lt;/P&gt;&lt;P&gt;        lv_sydate&lt;EM&gt;2(2) = sy-datum&lt;/EM&gt;4(2).&lt;/P&gt;&lt;P&gt;        lv_sydate+4(4) = sy-datum(4).&lt;/P&gt;&lt;P&gt;        PERFORM bdc_field       USING 'SEL_DATE' lv_sydate.&lt;/P&gt;&lt;P&gt;        CLEAR lv_sydate.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;        PERFORM bdc_dynpro      USING 'SAPMV13A' '1703'.&lt;/P&gt;&lt;P&gt;        PERFORM bdc_field       USING 'BDC_CURSOR' 'RV13A-DATBI(01)'.&lt;/P&gt;&lt;P&gt;        PERFORM bdc_field       USING 'BDC_OKCODE' '=SICH'.&lt;/P&gt;&lt;P&gt;        lv_datab = lv_tempdat2.&lt;/P&gt;&lt;P&gt;        ADD 1 TO lv_datab.&lt;/P&gt;&lt;P&gt;        CLEAR lv_tempdat.&lt;/P&gt;&lt;P&gt;        lv_tempdat(2) = lv_datab+6(2).&lt;/P&gt;&lt;P&gt;        lv_tempdat&lt;EM&gt;2(2) = lv_datab&lt;/EM&gt;4(2).&lt;/P&gt;&lt;P&gt;        lv_tempdat+4(4) = lv_datab(4).&lt;/P&gt;&lt;P&gt;        lv_datab = lv_tempdat.&lt;/P&gt;&lt;P&gt;        CLEAR lv_tempdat.&lt;/P&gt;&lt;P&gt;        PERFORM bdc_field       USING 'RV13A-DATAB(01)' lv_datab.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;        REFRESH it_msgtab.&lt;/P&gt;&lt;P&gt;        CALL TRANSACTION 'VK12'&lt;/P&gt;&lt;P&gt;                          USING bdcdata&lt;/P&gt;&lt;P&gt;                          MODE 'N'&lt;/P&gt;&lt;P&gt;                          UPDATE 'S'&lt;/P&gt;&lt;P&gt;                          MESSAGES INTO it_msgtab.&lt;/P&gt;&lt;P&gt;        IF sy-subrc = 0.&lt;/P&gt;&lt;P&gt;          ADD 1 TO w_data_bdc_recs.&lt;/P&gt;&lt;P&gt;          DELETE ADJACENT DUPLICATES FROM it_msgtab.&lt;/P&gt;&lt;P&gt;          LOOP AT it_msgtab.&lt;/P&gt;&lt;P&gt;            CLEAR wa_msglog.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;            wa_msglog-msgid = it_msgtab-msgid.&lt;/P&gt;&lt;P&gt;            wa_msglog-msgno = it_msgtab-msgnr.&lt;/P&gt;&lt;P&gt;            wa_msglog-msgty = it_msgtab-msgtyp.&lt;/P&gt;&lt;P&gt;            wa_msglog-msgv1 = it_msgtab-msgv1.&lt;/P&gt;&lt;P&gt;            wa_msglog-msgv2 = it_msgtab-msgv2.&lt;/P&gt;&lt;P&gt;            wa_msglog-msgv3 = it_msgtab-msgv3.&lt;/P&gt;&lt;P&gt;            wa_msglog-msgv4 = it_msgtab-msgv4.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;            CALL FUNCTION 'MESSAGE_TEXTS_READ'&lt;/P&gt;&lt;P&gt;              EXPORTING&lt;/P&gt;&lt;P&gt;                msg_log_imp  = wa_msglog&lt;/P&gt;&lt;P&gt;              IMPORTING&lt;/P&gt;&lt;P&gt;                msg_text_exp = wa_msgtxt.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;            IF sy-subrc = 0.&lt;/P&gt;&lt;P&gt;              CLEAR it_errmat.&lt;/P&gt;&lt;P&gt;              it_errmat-recno = lv_count.&lt;/P&gt;&lt;P&gt;              it_errmat-kschl = it_extract-kschl2.&lt;/P&gt;&lt;P&gt;              it_errmat-matnr = it_extract-matnr.&lt;/P&gt;&lt;P&gt;              it_errmat-status = text-020.&lt;/P&gt;&lt;P&gt;              it_errmat-bdcmsg = wa_msgtxt-msgtx.&lt;/P&gt;&lt;P&gt;              APPEND it_errmat.&lt;/P&gt;&lt;P&gt;            ENDIF.&lt;/P&gt;&lt;P&gt;          ENDLOOP.&lt;/P&gt;&lt;P&gt;        ELSE.&lt;/P&gt;&lt;P&gt;          LOOP AT it_msgtab.&lt;/P&gt;&lt;P&gt;            CLEAR wa_msglog.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;            wa_msglog-msgid = it_msgtab-msgid.&lt;/P&gt;&lt;P&gt;            wa_msglog-msgno = it_msgtab-msgnr.&lt;/P&gt;&lt;P&gt;            wa_msglog-msgty = it_msgtab-msgtyp.&lt;/P&gt;&lt;P&gt;            wa_msglog-msgv1 = it_msgtab-msgv1.&lt;/P&gt;&lt;P&gt;            wa_msglog-msgv2 = it_msgtab-msgv2.&lt;/P&gt;&lt;P&gt;            wa_msglog-msgv3 = it_msgtab-msgv3.&lt;/P&gt;&lt;P&gt;            wa_msglog-msgv4 = it_msgtab-msgv4.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;            CALL FUNCTION 'MESSAGE_TEXTS_READ'&lt;/P&gt;&lt;P&gt;              EXPORTING&lt;/P&gt;&lt;P&gt;                msg_log_imp  = wa_msglog&lt;/P&gt;&lt;P&gt;              IMPORTING&lt;/P&gt;&lt;P&gt;                msg_text_exp = wa_msgtxt.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;            IF sy-subrc = 0.&lt;/P&gt;&lt;P&gt;              CLEAR it_errmat.&lt;/P&gt;&lt;P&gt;              it_errmat-recno = lv_count.&lt;/P&gt;&lt;P&gt;              it_errmat-kschl = it_extract-kschl2.&lt;/P&gt;&lt;P&gt;              it_errmat-matnr = it_extract-matnr.&lt;/P&gt;&lt;P&gt;              it_errmat-status = text-021.&lt;/P&gt;&lt;P&gt;              it_errmat-bdcmsg = wa_msgtxt-msgtx.&lt;/P&gt;&lt;P&gt;              APPEND it_errmat.&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;        COMMIT WORK AND WAIT.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;*second record in case 4&lt;/P&gt;&lt;P&gt;        PERFORM new_record_a703_2.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;************&lt;/P&gt;&lt;P&gt;*case 5&lt;/P&gt;&lt;P&gt;************&lt;/P&gt;&lt;P&gt;      ELSEIF lv_tempdat1 &amp;lt; a703-datab AND&lt;/P&gt;&lt;P&gt;              lv_tempdat2 &amp;lt; a703-datab.&lt;/P&gt;&lt;P&gt;        PERFORM new_record_a703_2.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;************&lt;/P&gt;&lt;P&gt;*case 6&lt;/P&gt;&lt;P&gt;************&lt;/P&gt;&lt;P&gt;      ELSEIF lv_tempdat1 &amp;gt; a703-datab AND&lt;/P&gt;&lt;P&gt;              lv_tempdat2 &amp;gt; a703-datab.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;        PERFORM new_record_a703_2.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;****************&lt;/P&gt;&lt;P&gt;*Case 7&lt;/P&gt;&lt;P&gt;****************&lt;/P&gt;&lt;P&gt;      ELSEIF lv_tempdat1 = a703-datab AND&lt;/P&gt;&lt;P&gt;           lv_tempdat2 &amp;lt; a703-datbi.&lt;/P&gt;&lt;P&gt;        REFRESH bdcdata.&lt;/P&gt;&lt;P&gt;        CLEAR bdcdata.&lt;/P&gt;&lt;P&gt;        CLEAR lv_datab.&lt;/P&gt;&lt;P&gt;        PERFORM bdc_dynpro      USING 'SAPMV13A' '0100'.&lt;/P&gt;&lt;P&gt;        PERFORM bdc_field       USING 'BDC_CURSOR' 'RV13A-KSCHL'.&lt;/P&gt;&lt;P&gt;        PERFORM bdc_field       USING 'BDC_OKCODE' '=ANTA'.&lt;/P&gt;&lt;P&gt;        PERFORM bdc_field       USING 'RV13A-KSCHL' it_extract-kschl1.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;        PERFORM bdc_dynpro      USING 'SAPLV14A' '0100'.&lt;/P&gt;&lt;P&gt;        PERFORM bdc_field       USING 'BDC_CURSOR' 'RV130-SELKZ(02)'.&lt;/P&gt;&lt;P&gt;        PERFORM bdc_field       USING 'BDC_OKCODE' '=WEIT'.&lt;/P&gt;&lt;P&gt;        PERFORM bdc_field       USING 'RV130-SELKZ(01)'  'X'.&lt;/P&gt;&lt;P&gt;        PERFORM bdc_field       USING 'RV130-SELKZ(02)'  ''.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;        PERFORM bdc_dynpro      USING 'RV13A703' '1000'.&lt;/P&gt;&lt;P&gt;        PERFORM bdc_field       USING 'BDC_CURSOR' 'F004'.&lt;/P&gt;&lt;P&gt;        PERFORM bdc_field       USING 'BDC_OKCODE' '=ONLI'.&lt;/P&gt;&lt;P&gt;        PERFORM bdc_field       USING 'F001' it_extract-vkorg.&lt;/P&gt;&lt;P&gt;        PERFORM bdc_field       USING 'F002' it_extract-vtweg.&lt;/P&gt;&lt;P&gt;        PERFORM bdc_field       USING 'F003' it_extract-spart.&lt;/P&gt;&lt;P&gt;        PERFORM bdc_field       USING 'F004' it_extract-land1.&lt;/P&gt;&lt;P&gt;        PERFORM bdc_field       USING 'F005-LOW' it_extract-matnr.&lt;/P&gt;&lt;P&gt;        CLEAR lv_sydate.&lt;/P&gt;&lt;P&gt;        lv_sydate(2) = sy-datum+6(2).&lt;/P&gt;&lt;P&gt;        lv_sydate&lt;EM&gt;2(2) = sy-datum&lt;/EM&gt;4(2).&lt;/P&gt;&lt;P&gt;        lv_sydate+4(4) = sy-datum(4).&lt;/P&gt;&lt;P&gt;        PERFORM bdc_field       USING 'SEL_DATE' lv_sydate.&lt;/P&gt;&lt;P&gt;        CLEAR lv_sydate.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;        PERFORM bdc_dynpro      USING 'SAPMV13A' '1703'.&lt;/P&gt;&lt;P&gt;        PERFORM bdc_field       USING 'BDC_CURSOR' 'RV13A-DATBI(01)'.&lt;/P&gt;&lt;P&gt;        PERFORM bdc_field       USING 'BDC_OKCODE' '=SICH'.&lt;/P&gt;&lt;P&gt;        lv_datab = lv_tempdat1.&lt;/P&gt;&lt;P&gt;        ADD 1 TO lv_datab.&lt;/P&gt;&lt;P&gt;        CLEAR lv_tempdat.&lt;/P&gt;&lt;P&gt;        lv_tempdat(2) = lv_datab+6(2).&lt;/P&gt;&lt;P&gt;        lv_tempdat&lt;EM&gt;2(2) = lv_datab&lt;/EM&gt;4(2).&lt;/P&gt;&lt;P&gt;        lv_tempdat+4(4) = lv_datab(4).&lt;/P&gt;&lt;P&gt;        lv_datab = lv_tempdat.&lt;/P&gt;&lt;P&gt;        CLEAR lv_tempdat.&lt;/P&gt;&lt;P&gt;        PERFORM bdc_field       USING 'RV13A-DATAB(01)' lv_datab.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;        REFRESH it_msgtab.&lt;/P&gt;&lt;P&gt;        CALL TRANSACTION 'VK12'&lt;/P&gt;&lt;P&gt;                          USING bdcdata&lt;/P&gt;&lt;P&gt;                          MODE 'N'&lt;/P&gt;&lt;P&gt;                          UPDATE 'S'&lt;/P&gt;&lt;P&gt;                          MESSAGES INTO it_msgtab.&lt;/P&gt;&lt;P&gt;        IF sy-subrc = 0.&lt;/P&gt;&lt;P&gt;          ADD 1 TO w_data_bdc_recs.&lt;/P&gt;&lt;P&gt;          DELETE ADJACENT DUPLICATES FROM it_msgtab.&lt;/P&gt;&lt;P&gt;          LOOP AT it_msgtab.&lt;/P&gt;&lt;P&gt;            CLEAR wa_msglog.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;            wa_msglog-msgid = it_msgtab-msgid.&lt;/P&gt;&lt;P&gt;            wa_msglog-msgno = it_msgtab-msgnr.&lt;/P&gt;&lt;P&gt;            wa_msglog-msgty = it_msgtab-msgtyp.&lt;/P&gt;&lt;P&gt;            wa_msglog-msgv1 = it_msgtab-msgv1.&lt;/P&gt;&lt;P&gt;            wa_msglog-msgv2 = it_msgtab-msgv2.&lt;/P&gt;&lt;P&gt;            wa_msglog-msgv3 = it_msgtab-msgv3.&lt;/P&gt;&lt;P&gt;            wa_msglog-msgv4 = it_msgtab-msgv4.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;            CALL FUNCTION 'MESSAGE_TEXTS_READ'&lt;/P&gt;&lt;P&gt;              EXPORTING&lt;/P&gt;&lt;P&gt;                msg_log_imp  = wa_msglog&lt;/P&gt;&lt;P&gt;              IMPORTING&lt;/P&gt;&lt;P&gt;                msg_text_exp = wa_msgtxt.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;            IF sy-subrc = 0.&lt;/P&gt;&lt;P&gt;              CLEAR it_errmat.&lt;/P&gt;&lt;P&gt;              it_errmat-recno = lv_count.&lt;/P&gt;&lt;P&gt;              it_errmat-kschl = it_extract-kschl1.&lt;/P&gt;&lt;P&gt;              it_errmat-matnr = it_extract-matnr.&lt;/P&gt;&lt;P&gt;              it_errmat-status = text-020.&lt;/P&gt;&lt;P&gt;              it_errmat-bdcmsg = wa_msgtxt-msgtx.&lt;/P&gt;&lt;P&gt;              APPEND it_errmat.&lt;/P&gt;&lt;P&gt;            ENDIF.&lt;/P&gt;&lt;P&gt;          ENDLOOP.&lt;/P&gt;&lt;P&gt;        ELSE.&lt;/P&gt;&lt;P&gt;          LOOP AT it_msgtab.&lt;/P&gt;&lt;P&gt;            CLEAR wa_msglog.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;            wa_msglog-msgid = it_msgtab-msgid.&lt;/P&gt;&lt;P&gt;            wa_msglog-msgno = it_msgtab-msgnr.&lt;/P&gt;&lt;P&gt;            wa_msglog-msgty = it_msgtab-msgtyp.&lt;/P&gt;&lt;P&gt;            wa_msglog-msgv1 = it_msgtab-msgv1.&lt;/P&gt;&lt;P&gt;            wa_msglog-msgv2 = it_msgtab-msgv2.&lt;/P&gt;&lt;P&gt;            wa_msglog-msgv3 = it_msgtab-msgv3.&lt;/P&gt;&lt;P&gt;            wa_msglog-msgv4 = it_msgtab-msgv4.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;            CALL FUNCTION 'MESSAGE_TEXTS_READ'&lt;/P&gt;&lt;P&gt;              EXPORTING&lt;/P&gt;&lt;P&gt;                msg_log_imp  = wa_msglog&lt;/P&gt;&lt;P&gt;              IMPORTING&lt;/P&gt;&lt;P&gt;                msg_text_exp = wa_msgtxt.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;            IF sy-subrc = 0.&lt;/P&gt;&lt;P&gt;              CLEAR it_errmat.&lt;/P&gt;&lt;P&gt;              it_errmat-recno = lv_count.&lt;/P&gt;&lt;P&gt;              it_errmat-kschl = it_extract-kschl1.&lt;/P&gt;&lt;P&gt;              it_errmat-matnr = it_extract-matnr.&lt;/P&gt;&lt;P&gt;              it_errmat-status = text-021.&lt;/P&gt;&lt;P&gt;              it_errmat-bdcmsg = wa_msgtxt-msgtx.&lt;/P&gt;&lt;P&gt;              APPEND it_errmat.&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;        COMMIT WORK AND WAIT.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;*second record in case 7&lt;/P&gt;&lt;P&gt;        PERFORM new_record_a703.&lt;/P&gt;&lt;P&gt;****************&lt;/P&gt;&lt;P&gt;*Case 8&lt;/P&gt;&lt;P&gt;****************&lt;/P&gt;&lt;P&gt;      ELSEIF lv_tempdat1 &amp;lt; a703-datab AND&lt;/P&gt;&lt;P&gt;             lv_tempdat2 = a703-datbi.&lt;/P&gt;&lt;P&gt;        REFRESH bdcdata.&lt;/P&gt;&lt;P&gt;        CLEAR bdcdata.&lt;/P&gt;&lt;P&gt;        CLEAR lv_datab.&lt;/P&gt;&lt;P&gt;        PERFORM bdc_dynpro      USING 'SAPMV13A' '0100'.&lt;/P&gt;&lt;P&gt;        PERFORM bdc_field       USING 'BDC_CURSOR' 'RV13A-KSCHL'.&lt;/P&gt;&lt;P&gt;        PERFORM bdc_field       USING 'BDC_OKCODE' '=ANTA'.&lt;/P&gt;&lt;P&gt;        PERFORM bdc_field       USING 'RV13A-KSCHL' it_extract-kschl1.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;        PERFORM bdc_dynpro      USING 'SAPLV14A' '0100'.&lt;/P&gt;&lt;P&gt;        PERFORM bdc_field       USING 'BDC_CURSOR' 'RV130-SELKZ(02)'.&lt;/P&gt;&lt;P&gt;        PERFORM bdc_field       USING 'BDC_OKCODE' '=WEIT'.&lt;/P&gt;&lt;P&gt;        PERFORM bdc_field       USING 'RV130-SELKZ(01)'  'X'.&lt;/P&gt;&lt;P&gt;        PERFORM bdc_field       USING 'RV130-SELKZ(02)'  ''.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;        PERFORM bdc_dynpro      USING 'RV13A703' '1000'.&lt;/P&gt;&lt;P&gt;        PERFORM bdc_field       USING 'BDC_CURSOR' 'F004'.&lt;/P&gt;&lt;P&gt;        PERFORM bdc_field       USING 'BDC_OKCODE' '=ONLI'.&lt;/P&gt;&lt;P&gt;        PERFORM bdc_field       USING 'F001' it_extract-vkorg.&lt;/P&gt;&lt;P&gt;        PERFORM bdc_field       USING 'F002' it_extract-vtweg.&lt;/P&gt;&lt;P&gt;        PERFORM bdc_field       USING 'F003' it_extract-spart.&lt;/P&gt;&lt;P&gt;        PERFORM bdc_field       USING 'F004' it_extract-land1.&lt;/P&gt;&lt;P&gt;        PERFORM bdc_field       USING 'F005-LOW' it_extract-matnr.&lt;/P&gt;&lt;P&gt;        CLEAR lv_sydate.&lt;/P&gt;&lt;P&gt;        lv_sydate(2) = sy-datum+6(2).&lt;/P&gt;&lt;P&gt;        lv_sydate&lt;EM&gt;2(2) = sy-datum&lt;/EM&gt;4(2).&lt;/P&gt;&lt;P&gt;        lv_sydate+4(4) = sy-datum(4).&lt;/P&gt;&lt;P&gt;        PERFORM bdc_field       USING 'SEL_DATE' lv_sydate.&lt;/P&gt;&lt;P&gt;        CLEAR lv_sydate.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;        PERFORM bdc_dynpro      USING 'SAPMV13A' '1703'.&lt;/P&gt;&lt;P&gt;        PERFORM bdc_field       USING 'BDC_CURSOR' 'RV13A-DATBI(01)'.&lt;/P&gt;&lt;P&gt;        PERFORM bdc_field       USING 'BDC_OKCODE' '=SICH'.&lt;/P&gt;&lt;P&gt;        lv_datab = lv_tempdat1.&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;       ADD 1 TO lv_datab.&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;        CLEAR lv_tempdat.&lt;/P&gt;&lt;P&gt;        lv_tempdat(2) = lv_datab+6(2).&lt;/P&gt;&lt;P&gt;        lv_tempdat&lt;EM&gt;2(2) = lv_datab&lt;/EM&gt;4(2).&lt;/P&gt;&lt;P&gt;        lv_tempdat+4(4) = lv_datab(4).&lt;/P&gt;&lt;P&gt;        lv_datab = lv_tempdat.&lt;/P&gt;&lt;P&gt;        CLEAR lv_tempdat.&lt;/P&gt;&lt;P&gt;        PERFORM bdc_field       USING 'RV13A-DATAB(01)' lv_datab.&lt;/P&gt;&lt;P&gt;        PERFORM bdc_field       USING 'BDC_OKCODE' '=SICH'.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;        REFRESH it_msgtab.&lt;/P&gt;&lt;P&gt;        CALL TRANSACTION 'VK12'&lt;/P&gt;&lt;P&gt;                          USING bdcdata&lt;/P&gt;&lt;P&gt;                          MODE 'N'&lt;/P&gt;&lt;P&gt;                          UPDATE 'S'&lt;/P&gt;&lt;P&gt;                          MESSAGES INTO it_msgtab.&lt;/P&gt;&lt;P&gt;        IF sy-subrc = 0.&lt;/P&gt;&lt;P&gt;          ADD 1 TO w_data_bdc_recs.&lt;/P&gt;&lt;P&gt;          DELETE ADJACENT DUPLICATES FROM it_msgtab.&lt;/P&gt;&lt;P&gt;          LOOP AT it_msgtab.&lt;/P&gt;&lt;P&gt;            CLEAR wa_msglog.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;            wa_msglog-msgid = it_msgtab-msgid.&lt;/P&gt;&lt;P&gt;            wa_msglog-msgno = it_msgtab-msgnr.&lt;/P&gt;&lt;P&gt;            wa_msglog-msgty = it_msgtab-msgtyp.&lt;/P&gt;&lt;P&gt;            wa_msglog-msgv1 = it_msgtab-msgv1.&lt;/P&gt;&lt;P&gt;            wa_msglog-msgv2 = it_msgtab-msgv2.&lt;/P&gt;&lt;P&gt;            wa_msglog-msgv3 = it_msgtab-msgv3.&lt;/P&gt;&lt;P&gt;            wa_msglog-msgv4 = it_msgtab-msgv4.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;            CALL FUNCTION 'MESSAGE_TEXTS_READ'&lt;/P&gt;&lt;P&gt;              EXPORTING&lt;/P&gt;&lt;P&gt;                msg_log_imp  = wa_msglog&lt;/P&gt;&lt;P&gt;              IMPORTING&lt;/P&gt;&lt;P&gt;                msg_text_exp = wa_msgtxt.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;            IF sy-subrc = 0.&lt;/P&gt;&lt;P&gt;              CLEAR it_errmat.&lt;/P&gt;&lt;P&gt;              it_errmat-recno = lv_count.&lt;/P&gt;&lt;P&gt;              it_errmat-kschl = it_extract-kschl1.&lt;/P&gt;&lt;P&gt;              it_errmat-matnr = it_extract-matnr.&lt;/P&gt;&lt;P&gt;              it_errmat-status = text-020.&lt;/P&gt;&lt;P&gt;              it_errmat-bdcmsg = wa_msgtxt-msgtx.&lt;/P&gt;&lt;P&gt;              APPEND it_errmat.&lt;/P&gt;&lt;P&gt;            ENDIF.&lt;/P&gt;&lt;P&gt;          ENDLOOP.&lt;/P&gt;&lt;P&gt;        ELSE.&lt;/P&gt;&lt;P&gt;          LOOP AT it_msgtab.&lt;/P&gt;&lt;P&gt;            CLEAR wa_msglog.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;            wa_msglog-msgid = it_msgtab-msgid.&lt;/P&gt;&lt;P&gt;            wa_msglog-msgno = it_msgtab-msgnr.&lt;/P&gt;&lt;P&gt;            wa_msglog-msgty = it_msgtab-msgtyp.&lt;/P&gt;&lt;P&gt;            wa_msglog-msgv1 = it_msgtab-msgv1.&lt;/P&gt;&lt;P&gt;            wa_msglog-msgv2 = it_msgtab-msgv2.&lt;/P&gt;&lt;P&gt;            wa_msglog-msgv3 = it_msgtab-msgv3.&lt;/P&gt;&lt;P&gt;            wa_msglog-msgv4 = it_msgtab-msgv4.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;            CALL FUNCTION 'MESSAGE_TEXTS_READ'&lt;/P&gt;&lt;P&gt;              EXPORTING&lt;/P&gt;&lt;P&gt;                msg_log_imp  = wa_msglog&lt;/P&gt;&lt;P&gt;              IMPORTING&lt;/P&gt;&lt;P&gt;                msg_text_exp = wa_msgtxt.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;            IF sy-subrc = 0.&lt;/P&gt;&lt;P&gt;              CLEAR it_errmat.&lt;/P&gt;&lt;P&gt;              it_errmat-recno = lv_count.&lt;/P&gt;&lt;P&gt;              it_errmat-kschl = it_extract-kschl1.&lt;/P&gt;&lt;P&gt;              it_errmat-matnr = it_extract-matnr.&lt;/P&gt;&lt;P&gt;              it_errmat-status = text-021.&lt;/P&gt;&lt;P&gt;              it_errmat-bdcmsg = wa_msgtxt-msgtx.&lt;/P&gt;&lt;P&gt;              APPEND it_errmat.&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;        COMMIT WORK AND WAIT.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;*second record in case 8&lt;/P&gt;&lt;P&gt;        PERFORM new_record_a703.&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;      CLEAR: lv_tempdat1, lv_tempdat2.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;*Totally new record.&lt;/P&gt;&lt;P&gt;      REFRESH bdcdata.&lt;/P&gt;&lt;P&gt;      CLEAR bdcdata.&lt;/P&gt;&lt;P&gt;      PERFORM bdc_dynpro      USING 'SAPMV13A' '0100'.&lt;/P&gt;&lt;P&gt;      PERFORM bdc_field       USING 'BDC_CURSOR' 'RV13A-KSCHL'.&lt;/P&gt;&lt;P&gt;      PERFORM bdc_field       USING 'BDC_OKCODE' '=ANTA'.&lt;/P&gt;&lt;P&gt;      PERFORM bdc_field       USING 'RV13A-KSCHL' it_extract-kschl2.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;      PERFORM bdc_dynpro      USING 'SAPLV14A' '0100'.&lt;/P&gt;&lt;P&gt;      PERFORM bdc_field       USING 'BDC_CURSOR' 'RV130-SELKZ(01)'.&lt;/P&gt;&lt;P&gt;      PERFORM bdc_field       USING 'BDC_OKCODE' '=WEIT'.&lt;/P&gt;&lt;P&gt;      PERFORM bdc_field       USING 'RV130-SELKZ(01)'  'X'.&lt;/P&gt;&lt;P&gt;      PERFORM bdc_field       USING 'RV130-SELKZ(02)'  ''.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;      PERFORM bdc_dynpro      USING 'RV13A703' '1000'.&lt;/P&gt;&lt;P&gt;      PERFORM bdc_field       USING 'BDC_CURSOR' 'F004'.&lt;/P&gt;&lt;P&gt;      PERFORM bdc_field       USING 'BDC_OKCODE' '=ONLI'.&lt;/P&gt;&lt;P&gt;      PERFORM bdc_field       USING 'F001' it_extract-vkorg.&lt;/P&gt;&lt;P&gt;      PERFORM bdc_field       USING 'F002' it_extract-vtweg.&lt;/P&gt;&lt;P&gt;      PERFORM bdc_field       USING 'F003' it_extract-spart.&lt;/P&gt;&lt;P&gt;      PERFORM bdc_field       USING 'F004' it_extract-land1.&lt;/P&gt;&lt;P&gt;      PERFORM bdc_field       USING 'F005-LOW' it_extract-matnr.&lt;/P&gt;&lt;P&gt;      CLEAR lv_sydate.&lt;/P&gt;&lt;P&gt;      lv_sydate(2) = sy-datum+6(2).&lt;/P&gt;&lt;P&gt;      lv_sydate&lt;EM&gt;2(2) = sy-datum&lt;/EM&gt;4(2).&lt;/P&gt;&lt;P&gt;      lv_sydate+4(4) = sy-datum(4).&lt;/P&gt;&lt;P&gt;      PERFORM bdc_field       USING 'SEL_DATE' lv_sydate.&lt;/P&gt;&lt;P&gt;      CLEAR lv_sydate.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;      PERFORM bdc_dynpro      USING 'SAPMV13A' '1703'.&lt;/P&gt;&lt;P&gt;      PERFORM bdc_field       USING 'BDC_CURSOR' 'RV13A-DATBI(01)'.&lt;/P&gt;&lt;P&gt;      PERFORM bdc_field       USING 'BDC_OKCODE' '=SICH'.&lt;/P&gt;&lt;P&gt;      PERFORM bdc_field       USING 'KOMG-VKORG' it_extract-vkorg.&lt;/P&gt;&lt;P&gt;      PERFORM bdc_field       USING 'KOMG-VTWEG' it_extract-vtweg.&lt;/P&gt;&lt;P&gt;      PERFORM bdc_field       USING 'KOMG-SPART' it_extract-spart.&lt;/P&gt;&lt;P&gt;      PERFORM bdc_field       USING 'KOMG-LAND1' it_extract-land1.&lt;/P&gt;&lt;P&gt;      PERFORM bdc_field       USING 'KOMG-MATNR(01)' it_extract-matnr.&lt;/P&gt;&lt;P&gt;      CLEAR lv_amnt.&lt;/P&gt;&lt;P&gt;      MOVE it_extract-kbetr4 TO lv_amnt.&lt;/P&gt;&lt;P&gt;      REPLACE '.' WITH ',' INTO lv_amnt.&lt;/P&gt;&lt;P&gt;      CONDENSE lv_amnt NO-GAPS.&lt;/P&gt;&lt;P&gt;      PERFORM bdc_field       USING 'KONP-KBETR(01)' lv_amnt.&lt;/P&gt;&lt;P&gt;      CLEAR lv_amnt.&lt;/P&gt;&lt;P&gt;      PERFORM bdc_field       USING 'KONP-KONWA(01)' 'EUR'.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;      IF NOT it_extract-datab IS INITIAL.&lt;/P&gt;&lt;P&gt;       PERFORM bdc_field       USING 'RV13A-DATAB(01)' it_extract-datab.&lt;/P&gt;&lt;P&gt;      ELSE.&lt;/P&gt;&lt;P&gt;        PERFORM bdc_field       USING 'RV13A-DATAB(01)' sy-datum.&lt;/P&gt;&lt;P&gt;      ENDIF.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;      IF NOT it_extract-datbi IS INITIAL.&lt;/P&gt;&lt;P&gt;       PERFORM bdc_field       USING 'RV13A-DATBI(01)' it_extract-datbi.&lt;/P&gt;&lt;P&gt;      ELSE.&lt;/P&gt;&lt;P&gt;        PERFORM bdc_field       USING 'RV13A-DATBI(01)' '31.12.9999'.&lt;/P&gt;&lt;P&gt;      ENDIF.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;      REFRESH it_msgtab.&lt;/P&gt;&lt;P&gt;      CALL TRANSACTION 'VK12'&lt;/P&gt;&lt;P&gt;                        USING bdcdata&lt;/P&gt;&lt;P&gt;                        MODE 'A'&lt;/P&gt;&lt;P&gt;                        UPDATE 'S'&lt;/P&gt;&lt;P&gt;                        MESSAGES INTO it_msgtab.&lt;/P&gt;&lt;P&gt;      IF sy-subrc = 0.&lt;/P&gt;&lt;P&gt;        ADD 1 TO w_data_bdc_recs.&lt;/P&gt;&lt;P&gt;        DELETE ADJACENT DUPLICATES FROM it_msgtab.&lt;/P&gt;&lt;P&gt;        LOOP AT it_msgtab.&lt;/P&gt;&lt;P&gt;          CLEAR wa_msglog.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;          wa_msglog-msgid = it_msgtab-msgid.&lt;/P&gt;&lt;P&gt;          wa_msglog-msgno = it_msgtab-msgnr.&lt;/P&gt;&lt;P&gt;          wa_msglog-msgty = it_msgtab-msgtyp.&lt;/P&gt;&lt;P&gt;          wa_msglog-msgv1 = it_msgtab-msgv1.&lt;/P&gt;&lt;P&gt;          wa_msglog-msgv2 = it_msgtab-msgv2.&lt;/P&gt;&lt;P&gt;          wa_msglog-msgv3 = it_msgtab-msgv3.&lt;/P&gt;&lt;P&gt;          wa_msglog-msgv4 = it_msgtab-msgv4.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;          CALL FUNCTION 'MESSAGE_TEXTS_READ'&lt;/P&gt;&lt;P&gt;            EXPORTING&lt;/P&gt;&lt;P&gt;              msg_log_imp  = wa_msglog&lt;/P&gt;&lt;P&gt;            IMPORTING&lt;/P&gt;&lt;P&gt;              msg_text_exp = wa_msgtxt.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;          IF sy-subrc = 0.&lt;/P&gt;&lt;P&gt;            CLEAR it_errmat.&lt;/P&gt;&lt;P&gt;            it_errmat-recno = lv_count.&lt;/P&gt;&lt;P&gt;            it_errmat-kschl = it_extract-kschl2.&lt;/P&gt;&lt;P&gt;            it_errmat-matnr = it_extract-matnr.&lt;/P&gt;&lt;P&gt;            it_errmat-status = text-020.&lt;/P&gt;&lt;P&gt;            it_errmat-bdcmsg = wa_msgtxt-msgtx.&lt;/P&gt;&lt;P&gt;            APPEND it_errmat.&lt;/P&gt;&lt;P&gt;          ENDIF.&lt;/P&gt;&lt;P&gt;        ENDLOOP.&lt;/P&gt;&lt;P&gt;      ELSE.&lt;/P&gt;&lt;P&gt;        LOOP AT it_msgtab.&lt;/P&gt;&lt;P&gt;          CLEAR wa_msglog.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;          wa_msglog-msgid = it_msgtab-msgid.&lt;/P&gt;&lt;P&gt;          wa_msglog-msgno = it_msgtab-msgnr.&lt;/P&gt;&lt;P&gt;          wa_msglog-msgty = it_msgtab-msgtyp.&lt;/P&gt;&lt;P&gt;          wa_msglog-msgv1 = it_msgtab-msgv1.&lt;/P&gt;&lt;P&gt;          wa_msglog-msgv2 = it_msgtab-msgv2.&lt;/P&gt;&lt;P&gt;          wa_msglog-msgv3 = it_msgtab-msgv3.&lt;/P&gt;&lt;P&gt;          wa_msglog-msgv4 = it_msgtab-msgv4.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;          CALL FUNCTION 'MESSAGE_TEXTS_READ'&lt;/P&gt;&lt;P&gt;            EXPORTING&lt;/P&gt;&lt;P&gt;              msg_log_imp  = wa_msglog&lt;/P&gt;&lt;P&gt;            IMPORTING&lt;/P&gt;&lt;P&gt;              msg_text_exp = wa_msgtxt.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;          IF sy-subrc = 0.&lt;/P&gt;&lt;P&gt;            CLEAR it_errmat.&lt;/P&gt;&lt;P&gt;            it_errmat-recno = lv_count.&lt;/P&gt;&lt;P&gt;            it_errmat-kschl = it_extract-kschl2.&lt;/P&gt;&lt;P&gt;            it_errmat-matnr = it_extract-matnr.&lt;/P&gt;&lt;P&gt;            it_errmat-status = text-021.&lt;/P&gt;&lt;P&gt;            it_errmat-bdcmsg = wa_msgtxt-msgtx.&lt;/P&gt;&lt;P&gt;            APPEND it_errmat.&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;      COMMIT WORK AND WAIT.&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;ENDFORM.                                                    " bdc_703&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  sim_log&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 sim_log .&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  CLEAR lv_count.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  LOOP AT it_extract.&lt;/P&gt;&lt;P&gt;    CLEAR it_output.&lt;/P&gt;&lt;P&gt;    CLEAR lv_newrec.&lt;/P&gt;&lt;P&gt;    CLEAR lv_datab.&lt;/P&gt;&lt;P&gt;    CLEAR lv_singrec.&lt;/P&gt;&lt;P&gt;    CLEAR it_date.&lt;/P&gt;&lt;P&gt;    REFRESH it_date.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;    lv_count = lv_count + 1.&lt;/P&gt;&lt;P&gt;*For condition ZKDK&lt;/P&gt;&lt;P&gt;    IF NOT it_extract-kschl1 IS INITIAL.&lt;/P&gt;&lt;P&gt;      it_output-kschl1 = it_extract-kschl1.&lt;/P&gt;&lt;P&gt;      IF it_extract-land1 IS INITIAL.&lt;/P&gt;&lt;P&gt;        it_output-condtab = 'A004'.&lt;/P&gt;&lt;P&gt;        SELECT SINGLE * FROM a004&lt;/P&gt;&lt;P&gt;                            WHERE kappl = 'V'&lt;/P&gt;&lt;P&gt;                            AND   kschl = it_extract-kschl1&lt;/P&gt;&lt;P&gt;                            AND   vkorg = it_extract-vkorg&lt;/P&gt;&lt;P&gt;                            AND   vtweg = it_extract-vtweg&lt;/P&gt;&lt;P&gt;                            AND   matnr = it_extract-matnr&lt;/P&gt;&lt;P&gt;                            AND   datbi &amp;gt;= sy-datum&lt;/P&gt;&lt;P&gt;                            AND   datab &amp;lt;= sy-datum.&lt;/P&gt;&lt;P&gt;        IF sy-subrc &amp;lt;&amp;gt; 0.&lt;/P&gt;&lt;P&gt;          lv_newrec = 'X'.&lt;/P&gt;&lt;P&gt;        ELSE.&lt;/P&gt;&lt;P&gt;          CLEAR: lv_tempdat1, lv_tempdat2.&lt;/P&gt;&lt;P&gt;          lv_tempdat1+6(2) = it_extract-datab(2).&lt;/P&gt;&lt;P&gt;          lv_tempdat1&lt;EM&gt;4(2) = it_extract-datab&lt;/EM&gt;2(2).&lt;/P&gt;&lt;P&gt;          lv_tempdat1(4) = it_extract-datab+4(4).&lt;/P&gt;&lt;P&gt;          lv_tempdat2+6(2) = it_extract-datbi(2).&lt;/P&gt;&lt;P&gt;          lv_tempdat2&lt;EM&gt;4(2) = it_extract-datbi&lt;/EM&gt;2(2).&lt;/P&gt;&lt;P&gt;          lv_tempdat2(4) = it_extract-datbi+4(4).&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;        case 1&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;          IF a004-datab = lv_tempdat1 AND a004-datbi = lv_tempdat2.&lt;/P&gt;&lt;P&gt;            lv_singrec = 'X'.&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;        case 2&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;          ELSEIF lv_tempdat1 &amp;gt; a004-datab AND&lt;/P&gt;&lt;P&gt;                  lv_tempdat1 &amp;lt; a004-datbi AND&lt;/P&gt;&lt;P&gt;                   lv_tempdat2 &amp;gt;= a004-datbi.&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;          first record&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;            it_date-tabix = sy-tabix.&lt;/P&gt;&lt;P&gt;            it_date-kschl = it_extract-kschl1.&lt;/P&gt;&lt;P&gt;            it_date-start+4(4) = a004-datab(4).&lt;/P&gt;&lt;P&gt;            it_date-start&lt;EM&gt;2(2) = a004-datab&lt;/EM&gt;4(2).&lt;/P&gt;&lt;P&gt;            it_date-start(2) = a004-datab+6(2).&lt;/P&gt;&lt;P&gt;            lv_datbi = lv_tempdat1.&lt;/P&gt;&lt;P&gt;            SUBTRACT 1 FROM lv_datbi.&lt;/P&gt;&lt;P&gt;            it_date-end+4(4) = lv_datbi(4).&lt;/P&gt;&lt;P&gt;            it_date-end&lt;EM&gt;2(2) = lv_datbi&lt;/EM&gt;4(2).&lt;/P&gt;&lt;P&gt;            it_date-end(2) = lv_datbi+6(2).&lt;/P&gt;&lt;P&gt;            APPEND it_date.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;          second record&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;            it_date-tabix = sy-tabix.&lt;/P&gt;&lt;P&gt;            it_date-kschl = it_extract-kschl1.&lt;/P&gt;&lt;P&gt;            it_date-start = it_extract-datab.&lt;/P&gt;&lt;P&gt;            it_date-end = it_extract-datbi.&lt;/P&gt;&lt;P&gt;            APPEND it_date.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;        case 3&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;          ELSEIF lv_tempdat1 &amp;gt; a004-datab AND&lt;/P&gt;&lt;P&gt;                  lv_tempdat1 &amp;lt; a004-datbi AND&lt;/P&gt;&lt;P&gt;                   lv_tempdat2 &amp;lt; a004-datbi.&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;          first record&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;            it_date-tabix = sy-tabix.&lt;/P&gt;&lt;P&gt;            it_date-kschl = it_extract-kschl1.&lt;/P&gt;&lt;P&gt;            it_date-start+4(4) = a004-datab(4).&lt;/P&gt;&lt;P&gt;            it_date-start&lt;EM&gt;2(2) = a004-datab&lt;/EM&gt;4(2).&lt;/P&gt;&lt;P&gt;            it_date-start(2) = a004-datab+6(2).&lt;/P&gt;&lt;P&gt;            lv_datbi = lv_tempdat1.&lt;/P&gt;&lt;P&gt;            SUBTRACT 1 FROM lv_datbi.&lt;/P&gt;&lt;P&gt;            it_date-end+4(4) = lv_datbi(4).&lt;/P&gt;&lt;P&gt;            it_date-end&lt;EM&gt;2(2) = lv_datbi&lt;/EM&gt;4(2).&lt;/P&gt;&lt;P&gt;            it_date-end(2) = lv_datbi+6(2).&lt;/P&gt;&lt;P&gt;            APPEND it_date.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;          second record&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;            it_date-tabix = sy-tabix.&lt;/P&gt;&lt;P&gt;            it_date-kschl = it_extract-kschl1.&lt;/P&gt;&lt;P&gt;            it_date-start = it_extract-datab.&lt;/P&gt;&lt;P&gt;            it_date-end = it_extract-datbi.&lt;/P&gt;&lt;P&gt;            APPEND it_date.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;          third record&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;            it_date-tabix = sy-tabix.&lt;/P&gt;&lt;P&gt;            it_date-kschl = it_extract-kschl1.&lt;/P&gt;&lt;P&gt;            lv_datab = lv_tempdat1.&lt;/P&gt;&lt;P&gt;            ADD 1 TO lv_datab.&lt;/P&gt;&lt;P&gt;            it_date-start+4(4) = lv_datab(4).&lt;/P&gt;&lt;P&gt;            it_date-start&lt;EM&gt;2(2) = lv_datab&lt;/EM&gt;4(2).&lt;/P&gt;&lt;P&gt;            it_date-start(2) = lv_datab+6(2).&lt;/P&gt;&lt;P&gt;            it_date-end+4(4) = a004-datbi(4).&lt;/P&gt;&lt;P&gt;            it_date-end&lt;EM&gt;2(2) = a004-datbi&lt;/EM&gt;4(2).&lt;/P&gt;&lt;P&gt;            it_date-end(2) = a004-datbi+6(2).&lt;/P&gt;&lt;P&gt;            APPEND it_date.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;        case 4&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;          ELSEIF lv_tempdat1 &amp;lt; a004-datab AND&lt;/P&gt;&lt;P&gt;                  lv_tempdat2 &amp;gt; a004-datab AND&lt;/P&gt;&lt;P&gt;                   lv_tempdat2 &amp;lt; a004-datbi.&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;          first record&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;            it_date-tabix = sy-tabix.&lt;/P&gt;&lt;P&gt;            it_date-kschl = it_extract-kschl1.&lt;/P&gt;&lt;P&gt;            it_date-start+4(4) = lv_tempdat1(4).&lt;/P&gt;&lt;P&gt;            it_date-start&lt;EM&gt;2(2) = lv_tempdat1&lt;/EM&gt;4(2).&lt;/P&gt;&lt;P&gt;            it_date-start(2) = lv_tempdat1+6(2).&lt;/P&gt;&lt;P&gt;            it_date-end+4(4) = lv_tempdat2(4).&lt;/P&gt;&lt;P&gt;            it_date-end&lt;EM&gt;2(2) = lv_tempdat2&lt;/EM&gt;4(2).&lt;/P&gt;&lt;P&gt;            it_date-end(2) = lv_tempdat2+6(2).&lt;/P&gt;&lt;P&gt;            APPEND it_date.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;          second record&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;            it_date-tabix = sy-tabix.&lt;/P&gt;&lt;P&gt;            it_date-kschl = it_extract-kschl1.&lt;/P&gt;&lt;P&gt;            lv_datab = lv_tempdat2.&lt;/P&gt;&lt;P&gt;            ADD 1 TO lv_datab.&lt;/P&gt;&lt;P&gt;            it_date-start+4(4) = lv_datab(4).&lt;/P&gt;&lt;P&gt;            it_date-start&lt;EM&gt;2(2) = lv_datab&lt;/EM&gt;4(2).&lt;/P&gt;&lt;P&gt;            it_date-start(2) = lv_datab+6(2).&lt;/P&gt;&lt;P&gt;            it_date-end+4(4) = a004-datbi(4).&lt;/P&gt;&lt;P&gt;            it_date-end&lt;EM&gt;2(2) = a004-datbi&lt;/EM&gt;4(2).&lt;/P&gt;&lt;P&gt;            it_date-end(2) = a004-datbi+6(2).&lt;/P&gt;&lt;P&gt;            APPEND it_date.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;        case 5 &amp;amp; 6&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;          ELSEIF lv_tempdat1 &amp;gt; a004-datbi OR&lt;/P&gt;&lt;P&gt;                  lv_tempdat2 &amp;lt; a004-datab.&lt;/P&gt;&lt;P&gt;            lv_newrec = 'X'.&lt;/P&gt;&lt;P&gt;          ENDIF.&lt;/P&gt;&lt;P&gt;          CLEAR: lv_tempdat1, lv_tempdat2.&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;        it_output-condtab = 'A703'.&lt;/P&gt;&lt;P&gt;        SELECT SINGLE * FROM a703&lt;/P&gt;&lt;P&gt;                            WHERE kappl = 'V'&lt;/P&gt;&lt;P&gt;                            AND   kschl = it_extract-kschl1&lt;/P&gt;&lt;P&gt;                            AND   vkorg = it_extract-vkorg&lt;/P&gt;&lt;P&gt;                            AND   vtweg = it_extract-vtweg&lt;/P&gt;&lt;P&gt;                            AND   spart = it_extract-spart&lt;/P&gt;&lt;P&gt;                            AND   land1 = it_extract-land1&lt;/P&gt;&lt;P&gt;                            AND   matnr = it_extract-matnr&lt;/P&gt;&lt;P&gt;                            AND   datbi &amp;gt;= sy-datum&lt;/P&gt;&lt;P&gt;                            AND   datab &amp;lt;= sy-datum.&lt;/P&gt;&lt;P&gt;        IF sy-subrc &amp;lt;&amp;gt; 0.&lt;/P&gt;&lt;P&gt;          lv_newrec = 'X'.&lt;/P&gt;&lt;P&gt;        ELSE.&lt;/P&gt;&lt;P&gt;          CLEAR: lv_tempdat1, lv_tempdat2.&lt;/P&gt;&lt;P&gt;          lv_tempdat1+6(2) = it_extract-datab(2).&lt;/P&gt;&lt;P&gt;          lv_tempdat1&lt;EM&gt;4(2) = it_extract-datab&lt;/EM&gt;2(2).&lt;/P&gt;&lt;P&gt;          lv_tempdat1(4) = it_extract-datab+4(4).&lt;/P&gt;&lt;P&gt;          lv_tempdat2+6(2) = it_extract-datbi(2).&lt;/P&gt;&lt;P&gt;          lv_tempdat2&lt;EM&gt;4(2) = it_extract-datbi&lt;/EM&gt;2(2).&lt;/P&gt;&lt;P&gt;          lv_tempdat2(4) = it_extract-datbi+4(4).&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;        case 1&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;          IF a703-datab = lv_tempdat1 AND a703-datbi = lv_tempdat2.&lt;/P&gt;&lt;P&gt;            lv_singrec = 'X'.&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;        case 2&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;          ELSEIF lv_tempdat1 &amp;gt; a703-datab AND&lt;/P&gt;&lt;P&gt;                  lv_tempdat1 &amp;lt; a703-datbi AND&lt;/P&gt;&lt;P&gt;                   lv_tempdat2 &amp;gt;= a703-datbi.&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;          first record&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;            it_date-tabix = sy-tabix.&lt;/P&gt;&lt;P&gt;            it_date-kschl = it_extract-kschl1.&lt;/P&gt;&lt;P&gt;            it_date-start+4(4) = a703-datab(4).&lt;/P&gt;&lt;P&gt;            it_date-start&lt;EM&gt;2(2) = a703-datab&lt;/EM&gt;4(2).&lt;/P&gt;&lt;P&gt;            it_date-start(2) = a703-datab+6(2).&lt;/P&gt;&lt;P&gt;            lv_datbi = lv_tempdat1.&lt;/P&gt;&lt;P&gt;            SUBTRACT 1 FROM lv_datbi.&lt;/P&gt;&lt;P&gt;            it_date-end+4(4) = lv_datbi(4).&lt;/P&gt;&lt;P&gt;            it_date-end&lt;EM&gt;2(2) = lv_datbi&lt;/EM&gt;4(2).&lt;/P&gt;&lt;P&gt;            it_date-end(2) = lv_datbi+6(2).&lt;/P&gt;&lt;P&gt;            APPEND it_date.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;          second record&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;            it_date-tabix = sy-tabix.&lt;/P&gt;&lt;P&gt;            it_date-kschl = it_extract-kschl1.&lt;/P&gt;&lt;P&gt;            it_date-start = it_extract-datab.&lt;/P&gt;&lt;P&gt;            it_date-end = it_extract-datbi.&lt;/P&gt;&lt;P&gt;            APPEND it_date.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;        case 3&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;          ELSEIF lv_tempdat1 &amp;gt; a703-datab AND&lt;/P&gt;&lt;P&gt;                  lv_tempdat1 &amp;lt; a703-datbi AND&lt;/P&gt;&lt;P&gt;                   lv_tempdat2 &amp;lt; a703-datbi.&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;          first record&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;            it_date-tabix = sy-tabix.&lt;/P&gt;&lt;P&gt;            it_date-kschl = it_extract-kschl1.&lt;/P&gt;&lt;P&gt;            it_date-start+4(4) = a703-datab(4).&lt;/P&gt;&lt;P&gt;            it_date-start&lt;EM&gt;2(2) = a703-datab&lt;/EM&gt;4(2).&lt;/P&gt;&lt;P&gt;            it_date-start(2) = a703-datab+6(2).&lt;/P&gt;&lt;P&gt;            lv_datbi = lv_tempdat1.&lt;/P&gt;&lt;P&gt;            SUBTRACT 1 FROM lv_datbi.&lt;/P&gt;&lt;P&gt;            it_date-end+4(4) = lv_datbi(4).&lt;/P&gt;&lt;P&gt;            it_date-end&lt;EM&gt;2(2) = lv_datbi&lt;/EM&gt;4(2).&lt;/P&gt;&lt;P&gt;            it_date-end(2) = lv_datbi+6(2).&lt;/P&gt;&lt;P&gt;            APPEND it_date.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;          second record&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;            it_date-tabix = sy-tabix.&lt;/P&gt;&lt;P&gt;            it_date-kschl = it_extract-kschl1.&lt;/P&gt;&lt;P&gt;            it_date-start = it_extract-datab.&lt;/P&gt;&lt;P&gt;            it_date-end = it_extract-datbi.&lt;/P&gt;&lt;P&gt;            APPEND it_date.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;          third record&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;            it_date-tabix = sy-tabix.&lt;/P&gt;&lt;P&gt;            it_date-kschl = it_extract-kschl1.&lt;/P&gt;&lt;P&gt;            lv_datab = lv_tempdat1.&lt;/P&gt;&lt;P&gt;            ADD 1 TO lv_datab.&lt;/P&gt;&lt;P&gt;            it_date-start+4(4) = lv_datab(4).&lt;/P&gt;&lt;P&gt;            it_date-start&lt;EM&gt;2(2) = lv_datab&lt;/EM&gt;4(2).&lt;/P&gt;&lt;P&gt;            it_date-start(2) = lv_datab+6(2).&lt;/P&gt;&lt;P&gt;            it_date-end+4(4) = a703-datbi(4).&lt;/P&gt;&lt;P&gt;            it_date-end&lt;EM&gt;2(2) = a703-datbi&lt;/EM&gt;4(2).&lt;/P&gt;&lt;P&gt;            it_date-end(2) = a703-datbi+6(2).&lt;/P&gt;&lt;P&gt;            APPEND it_date.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;        case 4&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;          ELSEIF lv_tempdat1 &amp;lt; a703-datab AND&lt;/P&gt;&lt;P&gt;                  lv_tempdat2 &amp;gt; a703-datab AND&lt;/P&gt;&lt;P&gt;                   lv_tempdat2 &amp;lt; a703-datbi.&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;          first record&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;            it_date-tabix = sy-tabix.&lt;/P&gt;&lt;P&gt;            it_date-kschl = it_extract-kschl1.&lt;/P&gt;&lt;P&gt;            it_date-start+4(4) = lv_tempdat1(4).&lt;/P&gt;&lt;P&gt;            it_date-start&lt;EM&gt;2(2) = lv_tempdat1&lt;/EM&gt;4(2).&lt;/P&gt;&lt;P&gt;            it_date-start(2) = lv_tempdat1+6(2).&lt;/P&gt;&lt;P&gt;            it_date-end+4(4) = lv_tempdat2(4).&lt;/P&gt;&lt;P&gt;            it_date-end&lt;EM&gt;2(2) = lv_tempdat2&lt;/EM&gt;4(2).&lt;/P&gt;&lt;P&gt;            it_date-end(2) = lv_tempdat2+6(2).&lt;/P&gt;&lt;P&gt;            APPEND it_date.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;          second record&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;            it_date-tabix = sy-tabix.&lt;/P&gt;&lt;P&gt;            it_date-kschl = it_extract-kschl1.&lt;/P&gt;&lt;P&gt;            lv_datab = lv_tempdat2.&lt;/P&gt;&lt;P&gt;            ADD 1 TO lv_datab.&lt;/P&gt;&lt;P&gt;            it_date-start+4(4) = lv_datab(4).&lt;/P&gt;&lt;P&gt;            it_date-start&lt;EM&gt;2(2) = lv_datab&lt;/EM&gt;4(2).&lt;/P&gt;&lt;P&gt;            it_date-start(2) = lv_datab+6(2).&lt;/P&gt;&lt;P&gt;            it_date-end+4(4) = a703-datbi(4).&lt;/P&gt;&lt;P&gt;            it_date-end&lt;EM&gt;2(2) = a703-datbi&lt;/EM&gt;4(2).&lt;/P&gt;&lt;P&gt;            it_date-end(2) = a703-datbi+6(2).&lt;/P&gt;&lt;P&gt;            APPEND it_date.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;        case 5 &amp;amp; 6&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;          ELSEIF lv_tempdat1 &amp;gt; a703-datbi OR&lt;/P&gt;&lt;P&gt;                  lv_tempdat2 &amp;lt; a703-datab.&lt;/P&gt;&lt;P&gt;            lv_newrec = 'X'.&lt;/P&gt;&lt;P&gt;          ENDIF.&lt;/P&gt;&lt;P&gt;          CLEAR: lv_tempdat1, lv_tempdat2.&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;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;    Fill the output table&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;      it_output-matnr = it_extract-matnr.&lt;/P&gt;&lt;P&gt;      it_output-kbetr = it_extract-kbetr3.&lt;/P&gt;&lt;P&gt;      it_output-kurst = it_extract-kurst.&lt;/P&gt;&lt;P&gt;      it_output-ukurs = it_extract-ukurs.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;      it_output-datab(2)    = it_extract-datab(2).&lt;/P&gt;&lt;P&gt;      it_output-datab+2(1)  = '.'.&lt;/P&gt;&lt;P&gt;      it_output-datab&lt;EM&gt;3(2)  = it_extract-datab&lt;/EM&gt;2(2).&lt;/P&gt;&lt;P&gt;      it_output-datab+5(1)  = '.'.&lt;/P&gt;&lt;P&gt;      it_output-datab&lt;EM&gt;6(4)  = it_extract-datab&lt;/EM&gt;4(4).&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;      it_output-datbi(2)    = it_extract-datbi(2).&lt;/P&gt;&lt;P&gt;      it_output-datbi+2(1)  = '.'.&lt;/P&gt;&lt;P&gt;      it_output-datbi&lt;EM&gt;3(2)  = it_extract-datbi&lt;/EM&gt;2(2).&lt;/P&gt;&lt;P&gt;      it_output-datbi+5(1)  = '.'.&lt;/P&gt;&lt;P&gt;      it_output-datbi&lt;EM&gt;6(4)  = it_extract-datbi&lt;/EM&gt;4(4).&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;     it_output-datab = it_extract-datab.&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;     it_output-datbi = it_extract-datbi.&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;      IF lv_newrec = 'X'.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;    Checking for valid material&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;        CLEAR lv_errmsg.&lt;/P&gt;&lt;P&gt;        IF NOT it_extract-matnr IS INITIAL.&lt;/P&gt;&lt;P&gt;          SELECT SINGLE * FROM mvke WHERE&lt;/P&gt;&lt;P&gt;                          matnr = it_extract-matnr AND&lt;/P&gt;&lt;P&gt;                          vkorg = it_extract-vkorg AND&lt;/P&gt;&lt;P&gt;                          vtweg = it_extract-vtweg.&lt;/P&gt;&lt;P&gt;          IF sy-subrc &amp;lt;&amp;gt; 0.&lt;/P&gt;&lt;P&gt;            CONCATENATE text-021 ':' text-018&lt;/P&gt;&lt;P&gt;                        it_extract-vkorg text-019&lt;/P&gt;&lt;P&gt;                        it_extract-vtweg INTO lv_errmsg.&lt;/P&gt;&lt;P&gt;            FORMAT COLOR 4.&lt;/P&gt;&lt;P&gt;            WRITE:/ lv_errmsg.&lt;/P&gt;&lt;P&gt;            FORMAT COLOR OFF.&lt;/P&gt;&lt;P&gt;          ELSE.&lt;/P&gt;&lt;P&gt;            FORMAT COLOR 4.&lt;/P&gt;&lt;P&gt;            WRITE:/ text-014.&lt;/P&gt;&lt;P&gt;            FORMAT COLOR OFF.&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;        FORMAT COLOR 7.&lt;/P&gt;&lt;P&gt;        WRITE:/ it_output-kschl1, 16 it_output-condtab,&lt;/P&gt;&lt;P&gt;                30 it_output-matnr, 50 it_output-kbetr, "#EC UOM_IN_MES&lt;/P&gt;&lt;P&gt;                79 it_output-kurst CENTERED, 90 it_output-ukurs,&lt;/P&gt;&lt;P&gt;                102 it_output-datab, 114 it_output-datbi.&lt;/P&gt;&lt;P&gt;        FORMAT COLOR OFF.&lt;/P&gt;&lt;P&gt;        SKIP.&lt;/P&gt;&lt;P&gt;      ELSEIF lv_singrec &amp;lt;&amp;gt; 'X'.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;        CLEAR it_output.&lt;/P&gt;&lt;P&gt;        REFRESH it_output.&lt;/P&gt;&lt;P&gt;        LOOP AT it_date.&lt;/P&gt;&lt;P&gt;          it_output-kschl1 = it_extract-kschl1.&lt;/P&gt;&lt;P&gt;          IF it_extract-land1 IS INITIAL.&lt;/P&gt;&lt;P&gt;            it_output-condtab = 'A004'.&lt;/P&gt;&lt;P&gt;          ELSE.&lt;/P&gt;&lt;P&gt;            it_output-condtab = 'A703'.&lt;/P&gt;&lt;P&gt;          ENDIF.&lt;/P&gt;&lt;P&gt;          it_output-matnr = it_extract-matnr.&lt;/P&gt;&lt;P&gt;          it_output-kbetr = it_extract-kbetr3.&lt;/P&gt;&lt;P&gt;          it_output-kurst = it_extract-kurst.&lt;/P&gt;&lt;P&gt;          it_output-ukurs = it_extract-ukurs.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;          it_output-datab(2)    = it_date-start(2).&lt;/P&gt;&lt;P&gt;          it_output-datab+2(1)  = '.'.&lt;/P&gt;&lt;P&gt;          it_output-datab&lt;EM&gt;3(2)  = it_date-start&lt;/EM&gt;2(2).&lt;/P&gt;&lt;P&gt;          it_output-datab+5(1)  = '.'.&lt;/P&gt;&lt;P&gt;          it_output-datab&lt;EM&gt;6(4)  = it_date-start&lt;/EM&gt;4(4).&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;          it_output-datbi(2)    = it_date-end(2).&lt;/P&gt;&lt;P&gt;          it_output-datbi+2(1)  = '.'.&lt;/P&gt;&lt;P&gt;          it_output-datbi&lt;EM&gt;3(2)  = it_date-end&lt;/EM&gt;2(2).&lt;/P&gt;&lt;P&gt;          it_output-datbi+5(1)  = '.'.&lt;/P&gt;&lt;P&gt;          it_output-datbi&lt;EM&gt;6(4)  = it_date-end&lt;/EM&gt;4(4).&lt;/P&gt;&lt;P&gt;          APPEND it_output.&lt;/P&gt;&lt;P&gt;        ENDLOOP.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;        FORMAT COLOR 4.&lt;/P&gt;&lt;P&gt;        WRITE:/ text-015.&lt;/P&gt;&lt;P&gt;        FORMAT COLOR OFF.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;        LOOP AT it_output.&lt;/P&gt;&lt;P&gt;          FORMAT COLOR 7.&lt;/P&gt;&lt;P&gt;          WRITE:/ it_output-kschl1, 16 it_output-condtab,&lt;/P&gt;&lt;P&gt;                 30 it_output-matnr, 50 it_output-kbetr,"#EC UOM_IN_MES&lt;/P&gt;&lt;P&gt;                  79 it_output-kurst CENTERED, 90 it_output-ukurs,&lt;/P&gt;&lt;P&gt;                  102 it_output-datab, 114 it_output-datbi.&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;         WRITE:/ it_output-kschl1, 16 it_output-condtab,&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;                30 it_output-matnr, 50 it_output-kbetr,"#EC UOM_IN_MES&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;                 79 it_output-kurst CENTERED, 90 it_output-ukurs,&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;                 102 it_output-datab, 114 it_output-datbi.&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;          FORMAT COLOR OFF.&lt;/P&gt;&lt;P&gt;          SKIP.&lt;/P&gt;&lt;P&gt;        ENDLOOP.&lt;/P&gt;&lt;P&gt;      ELSE.&lt;/P&gt;&lt;P&gt;        FORMAT COLOR 4.&lt;/P&gt;&lt;P&gt;        WRITE:/ text-017.&lt;/P&gt;&lt;P&gt;        FORMAT COLOR OFF.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;        FORMAT COLOR 7.&lt;/P&gt;&lt;P&gt;        WRITE:/ it_output-kschl1, 16 it_output-condtab,&lt;/P&gt;&lt;P&gt;                30 it_output-matnr, 50 it_output-kbetr, "#EC UOM_IN_MES&lt;/P&gt;&lt;P&gt;                79 it_output-kurst CENTERED, 90 it_output-ukurs,&lt;/P&gt;&lt;P&gt;                102 it_output-datab, 114 it_output-datbi.&lt;/P&gt;&lt;P&gt;        FORMAT COLOR OFF.&lt;/P&gt;&lt;P&gt;        SKIP.&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;*For condition ZKDT&lt;/P&gt;&lt;P&gt;    CLEAR it_output.&lt;/P&gt;&lt;P&gt;    IF NOT it_extract-kschl2 IS INITIAL.&lt;/P&gt;&lt;P&gt;      it_output-kschl2 = it_extract-kschl2.&lt;/P&gt;&lt;P&gt;      IF it_extract-land1 IS INITIAL.&lt;/P&gt;&lt;P&gt;        it_output-condtab = 'A004'.&lt;/P&gt;&lt;P&gt;        SELECT SINGLE * FROM a004&lt;/P&gt;&lt;P&gt;                            WHERE kappl = 'V'&lt;/P&gt;&lt;P&gt;                            AND   kschl = it_extract-kschl2&lt;/P&gt;&lt;P&gt;                            AND   vkorg = it_extract-vkorg&lt;/P&gt;&lt;P&gt;                            AND   vtweg = it_extract-vtweg&lt;/P&gt;&lt;P&gt;                            AND   matnr = it_extract-matnr&lt;/P&gt;&lt;P&gt;                            AND   datbi &amp;gt;= sy-datum&lt;/P&gt;&lt;P&gt;                            AND   datab &amp;lt;= sy-datum.&lt;/P&gt;&lt;P&gt;        IF sy-subrc &amp;lt;&amp;gt; 0.&lt;/P&gt;&lt;P&gt;          lv_newrec = 'X'.&lt;/P&gt;&lt;P&gt;        ELSE.&lt;/P&gt;&lt;P&gt;          CLEAR: lv_tempdat1, lv_tempdat2.&lt;/P&gt;&lt;P&gt;          lv_tempdat1+6(2) = it_extract-datab(2).&lt;/P&gt;&lt;P&gt;          lv_tempdat1&lt;EM&gt;4(2) = it_extract-datab&lt;/EM&gt;2(2).&lt;/P&gt;&lt;P&gt;          lv_tempdat1(4) = it_extract-datab+4(4).&lt;/P&gt;&lt;P&gt;          lv_tempdat2+6(2) = it_extract-datbi(2).&lt;/P&gt;&lt;P&gt;          lv_tempdat2&lt;EM&gt;4(2) = it_extract-datbi&lt;/EM&gt;2(2).&lt;/P&gt;&lt;P&gt;          lv_tempdat2(4) = it_extract-datbi+4(4).&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;        case 1&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;          IF a004-datab = lv_tempdat1 AND a004-datbi = lv_tempdat2.&lt;/P&gt;&lt;P&gt;            lv_singrec = 'X'.&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;        case 2&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;          ELSEIF lv_tempdat1 &amp;gt; a004-datab AND&lt;/P&gt;&lt;P&gt;                  lv_tempdat1 &amp;lt; a004-datbi AND&lt;/P&gt;&lt;P&gt;                   lv_tempdat2 &amp;gt;= a004-datbi.&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;          first record&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;            it_date-tabix = sy-tabix.&lt;/P&gt;&lt;P&gt;            it_date-kschl = it_extract-kschl2.&lt;/P&gt;&lt;P&gt;            it_date-start+4(4) = a004-datab(4).&lt;/P&gt;&lt;P&gt;            it_date-start&lt;EM&gt;2(2) = a004-datab&lt;/EM&gt;4(2).&lt;/P&gt;&lt;P&gt;            it_date-start(2) = a004-datab+6(2).&lt;/P&gt;&lt;P&gt;            lv_datbi = lv_tempdat1.&lt;/P&gt;&lt;P&gt;            SUBTRACT 1 FROM lv_datbi.&lt;/P&gt;&lt;P&gt;            it_date-end+4(4) = lv_datbi(4).&lt;/P&gt;&lt;P&gt;            it_date-end&lt;EM&gt;2(2) = lv_datbi&lt;/EM&gt;4(2).&lt;/P&gt;&lt;P&gt;            it_date-end(2) = lv_datbi+6(2).&lt;/P&gt;&lt;P&gt;            APPEND it_date.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;          second record&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;            it_date-tabix = sy-tabix.&lt;/P&gt;&lt;P&gt;            it_date-kschl = it_extract-kschl2.&lt;/P&gt;&lt;P&gt;            it_date-start = it_extract-datab.&lt;/P&gt;&lt;P&gt;            it_date-end = it_extract-datbi.&lt;/P&gt;&lt;P&gt;            APPEND it_date.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;        case 3&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;          ELSEIF lv_tempdat1 &amp;gt; a004-datab AND&lt;/P&gt;&lt;P&gt;                  lv_tempdat1 &amp;lt; a004-datbi AND&lt;/P&gt;&lt;P&gt;                   lv_tempdat2 &amp;lt; a004-datbi.&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;          first record&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;            it_date-tabix = sy-tabix.&lt;/P&gt;&lt;P&gt;            it_date-kschl = it_extract-kschl2.&lt;/P&gt;&lt;P&gt;            it_date-start+4(4) = a004-datab(4).&lt;/P&gt;&lt;P&gt;            it_date-start&lt;EM&gt;2(2) = a004-datab&lt;/EM&gt;4(2).&lt;/P&gt;&lt;P&gt;            it_date-start(2) = a004-datab+6(2).&lt;/P&gt;&lt;P&gt;            lv_datbi = lv_tempdat1.&lt;/P&gt;&lt;P&gt;            SUBTRACT 1 FROM lv_datbi.&lt;/P&gt;&lt;P&gt;            it_date-end+4(4) = lv_datbi(4).&lt;/P&gt;&lt;P&gt;            it_date-end&lt;EM&gt;2(2) = lv_datbi&lt;/EM&gt;4(2).&lt;/P&gt;&lt;P&gt;            it_date-end(2) = lv_datbi+6(2).&lt;/P&gt;&lt;P&gt;            APPEND it_date.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;          second record&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;            it_date-tabix = sy-tabix.&lt;/P&gt;&lt;P&gt;            it_date-kschl = it_extract-kschl2.&lt;/P&gt;&lt;P&gt;            it_date-start = it_extract-datab.&lt;/P&gt;&lt;P&gt;            it_date-end = it_extract-datbi.&lt;/P&gt;&lt;P&gt;            APPEND it_date.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;          third record&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;            it_date-tabix = sy-tabix.&lt;/P&gt;&lt;P&gt;            it_date-kschl = it_extract-kschl2.&lt;/P&gt;&lt;P&gt;            lv_datab = lv_tempdat1.&lt;/P&gt;&lt;P&gt;            ADD 1 TO lv_datab.&lt;/P&gt;&lt;P&gt;            it_date-start+4(4) = lv_datab(4).&lt;/P&gt;&lt;P&gt;            it_date-start&lt;EM&gt;2(2) = lv_datab&lt;/EM&gt;4(2).&lt;/P&gt;&lt;P&gt;            it_date-start(2) = lv_datab+6(2).&lt;/P&gt;&lt;P&gt;            it_date-end+4(4) = a004-datbi(4).&lt;/P&gt;&lt;P&gt;            it_date-end&lt;EM&gt;2(2) = a004-datbi&lt;/EM&gt;4(2).&lt;/P&gt;&lt;P&gt;            it_date-end(2) = a004-datbi+6(2).&lt;/P&gt;&lt;P&gt;            APPEND it_date.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;        case 4&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;          ELSEIF lv_tempdat1 &amp;lt; a004-datab AND&lt;/P&gt;&lt;P&gt;                  lv_tempdat2 &amp;gt; a004-datab AND&lt;/P&gt;&lt;P&gt;                   lv_tempdat2 &amp;lt; a004-datbi.&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;          first record&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;            it_date-tabix = sy-tabix.&lt;/P&gt;&lt;P&gt;            it_date-kschl = it_extract-kschl2.&lt;/P&gt;&lt;P&gt;            it_date-start+4(4) = lv_tempdat1(4).&lt;/P&gt;&lt;P&gt;            it_date-start&lt;EM&gt;2(2) = lv_tempdat1&lt;/EM&gt;4(2).&lt;/P&gt;&lt;P&gt;            it_date-start(2) = lv_tempdat1+6(2).&lt;/P&gt;&lt;P&gt;            it_date-end+4(4) = lv_tempdat2(4).&lt;/P&gt;&lt;P&gt;            it_date-end&lt;EM&gt;2(2) = lv_tempdat2&lt;/EM&gt;4(2).&lt;/P&gt;&lt;P&gt;            it_date-end(2) = lv_tempdat2+6(2).&lt;/P&gt;&lt;P&gt;            APPEND it_date.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;          second record&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;            it_date-tabix = sy-tabix.&lt;/P&gt;&lt;P&gt;            it_date-kschl = it_extract-kschl2.&lt;/P&gt;&lt;P&gt;            lv_datab = lv_tempdat2.&lt;/P&gt;&lt;P&gt;            ADD 1 TO lv_datab.&lt;/P&gt;&lt;P&gt;            it_date-start+4(4) = lv_datab(4).&lt;/P&gt;&lt;P&gt;            it_date-start&lt;EM&gt;2(2) = lv_datab&lt;/EM&gt;4(2).&lt;/P&gt;&lt;P&gt;            it_date-start(2) = lv_datab+6(2).&lt;/P&gt;&lt;P&gt;            it_date-end+4(4) = a004-datbi(4).&lt;/P&gt;&lt;P&gt;            it_date-end&lt;EM&gt;2(2) = a004-datbi&lt;/EM&gt;4(2).&lt;/P&gt;&lt;P&gt;            it_date-end(2) = a004-datbi+6(2).&lt;/P&gt;&lt;P&gt;            APPEND it_date.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;        case 5 &amp;amp; 6&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;          ELSEIF lv_tempdat1 &amp;gt; a004-datbi OR&lt;/P&gt;&lt;P&gt;                  lv_tempdat2 &amp;lt; a004-datab.&lt;/P&gt;&lt;P&gt;            lv_newrec = 'X'.&lt;/P&gt;&lt;P&gt;          ENDIF.&lt;/P&gt;&lt;P&gt;          CLEAR: lv_tempdat1, lv_tempdat2.&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;        it_output-condtab = 'A703'.&lt;/P&gt;&lt;P&gt;        SELECT SINGLE * FROM a703&lt;/P&gt;&lt;P&gt;                            WHERE kappl = 'V'&lt;/P&gt;&lt;P&gt;                            AND   kschl = it_extract-kschl2&lt;/P&gt;&lt;P&gt;                            AND   vkorg = it_extract-vkorg&lt;/P&gt;&lt;P&gt;                            AND   vtweg = it_extract-vtweg&lt;/P&gt;&lt;P&gt;                            AND   spart = it_extract-spart&lt;/P&gt;&lt;P&gt;                            AND   land1 = it_extract-land1&lt;/P&gt;&lt;P&gt;                            AND   matnr = it_extract-matnr&lt;/P&gt;&lt;P&gt;                            AND   datbi &amp;gt;= sy-datum&lt;/P&gt;&lt;P&gt;                            AND   datab &amp;lt;= sy-datum.&lt;/P&gt;&lt;P&gt;        IF sy-subrc &amp;lt;&amp;gt; 0.&lt;/P&gt;&lt;P&gt;          lv_newrec = 'X'.&lt;/P&gt;&lt;P&gt;        ELSE.&lt;/P&gt;&lt;P&gt;          CLEAR: lv_tempdat1, lv_tempdat2.&lt;/P&gt;&lt;P&gt;          lv_tempdat1+6(2) = it_extract-datab(2).&lt;/P&gt;&lt;P&gt;          lv_tempdat1&lt;EM&gt;4(2) = it_extract-datab&lt;/EM&gt;2(2).&lt;/P&gt;&lt;P&gt;          lv_tempdat1(4) = it_extract-datab+4(4).&lt;/P&gt;&lt;P&gt;          lv_tempdat2+6(2) = it_extract-datbi(2).&lt;/P&gt;&lt;P&gt;          lv_tempdat2&lt;EM&gt;4(2) = it_extract-datbi&lt;/EM&gt;2(2).&lt;/P&gt;&lt;P&gt;          lv_tempdat2(4) = it_extract-datbi+4(4).&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;        case 1&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;          IF a703-datab = lv_tempdat1 AND a703-datbi = lv_tempdat2.&lt;/P&gt;&lt;P&gt;            lv_singrec = 'X'.&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;        case 2&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;          ELSEIF lv_tempdat1 &amp;gt; a703-datab AND&lt;/P&gt;&lt;P&gt;                  lv_tempdat1 &amp;lt; a703-datbi AND&lt;/P&gt;&lt;P&gt;                   lv_tempdat2 &amp;gt;= a703-datbi.&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;          first record&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;            it_date-tabix = sy-tabix.&lt;/P&gt;&lt;P&gt;            it_date-kschl = it_extract-kschl2.&lt;/P&gt;&lt;P&gt;            it_date-start+4(4) = a703-datab(4).&lt;/P&gt;&lt;P&gt;            it_date-start&lt;EM&gt;2(2) = a703-datab&lt;/EM&gt;4(2).&lt;/P&gt;&lt;P&gt;            it_date-start(2) = a703-datab+6(2).&lt;/P&gt;&lt;P&gt;            lv_datbi = lv_tempdat1.&lt;/P&gt;&lt;P&gt;            SUBTRACT 1 FROM lv_datbi.&lt;/P&gt;&lt;P&gt;            it_date-end+4(4) = lv_datbi(4).&lt;/P&gt;&lt;P&gt;            it_date-end&lt;EM&gt;2(2) = lv_datbi&lt;/EM&gt;4(2).&lt;/P&gt;&lt;P&gt;            it_date-end(2) = lv_datbi+6(2).&lt;/P&gt;&lt;P&gt;            APPEND it_date.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;          second record&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;            it_date-tabix = sy-tabix.&lt;/P&gt;&lt;P&gt;            it_date-kschl = it_extract-kschl2.&lt;/P&gt;&lt;P&gt;            it_date-start = it_extract-datab.&lt;/P&gt;&lt;P&gt;            it_date-end = it_extract-datbi.&lt;/P&gt;&lt;P&gt;            APPEND it_date.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;        case 3&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;          ELSEIF lv_tempdat1 &amp;gt; a703-datab AND&lt;/P&gt;&lt;P&gt;                  lv_tempdat1 &amp;lt; a703-datbi AND&lt;/P&gt;&lt;P&gt;                   lv_tempdat2 &amp;lt; a703-datbi.&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;          first record&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;            it_date-tabix = sy-tabix.&lt;/P&gt;&lt;P&gt;            it_date-kschl = it_extract-kschl2.&lt;/P&gt;&lt;P&gt;            it_date-start+4(4) = a703-datab(4).&lt;/P&gt;&lt;P&gt;            it_date-start&lt;EM&gt;2(2) = a703-datab&lt;/EM&gt;4(2).&lt;/P&gt;&lt;P&gt;            it_date-start(2) = a703-datab+6(2).&lt;/P&gt;&lt;P&gt;            lv_datbi = lv_tempdat1.&lt;/P&gt;&lt;P&gt;            SUBTRACT 1 FROM lv_datbi.&lt;/P&gt;&lt;P&gt;            it_date-end+4(4) = lv_datbi(4).&lt;/P&gt;&lt;P&gt;            it_date-end&lt;EM&gt;2(2) = lv_datbi&lt;/EM&gt;4(2).&lt;/P&gt;&lt;P&gt;            it_date-end(2) = lv_datbi+6(2).&lt;/P&gt;&lt;P&gt;            APPEND it_date.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;          second record&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;            it_date-tabix = sy-tabix.&lt;/P&gt;&lt;P&gt;            it_date-kschl = it_extract-kschl2.&lt;/P&gt;&lt;P&gt;            it_date-start = it_extract-datab.&lt;/P&gt;&lt;P&gt;            it_date-end = it_extract-datbi.&lt;/P&gt;&lt;P&gt;            APPEND it_date.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;          third record&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;            it_date-tabix = sy-tabix.&lt;/P&gt;&lt;P&gt;            it_date-kschl = it_extract-kschl2.&lt;/P&gt;&lt;P&gt;            lv_datab = lv_tempdat1.&lt;/P&gt;&lt;P&gt;            ADD 1 TO lv_datab.&lt;/P&gt;&lt;P&gt;            it_date-start+4(4) = lv_datab(4).&lt;/P&gt;&lt;P&gt;            it_date-start&lt;EM&gt;2(2) = lv_datab&lt;/EM&gt;4(2).&lt;/P&gt;&lt;P&gt;            it_date-start(2) = lv_datab+6(2).&lt;/P&gt;&lt;P&gt;            it_date-end+4(4) = a703-datbi(4).&lt;/P&gt;&lt;P&gt;            it_date-end&lt;EM&gt;2(2) = a703-datbi&lt;/EM&gt;4(2).&lt;/P&gt;&lt;P&gt;            it_date-end(2) = a703-datbi+6(2).&lt;/P&gt;&lt;P&gt;            APPEND it_date.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;        case 4&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;          ELSEIF lv_tempdat1 &amp;lt; a703-datab AND&lt;/P&gt;&lt;P&gt;                  lv_tempdat2 &amp;gt; a703-datab AND&lt;/P&gt;&lt;P&gt;                   lv_tempdat2 &amp;lt; a703-datbi.&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;          first record&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;            it_date-tabix = sy-tabix.&lt;/P&gt;&lt;P&gt;            it_date-kschl = it_extract-kschl2.&lt;/P&gt;&lt;P&gt;            it_date-start+4(4) = lv_tempdat1(4).&lt;/P&gt;&lt;P&gt;            it_date-start&lt;EM&gt;2(2) = lv_tempdat1&lt;/EM&gt;4(2).&lt;/P&gt;&lt;P&gt;            it_date-start(2) = lv_tempdat1+6(2).&lt;/P&gt;&lt;P&gt;            it_date-end+4(4) = lv_tempdat2(4).&lt;/P&gt;&lt;P&gt;            it_date-end&lt;EM&gt;2(2) = lv_tempdat2&lt;/EM&gt;4(2).&lt;/P&gt;&lt;P&gt;            it_date-end(2) = lv_tempdat2+6(2).&lt;/P&gt;&lt;P&gt;            APPEND it_date.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;          second record&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;            it_date-tabix = sy-tabix.&lt;/P&gt;&lt;P&gt;            it_date-kschl = it_extract-kschl2.&lt;/P&gt;&lt;P&gt;            lv_datab = lv_tempdat2.&lt;/P&gt;&lt;P&gt;            ADD 1 TO lv_datab.&lt;/P&gt;&lt;P&gt;            it_date-start+4(4) = lv_datab(4).&lt;/P&gt;&lt;P&gt;            it_date-start&lt;EM&gt;2(2) = lv_datab&lt;/EM&gt;4(2).&lt;/P&gt;&lt;P&gt;            it_date-start(2) = lv_datab+6(2).&lt;/P&gt;&lt;P&gt;            it_date-end+4(4) = a703-datbi(4).&lt;/P&gt;&lt;P&gt;            it_date-end&lt;EM&gt;2(2) = a703-datbi&lt;/EM&gt;4(2).&lt;/P&gt;&lt;P&gt;            it_date-end(2) = a703-datbi+6(2).&lt;/P&gt;&lt;P&gt;            APPEND it_date.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;        case 5 &amp;amp; 6&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;          ELSEIF lv_tempdat1 &amp;gt; a703-datbi OR&lt;/P&gt;&lt;P&gt;                  lv_tempdat2 &amp;lt; a703-datab.&lt;/P&gt;&lt;P&gt;            lv_newrec = 'X'.&lt;/P&gt;&lt;P&gt;          ENDIF.&lt;/P&gt;&lt;P&gt;          CLEAR: lv_tempdat1, lv_tempdat2.&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;      it_output-matnr = it_extract-matnr.&lt;/P&gt;&lt;P&gt;      it_output-kbetr = it_extract-kbetr4.&lt;/P&gt;&lt;P&gt;      it_output-kurst = it_extract-kurst.&lt;/P&gt;&lt;P&gt;      it_output-ukurs = it_extract-ukurs.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;      it_output-datab(2)    = it_extract-datab(2).&lt;/P&gt;&lt;P&gt;      it_output-datab+2(1)  = '.'.&lt;/P&gt;&lt;P&gt;      it_output-datab&lt;EM&gt;3(2)  = it_extract-datab&lt;/EM&gt;2(2).&lt;/P&gt;&lt;P&gt;      it_output-datab+5(1)  = '.'.&lt;/P&gt;&lt;P&gt;      it_output-datab&lt;EM&gt;6(4)  = it_extract-datab&lt;/EM&gt;4(4).&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;      it_output-datbi(2)    = it_extract-datbi(2).&lt;/P&gt;&lt;P&gt;      it_output-datbi+2(1)  = '.'.&lt;/P&gt;&lt;P&gt;      it_output-datbi&lt;EM&gt;3(2)  = it_extract-datbi&lt;/EM&gt;2(2).&lt;/P&gt;&lt;P&gt;      it_output-datbi+5(1)  = '.'.&lt;/P&gt;&lt;P&gt;      it_output-datbi&lt;EM&gt;6(4)  = it_extract-datbi&lt;/EM&gt;4(4).&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;     it_output-datab = it_extract-datab.&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;     it_output-datbi = it_extract-datbi.&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;      IF lv_newrec = 'X'.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;    Checking for valid material&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;        CLEAR lv_errmsg.&lt;/P&gt;&lt;P&gt;        IF NOT it_extract-matnr IS INITIAL.&lt;/P&gt;&lt;P&gt;          SELECT SINGLE * FROM mvke WHERE&lt;/P&gt;&lt;P&gt;                          matnr = it_extract-matnr AND&lt;/P&gt;&lt;P&gt;                          vkorg = it_extract-vkorg AND&lt;/P&gt;&lt;P&gt;                          vtweg = it_extract-vtweg.&lt;/P&gt;&lt;P&gt;          IF sy-subrc &amp;lt;&amp;gt; 0.&lt;/P&gt;&lt;P&gt;            CONCATENATE text-021 ':' text-018&lt;/P&gt;&lt;P&gt;                        it_extract-vkorg text-019&lt;/P&gt;&lt;P&gt;                        it_extract-vtweg INTO lv_errmsg.&lt;/P&gt;&lt;P&gt;            FORMAT COLOR 4.&lt;/P&gt;&lt;P&gt;            WRITE:/ lv_errmsg.&lt;/P&gt;&lt;P&gt;            FORMAT COLOR OFF.&lt;/P&gt;&lt;P&gt;          ELSE.&lt;/P&gt;&lt;P&gt;            FORMAT COLOR 4.&lt;/P&gt;&lt;P&gt;            WRITE:/ text-014.&lt;/P&gt;&lt;P&gt;            FORMAT COLOR OFF.&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;        FORMAT COLOR 7.&lt;/P&gt;&lt;P&gt;        WRITE:/ it_output-kschl2, 16 it_output-condtab,&lt;/P&gt;&lt;P&gt;                30 it_output-matnr, 50 it_output-kbetr, "#EC UOM_IN_MES&lt;/P&gt;&lt;P&gt;                79 it_output-kurst CENTERED, 90 it_output-ukurs,&lt;/P&gt;&lt;P&gt;                102 it_output-datab, 114 it_output-datbi.&lt;/P&gt;&lt;P&gt;        FORMAT COLOR OFF.&lt;/P&gt;&lt;P&gt;        SKIP.&lt;/P&gt;&lt;P&gt;      ELSEIF lv_singrec &amp;lt;&amp;gt; 'X'.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;        CLEAR it_output.&lt;/P&gt;&lt;P&gt;        REFRESH it_output.&lt;/P&gt;&lt;P&gt;        LOOP AT it_date.&lt;/P&gt;&lt;P&gt;          it_output-kschl1 = it_extract-kschl2.&lt;/P&gt;&lt;P&gt;          IF it_extract-land1 IS INITIAL.&lt;/P&gt;&lt;P&gt;            it_output-condtab = 'A004'.&lt;/P&gt;&lt;P&gt;          ELSE.&lt;/P&gt;&lt;P&gt;            it_output-condtab = 'A703'.&lt;/P&gt;&lt;P&gt;          ENDIF.&lt;/P&gt;&lt;P&gt;          it_output-matnr = it_extract-matnr.&lt;/P&gt;&lt;P&gt;          it_output-kbetr = it_extract-kbetr4.&lt;/P&gt;&lt;P&gt;          it_output-kurst = it_extract-kurst.&lt;/P&gt;&lt;P&gt;          it_output-ukurs = it_extract-ukurs.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;          it_output-datab(2)    = it_date-start(2).&lt;/P&gt;&lt;P&gt;          it_output-datab+2(1)  = '.'.&lt;/P&gt;&lt;P&gt;          it_output-datab&lt;EM&gt;3(2)  = it_date-start&lt;/EM&gt;2(2).&lt;/P&gt;&lt;P&gt;          it_output-datab+5(1)  = '.'.&lt;/P&gt;&lt;P&gt;          it_output-datab&lt;EM&gt;6(4)  = it_date-start&lt;/EM&gt;4(4).&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;          it_output-datbi(2)    = it_date-end(2).&lt;/P&gt;&lt;P&gt;          it_output-datbi+2(1)  = '.'.&lt;/P&gt;&lt;P&gt;          it_output-datbi&lt;EM&gt;3(2)  = it_date-end&lt;/EM&gt;2(2).&lt;/P&gt;&lt;P&gt;          it_output-datbi+5(1)  = '.'.&lt;/P&gt;&lt;P&gt;          it_output-datbi&lt;EM&gt;6(4)  = it_date-end&lt;/EM&gt;4(4).&lt;/P&gt;&lt;P&gt;          APPEND it_output.&lt;/P&gt;&lt;P&gt;        ENDLOOP.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;        FORMAT COLOR 4.&lt;/P&gt;&lt;P&gt;        WRITE:/ text-015.&lt;/P&gt;&lt;P&gt;        FORMAT COLOR OFF.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;        LOOP AT it_output.&lt;/P&gt;&lt;P&gt;          FORMAT COLOR 7.&lt;/P&gt;&lt;P&gt;          WRITE:/ it_output-kschl2, 16 it_output-condtab,&lt;/P&gt;&lt;P&gt;                 30 it_output-matnr, 50 it_output-kbetr,"#EC UOM_IN_MES&lt;/P&gt;&lt;P&gt;                  79 it_output-kurst CENTERED, 90 it_output-ukurs,&lt;/P&gt;&lt;P&gt;                  102 it_output-datab, 114 it_output-datbi.&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;         WRITE:/ it_output-kschl2, 16 it_output-condtab,&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;                30 it_output-matnr, 50 it_output-kbetr,"#EC UOM_IN_MES&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;                 79 it_output-kurst CENTERED, 90 it_output-ukurs,&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;                 102 it_output-datab, 114 it_output-datbi.&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;          FORMAT COLOR OFF.&lt;/P&gt;&lt;P&gt;          SKIP.&lt;/P&gt;&lt;P&gt;        ENDLOOP.&lt;/P&gt;&lt;P&gt;      ELSE.&lt;/P&gt;&lt;P&gt;        FORMAT COLOR 4.&lt;/P&gt;&lt;P&gt;        WRITE:/ text-017.&lt;/P&gt;&lt;P&gt;        FORMAT COLOR OFF.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;        FORMAT COLOR 7.&lt;/P&gt;&lt;P&gt;        WRITE:/ it_output-kschl2, 16 it_output-condtab,&lt;/P&gt;&lt;P&gt;                30 it_output-matnr, 50 it_output-kbetr, "#EC UOM_IN_MES&lt;/P&gt;&lt;P&gt;                79 it_output-kurst CENTERED, 90 it_output-ukurs,&lt;/P&gt;&lt;P&gt;                102 it_output-datab, 114 it_output-datbi.&lt;/P&gt;&lt;P&gt;        FORMAT COLOR OFF.&lt;/P&gt;&lt;P&gt;        SKIP.&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.                                                    " sim_log&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;&amp;amp;----&lt;/STRONG&gt;&lt;/P&gt;&lt;HR originaltext="----------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;*&amp;amp;      Form  upd_rec_output&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 upd_rec_output .&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  lv_count = 2.&lt;/P&gt;&lt;P&gt;  LOOP AT it_errmat.&lt;/P&gt;&lt;P&gt;    CLEAR wa_errmat.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;    wa_errmat = it_errmat.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;    AT FIRST.&lt;/P&gt;&lt;P&gt;      IF lv_count = 2.&lt;/P&gt;&lt;P&gt;        FORMAT COLOR 2.&lt;/P&gt;&lt;P&gt;      ELSE.&lt;/P&gt;&lt;P&gt;        FORMAT COLOR 4.&lt;/P&gt;&lt;P&gt;      ENDIF.&lt;/P&gt;&lt;P&gt;      WRITE:/ wa_errmat-recno CENTERED, 15 wa_errmat-kschl,&lt;/P&gt;&lt;P&gt;              31 wa_errmat-matnr, 53 wa_errmat-status,&lt;/P&gt;&lt;P&gt;              65 wa_errmat-bdcmsg.&lt;/P&gt;&lt;P&gt;      FORMAT COLOR OFF.&lt;/P&gt;&lt;P&gt;      CONTINUE.&lt;/P&gt;&lt;P&gt;    ENDAT.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;    AT NEW recno.&lt;/P&gt;&lt;P&gt;      IF lv_count = 2.&lt;/P&gt;&lt;P&gt;        FORMAT COLOR 2.&lt;/P&gt;&lt;P&gt;      ELSE.&lt;/P&gt;&lt;P&gt;        FORMAT COLOR 4.&lt;/P&gt;&lt;P&gt;      ENDIF.&lt;/P&gt;&lt;P&gt;      WRITE:/ wa_errmat-recno CENTERED, 15 wa_errmat-kschl,&lt;/P&gt;&lt;P&gt;              31 wa_errmat-matnr, 53 wa_errmat-status,&lt;/P&gt;&lt;P&gt;              65 wa_errmat-bdcmsg.&lt;/P&gt;&lt;P&gt;      FORMAT COLOR OFF.&lt;/P&gt;&lt;P&gt;      CONTINUE.&lt;/P&gt;&lt;P&gt;    ENDAT.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;    AT END OF recno.&lt;/P&gt;&lt;P&gt;      IF lv_count = 2.&lt;/P&gt;&lt;P&gt;        FORMAT COLOR 2.&lt;/P&gt;&lt;P&gt;      ELSE.&lt;/P&gt;&lt;P&gt;        FORMAT COLOR 4.&lt;/P&gt;&lt;P&gt;      ENDIF.&lt;/P&gt;&lt;P&gt;     WRITE:/15 wa_errmat-kschl, 31 wa_errmat-matnr, 53 wa_errmat-status,&lt;/P&gt;&lt;P&gt;            65 wa_errmat-bdcmsg.&lt;/P&gt;&lt;P&gt;      FORMAT COLOR OFF.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;      IF lv_count = 2.&lt;/P&gt;&lt;P&gt;        lv_count = 4.&lt;/P&gt;&lt;P&gt;      ELSE.&lt;/P&gt;&lt;P&gt;        lv_count = 2.&lt;/P&gt;&lt;P&gt;      ENDIF.&lt;/P&gt;&lt;P&gt;      ULINE.&lt;/P&gt;&lt;P&gt;      CONTINUE.&lt;/P&gt;&lt;P&gt;    ENDAT.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;    IF lv_count = 2.&lt;/P&gt;&lt;P&gt;      FORMAT COLOR 2.&lt;/P&gt;&lt;P&gt;    ELSE.&lt;/P&gt;&lt;P&gt;      FORMAT COLOR 4.&lt;/P&gt;&lt;P&gt;    ENDIF.&lt;/P&gt;&lt;P&gt;    WRITE:/15 wa_errmat-kschl, 31 wa_errmat-matnr, 53 wa_errmat-status,&lt;/P&gt;&lt;P&gt;           65 wa_errmat-bdcmsg.&lt;/P&gt;&lt;P&gt;    FORMAT COLOR OFF.&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.                    " upd_rec_output&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  new_record_a004&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 new_record_a004 .&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;*creating a new record with specified validity period.&lt;/P&gt;&lt;P&gt;  REFRESH bdcdata.&lt;/P&gt;&lt;P&gt;  CLEAR bdcdata.&lt;/P&gt;&lt;P&gt;  PERFORM bdc_dynpro      USING 'SAPMV13A' '0100'.&lt;/P&gt;&lt;P&gt;  PERFORM bdc_field       USING 'BDC_CURSOR' 'RV13A-KSCHL'.&lt;/P&gt;&lt;P&gt;  PERFORM bdc_field       USING 'BDC_OKCODE' '=ANTA'.&lt;/P&gt;&lt;P&gt;  PERFORM bdc_field       USING 'RV13A-KSCHL' it_extract-kschl1.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  PERFORM bdc_dynpro      USING 'SAPLV14A' '0100'.&lt;/P&gt;&lt;P&gt;  PERFORM bdc_field       USING 'BDC_CURSOR' 'RV130-SELKZ(02)'.&lt;/P&gt;&lt;P&gt;  PERFORM bdc_field       USING 'BDC_OKCODE' '=WEIT'.&lt;/P&gt;&lt;P&gt;  PERFORM bdc_field       USING 'RV130-SELKZ(01)' ''.&lt;/P&gt;&lt;P&gt;  PERFORM bdc_field       USING 'RV130-SELKZ(02)' 'X'.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  PERFORM bdc_dynpro      USING 'RV13A004' '1000'.&lt;/P&gt;&lt;P&gt;  PERFORM bdc_field       USING 'BDC_CURSOR' 'F003-LOW'.&lt;/P&gt;&lt;P&gt;  PERFORM bdc_field       USING 'BDC_OKCODE' '=ONLI'.&lt;/P&gt;&lt;P&gt;  PERFORM bdc_field       USING 'F001' it_extract-vkorg.&lt;/P&gt;&lt;P&gt;  PERFORM bdc_field       USING 'F002' it_extract-vtweg.&lt;/P&gt;&lt;P&gt;  PERFORM bdc_field       USING 'F003-LOW' it_extract-matnr.&lt;/P&gt;&lt;P&gt;  PERFORM bdc_field       USING 'SEL_DATE' it_extract-datab.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  PERFORM bdc_dynpro      USING 'SAPMV13A' '1004'.&lt;/P&gt;&lt;P&gt;  PERFORM bdc_field       USING 'BDC_CURSOR' 'RV13A-DATBI(01)'.&lt;/P&gt;&lt;P&gt;  PERFORM bdc_field       USING 'BDC_OKCODE' '=SICH'.&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt; PERFORM bdc_field       USING 'KOMG-VKORG' it_extract-vkorg.&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt; PERFORM bdc_field       USING 'KOMG-VTWEG' it_extract-vtweg.&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt; PERFORM bdc_field       USING 'KOMG-MATNR(01)' it_extract-matnr.&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;  CLEAR lv_amnt.&lt;/P&gt;&lt;P&gt;  MOVE it_extract-kbetr3 TO lv_amnt.&lt;/P&gt;&lt;P&gt;  REPLACE '.' WITH ',' INTO lv_amnt.&lt;/P&gt;&lt;P&gt;  CONDENSE lv_amnt NO-GAPS.&lt;/P&gt;&lt;P&gt;  PERFORM bdc_field     USING 'KONP-KBETR(01)' lv_amnt.&lt;/P&gt;&lt;P&gt;  CLEAR lv_amnt.&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt; PERFORM bdc_field       USING 'KONP-KONWA(01)' 'EUR'.&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  IF NOT it_extract-datab IS INITIAL.&lt;/P&gt;&lt;P&gt;    PERFORM bdc_field       USING 'RV13A-DATAB(01)' it_extract-datab.&lt;/P&gt;&lt;P&gt;  ELSE.&lt;/P&gt;&lt;P&gt;    PERFORM bdc_field       USING 'RV13A-DATAB(01)' sy-datum.&lt;/P&gt;&lt;P&gt;  ENDIF.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  IF NOT it_extract-datbi IS INITIAL.&lt;/P&gt;&lt;P&gt;    PERFORM bdc_field       USING 'RV13A-DATBI(01)' it_extract-datbi.&lt;/P&gt;&lt;P&gt;  ELSE.&lt;/P&gt;&lt;P&gt;    PERFORM bdc_field       USING 'RV13A-DATBI(01)' '31.12.9999'.&lt;/P&gt;&lt;P&gt;  ENDIF.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  REFRESH it_msgtab.&lt;/P&gt;&lt;P&gt;  CALL TRANSACTION 'VK12'&lt;/P&gt;&lt;P&gt;                    USING bdcdata&lt;/P&gt;&lt;P&gt;                    MODE 'N'&lt;/P&gt;&lt;P&gt;                    UPDATE 'S'&lt;/P&gt;&lt;P&gt;                    MESSAGES INTO it_msgtab.&lt;/P&gt;&lt;P&gt;  IF sy-subrc = 0.&lt;/P&gt;&lt;P&gt;    ADD 1 TO w_data_bdc_recs.&lt;/P&gt;&lt;P&gt;    DELETE ADJACENT DUPLICATES FROM it_msgtab.&lt;/P&gt;&lt;P&gt;    LOOP AT it_msgtab.&lt;/P&gt;&lt;P&gt;      CLEAR wa_msglog.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;      wa_msglog-msgid = it_msgtab-msgid.&lt;/P&gt;&lt;P&gt;      wa_msglog-msgno = it_msgtab-msgnr.&lt;/P&gt;&lt;P&gt;      wa_msglog-msgty = it_msgtab-msgtyp.&lt;/P&gt;&lt;P&gt;      wa_msglog-msgv1 = it_msgtab-msgv1.&lt;/P&gt;&lt;P&gt;      wa_msglog-msgv2 = it_msgtab-msgv2.&lt;/P&gt;&lt;P&gt;      wa_msglog-msgv3 = it_msgtab-msgv3.&lt;/P&gt;&lt;P&gt;      wa_msglog-msgv4 = it_msgtab-msgv4.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;      CALL FUNCTION 'MESSAGE_TEXTS_READ'&lt;/P&gt;&lt;P&gt;        EXPORTING&lt;/P&gt;&lt;P&gt;          msg_log_imp  = wa_msglog&lt;/P&gt;&lt;P&gt;        IMPORTING&lt;/P&gt;&lt;P&gt;          msg_text_exp = wa_msgtxt.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;      IF sy-subrc = 0.&lt;/P&gt;&lt;P&gt;        CLEAR it_errmat.&lt;/P&gt;&lt;P&gt;        it_errmat-recno = lv_count.&lt;/P&gt;&lt;P&gt;        it_errmat-kschl = it_extract-kschl1.&lt;/P&gt;&lt;P&gt;        it_errmat-matnr = it_extract-matnr.&lt;/P&gt;&lt;P&gt;        it_errmat-status = text-020.&lt;/P&gt;&lt;P&gt;        it_errmat-bdcmsg = wa_msgtxt-msgtx.&lt;/P&gt;&lt;P&gt;        APPEND it_errmat.&lt;/P&gt;&lt;P&gt;      ENDIF.&lt;/P&gt;&lt;P&gt;    ENDLOOP.&lt;/P&gt;&lt;P&gt;  ELSE.&lt;/P&gt;&lt;P&gt;    LOOP AT it_msgtab.&lt;/P&gt;&lt;P&gt;      CLEAR wa_msglog.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;      wa_msglog-msgid = it_msgtab-msgid.&lt;/P&gt;&lt;P&gt;      wa_msglog-msgno = it_msgtab-msgnr.&lt;/P&gt;&lt;P&gt;      wa_msglog-msgty = it_msgtab-msgtyp.&lt;/P&gt;&lt;P&gt;      wa_msglog-msgv1 = it_msgtab-msgv1.&lt;/P&gt;&lt;P&gt;      wa_msglog-msgv2 = it_msgtab-msgv2.&lt;/P&gt;&lt;P&gt;      wa_msglog-msgv3 = it_msgtab-msgv3.&lt;/P&gt;&lt;P&gt;      wa_msglog-msgv4 = it_msgtab-msgv4.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;      CALL FUNCTION 'MESSAGE_TEXTS_READ'&lt;/P&gt;&lt;P&gt;        EXPORTING&lt;/P&gt;&lt;P&gt;          msg_log_imp  = wa_msglog&lt;/P&gt;&lt;P&gt;        IMPORTING&lt;/P&gt;&lt;P&gt;          msg_text_exp = wa_msgtxt.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;      IF sy-subrc = 0.&lt;/P&gt;&lt;P&gt;        CLEAR it_errmat.&lt;/P&gt;&lt;P&gt;        it_errmat-recno = lv_count.&lt;/P&gt;&lt;P&gt;        it_errmat-kschl = it_extract-kschl1.&lt;/P&gt;&lt;P&gt;        it_errmat-matnr = it_extract-matnr.&lt;/P&gt;&lt;P&gt;        it_errmat-status = text-021.&lt;/P&gt;&lt;P&gt;        it_errmat-bdcmsg = wa_msgtxt-msgtx.&lt;/P&gt;&lt;P&gt;        APPEND it_errmat.&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;  COMMIT WORK AND WAIT.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;ENDFORM.                    " new_record_a004&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  new_record_a703&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 new_record_a703 .&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;*creating a new record with specified validity period.&lt;/P&gt;&lt;P&gt;  REFRESH bdcdata.&lt;/P&gt;&lt;P&gt;  CLEAR bdcdata.&lt;/P&gt;&lt;P&gt;  PERFORM bdc_dynpro      USING 'SAPMV13A' '0100'.&lt;/P&gt;&lt;P&gt;  PERFORM bdc_field       USING 'BDC_CURSOR' 'RV13A-KSCHL'.&lt;/P&gt;&lt;P&gt;  PERFORM bdc_field       USING 'BDC_OKCODE' '=ANTA'.&lt;/P&gt;&lt;P&gt;  PERFORM bdc_field       USING 'RV13A-KSCHL' it_extract-kschl1.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  PERFORM bdc_dynpro      USING 'SAPLV14A' '0100'.&lt;/P&gt;&lt;P&gt;  PERFORM bdc_field       USING 'BDC_CURSOR' 'RV130-SELKZ(01)'.&lt;/P&gt;&lt;P&gt;  PERFORM bdc_field       USING 'BDC_OKCODE' '=WEIT'.&lt;/P&gt;&lt;P&gt;  PERFORM bdc_field       USING 'RV130-SELKZ(01)'  'X'.&lt;/P&gt;&lt;P&gt;  PERFORM bdc_field       USING 'RV130-SELKZ(02)'  ''.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  PERFORM bdc_dynpro      USING 'RV13A703' '1000'.&lt;/P&gt;&lt;P&gt;  PERFORM bdc_field       USING 'BDC_CURSOR' 'F004'.&lt;/P&gt;&lt;P&gt;  PERFORM bdc_field       USING 'BDC_OKCODE' '=ONLI'.&lt;/P&gt;&lt;P&gt;  PERFORM bdc_field       USING 'F001' it_extract-vkorg.&lt;/P&gt;&lt;P&gt;  PERFORM bdc_field       USING 'F002' it_extract-vtweg.&lt;/P&gt;&lt;P&gt;  PERFORM bdc_field       USING 'F003' it_extract-spart.&lt;/P&gt;&lt;P&gt;  PERFORM bdc_field       USING 'F004' it_extract-land1.&lt;/P&gt;&lt;P&gt;  PERFORM bdc_field       USING 'F005-LOW' it_extract-matnr.&lt;/P&gt;&lt;P&gt;  PERFORM bdc_field       USING 'SEL_DATE' it_extract-datab.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  PERFORM bdc_dynpro      USING 'SAPMV13A' '1703'.&lt;/P&gt;&lt;P&gt;  PERFORM bdc_field       USING 'BDC_CURSOR' 'RV13A-DATBI(01)'.&lt;/P&gt;&lt;P&gt;  PERFORM bdc_field       USING 'BDC_OKCODE' '=SICH'.&lt;/P&gt;&lt;P&gt;  PERFORM bdc_field       USING 'KOMG-VKORG' it_extract-vkorg.&lt;/P&gt;&lt;P&gt;  PERFORM bdc_field       USING 'KOMG-VTWEG' it_extract-vtweg.&lt;/P&gt;&lt;P&gt;  PERFORM bdc_field       USING 'KOMG-SPART' it_extract-spart.&lt;/P&gt;&lt;P&gt;  PERFORM bdc_field       USING 'KOMG-LAND1' it_extract-land1.&lt;/P&gt;&lt;P&gt;  PERFORM bdc_field       USING 'KOMG-MATNR(01)' it_extract-matnr.&lt;/P&gt;&lt;P&gt;  CLEAR lv_amnt.&lt;/P&gt;&lt;P&gt;  MOVE it_extract-kbetr3 TO lv_amnt.&lt;/P&gt;&lt;P&gt;  REPLACE '.' WITH ',' INTO lv_amnt.&lt;/P&gt;&lt;P&gt;  CONDENSE lv_amnt NO-GAPS.&lt;/P&gt;&lt;P&gt;  PERFORM bdc_field     USING 'KONP-KBETR(01)' lv_amnt.&lt;/P&gt;&lt;P&gt;  CLEAR lv_amnt.&lt;/P&gt;&lt;P&gt;  PERFORM bdc_field     USING 'KONP-KONWA(01)' 'EUR'.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  IF NOT it_extract-datab IS INITIAL.&lt;/P&gt;&lt;P&gt;    PERFORM bdc_field   USING 'RV13A-DATAB(01)' it_extract-datab.&lt;/P&gt;&lt;P&gt;  ELSE.&lt;/P&gt;&lt;P&gt;    PERFORM bdc_field       USING 'RV13A-DATAB(01)' sy-datum.&lt;/P&gt;&lt;P&gt;  ENDIF.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  IF NOT it_extract-datbi IS INITIAL.&lt;/P&gt;&lt;P&gt;    PERFORM bdc_field       USING 'RV13A-DATBI(01)' it_extract-datbi.&lt;/P&gt;&lt;P&gt;  ELSE.&lt;/P&gt;&lt;P&gt;    PERFORM bdc_field       USING 'RV13A-DATBI(01)' '31.12.9999'.&lt;/P&gt;&lt;P&gt;  ENDIF.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  REFRESH it_msgtab.&lt;/P&gt;&lt;P&gt;  CALL TRANSACTION 'VK12'&lt;/P&gt;&lt;P&gt;                    USING bdcdata&lt;/P&gt;&lt;P&gt;                    MODE 'N'&lt;/P&gt;&lt;P&gt;                    UPDATE 'S'&lt;/P&gt;&lt;P&gt;                    MESSAGES INTO it_msgtab.&lt;/P&gt;&lt;P&gt;  IF sy-subrc = 0.&lt;/P&gt;&lt;P&gt;    ADD 1 TO w_data_bdc_recs.&lt;/P&gt;&lt;P&gt;    DELETE ADJACENT DUPLICATES FROM it_msgtab.&lt;/P&gt;&lt;P&gt;    LOOP AT it_msgtab.&lt;/P&gt;&lt;P&gt;      CLEAR wa_msglog.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;      wa_msglog-msgid = it_msgtab-msgid.&lt;/P&gt;&lt;P&gt;      wa_msglog-msgno = it_msgtab-msgnr.&lt;/P&gt;&lt;P&gt;      wa_msglog-msgty = it_msgtab-msgtyp.&lt;/P&gt;&lt;P&gt;      wa_msglog-msgv1 = it_msgtab-msgv1.&lt;/P&gt;&lt;P&gt;      wa_msglog-msgv2 = it_msgtab-msgv2.&lt;/P&gt;&lt;P&gt;      wa_msglog-msgv3 = it_msgtab-msgv3.&lt;/P&gt;&lt;P&gt;      wa_msglog-msgv4 = it_msgtab-msgv4.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;      CALL FUNCTION 'MESSAGE_TEXTS_READ'&lt;/P&gt;&lt;P&gt;        EXPORTING&lt;/P&gt;&lt;P&gt;          msg_log_imp  = wa_msglog&lt;/P&gt;&lt;P&gt;        IMPORTING&lt;/P&gt;&lt;P&gt;          msg_text_exp = wa_msgtxt.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;      IF sy-subrc = 0.&lt;/P&gt;&lt;P&gt;        CLEAR it_errmat.&lt;/P&gt;&lt;P&gt;        it_errmat-recno = lv_count.&lt;/P&gt;&lt;P&gt;        it_errmat-kschl = it_extract-kschl1.&lt;/P&gt;&lt;P&gt;        it_errmat-matnr = it_extract-matnr.&lt;/P&gt;&lt;P&gt;        it_errmat-status = text-020.&lt;/P&gt;&lt;P&gt;        it_errmat-bdcmsg = wa_msgtxt-msgtx.&lt;/P&gt;&lt;P&gt;        APPEND it_errmat.&lt;/P&gt;&lt;P&gt;      ENDIF.&lt;/P&gt;&lt;P&gt;    ENDLOOP.&lt;/P&gt;&lt;P&gt;  ELSE.&lt;/P&gt;&lt;P&gt;    LOOP AT it_msgtab.&lt;/P&gt;&lt;P&gt;      CLEAR wa_msglog.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;      wa_msglog-msgid = it_msgtab-msgid.&lt;/P&gt;&lt;P&gt;      wa_msglog-msgno = it_msgtab-msgnr.&lt;/P&gt;&lt;P&gt;      wa_msglog-msgty = it_msgtab-msgtyp.&lt;/P&gt;&lt;P&gt;      wa_msglog-msgv1 = it_msgtab-msgv1.&lt;/P&gt;&lt;P&gt;      wa_msglog-msgv2 = it_msgtab-msgv2.&lt;/P&gt;&lt;P&gt;      wa_msglog-msgv3 = it_msgtab-msgv3.&lt;/P&gt;&lt;P&gt;      wa_msglog-msgv4 = it_msgtab-msgv4.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;      CALL FUNCTION 'MESSAGE_TEXTS_READ'&lt;/P&gt;&lt;P&gt;        EXPORTING&lt;/P&gt;&lt;P&gt;          msg_log_imp  = wa_msglog&lt;/P&gt;&lt;P&gt;        IMPORTING&lt;/P&gt;&lt;P&gt;          msg_text_exp = wa_msgtxt.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;      IF sy-subrc = 0.&lt;/P&gt;&lt;P&gt;        CLEAR it_errmat.&lt;/P&gt;&lt;P&gt;        it_errmat-recno = lv_count.&lt;/P&gt;&lt;P&gt;        it_errmat-kschl = it_extract-kschl1.&lt;/P&gt;&lt;P&gt;        it_errmat-matnr = it_extract-matnr.&lt;/P&gt;&lt;P&gt;        it_errmat-status = text-021.&lt;/P&gt;&lt;P&gt;        it_errmat-bdcmsg = wa_msgtxt-msgtx.&lt;/P&gt;&lt;P&gt;        APPEND it_errmat.&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;  COMMIT WORK AND WAIT.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;ENDFORM.                    " new_record_a703&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  new_record_a703_2&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 new_record_a703_2 .&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;*creating a new record with specified validity period.&lt;/P&gt;&lt;P&gt;  REFRESH bdcdata.&lt;/P&gt;&lt;P&gt;  CLEAR bdcdata.&lt;/P&gt;&lt;P&gt;  PERFORM bdc_dynpro      USING 'SAPMV13A' '0100'.&lt;/P&gt;&lt;P&gt;  PERFORM bdc_field       USING 'BDC_CURSOR' 'RV13A-KSCHL'.&lt;/P&gt;&lt;P&gt;  PERFORM bdc_field       USING 'BDC_OKCODE' '=ANTA'.&lt;/P&gt;&lt;P&gt;  PERFORM bdc_field       USING 'RV13A-KSCHL' it_extract-kschl2.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  PERFORM bdc_dynpro      USING 'SAPLV14A' '0100'.&lt;/P&gt;&lt;P&gt;  PERFORM bdc_field       USING 'BDC_CURSOR' 'RV130-SELKZ(01)'.&lt;/P&gt;&lt;P&gt;  PERFORM bdc_field       USING 'BDC_OKCODE' '=WEIT'.&lt;/P&gt;&lt;P&gt;  PERFORM bdc_field       USING 'RV130-SELKZ(01)'  'X'.&lt;/P&gt;&lt;P&gt;  PERFORM bdc_field       USING 'RV130-SELKZ(02)'  ''.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  PERFORM bdc_dynpro      USING 'RV13A703' '1000'.&lt;/P&gt;&lt;P&gt;  PERFORM bdc_field       USING 'BDC_CURSOR' 'F004'.&lt;/P&gt;&lt;P&gt;  PERFORM bdc_field       USING 'BDC_OKCODE' '=ONLI'.&lt;/P&gt;&lt;P&gt;  PERFORM bdc_field       USING 'F001' it_extract-vkorg.&lt;/P&gt;&lt;P&gt;  PERFORM bdc_field       USING 'F002' it_extract-vtweg.&lt;/P&gt;&lt;P&gt;  PERFORM bdc_field       USING 'F003' it_extract-spart.&lt;/P&gt;&lt;P&gt;  PERFORM bdc_field       USING 'F004' it_extract-land1.&lt;/P&gt;&lt;P&gt;  PERFORM bdc_field       USING 'F005-LOW' it_extract-matnr.&lt;/P&gt;&lt;P&gt;  PERFORM bdc_field       USING 'SEL_DATE' it_extract-datab.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  PERFORM bdc_dynpro      USING 'SAPMV13A' '1703'.&lt;/P&gt;&lt;P&gt;  PERFORM bdc_field       USING 'BDC_CURSOR' 'RV13A-DATBI(01)'.&lt;/P&gt;&lt;P&gt;  PERFORM bdc_field       USING 'BDC_OKCODE' '=SICH'.&lt;/P&gt;&lt;P&gt;  PERFORM bdc_field       USING 'KOMG-VKORG' it_extract-vkorg.&lt;/P&gt;&lt;P&gt;  PERFORM bdc_field       USING 'KOMG-VTWEG' it_extract-vtweg.&lt;/P&gt;&lt;P&gt;  PERFORM bdc_field       USING 'KOMG-SPART' it_extract-spart.&lt;/P&gt;&lt;P&gt;  PERFORM bdc_field       USING 'KOMG-LAND1' it_extract-land1.&lt;/P&gt;&lt;P&gt;  PERFORM bdc_field       USING 'KOMG-MATNR(01)' it_extract-matnr.&lt;/P&gt;&lt;P&gt;  CLEAR lv_amnt.&lt;/P&gt;&lt;P&gt;  MOVE it_extract-kbetr4 TO lv_amnt.&lt;/P&gt;&lt;P&gt;  REPLACE '.' WITH ',' INTO lv_amnt.&lt;/P&gt;&lt;P&gt;  CONDENSE lv_amnt NO-GAPS.&lt;/P&gt;&lt;P&gt;  PERFORM bdc_field     USING 'KONP-KBETR(01)' lv_amnt.&lt;/P&gt;&lt;P&gt;  CLEAR lv_amnt.&lt;/P&gt;&lt;P&gt;  PERFORM bdc_field     USING 'KONP-KONWA(01)' 'EUR'.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  IF NOT it_extract-datab IS INITIAL.&lt;/P&gt;&lt;P&gt;    PERFORM bdc_field   USING 'RV13A-DATAB(01)' it_extract-datab.&lt;/P&gt;&lt;P&gt;  ELSE.&lt;/P&gt;&lt;P&gt;    PERFORM bdc_field       USING 'RV13A-DATAB(01)' sy-datum.&lt;/P&gt;&lt;P&gt;  ENDIF.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  IF NOT it_extract-datbi IS INITIAL.&lt;/P&gt;&lt;P&gt;    PERFORM bdc_field       USING 'RV13A-DATBI(01)' it_extract-datbi.&lt;/P&gt;&lt;P&gt;  ELSE.&lt;/P&gt;&lt;P&gt;    PERFORM bdc_field       USING 'RV13A-DATBI(01)' '31.12.9999'.&lt;/P&gt;&lt;P&gt;  ENDIF.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  REFRESH it_msgtab.&lt;/P&gt;&lt;P&gt;  CALL TRANSACTION 'VK12'&lt;/P&gt;&lt;P&gt;                    USING bdcdata&lt;/P&gt;&lt;P&gt;                    MODE 'N'&lt;/P&gt;&lt;P&gt;                    UPDATE 'S'&lt;/P&gt;&lt;P&gt;                    MESSAGES INTO it_msgtab.&lt;/P&gt;&lt;P&gt;  IF sy-subrc = 0.&lt;/P&gt;&lt;P&gt;    ADD 1 TO w_data_bdc_recs.&lt;/P&gt;&lt;P&gt;    DELETE ADJACENT DUPLICATES FROM it_msgtab.&lt;/P&gt;&lt;P&gt;    LOOP AT it_msgtab.&lt;/P&gt;&lt;P&gt;      CLEAR wa_msglog.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;      wa_msglog-msgid = it_msgtab-msgid.&lt;/P&gt;&lt;P&gt;      wa_msglog-msgno = it_msgtab-msgnr.&lt;/P&gt;&lt;P&gt;      wa_msglog-msgty = it_msgtab-msgtyp.&lt;/P&gt;&lt;P&gt;      wa_msglog-msgv1 = it_msgtab-msgv1.&lt;/P&gt;&lt;P&gt;      wa_msglog-msgv2 = it_msgtab-msgv2.&lt;/P&gt;&lt;P&gt;      wa_msglog-msgv3 = it_msgtab-msgv3.&lt;/P&gt;&lt;P&gt;      wa_msglog-msgv4 = it_msgtab-msgv4.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;      CALL FUNCTION 'MESSAGE_TEXTS_READ'&lt;/P&gt;&lt;P&gt;        EXPORTING&lt;/P&gt;&lt;P&gt;          msg_log_imp  = wa_msglog&lt;/P&gt;&lt;P&gt;        IMPORTING&lt;/P&gt;&lt;P&gt;          msg_text_exp = wa_msgtxt.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;      IF sy-subrc = 0.&lt;/P&gt;&lt;P&gt;        CLEAR it_errmat.&lt;/P&gt;&lt;P&gt;        it_errmat-recno = lv_count.&lt;/P&gt;&lt;P&gt;        it_errmat-kschl = it_extract-kschl2.&lt;/P&gt;&lt;P&gt;        it_errmat-matnr = it_extract-matnr.&lt;/P&gt;&lt;P&gt;        it_errmat-status = text-020.&lt;/P&gt;&lt;P&gt;        it_errmat-bdcmsg = wa_msgtxt-msgtx.&lt;/P&gt;&lt;P&gt;        APPEND it_errmat.&lt;/P&gt;&lt;P&gt;      ENDIF.&lt;/P&gt;&lt;P&gt;    ENDLOOP.&lt;/P&gt;&lt;P&gt;  ELSE.&lt;/P&gt;&lt;P&gt;    LOOP AT it_msgtab.&lt;/P&gt;&lt;P&gt;      CLEAR wa_msglog.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;      wa_msglog-msgid = it_msgtab-msgid.&lt;/P&gt;&lt;P&gt;      wa_msglog-msgno = it_msgtab-msgnr.&lt;/P&gt;&lt;P&gt;      wa_msglog-msgty = it_msgtab-msgtyp.&lt;/P&gt;&lt;P&gt;      wa_msglog-msgv1 = it_msgtab-msgv1.&lt;/P&gt;&lt;P&gt;      wa_msglog-msgv2 = it_msgtab-msgv2.&lt;/P&gt;&lt;P&gt;      wa_msglog-msgv3 = it_msgtab-msgv3.&lt;/P&gt;&lt;P&gt;      wa_msglog-msgv4 = it_msgtab-msgv4.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;      CALL FUNCTION 'MESSAGE_TEXTS_READ'&lt;/P&gt;&lt;P&gt;        EXPORTING&lt;/P&gt;&lt;P&gt;          msg_log_imp  = wa_msglog&lt;/P&gt;&lt;P&gt;        IMPORTING&lt;/P&gt;&lt;P&gt;          msg_text_exp = wa_msgtxt.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;      IF sy-subrc = 0.&lt;/P&gt;&lt;P&gt;        CLEAR it_errmat.&lt;/P&gt;&lt;P&gt;        it_errmat-recno = lv_count.&lt;/P&gt;&lt;P&gt;        it_errmat-kschl = it_extract-kschl2.&lt;/P&gt;&lt;P&gt;        it_errmat-matnr = it_extract-matnr.&lt;/P&gt;&lt;P&gt;        it_errmat-status = text-021.&lt;/P&gt;&lt;P&gt;        it_errmat-bdcmsg = wa_msgtxt-msgtx.&lt;/P&gt;&lt;P&gt;        APPEND it_errmat.&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;  COMMIT WORK AND WAIT.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;ENDFORM.                    " new_record_a703_2&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  new_record_a004_2&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 new_record_a004_2 .&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;*creating a new record with specified validity period.&lt;/P&gt;&lt;P&gt;  REFRESH bdcdata.&lt;/P&gt;&lt;P&gt;  CLEAR bdcdata.&lt;/P&gt;&lt;P&gt;  PERFORM bdc_dynpro      USING 'SAPMV13A' '0100'.&lt;/P&gt;&lt;P&gt;  PERFORM bdc_field       USING 'BDC_CURSOR' 'RV13A-KSCHL'.&lt;/P&gt;&lt;P&gt;  PERFORM bdc_field       USING 'BDC_OKCODE' '=ANTA'.&lt;/P&gt;&lt;P&gt;  PERFORM bdc_field       USING 'RV13A-KSCHL' it_extract-kschl2.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  PERFORM bdc_dynpro      USING 'SAPLV14A' '0100'.&lt;/P&gt;&lt;P&gt;  PERFORM bdc_field       USING 'BDC_CURSOR' 'RV130-SELKZ(02)'.&lt;/P&gt;&lt;P&gt;  PERFORM bdc_field       USING 'BDC_OKCODE' '=WEIT'.&lt;/P&gt;&lt;P&gt;  PERFORM bdc_field       USING 'RV130-SELKZ(01)' ''.&lt;/P&gt;&lt;P&gt;  PERFORM bdc_field       USING 'RV130-SELKZ(02)' 'X'.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  PERFORM bdc_dynpro      USING 'RV13A004' '1000'.&lt;/P&gt;&lt;P&gt;  PERFORM bdc_field       USING 'BDC_CURSOR' 'F003-LOW'.&lt;/P&gt;&lt;P&gt;  PERFORM bdc_field       USING 'BDC_OKCODE' '=ONLI'.&lt;/P&gt;&lt;P&gt;  PERFORM bdc_field       USING 'F001' it_extract-vkorg.&lt;/P&gt;&lt;P&gt;  PERFORM bdc_field       USING 'F002' it_extract-vtweg.&lt;/P&gt;&lt;P&gt;  PERFORM bdc_field       USING 'F003-LOW' it_extract-matnr.&lt;/P&gt;&lt;P&gt;  PERFORM bdc_field       USING 'SEL_DATE' it_extract-datab.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  PERFORM bdc_dynpro      USING 'SAPMV13A' '1004'.&lt;/P&gt;&lt;P&gt;  PERFORM bdc_field       USING 'BDC_CURSOR' 'RV13A-DATBI(01)'.&lt;/P&gt;&lt;P&gt;  PERFORM bdc_field       USING 'BDC_OKCODE' '=SICH'.&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt; PERFORM bdc_field       USING 'KOMG-VKORG' it_extract-vkorg.&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt; PERFORM bdc_field       USING 'KOMG-VTWEG' it_extract-vtweg.&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt; PERFORM bdc_field       USING 'KOMG-MATNR(01)' it_extract-matnr.&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;  CLEAR lv_amnt.&lt;/P&gt;&lt;P&gt;  MOVE it_extract-kbetr4 TO lv_amnt.&lt;/P&gt;&lt;P&gt;  REPLACE '.' WITH ',' INTO lv_amnt.&lt;/P&gt;&lt;P&gt;  CONDENSE lv_amnt NO-GAPS.&lt;/P&gt;&lt;P&gt;  PERFORM bdc_field     USING 'KONP-KBETR(01)' lv_amnt.&lt;/P&gt;&lt;P&gt;  CLEAR lv_amnt.&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt; PERFORM bdc_field       USING 'KONP-KONWA(01)' 'EUR'.&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  IF NOT it_extract-datab IS INITIAL.&lt;/P&gt;&lt;P&gt;    PERFORM bdc_field       USING 'RV13A-DATAB(01)' it_extract-datab.&lt;/P&gt;&lt;P&gt;  ELSE.&lt;/P&gt;&lt;P&gt;    PERFORM bdc_field       USING 'RV13A-DATAB(01)' sy-datum.&lt;/P&gt;&lt;P&gt;  ENDIF.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  IF NOT it_extract-datbi IS INITIAL.&lt;/P&gt;&lt;P&gt;    PERFORM bdc_field       USING 'RV13A-DATBI(01)' it_extract-datbi.&lt;/P&gt;&lt;P&gt;  ELSE.&lt;/P&gt;&lt;P&gt;    PERFORM bdc_field       USING 'RV13A-DATBI(01)' '31.12.9999'.&lt;/P&gt;&lt;P&gt;  ENDIF.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  REFRESH it_msgtab.&lt;/P&gt;&lt;P&gt;  CALL TRANSACTION 'VK12'&lt;/P&gt;&lt;P&gt;                    USING bdcdata&lt;/P&gt;&lt;P&gt;                    MODE 'N'&lt;/P&gt;&lt;P&gt;                    UPDATE 'S'&lt;/P&gt;&lt;P&gt;                    MESSAGES INTO it_msgtab.&lt;/P&gt;&lt;P&gt;  IF sy-subrc = 0.&lt;/P&gt;&lt;P&gt;    ADD 1 TO w_data_bdc_recs.&lt;/P&gt;&lt;P&gt;    DELETE ADJACENT DUPLICATES FROM it_msgtab.&lt;/P&gt;&lt;P&gt;    LOOP AT it_msgtab.&lt;/P&gt;&lt;P&gt;      CLEAR wa_msglog.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;      wa_msglog-msgid = it_msgtab-msgid.&lt;/P&gt;&lt;P&gt;      wa_msglog-msgno = it_msgtab-msgnr.&lt;/P&gt;&lt;P&gt;      wa_msglog-msgty = it_msgtab-msgtyp.&lt;/P&gt;&lt;P&gt;      wa_msglog-msgv1 = it_msgtab-msgv1.&lt;/P&gt;&lt;P&gt;      wa_msglog-msgv2 = it_msgtab-msgv2.&lt;/P&gt;&lt;P&gt;      wa_msglog-msgv3 = it_msgtab-msgv3.&lt;/P&gt;&lt;P&gt;      wa_msglog-msgv4 = it_msgtab-msgv4.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;      CALL FUNCTION 'MESSAGE_TEXTS_READ'&lt;/P&gt;&lt;P&gt;        EXPORTING&lt;/P&gt;&lt;P&gt;          msg_log_imp  = wa_msglog&lt;/P&gt;&lt;P&gt;        IMPORTING&lt;/P&gt;&lt;P&gt;          msg_text_exp = wa_msgtxt.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;      IF sy-subrc = 0.&lt;/P&gt;&lt;P&gt;        CLEAR it_errmat.&lt;/P&gt;&lt;P&gt;        it_errmat-recno = lv_count.&lt;/P&gt;&lt;P&gt;        it_errmat-kschl = it_extract-kschl2.&lt;/P&gt;&lt;P&gt;        it_errmat-matnr = it_extract-matnr.&lt;/P&gt;&lt;P&gt;        it_errmat-status = text-020.&lt;/P&gt;&lt;P&gt;        it_errmat-bdcmsg = wa_msgtxt-msgtx.&lt;/P&gt;&lt;P&gt;        APPEND it_errmat.&lt;/P&gt;&lt;P&gt;      ENDIF.&lt;/P&gt;&lt;P&gt;    ENDLOOP.&lt;/P&gt;&lt;P&gt;  ELSE.&lt;/P&gt;&lt;P&gt;    LOOP AT it_msgtab.&lt;/P&gt;&lt;P&gt;      CLEAR wa_msglog.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;      wa_msglog-msgid = it_msgtab-msgid.&lt;/P&gt;&lt;P&gt;      wa_msglog-msgno = it_msgtab-msgnr.&lt;/P&gt;&lt;P&gt;      wa_msglog-msgty = it_msgtab-msgtyp.&lt;/P&gt;&lt;P&gt;      wa_msglog-msgv1 = it_msgtab-msgv1.&lt;/P&gt;&lt;P&gt;      wa_msglog-msgv2 = it_msgtab-msgv2.&lt;/P&gt;&lt;P&gt;      wa_msglog-msgv3 = it_msgtab-msgv3.&lt;/P&gt;&lt;P&gt;      wa_msglog-msgv4 = it_msgtab-msgv4.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;      CALL FUNCTION 'MESSAGE_TEXTS_READ'&lt;/P&gt;&lt;P&gt;        EXPORTING&lt;/P&gt;&lt;P&gt;          msg_log_imp  = wa_msglog&lt;/P&gt;&lt;P&gt;        IMPORTING&lt;/P&gt;&lt;P&gt;          msg_text_exp = wa_msgtxt.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;      IF sy-subrc = 0.&lt;/P&gt;&lt;P&gt;        CLEAR it_errmat.&lt;/P&gt;&lt;P&gt;        it_errmat-recno = lv_count.&lt;/P&gt;&lt;P&gt;        it_errmat-kschl = it_extract-kschl2.&lt;/P&gt;&lt;P&gt;        it_errmat-matnr = it_extract-matnr.&lt;/P&gt;&lt;P&gt;        it_errmat-status = text-021.&lt;/P&gt;&lt;P&gt;        it_errmat-bdcmsg = wa_msgtxt-msgtx.&lt;/P&gt;&lt;P&gt;        APPEND it_errmat.&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;  COMMIT WORK AND WAIT.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;ENDFORM.                    " new_record_a004_2&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Hope this is useful for U.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Reward points,&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Regards,&lt;/P&gt;&lt;P&gt;Vasanth&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Wed, 12 Jul 2006 10:35:42 GMT</pubDate>
      <guid>https://community.sap.com/t5/application-development-and-automation-discussions/bdc-for-test-mode/m-p/1454784#M215057</guid>
      <dc:creator>Former Member</dc:creator>
      <dc:date>2006-07-12T10:35:42Z</dc:date>
    </item>
  </channel>
</rss>

