|
Brad, It's probably handled the same way that we do it: Program A displays the list panel where you type the choices. As the program does the READC through the subfile, for each option taken, program B is called to perform that function. Program B also returns a value to indicate (no pun intended) if the user pressed Enter/F3/F12 or whatever. In your example, the member display is done -between- doing each READC. Our standard code looks something like this: Columns . . . : 1 71 Browse WYATTERP32/QPGMSRC SEU==> GLNOWRKX FMT * ..... *. 1 ...+... 2 ...+... 3 ...+... 4 ...+... 5 ...+... 6 ...+... 7 0192.00 C* --------------------------------------------------------------- 0193.00 C* @XGOPT - READ CHANGED RECORDS IN SUBFILE 0194.00 C* --------------------------------------------------------------- 0195.00 C @XGOPT BEGSR Selections 0196.00 C* 0197.00 C MOVE *BLANKS $DONE 1 SFLDONE FLAG* 0198.00 C EXSR $OFF7X 0199.00 C* PROCESS ALL CHANGES 0200.00 C $DONE DOWNE'Y' 0201.00 C SETOF 90 0202.00 C READCXGWRKSFL 90 0203.00 C 90 MOVE 'Y' $DONE 0204.00 C* 0205.00 C $DONE IFNE 'Y' Not EOF 0206.00 C* 0207.00 C $EXIT CASNE'Y' @XGEXC 0208.00 C END 0209.00 C* 0210.00 C EXSR @XGERR EARLY EXIT 0211.00 C UPDATXGWRKSFL UPDATE SFL 0212.00 C END $DONE *NE 'Y 0213.00 C* 0214.00 C ENDDO * 0215.00 C ENDSR 0216.00 C/EJECT 0217.00 C* --------------------------------------------------------------- 0218.00 C* @XGEXC - EXECUTE THE OPTION SPECIFIED 0219.00 C* --------------------------------------------------------------- 0220.00 C @XGEXC BEGSR Selections 0221.00 C* 0222.00 C XGOPT$ CASEQ'1' $CF06 CREATE 0223.00 C XGOPT$ CASEQ'2' @XG02 EDIT 0224.00 C XGOPT$ CASEQ'4' @XG04 DELETE 0225.00 C XGOPT$ CASEQ'8' @XG08 DISPLAY 0226.00 C CAS @XGERR XGOPT$ ERROR 0227.00 C END 0228.00 C* 0229.00 C ENDSR 0230.00 C* --------------------------------------------------------------- 0231.00 C* XGOPT$ 2 - EDIT ENTRY * 0232.00 C* --------------------------------------------------------------- 0233.00 C @XG02 BEGSR EDIT 0234.00 C* 0235.00 C EXSR $21PUT 0236.00 C* 0237.00 C CALL 'GLNOEDTX' CHANGE WINDOW 0238.00 C PARM '0' RCODE RETURN CODE 0239.00 C PARM '004' WNDROW WINDOW ROW 0240.00 C PARM '010' WNDCOL WINDOW COL 0241.00 C PARM XGOPT$ OPTION TAKEN 0242.00 C* TEST PROGRAM RETURN CODE 0243.00 C MOVE *BLANKS XGOPT$ CLEAR OPTION 0244.00 C EXSR XGGETN REFREASH 0245.00 C* 0246.00 C RCODE CASEQ'3' $CF03 F3 PRESSED 0247.00 C END 0248.00 C* * 0249.00 C ENDSR 0250.00 C* --------------------------------------------------------------- > > "In PDM when you do a repeat option on a list of member, say > 5=Display, while displaying a member, if the user presses F3 > or F12, how does PDM catch this and not process the rest of > the entries in the list?" >
As an Amazon Associate we earn from qualifying purchases.
This mailing list archive is Copyright 1997-2024 by midrange.com and David Gibbs as a compilation work. Use of the archive is restricted to research of a business or technical nature. Any other uses are prohibited. Full details are available on our policy page. If you have questions about this, please contact [javascript protected email address].
Operating expenses for this site are earned using the Amazon Associate program and Google Adsense.