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

Sales order BAPI problem....

Former Member
0 Likes
855

Hi All,

I've this simple program to create Sales Order using BAPI.. it's creating sales order but I can't see any values in quantity in sales order ..always blank...

is there any mistake in my code please let me know....

thanks in advance....


REPORT  zsales_create2                          .

DATA : li_order_partners TYPE STANDARD TABLE OF bapiparnr,
l_order_partners LIKE bapiparnr,
*Structures for order header
l_order_header_in LIKE bapisdhd1,
 l_order_header_inx LIKE bapisdhd1x,
*Tables for order items
li_order_items_in TYPE STANDARD TABLE OF bapisditm,
l_order_items_in LIKE bapisditm,
li_order_items_inx TYPE STANDARD TABLE OF bapisditmx,
l_order_items_inx LIKE bapisditmx,
*Return table from bapi call
li_return TYPE STANDARD TABLE OF bapiret2,
 l_return TYPE bapiret2,
*Sales document number
l_vbeln LIKE bapivbeln-vbeln,
*Error flag
l_errflag(1) TYPE c.

START-OF-SELECTION.

  l_order_partners-partn_role = 'AG'.
  l_order_partners-partn_numb = 'MWL'.
  APPEND l_order_partners TO li_order_partners.

*Update flag
  l_order_header_inx-updateflag = 'I'.
*Sales document type
  l_order_header_in-doc_type = 'ZOR'.
  l_order_header_inx-doc_type = 'X'.
*Sales organization
  l_order_header_in-sales_org = '0081'.
  l_order_header_inx-sales_org = 'X'.
*Distribution channel

  l_order_header_in-distr_chan = '01'.
  l_order_header_inx-distr_chan = 'X'.
*Division
  l_order_header_in-division = 'RT'.
  l_order_header_inx-division = 'X'.
*Purchase order
  l_order_header_in-purch_no_c = '123456'.
  l_order_header_inx-purch_no_c = 'X'.

  l_order_items_in-itm_number = '10'.
  l_order_items_inx-itm_number = '10'.
  l_order_items_in-material = '24815010RO1'.
  l_order_items_inx-material = 'X'.
  l_order_items_in-comp_quant = '100'.  "qunatity
  l_order_items_inx-comp_quant = 'X'.
  APPEND l_order_items_in TO li_order_items_in.
  l_order_items_inx-updateflag = 'I'.
  APPEND l_order_items_inx TO li_order_items_inx.

  CALL FUNCTION 'BAPI_SALESORDER_CREATEFROMDAT2'
    EXPORTING
      order_header_in  = l_order_header_in
      order_header_inx = l_order_header_inx
    IMPORTING
      salesdocument    = l_vbeln
    TABLES
      return           = li_return
      order_items_in   = li_order_items_in
      order_items_inx  = li_order_items_inx
      order_partners   = li_order_partners.

  CLEAR l_errflag.
  WRITE: / 'Sales dcoument: ', l_vbeln.
  LOOP AT
  li_return INTO l_return.
    WRITE: / l_return-type, l_return-message(50).
    IF l_return-type = 'E'.
      l_errflag = 'X'.
    ENDIF.
  ENDLOOP.

  IF l_errflag IS INITIAL.
    CALL FUNCTION 'BAPI_TRANSACTION_COMMIT'.
  ENDIF.

1 ACCEPTED SOLUTION
Read only

Former Member
0 Likes
820

hi,

i am forwarding you a sample program which is running fine at my end.

kindly observe

REPORT ZSKCREA .

*types : begin of xml_line,

  • data(256) type x,

  • end of xml_line.

*

*data: xml_table type table of xml_line,

  • xml_table_size type i,

  • istream type ref to if_ixml_istream.

*

*call function 'GUI_UPLOAD'

  • exporting

  • filename = 'c:\slcreaorder2.xml'

  • FILETYPE = 'BIN'

  • IMPORTING

  • FILELENGTH = xml_table_size

  • tables

  • data_tab = xml_table

*.

data : salesorderheader like BAPISDHD1 occurs 0 with header line,

salesorderheaderx like BAPISDHD1X occurs 0 with header line,

salesorderitems like BAPISDITM occurs 0 with header line,

salesorderitemsx like BAPISDITMX occurs 0 with header line,

salesorderpartners like BAPIPARNR occurs 0 with header line,

salesorderschdule like BAPISCHDL occurs 0 with header line,

salesorderschdulex like BAPISCHDLX occurs 0 with header line,

salesordercondition like bapicond occurs 0 with header line,

salesorderconditionx like bapicondx occurs 0 with header line,

return1 like BAPIRET2 occurs 0 with header line.

salesorderheader-doc_type = 'TA'.

salesorderheader-sales_org = 'JNJ1'.

salesorderheader-distr_chan = '02'.

salesorderheader-division = 'J1'.

salesorderheader-sales_off = 'JNJ1'.

salesorderheader-purch_no_c = 'testbapipo'.

salesorderheader-purch_date = sy-datum.

salesorderheader-req_date_h = sy-datum.

append salesorderheader.

salesorderitems-material = '000000000000000727'.

salesorderitems-plant = 'JNJ1'.

salesorderitems-target_qu = 'EA'.

append salesorderitems.

salesorderpartners-partn_role = 'AG'.

salesorderpartners-partn_numb = '0000000036'.

append salesorderpartners.

salesorderschdule-itm_number = '10'.

salesorderschdule-req_qty = '10'.

append salesorderschdule.

  • salesordercondition-cond_type = 'zpr1'.

  • salesordercondition-cond_value = '40'.

  • append salesordercondition.

salesorderheaderx-updateflag = 'I'.

salesorderheaderx-doc_type = 'X'.

salesorderheaderx-sales_org = 'X'.

salesorderheaderx-distr_chan = 'X'.

salesorderheaderx-division = 'X'.

salesorderheaderx-sales_off = 'X'.

salesorderheaderx-purch_no_c = 'X'.

salesorderheaderx-purch_date = 'X'.

salesorderheaderx-req_date_h = 'X'.

salesorderitemsx-updateflag = 'I'.

salesorderitemsx-material = 'X'.

salesorderitemsx-plant = 'X'.

salesorderitemsx-division = 'X'.

salesorderitemsx-target_qu = 'X'.

append salesorderitemsx.

salesorderschdulex-updateflag = 'I'.

salesorderschdulex-itm_number = 'X'.

salesorderschdulex-req_qty = 'X'.

append salesorderschdulex.

  • salesorderconditionx-updateflag = 'I'.

  • salesorderconditionx-cond_type = 'X'.

  • salesorderconditionx-cond_value = 'X'.

  • append salesorderconditionx.

call function 'BAPI_SALESORDER_CREATEFROMDAT2'

exporting

  • SALESDOCUMENTIN =

order_header_in = salesorderheader

ORDER_HEADER_INX = salesorderheaderx

  • SENDER =

  • BINARY_RELATIONSHIPTYPE =

  • INT_NUMBER_ASSIGNMENT =

  • BEHAVE_WHEN_ERROR =

  • LOGIC_SWITCH =

  • TESTRUN =

  • CONVERT = 'c:\msk2.xml '

  • IMPORTING

  • SALESDOCUMENT = salesdocument

tables

RETURN = return1

ORDER_ITEMS_IN = salesorderitems

ORDER_ITEMS_INX = salesorderitemsx

order_partners = salesorderpartners

ORDER_SCHEDULES_IN = salesorderschdule

ORDER_SCHEDULES_INX = salesorderschdulex

  • ORDER_CONDITIONS_IN =

  • ORDER_CONDITIONS_INX =

  • ORDER_CFGS_REF =

  • ORDER_CFGS_INST =

  • ORDER_CFGS_PART_OF =

  • ORDER_CFGS_VALUE =

  • ORDER_CFGS_BLOB =

  • ORDER_CFGS_VK =

  • ORDER_CFGS_REFINST =

  • ORDER_CCARD =

  • ORDER_TEXT =

  • ORDER_KEYS =

  • EXTENSIONIN =

  • PARTNERADDRESSES =

.

call function 'BAPI_TRANSACTION_COMMIT'

  • EXPORTING

  • WAIT =

  • IMPORTING

  • RETURN =

.

regards,

pavan

Reward if useful

6 REPLIES 6
Read only

Former Member
0 Likes
820

Hi sapsudha,

try to give '100.00'.

Regards

Karthik

Read only

0 Likes
820

Hi karthik,

It's not working ...!!

any more suggestions please.....

Read only

0 Likes
820

Hi Sudha,

You alway need to give unit of measure field.

100 is hundred KG, or 100 pieces?

Regards,

Frank Umans

Read only

0 Likes
820

Hi Frank

thank you for reply...

Here 100 is peices...which extra field I've to pass now..??

Read only

Former Member
0 Likes
821

hi,

i am forwarding you a sample program which is running fine at my end.

kindly observe

REPORT ZSKCREA .

*types : begin of xml_line,

  • data(256) type x,

  • end of xml_line.

*

*data: xml_table type table of xml_line,

  • xml_table_size type i,

  • istream type ref to if_ixml_istream.

*

