‎2008 Jul 24 8:48 AM
hi guys,
i am using BAPI_CUSTOMER_CREATEFROMDATA1 bapi to create a customer ,
CALL FUNCTION 'BAPI_CUSTOMER_CREATEFROMDATA1'
EXPORTING
PI_PERSONALDATA = gt_PERSONALDATA
PI_COPYREFERENCE = GT_COPYREFERENCE
IMPORTING
CUSTOMERNO = gs_CUSTOMERNO
TABLES
return = gt_return.
GT_COPYREFERENCE is of the type
types: begin of gs_itab,
vkorg TYPE VKORG,
vtweg TYPE VTWEG,
spart TYPE SPART,
REFKUNNR TYPE REFKUNNR,
end of gs_itab.
when i run the program i am getting an error, type is correct but length is incorrect whereas i have checked the structure of pi_copyrefernce its the same.
what is the solution to this?
‎2008 Jul 24 8:55 AM
Hi Nishant,
Define Your structure GT_COPYREFERENCE with type BAPIKNA102.
Regards,
Sandeep
‎2008 Jul 24 9:15 AM
i tried that it still showing length error.
this is my code ..i am uploading a flat file which conatins data
data : gs_customerno like BAPIKNA103-CUSTOMER ,
gs_PERSONALDATA type BAPIKNA101_1,
gt_PERSONALDATA type standard table of BAPIKNA101_1,
gwa_PERSONALDATA type BAPIKNA101_1,
gt_return type standard table of BAPIRETURN1,
gwa_bapiret2 type BAPIRETURN1,
gs_COPYREFERENCE TYPE BAPIKNA102,
gt_COPYREFERENCE TYPE standard table of BAPIKNA102,
gwa_COPYREFERENCE TYPE BAPIKNA102.
types: begin of gty_itab1,
AD_NAMEFIR(40),
AD_CITY2(40),
AD_PSTCD1(10),
LAND1(3),
REGIO(3),
end of gty_itab1.
data: gt_itab1 type standard table of gty_itab1 , "INTERNAL TABLE
gwa_itab1 type gty_itab1. " WORK AERA
types: begin of gty_itab3,
abc(132),
end of gty_itab3.
data: gt_itab3 type standard table of gty_itab3, "INTERNAL TABLE
gwa_itab3 type gty_itab3. "WORK AREA
parameter: p_SORG TYPE BAPIKNA102-SALESORG,
P_DCHNL TYPE BAPIKNA102-DISTR_CHAN,
P_DIV TYPE BAPIKNA102-DIVISION,
P_KUNR TYPE BAPIKNA102-REF_CUSTMR.
start-of-selection.
gs_COPYREFERENCE-SALESORG = p_sorg.
gs_COPYREFERENCE-DISTR_CHAN = p_dchnl.
gs_COPYREFERENCE-DIVISION = p_div.
gs_COPYREFERENCE-REF_CUSTMR = p_KUNR.
append gs_COPYREFERENCE TO GT_COPYREFERENCE.
call function 'UPLOAD'
exporting
filename = 'c:\'
filetype = 'ASC'
tables
data_tab = gt_itab3
exceptions
conversion_error = 1
invalid_table_width = 2
invalid_type = 3
no_batch = 4
unknown_error = 0
gui_refuse_filetransfer = 5.
loop at gt_itab3 into gwa_itab3.
gwa_itab1 = gwa_itab3-abc+0(132).
append gwa_itab1 to gt_itab1.
endloop.
loop at gt_itab1 into gwa_itab1.
* FIRST NAME
gs_PERSONALDATA-FIRSTNAME = gwa_itab1-AD_NAMEFIR.
DISTRICT
gs_PERSONALDATA-DISTRICT = gwa_itab1-AD_CITY2.
POSTAL CODE
gs_PERSONALDATA-POSTL_COD1 = gwa_itab1-AD_PSTCD1.
COUNTRY
gs_PERSONALDATA-COUNTRY = gwa_itab1-LAND1.
REGION
gs_PERSONALDATA-REGION = gwa_itab1-REGIO.
append gs_PERSONALDATA to gt_PERSONALDATA.
endloop.
CALL FUNCTION 'BAPI_CUSTOMER_CREATEFROMDATA1'
EXPORTING
PI_PERSONALDATA = gt_PERSONALDATA
PI_COPYREFERENCE = GT_COPYREFERENCE
IMPORTING
CUSTOMERNO = gs_CUSTOMERNO
TABLES
return = gt_return.
* Check the return table.
loop at gt_return into gwa_bapiret2.
if gwa_bapiret2-type = 'S' and
gwa_bapiret2-number = '311'.
* Success message.
write: gwa_bapiret2-message.
call function 'BAPI_TRANSACTION_COMMIT'.
elseif gwa_bapiret2-type = 'E' or
gwa_bapiret2-type = 'A'.
* Error / Abend message
write: / 'Error Message:', gwa_bapiret2-message.
call function 'BAPI_TRANSACTION_ROLLBACK'.
endif.
endloop.
Edited by: nishant patel on Jul 24, 2008 10:33 AM
Edited by: nishant patel on Jul 24, 2008 10:34 AM