Application Development and Automation 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: 
Read only

BDC UPLOAD USING SALES ORDER

Former Member
0 Likes
570

HAI EXPERTS,

I AM TRYING TO CREATE SALES ORDER USING XD01 BUT IN GUI UPLOAD WHEN UPLOADING THE INTERNAL TABLE CONTAINS ## ,,, HOW TO REGRET THIS.

REPORT z_ind_xd01_test

NO STANDARD PAGE HEADING LINE-SIZE 255.

DATA : BEGIN OF i_knvv OCCURS 0,

kunnr LIKE knvv-kunnr,

vkorg LIKE knvv-vkorg,

vtweg LIKE knvv-vtweg,

spart LIKE knvv-spart,

bzirk LIKE knvv-bzirk,

vkbur LIKE knvv-vkbur,

vkgrp LIKE knvv-vkgrp,

kdgrp LIKE knvv-kdgrp,

konda LIKE knvv-konda,

kalks LIKE knvv-kalks,

pltyp LIKE knvv-pltyp,

vwerk LIKE knvv-vwerk,

zterm LIKE knvv-zterm,

taxkd LIKE knvi-taxkd(01),

END OF i_knvv.

INCLUDE bdcrecx1.

SELECTION-SCREEN BEGIN OF BLOCK 001.

PARAMETERS : upload LIKE rlgrap-filename,

check AS CHECKBOX.

SELECTION-SCREEN END OF BLOCK 001.

AT SELECTION-SCREEN ON VALUE-REQUEST FOR upload.

PERFORM 100_GET.

PERFORM 200_GUI_UPLOAD.

START-OF-SELECTION.

PERFORM open_group.

LOOP AT I_KNVV.

PERFORM bdc_dynpro USING 'SAPMF02D' '0100'.

PERFORM bdc_field USING 'BDC_CURSOR' 'RF02D-SPART'.

PERFORM bdc_field USING 'BDC_OKCODE' '/00'.

PERFORM bdc_field USING 'RF02D-KUNNR' i_knvv-KUNNR.

PERFORM bdc_field USING 'RF02D-VKORG' i_knvv-VKORG.

PERFORM bdc_field USING 'RF02D-VTWEG' i_knvv-VTWEG.

PERFORM bdc_field USING 'RF02D-SPART' i_knvv-SPART.

PERFORM bdc_dynpro USING 'SAPMF02D' '7100'.

PERFORM bdc_field USING 'RF02D-KTOKD' '0001'.

PERFORM bdc_field USING 'RF02D-KUNNR' '500094'.

PERFORM bdc_field USING 'RF02D-VKORG' 'AU10'.

PERFORM bdc_dynpro USING 'SAPMF02D' '0110'.

PERFORM bdc_field USING 'BDC_CURSOR' 'KNA1-SPRAS'.

PERFORM bdc_field USING 'BDC_OKCODE' 'UPDA'.

PERFORM bdc_field USING 'KNA1-ANRED' 'company'.

PERFORM bdc_field USING 'KNA1-NAME1' 'perisoft'.

PERFORM bdc_field USING 'KNA1-SORTL' '1'.

PERFORM bdc_field USING 'KNA1-ORT01' 'chennai'.

PERFORM bdc_field USING 'KNA1-LAND1' 'AU'.

PERFORM bdc_field USING 'KNA1-SPRAS' 'en'.

PERFORM bdc_field USING 'KNA1-PSTLZ' '123456'.

PERFORM bdc_dynpro USING 'SAPMF02D' '0120'.

PERFORM bdc_field USING 'BDC_CURSOR' 'KNA1-LZONE'.

PERFORM bdc_field USING 'BDC_OKCODE' '=VW'.

PERFORM bdc_field USING 'KNA1-LZONE' '0000000001'.

PERFORM bdc_dynpro USING 'SAPMF02D' '0125'.

PERFORM bdc_field USING 'BDC_CURSOR' 'KNA1-NIELS'.

PERFORM bdc_field USING 'BDC_OKCODE' '=VW'.

PERFORM bdc_dynpro USING 'SAPMF02D' '0130'.

PERFORM bdc_field USING 'BDC_CURSOR' 'KNBK-BANKS(01)'.

