Application Development Discussions
Join the discussions or start your own on all things application development, including tools and APIs, programming models, and keeping your skills sharp.
cancel
Showing results for 
Search instead for 
Did you mean: 

Include bdcrecx1 – display only Call transaction method with processing mode and update mode . how to modify bdcrecx1 ?

former_member183824
Participant
0 Kudos

Hi....

I write a bdc program , in selection screen , it’s needed  to display only Call transaction method with processing mode and update mode .

Regarding this matter , please share a code .

Thank

Puneet

4 REPLIES 4

vinoth_aruldass
Contributor
0 Kudos

hi puneet

get those in parameters.

parameter : pmode type c ,

                   umode type c.

then add it in your call transaction ,

    call transaction 'TRANSACTION' MODE umode UPDATE pmode messages into messtab.

hope it helps,

Vinoth

Former Member
0 Kudos

hi,

take a copy of BDCREX1 and customize it as Z'BDCREX1 and remove the coding which is coded for session method..

and use Call transaction syntax to proceed further..

for brief info, refer the following links,

http://www.erpgreat.com/abap/example-how-views-are-dealt-in-bdc.htm

thanks,

Mathan R.

Former Member
0 Kudos

Hi Puneet,

this is a demo program look into that and let me know if you have any queries...........

report ZBDC_DEMO
        no standard page heading line-size 255.


DATA:   BDCDATA LIKE BDCDATA    OCCURS 0 WITH HEADER LINE.
DATA:   t_Msg LIKE BDCMSGCOLL OCCURS 0 WITH HEADER LINE.
PARAMETERS:
      NODATA DEFAULT '/' LOWER CASE.
parameter : pmode type CTU_PARAMS-DISMODE , umode type CTU_PARAMS-UPDMODE.


DATA: BEGIN OF itab OCCURS 0,
*       kunnr TYPE rf02d-kunnr,
        ktokd type rf02d-ktokd,
        name1 TYPE kna1-name1,
        sortl TYPE kna1-sortl,
        stras TYPE kna1-stras,
        land1 TYPE kna1-land1,
        spras TYPE kna1-spras,
       END OF itab.

PARAMETERS: p_File(128).
data mystr TYPE string.

AT SELECTION-SCREEN ON VALUE-REQUEST FOR p_File.
   CALL FUNCTION 'F4_FILENAME'
     EXPORTING
       PROGRAM_NAME  = SYST-CPROG
       DYNPRO_NUMBER = SYST-DYNNR
       FIELD_NAME    = 'P_FILE'
     IMPORTING
       FILE_NAME     = p_file.
   mystr = p_file.

START-OF-SELECTION.

   CALL FUNCTION 'GUI_UPLOAD'
     EXPORTING
       FILENAME                      = mystr
*     FILETYPE                      = 'ASC'
      HAS_FIELD_SEPARATOR           = 'X'
*     HEADER_LENGTH                 = 0
*     READ_BY_LINE                  = 'X'
*     DAT_MODE                      = ' '
*     CODEPAGE                      = ' '
*     IGNORE_CERR                   = ABAP_TRUE
*     REPLACEMENT                   = '#'
*     CHECK_BOM                     = ' '
*     VIRUS_SCAN_PROFILE            =
*     NO_AUTH_CHECK                 = ' '
*   IMPORTING
*     FILELENGTH                    =
*     HEADER                        =
     TABLES
       DATA_TAB                      = itab
    EXCEPTIONS
      FILE_OPEN_ERROR               = 1
      FILE_READ_ERROR               = 2
      NO_BATCH                      = 3
      GUI_REFUSE_FILETRANSFER       = 4
      INVALID_TYPE                  = 5
      NO_AUTHORITY                  = 6
      UNKNOWN_ERROR                 = 7
      BAD_DATA_FORMAT               = 8
      HEADER_NOT_ALLOWED            = 9
      SEPARATOR_NOT_ALLOWED         = 10
      HEADER_TOO_LONG               = 11
      UNKNOWN_DP_ERROR              = 12
      ACCESS_DENIED                 = 13
      DP_OUT_OF_MEMORY              = 14
      DISK_FULL                     = 15
      DP_TIMEOUT                    = 16
      OTHERS                        = 17
             .
   IF SY-SUBRC <> 0.
     MESSAGE ID SY-MSGID TYPE SY-MSGTY NUMBER SY-MSGNO
             WITH SY-MSGV1 SY-MSGV2 SY-MSGV3 SY-MSGV4.
   ENDIF.




