Ein Mini-Programm mit ebenso kleinem DDS, das den eingegebenen Wert zurück gibt wäre an dieser Stelle die beste Lösung. (Das Mini-Programm, für Ja/Nein oder 1/2 kann dann ja auch an anderen Stellen verwendet werden.)
Der Befehl DSPLY ist nur eine Hilfs-Krücke, mit er man sich z.B. beim Testen den Inhalt von Variablen anzeigen lassen kann. Aber über DSPLY kann man mit Sicherheit keinen Wert erfassen.
Eine andere, aber wesentlich aufwändigere Möglichkeit, wäre über Message-Handling eine Eingabe zu erzwingen (ähnlich wie bei einem Programm-Abbruch, bei dem man mit C, D u.a. bestätigen muss).
Hier das DDS für ein solches Mini-Programm:
Hier das Mini-Programm (in CL aber auch das kann aus einem ILE-RPG-Programm aufgerufen werden):PHP-Code:A*%%EC
A DSPSIZ(24 80 *DS3)
A**************************************************************************
A R CHOICER1
A*%%TS SD 20080828 084954 HAUSER REL-V5R4M0 5722-WDS
A KEEP
A WINDOW(3 15 2 12 *NOMSGLIN)
A R1SEL 2Y 0B 1 3SNGCHCFLD(*AUTOSLT *NOSLTIND)
A CHOICE(1 '>Ja')
A CHOICE(2 '>Nein')
A**************************************************************************
A R CHOICEA ASSUME
A 2 1' '
Wird Ja ausgewählt wird '1' zurückgegeben, bei Nein '2'.
BirgittaPHP-Code:PGM PARM(&ParAusw)
/* Definieren Variable */
DCL VAR(&ParAusw) TYPE(*CHAR) LEN(1)
DCLF FILE(CHOICEF2)
/* Bildschirm Verarbeitung */
SEND: SNDRCVF RCDFMT(CHOICER1)
CHGVAR VAR(&ParAusw) VALUE(&R1SEL)
END: ENDPGM
![[NEWSboard IBMi Forum]](images/duke/nblogo.gif)



Mit Zitat antworten
Bookmarks