Skip to Content
0
Former Member
Jul 17, 2008 at 06:34 PM

query in customer master data upload ....?

179 Views

Hi Guru's,

I am uploading the customer master data from presentaion server to customer tables using functional module SD_CUSTOMER_MAINTAIN_ALL.

while check the Function module separatly and it working properley and i am able to ctere customer...

and i am using the same function module in the program i am unable to upload ..could please check and let me know where i am doing mistake in the below program logis..and values also moving properly before calling function module..while calling the functinal module the controle comming out of the loop and program went to dump i am able to see the message in dump as like this(it may helpfull for resolve):

Name of function module...............: "SD_CUSTOMER_MAINTAIN_ALL"

Name of formal parameter..............: "O_KNA1"

Technical type of actual parameter....: "C"

Technical length of actual parameter..: 20 bytes

Technical type of formal parameter....: "u"

Technical length of formal parameter..: 3634 bytes

Name of formal parameter at caller....: "O_KNA1"

&----


*& Report ZERP_CUSTOMER_CREATE_UPLOAD

*&

&----


*&

*&

&----


REPORT zerp_customer_create_upload.

PARAMETERS:p_files TYPE string.

*DATA :xkunnr(10) LIKE kna1-kunnr. "unique KUNNR

DATA: gs_i_kna1 TYPE kna1,

gs_i_knb1 TYPE knb1,

gs_i_knvv TYPE knvv,

gs_return TYPE bapireturn1,

gs_i_bapiaddr1 TYPE bapiaddr1,

gt_t_xknvi TYPE STANDARD TABLE OF fknvi,

gwa_t_xknvi TYPE fknvi,

gt_t_xknbk TYPE STANDARD TABLE OF fknbk,

gwa_t_xknbk TYPE fknbk,

gt_t_yknvp TYPE STANDARD TABLE OF fknvp,

gwa_t_xknvp TYPE fknvp.

TYPES:BEGIN OF gty_itab1,

abc(305),

END OF gty_itab1.

DATA: gt_itab1 TYPE STANDARD TABLE OF gty_itab1,

gwa_itab1 TYPE gty_itab1.

TYPES :BEGIN OF gty_itab2,

ktokd(4), "customer account grp kna1

kunnr(10), "customer kna1

name1(35), "name1 kna1

sortl(10), "sort filed kna1

stras(35), "house number and adres kna1

pstlz(10), "postal code kna1

ort01(35), "city kna1

land1(3), "country kna1

telf1(16), "tele phone no kna1

telfx(31), "fax num kna1

kukla(2), "cust classificaion kna1

bukrs(4), "company code knb1

akont(10), "reconcilation acct knb1

vkorg(4), "sales org knvv

vtweg(2), "distr chan knvv

spart(2), "division knvv

zterm(4), "terms of payment knvv

bzirk(6), "sales district knvv

vkbur(4), "sales office knvv

vkgrp(3), "sales grp knvv

kdgrp(2), "cust grp knvv

waers(5), "currency knvv

konda(2), "price grp knvv

kalks(1), "pricing procedure assign knvv

lprio(2), "delivery plant knvv

vsbed(2), "shipping conditions knvv

vwerk(4), "delivering plant knvv

inco1(3), "inco1 knvv

inco2(28), "inco2 knvv

kkber(4), "cred control area knvv

ktgrd(2), "acc assgn grp knvv

taxkd(1), "tax classification 4 cust knvi

bankn(18), "bank account number knbk -


xkunnr(10),

END OF gty_itab2.

DATA: gt_itab2 TYPE STANDARD TABLE OF gty_itab2,

gwa_itab2 TYPE gty_itab2.

CALL FUNCTION 'GUI_UPLOAD'

EXPORTING

filename = p_files

filetype = 'ASC'

TABLES

data_tab = gt_itab1

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.

LOOP AT gt_itab1 INTO gwa_itab1.

gwa_itab2 = gwa_itab1-abc(305).

APPEND gwa_itab2 TO gt_itab2.

ENDLOOP.

LOOP AT gt_itab2 INTO gwa_itab2.

SPLIT gwa_itab2 AT ',' INTO gwa_itab2-ktokd

gwa_itab2-kunnr

gwa_itab2-name1 gwa_itab2-sortl

gwa_itab2-stras gwa_itab2-pstlz

gwa_itab2-ort01 gwa_itab2-land1

gwa_itab2-telf1 gwa_itab2-telfx

gwa_itab2-kukla gwa_itab2-bukrs

gwa_itab2-akont gwa_itab2-vkorg

gwa_itab2-vtweg gwa_itab2-spart

gwa_itab2-zterm gwa_itab2-bzirk

gwa_itab2-vkbur gwa_itab2-vkgrp

gwa_itab2-kdgrp gwa_itab2-waers

gwa_itab2-konda gwa_itab2-kalks

gwa_itab2-lprio gwa_itab2-vsbed

gwa_itab2-vwerk gwa_itab2-inco1

gwa_itab2-inco2 gwa_itab2-kkber

gwa_itab2-ktgrd

gwa_itab2-taxkd

gwa_itab2-bankn.

*moving files values from ITAB2 work area to global structure related to FM.

gs_i_kna1-ktokd = gwa_itab2-ktokd.

gs_i_kna1-kunnr = gwa_itab2-kunnr.

gs_i_kna1-name1 = gwa_itab2-name1.

gs_i_kna1-sortl = gwa_itab2-sortl.

gs_i_kna1-stras = gwa_itab2-stras.

gs_i_kna1-pstlz = gwa_itab2-pstlz.