*start-of-selection.

*  perform open_group.
   loop at itab.

     perform bdc_dynpro      using 'SAPMF02D' '0100'.
     perform bdc_field       using 'BDC_CURSOR'
                                   'RF02D-KTOKD'.
     perform bdc_field       using 'BDC_OKCODE'
                                   '/00'.
     perform bdc_field       using 'RF02D-KTOKD'
                                   itab-ktokd.              
*     perform bdc_field       using 'RF02D-KUNNR'
*                                  itab-kunnr.
     perform bdc_dynpro      using 'SAPMF02D' '0110'.
     perform bdc_field       using 'BDC_CURSOR'
                                   'KNA1-SPRAS'.
     perform bdc_field       using 'BDC_OKCODE'
                                   '/00'.

     perform bdc_field       using 'KNA1-NAME1'
                                   itab-name1.
     perform bdc_field       using 'KNA1-SORTL'
                                   itab-sortl.
     perform bdc_field       using 'KNA1-STRAS'
                                   itab-stras.
     perform bdc_field       using 'KNA1-LAND1'
                                   itab-land1.
     perform bdc_field       using 'KNA1-SPRAS'
                                   'en'.
     perform bdc_dynpro      using 'SAPMF02D' '0120'.
     perform bdc_field       using 'BDC_CURSOR'
                                   'KNA1-LIFNR'.
     perform bdc_field       using 'BDC_OKCODE'
                                   '=UPDA'.
*    perform bdc_transaction using 'XD01'.
     call TRANSACTION 'XD01' USING bdcdata
     MODE pmode
     UPDATE umode
     MESSAGES INTO t_msg.
   ENDLOOP.
*  perform close_group.

FORM BDC_DYNPRO USING PROGRAM DYNPRO.
   CLEAR BDCDATA.
   BDCDATA-PROGRAM  = PROGRAM.
   BDCDATA-DYNPRO   = DYNPRO.
   BDCDATA-DYNBEGIN = 'X'.
   APPEND BDCDATA.
ENDFORM.                    "BDC_DYNPRO

*----------------------------------------------------------------------*
*        Insert field                                                  *
*----------------------------------------------------------------------*
FORM BDC_FIELD USING FNAM FVAL.
   IF FVAL <> NODATA.
     CLEAR BDCDATA.
     BDCDATA-FNAM = FNAM.
     BDCDATA-FVAL = FVAL.
     APPEND BDCDATA.
   ENDIF.
ENDFORM.                    "BDC_FIELD

---

Regard

Jack

0 Kudos

hi Jack, it a helpful ans.

But I am uploading at a single time 4 T-code , it’s working good for one t-code . I  am upating you about code. Please correct it . as per your logic

"ALSMEX_TABLINE-Rows for Table with Excel Data

DATA : tab LIKE alsmex_tabline OCCURS 0 WITH HEADER LINE.

SELECTION-SCREEN : BEGIN OF BLOCK b1 WITH FRAME TITLE text-100.

PARAMETERS       :  fl_file TYPE localfile DEFAULT 'Press F4'.

SELECTION-SCREEN : END OF BLOCK b1.

INCLUDE bdcrecx1.

DATA : BEGIN OF it OCCURS 0,

        ktokd(4),      "Account Group

        kunnr(10),     "Customer No

        vkorg(4),      "Sales Org.

        vtweg(2),      "Distrib. Channel

        spart(2),      "Division

        title_medi(30),"Title

        name1(40),                                           "Name1

        name2(40),                                           "Name2

        sort1(20),     "Search Term1

        street(60),    "Street

        house_num1(10),"HouseNo

        street3(40),                                         "Street3

        city1(40),     "City

        post_code1(6), "Postal Code

        land1(2),      "Country

        region(3),     "Region

        ad_txjcd(4),   "Tax Jurisdiction Code

        transpzone(10),"Transportation Zone

        smtp_addr(241), "Email

        brsch(10),     "Industry

        akont(10),     "Recon. Account

        zterm(4),      "Payment Term

        vkbur(4),      "Sales Office

        waers(5),      "Currency

        kalks(1),      "Cust. Pric. Procedure

        vwerk(4),      "Delivering Plant

        inco1(3),                                            "Incoterms1

        inco2(28),                                           "Incoterms2

        ktgrd(2),      "Acc. Assign. Group

        taxkd(2),      "Tax Classification Code

        ktonr(10),     "Employee Resp.

        j_1iexcd(40),  "ECC No.

        j_1iexrn(40),  "Excise Registration No.

        j_1iexrg(40),  "Excise Range

        j_1iexdi(40),  "Excise Division

        j_1iexco(40),  "Commisionerate

        j_1icstno(40), "CST No.

        j_1ilstno(40), "LST No.

        j_1ipanno(40), "PAN No.

        j_1iexcicu(1), "Excise Indicator

        klimk(15),     "Credit Limit

        ctlpc(3),      "Risk Category

        END OF it.

START-OF-SELECTION.

PERFORM process.

*  CALL FUNCTION 'UPLOAD'

*   EXPORTING

**   CODEPAGE                      = ' '

*     filename                      = ' '

*     filetype                      = 'DAT'

**   ITEM                          = ' '

**   FILEMASK_MASK                 = ' '

**   FILEMASK_TEXT                 = ' '

**   FILETYPE_NO_CHANGE            = ' '

**   FILEMASK_ALL                  = ' '

**   FILETYPE_NO_SHOW              = ' '

**   LINE_EXIT                     = ' '

**   USER_FORM                     = ' '

**   USER_PROG                     = ' '

**   SILENT                        = 'S'

** IMPORTING

**   FILESIZE                      =

**   CANCEL                        =

**   ACT_FILENAME                  =

**   ACT_FILETYPE                  =

*    TABLES

*      data_tab                      = it

** EXCEPTIONS

**   CONVERSION_ERROR              = 1

**   INVALID_TABLE_WIDTH           = 2

**   INVALID_TYPE                  = 3

**   NO_BATCH                      = 4

**   UNKNOWN_ERROR                 = 5

**   GUI_REFUSE_FILETRANSFER       = 6

**   OTHERS                        = 7

*            .

*  IF sy-subrc <> 0.

** MESSAGE ID SY-MSGID TYPE SY-MSGTY NUMBER SY-MSGNO

**         WITH SY-MSGV1 SY-MSGV2 SY-MSGV3 SY-MSGV4.

*  ENDIF.

   PERFORM open_group.

   LOOP AT it.

*Upload customer master - TCODE XD01

     PERFORM bdc_dynpro      USING 'SAPMF02D' '0100'.

     PERFORM bdc_field       USING 'BDC_CURSOR'

                                   'USE_ZAV'.

     PERFORM bdc_field       USING 'BDC_OKCODE'

                                   '/00'.

     PERFORM bdc_field       USING 'RF02D-KUNNR'

                                   it-kunnr.

     PERFORM bdc_field       USING 'RF02D-BUKRS'

                                   'BEPL'.

     PERFORM bdc_field       USING 'RF02D-VKORG'

                                   it-vkorg.

     PERFORM bdc_field       USING 'RF02D-VTWEG'

                                   it-vtweg.

     PERFORM bdc_field       USING 'RF02D-SPART'

                                   it-spart.

     PERFORM bdc_field       USING 'RF02D-KTOKD'

                                   it-ktokd.

     PERFORM bdc_field       USING 'USE_ZAV'

                                   'X'.

     PERFORM bdc_dynpro      USING 'SAPMF02D' '0111'.

     PERFORM bdc_field       USING 'BDC_OKCODE'

                                   '/00'.

     PERFORM bdc_field       USING 'BDC_CURSOR'

                                   'ADDR1_DATA-TRANSPZONE'.

     PERFORM bdc_field       USING 'SZA1_D0100-TITLE_MEDI'

                                   it-title_medi.

     PERFORM bdc_field       USING 'ADDR1_DATA-NAME1'

                                   it-name1.

     PERFORM bdc_field       USING 'ADDR1_DATA-NAME2'

                                   it-name2.

     PERFORM bdc_field       USING 'ADDR1_DATA-SORT1'

                                   it-sort1.

     PERFORM bdc_field       USING 'ADDR1_DATA-SORT2'

                                   it-city1.

     PERFORM bdc_field       USING 'ADDR1_DATA-STREET'

                                   it-street.

     PERFORM bdc_field       USING 'ADDR1_DATA-HOUSE_NUM1'

                                   it-house_num1.

     PERFORM bdc_field       USING 'ADDR1_DATA-STR_SUPPL3'

                                   it-street3.

     PERFORM bdc_field       USING 'ADDR1_DATA-POST_CODE1'

                                   it-post_code1.

     PERFORM bdc_field       USING 'ADDR1_DATA-CITY1'

                                   it-city1.

     PERFORM bdc_field       USING 'ADDR1_DATA-COUNTRY'

                                   it-land1.

     PERFORM bdc_field       USING 'ADDR1_DATA-REGION'

                                   it-region.

     PERFORM bdc_field       USING 'ADDR1_DATA-TAXJURCODE'

                                   it-ad_txjcd.

     PERFORM bdc_field       USING 'ADDR1_DATA-TRANSPZONE'

                                   it-transpzone.

     PERFORM bdc_field       USING 'SZA1_D0100-SMTP_ADDR'

                                    it-smtp_addr.  "'email@yahoo.com'.

     PERFORM bdc_dynpro      USING 'SAPMF02D' '0120'.

     PERFORM bdc_field       USING 'BDC_OKCODE'

                                   '/00'.

     PERFORM bdc_dynpro      USING 'SAPMF02D' '0125'.

     PERFORM bdc_field       USING 'BDC_CURSOR'

                                   'KNA1-BRSCH'.

     PERFORM bdc_field       USING 'BDC_OKCODE'

                                   '/00'.

     PERFORM bdc_field       USING 'KNA1-BRSCH'

                                   it-brsch.

     PERFORM bdc_dynpro      USING 'SAPMF02D' '0130'.

     PERFORM bdc_field       USING 'BDC_OKCODE'

                                   '/00'.

     PERFORM bdc_dynpro      USING 'SAPMF02D' '0340'.

     PERFORM bdc_field       USING 'BDC_OKCODE'

                                   '/00'.

     PERFORM bdc_dynpro      USING 'SAPMF02D' '0370'.

     PERFORM bdc_field       USING 'BDC_OKCODE'

                                   '/00'.

     PERFORM bdc_dynpro      USING 'SAPMF02D' '0360'.

     PERFORM bdc_field       USING 'BDC_OKCODE'

                                   '/00'.

     PERFORM bdc_dynpro      USING 'SAPMF02D' '0210'.

     PERFORM bdc_field       USING 'BDC_CURSOR'

                                   'KNB1-VZSKZ'.

     PERFORM bdc_field       USING 'BDC_OKCODE'

                                   '/00'.

     PERFORM bdc_field       USING 'KNB1-AKONT'

                                   it-akont.

     PERFORM bdc_field       USING 'KNB1-ZUAWA'

                                   '001'.

     PERFORM bdc_field       USING 'KNB1-VZSKZ'

                                   'B1'.

     PERFORM bdc_dynpro      USING 'SAPMF02D' '0215'.

     PERFORM bdc_field       USING 'BDC_CURSOR'

                                   'KNB1-ZTERM'.

     PERFORM bdc_field       USING 'BDC_OKCODE'

                                   '/00'.

     PERFORM bdc_field       USING 'KNB1-ZTERM'

                                   it-zterm.

     PERFORM bdc_dynpro      USING 'SAPMF02D' '0220'.

     PERFORM bdc_field       USING 'BDC_OKCODE'

                                   '/00'.

     PERFORM bdc_dynpro      USING 'SAPMF02D' '0230'.

     PERFORM bdc_field       USING 'BDC_OKCODE'

                                   '/00'.

     PERFORM bdc_dynpro      USING 'SAPMF02D' '0610'.

     PERFORM bdc_field       USING 'BDC_CURSOR'

                                   'KNBW-WT_AGTDT(01)'.

     PERFORM bdc_field       USING 'BDC_OKCODE'

                                   '/00'.

     PERFORM bdc_field       USING 'KNBW-WITHT(01)'

                                   'W3'.

     PERFORM bdc_field       USING 'KNBW-WT_WITHCD(01)'

                                   'C3'.

     PERFORM bdc_field       USING 'KNBW-WT_AGENT(01)'

                                   'X'.

     PERFORM bdc_field       USING 'KNBW-WT_AGTDF(01)'

                                   '01.01.2005'.

     PERFORM bdc_field       USING 'KNBW-WT_AGTDT(01)'

                                   '31.12.9999'.

     PERFORM bdc_dynpro      USING 'SAPMF02D' '0610'.

     PERFORM bdc_field       USING 'BDC_CURSOR'

                                   'RF02D-KUNNR'.

     PERFORM bdc_field       USING 'BDC_OKCODE'

                                   '=VW'.

     PERFORM bdc_dynpro      USING 'SAPMF02D' '0310'.

     PERFORM bdc_field       USING 'BDC_CURSOR'

                                   'KNVV-VERSG'.

     PERFORM bdc_field       USING 'BDC_OKCODE'

                                   '/00'.

     PERFORM bdc_field       USING 'KNVV-AWAHR'

                                   '100'.

     PERFORM bdc_field       USING 'KNVV-VKBUR'

                                   it-vkbur.

     PERFORM bdc_field       USING 'KNVV-WAERS'

                                   it-waers.

     PERFORM bdc_field       USING 'KNVV-KALKS'

                                   it-kalks.

     PERFORM bdc_field       USING 'KNVV-VERSG'

                                   '1'.

     PERFORM bdc_dynpro      USING 'SAPMF02D' '0315'.

     PERFORM bdc_field       USING 'BDC_CURSOR'

                                   'KNVV-ANTLF'.

     PERFORM bdc_field       USING 'BDC_OKCODE'

                                   '=VW'.

     PERFORM bdc_field       USING 'KNVV-VSBED'

                                   '01'.

     PERFORM bdc_field       USING 'KNVV-VWERK'

                                   it-vwerk.

     PERFORM bdc_field       USING 'KNVV-ANTLF'

                                   '9'.

     PERFORM bdc_dynpro      USING 'SAPMF02D' '0320'.

     PERFORM bdc_field       USING 'BDC_CURSOR'

                                   'KNVV-KTGRD'.

     PERFORM bdc_field       USING 'BDC_OKCODE'

                                   '/00'.

     PERFORM bdc_field       USING 'KNVV-BOKRE'

                                   'X'.

     PERFORM bdc_field       USING 'KNVV-INCO1'

                                   it-inco1.

     PERFORM bdc_field       USING 'KNVV-INCO2'

                                   it-inco2.

     PERFORM bdc_field       USING 'KNVV-ZTERM'

                                   it-zterm.

     PERFORM bdc_field       USING 'KNVV-KTGRD'

                                   it-ktgrd.

     PERFORM bdc_dynpro      USING 'SAPMF02D' '1350'.

     PERFORM bdc_field       USING 'BDC_CURSOR'

                                   'KNVI-TAXKD(01)'.

     PERFORM bdc_field       USING 'BDC_OKCODE'

                                   '=ENTR'.

     PERFORM bdc_field       USING 'KNVI-TAXKD(01)'

                                   it-taxkd.

     PERFORM bdc_dynpro      USING 'SAPMF02D' '1350'.

     PERFORM bdc_field       USING 'BDC_CURSOR'

                                   'RF02D-KUNNR'.

     PERFORM bdc_field       USING 'BDC_OKCODE'

                                   '=VW'.

     PERFORM bdc_dynpro      USING 'SAPMF02D' '0324'.

     PERFORM bdc_field       USING 'BDC_CURSOR'

                                   'RF02D-KTONR(05)'.

     PERFORM bdc_field       USING 'BDC_OKCODE'

                                   '=ENTR'.

     PERFORM bdc_field       USING 'KNVP-PARVW(05)'

                                   'ER'.

     PERFORM bdc_field       USING 'RF02D-KTONR(05)'

                                   it-ktonr.

     PERFORM bdc_dynpro      USING 'SAPMF02D' '0324'.

     PERFORM bdc_field       USING 'BDC_CURSOR'

                                   'KNVP-PARVW(01)'.

     PERFORM bdc_field       USING 'BDC_OKCODE'

                                   '=UPDA'.

     PERFORM bdc_transaction USING 'XD01'.

