Función ABAP: Recuperacion de partidas individuales
Recupere información de partidas individuales en ABAP sin utilizar sentencias SELECT.
La función GET_CLEARED_ITEMS en ABAP permite obtener los datos de documentos relacionados a una orden con la misma información que se visualiza en una consulta de partidas individuales de acreedor o deudor.
Generalmente, los documentos relacionados a una orden de pago corresponden a facturas, pero bien pueden representar notas de débito/crédito u otros. Esta función es utilizable ya sea para obtener información de documentos de partidas de acreedor como también de deudor.
Por ejemplo, al visualizar un documento que representa una orden de pago a un acreedor mediante la transacción FB03, es posible recuperar las partidas individuales del documento de pago mediante el menú funcional Entorno Utilización del pago.
Esta misma información se obtiene con la función GET_CLEARED_ITEMS.
Se detalla a continuación los elementos necesarios y la forma de utilización de esta función dentro de un programa ABAP:
- Definir variables que contienen los parámetros de entrada a la función. Ejemplo:
data: xbelnr like payr-vblnr. "Nro.documento
data: xbukrs like payr-zbukr. "Sociedad
data: xgjahr like payr-gjahr. "Ejercicio
data: xbvorg like bkpf-bvorg. "Nro operación contab.multisociedades
- Definir la tabla interna que contendrá las partidas individuales del documento de pago. Ejemplo:
data: begin of itab occurs 50.
data: xauth(1) type c. " Berechtigung
data: xhell(1) type c. " Hell anzeigen
include structure rfpos. " Listanzeigen-Strukture
include rfeposc9. " Kunden-Sonderfelder
data: end of itab.
Tener en cuenta, que si se utiliza esta función dentro de, por ejemplo, un loop y se desea procesar separadamente por documento de pago/cobro, es necesario limpiar la tabla interna debido a que la función siempre realiza append sobre la tabla.
Ejemplo:
...clear itab. refresh itab....
- Llamada a la función, un ejemplo:
...
call function 'GET_CLEARED_ITEMS'
exporting
i_belnr = xbelnr
i_bukrs = xbukrs
i_gjahr = xgjahr
i_bvorg = xbvorg
tables
t_items = itab
exceptions
not_found = 1
error_cleared_accounts = 2
others = 3.
...
- Por último, y dependiendo del código de retorno, comenzar a procesar las partidas que se almacenaron en la tabla interna.
...
case sy-subrc.
when 0.
perform procesar_tabla.
when 1.
* No se encontró doc. de compensación
when others.
* Otro error.
endcase.
...
...
case sy-subrc.
when 0.
perform procesar_tabla.
when 1.
* No se encontró doc. de compensación
when others.
* Otro error.
endcase.
...
Copyright Teknoda S.A.
IMPORTANTE: “Notas técnicas de SAP ABAP" se envía con frecuencia variable y sin cargo como servicio a nuestros clientes SAP. Contiene notas/tutoriales/artículos técnicos desarrollados en forma totalmente objetiva e independiente. Teknoda es una organización de servicios de tecnología informática y NO comercializa hardware, software ni otros productos. |
Tema: FI, PARTIDAS INDIVIDUALES, FUNCIONES Descripcion: Obtención de información de partidas individuales sin utilizar sentencias SELECT en ABAP.