DATA: ls_requisition_items TYPE bapimereqitem,
lt_requisition_items TYPE TABLE OF bapimereqitem.
* Completar los parámetros de entrada de la BAPI
ls_requisition_items-purchase_requisition = 'XXXXXX'.
ls_requisition_items-po_item = '00010'.
ls_requisition_items-unit = 'EA'.
* Llamar a la BAPI para obtener los detalles de la solicitud de pedido
CALL FUNCTION 'BAPI_REQUISITION_GET_DETAIL'
EXPORTING
purchase_requisition = ls_requisition_items-purchase_requisition
IMPORTING
requisition_items = lt_requisition_items
EXCEPTIONS
communication_failure = 1
system_failure = 2
internal_error = 3
OTHERS = 4.
* Modificar el valor de la unidad de medida en la tabla de ítems
LOOP AT lt_requisition_items INTO ls_requisition_items
WHERE po_item = ls_requisition_items-po_item.
ls_requisition_items-unit = 'KG'.
MODIFY lt_requisition_items FROM ls_requisition_items INDEX sy-tabix.
ENDLOOP.
* Llamar a la BAPI para modificar la solicitud de pedido
CALL FUNCTION 'BAPI_REQUISITION_CHANGE'
EXPORTING
purchase_requisition = ls_requisition_items-purchase_requisition
TABLES
requisition_items = lt_requisition_items
EXCEPTIONS
communication_failure = 1
system_failure = 2
internal_error = 3
OTHERS = 4.