Verificar Contenido de Field-Group

Hola a Todos.

Por favor estoy trabajando con reporte que usa field-group (taxes) pero no entiendo la manera de manejarlos, tengo actualmente las siguientes lineas, como puedo verificar su contenido ya que funciona para unos documentos y otros no:

LOOP.

AT taxes.

PERFORM write_financial.

ENDLOOP.

En algunos casos se llama al perform write_financial al llegar a este punto y en otros no, pero no veo de que forma comparar donde esta la diferencia.

Por favor si me pueden orientar al respecto se lo agradeceria mucho.

Ana

En qué proceso se ejecutan esas líneas?
Depurá todo y analizá por qué hay documentos donde pasa y documentos por los que no pasa.

Es complicado ayudarte sin tener el proceso completo o entender qué estás buscando hacer.

Lo que necesito es entender como funcionan los field-group , como puedo saber su contenido.

Gracias

Ana

Hola Ana, los field-groups representan el nombre de una estructura, esta estructura se define mediante INSERT y los valores se asignan al campo y son referenciados a un field-gruop con la sentencia EXTRACT.
La lectura en el loop la haces apuntando al field-group.

Te dejo un pequeño código para que veas cómo funcionan:

"Campos que formaran la estructura de nuestros field-groups
DATA: t1(4), t2 TYPE i.
DATA: t3(2).
DATA: t4(5), t5(5), t6(5).

FIELD-GROUPS: header, fila_tipo1, fila_tipo2.

"Definición de la estructura de cada field-group
INSERT t2 t1 INTO header.
INSERT t3 INTO fila_tipo1.
INSERT t4 t5 t6 INTO fila_tipo2.

*Se añaden registros/filas a nuestro conjunto de datos (que contiene extractos)
*indicando el valor de cada campo y referenciando el extracto.

t1 ='HD01'. t2 = 1. EXTRACT header.
t3 = 'T3'.          EXTRACT fila_tipo1.

t1 ='HD02'. t2 = 2. EXTRACT header.
t4 = '00004'.
t5 = '00005'.
t6 = '00006'.
EXTRACT fila_tipo2.

t1 ='HD11'. t2 = 1. EXTRACT header.
t3 = 'T6'.          EXTRACT fila_tipo1.
t1 ='HD12'. t2 = 2. EXTRACT header.
t4 = '20004'.
t5 = '20005'.
t6 = '20006'.
EXTRACT fila_tipo2.

*Si debuggeas veras que siempre están llenos los campos (t1 t2 t3 t4 t5 y t6)
*pero veras que el field-group si cambia.

LOOP.
  AT header. 
    WRITE: / t1, ' - ', t2.
  ENDAT.
  AT fila_tipo1.
    WRITE: / t3.
  ENDAT.
  AT fila_tipo2.
    WRITE: / t4, ' - ', t5, ' - ', t6.
  ENDAT.
ENDLOOP.

Disculpen si algún tecnicismo es incorrecto, pero trate de ser coloquial para hacer simple el tema.

Con esto, puedes ir a ver como esta definido tu field-group taxes y ver que pasa en la subrutina write_financial.

Saludos!!

1 me gusta