DSPATR(PR) en el programa RPG para proteger el campo
-
09-12-2019 - |
Pregunta
Estoy desarrollando un programa RPG en el software de desarrollo de IBM.
Lo que pasa es que estoy creando un archivo de visualización con campo de entrada.
Estoy tratando de realizar una tarea.
Si ya ingresaron todos los campos y se muestra el otro registro, quiero proteger el archivo en el que simplemente ingresaron el valor hasta que presionen Enter.
pero estoy confundido, ¿cómo puedo usar DSPATR (PR) para proteger el campo?
Solución 2
Encontré la respuesta a mi pregunta.
Para hacer esto, simplemente vaya a propiedades en el diseñador de pantalla> haga clic derecho en propiedades y busque la palabra clave protect
y esto protegerá toda la pantalla para el campo que ingresan hasta enter
se presiona para desproteger.
También se puede hacer agregando DSPATR(PR)
con indicador y agregue esto a RPG
para activar el indicador del campo requerido.
Otros consejos
En la pantalla verde, el programa RPG sólo sabe lo que hay en la pantalla cuando presionas <enter>
en tu pantalla.Parece que desea proteger un campo después de que el usuario haya ingresado datos en el campo.No creo que eso sea posible a menos que cada campo tenga la CHECK(ER)
en cada campo.Esto resultaría molesto dependiendo de la función del programa.Las personas que ingresan sin manos prefieren seguir escribiendo y han memorizado exactamente cuántas tabulaciones y espacios necesitan ingresar para ingresar los datos.
Para el estudio Purpouse, puede configurar los atributos de la pantalla desde su código de su rpg "Backend", por ejemplo, en su caso, el valor de código hexadecimal para proteger (solo lectura) se archivó es 'A0', eche un vistazo al código:
en DDSSRC:
.....AAN01N02N03T.Nombre++++RLon++TPdBLínPosFunciones+++++++++++++++++++++++++++
A* First declare the variable
A REV1 1A P
A*
A* then, after the display field in function limit you assign it
A*
A FIELD01 14Y 2B 17 42EDTCDE(1)
A DSPATR(&REV1)
en RPGSRC, simplemente se establece o se borra cuando lo necesite:
CL0N01Factor1+++++++Operac&ExtFactor2+++++++Resultado+++++Lon++D+MaMeIg....Comentarios+++++++++
C*
C* Set the hex value in the QDDSSRC variable
C EVAL REV2 = x'A0'
C*
C* Clear the variable
C CLEAR REV1 1
Hay demasiados códigos HEXA para muchos púas, solo necesitan mirar alrededor de la www :).
a sel 1a b 11 2
A 99 DSPATR (PC)
A 99 DSPATR (RI)
Cuando muestra un campo en la pantalla verde, exfmt generalmente para E / S. Aquí, eliminaría el campo SEL primero y luego exfm, el formato de registro del archivo de pantalla (DDS).Una vez que el usuario presiona Enter, me "enciende" el indicador 99. Luego me exfm, volvería a mostrar la pantalla.En el ejemplo, si * In99 estaba * en *, el cursor se colocaría en el campo SEL y la imagen inversa.Puede hacer lo mismo con proteger DSPATR (PR).En su código, "activará" el indicador, visualice la pantalla.Los hits de usuario ingresan "Enciende" el indicador y repover la pantalla.
En RPG, puede usar Move * On * In99.
o puede usar seton ........ 99.
o mover '1' * in99.
En CLP, puede CHGVAR VAR (& IN99) Valor ('1')