<?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 bdc recording in Application Development and Automation Discussions</title>
    <link>https://community.sap.com/t5/application-development-and-automation-discussions/bdc-recording/m-p/2222172#M477278</link>
    <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;can anyone expalin how to do bdc recording step by step also i have a flat file with values after  doing recording i have values which i entered in selection screen in the program how can i put that in a loop so that it should take that input automatically without manual entry for each entry ........  &lt;/P&gt;&lt;P&gt;please explain recording step by step very urgent&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
    <pubDate>Mon, 23 Apr 2007 08:38:34 GMT</pubDate>
    <dc:creator>Former Member</dc:creator>
    <dc:date>2007-04-23T08:38:34Z</dc:date>
    <item>
      <title>bdc recording</title>
      <link>https://community.sap.com/t5/application-development-and-automation-discussions/bdc-recording/m-p/2222172#M477278</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;can anyone expalin how to do bdc recording step by step also i have a flat file with values after  doing recording i have values which i entered in selection screen in the program how can i put that in a loop so that it should take that input automatically without manual entry for each entry ........  &lt;/P&gt;&lt;P&gt;please explain recording step by step very urgent&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Mon, 23 Apr 2007 08:38:34 GMT</pubDate>
      <guid>https://community.sap.com/t5/application-development-and-automation-discussions/bdc-recording/m-p/2222172#M477278</guid>
      <dc:creator>Former Member</dc:creator>
      <dc:date>2007-04-23T08:38:34Z</dc:date>
    </item>
    <item>
      <title>Re: bdc recording</title>
      <link>https://community.sap.com/t5/application-development-and-automation-discussions/bdc-recording/m-p/2222173#M477279</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;&lt;A class="jive_macro jive_macro_message" href="https://community.sap.com/" __jive_macro_name="message" modifiedtitle="true" __default_attr="3268986"&gt;&lt;/A&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;check this &lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Regards&lt;/P&gt;&lt;P&gt;Prabhu&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Mon, 23 Apr 2007 08:41:33 GMT</pubDate>
      <guid>https://community.sap.com/t5/application-development-and-automation-discussions/bdc-recording/m-p/2222173#M477279</guid>
      <dc:creator>Former Member</dc:creator>
      <dc:date>2007-04-23T08:41:33Z</dc:date>
    </item>
    <item>
      <title>Re: bdc recording</title>
      <link>https://community.sap.com/t5/application-development-and-automation-discussions/bdc-recording/m-p/2222174#M477280</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;REPORT  ydpurc_conditiontype  MESSAGE-ID yd01  LINE-SIZE 300 LINE-COUNT 65 NO STANDARD PAGE HEADING   .&lt;/P&gt;&lt;P&gt;CONSTANTS: gc_read     TYPE dxfields-fileoper VALUE 'R',                                    " Constants used in form file selection.&lt;/P&gt;&lt;P&gt;           gc_applic   TYPE dxfields-location VALUE 'A',                                    " file in application server&lt;/P&gt;&lt;P&gt;           gc_presen   TYPE dxfields-location VALUE 'P',                                    " file in presentation server&lt;/P&gt;&lt;P&gt;           gc_root(01) TYPE c                 VALUE '/',                                    " used in file selection if the file path is empty&lt;/P&gt;&lt;P&gt;           gc_date TYPE sy-datum VALUE '99991231',                                          " date&lt;/P&gt;&lt;P&gt;           gc_mode TYPE c VALUE 'A',                                                        " all screen mode&lt;/P&gt;&lt;P&gt;           gc_mode1 TYPE c VALUE 'N',                                                       " no screen mode&lt;/P&gt;&lt;P&gt;           gc_flag TYPE c VALUE 'x',                                                        " flag value initialsed to x&lt;/P&gt;&lt;P&gt;           gc_dynbegin TYPE c VALUE  'x',                                                   " dynbegin&lt;/P&gt;&lt;P&gt;           gc_sucess TYPE c VALUE 'S' ,                                                     " contant used for checking if records are fetched&lt;/P&gt;&lt;P&gt;           gc_tcode(4) TYPE c VALUE 'MEK1'.                                                 " transaction used for the conversion&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;DATA: gv_line     TYPE i,                        "Varibles&lt;/P&gt;&lt;P&gt;      gv_line1    TYPE i,&lt;/P&gt;&lt;P&gt;      gv_line2    TYPE i,&lt;/P&gt;&lt;P&gt;      gv_datab    TYPE char12,                   "Varible to hold the data&lt;/P&gt;&lt;P&gt;      gv_date     TYPE char2,                    "Varible to hold the date&lt;/P&gt;&lt;P&gt;      gv_mon      TYPE char2,                    "Varible to hold the month&lt;/P&gt;&lt;P&gt;      gv_year     TYPE char4,                    "Varible to hold the year&lt;/P&gt;&lt;P&gt;      gv_msg      TYPE char100,                  "Varible to hold Bdc messages&lt;/P&gt;&lt;P&gt;      gv_no_succs TYPE i,                        "Varible to hold the no of sucess records&lt;/P&gt;&lt;P&gt;      gv_no_error TYPE i.                        "Variable to hold no of error records&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;******************************************************************************************&lt;/P&gt;&lt;P&gt;*&lt;STRONG&gt;selcection screen to let the user select the condition type,currentdate,enddate&lt;/STRONG&gt;********&lt;/P&gt;&lt;P&gt;SELECTION-SCREEN BEGIN OF BLOCK b2 WITH FRAME TITLE text-028.&lt;/P&gt;&lt;P&gt;PARAMETERS: p_cndtyp TYPE rv13a-kschl DEFAULT 'zhts',             "condition type&lt;/P&gt;&lt;P&gt;            p_delcnt TYPE komg-hland DEFAULT 'CA',               "delivery country&lt;/P&gt;&lt;P&gt;            p_crdate TYPE rv13a-datab DEFAULT sy-datum,          "current date&lt;/P&gt;&lt;P&gt;            p_edate TYPE rv13a-datbi DEFAULT gc_date.         "enddate&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;SELECTION-SCREEN END OF BLOCK b2.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;*****************************************************************************************************************************&lt;/P&gt;&lt;P&gt;*&lt;STRONG&gt;selection screen to let the user select between presentation server and application server and whether to run in test mode&lt;/STRONG&gt;*&lt;/P&gt;&lt;P&gt;SELECTION-SCREEN BEGIN OF BLOCK b1 WITH FRAME TITLE text-029.&lt;/P&gt;&lt;P&gt;PARAMETERS:  p_upl_ps RADIOBUTTON GROUP g1 DEFAULT 'X' USER-COMMAND upl,   "presentation server&lt;/P&gt;&lt;P&gt;             p_upl_as RADIOBUTTON GROUP g1,                                 "application server&lt;/P&gt;&lt;P&gt;             p_path TYPE rlgrap-filename ,                                 "file path&lt;/P&gt;&lt;P&gt;             p_test AS CHECKBOX.                                            "test mode&lt;/P&gt;&lt;P&gt;&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;/P&gt;&lt;P&gt;&lt;STRONG&gt;&amp;amp;&lt;/STRONG&gt;**************************************&lt;STRONG&gt;TYPES&lt;/STRONG&gt;***********************************************&amp;amp;&lt;/P&gt;&lt;P&gt;TYPES: BEGIN OF gst_stritab,                                         " Structure to hold lagacy data&lt;/P&gt;&lt;P&gt;          hland           TYPE komg-hland,                           "delivering country&lt;/P&gt;&lt;P&gt;          sku(10)         TYPE c,                                    "sku&lt;/P&gt;&lt;P&gt;          description(30) TYPE c,                                    "description&lt;/P&gt;&lt;P&gt;          herkl           TYPE komg-herkl,                           "country of origin&lt;/P&gt;&lt;P&gt;          coimp           TYPE komg-coimp,                           "import code&lt;/P&gt;&lt;P&gt;          coimp1          TYPE komg-coimp,&lt;/P&gt;&lt;P&gt;          chdate          TYPE date,                                 "date&lt;/P&gt;&lt;P&gt;          gstcode(10)     TYPE c,                                    "gstcode&lt;/P&gt;&lt;P&gt;          annex(10)       TYPE c,                                    "annex&lt;/P&gt;&lt;P&gt;          kbetr           TYPE rv13a-konwa,                          "rate&lt;/P&gt;&lt;P&gt;          ust(10)         TYPE c,                                    "ust&lt;/P&gt;&lt;P&gt;      END OF gst_stritab.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;***********************************************************************************************************&lt;/P&gt;&lt;P&gt;TYPES: BEGIN OF gst_e_stritab,                               "structure for error's&lt;/P&gt;&lt;P&gt;          hland TYPE komg-hland,                             "delivering country&lt;/P&gt;&lt;P&gt;          sku(10) TYPE c,                                    "sku&lt;/P&gt;&lt;P&gt;          description(30) TYPE c,                            "description&lt;/P&gt;&lt;P&gt;           herkl TYPE komg-herkl,                            "country of origin&lt;/P&gt;&lt;P&gt;          coimp TYPE komg-coimp,                             "import code&lt;/P&gt;&lt;P&gt;          coimp1 TYPE komg-coimp,&lt;/P&gt;&lt;P&gt;          chdate TYPE date,                                  "change date&lt;/P&gt;&lt;P&gt;          gstcode(10) TYPE c,                                "gst code&lt;/P&gt;&lt;P&gt;          annex(10) TYPE c,                                  "annex&lt;/P&gt;&lt;P&gt;          kbetr TYPE rv13a-konwa,                            "rate&lt;/P&gt;&lt;P&gt;          ust(10) TYPE c,                                    "ust&lt;/P&gt;&lt;P&gt;          error_desc(100) TYPE c,                            "Error description&lt;/P&gt;&lt;P&gt;      END OF gst_e_stritab.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;***************************************************************************************************************&lt;/P&gt;&lt;P&gt;TYPES: BEGIN OF gst_t_stritab,                             "structure to hold lagacy data in which mfn or gpt is given&lt;/P&gt;&lt;P&gt;          hland TYPE komg-hland,                           "delivering country&lt;/P&gt;&lt;P&gt;          sku(10) TYPE c,&lt;/P&gt;&lt;P&gt;          description(30) TYPE c,&lt;/P&gt;&lt;P&gt;          herkl TYPE komg-herkl,                           "country of origin&lt;/P&gt;&lt;P&gt;          coimp TYPE komg-coimp,                           "import code&lt;/P&gt;&lt;P&gt;          coimp1 TYPE komg-coimp,&lt;/P&gt;&lt;P&gt;          chdate TYPE date ,&lt;/P&gt;&lt;P&gt;          gstcode(10) TYPE c,&lt;/P&gt;&lt;P&gt;          annex(10) TYPE c,&lt;/P&gt;&lt;P&gt;          mfn(10) TYPE c,                                  "most favoured nation rate&lt;/P&gt;&lt;P&gt;          gpt(10) TYPE c ,                                 "general preferential treatment rate&lt;/P&gt;&lt;P&gt;          ust(10) TYPE c,&lt;/P&gt;&lt;P&gt;      END OF gst_t_stritab.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;*******************************************************************************************************************&lt;/P&gt;&lt;P&gt;TYPES: BEGIN OF gst_temp_str,                              "structure to hold the data from the flat file&lt;/P&gt;&lt;P&gt;      line(1000) TYPE c,&lt;/P&gt;&lt;P&gt;      END OF gst_temp_str.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;********************************************************************************************************************&lt;/P&gt;&lt;P&gt;TYPES:BEGIN OF gst_hland_coimp,                            "structure to hold the delivery country and import code for validations&lt;/P&gt;&lt;P&gt;      hland TYPE hland,                                    "delivery country&lt;/P&gt;&lt;P&gt;      coimp TYPE coimp,                                    "import code&lt;/P&gt;&lt;P&gt;      END OF gst_hland_coimp.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;******************************************************************************************************************&lt;/P&gt;&lt;P&gt;TYPES:BEGIN OF gst_herkl,                                 "structure to hold country of origin for validatons&lt;/P&gt;&lt;P&gt;        herkl TYPE herkl,                                 "country of origin&lt;/P&gt;&lt;P&gt;      END OF gst_herkl.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;*******************************************************************************************************************&lt;/P&gt;&lt;P&gt;TYPES: BEGIN OF gst_msg,                                 "structure to hold messages&lt;/P&gt;&lt;P&gt;  msg TYPE char100,&lt;/P&gt;&lt;P&gt;END OF gst_msg.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;***********************************************************************&lt;/P&gt;&lt;P&gt;***************&lt;STRONG&gt;INTERNAL TABLES&lt;/STRONG&gt;**************************************&lt;/P&gt;&lt;P&gt;DATA: gi_temp        TYPE STANDARD TABLE OF gst_temp_str.               "internal table for structure gst_tem_str&lt;/P&gt;&lt;P&gt;DATA: gi_stritab     TYPE STANDARD TABLE OF gst_stritab .               "internal table to hold legacy data&lt;/P&gt;&lt;P&gt;DATA: gi_hland_coimp TYPE STANDARD TABLE OF gst_hland_coimp.            "internal table used for delivery countryand import code validations&lt;/P&gt;&lt;P&gt;DATA: gi_herkl       TYPE STANDARD TABLE OF gst_herkl.                  "internal table used for country of origin validations&lt;/P&gt;&lt;P&gt;DATA: gi_c1_stritab  TYPE STANDARD TABLE OF gst_stritab.                "internal table used to hold data that will be uploaded to bdc&lt;/P&gt;&lt;P&gt;DATA: gi_c_stritab   TYPE STANDARD TABLE OF gst_stritab.                "internal table to hold correct data for validations done for hland/coimp&lt;/P&gt;&lt;P&gt;DATA: gi_t_stritab   TYPE STANDARD TABLE OF gst_t_stritab.              "internal table to store data including values for either mnf or gpt&lt;/P&gt;&lt;P&gt;DATA: gi_e_stritab   TYPE STANDARD TABLE OF gst_e_stritab.              "internal table to store error records&lt;/P&gt;&lt;P&gt;DATA: gi_messtab     TYPE  TABLE OF bdcmsgcoll.                         "Internal table for to read unix data&lt;/P&gt;&lt;P&gt;DATA: gi_msg         TYPE  TABLE OF gst_msg.                            "internal table to store messages&lt;/P&gt;&lt;P&gt;DATA: gi_bdcdata     TYPE  TABLE OF bdcdata.                            "Internal table for bdcdata&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;********************&lt;STRONG&gt;WORK AREAS&lt;/STRONG&gt;*************************************************&lt;/P&gt;&lt;P&gt;DATA: gw_itab      TYPE gst_stritab.                                                     "work area for structure gst_stritab&lt;/P&gt;&lt;P&gt;DATA: gw_temp      TYPE gst_temp_str.                                                    "work area for structure gst_temp_str&lt;/P&gt;&lt;P&gt;DATA: gw_e_stritab TYPE gst_e_stritab.                                                   "work area for structure gst_e_stritab&lt;/P&gt;&lt;P&gt;DATA: gw_c_stritab TYPE gst_stritab.                                                     "work area for structure gst_stritab&lt;/P&gt;&lt;P&gt;DATA: gw_t_stritab TYPE gst_t_stritab.                                                   "work area for structure gst_t_stritab&lt;/P&gt;&lt;P&gt;DATA: gw_hland_coimp TYPE gst_hland_coimp.                                               "Work area for structure gst_hland_coimp&lt;/P&gt;&lt;P&gt;DATA: gw_herkl TYPE gst_herkl.                                                           "Work area for structure gst_herkl&lt;/P&gt;&lt;P&gt;DATA: gw_messtab   TYPE bdcmsgcoll.                                                      "work area for structure bdcmsgcoll&lt;/P&gt;&lt;P&gt;DATA: gw_bdcdata   TYPE bdcdata.                                                         "work area for structure bdcdata&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;*******************************************************************&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;----&lt;/STRONG&gt;&lt;/P&gt;&lt;HR originaltext="-----------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;*At Selection-Screen on value-request&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;----&lt;/STRONG&gt;&lt;/P&gt;&lt;HR originaltext="-----------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;**&lt;STRONG&gt;at selection screen&lt;/STRONG&gt;****&lt;/P&gt;&lt;P&gt;AT SELECTION-SCREEN ON VALUE-REQUEST FOR p_path.&lt;/P&gt;&lt;P&gt;  PERFORM gf_file_selection.             "Subroutine for file selection&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;P&gt;**Top-Of-Page&lt;/P&gt;&lt;P&gt;*&lt;STRONG&gt;----&lt;/STRONG&gt;&lt;/P&gt;&lt;HR originaltext="-----------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;TOP-OF-PAGE.&lt;/P&gt;&lt;P&gt;  PERFORM gf_header.                       "Subroutine for Header&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;**********************************************************************************&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;----&lt;/STRONG&gt;&lt;/P&gt;&lt;HR originaltext="-----------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;*Start-Of-Selection&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;----&lt;/STRONG&gt;&lt;/P&gt;&lt;HR originaltext="-----------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;START-OF-SELECTION.&lt;/P&gt;&lt;P&gt;  IF p_path IS INITIAL.&lt;/P&gt;&lt;P&gt;    SET CURSOR FIELD 'P_PATH'.&lt;/P&gt;&lt;P&gt;    MESSAGE s020 DISPLAY LIKE 'E'.&lt;/P&gt;&lt;P&gt;    LEAVE LIST-PROCESSING.&lt;/P&gt;&lt;P&gt;  ENDIF.&lt;/P&gt;&lt;P&gt;  CLEAR: gi_messtab.&lt;/P&gt;&lt;P&gt;  REFRESH: gi_messtab.&lt;/P&gt;&lt;P&gt;  PERFORM gf_upload_file.                                          "Subroutine for upload file&lt;/P&gt;&lt;P&gt;  IF NOT p_test IS INITIAL.                                          "Check Condition&lt;/P&gt;&lt;P&gt;    PERFORM gf_validation.                                          "Subroutine for Validations&lt;/P&gt;&lt;P&gt;    IF gi_e_stritab[] IS NOT INITIAL.                           "if error table is not empty&lt;/P&gt;&lt;P&gt;      PERFORM gf_display_data.                                     "then no upload for those records only display&lt;/P&gt;&lt;P&gt;    ELSE.&lt;/P&gt;&lt;P&gt;      PERFORM gf_bdc_result.&lt;/P&gt;&lt;P&gt;    ENDIF.&lt;/P&gt;&lt;P&gt;  ELSE.&lt;/P&gt;&lt;P&gt;    PERFORM gf_validation.                                           "  Subroutine for display error log.&lt;/P&gt;&lt;P&gt;    CLEAR:gv_no_succs,gv_no_error,gv_msg, gi_msg.&lt;/P&gt;&lt;P&gt;    REFRESH: gi_msg.&lt;/P&gt;&lt;P&gt;    PERFORM gf_run_bdc.                                               " Subroutine for Run BDC&lt;/P&gt;&lt;P&gt;    IF gi_e_stritab[] IS NOT INITIAL.&lt;/P&gt;&lt;P&gt;      PERFORM gf_display_data.&lt;/P&gt;&lt;P&gt;    ELSE.&lt;/P&gt;&lt;P&gt;      PERFORM gf_bdc_result.                                        " Subroutine for Display bdc result and outputs&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;END-OF-SELECTION.&lt;/P&gt;&lt;P&gt;  EXIT.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;&amp;amp;----&lt;/STRONG&gt;&lt;/P&gt;&lt;HR originaltext="----------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;*&amp;amp;      Form  file_selection&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;&amp;amp;----&lt;/STRONG&gt;&lt;/P&gt;&lt;HR originaltext="----------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;FORM gf_file_selection.&lt;/P&gt;&lt;P&gt;  CONSTANTS: lc_slash(2) TYPE c VALUE '//'.&lt;/P&gt;&lt;P&gt;  DATA :  lv_file_path TYPE dxfields-longpath,                         "path of the file&lt;/P&gt;&lt;P&gt;          lv_location  TYPE dxfields-location,                         "location whether application or presentation&lt;/P&gt;&lt;P&gt;          lv_server    TYPE msxxlist-name,                             "application server name&lt;/P&gt;&lt;P&gt;          lw_rfcsi    TYPE rfcsi.                                      "system information&lt;/P&gt;&lt;P&gt;  CLEAR:lv_server,lv_location, lv_file_path.&lt;/P&gt;&lt;P&gt;  MOVE gc_read TO lv_file_path.&lt;/P&gt;&lt;P&gt;  IF lv_file_path IS INITIAL.                                         "if file path is empty&lt;/P&gt;&lt;P&gt;    lv_file_path = gc_root.&lt;/P&gt;&lt;P&gt;  ENDIF.&lt;/P&gt;&lt;P&gt;  IF NOT  p_upl_ps IS  INITIAL.&lt;/P&gt;&lt;P&gt;    lv_location = gc_presen.                                          "if presentation server is selected&lt;/P&gt;&lt;P&gt;  ELSE .&lt;/P&gt;&lt;P&gt;    lv_location = gc_applic.                                          "if application server is selected&lt;/P&gt;&lt;P&gt;  ENDIF.&lt;/P&gt;&lt;P&gt;  CALL FUNCTION 'RFC_SYSTEM_INFO'&lt;/P&gt;&lt;P&gt;    IMPORTING&lt;/P&gt;&lt;P&gt;      rfcsi_export = lw_rfcsi.&lt;/P&gt;&lt;P&gt;  lv_server    = lw_rfcsi-rfcdest.&lt;/P&gt;&lt;P&gt;  CALL FUNCTION 'F4_DXFILENAME_TOPRECURSION'                        "selecting the file&lt;/P&gt;&lt;P&gt;EXPORTING&lt;/P&gt;&lt;P&gt;i_location_flag       = lv_location&lt;/P&gt;&lt;P&gt;i_server              = lv_server&lt;/P&gt;&lt;P&gt;i_path                = lv_file_path&lt;/P&gt;&lt;P&gt;fileoperation         = p_upl_ps&lt;/P&gt;&lt;P&gt;IMPORTING&lt;/P&gt;&lt;P&gt;o_path                = lv_file_path&lt;/P&gt;&lt;P&gt;EXCEPTIONS&lt;/P&gt;&lt;P&gt;rfc_error             = 1&lt;/P&gt;&lt;P&gt;OTHERS                = 2&lt;/P&gt;&lt;P&gt;    .&lt;/P&gt;&lt;P&gt;  IF sy-subrc NE 0.&lt;/P&gt;&lt;P&gt;    EXIT.&lt;/P&gt;&lt;P&gt;  ELSE.&lt;/P&gt;&lt;P&gt;    MOVE lv_file_path TO p_path.&lt;/P&gt;&lt;P&gt;  ENDIF.&lt;/P&gt;&lt;P&gt;  IF p_path(2) EQ lc_slash.&lt;/P&gt;&lt;P&gt;    SHIFT p_path LEFT.&lt;/P&gt;&lt;P&gt;  ENDIF.&lt;/P&gt;&lt;P&gt;ENDFORM.                    " FILE_SELECTION&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;&amp;amp;----&lt;/STRONG&gt;&lt;/P&gt;&lt;HR originaltext="----------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;*&amp;amp;      Form  gf_upload_file&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;&amp;amp;----&lt;/STRONG&gt;&lt;/P&gt;&lt;HR originaltext="----------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;FORM gf_upload_file.                                        "uploading the file&lt;/P&gt;&lt;P&gt;  DATA: lv_path TYPE string.&lt;/P&gt;&lt;P&gt;  CLEAR: gi_temp,gi_stritab,lv_path.&lt;/P&gt;&lt;P&gt;  REFRESH: gi_temp,gi_stritab.&lt;/P&gt;&lt;P&gt;  IF NOT p_upl_ps IS INITIAL.                               "IF the data is availabe on the presentation server then get the data&lt;/P&gt;&lt;P&gt;    lv_path = p_path.&lt;/P&gt;&lt;P&gt;    CALL FUNCTION 'GUI_UPLOAD'&lt;/P&gt;&lt;P&gt;      EXPORTING&lt;/P&gt;&lt;P&gt;        filename                = lv_path&lt;/P&gt;&lt;P&gt;        filetype                = 'ASC'&lt;/P&gt;&lt;P&gt;      TABLES&lt;/P&gt;&lt;P&gt;        data_tab                = gi_temp&lt;/P&gt;&lt;P&gt;      EXCEPTIONS&lt;/P&gt;&lt;P&gt;        file_open_error         = 1&lt;/P&gt;&lt;P&gt;        file_read_error         = 2&lt;/P&gt;&lt;P&gt;        no_batch                = 3&lt;/P&gt;&lt;P&gt;        gui_refuse_filetransfer = 4&lt;/P&gt;&lt;P&gt;        invalid_type            = 5&lt;/P&gt;&lt;P&gt;        no_authority            = 6&lt;/P&gt;&lt;P&gt;        unknown_error           = 7&lt;/P&gt;&lt;P&gt;        bad_data_format         = 8&lt;/P&gt;&lt;P&gt;        header_not_allowed      = 9&lt;/P&gt;&lt;P&gt;        separator_not_allowed   = 10&lt;/P&gt;&lt;P&gt;        header_too_long         = 11&lt;/P&gt;&lt;P&gt;        unknown_dp_error        = 12&lt;/P&gt;&lt;P&gt;        access_denied           = 13&lt;/P&gt;&lt;P&gt;        dp_out_of_memory        = 14&lt;/P&gt;&lt;P&gt;        disk_full               = 15&lt;/P&gt;&lt;P&gt;        dp_timeout              = 16&lt;/P&gt;&lt;P&gt;        OTHERS                  = 17.&lt;/P&gt;&lt;P&gt;    IF sy-subrc NE 0.&lt;/P&gt;&lt;P&gt;      CASE sy-subrc.&lt;/P&gt;&lt;P&gt;        WHEN 1.&lt;/P&gt;&lt;P&gt;          MESSAGE s003 DISPLAY LIKE 'E'.                              "Error opening the file&lt;/P&gt;&lt;P&gt;          LEAVE LIST-PROCESSING.&lt;/P&gt;&lt;P&gt;        WHEN 2.&lt;/P&gt;&lt;P&gt;          MESSAGE s004 DISPLAY LIKE  'E'.                              "Error reading the file&lt;/P&gt;&lt;P&gt;          LEAVE LIST-PROCESSING.&lt;/P&gt;&lt;P&gt;        WHEN OTHERS.&lt;/P&gt;&lt;P&gt;          MESSAGE s007 DISPLAY LIKE  'E'.&lt;/P&gt;&lt;P&gt;      ENDCASE.&lt;/P&gt;&lt;P&gt;    ENDIF.&lt;/P&gt;&lt;P&gt;  ELSE.                                                                                "APPLICATION SERVER&lt;/P&gt;&lt;P&gt;    DATA: lv_msg  TYPE string.&lt;/P&gt;&lt;P&gt;    CLEAR lv_msg.&lt;/P&gt;&lt;P&gt;    OPEN DATASET p_path FOR INPUT IN TEXT MODE ENCODING DEFAULT WITH SMART LINEFEED.&lt;/P&gt;&lt;P&gt;    IF sy-subrc EQ 8.&lt;/P&gt;&lt;P&gt;      MESSAGE s021 DISPLAY LIKE  'E'.                                  "Error opening the file&lt;/P&gt;&lt;P&gt;      LEAVE LIST-PROCESSING.&lt;/P&gt;&lt;P&gt;    ENDIF.&lt;/P&gt;&lt;P&gt;    DO.&lt;/P&gt;&lt;P&gt;      READ DATASET p_path INTO gw_temp-line.                         "Read file which is opened.&lt;/P&gt;&lt;P&gt;      IF sy-subrc EQ 0.&lt;/P&gt;&lt;P&gt;        APPEND gw_temp TO gi_temp.&lt;/P&gt;&lt;P&gt;      ELSE.&lt;/P&gt;&lt;P&gt;        EXIT.&lt;/P&gt;&lt;P&gt;      ENDIF.&lt;/P&gt;&lt;P&gt;      CLEAR gw_temp.&lt;/P&gt;&lt;P&gt;    ENDDO.&lt;/P&gt;&lt;P&gt;    CLOSE DATASET p_path.&lt;/P&gt;&lt;P&gt;  ENDIF.&lt;/P&gt;&lt;P&gt;  LOOP AT gi_temp INTO gw_temp.&lt;/P&gt;&lt;P&gt;    PERFORM lf_f_split_upload_data.              "Splitting the data into columns of internal table&lt;/P&gt;&lt;P&gt;    CLEAR gw_temp.&lt;/P&gt;&lt;P&gt;  ENDLOOP.&lt;/P&gt;&lt;P&gt;ENDFORM.                         " UPLOAD_FILE&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 lf_bdc_transaction                              *&lt;/P&gt;&lt;/LI&gt;&lt;/UL&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 lf_bdc_transaction USING x_tcode TYPE any.                                                     "BDC Transaction for doing the upload&lt;/P&gt;&lt;P&gt;  DATA: lv_flag TYPE c.&lt;/P&gt;&lt;P&gt;  CALL TRANSACTION x_tcode USING gi_bdcdata&lt;/P&gt;&lt;P&gt;                    MODE          gc_mode&lt;/P&gt;&lt;P&gt;                    UPDATE        gc_mode1&lt;/P&gt;&lt;P&gt;                    MESSAGES INTO gi_messtab.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  IF sy-subrc NE 0.&lt;/P&gt;&lt;P&gt;    EXIT.&lt;/P&gt;&lt;P&gt;  ENDIF.&lt;/P&gt;&lt;P&gt;  CLEAR: lv_flag.&lt;/P&gt;&lt;P&gt;  LOOP AT gi_messtab INTO gw_messtab.         "loop at gi_messtab into gw_messtab&lt;/P&gt;&lt;P&gt;    IF gw_messtab-msgtyp EQ gc_sucess.        "if message type is equal to gc_success&lt;/P&gt;&lt;P&gt;      IF lv_flag EQ space.                      "and if lv_flag is not set&lt;/P&gt;&lt;P&gt;        gv_no_succs = gv_no_succs + 1.            "set gv_no_sucess to gv_no_sucess+1&lt;/P&gt;&lt;P&gt;        lv_flag = gc_flag.                        "set the flag to 's'&lt;/P&gt;&lt;P&gt;      ENDIF.&lt;/P&gt;&lt;P&gt;    ELSE.&lt;/P&gt;&lt;P&gt;      CALL FUNCTION 'MESSAGE_TEXT_BUILD'                               "putting the error into the table&lt;/P&gt;&lt;P&gt;         EXPORTING&lt;/P&gt;&lt;P&gt;           msgid               = gw_messtab-msgid&lt;/P&gt;&lt;P&gt;           msgnr               = gw_messtab-msgnr&lt;/P&gt;&lt;P&gt;           msgv1               = gw_messtab-msgv1&lt;/P&gt;&lt;P&gt;           msgv2               = gw_messtab-msgv2&lt;/P&gt;&lt;P&gt;           msgv3               = gw_messtab-msgv3&lt;/P&gt;&lt;P&gt;           msgv4               = gw_messtab-msgv4&lt;/P&gt;&lt;P&gt;         IMPORTING&lt;/P&gt;&lt;P&gt;          message_text_output = gv_msg.&lt;/P&gt;&lt;P&gt;      APPEND gv_msg TO gi_msg.&lt;/P&gt;&lt;P&gt;      IF lv_flag EQ space.&lt;/P&gt;&lt;P&gt;        gv_no_error = gv_no_error + 1.                  "increment the no of errors&lt;/P&gt;&lt;P&gt;        lv_flag = gc_flag.&lt;/P&gt;&lt;P&gt;      ENDIF.&lt;/P&gt;&lt;P&gt;    ENDIF.&lt;/P&gt;&lt;P&gt;  ENDLOOP.&lt;/P&gt;&lt;P&gt;ENDFORM.                                                                                "lf_bdc_transaction&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;UL&gt;&lt;LI level="2" type="ul"&gt;&lt;P&gt;       Form bdc_dynpro                                            *&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;/UL&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 lf_bdc_dynpro USING x_program  TYPE any x_dynpro TYPE any.                     "for setting the screen number BDC sturucture&lt;/P&gt;&lt;P&gt;  CLEAR gw_bdcdata.&lt;/P&gt;&lt;P&gt;  gw_bdcdata-program  = x_program.&lt;/P&gt;&lt;P&gt;  gw_bdcdata-dynpro   = x_dynpro.&lt;/P&gt;&lt;P&gt;  gw_bdcdata-dynbegin = gc_dynbegin.&lt;/P&gt;&lt;P&gt;  APPEND gw_bdcdata TO gi_bdcdata.&lt;/P&gt;&lt;P&gt;ENDFORM.                                                                                "lf_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;UL&gt;&lt;LI level="2" type="ul"&gt;&lt;P&gt;       Form bdc_field                                             *&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;/UL&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 lf_bdc_field USING x_fnam TYPE any x_fval TYPE any.          "for setting the bdc field&lt;/P&gt;&lt;P&gt;  IF NOT x_fval IS INITIAL.&lt;/P&gt;&lt;P&gt;    CLEAR gw_bdcdata.&lt;/P&gt;&lt;P&gt;    gw_bdcdata-fnam = x_fnam.&lt;/P&gt;&lt;P&gt;    gw_bdcdata-fval = x_fval.&lt;/P&gt;&lt;P&gt;    APPEND gw_bdcdata TO gi_bdcdata.&lt;/P&gt;&lt;P&gt;  ENDIF.&lt;/P&gt;&lt;P&gt;ENDFORM.                    "lf_bdc_field&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;*****************************************************************************************************&lt;/P&gt;&lt;P&gt;************************************************************************************************&lt;/P&gt;&lt;P&gt;FORM lf_f_split_upload_data.    "function to split the data uploaded into internal table from legacy using pipe"|" delimiter&lt;/P&gt;&lt;P&gt;  IF gi_temp[] IS INITIAL.&lt;/P&gt;&lt;P&gt;    WRITE: /5 text-030.&lt;/P&gt;&lt;P&gt;    EXIT.&lt;/P&gt;&lt;P&gt;  ELSE.&lt;/P&gt;&lt;P&gt;    LOOP AT gi_temp INTO gw_temp.&lt;/P&gt;&lt;P&gt;      SPLIT gw_temp-line AT '|' INTO gw_t_stritab-sku gw_t_stritab-description gw_t_stritab-herkl gw_t_stritab-coimp gw_t_stritab-coimp1 gw_t_stritab-chdate gw_t_stritab-gstcode gw_t_stritab-annex gw_t_stritab-mfn gw_t_stritab-gpt  gw_t_stritab-ust.&lt;/P&gt;&lt;P&gt;      "table gi_temp&lt;/P&gt;&lt;P&gt;      gw_t_stritab-hland = 'CA'.&lt;/P&gt;&lt;P&gt;      APPEND gw_t_stritab TO gi_t_stritab.&lt;/P&gt;&lt;P&gt;    ENDLOOP.&lt;/P&gt;&lt;P&gt;    CLEAR:gw_t_stritab,gi_temp.&lt;/P&gt;&lt;P&gt;  ENDIF.&lt;/P&gt;&lt;P&gt;ENDFORM.                    "lf_f_split_upload_data&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;*******************************************************************************************************&lt;/P&gt;&lt;P&gt;FORM gf_run_bdc .                                                               "for running the trnsaction BDC using MEK1 Transaction.&lt;/P&gt;&lt;P&gt;  CONSTANTS: lc_slash TYPE c VALUE '/'.&lt;/P&gt;&lt;P&gt;  CLEAR: gv_year, gv_mon, gv_date, gi_bdcdata, gv_datab.&lt;/P&gt;&lt;P&gt;  REFRESH gi_bdcdata.&lt;/P&gt;&lt;P&gt;  MOVE: sy-datum+0(4) TO gv_year,               "Todays date.&lt;/P&gt;&lt;P&gt;        sy-datum+4(2) TO gv_mon,&lt;/P&gt;&lt;P&gt;        sy-datum+6(2) TO gv_date.&lt;/P&gt;&lt;P&gt;  CONCATENATE gv_mon lc_slash gv_date lc_slash gv_year INTO gv_datab.&lt;/P&gt;&lt;P&gt;  LOOP AT gi_c1_stritab INTO gw_itab.&lt;/P&gt;&lt;P&gt;    PERFORM lf_bdc_dynpro      USING 'SAPMV13A' '0100'.&lt;/P&gt;&lt;P&gt;    PERFORM lf_bdc_field       USING text-041&lt;/P&gt;&lt;P&gt;                                  'RV13A-KSCHL'.&lt;/P&gt;&lt;P&gt;    PERFORM lf_bdc_field       USING text-040&lt;/P&gt;&lt;P&gt;                                  '=ANTA'.&lt;/P&gt;&lt;P&gt;    PERFORM lf_bdc_field       USING 'RV13A-KSCHL'&lt;/P&gt;&lt;P&gt;                                  'zhts'.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;    PERFORM lf_bdc_dynpro      USING 'SAPLV14A' '0100'.&lt;/P&gt;&lt;P&gt;    PERFORM lf_bdc_field       USING text-041&lt;/P&gt;&lt;P&gt;                                  'RV130-SELKZ(01)'.&lt;/P&gt;&lt;P&gt;    PERFORM lf_bdc_field       USING text-040&lt;/P&gt;&lt;P&gt;                                  '=WEIT'.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;    PERFORM lf_bdc_dynpro      USING 'SAPMV13A' '1317'.&lt;/P&gt;&lt;P&gt;    PERFORM lf_bdc_field       USING text-041&lt;/P&gt;&lt;P&gt;                                  'KONP-VALTG(01)'.&lt;/P&gt;&lt;P&gt;    PERFORM lf_bdc_field       USING text-040&lt;/P&gt;&lt;P&gt;                                  '=SICH'.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;    PERFORM lf_bdc_field       USING 'KOMG-HLAND'&lt;/P&gt;&lt;P&gt;                                   p_delcnt .             "gw_itab-HLAND.&lt;/P&gt;&lt;P&gt;    PERFORM lf_bdc_field       USING 'KOMG-COIMP'&lt;/P&gt;&lt;P&gt;                                  gw_itab-coimp.&lt;/P&gt;&lt;P&gt;    PERFORM lf_bdc_field       USING 'KOMG-HERKL(01)'&lt;/P&gt;&lt;P&gt;                                  gw_itab-herkl.&lt;/P&gt;&lt;P&gt;    PERFORM lf_bdc_field       USING 'KONP-KBETR(01)'&lt;/P&gt;&lt;P&gt;                              gw_itab-kbetr.&lt;/P&gt;&lt;P&gt;    PERFORM lf_bdc_field       USING 'RV13A-DATAB(01)'&lt;/P&gt;&lt;P&gt;                                 gv_datab.&lt;/P&gt;&lt;P&gt;    PERFORM lf_bdc_field       USING 'RV13A-DATBI(01)'&lt;/P&gt;&lt;P&gt;                                p_edate.&lt;/P&gt;&lt;P&gt;    PERFORM lf_bdc_transaction USING gc_tcode.&lt;/P&gt;&lt;P&gt;    REFRESH gi_bdcdata.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  ENDLOOP.&lt;/P&gt;&lt;P&gt;ENDFORM.                    "gf_run_bdc&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;*************************&lt;STRONG&gt;FORM FILL_INTERNAL_TABLE&lt;/STRONG&gt;**********************************&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;&amp;amp;&lt;/STRONG&gt;**********************************************************************************&lt;/P&gt;&lt;P&gt;FORM gf_validation.&lt;/P&gt;&lt;P&gt;  LOOP AT gi_t_stritab INTO gw_t_stritab.&lt;/P&gt;&lt;P&gt;    gw_itab-hland = gw_t_stritab-hland.&lt;/P&gt;&lt;P&gt;    gw_itab-sku = gw_t_stritab-sku.&lt;/P&gt;&lt;P&gt;    gw_itab-description = gw_t_stritab-description.&lt;/P&gt;&lt;P&gt;    gw_itab-herkl = gw_t_stritab-herkl.&lt;/P&gt;&lt;P&gt;    gw_itab-coimp = gw_t_stritab-coimp.&lt;/P&gt;&lt;P&gt;    gw_itab-coimp1 = gw_t_stritab-coimp1.&lt;/P&gt;&lt;P&gt;    gw_itab-chdate = gw_t_stritab-chdate.&lt;/P&gt;&lt;P&gt;    gw_itab-gstcode = gw_t_stritab-gstcode.&lt;/P&gt;&lt;P&gt;    gw_itab-annex = gw_t_stritab-annex.&lt;/P&gt;&lt;P&gt;    IF gw_t_stritab-mfn EQ space.&lt;/P&gt;&lt;P&gt;      gw_itab-kbetr = gw_t_stritab-gpt.&lt;/P&gt;&lt;P&gt;    ELSE.&lt;/P&gt;&lt;P&gt;      gw_itab-kbetr = gw_t_stritab-mfn.&lt;/P&gt;&lt;P&gt;    ENDIF.&lt;/P&gt;&lt;P&gt;    gw_itab-ust = gw_t_stritab-ust.&lt;/P&gt;&lt;P&gt;    APPEND gw_itab TO gi_stritab.&lt;/P&gt;&lt;P&gt;  ENDLOOP.&lt;/P&gt;&lt;P&gt;  CLEAR gi_t_stritab.&lt;/P&gt;&lt;P&gt;  REFRESH gi_t_stritab.&lt;/P&gt;&lt;P&gt;  CLEAR gi_hland_coimp.&lt;/P&gt;&lt;P&gt;  REFRESH gi_hland_coimp.&lt;/P&gt;&lt;P&gt;  SELECT land1 stawn                    "validation to check whether delivering country and import code is valid or not&lt;/P&gt;&lt;P&gt;         FROM  t604&lt;/P&gt;&lt;P&gt;         INTO TABLE gi_hland_coimp&lt;/P&gt;&lt;P&gt;         FOR ALL ENTRIES IN gi_stritab&lt;/P&gt;&lt;P&gt;         WHERE land1 = gi_stritab-hland&lt;/P&gt;&lt;P&gt;         AND stawn = gi_stritab-coimp.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  IF sy-subrc NE 0.&lt;/P&gt;&lt;P&gt;    WRITE:''.&lt;/P&gt;&lt;P&gt;  ENDIF.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  LOOP AT gi_stritab INTO gw_itab.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;    SORT gi_hland_coimp BY hland coimp.                                                       "sort table gi_hland_coimp&lt;/P&gt;&lt;P&gt;    READ TABLE gi_hland_coimp INTO gw_hland_coimp WITH KEY hland = gw_itab-hland&lt;/P&gt;&lt;P&gt;                                         coimp = gw_itab-coimp BINARY SEARCH.                 "read table gi_hland_coimp with key&lt;/P&gt;&lt;P&gt;    IF sy-subrc NE 0.                                                                        "if delivering country/import code combination is not valid&lt;/P&gt;&lt;P&gt;      gw_e_stritab-hland = gw_itab-hland.&lt;/P&gt;&lt;P&gt;      gw_e_stritab-sku = gw_itab-sku.&lt;/P&gt;&lt;P&gt;      gw_e_stritab-description = gw_itab-description.&lt;/P&gt;&lt;P&gt;      gw_e_stritab-herkl = gw_itab-herkl.&lt;/P&gt;&lt;P&gt;      gw_e_stritab-coimp = gw_itab-coimp.&lt;/P&gt;&lt;P&gt;      gw_e_stritab-chdate = gw_itab-chdate.&lt;/P&gt;&lt;P&gt;      gw_e_stritab-gstcode = gw_itab-gstcode.&lt;/P&gt;&lt;P&gt;      gw_e_stritab-annex = gw_itab-annex.&lt;/P&gt;&lt;P&gt;      gw_e_stritab-kbetr = gw_itab-kbetr.&lt;/P&gt;&lt;P&gt;      gw_e_stritab-ust = gw_itab-ust.&lt;/P&gt;&lt;P&gt;      gw_e_stritab-error_desc = text-005.&lt;/P&gt;&lt;P&gt;      APPEND gw_e_stritab TO gi_e_stritab.                                                      "append to error table&lt;/P&gt;&lt;P&gt;      CONTINUE.&lt;/P&gt;&lt;P&gt;    ELSE.                                                                                "if delivering country/import code is valid&lt;/P&gt;&lt;P&gt;      gw_c_stritab-hland = gw_itab-hland.&lt;/P&gt;&lt;P&gt;      gw_c_stritab-sku = gw_itab-sku.&lt;/P&gt;&lt;P&gt;      gw_c_stritab-description = gw_itab-description.&lt;/P&gt;&lt;P&gt;      gw_c_stritab-herkl = gw_itab-herkl.&lt;/P&gt;&lt;P&gt;      gw_c_stritab-coimp = gw_itab-coimp.&lt;/P&gt;&lt;P&gt;      gw_c_stritab-chdate = gw_itab-chdate.&lt;/P&gt;&lt;P&gt;      gw_c_stritab-gstcode = gw_itab-gstcode.&lt;/P&gt;&lt;P&gt;      gw_c_stritab-annex = gw_itab-annex.&lt;/P&gt;&lt;P&gt;      gw_c_stritab-kbetr = gw_itab-kbetr.&lt;/P&gt;&lt;P&gt;      gw_c_stritab-ust = gw_itab-ust.&lt;/P&gt;&lt;P&gt;      APPEND gw_c_stritab TO gi_c_stritab.                                                    "aappend to correct internal table&lt;/P&gt;&lt;P&gt;    ENDIF.&lt;/P&gt;&lt;P&gt;  ENDLOOP.&lt;/P&gt;&lt;P&gt;  SELECT                                                                                "validation to check whether the country of origin is valid&lt;/P&gt;&lt;P&gt;       land1&lt;/P&gt;&lt;P&gt;       FROM&lt;/P&gt;&lt;P&gt;       t005&lt;/P&gt;&lt;P&gt;       INTO&lt;/P&gt;&lt;P&gt;       TABLE gi_herkl&lt;/P&gt;&lt;P&gt;       FOR ALL ENTRIES IN gi_c_stritab&lt;/P&gt;&lt;P&gt;       WHERE&lt;/P&gt;&lt;P&gt;       land1 = gi_c_stritab-herkl.&lt;/P&gt;&lt;P&gt;  IF sy-subrc NE 0.&lt;/P&gt;&lt;P&gt;    WRITE:''.&lt;/P&gt;&lt;P&gt;  ENDIF.&lt;/P&gt;&lt;P&gt;  LOOP AT gi_c_stritab INTO  gw_itab.&lt;/P&gt;&lt;P&gt;    SORT gi_herkl BY herkl.&lt;/P&gt;&lt;P&gt;    READ  TABLE gi_herkl INTO gw_herkl WITH KEY  herkl = gw_itab-herkl.                                   "read table with key&lt;/P&gt;&lt;P&gt;    IF sy-subrc NE 0.                                                                      "if the country of origin is not valid&lt;/P&gt;&lt;P&gt;      gw_e_stritab-hland = gw_itab-hland.&lt;/P&gt;&lt;P&gt;      gw_e_stritab-sku = gw_itab-sku.&lt;/P&gt;&lt;P&gt;      gw_e_stritab-description = gw_itab-description.&lt;/P&gt;&lt;P&gt;      gw_e_stritab-herkl = gw_itab-herkl.&lt;/P&gt;&lt;P&gt;      gw_e_stritab-coimp = gw_itab-coimp.&lt;/P&gt;&lt;P&gt;      gw_e_stritab-chdate = gw_itab-chdate.&lt;/P&gt;&lt;P&gt;      gw_e_stritab-gstcode = gw_itab-gstcode.&lt;/P&gt;&lt;P&gt;      gw_e_stritab-annex = gw_itab-annex.&lt;/P&gt;&lt;P&gt;      gw_e_stritab-kbetr = gw_itab-kbetr.&lt;/P&gt;&lt;P&gt;      gw_e_stritab-ust = gw_itab-ust.&lt;/P&gt;&lt;P&gt;      gw_e_stritab-error_desc = text-002.&lt;/P&gt;&lt;P&gt;      APPEND gw_e_stritab TO gi_e_stritab.                                                  "append to error internal table&lt;/P&gt;&lt;P&gt;      CONTINUE.&lt;/P&gt;&lt;P&gt;    ELSE.                                                                                "if the country of origin is valid&lt;/P&gt;&lt;P&gt;      gw_c_stritab-hland = gw_itab-hland.&lt;/P&gt;&lt;P&gt;      gw_c_stritab-sku = gw_itab-sku.&lt;/P&gt;&lt;P&gt;      gw_c_stritab-description = gw_itab-description.&lt;/P&gt;&lt;P&gt;      gw_c_stritab-herkl = gw_itab-herkl.&lt;/P&gt;&lt;P&gt;      gw_c_stritab-coimp = gw_itab-coimp.&lt;/P&gt;&lt;P&gt;      gw_c_stritab-chdate = gw_itab-chdate.&lt;/P&gt;&lt;P&gt;      gw_c_stritab-gstcode = gw_itab-gstcode.&lt;/P&gt;&lt;P&gt;      gw_c_stritab-annex = gw_itab-annex.&lt;/P&gt;&lt;P&gt;      gw_c_stritab-kbetr = gw_itab-kbetr.&lt;/P&gt;&lt;P&gt;      gw_c_stritab-ust = gw_itab-ust.&lt;/P&gt;&lt;P&gt;      APPEND gw_c_stritab TO gi_c1_stritab.                                               "append to correct internal table&lt;/P&gt;&lt;P&gt;    ENDIF.&lt;/P&gt;&lt;P&gt;  ENDLOOP.&lt;/P&gt;&lt;P&gt;  CLEAR gi_herkl.&lt;/P&gt;&lt;P&gt;  REFRESH gi_herkl.&lt;/P&gt;&lt;P&gt;  CLEAR gi_c_stritab.&lt;/P&gt;&lt;P&gt;  REFRESH gi_c_stritab.&lt;/P&gt;&lt;P&gt;ENDFORM.                    "gf_validation&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;&amp;amp;&lt;/STRONG&gt;************************************************&lt;/P&gt;&lt;P&gt;************FORM gf_display_data.&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;&amp;amp;&lt;/STRONG&gt;************************************************&lt;/P&gt;&lt;P&gt;FORM gf_display_data.&lt;/P&gt;&lt;P&gt;  IF NOT gi_e_stritab IS INITIAL.      "if the error table is not empty&lt;/P&gt;&lt;P&gt;    LOOP AT gi_e_stritab INTO gw_e_stritab.&lt;/P&gt;&lt;P&gt;      WRITE:/ gw_e_stritab-hland, 21 gw_e_stritab-sku,30 gw_e_stritab-description, 76 gw_e_stritab-herkl,88 gw_e_stritab-coimp,106 gw_e_stritab-chdate,126 gw_e_stritab-gstcode,135 gw_e_stritab-annex,176 gw_e_stritab-kbetr,195 gw_e_stritab-ust,&lt;/P&gt;&lt;P&gt;      205 gw_e_stritab-error_desc.&lt;/P&gt;&lt;P&gt;    ENDLOOP.&lt;/P&gt;&lt;P&gt;    ULINE.&lt;/P&gt;&lt;P&gt;    DESCRIBE TABLE gi_e_stritab LINES gv_line.                    "describe error internal table&lt;/P&gt;&lt;P&gt;    WRITE:/ text-004, 55 gv_line.&lt;/P&gt;&lt;P&gt;    CLEAR gi_e_stritab.&lt;/P&gt;&lt;P&gt;    REFRESH gi_e_stritab.&lt;/P&gt;&lt;P&gt;    DESCRIBE TABLE gi_stritab LINES gv_line1.                     "describe internal table containing legacy data&lt;/P&gt;&lt;P&gt;    WRITE:/ text-003, 55 gv_line1.&lt;/P&gt;&lt;P&gt;    IF  p_test IS NOT INITIAL.                                         "if the test button is checked&lt;/P&gt;&lt;P&gt;      CLEAR gi_c1_stritab.&lt;/P&gt;&lt;P&gt;      REFRESH gi_c1_stritab.&lt;/P&gt;&lt;P&gt;      DESCRIBE TABLE  gi_c1_stritab LINES gv_line2.                      "describe the no of records in the correct internal table&lt;/P&gt;&lt;P&gt;      WRITE:/ text-026,55 gv_line2.&lt;/P&gt;&lt;P&gt;    ELSE.&lt;/P&gt;&lt;P&gt;      gv_line2 = gv_line1 - gv_line.&lt;/P&gt;&lt;P&gt;      DESCRIBE TABLE gi_c1_stritab LINES gv_line2.&lt;/P&gt;&lt;P&gt;      WRITE:/ text-026,55 gv_line2.&lt;/P&gt;&lt;P&gt;    ENDIF.&lt;/P&gt;&lt;P&gt;    CLEAR gv_line1.&lt;/P&gt;&lt;P&gt;    CLEAR gv_line.&lt;/P&gt;&lt;P&gt;    CLEAR gv_line2.&lt;/P&gt;&lt;P&gt;    FREE:gi_e_stritab.&lt;/P&gt;&lt;P&gt;  ENDIF.&lt;/P&gt;&lt;P&gt;ENDFORM.                    " display_data&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;&amp;amp;&lt;/STRONG&gt;**************************************************************************************************&amp;amp;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;                 FORM GF_HEADER&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;&lt;STRONG&gt;&amp;amp;&lt;/STRONG&gt;**************************************************************************************************&amp;amp;&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;&amp;amp;----&lt;/STRONG&gt;&lt;/P&gt;&lt;HR originaltext="----------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;*&amp;amp;      Form  GF_HEADER&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;FORM gf_header.&lt;/P&gt;&lt;P&gt;  NEW-LINE.                                       " Dispalay the header section&lt;/P&gt;&lt;P&gt;  ULINE.&lt;/P&gt;&lt;P&gt;  WRITE:/ text-006.&lt;/P&gt;&lt;P&gt;  WRITE:/ text-007.&lt;/P&gt;&lt;P&gt;  SKIP 1.&lt;/P&gt;&lt;P&gt;  WRITE: AT /1 'PROGRAM NAME:'(022),sy-repid,&lt;/P&gt;&lt;P&gt;        'DATE :'(023),sy-datum,&lt;/P&gt;&lt;P&gt;        AT 100 'TIME :'(024),sy-timlo.&lt;/P&gt;&lt;P&gt;  WRITE: AT /1  'FILENAME:'(025),p_path.&lt;/P&gt;&lt;P&gt;  ULINE.&lt;/P&gt;&lt;P&gt;  SKIP 1.&lt;/P&gt;&lt;P&gt;  WRITE:/  text-008.&lt;/P&gt;&lt;P&gt;  WRITE:/  text-009.&lt;/P&gt;&lt;P&gt;  WRITE:/  text-010.&lt;/P&gt;&lt;P&gt;  WRITE: AT 23   text-031.&lt;/P&gt;&lt;P&gt;  WRITE: AT 33   text-032.&lt;/P&gt;&lt;P&gt;  WRITE: AT 66   text-033.&lt;/P&gt;&lt;P&gt;  WRITE: AT 87   text-034.&lt;/P&gt;&lt;P&gt;  WRITE: AT 105  text-035.&lt;/P&gt;&lt;P&gt;  WRITE: AT 123  text-036.&lt;/P&gt;&lt;P&gt;  WRITE: AT 153  text-037.&lt;/P&gt;&lt;P&gt;  WRITE: AT 173  text-038.&lt;/P&gt;&lt;P&gt;  WRITE: AT 193  text-039.&lt;/P&gt;&lt;P&gt;  WRITE: AT 213  text-021.&lt;/P&gt;&lt;P&gt;  ULINE.&lt;/P&gt;&lt;P&gt;  NEW-LINE.&lt;/P&gt;&lt;P&gt;  NEW-LINE.&lt;/P&gt;&lt;P&gt;ENDFORM.                    " HEADER&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;&amp;amp;----&lt;/STRONG&gt;&lt;/P&gt;&lt;HR originaltext="----------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;*&amp;amp;      Form  GF_BDC_RESULT&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;FORM gf_bdc_result .                                                               "Displays  the how many records loaded in SAP&lt;/P&gt;&lt;P&gt;  LOOP AT gi_msg INTO gv_msg.&lt;/P&gt;&lt;P&gt;    WRITE:/ gv_msg.&lt;/P&gt;&lt;P&gt;  ENDLOOP.&lt;/P&gt;&lt;P&gt;  LOOP AT gi_c1_stritab INTO gw_c_stritab.&lt;/P&gt;&lt;P&gt;    WRITE:/ gw_c_stritab-hland, 21 gw_c_stritab-sku,33 gw_c_stritab-description, 70 gw_c_stritab-herkl,86 gw_c_stritab-coimp,106 gw_c_stritab-chdate,126 gw_c_stritab-gstcode,146 gw_c_stritab-annex,173 gw_c_stritab-kbetr,194 gw_c_stritab-ust.&lt;/P&gt;&lt;P&gt;  ENDLOOP.&lt;/P&gt;&lt;P&gt;  ULINE.&lt;/P&gt;&lt;P&gt;  DESCRIBE TABLE gi_msg LINES gv_line1.&lt;/P&gt;&lt;P&gt;  gv_line1 = gv_line1 + gv_line.&lt;/P&gt;&lt;P&gt;  WRITE:/ text-026, 55 gv_no_succs.&lt;/P&gt;&lt;P&gt;  WRITE:/ text-027, 55 gv_line1.&lt;/P&gt;&lt;P&gt;  CLEAR: gv_line1,gv_line.&lt;/P&gt;&lt;P&gt;  DESCRIBE TABLE gi_stritab LINES gv_line1.&lt;/P&gt;&lt;P&gt;  WRITE:/ text-003, 55 gv_line1.&lt;/P&gt;&lt;P&gt;  CLEAR gi_stritab.&lt;/P&gt;&lt;P&gt;  REFRESH gi_stritab.&lt;/P&gt;&lt;P&gt;ENDFORM.                    " BDC_RESULT&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;*******&lt;STRONG&gt;end of code&lt;/STRONG&gt;****************************************************************&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;check this code hope this answers ur query!!!plss reward if useful!!&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Mon, 23 Apr 2007 08:54:03 GMT</pubDate>
      <guid>https://community.sap.com/t5/application-development-and-automation-discussions/bdc-recording/m-p/2222174#M477280</guid>
      <dc:creator>Former Member</dc:creator>
      <dc:date>2007-04-23T08:54:03Z</dc:date>
    </item>
  </channel>
</rss>