*********************************************************

*Upload excise details - TCODE J1ID

     PERFORM bdc_dynpro      USING 'SAPMJ1ID' '0200'.

     PERFORM bdc_field       USING 'BDC_CURSOR'

                                   'RB7'.

     PERFORM bdc_field       USING 'BDC_OKCODE'

                                   '=EX'.

     PERFORM bdc_field       USING 'RB11'

                                   ''.

     PERFORM bdc_field       USING 'RB7'

                                   'X'.

     PERFORM bdc_dynpro      USING 'SAPLJ1I0' '0500'.

     PERFORM bdc_field       USING 'BDC_CURSOR'

                                   'J_1IMOCUST-KUNNR(01)'.

     PERFORM bdc_field       USING 'BDC_OKCODE'

                                   '=NEWL'.

     PERFORM bdc_dynpro      USING 'SAPLJ1I0' '0500'.

     PERFORM bdc_field       USING 'BDC_CURSOR'

                                   'J_1IMOCUST-J_1IEXCICU(01)'.

     PERFORM bdc_field       USING 'BDC_OKCODE'

                                   '=SAVE'.

     PERFORM bdc_field       USING 'J_1IMOCUST-KUNNR(01)'

                                   it-kunnr.

     PERFORM bdc_field       USING 'J_1IMOCUST-J_1IEXCD(01)'

                                   it-j_1iexcd.

     PERFORM bdc_field       USING 'J_1IMOCUST-J_1IEXRN(01)'

                                   it-j_1iexrn.

     PERFORM bdc_field       USING 'J_1IMOCUST-J_1IEXRG(01)'

                                   it-j_1iexrg.

     PERFORM bdc_field       USING 'J_1IMOCUST-J_1IEXDI(01)'

                                   it-j_1iexdi.

     PERFORM bdc_field       USING 'J_1IMOCUST-J_1IEXCO(01)'

                                   it-j_1iexco.

     PERFORM bdc_field       USING 'J_1IMOCUST-J_1ICSTNO(01)'

                                   it-j_1icstno.

     PERFORM bdc_field       USING 'J_1IMOCUST-J_1ILSTNO(01)'

                                   it-j_1ilstno.

     PERFORM bdc_field       USING 'J_1IMOCUST-J_1IPANNO(01)'

                                   it-j_1ipanno.

     PERFORM bdc_field       USING 'J_1IMOCUST-J_1IEXCICU(01)'

                                   it-j_1iexcicu.

     PERFORM bdc_dynpro      USING 'SAPLJ1I0' '0500'.

     PERFORM bdc_field       USING 'BDC_CURSOR'

                                   'J_1IMOCUST-KUNNR(02)'.

     PERFORM bdc_field       USING 'BDC_OKCODE'

                                   '=BACK'.

     PERFORM bdc_dynpro      USING 'SAPLJ1I0' '0500'.

     PERFORM bdc_field       USING 'BDC_CURSOR'

                                   'J_1IMOCUST-KUNNR(02)'.

     PERFORM bdc_field       USING 'BDC_OKCODE'

                                   '=BACK'.

     PERFORM bdc_dynpro      USING 'SAPMJ1ID' '0200'.

     PERFORM bdc_field       USING 'BDC_OKCODE'

                                   '/EEXIT'.

     PERFORM bdc_field       USING 'BDC_CURSOR'

                                   'EXCISE'.

     PERFORM bdc_transaction USING 'J1ID'.

