‎2008 May 21 9:35 PM
Hi Guru's
Please guide me how cretae sales order using declaration part as globally...
please send any logic that would be greatly helpfull to me..
Thanks in advance...
Srinivas....
‎2008 May 22 2:47 AM
Hi,
Use BAPI_SALESORDER_CREATEFROMDAT2 to create sales order.
Cheers.
...Reward if useful
**sample code**
BAPI work area
DATA: ORD_HDR LIKE BAPISDHEAD,
ORD_DOC LIKE BAPIVBELN-VBELN.
DATA: BEGIN OF ORD_ITM OCCURS 0.
INCLUDE STRUCTURE BAPIITEMIN.
DATA: END OF ORD_ITM.
DATA: BEGIN OF ORD_PARTN OCCURS 0.
INCLUDE STRUCTURE BAPIPARTNR.
DATA: END OF ORD_PARTN.
DATA: BEGIN OF ORD_ITM_OUT OCCURS 0.
INCLUDE STRUCTURE BAPIITEMEX.
DATA: END OF ORD_ITM_OUT.
DATA: BEGIN OF ORD_RETURN OCCURS 0.
INCLUDE STRUCTURE BAPIRETURN.
DATA: END OF ORD_RETURN.
CALL FUNCTION 'BAPI_SALESORDER_CREATEFROMDATA'
EXPORTING
ORDER_HEADER_IN = ORD_HDR
IMPORTING
SALESDOCUMENT = ORD_DOC
SOLD_TO_PARTY =
SHIP_TO_PARTY =
BILLING_PARTY =
RETURN = ORD_RETURN
TABLES
ORDER_ITEMS_IN = ORD_ITM
ORDER_PARTNERS = ORD_PARTN
ORDER_ITEMS_OUT = ORD_ITM_OUT
ORDER_CFGS_REF =
ORDER_CFGS_INST =
ORDER_CFGS_PART_OF =
ORDER_CFGS_VALUE =
ORDER_CCARD =
EXCEPTIONS
OTHERS = 1.
‎2008 May 22 10:33 PM
Hi Guru's,
i wanted to create sales order using BAPI's ..i struch up in basic stage...
please correct me in the below program logic....
thanks in advance...
&----
*& Report ZAREPAS30
&----
&----
REPORT zarepas30.
DATA: s_vbeln LIKE vbak-vbeln.
TYPES : BEGIN OF gty_itab1,
doc_type TYPE bapisdhd1,
sales_org TYPE bapisdhd1,
distr_chan TYPE bapisdhd1,
division TYPE bapisdhd1,
req_date_h TYPE bapisdhd1,
itm_number TYPE bapisditm,
material TYPE bapisditm,
plant TYPE bapisditm,
target_qty TYPE bapisditm,
partn_role TYPE bapiparnr,
partn_numb TYPE bapiparnr,
END OF gty_itab1.
DATA : gt_itab1 TYPE STANDARD TABLE OF gty_itab1,
gwa_itab1 TYPE gty_itab1.
DATA : gs_order_header_in TYPE bapisdhd1,
gs_order_header_inx TYPE bapisdhd1x,
gt_order_items_in TYPE STANDARD TABLE OF bapisditm,
gt_order_items_inx TYPE STANDARD TABLE OF bapisditmx,
gt_order_partners TYPE STANDARD TABLE OF bapiparnr.
Sales document type
PARAMETERS: p_auart TYPE auart OBLIGATORY.
Sales organization
PARAMETERS: p_vkorg TYPE vkorg OBLIGATORY.
Distribution channel
PARAMETERS: p_vtweg TYPE vtweg OBLIGATORY.
Division.
PARAMETERS: p_spart TYPE spart OBLIGATORY.
*Requested Delivery Date
PARAMETERS: p_edatu TYPE edatu OBLIGATORY.
Sold-to
PARAMETERS: p_sold TYPE kunnr OBLIGATORY.
Ship-to
PARAMETERS: p_ship TYPE kunnr OBLIGATORY.
Material
PARAMETERS: p_matnr TYPE matnr OBLIGATORY.
Quantity.
PARAMETERS: p_menge TYPE kwmeng OBLIGATORY.
Plant
PARAMETERS: p_plant TYPE werks_d OBLIGATORY.
Start-of-selection.
START-OF-SELECTION.
select auart vkorg vtweg spart vdatu from vbak into table gt_itab1
where vbeln = s_vbeln.
Header data
Sales document type
gs_order_header_in-doc_type = p_auart.
gs_order_header_inx-doc_type = 'X'.
Sales organization
gs_order_header_in-sales_org = p_vkorg.
gs_order_header_inx-sales_org = 'X'.
Distribution channel
gs_order_header_in-distr_chan = p_vtweg.
gs_order_header_inx-distr_chan = 'X'.
Division
gs_order_header_in-division = p_spart.
gs_order_header_inx-division = 'X'.
Reguested Delivery Date
gs_order_header_in-req_date_h = p_edatu.
gs_order_header_inx-req_date_h = 'X'.
gs_order_header_inx-updateflag = 'I'.
Partner data
Sold to
gt_order_partners-partn_role = 'AG'.
gt_order_partners-partn_numb = p_sold.
APPEND partner.
Ship to
gt_order_partners-partn_role = 'WE'.
gt_order_partners-partn_numb = p_ship.
APPEND partner.
ITEM DATA
gt_order_items_inx-updateflag = 'I'.
Line item number.
gt_order_items_in-itm_number = '000010'.
gt_order_items_inx-itm_number = 'X'.
Material
gt_order_items_in-material = p_matnr.
gt_order_items_inx-material = 'X'.
Plant
gt_order_items_in-plant = p_plant.
gt_order_items_inx-plant = 'X'.
Quantity
gt_order_items_in-target_qty = p_menge.
gt_order_items_inx-target_qty = 'X'.
APPEND gt_order_items_in.
APPEND gt_order_items_inx.
*
*
CALL FUNCTION 'BAPI_SALESORDER_CREATEFROMDAT2'
EXPORTING
order_header_in = gs_order_header_in
order_header_inx = gs_order_header_inx
IMPORTING
salesdocument = s_vbeln
TABLES
return = gt_return
order_items_in = gt_order_items_in
order_items_inx = gt_order_items_inx
order_partners = gt_order_partners.
*
IF sy-subrc = 0.
WRITE: / 'Error occured while creating sales order '.
ELSE.
Commit the work.
.
CALL FUNCTION 'BAPI_TRANSACTION_COMMIT'.
*
WRITE: / 'Document ', s_vbeln, ' created'.
ENDIF.
‎2008 May 24 10:12 PM
Hi Guru's I compleated creation of sales order using BAPI's ..please find program logic below and let me kno wif have any question's.....
&----
*& Report ZAREPAS30
&----
REPORT zarepas30.
DATA : gs_vbeln TYPE vbak-vbeln,
gs_order_header_in TYPE bapisdhd1,
gs_order_header_inx TYPE bapisdhd1x,
gt_order_items_in TYPE STANDARD TABLE OF bapisditm,
gwa_itab1 TYPE bapisditm,
gt_order_items_inx TYPE STANDARD TABLE OF bapisditmx,
gwa_itab2 TYPE bapisditmx,
gt_order_partners TYPE STANDARD TABLE OF bapiparnr,
gwa_itab3 TYPE bapiparnr,
gt_return TYPE STANDARD TABLE OF bapiret2,
gwa_itab4 TYPE bapiret2.
&----
Sales document type
PARAMETERS: p_auart TYPE auart OBLIGATORY.
Sales organization
PARAMETERS: p_vkorg TYPE vkorg OBLIGATORY.
Distribution channel
PARAMETERS: p_vtweg TYPE vtweg OBLIGATORY.
Division.
PARAMETERS: p_spart TYPE spart OBLIGATORY.
Requested Delivery Date
PARAMETERS: p_edatu TYPE edatu OBLIGATORY.
Sold-to
PARAMETERS: p_sold TYPE kunnr OBLIGATORY.
Ship-to
PARAMETERS: p_ship TYPE kunnr OBLIGATORY.
Material
PARAMETERS: p_matnr TYPE matnr OBLIGATORY.
Quantity.
PARAMETERS: p_menge TYPE kwmeng OBLIGATORY.
Plant
PARAMETERS: p_plant TYPE werks_d OBLIGATORY.
Start-of-selection.
START-OF-SELECTION.
Header data
Sales document type
gs_order_header_in-doc_type = p_auart.
gs_order_header_inx-doc_type = 'X'.
Sales organization
gs_order_header_in-sales_org = p_vkorg.
gs_order_header_inx-sales_org = 'X'.
Distribution channel
gs_order_header_in-distr_chan = p_vtweg.
gs_order_header_inx-distr_chan = 'X'.
Division
gs_order_header_in-division = p_spart.
gs_order_header_inx-division = 'X'.
Reguested Delivery Date
gs_order_header_in-req_date_h = p_edatu.
gs_order_header_inx-req_date_h = 'X'.
gs_order_header_inx-updateflag = 'I'.
Partner data
Sold to
gwa_itab3-partn_role = 'AG'.
gwa_itab3-partn_numb = p_sold.
APPEND gwa_itab3 TO gt_order_partners .
ship to
gwa_itab3-partn_role = 'WE'.
gwa_itab3-partn_numb = p_ship.
APPEND gwa_itab3 TO gt_order_partners .
ITEM DATA
gwa_itab2-updateflag = 'I'.
Line item number.
gwa_itab1-itm_number = '000010'.
gwa_itab2-itm_number = 'X'.
Material
gwa_itab1-material = p_matnr.
gwa_itab2-material = 'X'.
Plant
gwa_itab1-plant = p_plant.
gwa_itab2-plant = 'X'.
Quantity
gwa_itab1-target_qty = p_menge.
gwa_itab2-target_qty = 'X'.
APPEND gwa_itab1 TO gt_order_items_in.
APPEND gwa_itab2 TO gt_order_items_inx.
Line item number.
gwa_itab1-itm_number = '000020'.
gwa_itab2-itm_number = 'X'.
Material
gwa_itab1-material = p_matnr.
gwa_itab2-material = 'X'.
Plant
gwa_itab1-plant = p_plant.
gwa_itab2-plant = 'X'.
Quantity
gwa_itab1-target_qty = p_menge.
gwa_itab2-target_qty = 'X'.
APPEND gwa_itab1 TO gt_order_items_in.
APPEND gwa_itab2 TO gt_order_items_inx.
*****************************************************
CALL FUNCTION 'BAPI_SALESORDER_CREATEFROMDAT2'
EXPORTING
order_header_in = gs_order_header_in
ORDER_HEADER_INX = gs_order_header_inx
IMPORTING
SALESDOCUMENT = gs_vbeln
tables
RETURN = gt_return
ORDER_ITEMS_IN = gt_order_items_in
ORDER_ITEMS_INX = gt_order_items_inx
order_partners = gt_order_partners.
*****************************************************
Check the return table.
LOOP AT gt_return into gwa_itab4 WHERE type = 'E' OR type = 'A'.
EXIT.
ENDLOOP.
IF sy-subrc = 0.
WRITE: / 'Error occured while creating sales order '.
ELSE.
Commit the work.
CALL FUNCTION 'BAPI_TRANSACTION_ROLLBACK'.
CALL FUNCTION 'BAPI_TRANSACTION_COMMIT'.
WRITE: / 'Document ', gs_vbeln, ' created'.
ENDIF.