PERFORM bdc_field USING 'BDC_OKCODE' '=VW'.

PERFORM bdc_dynpro USING 'SAPMF02D' '0340'.

PERFORM bdc_field USING 'BDC_CURSOR' 'RF02D-KUNNR'.

PERFORM bdc_field USING 'BDC_OKCODE' '=VW'.

PERFORM bdc_dynpro USING 'SAPMF02D' '0370'.

PERFORM bdc_field USING 'BDC_CURSOR' 'RF02D-KUNNR'.

PERFORM bdc_field USING 'BDC_OKCODE' '=VW'.

PERFORM bdc_field USING 'KNA1-CIVVE' 'X'.

PERFORM bdc_dynpro USING 'SAPMF02D' '0360'.

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

PERFORM bdc_field USING 'BDC_OKCODE' '=VW'.

PERFORM bdc_dynpro USING 'SAPMF02D' '0310'.

PERFORM bdc_field USING 'BDC_CURSOR' 'KNVV-PLTYP'.

PERFORM bdc_field USING 'BDC_OKCODE' '=VW'.

PERFORM bdc_field USING 'KNVV-BZIRK' i_knvv-BZIRK.

PERFORM bdc_field USING 'KNVV-AWAHR' '100'.

PERFORM bdc_field USING 'KNVV-VKBUR' i_knvv-VKBUR.

PERFORM bdc_field USING 'KNVV-VKGRP' i_knvv-VKGRP.

PERFORM bdc_field USING 'KNVV-KDGRP' i_knvv-KDGRP.

PERFORM bdc_field USING 'KNVV-WAERS' 'AUD'.

PERFORM bdc_field USING 'KNVV-KONDA' i_knvv-KONDA.

PERFORM bdc_field USING 'KNVV-KALKS' i_knvv-KALKS.

PERFORM bdc_field USING 'KNVV-PLTYP' i_knvv-PLTYP.

PERFORM bdc_dynpro USING 'SAPMF02D' '0315'.

PERFORM bdc_field USING 'BDC_CURSOR' 'KNVV-VWERK'.

PERFORM bdc_field USING 'BDC_OKCODE' '=VW'.

PERFORM bdc_field USING 'KNVV-KZAZU' 'X'.

PERFORM bdc_field USING 'KNVV-VSBED' '02'.

PERFORM bdc_field USING 'KNVV-VWERK' i_knvv-VWERK.

PERFORM bdc_field USING 'KNVV-ANTLF' '9'.

PERFORM bdc_dynpro USING 'SAPMF02D' '0320'.

PERFORM bdc_field USING 'BDC_CURSOR' 'KNVV-ZTERM'.

PERFORM bdc_field USING 'BDC_OKCODE' '=VW'.

PERFORM bdc_field USING 'KNVV-ZTERM' i_knvv-ZTERM.

PERFORM bdc_dynpro USING 'SAPMF02D' '1350'.

PERFORM bdc_field USING 'BDC_CURSOR' 'KNVI-TAXKD(01)'.

PERFORM bdc_field USING 'BDC_OKCODE' '=VW'.

PERFORM bdc_field USING 'KNVI-TAXKD(01)' i_knvv-TAXKD.

PERFORM bdc_dynpro USING 'SAPMF02D' '0324'.

PERFORM bdc_field USING 'BDC_CURSOR' 'KNVP-PARVW(01)'.

PERFORM bdc_field USING 'BDC_OKCODE' '=VW'.

PERFORM bdc_transaction USING 'XD01'.

ENDLOOP.

PERFORM close_group.

&----


*& Form 100_GET

&----


  • text

FORM 100_GET .

CALL FUNCTION 'WS_FILENAME_GET'

  • EXPORTING

  • DEF_FILENAME = ' '

  • DEF_PATH = ' '

  • MASK = ' '

  • MODE = ' '

  • TITLE = ' '

IMPORTING

FILENAME = UPLOAD

  • RC =

  • EXCEPTIONS

  • INV_WINSYS = 1

  • NO_BATCH = 2

  • SELECTION_CANCEL = 3

  • SELECTION_ERROR = 4

  • OTHERS = 5

.

IF sy-subrc <> 0.

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

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

ENDIF.

ENDFORM. " 100_GET

*FORM TOP.