******************************************************

*Upload credit management data - TCODE FD32

     PERFORM bdc_dynpro      USING 'SAPMF02C' '0100'.

     PERFORM bdc_field       USING 'BDC_CURSOR'

                                   'RF02L-KKBER'.

     PERFORM bdc_field       USING 'BDC_OKCODE'

                                   '=MALL'.

     PERFORM bdc_field       USING 'RF02L-KUNNR'

                                   it-kunnr.

     PERFORM bdc_field       USING 'RF02L-KKBER'

                                   'BEPL'.

     PERFORM bdc_dynpro      USING 'SAPMF02C' '0120'.

     PERFORM bdc_field       USING 'BDC_CURSOR'

                                   'KNKA-WAERS'.

     PERFORM bdc_field       USING 'BDC_OKCODE'

                                   '=S+'.

     PERFORM bdc_field       USING 'KNKA-KLIMG'

                                   it-klimk.

     PERFORM bdc_field       USING 'KNKA-KLIME'

                                   it-klimk.

     PERFORM bdc_field       USING 'KNKA-WAERS'

                                   it-waers.

     PERFORM bdc_dynpro      USING 'SAPMF02C' '0210'.

     PERFORM bdc_field       USING 'BDC_CURSOR'

                                   'KNKK-CTLPC'.

     PERFORM bdc_field       USING 'BDC_OKCODE'

                                   '/00'.

     PERFORM bdc_field       USING 'KNKK-KLIMK'

                                   it-klimk.

     PERFORM bdc_field       USING 'KNKK-CTLPC'

                                   it-ctlpc.

     PERFORM bdc_dynpro      USING 'SAPLSPO1' '0300'.

     PERFORM bdc_field       USING 'BDC_OKCODE'

                                   '=YES'.

     PERFORM bdc_transaction USING 'FD32'.

