47
************************************************************************ * PROGRAM ID : ZMMR_VEND_MSTR_CR * * PROGRAM TITLE : Vendor Master Upload * * AUTHOR : Harish Kasyap * * SUPPLIER : TCS * * DATE : 05-04-2012 * * DEVELOPMENT ID : * * CHANGE REQUEST (CTS): * *======================================================================* * COPIED FROM : * * TITLE : * * OTHER RELATED OBJ : Not Applicable * *======================================================================* * CHANGE HISTORY LOG * *----------------------------------------------------------------------* * MOD. NO.| DATE | NAME | CORRECTION NUMBER | CHANGE REFERENCE# * *----------------------------------------------------------------------* *======================================================================* *&---------------------------------------------------------------------* REPORT ZMMR_VEND_MSTR_CR NO STANDARD PAGE HEADING MESSAGE-ID zkel LINE-COUNT 65 LINE-SIZE 132 . *- Include for Global Declarations & Selection Screen -* INCLUDE zfir_vendor_top . *- Include for all the Subroutines -* INCLUDE zfir_vendor_form . *---------------------------------------------------------------------* * EVENT : AT SELECTION-SCREEN ON * *---------------------------------------------------------------------* AT SELECTION-SCREEN ON VALUE-REQUEST FOR p_lfa1 . CALL FUNCTION 'F4_FILENAME' EXPORTING program_name = syst - cprog dynpro_number = syst - dynnr

BDC VEndor Master

  • Upload
    sudhakp

  • View
    136

  • Download
    4

Embed Size (px)

DESCRIPTION

vi

Citation preview

************************************************************************* PROGRAM ID          : ZMMR_VEND_MSTR_CR                              ** PROGRAM TITLE       : Vendor Master Upload                           ** AUTHOR              : Harish Kasyap                                  ** SUPPLIER            : TCS                                            ** DATE                : 05-04-2012                                     ** DEVELOPMENT ID      :                                                ** CHANGE REQUEST (CTS):                                                **======================================================================** COPIED FROM         :                                                ** TITLE               :                                                ** OTHER RELATED OBJ   : Not Applicable                                 **======================================================================** CHANGE HISTORY LOG                                                   **----------------------------------------------------------------------** MOD. NO.|   DATE   | NAME | CORRECTION NUMBER    | CHANGE REFERENCE# **----------------------------------------------------------------------**======================================================================**&---------------------------------------------------------------------*

REPORT  ZMMR_VEND_MSTR_CR NO STANDARD PAGE HEADING                                       MESSAGE-ID zkel                                       LINE-COUNT 65                                       LINE-SIZE 132.

*- Include for Global Declarations & Selection Screen -*INCLUDE zfir_vendor_top.*- Include for all the Subroutines -*INCLUDE zfir_vendor_form.

*---------------------------------------------------------------------**                    EVENT : AT SELECTION-SCREEN ON                   **---------------------------------------------------------------------*

AT SELECTION-SCREEN ON VALUE-REQUEST FOR p_lfa1.

  CALL FUNCTION 'F4_FILENAME'    EXPORTING      program_name  = syst-cprog      dynpro_number = syst-dynnr    IMPORTING      file_name     = p_lfa1.***AT SELECTION-SCREEN ON VALUE-REQUEST FOR p_lfa11.**  CALL FUNCTION 'F4_FILENAME'*    EXPORTING

*      program_name  = syst-cprog*      dynpro_number = syst-dynnr*    IMPORTING*      file_name     = p_lfa11.**AT SELECTION-SCREEN ON VALUE-REQUEST FOR p_lfa12.**  CALL FUNCTION 'F4_FILENAME'*    EXPORTING*      program_name  = syst-cprog*      dynpro_number = syst-dynnr*    IMPORTING*      file_name     = p_lfa12.**AT SELECTION-SCREEN ON VALUE-REQUEST FOR p_lfa14.**  CALL FUNCTION 'F4_FILENAME'*    EXPORTING*      program_name  = syst-cprog*      dynpro_number = syst-dynnr*    IMPORTING*      file_name     = p_lfa14.

*---------------------------------------------------------------------**                    EVENT : AT SELECTION-SCREEN  OUTPUT              **---------------------------------------------------------------------*

AT SELECTION-SCREEN OUTPUT.

  PERFORM fields_required.

*---------------------------------------------------------------------**                       EVENT : START-OF-SELECTION                    **---------------------------------------------------------------------*

START-OF-SELECTION.

  PERFORM upload_data.

  PERFORM create_vendor.

  PERFORM display_msg.

************************************************************************* PROGRAM ID          : ZFIR_VENDOR_TOP                                ** PROGRAM TITLE       : Vendor Master Upload                           ** AUTHOR              : Harish Kasyap                                  ** SUPPLIER            : TCS                                            *

* DATE                : 05-04-2012                                     ** DEVELOPMENT ID      :                                                ** CHANGE REQUEST (CTS):                                                **======================================================================** COPIED FROM         :                                                ** TITLE               :                                                ** OTHER RELATED OBJ   : Not Applicable                                 **======================================================================** CHANGE HISTORY LOG                                                   **----------------------------------------------------------------------** MOD. NO.|   DATE   | NAME | CORRECTION NUMBER    | CHANGE REFERENCE# **----------------------------------------------------------------------**======================================================================**&---------------------------------------------------------------------*

*----------------------------------------------------------------------**                        Global Structure Declaration                  **----------------------------------------------------------------------*TYPES : BEGIN OF ty_lfa1,        bukrs TYPE bukrs,        ekorg TYPE ekorg,        ktokk TYPE ktokk,        title_medi TYPE ad_titletx,        name1 TYPE ad_name1,        name2 TYPE name2,        sort2 TYPE ad_sort2ul,        building TYPE ad_bldng,        str_suppl1 TYPE ad_strspp1,        str_suppl2 TYPE ad_strspp2,        str_suppl3 TYPE ad_strspp3,        post_code1 TYPE ad_pstcd1,        city1 TYPE ad_city1,        country TYPE land1,        region TYPE addr1_data-region,        po_box TYPE ad_pobx,        langu TYPE spras,        tel_number TYPE ad_tlnmbr1,        tel_extens TYPE ad_tlxtns1,        mob_number TYPE ad_mbnmbr1,        fax_number TYPE ad_fxxtns1,        fax_extens TYPE ad_fxxtns1,        smtp_addr TYPE  ad_smtpadr,        remark TYPE ad_remark1,        kunnr TYPE kunnr,        stcd1 TYPE stcd1,        stceg TYPE stceg,        banks TYPE banks,        bankl TYPE bankl,        bankn TYPE bankn,

        koinh TYPE koinh_fi,        bvtyp TYPE bvtyp,        lnrza TYPE lnrza,        akont TYPE akont,        zuawa TYPE dzuawa,        altkn TYPE altkn,*        pernr TYPE char8,        zterm TYPE dzterm,        reprf TYPE reprf,        zwels TYPE dzwels,*        hbkid TYPE hbkid,        qland TYPE qland,        witht TYPE witht,        wt_withcd TYPE wt_withcd,        wt_subjct TYPE wt_subjct,        waers TYPE waers,        zterm1 TYPE dzterm,        inco1 TYPE inco1,        inco2 TYPE inco2,        verkf TYPE everk,        telf1 TYPE telfe,        webre TYPE webre,        xersy TYPE xersy,        xersr TYPE xersr,        lebre TYPE lebre,        parvw TYPE parvw,        gparn1 TYPE gparn,        parvw1 TYPE parvw,        gparn2 TYPE gparn,        parvw2 TYPE parvw,        gparn3 TYPE gparn,        END OF ty_lfa1.

TYPES : BEGIN OF ty_vendor_change,        lifnr TYPE lifnr,        bukrs TYPE bukrs,        ekorg TYPE ekorg,        ktokk TYPE ktokk,        title_medi TYPE ad_titletx,        name1 TYPE name1,        name2 TYPE name2,        sort1 TYPE ad_sort1ul,        sort2 TYPE ad_sort2ul,        street TYPE ad_street,        house_num1 TYPE ad_hsnm1,        str_suppl3 TYPE ad_strspp3,        post_code1 TYPE ad_pstcd1,        city1 TYPE ad_city1,        country TYPE land1,

        region TYPE region,        po_box TYPE ad_pobx,        post_code2 TYPE ad_pstcd2,        langu TYPE spras,        tel_number TYPE ad_tlnmbr1,        tel_extens TYPE ad_tlxtns1,        mob_number TYPE ad_mbnmbr1,        fax_number TYPE ad_fxxtns1,        fax_extens TYPE ad_fxxtns1,        smtp_addr TYPE  ad_smtpadr,        vbund TYPE vbund,        stcd1 TYPE stcd1,        stceg TYPE stceg,        dtaws TYPE dtaws,        akont TYPE akont,        zuawa TYPE dzuawa,        fdgrv TYPE fdgrv,        altkn TYPE altkn,        pernr TYPE char8,        zterm TYPE dzterm,        reprf TYPE reprf,        zwels TYPE dzwels,        hbkid TYPE hbkid,        qland TYPE qland,        waers TYPE waers,        zterm1 TYPE dzterm,        inco1 TYPE inco1,        inco2 TYPE inco2,        kalsk TYPE kalsk,        webre TYPE webre,        lebre TYPE lebre,        parvw TYPE parvw,        gparn1 TYPE gparn,        parvw1 TYPE parvw,        gparn2 TYPE gparn,        parvw2 TYPE parvw,        gparn3 TYPE gparn,        END OF ty_vendor_change.

