Smartform a 3 Niveles

download Smartform a 3 Niveles

of 6

description

SAP Smartform a 3 Niveles

Transcript of Smartform a 3 Niveles

Smartform a 3 Niveles - parte 3ltima parte del tutorial, donde desarrollaremos la ventana que nos permite mostrar el detalle, el sub-detalle y el salto de pgina.

Pueden ver las 2 partes anteriores por aqu:Primera parte.Segunda parte.

Ventana MAIN:Esta es una ventana tipo principal. Tiene como caractersticas importantes la impresin de datos de manera dinmica (bucles) y los saltos de pgina. En esta ventana por lo general se muestran los detalles de la cabecera dejando el reporte a2 Niveles(cabecera y detalle); pero en nuestro ejemplo, le hemos aadido un sub nivel ms, ya que alguna vez tuve la oportunidad de modficar un smartforma como este a3 Niveles.

Podemos observar que tenemos 2 carpetas,EQUIPOSyJUGADORES. Dentro de ellas tambin tenemos 2 bucles respectivos, que a fin de cuentas es lo k vamos a tratar, ya que lo de las mscaras ser solo un vistazo pues el procedimiento es el mismo que las anteriores mscaras.

Bucle DET1:Como la carpeta nos seala, este bucle va a manejar la tabla interna referente a los equipos, los cuales en la primera parte del tutorial ya hemos visto de que manera obtenemos estos datos.

El bucle trabaja con la tabla interna y la estructura de la siguiente manera:

Bsicamente, lo que estamos haciendo aqu es colocar la tabla internaGTD_DET1utilizando la estructuraGWA_DET1en donde va a recorrer todos los registros que tengan como condicin que el campo CABID sea igual al CABID que viene de la cabecera (GWA_DET1-CABID = GWA_CAB-CABID). As solo recorrer los equipos correspondientes al cdigo de campeonato enviado.

De momento este es un bucle muy simple (sin campos calculados para la sumarizacin, conteo, quiebres AT NEW, END, etc ...) pero eso ser motivo de otro ejemplo.

Luego viene lo ya conocido, como mostrar los datos del bucle:

TABLA_DET_DET1: Muestra una lnea de datos del equipo de la estructura del bucle.

Solo para recordar: Para agregar una variable, campo de estructura o field-symbol, recordemos que es de la siguiente forma:

No olvidar quela variable, campo de estructura o field-symbol, est entre 2 ampersand.

ESPACIO2: Muestra una lnea de espacio.

TABLA_CAB_DET2: Muestra la cabecera de la tabla del sub-detalle (el mismo principio de la mscaraTABLA_CAB_DET1). sta por una cuestin de orden y ayuda visual est dentro de una carpeta llamadaJUGADORES.

Solo para recordar: Me parece siempre una buena opcin ordenar los textos y dems objetos dentro de carpetas que digan ms o menos que es lo que contiene, a manera de referencia. Cmo podemos observar en este caso, que la cabecera esttica para el sub-detalle va a tener 3 grupos de columnas iguales (Nmero, posicin y Nombres).

Recordemos tambinque para crear un bucle es tan simple como hacer esto:

Bucle DETOUT:Esta es la ltima rueda del coche.Con este bucle vamos a mostrar los datos del plantel, es decir datos de los jugadores que pertenecen a sus respectivos clubes, que en fin de cuentas pertenecen a sus respectivos campeonatos. Las formas, las mismas que ya hemos trabajado. Dmosle un vistazo:

La tabla utilizada es GTD_DETOUT, la estructura GWA_DETOUT y las condiciones son:GWA_DETOUT-CABID = GWA_CAB-CABID >> Cdigo de CampeonatoGWA_DETOUT-DETID = GWA_DET1-DETID >> Cdigo de Equipo

Con estas condiciones aseguramos que el plantel se muestre segn su equipo correspondiente.

Lo que tenemos que sealar, es que para este ejemplo, la cantidad de jugadores nunca generan por si solos el salto de pgina (a no ser que ingreses mas de 100 jugadores cosa que no se da en un equipo de futbol); por tanto, la manera que tenemos que hacer para generarlo es utilizando un comando dentro del bucle que haga el salto por cada equipo (el equipo tampoco genera salto de pgina por si solo).

Comando SALTO_POR_EQUIPO:Este comando es el encargado de manipular el salto de pginasegn nos convenga. De esta manera se crea el comando:

Aqu lo que se necesita tener en cuenta es que este comando se coloca debajo de las mcaras de edicin que estn dentro del bucle de equipos, ya que el salto de pgina lo queremos por equipo.

Adicionalmente, se puede destacar que este salto de pgina no solo se podra hacer con la misma pgina, sino con otra que estuviese creada.

Con esto, el resultado sera el siguiente:

Bueno hemos llegado al final, cualquier consulta o comentario no olviden escribirnos.Saludos y xitos.