************************************************

*Upload batch strategy - TCODE VCH1

     PERFORM bdc_dynpro      USING 'SAPMV13H' '0100'.

     PERFORM bdc_field       USING 'BDC_CURSOR'

                                   'H000-KSCHL'.

     PERFORM bdc_field       USING 'BDC_OKCODE'

                                   '/00'.

     PERFORM bdc_field       USING 'H000-KSCHL'

                                   'SD01'.

     PERFORM bdc_dynpro      USING 'SAPLV14A' '0100'.

     PERFORM bdc_field       USING 'BDC_CURSOR'

                                   'RV130-SELKZ(02)'.

     PERFORM bdc_field       USING 'BDC_OKCODE'

                                   '=WEIT'.

     PERFORM bdc_field       USING 'RV130-SELKZ(01)'

                                   ''.

     PERFORM bdc_field       USING 'RV130-SELKZ(02)'

                                   'X'.

     PERFORM bdc_dynpro      USING 'SAPMV13H' '1990'.

     PERFORM bdc_field       USING 'BDC_CURSOR'

                                   'KONDH-CHASP(01)'.

     PERFORM bdc_field       USING 'BDC_OKCODE'

                                   '/00'.

     PERFORM bdc_field       USING 'KOMGH-KNDNR'

                                   it-kunnr.

     PERFORM bdc_field       USING 'KOMGH-MTART(01)'

                                   'ZFIN'.

     PERFORM bdc_field       USING 'KONDH-CHASP(01)'

                                   '999'.

     PERFORM bdc_dynpro      USING 'SAPMV13H' '1990'.

     PERFORM bdc_field       USING 'BDC_CURSOR'

                                   'KONDH-CHASP(01)'.

     PERFORM bdc_field       USING 'BDC_OKCODE'

                                   '=SEVS'.

     PERFORM bdc_dynpro      USING 'SAPLCLFM' '0500'.

     PERFORM bdc_field       USING 'BDC_CURSOR'

                                   'RMCLF-CLASS(01)'.

     PERFORM bdc_field       USING 'BDC_OKCODE'

                                   '/00'.

     PERFORM bdc_field       USING 'RMCLF-CLASS(01)'

                                   'BATCH_SD'.

     PERFORM bdc_dynpro      USING 'SAPLCTMS' '0109'.

     PERFORM bdc_field       USING 'BDC_CURSOR'

                                   'RCTMS-MNAME(01)'.

     PERFORM bdc_field       USING 'BDC_OKCODE'

                                   '=BACK'.

     PERFORM bdc_dynpro      USING 'SAPLCLFM' '0500'.

     PERFORM bdc_field       USING 'BDC_CURSOR'

                                   'RMCLF-CLASS(01)'.

     PERFORM bdc_field       USING 'BDC_OKCODE'

                                   '=VOBI'.

*perform bdc_field       using 'RMCLF-PAGPOS'

*                              '1'.

     PERFORM bdc_dynpro      USING 'SAPMV13H' '1990'.

     PERFORM bdc_field       USING 'BDC_CURSOR'

                                   'KONDH-CHASP(01)'.

     PERFORM bdc_field       USING 'BDC_OKCODE'

                                   '=SORS'.

     PERFORM bdc_dynpro      USING 'SAPMV13H' '0220'.

     PERFORM bdc_field       USING 'BDC_CURSOR'

                                   'RCUD5-SRTSQ'.

     PERFORM bdc_field       USING 'BDC_OKCODE'

                                   '/00'.

     PERFORM bdc_field       USING 'RCUD5-SRTSQ'

                                   'SD_SORT_RULE'.

     PERFORM bdc_dynpro      USING 'SAPMV13H' '0220'.

     PERFORM bdc_field       USING 'BDC_CURSOR'

                                   'RCUD5-SRTSQ'.

     PERFORM bdc_field       USING 'BDC_OKCODE'

                                   '=SICH'.

     PERFORM bdc_field       USING 'RCUD5-SRTSQ'

                                   'SD_SORT_RULE'.

     PERFORM bdc_transaction USING 'VCH1'.

   ENDLOOP.

   PERFORM close_group.

*&---------------------------------------------------------------------*

*&      Form  PROCESS