TYPES : BEGIN OF ty_bank,        lifnr TYPE lifnr,        banks TYPE banks,        bankl TYPE bankl,        bankn TYPE bankn,        koinh TYPE koinh_fi,        bvtyp TYPE bvtyp,        witht TYPE witht,        wt_withcd TYPE wt_withcd,        wt_subjct TYPE wt_subjct,

        END OF ty_bank.TYPES : BEGIN OF ty_purchase,        lifnr TYPE lifnr,        bukrs TYPE bukrs,        ekorg TYPE ekorg,        waers TYPE waers,        zterm1 TYPE dzterm,        inco1 TYPE inco1,        inco2 TYPE inco2,        kalsk TYPE kalsk,        webre TYPE webre,        lebre TYPE lebre,        parvw TYPE parvw,        gparn1 TYPE gparn,        parvw1 TYPE parvw,        gparn2 TYPE gparn,        parvw2 TYPE parvw,        gparn3 TYPE gparn,        END OF ty_purchase.TYPES : BEGIN OF ty_error,        koinh TYPE koinh_fi,        ztext TYPE char100,        END OF ty_error.

DATA : it_error TYPE STANDARD TABLE OF ty_error,       wa_error TYPE ty_error.

DATA : it_lfa1 TYPE STANDARD TABLE OF ty_lfa1,       it_lfa11 TYPE STANDARD TABLE OF ty_vendor_change,       it_lfa12 TYPE STANDARD TABLE OF ty_bank,       it_lfa14 TYPE STANDARD TABLE OF ty_purchase,       wa_lfa1 TYPE ty_lfa1,       wa_lfa11 TYPE ty_vendor_change,       wa_lfa12 TYPE ty_bank,       wa_lfa14 TYPE ty_purchase.

DATA: it_bdcdata LIKE bdcdata    OCCURS 0 WITH HEADER LINE,   " BDC Table      it_messtab LIKE bdcmsgcoll OCCURS 0 WITH HEADER LINE.   " BDC Messages

DATA: fv_msg TYPE char250.                           " Message

DATA: fv_msg_id   LIKE t100-arbgb,                   " Message Id      fv_msg_no   LIKE t100-msgnr,                   " Message No      fv_msg_var1 LIKE balm-msgv1,                   " Message Var1      fv_msg_var2 LIKE balm-msgv2,                   " Message Var2      fv_msg_var3 LIKE balm-msgv3,                   " Message Var3      fv_msg_var4 LIKE balm-msgv4.                   " Message Var4

*----------------------------------------------------------------------*

* S E L E C T I O N   S C R E E N*----------------------------------------------------------------------*

*SELECTION-SCREEN BEGIN OF BLOCK b1 WITH FRAME TITLE text-002.*PARAMETERS : pa RADIOBUTTON GROUP rad USER-COMMAND com MODIF ID mod DEFAULT 'X'.**             pb RADIOBUTTON GROUP rad MODIF ID rad,**             pc RADIOBUTTON GROUP rad MODIF ID cad.*SELECTION-SCREEN END OF BLOCK b1.

SELECTION-SCREEN BEGIN OF BLOCK b2 WITH FRAME TITLE text-001.PARAMETERS : p_lfa1 TYPE rlgrap-filename.SELECTION-SCREEN END OF BLOCK b2.

*SELECTION-SCREEN BEGIN OF BLOCK b3 WITH FRAME TITLE text-003.*PARAMETERS : p_lfa11 TYPE rlgrap-filename.*PARAMETERS : p_lfa12 TYPE rlgrap-filename.*SELECTION-SCREEN END OF BLOCK b3.**SELECTION-SCREEN BEGIN OF BLOCK b4 WITH FRAME TITLE text-004.*PARAMETERS : p_lfa14 TYPE rlgrap-filename.*SELECTION-SCREEN END OF BLOCK b4.

Include ZFIR_VENDOR_FORM

************************************************************************* PROGRAM ID          : ZFIR_VENDOR_FORM                               ** PROGRAM TITLE       : Vendor Master Upload                           ** AUTHOR              : Harish Kasyap                                  ** SUPPLIER            : TCS                                            ** DATE                : 05-04-2012                                     ** DEVELOPMENT ID      :                                                ** CHANGE REQUEST (CTS):                                                **======================================================================** COPIED FROM         :                                                ** TITLE               :                                                ** OTHER RELATED OBJ   : Not Applicable                                 **======================================================================** CHANGE HISTORY LOG                                                   **----------------------------------------------------------------------** MOD. NO.|   DATE   | NAME | CORRECTION NUMBER    | CHANGE REFERENCE# **----------------------------------------------------------------------**======================================================================**&---------------------------------------------------------------------**&---------------------------------------------------------------------**&      Form  UPLOAD_DATA*&---------------------------------------------------------------------**       text*----------------------------------------------------------------------*

*  -->  p1        text*  <--  p2        text*----------------------------------------------------------------------*FORM upload_data .

  DATA : l_string TYPE string.  DATA : l_string1 TYPE string.  DATA : l_string2 TYPE string.

  TYPES truxs_t_text_data(4096) TYPE c OCCURS 0.

  DATA: it_raw TYPE  truxs_t_text_data.

*  IF pa IS NOT INITIAL.  l_string = p_lfa1.

  CALL FUNCTION 'TEXT_CONVERT_XLS_TO_SAP'    EXPORTING      i_tab_raw_data       = it_raw      i_filename           = p_lfa1    TABLES      i_tab_converted_data = it_lfa1    EXCEPTIONS      conversion_failed    = 1      OTHERS               = 2.

  IF sy-subrc <> 0.    MESSAGE 'Error while uploading the file' TYPE 'I'.    LEAVE LIST-PROCESSING.  ENDIF.

  IF it_lfa1 IS NOT INITIAL.    DELETE it_lfa1 FROM 1 TO 3.  ENDIF.*  ENDIF.

*  IF pb IS NOT INITIAL.*    l_string = p_lfa11.**    CALL FUNCTION 'TEXT_CONVERT_XLS_TO_SAP'*      EXPORTING*        i_tab_raw_data       = it_raw*        i_filename           = p_lfa11*      TABLES*        i_tab_converted_data = it_lfa11*      EXCEPTIONS*        conversion_failed    = 1*        OTHERS               = 2.*

*    IF sy-subrc <> 0.*      MESSAGE 'Error while uploading the file' TYPE 'I'.*      LEAVE LIST-PROCESSING.*    ENDIF.**    IF it_lfa11 IS NOT INITIAL.*      DELETE it_lfa11 FROM 1 TO 8.*    ENDIF.**    l_string1 = p_lfa12.**    CALL FUNCTION 'TEXT_CONVERT_XLS_TO_SAP'*      EXPORTING*        i_tab_raw_data       = it_raw*        i_filename           = p_lfa12*      TABLES*        i_tab_converted_data = it_lfa12*      EXCEPTIONS*        conversion_failed    = 1*        OTHERS               = 2.**    IF sy-subrc <> 0.*      MESSAGE 'Error while uploading the file' TYPE 'I'.*      LEAVE LIST-PROCESSING.*    ENDIF.**    IF it_lfa12 IS NOT INITIAL.*      DELETE it_lfa12 FROM 1 TO 8.*    ENDIF.**  ENDIF.**  IF pc IS NOT INITIAL.*    l_string = p_lfa14.**    CALL FUNCTION 'TEXT_CONVERT_XLS_TO_SAP'*      EXPORTING*        i_tab_raw_data       = it_raw*        i_filename           = p_lfa14*      TABLES*        i_tab_converted_data = it_lfa14*      EXCEPTIONS*        conversion_failed    = 1*        OTHERS               = 2.**    IF sy-subrc <> 0.*      MESSAGE 'Error while uploading the file' TYPE 'I'.*      LEAVE LIST-PROCESSING.*    ENDIF.

**    IF it_lfa14 IS NOT INITIAL.*      DELETE it_lfa14 FROM 1 TO 8.*    ENDIF.*  ENDIF.ENDFORM.                    " UPLOAD_DATA*&---------------------------------------------------------------------**&      Form  FIELDS_REQUIRED*&---------------------------------------------------------------------**       text*----------------------------------------------------------------------**  -->  p1        text*  <--  p2        text*----------------------------------------------------------------------*FORM fields_required .**  IF pa IS NOT INITIAL.*    LOOP AT SCREEN.*      IF screen-group4 = '009'*      OR screen-group4 = '010'*      OR screen-group4 = '013'.*        screen-active = 0.*        MODIFY SCREEN.*      ENDIF.*    ENDLOOP.*  ENDIF.*  IF pb IS NOT INITIAL.*    LOOP AT SCREEN.*      IF screen-group4 = '006'*      OR screen-group4 = '013'.*        screen-active = 0.       " Hiding the field from selection screen*        MODIFY SCREEN.*      ENDIF.*    ENDLOOP.*  ENDIF.*  IF pc IS NOT INITIAL.*    LOOP AT SCREEN.*      IF screen-group4 = '006'*      OR screen-group4 = '009'*      OR screen-group4 = '010'.**        screen-active = 0.        " Hiding the field from selection screen*        MODIFY SCREEN.*      ENDIF.*    ENDLOOP.*  ENDIF.ENDFORM.                    " FIELDS_REQUIRED*&---------------------------------------------------------------------**&      Form  CREATE_VENDOR*&---------------------------------------------------------------------*

*       text*----------------------------------------------------------------------**  -->  p1        text*  <--  p2        text*----------------------------------------------------------------------*FORM create_vendor .

  DATA : l_v_mode TYPE char1 VALUE 'N'.

