Foro de programación ABAP
SAP / ABAP => Formularios => Mensaje iniciado por: molaci en 09 de Abril de 2008, 12:05:28 pm
-
Hola, gracias por vuestras respuestas.
Tengo otra duda, dentro de un LOOP tengo que romper página (pasar a la página siguente) por cada nuevo cliente que me viene.
Como hago para que me haga algo así...
at new cliente --> (salto de página)
Gracias de nuevo.
-
Dentro del Objeto LOOP en la pestaña Datos podemos trabajar con la parte de Criterios de Clasificación para crear eventos como el AT NEW Y AT END. Para ello unicamente debemos especificar el campo por el que deseamos realizar el quiebre y marcar la casilla de Inicio nivel clasif. y Fin nivel clasif. para utilizar los eventos at new y at end respectivamente.
Al hacer esto aparecera(n) un objeto(s) mas debajo del objeto LOOP, dentro del cual(es) podremos colocar la logica para el evento seleccionado.
By Gatini28
Saludos.
-
Yo lo que suelo hacer es:
Por ejemplo... Me creo una línea de programa y en una variable guardo el cliente y por cada posición comparo el cliente con el que teníamos antes.
De esta forma si son iguales continuas como si no hubiese pasado nada y si el que viene es distinto haces el salto de página.
Un saludo.
-
q tal.
mira yo hice algo parecido, en mi caso lo q tenia q hacer es por orden de produccion, es decir por cada orden de produccion tenia q hacerlo en una nueva pagina y decir pag "n" de pag "m", entonces lo q hice fue en el prog control a mi tabla interna le hago un loop ty dentro de ese loop un at end of por orden
*controla la paginacion en la salida de las ordenes
LOOP AT tab03.
MOVE-CORRESPONDING tab03 TO tab01.
APPEND tab01.
AT END OF aufnr.
MOVE-CORRESPONDING tab01 TO tab04.
APPEND tab04.
PERFORM calculo_datos. "aki hago calculos de la orden
PERFORM impresion_datos. "aki es la llamada al smart
REFRESH: tab01, tab02.
ENDAT.
ENDLOOP.
ojo: con esta rutina se manda llamar el cuadro de impresion por cada orden
espero te ayude esto, saludos