*call function 'GUI_UPLOAD'

  • exporting

  • filename = 'c:\slcreaorder2.xml'

  • FILETYPE = 'BIN'

  • IMPORTING

  • FILELENGTH = xml_table_size

  • tables

  • data_tab = xml_table

*.

data : salesorderheader like BAPISDHD1 occurs 0 with header line,

salesorderheaderx like BAPISDHD1X occurs 0 with header line,

salesorderitems like BAPISDITM occurs 0 with header line,

salesorderitemsx like BAPISDITMX occurs 0 with header line,

salesorderpartners like BAPIPARNR occurs 0 with header line,

salesorderschdule like BAPISCHDL occurs 0 with header line,

salesorderschdulex like BAPISCHDLX occurs 0 with header line,

salesordercondition like bapicond occurs 0 with header line,

salesorderconditionx like bapicondx occurs 0 with header line,

return1 like BAPIRET2 occurs 0 with header line.

salesorderheader-doc_type = 'TA'.

salesorderheader-sales_org = 'JNJ1'.

salesorderheader-distr_chan = '02'.

salesorderheader-division = 'J1'.

salesorderheader-sales_off = 'JNJ1'.

salesorderheader-purch_no_c = 'testbapipo'.

salesorderheader-purch_date = sy-datum.

salesorderheader-req_date_h = sy-datum.

append salesorderheader.

salesorderitems-material = '000000000000000727'.

salesorderitems-plant = 'JNJ1'.

salesorderitems-target_qu = 'EA'.

append salesorderitems.

salesorderpartners-partn_role = 'AG'.

salesorderpartners-partn_numb = '0000000036'.

append salesorderpartners.

salesorderschdule-itm_number = '10'.

salesorderschdule-req_qty = '10'.

append salesorderschdule.

  • salesordercondition-cond_type = 'zpr1'.

  • salesordercondition-cond_value = '40'.

  • append salesordercondition.

salesorderheaderx-updateflag = 'I'.

salesorderheaderx-doc_type = 'X'.

salesorderheaderx-sales_org = 'X'.

salesorderheaderx-distr_chan = 'X'.

salesorderheaderx-division = 'X'.

salesorderheaderx-sales_off = 'X'.

salesorderheaderx-purch_no_c = 'X'.

salesorderheaderx-purch_date = 'X'.

salesorderheaderx-req_date_h = 'X'.

salesorderitemsx-updateflag = 'I'.

salesorderitemsx-material = 'X'.

salesorderitemsx-plant = 'X'.

salesorderitemsx-division = 'X'.

salesorderitemsx-target_qu = 'X'.

append salesorderitemsx.

salesorderschdulex-updateflag = 'I'.

salesorderschdulex-itm_number = 'X'.

salesorderschdulex-req_qty = 'X'.

append salesorderschdulex.

  • salesorderconditionx-updateflag = 'I'.

  • salesorderconditionx-cond_type = 'X'.

  • salesorderconditionx-cond_value = 'X'.

  • append salesorderconditionx.

call function 'BAPI_SALESORDER_CREATEFROMDAT2'

exporting

  • SALESDOCUMENTIN =

order_header_in = salesorderheader

ORDER_HEADER_INX = salesorderheaderx

  • SENDER =

  • BINARY_RELATIONSHIPTYPE =

  • INT_NUMBER_ASSIGNMENT =

  • BEHAVE_WHEN_ERROR =

  • LOGIC_SWITCH =

  • TESTRUN =

  • CONVERT = 'c:\msk2.xml '

  • IMPORTING

  • SALESDOCUMENT = salesdocument

tables

RETURN = return1

ORDER_ITEMS_IN = salesorderitems

ORDER_ITEMS_INX = salesorderitemsx

order_partners = salesorderpartners

ORDER_SCHEDULES_IN = salesorderschdule

ORDER_SCHEDULES_INX = salesorderschdulex

  • ORDER_CONDITIONS_IN =

  • ORDER_CONDITIONS_INX =

  • ORDER_CFGS_REF =

  • ORDER_CFGS_INST =

  • ORDER_CFGS_PART_OF =

  • ORDER_CFGS_VALUE =

  • ORDER_CFGS_BLOB =

  • ORDER_CFGS_VK =

  • ORDER_CFGS_REFINST =

  • ORDER_CCARD =

  • ORDER_TEXT =

  • ORDER_KEYS =

  • EXTENSIONIN =

  • PARTNERADDRESSES =

.

call function 'BAPI_TRANSACTION_COMMIT'

  • EXPORTING

  • WAIT =

  • IMPORTING

  • RETURN =

.

regards,

pavan

Reward if useful

Read only

0 Likes
820

thank you pavan

problem solved...