PDA

Ver la Versión Completa : Nueva Pagina En Formulario


apozosanz
31/08/06, 13:01:58
Hola a todos .
Tengo un formulario en el que represento los datos d euna tabla interna.
Al hacer el write del main hago lo siguiente:

LOOP AT IT_ABONADOS.

CALL FUNCTION 'WRITE_FORM'
EXPORTING
* ELEMENT = ' '
WINDOW = 'MAIN'
EXCEPTIONS
ELEMENT = 1
FUNCTION = 2
TYPE = 3
UNOPENED = 4
UNSTARTED = 5
WINDOW = 6
BAD_PAGEFORMAT_FOR_PRINT = 7
SPOOL_ERROR = 8
OTHERS = 9.

SUMA = SUMA + IT_ABONADOS-PRECIO.
ENDLOOP.


Se trata de sacar las facturas de los abonados para un mes seleccionado.
Lo que quiero hacer es que en este loop, me cambie de pagina cada vez que cambie el nombre del abonado.
La it la tengo ordenada por nombre de abonado.

Alguien me puede decir como hacerlo.
Gracias.

tomasm
31/08/06, 13:33:45
LOOP AT IT_ABONADOS.
CALL FUNCTION 'WRITE_FORM'
EXPORTING
* ELEMENT = ' '
WINDOW = 'MAIN'
EXCEPTIONS
ELEMENT = 1
FUNCTION = 2
TYPE = 3
UNOPENED = 4
UNSTARTED = 5
WINDOW = 6
BAD_PAGEFORMAT_FOR_PRINT = 7
SPOOL_ERROR = 8

at end of it_abonados-NOMBRE.
write:/ suma.
clear suma.
endat.

at new it_abonados-NOMBRE.
new-page.
*perform cabecera. " (si la hay)
endat.

SUMA = SUMA + IT_ABONADOS-PRECIO.
ENDLOOP.


Suerte, que esto funciona. :confused:

apozosanz
31/08/06, 13:48:25
Hola.
El At End Lo Quito Porque La Suma La Represento En Una Ventana Aparte.
De Todos Modos El

At New Nombre
New-page
Endat

No Me Lo Hace.

De Todos Modos Gracias, Si Se Te Ocurre Otra Forma Me Los Dices.
Algo Habra Que Estoy Poniendo Mal.
Saludos.
Alfonso

tomasm
31/08/06, 13:52:15
Lo que pide el at new x, es que la tabla interna esté ordenada, no importa si es ascending o descending.

Te copio la ayuda.

Example
DATA: NAME(30),
SALES TYPE I.
FIELD-GROUPS: HEADER, INFOS.
INSERT: NAME INTO HEADER,
SALES INTO INFOS.
...
LOOP.
AT NEW NAME.
NEW-PAGE.
ENDAT.
...
AT END OF NAME.
WRITE: / NAME, SUM(SALES).
ENDAT.
ENDLOOP.

tomasm
01/09/06, 08:06:02
Otra manera, es la habitual, de guardar el nombre que estas tratando en una variable auxiliar, y cuando cambie, hacer algo.

Saludos !!!!!!

:rolleyes: