MUNDOSAP

Regresar   MUNDOSAP > DESARROLLO > Programación ABAP IV
Nombre de Usuario
Contraseña
Home Descargas Registrar FAQ Miembros Calendario Buscar Temas de Hoy Marcar Foros Como Leídos




 
Respuesta
 
Herramientas Buscar en Tema Desplegado
  #1  
Viejo 16/04/10, 00:23:58
mitosap mitosap is offline
Member
 
Fecha de Ingreso: sep 2009
Mensajes: 57
Salto de Pagina (Write)

Hola amigos.

Tengo un reporte z, donde muestro varias entregas a escuelitas. Quisiera que por cada una de ellas (escuelas) me salte una pagina con su encabezado respectivo. Por ahora con el TOP-OF-PAGE se hace una sola vez.

Parte del código (donde genero la impresion) :

**///////////////////////////////////
FORM IMPRIMIR .

DATA: w_cantidad(9),
w_saldo_fe (9),
w_entreg_d(9),
w_dias_sal (7).


If prn eq 'X'.
FORMAT COLOR 1 INTENSIFIED OFF.
Endif.

SORT it_alv by vtext ascending
escuela ascending.

Loop at it_alv.
At new escuela.
r_flag01 = 1.
Endat.

If r_flag01 = 1.
r_flag01 = 0.
perform TOP-OF-PAGE-PRN.
Endif.

write it_alv-cantidad to w_cantidad.
write it_alv-saldo_fe to w_saldo_fe.
write it_alv-entreg_d to w_entreg_d.
write it_alv-dias_sal to w_dias_sal.

Write:/001 it_alv-vbeln,
010 it_alv-wadat,
020 it_alv-material+12(6),
027 it_alv-material+19(35),
064 w_cantidad,
073 w_saldo_fe,
082 w_entreg_d,
091 w_dias_sal.
*
skip.
*
At end of escuela.
ULINE at (88).
Sum.

write it_alv-cantidad to w_cantidad.
write it_alv-saldo_fe to w_saldo_fe.
write it_alv-entreg_d to w_entreg_d.
write it_alv-dias_sal to w_dias_sal.

Write:/01 ' Total Entrega por Escuela ',
064 w_cantidad,
073 w_saldo_fe,
082 w_entreg_d,
091 w_dias_sal.
*
ULINE at /(88).
skip 1.
Endat.
AT LAST.
ULINE at (88).
Sum.
write it_alv-cantidad to w_cantidad.
write it_alv-saldo_fe to w_saldo_fe.
write it_alv-entreg_d to w_entreg_d.
write it_alv-dias_sal to w_dias_sal.

Write:/01 ' T o t a l F i n a l',
064 w_cantidad,
073 w_saldo_fe,
082 w_entreg_d,
091 w_dias_sal.
*
ULINE at /(88).
ENDAT.
****>>>>>>>>>>>>>>>>>>>>>
Endloop.
ENDFORM.
**//////////////////////////////////
** FORM PARA IMPRESION DE ENCABEZADOS (INICIALMENTE ESTABA COMO
** UN EVENTO, PERO SOLO LO HACE UNA VEZ, POR TAL RAZON LO INCLUI
** COMO UN FORM, PERO IGUAL NO ME FUINCIONA, ME HACE LOS **ENCABEZADOS POR CADA ESCUELA PERO CORRIDO, NECESITO SALTAR **ANTES DE IMPRIMIR ENCABEZADOS.
**/////////////////////////////////
*TOP-OF-PAGE.
FORM TOP-OF-PAGE-PRN.
*SELECT SINGLE * FROM t001w WHERE werks eq w_werks.
If prn eq 'X'.
FORMAT COLOR 1 INTENSIFIED OFF.
Endif.
ULINE at (88).
WRITE:/001 w_texto,
055 'Fecha de Emisión:', 73 SY-DATUM.
WRITE:/001 'Distrito Escolar: ',
019 it_alv-vtext,
055 'Hora de Emision :', 73 SY-UZEIT.

WRITE:/001 'Escuela Destino :',
019 it_alv-escuela+0(50),
73 SY-pagno.

WRITE:/001 'Fecha Entrega ', w_fecha_larga.


WRITE:/001 ' ', 55 'USUARIO: ', SY-SYSID, 72 '-', 73 SY-UNAME.

*
ULINE at /(88).

ENDFORM.
**//////////////////////////////////
Gracias de antemano por su ayuda.
Responder Con Cita
  #2  
Viejo 16/04/10, 15:13:22
temaljose temaljose is offline
Senior Member
 
Fecha de Ingreso: oct 2007
Mensajes: 203
Hola amigo, tu codigo deberia quedar asi:
**///////////////////////////////////
FORM IMPRIMIR .

DATA: w_cantidad(9),
w_saldo_fe (9),
w_entreg_d(9),
w_dias_sal (7).


If prn eq 'X'.
FORMAT COLOR 1 INTENSIFIED OFF.
Endif.

SORT it_alv by escuela ascending vtext ascending.
Loop at it_alv.
At new escuela.
new-page.
Endat.

write it_alv-cantidad to w_cantidad.
write it_alv-saldo_fe to w_saldo_fe.
write it_alv-entreg_d to w_entreg_d.
write it_alv-dias_sal to w_dias_sal.

Write:/001 it_alv-vbeln,
010 it_alv-wadat,
020 it_alv-material+12(6),
027 it_alv-material+19(35),
064 w_cantidad,
073 w_saldo_fe,
082 w_entreg_d,
091 w_dias_sal.
*
skip.
*
At end of escuela.
ULINE at (88).
Sum.

write it_alv-cantidad to w_cantidad.
write it_alv-saldo_fe to w_saldo_fe.
write it_alv-entreg_d to w_entreg_d.
write it_alv-dias_sal to w_dias_sal.

Write:/01 ' Total Entrega por Escuela ',
064 w_cantidad,
073 w_saldo_fe,
082 w_entreg_d,
091 w_dias_sal.
*
ULINE at /(88).
skip 1.
Endat.
AT LAST.
ULINE at (88).
Sum.
write it_alv-cantidad to w_cantidad.
write it_alv-saldo_fe to w_saldo_fe.
write it_alv-entreg_d to w_entreg_d.
write it_alv-dias_sal to w_dias_sal.

Write:/01 ' T o t a l F i n a l',
064 w_cantidad,
073 w_saldo_fe,
082 w_entreg_d,
091 w_dias_sal.
*
ULINE at /(88).
ENDAT.
****>>>>>>>>>>>>>>>>>>>>>
Endloop.
ENDFORM.
**//////////////////////////////////
** FORM PARA IMPRESION DE ENCABEZADOS (INICIALMENTE ESTABA COMO
** UN EVENTO, PERO SOLO LO HACE UNA VEZ, POR TAL RAZON LO INCLUI
** COMO UN FORM, PERO IGUAL NO ME FUINCIONA, ME HACE LOS **ENCABEZADOS POR CADA ESCUELA PERO CORRIDO, NECESITO SALTAR **ANTES DE IMPRIMIR ENCABEZADOS.
**/////////////////////////////////
FORM TOP-OF-PAGE.
*SELECT SINGLE * FROM t001w WHERE werks eq w_werks.
If prn eq 'X'.
FORMAT COLOR 1 INTENSIFIED OFF.
Endif.
ULINE at (88).
WRITE:/001 w_texto,
055 'Fecha de Emisión:', 73 SY-DATUM.
WRITE:/001 'Distrito Escolar: ',
019 it_alv-vtext,
055 'Hora de Emision :', 73 SY-UZEIT.

WRITE:/001 'Escuela Destino :',
019 it_alv-escuela+0(50),
73 SY-pagno.

WRITE:/001 'Fecha Entrega ', w_fecha_larga.


WRITE:/001 ' ', 55 'USUARIO: ', SY-SYSID, 72 '-', 73 SY-UNAME.

*
ULINE at /(88).

ENDFORM.

saludos y espero te ayude
__________________
Lo unico que se, es que no se nada.....
Responder Con Cita
  #3  
Viejo 16/04/10, 15:18:51
zonanet zonanet is offline
Senior Member
 
Fecha de Ingreso: mar 2007
Localización: Durango, Dgo. México
Mensajes: 195
te recomiendo que no uses el top of page, en su lugar usa las cabeceras de lista, es igual que el top-of-page, sólo que aquí cuentas únicamente con 4 renglones para tu encabezado, así cada vez que saltas a una página nueva se imprime la cabecera, la forma de llegar a las cabeceras de lista es:

Menu PASAR A ----> ELEMENTOS DE TEXTO----> CABECERAS DE LISTA

tienes que "acomodar" como quieres que se imprima en pantalla pero eso a prueba y error.


cualquier cosa que no me haya explicado bien, lo haces saber.

Saludos
Responder Con Cita
  #4  
Viejo 17/04/10, 12:43:54
mitosap mitosap is offline
Member
 
Fecha de Ingreso: sep 2009
Mensajes: 57
Excelente amigos, justo lo que buscaba. En cuanto a la cabecera lo tendré presente para cuando no requiera tantas filas de encabezados, por ahora lo manejaré en el evento top_op_page.

Que estén muy bien.
Responder Con Cita
Respuesta


Herramientas Buscar en Tema
Buscar en Tema:

Búsqueda Avanzada
Desplegado

Reglas de Mensajes
no puedes crear nuevos temas
no puedes responder temas
no puedes adjuntar archivos
no puedes editar tus mensajes

El código vB está On
Las caritas están On
Código [IMG] está On
Código HTML está Off
Saltar a Foro


Husos Horarios son GMT. La hora en este momento es 11:18:40.


www.mundosap.com 2006 - Spain
software crm, crm on demand, software call center, crm act, crm solutions, crm gratis, crm web