*&---------------------------------------------------------------------*

*       text

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

*  -->  p1        text

*  <--  p2        text

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

FORM process .

   break bepldev2.

   CALL FUNCTION 'ALSM_EXCEL_TO_INTERNAL_TABLE'

     EXPORTING

       filename                      = fl_file

       i_begin_col                   = 1

       i_begin_row                   = 4

       i_end_col                     = 42

       i_end_row                     = 50

     TABLES

       intern                        = tab

* EXCEPTIONS

*   INCONSISTENT_PARAMETERS       = 1

*   UPLOAD_OLE                    = 2

*   OTHERS                        = 3

             .

   IF sy-subrc <> 0.

* MESSAGE ID SY-MSGID TYPE SY-MSGTY NUMBER SY-MSGNO

*         WITH SY-MSGV1 SY-MSGV2 SY-MSGV3 SY-MSGV4.

   ENDIF.

   LOOP AT tab.

     CASE tab-col.

       WHEN '0001'.

         it-ktokd  = tab-value.

       WHEN '0002'.

         it-kunnr  =  tab-value.

       WHEN '0003'.

         it-vkorg  =  tab-value.

       WHEN '0004'.

         it-vtweg  =  tab-value.

       WHEN '0005'.

         it-spart  =  tab-value.

       WHEN '0006'.

         it-title_medi  =  tab-value.

       WHEN '0007'.

         it-name1  =  tab-value.

       WHEN '0008'.

         it-name2  =  tab-value.

       WHEN '0009'.

         it-sort1  =  tab-value.

       WHEN '0010'.

         it-street  =  tab-value.

       WHEN '0011'.

         it-house_num1  =  tab-value.

       WHEN '0012'.

         it-street3  =  tab-value.

       WHEN '0013'.

         it-city1  =  tab-value.

       WHEN '0014'.

         it-post_code1  =  tab-value.

       WHEN '0015'.

         it-land1  =  tab-value.

       WHEN '0016'.

         it-region  =  tab-value.

       WHEN '0017'.

         it-ad_txjcd  =  tab-value.

       WHEN '0018'.

         it-transpzone  =  tab-value.

       WHEN '0019'.

         it-smtp_addr  =  tab-value.

       WHEN '0020'.

         it-brsch  =  tab-value.

       WHEN '0021'.

         it-akont  =  tab-value.

       WHEN '0022'.

         it-zterm  =  tab-value.

       WHEN '0023'.

         it-vkbur  =  tab-value.

       WHEN '0024'.

         it-waers  =  tab-value.

       WHEN '0025'.

         it-kalks  =  tab-value.

       WHEN '0026'.

         it-vwerk  =  tab-value.

       WHEN '0027'.

         it-inco1  =  tab-value.

       WHEN '0028'.

         it-inco2  =  tab-value.

       WHEN '0029'.

         it-ktgrd  =  tab-value.

       WHEN '0030'.

         it-taxkd  =  tab-value.

       WHEN '0031'.

         it-ktonr  =  tab-value.

       WHEN '0032'.

         it-j_1iexcd  =  tab-value.

       WHEN '0033'.

         it-j_1iexrn  =  tab-value.

       WHEN '0034'.

         it-j_1iexrg  =  tab-value.

       WHEN '0035'.

         it-j_1iexdi  =  tab-value.

       WHEN '0036'.

         it-j_1iexco  =  tab-value.

       WHEN '0037'.

         it-j_1icstno  =  tab-value.

       WHEN '0038'.

         it-j_1ilstno =  tab-value.

       WHEN '0039'.

         it-j_1ipanno  =  tab-value.

       WHEN '0040'.

         it-j_1iexcicu  =  tab-value.

       WHEN '0041'.

         it-klimk  =  tab-value.

      WHEN '0042'.

         it-ctlpc  =  tab-value.

     ENDCASE.

     AT END OF row.

       APPEND it.

       CLEAR  it.

     ENDAT.

   ENDLOOP.

ENDFORM.

AT SELECTION-SCREEN ON VALUE-REQUEST FOR fl_file.

   CALL FUNCTION 'F4_FILENAME'

  EXPORTING

*   PROGRAM_NAME        = SYST-CPROG

*   DYNPRO_NUMBER       = SYST-DYNNR

    field_name          = 'fl_file '

  IMPORTING

*Enter the file name

    file_name           = fl_file.

                   " PROCESS