‎2007 May 16 10:50 AM
I am using BAPI_GOODSMVT_CREATE for transfer posting, I am passing the following parameters for calling BAPI
gm_code = 04
POsting date, Refrence document no, Document date : To header table
Material, quantity, plant, strg loc, mvmt type, batch, sales order, salesorder item, purchase order, ref_doc no : To item table
But, when I run the BAPI, the return code show error:
E: EV1 045 Enter the Document Number
Can anyone provide help on this?
Thanks in advance,
Chentha
‎2007 May 16 11:46 AM
Hi dear,
Look this code :
T_HEADER-PSTNG_DATE = SY-DATLO.
T_HEADER-DOC_DATE = SY-DATLO.
T_HEADER-PR_UNAME = SY-UNAME.
SELECT SINGLE KUNNR
INTO T_ITEM-CUSTOMER
FROM VBAK
WHERE VBELN = W_VBELN%.
T_ITEM-MATERIAL = W_MATNR%.
T_ITEM-PLANT = W_WERKS%.
T_ITEM-STGE_LOC = W_CLGORT.
IF W_CLGORT = ' '.
T_ITEM-STGE_LOC = W_RLGORT.
ENDIF.
IF ZZLGORT_SER_COMP IS INITIAL.
T_ITEM-MOVE_STLOC = W_RLGORT.
ELSE.
T_ITEM-MOVE_STLOC = ZZLGORT_SER_COMP.
CLEAR ZZLGORT_SER_COMP.
ENDIF.
T_ITEM-MOVE_TYPE = W_BWART.
T_ITEM-SPEC_STOCK = W_SOBKZ.
T_ITEM-BATCH = P_CHARG.
T_ITEM-ENTRY_QNT = P_MENGE.
T_ITEM-ORDERID = P_AUFNR.
IF W_BWART = W_MVT_CT+0(3) AND
W_SOBKZ = W_MVT_CT+3(1).
CLEAR: T_ITEM-SALES_ORD,
T_ITEM-S_ORD_ITEM.
ELSE.
T_ITEM-SALES_ORD = W_VBELN%.
T_ITEM-S_ORD_ITEM = W_POSNR%.
ENDIF.
T_ITEM-VAL_SALES_ORD = T_ITEM-SALES_ORD.
T_ITEM-VAL_S_ORD_ITEM = T_ITEM-S_ORD_ITEM.
T_ITEM-MOVE_REAS = P_REACODE.
T_ITEM-VAL_TYPE = P_W_BWTAR.
T_ITEM-RESERV_NO = P_W_RSNUM.
FOR ROTABLE ORDER TYPE
IF W_RTB_FLAG = 'X'.
T_ITEM-MVT_IND = 'F'.
ENDIF.
IF P_RCHARG <> 'X'.
T_ITEM-MOVE_BATCH = P_RCHARG.
ENDIF.
IF P_W_RSNUM <> ' '.
SELECT SINGLE RSPOS RSART
FROM RESB
INTO (T_ITEM-RES_ITEM, T_ITEM-RES_TYPE)
WHERE AUFNR = P_AUFNR.
ENDIF.
IF NOT ZZREASON IS INITIAL.
T_ITEM-MOVE_REAS = ZZREASON.
ENDIF.
APPEND T_ITEM.
CLEAR: E_W_MBLNR,
E_W_MJAHR.
CLEAR ZZLASTMATDOC.
REFRESH T_BAPIRET2.
CLEAR T_BAPIRET2.
IF P_BWART+0(3) = '961' OR
P_BWART+0(3) = '944' OR
P_BWART+0(3) = '951'.
EXPORT P_MVT_CODE TO MEMORY ID 'MVT_CODE'.
EXPORT T_ITEM[] TO MEMORY ID 'ITEM'.
EXPORT T_TSERIAL[] TO MEMORY ID 'TSERIAL'.
SUBMIT Z_CALL_961BAPI AND RETURN.
IMPORT T_BAPIRET2[] FROM MEMORY ID 'RET'.
FREE MEMORY ID 'RET'.
IMPORT E_W_MBLNR FROM MEMORY ID 'MBLNR'.
FREE MEMORY ID 'MBLNR'.
ELSE.
CALL FUNCTION 'BAPI_GOODSMVT_CREATE'
EXPORTING
GOODSMVT_HEADER = T_HEADER
GOODSMVT_CODE = P_MVT_CODE
TESTRUN = ' '
IMPORTING
GOODSMVT_HEADRET =
MATERIALDOCUMENT = E_W_MBLNR
MATDOCUMENTYEAR = E_W_MJAHR
TABLES
GOODSMVT_ITEM = T_ITEM
GOODSMVT_SERIALNUMBER = T_TSERIAL
RETURN = T_BAPIRET2.
If thank full pl'z give the reward point from the right
Bye