Skip to Content
0
Former Member
Sep 17, 2007 at 02:20 PM

BDC UPLOAD USING SALES ORDER

33 Views

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