*  IF pa IS NOT INITIAL.  IF it_lfa1 IS NOT INITIAL.    LOOP AT it_lfa1 INTO wa_lfa1.

      PERFORM bdc_dynpro      USING 'SAPMF02K' '0100'.

      PERFORM bdc_field       USING 'BDC_CURSOR'                                    'USE_ZAV'.      PERFORM bdc_field       USING 'BDC_OKCODE'                                    '/00'.      PERFORM bdc_field       USING 'RF02K-BUKRS'                                     wa_lfa1-bukrs.      PERFORM bdc_field       USING 'RF02K-EKORG'                                     wa_lfa1-ekorg.      PERFORM bdc_field       USING 'RF02K-KTOKK'                                     wa_lfa1-ktokk.      PERFORM bdc_field       USING 'USE_ZAV'                                    'X'.

      PERFORM bdc_dynpro      USING 'SAPMF02K' '0111'.

      PERFORM bdc_field       USING 'BDC_OKCODE'                                    '=VW'.      PERFORM bdc_field       USING 'BDC_SUBSCR' 'SAPLSZA1'                                    &' 0300ADDRESS'.      PERFORM bdc_field       USING 'BDC_SUBSCR' 'SAPLSZA1'                                    &' 0301COUNTRY_SCREEN'.      PERFORM bdc_field       USING 'BDC_CURSOR'                                    'SZA1_D0100-SMTP_ADDR'.      PERFORM bdc_field       USING 'SZA1_D0100-TITLE_MEDI'                                     wa_lfa1-title_medi.      PERFORM bdc_field       USING 'ADDR1_DATA-NAME1'                                     wa_lfa1-name1.      PERFORM bdc_field       USING 'ADDR1_DATA-NAME2'                                     wa_lfa1-name2.      PERFORM bdc_field       USING 'ADDR1_DATA-SORT2'                                     wa_lfa1-sort2.      PERFORM bdc_field       USING 'ADDR1_DATA-BUILDING'                                     wa_lfa1-building.

      PERFORM bdc_field       USING 'ADDR1_DATA-STR_SUPPL1'                                     wa_lfa1-str_suppl1.      PERFORM bdc_field       USING 'ADDR1_DATA-STR_SUPPL2'                                     wa_lfa1-str_suppl2.      PERFORM bdc_field       USING 'ADDR1_DATA-STR_SUPPL3'                                     wa_lfa1-str_suppl3.      PERFORM bdc_field       USING 'ADDR1_DATA-POST_CODE1'                                     wa_lfa1-post_code1.      PERFORM bdc_field       USING 'ADDR1_DATA-CITY1'                                     wa_lfa1-city1.      PERFORM bdc_field       USING 'ADDR1_DATA-COUNTRY'                                     wa_lfa1-country.      PERFORM bdc_field       USING 'ADDR1_DATA-REGION'                                     wa_lfa1-region.      PERFORM bdc_field       USING 'ADDR1_DATA-PO_BOX'                                     wa_lfa1-po_box.      PERFORM bdc_field       USING 'ADDR1_DATA-LANGU'                                     wa_lfa1-langu.      PERFORM bdc_field       USING 'SZA1_D0100-TEL_NUMBER'                                     wa_lfa1-tel_number.      PERFORM bdc_field       USING 'SZA1_D0100-TEL_EXTENS'                                     wa_lfa1-tel_extens.      PERFORM bdc_field       USING 'SZA1_D0100-MOB_NUMBER'                                     wa_lfa1-mob_number.      PERFORM bdc_field       USING 'SZA1_D0100-FAX_NUMBER'                                     wa_lfa1-fax_number.      PERFORM bdc_field       USING 'SZA1_D0100-FAX_EXTENS'                                     wa_lfa1-fax_extens.      PERFORM bdc_field       USING 'SZA1_D0100-SMTP_ADDR'                                     wa_lfa1-smtp_addr.      PERFORM bdc_field       USING 'ADDR1_DATA-REMARK'                                     wa_lfa1-remark.      PERFORM bdc_field       USING 'BDC_SUBSCR' 'SAPLSZA1'                                    &' 1300APPL_SUB_T'.      PERFORM bdc_field       USING 'BDC_SUBSCR' 'SAPLSZA1'                                    &' 0200APPL_SUB'.

      PERFORM bdc_dynpro      USING 'SAPMF02K' '0120'.

      PERFORM bdc_field       USING 'BDC_CURSOR'                                    'LFA1-STCEG'.      PERFORM bdc_field       USING 'BDC_OKCODE'                                    '=VW'.      PERFORM bdc_field       USING 'LFA1-KUNNR'                                     wa_lfa1-kunnr.      PERFORM bdc_field       USING 'LFA1-STCD1'                                     wa_lfa1-stcd1.      PERFORM bdc_field       USING 'LFA1-STCEG'

                                     wa_lfa1-stceg.      PERFORM bdc_field       USING 'BDC_SUBSCR' 'SAPMF02K'                                    &' 1099ARI-ST'.      PERFORM bdc_field       USING 'BDC_SUBSCR' 'SAPMF02K'                                    &' 1099ARI-01'.      PERFORM bdc_field       USING 'BDC_SUBSCR' 'SAPMF02K'                                    &' 1099ARI-02'.      PERFORM bdc_field       USING 'BDC_SUBSCR' 'SAPMF02K'                                    &' 1099ARI-03'.      PERFORM bdc_field       USING 'BDC_SUBSCR' 'SAPMF02K'                                    &' 1099ARI-04'.      PERFORM bdc_field       USING 'BDC_SUBSCR' 'SAPMF02K'                                    &' 1099ARI-05'.      PERFORM bdc_field       USING 'BDC_SUBSCR' 'SAPMF02K'                                    &' 1099ARI-06'.

      PERFORM bdc_dynpro      USING 'SAPMF02K' '0130'.

      PERFORM bdc_field       USING 'BDC_CURSOR'                                    'LFA1-DTAWS'.      PERFORM bdc_field       USING 'BDC_OKCODE'                                    '=VW'.      PERFORM bdc_field       USING 'LFA1-LNRZA'                                     wa_lfa1-lnrza.      PERFORM bdc_field       USING 'LFBK-BANKS(01)'                                     wa_lfa1-banks.      PERFORM bdc_field       USING 'LFBK-BANKL(01)'                                     wa_lfa1-bankl.      PERFORM bdc_field       USING 'LFBK-BANKN(01)'                                     wa_lfa1-bankn.      PERFORM bdc_field       USING 'LFBK-KOINH(01)'                                     wa_lfa1-koinh.      PERFORM bdc_field       USING 'LFBK-BVTYP(01)'                                    '1'.

      PERFORM bdc_dynpro      USING 'SAPMF02K' '0380'.

      PERFORM bdc_field       USING 'BDC_CURSOR'                                    'KNVK-NAMEV(01)'.      PERFORM bdc_field       USING 'BDC_OKCODE'                                    '=VW'.

      PERFORM bdc_dynpro      USING 'SAPMF02K' '0210'.

      PERFORM bdc_field       USING 'BDC_CURSOR'                                    'LFB1-FDGRV'.      PERFORM bdc_field       USING 'BDC_OKCODE'                                    '=VW'.      PERFORM bdc_field       USING 'LFB1-AKONT'

                                     wa_lfa1-akont.      PERFORM bdc_field       USING 'LFB1-ZUAWA'                                     wa_lfa1-zuawa.      PERFORM bdc_field       USING 'LFB1-ALTKN'                                     wa_lfa1-altkn.

      PERFORM bdc_dynpro      USING 'SAPMF02K' '0215'.

      PERFORM bdc_field       USING 'BDC_CURSOR'                                    'LFB1-HBKID'.      PERFORM bdc_field       USING 'BDC_OKCODE'                                    '=VW'.      PERFORM bdc_field       USING 'LFB1-ZTERM'                                     wa_lfa1-zterm.      PERFORM bdc_field       USING 'LFB1-REPRF'                                     wa_lfa1-reprf.      PERFORM bdc_field       USING 'LFB1-ZWELS'                                     wa_lfa1-zwels.*      PERFORM bdc_field       USING 'LFB1-HBKID'*                                     wa_lfa1-hbkid.

      PERFORM bdc_dynpro      USING 'SAPMF02K' '0220'.

      PERFORM bdc_field       USING 'BDC_CURSOR'                                    'LFB1-BUSAB'.      PERFORM bdc_field       USING 'BDC_OKCODE'                                    '=VW'.

      PERFORM bdc_dynpro      USING 'SAPMF02K' '0610'.

      PERFORM bdc_field       USING 'BDC_OKCODE'                                    '=VW'.      PERFORM bdc_field       USING 'BDC_SUBSCR' 'SAPMFWTV'                                    &' 0610WT_WITS'.      PERFORM bdc_field       USING 'BDC_CURSOR'                                    'LFBW-WT_SUBJCT(01)'.      PERFORM bdc_field       USING 'LFB1-QLAND'                                     wa_lfa1-qland.      PERFORM bdc_field       USING 'LFBW-WITHT(01)'                                     wa_lfa1-witht.      PERFORM bdc_field       USING 'LFBW-WT_WITHCD(01)'                                     wa_lfa1-wt_withcd.      PERFORM bdc_field       USING 'LFBW-WT_SUBJCT(01)'                                     wa_lfa1-wt_subjct.

      PERFORM bdc_dynpro      USING 'SAPMF02K' '0310'.

      PERFORM bdc_field       USING 'BDC_CURSOR'                                    'LFM1-LEBRE'.      PERFORM bdc_field       USING 'BDC_OKCODE'                                    '=VW'.      PERFORM bdc_field       USING 'LFM1-WAERS'                                     wa_lfa1-waers.      PERFORM bdc_field       USING 'LFM1-ZTERM'                                     wa_lfa1-zterm1.      PERFORM bdc_field       USING 'LFM1-INCO1'                                     wa_lfa1-inco1.      PERFORM bdc_field       USING 'LFM1-INCO2'                                     wa_lfa1-inco2.      PERFORM bdc_field      USING 'LFM1-VERKF'                                    wa_lfa1-verkf.      PERFORM bdc_field       USING 'LFM1-TELF1'                                     wa_lfa1-telf1.      PERFORM bdc_field       USING 'LFM1-XERSY'                                     wa_lfa1-xersy.      PERFORM bdc_field       USING 'LFM1-XERSR'                                     wa_lfa1-xersr.      PERFORM bdc_field       USING 'LFM1-WEBRE'                                     wa_lfa1-webre.      PERFORM bdc_field       USING 'LFM1-LEBRE'                                     wa_lfa1-lebre.

      PERFORM bdc_dynpro      USING 'SAPMF02K' '0320'.

      PERFORM bdc_field       USING 'BDC_CURSOR'                                    'WRF02K-GPARN(03)'.      PERFORM bdc_field       USING 'BDC_OKCODE'                                    '=VW'.*      PERFORM bdc_field       USING 'WYT3-PARVW(02)'*                                     wa_lfa1-parvw.      PERFORM bdc_field       USING 'WRF02K-GPARN(01)'                                     wa_lfa1-gparn1.      PERFORM bdc_field       USING 'WYT3-PARVW(01)'                                     wa_lfa1-parvw1.*      PERFORM bdc_field       USING 'WRF02K-GPARN(02)'*                                     wa_lfa1-gparn2.*      PERFORM bdc_field       USING 'WYT3-PARVW(03)'*                                     wa_lfa1-parvw2.*      PERFORM bdc_field       USING 'WRF02K-GPARN(03)'*                                     wa_lfa1-gparn3.

      PERFORM bdc_dynpro      USING 'SAPMF02K' '0320'.

      PERFORM bdc_field       USING 'BDC_CURSOR'

                                    'RF02K-LIFNR'.      PERFORM bdc_field       USING 'BDC_OKCODE'                                    '=VW'.

      CALL TRANSACTION 'XK01' USING it_bdcdata                               MODE  l_v_mode                               UPDATE 'S'                               MESSAGES INTO it_messtab.      READ TABLE it_messtab WITH KEY msgtyp = 'E'.      IF sy-subrc = 0 .        fv_msg_id   = it_messtab-msgid.        fv_msg_no   = it_messtab-msgnr.        fv_msg_var1 = it_messtab-msgv1.        fv_msg_var2 = it_messtab-msgv2.        fv_msg_var3 = it_messtab-msgv3.        fv_msg_var4 = it_messtab-msgv4.

        CALL FUNCTION 'MESSAGE_PREPARE'          EXPORTING            language               = sy-langu            msg_id                 = fv_msg_id            msg_no                 = fv_msg_no            msg_var1               = fv_msg_var1            msg_var2               = fv_msg_var2            msg_var3               = fv_msg_var3            msg_var4               = fv_msg_var4          IMPORTING            msg_text               = fv_msg          EXCEPTIONS            function_not_completed = 1            message_not_found      = 2            OTHERS                 = 3.      ENDIF.      READ TABLE it_messtab WITH KEY msgtyp = 'S'.      IF sy-subrc = 0 .        fv_msg_id   = it_messtab-msgid.        fv_msg_no   = it_messtab-msgnr.        fv_msg_var1 = it_messtab-msgv1.        fv_msg_var2 = it_messtab-msgv2.        fv_msg_var3 = it_messtab-msgv3.        fv_msg_var4 = it_messtab-msgv4.

        CALL FUNCTION 'MESSAGE_PREPARE'          EXPORTING            language               = sy-langu            msg_id                 = fv_msg_id            msg_no                 = fv_msg_no            msg_var1               = fv_msg_var1            msg_var2               = fv_msg_var2

            msg_var3               = fv_msg_var3            msg_var4               = fv_msg_var4          IMPORTING            msg_text               = fv_msg          EXCEPTIONS            function_not_completed = 1            message_not_found      = 2            OTHERS                 = 3.      ENDIF.      CLEAR it_messtab[].      wa_error-ztext = fv_msg.      wa_error-koinh = wa_lfa1-koinh.      APPEND wa_error TO it_error.      CLEAR: wa_error,it_bdcdata[],wa_lfa1.    ENDLOOP.  ENDIF.*  ENDIF.

*  IF pb IS NOT INITIAL.*    DATA: l_wa_opt TYPE ctu_params,*          l_v_bvtyp TYPE bvtyp,*          l_v_index(2) TYPE n VALUE '0'.**    DATA : l_v_fld_val TYPE bdc_fval.**    IF it_lfa11 IS NOT INITIAL.*      LOOP AT it_lfa11 INTO wa_lfa11.**        PERFORM bdc_dynpro      USING 'SAPMF02K' '0101'.**        PERFORM bdc_field       USING 'BDC_CURSOR'*                                      'RF02K-EKORG'.*        PERFORM bdc_field       USING 'BDC_OKCODE'*                                      '/00'.*        PERFORM bdc_field       USING 'RF02K-LIFNR'*                                       wa_lfa11-lifnr.*        PERFORM bdc_field       USING 'RF02K-BUKRS'*                                       wa_lfa11-bukrs.*        PERFORM bdc_field       USING 'RF02K-EKORG'*                                       wa_lfa11-ekorg.*        PERFORM bdc_field       USING 'RF02K-D0110'*                                       'X'.*        PERFORM bdc_field       USING 'RF02K-D0120'*                                       'X'.*        PERFORM bdc_field       USING 'RF02K-D0130'*                                       'X'.*        PERFORM bdc_field       USING 'WRF02K-D0380'*                                       'X'.*        PERFORM bdc_field       USING 'RF02K-D0210'

*                                       'X'.*        PERFORM bdc_field       USING 'RF02K-D0215'*                                       'X'.*        PERFORM bdc_field       USING 'RF02K-D0220'*                                       'X'.*        PERFORM bdc_field       USING 'RF02K-D0610'*                                       'X'.*        PERFORM bdc_field       USING 'RF02K-D0310'*                                       'X'.*        PERFORM bdc_field       USING 'WRF02K-D0320'*                                       'X'.*        PERFORM bdc_field       USING 'USE_ZAV'*                                       'X'.**        PERFORM bdc_dynpro      USING 'SAPMF02K' '0111'.**        PERFORM bdc_field       USING 'BDC_OKCODE'*                                      '=VW'.*        PERFORM bdc_field       USING 'BDC_SUBSCR' 'SAPLSZA1'*                                      &' 0300ADDRESS'.*        PERFORM bdc_field       USING 'BDC_SUBSCR' 'SAPLSZA1'*                                      &'  0301COUNTRY_SCREEN'.*        PERFORM bdc_field       USING 'BDC_CURSOR'*                                      'SZA1_D0100-SMTP_ADDR'.*        PERFORM bdc_field       USING 'SZA1_D0100-TITLE_MEDI'*                                      wa_lfa11-title_medi.*        PERFORM bdc_field       USING 'ADDR1_DATA-NAME1'*                                       wa_lfa11-name1.*        PERFORM bdc_field       USING 'ADDR1_DATA-NAME2'*                                       wa_lfa11-name2.*        PERFORM bdc_field       USING 'ADDR1_DATA-SORT1'*                                       wa_lfa11-sort1.*        PERFORM bdc_field       USING 'ADDR1_DATA-SORT2'*                                       wa_lfa11-sort2.*        PERFORM bdc_field       USING 'ADDR1_DATA-STREET'*                                       wa_lfa11-street.*        PERFORM bdc_field       USING 'ADDR1_DATA-STR_SUPPL3'*                                       wa_lfa11-str_suppl3.*        PERFORM bdc_field       USING 'ADDR1_DATA-HOUSE_NUM1'*                                       wa_lfa11-house_num1.*        PERFORM bdc_field       USING 'ADDR1_DATA-CITY1'*                                       wa_lfa11-city1.*        PERFORM bdc_field       USING 'ADDR1_DATA-POST_CODE1'*                                       wa_lfa11-post_code1.*        PERFORM bdc_field       USING 'ADDR1_DATA-POST_CODE2'*                                       wa_lfa11-post_code2.*        PERFORM bdc_field       USING 'ADDR1_DATA-COUNTRY'*                                       wa_lfa11-country.*        PERFORM bdc_field       USING 'ADDR1_DATA-PO_BOX'

