** RECHERCHE TEXTE COMPLEMENTAIRE * ** --------- ------------------------------- * * $$ SDS UTILISATION DATA STRUCTURE SYSTEME * * $$ CONCAT ROUTINE CONCATENATION NOM-PRENOM * * $$ INFDS UTILISATION INFDS (INFORMATIONS FICHIER) * * $$ QCLSCAN PGM SYSTEME DE RECHERCHE DE CARACTERE(S) * * $$ QDCXLATE PGM SYSTEME DE CONVERSION * * $$ CTRLDAT CONTROLE DE DATE * * $$ CVTDAT CONVERSION DE DATE * * $$ QCMDEXC PGM SYSTEME D'EXECUTION DE COMMANDE * * $$ RTVDTAARA EXEMPLE DE RECUPERATION DE DATA AREA * * $$ SFLMSG SOUS-FICHIER MESSAGE (DSPF + TRAITEMENT GAP) * * $$ SFLDYN EXEMPLE DE CHGT DE SOUS-FICHIER EN DYNAMIQUE * * $$ * * -------------------------------------------------------------* |
I********************** I* $$ SDS * I* UTILISATION SDS * I********************** I SDS I* 1 10 Nom du Pgm I* 11 150Status Code I* 16 200Previous Status Code I* 21 28 N° Séquence du Src I* 29 36 Nom de la Routine I* 37 390Nombre de Param. I* 40 42 CPF ou MCH I* 43 46 N° de l'erreur I* 47 50 MI / ODT I* 51 80 Messages (WRKARA) I* 81 90 Biblio. du Pgm I* 91 170 I* 171 174 I* 175 200 +== Inutilisé ==+ I* 201 208 Nom Dernier fichier I* 209 243 Info / Dernier Fich |
I* 244 253 Nom du JOB I* 254 263 Nom du Profil I* 264 2690Numéro du Job I* 270 2750Date entre système I* 276 2810Date exécution prog I* 282 2870Heure exécution prg I* 288 293 Date de création I* 294 299 Heure de création I* 300 303 Niveau compilateur I* 304 313 Nom du fichier src I* 314 323 Bibli du fichi. src I* 324 333 Nom du Membre I* 334 429 +== Inutilise ==+ |
C********************************* C* $$ INFDS * C* UTILISATION INFDS * C* MEMBRE, LONG ENREG, N° RANG * C********************************* FFICHIER UF E K DISK KINFDS INFDS IINFDS DS *********************INFOS FICHIER * FICHIER (NOM GAP) I 1 8 FIGAP * OUVERT = 1 I 9 9 OPEN * FIN DE FICHIER = 1 I 10 10 EOF * NOM DU FORMAT RPG SI DESC EXTERNE I 38 45 FORMA * ERREUR SUR FICHIER MCH OU CPF I 46 52 ERREUR * TAILLE ECRAN I 67 70 SIZE ***********************INFOS EN RETOUR (FEEDBACK AREA) * ODP DS=DEVICE DB=DATA BASE SP=SPOULE |
I 81 82 ODP * FICHIER OUVERT I 83 92 FIREEL * BIBLIOTHEQUE I 93 102 BIBLI * NOM DU MEMBRE I 129 138 MEMBRE * LONGUEUR MAXI I B 125 1260LONMAX * NOMBRE DE LIGNE (DSPF OU PRTF) I B 152 1530NBLI * NOMBRE DE COLONNE (DSPF)OU DE CARACT PAR LIGNE IMPRIMMEE (PRTF) I B 154 1550NBCOL * NB ENREG DANS LE MEMBRE (DATA BASE OU SPOULE) I B 156 1590NBENR * ACCES KU= CLE UNIQUE, KF= CLE FIFO, KL= CLE LIFO, AR= ARRIVEE I 160 1610ACCES * NOM DE L'UNITE I 241 2500DEV * N° DE LIGNE SUR ECRAN I 253 2540NOLI * N° DE COLONNE SUR ECRAN |
I 255 2560NOCOL * LONGUEUR DE L'ENREG I B 283 2860RECLON * N° RELATIF D'ENREGISTREMENT I B 397 4000RECNO *===================== * $$ QCMDEXC = *=====================================* *= ROUTINE D'UTILISATION DE QCAEXEC =* *=====================================* E MSG 1 1 80 C MOVEAMSG CMD * C CALL 'QCMDEXC' C PARM CMD 80 C PARM 80 LONG 155 ** SNDBRKMSG MSG('ROUTINE QCMDEXC ...........') TOMSGQ(xxxxxx) |
I*===================== I* $$ CVTDAT = I********************************* I* ROUTINE DE CONVERSION DE DATE * I* DE JMA VERS AMJ * I********************************* I DS I 1 20J I 3 40M I 5 60A I 1 60JMA I DS I 1 20AA I 3 40MM I 5 60JJ I 1 60AMJ C Z-ADDJ JJ C Z-ADDM MM C Z-ADDA AA |
I*===================== I* $$ RTVDATARA = C********************************* C* RECUPERATION D'UNE DTAARA * *LOCK & *UNLOCK POUR C* ET MAJ * VERROUILLER (FACULTATIF) C********************************* C *NAMVAR DEFN NOMDTA C *LOCK IN NOMDTA C* C* TRAITEMENT C* C *UNLOCK OUT I*===================== I* $$ CTRLDAT = C******************************* C* Routine de contrôle de date * C******************************* A Definition de la date dans les SDD A-------------------------------------------------- A JOUR RANGE(1 31) A MOIS RANGE(1 12) A ANNEE COMP(GE 80) |
*------------------------------------------------- E FIN 12 12 2 0 E*------------------------------------------------- C ANNEE DIV 4 RESULT 20 C MVR RESTE 20 C Z-ADD28 FIN,2 C RESTE IFEQ 0 C ADD 1 FIN,2 C END C Z-ADDMOIS I 20 C JOUR COMP FIN,I 51 C 51 GOTO ERREUR C-------------------------------------------------- ** 312831303130313130313031 C***************************************************************** C* $$ CONCAT ROUTINE DE CONCATENATION DU NOM ET DU PRENOM : C*--------------------------------------------------- E 'Mr' CAT PRENOM:2 NP P = Mise à blanc avant C NP CAT NOM:1 NP * :x = nb de blancs C***************************************************************** |
* $$ QCLSCAN PGM SYSTEME DE RECHERCHE CARACTERES * C*--------------------------------------------------- C CALL 'QCLSCAN' C PARM DATA C PARM LONSTR 30 LONG DATA C PARM POS 30 DEPART C PARM PATTER 10 RECHERCHE C PARM PATLEN 30 LONG RECH C PARM TRANSL 1 TRADUCTION C PARM TRIM 1 CADRAGE Gauche C PARM WILD 1 JOKER C PARM RESULT 30 1 = TROUVE C 0 = NON C <0 ERREUR |
C***************************************************************** * $$ QDCXLATE PGM SYSTEME DE CONVERSION * C*--------------------------------------------------- * EXEMPLE * OBJETS SYSTEME DE TYPE *TBL * QASCII.QSYS EBCDIC----> ASCII * QEBCDIC.QSYS ASCII ----> EBCDIC * QSYSTRNTBL.QSYS MINUSCULES standards ----> MAJUSCULES * (a z) (A Z) * QCASE256.QUSRSYS TOUTES MINUSCULES---> MAJUSCULES * y compris ç,ù,etc... C*--------------------------------------------------- C CALL 'QDCXLATE' C PARM LEN 50 LOG ZONE C PARM ZONE <= 32766 C PARM TBL 10 NOM TABLE C PARM TBLLIB 10 BIBLI TAB |
C***************************************************************** * $$ SFLMSG SOUS-FICHIER MESSAGE * C*--------------------------------------------------- C* 1/ SDD A R MSGSFL SFL SFLMSGRCD(24) A FKEY SFLMSGKEY A FPGMQ SFLPGMQ * A R MSGCTL SFLCTL(MSGSFL) A SFLSIZ(0002) A SFLPAG(0001) A SFLDSP A SFLINZ A OVERLAY A FPGMQ SFLPGMQ C* 2/ GAP C MOVEL'*' FPGMQ OU NOM-PGM C WRITEMSGCTL C EXFMTxxxxxx C CALL 'CLRM' C* 3/ CLP (PGM CLRM) RMVMSG PGMQ(*PRV) CLEAR(*ALL) |
*==============================================================* * $$ SFLDYN CHARGEMENT SOUS-FICHIER EN DYNAMIQUE * * ---------- * * SOUS-FICHIER ££££££E1 FORMAT DE CONTROLE ££££££C1 * * 30=SFLDSP,31=SFLDSPCTL,32=SFLCLR CD2=ECRAN PRECEDENT, * * 55=FIN DE FICHIER (SFLEND) * * SI NON FIN DE FICHIER ROLLUP AUTORISE (*IN27) * *==============================================================* FV0020 A R ££££££E1 SFL A R ££££££C1 SFLCTL(££££££E1) A SFLSIZ(15) SFLPAG(14) A 30 SFLDSP A 31 SFLDSPCTL A 32 SFLCLR A 55 SFLEND A N55 ROLLUP(27) A A LIGNE 4 0H SFLRCDNBR *------------------------------------------------------------- F££££££D CF E WORKSTN F RANG KSFILE ££££££E1 FFILE IF E K DISK |
C Z-ADD0 RANG 40 C Z-ADD0 SAVR 40 C Z-ADD0 LIGNE 40 C SETOF 3031 C SETON 32 C WRITE££££££C1 C SETOF 32 C SETON 31 C CLE SETLLFILE *- BOUCLE DU ROLL-UP B1 C *IN27 DOUEQ'0' C Z-ADD0 CNT 20 C Z-ADDSAVR RANG *- BOUCLE DE CHARGEMENT D'UNE PAGE B2 C *IN55 DOUEQ'1' C CNT ORGT 14 C READ FILE 55 C *IN55 IFEQ '0' C ADD 1 RANG C ADD 1 CNT C WRITE££££££E1 C ENDIF |
E2 C ENDDO *- FIN DE CHARGEMENT D'UNE PAGE << C RANG COMP 0 30 C 30 Z-ADDRANG LIGNE C Z-ADDRANG SAVR B2 C *INKB DOUEQ'1' C *IN27 OREQ '1' *- AFFICHAGE DU FORMAT DE CONTROLE (SORTIE PAR CDE 2 OU ROLL-UP) C EXFMT££££££C1 C READC££££££E1 90 B3 C *IN90 DOWEQ'0' B4 C SEL IFNE ' ' C MOVE ' ' SEL C UPDAT££££££E1 C* ** TRAITEMENT D'UNE SELECTION E4 C ENDIF C READ££££££E1 90 E3 C ENDDO E2 C ENDDO E1 C ENDDO *==============================================================* FV0020 C*------------------------------------------------------------ |