#1
|
|||
|
|||
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. |
#2
|
|||
|
|||
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..... |
#3
|
|||
|
|||
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 |
#4
|
|||
|
|||
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. |
Herramientas | Buscar en Tema |
Desplegado | |
|
|