Skip to Content
Technical Articles

BSAO – supplier side – cancellation / delete (Ariba Business Suite Add-on)

Hi,

today I will share a code snippet which was created together with SAP support to address an issue on the supplier (SD) side of the Ariba business suite integration add-on (BSAO).

If a buyer sends you a “cancellation” or “delete” of a purchase order (field type=”delete” in OrderRequestHeader of cXML) the add-on deletes the item in the corresponding sales order – which is not very nice and does not really match standard SD behavior. In the worst case, this results in a sales order which does not have a position data anymore – only the header is left.

The code snippet needs to be implemented in the BAdI method if_arberp_badi_inb_map~map_ordr_to_bus2032_in_pre_upd. Afterwards, the system will set a rejection reason – if the processing status of the sales order allows that. Otherwise, an error message will be issued and the cXML will end up in the monitoring transaction. Then the corresponding sales rep has to de decide what to do (e.g. manual cancellation of the follow-up documents etc…).

** no example implementation provided *
    field-symbols <fs_itemx>           like line of  ct_itemsx.
    field-symbols <fs_item>           like line of  ct_items.
* Set ABGRU [Reason for rejection] instead of deleting the item.
    loop at ct_itemsx assigning <fs_itemx> where updateflag = 'D'.
*  Change delete to update
      <fs_itemx>-updateflag = 'U'.
*  mark the ABGRU as update-relevant field
      <fs_itemx>-reason_rej = 'X'.
*  set the ABGRU
      read table ct_items
      with key itm_number = <fs_itemx>-itm_number
      assigning <fs_item>.

      if sy-subrc is initial.
        <fs_item>-reason_rej = '01'. "cancellation customer
      endif.
*  schedule lines must not be changed.
      delete ct_schedules
     where itm_number = <fs_itemx>-itm_number.
      delete ct_schedulesx
      where itm_number = <fs_itemx>-itm_number.
    endloop.

 

If you have any questions or feedback, feel free to leave a comment!

Thanks,

Mark

Be the first to leave a comment
You must be Logged on to comment or reply to a post.