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....
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.
| User | Count |
|---|---|
| 3 | |
| 1 | |
| 1 | |
| 1 | |
| 1 | |
| 1 | |
| 1 | |
| 1 | |
| 1 | |
| 1 |