10-18-2006 4:30 AM
Hi guys,
The issue here is I can't update the field ZZREPMATNR for VBAP table.
Is there something missing for EXTENSIONIN that I've done?
below is the code:
Populate item number,material number, higher level item
I_ORDER_ITEM_IN-ITM_NUMBER = V_UPD_ITEM.
I_ORDER_ITEM_IN-MATERIAL = P_MATNR.
I_ORDER_ITEM_IN-HG_LV_ITEM = V_SALORD_ITEM.
APPEND I_ORDER_ITEM_IN.
Set flag fields of item number,material number, higher level item
I_ORDER_ITEM_INX-ITM_NUMBER = V_UPD_ITEM.
I_ORDER_ITEM_INX-UPDATEFLAG = V_UPDATE_FLG.
APPEND I_ORDER_ITEM_INX.
If we are deleting the line we do not care to touch the schedule line.
CHECK V_NEW_QTY <> 0.
Populate quantity
I_SCHEDULE_LINES-ITM_NUMBER = V_UPD_ITEM.
I_SCHEDULE_LINES-SCHED_LINE = C_SCHED_LINE.
I_SCHEDULE_LINES-REQ_QTY = P_REQ_QTY + I_ITEM_MATERIAL-KWMENG.
APPEND I_SCHEDULE_LINES.
Set the quantity flag
I_SCHEDULE_LINESX-ITM_NUMBER = V_UPD_ITEM.
I_SCHEDULE_LINESX-SCHED_LINE = C_SCHED_LINE.
I_SCHEDULE_LINESX-REQ_QTY = C_FLAG_X.
I_SCHEDULE_LINESX-UPDATEFLAG = C_FLAG_UPDATE.
APPEND I_SCHEDULE_LINESX.
*start of D10K949074 - add
IF I_ITEM_MATERIAL-PSTYV = 'IRIN'.
DATA: I_EXTENSIONIN TYPE STANDARD TABLE OF BAPIPAREX.
DATA: BEGIN OF T_BAPE_VBAP,
VBELN TYPE VBELN_VA,
POSNR TYPE POSNR_VA,
ZZBWTAR TYPE BWTAR_D,
ZZGRUND TYPE MB_GRBEW,
ZZBWART TYPE BWART,
ZZPOSTP TYPE POSTP,
ZZUSR00 TYPE USRCHAR20,
ZZFPCODE TYPE ZRRB_FPCODE,
ZZFPCHARGE TYPE ZRRB_FPCHARGE,
ZZFPHANDLE TYPE ZRRB_FPHANDLE,
ZZOWNER TYPE ZRRB_OWN,
ZZCLASS TYPE ZRRB_CLASS,
ZZVBILL TYPE ZRRB_VALBILL,
ZZRBILL TYPE ZRRB_REASONBILL,
ZZTYPE TYPE ZRRB_TYPE,
ZZMODULE TYPE PS_POSID,
ZZMODULE2 TYPE ZRRB_MODULE,
ZZEXCHANGE TYPE ZRRB_EXC,
ZZFPEXCHANGE TYPE ZRRB_FPEXCHANGE,
ZZKB TYPE ZRRB_KB,
ZZFPKB TYPE ZRRB_FPKB,
ZZVENDOR TYPE LIFNR,
ZZVENDTYPE TYPE ZRRB_VENDTYPE,
ZZREPMATNR TYPE ZRRB_REPMATNR,
END OF T_BAPE_VBAP.
DATA: BEGIN OF T_BAPE_VBAPX,
VBELN TYPE VBELN_VA,
POSNR TYPE POSNR_VA,
ZZBWTAR TYPE BAPIUPDATE,
ZZGRUND TYPE BAPIUPDATE,
ZZBWART TYPE BAPIUPDATE,
ZZPOSTP TYPE BAPIUPDATE,
ZZUSR00 TYPE BAPIUPDATE,
ZZFPCODE TYPE BAPIUPDATE,
ZZFPCHARGE TYPE BAPIUPDATE,
ZZFPHANDLE TYPE BAPIUPDATE,
ZZOWNER TYPE BAPIUPDATE,
ZZCLASS TYPE BAPIUPDATE,
ZZVBILL TYPE BAPIUPDATE,
ZZRBILL TYPE BAPIUPDATE,
ZZTYPE TYPE BAPIUPDATE,
ZZMODULE TYPE BAPIUPDATE,
ZZMODULE2 TYPE BAPIUPDATE,
ZZEXCHANGE TYPE BAPIUPDATE,
ZZFPEXCHANGE TYPE BAPIUPDATE,
ZZKB TYPE BAPIUPDATE,
ZZFPKB TYPE BAPIUPDATE,
ZZVENDOR TYPE BAPIUPDATE,
ZZVENDTYPE TYPE BAPIUPDATE,
ZZREPMATNR TYPE BAPIUPDATE,
END OF T_BAPE_VBAPX.
DATA: K_EXTENSIONIN TYPE BAPIPAREX,
K_BAPE_VBAP LIKE T_BAPE_VBAP,
K_BAPE_VBAPX LIKE T_BAPE_VBAPX,
v_vbeln LIKE K_BAPE_VBAP-VBELN,
v_posnr LIKE K_BAPE_VBAP-POSNR,
v_zzrepmatnr LIKE K_BAPE_VBAP-ZZREPMATNR,
v_concatenate(240) TYPE C,
v_space_136(136) TYPE C,
v_space_21(21) TYPE C.
K_BAPE_VBAP-VBELN = I_ITEM_MATERIAL-VBELN.
K_BAPE_VBAP-POSNR = I_ITEM_MATERIAL-POSNR.
K_BAPE_VBAP-ZZREPMATNR = '50L689'.
K_EXTENSIONIN-STRUCTURE = C_BAPE_VBAP.
K_EXTENSIONIN+30 = K_BAPE_VBAP.
APPEND K_EXTENSIONIN TO I_EXTENSIONIN.
CLEAR K_EXTENSIONIN.
CLEAR: v_vbeln, v_posnr, v_zzrepmatnr, v_concatenate.
K_BAPE_VBAPX-VBELN = I_ITEM_MATERIAL-VBELN.
K_BAPE_VBAPX-POSNR = I_ITEM_MATERIAL-POSNR.
K_BAPE_VBAPX-ZZREPMATNR = C_FLAG_X.
K_EXTENSIONIN-STRUCTURE = C_BAPE_VBAPX.
K_EXTENSIONIN+30 = K_BAPE_VBAPX.
APPEND K_EXTENSIONIN TO I_EXTENSIONIN.
CLEAR K_EXTENSIONIN.
The BAPI is then called after this
CALL FUNCTION 'BAPI_SALESORDER_CHANGE'
EXPORTING
SALESDOCUMENT = V_SALORD_NUMBER
ORDER_HEADER_IN = K_ORDER_HEADER_IN
ORDER_HEADER_INX = K_ORDER_HEADER_INX
TABLES
RETURN = I_RETURN
ORDER_ITEM_IN = I_ORDER_ITEM_IN
ORDER_ITEM_INX = I_ORDER_ITEM_INX
SCHEDULE_LINES = I_SCHEDULE_LINES
SCHEDULE_LINESX = I_SCHEDULE_LINESX
EXTENSIONIN = I_EXTENSIONIN.
Sucess evaluated based on return table
READ TABLE I_RETURN WITH KEY TYPE = C_ERROR.
IF SY-SUBRC = 0.
PERFORM INSERT_I_SUMMARY USING C_STATUS_F I_RETURN-MESSAGE.
V_ERR_FLG = C_X.
EXIT.
ELSE.
COMMIT WORK AND WAIT.
CALL FUNCTION 'BAPI_TRANSACTION_COMMIT'
EXPORTING
WAIT = 'X'.
10-18-2006 4:51 AM
Hi,
DATA: I_EXTENSIONIN TYPE STANDARD TABLE OF BAPIPAREX.
*DATA: BEGIN OF T_BAPE_VBAP,
*VBELN TYPE VBELN_VA,
*POSNR TYPE POSNR_VA,
*ZZBWTAR TYPE BWTAR_D,
*ZZGRUND TYPE MB_GRBEW,
*ZZBWART TYPE BWART,
*ZZPOSTP TYPE POSTP,
*ZZUSR00 TYPE USRCHAR20,
*ZZFPCODE TYPE ZRRB_FPCODE,
*ZZFPCHARGE TYPE ZRRB_FPCHARGE,
*ZZFPHANDLE TYPE ZRRB_FPHANDLE,
*ZZOWNER TYPE ZRRB_OWN,
*ZZCLASS TYPE ZRRB_CLASS,
*ZZVBILL TYPE ZRRB_VALBILL,
*ZZRBILL TYPE ZRRB_REASONBILL,
*ZZTYPE TYPE ZRRB_TYPE,
*ZZMODULE TYPE PS_POSID,
*ZZMODULE2 TYPE ZRRB_MODULE,
*ZZEXCHANGE TYPE ZRRB_EXC,
*ZZFPEXCHANGE TYPE ZRRB_FPEXCHANGE,
*ZZKB TYPE ZRRB_KB,
*ZZFPKB TYPE ZRRB_FPKB,
*ZZVENDOR TYPE LIFNR,
*ZZVENDTYPE TYPE ZRRB_VENDTYPE,
*ZZREPMATNR TYPE ZRRB_REPMATNR,
*END OF T_BAPE_VBAP.
*DATA: BEGIN OF T_BAPE_VBAPX,
*VBELN TYPE VBELN_VA,
*POSNR TYPE POSNR_VA,
*ZZBWTAR TYPE BAPIUPDATE,
*ZZGRUND TYPE BAPIUPDATE,
*ZZBWART TYPE BAPIUPDATE,
*ZZPOSTP TYPE BAPIUPDATE,
*ZZUSR00 TYPE BAPIUPDATE,
*ZZFPCODE TYPE BAPIUPDATE,
*ZZFPCHARGE TYPE BAPIUPDATE,
*ZZFPHANDLE TYPE BAPIUPDATE,
*ZZOWNER TYPE BAPIUPDATE,
*ZZCLASS TYPE BAPIUPDATE,
*ZZVBILL TYPE BAPIUPDATE,
*ZZRBILL TYPE BAPIUPDATE,
*ZZTYPE TYPE BAPIUPDATE,
*ZZMODULE TYPE BAPIUPDATE,
*ZZMODULE2 TYPE BAPIUPDATE,
*ZZEXCHANGE TYPE BAPIUPDATE,
*ZZFPEXCHANGE TYPE BAPIUPDATE,
*ZZKB TYPE BAPIUPDATE,
*ZZFPKB TYPE BAPIUPDATE,
*ZZVENDOR TYPE BAPIUPDATE,
*ZZVENDTYPE TYPE BAPIUPDATE,
*ZZREPMATNR TYPE BAPIUPDATE,
*END OF T_BAPE_VBAPX.
DATA: K_EXTENSIONIN TYPE BAPIPAREX,
<b>K_BAPE_VBAP LIKE BAPE_VBAP,
K_BAPE_VBAPX LIKE BAPE_VBAPX,</b>
v_vbeln LIKE K_BAPE_VBAP-VBELN,
v_posnr LIKE K_BAPE_VBAP-POSNR,
v_zzrepmatnr LIKE K_BAPE_VBAP-ZZREPMATNR,
v_concatenate(240) TYPE C,
v_space_136(136) TYPE C,
v_space_21(21) TYPE C.
K_BAPE_VBAP-VBELN = I_ITEM_MATERIAL-VBELN.
K_BAPE_VBAP-POSNR = I_ITEM_MATERIAL-POSNR.
K_BAPE_VBAP-ZZREPMATNR = '50L689'.
K_EXTENSIONIN-STRUCTURE = C_BAPE_VBAP.
<b>K_EXTENSIONIN-VALUEPART1 = K_BAPE_VBAP.</b>
APPEND K_EXTENSIONIN TO I_EXTENSIONIN.
CLEAR K_EXTENSIONIN.
CLEAR: v_vbeln, v_posnr, v_zzrepmatnr, v_concatenate.
K_BAPE_VBAPX-VBELN = I_ITEM_MATERIAL-VBELN.
K_BAPE_VBAPX-POSNR = I_ITEM_MATERIAL-POSNR.
K_BAPE_VBAPX-ZZREPMATNR = C_FLAG_X.
K_EXTENSIONIN-STRUCTURE = C_BAPE_VBAPX.
<b>K_EXTENSIONIN-VALUEPART1 = K_BAPE_VBAPX.</b>
APPEND K_EXTENSIONIN TO I_EXTENSIONIN.
CLEAR K_EXTENSIONIN.
Apply these changes..And let me know if it works..
Thanks,
Naren
10-18-2006 6:09 AM
Hi,
I've tried to change to codes but still it doesn't update.
thanks for all inputs. Need help on this urgently.