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

how to create sales order using global declaration in the program....?

Former Member
0 Likes
730

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....

3 REPLIES 3
Read only

Former Member
0 Likes
541

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.

Read only

Former Member
0 Likes
541

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.

Read only

Former Member
0 Likes
541

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.