<?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: call transaction method in Application Development and Automation Discussions</title>
    <link>https://community.sap.com/t5/application-development-and-automation-discussions/call-transaction-method/m-p/2354825#M520179</link>
    <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;REPORT  zkpcue029_rbc_enhancement&lt;/P&gt;&lt;P&gt;        NO STANDARD PAGE HEADING&lt;/P&gt;&lt;P&gt;        MESSAGE-ID zmm.&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;     T Y P E  D E C L A R A T I O N S                               *&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;Final output structure&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;TYPES:&lt;/P&gt;&lt;P&gt;  BEGIN OF ty_s_cbht,&lt;/P&gt;&lt;P&gt;    matnr   TYPE   zkt_cbht-matnr,      "Material Number&lt;/P&gt;&lt;P&gt;    werks   TYPE   zkt_cbht-werks,      "Plant&lt;/P&gt;&lt;P&gt;    stprs   TYPE   mbew-stprs    ,      "Material Standard price&lt;/P&gt;&lt;P&gt;    trcom   TYPE   zkt_cbht-trcom,      "Transaction Complete Ind&lt;/P&gt;&lt;P&gt;   END OF ty_s_cbht,&lt;/P&gt;&lt;P&gt;   ty_t_cbht TYPE STANDARD TABLE OF ty_s_cbht,&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;Error Table Structure&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;  BEGIN OF ty_s_matnr,&lt;/P&gt;&lt;P&gt;    matnr    TYPE matnr,          "Material number&lt;/P&gt;&lt;P&gt;    werks    TYPE werks,          "Plant&lt;/P&gt;&lt;P&gt;    msg(500) TYPE c,              "Messages&lt;/P&gt;&lt;P&gt;  END OF ty_s_matnr,&lt;/P&gt;&lt;P&gt;  ty_t_matnr TYPE STANDARD TABLE OF ty_s_matnr,&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;Plant n amd material pertaing to to single company code.&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;  BEGIN OF ty_s_plant,&lt;/P&gt;&lt;P&gt;    matnr    TYPE matnr,          "Material number&lt;/P&gt;&lt;P&gt;    werks    TYPE marc-werks,     "Plant&lt;/P&gt;&lt;P&gt;  END OF ty_s_plant,&lt;/P&gt;&lt;P&gt;  ty_t_plant TYPE STANDARD TABLE OF ty_s_plant,&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;Success table Structure&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;   BEGIN OF ty_s_success,&lt;/P&gt;&lt;P&gt;     matnr    TYPE matnr,          "Material number&lt;/P&gt;&lt;P&gt;   END OF ty_s_success,&lt;/P&gt;&lt;P&gt;   ty_t_success TYPE STANDARD TABLE OF ty_s_success,&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;BDC Structure Table&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;  ty_t_bdc_tab TYPE STANDARD TABLE OF bdcdata,&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;BDC Messages Structure&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;  ty_s_bdcmsg TYPE bdcmsgcoll,&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;BDC messages Table&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;  ty_t_bdcmsg  TYPE STANDARD TABLE OF bdcmsgcoll,&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;Capturing error messages&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;  BEGIN OF ty_s_msgs,&lt;/P&gt;&lt;P&gt;    msg(200),          "Error messages&lt;/P&gt;&lt;P&gt;  END OF ty_s_msgs,&lt;/P&gt;&lt;P&gt;  ty_t_msgs TYPE STANDARD TABLE OF ty_s_msgs.&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;     I N T E R N A L  T A B L E S                                   *&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;DATA:&lt;/P&gt;&lt;P&gt;  gt_objhead    TYPE   TABLE OF solisti1,      "Object Header Table&lt;/P&gt;&lt;P&gt;  gt_objtxt     TYPE   TABLE OF solisti1,      "Body&lt;/P&gt;&lt;P&gt;  gt_reclist    TYPE   TABLE OF somlreci1,     "Recipient list&lt;/P&gt;&lt;P&gt;  gt_cbht       TYPE   ty_t_cbht,              "internal table&lt;/P&gt;&lt;P&gt;  gt_cbht_tmp   TYPE   ty_t_cbht,              "Temp internal table&lt;/P&gt;&lt;P&gt;  gt_error      TYPE   ty_t_matnr,             "Error table&lt;/P&gt;&lt;P&gt;  gt_marc       TYPE   ty_t_plant,             "Plant table&lt;/P&gt;&lt;P&gt;  gt_success    TYPE   ty_t_success,           "Success table&lt;/P&gt;&lt;P&gt;  gt_bdc_tab    TYPE   ty_t_bdc_tab,           "BDC table&lt;/P&gt;&lt;P&gt;  gt_bdc_msg    TYPE   STANDARD TABLE OF bdcmsgcoll. "Message table&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;              V A R I A B L E S                                     *&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;DATA:&lt;/P&gt;&lt;P&gt;  gv_tab_lines        TYPE  i,&lt;/P&gt;&lt;P&gt;  gv_bdc_open_flag    TYPE  c.&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;G L O B A L    D A T A   D E C L A R A T I O N S                    *&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;DATA:&lt;/P&gt;&lt;P&gt;  gs_objtxt      TYPE   solisti1,      "Body&lt;/P&gt;&lt;P&gt;  gs_reclist     TYPE   somlreci1,     "Recipient List&lt;/P&gt;&lt;P&gt;  gs_doc_chng    TYPE   sodocchgi1,    "Mail Header details&lt;/P&gt;&lt;P&gt;  gs_error       TYPE   ty_s_matnr,    "Error table structure&lt;/P&gt;&lt;P&gt;  gs_marc       TYPE   ty_s_plant,    "Plant data Structure&lt;/P&gt;&lt;P&gt;  gs_success     TYPE   ty_s_matnr,    "Success table Structure&lt;/P&gt;&lt;P&gt;  gs_bdc_tab     TYPE   bdcdata,       "BDC table data&lt;/P&gt;&lt;P&gt;  gt_msgs        TYPE   ty_t_msgs.     "Capturing the messages&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;    G L O B A L    C O N S T A N T S                                *&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;CONSTANTS:&lt;/P&gt;&lt;P&gt;  gc_x(1)      TYPE c  VALUE 'X',         "For checking field&lt;/P&gt;&lt;P&gt;  gc_c(1)      TYPE c  VALUE 'C',         "Constant value C&lt;/P&gt;&lt;P&gt;  gc_u(1)      TYPE c  VALUE 'U',         "Contant value U&lt;/P&gt;&lt;P&gt;  gc_p(4)      TYPE c  VALUE '1000',      "Constant value 1000&lt;/P&gt;&lt;P&gt;  gc_f         TYPE c  VALUE 'F',         "Footer indicator&lt;/P&gt;&lt;P&gt;  gc_h         TYPE c  VALUE 'H',         "Header indicator&lt;/P&gt;&lt;P&gt;  gc_at(2)     TYPE c  VALUE '@',         "@ symbol&lt;/P&gt;&lt;P&gt;  gc_grpid     TYPE apqi-groupid VALUE 'RBC_ERRORS',&lt;/P&gt;&lt;P&gt;  gc_cbht      TYPE rstable-tabname VALUE  'ZKT_CBHT',&lt;/P&gt;&lt;P&gt;  gc_s           VALUE 'S',               "constant S&lt;/P&gt;&lt;P&gt;  gc_2           VALUE '2',               "constant value 2&lt;/P&gt;&lt;P&gt;  gc_3           VALUE '3',               "constant value 3&lt;/P&gt;&lt;P&gt;  gc_y           VALUE 'Y'.               "constant Y&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;S E L E C T I O N  S C R E E N                                      *&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;Selection Screen data for block b.&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;SELECTION-SCREEN BEGIN OF BLOCK b WITH FRAME TITLE text-001.&lt;/P&gt;&lt;P&gt;PARAMETERS:&lt;/P&gt;&lt;P&gt;  p_gjahr  TYPE  zkt_cbht-gjahr OBLIGATORY, "Fiscal Year&lt;/P&gt;&lt;P&gt;  p_monat  TYPE  zkt_cbht-monat OBLIGATORY, "FiscalPeriod&lt;/P&gt;&lt;P&gt;  p_fweek  TYPE  zkt_cbht-fweek OBLIGATORY, "Fiscal week&lt;/P&gt;&lt;P&gt;  p_budat  TYPE  budat OBLIGATORY   DEFAULT sy-datum,&lt;/P&gt;&lt;P&gt;  p_bukrs  TYPE  t001-bukrs     OBLIGATORY  DEFAULT gc_p.&lt;/P&gt;&lt;P&gt;SELECTION-SCREEN END OF BLOCK b.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;*Selection Screen data for block b1.&lt;/P&gt;&lt;P&gt;SELECTION-SCREEN BEGIN OF BLOCK b1 WITH FRAME TITLE text-006.&lt;/P&gt;&lt;P&gt;PARAMETERS: p_dlist  TYPE  p10_email  OBLIGATORY."Email ID/Distr List&lt;/P&gt;&lt;P&gt;SELECTION-SCREEN END OF BLOCK b1.&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;A T  S E L E C T I O N  S C R E E N                                 *&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;Validation check for Comapny code&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;AT SELECTION-SCREEN ON p_bukrs.&lt;/P&gt;&lt;P&gt;  PERFORM validate_bukrs.&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;    S T A R T  O F  S E L E C T I O N                               *&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;&lt;STRONG&gt;----&lt;/STRONG&gt;&lt;/P&gt;&lt;HR originaltext="----------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;INITIALIZATION.&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;Defaulting the Fiscal Year/Period/Week on the Selection-screen&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;  PERFORM default_fiscal_data.&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;    S T A R T  O F  S E L E C T I O N                               *&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;&lt;STRONG&gt;----&lt;/STRONG&gt;&lt;/P&gt;&lt;HR originaltext="----------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;START-OF-SELECTION.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;Retrieve costing data from the custom table.&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;  PERFORM get_cbht_data.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;Retrieve all the plants data for which the material is extended&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;  PERFORM get_data_from_marc.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;Run the MR21 transaction to update Std Price retrieved from ZKT_CBHT&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;  PERFORM update_std_price.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;Display materials which are not updated.&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;  PERFORM display_materials.&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;E N D   O F   S E L E C T I O N                                     *&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;&lt;STRONG&gt;----&lt;/STRONG&gt;&lt;/P&gt;&lt;HR originaltext="----------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;END-OF-SELECTION.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;Check for materials that failed to update&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;  IF gt_error IS NOT INITIAL.&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;  Send a mail with error information&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;    PERFORM send_log_mail.&lt;/P&gt;&lt;P&gt;  ENDIF.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;Raise event for Product costing reports (R044 &amp;amp; R045) only&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;when E029 runs in background&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;  IF sy-batch EQ 'X'.&lt;/P&gt;&lt;P&gt;    PERFORM raise_event.&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;T O P   O F   P A G E                                               *&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;TOP-OF-PAGE.&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;Header for the report display using FM 'Z_SL_HEADER_FOOTER'&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;  PERFORM header_footer USING gc_h .&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;    E N D - O F - P A G E                                            *&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;&lt;STRONG&gt;----&lt;/STRONG&gt;&lt;/P&gt;&lt;HR originaltext="-----------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;END-OF-PAGE.&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;Footer for the report display using FM 'Z_SL_HEADER_FOOTER'&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;  PERFORM header_footer USING gc_f.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;----&lt;/STRONG&gt;&lt;/P&gt;&lt;HR originaltext="----------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;      Form  get_cbht_data                                           *&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;&lt;STRONG&gt;----&lt;/STRONG&gt;&lt;/P&gt;&lt;HR originaltext="----------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;Retrieving data from the CBHT custom table                          *&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;&lt;STRONG&gt;----&lt;/STRONG&gt;&lt;/P&gt;&lt;HR originaltext="----------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;FORM get_cbht_data .&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;Populate the internal table.&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;  SELECT  matnr                       "Material&lt;/P&gt;&lt;P&gt;          werks                       "Plant&lt;/P&gt;&lt;P&gt;          stprs                       "Standard material Price&lt;/P&gt;&lt;P&gt;          trcom                       "Costing version&lt;/P&gt;&lt;P&gt;    FROM  zkt_cbht&lt;/P&gt;&lt;P&gt;    INTO  TABLE gt_cbht&lt;/P&gt;&lt;P&gt;   WHERE  gjahr  EQ  p_gjahr  AND&lt;/P&gt;&lt;P&gt;          monat  EQ  p_monat  AND&lt;/P&gt;&lt;P&gt;          fweek  EQ  p_fweek.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;Delete the records for which the MR21 is completed&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;  DELETE gt_cbht WHERE trcom EQ gc_y.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;If the table is empty&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;  IF gt_cbht IS INITIAL .&lt;/P&gt;&lt;P&gt;    MESSAGE s004.             "No data found status message&lt;/P&gt;&lt;P&gt;    LEAVE LIST-PROCESSING.&lt;/P&gt;&lt;P&gt;  ENDIF.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;ENDFORM.                    " get_cbht_data&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;----&lt;/STRONG&gt;&lt;/P&gt;&lt;HR originaltext="-----------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;      Form  get_data_from_marc                                       *&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;    Retrieving All the Plant data from MARC table                    *&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;&lt;STRONG&gt;----&lt;/STRONG&gt;&lt;/P&gt;&lt;HR originaltext="-----------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;FORM get_data_from_marc.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;local declaration&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;  TYPES : BEGIN OF ty_s_t001k,&lt;/P&gt;&lt;P&gt;          bwkey  TYPE t001k-bwkey,&lt;/P&gt;&lt;P&gt;          END OF ty_s_t001k,&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;     ty_t_t001k TYPE STANDARD TABLE OF ty_s_t001k.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  DATA : lr_bwkey TYPE RANGE OF t001k-bwkey,&lt;/P&gt;&lt;P&gt;         ls_bwkey LIKE LINE OF lr_bwkey,&lt;/P&gt;&lt;P&gt;         lt_t001k TYPE ty_t_t001k,&lt;/P&gt;&lt;P&gt;         ls_t001k TYPE ty_s_t001k.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  CONSTANTS: lc_i     VALUE 'I',&lt;/P&gt;&lt;P&gt;             lc_eq(2) VALUE 'EQ'.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  REFRESH : lt_t001k,&lt;/P&gt;&lt;P&gt;            gt_marc.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;Get the Unique Materials from ZKT_CBHT&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;  IF NOT gt_cbht IS INITIAL.&lt;/P&gt;&lt;P&gt;    gt_cbht_tmp = gt_cbht.&lt;/P&gt;&lt;P&gt;    SORT gt_cbht_tmp  BY matnr.&lt;/P&gt;&lt;P&gt;    DELETE ADJACENT DUPLICATES FROM gt_cbht_tmp COMPARING matnr.&lt;/P&gt;&lt;P&gt;  ENDIF.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;select all  the plants and company codes&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;  SELECT  bwkey                   "Valuation area&lt;/P&gt;&lt;P&gt;    FROM  t001k&lt;/P&gt;&lt;P&gt;    INTO  TABLE lt_t001k&lt;/P&gt;&lt;P&gt;   WHERE  bukrs EQ p_bukrs.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;Populating the range table for the Plants that are retrieved&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;  ls_bwkey-sign   = lc_i.&lt;/P&gt;&lt;P&gt;  ls_bwkey-option = lc_eq.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  LOOP AT lt_t001k INTO ls_t001k.&lt;/P&gt;&lt;P&gt;    ls_bwkey-low = ls_t001k-bwkey.&lt;/P&gt;&lt;P&gt;    APPEND ls_bwkey TO lr_bwkey.&lt;/P&gt;&lt;P&gt;    CLEAR:  ls_bwkey-low.&lt;/P&gt;&lt;P&gt;  ENDLOOP.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;Select all the plant values&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;  SELECT  matnr                   "Material number&lt;/P&gt;&lt;P&gt;          werks                   "Plant&lt;/P&gt;&lt;P&gt;    FROM  marc&lt;/P&gt;&lt;P&gt;    INTO  TABLE gt_marc&lt;/P&gt;&lt;P&gt;     FOR  ALL ENTRIES IN gt_cbht_tmp&lt;/P&gt;&lt;P&gt;   WHERE  matnr  EQ  gt_cbht_tmp-matnr  AND&lt;/P&gt;&lt;P&gt;          werks  IN  lr_bwkey.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  SORT gt_marc BY matnr werks.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;If the table is empty&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;  IF gt_marc IS INITIAL .&lt;/P&gt;&lt;P&gt;    MESSAGE s004.             "No data found status message&lt;/P&gt;&lt;P&gt;    LEAVE LIST-PROCESSING.&lt;/P&gt;&lt;P&gt;  ENDIF.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;ENDFORM.                    " get_data_from_marc&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;----&lt;/STRONG&gt;&lt;/P&gt;&lt;HR originaltext="----------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;     Form  UPDATE_STD_PRICE                                         *&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;     Run the BDC recording for MR21 for updating the Std Price      *&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 update_std_price.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;clear the flag value and loop the cost blending table&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;  CLEAR: gv_bdc_open_flag.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;Filling the BDCDATA&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;  PERFORM prepare_bdc_tab.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;Close the SESSION&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;  IF gv_bdc_open_flag = gc_x.&lt;/P&gt;&lt;P&gt;    PERFORM bdc_close_group.&lt;/P&gt;&lt;P&gt;  ENDIF.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;ENDFORM.                    "UPDATE_STD_PRICE&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;----&lt;/STRONG&gt;&lt;/P&gt;&lt;HR originaltext="----------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;     Form  prepare_bdc_tab                                          *&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;Prepare BDC Table for updating Copack Purchase Prices               *&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 prepare_bdc_tab .&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;Local variable.&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;  DATA: lv_date(10)   TYPE c,&lt;/P&gt;&lt;P&gt;        ls_stprs  TYPE ty_s_cbht,&lt;/P&gt;&lt;P&gt;        ls_plant  TYPE ty_s_plant,&lt;/P&gt;&lt;P&gt;        lv_fnmatnr    TYPE bdcdata-fnam,&lt;/P&gt;&lt;P&gt;        lv_fnbwkey    TYPE bdcdata-fnam,&lt;/P&gt;&lt;P&gt;        lv_fnnewvalpr TYPE bdcdata-fnam,&lt;/P&gt;&lt;P&gt;        lv_counter(2) TYPE n,&lt;/P&gt;&lt;P&gt;        lv_num TYPE i.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  CONSTANTS: lc_8 VALUE '8'.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  CLEAR: lv_date.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  SORT gt_cbht BY matnr.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  LOOP AT gt_marc INTO gs_marc.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;    ls_plant = gs_marc.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;    AT NEW matnr.&lt;/P&gt;&lt;P&gt;      CLEAR lv_counter.&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;Capture the date as per the user setting&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;      WRITE p_budat TO lv_date.&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;Initial Screen of MR21 transaction&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;      PERFORM bdc_dynpro  USING  'SAPRCKM_MR21'          '0201'.&lt;/P&gt;&lt;P&gt;      PERFORM bdc_field   USING: 'BDC_OKCODE'            '=ENTR',&lt;/P&gt;&lt;P&gt;                                 'MR21HEAD-BUDAT'         lv_date,&lt;/P&gt;&lt;P&gt;                                 'MR21HEAD-BUKRS'         p_bukrs,&lt;/P&gt;&lt;P&gt;                                 'MR21HEAD-WERKS'         space.&lt;/P&gt;&lt;P&gt;      READ TABLE  gt_cbht INTO  ls_stprs&lt;/P&gt;&lt;P&gt;        WITH KEY  matnr = ls_plant-matnr BINARY SEARCH.&lt;/P&gt;&lt;P&gt;    ENDAT.&lt;/P&gt;&lt;P&gt;    CLEAR : lv_fnmatnr,&lt;/P&gt;&lt;P&gt;            lv_fnbwkey,&lt;/P&gt;&lt;P&gt;            lv_fnnewvalpr.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;    lv_counter = lv_counter + 1.&lt;/P&gt;&lt;P&gt;    lv_num     = lv_num + 1.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;    CONCATENATE:&lt;/P&gt;&lt;P&gt;        'CKI_MR21_0250-MATNR('    lv_counter  ')'  INTO  lv_fnmatnr,&lt;/P&gt;&lt;P&gt;        'CKI_MR21_0250-BWKEY('    lv_counter  ')'  INTO  lv_fnbwkey,&lt;/P&gt;&lt;P&gt;        'CKI_MR21_0250-NEWVALPR(' lv_counter  ')'  INTO  lv_fnnewvalpr.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;Second screen of MR21 transaction&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;    PERFORM bdc_dynpro  USING  'SAPRCKM_MR21'               '0201'.&lt;/P&gt;&lt;P&gt;    PERFORM bdc_field   USING: 'BDC_OKCODE'                 '=ENTR',&lt;/P&gt;&lt;P&gt;                                   lv_fnmatnr    ls_plant-matnr,&lt;/P&gt;&lt;P&gt;                                   lv_fnbwkey    ls_plant-werks,&lt;/P&gt;&lt;P&gt;                                   lv_fnnewvalpr ls_stprs-stprs.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;    IF lv_num EQ lc_8.&lt;/P&gt;&lt;P&gt;      PERFORM bdc_dynpro  USING  'SAPRCKM_MR21'               '0201'.&lt;/P&gt;&lt;P&gt;      PERFORM bdc_field   USING: 'BDC_OKCODE'                 '=DOWN'.&lt;/P&gt;&lt;P&gt;      CLEAR lv_num.&lt;/P&gt;&lt;P&gt;      CLEAR lv_counter.&lt;/P&gt;&lt;P&gt;    ENDIF.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;    AT END OF matnr.&lt;/P&gt;&lt;P&gt;      PERFORM bdc_field   USING: 'BDC_OKCODE'                 '=SAVE'.&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;Run MR21 using CALL TRANSACTION, if errors found create a SESSION&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;      PERFORM call_transaction_mr21 USING ls_plant.&lt;/P&gt;&lt;P&gt;      CLEAR : ls_stprs.&lt;/P&gt;&lt;P&gt;      REFRESH gt_bdc_tab.&lt;/P&gt;&lt;P&gt;    ENDAT.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;    CLEAR : gs_marc,&lt;/P&gt;&lt;P&gt;            ls_plant.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  ENDLOOP.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;ENDFORM.                    " prepare_bdc_tab&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;----&lt;/STRONG&gt;&lt;/P&gt;&lt;HR originaltext="----------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;     Form  call_transaction_mr21                                    *&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; Call Transaction for updating CoPack Price entries                 *&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 call_transaction_mr21  USING p_ls_plant TYPE ty_s_plant.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;Local  Data Declaration&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;  CONSTANTS:lc_e         TYPE c VALUE 'E',&lt;/P&gt;&lt;P&gt;            lc_mr21(4)   TYPE c VALUE 'MR21',&lt;/P&gt;&lt;P&gt;            lc_mode(1)   TYPE c VALUE 'N',&lt;/P&gt;&lt;P&gt;            lc_update(1) TYPE c VALUE 'U'.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  DATA: ls_msgs TYPE ty_s_msgs.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  REFRESH: gt_bdc_msg.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;Call MR21 Transaction&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;  CALL TRANSACTION  lc_mr21&lt;/P&gt;&lt;P&gt;             USING  gt_bdc_tab&lt;/P&gt;&lt;P&gt;              MODE  lc_mode&lt;/P&gt;&lt;P&gt;            UPDATE  lc_update&lt;/P&gt;&lt;P&gt;     MESSAGES INTO  gt_bdc_msg.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;If the Call Transaction Fails&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;  IF sy-subrc NE 0.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;    IF gv_bdc_open_flag IS INITIAL.&lt;/P&gt;&lt;P&gt;      PERFORM bdc_open_group.&lt;/P&gt;&lt;P&gt;      gv_bdc_open_flag = gc_x.&lt;/P&gt;&lt;P&gt;    ENDIF.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;    PERFORM bdc_insert_group.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;    DELETE gt_bdc_msg WHERE msgtyp NE lc_e.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;get the error message&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;    PERFORM read_error_message  USING   gt_bdc_msg&lt;/P&gt;&lt;P&gt;                             CHANGING   gt_msgs.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;If the message table is having error mesasges&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;    IF gt_bdc_msg IS NOT INITIAL.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;      LOOP AT gt_msgs INTO ls_msgs.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;        gs_error-matnr = p_ls_plant-matnr.&lt;/P&gt;&lt;P&gt;        gs_error-msg   = ls_msgs-msg.&lt;/P&gt;&lt;P&gt;        APPEND gs_error TO gt_error.&lt;/P&gt;&lt;P&gt;        CLEAR gs_error.&lt;/P&gt;&lt;P&gt;      ENDLOOP.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;    ENDIF.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;    REFRESH:gt_bdc_msg,&lt;/P&gt;&lt;P&gt;            gt_bdc_tab,&lt;/P&gt;&lt;P&gt;            gt_msgs.&lt;/P&gt;&lt;P&gt;  ELSE.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;Update the status as 'Y' for ZKT_CBHT-TRCOM for success records&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;    PERFORM update_transaction_complete USING p_ls_plant.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;Record all materials that updated Successfully with Standard Price&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;    gs_success-matnr = p_ls_plant-matnr.&lt;/P&gt;&lt;P&gt;    APPEND gs_success TO gt_success.&lt;/P&gt;&lt;P&gt;    CLEAR: gs_success.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  ENDIF.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  CLEAR p_ls_plant.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;ENDFORM.                    " call_transaction_mr21&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;----&lt;/STRONG&gt;&lt;/P&gt;&lt;HR originaltext="----------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;     Form  UPDATE_TRANSACTION_COMPLETE                              *&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;&lt;STRONG&gt;----&lt;/STRONG&gt;&lt;/P&gt;&lt;HR originaltext="----------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;     --&amp;gt;LS_CBHT    text                                             *&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;&lt;STRONG&gt;----&lt;/STRONG&gt;&lt;/P&gt;&lt;HR originaltext="----------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;FORM update_transaction_complete USING p_ls_plant TYPE ty_s_plant.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  DATA lv_varkey TYPE rstable-varkey.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;generate the KEY for locking the record in ZKT_CBHT&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;  CONCATENATE  sy-mandt&lt;/P&gt;&lt;P&gt;               p_gjahr&lt;/P&gt;&lt;P&gt;               p_monat&lt;/P&gt;&lt;P&gt;               p_fweek&lt;/P&gt;&lt;P&gt;               p_fweek&lt;/P&gt;&lt;P&gt;               p_ls_plant-matnr&lt;/P&gt;&lt;P&gt;         INTO  lv_varkey.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;Lock the ZKT_CBHT table before update&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;  PERFORM lock_cbht_table USING lv_varkey.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;Update the Table ZKT_CBHT using the field TRCOM.&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;  UPDATE  zkt_cbht&lt;/P&gt;&lt;P&gt;     SET  trcom = gc_y&lt;/P&gt;&lt;P&gt;          laepr = syst-datum&lt;/P&gt;&lt;P&gt;          uzeit = syst-uzeit&lt;/P&gt;&lt;P&gt;   WHERE  gjahr  EQ  p_gjahr          AND&lt;/P&gt;&lt;P&gt;          monat  EQ  p_monat          AND&lt;/P&gt;&lt;P&gt;          fweek  EQ  p_fweek          AND&lt;/P&gt;&lt;P&gt;          tvers  EQ  p_fweek          AND&lt;/P&gt;&lt;P&gt;          matnr  EQ  p_ls_plant-matnr.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;Unlock the ZKT_CBHT table after update&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;  PERFORM unlock_cbht_table USING lv_varkey.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;ENDFORM.                    "UPDATE_TRANSACTION_COMPLETE&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;----&lt;/STRONG&gt;&lt;/P&gt;&lt;HR originaltext="----------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;      Form  READ_ERROR_MESSAGE                                      *&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;&lt;STRONG&gt;----&lt;/STRONG&gt;&lt;/P&gt;&lt;HR originaltext="----------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;     --&amp;gt;GT_BDC_MSG text                                             *&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;     --&amp;gt;LT_MSGS    text                                             *&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;&lt;STRONG&gt;----&lt;/STRONG&gt;&lt;/P&gt;&lt;HR originaltext="----------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;FORM read_error_message  USING   lt_bdc_msg TYPE ty_t_bdcmsg&lt;/P&gt;&lt;P&gt;                        CHANGING   lt_msgs    TYPE ty_t_msgs.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  DATA: lv_msg(500).&lt;/P&gt;&lt;P&gt;  DATA: ls_bdcmsg TYPE ty_s_bdcmsg.&lt;/P&gt;&lt;P&gt;  DATA: ls_errormsg TYPE ty_s_msgs.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  LOOP AT lt_bdc_msg INTO ls_bdcmsg.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;    CALL FUNCTION 'FORMAT_MESSAGE'&lt;/P&gt;&lt;P&gt;      EXPORTING&lt;/P&gt;&lt;P&gt;        id        = ls_bdcmsg-msgid&lt;/P&gt;&lt;P&gt;        lang      = 'E'&lt;/P&gt;&lt;P&gt;        no        = ls_bdcmsg-msgnr&lt;/P&gt;&lt;P&gt;        v1        = ls_bdcmsg-msgv1&lt;/P&gt;&lt;P&gt;        v2        = ls_bdcmsg-msgv2&lt;/P&gt;&lt;P&gt;        v3        = ls_bdcmsg-msgv3&lt;/P&gt;&lt;P&gt;        v4        = ls_bdcmsg-msgv4&lt;/P&gt;&lt;P&gt;      IMPORTING&lt;/P&gt;&lt;P&gt;        msg       = lv_msg&lt;/P&gt;&lt;P&gt;      EXCEPTIONS&lt;/P&gt;&lt;P&gt;        not_found = 0&lt;/P&gt;&lt;P&gt;        OTHERS    = 0.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;    ls_errormsg-msg = lv_msg.&lt;/P&gt;&lt;P&gt;    APPEND ls_errormsg TO lt_msgs.&lt;/P&gt;&lt;P&gt;    CLEAR ls_errormsg-msg.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  ENDLOOP.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;ENDFORM.                    "READ_ERROR_MESSAGE&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;----&lt;/STRONG&gt;&lt;/P&gt;&lt;HR originaltext="----------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;     Form  default_fiscal_data                                      *&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;&lt;STRONG&gt;----&lt;/STRONG&gt;&lt;/P&gt;&lt;HR originaltext="----------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;     Fetch Fiscal Year, Fiscal Period, Fiscal Week.                 *&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 default_fiscal_data .&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  CALL FUNCTION 'Z_GET_FISCAL_WEEK_FROM_DATE'&lt;/P&gt;&lt;P&gt;    EXPORTING&lt;/P&gt;&lt;P&gt;      i_datum              = sy-datum&lt;/P&gt;&lt;P&gt;      i_bukrs              = p_bukrs&lt;/P&gt;&lt;P&gt;    IMPORTING&lt;/P&gt;&lt;P&gt;      e_fisc_period        = p_monat&lt;/P&gt;&lt;P&gt;      e_fisc_year          = p_gjahr&lt;/P&gt;&lt;P&gt;      e_week_num           = p_fweek&lt;/P&gt;&lt;P&gt;    EXCEPTIONS&lt;/P&gt;&lt;P&gt;      error_period         = 1&lt;/P&gt;&lt;P&gt;      error_period_version = 2&lt;/P&gt;&lt;P&gt;      error_special_period = 3&lt;/P&gt;&lt;P&gt;      error_version        = 4&lt;/P&gt;&lt;P&gt;      error_fiscal_year    = 5&lt;/P&gt;&lt;P&gt;      error_posting_period = 6&lt;/P&gt;&lt;P&gt;      error_posting_date   = 7&lt;/P&gt;&lt;P&gt;      invalid_company      = 8&lt;/P&gt;&lt;P&gt;      OTHERS               = 9.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  IF sy-subrc &amp;lt;&amp;gt; 0.&lt;/P&gt;&lt;P&gt;    MESSAGE ID sy-msgid TYPE sy-msgty NUMBER sy-msgno&lt;/P&gt;&lt;P&gt;            WITH sy-msgv1 sy-msgv2 sy-msgv3 sy-msgv4.&lt;/P&gt;&lt;P&gt;  ENDIF.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;ENDFORM.                    "Default_fiscal_data&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;----&lt;/STRONG&gt;&lt;/P&gt;&lt;HR originaltext="----------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;      Form  send_log_mail                                           *&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;      Sending the Error log as mail                                 *&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 send_log_mail .&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;Local Constants&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;  CONSTANTS: lc_raw(3) TYPE c VALUE 'RAW'.  "Docuement Type&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;Creating the document to be sent with error message.&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;  IF gt_error IS NOT INITIAL.&lt;/P&gt;&lt;P&gt;    gs_doc_chng-obj_name  = 'Error Price'(002).&lt;/P&gt;&lt;P&gt;    gs_doc_chng-obj_descr =&lt;/P&gt;&lt;P&gt;             'Material Standard Price Updation Errors'(003).&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;Mail Content&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;    gs_objtxt = text-009.&lt;/P&gt;&lt;P&gt;    APPEND gs_objtxt TO gt_objtxt.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;    gs_objtxt = text-020.&lt;/P&gt;&lt;P&gt;    APPEND gs_objtxt TO gt_objtxt.&lt;/P&gt;&lt;P&gt;    CLEAR gs_objtxt.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;    APPEND gs_objtxt TO gt_objtxt.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;Error message Heading&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;    CONCATENATE  text-022    "Material&lt;/P&gt;&lt;P&gt;                 text-024    "Error Message&lt;/P&gt;&lt;P&gt;           INTO  gs_objtxt.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;    APPEND gs_objtxt TO gt_objtxt.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;    gs_objtxt = text-021.         "under line in mail&lt;/P&gt;&lt;P&gt;    APPEND gs_objtxt TO gt_objtxt.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;    LOOP AT gt_error INTO gs_error.&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;Remove leading zero's for Material&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;      CALL FUNCTION 'CONVERSION_EXIT_ALPHA_OUTPUT'&lt;/P&gt;&lt;P&gt;        EXPORTING&lt;/P&gt;&lt;P&gt;          input  = gs_error-matnr&lt;/P&gt;&lt;P&gt;        IMPORTING&lt;/P&gt;&lt;P&gt;          output = gs_error-matnr.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;Genearte the error text&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;      gs_objtxt = gs_error-matnr.&lt;/P&gt;&lt;P&gt;      gs_objtxt+27 = gs_error-msg.&lt;/P&gt;&lt;P&gt;      APPEND gs_objtxt TO gt_objtxt.&lt;/P&gt;&lt;P&gt;    ENDLOOP.&lt;/P&gt;&lt;P&gt;  ENDIF.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;Add the Content to the E-mail&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;  DESCRIBE TABLE gt_objtxt LINES gv_tab_lines.&lt;/P&gt;&lt;P&gt;  READ TABLE gt_objtxt INTO gs_objtxt INDEX gv_tab_lines.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  gs_doc_chng-doc_size =&lt;/P&gt;&lt;P&gt;          ( gv_tab_lines - 1 ) * 255 + STRLEN( gs_objtxt ).&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;Check for Internet Address or Distribution List&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;  IF p_dlist IS NOT INITIAL.&lt;/P&gt;&lt;P&gt;    SEARCH p_dlist FOR gc_at.&lt;/P&gt;&lt;P&gt;    IF sy-subrc EQ 0.&lt;/P&gt;&lt;P&gt;      gs_reclist-rec_type = gc_u.&lt;/P&gt;&lt;P&gt;    ELSE.&lt;/P&gt;&lt;P&gt;      gs_reclist-rec_type = gc_c.&lt;/P&gt;&lt;P&gt;    ENDIF.&lt;/P&gt;&lt;P&gt;    gs_reclist-receiver = p_dlist.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;    APPEND gs_reclist TO gt_reclist.&lt;/P&gt;&lt;P&gt;  ENDIF.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;Call the function module to send the mail&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;  CALL FUNCTION 'SO_NEW_DOCUMENT_SEND_API1'&lt;/P&gt;&lt;P&gt;    EXPORTING&lt;/P&gt;&lt;P&gt;      document_type              = lc_raw&lt;/P&gt;&lt;P&gt;      document_data              = gs_doc_chng&lt;/P&gt;&lt;P&gt;      put_in_outbox              = gc_x&lt;/P&gt;&lt;P&gt;      commit_work                = gc_x&lt;/P&gt;&lt;P&gt;    TABLES&lt;/P&gt;&lt;P&gt;      object_header              = gt_objhead&lt;/P&gt;&lt;P&gt;      object_content             = gt_objtxt&lt;/P&gt;&lt;P&gt;      receivers                  = gt_reclist&lt;/P&gt;&lt;P&gt;    EXCEPTIONS&lt;/P&gt;&lt;P&gt;      too_many_receivers         = 1&lt;/P&gt;&lt;P&gt;      document_not_sent          = 2&lt;/P&gt;&lt;P&gt;      operation_no_authorization = 4&lt;/P&gt;&lt;P&gt;      OTHERS                     = 99.&lt;/P&gt;&lt;P&gt;  CASE sy-subrc.&lt;/P&gt;&lt;P&gt;    WHEN 0.&lt;/P&gt;&lt;P&gt;      SKIP.&lt;/P&gt;&lt;P&gt;      FORMAT COLOR 3 ON.&lt;/P&gt;&lt;P&gt;      WRITE:/ 'Mail has been sent successfully to below mentioned IDs:-&amp;gt;'(005)&lt;/P&gt;&lt;P&gt;      .&lt;/P&gt;&lt;P&gt;      FORMAT COLOR 3 OFF.&lt;/P&gt;&lt;P&gt;      WRITE:/ p_dlist.&lt;/P&gt;&lt;P&gt;      WRITE:/ sy-uname.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;    WHEN 1.&lt;/P&gt;&lt;P&gt;      WRITE: / 'Too many receivers specified !'(017).&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;    WHEN 2.&lt;/P&gt;&lt;P&gt;      WRITE: / 'No receiver got the document !'(018).&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;    WHEN 4.&lt;/P&gt;&lt;P&gt;      WRITE: / 'Missing send authority !'(016).&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;    WHEN OTHERS.&lt;/P&gt;&lt;P&gt;      WRITE: / 'Unexpected error occurred !'(019).&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  ENDCASE.&lt;/P&gt;&lt;P&gt;ENDFORM.                    " send_log_mail&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;----&lt;/STRONG&gt;&lt;/P&gt;&lt;HR originaltext="----------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;      Form  display_materials                                       *&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;Display all the Materials which failed to update the Standard Price *&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 display_materials .&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  IF NOT gt_error IS INITIAL.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;Update Failure message.&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;    SKIP 2.&lt;/P&gt;&lt;P&gt;    FORMAT COLOR 3 ON.&lt;/P&gt;&lt;P&gt;    WRITE:/ text-009,&lt;/P&gt;&lt;P&gt;          / text-020.  "Material Std.Price update failure message&lt;/P&gt;&lt;P&gt;    FORMAT COLOR 3 OFF.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;    FORMAT COLOR COL_NEGATIVE ON.&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;Read all the materials that failed to update&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;    LOOP AT gt_error INTO gs_error.&lt;/P&gt;&lt;P&gt;      WRITE:/  gs_error-matnr,&lt;/P&gt;&lt;P&gt;            28 gs_error-msg.&lt;/P&gt;&lt;P&gt;    ENDLOOP.&lt;/P&gt;&lt;P&gt;    FORMAT COLOR COL_NEGATIVE OFF.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;    SKIP 2.&lt;/P&gt;&lt;P&gt;  ENDIF.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  IF NOT gt_success IS INITIAL.&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;Mesage to define the updation is Successful.&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;    FORMAT COLOR 3 ON.&lt;/P&gt;&lt;P&gt;    WRITE:/ text-011, 97 p_bukrs."Material Std.Price update Success msg&lt;/P&gt;&lt;P&gt;    FORMAT COLOR 3 OFF.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;    FORMAT COLOR COL_POSITIVE ON.&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;Read all the materials which updated Successfully&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;    LOOP AT gt_success INTO gs_success.&lt;/P&gt;&lt;P&gt;      WRITE:/ gs_success-matnr.&lt;/P&gt;&lt;P&gt;    ENDLOOP.&lt;/P&gt;&lt;P&gt;    FORMAT COLOR COL_POSITIVE OFF.&lt;/P&gt;&lt;P&gt;  ENDIF.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;ENDFORM.                    " display_materials&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;----&lt;/STRONG&gt;&lt;/P&gt;&lt;HR originaltext="----------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;     Form  header_footer                                            *&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;To write a header and a footer to the report  layout                *&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;&lt;STRONG&gt;----&lt;/STRONG&gt;&lt;/P&gt;&lt;HR originaltext="----------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;     --&amp;gt;P_GC_HF  Header and Footer Indicator 'H' or 'F'             *&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 header_footer  USING p_gc_hf TYPE sywtitl.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;Custom Function module for the Header/Footer display for report&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;  CALL FUNCTION 'Z_SL_HEADER_FOOTER'&lt;/P&gt;&lt;P&gt;    EXPORTING&lt;/P&gt;&lt;P&gt;      rpt_id                 = sy-cprog&lt;/P&gt;&lt;P&gt;      rpt_txt_typ            = p_gc_hf&lt;/P&gt;&lt;P&gt;      rpt_width              = sy-linsz&lt;/P&gt;&lt;P&gt;    EXCEPTIONS&lt;/P&gt;&lt;P&gt;      err_invalid_parameters = 1&lt;/P&gt;&lt;P&gt;      OTHERS                 = 2.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  IF sy-subrc &amp;lt;&amp;gt; 0.&lt;/P&gt;&lt;P&gt;    MESSAGE ID sy-msgid TYPE sy-msgty NUMBER sy-msgno&lt;/P&gt;&lt;P&gt;            WITH sy-msgv1 sy-msgv2 sy-msgv3 sy-msgv4.&lt;/P&gt;&lt;P&gt;  ENDIF.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;ENDFORM.                    " header_footer&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;----&lt;/STRONG&gt;&lt;/P&gt;&lt;HR originaltext="----------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;             FORM bdc_dynpro                                        *&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;       Generate BDCDATA                                             *&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 TYPE bdcdata-program&lt;/P&gt;&lt;P&gt;                      dynpro  TYPE bdcdata-dynpro .&lt;/P&gt;&lt;P&gt;  CLEAR:  gs_bdc_tab.&lt;/P&gt;&lt;P&gt;  gs_bdc_tab-program  = program.&lt;/P&gt;&lt;P&gt;  gs_bdc_tab-dynpro   = dynpro.&lt;/P&gt;&lt;P&gt;  gs_bdc_tab-dynbegin = gc_x.&lt;/P&gt;&lt;P&gt;  APPEND gs_bdc_tab TO gt_bdc_tab.&lt;/P&gt;&lt;P&gt;ENDFORM.                    "bdc_dynpro&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;----&lt;/STRONG&gt;&lt;/P&gt;&lt;HR originaltext="----------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;                  FORM bdc_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;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;       Populate data to the Screen fields                           *&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 TYPE bdcdata-fnam&lt;/P&gt;&lt;P&gt;                     fval TYPE any.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;Clear the local structure.&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;  CLEAR:  gs_bdc_tab.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  WRITE fval TO gs_bdc_tab-fval LEFT-JUSTIFIED.&lt;/P&gt;&lt;P&gt;  gs_bdc_tab-fnam = fnam.&lt;/P&gt;&lt;P&gt;  APPEND gs_bdc_tab TO gt_bdc_tab.&lt;/P&gt;&lt;P&gt;ENDFORM.                    "bdc_field&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;----&lt;/STRONG&gt;&lt;/P&gt;&lt;HR originaltext="----------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;     Form  bdc_open_group                                           *&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; Subroutine for Open BDC Group                                      *&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_open_group .&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  CALL FUNCTION 'BDC_OPEN_GROUP'&lt;/P&gt;&lt;P&gt;    EXPORTING&lt;/P&gt;&lt;P&gt;      client              = sy-mandt&lt;/P&gt;&lt;P&gt;      group               = gc_grpid&lt;/P&gt;&lt;P&gt;      user                = sy-uname&lt;/P&gt;&lt;P&gt;    EXCEPTIONS&lt;/P&gt;&lt;P&gt;      client_invalid      = 1&lt;/P&gt;&lt;P&gt;      destination_invalid = 2&lt;/P&gt;&lt;P&gt;      group_invalid       = 3&lt;/P&gt;&lt;P&gt;      group_is_locked     = 4&lt;/P&gt;&lt;P&gt;      holddate_invalid    = 5&lt;/P&gt;&lt;P&gt;      internal_error      = 6&lt;/P&gt;&lt;P&gt;      queue_error         = 7&lt;/P&gt;&lt;P&gt;      running             = 8&lt;/P&gt;&lt;P&gt;      system_lock_error   = 9&lt;/P&gt;&lt;P&gt;      user_invalid        = 10&lt;/P&gt;&lt;P&gt;      OTHERS              = 11.&lt;/P&gt;&lt;P&gt;  IF sy-subrc &amp;lt;&amp;gt; 0.&lt;/P&gt;&lt;P&gt;    WRITE &lt;span class="lia-unicode-emoji" title=":confused_face:"&gt;😕&lt;/span&gt; text-013. "Error in BDC_OPEN_GROUP&lt;/P&gt;&lt;P&gt;    EXIT.&lt;/P&gt;&lt;P&gt;  ENDIF.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;ENDFORM.                    " bdc_open_group&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;----&lt;/STRONG&gt;&lt;/P&gt;&lt;HR originaltext="----------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;     Form  BDC_INSERT_GROUP                                         *&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;Subroutine for calling BDC_INSERT for inserting BDC Table           *&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_insert_group .&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  DATA lc_mr21 TYPE tstc-tcode VALUE 'MR21'.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  CALL FUNCTION 'BDC_INSERT'&lt;/P&gt;&lt;P&gt;    EXPORTING&lt;/P&gt;&lt;P&gt;      tcode            = lc_mr21&lt;/P&gt;&lt;P&gt;    TABLES&lt;/P&gt;&lt;P&gt;      dynprotab        = gt_bdc_tab&lt;/P&gt;&lt;P&gt;    EXCEPTIONS&lt;/P&gt;&lt;P&gt;      internal_error   = 1&lt;/P&gt;&lt;P&gt;      not_open         = 2&lt;/P&gt;&lt;P&gt;      queue_error      = 3&lt;/P&gt;&lt;P&gt;      tcode_invalid    = 4&lt;/P&gt;&lt;P&gt;      printing_invalid = 5&lt;/P&gt;&lt;P&gt;      posting_invalid  = 6&lt;/P&gt;&lt;P&gt;      OTHERS           = 7.&lt;/P&gt;&lt;P&gt;  IF sy-subrc &amp;lt;&amp;gt; 0.&lt;/P&gt;&lt;P&gt;    WRITE &lt;span class="lia-unicode-emoji" title=":confused_face:"&gt;😕&lt;/span&gt; text-014. "Error in BDC_INSERT&lt;/P&gt;&lt;P&gt;    EXIT.&lt;/P&gt;&lt;P&gt;  ENDIF.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;ENDFORM.                    " BDC_INSERT_GROUP&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;----&lt;/STRONG&gt;&lt;/P&gt;&lt;HR originaltext="----------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;     Form  BDC_CLOSE_GROUP                                          *&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;Subroutine for Closeing of BDC group                                *&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_close_group .&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  CALL FUNCTION 'BDC_CLOSE_GROUP'&lt;/P&gt;&lt;P&gt;    EXCEPTIONS&lt;/P&gt;&lt;P&gt;      not_open    = 1&lt;/P&gt;&lt;P&gt;      queue_error = 2&lt;/P&gt;&lt;P&gt;      OTHERS      = 3.&lt;/P&gt;&lt;P&gt;  IF sy-subrc &amp;lt;&amp;gt; 0.&lt;/P&gt;&lt;P&gt;    WRITE &lt;span class="lia-unicode-emoji" title=":confused_face:"&gt;😕&lt;/span&gt; text-015.         "Error in BDC_CLOSE_GROUP.&lt;/P&gt;&lt;P&gt;    EXIT.&lt;/P&gt;&lt;P&gt;  ENDIF.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;ENDFORM.                    " BDC_CLOSE_GROUP&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;----&lt;/STRONG&gt;&lt;/P&gt;&lt;HR originaltext="----------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;     Form  validate_bukrs                                           *&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;     Validation for Company code                                    *&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 validate_bukrs .&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;Local declarations&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;  DATA: lv_bukrs TYPE bukrs.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  CLEAR lv_bukrs.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;Check if the specified Company code exists or not&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;  IF p_bukrs IS NOT INITIAL.&lt;/P&gt;&lt;P&gt;    SELECT  SINGLE bukrs        "Comapny code&lt;/P&gt;&lt;P&gt;      FROM  t001&lt;/P&gt;&lt;P&gt;      INTO  lv_bukrs&lt;/P&gt;&lt;P&gt;     WHERE  bukrs EQ p_bukrs.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;    IF lv_bukrs IS INITIAL.&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;Enter a valid Company code&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;      MESSAGE e117(zmm).              "Invalid Company code&lt;/P&gt;&lt;P&gt;    ENDIF.&lt;/P&gt;&lt;P&gt;  ENDIF.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;ENDFORM.                    " validate_bukrs&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;----&lt;/STRONG&gt;&lt;/P&gt;&lt;HR originaltext="----------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;     Form  lock_cbht_table                                          *&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;     Lock the table 'ZKT_CBHT' while updating                       *&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 lock_cbht_table USING p_varkey TYPE rstable-varkey.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  CALL FUNCTION 'ENQUEUE_E_TABLES'&lt;/P&gt;&lt;P&gt;    EXPORTING&lt;/P&gt;&lt;P&gt;      mode_rstable = gc_s&lt;/P&gt;&lt;P&gt;      tabname      = gc_cbht&lt;/P&gt;&lt;P&gt;      varkey       = p_varkey&lt;/P&gt;&lt;P&gt;      &lt;U&gt;scope       = gc&lt;/U&gt;2.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;ENDFORM.                    "lock_cbht_table&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;----&lt;/STRONG&gt;&lt;/P&gt;&lt;HR originaltext="----------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;     Form  unlock_cbht_table                                        *&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;     Unlock the table 'ZKT_CBHT' after updating                     *&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 unlock_cbht_table USING p_varkey TYPE rstable-varkey.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  CALL FUNCTION 'DEQUEUE_E_TABLES'&lt;/P&gt;&lt;P&gt;    EXPORTING&lt;/P&gt;&lt;P&gt;      mode_rstable = gc_s&lt;/P&gt;&lt;P&gt;      tabname      = gc_cbht&lt;/P&gt;&lt;P&gt;      varkey       = p_varkey&lt;/P&gt;&lt;P&gt;      &lt;U&gt;scope       = gc&lt;/U&gt;3.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;ENDFORM.                    "unlock_history_table&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;&amp;amp;----&lt;/STRONG&gt;&lt;/P&gt;&lt;HR originaltext="----------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;*&amp;amp;      Form  raise_event&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;&amp;amp;----&lt;/STRONG&gt;&lt;/P&gt;&lt;HR originaltext="----------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;      text&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;&lt;STRONG&gt;----&lt;/STRONG&gt;&lt;/P&gt;&lt;HR originaltext="-----------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;FORM raise_event.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  CONSTANTS:&lt;/P&gt;&lt;P&gt;    lc_event_id   TYPE btceventid VALUE 'ZCO_PC_REPORTS'.&lt;/P&gt;&lt;P&gt;  DATA:&lt;/P&gt;&lt;P&gt;    lv_msgtxt     TYPE bapi_msg.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;Raise the Event for Cost Blending&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;  CALL FUNCTION 'BP_EVENT_RAISE'&lt;/P&gt;&lt;P&gt;    EXPORTING&lt;/P&gt;&lt;P&gt;      eventid                = lc_event_id&lt;/P&gt;&lt;P&gt;    EXCEPTIONS&lt;/P&gt;&lt;P&gt;      bad_eventid            = 1&lt;/P&gt;&lt;P&gt;      eventid_does_not_exist = 2&lt;/P&gt;&lt;P&gt;      eventid_missing        = 3&lt;/P&gt;&lt;P&gt;      raise_failed           = 4&lt;/P&gt;&lt;P&gt;      OTHERS                 = 5.&lt;/P&gt;&lt;P&gt;  IF sy-subrc &amp;lt;&amp;gt; 0.&lt;/P&gt;&lt;P&gt;    MESSAGE e067(1m) WITH lc_event_id INTO lv_msgtxt.&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;  Event &amp;amp;1 not triggered&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;  ELSE.&lt;/P&gt;&lt;P&gt;    MESSAGE s066(1m) WITH lc_event_id INTO lv_msgtxt.&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;  Event &amp;amp;1 triggered&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;  ENDIF.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  FORMAT COLOR COL_POSITIVE ON.&lt;/P&gt;&lt;P&gt;  WRITE: / lv_msgtxt.&lt;/P&gt;&lt;P&gt;  FORMAT COLOR COL_POSITIVE OFF.&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;End of spool report&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;  WRITE:/ sy-uline(132).&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;ENDFORM.                    " raise_event&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
    <pubDate>Thu, 14 Jun 2007 15:03:20 GMT</pubDate>
    <dc:creator>Former Member</dc:creator>
    <dc:date>2007-06-14T15:03:20Z</dc:date>
    <item>
      <title>call transaction method</title>
      <link>https://community.sap.com/t5/application-development-and-automation-discussions/call-transaction-method/m-p/2354819#M520173</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;hi,&lt;/P&gt;&lt;P&gt;can any one send me a bdc program that will have the logic for entering as many no.of items as possible without taking the point of screen resolution of having n no. of fields.i want an exact program to send the data to the R/3 from flat file that has header and item details.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;thanks and regards,&lt;/P&gt;&lt;P&gt;sultan.s&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Wed, 13 Jun 2007 03:55:46 GMT</pubDate>
      <guid>https://community.sap.com/t5/application-development-and-automation-discussions/call-transaction-method/m-p/2354819#M520173</guid>
      <dc:creator>Former Member</dc:creator>
      <dc:date>2007-06-13T03:55:46Z</dc:date>
    </item>
    <item>
      <title>Re: call transaction method</title>
      <link>https://community.sap.com/t5/application-development-and-automation-discussions/call-transaction-method/m-p/2354820#M520174</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Hi,&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Check the sample program in the following link&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;A href="http://sap-img.com/abap/bdc-example-using-table-control-in-bdc.htm" target="test_blank"&gt;http://sap-img.com/abap/bdc-example-using-table-control-in-bdc.htm&lt;/A&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Thanks&lt;/P&gt;&lt;P&gt;Naren&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Wed, 13 Jun 2007 03:57:16 GMT</pubDate>
      <guid>https://community.sap.com/t5/application-development-and-automation-discussions/call-transaction-method/m-p/2354820#M520174</guid>
      <dc:creator>Former Member</dc:creator>
      <dc:date>2007-06-13T03:57:16Z</dc:date>
    </item>
    <item>
      <title>Re: call transaction method</title>
      <link>https://community.sap.com/t5/application-development-and-automation-discussions/call-transaction-method/m-p/2354821#M520175</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;hi,&lt;/P&gt;&lt;P&gt;check this example:&lt;/P&gt;&lt;P&gt;REPORT  ZSR_BDC_TBCTRL&lt;/P&gt;&lt;P&gt;        NO STANDARD PAGE HEADING LINE-SIZE 255.&lt;/P&gt;&lt;P&gt;TABLES : RF02K,LFA1,LFBK.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;DATA : BEGIN OF IT_VEN OCCURS 0,&lt;/P&gt;&lt;P&gt;      LIFNR LIKE RF02K-LIFNR,&lt;/P&gt;&lt;P&gt;      KTOKK LIKE RF02K-KTOKK,&lt;/P&gt;&lt;P&gt;      NAME1 LIKE LFA1-NAME1,&lt;/P&gt;&lt;P&gt;      SORTL LIKE LFA1-SORTL,&lt;/P&gt;&lt;P&gt;      LAND1 LIKE LFA1-LAND1,&lt;/P&gt;&lt;P&gt;      SPRAS LIKE LFA1-SPRAS,&lt;/P&gt;&lt;P&gt;      BANKS(6) TYPE C,&lt;/P&gt;&lt;P&gt;      BANKL(17) TYPE C,&lt;/P&gt;&lt;P&gt;      BANKN(19) TYPE C,&lt;/P&gt;&lt;P&gt;      END OF IT_VEN.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;DATA : BEGIN OF BANKS OCCURS 0,&lt;/P&gt;&lt;P&gt;       BANKS LIKE LFBK-BANKS,&lt;/P&gt;&lt;P&gt;       END OF BANKS,&lt;/P&gt;&lt;P&gt;       BEGIN OF BANKL OCCURS 0,&lt;/P&gt;&lt;P&gt;       BANKL LIKE LFBK-BANKL,&lt;/P&gt;&lt;P&gt;       END OF BANKL,&lt;/P&gt;&lt;P&gt;       BEGIN OF BANKN OCCURS 0,&lt;/P&gt;&lt;P&gt;       BANKN LIKE LFBK-BANKN,&lt;/P&gt;&lt;P&gt;       END OF BANKN.&lt;/P&gt;&lt;P&gt;DATA : FLD(20) TYPE C,&lt;/P&gt;&lt;P&gt;       CNT(2) TYPE N.&lt;/P&gt;&lt;P&gt;DATA : BDCTAB LIKE BDCDATA OCCURS 0 WITH HEADER LINE.&lt;/P&gt;&lt;P&gt;INCLUDE BDCRECX1.&lt;/P&gt;&lt;P&gt;START-OF-SELECTION.&lt;/P&gt;&lt;P&gt;CALL FUNCTION 'GUI_UPLOAD'&lt;/P&gt;&lt;P&gt;  EXPORTING&lt;/P&gt;&lt;P&gt;    FILENAME                      = 'Z:\sr.TXT'&lt;/P&gt;&lt;P&gt;   FILETYPE                      = 'ASC'&lt;/P&gt;&lt;P&gt;   HAS_FIELD_SEPARATOR           = 'X'&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;  HEADER_LENGTH                 = 0&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;  READ_BY_LINE                  = 'X'&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;  DAT_MODE                      = ' '&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;  CODEPAGE                      = ' '&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;  IGNORE_CERR                   = ABAP_TRUE&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;  REPLACEMENT                   = '#'&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;  CHECK_BOM                     = ' '&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;IMPORTING&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;  FILELENGTH                    =&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;  HEADER                        =&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;  TABLES&lt;/P&gt;&lt;P&gt;    DATA_TAB                      = IT_VEN&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;EXCEPTIONS&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;  FILE_OPEN_ERROR               = 1&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;  FILE_READ_ERROR               = 2&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;  NO_BATCH                      = 3&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;  GUI_REFUSE_FILETRANSFER       = 4&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;  INVALID_TYPE                  = 5&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;  NO_AUTHORITY                  = 6&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;  UNKNOWN_ERROR                 = 7&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;  BAD_DATA_FORMAT               = 8&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;  HEADER_NOT_ALLOWED            = 9&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;  SEPARATOR_NOT_ALLOWED         = 10&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;  HEADER_TOO_LONG               = 11&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;  UNKNOWN_DP_ERROR              = 12&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;  ACCESS_DENIED                 = 13&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;  DP_OUT_OF_MEMORY              = 14&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;  DISK_FULL                     = 15&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;  DP_TIMEOUT                    = 16&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;  OTHERS                        = 17&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;          .&lt;/P&gt;&lt;P&gt;IF SY-SUBRC &amp;lt;&amp;gt; 0.&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;MESSAGE ID SY-MSGID TYPE SY-MSGTY NUMBER SY-MSGNO&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;        WITH SY-MSGV1 SY-MSGV2 SY-MSGV3 SY-MSGV4.&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;ENDIF.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;PERFORM OPEN_GROUP.&lt;/P&gt;&lt;P&gt;LOOP AT IT_VEN.&lt;/P&gt;&lt;P&gt;    REFRESH BDCDATA.&lt;/P&gt;&lt;P&gt;    REFRESH : BANKS,BANKL,BANKN..&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;    SPLIT IT_VEN-BANKS AT ',' INTO TABLE BANKS.&lt;/P&gt;&lt;P&gt;    SPLIT IT_VEN-BANKL AT ',' INTO TABLE BANKL.&lt;/P&gt;&lt;P&gt;    SPLIT IT_VEN-BANKN AT ',' INTO TABLE BANKN.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;PERFORM BDC_DYNPRO      USING 'SAPMF02K' '0100'.&lt;/P&gt;&lt;P&gt;PERFORM BDC_FIELD       USING 'BDC_CURSOR'&lt;/P&gt;&lt;P&gt;                              'RF02K-KTOKK'.&lt;/P&gt;&lt;P&gt;PERFORM BDC_FIELD       USING 'BDC_OKCODE'&lt;/P&gt;&lt;P&gt;                              '/00'.&lt;/P&gt;&lt;P&gt;PERFORM BDC_FIELD       USING 'RF02K-LIFNR'&lt;/P&gt;&lt;P&gt;                              IT_VEN-LIFNR.&lt;/P&gt;&lt;P&gt;PERFORM BDC_FIELD       USING 'RF02K-KTOKK'&lt;/P&gt;&lt;P&gt;                              IT_VEN-KTOKK.&lt;/P&gt;&lt;P&gt;PERFORM BDC_DYNPRO      USING 'SAPMF02K' '0110'.&lt;/P&gt;&lt;P&gt;PERFORM BDC_FIELD       USING 'BDC_CURSOR'&lt;/P&gt;&lt;P&gt;                              'LFA1-SPRAS'.&lt;/P&gt;&lt;P&gt;PERFORM BDC_FIELD       USING 'BDC_OKCODE'&lt;/P&gt;&lt;P&gt;                              '/00'.&lt;/P&gt;&lt;P&gt;PERFORM BDC_FIELD       USING 'LFA1-NAME1'&lt;/P&gt;&lt;P&gt;                              IT_VEN-NAME1.&lt;/P&gt;&lt;P&gt;PERFORM BDC_FIELD       USING 'LFA1-SORTL'&lt;/P&gt;&lt;P&gt;                              IT_VEN-SORTL.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;PERFORM BDC_FIELD       USING 'LFA1-LAND1'&lt;/P&gt;&lt;P&gt;                              IT_VEN-LAND1.&lt;/P&gt;&lt;P&gt;PERFORM BDC_FIELD       USING 'LFA1-SPRAS'&lt;/P&gt;&lt;P&gt;                              IT_VEN-SPRAS.&lt;/P&gt;&lt;P&gt;PERFORM BDC_DYNPRO      USING 'SAPMF02K' '0120'.&lt;/P&gt;&lt;P&gt;PERFORM BDC_FIELD       USING 'BDC_CURSOR'&lt;/P&gt;&lt;P&gt;                              'LFA1-KUNNR'.&lt;/P&gt;&lt;P&gt;PERFORM BDC_FIELD       USING 'BDC_OKCODE'&lt;/P&gt;&lt;P&gt;                              '/00'.&lt;/P&gt;&lt;P&gt;PERFORM BDC_DYNPRO      USING 'SAPMF02K' '0130'.&lt;/P&gt;&lt;P&gt;PERFORM BDC_FIELD       USING 'BDC_CURSOR'&lt;/P&gt;&lt;P&gt;                              'LFBK-BANKN(02)'.&lt;/P&gt;&lt;P&gt;PERFORM BDC_FIELD       USING 'BDC_OKCODE'&lt;/P&gt;&lt;P&gt;                              '=ENTR'.&lt;/P&gt;&lt;P&gt;*perform bdc_field       using 'LFBK-BANKS(01)'&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;                             'DE'.&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;*perform bdc_field       using 'LFBK-BANKS(02)'&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;                             'DE'.&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;*perform bdc_field       using 'LFBK-BANKL(01)'&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;                             '10020030'.&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;*perform bdc_field       using 'LFBK-BANKL(02)'&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;                             '67270003'.&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;*perform bdc_field       using 'LFBK-BANKN(01)'&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;                             '12345'.&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;*perform bdc_field       using 'LFBK-BANKN(02)'&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;                             '66666'.&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;MOVE 1 TO CNT.&lt;/P&gt;&lt;P&gt;    LOOP AT BANKS.&lt;/P&gt;&lt;P&gt;      CONCATENATE 'LFBK-BANKS(' CNT ') ' INTO FLD.&lt;/P&gt;&lt;P&gt;      PERFORM BDC_FIELD USING FLD BANKS-BANKS.&lt;/P&gt;&lt;P&gt;      CNT = CNT + 1.&lt;/P&gt;&lt;P&gt;    ENDLOOP.&lt;/P&gt;&lt;P&gt;    MOVE 1 TO CNT.&lt;/P&gt;&lt;P&gt;    LOOP AT BANKL.&lt;/P&gt;&lt;P&gt;      CONCATENATE 'LFBK-BANKL(' CNT ') ' INTO FLD.&lt;/P&gt;&lt;P&gt;      PERFORM BDC_FIELD USING FLD BANKL-BANKL.&lt;/P&gt;&lt;P&gt;      CNT = CNT + 1.&lt;/P&gt;&lt;P&gt;    ENDLOOP.&lt;/P&gt;&lt;P&gt;    MOVE 1 TO CNT.&lt;/P&gt;&lt;P&gt;    LOOP AT BANKN.&lt;/P&gt;&lt;P&gt;      CONCATENATE 'LFBK-BANKN(' CNT ') ' INTO FLD.&lt;/P&gt;&lt;P&gt;      PERFORM BDC_FIELD USING FLD BANKN-BANKN.&lt;/P&gt;&lt;P&gt;      CNT = CNT + 1.&lt;/P&gt;&lt;P&gt;    ENDLOOP.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;PERFORM BDC_DYNPRO      USING 'SAPMF02K' '0130'.&lt;/P&gt;&lt;P&gt;PERFORM BDC_FIELD       USING 'BDC_CURSOR'&lt;/P&gt;&lt;P&gt;                              'LFBK-BANKS(01)'.&lt;/P&gt;&lt;P&gt;PERFORM BDC_FIELD       USING 'BDC_OKCODE'&lt;/P&gt;&lt;P&gt;                              '=ENTR'.&lt;/P&gt;&lt;P&gt;PERFORM BDC_DYNPRO      USING 'SAPLSPO1' '0300'.&lt;/P&gt;&lt;P&gt;PERFORM BDC_FIELD       USING 'BDC_OKCODE'&lt;/P&gt;&lt;P&gt;                              '=YES'.&lt;/P&gt;&lt;P&gt;PERFORM BDC_TRANSACTION USING 'XK01'.&lt;/P&gt;&lt;P&gt;ENDLOOP.&lt;/P&gt;&lt;P&gt;PERFORM CLOSE_GROUP.&lt;/P&gt;&lt;P&gt;flatfile:Tab delimitor&lt;/P&gt;&lt;P&gt;z795	0001	raey	Y	in	EN	IN,in	1222222,1222222	23456,67890&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Wed, 13 Jun 2007 04:03:00 GMT</pubDate>
      <guid>https://community.sap.com/t5/application-development-and-automation-discussions/call-transaction-method/m-p/2354821#M520175</guid>
      <dc:creator>Former Member</dc:creator>
      <dc:date>2007-06-13T04:03:00Z</dc:date>
    </item>
    <item>
      <title>Re: call transaction method</title>
      <link>https://community.sap.com/t5/application-development-and-automation-discussions/call-transaction-method/m-p/2354822#M520176</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;hi narendran,&lt;/P&gt;&lt;P&gt;if i use that program the records in the table control get filled to the extent of visibility of the no. of lines on the screen and then it gives an error message that the screen doesnot have the n+1 th row.&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Wed, 13 Jun 2007 04:09:53 GMT</pubDate>
      <guid>https://community.sap.com/t5/application-development-and-automation-discussions/call-transaction-method/m-p/2354822#M520176</guid>
      <dc:creator>Former Member</dc:creator>
      <dc:date>2007-06-13T04:09:53Z</dc:date>
    </item>
    <item>
      <title>Re: call transaction method</title>
      <link>https://community.sap.com/t5/application-development-and-automation-discussions/call-transaction-method/m-p/2354823#M520177</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;at LOOP AT BANKS.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;put an if condition for the value of n . If the the value of n is more than the number of visible lines then use the 'P+' code ( which does the page down function) and bring the value of n to 1. &lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;This should do the trick.&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Thu, 14 Jun 2007 12:14:47 GMT</pubDate>
      <guid>https://community.sap.com/t5/application-development-and-automation-discussions/call-transaction-method/m-p/2354823#M520177</guid>
      <dc:creator>Former Member</dc:creator>
      <dc:date>2007-06-14T12:14:47Z</dc:date>
    </item>
    <item>
      <title>Re: call transaction method</title>
      <link>https://community.sap.com/t5/application-development-and-automation-discussions/call-transaction-method/m-p/2354824#M520178</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Hi,&lt;/P&gt;&lt;P&gt;                 Check the &amp;lt;b&amp;gt;BDC table control example&amp;lt;/b&amp;gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;REPORT Y730_BDC5 .&lt;/P&gt;&lt;P&gt;*HANDLING TABLE CONTROL IN BDC&lt;/P&gt;&lt;P&gt;DATA : BEGIN OF IT_DUMMY OCCURS 0,&lt;/P&gt;&lt;P&gt;       DUMMY(100) TYPE C,&lt;/P&gt;&lt;P&gt;       END OF IT_DUMMY.&lt;/P&gt;&lt;P&gt;DATA : BEGIN OF IT_XK01 OCCURS 0,&lt;/P&gt;&lt;P&gt;       LIFNR(10) TYPE C,&lt;/P&gt;&lt;P&gt;       BUKRS(4)  TYPE C,&lt;/P&gt;&lt;P&gt;       EKORG(4)  TYPE C,&lt;/P&gt;&lt;P&gt;       KTOKK(4)  TYPE C,&lt;/P&gt;&lt;P&gt;       NAME1(30) TYPE C,&lt;/P&gt;&lt;P&gt;       SORTL(10) TYPE C,&lt;/P&gt;&lt;P&gt;       LAND1(3)  TYPE C,&lt;/P&gt;&lt;P&gt;       SPRAS(2)  TYPE C,&lt;/P&gt;&lt;P&gt;       AKONT(6)  TYPE C,&lt;/P&gt;&lt;P&gt;       FDGRV(2)  TYPE C,&lt;/P&gt;&lt;P&gt;       WAERS(3)  TYPE C,&lt;/P&gt;&lt;P&gt;       END OF IT_XK01,&lt;/P&gt;&lt;P&gt;       BEGIN OF IT_BANK OCCURS 0,&lt;/P&gt;&lt;P&gt;       BANKS(3)  TYPE C,&lt;/P&gt;&lt;P&gt;       BANKL(10) TYPE C,&lt;/P&gt;&lt;P&gt;       BANKN(10) TYPE C,&lt;/P&gt;&lt;P&gt;       KOINH(30) TYPE C,&lt;/P&gt;&lt;P&gt;       LIFNR(10) TYPE C,&lt;/P&gt;&lt;P&gt;       END OF IT_BANK.&lt;/P&gt;&lt;P&gt;DATA : IT_BDCDATA LIKE BDCDATA OCCURS 0 WITH HEADER LINE,&lt;/P&gt;&lt;P&gt;       IT_BDCMSGCOLL LIKE BDCMSGCOLL OCCURS 0 WITH HEADER LINE.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;CALL FUNCTION 'WS_UPLOAD'&lt;/P&gt;&lt;P&gt; EXPORTING&lt;/P&gt;&lt;P&gt;   FILENAME                      = 'C:\VENDOR.TXT'&lt;/P&gt;&lt;P&gt;   FILETYPE                      = 'ASC'&lt;/P&gt;&lt;P&gt; TABLES&lt;/P&gt;&lt;P&gt;   DATA_TAB                      = IT_DUMMY.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;LOOP AT IT_DUMMY.&lt;/P&gt;&lt;P&gt;  IF IT_DUMMY-DUMMY+0(2) = '11'.&lt;/P&gt;&lt;P&gt;    IT_XK01-LIFNR = IT_DUMMY-DUMMY+2(10).&lt;/P&gt;&lt;P&gt;    IT_XK01-BUKRS = IT_DUMMY-DUMMY+12(4).&lt;/P&gt;&lt;P&gt;    IT_XK01-EKORG = IT_DUMMY-DUMMY+16(4).&lt;/P&gt;&lt;P&gt;    IT_XK01-KTOKK = IT_DUMMY-DUMMY+20(4).&lt;/P&gt;&lt;P&gt;    IT_XK01-NAME1 = IT_DUMMY-DUMMY+24(30).&lt;/P&gt;&lt;P&gt;    IT_XK01-SORTL = IT_DUMMY-DUMMY+54(10).&lt;/P&gt;&lt;P&gt;    IT_XK01-LAND1 = IT_DUMMY-DUMMY+64(3).&lt;/P&gt;&lt;P&gt;    IT_XK01-SPRAS = IT_DUMMY-DUMMY+67(2).&lt;/P&gt;&lt;P&gt;    IT_XK01-AKONT = IT_DUMMY-DUMMY+69(6).&lt;/P&gt;&lt;P&gt;    IT_XK01-FDGRV = IT_DUMMY-DUMMY+75(2).&lt;/P&gt;&lt;P&gt;    IT_XK01-WAERS = IT_DUMMY-DUMMY+77(3).&lt;/P&gt;&lt;P&gt;    APPEND IT_XK01.&lt;/P&gt;&lt;P&gt;  ELSE.&lt;/P&gt;&lt;P&gt;    IT_BANK-BANKS = IT_DUMMY-DUMMY+2(3).&lt;/P&gt;&lt;P&gt;    IT_BANK-BANKL = IT_DUMMY-DUMMY+5(10).&lt;/P&gt;&lt;P&gt;    IT_BANK-BANKN = IT_DUMMY-DUMMY+15(10).&lt;/P&gt;&lt;P&gt;    IT_BANK-KOINH = IT_DUMMY-DUMMY+25(30).&lt;/P&gt;&lt;P&gt;    IT_BANK-LIFNR = IT_DUMMY-DUMMY+55(10).&lt;/P&gt;&lt;P&gt;    APPEND IT_BANK.&lt;/P&gt;&lt;P&gt;  ENDIF.&lt;/P&gt;&lt;P&gt;ENDLOOP.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;LOOP AT IT_XK01.&lt;/P&gt;&lt;P&gt;REFRESH IT_BDCDATA.&lt;/P&gt;&lt;P&gt;perform bdc_dynpro      using 'SAPMF02K' '0100'.&lt;/P&gt;&lt;P&gt;perform bdc_field       using 'BDC_CURSOR'&lt;/P&gt;&lt;P&gt;                              'RF02K-REF_LIFNR'.&lt;/P&gt;&lt;P&gt;perform bdc_field       using 'BDC_OKCODE'&lt;/P&gt;&lt;P&gt;                              '/00'.&lt;/P&gt;&lt;P&gt;perform bdc_field       using 'RF02K-LIFNR'&lt;/P&gt;&lt;P&gt;                              IT_XK01-LIFNR.&lt;/P&gt;&lt;P&gt;perform bdc_field       using 'RF02K-BUKRS'&lt;/P&gt;&lt;P&gt;                              IT_XK01-BUKRS.&lt;/P&gt;&lt;P&gt;perform bdc_field       using 'RF02K-EKORG'&lt;/P&gt;&lt;P&gt;                              IT_XK01-EKORG.&lt;/P&gt;&lt;P&gt;perform bdc_field       using 'RF02K-KTOKK'&lt;/P&gt;&lt;P&gt;                              IT_XK01-KTOKK.&lt;/P&gt;&lt;P&gt;perform bdc_dynpro      using 'SAPMF02K' '0110'.&lt;/P&gt;&lt;P&gt;perform bdc_field       using 'BDC_CURSOR'&lt;/P&gt;&lt;P&gt;                              'LFA1-TELX1'.&lt;/P&gt;&lt;P&gt;perform bdc_field       using 'BDC_OKCODE'&lt;/P&gt;&lt;P&gt;                              '/00'.&lt;/P&gt;&lt;P&gt;perform bdc_field       using 'LFA1-NAME1'&lt;/P&gt;&lt;P&gt;                              IT_XK01-NAME1.&lt;/P&gt;&lt;P&gt;perform bdc_field       using 'LFA1-SORTL'&lt;/P&gt;&lt;P&gt;                              IT_XK01-SORTL.&lt;/P&gt;&lt;P&gt;perform bdc_field       using 'LFA1-LAND1'&lt;/P&gt;&lt;P&gt;                              IT_XK01-LAND1.&lt;/P&gt;&lt;P&gt;perform bdc_field       using 'LFA1-SPRAS'&lt;/P&gt;&lt;P&gt;                              IT_XK01-SPRAS.&lt;/P&gt;&lt;P&gt;perform bdc_dynpro      using 'SAPMF02K' '0120'.&lt;/P&gt;&lt;P&gt;perform bdc_field       using 'BDC_CURSOR'&lt;/P&gt;&lt;P&gt;                              'LFA1-KUNNR'.&lt;/P&gt;&lt;P&gt;perform bdc_field       using 'BDC_OKCODE'&lt;/P&gt;&lt;P&gt;                              '/00'.&lt;/P&gt;&lt;P&gt;perform bdc_dynpro      using 'SAPMF02K' '0130'.&lt;/P&gt;&lt;P&gt;perform bdc_field       using 'BDC_CURSOR'&lt;/P&gt;&lt;P&gt;                              'LFBK-KOINH(02)'.&lt;/P&gt;&lt;P&gt;perform bdc_field       using 'BDC_OKCODE'&lt;/P&gt;&lt;P&gt;                              '=ENTR'.&lt;/P&gt;&lt;P&gt;DATA : FNAM(20) TYPE C,&lt;/P&gt;&lt;P&gt;       IDX      TYPE C.&lt;/P&gt;&lt;P&gt;  MOVE 1 TO IDX.&lt;/P&gt;&lt;P&gt;LOOP AT IT_BANK WHERE LIFNR = IT_XK01-LIFNR.&lt;/P&gt;&lt;P&gt;  CONCATENATE 'LFBK-BANKS(' IDX ')' INTO FNAM.&lt;/P&gt;&lt;P&gt;  perform bdc_field       using FNAM&lt;/P&gt;&lt;P&gt;                                IT_BANK-BANKS.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  CONCATENATE 'LFBK-BANKL(' IDX ')' INTO FNAM.&lt;/P&gt;&lt;P&gt;  perform bdc_field       using FNAM&lt;/P&gt;&lt;P&gt;                                IT_BANK-BANKL.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  CONCATENATE 'LFBK-BANKN(' IDX ')' INTO FNAM.&lt;/P&gt;&lt;P&gt;  perform bdc_field       using FNAM&lt;/P&gt;&lt;P&gt;                                IT_BANK-BANKN.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  CONCATENATE 'LFBK-KOINH(' IDX ')' INTO FNAM.&lt;/P&gt;&lt;P&gt;  perform bdc_field       using FNAM&lt;/P&gt;&lt;P&gt;                                IT_BANK-KOINH.&lt;/P&gt;&lt;P&gt;  IDX = IDX + 1.&lt;/P&gt;&lt;P&gt;ENDLOOP.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;perform bdc_dynpro      using 'SAPMF02K' '0130'.&lt;/P&gt;&lt;P&gt;perform bdc_field       using 'BDC_CURSOR'&lt;/P&gt;&lt;P&gt;                              'LFBK-BANKS(01)'.&lt;/P&gt;&lt;P&gt;perform bdc_field       using 'BDC_OKCODE'&lt;/P&gt;&lt;P&gt;                              '=ENTR'.&lt;/P&gt;&lt;P&gt;perform bdc_dynpro      using 'SAPMF02K' '0210'.&lt;/P&gt;&lt;P&gt;perform bdc_field       using 'BDC_CURSOR'&lt;/P&gt;&lt;P&gt;                              'LFB1-FDGRV'.&lt;/P&gt;&lt;P&gt;perform bdc_field       using 'BDC_OKCODE'&lt;/P&gt;&lt;P&gt;                              '/00'.&lt;/P&gt;&lt;P&gt;perform bdc_field       using 'LFB1-AKONT'&lt;/P&gt;&lt;P&gt;                              IT_XK01-AKONT.&lt;/P&gt;&lt;P&gt;perform bdc_field       using 'LFB1-FDGRV'&lt;/P&gt;&lt;P&gt;                              IT_XK01-FDGRV.&lt;/P&gt;&lt;P&gt;perform bdc_dynpro      using 'SAPMF02K' '0215'.&lt;/P&gt;&lt;P&gt;perform bdc_field       using 'BDC_CURSOR'&lt;/P&gt;&lt;P&gt;                              'LFB1-ZTERM'.&lt;/P&gt;&lt;P&gt;perform bdc_field       using 'BDC_OKCODE'&lt;/P&gt;&lt;P&gt;                              '/00'.&lt;/P&gt;&lt;P&gt;perform bdc_dynpro      using 'SAPMF02K' '0220'.&lt;/P&gt;&lt;P&gt;perform bdc_field       using 'BDC_CURSOR'&lt;/P&gt;&lt;P&gt;                              'LFB5-MAHNA'.&lt;/P&gt;&lt;P&gt;perform bdc_field       using 'BDC_OKCODE'&lt;/P&gt;&lt;P&gt;                              '/00'.&lt;/P&gt;&lt;P&gt;perform bdc_dynpro      using 'SAPMF02K' '0310'.&lt;/P&gt;&lt;P&gt;perform bdc_field       using 'BDC_CURSOR'&lt;/P&gt;&lt;P&gt;                              'LFM1-WAERS'.&lt;/P&gt;&lt;P&gt;perform bdc_field       using 'BDC_OKCODE'&lt;/P&gt;&lt;P&gt;                              '/00'.&lt;/P&gt;&lt;P&gt;perform bdc_field       using 'LFM1-WAERS'&lt;/P&gt;&lt;P&gt;                              IT_XK01-WAERS.&lt;/P&gt;&lt;P&gt;perform bdc_dynpro      using 'SAPMF02K' '0320'.&lt;/P&gt;&lt;P&gt;perform bdc_field       using 'BDC_CURSOR'&lt;/P&gt;&lt;P&gt;                              'WYT3-PARVW(01)'.&lt;/P&gt;&lt;P&gt;perform bdc_field       using 'BDC_OKCODE'&lt;/P&gt;&lt;P&gt;                              '=ENTR'.&lt;/P&gt;&lt;P&gt;perform bdc_dynpro      using 'SAPLSPO1' '0300'.&lt;/P&gt;&lt;P&gt;perform bdc_field       using 'BDC_OKCODE'&lt;/P&gt;&lt;P&gt;                              '=YES'.&lt;/P&gt;&lt;P&gt;CALL TRANSACTION 'XK01' USING IT_BDCDATA&lt;/P&gt;&lt;P&gt;                        MODE  'A'&lt;/P&gt;&lt;P&gt;                       UPDATE 'S'&lt;/P&gt;&lt;P&gt;                     MESSAGES INTO IT_BDCMSGCOLL.&lt;/P&gt;&lt;P&gt;ENDLOOP.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;FORM BDC_DYNPRO USING PROG SCR.&lt;/P&gt;&lt;P&gt;  CLEAR IT_BDCDATA.&lt;/P&gt;&lt;P&gt;  IT_BDCDATA-PROGRAM = PROG.&lt;/P&gt;&lt;P&gt;  IT_BDCDATA-DYNPRO  = SCR.&lt;/P&gt;&lt;P&gt;  IT_BDCDATA-DYNBEGIN = 'X'.&lt;/P&gt;&lt;P&gt;  APPEND IT_BDCDATA.&lt;/P&gt;&lt;P&gt;ENDFORM.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;FORM BDC_FIELD USING FNAM FVAL.&lt;/P&gt;&lt;P&gt;  CLEAR IT_BDCDATA.&lt;/P&gt;&lt;P&gt;  IT_BDCDATA-FNAM = FNAM.&lt;/P&gt;&lt;P&gt;  IT_BDCDATA-FVAL  = FVAL.&lt;/P&gt;&lt;P&gt;  APPEND IT_BDCDATA.&lt;/P&gt;&lt;P&gt;ENDFORM.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Regards&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Thu, 14 Jun 2007 12:37:29 GMT</pubDate>
      <guid>https://community.sap.com/t5/application-development-and-automation-discussions/call-transaction-method/m-p/2354824#M520178</guid>
      <dc:creator>Former Member</dc:creator>
      <dc:date>2007-06-14T12:37:29Z</dc:date>
    </item>
    <item>
      <title>Re: call transaction method</title>
      <link>https://community.sap.com/t5/application-development-and-automation-discussions/call-transaction-method/m-p/2354825#M520179</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;REPORT  zkpcue029_rbc_enhancement&lt;/P&gt;&lt;P&gt;        NO STANDARD PAGE HEADING&lt;/P&gt;&lt;P&gt;        MESSAGE-ID zmm.&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;     T Y P E  D E C L A R A T I O N S                               *&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;Final output structure&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;TYPES:&lt;/P&gt;&lt;P&gt;  BEGIN OF ty_s_cbht,&lt;/P&gt;&lt;P&gt;    matnr   TYPE   zkt_cbht-matnr,      "Material Number&lt;/P&gt;&lt;P&gt;    werks   TYPE   zkt_cbht-werks,      "Plant&lt;/P&gt;&lt;P&gt;    stprs   TYPE   mbew-stprs    ,      "Material Standard price&lt;/P&gt;&lt;P&gt;    trcom   TYPE   zkt_cbht-trcom,      "Transaction Complete Ind&lt;/P&gt;&lt;P&gt;   END OF ty_s_cbht,&lt;/P&gt;&lt;P&gt;   ty_t_cbht TYPE STANDARD TABLE OF ty_s_cbht,&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;Error Table Structure&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;  BEGIN OF ty_s_matnr,&lt;/P&gt;&lt;P&gt;    matnr    TYPE matnr,          "Material number&lt;/P&gt;&lt;P&gt;    werks    TYPE werks,          "Plant&lt;/P&gt;&lt;P&gt;    msg(500) TYPE c,              "Messages&lt;/P&gt;&lt;P&gt;  END OF ty_s_matnr,&lt;/P&gt;&lt;P&gt;  ty_t_matnr TYPE STANDARD TABLE OF ty_s_matnr,&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;Plant n amd material pertaing to to single company code.&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;  BEGIN OF ty_s_plant,&lt;/P&gt;&lt;P&gt;    matnr    TYPE matnr,          "Material number&lt;/P&gt;&lt;P&gt;    werks    TYPE marc-werks,     "Plant&lt;/P&gt;&lt;P&gt;  END OF ty_s_plant,&lt;/P&gt;&lt;P&gt;  ty_t_plant TYPE STANDARD TABLE OF ty_s_plant,&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;Success table Structure&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;   BEGIN OF ty_s_success,&lt;/P&gt;&lt;P&gt;     matnr    TYPE matnr,          "Material number&lt;/P&gt;&lt;P&gt;   END OF ty_s_success,&lt;/P&gt;&lt;P&gt;   ty_t_success TYPE STANDARD TABLE OF ty_s_success,&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;BDC Structure Table&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;  ty_t_bdc_tab TYPE STANDARD TABLE OF bdcdata,&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;BDC Messages Structure&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;  ty_s_bdcmsg TYPE bdcmsgcoll,&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;BDC messages Table&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;  ty_t_bdcmsg  TYPE STANDARD TABLE OF bdcmsgcoll,&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;Capturing error messages&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;  BEGIN OF ty_s_msgs,&lt;/P&gt;&lt;P&gt;    msg(200),          "Error messages&lt;/P&gt;&lt;P&gt;  END OF ty_s_msgs,&lt;/P&gt;&lt;P&gt;  ty_t_msgs TYPE STANDARD TABLE OF ty_s_msgs.&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;     I N T E R N A L  T A B L E S                                   *&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;DATA:&lt;/P&gt;&lt;P&gt;  gt_objhead    TYPE   TABLE OF solisti1,      "Object Header Table&lt;/P&gt;&lt;P&gt;  gt_objtxt     TYPE   TABLE OF solisti1,      "Body&lt;/P&gt;&lt;P&gt;  gt_reclist    TYPE   TABLE OF somlreci1,     "Recipient list&lt;/P&gt;&lt;P&gt;  gt_cbht       TYPE   ty_t_cbht,              "internal table&lt;/P&gt;&lt;P&gt;  gt_cbht_tmp   TYPE   ty_t_cbht,              "Temp internal table&lt;/P&gt;&lt;P&gt;  gt_error      TYPE   ty_t_matnr,             "Error table&lt;/P&gt;&lt;P&gt;  gt_marc       TYPE   ty_t_plant,             "Plant table&lt;/P&gt;&lt;P&gt;  gt_success    TYPE   ty_t_success,           "Success table&lt;/P&gt;&lt;P&gt;  gt_bdc_tab    TYPE   ty_t_bdc_tab,           "BDC table&lt;/P&gt;&lt;P&gt;  gt_bdc_msg    TYPE   STANDARD TABLE OF bdcmsgcoll. "Message table&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;              V A R I A B L E S                                     *&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;DATA:&lt;/P&gt;&lt;P&gt;  gv_tab_lines        TYPE  i,&lt;/P&gt;&lt;P&gt;  gv_bdc_open_flag    TYPE  c.&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;G L O B A L    D A T A   D E C L A R A T I O N S                    *&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;DATA:&lt;/P&gt;&lt;P&gt;  gs_objtxt      TYPE   solisti1,      "Body&lt;/P&gt;&lt;P&gt;  gs_reclist     TYPE   somlreci1,     "Recipient List&lt;/P&gt;&lt;P&gt;  gs_doc_chng    TYPE   sodocchgi1,    "Mail Header details&lt;/P&gt;&lt;P&gt;  gs_error       TYPE   ty_s_matnr,    "Error table structure&lt;/P&gt;&lt;P&gt;  gs_marc       TYPE   ty_s_plant,    "Plant data Structure&lt;/P&gt;&lt;P&gt;  gs_success     TYPE   ty_s_matnr,    "Success table Structure&lt;/P&gt;&lt;P&gt;  gs_bdc_tab     TYPE   bdcdata,       "BDC table data&lt;/P&gt;&lt;P&gt;  gt_msgs        TYPE   ty_t_msgs.     "Capturing the messages&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;    G L O B A L    C O N S T A N T S                                *&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;CONSTANTS:&lt;/P&gt;&lt;P&gt;  gc_x(1)      TYPE c  VALUE 'X',         "For checking field&lt;/P&gt;&lt;P&gt;  gc_c(1)      TYPE c  VALUE 'C',         "Constant value C&lt;/P&gt;&lt;P&gt;  gc_u(1)      TYPE c  VALUE 'U',         "Contant value U&lt;/P&gt;&lt;P&gt;  gc_p(4)      TYPE c  VALUE '1000',      "Constant value 1000&lt;/P&gt;&lt;P&gt;  gc_f         TYPE c  VALUE 'F',         "Footer indicator&lt;/P&gt;&lt;P&gt;  gc_h         TYPE c  VALUE 'H',         "Header indicator&lt;/P&gt;&lt;P&gt;  gc_at(2)     TYPE c  VALUE '@',         "@ symbol&lt;/P&gt;&lt;P&gt;  gc_grpid     TYPE apqi-groupid VALUE 'RBC_ERRORS',&lt;/P&gt;&lt;P&gt;  gc_cbht      TYPE rstable-tabname VALUE  'ZKT_CBHT',&lt;/P&gt;&lt;P&gt;  gc_s           VALUE 'S',               "constant S&lt;/P&gt;&lt;P&gt;  gc_2           VALUE '2',               "constant value 2&lt;/P&gt;&lt;P&gt;  gc_3           VALUE '3',               "constant value 3&lt;/P&gt;&lt;P&gt;  gc_y           VALUE 'Y'.               "constant Y&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;S E L E C T I O N  S C R E E N                                      *&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;Selection Screen data for block b.&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;SELECTION-SCREEN BEGIN OF BLOCK b WITH FRAME TITLE text-001.&lt;/P&gt;&lt;P&gt;PARAMETERS:&lt;/P&gt;&lt;P&gt;  p_gjahr  TYPE  zkt_cbht-gjahr OBLIGATORY, "Fiscal Year&lt;/P&gt;&lt;P&gt;  p_monat  TYPE  zkt_cbht-monat OBLIGATORY, "FiscalPeriod&lt;/P&gt;&lt;P&gt;  p_fweek  TYPE  zkt_cbht-fweek OBLIGATORY, "Fiscal week&lt;/P&gt;&lt;P&gt;  p_budat  TYPE  budat OBLIGATORY   DEFAULT sy-datum,&lt;/P&gt;&lt;P&gt;  p_bukrs  TYPE  t001-bukrs     OBLIGATORY  DEFAULT gc_p.&lt;/P&gt;&lt;P&gt;SELECTION-SCREEN END OF BLOCK b.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;*Selection Screen data for block b1.&lt;/P&gt;&lt;P&gt;SELECTION-SCREEN BEGIN OF BLOCK b1 WITH FRAME TITLE text-006.&lt;/P&gt;&lt;P&gt;PARAMETERS: p_dlist  TYPE  p10_email  OBLIGATORY."Email ID/Distr List&lt;/P&gt;&lt;P&gt;SELECTION-SCREEN END OF BLOCK b1.&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;A T  S E L E C T I O N  S C R E E N                                 *&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;Validation check for Comapny code&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;AT SELECTION-SCREEN ON p_bukrs.&lt;/P&gt;&lt;P&gt;  PERFORM validate_bukrs.&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;    S T A R T  O F  S E L E C T I O N                               *&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;&lt;STRONG&gt;----&lt;/STRONG&gt;&lt;/P&gt;&lt;HR originaltext="----------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;INITIALIZATION.&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;Defaulting the Fiscal Year/Period/Week on the Selection-screen&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;  PERFORM default_fiscal_data.&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;    S T A R T  O F  S E L E C T I O N                               *&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;&lt;STRONG&gt;----&lt;/STRONG&gt;&lt;/P&gt;&lt;HR originaltext="----------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;START-OF-SELECTION.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;Retrieve costing data from the custom table.&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;  PERFORM get_cbht_data.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;Retrieve all the plants data for which the material is extended&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;  PERFORM get_data_from_marc.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;Run the MR21 transaction to update Std Price retrieved from ZKT_CBHT&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;  PERFORM update_std_price.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;Display materials which are not updated.&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;  PERFORM display_materials.&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;E N D   O F   S E L E C T I O N                                     *&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;&lt;STRONG&gt;----&lt;/STRONG&gt;&lt;/P&gt;&lt;HR originaltext="----------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;END-OF-SELECTION.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;Check for materials that failed to update&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;  IF gt_error IS NOT INITIAL.&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;  Send a mail with error information&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;    PERFORM send_log_mail.&lt;/P&gt;&lt;P&gt;  ENDIF.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;Raise event for Product costing reports (R044 &amp;amp; R045) only&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;when E029 runs in background&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;  IF sy-batch EQ 'X'.&lt;/P&gt;&lt;P&gt;    PERFORM raise_event.&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;T O P   O F   P A G E                                               *&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;TOP-OF-PAGE.&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;Header for the report display using FM 'Z_SL_HEADER_FOOTER'&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;  PERFORM header_footer USING gc_h .&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;    E N D - O F - P A G E                                            *&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;&lt;STRONG&gt;----&lt;/STRONG&gt;&lt;/P&gt;&lt;HR originaltext="-----------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;END-OF-PAGE.&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;Footer for the report display using FM 'Z_SL_HEADER_FOOTER'&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;  PERFORM header_footer USING gc_f.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;----&lt;/STRONG&gt;&lt;/P&gt;&lt;HR originaltext="----------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;      Form  get_cbht_data                                           *&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;&lt;STRONG&gt;----&lt;/STRONG&gt;&lt;/P&gt;&lt;HR originaltext="----------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;Retrieving data from the CBHT custom table                          *&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;&lt;STRONG&gt;----&lt;/STRONG&gt;&lt;/P&gt;&lt;HR originaltext="----------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;FORM get_cbht_data .&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;Populate the internal table.&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;  SELECT  matnr                       "Material&lt;/P&gt;&lt;P&gt;          werks                       "Plant&lt;/P&gt;&lt;P&gt;          stprs                       "Standard material Price&lt;/P&gt;&lt;P&gt;          trcom                       "Costing version&lt;/P&gt;&lt;P&gt;    FROM  zkt_cbht&lt;/P&gt;&lt;P&gt;    INTO  TABLE gt_cbht&lt;/P&gt;&lt;P&gt;   WHERE  gjahr  EQ  p_gjahr  AND&lt;/P&gt;&lt;P&gt;          monat  EQ  p_monat  AND&lt;/P&gt;&lt;P&gt;          fweek  EQ  p_fweek.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;Delete the records for which the MR21 is completed&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;  DELETE gt_cbht WHERE trcom EQ gc_y.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;If the table is empty&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;  IF gt_cbht IS INITIAL .&lt;/P&gt;&lt;P&gt;    MESSAGE s004.             "No data found status message&lt;/P&gt;&lt;P&gt;    LEAVE LIST-PROCESSING.&lt;/P&gt;&lt;P&gt;  ENDIF.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;ENDFORM.                    " get_cbht_data&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;----&lt;/STRONG&gt;&lt;/P&gt;&lt;HR originaltext="-----------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;      Form  get_data_from_marc                                       *&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;    Retrieving All the Plant data from MARC table                    *&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;&lt;STRONG&gt;----&lt;/STRONG&gt;&lt;/P&gt;&lt;HR originaltext="-----------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;FORM get_data_from_marc.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;local declaration&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;  TYPES : BEGIN OF ty_s_t001k,&lt;/P&gt;&lt;P&gt;          bwkey  TYPE t001k-bwkey,&lt;/P&gt;&lt;P&gt;          END OF ty_s_t001k,&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;     ty_t_t001k TYPE STANDARD TABLE OF ty_s_t001k.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  DATA : lr_bwkey TYPE RANGE OF t001k-bwkey,&lt;/P&gt;&lt;P&gt;         ls_bwkey LIKE LINE OF lr_bwkey,&lt;/P&gt;&lt;P&gt;         lt_t001k TYPE ty_t_t001k,&lt;/P&gt;&lt;P&gt;         ls_t001k TYPE ty_s_t001k.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  CONSTANTS: lc_i     VALUE 'I',&lt;/P&gt;&lt;P&gt;             lc_eq(2) VALUE 'EQ'.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  REFRESH : lt_t001k,&lt;/P&gt;&lt;P&gt;            gt_marc.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;Get the Unique Materials from ZKT_CBHT&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;  IF NOT gt_cbht IS INITIAL.&lt;/P&gt;&lt;P&gt;    gt_cbht_tmp = gt_cbht.&lt;/P&gt;&lt;P&gt;    SORT gt_cbht_tmp  BY matnr.&lt;/P&gt;&lt;P&gt;    DELETE ADJACENT DUPLICATES FROM gt_cbht_tmp COMPARING matnr.&lt;/P&gt;&lt;P&gt;  ENDIF.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;select all  the plants and company codes&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;  SELECT  bwkey                   "Valuation area&lt;/P&gt;&lt;P&gt;    FROM  t001k&lt;/P&gt;&lt;P&gt;    INTO  TABLE lt_t001k&lt;/P&gt;&lt;P&gt;   WHERE  bukrs EQ p_bukrs.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;Populating the range table for the Plants that are retrieved&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;  ls_bwkey-sign   = lc_i.&lt;/P&gt;&lt;P&gt;  ls_bwkey-option = lc_eq.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  LOOP AT lt_t001k INTO ls_t001k.&lt;/P&gt;&lt;P&gt;    ls_bwkey-low = ls_t001k-bwkey.&lt;/P&gt;&lt;P&gt;    APPEND ls_bwkey TO lr_bwkey.&lt;/P&gt;&lt;P&gt;    CLEAR:  ls_bwkey-low.&lt;/P&gt;&lt;P&gt;  ENDLOOP.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;Select all the plant values&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;  SELECT  matnr                   "Material number&lt;/P&gt;&lt;P&gt;          werks                   "Plant&lt;/P&gt;&lt;P&gt;    FROM  marc&lt;/P&gt;&lt;P&gt;    INTO  TABLE gt_marc&lt;/P&gt;&lt;P&gt;     FOR  ALL ENTRIES IN gt_cbht_tmp&lt;/P&gt;&lt;P&gt;   WHERE  matnr  EQ  gt_cbht_tmp-matnr  AND&lt;/P&gt;&lt;P&gt;          werks  IN  lr_bwkey.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  SORT gt_marc BY matnr werks.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;If the table is empty&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;  IF gt_marc IS INITIAL .&lt;/P&gt;&lt;P&gt;    MESSAGE s004.             "No data found status message&lt;/P&gt;&lt;P&gt;    LEAVE LIST-PROCESSING.&lt;/P&gt;&lt;P&gt;  ENDIF.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;ENDFORM.                    " get_data_from_marc&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;----&lt;/STRONG&gt;&lt;/P&gt;&lt;HR originaltext="----------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;     Form  UPDATE_STD_PRICE                                         *&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;     Run the BDC recording for MR21 for updating the Std Price      *&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 update_std_price.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;clear the flag value and loop the cost blending table&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;  CLEAR: gv_bdc_open_flag.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;Filling the BDCDATA&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;  PERFORM prepare_bdc_tab.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;Close the SESSION&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;  IF gv_bdc_open_flag = gc_x.&lt;/P&gt;&lt;P&gt;    PERFORM bdc_close_group.&lt;/P&gt;&lt;P&gt;  ENDIF.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;ENDFORM.                    "UPDATE_STD_PRICE&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;----&lt;/STRONG&gt;&lt;/P&gt;&lt;HR originaltext="----------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;     Form  prepare_bdc_tab                                          *&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;Prepare BDC Table for updating Copack Purchase Prices               *&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 prepare_bdc_tab .&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;Local variable.&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;  DATA: lv_date(10)   TYPE c,&lt;/P&gt;&lt;P&gt;        ls_stprs  TYPE ty_s_cbht,&lt;/P&gt;&lt;P&gt;        ls_plant  TYPE ty_s_plant,&lt;/P&gt;&lt;P&gt;        lv_fnmatnr    TYPE bdcdata-fnam,&lt;/P&gt;&lt;P&gt;        lv_fnbwkey    TYPE bdcdata-fnam,&lt;/P&gt;&lt;P&gt;        lv_fnnewvalpr TYPE bdcdata-fnam,&lt;/P&gt;&lt;P&gt;        lv_counter(2) TYPE n,&lt;/P&gt;&lt;P&gt;        lv_num TYPE i.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  CONSTANTS: lc_8 VALUE '8'.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  CLEAR: lv_date.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  SORT gt_cbht BY matnr.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  LOOP AT gt_marc INTO gs_marc.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;    ls_plant = gs_marc.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;    AT NEW matnr.&lt;/P&gt;&lt;P&gt;      CLEAR lv_counter.&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;Capture the date as per the user setting&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;      WRITE p_budat TO lv_date.&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;Initial Screen of MR21 transaction&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;      PERFORM bdc_dynpro  USING  'SAPRCKM_MR21'          '0201'.&lt;/P&gt;&lt;P&gt;      PERFORM bdc_field   USING: 'BDC_OKCODE'            '=ENTR',&lt;/P&gt;&lt;P&gt;                                 'MR21HEAD-BUDAT'         lv_date,&lt;/P&gt;&lt;P&gt;                                 'MR21HEAD-BUKRS'         p_bukrs,&lt;/P&gt;&lt;P&gt;                                 'MR21HEAD-WERKS'         space.&lt;/P&gt;&lt;P&gt;      READ TABLE  gt_cbht INTO  ls_stprs&lt;/P&gt;&lt;P&gt;        WITH KEY  matnr = ls_plant-matnr BINARY SEARCH.&lt;/P&gt;&lt;P&gt;    ENDAT.&lt;/P&gt;&lt;P&gt;    CLEAR : lv_fnmatnr,&lt;/P&gt;&lt;P&gt;            lv_fnbwkey,&lt;/P&gt;&lt;P&gt;            lv_fnnewvalpr.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;    lv_counter = lv_counter + 1.&lt;/P&gt;&lt;P&gt;    lv_num     = lv_num + 1.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;    CONCATENATE:&lt;/P&gt;&lt;P&gt;        'CKI_MR21_0250-MATNR('    lv_counter  ')'  INTO  lv_fnmatnr,&lt;/P&gt;&lt;P&gt;        'CKI_MR21_0250-BWKEY('    lv_counter  ')'  INTO  lv_fnbwkey,&lt;/P&gt;&lt;P&gt;        'CKI_MR21_0250-NEWVALPR(' lv_counter  ')'  INTO  lv_fnnewvalpr.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;Second screen of MR21 transaction&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;    PERFORM bdc_dynpro  USING  'SAPRCKM_MR21'               '0201'.&lt;/P&gt;&lt;P&gt;    PERFORM bdc_field   USING: 'BDC_OKCODE'                 '=ENTR',&lt;/P&gt;&lt;P&gt;                                   lv_fnmatnr    ls_plant-matnr,&lt;/P&gt;&lt;P&gt;                                   lv_fnbwkey    ls_plant-werks,&lt;/P&gt;&lt;P&gt;                                   lv_fnnewvalpr ls_stprs-stprs.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;    IF lv_num EQ lc_8.&lt;/P&gt;&lt;P&gt;      PERFORM bdc_dynpro  USING  'SAPRCKM_MR21'               '0201'.&lt;/P&gt;&lt;P&gt;      PERFORM bdc_field   USING: 'BDC_OKCODE'                 '=DOWN'.&lt;/P&gt;&lt;P&gt;      CLEAR lv_num.&lt;/P&gt;&lt;P&gt;      CLEAR lv_counter.&lt;/P&gt;&lt;P&gt;    ENDIF.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;    AT END OF matnr.&lt;/P&gt;&lt;P&gt;      PERFORM bdc_field   USING: 'BDC_OKCODE'                 '=SAVE'.&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;Run MR21 using CALL TRANSACTION, if errors found create a SESSION&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;      PERFORM call_transaction_mr21 USING ls_plant.&lt;/P&gt;&lt;P&gt;      CLEAR : ls_stprs.&lt;/P&gt;&lt;P&gt;      REFRESH gt_bdc_tab.&lt;/P&gt;&lt;P&gt;    ENDAT.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;    CLEAR : gs_marc,&lt;/P&gt;&lt;P&gt;            ls_plant.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  ENDLOOP.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;ENDFORM.                    " prepare_bdc_tab&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;----&lt;/STRONG&gt;&lt;/P&gt;&lt;HR originaltext="----------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;     Form  call_transaction_mr21                                    *&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; Call Transaction for updating CoPack Price entries                 *&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 call_transaction_mr21  USING p_ls_plant TYPE ty_s_plant.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;Local  Data Declaration&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;  CONSTANTS:lc_e         TYPE c VALUE 'E',&lt;/P&gt;&lt;P&gt;            lc_mr21(4)   TYPE c VALUE 'MR21',&lt;/P&gt;&lt;P&gt;            lc_mode(1)   TYPE c VALUE 'N',&lt;/P&gt;&lt;P&gt;            lc_update(1) TYPE c VALUE 'U'.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  DATA: ls_msgs TYPE ty_s_msgs.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  REFRESH: gt_bdc_msg.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;Call MR21 Transaction&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;  CALL TRANSACTION  lc_mr21&lt;/P&gt;&lt;P&gt;             USING  gt_bdc_tab&lt;/P&gt;&lt;P&gt;              MODE  lc_mode&lt;/P&gt;&lt;P&gt;            UPDATE  lc_update&lt;/P&gt;&lt;P&gt;     MESSAGES INTO  gt_bdc_msg.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;If the Call Transaction Fails&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;  IF sy-subrc NE 0.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;    IF gv_bdc_open_flag IS INITIAL.&lt;/P&gt;&lt;P&gt;      PERFORM bdc_open_group.&lt;/P&gt;&lt;P&gt;      gv_bdc_open_flag = gc_x.&lt;/P&gt;&lt;P&gt;    ENDIF.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;    PERFORM bdc_insert_group.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;    DELETE gt_bdc_msg WHERE msgtyp NE lc_e.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;get the error message&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;    PERFORM read_error_message  USING   gt_bdc_msg&lt;/P&gt;&lt;P&gt;                             CHANGING   gt_msgs.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;If the message table is having error mesasges&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;    IF gt_bdc_msg IS NOT INITIAL.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;      LOOP AT gt_msgs INTO ls_msgs.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;        gs_error-matnr = p_ls_plant-matnr.&lt;/P&gt;&lt;P&gt;        gs_error-msg   = ls_msgs-msg.&lt;/P&gt;&lt;P&gt;        APPEND gs_error TO gt_error.&lt;/P&gt;&lt;P&gt;        CLEAR gs_error.&lt;/P&gt;&lt;P&gt;      ENDLOOP.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;    ENDIF.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;    REFRESH:gt_bdc_msg,&lt;/P&gt;&lt;P&gt;            gt_bdc_tab,&lt;/P&gt;&lt;P&gt;            gt_msgs.&lt;/P&gt;&lt;P&gt;  ELSE.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;Update the status as 'Y' for ZKT_CBHT-TRCOM for success records&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;    PERFORM update_transaction_complete USING p_ls_plant.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;Record all materials that updated Successfully with Standard Price&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;    gs_success-matnr = p_ls_plant-matnr.&lt;/P&gt;&lt;P&gt;    APPEND gs_success TO gt_success.&lt;/P&gt;&lt;P&gt;    CLEAR: gs_success.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  ENDIF.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  CLEAR p_ls_plant.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;ENDFORM.                    " call_transaction_mr21&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;----&lt;/STRONG&gt;&lt;/P&gt;&lt;HR originaltext="----------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;     Form  UPDATE_TRANSACTION_COMPLETE                              *&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;&lt;STRONG&gt;----&lt;/STRONG&gt;&lt;/P&gt;&lt;HR originaltext="----------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;     --&amp;gt;LS_CBHT    text                                             *&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;&lt;STRONG&gt;----&lt;/STRONG&gt;&lt;/P&gt;&lt;HR originaltext="----------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;FORM update_transaction_complete USING p_ls_plant TYPE ty_s_plant.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  DATA lv_varkey TYPE rstable-varkey.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;generate the KEY for locking the record in ZKT_CBHT&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;  CONCATENATE  sy-mandt&lt;/P&gt;&lt;P&gt;               p_gjahr&lt;/P&gt;&lt;P&gt;               p_monat&lt;/P&gt;&lt;P&gt;               p_fweek&lt;/P&gt;&lt;P&gt;               p_fweek&lt;/P&gt;&lt;P&gt;               p_ls_plant-matnr&lt;/P&gt;&lt;P&gt;         INTO  lv_varkey.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;Lock the ZKT_CBHT table before update&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;  PERFORM lock_cbht_table USING lv_varkey.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;Update the Table ZKT_CBHT using the field TRCOM.&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;  UPDATE  zkt_cbht&lt;/P&gt;&lt;P&gt;     SET  trcom = gc_y&lt;/P&gt;&lt;P&gt;          laepr = syst-datum&lt;/P&gt;&lt;P&gt;          uzeit = syst-uzeit&lt;/P&gt;&lt;P&gt;   WHERE  gjahr  EQ  p_gjahr          AND&lt;/P&gt;&lt;P&gt;          monat  EQ  p_monat          AND&lt;/P&gt;&lt;P&gt;          fweek  EQ  p_fweek          AND&lt;/P&gt;&lt;P&gt;          tvers  EQ  p_fweek          AND&lt;/P&gt;&lt;P&gt;          matnr  EQ  p_ls_plant-matnr.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;Unlock the ZKT_CBHT table after update&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;  PERFORM unlock_cbht_table USING lv_varkey.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;ENDFORM.                    "UPDATE_TRANSACTION_COMPLETE&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;----&lt;/STRONG&gt;&lt;/P&gt;&lt;HR originaltext="----------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;      Form  READ_ERROR_MESSAGE                                      *&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;&lt;STRONG&gt;----&lt;/STRONG&gt;&lt;/P&gt;&lt;HR originaltext="----------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;     --&amp;gt;GT_BDC_MSG text                                             *&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;     --&amp;gt;LT_MSGS    text                                             *&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;&lt;STRONG&gt;----&lt;/STRONG&gt;&lt;/P&gt;&lt;HR originaltext="----------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;FORM read_error_message  USING   lt_bdc_msg TYPE ty_t_bdcmsg&lt;/P&gt;&lt;P&gt;                        CHANGING   lt_msgs    TYPE ty_t_msgs.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  DATA: lv_msg(500).&lt;/P&gt;&lt;P&gt;  DATA: ls_bdcmsg TYPE ty_s_bdcmsg.&lt;/P&gt;&lt;P&gt;  DATA: ls_errormsg TYPE ty_s_msgs.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  LOOP AT lt_bdc_msg INTO ls_bdcmsg.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;    CALL FUNCTION 'FORMAT_MESSAGE'&lt;/P&gt;&lt;P&gt;      EXPORTING&lt;/P&gt;&lt;P&gt;        id        = ls_bdcmsg-msgid&lt;/P&gt;&lt;P&gt;        lang      = 'E'&lt;/P&gt;&lt;P&gt;        no        = ls_bdcmsg-msgnr&lt;/P&gt;&lt;P&gt;        v1        = ls_bdcmsg-msgv1&lt;/P&gt;&lt;P&gt;        v2        = ls_bdcmsg-msgv2&lt;/P&gt;&lt;P&gt;        v3        = ls_bdcmsg-msgv3&lt;/P&gt;&lt;P&gt;        v4        = ls_bdcmsg-msgv4&lt;/P&gt;&lt;P&gt;      IMPORTING&lt;/P&gt;&lt;P&gt;        msg       = lv_msg&lt;/P&gt;&lt;P&gt;      EXCEPTIONS&lt;/P&gt;&lt;P&gt;        not_found = 0&lt;/P&gt;&lt;P&gt;        OTHERS    = 0.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;    ls_errormsg-msg = lv_msg.&lt;/P&gt;&lt;P&gt;    APPEND ls_errormsg TO lt_msgs.&lt;/P&gt;&lt;P&gt;    CLEAR ls_errormsg-msg.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  ENDLOOP.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;ENDFORM.                    "READ_ERROR_MESSAGE&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;----&lt;/STRONG&gt;&lt;/P&gt;&lt;HR originaltext="----------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;     Form  default_fiscal_data                                      *&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;&lt;STRONG&gt;----&lt;/STRONG&gt;&lt;/P&gt;&lt;HR originaltext="----------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;     Fetch Fiscal Year, Fiscal Period, Fiscal Week.                 *&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 default_fiscal_data .&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  CALL FUNCTION 'Z_GET_FISCAL_WEEK_FROM_DATE'&lt;/P&gt;&lt;P&gt;    EXPORTING&lt;/P&gt;&lt;P&gt;      i_datum              = sy-datum&lt;/P&gt;&lt;P&gt;      i_bukrs              = p_bukrs&lt;/P&gt;&lt;P&gt;    IMPORTING&lt;/P&gt;&lt;P&gt;      e_fisc_period        = p_monat&lt;/P&gt;&lt;P&gt;      e_fisc_year          = p_gjahr&lt;/P&gt;&lt;P&gt;      e_week_num           = p_fweek&lt;/P&gt;&lt;P&gt;    EXCEPTIONS&lt;/P&gt;&lt;P&gt;      error_period         = 1&lt;/P&gt;&lt;P&gt;      error_period_version = 2&lt;/P&gt;&lt;P&gt;      error_special_period = 3&lt;/P&gt;&lt;P&gt;      error_version        = 4&lt;/P&gt;&lt;P&gt;      error_fiscal_year    = 5&lt;/P&gt;&lt;P&gt;      error_posting_period = 6&lt;/P&gt;&lt;P&gt;      error_posting_date   = 7&lt;/P&gt;&lt;P&gt;      invalid_company      = 8&lt;/P&gt;&lt;P&gt;      OTHERS               = 9.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  IF sy-subrc &amp;lt;&amp;gt; 0.&lt;/P&gt;&lt;P&gt;    MESSAGE ID sy-msgid TYPE sy-msgty NUMBER sy-msgno&lt;/P&gt;&lt;P&gt;            WITH sy-msgv1 sy-msgv2 sy-msgv3 sy-msgv4.&lt;/P&gt;&lt;P&gt;  ENDIF.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;ENDFORM.                    "Default_fiscal_data&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;----&lt;/STRONG&gt;&lt;/P&gt;&lt;HR originaltext="----------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;      Form  send_log_mail                                           *&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;      Sending the Error log as mail                                 *&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 send_log_mail .&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;Local Constants&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;  CONSTANTS: lc_raw(3) TYPE c VALUE 'RAW'.  "Docuement Type&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;Creating the document to be sent with error message.&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;  IF gt_error IS NOT INITIAL.&lt;/P&gt;&lt;P&gt;    gs_doc_chng-obj_name  = 'Error Price'(002).&lt;/P&gt;&lt;P&gt;    gs_doc_chng-obj_descr =&lt;/P&gt;&lt;P&gt;             'Material Standard Price Updation Errors'(003).&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;Mail Content&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;    gs_objtxt = text-009.&lt;/P&gt;&lt;P&gt;    APPEND gs_objtxt TO gt_objtxt.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;    gs_objtxt = text-020.&lt;/P&gt;&lt;P&gt;    APPEND gs_objtxt TO gt_objtxt.&lt;/P&gt;&lt;P&gt;    CLEAR gs_objtxt.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;    APPEND gs_objtxt TO gt_objtxt.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;Error message Heading&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;    CONCATENATE  text-022    "Material&lt;/P&gt;&lt;P&gt;                 text-024    "Error Message&lt;/P&gt;&lt;P&gt;           INTO  gs_objtxt.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;    APPEND gs_objtxt TO gt_objtxt.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;    gs_objtxt = text-021.         "under line in mail&lt;/P&gt;&lt;P&gt;    APPEND gs_objtxt TO gt_objtxt.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;    LOOP AT gt_error INTO gs_error.&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;Remove leading zero's for Material&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;      CALL FUNCTION 'CONVERSION_EXIT_ALPHA_OUTPUT'&lt;/P&gt;&lt;P&gt;        EXPORTING&lt;/P&gt;&lt;P&gt;          input  = gs_error-matnr&lt;/P&gt;&lt;P&gt;        IMPORTING&lt;/P&gt;&lt;P&gt;          output = gs_error-matnr.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;Genearte the error text&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;      gs_objtxt = gs_error-matnr.&lt;/P&gt;&lt;P&gt;      gs_objtxt+27 = gs_error-msg.&lt;/P&gt;&lt;P&gt;      APPEND gs_objtxt TO gt_objtxt.&lt;/P&gt;&lt;P&gt;    ENDLOOP.&lt;/P&gt;&lt;P&gt;  ENDIF.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;Add the Content to the E-mail&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;  DESCRIBE TABLE gt_objtxt LINES gv_tab_lines.&lt;/P&gt;&lt;P&gt;  READ TABLE gt_objtxt INTO gs_objtxt INDEX gv_tab_lines.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  gs_doc_chng-doc_size =&lt;/P&gt;&lt;P&gt;          ( gv_tab_lines - 1 ) * 255 + STRLEN( gs_objtxt ).&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;Check for Internet Address or Distribution List&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;  IF p_dlist IS NOT INITIAL.&lt;/P&gt;&lt;P&gt;    SEARCH p_dlist FOR gc_at.&lt;/P&gt;&lt;P&gt;    IF sy-subrc EQ 0.&lt;/P&gt;&lt;P&gt;      gs_reclist-rec_type = gc_u.&lt;/P&gt;&lt;P&gt;    ELSE.&lt;/P&gt;&lt;P&gt;      gs_reclist-rec_type = gc_c.&lt;/P&gt;&lt;P&gt;    ENDIF.&lt;/P&gt;&lt;P&gt;    gs_reclist-receiver = p_dlist.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;    APPEND gs_reclist TO gt_reclist.&lt;/P&gt;&lt;P&gt;  ENDIF.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;Call the function module to send the mail&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;  CALL FUNCTION 'SO_NEW_DOCUMENT_SEND_API1'&lt;/P&gt;&lt;P&gt;    EXPORTING&lt;/P&gt;&lt;P&gt;      document_type              = lc_raw&lt;/P&gt;&lt;P&gt;      document_data              = gs_doc_chng&lt;/P&gt;&lt;P&gt;      put_in_outbox              = gc_x&lt;/P&gt;&lt;P&gt;      commit_work                = gc_x&lt;/P&gt;&lt;P&gt;    TABLES&lt;/P&gt;&lt;P&gt;      object_header              = gt_objhead&lt;/P&gt;&lt;P&gt;      object_content             = gt_objtxt&lt;/P&gt;&lt;P&gt;      receivers                  = gt_reclist&lt;/P&gt;&lt;P&gt;    EXCEPTIONS&lt;/P&gt;&lt;P&gt;      too_many_receivers         = 1&lt;/P&gt;&lt;P&gt;      document_not_sent          = 2&lt;/P&gt;&lt;P&gt;      operation_no_authorization = 4&lt;/P&gt;&lt;P&gt;      OTHERS                     = 99.&lt;/P&gt;&lt;P&gt;  CASE sy-subrc.&lt;/P&gt;&lt;P&gt;    WHEN 0.&lt;/P&gt;&lt;P&gt;      SKIP.&lt;/P&gt;&lt;P&gt;      FORMAT COLOR 3 ON.&lt;/P&gt;&lt;P&gt;      WRITE:/ 'Mail has been sent successfully to below mentioned IDs:-&amp;gt;'(005)&lt;/P&gt;&lt;P&gt;      .&lt;/P&gt;&lt;P&gt;      FORMAT COLOR 3 OFF.&lt;/P&gt;&lt;P&gt;      WRITE:/ p_dlist.&lt;/P&gt;&lt;P&gt;      WRITE:/ sy-uname.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;    WHEN 1.&lt;/P&gt;&lt;P&gt;      WRITE: / 'Too many receivers specified !'(017).&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;    WHEN 2.&lt;/P&gt;&lt;P&gt;      WRITE: / 'No receiver got the document !'(018).&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;    WHEN 4.&lt;/P&gt;&lt;P&gt;      WRITE: / 'Missing send authority !'(016).&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;    WHEN OTHERS.&lt;/P&gt;&lt;P&gt;      WRITE: / 'Unexpected error occurred !'(019).&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  ENDCASE.&lt;/P&gt;&lt;P&gt;ENDFORM.                    " send_log_mail&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;----&lt;/STRONG&gt;&lt;/P&gt;&lt;HR originaltext="----------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;      Form  display_materials                                       *&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;Display all the Materials which failed to update the Standard Price *&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 display_materials .&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  IF NOT gt_error IS INITIAL.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;Update Failure message.&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;    SKIP 2.&lt;/P&gt;&lt;P&gt;    FORMAT COLOR 3 ON.&lt;/P&gt;&lt;P&gt;    WRITE:/ text-009,&lt;/P&gt;&lt;P&gt;          / text-020.  "Material Std.Price update failure message&lt;/P&gt;&lt;P&gt;    FORMAT COLOR 3 OFF.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;    FORMAT COLOR COL_NEGATIVE ON.&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;Read all the materials that failed to update&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;    LOOP AT gt_error INTO gs_error.&lt;/P&gt;&lt;P&gt;      WRITE:/  gs_error-matnr,&lt;/P&gt;&lt;P&gt;            28 gs_error-msg.&lt;/P&gt;&lt;P&gt;    ENDLOOP.&lt;/P&gt;&lt;P&gt;    FORMAT COLOR COL_NEGATIVE OFF.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;    SKIP 2.&lt;/P&gt;&lt;P&gt;  ENDIF.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  IF NOT gt_success IS INITIAL.&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;Mesage to define the updation is Successful.&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;    FORMAT COLOR 3 ON.&lt;/P&gt;&lt;P&gt;    WRITE:/ text-011, 97 p_bukrs."Material Std.Price update Success msg&lt;/P&gt;&lt;P&gt;    FORMAT COLOR 3 OFF.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;    FORMAT COLOR COL_POSITIVE ON.&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;Read all the materials which updated Successfully&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;    LOOP AT gt_success INTO gs_success.&lt;/P&gt;&lt;P&gt;      WRITE:/ gs_success-matnr.&lt;/P&gt;&lt;P&gt;    ENDLOOP.&lt;/P&gt;&lt;P&gt;    FORMAT COLOR COL_POSITIVE OFF.&lt;/P&gt;&lt;P&gt;  ENDIF.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;ENDFORM.                    " display_materials&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;----&lt;/STRONG&gt;&lt;/P&gt;&lt;HR originaltext="----------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;     Form  header_footer                                            *&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;To write a header and a footer to the report  layout                *&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;&lt;STRONG&gt;----&lt;/STRONG&gt;&lt;/P&gt;&lt;HR originaltext="----------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;     --&amp;gt;P_GC_HF  Header and Footer Indicator 'H' or 'F'             *&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 header_footer  USING p_gc_hf TYPE sywtitl.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;Custom Function module for the Header/Footer display for report&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;  CALL FUNCTION 'Z_SL_HEADER_FOOTER'&lt;/P&gt;&lt;P&gt;    EXPORTING&lt;/P&gt;&lt;P&gt;      rpt_id                 = sy-cprog&lt;/P&gt;&lt;P&gt;      rpt_txt_typ            = p_gc_hf&lt;/P&gt;&lt;P&gt;      rpt_width              = sy-linsz&lt;/P&gt;&lt;P&gt;    EXCEPTIONS&lt;/P&gt;&lt;P&gt;      err_invalid_parameters = 1&lt;/P&gt;&lt;P&gt;      OTHERS                 = 2.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  IF sy-subrc &amp;lt;&amp;gt; 0.&lt;/P&gt;&lt;P&gt;    MESSAGE ID sy-msgid TYPE sy-msgty NUMBER sy-msgno&lt;/P&gt;&lt;P&gt;            WITH sy-msgv1 sy-msgv2 sy-msgv3 sy-msgv4.&lt;/P&gt;&lt;P&gt;  ENDIF.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;ENDFORM.                    " header_footer&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;----&lt;/STRONG&gt;&lt;/P&gt;&lt;HR originaltext="----------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;             FORM bdc_dynpro                                        *&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;       Generate BDCDATA                                             *&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 TYPE bdcdata-program&lt;/P&gt;&lt;P&gt;                      dynpro  TYPE bdcdata-dynpro .&lt;/P&gt;&lt;P&gt;  CLEAR:  gs_bdc_tab.&lt;/P&gt;&lt;P&gt;  gs_bdc_tab-program  = program.&lt;/P&gt;&lt;P&gt;  gs_bdc_tab-dynpro   = dynpro.&lt;/P&gt;&lt;P&gt;  gs_bdc_tab-dynbegin = gc_x.&lt;/P&gt;&lt;P&gt;  APPEND gs_bdc_tab TO gt_bdc_tab.&lt;/P&gt;&lt;P&gt;ENDFORM.                    "bdc_dynpro&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;----&lt;/STRONG&gt;&lt;/P&gt;&lt;HR originaltext="----------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;                  FORM bdc_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;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;       Populate data to the Screen fields                           *&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 TYPE bdcdata-fnam&lt;/P&gt;&lt;P&gt;                     fval TYPE any.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;Clear the local structure.&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;  CLEAR:  gs_bdc_tab.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  WRITE fval TO gs_bdc_tab-fval LEFT-JUSTIFIED.&lt;/P&gt;&lt;P&gt;  gs_bdc_tab-fnam = fnam.&lt;/P&gt;&lt;P&gt;  APPEND gs_bdc_tab TO gt_bdc_tab.&lt;/P&gt;&lt;P&gt;ENDFORM.                    "bdc_field&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;----&lt;/STRONG&gt;&lt;/P&gt;&lt;HR originaltext="----------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;     Form  bdc_open_group                                           *&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; Subroutine for Open BDC Group                                      *&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_open_group .&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  CALL FUNCTION 'BDC_OPEN_GROUP'&lt;/P&gt;&lt;P&gt;    EXPORTING&lt;/P&gt;&lt;P&gt;      client              = sy-mandt&lt;/P&gt;&lt;P&gt;      group               = gc_grpid&lt;/P&gt;&lt;P&gt;      user                = sy-uname&lt;/P&gt;&lt;P&gt;    EXCEPTIONS&lt;/P&gt;&lt;P&gt;      client_invalid      = 1&lt;/P&gt;&lt;P&gt;      destination_invalid = 2&lt;/P&gt;&lt;P&gt;      group_invalid       = 3&lt;/P&gt;&lt;P&gt;      group_is_locked     = 4&lt;/P&gt;&lt;P&gt;      holddate_invalid    = 5&lt;/P&gt;&lt;P&gt;      internal_error      = 6&lt;/P&gt;&lt;P&gt;      queue_error         = 7&lt;/P&gt;&lt;P&gt;      running             = 8&lt;/P&gt;&lt;P&gt;      system_lock_error   = 9&lt;/P&gt;&lt;P&gt;      user_invalid        = 10&lt;/P&gt;&lt;P&gt;      OTHERS              = 11.&lt;/P&gt;&lt;P&gt;  IF sy-subrc &amp;lt;&amp;gt; 0.&lt;/P&gt;&lt;P&gt;    WRITE &lt;span class="lia-unicode-emoji" title=":confused_face:"&gt;😕&lt;/span&gt; text-013. "Error in BDC_OPEN_GROUP&lt;/P&gt;&lt;P&gt;    EXIT.&lt;/P&gt;&lt;P&gt;  ENDIF.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;ENDFORM.                    " bdc_open_group&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;----&lt;/STRONG&gt;&lt;/P&gt;&lt;HR originaltext="----------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;     Form  BDC_INSERT_GROUP                                         *&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;Subroutine for calling BDC_INSERT for inserting BDC Table           *&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_insert_group .&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  DATA lc_mr21 TYPE tstc-tcode VALUE 'MR21'.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  CALL FUNCTION 'BDC_INSERT'&lt;/P&gt;&lt;P&gt;    EXPORTING&lt;/P&gt;&lt;P&gt;      tcode            = lc_mr21&lt;/P&gt;&lt;P&gt;    TABLES&lt;/P&gt;&lt;P&gt;      dynprotab        = gt_bdc_tab&lt;/P&gt;&lt;P&gt;    EXCEPTIONS&lt;/P&gt;&lt;P&gt;      internal_error   = 1&lt;/P&gt;&lt;P&gt;      not_open         = 2&lt;/P&gt;&lt;P&gt;      queue_error      = 3&lt;/P&gt;&lt;P&gt;      tcode_invalid    = 4&lt;/P&gt;&lt;P&gt;      printing_invalid = 5&lt;/P&gt;&lt;P&gt;      posting_invalid  = 6&lt;/P&gt;&lt;P&gt;      OTHERS           = 7.&lt;/P&gt;&lt;P&gt;  IF sy-subrc &amp;lt;&amp;gt; 0.&lt;/P&gt;&lt;P&gt;    WRITE &lt;span class="lia-unicode-emoji" title=":confused_face:"&gt;😕&lt;/span&gt; text-014. "Error in BDC_INSERT&lt;/P&gt;&lt;P&gt;    EXIT.&lt;/P&gt;&lt;P&gt;  ENDIF.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;ENDFORM.                    " BDC_INSERT_GROUP&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;----&lt;/STRONG&gt;&lt;/P&gt;&lt;HR originaltext="----------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;     Form  BDC_CLOSE_GROUP                                          *&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;Subroutine for Closeing of BDC group                                *&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_close_group .&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  CALL FUNCTION 'BDC_CLOSE_GROUP'&lt;/P&gt;&lt;P&gt;    EXCEPTIONS&lt;/P&gt;&lt;P&gt;      not_open    = 1&lt;/P&gt;&lt;P&gt;      queue_error = 2&lt;/P&gt;&lt;P&gt;      OTHERS      = 3.&lt;/P&gt;&lt;P&gt;  IF sy-subrc &amp;lt;&amp;gt; 0.&lt;/P&gt;&lt;P&gt;    WRITE &lt;span class="lia-unicode-emoji" title=":confused_face:"&gt;😕&lt;/span&gt; text-015.         "Error in BDC_CLOSE_GROUP.&lt;/P&gt;&lt;P&gt;    EXIT.&lt;/P&gt;&lt;P&gt;  ENDIF.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;ENDFORM.                    " BDC_CLOSE_GROUP&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;----&lt;/STRONG&gt;&lt;/P&gt;&lt;HR originaltext="----------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;     Form  validate_bukrs                                           *&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;     Validation for Company code                                    *&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 validate_bukrs .&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;Local declarations&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;  DATA: lv_bukrs TYPE bukrs.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  CLEAR lv_bukrs.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;Check if the specified Company code exists or not&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;  IF p_bukrs IS NOT INITIAL.&lt;/P&gt;&lt;P&gt;    SELECT  SINGLE bukrs        "Comapny code&lt;/P&gt;&lt;P&gt;      FROM  t001&lt;/P&gt;&lt;P&gt;      INTO  lv_bukrs&lt;/P&gt;&lt;P&gt;     WHERE  bukrs EQ p_bukrs.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;    IF lv_bukrs IS INITIAL.&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;Enter a valid Company code&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;      MESSAGE e117(zmm).              "Invalid Company code&lt;/P&gt;&lt;P&gt;    ENDIF.&lt;/P&gt;&lt;P&gt;  ENDIF.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;ENDFORM.                    " validate_bukrs&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;----&lt;/STRONG&gt;&lt;/P&gt;&lt;HR originaltext="----------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;     Form  lock_cbht_table                                          *&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;     Lock the table 'ZKT_CBHT' while updating                       *&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 lock_cbht_table USING p_varkey TYPE rstable-varkey.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  CALL FUNCTION 'ENQUEUE_E_TABLES'&lt;/P&gt;&lt;P&gt;    EXPORTING&lt;/P&gt;&lt;P&gt;      mode_rstable = gc_s&lt;/P&gt;&lt;P&gt;      tabname      = gc_cbht&lt;/P&gt;&lt;P&gt;      varkey       = p_varkey&lt;/P&gt;&lt;P&gt;      &lt;U&gt;scope       = gc&lt;/U&gt;2.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;ENDFORM.                    "lock_cbht_table&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;----&lt;/STRONG&gt;&lt;/P&gt;&lt;HR originaltext="----------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;     Form  unlock_cbht_table                                        *&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;     Unlock the table 'ZKT_CBHT' after updating                     *&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 unlock_cbht_table USING p_varkey TYPE rstable-varkey.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  CALL FUNCTION 'DEQUEUE_E_TABLES'&lt;/P&gt;&lt;P&gt;    EXPORTING&lt;/P&gt;&lt;P&gt;      mode_rstable = gc_s&lt;/P&gt;&lt;P&gt;      tabname      = gc_cbht&lt;/P&gt;&lt;P&gt;      varkey       = p_varkey&lt;/P&gt;&lt;P&gt;      &lt;U&gt;scope       = gc&lt;/U&gt;3.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;ENDFORM.                    "unlock_history_table&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;&amp;amp;----&lt;/STRONG&gt;&lt;/P&gt;&lt;HR originaltext="----------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;*&amp;amp;      Form  raise_event&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;&amp;amp;----&lt;/STRONG&gt;&lt;/P&gt;&lt;HR originaltext="----------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;      text&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;&lt;STRONG&gt;----&lt;/STRONG&gt;&lt;/P&gt;&lt;HR originaltext="-----------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;FORM raise_event.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  CONSTANTS:&lt;/P&gt;&lt;P&gt;    lc_event_id   TYPE btceventid VALUE 'ZCO_PC_REPORTS'.&lt;/P&gt;&lt;P&gt;  DATA:&lt;/P&gt;&lt;P&gt;    lv_msgtxt     TYPE bapi_msg.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;Raise the Event for Cost Blending&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;  CALL FUNCTION 'BP_EVENT_RAISE'&lt;/P&gt;&lt;P&gt;    EXPORTING&lt;/P&gt;&lt;P&gt;      eventid                = lc_event_id&lt;/P&gt;&lt;P&gt;    EXCEPTIONS&lt;/P&gt;&lt;P&gt;      bad_eventid            = 1&lt;/P&gt;&lt;P&gt;      eventid_does_not_exist = 2&lt;/P&gt;&lt;P&gt;      eventid_missing        = 3&lt;/P&gt;&lt;P&gt;      raise_failed           = 4&lt;/P&gt;&lt;P&gt;      OTHERS                 = 5.&lt;/P&gt;&lt;P&gt;  IF sy-subrc &amp;lt;&amp;gt; 0.&lt;/P&gt;&lt;P&gt;    MESSAGE e067(1m) WITH lc_event_id INTO lv_msgtxt.&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;  Event &amp;amp;1 not triggered&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;  ELSE.&lt;/P&gt;&lt;P&gt;    MESSAGE s066(1m) WITH lc_event_id INTO lv_msgtxt.&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;  Event &amp;amp;1 triggered&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;  ENDIF.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  FORMAT COLOR COL_POSITIVE ON.&lt;/P&gt;&lt;P&gt;  WRITE: / lv_msgtxt.&lt;/P&gt;&lt;P&gt;  FORMAT COLOR COL_POSITIVE OFF.&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;End of spool report&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;  WRITE:/ sy-uline(132).&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;ENDFORM.                    " raise_event&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Thu, 14 Jun 2007 15:03:20 GMT</pubDate>
      <guid>https://community.sap.com/t5/application-development-and-automation-discussions/call-transaction-method/m-p/2354825#M520179</guid>
      <dc:creator>Former Member</dc:creator>
      <dc:date>2007-06-14T15:03:20Z</dc:date>
    </item>
  </channel>
</rss>

