7
Cómo obtener el flujo de documentos desde un programa ABAP inShare En ABAP, recupere el flujo de documentos de un documento comercial mediante la función RV_ORDER_FLOW_INFORMATION. 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 dedocumentos 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

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

Embed Size (px)

Citation preview

Page 1: Cómo obtener el flujo de documentos desde un programa ABAP.docx

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

inShare

En ABAP, recupere el flujo de documentos de un documento comercial mediante la función RV_ORDER_FLOW_INFORMATION.

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 dedocumentos 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

Page 2: Cómo obtener el flujo de documentos desde un programa ABAP.docx

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 diccionarioVBFA 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)

Page 3: Cómo obtener el flujo de documentos desde un programa ABAP.docx

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

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

Page 4: Cómo obtener el flujo de documentos desde un programa ABAP.docx

d) Luego, se obtendrá el Flujo de 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 correspondientecontabilización en finanzas, como se resume:

Pedido Std 1472 / 10

→ Entrega 80001237 / 10

→ Confirmación de servicio 1611237000 / 10

→ Factura 90001526 / 10

Page 5: Cómo obtener el flujo de documentos desde un programa ABAP.docx

→  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:

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”:

Page 6: Cómo obtener el flujo de documentos desde un programa ABAP.docx

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

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

  DATA: ls_comwa TYPE vbco6,

        lt_vbfa TYPE TABLE OF vbfa WITH HEADER LINE .

  ls_comwa-vbeln = your_document_number .

  CALL FUNCTION 'RV_ORDER_FLOW_INFORMATION'

       EXPORTING

            comwa    = ls_comwa

       TABLES

            vbfa_tab = lt_vbfa

       EXCEPTIONS

            OTHERS   = 0.

Page 7: Cómo obtener el flujo de documentos desde un programa ABAP.docx