¿ Quieres imprimir esta página ? Volver a la página principal de Recursos iSeries AS400 ¿ Necesitas ayuda ? En pruebas
System i5 iSeries AS400 Recursos. Compartiendo generamos conocimiento
Novedades en Recursos iSeries AS400
Noticias tecnológicas

Documentos
Cómo presentar un subarchivo en el cual no podemos meter todos los campos en un solo registro

En el caso de que tengamos que presentar un subarchivo en el cual no podamos meter todos los campos en uno solo, se puede recurrir a hacer un programa en el cual presentamos el subarchivo moviendonos por la pantalla de izquierda a derecha. Una manera de planterlo es cargar todos los datos en el registro de datos del subfile, y luego utilizando las teclas de funcion y unas palabras clave determinadas, movernos por el subfile. El problema de este programa es que al movernos de izquierda a derecha, se nos situe en el registro en el que hemos paginado. Esto se resuelve determinando que posicion relativa tiene el primer registro. Es decir, si el subfile es de 10, el primer registro es 1, el cursor es 1 y la posicion del registro del subarchivo es 1. Si paginamos, NRR es 11, el cursor es 1 y la posicion del registro del subarchivo es 11.

Para crear la pantalla, hacemos lo mismo de siempre para un subarchivo, pero con la diferencia de que vamos a necesitar dos campos nuevos:

RELA: Campo oculto que contendra la palabra clave SFLCSRRRN, que nos da la posición del registro en la que se encuentra el cursor. Se indica igual para los dos subfile.
Debe ser de 5 posiciones numerico, si no no compila. SI tenemos el cursor en el primer registro, RELA = 1.
Palabras Clave RCTL -> Palabras Clave generales -> SFLCSRRN -> Nombre. RELA. En pantalla definimos el campo.

POSIC: Campo que nos devolvera la posicion del subarchivo ( POSIC = 1, se situa en el primer registro, POSIC = 2, en el segundo...etc). 4 posiciones, numerico y oculto.SFLRCDNBR. En el programa le damos valor 1.

Definiendo en la hoja F el mismo numero de registro relativo PARA LOS DOS SUBFILE:

FPANTALLACF         E                                WORKSTN
F                                                                                NRR1    KSFILE  SUB01
F                                                                                NRR1    KSFILE  SUB02

Ahora solo nos queda el programa. Al construir el subarchivo, hacemos:

WRITE  SUB01
WRITE  SUB02

Asignamos un indicador (40 y 41)a las teclas de funcion izquierda-derecha (EJ: F19- F20), de forma que desactivamos la tecla F20 cuando estamos a la derecha y viceversa:

*IN40		IFEQ’1’
		WRITEPIE01
		EXFMTCTR01
		ENDIF
*IN41		IFEQ’1’
		WRITEPIE02
		EXFMTCTR01
		ENDIF

Asi evaluamos que subfile escribimos. Para activar o no los indicadores 40 y 41, hago una subrutina Izquierda-Derecha:

IZQDE		BEGSR
*IN20		IFEQ’1’
		Z-ADDRELA	  POSI
		SETON		41
		SETOF		40
		ENDIF
*IN19		IFEQ’1’
		Z-ADDRELA    POSI
		SETON		40
		SETOF		41
		ENDIF
		ENDSR


¿Por qué hago Z-ADDRELA POSI?.
Por que cada vez que volvemos a escribir el control, me posiciono en el registro que estaba en la primera posicion del subarchivo, ya sea el NRR=1, el 11, el 21...o el que sea. Eso si, hay que posicionar el cursor en el primer campo de entrada del subarchivo, por que si no esta en ese lugar, el valor RELA sera o 0 o un numero negativo y no nos servira de nada. Caso de que el usuario mueva el cursor,
hay que incluir una subrutina que valide esa condicion y devuelva el valor actual:

VALRE		BEGSR
RELA		IFLT	1
		Z-ADDPOSIC	RELA
		ENDIF
		ENDSR

Documento aportado por Andrés Colodrero
03-09-2001

Comentarios de usuarios

Nombre:
Mail:
Comentario:
 

Subir a la parte superior de la web

 

NUESTRA COMUNIDAD EN
ÚNETE Y.... ¡¡ PARTICIPA !!
Dossiers técnicos iSeries y AS400
- Seguridad
- Alta disponibilidad.
Nuestros links favoritos
- Tendencias tecnologías de la información
Expertos en tecnologías de la información, nos dan su punto de vista sobre las tendencias actuales y futuras
- Los últimos anuncios sobre hardware-software para iSeries AS400 realizados por IBM
- Freeware y shareware para el iSeries AS400
- Utilidades para el iSeries AS400 realizadas por profesionales
- Documentos. Trucos e ideas para resolver tus problemas
- Los manuales y links más interesantes del iSeries AS400

  Links patrocinados
  •  
  •  

[ Soy nuevo |   Profesionales |   AS qué |   Empresas |    Foros |   Recomiéndanos |    Productos ]
 
Recursos iSeries AS400. Es una web de: PUBLICACIONES HELP400, S.L. CIF:B-60-202827 Gran Vía de les Corts Catalanes, núm. 715, Entresuelo – 3ª - Barcelona - Tel.+34.932.310.049