Continuando con la serie de entradas relacionadas con el tema de la estrategia de desarrollo en ILE presento una plantilla de programa de selección de un registro.
Se define:
Objetivo
Realizar un programa que presenta una ventana de selección (típica consulta de F4 en formato window) donde se podrá un registro para devolver al programa que le ha llamado.
En este ejemplo, se realizará una ventana de selección de países.
En este ejemplo, se realizará una ventana de selección de países.
Configuración
Este programa utilizará un componente de acceso a base de datos de lista de países similar al que se definió en la entrada de acceso a BD a través del uso del programa de servicio que lo contiene .- El nombre del módulo donde esta el ventana de lista de selección BAN40P1
- La definición de la pantalla estará definida como BAN40S1
- Utiliza el programa de servicio BAN01SRV que contiene los componentes de acceso a BD.
- El miembro (/Copy) con la definición del prototipo con los componentes y con la definición de estructuras será BAN01M1CP
Este ejemplo sirve de plantilla para otro proceso similar.
Fuente de la pantalla. BAN40S1
Se define la pantalla para presentar la lista de registro y para seleccionar un registro.
A DSPSIZ(24 80 *DS3)
A PRINT
A R BAN40S01 SFL
A SFLNXTCHG
A S_OPCION 1A B 8 4VALUES(' ' '1')
A S_DSPAIS 35A O 8 12
A S_IDPAIS 3A O 8 8
A R BAN40C01 SFLCTL(BAN40S01)
A CF03(03 'Salir')
A RTNCSRLOC(*RECNAME ®CUR &CAMCUR)
A OVERLAY
A SFLCSRRRN(&CURS01)
A 40N41 SFLDSP
A N41 SFLDSPCTL
A 41 SFLCLR
A 40N41 SFLEND(*MORE)
A SFLSIZ(0010)
A SFLPAG(0009)
A 61 SFLMSG('Solo se puede seleccionar u-
A n registro' 61)
A WINDOW(BAN40P01)
A CURS01 5S 0H
A NRR 4S 0H SFLRCDNBR(CURSOR)
A CAMCUR 10A H
A REGCUR 10A H
A WKSTNS 10A O 1 30DSPATR(HI)
A 2 3DATE
A EDTCDE(Y)
A DSPATR(HI)
A 2 40USER
A DSPATR(HI)
A D_DSPAIS 25A B 4 10DSPATR(HI)
A 4 4'Pais'
A 7 3'Opc'
A DSPATR(HI)
A DSPATR(UL)
A 7 8'Pais'
A DSPATR(HI)
A DSPATR(UL)
A 5 4'1-Seleccionar'
A 1 18'Lista de paises'
A DSPATR(HI)
A 1 3'BAN40P1'
A DSPATR(HI)
A R BAN40P01
A WINDOW(2 15 20 50)
A WDWBORDER((*DSPATR RI) (*CHAR ' -
A '))
A 18 5'F3-Salir'
A R BAN40R00
A KEEP
A ASSUME
A 5 3' '
Se define: