Quantcast
Channel: SCN : All Content - All Communities
Viewing all articles
Browse latest Browse all 8877

Upload Vendor Master(MK01)

$
0
0

Hi abapers,

 

There is a little confusion. I am trying to upload Vendor Master(MK01) through call transaction method.

It is inserting only one record(one vendor). my flat file contains multiple records.

 

Is there anything wrong in below coding.

 

REPORT  ZBDC_UPLOAD_PROGRAM_03.

 

 

data: begin of itab1 occurs 1,

      fld(80),

      end of itab1.

 

 

data: begin of itab occurs 1,

       F1 type LIFNR,

       F2 type EKORG,

       F3 type KTOKK,

       F4 type NAME1,

       F5 type SORTL,

       F6 type LAND1,

       F7 type SPRAS,

       F8 type WAERS,

       end of itab.

 

 

CALL FUNCTION 'GUI_UPLOAD'

  EXPORTING

   FILENAME                      = 'C:\Documents and Settings\eccadm\Desktop\vendorslist2.txt'

   FILETYPE                      = 'ASC'

   HAS_FIELD_SEPARATOR           = ' '

  TABLES

    DATA_TAB                      = itab1

          .

*LOOP AT itab1.

*write:/ itab1-fld.

*ENDLOOP.

 

 

LOOP AT itab1.

split itab1-fld at ',' into itab-F1 itab-F2 itab-F3 itab-F4 itab-F5 itab-F6 itab-F7 itab-F8.

append itab.

ENDLOOP.

*LOOP AT itab.

*write:/ itab-F1, itab-F2, itab-F3, itab-F4, itab-F5, itab-F6, itab-F7, itab-F8.

*ENDLOOP.

 

 

DATA: BDCDATA type BDCDATA OCCURS 1 with header line.

 

 

Loop at itab.

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

perform bdc_dynpro      using 'SAPMF02K' '0107'.

perform bdc_field       using 'BDC_CURSOR'  'RF02K-LIFNR'.

perform bdc_field       using 'BDC_OKCODE'  '/00'.

perform bdc_field       using 'RF02K-LIFNR' itab-F1.

perform bdc_field       using 'RF02K-EKORG' itab-F2.

perform bdc_field       using 'RF02K-KTOKK' itab-F3.

 

 

perform bdc_dynpro      using 'SAPMF02K' '0110'.

perform bdc_field       using 'BDC_CURSOR'  'LFA1-SPRAS'.

perform bdc_field       using 'BDC_OKCODE'  '/00'.

perform bdc_field       using 'LFA1-NAME1'  itab-F4.

perform bdc_field       using 'LFA1-SORTL'  itab-F5.

perform bdc_field       using 'LFA1-LAND1'  itab-F6.

perform bdc_field       using 'LFA1-SPRAS'  itab-F7.

 

 

perform bdc_dynpro      using 'SAPMF02K' '0120'.

perform bdc_field       using 'BDC_CURSOR'  'LFA1-KONZS'.

perform bdc_field       using 'BDC_OKCODE'  '/00'.

 

 

perform bdc_dynpro      using 'SAPMF02K' '0310'.

perform bdc_field       using 'BDC_CURSOR'  'LFM1-WAERS'.

perform bdc_field       using 'BDC_OKCODE'  '/00'.

perform bdc_field       using 'LFM1-WAERS'  itab-F8.

 

 

perform bdc_dynpro      using 'SAPMF02K' '0320'.

perform bdc_field       using 'BDC_CURSOR'  'RF02K-LIFNR'.

perform bdc_field       using 'BDC_OKCODE'  '=UPDA'.

 

 

perform bdc_dynpro      using 'SAPLSP01'  '0300'.

perform bdc_dynpro      using 'BDC_OKCODE'  '=YES'.

*perform bdc_transaction using 'MK01'.

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

call transaction 'MK01' using BDCDATA MODE 'A'.

 

 

ENDLOOP.

 

 

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

*        New Screen                                                  *

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

FORM BDC_DYNPRO USING PROGRAM DYNPRO.

  CLEAR BDCDATA.

  BDCDATA-PROGRAM  = PROGRAM.

  BDCDATA-DYNPRO   = DYNPRO.

  BDCDATA-DYNBEGIN = 'X'.

  APPEND BDCDATA.

ENDFORM.

 

 

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

*        Insert field                                                  *

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

FORM BDC_FIELD USING FNAM FVAL.

  IF FVAL <> SPACE.

    CLEAR BDCDATA.

    BDCDATA-FNAM = FNAM.

    BDCDATA-FVAL = FVAL.

    APPEND BDCDATA.

  ENDIF.

ENDFORM.

 

 

Thanks


Viewing all articles
Browse latest Browse all 8877

Trending Articles



<script src="https://jsc.adskeeper.com/r/s/rssing.com.1596347.js" async> </script>