Uncategorized

Cómo obtener el flujo de documentos desde un programa ABAP

Cuando la información con la que se trabaja está vinculada a la gestión de documentos comerciales, muchas veces no se cuenta específicamente, en forma directa, con el comprobante con el que se necesita tratar.

Sin embargo, el sistema mantiene los vínculos entre los documentos que le dieron orígen y que se generaron a partir del mismo, es decir, el sistema almacena la información del “flujo de documentos”.

Existe un módulo de función que permite obtener esa información almacenada. Esto implica que a partir de un documento comercial, devuelve su “flujo de documentos”; o sea la lista de documentos relacionados.

El módulo de función se denomina “RV_ORDER_FLOW_INFORMATION” y puede ser invocado desde un programa ABAP.

Cómo utilizar el Módulo de Función RV_ORDER_FLOW_INFORMATION

Parámetros de Entrada:

 COMW: es el único parámetro de exporting obligatorio, toma su definición de la estructura del diccionario ABAP VBCO6 y contiene el número de documento comercial del cual se quiere obtener el historial. También puede indicarse un número de posición del documento comercial y un número de reparto, si existiera.

– AUFBEREITUNG: es un parámetro opcional que permite seleccionar el nivel de dependencia de documentos en el flujo. El valor por omisión provisto por el sistema es ‘2’.

– BELEGTYP: es un parámetro opcional y se puede utilizar para filtrar la información por tipo de documento comercial.

– NACHFOLGER: es un parámetro opcional y se puede utilizar para visualizar o no los documentos sucesores. El valor por omisión propuesto por el sistema es ‘X’, es decir, que muestra todos los documentos sucesores.

– N_STUFEN: es un parámetro opcional y permite elegir el número de nivel de los documentos sucesores. El valor por omisión propuesto por el sistema es ‘50’.

– VORGAENGER: es un parámetro opcional y se puede utilizar para visualizar o no los documentos predecesores. El valor por omisión propuesto por el sistema es ‘X’, es decir, que muestra todos los documentos predecesores.

– V_STUFEN: es un parámetro opcional y permite elegir el número de nivel de los documentos predecesores. El valor por omisión propuesto por el sistema es ‘50’.

Parámetro de Salida:

– BELEGTYP_BACK: es un parámetro de importing opcional y se puede utilizar para obtener el tipo de documento del comprobante a consultar. Los tipos de documentos más comunes son:

C:: Pedido

J:: Entrega

Q: Orden de transporte (Picking)

R: Movimiento de mercadería

M: Factura de SD

Tablas:

– VBFA_TAB es el parámetro de importing obligatorio, toma se definición de la estructura del diccionario VBFA y tiene formato de tabla interna.

En este parámetro la función devuelve la lista de todos los documentos relacionados con el comprobante a consultar, con los números de documentos, los tipos de documentos, etc.

Excepciones:

NO_VBFA: genera esta excepción cuando no encuentra el documento en la tabla VBFA (Flujo de documentos comerciales).

NO_VBUK_FOUND: genera esta excepción cuando no encuentra el documento en la tabla VBUK (Documento comercial: Status cabecera y datos gestión).

Ejemplo de consulta de flujo de documentos a partir de un Pedido de Ventas:

La consulta del flujo de documentos del pedido 4972, posición 10, mediante la transacción VA03 (Visualizar pedido) devuelve el siguiente resultado:

a) Ingreso del número de pedido (Ej. 1472)

ABAP-Flujo-documentos-vis.-pedido-cliente1

b) Al presionar Aceptar, se llega a la pantalla de Resumen

ABAP-Flujo-documentos-vis.-pedido-cliente-resumen

c) En esta pantalla Resumen, se elige la opción del menú: Entorno → Visualizar Flujo de Documentos:

ABAP-Visualizar-flujo-documentos

d) Luego, se obtendrá el Flujo de Documentos:

ABAP-flujo-documentos

Los pasos realizados para obtener el flujo de documentos fueron: del pedido se generó la entrega, luego la confirmación de servicio, posteriormente la factura y finalmente su correspondiente contabilización en finanzas, como se resume:

Pedido Std 1472 / 10

→ Entrega 80001237 / 10

→ Confirmación de servicio 1611237000 / 10

→ Factura 90001526 / 10

→  Doc. Contabil. 6010000027

Para utilizar el módulo de función, se debería ingresar en el parámetro COMWA, campo VBELN, el número de pedido, completado con ceros a izquierda para la posterior búsqueda en la base de datos, y en la misma estructura, campo POSNR, si se desea una posición del documento.

Luego de ejecutar la función, el parámetro VBFA_TAB contiene en cada fila de la tabla interna, un documento relacionado con su correspondiente posición, es decir que la tabla interna contendrá tantas filas como relaciones documento-posición existan.

Finalmente, para obtener el flujo de documentos, es necesario recorrer la tabla interna a través de un loop.

Ejemplo de consulta de flujo de documentos a partir de una Entrega:

En el ejemplo siguiente, se parte del documento de entrega y se obtienen los documentos de facturas relacionados:

ABAP-flujo-documentos-entrega

Las variables utilizadas en el código anteriormente especificado, toman su definición de las siguientes estructuras:

La variable “T_VBC06” toma su definición de la estructura “VBC06”:

ABAP-flujo-documentos-visualizar-estructura

Y la tabla interna “T_VBFA”, se define con referencia a la estructura de la tabla “VBFA”:

ABAP-flujo-documentos-tabla-transparente

Finalmente, luego de obtener el número de factura relacionado, el programa continúa su procesamiento.

 

Post original:

http://www.teknodatips.com.ar/sap-netweaver/142-como-obtener-el-flujo-de-documentos-desde-un-programa-abap.html

Categories: Uncategorized

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out /  Change )

Google+ photo

You are commenting using your Google+ account. Log Out /  Change )

Twitter picture

You are commenting using your Twitter account. Log Out /  Change )

Facebook photo

You are commenting using your Facebook account. Log Out /  Change )

Connecting to %s