11-06-2007 10:43 AM
Hi,
There is one custom field created for the table LIPS.
I need to update this field through BAPI BAPI_DELIVERYPROCESSING_EXEC.
I'm using EXTENSION2 to pass these values. But doesn't work.
Pls help how to achieve this?
Thanks
11-06-2007 10:45 AM
In general Custom fields updation thtough BAPI.. it is not possible as per my knowledge. we will use DIRECT update statements for that purpose in our Z-program or use user-exits..etc to populate the custom field data to standard work area.
11-06-2007 10:55 AM
Hi
Try like this
*----
-
REPORT ypat_create_delivery LINE-SIZE 256. REPORT ypat_create_delivery LINE-SIZE 256.
*--
-
Internal Tables * Internal Tables
*--
-
Table to Hold Delivery Request * Table to Hold Delivery Request
DATA: BEGIN OF tbl_request OCCURS 0. DATA: BEGIN OF tbl_request OCCURS 0.
INCLUDE STRUCTURE bapideliciousrequest. INCLUDE bapideliciousrequest STRUCTURE.
DATA: END OF tbl_request. DATA: END OF tbl_request.
Table to hold Line Items Created * Table to hold Line Items Created
DATA: BEGIN OF tbl_items OCCURS 0. DATA: BEGIN OF tbl_items OCCURS 0.
INCLUDE STRUCTURE bapideliciouscreateditems. INCLUDE bapideliciouscreateditems STRUCTURE.
DATA: END OF tbl_items. DATA: END OF tbl_items.
Table to hold BAPI Return Messages * Table to hold BAPI Return Messages
DATA: BEGIN OF tbl_return OCCURS 0. DATA: BEGIN OF tbl_return OCCURS 0.
INCLUDE STRUCTURE bapiret2. INCLUDE STRUCTURE bapiret2.
DATA: END OF tbl_return. DATA: END OF tbl_return.
*--
-
Structures * Structures
*--
-
DATA: st_vbak LIKE vbak, DATA: st_vbak vbak LIKE,
st_vbap LIKE vbap. st_vbap LIKE vbap.
*--
-
Selection Screen * Selection Screen
*--
-
PARAMETERS: p_vbeln LIKE vbak-vbeln, PARAMETERS: p_vbeln vbak-vbeln LIKE,
p_posnr LIKE vbap-posnr DEFAULT '000010'. p_posnr LIKE vbap-posnr DEFAULT'000010 '.
*--
-
Start of Selection * Start of Selection
*--
-
START-OF-SELECTION.
SELECT SINGLE * SELECT * SINGLE
INTO st_vbak INTO st_vbak
FROM vbak FROM vbak
WHERE vbeln = p_vbeln. WHERE vbeln = p_vbeln.
CHECK sy-subrc EQ 0. CHECK sy-subrc EQ 0.
SELECT SINGLE * SELECT * SINGLE
INTO st_vbap INTO st_vbap
FROM vbap FROM vbap
WHERE vbeln = p_vbeln AND WHERE AND vbeln = p_vbeln
posnr = p_posnr. posnr = p_posnr.
----
*--
-
END-OF-SELECTION.
IF st_vbak IS INITIAL. IF INITIAL st_vbak IS.
WRITE:/ 'Invalid Sales Order'. WRITE: / 'Invalid Sales Order'.
EXIT.
ENDIF.
tbl_request-document_numb = st_vbap-vbeln. tbl_request-document_numb = st_vbap-vbeln.
tbl_request-document_item = st_vbap-posnr. tbl_request-document_item = st_vbap-posnr.
tbl_request-ship_to = st_vbak-kunnr. tbl_request-ship_to = st_vbak-kunnr.
tbl_request-sold_to = st_vbak-kunnr. tbl_request-sold_to = st_vbak-kunnr.
tbl_request-sales_organisation = st_vbak-vkorg. tbl_request-sales_organisation = st_vbak-vkorg.
tbl_request-distribution_channel = st_vbak-vtweg. tbl_request-distribution_channel = st_vbak-vtweg.
tbl_request-division = st_vbak-spart. tbl_request-division = st_vbak-spart.
tbl_request-plant = st_vbap-werks. tbl_request-plant = st_vbap-werks.
tbl_request-quantity_sales_uom = '1'. tbl_request-quantity_sales_uom ='1 '.
tbl_request-sales_unit = st_vbap-vrkme. tbl_request-sales_unit = st_vbap-vrkme.
tbl_request-base_uom = st_vbap-meins. tbl_request-base_uom = st_vbap-meins.
tbl_request-material = st_vbap-matnr. tbl_request-material = st_vbap-matnr.
tbl_request-delivery_date = st_vbak-bstdk. tbl_request-delivery_date = st_vbak-bstdk.
tbl_request-delivery_time = '160000'. tbl_request-delivery_time ='160000 '.
tbl_request-transp_plan_date = st_vbak-bstdk. tbl_request-transp_plan_date = st_vbak-bstdk.
tbl_request-loading_date = st_vbak-bstdk. tbl_request-loading_date = st_vbak-bstdk.
tbl_request-goods_issue_date = st_vbak-bstdk. tbl_request-goods_issue_date = st_vbak-bstdk.
tbl_request-extdelv_no = '98765'. tbl_request-extdelv_no ='98765 '.
tbl_request-document_type = 'A'. tbl_request-document_type = 'A'. "Delivery
tbl_request-document_type_predecessor = 'A'. tbl_request-document_type_predecessor = 'A'. "Sales Ord "Sales Ord
tbl_request-document_type_delivery = 'LF'. tbl_request-document_type_delivery = 'LF'.
APPEND tbl_request. APPEND tbl_request.
CALL FUNCTION 'BAPI_DELIVERYPROCESSING_EXEC' FUNCTION CALL 'BAPI_DELIVERYPROCESSING_EXEC'
TABLES
request = tbl_request request = tbl_request
createditems = tbl_items createditems = tbl_items
return = tbl_return. return = tbl_return.
CALL FUNCTION 'BAPI_TRANSACTION_COMMIT'. FUNCTION CALL 'BAPI_TRANSACTION_COMMIT'.
LOOP AT tbl_return. LOOP AT tbl_return.
WRITE:/ tbl_return-type, WRITE: / tbl_return-type,
tbl_return-id,
tbl_return-number,
tbl_return-message.
ENDLOOP.
Regards
Pavan