*ENDFORM.

&----


*& Form 200_GUI_UPLOAD

&----


  • text

----


form 200_GUI_UPLOAD .

*

*CALL FUNCTION 'WS_UPLOAD'

  • EXPORTING

    • CODEPAGE = ' '

  • FILENAME = UPLOAD

  • FILETYPE = 'XLS'

    • HEADLEN = ' '

    • LINE_EXIT = ' '

    • TRUNCLEN = ' '

    • USER_FORM = ' '

    • USER_PROG = ' '

    • DAT_D_FORMAT = ' '

    • IMPORTING

    • FILELENGTH =

  • TABLES

  • data_tab = i_knvv

    • EXCEPTIONS

    • CONVERSION_ERROR = 1

    • FILE_OPEN_ERROR = 2

    • FILE_READ_ERROR = 3

    • INVALID_TYPE = 4

    • NO_BATCH = 5

    • UNKNOWN_ERROR = 6

    • INVALID_TABLE_WIDTH = 7

    • GUI_REFUSE_FILETRANSFER = 8

    • CUSTOMER_ERROR = 9

    • NO_AUTHORITY = 10

    • OTHERS = 11

  • .

*IF sy-subrc <> 0.

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

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

*ENDIF.

data : WA type string.

WA = UPLOAD.

*

CALL FUNCTION 'GUI_UPLOAD'

EXPORTING

filename = WA

FILETYPE = 'ASC'

HAS_FIELD_SEPARATOR = 'X'

  • HEADER_LENGTH = 0

  • READ_BY_LINE = 'X'

  • DAT_MODE = 'X'

  • CODEPAGE = 'IBM'

  • IGNORE_CERR = ABAP_TRUE

  • REPLACEMENT = '#'

  • CHECK_BOM = ' '

  • VIRUS_SCAN_PROFILE =

  • NO_AUTH_CHECK = ' '

  • IMPORTING

  • FILELENGTH =

  • HEADER =

TABLES

data_tab = i_knvv

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.

ENDIF.

*

endform. " 200_GUI_UPLOAD

HAI EXPERTS,

I AM TRYING TO CREATE SALES ORDER USING XD01 BUT IN GUI UPLOAD WHEN UPLOADING THE INTERNAL TABLE CONTAINS ## ,,, HOW TO REGRET THIS.

REPORT z_ind_xd01_test

NO STANDARD PAGE HEADING LINE-SIZE 255.

DATA : BEGIN OF i_knvv OCCURS 0,

kunnr LIKE knvv-kunnr,

vkorg LIKE knvv-vkorg,

vtweg LIKE knvv-vtweg,

spart LIKE knvv-spart,

bzirk LIKE knvv-bzirk,

vkbur LIKE knvv-vkbur,

vkgrp LIKE knvv-vkgrp,

kdgrp LIKE knvv-kdgrp,

konda LIKE knvv-konda,

kalks LIKE knvv-kalks,

pltyp LIKE knvv-pltyp,

vwerk LIKE knvv-vwerk,

zterm LIKE knvv-zterm,

taxkd LIKE knvi-taxkd(01),

END OF i_knvv.

INCLUDE bdcrecx1.

SELECTION-SCREEN BEGIN OF BLOCK 001.

PARAMETERS : upload LIKE rlgrap-filename,

check AS CHECKBOX.

SELECTION-SCREEN END OF BLOCK 001.

AT SELECTION-SCREEN ON VALUE-REQUEST FOR upload.

PERFORM 100_GET.

PERFORM 200_GUI_UPLOAD.

START-OF-SELECTION.

PERFORM open_group.

LOOP AT I_KNVV.

PERFORM bdc_dynpro USING 'SAPMF02D' '0100'.

PERFORM bdc_field USING 'BDC_CURSOR' 'RF02D-SPART'.

PERFORM bdc_field USING 'BDC_OKCODE' '/00'.

PERFORM bdc_field USING 'RF02D-KUNNR' i_knvv-KUNNR.

PERFORM bdc_field USING 'RF02D-VKORG' i_knvv-VKORG.

PERFORM bdc_field USING 'RF02D-VTWEG' i_knvv-VTWEG.

PERFORM bdc_field USING 'RF02D-SPART' i_knvv-SPART.

