Si potrebbe trattare di un ordine di tre articoli,
ciascuno con una quantità diversa.
In altre parole, il CGI riceve
ricorrenze multiple
delle variabili di input
numart e
qta.
Il service program di CGIDEV2 fornisce le procedure seguenti:
- ZhbGetVarCnt, che restituisce il numero di ricorrenze
multiple di una data variabile di input
- ZhbGetVar, che restituisce il valore di una
delle ricorrenze multiple di una data variabile di input
- ZhbGetVarUpper, che restituisce
in caratteri maiuscoli il valore di una
delle ricorrenze multiple di una data variabile di input
Esempio:
* Definizione dei prototipi e della DS standard per i codici errore delle API
/copy CGIDEV2/qrpglesrc,prototypeb
/copy CGIDEV2/qrpglesrc,usec
* Numero di variabili di input ricevute
DnbrVars s 10i 0
* Query string ricevuta
Dsavedquerystring...
D s 32767 varying
* Codice di ritorno
D rc s 10i 0 inz(0)
* Variabili per ricevere ricorrenze multiple di "itemno" e di "qty"
D itemcount s 10i 0
D varocc s 10i 0
*
D itemno s 5a
D qty s 3a
* ... etc. ...
* Acquisisci il buffer di input spedito dal browser del client
C eval nbrVars =
C zhbgetinput(savedquerystring:qusec)
* Esempio di ricezione di ricorrenze multiple di variabili di input
C eval itemcount = ZhbGetVarCnt('itemno')
C IF itemcount > 0
C 1 do itemcount varocc
C eval itemno = ZhbGetVar('itemno':varocc)
C eval qty = ZhbGetVar('qty':varocc)
C exsr ProcessItem
C enddo
C ENDIF |
Queste procedure sono
in grado di trattare un numero illimitato di
ricorrenze della stessa variabile di input.
Per un esempio di come reperire ricorrenze
multiple di una variabile di input, si veda il programma
boatsch2
che fa parte della YachtWorld demo.
|