*                                       wa_lfa11-country.*        PERFORM bdc_field       USING 'ADDR1_DATA-LANGU'*                                       wa_lfa11-langu.*        PERFORM bdc_field       USING 'SZA1_D0100-TEL_NUMBER'*                                       wa_lfa11-tel_number.*        PERFORM bdc_field       USING 'SZA1_D0100-SMTP_ADDR'*                                       wa_lfa11-smtp_addr.*        PERFORM bdc_field       USING 'BDC_SUBSCR' 'SAPLSZA1'*                                      &' 1300APPL_SUB_T'.*        PERFORM bdc_field       USING 'BDC_SUBSCR' 'SAPLSZA1'*                                      &' 0200APPL_SUB'.***        PERFORM bdc_dynpro      USING 'SAPMF02K' '0120'.**        PERFORM bdc_field       USING 'BDC_CURSOR'*                                      'LFA1-KUNNR'.*        PERFORM bdc_field       USING 'BDC_OKCODE'*                                      '=VW'.*        PERFORM bdc_field       USING 'LFA1-STCD1'*                                       wa_lfa11-stcd1.*        PERFORM bdc_field       USING 'LFA1-STCEG'*                                       wa_lfa11-stceg.*        PERFORM bdc_field       USING 'BDC_SUBSCR' 'SAPMF02K'*                                      &' 1099ARI-ST'.*        PERFORM bdc_field       USING 'BDC_SUBSCR' 'SAPMF02K'*                                      &' 1099ARI-01'.*        PERFORM bdc_field       USING 'BDC_SUBSCR' 'SAPMF02K'*                                      &' 1099ARI-02'.*        PERFORM bdc_field       USING 'BDC_SUBSCR' 'SAPMF02K'*                                      &' 1099ARI-03'.*        PERFORM bdc_field       USING 'BDC_SUBSCR' 'SAPMF02K'*                                      &' 1099ARI-04'.*        PERFORM bdc_field       USING 'BDC_SUBSCR' 'SAPMF02K'*                                      &' 1099ARI-05'.*        PERFORM bdc_field       USING 'BDC_SUBSCR' 'SAPMF02K'*                                      &' 1099ARI-06'.****        IF it_lfa12 IS NOT INITIAL .**          LOOP AT it_lfa12 INTO wa_lfa12 WHERE lifnr = wa_lfa11-lifnr.*            l_v_bvtyp = l_v_bvtyp + 1.*            l_v_index = l_v_index + 1.**            PERFORM bdc_dynpro      USING 'SAPMF02K' '0130'.**            PERFORM bdc_field       USING 'BDC_CURSOR'

*                                         'LFBK-BVTYP(02)'.*            PERFORM bdc_field       USING 'BDC_OKCODE'*                                         '=ENTR'.*            PERFORM bdc_field       USING 'LFA1-DTAWS'*                                          wa_lfa11-dtaws.*            CONCATENATE 'LFBK-BANKS(' l_v_index ')' INTO l_v_fld_val.*            PERFORM bdc_field       USING l_v_fld_val*                                          wa_lfa12-banks.*            CLEAR : l_v_fld_val.**            CONCATENATE 'LFBK-BANKL(' l_v_index ')' INTO l_v_fld_val.*            PERFORM bdc_field       USING l_v_fld_val*                                         wa_lfa12-bankl.**            CLEAR : l_v_fld_val.**            CONCATENATE 'LFBK-BANKN(' l_v_index ')' INTO l_v_fld_val.**            PERFORM bdc_field       USING l_v_fld_val*                                          wa_lfa12-bankn.*            CONCATENATE 'LFBK-KOINH(' l_v_index ')' INTO l_v_fld_val.**            PERFORM bdc_field       USING l_v_fld_val*                                          wa_lfa12-koinh.*            CLEAR : l_v_fld_val.**            CONCATENATE 'LFBK-BVTYP(' l_v_index ')' INTO l_v_fld_val.*            PERFORM bdc_field       USING l_v_fld_val*                                          l_v_bvtyp.**            CLEAR : l_v_fld_val.**          ENDLOOP.*          CLEAR l_v_index.*          PERFORM bdc_dynpro      USING 'SAPMF02K' '0130'.**          PERFORM bdc_field       USING 'BDC_CURSOR'*                                       'LFBK-BVTYP(02)'.*          PERFORM bdc_field       USING 'BDC_OKCODE'*                                       '=ENTR'.*        ENDIF.***        PERFORM bdc_dynpro      USING 'SAPMF02K' '0380'.**        PERFORM bdc_field       USING 'BDC_CURSOR'*                                      'KNVK-NAMEV(01)'.*        PERFORM bdc_field       USING 'BDC_OKCODE'*                                      '=VW'.

**        PERFORM bdc_dynpro      USING 'SAPMF02K' '0210'.**        PERFORM bdc_field       USING 'BDC_CURSOR'*                                      'LFB1-AKONT'.*        PERFORM bdc_field       USING 'BDC_OKCODE'*                                      '=VW'.*        PERFORM bdc_field       USING 'LFB1-AKONT'*                                       wa_lfa11-akont.*        PERFORM bdc_field       USING 'LFB1-ZUAWA'*                                       wa_lfa11-zuawa.*        PERFORM bdc_field       USING 'LFB1-FDGRV'*                                       wa_lfa11-fdgrv.***        PERFORM bdc_dynpro      USING 'SAPMF02K' '0215'.**        PERFORM bdc_field       USING 'BDC_CURSOR'*                                      'LFB1-ZTERM'.*        PERFORM bdc_field       USING 'BDC_OKCODE'*                                      '=VW'.*        PERFORM bdc_field       USING 'LFB1-ZTERM'*                                       wa_lfa11-zterm.*        PERFORM bdc_field       USING 'LFB1-REPRF'*                                       wa_lfa11-reprf.*        PERFORM bdc_field       USING 'LFB1-ZWELS'*                                       wa_lfa11-zwels.*        PERFORM bdc_field       USING 'LFB1-HBKID'*                                       wa_lfa11-hbkid.**        PERFORM bdc_dynpro      USING 'SAPMF02K' '0220'.**        PERFORM bdc_field       USING 'BDC_CURSOR'*                                      'LFB1-BUSAB'.*        PERFORM bdc_field       USING 'BDC_OKCODE'*                                      '=VW'.**        IF it_lfa12 IS NOT INITIAL .*          CLEAR l_v_index.*          LOOP AT it_lfa12 INTO wa_lfa12 WHERE lifnr = wa_lfa11-lifnr.*            l_v_index = l_v_index + 1.*            IF wa_lfa12-witht IS NOT INITIAL OR*               wa_lfa12-wt_withcd IS NOT INITIAL.**              PERFORM bdc_dynpro      USING 'SAPMF02K' '0610'.**              PERFORM bdc_field       USING 'BDC_OKCODE'*                                            '/00'.*              PERFORM bdc_field       USING 'BDC_SUBSCR' 'SAPMFWTV'

*                                            &'0610WT_WITS'.*              PERFORM bdc_field       USING 'BDC_CURSOR'*                                            'LFBW-WT_SUBJCT(01)'.**              PERFORM bdc_field       USING 'LFB1-QLAND'*                                             wa_lfa11-qland.***              CONCATENATE 'LFBW-WITHT(' l_v_index ')' INTO l_v_fld_val.**              PERFORM bdc_field       USING l_v_fld_val*                                            wa_lfa12-witht.*              CLEAR : l_v_fld_val.**              CONCATENATE 'LFBW-WT_WITHCD(' l_v_index ')' INTO l_v_fld_val.*              PERFORM bdc_field       USING l_v_fld_val*                                           wa_lfa12-wt_withcd.**              CLEAR : l_v_fld_val.**              CONCATENATE 'LFBW-WT_SUBJCT(' l_v_index ')' INTO l_v_fld_val.**              PERFORM bdc_field       USING l_v_fld_val*                                            wa_lfa12-wt_subjct.**              CLEAR : l_v_fld_val.*            ENDIF.*          ENDLOOP.*          CLEAR l_v_index.*          PERFORM bdc_dynpro      USING 'SAPMF02K' '0610'.**          PERFORM bdc_field       USING 'BDC_OKCODE'*                                        '/00'.*          PERFORM bdc_field       USING 'BDC_SUBSCR' 'SAPMFWTV'*                                        &' 0610WT_WITS'.*          PERFORM bdc_field       USING 'BDC_CURSOR'*                                        'LFB1-QLAND'.*          PERFORM bdc_field       USING 'LFB1-QLAND'*                                        wa_lfa11-qland.*        ENDIF.****        PERFORM bdc_dynpro      USING 'SAPMF02K' '0310'.**        PERFORM bdc_field       USING 'BDC_CURSOR'*                                      'LFM1-LEBRE'.*        PERFORM bdc_field       USING 'BDC_OKCODE'*                                      '=VW'.

*        PERFORM bdc_field       USING 'LFM1-WAERS'*                                       wa_lfa11-waers.*        PERFORM bdc_field       USING 'LFM1-ZTERM'*                                       wa_lfa11-zterm1.*        PERFORM bdc_field       USING 'LFM1-INCO1'*                                       wa_lfa11-inco1.*        PERFORM bdc_field       USING 'LFM1-INCO2'*                                       wa_lfa11-inco2.*        PERFORM bdc_field       USING 'LFM1-WEBRE'*                                       wa_lfa11-webre.*        PERFORM bdc_field       USING 'LFM1-LEBRE'*                                       wa_lfa11-lebre.***        PERFORM bdc_dynpro      USING 'SAPMF02K' '0320'.**        PERFORM bdc_field       USING 'BDC_CURSOR'*                                      'WRF02K-GPARN(03)'.*        PERFORM bdc_field       USING 'BDC_OKCODE'*                                      '=VW'.*        PERFORM bdc_field       USING 'WYT3-PARVW(02)'*                                       wa_lfa11-parvw.*        PERFORM bdc_field       USING 'WRF02K-GPARN(01)'*                                       wa_lfa11-gparn1.*        PERFORM bdc_field       USING 'WYT3-PARVW(01)'*                                       wa_lfa11-parvw1.*        PERFORM bdc_field       USING 'WRF02K-GPARN(02)'*                                       wa_lfa11-gparn2.*        PERFORM bdc_field       USING 'WYT3-PARVW(03)'*                                       wa_lfa11-parvw2.*        PERFORM bdc_field       USING 'WRF02K-GPARN(03)'*                                       wa_lfa11-gparn3.**        PERFORM bdc_dynpro      USING 'SAPMF02K' '0320'.**        PERFORM bdc_field       USING 'BDC_CURSOR'*                                      'RF02K-LIFNR'.*        PERFORM bdc_field       USING 'BDC_OKCODE'*                                      '=VW'.**        CALL TRANSACTION 'XK02' USING it_bdcdata*                                 MODE   l_v_mode*                                 UPDATE 'S'*                                 MESSAGES INTO it_messtab.*        READ TABLE it_messtab WITH KEY msgtyp = 'E'.*        IF sy-subrc = 0 .*          fv_msg_id   = it_messtab-msgid.*          fv_msg_no   = it_messtab-msgnr.*          fv_msg_var1 = it_messtab-msgv1.

