Sesion 09 - Reports Interactivos(2)

Embed Size (px)

DESCRIPTION

reportes interactivos

Citation preview

  • Sesin 09 Programacin en ABAP

    REPORTS INTERACTIVOS(2)

    Sistemas Distribuidos FIIS UNAS

  • 2. Sentencias para control interactivoLos eventos relacionados en un programa interactivo son:

    Existe un evento alterno con sintaxis:TOP-OF-PAGE DURING LINE-SELECTION Que se activara cuando el sistema prepara los listados secundarios.

    El sistema procesa todos los cdigos de funcin excepto el cdigo PICK y las teclas de funcin PFnn. El cdigo PICK activa el evento AT LINE-SELECTION si el cursor esta posicionado sobre alguna lnea del listado, y no puede ser nunca utilizado en el evento AT USER-COMMAND. Las teclas de funcin PFnn siempre activan el evento AT-PFnn.

  • 2. Sentencias para control interactivoLas siguientes lneas muestran los cdigos de funcione predefinidos.

    PFnnActiva el evento PFnnPPnSe pagina el listado hasta la pagina nPP-nSe pagina el listado n paginas atrsPF+nSe pagina el listado n paginas delante.PSnSe desplaza el listado hasta la columna nPS--Se desplaza el listado hasta la primera columnaPS-nSe desplaza el listado a la izquierda n columnasPS+nSe desplaza el listado a la derecha n columnasPS++ Se desplaza el listado hasta la ultima columnaPZnSe pagina el listado hasta la linea n./..Se utiliza para comandos del sistema

  • 2. Sentencias para control interactivoHay ciertas teclas de funcin que es necesario comentar en detalle:

    Tecla de Funcin F2. Si realizamos doble click con el ratn es equivalente a pulsar la tecla de funcin F2. La funcin que asignaremos a la tecla de funcin F2 ser la que se active si realizamos doble click con el ratn. Si el cdigo de funcin de F2 es PICK, el evento que se activara ser AT LINE-SELECTION. Si asignamos un cdigo de funcin distinto a la tecla de funcin F2 ser el evento AT USER-COMMAND el que se active.

    Tecla de Funcin F10. Esta tecla de funcin sita el puntero del ratn sobre la barra de men, no se puede asignar otro cdigo de funcin distinto, ya sea estndar o de usuario.

  • Ejemplo.Este ejemplo permite comprobar el cdigo de funcin que activa el evento AT LINE-SELECTION. Se puede utilizar las distintas acciones mencionadas para ver que el cdigo de funcin que activa el evento es el evento PICK.

  • Ejemplo.

  • Ejemplo.Este ejemplo muestra el uso de las teclas de Funcin F5,F6,F7 teclas que se utiliza para llamar a la rutina SALIDA.

  • Ejemplo.En este ejemplo a partir del listado bsico se pueden ir generando listados secundarios seleccionando una lnea. En el primer y segn listado secundario aparecen cabeceras particulares. A partir del tercero se usa la variable del sistema SY-LSIND, para saber en que numero de listado vamos.

  • Sentencias para control interactivoAdicional a las sentencias bsicas para control interactivo existe otro grupo de sentencias que hace posible mejorar los listados interactivos.

    MESSAGEActiva un mensajeSET PF-STATUSDefine el cdigo de status, utilizado por el sistema para seleccionar el men de pantalla asociado.SET USER-COMMANDActiva un comando, por lo tanto, se activa con esto el evento AT USER-COMMANDWINDOWDefine una ventana con formato de pantalla.HIDEUtilizado para esconder campos en lneas de salida .GET CURSORRecupera la posicin del cursorSET CURSORPosiciona el cursor.DESCRIBE LISTRecupera informacin de un listadoSCROLL LISTRealiza un desplazamiento del listado.READ LINELee una lnea del listado.READ CURRENT LINELee la lnea actual del listado.MODIFY LINEModifica el contenido de una lnea.MODIFY CURRENT LINEModifica el contenido de la lnea actual.

  • Ejemplo MESSAGE.

    Primero tendremos que generar clase de mensajes Z1, una ventaja de usar mensajes es la recepcin de parmetros que pueden ser utilizados anteponiendo el smbolo &.

  • Ejemplo MESSAGE

  • Ejemplo SET PF-STATUS

  • Ejemplo SET PF-STATUS y AT USER-COMMAND

  • Ejemplo SET PF-STATUS y AT USER-COMMANDObsrvese que al hacer doble click, se intenta levantar el STATUS, un status ser entonces un contenedor de Mens y Botones, como no existe el IDE nos pedira que lo creemos.

  • Ejemplo SET PF-STATUS y AT USER-COMMAND

  • Ejemplo SET TITLEBAR

  • 8) Ejemplo Window9) Ejemplo Describe List

  • 11) Ejemplo Set Cursor10) Ejemplo Get Cursor

  • 12) Ejemplo Scroll List13) Ejemplo Conteo de Selecciones

  • Ejemplo Read Current LineEjemplo Read Line

  • Ejemplo Modify Current LineEjemplo Modify LineREPORT Z00016.DATA : CAMPO TYPE I, LINEA(72) TYPE C.

    DO 10 TIMES. MOVE SY-INDEX TO CAMPO. CAMPO = CAMPO + 10. WRITE /1 CAMPO.ENDDO.

    AT LINE-SELECTION. MODIFY LINE SY-LILLI LINE FORMAT COLOR 6.REPORT Z00017 LINE-SIZE 40 NO STANDARD PAGE HEADING.DATA C TYPE I VALUE 1.

    WRITE 'Selecciona una linea para modificar su formato'.

    AT LINE-SELECTION. IF C = 8. C = 0. ENDIF. MODIFY CURRENT LINE FORMAT COLOR = C. ADD 1 TO C.

  • *