Application Development and Automation Discussions
Join the discussions or start your own on all things application development, including tools and APIs, programming models, and keeping your skills sharp.
cancel
Showing results for 
Search instead for 
Did you mean: 
Read only

BAPI For Delivery

Former Member
0 Likes
517

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.

1 ACCEPTED SOLUTION
Read only

Former Member
0 Likes
478

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

2 REPLIES 2
Read only

Former Member
0 Likes
478

Hi,

Try this BAPI BAPI_SALESORDER_CONFIRMDELVRY.

Regards,

Satish

Read only

Former Member
0 Likes
479

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