PERFORM bdc_dynpro USING 'SAPMF02D' '7100'.

PERFORM bdc_field USING 'RF02D-KTOKD' '0001'.

PERFORM bdc_field USING 'RF02D-KUNNR' '500094'.

PERFORM bdc_field USING 'RF02D-VKORG' 'AU10'.

PERFORM bdc_dynpro USING 'SAPMF02D' '0110'.

PERFORM bdc_field USING 'BDC_CURSOR' 'KNA1-SPRAS'.

PERFORM bdc_field USING 'BDC_OKCODE' 'UPDA'.

PERFORM bdc_field USING 'KNA1-ANRED' 'company'.

PERFORM bdc_field USING 'KNA1-NAME1' 'perisoft'.

PERFORM bdc_field USING 'KNA1-SORTL' '1'.

PERFORM bdc_field USING 'KNA1-ORT01' 'chennai'.

PERFORM bdc_field USING 'KNA1-LAND1' 'AU'.

PERFORM bdc_field USING 'KNA1-SPRAS' 'en'.

PERFORM bdc_field USING 'KNA1-PSTLZ' '123456'.

PERFORM bdc_dynpro USING 'SAPMF02D' '0120'.

PERFORM bdc_field USING 'BDC_CURSOR' 'KNA1-LZONE'.

PERFORM bdc_field USING 'BDC_OKCODE' '=VW'.

PERFORM bdc_field USING 'KNA1-LZONE' '0000000001'.

PERFORM bdc_dynpro USING 'SAPMF02D' '0125'.

PERFORM bdc_field USING 'BDC_CURSOR' 'KNA1-NIELS'.

PERFORM bdc_field USING 'BDC_OKCODE' '=VW'.

PERFORM bdc_dynpro USING 'SAPMF02D' '0130'.

PERFORM bdc_field USING 'BDC_CURSOR' 'KNBK-BANKS(01)'.

PERFORM bdc_field USING 'BDC_OKCODE' '=VW'.

PERFORM bdc_dynpro USING 'SAPMF02D' '0340'.

PERFORM bdc_field USING 'BDC_CURSOR' 'RF02D-KUNNR'.

PERFORM bdc_field USING 'BDC_OKCODE' '=VW'.

PERFORM bdc_dynpro USING 'SAPMF02D' '0370'.

PERFORM bdc_field USING 'BDC_CURSOR' 'RF02D-KUNNR'.

PERFORM bdc_field USING 'BDC_OKCODE' '=VW'.

PERFORM bdc_field USING 'KNA1-CIVVE' 'X'.

PERFORM bdc_dynpro USING 'SAPMF02D' '0360'.

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

PERFORM bdc_field USING 'BDC_OKCODE' '=VW'.

PERFORM bdc_dynpro USING 'SAPMF02D' '0310'.

PERFORM bdc_field USING 'BDC_CURSOR' 'KNVV-PLTYP'.

PERFORM bdc_field USING 'BDC_OKCODE' '=VW'.

PERFORM bdc_field USING 'KNVV-BZIRK' i_knvv-BZIRK.

PERFORM bdc_field USING 'KNVV-AWAHR' '100'.

PERFORM bdc_field USING 'KNVV-VKBUR' i_knvv-VKBUR.

PERFORM bdc_field USING 'KNVV-VKGRP' i_knvv-VKGRP.

PERFORM bdc_field USING 'KNVV-KDGRP' i_knvv-KDGRP.

PERFORM bdc_field USING 'KNVV-WAERS' 'AUD'.

PERFORM bdc_field USING 'KNVV-KONDA' i_knvv-KONDA.

PERFORM bdc_field USING 'KNVV-KALKS' i_knvv-KALKS.

PERFORM bdc_field USING 'KNVV-PLTYP' i_knvv-PLTYP.

PERFORM bdc_dynpro USING 'SAPMF02D' '0315'.

PERFORM bdc_field USING 'BDC_CURSOR' 'KNVV-VWERK'.

PERFORM bdc_field USING 'BDC_OKCODE' '=VW'.

PERFORM bdc_field USING 'KNVV-KZAZU' 'X'.

PERFORM bdc_field USING 'KNVV-VSBED' '02'.

