Autor Tema: AT NEW - AT END en Smartforms  (Leído 15658 veces)

0 Usuarios y 1 Visitante están viendo este tema.

Desconectado molaci

  • Usuario Sr.
  • ****
  • Mensajes: 113
    • Ver Perfil
AT NEW - AT END en Smartforms
« 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.

Desconectado ale12

  • Usuario Completo
  • ***
  • Mensajes: 92
    • Ver Perfil
Re: AT NEW - AT END en Smartforms
« Respuesta #1 en: 09 de Abril de 2008, 06:03:24 pm »

Citar
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.

Desconectado Carlos

  • Usuario Sr.
  • ****
  • Mensajes: 177
    • Ver Perfil
Re: AT NEW - AT END en Smartforms
« Respuesta #2 en: 10 de Abril de 2008, 04:53:19 pm »
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.

Desconectado torrescano

  • Novato
  • *
  • Mensajes: 11
    • Ver Perfil
Re: AT NEW - AT END en Smartforms
« Respuesta #3 en: 24 de Junio de 2008, 07:13:38 pm »
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