gs_i_kna1-ort01 = gwa_itab2-ort01.

gs_i_kna1-regio = gwa_itab2-land1.

gs_i_kna1-telf1 = gwa_itab2-telf1.

gs_i_kna1-telfx = gwa_itab2-telfx.

gs_i_kna1-kukla = gwa_itab2-kukla.

gs_i_knb1-bukrs = gwa_itab2-bukrs.

gs_i_knb1-akont = gwa_itab2-akont.

*I FOR GOT TO INCLUDE THE ZTERM VALUE IN EXCELL SHEET SO INCLUDED HARD CODE HERE

gs_i_knb1-zterm = '0001'.

gs_i_knvv-vkorg = gwa_itab2-vkorg.

gs_i_knvv-vtweg = gwa_itab2-vtweg.

gs_i_knvv-spart = gwa_itab2-spart.

gs_i_knvv-zterm = gwa_itab2-zterm.

gs_i_knvv-bzirk = gwa_itab2-bzirk.

gs_i_knvv-vkbur = gwa_itab2-vkbur.

gs_i_knvv-vkgrp = gwa_itab2-vkgrp.

gs_i_knvv-kdgrp = gwa_itab2-kdgrp.

gs_i_knvv-waers = gwa_itab2-waers.

gs_i_knvv-konda = gwa_itab2-konda.

gs_i_knvv-kalks = gwa_itab2-kalks.

gs_i_knvv-lprio = '02'. "gwa_itab2-lprio.

gs_i_knvv-vsbed = gwa_itab2-vsbed.

gs_i_knvv-vwerk = gwa_itab2-vwerk.

gs_i_knvv-inco1 = gwa_itab2-inco1.

gs_i_knvv-inco2 = gwa_itab2-inco2.

gs_i_knvv-kkber = gwa_itab2-kkber.

gs_i_knvv-ktgrd = gwa_itab2-ktgrd.

gwa_t_xknvi-tatyp = 'UTXJ'. "HARD CODE

gwa_t_xknvi-aland = 'US'. "HARD CODED

gwa_t_xknvi-kz = '0'. "HADR CODE

gwa_t_xknvi-taxkd = '0'. "gwa_itab2-taxkd.

APPEND gwa_t_xknvi TO gt_t_xknvi.

gwa_t_xknbk-bankn = gwa_itab2-bankn.

APPEND gwa_t_xknbk TO gt_t_xknbk.

gs_i_knb1-lockb = 'X'.

gs_i_knvv-kzazu = 'X'.

gs_i_knvv-kztlf = 'X'.

gs_i_knvv-perfk = 'X'.

gs_i_knvv-prfre = 'X'.

gs_i_kna1-spras = 'EN'.

CALL FUNCTION 'SD_CUSTOMER_MAINTAIN_ALL'

EXPORTING

i_kna1 = gs_i_kna1

i_knb1 = gs_i_knb1

i_knvv = gs_i_knvv

  • I_BAPIADDR1 =

  • I_BAPIADDR2 =

  • I_MAINTAIN_ADDRESS_BY_KNA1 = ' '

  • I_KNB1_REFERENCE = ' '

  • I_FORCE_EXTERNAL_NUMBER_RANGE = ' '

  • I_NO_BANK_MASTER_UPDATE = ' '

  • I_CUSTOMER_IS_CONSUMER = ' '

  • I_RAISE_NO_BTE = ' '

  • PI_POSTFLAG = ' '

  • PI_CAM_CHANGED = ' '

  • PI_ADD_ON_DATA =

  • I_FROM_CUSTOMERMASTER = ' '

  • IMPORTING

  • e_kunnr = xkunnr

  • o_kna1 = xkunnr

  • E_SD_CUST_1321_DONE =

TABLES

  • T_XKNAS =

t_xknbk = gt_t_xknbk

  • T_XKNB5 =

  • T_XKNEX =

  • T_XKNVA =

  • T_XKNVD =

t_xknvi = gt_t_xknvi

  • T_XKNVK =

  • T_XKNVL =

  • T_XKNVP =

  • T_XKNZA =

  • T_YKNAS =

  • T_YKNBK =

  • T_YKNB5 =

  • T_YKNEX =

  • T_YKNVA =

  • T_YKNVD =

  • T_YKNVI =

  • T_YKNVK =

  • T_YKNVL =

t_yknvp = gt_t_yknvp

  • T_YKNZA =

  • T_UPD_TXT =

EXCEPTIONS

client_error = 1

kna1_incomplete = 2

knb1_incomplete = 3

knb5_incomplete = 4

knvv_incomplete = 5

kunnr_not_unique = 6

sales_area_not_unique = 7

sales_area_not_valid = 8

insert_update_conflict = 9

number_assignment_error = 10

number_not_in_range = 11

number_range_not_extern = 12

number_range_not_intern = 13

account_group_not_valid = 14

parnr_invalid = 15

bank_address_invalid = 16

tax_data_not_valid = 17

no_authority = 18

company_code_not_unique = 19

dunning_data_not_valid = 20

knb1_reference_invalid = 21

cam_error = 22

OTHERS = 23.

IF sy-subrc <> 0.

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

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

ENDIF.

IF sy-subrc EQ 0.

CALL FUNCTION 'BAPI_TRANSACTION_ROLLBACK'.

WRITE: / 'Error Message:', 'error in creation'.

ELSE.

CALL FUNCTION 'BAPI_TRANSACTION_COMMIT'.

WRITE: / 'costomer', gwa_itab2-kunnr, 'created'.

ENDIF.

ENDLOOP.