cancel
Showing results for 
Search instead for 
Did you mean: 

FM BBP_PD_PO_UPDATE is not updating Purchase Order

Former Member
0 Kudos
462

Hi Experts,

I am trying to update Final Delivery and Final Invoice indicator for a PO using FM BBP_PD_PO_UPDATE.

Code Snippet for FM call is as follows: -


      CALL FUNCTION 'BBP_PD_PO_UPDATE'
        EXPORTING
          i_header                = wa_po_header1
          i_save                  = 'X'
          iv_with_change_approval = 'X'
        IMPORTING
          es_header               = wa_po_hdr_upd
        TABLES
          i_item                  = it_po_item1
          e_messages              = it_po_message.

Here all the variables are declared same they are in FM. Later on to save PO I am using FM BBP_PD_PO_SAVE.

Can anybody tell me what am I missing?

Thanks

Siddarth

View Entire Topic
Former Member
0 Kudos

Hey Jay,

I tried your approach already. it is not working.

Hi Robin,

I am using the same GUID which you have mentioned but it is not working.

Hi Ofer,

It is working fine in our system for Tax Code update as well but it is not updating FINAL_ENTRY and FINAL_INV Indicators. Can you please check this for these indicators in your system and let me know. These indicators are in item internal table of both the FMs.

Thanks

Siddarth.

michael_saulo2
Discoverer
0 Kudos

"It is working fine in our system for Tax Code update as well but it is not updating FINAL_ENTRY and FINAL_INV Indicators."

Take a look at SAP Include LBBP_PDIGPF14 where those flags are set:

  • mix up final entry/ invoice ind for change versions (very complicated)

IF p_object_type EQ c_po.

CASE new_itmigp-final_entry.

WHEN c_on OR c_off.

new_itmigp-final_entry = old_itmigp-final_entry.

WHEN gc_unchecked_manually OR gc_checked_manually.

  • keep it

WHEN gc_to_set.

new_itmigp-final_entry = c_on.

WHEN gc_to_delete.

new_itmigp-final_entry = c_off.

WHEN OTHERS.

PERFORM abort.

ENDCASE.

CASE new_itmigp-final_inv.

WHEN c_on OR c_off.

new_itmigp-final_inv = old_itmigp-final_inv.

WHEN gc_unchecked_manually OR gc_checked_manually.

  • keep it

WHEN gc_to_set.

new_itmigp-final_inv = c_on.

WHEN gc_to_delete.

new_itmigp-final_inv = c_off.

WHEN OTHERS.

PERFORM abort.

ENDCASE.

ENDIF.

If you want to set the Final_Inv or Final_Entry flags, you need to send 'S' in as the value to set the switch.

I realize this forum is listed as answered, but in case anybody else comes across this issue of setting these flags via the BBP_PD_PO_UPDATE FM.