<?xml version="1.0" encoding="UTF-8"?>
<rss xmlns:content="http://purl.org/rss/1.0/modules/content/" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns:taxo="http://purl.org/rss/1.0/modules/taxonomy/" version="2.0">
  <channel>
    <title>topic Re: BDC in Application Development and Automation Discussions</title>
    <link>https://community.sap.com/t5/application-development-and-automation-discussions/bdc/m-p/2553481#M581720</link>
    <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;ya i got it somehow.&lt;/P&gt;&lt;P&gt;Im giving my program below...just check if its correct.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Its consists of a include file which i m specifying seperately..&lt;/P&gt;&lt;P&gt;Please tell if there is any possibilities of error....&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;****************************************************************************************************&lt;/P&gt;&lt;P&gt;MAIN PRG&lt;/P&gt;&lt;P&gt;***************&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;----&lt;/STRONG&gt;&lt;/P&gt;&lt;HR originaltext="-----------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;    Program                : ZBDC_PRD_POSTING_UPLOAD                 *&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;    Project Manager/Leader : B.R.Srikanth                            *&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;    Author                 : Kesavadas T                             *&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;    Category               : BDC PROGRAM                             *&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;    Run Frequency          : As and when required                    *&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;    Description            : PRD POSTING                             *&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;    Development Class      : ZPP                                     *&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;    Remarks                :                                         *&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;Change History                                                       *&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;--------------                                                       *&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;Date       Author             Description          Change Id         *&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;-----      ------             ------------         ---------         *&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;                                                                     *&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;                                                                     *&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;&lt;STRONG&gt;----&lt;/STRONG&gt;&lt;/P&gt;&lt;HR originaltext="-----------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;REPORT zbdc_posting&lt;/P&gt;&lt;P&gt;  NO STANDARD PAGE HEADING LINE-SIZE 255&lt;/P&gt;&lt;P&gt;  MESSAGE-ID zpp.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;******************&lt;/P&gt;&lt;P&gt;include bdcrecx1.&lt;/P&gt;&lt;P&gt;******************&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;PARAMETERS: dataset(132) LOWER CASE.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;type-pools:slis.&lt;/P&gt;&lt;P&gt;tables:MAKT.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;UL&gt;&lt;UL&gt;&lt;LI level="3" type="ul"&gt;&lt;P&gt;   DO NOT CHANGE - the generated data section - DO NOT CHANGE    ***&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;/UL&gt;&lt;/UL&gt;&lt;P&gt;*&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;  If it is nessesary to change the data section use the rules:&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;  1.) Each definition of a field exists of two lines&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;  2.) The first line shows exactly the comment&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;      '* data element: ' followed with the data element&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;      which describes the field.&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;      If you don't have a data element use the&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;      comment without a data element name&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;  3.) The second line shows the fieldname of the&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;      structure, the fieldname must consist of&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;      a fieldname and optional the character '_' and&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;      three numbers and the field length in brackets&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;  4.) Each field must be type C.&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;--&lt;/STRONG&gt;&lt;DEL&gt;&lt;STRONG&gt;&lt;/STRONG&gt;&lt;/DEL&gt;&lt;/P&gt;&lt;HR originaltext="-------------" /&gt;TO STORE FINAL DATA TO BE POSTED--&lt;HR originaltext="--------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;UL&gt;&lt;UL&gt;&lt;LI level="3" type="ul"&gt;&lt;P&gt;Generated data section with specific formatting - DO NOT CHANGE  ***&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;/UL&gt;&lt;/UL&gt;&lt;P&gt;       DATA: BEGIN OF RECORD OCCURS 0,&lt;/P&gt;&lt;P&gt;               budat_002(010),&lt;/P&gt;&lt;P&gt;               bktxt_004(025),&lt;/P&gt;&lt;P&gt;               matnr_005(018),&lt;/P&gt;&lt;P&gt;               werks_006(004),&lt;/P&gt;&lt;P&gt;               alort_007(004),&lt;/P&gt;&lt;P&gt;               erfmg_008(017),&lt;/P&gt;&lt;P&gt;             END OF record.&lt;/P&gt;&lt;UL&gt;&lt;UL&gt;&lt;UL&gt;&lt;LI level="3" type="ul"&gt;&lt;P&gt;End generated data section ***&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;/UL&gt;&lt;/UL&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;***********&lt;STRONG&gt;INTERNAL TABLE TO STORE MESSAGE STATUS&lt;/STRONG&gt;**********&lt;/P&gt;&lt;P&gt;data: begin of messages occurs 0,&lt;/P&gt;&lt;P&gt;               budat_002(010),&lt;/P&gt;&lt;P&gt;               bktxt_004(025),&lt;/P&gt;&lt;P&gt;               matnr_005(018),&lt;/P&gt;&lt;P&gt;               maktx type makt-maktx,&lt;/P&gt;&lt;P&gt;               werks_006(004),&lt;/P&gt;&lt;P&gt;               alort_007(004),&lt;/P&gt;&lt;P&gt;               erfmg_008(017),&lt;/P&gt;&lt;P&gt;               text(100) ,&lt;/P&gt;&lt;P&gt;               msgtyp type c,&lt;/P&gt;&lt;P&gt;               cellcolor type lvc_t_scol,&lt;/P&gt;&lt;P&gt;     end of messages.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;***&lt;STRONG&gt;INTERNAL TABLES TO STORE ACCEPTED AND REJECTED PRD ENTRIES&lt;/STRONG&gt;*****&lt;/P&gt;&lt;P&gt;       DATA: it_acc LIKE TABLE OF record WITH HEADER LINE.&lt;/P&gt;&lt;P&gt;       DATA: it_rej LIKE TABLE OF record WITH HEADER LINE.&lt;/P&gt;&lt;P&gt;********************************************************************&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;******&lt;STRONG&gt;INTERNAL TABLE TO STORE UPLOADED DATA&lt;/STRONG&gt;****************&lt;/P&gt;&lt;P&gt;       DATA: BEGIN OF st_record1 ,&lt;/P&gt;&lt;P&gt;              matnr_005(018),&lt;/P&gt;&lt;P&gt;              werks_006(004),&lt;/P&gt;&lt;P&gt;              budat_002(010),&lt;/P&gt;&lt;P&gt;              bktxt_004(025),&lt;/P&gt;&lt;P&gt;              erfmg_007(017),&lt;/P&gt;&lt;P&gt;              erfmg_008(017),&lt;/P&gt;&lt;P&gt;              alort_007(004),&lt;/P&gt;&lt;P&gt;            END OF st_record1.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;DATA: record1 LIKE TABLE OF st_record1 WITH HEADER LINE.&lt;/P&gt;&lt;P&gt;**************************************************************&lt;/P&gt;&lt;P&gt;DATA: wk_elpro type mkal-alort,&lt;/P&gt;&lt;P&gt;      wk_makt type makt-maktx.&lt;/P&gt;&lt;P&gt;*************************************************************&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;data:alvfld type slis_t_fieldcat_alv with header line,&lt;/P&gt;&lt;P&gt;     v_events TYPE slis_t_event WITH HEADER LINE,&lt;/P&gt;&lt;P&gt;     wk_events LIKE LINE OF v_events,&lt;/P&gt;&lt;P&gt;     it_list_comments TYPE slis_t_listheader,&lt;/P&gt;&lt;P&gt;     wk_list_comments    LIKE LINE OF it_list_comments,&lt;/P&gt;&lt;P&gt;     wa_color type lvc_s_scol,&lt;/P&gt;&lt;P&gt;     wk_layout        type slis_layout_alv..&lt;/P&gt;&lt;P&gt;CONSTANTS: c_formname_top_of_page TYPE slis_formname&lt;/P&gt;&lt;P&gt;                          VALUE 'F_TOP_OF_PAGE'.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;********************&lt;/P&gt;&lt;P&gt; START-OF-SELECTION.&lt;/P&gt;&lt;P&gt;********************&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;    PERFORM upload_fun.&lt;/P&gt;&lt;P&gt;    PERFORM open_group.&lt;/P&gt;&lt;P&gt;    PERFORM fill_bdc_table.&lt;/P&gt;&lt;P&gt;    PERFORM close_group.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;     loop at messages.&lt;/P&gt;&lt;P&gt;      select single maktx into wk_makt&lt;/P&gt;&lt;P&gt;        from makt client specified&lt;/P&gt;&lt;P&gt;        where mandt = sy-mandt&lt;/P&gt;&lt;P&gt;        and matnr = messages-matnr_005.&lt;/P&gt;&lt;P&gt;      move:wk_makt to messages-maktx.&lt;/P&gt;&lt;P&gt;      modify messages.&lt;/P&gt;&lt;P&gt;      clear: messages,wk_makt.&lt;/P&gt;&lt;P&gt;     endloop.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;    perform assign_colors.&lt;/P&gt;&lt;P&gt;    PERFORM f_event_build.&lt;/P&gt;&lt;P&gt;    perform assign_columns.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt; if CTU = 'X'.&lt;/P&gt;&lt;P&gt;  sort messages by matnr_005 ascending.&lt;/P&gt;&lt;P&gt;  CALL FUNCTION 'REUSE_ALV_GRID_DISPLAY'&lt;/P&gt;&lt;P&gt;    EXPORTING&lt;/P&gt;&lt;P&gt;      i_callback_program = sy-repid&lt;/P&gt;&lt;P&gt;      i_background_id    = 'ALV_BACKGROUND'&lt;/P&gt;&lt;P&gt;      it_fieldcat        = alvfld[]&lt;/P&gt;&lt;P&gt;      is_layout          = wk_layout&lt;/P&gt;&lt;P&gt;      it_events          = v_events[]&lt;/P&gt;&lt;P&gt;    TABLES&lt;/P&gt;&lt;P&gt;      t_outtab           = messages&lt;/P&gt;&lt;P&gt;    EXCEPTIONS&lt;/P&gt;&lt;P&gt;      program_error      = 1&lt;/P&gt;&lt;P&gt;      OTHERS             = 2.&lt;/P&gt;&lt;P&gt; endif.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt; END-OF-SELECTION.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;--&lt;/STRONG&gt;&lt;DEL&gt;&lt;STRONG&gt;&lt;/STRONG&gt;&lt;/DEL&gt;&lt;/P&gt;&lt;HR originaltext="------------------------" /&gt;FORM UPLOAD_FUN--&lt;HR originaltext="------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt; FORM upload_fun.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;    REFRESH: record1,it_acc,it_rej,RECORD,messages.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;       CALL FUNCTION 'UPLOAD'&lt;/P&gt;&lt;P&gt;           EXPORTING&lt;/P&gt;&lt;P&gt;             filename                = ' '&lt;/P&gt;&lt;P&gt;             filetype                = 'DAT'&lt;/P&gt;&lt;P&gt;           TABLES&lt;/P&gt;&lt;P&gt;             data_tab                = record1&lt;/P&gt;&lt;P&gt;           EXCEPTIONS&lt;/P&gt;&lt;P&gt;             conversion_error        = 1&lt;/P&gt;&lt;P&gt;             invalid_table_width     = 2&lt;/P&gt;&lt;P&gt;             invalid_type            = 3&lt;/P&gt;&lt;P&gt;             no_batch                = 4&lt;/P&gt;&lt;P&gt;             unknown_error           = 5&lt;/P&gt;&lt;P&gt;             gui_refuse_filetransfer = 6&lt;/P&gt;&lt;P&gt;             OTHERS                  = 7.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;         CLEAR record1.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;--&lt;/STRONG&gt;&lt;DEL&gt;&lt;STRONG&gt;&lt;/STRONG&gt;&lt;/DEL&gt;&lt;/P&gt;&lt;HR originaltext="--------" /&gt;DO NOT UPLOAD WHERE PRD QTY = 0--&lt;HR originaltext="------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;         DELETE record1 WHERE ( erfmg_007 = 0 OR erfmg_007 = ' ' )&lt;/P&gt;&lt;P&gt;                        AND   ( erfmg_008 = 0 OR erfmg_008 = ' ' ).&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;         DESCRIBE TABLE record1[].&lt;/P&gt;&lt;P&gt;         IF sy-tfill &amp;gt; 0.&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;----&lt;/STRONG&gt;&lt;/P&gt;&lt;HR originaltext="-------" /&gt;MOVE ACCEPTED QTY AND FETCH THE RESPECTIVE STGLOC&lt;P&gt;&lt;/P&gt;&lt;P&gt;           LOOP AT record1 WHERE erfmg_007 NE 0 AND erfmg_007 NE ' '.&lt;/P&gt;&lt;P&gt;             MOVE:    record1-budat_002 TO it_acc-budat_002,&lt;/P&gt;&lt;P&gt;                      record1-bktxt_004 TO it_acc-bktxt_004,&lt;/P&gt;&lt;P&gt;                      record1-matnr_005 TO it_acc-matnr_005,&lt;/P&gt;&lt;P&gt;                      record1-werks_006 TO it_acc-werks_006,&lt;/P&gt;&lt;P&gt;                      record1-erfmg_007 TO it_acc-erfmg_008.&lt;/P&gt;&lt;P&gt;             APPEND it_acc.&lt;/P&gt;&lt;P&gt;             CLEAR: it_acc,record1.&lt;/P&gt;&lt;P&gt;           ENDLOOP.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;           DELETE it_acc WHERE erfmg_008 = 0 OR erfmg_008 = ' '.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;           LOOP AT it_acc .&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;--&lt;/STRONG&gt;&lt;DEL&gt;&lt;STRONG&gt;&lt;/STRONG&gt;&lt;/DEL&gt;&lt;/P&gt;&lt;HR originaltext="--------" /&gt;MOVE ELPRO FOR THE ACCEPTED ENTRIES--&lt;HR originaltext="------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;             SELECT SINGLE elpro INTO wk_elpro&lt;/P&gt;&lt;P&gt;                    FROM mkal client specified&lt;/P&gt;&lt;P&gt;                    WHERE mandt = sy-mandt&lt;/P&gt;&lt;P&gt;                    and matnr = it_acc-matnr_005&lt;/P&gt;&lt;P&gt;                    AND werks = it_acc-werks_006.&lt;/P&gt;&lt;P&gt;             MOVE wk_elpro TO it_acc-alort_007.&lt;/P&gt;&lt;P&gt;             MODIFY it_acc.&lt;/P&gt;&lt;P&gt;             CLEAR: wk_elpro, it_acc.&lt;/P&gt;&lt;P&gt;           ENDLOOP.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;--&lt;/STRONG&gt;&lt;DEL&gt;&lt;STRONG&gt;&lt;/STRONG&gt;&lt;/DEL&gt;&lt;/P&gt;&lt;HR originaltext="----" /&gt;MOVE PRD QTY FOR REJECTED QTY--&lt;HR originaltext="--------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;           LOOP AT record1 WHERE erfmg_008 NE 0 AND erfmg_008 NE ' '.&lt;/P&gt;&lt;P&gt;             MOVE: record1-budat_002 TO it_rej-budat_002,&lt;/P&gt;&lt;P&gt;                   record1-bktxt_004 TO it_rej-bktxt_004,&lt;/P&gt;&lt;P&gt;                   record1-matnr_005 TO it_rej-matnr_005,&lt;/P&gt;&lt;P&gt;                   record1-werks_006 TO it_rej-werks_006,&lt;/P&gt;&lt;P&gt;                   record1-erfmg_008 TO it_rej-erfmg_008,&lt;/P&gt;&lt;P&gt;                   record1-alort_007 TO it_rej-alort_007.&lt;/P&gt;&lt;P&gt;             APPEND it_rej.&lt;/P&gt;&lt;P&gt;             CLEAR: it_rej,record1.&lt;/P&gt;&lt;P&gt;           ENDLOOP.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;           DELETE it_rej WHERE  erfmg_008 = 0 OR erfmg_008 = ' '.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;--&lt;/STRONG&gt;&lt;DEL&gt;&lt;STRONG&gt;&lt;/STRONG&gt;&lt;/DEL&gt;&lt;/P&gt;&lt;HR originaltext="----" /&gt;MOVE ACCEPTED AND REJECTED READINGS TO FINAL TABLE&lt;P&gt;&lt;/P&gt;&lt;P&gt;           APPEND LINES OF it_acc TO record.&lt;/P&gt;&lt;P&gt;           APPEND LINES OF it_rej TO record.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;           SORT record BY alort_007 ASCENDING.&lt;/P&gt;&lt;P&gt;           FREE : it_rej, it_acc, record1.&lt;/P&gt;&lt;P&gt;         ELSE.&lt;/P&gt;&lt;P&gt;           MESSAGE i937.&lt;/P&gt;&lt;P&gt;           STOP.&lt;/P&gt;&lt;P&gt;         ENDIF.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;ENDFORM.                    " UPLOAD_FUN&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;--&lt;/STRONG&gt;&lt;DEL&gt;&lt;STRONG&gt;&lt;/STRONG&gt;&lt;/DEL&gt;&lt;/P&gt;&lt;HR originaltext="----------------------" /&gt;FORM fill_bdc_table--&lt;HR originaltext="------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;FORM fill_bdc_table.&lt;/P&gt;&lt;P&gt;data: l_mstring(480).&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt; IF NOT record[] IS INITIAL.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  LOOP AT record.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;    PERFORM bdc_dynpro USING 'SAPLBARM' '0800'.&lt;/P&gt;&lt;P&gt;    PERFORM bdc_field  USING 'BDC_CURSOR' 'RM61B-BKTXT'.&lt;/P&gt;&lt;P&gt;    PERFORM bdc_field  USING 'BDC_OKCODE' '=ISTDA'.&lt;/P&gt;&lt;P&gt;    PERFORM bdc_field  USING 'RM61B-BUDAT' record-budat_002.&lt;/P&gt;&lt;P&gt;    PERFORM bdc_field  USING 'RM61B-BKTXT' record-bktxt_004.&lt;/P&gt;&lt;P&gt;    PERFORM bdc_field  USING 'RM61B-MATNR' record-matnr_005.&lt;/P&gt;&lt;P&gt;    PERFORM bdc_field  USING 'RM61B-WERKS' record-werks_006.&lt;/P&gt;&lt;P&gt;    PERFORM bdc_field  USING 'RM61B-ALORT' record-alort_007.&lt;/P&gt;&lt;P&gt;    PERFORM bdc_field  USING 'RM61B-ERFMG' record-erfmg_008.&lt;/P&gt;&lt;P&gt;    PERFORM bdc_dynpro USING 'SAPLCOWB' '0130'.&lt;/P&gt;&lt;P&gt;    PERFORM bdc_field  USING 'BDC_OKCODE' '=WEIT'.&lt;/P&gt;&lt;P&gt;    PERFORM bdc_field  USING 'BDC_CURSOR' 'G_COWB_HEADER-MNGTXT'.&lt;/P&gt;&lt;P&gt;    PERFORM bdc_transaction USING 'MFBF'.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;    l_mstring = t100-text. "CONTAINS THE MESSAGE THROWN&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;    if l_mstring cs '&amp;amp;1'.&lt;/P&gt;&lt;P&gt;      replace '&amp;amp;1' with messtab-msgv1 into l_mstring.&lt;/P&gt;&lt;P&gt;      replace '&amp;amp;2' with messtab-msgv2 into l_mstring.&lt;/P&gt;&lt;P&gt;      replace '&amp;amp;3' with messtab-msgv3 into l_mstring.&lt;/P&gt;&lt;P&gt;      replace '&amp;amp;4' with messtab-msgv4 into l_mstring.&lt;/P&gt;&lt;P&gt;    else.&lt;/P&gt;&lt;P&gt;      replace '&amp;amp;' with messtab-msgv1 into l_mstring.&lt;/P&gt;&lt;P&gt;      replace '&amp;amp;' with messtab-msgv2 into l_mstring.&lt;/P&gt;&lt;P&gt;      replace '&amp;amp;' with messtab-msgv3 into l_mstring.&lt;/P&gt;&lt;P&gt;      replace '&amp;amp;' with messtab-msgv4 into l_mstring.&lt;/P&gt;&lt;P&gt;    endif.&lt;/P&gt;&lt;P&gt;    condense l_mstring.&lt;/P&gt;&lt;P&gt;****&lt;STRONG&gt;MOVE RESPECTIVE MESSAGES AND RECORDS TO ITAB&lt;/STRONG&gt;**************&lt;/P&gt;&lt;P&gt;    move-corresponding record to messages.&lt;/P&gt;&lt;P&gt;    move:l_mstring to messages-text.&lt;/P&gt;&lt;P&gt;    move:messtab-msgtyp to messages-msgtyp.&lt;/P&gt;&lt;P&gt;    append messages.&lt;/P&gt;&lt;P&gt;    clear messages.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  ENDLOOP.&lt;/P&gt;&lt;P&gt;ENDIF.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;ENDFORM.                    "fill_bdc_table&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;--&lt;/STRONG&gt;&lt;DEL&gt;&lt;STRONG&gt;&lt;/STRONG&gt;&lt;/DEL&gt;&lt;/P&gt;&lt;HR originaltext="----------------------" /&gt;FORM assign_columns--&lt;HR originaltext="------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;form assign_columns .&lt;/P&gt;&lt;P&gt;  refresh alvfld.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  alvfld-fieldname  = 'MATNR_005'.&lt;/P&gt;&lt;P&gt;  alvfld-seltext_m  = 'PART NO'.&lt;/P&gt;&lt;P&gt;  append alvfld.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  alvfld-fieldname  = 'MAKTX'.&lt;/P&gt;&lt;P&gt;  alvfld-seltext_m  = 'Description'.&lt;/P&gt;&lt;P&gt;  append alvfld.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  alvfld-fieldname  = 'WERKS_006'.&lt;/P&gt;&lt;P&gt;  alvfld-seltext_m  = 'Plant'.&lt;/P&gt;&lt;P&gt;  append alvfld.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  alvfld-fieldname  = 'BUDAT_002'.&lt;/P&gt;&lt;P&gt;  alvfld-seltext_m  = 'Posting Date'.&lt;/P&gt;&lt;P&gt;  append alvfld.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  alvfld-fieldname  = 'BKTXT_004'.&lt;/P&gt;&lt;P&gt;  alvfld-seltext_m  = 'Shift'.&lt;/P&gt;&lt;P&gt;  append alvfld.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  alvfld-fieldname  = 'ERFMG_008'.&lt;/P&gt;&lt;P&gt;  alvfld-seltext_m  = 'Qty'.&lt;/P&gt;&lt;P&gt;  append alvfld.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  alvfld-fieldname  = 'ALORT_007'.&lt;/P&gt;&lt;P&gt;  alvfld-seltext_m  = 'Stgloc'.&lt;/P&gt;&lt;P&gt;  append alvfld.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  alvfld-fieldname  = 'TEXT'.&lt;/P&gt;&lt;P&gt;  alvfld-seltext_m  = 'Processed Status'.&lt;/P&gt;&lt;P&gt;  append alvfld.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;endform.                    " assign_columns&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;--&lt;/STRONG&gt;&lt;DEL&gt;&lt;STRONG&gt;&lt;/STRONG&gt;&lt;/DEL&gt;&lt;/P&gt;&lt;HR originaltext="----------------------" /&gt;FORM f_event_build--&lt;HR originaltext="------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;form f_event_build .&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  CALL FUNCTION 'REUSE_ALV_EVENTS_GET'&lt;/P&gt;&lt;P&gt;    EXPORTING&lt;/P&gt;&lt;P&gt;      i_list_type = 0&lt;/P&gt;&lt;P&gt;    IMPORTING&lt;/P&gt;&lt;P&gt;      et_events   = v_events[].&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  READ TABLE v_events WITH KEY name = slis_ev_top_of_page&lt;/P&gt;&lt;P&gt;                                           INTO wk_events.&lt;/P&gt;&lt;P&gt;  wk_LAYOUT-COLTAB_FIELDNAME = 'CELLCOLOR'. "FOR COLOUMN COLOR&lt;/P&gt;&lt;P&gt;  wk_layout-colwidth_optimize    = 'X'.&lt;/P&gt;&lt;P&gt;  IF sy-subrc = 0.&lt;/P&gt;&lt;P&gt;    MOVE c_formname_top_of_page TO wk_events-form.&lt;/P&gt;&lt;P&gt;    MODIFY v_events FROM wk_events INDEX sy-tabix.&lt;/P&gt;&lt;P&gt;  ENDIF.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;endform.                    " f_event_build&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;--&lt;/STRONG&gt;&lt;DEL&gt;&lt;STRONG&gt;&lt;/STRONG&gt;&lt;/DEL&gt;&lt;/P&gt;&lt;HR originaltext="----------------------" /&gt;FORM f_top_of_page--&lt;HR originaltext="------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;FORM f_top_of_page.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  CLEAR: it_list_comments[].&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  wk_list_comments-typ  = 'H'. "H=Header, S=Selection, A=Action&lt;/P&gt;&lt;P&gt;  wk_list_comments-key  = ''.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  wk_list_comments-info = 'BDC UPLOAD STATUS FOR PRD POSTING'.&lt;/P&gt;&lt;P&gt;  APPEND wk_list_comments TO it_list_comments.&lt;/P&gt;&lt;P&gt;  CLEAR wk_list_comments.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  CALL FUNCTION 'REUSE_ALV_COMMENTARY_WRITE'&lt;/P&gt;&lt;P&gt;    EXPORTING&lt;/P&gt;&lt;P&gt;      i_logo             = 'ENJOYSAP_LOGO'&lt;/P&gt;&lt;P&gt;      it_list_commentary = it_list_comments.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;ENDFORM.                    "F_TOP_OF_PAGE&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;--&lt;/STRONG&gt;&lt;DEL&gt;&lt;STRONG&gt;&lt;/STRONG&gt;&lt;/DEL&gt;&lt;/P&gt;&lt;HR originaltext="----------------------" /&gt;FORM assign_colors--&lt;HR originaltext="------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;form assign_colors .&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;loop at messages.&lt;/P&gt;&lt;P&gt;  case messages-msgtyp.&lt;/P&gt;&lt;P&gt;    when 'E'.&lt;/P&gt;&lt;P&gt;      move: 'TEXT' to wa_color-fname.&lt;/P&gt;&lt;P&gt;      move '6' to wa_color-color-col.&lt;/P&gt;&lt;P&gt;      move '0' to wa_color-color-int.&lt;/P&gt;&lt;P&gt;      move '1' to wa_color-color-inv.&lt;/P&gt;&lt;P&gt;      append wa_color to messages-cellcolor.&lt;/P&gt;&lt;P&gt;      modify messages transporting cellcolor.&lt;/P&gt;&lt;P&gt;    when 'S'.&lt;/P&gt;&lt;P&gt;      move: 'TEXT' to wa_color-fname.&lt;/P&gt;&lt;P&gt;      move '5' to wa_color-color-col.&lt;/P&gt;&lt;P&gt;      move '0' to wa_color-color-int.&lt;/P&gt;&lt;P&gt;      move '1' to wa_color-color-inv.&lt;/P&gt;&lt;P&gt;      append wa_color to messages-cellcolor.&lt;/P&gt;&lt;P&gt;      modify messages transporting cellcolor.&lt;/P&gt;&lt;P&gt;  endcase.&lt;/P&gt;&lt;P&gt;endloop.&lt;/P&gt;&lt;P&gt;endform.                    " assign_colors&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;**********************************************************************************************&lt;/P&gt;&lt;P&gt;INCLUDE PROGRAM&lt;/P&gt;&lt;P&gt;*******************************&lt;/P&gt;&lt;P&gt;***INCLUDE BDCRECX1.&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt; for programs doing a data transfer by creating a batch-input session&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt; and&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt; for programs doing a data transfer by CALL TRANSACTION USING&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;SELECTION-SCREEN BEGIN OF LINE.&lt;/P&gt;&lt;P&gt;  PARAMETERS SESSION RADIOBUTTON GROUP CTU.  "create session&lt;/P&gt;&lt;P&gt;  SELECTION-SCREEN COMMENT 3(20) TEXT-S07 FOR FIELD SESSION.&lt;/P&gt;&lt;P&gt;  selection-screen position 45.&lt;/P&gt;&lt;P&gt;  PARAMETERS CTU RADIOBUTTON GROUP  CTU.     "call transaction&lt;/P&gt;&lt;P&gt;  SELECTION-SCREEN COMMENT 48(20) TEXT-S08 FOR FIELD CTU.&lt;/P&gt;&lt;P&gt;SELECTION-SCREEN END OF LINE.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;SELECTION-SCREEN BEGIN OF LINE.&lt;/P&gt;&lt;P&gt;  SELECTION-SCREEN COMMENT 3(20) TEXT-S01 FOR FIELD GROUP.&lt;/P&gt;&lt;P&gt;  selection-screen position 25.&lt;/P&gt;&lt;P&gt;  PARAMETERS GROUP(12).                      "group name of session&lt;/P&gt;&lt;P&gt;  SELECTION-SCREEN COMMENT 48(20) TEXT-S05 FOR FIELD CTUMODE.&lt;/P&gt;&lt;P&gt;  selection-screen position 70.&lt;/P&gt;&lt;P&gt;  PARAMETERS CTUMODE LIKE CTU_PARAMS-DISMODE DEFAULT 'N'.&lt;/P&gt;&lt;P&gt;                                      "A: show all dynpros&lt;/P&gt;&lt;P&gt;                                      "E: show dynpro on error only&lt;/P&gt;&lt;P&gt;                                      "N: do not display dynpro&lt;/P&gt;&lt;P&gt;SELECTION-SCREEN END OF LINE.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;SELECTION-SCREEN BEGIN OF LINE.&lt;/P&gt;&lt;P&gt;  SELECTION-SCREEN COMMENT 3(20) TEXT-S02 FOR FIELD USER.&lt;/P&gt;&lt;P&gt;  selection-screen position 25.&lt;/P&gt;&lt;P&gt;  PARAMETERS: USER(12) DEFAULT SY-UNAME.     "user for session in batch&lt;/P&gt;&lt;P&gt;  SELECTION-SCREEN COMMENT 48(20) TEXT-S06 FOR FIELD CUPDATE.&lt;/P&gt;&lt;P&gt;  selection-screen position 70.&lt;/P&gt;&lt;P&gt;  PARAMETERS CUPDATE LIKE CTU_PARAMS-UPDMODE DEFAULT 'L'.&lt;/P&gt;&lt;P&gt;                                      "S: synchronously&lt;/P&gt;&lt;P&gt;                                      "A: asynchronously&lt;/P&gt;&lt;P&gt;                                      "L: local&lt;/P&gt;&lt;P&gt;SELECTION-SCREEN END OF LINE.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;SELECTION-SCREEN BEGIN OF LINE.&lt;/P&gt;&lt;P&gt;  SELECTION-SCREEN COMMENT 3(20) TEXT-S03 FOR FIELD KEEP.&lt;/P&gt;&lt;P&gt;  selection-screen position 25.&lt;/P&gt;&lt;P&gt;  PARAMETERS: KEEP AS CHECKBOX.       "' ' = delete session if finished&lt;/P&gt;&lt;P&gt;                                      "'X' = keep   session if finished&lt;/P&gt;&lt;P&gt;  SELECTION-SCREEN COMMENT 48(20) TEXT-S09 FOR FIELD E_GROUP.&lt;/P&gt;&lt;P&gt;  selection-screen position 70.&lt;/P&gt;&lt;P&gt;  parameters E_GROUP(12).             "group name of error-session&lt;/P&gt;&lt;P&gt;SELECTION-SCREEN END OF LINE.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;SELECTION-SCREEN BEGIN OF LINE.&lt;/P&gt;&lt;P&gt;  SELECTION-SCREEN COMMENT 3(20) TEXT-S04 FOR FIELD HOLDDATE.&lt;/P&gt;&lt;P&gt;  selection-screen position 25.&lt;/P&gt;&lt;P&gt;  PARAMETERS: HOLDDATE LIKE SY-DATUM.&lt;/P&gt;&lt;P&gt;  SELECTION-SCREEN COMMENT 51(17) TEXT-S02 FOR FIELD E_USER.&lt;/P&gt;&lt;P&gt;  selection-screen position 70.&lt;/P&gt;&lt;P&gt;  PARAMETERS: E_USER(12) DEFAULT SY-UNAME.    "user for error-session&lt;/P&gt;&lt;P&gt;SELECTION-SCREEN END OF LINE.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;SELECTION-SCREEN BEGIN OF LINE.&lt;/P&gt;&lt;P&gt;  SELECTION-SCREEN COMMENT 51(17) TEXT-S03 FOR FIELD E_KEEP.&lt;/P&gt;&lt;P&gt;  selection-screen position 70.&lt;/P&gt;&lt;P&gt;  PARAMETERS: E_KEEP AS CHECKBOX.     "' ' = delete session if finished&lt;/P&gt;&lt;P&gt;                                      "'X' = keep   session if finished&lt;/P&gt;&lt;P&gt;SELECTION-SCREEN END OF LINE.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;SELECTION-SCREEN BEGIN OF LINE.&lt;/P&gt;&lt;P&gt;  SELECTION-SCREEN COMMENT 51(17) TEXT-S04 FOR FIELD E_HDATE.&lt;/P&gt;&lt;P&gt;  selection-screen position 70.&lt;/P&gt;&lt;P&gt;  PARAMETERS: E_HDATE LIKE SY-DATUM.&lt;/P&gt;&lt;P&gt;SELECTION-SCREEN END OF LINE.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;SELECTION-SCREEN SKIP.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;SELECTION-SCREEN BEGIN OF LINE.&lt;/P&gt;&lt;P&gt;  SELECTION-SCREEN COMMENT 1(33) TEXT-S10 FOR FIELD NODATA.&lt;/P&gt;&lt;P&gt;  PARAMETERS: NODATA DEFAULT '/' LOWER CASE.          "nodata&lt;/P&gt;&lt;P&gt;SELECTION-SCREEN END OF LINE.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;SELECTION-SCREEN BEGIN OF LINE.&lt;/P&gt;&lt;P&gt;  SELECTION-SCREEN COMMENT 1(33) FOR FIELD SMALLLOG.&lt;/P&gt;&lt;P&gt;  PARAMETERS: SMALLLOG as checkbox.  "' ' = log all transactions&lt;/P&gt;&lt;P&gt;                                     "'X' = no transaction logging&lt;/P&gt;&lt;P&gt;SELECTION-SCREEN END OF LINE.&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;  data definition&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;      Batchinputdata of single transaction&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;DATA:   BDCDATA LIKE BDCDATA    OCCURS 0 WITH HEADER LINE.&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;      messages of call transaction&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;DATA:   MESSTAB LIKE BDCMSGCOLL OCCURS 0 WITH HEADER LINE.&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;      error session opened (' ' or 'X')&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;DATA:   E_GROUP_OPENED.&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;      message texts&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;TABLES: T100.&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;  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.&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;group and user must be filled for create session&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;  IF SESSION = 'X' AND&lt;/P&gt;&lt;P&gt;     GROUP = SPACE OR USER = SPACE.&lt;/P&gt;&lt;P&gt;    MESSAGE E613(MS).&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;  open dataset                                                       *&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 OPEN_DATASET USING P_DATASET.&lt;/P&gt;&lt;P&gt;  OPEN DATASET P_DATASET&lt;/P&gt;&lt;P&gt;               FOR INPUT IN TEXT MODE&lt;/P&gt;&lt;P&gt;               ENCODING DEFAULT.&lt;/P&gt;&lt;P&gt;  IF SY-SUBRC &amp;lt;&amp;gt; 0.&lt;/P&gt;&lt;P&gt;    WRITE: / TEXT-E00, SY-SUBRC.&lt;/P&gt;&lt;P&gt;    STOP.&lt;/P&gt;&lt;P&gt;  ENDIF.&lt;/P&gt;&lt;P&gt;ENDFORM.&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;  close dataset                                                      *&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 CLOSE_DATASET USING P_DATASET.&lt;/P&gt;&lt;P&gt;  CLOSE DATASET P_DATASET.&lt;/P&gt;&lt;P&gt;ENDFORM.&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;  create batchinput session                                          *&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;  (not for call transaction using...)                                *&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 OPEN_GROUP.&lt;/P&gt;&lt;P&gt;  IF SESSION = 'X'.&lt;/P&gt;&lt;P&gt;    SKIP.&lt;/P&gt;&lt;P&gt;    WRITE: /(20) 'Create group'(I01), GROUP.&lt;/P&gt;&lt;P&gt;    SKIP.&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;  open batchinput group&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;    CALL FUNCTION 'BDC_OPEN_GROUP'&lt;/P&gt;&lt;P&gt;         EXPORTING  CLIENT   = SY-MANDT&lt;/P&gt;&lt;P&gt;                    GROUP    = GROUP&lt;/P&gt;&lt;P&gt;                    USER     = USER&lt;/P&gt;&lt;P&gt;                    KEEP     = KEEP&lt;/P&gt;&lt;P&gt;                    HOLDDATE = HOLDDATE.&lt;/P&gt;&lt;P&gt;    WRITE: /(30) 'BDC_OPEN_GROUP'(I02),&lt;/P&gt;&lt;P&gt;            (12) 'returncode:'(I05),&lt;/P&gt;&lt;P&gt;                 SY-SUBRC.&lt;/P&gt;&lt;P&gt;  ENDIF.&lt;/P&gt;&lt;P&gt;ENDFORM.&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 batchinput session                                             *&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;  (call transaction using...: error session)                         *&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 CLOSE_GROUP.&lt;/P&gt;&lt;P&gt;  IF SESSION = 'X'.&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;  close batchinput group&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;    CALL FUNCTION 'BDC_CLOSE_GROUP'.&lt;/P&gt;&lt;P&gt;    WRITE: /(30) 'BDC_CLOSE_GROUP'(I04),&lt;/P&gt;&lt;P&gt;            (12) 'returncode:'(I05),&lt;/P&gt;&lt;P&gt;                 SY-SUBRC.&lt;/P&gt;&lt;P&gt;  ELSE.&lt;/P&gt;&lt;P&gt;    IF E_GROUP_OPENED = 'X'.&lt;/P&gt;&lt;P&gt;      CALL FUNCTION 'BDC_CLOSE_GROUP'.&lt;/P&gt;&lt;P&gt;      WRITE: /.&lt;/P&gt;&lt;P&gt;      WRITE: /(30) 'Fehlermappe wurde erzeugt'(I06).&lt;/P&gt;&lt;P&gt;      E_GROUP_OPENED = ' '.&lt;/P&gt;&lt;P&gt;    ENDIF.&lt;/P&gt;&lt;P&gt;  ENDIF.&lt;/P&gt;&lt;P&gt;ENDFORM.&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 new transaction according to parameters                 *&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_TRANSACTION USING TCODE.&lt;/P&gt;&lt;P&gt;  DATA: L_MSTRING(480).&lt;/P&gt;&lt;P&gt;  DATA: L_SUBRC LIKE SY-SUBRC.&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;batch input session&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;  IF SESSION = 'X'.&lt;/P&gt;&lt;P&gt;    CALL FUNCTION 'BDC_INSERT'&lt;/P&gt;&lt;P&gt;         EXPORTING TCODE     = TCODE&lt;/P&gt;&lt;P&gt;         TABLES    DYNPROTAB = BDCDATA.&lt;/P&gt;&lt;P&gt;    IF SMALLLOG &amp;lt;&amp;gt; 'X'.&lt;/P&gt;&lt;P&gt;      WRITE: / 'BDC_INSERT'(I03),&lt;/P&gt;&lt;P&gt;               TCODE,&lt;/P&gt;&lt;P&gt;               'returncode:'(I05),&lt;/P&gt;&lt;P&gt;               SY-SUBRC,&lt;/P&gt;&lt;P&gt;               'RECORD:',&lt;/P&gt;&lt;P&gt;               SY-INDEX.&lt;/P&gt;&lt;P&gt;    ENDIF.&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;call transaction using&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;  ELSE.&lt;/P&gt;&lt;P&gt;    REFRESH MESSTAB.&lt;/P&gt;&lt;P&gt;    CALL TRANSACTION TCODE USING BDCDATA&lt;/P&gt;&lt;P&gt;                     MODE   CTUMODE&lt;/P&gt;&lt;P&gt;                     UPDATE CUPDATE&lt;/P&gt;&lt;P&gt;                     MESSAGES INTO MESSTAB.&lt;/P&gt;&lt;P&gt;    L_SUBRC = SY-SUBRC.&lt;/P&gt;&lt;P&gt;    IF SMALLLOG &amp;lt;&amp;gt; 'X'.&lt;/P&gt;&lt;P&gt;      WRITE: / 'CALL_TRANSACTION',&lt;/P&gt;&lt;P&gt;               TCODE,&lt;/P&gt;&lt;P&gt;               'returncode:'(I05),&lt;/P&gt;&lt;P&gt;               L_SUBRC,&lt;/P&gt;&lt;P&gt;               'RECORD:',&lt;/P&gt;&lt;P&gt;               SY-INDEX.&lt;/P&gt;&lt;P&gt;      LOOP AT MESSTAB.&lt;/P&gt;&lt;P&gt;        SELECT SINGLE * FROM T100 WHERE SPRSL = MESSTAB-MSGSPRA&lt;/P&gt;&lt;P&gt;                                  AND   ARBGB = MESSTAB-MSGID&lt;/P&gt;&lt;P&gt;                                  AND   MSGNR = MESSTAB-MSGNR.&lt;/P&gt;&lt;P&gt;        IF SY-SUBRC = 0.&lt;/P&gt;&lt;P&gt;          L_MSTRING = T100-TEXT.&lt;/P&gt;&lt;P&gt;          IF L_MSTRING CS '&amp;amp;1'.&lt;/P&gt;&lt;P&gt;            REPLACE '&amp;amp;1' WITH MESSTAB-MSGV1 INTO L_MSTRING.&lt;/P&gt;&lt;P&gt;            REPLACE '&amp;amp;2' WITH MESSTAB-MSGV2 INTO L_MSTRING.&lt;/P&gt;&lt;P&gt;            REPLACE '&amp;amp;3' WITH MESSTAB-MSGV3 INTO L_MSTRING.&lt;/P&gt;&lt;P&gt;            REPLACE '&amp;amp;4' WITH MESSTAB-MSGV4 INTO L_MSTRING.&lt;/P&gt;&lt;P&gt;          ELSE.&lt;/P&gt;&lt;P&gt;            REPLACE '&amp;amp;' WITH MESSTAB-MSGV1 INTO L_MSTRING.&lt;/P&gt;&lt;P&gt;            REPLACE '&amp;amp;' WITH MESSTAB-MSGV2 INTO L_MSTRING.&lt;/P&gt;&lt;P&gt;            REPLACE '&amp;amp;' WITH MESSTAB-MSGV3 INTO L_MSTRING.&lt;/P&gt;&lt;P&gt;            REPLACE '&amp;amp;' WITH MESSTAB-MSGV4 INTO L_MSTRING.&lt;/P&gt;&lt;P&gt;          ENDIF.&lt;/P&gt;&lt;P&gt;          CONDENSE L_MSTRING.&lt;/P&gt;&lt;P&gt;          WRITE: / MESSTAB-MSGTYP, L_MSTRING(250).&lt;/P&gt;&lt;P&gt;        ELSE.&lt;/P&gt;&lt;P&gt;          WRITE: / MESSTAB.&lt;/P&gt;&lt;P&gt;        ENDIF.&lt;/P&gt;&lt;P&gt;      ENDLOOP.&lt;/P&gt;&lt;P&gt;      SKIP.&lt;/P&gt;&lt;P&gt;    ENDIF.&lt;/P&gt;&lt;UL&gt;&lt;UL&gt;&lt;LI level="2" type="ul"&gt;&lt;P&gt;Erzeugen fehlermappe ************************************************&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;/UL&gt;&lt;P&gt;    IF L_SUBRC &amp;lt;&amp;gt; 0 AND E_GROUP &amp;lt;&amp;gt; SPACE.&lt;/P&gt;&lt;P&gt;      IF E_GROUP_OPENED = ' '.&lt;/P&gt;&lt;P&gt;        CALL FUNCTION 'BDC_OPEN_GROUP'&lt;/P&gt;&lt;P&gt;             EXPORTING  CLIENT   = SY-MANDT&lt;/P&gt;&lt;P&gt;                        GROUP    = E_GROUP&lt;/P&gt;&lt;P&gt;                        USER     = E_USER&lt;/P&gt;&lt;P&gt;                        KEEP     = E_KEEP&lt;/P&gt;&lt;P&gt;                        HOLDDATE = E_HDATE.&lt;/P&gt;&lt;P&gt;         E_GROUP_OPENED = 'X'.&lt;/P&gt;&lt;P&gt;      ENDIF.&lt;/P&gt;&lt;P&gt;      CALL FUNCTION 'BDC_INSERT'&lt;/P&gt;&lt;P&gt;           EXPORTING TCODE     = TCODE&lt;/P&gt;&lt;P&gt;           TABLES    DYNPROTAB = BDCDATA.&lt;/P&gt;&lt;P&gt;    ENDIF.&lt;/P&gt;&lt;P&gt;  ENDIF.&lt;/P&gt;&lt;P&gt;  REFRESH BDCDATA.&lt;/P&gt;&lt;P&gt;ENDFORM.&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 new 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;FORM BDC_DYNPRO USING PROGRAM DYNPRO.&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;ENDFORM.&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;       Insert 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;FORM BDC_FIELD USING FNAM FVAL.&lt;/P&gt;&lt;P&gt;  IF FVAL &amp;lt;&amp;gt; NODATA.&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;  ENDIF.&lt;/P&gt;&lt;P&gt;ENDFORM.&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
    <pubDate>Wed, 18 Jul 2007 08:19:19 GMT</pubDate>
    <dc:creator>kesavadas_thekkillath</dc:creator>
    <dc:date>2007-07-18T08:19:19Z</dc:date>
    <item>
      <title>BDC</title>
      <link>https://community.sap.com/t5/application-development-and-automation-discussions/bdc/m-p/2553476#M581715</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Hi im creating a bdc for prd posting...&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;And i,m using both aleternative session and call transaction .&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;i want to print the records which are successfully posted and failure happened.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Plz help&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Kesav&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Tue, 17 Jul 2007 07:52:09 GMT</pubDate>
      <guid>https://community.sap.com/t5/application-development-and-automation-discussions/bdc/m-p/2553476#M581715</guid>
      <dc:creator>kesavadas_thekkillath</dc:creator>
      <dc:date>2007-07-17T07:52:09Z</dc:date>
    </item>
    <item>
      <title>Re: BDC</title>
      <link>https://community.sap.com/t5/application-development-and-automation-discussions/bdc/m-p/2553477#M581716</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Hi,&lt;/P&gt;&lt;P&gt;Use this,&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;      messages of call transaction&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;DATA:   MESSTAB LIKE BDCMSGCOLL OCCURS 0 WITH HEADER LINE.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;    CALL TRANSACTION TCODE USING BDCDATA&lt;/P&gt;&lt;P&gt;                     MODE   CTUMODE&lt;/P&gt;&lt;P&gt;                     UPDATE CUPDATE&lt;/P&gt;&lt;P&gt;                     MESSAGES INTO MESSTAB.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt; L_SUBRC = SY-SUBRC.&lt;/P&gt;&lt;P&gt;    IF SMALLLOG &amp;lt;&amp;gt; 'X'.&lt;/P&gt;&lt;P&gt;      WRITE: / 'CALL_TRANSACTION',&lt;/P&gt;&lt;P&gt;               TCODE,&lt;/P&gt;&lt;P&gt;               'returncode:'(I05),&lt;/P&gt;&lt;P&gt;               L_SUBRC,&lt;/P&gt;&lt;P&gt;               'RECORD:',&lt;/P&gt;&lt;P&gt;               SY-INDEX.&lt;/P&gt;&lt;P&gt;      LOOP AT MESSTAB.&lt;/P&gt;&lt;P&gt;        SELECT SINGLE * FROM T100 WHERE SPRSL = MESSTAB-MSGSPRA&lt;/P&gt;&lt;P&gt;                                  AND   ARBGB = MESSTAB-MSGID&lt;/P&gt;&lt;P&gt;                                  AND   MSGNR = MESSTAB-MSGNR.&lt;/P&gt;&lt;P&gt;        IF SY-SUBRC = 0.&lt;/P&gt;&lt;P&gt;          L_MSTRING = T100-TEXT.&lt;/P&gt;&lt;P&gt;          IF L_MSTRING CS '&amp;amp;1'.&lt;/P&gt;&lt;P&gt;            REPLACE '&amp;amp;1' WITH MESSTAB-MSGV1 INTO L_MSTRING.&lt;/P&gt;&lt;P&gt;            REPLACE '&amp;amp;2' WITH MESSTAB-MSGV2 INTO L_MSTRING.&lt;/P&gt;&lt;P&gt;            REPLACE '&amp;amp;3' WITH MESSTAB-MSGV3 INTO L_MSTRING.&lt;/P&gt;&lt;P&gt;            REPLACE '&amp;amp;4' WITH MESSTAB-MSGV4 INTO L_MSTRING.&lt;/P&gt;&lt;P&gt;          ELSE.&lt;/P&gt;&lt;P&gt;            REPLACE '&amp;amp;' WITH MESSTAB-MSGV1 INTO L_MSTRING.&lt;/P&gt;&lt;P&gt;            REPLACE '&amp;amp;' WITH MESSTAB-MSGV2 INTO L_MSTRING.&lt;/P&gt;&lt;P&gt;            REPLACE '&amp;amp;' WITH MESSTAB-MSGV3 INTO L_MSTRING.&lt;/P&gt;&lt;P&gt;            REPLACE '&amp;amp;' WITH MESSTAB-MSGV4 INTO L_MSTRING.&lt;/P&gt;&lt;P&gt;          ENDIF.&lt;/P&gt;&lt;P&gt;          CONDENSE L_MSTRING.&lt;/P&gt;&lt;P&gt;          WRITE: / MESSTAB-MSGTYP, L_MSTRING(250).&lt;/P&gt;&lt;P&gt;        ELSE.&lt;/P&gt;&lt;P&gt;          WRITE: / MESSTAB.&lt;/P&gt;&lt;P&gt;        ENDIF.&lt;/P&gt;&lt;P&gt;      ENDLOOP.&lt;/P&gt;&lt;P&gt;      SKIP.&lt;/P&gt;&lt;P&gt;    ENDIF.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Reward if useful!&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Tue, 17 Jul 2007 07:54:25 GMT</pubDate>
      <guid>https://community.sap.com/t5/application-development-and-automation-discussions/bdc/m-p/2553477#M581716</guid>
      <dc:creator>Former Member</dc:creator>
      <dc:date>2007-07-17T07:54:25Z</dc:date>
    </item>
    <item>
      <title>Re: BDC</title>
      <link>https://community.sap.com/t5/application-development-and-automation-discussions/bdc/m-p/2553478#M581717</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;hi,&lt;/P&gt;&lt;P&gt;Use BDCMSGCOLL.&lt;/P&gt;&lt;P&gt;It will handle both the error and success messages.&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Tue, 17 Jul 2007 07:54:26 GMT</pubDate>
      <guid>https://community.sap.com/t5/application-development-and-automation-discussions/bdc/m-p/2553478#M581717</guid>
      <dc:creator>Former Member</dc:creator>
      <dc:date>2007-07-17T07:54:26Z</dc:date>
    </item>
    <item>
      <title>Re: BDC</title>
      <link>https://community.sap.com/t5/application-development-and-automation-discussions/bdc/m-p/2553479#M581718</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;dear prasad,,,,i have applied this...but my question is i need to print all the records posted and among them highlight the succesfull one and failed one&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Tue, 17 Jul 2007 07:56:53 GMT</pubDate>
      <guid>https://community.sap.com/t5/application-development-and-automation-discussions/bdc/m-p/2553479#M581718</guid>
      <dc:creator>kesavadas_thekkillath</dc:creator>
      <dc:date>2007-07-17T07:56:53Z</dc:date>
    </item>
    <item>
      <title>Re: BDC</title>
      <link>https://community.sap.com/t5/application-development-and-automation-discussions/bdc/m-p/2553480#M581719</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Check your transaction messages. If you get a success message when saving your document, double click on it and get it's ID and Number.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;After the CALL TRANSACTION (using the MESSAGES variant), check your messages table looking for that ID and Number. If you find it, write your row as a success, if not, write it as a failure (will be helpful if you manage to keep all your failures into another internal table, to be able to get more information about the BI process).&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;I found in the past not all "failed" transactions deliver error messages, it's because that I say you to keep that ID and Number.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Good luck,&lt;/P&gt;&lt;P&gt;Vic&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Tue, 17 Jul 2007 08:13:48 GMT</pubDate>
      <guid>https://community.sap.com/t5/application-development-and-automation-discussions/bdc/m-p/2553480#M581719</guid>
      <dc:creator>VXLozano</dc:creator>
      <dc:date>2007-07-17T08:13:48Z</dc:date>
    </item>
    <item>
      <title>Re: BDC</title>
      <link>https://community.sap.com/t5/application-development-and-automation-discussions/bdc/m-p/2553481#M581720</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;ya i got it somehow.&lt;/P&gt;&lt;P&gt;Im giving my program below...just check if its correct.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Its consists of a include file which i m specifying seperately..&lt;/P&gt;&lt;P&gt;Please tell if there is any possibilities of error....&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;****************************************************************************************************&lt;/P&gt;&lt;P&gt;MAIN PRG&lt;/P&gt;&lt;P&gt;***************&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;----&lt;/STRONG&gt;&lt;/P&gt;&lt;HR originaltext="-----------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;    Program                : ZBDC_PRD_POSTING_UPLOAD                 *&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;    Project Manager/Leader : B.R.Srikanth                            *&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;    Author                 : Kesavadas T                             *&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;    Category               : BDC PROGRAM                             *&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;    Run Frequency          : As and when required                    *&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;    Description            : PRD POSTING                             *&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;    Development Class      : ZPP                                     *&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;    Remarks                :                                         *&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;Change History                                                       *&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;--------------                                                       *&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;Date       Author             Description          Change Id         *&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;-----      ------             ------------         ---------         *&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;                                                                     *&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;                                                                     *&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;&lt;STRONG&gt;----&lt;/STRONG&gt;&lt;/P&gt;&lt;HR originaltext="-----------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;REPORT zbdc_posting&lt;/P&gt;&lt;P&gt;  NO STANDARD PAGE HEADING LINE-SIZE 255&lt;/P&gt;&lt;P&gt;  MESSAGE-ID zpp.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;******************&lt;/P&gt;&lt;P&gt;include bdcrecx1.&lt;/P&gt;&lt;P&gt;******************&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;PARAMETERS: dataset(132) LOWER CASE.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;type-pools:slis.&lt;/P&gt;&lt;P&gt;tables:MAKT.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;UL&gt;&lt;UL&gt;&lt;LI level="3" type="ul"&gt;&lt;P&gt;   DO NOT CHANGE - the generated data section - DO NOT CHANGE    ***&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;/UL&gt;&lt;/UL&gt;&lt;P&gt;*&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;  If it is nessesary to change the data section use the rules:&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;  1.) Each definition of a field exists of two lines&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;  2.) The first line shows exactly the comment&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;      '* data element: ' followed with the data element&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;      which describes the field.&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;      If you don't have a data element use the&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;      comment without a data element name&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;  3.) The second line shows the fieldname of the&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;      structure, the fieldname must consist of&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;      a fieldname and optional the character '_' and&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;      three numbers and the field length in brackets&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;  4.) Each field must be type C.&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;--&lt;/STRONG&gt;&lt;DEL&gt;&lt;STRONG&gt;&lt;/STRONG&gt;&lt;/DEL&gt;&lt;/P&gt;&lt;HR originaltext="-------------" /&gt;TO STORE FINAL DATA TO BE POSTED--&lt;HR originaltext="--------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;UL&gt;&lt;UL&gt;&lt;LI level="3" type="ul"&gt;&lt;P&gt;Generated data section with specific formatting - DO NOT CHANGE  ***&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;/UL&gt;&lt;/UL&gt;&lt;P&gt;       DATA: BEGIN OF RECORD OCCURS 0,&lt;/P&gt;&lt;P&gt;               budat_002(010),&lt;/P&gt;&lt;P&gt;               bktxt_004(025),&lt;/P&gt;&lt;P&gt;               matnr_005(018),&lt;/P&gt;&lt;P&gt;               werks_006(004),&lt;/P&gt;&lt;P&gt;               alort_007(004),&lt;/P&gt;&lt;P&gt;               erfmg_008(017),&lt;/P&gt;&lt;P&gt;             END OF record.&lt;/P&gt;&lt;UL&gt;&lt;UL&gt;&lt;UL&gt;&lt;LI level="3" type="ul"&gt;&lt;P&gt;End generated data section ***&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;/UL&gt;&lt;/UL&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;***********&lt;STRONG&gt;INTERNAL TABLE TO STORE MESSAGE STATUS&lt;/STRONG&gt;**********&lt;/P&gt;&lt;P&gt;data: begin of messages occurs 0,&lt;/P&gt;&lt;P&gt;               budat_002(010),&lt;/P&gt;&lt;P&gt;               bktxt_004(025),&lt;/P&gt;&lt;P&gt;               matnr_005(018),&lt;/P&gt;&lt;P&gt;               maktx type makt-maktx,&lt;/P&gt;&lt;P&gt;               werks_006(004),&lt;/P&gt;&lt;P&gt;               alort_007(004),&lt;/P&gt;&lt;P&gt;               erfmg_008(017),&lt;/P&gt;&lt;P&gt;               text(100) ,&lt;/P&gt;&lt;P&gt;               msgtyp type c,&lt;/P&gt;&lt;P&gt;               cellcolor type lvc_t_scol,&lt;/P&gt;&lt;P&gt;     end of messages.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;***&lt;STRONG&gt;INTERNAL TABLES TO STORE ACCEPTED AND REJECTED PRD ENTRIES&lt;/STRONG&gt;*****&lt;/P&gt;&lt;P&gt;       DATA: it_acc LIKE TABLE OF record WITH HEADER LINE.&lt;/P&gt;&lt;P&gt;       DATA: it_rej LIKE TABLE OF record WITH HEADER LINE.&lt;/P&gt;&lt;P&gt;********************************************************************&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;******&lt;STRONG&gt;INTERNAL TABLE TO STORE UPLOADED DATA&lt;/STRONG&gt;****************&lt;/P&gt;&lt;P&gt;       DATA: BEGIN OF st_record1 ,&lt;/P&gt;&lt;P&gt;              matnr_005(018),&lt;/P&gt;&lt;P&gt;              werks_006(004),&lt;/P&gt;&lt;P&gt;              budat_002(010),&lt;/P&gt;&lt;P&gt;              bktxt_004(025),&lt;/P&gt;&lt;P&gt;              erfmg_007(017),&lt;/P&gt;&lt;P&gt;              erfmg_008(017),&lt;/P&gt;&lt;P&gt;              alort_007(004),&lt;/P&gt;&lt;P&gt;            END OF st_record1.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;DATA: record1 LIKE TABLE OF st_record1 WITH HEADER LINE.&lt;/P&gt;&lt;P&gt;**************************************************************&lt;/P&gt;&lt;P&gt;DATA: wk_elpro type mkal-alort,&lt;/P&gt;&lt;P&gt;      wk_makt type makt-maktx.&lt;/P&gt;&lt;P&gt;*************************************************************&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;data:alvfld type slis_t_fieldcat_alv with header line,&lt;/P&gt;&lt;P&gt;     v_events TYPE slis_t_event WITH HEADER LINE,&lt;/P&gt;&lt;P&gt;     wk_events LIKE LINE OF v_events,&lt;/P&gt;&lt;P&gt;     it_list_comments TYPE slis_t_listheader,&lt;/P&gt;&lt;P&gt;     wk_list_comments    LIKE LINE OF it_list_comments,&lt;/P&gt;&lt;P&gt;     wa_color type lvc_s_scol,&lt;/P&gt;&lt;P&gt;     wk_layout        type slis_layout_alv..&lt;/P&gt;&lt;P&gt;CONSTANTS: c_formname_top_of_page TYPE slis_formname&lt;/P&gt;&lt;P&gt;                          VALUE 'F_TOP_OF_PAGE'.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;********************&lt;/P&gt;&lt;P&gt; START-OF-SELECTION.&lt;/P&gt;&lt;P&gt;********************&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;    PERFORM upload_fun.&lt;/P&gt;&lt;P&gt;    PERFORM open_group.&lt;/P&gt;&lt;P&gt;    PERFORM fill_bdc_table.&lt;/P&gt;&lt;P&gt;    PERFORM close_group.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;     loop at messages.&lt;/P&gt;&lt;P&gt;      select single maktx into wk_makt&lt;/P&gt;&lt;P&gt;        from makt client specified&lt;/P&gt;&lt;P&gt;        where mandt = sy-mandt&lt;/P&gt;&lt;P&gt;        and matnr = messages-matnr_005.&lt;/P&gt;&lt;P&gt;      move:wk_makt to messages-maktx.&lt;/P&gt;&lt;P&gt;      modify messages.&lt;/P&gt;&lt;P&gt;      clear: messages,wk_makt.&lt;/P&gt;&lt;P&gt;     endloop.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;    perform assign_colors.&lt;/P&gt;&lt;P&gt;    PERFORM f_event_build.&lt;/P&gt;&lt;P&gt;    perform assign_columns.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt; if CTU = 'X'.&lt;/P&gt;&lt;P&gt;  sort messages by matnr_005 ascending.&lt;/P&gt;&lt;P&gt;  CALL FUNCTION 'REUSE_ALV_GRID_DISPLAY'&lt;/P&gt;&lt;P&gt;    EXPORTING&lt;/P&gt;&lt;P&gt;      i_callback_program = sy-repid&lt;/P&gt;&lt;P&gt;      i_background_id    = 'ALV_BACKGROUND'&lt;/P&gt;&lt;P&gt;      it_fieldcat        = alvfld[]&lt;/P&gt;&lt;P&gt;      is_layout          = wk_layout&lt;/P&gt;&lt;P&gt;      it_events          = v_events[]&lt;/P&gt;&lt;P&gt;    TABLES&lt;/P&gt;&lt;P&gt;      t_outtab           = messages&lt;/P&gt;&lt;P&gt;    EXCEPTIONS&lt;/P&gt;&lt;P&gt;      program_error      = 1&lt;/P&gt;&lt;P&gt;      OTHERS             = 2.&lt;/P&gt;&lt;P&gt; endif.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt; END-OF-SELECTION.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;--&lt;/STRONG&gt;&lt;DEL&gt;&lt;STRONG&gt;&lt;/STRONG&gt;&lt;/DEL&gt;&lt;/P&gt;&lt;HR originaltext="------------------------" /&gt;FORM UPLOAD_FUN--&lt;HR originaltext="------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt; FORM upload_fun.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;    REFRESH: record1,it_acc,it_rej,RECORD,messages.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;       CALL FUNCTION 'UPLOAD'&lt;/P&gt;&lt;P&gt;           EXPORTING&lt;/P&gt;&lt;P&gt;             filename                = ' '&lt;/P&gt;&lt;P&gt;             filetype                = 'DAT'&lt;/P&gt;&lt;P&gt;           TABLES&lt;/P&gt;&lt;P&gt;             data_tab                = record1&lt;/P&gt;&lt;P&gt;           EXCEPTIONS&lt;/P&gt;&lt;P&gt;             conversion_error        = 1&lt;/P&gt;&lt;P&gt;             invalid_table_width     = 2&lt;/P&gt;&lt;P&gt;             invalid_type            = 3&lt;/P&gt;&lt;P&gt;             no_batch                = 4&lt;/P&gt;&lt;P&gt;             unknown_error           = 5&lt;/P&gt;&lt;P&gt;             gui_refuse_filetransfer = 6&lt;/P&gt;&lt;P&gt;             OTHERS                  = 7.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;         CLEAR record1.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;--&lt;/STRONG&gt;&lt;DEL&gt;&lt;STRONG&gt;&lt;/STRONG&gt;&lt;/DEL&gt;&lt;/P&gt;&lt;HR originaltext="--------" /&gt;DO NOT UPLOAD WHERE PRD QTY = 0--&lt;HR originaltext="------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;         DELETE record1 WHERE ( erfmg_007 = 0 OR erfmg_007 = ' ' )&lt;/P&gt;&lt;P&gt;                        AND   ( erfmg_008 = 0 OR erfmg_008 = ' ' ).&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;         DESCRIBE TABLE record1[].&lt;/P&gt;&lt;P&gt;         IF sy-tfill &amp;gt; 0.&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;----&lt;/STRONG&gt;&lt;/P&gt;&lt;HR originaltext="-------" /&gt;MOVE ACCEPTED QTY AND FETCH THE RESPECTIVE STGLOC&lt;P&gt;&lt;/P&gt;&lt;P&gt;           LOOP AT record1 WHERE erfmg_007 NE 0 AND erfmg_007 NE ' '.&lt;/P&gt;&lt;P&gt;             MOVE:    record1-budat_002 TO it_acc-budat_002,&lt;/P&gt;&lt;P&gt;                      record1-bktxt_004 TO it_acc-bktxt_004,&lt;/P&gt;&lt;P&gt;                      record1-matnr_005 TO it_acc-matnr_005,&lt;/P&gt;&lt;P&gt;                      record1-werks_006 TO it_acc-werks_006,&lt;/P&gt;&lt;P&gt;                      record1-erfmg_007 TO it_acc-erfmg_008.&lt;/P&gt;&lt;P&gt;             APPEND it_acc.&lt;/P&gt;&lt;P&gt;             CLEAR: it_acc,record1.&lt;/P&gt;&lt;P&gt;           ENDLOOP.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;           DELETE it_acc WHERE erfmg_008 = 0 OR erfmg_008 = ' '.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;           LOOP AT it_acc .&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;--&lt;/STRONG&gt;&lt;DEL&gt;&lt;STRONG&gt;&lt;/STRONG&gt;&lt;/DEL&gt;&lt;/P&gt;&lt;HR originaltext="--------" /&gt;MOVE ELPRO FOR THE ACCEPTED ENTRIES--&lt;HR originaltext="------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;             SELECT SINGLE elpro INTO wk_elpro&lt;/P&gt;&lt;P&gt;                    FROM mkal client specified&lt;/P&gt;&lt;P&gt;                    WHERE mandt = sy-mandt&lt;/P&gt;&lt;P&gt;                    and matnr = it_acc-matnr_005&lt;/P&gt;&lt;P&gt;                    AND werks = it_acc-werks_006.&lt;/P&gt;&lt;P&gt;             MOVE wk_elpro TO it_acc-alort_007.&lt;/P&gt;&lt;P&gt;             MODIFY it_acc.&lt;/P&gt;&lt;P&gt;             CLEAR: wk_elpro, it_acc.&lt;/P&gt;&lt;P&gt;           ENDLOOP.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;--&lt;/STRONG&gt;&lt;DEL&gt;&lt;STRONG&gt;&lt;/STRONG&gt;&lt;/DEL&gt;&lt;/P&gt;&lt;HR originaltext="----" /&gt;MOVE PRD QTY FOR REJECTED QTY--&lt;HR originaltext="--------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;           LOOP AT record1 WHERE erfmg_008 NE 0 AND erfmg_008 NE ' '.&lt;/P&gt;&lt;P&gt;             MOVE: record1-budat_002 TO it_rej-budat_002,&lt;/P&gt;&lt;P&gt;                   record1-bktxt_004 TO it_rej-bktxt_004,&lt;/P&gt;&lt;P&gt;                   record1-matnr_005 TO it_rej-matnr_005,&lt;/P&gt;&lt;P&gt;                   record1-werks_006 TO it_rej-werks_006,&lt;/P&gt;&lt;P&gt;                   record1-erfmg_008 TO it_rej-erfmg_008,&lt;/P&gt;&lt;P&gt;                   record1-alort_007 TO it_rej-alort_007.&lt;/P&gt;&lt;P&gt;             APPEND it_rej.&lt;/P&gt;&lt;P&gt;             CLEAR: it_rej,record1.&lt;/P&gt;&lt;P&gt;           ENDLOOP.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;           DELETE it_rej WHERE  erfmg_008 = 0 OR erfmg_008 = ' '.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;--&lt;/STRONG&gt;&lt;DEL&gt;&lt;STRONG&gt;&lt;/STRONG&gt;&lt;/DEL&gt;&lt;/P&gt;&lt;HR originaltext="----" /&gt;MOVE ACCEPTED AND REJECTED READINGS TO FINAL TABLE&lt;P&gt;&lt;/P&gt;&lt;P&gt;           APPEND LINES OF it_acc TO record.&lt;/P&gt;&lt;P&gt;           APPEND LINES OF it_rej TO record.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;           SORT record BY alort_007 ASCENDING.&lt;/P&gt;&lt;P&gt;           FREE : it_rej, it_acc, record1.&lt;/P&gt;&lt;P&gt;         ELSE.&lt;/P&gt;&lt;P&gt;           MESSAGE i937.&lt;/P&gt;&lt;P&gt;           STOP.&lt;/P&gt;&lt;P&gt;         ENDIF.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;ENDFORM.                    " UPLOAD_FUN&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;--&lt;/STRONG&gt;&lt;DEL&gt;&lt;STRONG&gt;&lt;/STRONG&gt;&lt;/DEL&gt;&lt;/P&gt;&lt;HR originaltext="----------------------" /&gt;FORM fill_bdc_table--&lt;HR originaltext="------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;FORM fill_bdc_table.&lt;/P&gt;&lt;P&gt;data: l_mstring(480).&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt; IF NOT record[] IS INITIAL.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  LOOP AT record.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;    PERFORM bdc_dynpro USING 'SAPLBARM' '0800'.&lt;/P&gt;&lt;P&gt;    PERFORM bdc_field  USING 'BDC_CURSOR' 'RM61B-BKTXT'.&lt;/P&gt;&lt;P&gt;    PERFORM bdc_field  USING 'BDC_OKCODE' '=ISTDA'.&lt;/P&gt;&lt;P&gt;    PERFORM bdc_field  USING 'RM61B-BUDAT' record-budat_002.&lt;/P&gt;&lt;P&gt;    PERFORM bdc_field  USING 'RM61B-BKTXT' record-bktxt_004.&lt;/P&gt;&lt;P&gt;    PERFORM bdc_field  USING 'RM61B-MATNR' record-matnr_005.&lt;/P&gt;&lt;P&gt;    PERFORM bdc_field  USING 'RM61B-WERKS' record-werks_006.&lt;/P&gt;&lt;P&gt;    PERFORM bdc_field  USING 'RM61B-ALORT' record-alort_007.&lt;/P&gt;&lt;P&gt;    PERFORM bdc_field  USING 'RM61B-ERFMG' record-erfmg_008.&lt;/P&gt;&lt;P&gt;    PERFORM bdc_dynpro USING 'SAPLCOWB' '0130'.&lt;/P&gt;&lt;P&gt;    PERFORM bdc_field  USING 'BDC_OKCODE' '=WEIT'.&lt;/P&gt;&lt;P&gt;    PERFORM bdc_field  USING 'BDC_CURSOR' 'G_COWB_HEADER-MNGTXT'.&lt;/P&gt;&lt;P&gt;    PERFORM bdc_transaction USING 'MFBF'.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;    l_mstring = t100-text. "CONTAINS THE MESSAGE THROWN&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;    if l_mstring cs '&amp;amp;1'.&lt;/P&gt;&lt;P&gt;      replace '&amp;amp;1' with messtab-msgv1 into l_mstring.&lt;/P&gt;&lt;P&gt;      replace '&amp;amp;2' with messtab-msgv2 into l_mstring.&lt;/P&gt;&lt;P&gt;      replace '&amp;amp;3' with messtab-msgv3 into l_mstring.&lt;/P&gt;&lt;P&gt;      replace '&amp;amp;4' with messtab-msgv4 into l_mstring.&lt;/P&gt;&lt;P&gt;    else.&lt;/P&gt;&lt;P&gt;      replace '&amp;amp;' with messtab-msgv1 into l_mstring.&lt;/P&gt;&lt;P&gt;      replace '&amp;amp;' with messtab-msgv2 into l_mstring.&lt;/P&gt;&lt;P&gt;      replace '&amp;amp;' with messtab-msgv3 into l_mstring.&lt;/P&gt;&lt;P&gt;      replace '&amp;amp;' with messtab-msgv4 into l_mstring.&lt;/P&gt;&lt;P&gt;    endif.&lt;/P&gt;&lt;P&gt;    condense l_mstring.&lt;/P&gt;&lt;P&gt;****&lt;STRONG&gt;MOVE RESPECTIVE MESSAGES AND RECORDS TO ITAB&lt;/STRONG&gt;**************&lt;/P&gt;&lt;P&gt;    move-corresponding record to messages.&lt;/P&gt;&lt;P&gt;    move:l_mstring to messages-text.&lt;/P&gt;&lt;P&gt;    move:messtab-msgtyp to messages-msgtyp.&lt;/P&gt;&lt;P&gt;    append messages.&lt;/P&gt;&lt;P&gt;    clear messages.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  ENDLOOP.&lt;/P&gt;&lt;P&gt;ENDIF.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;ENDFORM.                    "fill_bdc_table&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;--&lt;/STRONG&gt;&lt;DEL&gt;&lt;STRONG&gt;&lt;/STRONG&gt;&lt;/DEL&gt;&lt;/P&gt;&lt;HR originaltext="----------------------" /&gt;FORM assign_columns--&lt;HR originaltext="------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;form assign_columns .&lt;/P&gt;&lt;P&gt;  refresh alvfld.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  alvfld-fieldname  = 'MATNR_005'.&lt;/P&gt;&lt;P&gt;  alvfld-seltext_m  = 'PART NO'.&lt;/P&gt;&lt;P&gt;  append alvfld.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  alvfld-fieldname  = 'MAKTX'.&lt;/P&gt;&lt;P&gt;  alvfld-seltext_m  = 'Description'.&lt;/P&gt;&lt;P&gt;  append alvfld.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  alvfld-fieldname  = 'WERKS_006'.&lt;/P&gt;&lt;P&gt;  alvfld-seltext_m  = 'Plant'.&lt;/P&gt;&lt;P&gt;  append alvfld.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  alvfld-fieldname  = 'BUDAT_002'.&lt;/P&gt;&lt;P&gt;  alvfld-seltext_m  = 'Posting Date'.&lt;/P&gt;&lt;P&gt;  append alvfld.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  alvfld-fieldname  = 'BKTXT_004'.&lt;/P&gt;&lt;P&gt;  alvfld-seltext_m  = 'Shift'.&lt;/P&gt;&lt;P&gt;  append alvfld.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  alvfld-fieldname  = 'ERFMG_008'.&lt;/P&gt;&lt;P&gt;  alvfld-seltext_m  = 'Qty'.&lt;/P&gt;&lt;P&gt;  append alvfld.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  alvfld-fieldname  = 'ALORT_007'.&lt;/P&gt;&lt;P&gt;  alvfld-seltext_m  = 'Stgloc'.&lt;/P&gt;&lt;P&gt;  append alvfld.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  alvfld-fieldname  = 'TEXT'.&lt;/P&gt;&lt;P&gt;  alvfld-seltext_m  = 'Processed Status'.&lt;/P&gt;&lt;P&gt;  append alvfld.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;endform.                    " assign_columns&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;--&lt;/STRONG&gt;&lt;DEL&gt;&lt;STRONG&gt;&lt;/STRONG&gt;&lt;/DEL&gt;&lt;/P&gt;&lt;HR originaltext="----------------------" /&gt;FORM f_event_build--&lt;HR originaltext="------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;form f_event_build .&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  CALL FUNCTION 'REUSE_ALV_EVENTS_GET'&lt;/P&gt;&lt;P&gt;    EXPORTING&lt;/P&gt;&lt;P&gt;      i_list_type = 0&lt;/P&gt;&lt;P&gt;    IMPORTING&lt;/P&gt;&lt;P&gt;      et_events   = v_events[].&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  READ TABLE v_events WITH KEY name = slis_ev_top_of_page&lt;/P&gt;&lt;P&gt;                                           INTO wk_events.&lt;/P&gt;&lt;P&gt;  wk_LAYOUT-COLTAB_FIELDNAME = 'CELLCOLOR'. "FOR COLOUMN COLOR&lt;/P&gt;&lt;P&gt;  wk_layout-colwidth_optimize    = 'X'.&lt;/P&gt;&lt;P&gt;  IF sy-subrc = 0.&lt;/P&gt;&lt;P&gt;    MOVE c_formname_top_of_page TO wk_events-form.&lt;/P&gt;&lt;P&gt;    MODIFY v_events FROM wk_events INDEX sy-tabix.&lt;/P&gt;&lt;P&gt;  ENDIF.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;endform.                    " f_event_build&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;--&lt;/STRONG&gt;&lt;DEL&gt;&lt;STRONG&gt;&lt;/STRONG&gt;&lt;/DEL&gt;&lt;/P&gt;&lt;HR originaltext="----------------------" /&gt;FORM f_top_of_page--&lt;HR originaltext="------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;FORM f_top_of_page.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  CLEAR: it_list_comments[].&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  wk_list_comments-typ  = 'H'. "H=Header, S=Selection, A=Action&lt;/P&gt;&lt;P&gt;  wk_list_comments-key  = ''.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  wk_list_comments-info = 'BDC UPLOAD STATUS FOR PRD POSTING'.&lt;/P&gt;&lt;P&gt;  APPEND wk_list_comments TO it_list_comments.&lt;/P&gt;&lt;P&gt;  CLEAR wk_list_comments.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  CALL FUNCTION 'REUSE_ALV_COMMENTARY_WRITE'&lt;/P&gt;&lt;P&gt;    EXPORTING&lt;/P&gt;&lt;P&gt;      i_logo             = 'ENJOYSAP_LOGO'&lt;/P&gt;&lt;P&gt;      it_list_commentary = it_list_comments.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;ENDFORM.                    "F_TOP_OF_PAGE&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;--&lt;/STRONG&gt;&lt;DEL&gt;&lt;STRONG&gt;&lt;/STRONG&gt;&lt;/DEL&gt;&lt;/P&gt;&lt;HR originaltext="----------------------" /&gt;FORM assign_colors--&lt;HR originaltext="------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;form assign_colors .&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;loop at messages.&lt;/P&gt;&lt;P&gt;  case messages-msgtyp.&lt;/P&gt;&lt;P&gt;    when 'E'.&lt;/P&gt;&lt;P&gt;      move: 'TEXT' to wa_color-fname.&lt;/P&gt;&lt;P&gt;      move '6' to wa_color-color-col.&lt;/P&gt;&lt;P&gt;      move '0' to wa_color-color-int.&lt;/P&gt;&lt;P&gt;      move '1' to wa_color-color-inv.&lt;/P&gt;&lt;P&gt;      append wa_color to messages-cellcolor.&lt;/P&gt;&lt;P&gt;      modify messages transporting cellcolor.&lt;/P&gt;&lt;P&gt;    when 'S'.&lt;/P&gt;&lt;P&gt;      move: 'TEXT' to wa_color-fname.&lt;/P&gt;&lt;P&gt;      move '5' to wa_color-color-col.&lt;/P&gt;&lt;P&gt;      move '0' to wa_color-color-int.&lt;/P&gt;&lt;P&gt;      move '1' to wa_color-color-inv.&lt;/P&gt;&lt;P&gt;      append wa_color to messages-cellcolor.&lt;/P&gt;&lt;P&gt;      modify messages transporting cellcolor.&lt;/P&gt;&lt;P&gt;  endcase.&lt;/P&gt;&lt;P&gt;endloop.&lt;/P&gt;&lt;P&gt;endform.                    " assign_colors&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;**********************************************************************************************&lt;/P&gt;&lt;P&gt;INCLUDE PROGRAM&lt;/P&gt;&lt;P&gt;*******************************&lt;/P&gt;&lt;P&gt;***INCLUDE BDCRECX1.&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt; for programs doing a data transfer by creating a batch-input session&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt; and&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt; for programs doing a data transfer by CALL TRANSACTION USING&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;SELECTION-SCREEN BEGIN OF LINE.&lt;/P&gt;&lt;P&gt;  PARAMETERS SESSION RADIOBUTTON GROUP CTU.  "create session&lt;/P&gt;&lt;P&gt;  SELECTION-SCREEN COMMENT 3(20) TEXT-S07 FOR FIELD SESSION.&lt;/P&gt;&lt;P&gt;  selection-screen position 45.&lt;/P&gt;&lt;P&gt;  PARAMETERS CTU RADIOBUTTON GROUP  CTU.     "call transaction&lt;/P&gt;&lt;P&gt;  SELECTION-SCREEN COMMENT 48(20) TEXT-S08 FOR FIELD CTU.&lt;/P&gt;&lt;P&gt;SELECTION-SCREEN END OF LINE.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;SELECTION-SCREEN BEGIN OF LINE.&lt;/P&gt;&lt;P&gt;  SELECTION-SCREEN COMMENT 3(20) TEXT-S01 FOR FIELD GROUP.&lt;/P&gt;&lt;P&gt;  selection-screen position 25.&lt;/P&gt;&lt;P&gt;  PARAMETERS GROUP(12).                      "group name of session&lt;/P&gt;&lt;P&gt;  SELECTION-SCREEN COMMENT 48(20) TEXT-S05 FOR FIELD CTUMODE.&lt;/P&gt;&lt;P&gt;  selection-screen position 70.&lt;/P&gt;&lt;P&gt;  PARAMETERS CTUMODE LIKE CTU_PARAMS-DISMODE DEFAULT 'N'.&lt;/P&gt;&lt;P&gt;                                      "A: show all dynpros&lt;/P&gt;&lt;P&gt;                                      "E: show dynpro on error only&lt;/P&gt;&lt;P&gt;                                      "N: do not display dynpro&lt;/P&gt;&lt;P&gt;SELECTION-SCREEN END OF LINE.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;SELECTION-SCREEN BEGIN OF LINE.&lt;/P&gt;&lt;P&gt;  SELECTION-SCREEN COMMENT 3(20) TEXT-S02 FOR FIELD USER.&lt;/P&gt;&lt;P&gt;  selection-screen position 25.&lt;/P&gt;&lt;P&gt;  PARAMETERS: USER(12) DEFAULT SY-UNAME.     "user for session in batch&lt;/P&gt;&lt;P&gt;  SELECTION-SCREEN COMMENT 48(20) TEXT-S06 FOR FIELD CUPDATE.&lt;/P&gt;&lt;P&gt;  selection-screen position 70.&lt;/P&gt;&lt;P&gt;  PARAMETERS CUPDATE LIKE CTU_PARAMS-UPDMODE DEFAULT 'L'.&lt;/P&gt;&lt;P&gt;                                      "S: synchronously&lt;/P&gt;&lt;P&gt;                                      "A: asynchronously&lt;/P&gt;&lt;P&gt;                                      "L: local&lt;/P&gt;&lt;P&gt;SELECTION-SCREEN END OF LINE.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;SELECTION-SCREEN BEGIN OF LINE.&lt;/P&gt;&lt;P&gt;  SELECTION-SCREEN COMMENT 3(20) TEXT-S03 FOR FIELD KEEP.&lt;/P&gt;&lt;P&gt;  selection-screen position 25.&lt;/P&gt;&lt;P&gt;  PARAMETERS: KEEP AS CHECKBOX.       "' ' = delete session if finished&lt;/P&gt;&lt;P&gt;                                      "'X' = keep   session if finished&lt;/P&gt;&lt;P&gt;  SELECTION-SCREEN COMMENT 48(20) TEXT-S09 FOR FIELD E_GROUP.&lt;/P&gt;&lt;P&gt;  selection-screen position 70.&lt;/P&gt;&lt;P&gt;  parameters E_GROUP(12).             "group name of error-session&lt;/P&gt;&lt;P&gt;SELECTION-SCREEN END OF LINE.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;SELECTION-SCREEN BEGIN OF LINE.&lt;/P&gt;&lt;P&gt;  SELECTION-SCREEN COMMENT 3(20) TEXT-S04 FOR FIELD HOLDDATE.&lt;/P&gt;&lt;P&gt;  selection-screen position 25.&lt;/P&gt;&lt;P&gt;  PARAMETERS: HOLDDATE LIKE SY-DATUM.&lt;/P&gt;&lt;P&gt;  SELECTION-SCREEN COMMENT 51(17) TEXT-S02 FOR FIELD E_USER.&lt;/P&gt;&lt;P&gt;  selection-screen position 70.&lt;/P&gt;&lt;P&gt;  PARAMETERS: E_USER(12) DEFAULT SY-UNAME.    "user for error-session&lt;/P&gt;&lt;P&gt;SELECTION-SCREEN END OF LINE.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;SELECTION-SCREEN BEGIN OF LINE.&lt;/P&gt;&lt;P&gt;  SELECTION-SCREEN COMMENT 51(17) TEXT-S03 FOR FIELD E_KEEP.&lt;/P&gt;&lt;P&gt;  selection-screen position 70.&lt;/P&gt;&lt;P&gt;  PARAMETERS: E_KEEP AS CHECKBOX.     "' ' = delete session if finished&lt;/P&gt;&lt;P&gt;                                      "'X' = keep   session if finished&lt;/P&gt;&lt;P&gt;SELECTION-SCREEN END OF LINE.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;SELECTION-SCREEN BEGIN OF LINE.&lt;/P&gt;&lt;P&gt;  SELECTION-SCREEN COMMENT 51(17) TEXT-S04 FOR FIELD E_HDATE.&lt;/P&gt;&lt;P&gt;  selection-screen position 70.&lt;/P&gt;&lt;P&gt;  PARAMETERS: E_HDATE LIKE SY-DATUM.&lt;/P&gt;&lt;P&gt;SELECTION-SCREEN END OF LINE.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;SELECTION-SCREEN SKIP.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;SELECTION-SCREEN BEGIN OF LINE.&lt;/P&gt;&lt;P&gt;  SELECTION-SCREEN COMMENT 1(33) TEXT-S10 FOR FIELD NODATA.&lt;/P&gt;&lt;P&gt;  PARAMETERS: NODATA DEFAULT '/' LOWER CASE.          "nodata&lt;/P&gt;&lt;P&gt;SELECTION-SCREEN END OF LINE.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;SELECTION-SCREEN BEGIN OF LINE.&lt;/P&gt;&lt;P&gt;  SELECTION-SCREEN COMMENT 1(33) FOR FIELD SMALLLOG.&lt;/P&gt;&lt;P&gt;  PARAMETERS: SMALLLOG as checkbox.  "' ' = log all transactions&lt;/P&gt;&lt;P&gt;                                     "'X' = no transaction logging&lt;/P&gt;&lt;P&gt;SELECTION-SCREEN END OF LINE.&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;  data definition&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;      Batchinputdata of single transaction&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;DATA:   BDCDATA LIKE BDCDATA    OCCURS 0 WITH HEADER LINE.&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;      messages of call transaction&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;DATA:   MESSTAB LIKE BDCMSGCOLL OCCURS 0 WITH HEADER LINE.&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;      error session opened (' ' or 'X')&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;DATA:   E_GROUP_OPENED.&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;      message texts&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;TABLES: T100.&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;  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.&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;group and user must be filled for create session&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;  IF SESSION = 'X' AND&lt;/P&gt;&lt;P&gt;     GROUP = SPACE OR USER = SPACE.&lt;/P&gt;&lt;P&gt;    MESSAGE E613(MS).&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;  open dataset                                                       *&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 OPEN_DATASET USING P_DATASET.&lt;/P&gt;&lt;P&gt;  OPEN DATASET P_DATASET&lt;/P&gt;&lt;P&gt;               FOR INPUT IN TEXT MODE&lt;/P&gt;&lt;P&gt;               ENCODING DEFAULT.&lt;/P&gt;&lt;P&gt;  IF SY-SUBRC &amp;lt;&amp;gt; 0.&lt;/P&gt;&lt;P&gt;    WRITE: / TEXT-E00, SY-SUBRC.&lt;/P&gt;&lt;P&gt;    STOP.&lt;/P&gt;&lt;P&gt;  ENDIF.&lt;/P&gt;&lt;P&gt;ENDFORM.&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;  close dataset                                                      *&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 CLOSE_DATASET USING P_DATASET.&lt;/P&gt;&lt;P&gt;  CLOSE DATASET P_DATASET.&lt;/P&gt;&lt;P&gt;ENDFORM.&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;  create batchinput session                                          *&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;  (not for call transaction using...)                                *&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 OPEN_GROUP.&lt;/P&gt;&lt;P&gt;  IF SESSION = 'X'.&lt;/P&gt;&lt;P&gt;    SKIP.&lt;/P&gt;&lt;P&gt;    WRITE: /(20) 'Create group'(I01), GROUP.&lt;/P&gt;&lt;P&gt;    SKIP.&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;  open batchinput group&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;    CALL FUNCTION 'BDC_OPEN_GROUP'&lt;/P&gt;&lt;P&gt;         EXPORTING  CLIENT   = SY-MANDT&lt;/P&gt;&lt;P&gt;                    GROUP    = GROUP&lt;/P&gt;&lt;P&gt;                    USER     = USER&lt;/P&gt;&lt;P&gt;                    KEEP     = KEEP&lt;/P&gt;&lt;P&gt;                    HOLDDATE = HOLDDATE.&lt;/P&gt;&lt;P&gt;    WRITE: /(30) 'BDC_OPEN_GROUP'(I02),&lt;/P&gt;&lt;P&gt;            (12) 'returncode:'(I05),&lt;/P&gt;&lt;P&gt;                 SY-SUBRC.&lt;/P&gt;&lt;P&gt;  ENDIF.&lt;/P&gt;&lt;P&gt;ENDFORM.&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 batchinput session                                             *&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;  (call transaction using...: error session)                         *&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 CLOSE_GROUP.&lt;/P&gt;&lt;P&gt;  IF SESSION = 'X'.&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;  close batchinput group&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;    CALL FUNCTION 'BDC_CLOSE_GROUP'.&lt;/P&gt;&lt;P&gt;    WRITE: /(30) 'BDC_CLOSE_GROUP'(I04),&lt;/P&gt;&lt;P&gt;            (12) 'returncode:'(I05),&lt;/P&gt;&lt;P&gt;                 SY-SUBRC.&lt;/P&gt;&lt;P&gt;  ELSE.&lt;/P&gt;&lt;P&gt;    IF E_GROUP_OPENED = 'X'.&lt;/P&gt;&lt;P&gt;      CALL FUNCTION 'BDC_CLOSE_GROUP'.&lt;/P&gt;&lt;P&gt;      WRITE: /.&lt;/P&gt;&lt;P&gt;      WRITE: /(30) 'Fehlermappe wurde erzeugt'(I06).&lt;/P&gt;&lt;P&gt;      E_GROUP_OPENED = ' '.&lt;/P&gt;&lt;P&gt;    ENDIF.&lt;/P&gt;&lt;P&gt;  ENDIF.&lt;/P&gt;&lt;P&gt;ENDFORM.&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 new transaction according to parameters                 *&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_TRANSACTION USING TCODE.&lt;/P&gt;&lt;P&gt;  DATA: L_MSTRING(480).&lt;/P&gt;&lt;P&gt;  DATA: L_SUBRC LIKE SY-SUBRC.&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;batch input session&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;  IF SESSION = 'X'.&lt;/P&gt;&lt;P&gt;    CALL FUNCTION 'BDC_INSERT'&lt;/P&gt;&lt;P&gt;         EXPORTING TCODE     = TCODE&lt;/P&gt;&lt;P&gt;         TABLES    DYNPROTAB = BDCDATA.&lt;/P&gt;&lt;P&gt;    IF SMALLLOG &amp;lt;&amp;gt; 'X'.&lt;/P&gt;&lt;P&gt;      WRITE: / 'BDC_INSERT'(I03),&lt;/P&gt;&lt;P&gt;               TCODE,&lt;/P&gt;&lt;P&gt;               'returncode:'(I05),&lt;/P&gt;&lt;P&gt;               SY-SUBRC,&lt;/P&gt;&lt;P&gt;               'RECORD:',&lt;/P&gt;&lt;P&gt;               SY-INDEX.&lt;/P&gt;&lt;P&gt;    ENDIF.&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;call transaction using&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;  ELSE.&lt;/P&gt;&lt;P&gt;    REFRESH MESSTAB.&lt;/P&gt;&lt;P&gt;    CALL TRANSACTION TCODE USING BDCDATA&lt;/P&gt;&lt;P&gt;                     MODE   CTUMODE&lt;/P&gt;&lt;P&gt;                     UPDATE CUPDATE&lt;/P&gt;&lt;P&gt;                     MESSAGES INTO MESSTAB.&lt;/P&gt;&lt;P&gt;    L_SUBRC = SY-SUBRC.&lt;/P&gt;&lt;P&gt;    IF SMALLLOG &amp;lt;&amp;gt; 'X'.&lt;/P&gt;&lt;P&gt;      WRITE: / 'CALL_TRANSACTION',&lt;/P&gt;&lt;P&gt;               TCODE,&lt;/P&gt;&lt;P&gt;               'returncode:'(I05),&lt;/P&gt;&lt;P&gt;               L_SUBRC,&lt;/P&gt;&lt;P&gt;               'RECORD:',&lt;/P&gt;&lt;P&gt;               SY-INDEX.&lt;/P&gt;&lt;P&gt;      LOOP AT MESSTAB.&lt;/P&gt;&lt;P&gt;        SELECT SINGLE * FROM T100 WHERE SPRSL = MESSTAB-MSGSPRA&lt;/P&gt;&lt;P&gt;                                  AND   ARBGB = MESSTAB-MSGID&lt;/P&gt;&lt;P&gt;                                  AND   MSGNR = MESSTAB-MSGNR.&lt;/P&gt;&lt;P&gt;        IF SY-SUBRC = 0.&lt;/P&gt;&lt;P&gt;          L_MSTRING = T100-TEXT.&lt;/P&gt;&lt;P&gt;          IF L_MSTRING CS '&amp;amp;1'.&lt;/P&gt;&lt;P&gt;            REPLACE '&amp;amp;1' WITH MESSTAB-MSGV1 INTO L_MSTRING.&lt;/P&gt;&lt;P&gt;            REPLACE '&amp;amp;2' WITH MESSTAB-MSGV2 INTO L_MSTRING.&lt;/P&gt;&lt;P&gt;            REPLACE '&amp;amp;3' WITH MESSTAB-MSGV3 INTO L_MSTRING.&lt;/P&gt;&lt;P&gt;            REPLACE '&amp;amp;4' WITH MESSTAB-MSGV4 INTO L_MSTRING.&lt;/P&gt;&lt;P&gt;          ELSE.&lt;/P&gt;&lt;P&gt;            REPLACE '&amp;amp;' WITH MESSTAB-MSGV1 INTO L_MSTRING.&lt;/P&gt;&lt;P&gt;            REPLACE '&amp;amp;' WITH MESSTAB-MSGV2 INTO L_MSTRING.&lt;/P&gt;&lt;P&gt;            REPLACE '&amp;amp;' WITH MESSTAB-MSGV3 INTO L_MSTRING.&lt;/P&gt;&lt;P&gt;            REPLACE '&amp;amp;' WITH MESSTAB-MSGV4 INTO L_MSTRING.&lt;/P&gt;&lt;P&gt;          ENDIF.&lt;/P&gt;&lt;P&gt;          CONDENSE L_MSTRING.&lt;/P&gt;&lt;P&gt;          WRITE: / MESSTAB-MSGTYP, L_MSTRING(250).&lt;/P&gt;&lt;P&gt;        ELSE.&lt;/P&gt;&lt;P&gt;          WRITE: / MESSTAB.&lt;/P&gt;&lt;P&gt;        ENDIF.&lt;/P&gt;&lt;P&gt;      ENDLOOP.&lt;/P&gt;&lt;P&gt;      SKIP.&lt;/P&gt;&lt;P&gt;    ENDIF.&lt;/P&gt;&lt;UL&gt;&lt;UL&gt;&lt;LI level="2" type="ul"&gt;&lt;P&gt;Erzeugen fehlermappe ************************************************&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;/UL&gt;&lt;P&gt;    IF L_SUBRC &amp;lt;&amp;gt; 0 AND E_GROUP &amp;lt;&amp;gt; SPACE.&lt;/P&gt;&lt;P&gt;      IF E_GROUP_OPENED = ' '.&lt;/P&gt;&lt;P&gt;        CALL FUNCTION 'BDC_OPEN_GROUP'&lt;/P&gt;&lt;P&gt;             EXPORTING  CLIENT   = SY-MANDT&lt;/P&gt;&lt;P&gt;                        GROUP    = E_GROUP&lt;/P&gt;&lt;P&gt;                        USER     = E_USER&lt;/P&gt;&lt;P&gt;                        KEEP     = E_KEEP&lt;/P&gt;&lt;P&gt;                        HOLDDATE = E_HDATE.&lt;/P&gt;&lt;P&gt;         E_GROUP_OPENED = 'X'.&lt;/P&gt;&lt;P&gt;      ENDIF.&lt;/P&gt;&lt;P&gt;      CALL FUNCTION 'BDC_INSERT'&lt;/P&gt;&lt;P&gt;           EXPORTING TCODE     = TCODE&lt;/P&gt;&lt;P&gt;           TABLES    DYNPROTAB = BDCDATA.&lt;/P&gt;&lt;P&gt;    ENDIF.&lt;/P&gt;&lt;P&gt;  ENDIF.&lt;/P&gt;&lt;P&gt;  REFRESH BDCDATA.&lt;/P&gt;&lt;P&gt;ENDFORM.&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 new 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;FORM BDC_DYNPRO USING PROGRAM DYNPRO.&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;ENDFORM.&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;       Insert 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;FORM BDC_FIELD USING FNAM FVAL.&lt;/P&gt;&lt;P&gt;  IF FVAL &amp;lt;&amp;gt; NODATA.&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;  ENDIF.&lt;/P&gt;&lt;P&gt;ENDFORM.&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Wed, 18 Jul 2007 08:19:19 GMT</pubDate>
      <guid>https://community.sap.com/t5/application-development-and-automation-discussions/bdc/m-p/2553481#M581720</guid>
      <dc:creator>kesavadas_thekkillath</dc:creator>
      <dc:date>2007-07-18T08:19:19Z</dc:date>
    </item>
    <item>
      <title>Re: BDC</title>
      <link>https://community.sap.com/t5/application-development-and-automation-discussions/bdc/m-p/2553482#M581721</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;ya i got it somehow.&lt;/P&gt;&lt;P&gt;Im giving my program below...just check if its correct.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Its consists of a include file which i m specifying seperately..&lt;/P&gt;&lt;P&gt;Please tell if there is any possibilities of error....&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;****************************************************************************************************&lt;/P&gt;&lt;P&gt;MAIN PRG&lt;/P&gt;&lt;P&gt;***************&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;REPORT zbdc_posting&lt;/P&gt;&lt;P&gt;  NO STANDARD PAGE HEADING LINE-SIZE 255&lt;/P&gt;&lt;P&gt;  MESSAGE-ID zpp.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;******************&lt;/P&gt;&lt;P&gt;include bdcrecx1.&lt;/P&gt;&lt;P&gt;******************&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;PARAMETERS: dataset(132) LOWER CASE.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;type-pools:slis.&lt;/P&gt;&lt;P&gt;tables:MAKT.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;UL&gt;&lt;UL&gt;&lt;LI level="3" type="ul"&gt;&lt;P&gt;   DO NOT CHANGE - the generated data section - DO NOT CHANGE    ***&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;/UL&gt;&lt;/UL&gt;&lt;P&gt;*&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;  If it is nessesary to change the data section use the rules:&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;  1.) Each definition of a field exists of two lines&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;  2.) The first line shows exactly the comment&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;      '* data element: ' followed with the data element&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;      which describes the field.&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;      If you don't have a data element use the&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;      comment without a data element name&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;  3.) The second line shows the fieldname of the&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;      structure, the fieldname must consist of&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;      a fieldname and optional the character '_' and&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;      three numbers and the field length in brackets&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;  4.) Each field must be type C.&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;--&lt;/STRONG&gt;&lt;DEL&gt;&lt;STRONG&gt;&lt;/STRONG&gt;&lt;/DEL&gt;&lt;/P&gt;&lt;HR originaltext="-------------" /&gt;TO STORE FINAL DATA TO BE POSTED--&lt;HR originaltext="--------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;UL&gt;&lt;UL&gt;&lt;LI level="3" type="ul"&gt;&lt;P&gt;Generated data section with specific formatting - DO NOT CHANGE  ***&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;/UL&gt;&lt;/UL&gt;&lt;P&gt;       DATA: BEGIN OF RECORD OCCURS 0,&lt;/P&gt;&lt;P&gt;               budat_002(010),&lt;/P&gt;&lt;P&gt;               bktxt_004(025),&lt;/P&gt;&lt;P&gt;               matnr_005(018),&lt;/P&gt;&lt;P&gt;               werks_006(004),&lt;/P&gt;&lt;P&gt;               alort_007(004),&lt;/P&gt;&lt;P&gt;               erfmg_008(017),&lt;/P&gt;&lt;P&gt;             END OF record.&lt;/P&gt;&lt;UL&gt;&lt;UL&gt;&lt;UL&gt;&lt;LI level="3" type="ul"&gt;&lt;P&gt;End generated data section ***&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;/UL&gt;&lt;/UL&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;***********&lt;STRONG&gt;INTERNAL TABLE TO STORE MESSAGE STATUS&lt;/STRONG&gt;**********&lt;/P&gt;&lt;P&gt;data: begin of messages occurs 0,&lt;/P&gt;&lt;P&gt;               budat_002(010),&lt;/P&gt;&lt;P&gt;               bktxt_004(025),&lt;/P&gt;&lt;P&gt;               matnr_005(018),&lt;/P&gt;&lt;P&gt;               maktx type makt-maktx,&lt;/P&gt;&lt;P&gt;               werks_006(004),&lt;/P&gt;&lt;P&gt;               alort_007(004),&lt;/P&gt;&lt;P&gt;               erfmg_008(017),&lt;/P&gt;&lt;P&gt;               text(100) ,&lt;/P&gt;&lt;P&gt;               msgtyp type c,&lt;/P&gt;&lt;P&gt;               cellcolor type lvc_t_scol,&lt;/P&gt;&lt;P&gt;     end of messages.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;***&lt;STRONG&gt;INTERNAL TABLES TO STORE ACCEPTED AND REJECTED PRD ENTRIES&lt;/STRONG&gt;*****&lt;/P&gt;&lt;P&gt;       DATA: it_acc LIKE TABLE OF record WITH HEADER LINE.&lt;/P&gt;&lt;P&gt;       DATA: it_rej LIKE TABLE OF record WITH HEADER LINE.&lt;/P&gt;&lt;P&gt;********************************************************************&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;******&lt;STRONG&gt;INTERNAL TABLE TO STORE UPLOADED DATA&lt;/STRONG&gt;****************&lt;/P&gt;&lt;P&gt;       DATA: BEGIN OF st_record1 ,&lt;/P&gt;&lt;P&gt;              matnr_005(018),&lt;/P&gt;&lt;P&gt;              werks_006(004),&lt;/P&gt;&lt;P&gt;              budat_002(010),&lt;/P&gt;&lt;P&gt;              bktxt_004(025),&lt;/P&gt;&lt;P&gt;              erfmg_007(017),&lt;/P&gt;&lt;P&gt;              erfmg_008(017),&lt;/P&gt;&lt;P&gt;              alort_007(004),&lt;/P&gt;&lt;P&gt;            END OF st_record1.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;DATA: record1 LIKE TABLE OF st_record1 WITH HEADER LINE.&lt;/P&gt;&lt;P&gt;**************************************************************&lt;/P&gt;&lt;P&gt;DATA: wk_elpro type mkal-alort,&lt;/P&gt;&lt;P&gt;      wk_makt type makt-maktx.&lt;/P&gt;&lt;P&gt;*************************************************************&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;data:alvfld type slis_t_fieldcat_alv with header line,&lt;/P&gt;&lt;P&gt;     v_events TYPE slis_t_event WITH HEADER LINE,&lt;/P&gt;&lt;P&gt;     wk_events LIKE LINE OF v_events,&lt;/P&gt;&lt;P&gt;     it_list_comments TYPE slis_t_listheader,&lt;/P&gt;&lt;P&gt;     wk_list_comments    LIKE LINE OF it_list_comments,&lt;/P&gt;&lt;P&gt;     wa_color type lvc_s_scol,&lt;/P&gt;&lt;P&gt;     wk_layout        type slis_layout_alv..&lt;/P&gt;&lt;P&gt;CONSTANTS: c_formname_top_of_page TYPE slis_formname&lt;/P&gt;&lt;P&gt;                          VALUE 'F_TOP_OF_PAGE'.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;********************&lt;/P&gt;&lt;P&gt; START-OF-SELECTION.&lt;/P&gt;&lt;P&gt;********************&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;    PERFORM upload_fun.&lt;/P&gt;&lt;P&gt;    PERFORM open_group.&lt;/P&gt;&lt;P&gt;    PERFORM fill_bdc_table.&lt;/P&gt;&lt;P&gt;    PERFORM close_group.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;     loop at messages.&lt;/P&gt;&lt;P&gt;      select single maktx into wk_makt&lt;/P&gt;&lt;P&gt;        from makt client specified&lt;/P&gt;&lt;P&gt;        where mandt = sy-mandt&lt;/P&gt;&lt;P&gt;        and matnr = messages-matnr_005.&lt;/P&gt;&lt;P&gt;      move:wk_makt to messages-maktx.&lt;/P&gt;&lt;P&gt;      modify messages.&lt;/P&gt;&lt;P&gt;      clear: messages,wk_makt.&lt;/P&gt;&lt;P&gt;     endloop.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;    perform assign_colors.&lt;/P&gt;&lt;P&gt;    PERFORM f_event_build.&lt;/P&gt;&lt;P&gt;    perform assign_columns.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt; if CTU = 'X'.&lt;/P&gt;&lt;P&gt;  sort messages by matnr_005 ascending.&lt;/P&gt;&lt;P&gt;  CALL FUNCTION 'REUSE_ALV_GRID_DISPLAY'&lt;/P&gt;&lt;P&gt;    EXPORTING&lt;/P&gt;&lt;P&gt;      i_callback_program = sy-repid&lt;/P&gt;&lt;P&gt;      i_background_id    = 'ALV_BACKGROUND'&lt;/P&gt;&lt;P&gt;      it_fieldcat        = alvfld[]&lt;/P&gt;&lt;P&gt;      is_layout          = wk_layout&lt;/P&gt;&lt;P&gt;      it_events          = v_events[]&lt;/P&gt;&lt;P&gt;    TABLES&lt;/P&gt;&lt;P&gt;      t_outtab           = messages&lt;/P&gt;&lt;P&gt;    EXCEPTIONS&lt;/P&gt;&lt;P&gt;      program_error      = 1&lt;/P&gt;&lt;P&gt;      OTHERS             = 2.&lt;/P&gt;&lt;P&gt; endif.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt; END-OF-SELECTION.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;--&lt;/STRONG&gt;&lt;DEL&gt;&lt;STRONG&gt;&lt;/STRONG&gt;&lt;/DEL&gt;&lt;/P&gt;&lt;HR originaltext="------------------------" /&gt;FORM UPLOAD_FUN--&lt;HR originaltext="------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt; FORM upload_fun.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;    REFRESH: record1,it_acc,it_rej,RECORD,messages.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;       CALL FUNCTION 'UPLOAD'&lt;/P&gt;&lt;P&gt;           EXPORTING&lt;/P&gt;&lt;P&gt;             filename                = ' '&lt;/P&gt;&lt;P&gt;             filetype                = 'DAT'&lt;/P&gt;&lt;P&gt;           TABLES&lt;/P&gt;&lt;P&gt;             data_tab                = record1&lt;/P&gt;&lt;P&gt;           EXCEPTIONS&lt;/P&gt;&lt;P&gt;             conversion_error        = 1&lt;/P&gt;&lt;P&gt;             invalid_table_width     = 2&lt;/P&gt;&lt;P&gt;             invalid_type            = 3&lt;/P&gt;&lt;P&gt;             no_batch                = 4&lt;/P&gt;&lt;P&gt;             unknown_error           = 5&lt;/P&gt;&lt;P&gt;             gui_refuse_filetransfer = 6&lt;/P&gt;&lt;P&gt;             OTHERS                  = 7.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;         CLEAR record1.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;--&lt;/STRONG&gt;&lt;DEL&gt;&lt;STRONG&gt;&lt;/STRONG&gt;&lt;/DEL&gt;&lt;/P&gt;&lt;HR originaltext="--------" /&gt;DO NOT UPLOAD WHERE PRD QTY = 0--&lt;HR originaltext="------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;         DELETE record1 WHERE ( erfmg_007 = 0 OR erfmg_007 = ' ' )&lt;/P&gt;&lt;P&gt;                        AND   ( erfmg_008 = 0 OR erfmg_008 = ' ' ).&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;         DESCRIBE TABLE record1[].&lt;/P&gt;&lt;P&gt;         IF sy-tfill &amp;gt; 0.&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;----&lt;/STRONG&gt;&lt;/P&gt;&lt;HR originaltext="-------" /&gt;MOVE ACCEPTED QTY AND FETCH THE RESPECTIVE STGLOC&lt;P&gt;&lt;/P&gt;&lt;P&gt;           LOOP AT record1 WHERE erfmg_007 NE 0 AND erfmg_007 NE ' '.&lt;/P&gt;&lt;P&gt;             MOVE:    record1-budat_002 TO it_acc-budat_002,&lt;/P&gt;&lt;P&gt;                      record1-bktxt_004 TO it_acc-bktxt_004,&lt;/P&gt;&lt;P&gt;                      record1-matnr_005 TO it_acc-matnr_005,&lt;/P&gt;&lt;P&gt;                      record1-werks_006 TO it_acc-werks_006,&lt;/P&gt;&lt;P&gt;                      record1-erfmg_007 TO it_acc-erfmg_008.&lt;/P&gt;&lt;P&gt;             APPEND it_acc.&lt;/P&gt;&lt;P&gt;             CLEAR: it_acc,record1.&lt;/P&gt;&lt;P&gt;           ENDLOOP.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;           DELETE it_acc WHERE erfmg_008 = 0 OR erfmg_008 = ' '.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;           LOOP AT it_acc .&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;--&lt;/STRONG&gt;&lt;DEL&gt;&lt;STRONG&gt;&lt;/STRONG&gt;&lt;/DEL&gt;&lt;/P&gt;&lt;HR originaltext="--------" /&gt;MOVE ELPRO FOR THE ACCEPTED ENTRIES--&lt;HR originaltext="------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;             SELECT SINGLE elpro INTO wk_elpro&lt;/P&gt;&lt;P&gt;                    FROM mkal client specified&lt;/P&gt;&lt;P&gt;                    WHERE mandt = sy-mandt&lt;/P&gt;&lt;P&gt;                    and matnr = it_acc-matnr_005&lt;/P&gt;&lt;P&gt;                    AND werks = it_acc-werks_006.&lt;/P&gt;&lt;P&gt;             MOVE wk_elpro TO it_acc-alort_007.&lt;/P&gt;&lt;P&gt;             MODIFY it_acc.&lt;/P&gt;&lt;P&gt;             CLEAR: wk_elpro, it_acc.&lt;/P&gt;&lt;P&gt;           ENDLOOP.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;--&lt;/STRONG&gt;&lt;DEL&gt;&lt;STRONG&gt;&lt;/STRONG&gt;&lt;/DEL&gt;&lt;/P&gt;&lt;HR originaltext="----" /&gt;MOVE PRD QTY FOR REJECTED QTY--&lt;HR originaltext="--------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;           LOOP AT record1 WHERE erfmg_008 NE 0 AND erfmg_008 NE ' '.&lt;/P&gt;&lt;P&gt;             MOVE: record1-budat_002 TO it_rej-budat_002,&lt;/P&gt;&lt;P&gt;                   record1-bktxt_004 TO it_rej-bktxt_004,&lt;/P&gt;&lt;P&gt;                   record1-matnr_005 TO it_rej-matnr_005,&lt;/P&gt;&lt;P&gt;                   record1-werks_006 TO it_rej-werks_006,&lt;/P&gt;&lt;P&gt;                   record1-erfmg_008 TO it_rej-erfmg_008,&lt;/P&gt;&lt;P&gt;                   record1-alort_007 TO it_rej-alort_007.&lt;/P&gt;&lt;P&gt;             APPEND it_rej.&lt;/P&gt;&lt;P&gt;             CLEAR: it_rej,record1.&lt;/P&gt;&lt;P&gt;           ENDLOOP.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;           DELETE it_rej WHERE  erfmg_008 = 0 OR erfmg_008 = ' '.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;--&lt;/STRONG&gt;&lt;DEL&gt;&lt;STRONG&gt;&lt;/STRONG&gt;&lt;/DEL&gt;&lt;/P&gt;&lt;HR originaltext="----" /&gt;MOVE ACCEPTED AND REJECTED READINGS TO FINAL TABLE&lt;P&gt;&lt;/P&gt;&lt;P&gt;           APPEND LINES OF it_acc TO record.&lt;/P&gt;&lt;P&gt;           APPEND LINES OF it_rej TO record.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;           SORT record BY alort_007 ASCENDING.&lt;/P&gt;&lt;P&gt;           FREE : it_rej, it_acc, record1.&lt;/P&gt;&lt;P&gt;         ELSE.&lt;/P&gt;&lt;P&gt;           MESSAGE i937.&lt;/P&gt;&lt;P&gt;           STOP.&lt;/P&gt;&lt;P&gt;         ENDIF.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;ENDFORM.                    " UPLOAD_FUN&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;--&lt;/STRONG&gt;&lt;DEL&gt;&lt;STRONG&gt;&lt;/STRONG&gt;&lt;/DEL&gt;&lt;/P&gt;&lt;HR originaltext="----------------------" /&gt;FORM fill_bdc_table--&lt;HR originaltext="------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;FORM fill_bdc_table.&lt;/P&gt;&lt;P&gt;data: l_mstring(480).&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt; IF NOT record[] IS INITIAL.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  LOOP AT record.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;    PERFORM bdc_dynpro USING 'SAPLBARM' '0800'.&lt;/P&gt;&lt;P&gt;    PERFORM bdc_field  USING 'BDC_CURSOR' 'RM61B-BKTXT'.&lt;/P&gt;&lt;P&gt;    PERFORM bdc_field  USING 'BDC_OKCODE' '=ISTDA'.&lt;/P&gt;&lt;P&gt;    PERFORM bdc_field  USING 'RM61B-BUDAT' record-budat_002.&lt;/P&gt;&lt;P&gt;    PERFORM bdc_field  USING 'RM61B-BKTXT' record-bktxt_004.&lt;/P&gt;&lt;P&gt;    PERFORM bdc_field  USING 'RM61B-MATNR' record-matnr_005.&lt;/P&gt;&lt;P&gt;    PERFORM bdc_field  USING 'RM61B-WERKS' record-werks_006.&lt;/P&gt;&lt;P&gt;    PERFORM bdc_field  USING 'RM61B-ALORT' record-alort_007.&lt;/P&gt;&lt;P&gt;    PERFORM bdc_field  USING 'RM61B-ERFMG' record-erfmg_008.&lt;/P&gt;&lt;P&gt;    PERFORM bdc_dynpro USING 'SAPLCOWB' '0130'.&lt;/P&gt;&lt;P&gt;    PERFORM bdc_field  USING 'BDC_OKCODE' '=WEIT'.&lt;/P&gt;&lt;P&gt;    PERFORM bdc_field  USING 'BDC_CURSOR' 'G_COWB_HEADER-MNGTXT'.&lt;/P&gt;&lt;P&gt;    PERFORM bdc_transaction USING 'MFBF'.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;    l_mstring = t100-text. "CONTAINS THE MESSAGE THROWN&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;    if l_mstring cs '&amp;amp;1'.&lt;/P&gt;&lt;P&gt;      replace '&amp;amp;1' with messtab-msgv1 into l_mstring.&lt;/P&gt;&lt;P&gt;      replace '&amp;amp;2' with messtab-msgv2 into l_mstring.&lt;/P&gt;&lt;P&gt;      replace '&amp;amp;3' with messtab-msgv3 into l_mstring.&lt;/P&gt;&lt;P&gt;      replace '&amp;amp;4' with messtab-msgv4 into l_mstring.&lt;/P&gt;&lt;P&gt;    else.&lt;/P&gt;&lt;P&gt;      replace '&amp;amp;' with messtab-msgv1 into l_mstring.&lt;/P&gt;&lt;P&gt;      replace '&amp;amp;' with messtab-msgv2 into l_mstring.&lt;/P&gt;&lt;P&gt;      replace '&amp;amp;' with messtab-msgv3 into l_mstring.&lt;/P&gt;&lt;P&gt;      replace '&amp;amp;' with messtab-msgv4 into l_mstring.&lt;/P&gt;&lt;P&gt;    endif.&lt;/P&gt;&lt;P&gt;    condense l_mstring.&lt;/P&gt;&lt;P&gt;****&lt;STRONG&gt;MOVE RESPECTIVE MESSAGES AND RECORDS TO ITAB&lt;/STRONG&gt;**************&lt;/P&gt;&lt;P&gt;    move-corresponding record to messages.&lt;/P&gt;&lt;P&gt;    move:l_mstring to messages-text.&lt;/P&gt;&lt;P&gt;    move:messtab-msgtyp to messages-msgtyp.&lt;/P&gt;&lt;P&gt;    append messages.&lt;/P&gt;&lt;P&gt;    clear messages.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  ENDLOOP.&lt;/P&gt;&lt;P&gt;ENDIF.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;ENDFORM.                    "fill_bdc_table&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;--&lt;/STRONG&gt;&lt;DEL&gt;&lt;STRONG&gt;&lt;/STRONG&gt;&lt;/DEL&gt;&lt;/P&gt;&lt;HR originaltext="----------------------" /&gt;FORM assign_columns--&lt;HR originaltext="------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;form assign_columns .&lt;/P&gt;&lt;P&gt;  refresh alvfld.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  alvfld-fieldname  = 'MATNR_005'.&lt;/P&gt;&lt;P&gt;  alvfld-seltext_m  = 'PART NO'.&lt;/P&gt;&lt;P&gt;  append alvfld.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  alvfld-fieldname  = 'MAKTX'.&lt;/P&gt;&lt;P&gt;  alvfld-seltext_m  = 'Description'.&lt;/P&gt;&lt;P&gt;  append alvfld.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  alvfld-fieldname  = 'WERKS_006'.&lt;/P&gt;&lt;P&gt;  alvfld-seltext_m  = 'Plant'.&lt;/P&gt;&lt;P&gt;  append alvfld.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  alvfld-fieldname  = 'BUDAT_002'.&lt;/P&gt;&lt;P&gt;  alvfld-seltext_m  = 'Posting Date'.&lt;/P&gt;&lt;P&gt;  append alvfld.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  alvfld-fieldname  = 'BKTXT_004'.&lt;/P&gt;&lt;P&gt;  alvfld-seltext_m  = 'Shift'.&lt;/P&gt;&lt;P&gt;  append alvfld.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  alvfld-fieldname  = 'ERFMG_008'.&lt;/P&gt;&lt;P&gt;  alvfld-seltext_m  = 'Qty'.&lt;/P&gt;&lt;P&gt;  append alvfld.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  alvfld-fieldname  = 'ALORT_007'.&lt;/P&gt;&lt;P&gt;  alvfld-seltext_m  = 'Stgloc'.&lt;/P&gt;&lt;P&gt;  append alvfld.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  alvfld-fieldname  = 'TEXT'.&lt;/P&gt;&lt;P&gt;  alvfld-seltext_m  = 'Processed Status'.&lt;/P&gt;&lt;P&gt;  append alvfld.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;endform.                    " assign_columns&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;--&lt;/STRONG&gt;&lt;DEL&gt;&lt;STRONG&gt;&lt;/STRONG&gt;&lt;/DEL&gt;&lt;/P&gt;&lt;HR originaltext="----------------------" /&gt;FORM f_event_build--&lt;HR originaltext="------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;form f_event_build .&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  CALL FUNCTION 'REUSE_ALV_EVENTS_GET'&lt;/P&gt;&lt;P&gt;    EXPORTING&lt;/P&gt;&lt;P&gt;      i_list_type = 0&lt;/P&gt;&lt;P&gt;    IMPORTING&lt;/P&gt;&lt;P&gt;      et_events   = v_events[].&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  READ TABLE v_events WITH KEY name = slis_ev_top_of_page&lt;/P&gt;&lt;P&gt;                                           INTO wk_events.&lt;/P&gt;&lt;P&gt;  wk_LAYOUT-COLTAB_FIELDNAME = 'CELLCOLOR'. "FOR COLOUMN COLOR&lt;/P&gt;&lt;P&gt;  wk_layout-colwidth_optimize    = 'X'.&lt;/P&gt;&lt;P&gt;  IF sy-subrc = 0.&lt;/P&gt;&lt;P&gt;    MOVE c_formname_top_of_page TO wk_events-form.&lt;/P&gt;&lt;P&gt;    MODIFY v_events FROM wk_events INDEX sy-tabix.&lt;/P&gt;&lt;P&gt;  ENDIF.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;endform.                    " f_event_build&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;--&lt;/STRONG&gt;&lt;DEL&gt;&lt;STRONG&gt;&lt;/STRONG&gt;&lt;/DEL&gt;&lt;/P&gt;&lt;HR originaltext="----------------------" /&gt;FORM f_top_of_page--&lt;HR originaltext="------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;FORM f_top_of_page.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  CLEAR: it_list_comments[].&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  wk_list_comments-typ  = 'H'. "H=Header, S=Selection, A=Action&lt;/P&gt;&lt;P&gt;  wk_list_comments-key  = ''.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  wk_list_comments-info = 'BDC UPLOAD STATUS FOR PRD POSTING'.&lt;/P&gt;&lt;P&gt;  APPEND wk_list_comments TO it_list_comments.&lt;/P&gt;&lt;P&gt;  CLEAR wk_list_comments.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  CALL FUNCTION 'REUSE_ALV_COMMENTARY_WRITE'&lt;/P&gt;&lt;P&gt;    EXPORTING&lt;/P&gt;&lt;P&gt;      i_logo             = 'ENJOYSAP_LOGO'&lt;/P&gt;&lt;P&gt;      it_list_commentary = it_list_comments.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;ENDFORM.                    "F_TOP_OF_PAGE&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;--&lt;/STRONG&gt;&lt;DEL&gt;&lt;STRONG&gt;&lt;/STRONG&gt;&lt;/DEL&gt;&lt;/P&gt;&lt;HR originaltext="----------------------" /&gt;FORM assign_colors--&lt;HR originaltext="------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;form assign_colors .&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;loop at messages.&lt;/P&gt;&lt;P&gt;  case messages-msgtyp.&lt;/P&gt;&lt;P&gt;    when 'E'.&lt;/P&gt;&lt;P&gt;      move: 'TEXT' to wa_color-fname.&lt;/P&gt;&lt;P&gt;      move '6' to wa_color-color-col.&lt;/P&gt;&lt;P&gt;      move '0' to wa_color-color-int.&lt;/P&gt;&lt;P&gt;      move '1' to wa_color-color-inv.&lt;/P&gt;&lt;P&gt;      append wa_color to messages-cellcolor.&lt;/P&gt;&lt;P&gt;      modify messages transporting cellcolor.&lt;/P&gt;&lt;P&gt;    when 'S'.&lt;/P&gt;&lt;P&gt;      move: 'TEXT' to wa_color-fname.&lt;/P&gt;&lt;P&gt;      move '5' to wa_color-color-col.&lt;/P&gt;&lt;P&gt;      move '0' to wa_color-color-int.&lt;/P&gt;&lt;P&gt;      move '1' to wa_color-color-inv.&lt;/P&gt;&lt;P&gt;      append wa_color to messages-cellcolor.&lt;/P&gt;&lt;P&gt;      modify messages transporting cellcolor.&lt;/P&gt;&lt;P&gt;  endcase.&lt;/P&gt;&lt;P&gt;endloop.&lt;/P&gt;&lt;P&gt;endform.                    " assign_colors&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;**********************************************************************************************&lt;/P&gt;&lt;P&gt;INCLUDE PROGRAM&lt;/P&gt;&lt;P&gt;*******************************&lt;/P&gt;&lt;P&gt;***INCLUDE BDCRECX1.&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt; for programs doing a data transfer by creating a batch-input session&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt; and&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt; for programs doing a data transfer by CALL TRANSACTION USING&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;SELECTION-SCREEN BEGIN OF LINE.&lt;/P&gt;&lt;P&gt;  PARAMETERS SESSION RADIOBUTTON GROUP CTU.  "create session&lt;/P&gt;&lt;P&gt;  SELECTION-SCREEN COMMENT 3(20) TEXT-S07 FOR FIELD SESSION.&lt;/P&gt;&lt;P&gt;  selection-screen position 45.&lt;/P&gt;&lt;P&gt;  PARAMETERS CTU RADIOBUTTON GROUP  CTU.     "call transaction&lt;/P&gt;&lt;P&gt;  SELECTION-SCREEN COMMENT 48(20) TEXT-S08 FOR FIELD CTU.&lt;/P&gt;&lt;P&gt;SELECTION-SCREEN END OF LINE.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;SELECTION-SCREEN BEGIN OF LINE.&lt;/P&gt;&lt;P&gt;  SELECTION-SCREEN COMMENT 3(20) TEXT-S01 FOR FIELD GROUP.&lt;/P&gt;&lt;P&gt;  selection-screen position 25.&lt;/P&gt;&lt;P&gt;  PARAMETERS GROUP(12).                      "group name of session&lt;/P&gt;&lt;P&gt;  SELECTION-SCREEN COMMENT 48(20) TEXT-S05 FOR FIELD CTUMODE.&lt;/P&gt;&lt;P&gt;  selection-screen position 70.&lt;/P&gt;&lt;P&gt;  PARAMETERS CTUMODE LIKE CTU_PARAMS-DISMODE DEFAULT 'N'.&lt;/P&gt;&lt;P&gt;                                      "A: show all dynpros&lt;/P&gt;&lt;P&gt;                                      "E: show dynpro on error only&lt;/P&gt;&lt;P&gt;                                      "N: do not display dynpro&lt;/P&gt;&lt;P&gt;SELECTION-SCREEN END OF LINE.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;SELECTION-SCREEN BEGIN OF LINE.&lt;/P&gt;&lt;P&gt;  SELECTION-SCREEN COMMENT 3(20) TEXT-S02 FOR FIELD USER.&lt;/P&gt;&lt;P&gt;  selection-screen position 25.&lt;/P&gt;&lt;P&gt;  PARAMETERS: USER(12) DEFAULT SY-UNAME.     "user for session in batch&lt;/P&gt;&lt;P&gt;  SELECTION-SCREEN COMMENT 48(20) TEXT-S06 FOR FIELD CUPDATE.&lt;/P&gt;&lt;P&gt;  selection-screen position 70.&lt;/P&gt;&lt;P&gt;  PARAMETERS CUPDATE LIKE CTU_PARAMS-UPDMODE DEFAULT 'L'.&lt;/P&gt;&lt;P&gt;                                      "S: synchronously&lt;/P&gt;&lt;P&gt;                                      "A: asynchronously&lt;/P&gt;&lt;P&gt;                                      "L: local&lt;/P&gt;&lt;P&gt;SELECTION-SCREEN END OF LINE.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;SELECTION-SCREEN BEGIN OF LINE.&lt;/P&gt;&lt;P&gt;  SELECTION-SCREEN COMMENT 3(20) TEXT-S03 FOR FIELD KEEP.&lt;/P&gt;&lt;P&gt;  selection-screen position 25.&lt;/P&gt;&lt;P&gt;  PARAMETERS: KEEP AS CHECKBOX.       "' ' = delete session if finished&lt;/P&gt;&lt;P&gt;                                      "'X' = keep   session if finished&lt;/P&gt;&lt;P&gt;  SELECTION-SCREEN COMMENT 48(20) TEXT-S09 FOR FIELD E_GROUP.&lt;/P&gt;&lt;P&gt;  selection-screen position 70.&lt;/P&gt;&lt;P&gt;  parameters E_GROUP(12).             "group name of error-session&lt;/P&gt;&lt;P&gt;SELECTION-SCREEN END OF LINE.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;SELECTION-SCREEN BEGIN OF LINE.&lt;/P&gt;&lt;P&gt;  SELECTION-SCREEN COMMENT 3(20) TEXT-S04 FOR FIELD HOLDDATE.&lt;/P&gt;&lt;P&gt;  selection-screen position 25.&lt;/P&gt;&lt;P&gt;  PARAMETERS: HOLDDATE LIKE SY-DATUM.&lt;/P&gt;&lt;P&gt;  SELECTION-SCREEN COMMENT 51(17) TEXT-S02 FOR FIELD E_USER.&lt;/P&gt;&lt;P&gt;  selection-screen position 70.&lt;/P&gt;&lt;P&gt;  PARAMETERS: E_USER(12) DEFAULT SY-UNAME.    "user for error-session&lt;/P&gt;&lt;P&gt;SELECTION-SCREEN END OF LINE.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;SELECTION-SCREEN BEGIN OF LINE.&lt;/P&gt;&lt;P&gt;  SELECTION-SCREEN COMMENT 51(17) TEXT-S03 FOR FIELD E_KEEP.&lt;/P&gt;&lt;P&gt;  selection-screen position 70.&lt;/P&gt;&lt;P&gt;  PARAMETERS: E_KEEP AS CHECKBOX.     "' ' = delete session if finished&lt;/P&gt;&lt;P&gt;                                      "'X' = keep   session if finished&lt;/P&gt;&lt;P&gt;SELECTION-SCREEN END OF LINE.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;SELECTION-SCREEN BEGIN OF LINE.&lt;/P&gt;&lt;P&gt;  SELECTION-SCREEN COMMENT 51(17) TEXT-S04 FOR FIELD E_HDATE.&lt;/P&gt;&lt;P&gt;  selection-screen position 70.&lt;/P&gt;&lt;P&gt;  PARAMETERS: E_HDATE LIKE SY-DATUM.&lt;/P&gt;&lt;P&gt;SELECTION-SCREEN END OF LINE.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;SELECTION-SCREEN SKIP.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;SELECTION-SCREEN BEGIN OF LINE.&lt;/P&gt;&lt;P&gt;  SELECTION-SCREEN COMMENT 1(33) TEXT-S10 FOR FIELD NODATA.&lt;/P&gt;&lt;P&gt;  PARAMETERS: NODATA DEFAULT '/' LOWER CASE.          "nodata&lt;/P&gt;&lt;P&gt;SELECTION-SCREEN END OF LINE.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;SELECTION-SCREEN BEGIN OF LINE.&lt;/P&gt;&lt;P&gt;  SELECTION-SCREEN COMMENT 1(33) FOR FIELD SMALLLOG.&lt;/P&gt;&lt;P&gt;  PARAMETERS: SMALLLOG as checkbox.  "' ' = log all transactions&lt;/P&gt;&lt;P&gt;                                     "'X' = no transaction logging&lt;/P&gt;&lt;P&gt;SELECTION-SCREEN END OF LINE.&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;  data definition&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;      Batchinputdata of single transaction&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;DATA:   BDCDATA LIKE BDCDATA    OCCURS 0 WITH HEADER LINE.&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;      messages of call transaction&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;DATA:   MESSTAB LIKE BDCMSGCOLL OCCURS 0 WITH HEADER LINE.&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;      error session opened (' ' or 'X')&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;DATA:   E_GROUP_OPENED.&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;      message texts&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;TABLES: T100.&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;  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.&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;group and user must be filled for create session&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;  IF SESSION = 'X' AND&lt;/P&gt;&lt;P&gt;     GROUP = SPACE OR USER = SPACE.&lt;/P&gt;&lt;P&gt;    MESSAGE E613(MS).&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;  open dataset                                                       *&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 OPEN_DATASET USING P_DATASET.&lt;/P&gt;&lt;P&gt;  OPEN DATASET P_DATASET&lt;/P&gt;&lt;P&gt;               FOR INPUT IN TEXT MODE&lt;/P&gt;&lt;P&gt;               ENCODING DEFAULT.&lt;/P&gt;&lt;P&gt;  IF SY-SUBRC &amp;lt;&amp;gt; 0.&lt;/P&gt;&lt;P&gt;    WRITE: / TEXT-E00, SY-SUBRC.&lt;/P&gt;&lt;P&gt;    STOP.&lt;/P&gt;&lt;P&gt;  ENDIF.&lt;/P&gt;&lt;P&gt;ENDFORM.&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;  close dataset                                                      *&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 CLOSE_DATASET USING P_DATASET.&lt;/P&gt;&lt;P&gt;  CLOSE DATASET P_DATASET.&lt;/P&gt;&lt;P&gt;ENDFORM.&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;  create batchinput session                                          *&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;  (not for call transaction using...)                                *&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 OPEN_GROUP.&lt;/P&gt;&lt;P&gt;  IF SESSION = 'X'.&lt;/P&gt;&lt;P&gt;    SKIP.&lt;/P&gt;&lt;P&gt;    WRITE: /(20) 'Create group'(I01), GROUP.&lt;/P&gt;&lt;P&gt;    SKIP.&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;  open batchinput group&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;    CALL FUNCTION 'BDC_OPEN_GROUP'&lt;/P&gt;&lt;P&gt;         EXPORTING  CLIENT   = SY-MANDT&lt;/P&gt;&lt;P&gt;                    GROUP    = GROUP&lt;/P&gt;&lt;P&gt;                    USER     = USER&lt;/P&gt;&lt;P&gt;                    KEEP     = KEEP&lt;/P&gt;&lt;P&gt;                    HOLDDATE = HOLDDATE.&lt;/P&gt;&lt;P&gt;    WRITE: /(30) 'BDC_OPEN_GROUP'(I02),&lt;/P&gt;&lt;P&gt;            (12) 'returncode:'(I05),&lt;/P&gt;&lt;P&gt;                 SY-SUBRC.&lt;/P&gt;&lt;P&gt;  ENDIF.&lt;/P&gt;&lt;P&gt;ENDFORM.&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 batchinput session                                             *&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;  (call transaction using...: error session)                         *&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 CLOSE_GROUP.&lt;/P&gt;&lt;P&gt;  IF SESSION = 'X'.&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;  close batchinput group&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;    CALL FUNCTION 'BDC_CLOSE_GROUP'.&lt;/P&gt;&lt;P&gt;    WRITE: /(30) 'BDC_CLOSE_GROUP'(I04),&lt;/P&gt;&lt;P&gt;            (12) 'returncode:'(I05),&lt;/P&gt;&lt;P&gt;                 SY-SUBRC.&lt;/P&gt;&lt;P&gt;  ELSE.&lt;/P&gt;&lt;P&gt;    IF E_GROUP_OPENED = 'X'.&lt;/P&gt;&lt;P&gt;      CALL FUNCTION 'BDC_CLOSE_GROUP'.&lt;/P&gt;&lt;P&gt;      WRITE: /.&lt;/P&gt;&lt;P&gt;      WRITE: /(30) 'Fehlermappe wurde erzeugt'(I06).&lt;/P&gt;&lt;P&gt;      E_GROUP_OPENED = ' '.&lt;/P&gt;&lt;P&gt;    ENDIF.&lt;/P&gt;&lt;P&gt;  ENDIF.&lt;/P&gt;&lt;P&gt;ENDFORM.&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 new transaction according to parameters                 *&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_TRANSACTION USING TCODE.&lt;/P&gt;&lt;P&gt;  DATA: L_MSTRING(480).&lt;/P&gt;&lt;P&gt;  DATA: L_SUBRC LIKE SY-SUBRC.&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;batch input session&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;  IF SESSION = 'X'.&lt;/P&gt;&lt;P&gt;    CALL FUNCTION 'BDC_INSERT'&lt;/P&gt;&lt;P&gt;         EXPORTING TCODE     = TCODE&lt;/P&gt;&lt;P&gt;         TABLES    DYNPROTAB = BDCDATA.&lt;/P&gt;&lt;P&gt;    IF SMALLLOG &amp;lt;&amp;gt; 'X'.&lt;/P&gt;&lt;P&gt;      WRITE: / 'BDC_INSERT'(I03),&lt;/P&gt;&lt;P&gt;               TCODE,&lt;/P&gt;&lt;P&gt;               'returncode:'(I05),&lt;/P&gt;&lt;P&gt;               SY-SUBRC,&lt;/P&gt;&lt;P&gt;               'RECORD:',&lt;/P&gt;&lt;P&gt;               SY-INDEX.&lt;/P&gt;&lt;P&gt;    ENDIF.&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;call transaction using&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;  ELSE.&lt;/P&gt;&lt;P&gt;    REFRESH MESSTAB.&lt;/P&gt;&lt;P&gt;    CALL TRANSACTION TCODE USING BDCDATA&lt;/P&gt;&lt;P&gt;                     MODE   CTUMODE&lt;/P&gt;&lt;P&gt;                     UPDATE CUPDATE&lt;/P&gt;&lt;P&gt;                     MESSAGES INTO MESSTAB.&lt;/P&gt;&lt;P&gt;    L_SUBRC = SY-SUBRC.&lt;/P&gt;&lt;P&gt;    IF SMALLLOG &amp;lt;&amp;gt; 'X'.&lt;/P&gt;&lt;P&gt;      WRITE: / 'CALL_TRANSACTION',&lt;/P&gt;&lt;P&gt;               TCODE,&lt;/P&gt;&lt;P&gt;               'returncode:'(I05),&lt;/P&gt;&lt;P&gt;               L_SUBRC,&lt;/P&gt;&lt;P&gt;               'RECORD:',&lt;/P&gt;&lt;P&gt;               SY-INDEX.&lt;/P&gt;&lt;P&gt;      LOOP AT MESSTAB.&lt;/P&gt;&lt;P&gt;        SELECT SINGLE * FROM T100 WHERE SPRSL = MESSTAB-MSGSPRA&lt;/P&gt;&lt;P&gt;                                  AND   ARBGB = MESSTAB-MSGID&lt;/P&gt;&lt;P&gt;                                  AND   MSGNR = MESSTAB-MSGNR.&lt;/P&gt;&lt;P&gt;        IF SY-SUBRC = 0.&lt;/P&gt;&lt;P&gt;          L_MSTRING = T100-TEXT.&lt;/P&gt;&lt;P&gt;          IF L_MSTRING CS '&amp;amp;1'.&lt;/P&gt;&lt;P&gt;            REPLACE '&amp;amp;1' WITH MESSTAB-MSGV1 INTO L_MSTRING.&lt;/P&gt;&lt;P&gt;            REPLACE '&amp;amp;2' WITH MESSTAB-MSGV2 INTO L_MSTRING.&lt;/P&gt;&lt;P&gt;            REPLACE '&amp;amp;3' WITH MESSTAB-MSGV3 INTO L_MSTRING.&lt;/P&gt;&lt;P&gt;            REPLACE '&amp;amp;4' WITH MESSTAB-MSGV4 INTO L_MSTRING.&lt;/P&gt;&lt;P&gt;          ELSE.&lt;/P&gt;&lt;P&gt;            REPLACE '&amp;amp;' WITH MESSTAB-MSGV1 INTO L_MSTRING.&lt;/P&gt;&lt;P&gt;            REPLACE '&amp;amp;' WITH MESSTAB-MSGV2 INTO L_MSTRING.&lt;/P&gt;&lt;P&gt;            REPLACE '&amp;amp;' WITH MESSTAB-MSGV3 INTO L_MSTRING.&lt;/P&gt;&lt;P&gt;            REPLACE '&amp;amp;' WITH MESSTAB-MSGV4 INTO L_MSTRING.&lt;/P&gt;&lt;P&gt;          ENDIF.&lt;/P&gt;&lt;P&gt;          CONDENSE L_MSTRING.&lt;/P&gt;&lt;P&gt;          WRITE: / MESSTAB-MSGTYP, L_MSTRING(250).&lt;/P&gt;&lt;P&gt;        ELSE.&lt;/P&gt;&lt;P&gt;          WRITE: / MESSTAB.&lt;/P&gt;&lt;P&gt;        ENDIF.&lt;/P&gt;&lt;P&gt;      ENDLOOP.&lt;/P&gt;&lt;P&gt;      SKIP.&lt;/P&gt;&lt;P&gt;    ENDIF.&lt;/P&gt;&lt;UL&gt;&lt;UL&gt;&lt;LI level="2" type="ul"&gt;&lt;P&gt;Erzeugen fehlermappe ************************************************&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;/UL&gt;&lt;P&gt;    IF L_SUBRC &amp;lt;&amp;gt; 0 AND E_GROUP &amp;lt;&amp;gt; SPACE.&lt;/P&gt;&lt;P&gt;      IF E_GROUP_OPENED = ' '.&lt;/P&gt;&lt;P&gt;        CALL FUNCTION 'BDC_OPEN_GROUP'&lt;/P&gt;&lt;P&gt;             EXPORTING  CLIENT   = SY-MANDT&lt;/P&gt;&lt;P&gt;                        GROUP    = E_GROUP&lt;/P&gt;&lt;P&gt;                        USER     = E_USER&lt;/P&gt;&lt;P&gt;                        KEEP     = E_KEEP&lt;/P&gt;&lt;P&gt;                        HOLDDATE = E_HDATE.&lt;/P&gt;&lt;P&gt;         E_GROUP_OPENED = 'X'.&lt;/P&gt;&lt;P&gt;      ENDIF.&lt;/P&gt;&lt;P&gt;      CALL FUNCTION 'BDC_INSERT'&lt;/P&gt;&lt;P&gt;           EXPORTING TCODE     = TCODE&lt;/P&gt;&lt;P&gt;           TABLES    DYNPROTAB = BDCDATA.&lt;/P&gt;&lt;P&gt;    ENDIF.&lt;/P&gt;&lt;P&gt;  ENDIF.&lt;/P&gt;&lt;P&gt;  REFRESH BDCDATA.&lt;/P&gt;&lt;P&gt;ENDFORM.&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 new 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;FORM BDC_DYNPRO USING PROGRAM DYNPRO.&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;ENDFORM.&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;       Insert 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;FORM BDC_FIELD USING FNAM FVAL.&lt;/P&gt;&lt;P&gt;  IF FVAL &amp;lt;&amp;gt; NODATA.&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;  ENDIF.&lt;/P&gt;&lt;P&gt;ENDFORM.&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Wed, 18 Jul 2007 08:20:37 GMT</pubDate>
      <guid>https://community.sap.com/t5/application-development-and-automation-discussions/bdc/m-p/2553482#M581721</guid>
      <dc:creator>kesavadas_thekkillath</dc:creator>
      <dc:date>2007-07-18T08:20:37Z</dc:date>
    </item>
  </channel>
</rss>