PERFORM bdc_field USING 'KNVV-VWERK' i_knvv-VWERK.

PERFORM bdc_field USING 'KNVV-ANTLF' '9'.

PERFORM bdc_dynpro USING 'SAPMF02D' '0320'.

PERFORM bdc_field USING 'BDC_CURSOR' 'KNVV-ZTERM'.

PERFORM bdc_field USING 'BDC_OKCODE' '=VW'.

PERFORM bdc_field USING 'KNVV-ZTERM' i_knvv-ZTERM.

PERFORM bdc_dynpro USING 'SAPMF02D' '1350'.

PERFORM bdc_field USING 'BDC_CURSOR' 'KNVI-TAXKD(01)'.

PERFORM bdc_field USING 'BDC_OKCODE' '=VW'.

PERFORM bdc_field USING 'KNVI-TAXKD(01)' i_knvv-TAXKD.

PERFORM bdc_dynpro USING 'SAPMF02D' '0324'.

PERFORM bdc_field USING 'BDC_CURSOR' 'KNVP-PARVW(01)'.

PERFORM bdc_field USING 'BDC_OKCODE' '=VW'.

PERFORM bdc_transaction USING 'XD01'.

ENDLOOP.

PERFORM close_group.

&----


*& Form 100_GET

&----


  • text

FORM 100_GET .

CALL FUNCTION 'WS_FILENAME_GET'

  • EXPORTING

  • DEF_FILENAME = ' '

  • DEF_PATH = ' '

  • MASK = ' '

  • MODE = ' '

  • TITLE = ' '

IMPORTING

FILENAME = UPLOAD

  • RC =

  • EXCEPTIONS

  • INV_WINSYS = 1

  • NO_BATCH = 2

  • SELECTION_CANCEL = 3

  • SELECTION_ERROR = 4

  • OTHERS = 5

.

IF sy-subrc <> 0.

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

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

ENDIF.

ENDFORM. " 100_GET

*FORM TOP.

*ENDFORM.

&----


*& Form 200_GUI_UPLOAD

&----


  • text

----


form 200_GUI_UPLOAD .

*

*CALL FUNCTION 'WS_UPLOAD'

  • EXPORTING

    • CODEPAGE = ' '

  • FILENAME = UPLOAD

  • FILETYPE = 'XLS'

    • HEADLEN = ' '

    • LINE_EXIT = ' '

    • TRUNCLEN = ' '

    • USER_FORM = ' '

    • USER_PROG = ' '

    • DAT_D_FORMAT = ' '

    • IMPORTING

    • FILELENGTH =

  • TABLES

  • data_tab = i_knvv

    • EXCEPTIONS

    • CONVERSION_ERROR = 1

    • FILE_OPEN_ERROR = 2

    • FILE_READ_ERROR = 3

    • INVALID_TYPE = 4

    • NO_BATCH = 5

    • UNKNOWN_ERROR = 6

    • INVALID_TABLE_WIDTH = 7

    • GUI_REFUSE_FILETRANSFER = 8

    • CUSTOMER_ERROR = 9

    • NO_AUTHORITY = 10

    • OTHERS = 11

  • .

*IF sy-subrc <> 0.

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

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

*ENDIF.

data : WA type string.

WA = UPLOAD.

*

CALL FUNCTION 'GUI_UPLOAD'

EXPORTING

filename = WA

FILETYPE = 'ASC'

HAS_FIELD_SEPARATOR = 'X'

  • HEADER_LENGTH = 0

  • READ_BY_LINE = 'X'

  • DAT_MODE = 'X'

  • CODEPAGE = 'IBM'

  • IGNORE_CERR = ABAP_TRUE

  • REPLACEMENT = '#'

  • CHECK_BOM = ' '

  • VIRUS_SCAN_PROFILE =

  • NO_AUTH_CHECK = ' '

  • IMPORTING

  • FILELENGTH =

  • HEADER =

TABLES

data_tab = i_knvv

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.

ENDIF.

*

endform. " 200_GUI_UPLOAD

2 REPLIES 2
Read only

Former Member
0 Likes
537

Hi,

That may be the field separator., check that

Regards

Sudheer

Read only

Former Member
0 Likes
537

hi

may b the structure of the file and the internal table is not same....check that