Application Development 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: 

BAPI_PO_CREATE1 didn't create Condition Type NAVS

Former Member
0 Kudos

Dear experts:

I'm facing a weird question. When I create PO thorugh BAPI_PO_CREATE1,

the PO can be created. But it didn't create condition type NAVS for Non-Deductible Tax automatically.

when I create PO manually, the condition NAVS was create automatically.

I think the result for me to create PO by BAPI and create manually should be the same,

but I couldn't find the problem which cause the difference.

I also try to pass calculation type with 'A' or 'B' or 'C', but it didn't work either.

The POs created by BAPI_PO_CREATE1 still got no condition type NAVS.

hope you can help me solve this problem, thanks a lot.

below is part of my code:

===============================================================

**Condition
    move it_po-po_item to it_pocond-itm_number .
    it_pocond-cond_type = 'PBXX'.
    move it_po-net_price    to it_pocond-cond_value .
    move it_po-currency     to it_pocond-currency .
    move it_po-price_unit   to it_pocond-cond_p_unt .
    move 'U'                to it_pocond-change_id .

    move: it_po-po_item to it_pocondx-itm_number ,
          'X' to it_pocondx-cond_type ,
          'X' to it_pocondx-cond_value ,
          'X' to it_pocondx-currency ,
          'X' to it_pocondx-cond_p_unt ,
          'X' to it_pocondx-change_id .
    append: it_pocond , it_pocondx .
    clear: it_pocond , it_pocondx .

......skip 

call function 'BAPI_PO_CREATE1'
    EXPORTING
      poheader         = wa_header
      poheaderx        = wa_poheaderx
    IMPORTING
      exppurchaseorder = i_ebeln
    TABLES
      return           = it_return
      poitem           = it_item
      poitemx          = it_itemx
      poaccount        = it_poaccount
      poaccountx       = it_poaccountx
      poschedule       = it_schedule
      poschedulex      = it_schedulex
      pocond           = it_pocond
      pocondx          = it_pocondx.

Edited by: kishan P on Nov 18, 2010 2:07 PM

4 REPLIES 4

Former Member
0 Kudos

Check the Analysis of pricing conditions for PO created using BAPI. Are you passing the tax code in structure fields PO_ITEM-TAX_CODE and PO_ITEMX-TAX_CODE (Value 'X') while calling BAPI ?

0 Kudos

Thanks for your response.

I've check the Analysis of pricing conditions for NAVS.

The result is message 107 :Condition without condition record (not relevant )

If the PO is created manually, the message is "Condition has been found(without condition record) " ,

But both message didn't give me too much information to figure out why.

And whether I pass Tax_Code or not , the NAVS is not created.

Still need yours help . Thanks again.

0 Kudos

Hi guru,

did you solve the issue?

Please can you help me, I'm facing the same problem.

Thanks a lot.

Former Member
0 Kudos

Hi Chia-Chuan Lee,

I'm facing same problem. and finally I got the solution :

Please read SAP Note : Note 571860 - BAPI_PO_CREATE1: Price is not transferred

The present note adds field PO_PRICE to table POITEM. PO_PRICE can have the values ' ', '1' or '2' with the following meaning:

  • PO_PRICE = ' ': The price determination is carried out as before.
  • PO_PRICE = '1': The value assigned in field NET_PRICE is transferred as a gross price, that is it is set in the condition type that is defined as a base price in the calculation schema. All other condition types remain unchanged. No conditions are copied from the last document.
  • PO_PRICE = '2': The value assigned in field NET_PRICE is transferred as a net price, that is it is set in the condition type that is defined as base price in the calculation scheme. All other condition types are deleted.

So If you want to keep all other condition types unchanged, set PO_PRICE = '1'.

It works...

Thank you Indonesia

Muhammad Ridwan Nawawi

m.ridwan.n@ridwanforge.net