Les routines système . (API historiques du 38) * * EXECUTION D'UNE COMMANDE (affichage de l'invite si "?" dans la cde) * ------------------------ C CALL 'QCMDEXC' C PARM CMDE 80 COMMANDE C PARM 80 LEN 155 LG Cde C* GAP4 : DQCMDEXC PR EXTPGM('QCMDEXC') D cmd 256 CONST D lg 15 5 CONST /free QCMDEXC('wrksplf' : 7) ; /end-free |
* * VERIFICATION D'UNE COMMANDE (et retour de la commande paramétrée) * --------------------------- C CALL 'QCMDCHK' C PARM CMDE 80 COMMANDE C PARM 80 LEN 155 LG Cde C* GAP4 : DQCMDCHK PR EXTPGM('QCMDCHK') D cmd 256 CONST D lg 15 5 CONST /free CALLP(e) QCMDCHK('wrksplj' : 7) ; if %error ... /end-free |
* * CONVERSION D'UNE CHAINE DE CARACTERES * -------------------------------------- C CALL 'QDCXLATE' C PARM 50 LEN 50 LG CHAINE C PARM CHAINE 50 CHAINE C PARM TABLE 10 NOM TABLE C PARM BIBLI 10 BIBLI ou *LIBL C* GAP4 : DQDCXLATE PR EXTPGM('QDCXLATE') D lg 5 0 CONST D chaine 50 D table 10 CONST D bib 10 CONST /free QDCXLATE(%len(mavariable) : mavariable : 'QSYSTRNTBL' : 'QSYS') /end-free |
* * RECHERCHE DANS UNE CHAINE DE CARACTERES * ---------------------------------------- C CALL 'QCLSCAN' C PARM CHAINE 45 <----------! C PARM 45 CHAINL 30 LG CHAINE -! C PARM DEBUT 30 POS DéBUT C PARM RECH RECHERCHE<-! C PARM RECHL 30 LG RECH -! C PARM TRADUC 1 '0' PAS CONVERT C* '1' MIN-MAJ C PARM CADR 1 '0' PAS CADRAGE C* '1' CADRAGE à G C PARM JOKER 1 CARACT. JOKER C* (TOUJOURS VRAI) C PARM RESULT 30 RESULTAT C* >0 POSITION C* =0 NON TROUVé C* <0 ERREUR |
GAP4 : DQCLSCAN PR EXTPGM('QCLSCAN') D chaine 50 CONST D chainel 3 0 CONST D debut 3 0 CONST D recherche 10 0 CONST D recherchel 3 0 CONST D casse n CONST D cadrage n CONST D joker 1 CONST D resultat 1 /free QCLSCAN('test de chaine' : 50 : 1 : 'chaine' : 6 : *on : *off '*' : result) ; // result contient 9 /end-free |
* * ECRITURE DANS UNE DTAQ (les exemples ci apres sont donnés pour * ---------------------- des DTAQ sans notion de clé) C CALL 'QSNDDTAQ' C PARM DTAQ 10 NOM DTAQ C PARM LIB 10 BIBLI ou *LIBL C PARM 20 DTALEN 50 LG DATA C PARM DATA 20 DATA à ECRIRE C GAP4 : DQSNDDTAQ PR EXTPGM('QSNDDTAQ') D dtaq 10 CONST D bib 10 CONST D datal 5 0 CONST D data 50 CONST /free QSNDDTAQ('MADTAQ' : 'MABIB' : 4 : 'test') ; /end-free |
* * LECTURE D'UNE DTAQ * ------------------ C CALL 'QRCVDTAQ' C PARM DTAQ 10 NOM DTAQ C PARM LIB 10 BIBLI ou *LIBL C PARM 20 DTALEN 50 LG DATA C PARM DATA 20 DATA à RECEVOIR C PARM WAIT 50 TEMPS ATTENTE C* 0 PAS d'ATTENTE C* >0 NB DE SEC. C* <0 ILLIMITé. GAP4 : DQRCVDTAQ PR EXTPGM('QRCVDTAQ') D dtaq 10 CONST D bib 10 CONST D datal 5 0 CONST D data 50 D wait 5 0 CONST /free QRCVDTAQ('MADTAQ' : 'MABIB' : %len(mavariable) : mavariable : -1) ; /end-free |