* * Ce pgm dialogue avec un pgm sur micro via fichier ICF * * il recoit le code "DEBUT" OU "SUITE" * --> renvoi la LISTE DES SPOOLS H FSPLICF CF E WORKSTN F KNUM 1 F KINFDS FEEDBK F KINFSR EXCPTH IFEEDBK DS I 38 45 FMTNM I 401 404 MAJMIN I 401 402 MAJCOD I 403 404 MINCOD IPAGA DS I 1 50PAGDEC * QUSLSPL ****************************************************** ILIST DS I 51 66 JOBID I 67 82 SPLFID * QUSRSPLA ***************************************************** IRCVVAR DS I B 1 40BYTRTN I B 5 80BYTVAL I 67 76 NOM I 91 100 USRDTA I 101 110 ETAT I B 141 1440PAGEB I 183 192 OUTQ **************************************************************** * ENTETE USER SPACE IRTVINF DS I B 1 40OFFS I B 5 80TAILLE I B 9 120NBSPL I B 13 160LGPOST * DECLARATION DE VARIABLES BINAIRES IBINDS DS I B 1 40DEBUT I B 5 80LG I B 9 120LGRCV I I 192 B 13 160LGVAR I I 0 B 17 200RCVSPN |
* QUALIF/ USER SPACE ET CMDE IQUALDS DS I I 'SPLAF4' 1 10 SPCNAM I I 'QTEMP' 11 20 SPCLIB I 1 20 USRSPC * CODE ERREUR API IERRDS DS I B 1 40LGDS I B 5 80LGERR I 9 15 MSGID I 16 16 RESERV C* DEBUT DU PGM * C 'SPLDEV' ACQ SPLICF c* lecture du fichier ICF (==> reception du code article) C EXSR CRTUS C READ CODEF 88 C *IN82 DOWEQ*OFF C *IN66 ANDEQ*OFF * C CODE CASEQ'DEBUT' INIT C ENDCS C EXSR LECTUR C WRITEENVOIF * C READ CODEF 88 C ENDDO C* END OF JOB * C 'SPLDEV' REL SPLICF C CLOSE*ALL C ARRET TAG C EXSR DLTUS C SETON LR C RETRN * * C* ICF FILE ERROR HANDLER * C EXCPTH BEGSR C MAJCOD IFGT '00' C GOTO ARRET C ENDIF C ENDSR * C CRTUS BEGSR C MOVEL'LISTSPL 'EXT 10 |
C Z-ADD1024 TAILLE C MOVE ' ' INT 10 C MOVEL'*USE' AUT 10 C MOVEL' ' TXT 50 * dlt du user space si présent dans QTEMP C EXSR DLTUS * CREATION USER SPACE PAR API QUSCRTUS C CALL 'QUSCRTUS' C PARM USRSPC C PARM EXT C PARM TAILLE C PARM INT C PARM AUT C PARM TXT C ENDSR C INIT BEGSR * REMPLISSAGE DU USER SPACE VIA API C CALL 'QUSLSPL' 99 C PARM USRSPC C PARM 'SPLF0100'FMT 8 C PARM '*CURRENT'PROFIL 10 C PARM '*ALL' POUTQ 20 C PARM '*ALL' PFORM 10 C PARM '*ALL' PUSRD 10 C *IN99 IFEQ *ON C Z-ADD0 NBSPL C ELSE * EXTRACTION DES INFOS D'ENTETE C Z-ADD125 DEBUT C Z-ADD16 LG C CALL 'QUSRTVUS' C PARM USRSPC C PARM DEBUT C PARM LG C PARM RTVINF C ENDIF C NBSPL IFGT 0 C Z-ADDLGPOST LG C OFFS ADD 1 DEBUT 1ER POSITION C ENDIF C Z-ADD0 NBLU 50 C ENDSR * * LECTURE D'UN SPOOL |
* C LECTUR BEGSR C ADD 1 NBLU C NBLU IFGT NBSPL C MOVE 'O' FIN C ELSE C MOVE 'N' FIN * EXTRACTION D'UN POSTE PAR API QUSRTVUS (-> DONNE LE NOM ) C CALL 'QUSRTVUS' C PARM USRSPC C PARM DEBUT C PARM LG C PARM LIST C CALL 'QUSRSPLA' 98 C PARM RCVVAR C PARM LGVAR C PARM 'SPLA0100'FMT C PARM '*INT' RCVJOB 26 C PARM JOBID C PARM SPLFID C PARM '*INT' RCVSPL 10 C PARM RCVSPN * C *IN98 IFEQ *OFF C Z-ADDPAGEB PAGDEC C ELSE C MOVEL' *ERR' NOM C MOVE *BLANK PAGA C MOVE *BLANK USRDTA C MOVE *BLANK ETAT C MOVE *BLANK OUTQ C ENDIF * C ADD LG DEBUT C ENDIF C ENDSR * C DLTUS BEGSR * DLT DU USER SPACE (Y COMPRIS EN CAS DE PLANTUS) API QUSDLTUS C Z-ADD16 LGDS C CALL 'QUSDLTUS' 99 C PARM USRSPC C PARM ERRDS C ENDSR |