Skip to Content

BAPI_PO_CREATE1 - Net Price

Hi,

I have a problem to create a PO using BAPI_PO_CREATE1. I fill the field net price from item, but it doesn't fill the value right (it always fill with 1)

I found this note,and I tried but still doesn't working...

1899549 - BAPI_PO_CREATE1 : Net price is not taken from input data in POITEM-NET_PRICE

There is these information in this note:

Cause

There is no price in the info record (for example, EUR) for PO currency (for example, JPY).

When PO_PRICE = '1', system will try to find an entry in the info record with the PO currency (for example, JPY) first. If there is no entry (for

example, with currency JPY) in the info record, system will not consider the price from POITEM

NET_PRICE, but take the value from info record (for

example, currency EUR) and convert it into PO currency (for example, JPY).

Resolution

Option 1

Set PO_PRICE as "2".

Option 2

Input value in POCOND and POCONDX to update the net price

Does anyone have any suggestion?

VERSAO.jpg (143.0 kB)
Add comment
10|10000 characters needed characters exceeded

  • Follow
  • Get RSS Feed

1 Answer

  • Oct 12, 2014 at 01:53 PM

    Hi

    Assuming that your are passing the net price as input in the BAPI data source.

    You need to set the following:

    Step 1

    In the bapi table structure filling.. use as follows:

    PURITEM-NET_PRICE = wa_datafeed-netpr.

    APPEND PURITEM.

    PURITEMX-NET_PRICE = 'X'.

    APPEND PURITEMX.

    Step 2

    In call function of BAPI, pass the flag as NO_PRICE_FROM_PO

    CALL FUNCTION 'BAPI_PO_CREATE1'

    EXPORTING

    POHEADER = PO_HEADER

    POHEADERX = PO_HEADERX

    NO_PRICE_FROM_PO = 'X'


    Then it will take the value you pass and does not calculate as its own.


    Regards,

    venkat

    Add comment
    10|10000 characters needed characters exceeded

    • I don't want to fill the conditions, but I tested if I fill it could change the value but not worked

      I made the worst work-around to fill the net price right:

      After BAPI_PO_CREATE1 and BAPI_TRANSACTION_COMMIT , I did it:

      DATA: w_ekpo TYPE ekpo.

      SELECT SINGLE * FROM ekpo
      INTO w_ekpo
      WHERE ebeln = v_po_number.

      IF sy-subrc = 0.
      w_ekpo-netpr = v_net_price.
      MODIFY ekpo FROM w_ekpo.
      ENDIF.


      I agree, it's horrible, but... worked