Crear Función Z para procesar IDOC WPUBON

Hola masters

Aquí de nuevo consultándoles tengo el siguiente requerimiento solo que no he trabajado con IDOCS por eso los contacto.
1.- Crear un nuevo código de mensaje para que se use un nuevo programa para procesar IDoc WPUBON
2.-. La nueva función debe basarse en la función IDOC_INPUT_POS_SALES_DOCUMENTS.
3. Parámetros de entrada
Los parámetros de entrada de la función original no deberían modificarse.
Validación de datos
Antes de procesar el IDOC, algunos de los datos recibidos deben validarse de acuerdo con las instrucciones en las siguientes secciones.

  1. Consistencia de cantidades.
    Los nombres de los segmentos actuales son:

E1WPB01 – Order header
E1WPB02 – Items in the order
E1WPB03 – Items conditions (the way the price is built)
E1WPB06 – Payment information

Teniendo en cuenta esto, para cada segmento E1WPB01, todas las condiciones en los segmentos E1WPB03 deben agregarse y compararse con los datos en el segmento E1WPB06. Si los valores son los mismos, entonces el IDOC es correcto, si no se debe emitir un mensaje de error y se interrumpe el proceso.

Mensaje de error: “La cantidad pagada y los detalles del precio no son consistentes (segmentos x, y, z)”.

El cálculo se basa en el procedimiento de fijación de precios, utilizando la siguiente lógica.

a. Lea la tabla T683S según el procedimiento de fijación de precios para la factura (T683S-KALSM) solo si tiene una condición (T683S-KSCHL <> “”), no es estadística (T683S-KSTAT <> “X”), ordenada por precio nivel y contador (T683S-STUNR y T683S-ZAEHK).

b. Para la lista resultante, lea la naturaleza de las condiciones de la tabla T685A.

c. Comenzando con un valor de ZERO, el proceso agrega condiciones positivas (cuando T685A-KNEGA = “A”), resta condiciones negativas (cuando T685A-KNEGA = “X”) o considera el signo de idoc (E1WPB03-VORZEICHEN) si la condición puede ser positivo o negativo (cuando T685A-KNEGA = “”).

d. Compare el resultado del cálculo con el monto pagado (E1WPB06-SUMME). Si los valores se registran, el número del segmento E1WPB01 se revisa como defectuoso.

e. Si hay más segmentos E1WPB01, continúe procesando el siguiente segmento del paso a.

F. Una vez que todos E1WPB01

Está complicado? ya la función la tengo copiada en una z, gracias de antemano. y saludos

Este tema se cerró automáticamente 91 días después del último post. No se permiten nuevas respuestas.