ABAP - Modificar tabla condiciones en tickets de contrato

 
Vista:
sin imagen de perfil
Val: 1
Ha mantenido su posición en ABAP (en relación al último mes)
Gráfica de ABAP

Modificar tabla condiciones en tickets de contrato

Publicado por Jonatan (1 intervención) el 26/03/2018 15:15:19
Hola!

Estoy necesitando hacer una implementación para que, al cambiar el precio unitario de un contrato (ZP00,ZP01,ZP02) se reflejen estos cambios en la tabla de condiciones de cada TICKETS que tiene el CONTRATO PADRE (SALES o PURCHASE)

Entiendo que existe una FM estandar WB2_CONTRACT_CHANGE_FROM_DATA que te permite modificar varias tablas de un contrato, pero desconozco si puedo utilizarla para este caso de TICKETS.

Espero me puedan ayudar!

Gracias!
Saludos!!
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

Modificar tabla condiciones en tickets de contrato

Publicado por Alejandro (226 intervenciones) el 13/04/2023 22:13:06
Para realizar esta implementación, necesitas modificar los tickets correspondientes a cada contrato. Puedes hacerlo a través de la función estándar 'WB2_TICKET_CHANGE_FROM_DATA'. Esta función te permitirá actualizar las condiciones de precio del ticket con el nuevo valor del precio unitario del contrato.

Aquí te proporciono un ejemplo de código ABAP para que te orientes:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
DATA: lt_ticket TYPE TABLE OF wb2_ticket.
 
SELECT * FROM wb2_ticket INTO TABLE lt_ticket WHERE contract = 'XXXXX' AND ticket_status = 'O'.
 
LOOP AT lt_ticket ASSIGNING FIELD-SYMBOL(<fs_ticket>).
 
"Actualizamos el precio en la tabla de condiciones del ticket."
<fs_ticket>-ticket_cond-KONP-KBETR = 'NUEVO_PRECIO'.
<fs_ticket>-ticket_cond-KONP-KWERT = 'NUEVO_PRECIO'.
 
CALL FUNCTION 'WB2_TICKET_CHANGE_FROM_DATA'
EXPORTING
header_guid = <fs_ticket>-guid
it_ticket_cond = <fs_ticket>-ticket_cond
EXCEPTIONS
error_occurred = 1
OTHERS = 2.
 
IF sy-subrc <> 0.
"Gestionar el error"
ENDIF.
 
ENDLOOP.

En este ejemplo, estamos actualizando el precio unitario del contrato y modificando las condiciones del ticket correspondiente para que reflejen el cambio. También se está manejando los posibles errores que puedan ocurrir.

Es importante que realices pruebas exhaustivas para asegurarte de que tu implementación funciona correctamente y no causa problemas en los demás procesos de tu sistema SAP.
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