*          fv_msg_var2 = it_messtab-msgv2.*          fv_msg_var3 = it_messtab-msgv3.*          fv_msg_var4 = it_messtab-msgv4.**          CALL FUNCTION 'MESSAGE_PREPARE'*            EXPORTING*              language               = sy-langu*              msg_id                 = fv_msg_id*              msg_no                 = fv_msg_no*              msg_var1               = fv_msg_var1*              msg_var2               = fv_msg_var2*              msg_var3               = fv_msg_var3*              msg_var4               = fv_msg_var4*            IMPORTING*              msg_text               = fv_msg*            EXCEPTIONS*              function_not_completed = 1*              message_not_found      = 2*              OTHERS                 = 3.*        ENDIF.*        READ TABLE it_messtab WITH KEY msgtyp = 'S'.*        IF sy-subrc = 0 .*          fv_msg_id   = it_messtab-msgid.*          fv_msg_no   = it_messtab-msgnr.*          fv_msg_var1 = it_messtab-msgv1.*          fv_msg_var2 = it_messtab-msgv2.*          fv_msg_var3 = it_messtab-msgv3.*          fv_msg_var4 = it_messtab-msgv4.**          CALL FUNCTION 'MESSAGE_PREPARE'*            EXPORTING*              language               = sy-langu*              msg_id                 = fv_msg_id*              msg_no                 = fv_msg_no*              msg_var1               = fv_msg_var1*              msg_var2               = fv_msg_var2*              msg_var3               = fv_msg_var3*              msg_var4               = fv_msg_var4*            IMPORTING*              msg_text               = fv_msg*            EXCEPTIONS*              function_not_completed = 1*              message_not_found      = 2*              OTHERS                 = 3.*        ENDIF.*        CLEAR it_messtab[].*        wa_error-ztext = fv_msg.*        wa_error-koinh = wa_lfa11-lifnr.*        APPEND wa_error TO it_error.

*        CLEAR: wa_error,it_bdcdata[].*      ENDLOOP.*    ENDIF.*  ENDIF.*  IF pc IS NOT INITIAL.*    IF it_lfa14 IS NOT INITIAL.*      LOOP AT it_lfa14 INTO wa_lfa14.**        PERFORM bdc_dynpro      USING 'SAPMF02K' '0100'.**        PERFORM bdc_field       USING 'BDC_CURSOR'*                                      'USE_ZAV'.*        PERFORM bdc_field       USING 'BDC_OKCODE'*                                      '/00'.*        PERFORM bdc_field       USING 'RF02K-LIFNR'*                                       wa_lfa14-lifnr.*        PERFORM bdc_field       USING 'RF02K-BUKRS'*                                       wa_lfa14-bukrs.*        PERFORM bdc_field       USING 'RF02K-EKORG'*                                       wa_lfa14-ekorg.**        PERFORM bdc_field       USING 'RF02K-D0310'**                                       'X'.**        PERFORM bdc_field       USING 'WRF02K-D0320'**                                       'X'.*        PERFORM bdc_field       USING 'USE_ZAV'*                                       'X'.***        PERFORM bdc_dynpro      USING 'SAPMF02K' '0310'.**        PERFORM bdc_field       USING 'BDC_CURSOR'*                                      'LFM1-LEBRE'.*        PERFORM bdc_field       USING 'BDC_OKCODE'*                                      '=VW'.*        PERFORM bdc_field       USING 'LFM1-WAERS'*                                       wa_lfa14-waers.*        PERFORM bdc_field       USING 'LFM1-ZTERM'*                                       wa_lfa14-zterm1.*        PERFORM bdc_field       USING 'LFM1-INCO1'*                                       wa_lfa14-inco1.*        PERFORM bdc_field       USING 'LFM1-INCO2'*                                       wa_lfa14-inco2.*        PERFORM bdc_field       USING 'LFM1-WEBRE'*                                       wa_lfa14-webre.*        PERFORM bdc_field       USING 'LFM1-LEBRE'*                                       wa_lfa14-lebre.***        PERFORM bdc_dynpro      USING 'SAPMF02K' '0320'.

**        PERFORM bdc_field       USING 'BDC_CURSOR'*                                      'WRF02K-GPARN(03)'.*        PERFORM bdc_field       USING 'BDC_OKCODE'*                                      '=VW'.*        PERFORM bdc_field       USING 'WYT3-PARVW(02)'*                                       wa_lfa14-parvw.*        PERFORM bdc_field       USING 'WRF02K-GPARN(01)'*                                       wa_lfa14-gparn1.*        PERFORM bdc_field       USING 'WYT3-PARVW(01)'*                                       wa_lfa14-parvw1.*        PERFORM bdc_field       USING 'WRF02K-GPARN(02)'*                                       wa_lfa14-gparn2.*        PERFORM bdc_field       USING 'WYT3-PARVW(03)'*                                       wa_lfa14-parvw2.*        PERFORM bdc_field       USING 'WRF02K-GPARN(03)'*                                       wa_lfa14-gparn3.**        PERFORM bdc_dynpro      USING 'SAPMF02K' '0320'.**        PERFORM bdc_field       USING 'BDC_CURSOR'*                                      'RF02K-LIFNR'.*        PERFORM bdc_field       USING 'BDC_OKCODE'*                                      '=UPDA'.**        CALL TRANSACTION 'XK01' USING it_bdcdata*                                 MODE   l_v_mode*                                 UPDATE 'S'*                                 MESSAGES INTO it_messtab.*        READ TABLE it_messtab WITH KEY msgtyp = 'E'.*        IF sy-subrc = 0 .*          fv_msg_id   = it_messtab-msgid.*          fv_msg_no   = it_messtab-msgnr.*          fv_msg_var1 = it_messtab-msgv1.*          fv_msg_var2 = it_messtab-msgv2.*          fv_msg_var3 = it_messtab-msgv3.*          fv_msg_var4 = it_messtab-msgv4.**          CALL FUNCTION 'MESSAGE_PREPARE'*            EXPORTING*              language               = sy-langu*              msg_id                 = fv_msg_id*              msg_no                 = fv_msg_no*              msg_var1               = fv_msg_var1*              msg_var2               = fv_msg_var2*              msg_var3               = fv_msg_var3*              msg_var4               = fv_msg_var4*            IMPORTING*              msg_text               = fv_msg

*            EXCEPTIONS*              function_not_completed = 1*              message_not_found      = 2*              OTHERS                 = 3.*        ENDIF.*        READ TABLE it_messtab WITH KEY msgtyp = 'S'.*        IF sy-subrc = 0 .*          fv_msg_id   = it_messtab-msgid.*          fv_msg_no   = it_messtab-msgnr.*          fv_msg_var1 = it_messtab-msgv1.*          fv_msg_var2 = it_messtab-msgv2.*          fv_msg_var3 = it_messtab-msgv3.*          fv_msg_var4 = it_messtab-msgv4.**          CALL FUNCTION 'MESSAGE_PREPARE'*            EXPORTING*              language               = sy-langu*              msg_id                 = fv_msg_id*              msg_no                 = fv_msg_no*              msg_var1               = fv_msg_var1*              msg_var2               = fv_msg_var2*              msg_var3               = fv_msg_var3*              msg_var4               = fv_msg_var4*            IMPORTING*              msg_text               = fv_msg*            EXCEPTIONS*              function_not_completed = 1*              message_not_found      = 2*              OTHERS                 = 3.*        ENDIF.*        CLEAR it_messtab[].*        wa_error-ztext = fv_msg.*        wa_error-koinh = wa_lfa14-lifnr.*        APPEND wa_error TO it_error.*        CLEAR: wa_error,it_bdcdata[].*      ENDLOOP.*    ENDIF.*  ENDIF.ENDFORM.                    " CREATE_VENDOR*&---------------------------------------------------------------------**&      Form  BDC_DYNPRO*&---------------------------------------------------------------------*FORM bdc_dynpro USING program dynpro.  CLEAR it_bdcdata.  it_bdcdata-program  = program.  it_bdcdata-dynpro   = dynpro.  it_bdcdata-dynbegin = 'X'.  APPEND it_bdcdata.ENDFORM.                    "BDC_DYNPRO

*&---------------------------------------------------------------------**&      Form  BDC_FIELD*&---------------------------------------------------------------------*FORM bdc_field USING fnam fval.  IF fval <> space.    CLEAR it_bdcdata.    it_bdcdata-fnam = fnam.    it_bdcdata-fval = fval.    APPEND it_bdcdata.  ENDIF.ENDFORM.                    "BDC_FIELD*&---------------------------------------------------------------------**&      Form  DISPLAY_MSG*&---------------------------------------------------------------------**       text*----------------------------------------------------------------------**  -->  p1        text*  <--  p2        text*----------------------------------------------------------------------*FORM display_msg .  LOOP AT it_error INTO wa_error.    AT FIRST.      WRITE:/03 text-008 COLOR 7,30 text-007 COLOR 7.      SKIP 1.    ENDAT.    WRITE:/03 wa_error-koinh COLOR 5,30 wa_error-ztext COLOR 5.    CLEAR: wa_error.  ENDLOOP.ENDFORM.                    " DISPLAY_MSG

ZMMC_MATMAST_001

