ABAP - BAPI_REQUISITION_CHANGE

 
Vista:

BAPI_REQUISITION_CHANGE

Publicado por Iván (5 intervenciones) el 16/09/2009 18:04:01
Hola,

Alguien sabe si se puede y como modificar la unidad de medida de una solicitud de pedido con la BAPI, BAPI_REQUISITION_CHANGE. Intento usar este campo, REQUISITION_ITEMS_NEW-UNIT.
pero no hay manera de cambiarlo.

Gracias.
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder
Imágen de perfil de Alejandro

BAPI_REQUISITION_CHANGE

Publicado por Alejandro (226 intervenciones) el 13/04/2023 00:57:41
Sí, es posible modificar la unidad de medida de una solicitud de pedido utilizando la BAPI 'BAPI_REQUISITION_CHANGE'. El campo que debes utilizar es 'REQUISITION_ITEMS-UNIT'.

Para cambiar la unidad de medida de una solicitud de pedido, sigue estos pasos:

1. Declara y completa los parámetros de entrada de la BAPI, incluyendo el número de solicitud de pedido ('PURCHASE_REQUISITION'), el número de posición del ítem ('REQUISITION_ITEMS-PO_ITEM') y la nueva unidad de medida ('REQUISITION_ITEMS-UNIT').

2. Llama a la BAPI 'BAPI_REQUISITION_GET_DETAIL' para obtener los detalles de la solicitud de pedido.

3. Modifica el valor del campo 'REQUISITION_ITEMS-UNIT' en la tabla de ítems ('REQUISITION_ITEMS') de la estructura de detalle de la solicitud de pedido.

4. Llama a la BAPI 'BAPI_REQUISITION_CHANGE' con los parámetros actualizados.

Aquí te dejo un ejemplo de código ABAP que puedes utilizar como punto de partida para implementar esta funcionalidad:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
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.

Espero que esto te ayude.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar