‎2008 Jan 11 12:46 PM
Hi,
Can someone tell the BAPI which can be used to create the Delivry in reference to Shipping Point,Sales Order,Item Number?
Please its urgent,
Thanks,
Shashi Devi.
‎2008 Jan 11 1:09 PM
Hi
Devi,
*----------------------------------------------------------------------*
* Include YCL_CREATE_DELIVERY_DOCU
*----------------------------------------------------------------------*
*----------------------------------------------------------------------*
* Form delivery_creation *
*----------------------------------------------------------------------*
* This Subroutine is used to Create Delivery
*----------------------------------------------------------------------*
FORM delivery_creation .
CONSTANTS:
LC_DOCU_TYPE type
LESHP_DOCUMENT_TYPE value 'A'. " Document Type.
DATA:
BEGIN OF LFS_vbap,
vbeln TYPE vbap-vbeln, " Sales Document
posnr TYPE vbap-posnr, " Sales Document Item
kwmeng TYPE vbap-kwmeng, " Order quantity in sales units
matnr TYPE vbap-matnr, " Material Number
werks TYPE vbap-werks, " Plant
END OF lfs_vbap.
DATA: lw_delnum type VBELN. " To store delivery number.
*--------------------------------------------------------------------*
* LOCAL TABLES DECLARATION *
*--------------------------------------------------------------------*
DATA:
Lt_VBAP LIKE TABLE OF Lfs_VBAP, " To Store datata from vbeln..
lt_request TYPE STANDARD TABLE
OF bapideliciousrequest, " Data for Creating Deliveries
lt_created TYPE STANDARD TABLE OF bapideliciouscreateditems,
" To Store Delivery Item..
lt_return TYPE STANDARD TABLE OF bapiret2.
" Table for Return Parameters
*--------------------------------------------------------------------*
* LOCAL FIELD STRINGS DECLARATION *
*--------------------------------------------------------------------*
DATA:
lfs_request type bapideliciousrequest,
" Work area for lt_request
lfs_created like line of lt_created,
" Work area for lt_created
lfs_return like line of lt_return.
* To get required values from VBAP
SELECT vbeln
posnr
kwmeng
matnr
werks
INTO TABLE Lt_vbap
FROM vbap
WHERE vbeln = W_vbeln.
if sy-subrc ne 0.
write / text-002.
exit.
endif. " if sy-subrc ne 0
LOOP AT Lt_vbap INTO LFS_VBAP .
lfs_request-document_numb = lfs_vbap-vbeln.
lfs_request-document_item = lfs_vbap-posnr.
lfs_request-quantity_sales_uom = lfs_vbap-kwmeng.
lfs_request-id = 1.
lfs_request-document_type = LC_DOCU_TYPE.
lfs_request-delivery_date = sy-datum.
lfs_request-material = lfs_vbap-matnr.
lfs_request-plant = lfs_vbap-werks.
lfs_request-date = sy-datum.
lfs_request-goods_issue_date = sy-datum.
lfs_request-goods_issue_time = sy-uzeit.
APPEND lfs_request to lt_request.
ENDLOOP. " Loop at lt_vbap
CALL FUNCTION 'BAPI_DELIVERYPROCESSING_EXEC'
TABLES
request = lt_request
createditems = lt_created
return = lt_return.
Read table lt_created into lfs_created index 1.
if lfs_created-DOCUMENT_NUMB is initial.
loop at lt_return into lfs_return .
write / lfs_return-message.
write : / text-004.
endloop. " Loop at lt_return
ELSE.
perform commit_work. " To Call External Commit
lw_delnum = lfs_created-document_numb.
FS_DISP-TEXT = TEXT-001.
FS_DISP-NUMBER = LW_DELNUM.
APPEND FS_DISP TO IT_DISP.
if p_torder eq c_x or p_pgi eq c_x or p_bill eq c_x.
perform transfer_order using lw_delnum.
" TRANSFER ORDER CREATION
endif. " If p_torder eq 'X'
ENDIF. " If sy-subrc eq 0
ENDFORM. " Delivery_creation
This is the code that using BAPI to create delivery document
<REMOVED BY MODERATOR>
<REMOVED BY MODERATOR>
Edited by: Alvaro Tejada Galindo on Jan 11, 2008 5:21 PM
‎2008 Jan 11 12:50 PM
‎2008 Jan 11 1:09 PM
Hi
Devi,
*----------------------------------------------------------------------*
* Include YCL_CREATE_DELIVERY_DOCU
*----------------------------------------------------------------------*
*----------------------------------------------------------------------*
* Form delivery_creation *
*----------------------------------------------------------------------*
* This Subroutine is used to Create Delivery
*----------------------------------------------------------------------*
FORM delivery_creation .
CONSTANTS:
LC_DOCU_TYPE type
LESHP_DOCUMENT_TYPE value 'A'. " Document Type.
DATA:
BEGIN OF LFS_vbap,
vbeln TYPE vbap-vbeln, " Sales Document
posnr TYPE vbap-posnr, " Sales Document Item
kwmeng TYPE vbap-kwmeng, " Order quantity in sales units
matnr TYPE vbap-matnr, " Material Number
werks TYPE vbap-werks, " Plant
END OF lfs_vbap.
DATA: lw_delnum type VBELN. " To store delivery number.
*--------------------------------------------------------------------*
* LOCAL TABLES DECLARATION *
*--------------------------------------------------------------------*
DATA:
Lt_VBAP LIKE TABLE OF Lfs_VBAP, " To Store datata from vbeln..
lt_request TYPE STANDARD TABLE
OF bapideliciousrequest, " Data for Creating Deliveries
lt_created TYPE STANDARD TABLE OF bapideliciouscreateditems,
" To Store Delivery Item..
lt_return TYPE STANDARD TABLE OF bapiret2.
" Table for Return Parameters
*--------------------------------------------------------------------*
* LOCAL FIELD STRINGS DECLARATION *
*--------------------------------------------------------------------*
DATA:
lfs_request type bapideliciousrequest,
" Work area for lt_request
lfs_created like line of lt_created,
" Work area for lt_created
lfs_return like line of lt_return.
* To get required values from VBAP
SELECT vbeln
posnr
kwmeng
matnr
werks
INTO TABLE Lt_vbap
FROM vbap
WHERE vbeln = W_vbeln.
if sy-subrc ne 0.
write / text-002.
exit.
endif. " if sy-subrc ne 0
LOOP AT Lt_vbap INTO LFS_VBAP .
lfs_request-document_numb = lfs_vbap-vbeln.
lfs_request-document_item = lfs_vbap-posnr.
lfs_request-quantity_sales_uom = lfs_vbap-kwmeng.
lfs_request-id = 1.
lfs_request-document_type = LC_DOCU_TYPE.
lfs_request-delivery_date = sy-datum.
lfs_request-material = lfs_vbap-matnr.
lfs_request-plant = lfs_vbap-werks.
lfs_request-date = sy-datum.
lfs_request-goods_issue_date = sy-datum.
lfs_request-goods_issue_time = sy-uzeit.
APPEND lfs_request to lt_request.
ENDLOOP. " Loop at lt_vbap
CALL FUNCTION 'BAPI_DELIVERYPROCESSING_EXEC'
TABLES
request = lt_request
createditems = lt_created
return = lt_return.
Read table lt_created into lfs_created index 1.
if lfs_created-DOCUMENT_NUMB is initial.
loop at lt_return into lfs_return .
write / lfs_return-message.
write : / text-004.
endloop. " Loop at lt_return
ELSE.
perform commit_work. " To Call External Commit
lw_delnum = lfs_created-document_numb.
FS_DISP-TEXT = TEXT-001.
FS_DISP-NUMBER = LW_DELNUM.
APPEND FS_DISP TO IT_DISP.
if p_torder eq c_x or p_pgi eq c_x or p_bill eq c_x.
perform transfer_order using lw_delnum.
" TRANSFER ORDER CREATION
endif. " If p_torder eq 'X'
ENDIF. " If sy-subrc eq 0
ENDFORM. " Delivery_creation
This is the code that using BAPI to create delivery document
<REMOVED BY MODERATOR>
<REMOVED BY MODERATOR>
Edited by: Alvaro Tejada Galindo on Jan 11, 2008 5:21 PM