*&---------------------------------------------------------------------**& Report  ZMMC_MATMAST_001*&*************************************************************************Program ID         : ZMMC_MATMAST_001*Date               : 17.04.2013*Author             : TCS ABAP*Title              : Material master data upload (Mat. Type - HALB,SCON)*Function           : Material master data upload*Transport Request  : DREK900239*&---------------------------------------------------------------------*

REPORT ZMMC_MATMAST_001  no standard page heading line-size 255.

INCLUDE : zmmc_MATMAST_top ,          zmmc_MATMAST_scr ,

          zmmc_MATMAST_sub ,          zmmc_MATMAST_evn .

Include ZMMC_MATMAST_TOP

*&---------------------------------------------------------------------**&  Include           ZMMC_MATMAST_TOP*&---------------------------------------------------------------------**************************************************************************Program ID         : ZMMC_MATMAST_001*Date               : 17.04.2013*Author             : TCS ABAP*Title              : Material master data upload (Mat. Type - HALB,SCON)*Function           : Material master data upload*Transport Request  : DREK900239*&---------------------------------------------------------------------*

types : begin of ty_mate,          matnr     type matnr,     " Material number          MTART     type mtart,          WERKS     TYPE WERKS_d,          lgort     type lgort_d,          maktx     type maktx,          meins(5)     type c,          matkl     type matkl,          dismm     type dismm,      " MRP Type, MRP1          dispo      type dispo,      " MRP Controller, MRP1          disls      type disls,      "Lot size , MRP1          fhori     type fhori,      "Scheduling Margin Key , mrp2          MTVFP     type MTVFP,     " avail check          bklas     type bklas,     "  Valuation Class, Acct1          VPRSV     type VPRSV,     "price control*          verpr(11) type c,         "Moving Average Price,Acct1          stprs(11) type c,         "Standard price,Acct1        end   of ty_mate.

data : gt_final type TABLE OF ty_mate INITIAL SIZE 0,       gs_final type ty_mate,       gt_bdcdata type TABLE OF bdcdata INITIAL SIZE 0,       gs_bdcdata type bdcdata.

*&---------------------------------------------------------------------**&  Include           ZMMC_MATMAST_SCR*&---------------------------------------------------------------------**************************************************************************Program ID         : ZMMC_MATMAST_001*Date               : 17.04.2013*Author             : TCS ABAP

*Title              : Material master data upload (Mat. Type - HALB,SCON)*Function           : Material master data upload*Transport Request  : DREK900239*&---------------------------------------------------------------------*

* selection screen for input fileselection-screen : begin  of block b1 with frame title text-001.parameters       : p_file type rlgrap-filename obligatory.selection-screen : end    of block b1.

Include ZMMC_MATMAST_SUB

*&---------------------------------------------------------------------**&  Include           ZMMC_MATMAST_SUB*&---------------------------------------------------------------------**************************************************************************Program ID         : ZMMC_MATMAST_001*Date               : 17.04.2013*Author             : TCS ABAP*Title              : Material master data upload (Mat. Type - HALB,SCON)*Function           : Material master data upload*Transport Request  : DREK900239*&---------------------------------------------------------------------**&---------------------------------------------------------------------**&      Form  SUB_FILE_DIALOG*&---------------------------------------------------------------------**       text*----------------------------------------------------------------------**      <--P_P_FILE  text*----------------------------------------------------------------------*FORM sub_file_dialog  CHANGING iv_file type localfile.

  data : lt_filetab type filetable  , " File tab         ls_filetab type file_table , " File         lv_rc      type i ,          " Returncode         lv_title   type string .

  lv_title = 'Schedule agreement upload file'(002).

  call method cl_gui_frontend_services=>file_open_dialog    exporting      window_title            = lv_title    changing      file_table              = lt_filetab      rc                      = lv_rc    exceptions      file_open_dialog_failed = 1      cntl_error              = 2      error_no_gui            = 3

      not_supported_by_gui    = 4      others                  = 5.  if sy-subrc = 0.    read table lt_filetab into ls_filetab index 1 .    iv_file = ls_filetab-filename .  endif.

ENDFORM.                    " SUB_FILE_DIALOG*&---------------------------------------------------------------------**&      Form  SUB_VALIDATE_FILEEXT*&---------------------------------------------------------------------**       text*----------------------------------------------------------------------**      -->P_P_FILE  text*----------------------------------------------------------------------*FORM sub_validate_fileext  USING iv_file type localfile.

 data : lv_slen type i  ,         lv_vlen type i ,         lv_file type filename .

  lv_file = iv_file .  translate lv_file to upper case .  lv_slen = strlen( lv_file ) .  lv_vlen = lv_slen - 3 .

  if lv_file+lv_vlen(3) = 'XLS'.    clear : lv_vlen .  else .    lv_vlen = lv_slen - 4 .    if lv_file+lv_vlen(4) = 'XLSX'.      clear : lv_vlen .    endif.  endif.  if lv_vlen = 0 .  else.    message text-e01 type 'S' display like 'E' .    leave list-processing .    leave to screen 1000.  endif.

ENDFORM.                    " SUB_VALIDATE_FILEEXT*&---------------------------------------------------------------------**&      Form  SUB_GETDATA_FILE*&---------------------------------------------------------------------**       text*----------------------------------------------------------------------**      -->P_P_FILE  text*----------------------------------------------------------------------*

FORM sub_getdata_file  USING iv_file type localfile.

 data : lv_rdat type truxs_t_text_data .

  call function 'TEXT_CONVERT_XLS_TO_SAP'    exporting      i_line_header        = 'X'      i_tab_raw_data       = lv_rdat      i_filename           = iv_file    tables      i_tab_converted_data = gt_final    exceptions      conversion_failed    = 1      others               = 2.  if sy-subrc <> 0.    message text-e06 type 'S' display like 'E' .    leave list-processing .    exit.  endif.

ENDFORM.                    " SUB_GETDATA_FILE*&---------------------------------------------------------------------**&      Form  SUB_MOVE_DATA*&---------------------------------------------------------------------**       text*----------------------------------------------------------------------**  -->  p1        text*  <--  p2        text*----------------------------------------------------------------------*FORM sub_move_data .CALL FUNCTION 'BDC_OPEN_GROUP' EXPORTING   CLIENT                    = SY-MANDT   GROUP                     = 'SESSION'   KEEP                      = 'X'   USER                      = SY-UNAME   PROG                      = SY-CPROG EXCEPTIONS   CLIENT_INVALID            = 1   DESTINATION_INVALID       = 2   GROUP_INVALID             = 3   GROUP_IS_LOCKED           = 4   HOLDDATE_INVALID          = 5   INTERNAL_ERROR            = 6   QUEUE_ERROR               = 7   RUNNING                   = 8   SYSTEM_LOCK_ERROR         = 9   USER_INVALID              = 10   OTHERS                    = 11.

loop at gt_final into gs_final.clear : gs_bdcdata.refresh : gt_bdcdata.

perform bdc_dynpro      using 'SAPLMGMM' '0060'.perform bdc_field       using 'BDC_CURSOR'                              'RMMG1-MTART'.perform bdc_field       using 'BDC_OKCODE'                              '=ENTR'.perform bdc_field       using 'RMMG1-MATNR'*                              '869032'.gs_final-matnr.perform bdc_field       using 'RMMG1-MBRSH'                              'M'.perform bdc_field       using 'RMMG1-MTART'*                              'HALB'.gs_final-mtart.perform bdc_dynpro      using 'SAPLMGMM' '0070'.perform bdc_field       using 'BDC_CURSOR'                              'MSICHTAUSW-DYTXT(15)'.perform bdc_field       using 'BDC_OKCODE'                              '=P+'.perform bdc_field       using 'MSICHTAUSW-KZSEL(01)'                              'X'.perform bdc_field       using 'MSICHTAUSW-KZSEL(02)'                              'X'.perform bdc_field       using 'MSICHTAUSW-KZSEL(09)'                              'X'.perform bdc_field       using 'MSICHTAUSW-KZSEL(12)'                              'X'.perform bdc_field       using 'MSICHTAUSW-KZSEL(13)'                              'X'.perform bdc_field       using 'MSICHTAUSW-KZSEL(14)'                              'X'.perform bdc_field       using 'MSICHTAUSW-KZSEL(15)'                              'X'.perform bdc_dynpro      using 'SAPLMGMM' '0070'.perform bdc_field       using 'BDC_CURSOR'                              'MSICHTAUSW-DYTXT(09)'.perform bdc_field       using 'BDC_OKCODE'                              '=ENTR'.perform bdc_field       using 'MSICHTAUSW-KZSEL(01)'                              'X'.perform bdc_field       using 'MSICHTAUSW-KZSEL(02)'                              'X'.perform bdc_field       using 'MSICHTAUSW-KZSEL(05)'

                              'X'.perform bdc_field       using 'MSICHTAUSW-KZSEL(06)'                              'X'.perform bdc_field       using 'MSICHTAUSW-KZSEL(07)'                              'X'.perform bdc_field       using 'MSICHTAUSW-KZSEL(08)'                              'X'.perform bdc_field       using 'MSICHTAUSW-KZSEL(09)'                              'X'.perform bdc_dynpro      using 'SAPLMGMM' '0080'.perform bdc_field       using 'BDC_CURSOR'                              'RMMG1-LGORT'.perform bdc_field       using 'BDC_OKCODE'                              '=ENTR'.perform bdc_field       using 'RMMG1-WERKS'gs_final-werks.perform bdc_field       using 'RMMG1-LGORT'gs_final-lgort.perform bdc_dynpro      using 'SAPLMGMM' '4004'.perform bdc_field       using 'BDC_OKCODE'                              '/00'.perform bdc_field       using 'MAKT-MAKTX'gs_final-maktx.perform bdc_field       using 'BDC_CURSOR'                              'MARA-MATKL'.perform bdc_field       using 'MARA-MEINS'gs_final-meins.perform bdc_field       using 'MARA-MATKL'gs_final-matkl.perform bdc_dynpro      using 'SAPLMGMM' '4004'.perform bdc_field       using 'BDC_OKCODE'                              '/00'.perform bdc_field       using 'BDC_CURSOR'                              'MAKT-MAKTX'.perform bdc_field       using 'MAKT-MAKTX'gs_final-maktx.perform bdc_dynpro      using 'SAPLMGMM' '4000'.perform bdc_field       using 'BDC_OKCODE'                              '/00'.perform bdc_field       using 'BDC_CURSOR'                              'MAKT-MAKTX'.perform bdc_field       using 'MAKT-MAKTX'gs_final-maktx.perform bdc_field       using 'MARA-MEINS'                              'NOS'.perform bdc_field       using 'MARA-MATKL'                              '01'.perform bdc_dynpro      using 'SAPLMGMM' '4000'.perform bdc_field       using 'BDC_OKCODE'

                              '/00'.perform bdc_field       using 'MAKT-MAKTX'gs_final-maktx.perform bdc_field       using 'MARA-MEINS'gs_final-meins.perform bdc_field       using 'MARC-DISMM'gs_final-dismm.perform bdc_field       using 'MARC-DISPO'gs_final-dispo.perform bdc_field       using 'BDC_CURSOR'                              'MARC-DISLS'.perform bdc_field       using 'MARC-DISLS'gs_final-disls.perform bdc_dynpro      using 'SAPLMGMM' '4000'.perform bdc_field       using 'BDC_OKCODE'                              '/00'.perform bdc_field       using 'MAKT-MAKTX'gs_final-maktx.perform bdc_field       using 'MARC-BESKZ'                              'X'.perform bdc_field       using 'BDC_CURSOR'                              'MARC-FHORI'.perform bdc_field       using 'MARC-FHORI'*                              '000'.gs_final-fhori.perform bdc_dynpro      using 'SAPLMGMM' '4000'.perform bdc_field       using 'BDC_OKCODE'                              '/00'.perform bdc_field       using 'MAKT-MAKTX'                              'ENGINE UCE ES 500-NT51 MATT BLACK PC'.perform bdc_field       using 'MARC-PERKZ'                              'M'.perform bdc_field       using 'BDC_CURSOR'                              'MARC-MTVFP'.perform bdc_field       using 'MARC-MTVFP'gs_final-mtvfp.perform bdc_dynpro      using 'SAPLMGMM' '4000'.perform bdc_field       using 'BDC_OKCODE'                              '/00'.perform bdc_field       using 'BDC_CURSOR'                              'MAKT-MAKTX'.perform bdc_field       using 'MAKT-MAKTX'gs_final-maktx.perform bdc_dynpro      using 'SAPLMGMM' '4000'.perform bdc_field       using 'BDC_OKCODE'                              '/00'.perform bdc_field       using 'BDC_CURSOR'                              'MAKT-MAKTX'.perform bdc_field       using 'MAKT-MAKTX'

gs_final-maktx.perform bdc_field       using 'MARA-MEINS'gs_final-meins.perform bdc_field       using 'MARA-IPRKZ'                              'D'.perform bdc_dynpro      using 'SAPLMGMM' '4000'.perform bdc_field       using 'BDC_OKCODE'                              '/00'.perform bdc_field       using 'BDC_CURSOR'                              'MAKT-MAKTX'.perform bdc_field       using 'MAKT-MAKTX'gs_final-maktx.perform bdc_dynpro      using 'SAPLMGMM' '4000'.perform bdc_field       using 'BDC_OKCODE'                              '=PB01'.perform bdc_field       using 'BDC_CURSOR'                              'MAKT-MAKTX'.perform bdc_field       using 'MAKT-MAKTX'gs_final-maktx.perform bdc_field       using 'MARA-MEINS'gs_final-meins.perform bdc_dynpro      using 'SAPLQPLS' '0100'.perform bdc_field       using 'BDC_CURSOR'                              'RMQAM-ARGUMENT'.perform bdc_field       using 'BDC_OKCODE'                              '=NEU'.perform bdc_dynpro      using 'SAPLQPLS' '0100'.perform bdc_field       using 'BDC_CURSOR'                              'RMQAM-AKTIV(01)'.perform bdc_field       using 'BDC_OKCODE'                              '=WEIT'.perform bdc_field       using 'RMQAM-ART(01)'                              '01'.perform bdc_field       using 'RMQAM-AKTIV(01)'                              'X'.perform bdc_dynpro      using 'SAPLMGMM' '4000'.perform bdc_field       using 'BDC_OKCODE'                              '/00'.perform bdc_field       using 'BDC_CURSOR'                              'MAKT-MAKTX'.perform bdc_field       using 'MAKT-MAKTX'gs_final-maktx.perform bdc_field       using 'MARA-MEINS'gs_final-meins.perform bdc_dynpro      using 'SAPLMGMM' '4000'.perform bdc_field       using 'BDC_OKCODE'                              '/00'.perform bdc_field       using 'MAKT-MAKTX'gs_final-maktx.

perform bdc_field       using 'MARA-MEINS'gs_final-meins.perform bdc_field       using 'BDC_CURSOR'                              'MBEW-STPRS'.perform bdc_field       using 'MBEW-BKLAS'gs_final-bklas.perform bdc_field       using 'MBEW-VPRSV'gs_final-vprsv.perform bdc_field       using 'MBEW-PEINH'                              '1'.perform bdc_field       using 'MBEW-STPRS'gs_final-stprs.perform bdc_dynpro      using 'SAPLMGMM' '4000'.perform bdc_field       using 'BDC_OKCODE'                              '/00'.perform bdc_field       using 'BDC_CURSOR'                              'MAKT-MAKTX'.perform bdc_field       using 'MAKT-MAKTX'gs_final-maktx.perform bdc_dynpro      using 'SAPLMGMM' '4000'.perform bdc_field       using 'BDC_OKCODE'                              '/00'.perform bdc_field       using 'BDC_CURSOR'                              'MAKT-MAKTX'.perform bdc_field       using 'MAKT-MAKTX'gs_final-maktx.perform bdc_field       using 'MARA-MEINS'gs_final-meins.perform bdc_field       using 'MBEW-EKALR'                              'X'.perform bdc_field       using 'MARC-AWSLS'                              '000001'.perform bdc_field       using 'MARC-LOSGR'                              '1'.perform bdc_dynpro      using 'SAPLMGMM' '4000'.perform bdc_field       using 'BDC_OKCODE'                              '/00'.perform bdc_field       using 'BDC_CURSOR'                              'MAKT-MAKTX'.perform bdc_field       using 'MAKT-MAKTX'gs_final-maktx.perform bdc_field       using 'MBEW-BKLAS'gs_final-bklas.perform bdc_field       using 'MBEW-VPRSV'gs_final-vprsv.perform bdc_field       using 'MBEW-PEINH'                              '1'.perform bdc_field       using 'MBEW-STPRS'gs_final-stprs.

perform bdc_dynpro      using 'SAPLSPO1' '0300'.

CALL FUNCTION 'BDC_INSERT' EXPORTING   TCODE                  = 'MM01'  TABLES    dynprotab              = GT_BDCDATA EXCEPTIONS   INTERNAL_ERROR         = 1   NOT_OPEN               = 2   QUEUE_ERROR            = 3   TCODE_INVALID          = 4   PRINTING_INVALID       = 5   POSTING_INVALID        = 6   OTHERS                 = 7 .

ENDLOOP.

CALL FUNCTION 'BDC_CLOSE_GROUP' EXCEPTIONS   NOT_OPEN          = 1   QUEUE_ERROR       = 2   OTHERS            = 3 .

ENDFORM.                    " SUB_MOVE_DATA

Include ZMMC_MATMAST_EVN

*&---------------------------------------------------------------------**&  Include           ZMMC_MATMAST_EVN*&---------------------------------------------------------------------**************************************************************************Program ID         : ZMMC_MATMAST_001*Date               : 17.04.2013*Author             : TCS ABAP*Title              : Material master data upload (Mat. Type - HALB,SCON)*Function           : Material master data upload*Transport Request  : DREK900239*&---------------------------------------------------------------------*

* selection screen validationat selection-screen on value-request for p_file .* select the local file  perform sub_file_dialog changing p_file .

at selection-screen .  perform sub_validate_fileext using p_file .

start-of-selection.* upload the local file to internal table  perform sub_getdata_file using p_file .

*  move data to header and item  perform sub_move_data.

*----------------------------------------------------------------------**        Start new screen                                              **----------------------------------------------------------------------*FORM BDC_DYNPRO USING PROGRAM DYNPRO.  CLEAR gs_BDCDATA.  gs_BDCDATA-PROGRAM  = PROGRAM.  gs_BDCDATA-DYNPRO   = DYNPRO.  gs_BDCDATA-DYNBEGIN = 'X'.  APPEND gs_BDCDATA to gt_bdcdata..ENDFORM.

*----------------------------------------------------------------------**        Insert field                                                  **----------------------------------------------------------------------*FORM BDC_FIELD USING FNAM FVAL.  IF FVAL is NOT INITIAL.    CLEAR gs_BDCDATA.    gs_BDCDATA-FNAM = FNAM.    gs_BDCDATA-FVAL = FVAL.    APPEND gs_BDCDATA to gt_bdcdata.  ENDIF.ENDFORM.