A P I Présentation. (Application Program Interface) Routines de l'OS/400 permettant à des pgms utilisateurs d'exécuter par appel de pgm, certaines fonctions système (ou logiciel, cf API d'office/400) API déja connues : cdes + QCMDEXC + QCMDCHK Chaînes + QCLSCAN de car. + QDCXLATE Dtaq + QSNDDTAQ + QRCVDTAQ + QCLRDTAQ + QMHQRDQD (retrouver déf. d'une dtaq) plus API pour office/400 API pour télécoms (terminal virtuel,...) |
Ne pas confondre API (spécifiques à un système, ici AS/400) et CPI (Common Program Interface) routines communes à un certain nombres de systèmes IBM (OS/2,AS/400, S/370 ..) voir CPI Query management CPI Télécomunication (alternative aux fichiers ICF) CPI REXX (langage procédural interprété) Objets liés aux API : (sur ces liste, les API soulignées sont V2R30) 1/ USER SPACE (*USRSPC) Suite d'octets dans lesquels l'utilisateur peut mettre ce qu'il veut, ou renseigné par des API système de type "liste de .." API QUSCRTUS création QUSPTRUS (retrouve pointeur de début) QUSRTVUS extrait partie du contenu QUSCHGUS modifie partie du contenu QUSDLTUS suppression QUSCUSAT modification des attributs QUSRUSAT extraction des attributs |
API pouvant remplir un user space QUSLOBJ liste d'objets QUSLJOB liste de travaux QWCLASBL liste des sous-systèmes actifs QUSLMBRD liste des membres d'un fichier QUSLRCD liste des formats d'un fichier QUSLFLD liste des zones d'un format QUSLSPL liste des fichiers spool QEZLSGNU liste des utilisateurs en session QFVSTNL liste des entrées noeuds de réseau QMHLJOBL liste des messages de la JOBLOG QMHLSTM liste des messages d'une MSGQ QPMLPRFD liste des données de performance QSRLSAVF liste du contenu d'un SAVF QSYLATOL liste des objets protégés par une AUTL QSYLAUTU liste des utilsateurs autorisés QSYLOBJA liste des objets possédés ou autorisés/USER QSYLOBJP liste des programmes adoptants un profil QSYLUSRA liste des USERs autorisés à un objet QWCLSCDE liste d'infos sur le planning système QWDLSJBQ liste des jobqs d'un sous- système |
QBNLPGMI liste d'infos sur un programme (ILE) QBNLSPGM liste d'infos sur un *SRVPGM (ILE) QDCLCFGD liste des objets de configuration (lignes,..) 2/ USER INDEX (*USRIDX) Equivalent à une table indexée (tri automatique,recherche) + pas d'API de manipulation en V2R20 (==> utilisation en C,PASCAL,ou MI) + API de manipulation en V2R30 API QUSCRTUI création QUSDLTUI suppression QUSADDUI ajout d'un poste QUSRTVUI extraction d'un poste QUSRMVUI suppression d'un poste QUSRUIAT extraction attributs d'un user index |
3/ USER QUEUE (*USRQ) Equivalent à une MSGQ utilisateur avec notion de clé MAIS pas d'API de manipulation pour l'instant(cf *USRIDX) API QUSCRTUQ création QUSDLTUQ suppression 4/ PGM MI (langage type assembleur) MI = Machine Interface ==> programmation en assembleur disponible sur AS Nécessite une parfaite connaissance de la machine et de ce type de langage. API QPRCRTPG création d'un pgm à partir de source MI La totalité du source étant transmise dans une seule variable. |
5/ HFS (Hierarchical File System) Fichiers type documents (non relationnels) répertoriés dans des Dossiers. Exemple: DLS (Directory Library Service) Documents Office Il est possible de manipuler les documents Office de créer son propre système. API non listées (trop nombreuses) 6/ API diverses a- Extraction d'infos système (type cdes CL RTV....) QUSROBJD retrouver définition d'un objet QUSRJOBI retrouver infos sur un travail QWDRSBSD retrouver définition d'un sous-système QUSRMBRD retrouver infos sur un membre de fichier QUSRSPLA retrouver infos sur un fichier spoule QDBLDBR retrouver relations base de données |
QCDRCMDI retrouver infos sur une commande QCLRPGMI retrouver infos sur un pgm (OPM) QBNRSPGM retrouver infos sur un *SRVPGM (ILE) QDCRCFGS retrouver état d'un objet de config. QDCRCTLD retrouver infos sur un contrôleur QDCRDEVD retrouver infos sur une unité QDCRLIND retrouver infos sur une ligne QLGRTVSS retrouver source d'une table QMHQRDQD retrouver description d'une DTAQ QMHRDQM lire contenu d'une DTAQ sans suppression QSPRJOBQ retrouver infos sur une JOBQ QSPROUTQ retrouver infos sur une OUTQ QSPRWTRI retrouver infos sur un éditeur de spool QTNRCMTI retrouver infos sur le contrôle de validation QWCRSSTS retrouver infos de performance (WRKSYSSTS) QWDRSBSD retrouver infos sur un sous-système QWDRJOBD retrouver infos sur une JOBD |
b- Sécurité QSYGETPH validation interne d'un profil. QWTSETP changement de profil à l'intérieur d'un job (à partir d'une validation préalable) QSYRLSPH suppression de la validation d'un profil QSYCHGPR modifier date de dernier SIGNON QSYCHGPW modifier mot de passe QSYCUSRA vérifier autorisations sur un objet QSYCUSRS vérifier autorisations spéciales (*SECADM,...) QSYLAUTU lister les utilisateurs autorisés (connus) QSYLATLO lister les objets protégés par une AUTL QSYLOBJP lister les objets qui adoptent un profil QSYLOBJA lister les objets possédés ou autorisés à USER QSYLUSRA lister les utilisateurs autorisés à OBJET QSYRUSRA retrouver les autorisations d'un USER / OBJET QSYRUSRI retrouver infos sur un profil |
c- Messagerie QMHCHGEM modifier message d'exception (erreur) QMHLJOBL lister messages de la JOBLOG QMHLSTM lister messages d'une MSGQ QMHMOVPM déplacer un message d'une PGMQ à une autre QMHPRMM promouvoir un message/PGMQ (le remplacer) QMHRCVM recevoir un message d'une MSGQ QMHRCVPM recevoir un message d'une PGMQ QMHRMVM supprimer un message d'une MSGQ QMHRMVPM supprimer un message d'une PGMQ QMHRSNEM renvoyer un message d'erreur QMHRTVM retrouver infos sur un message QMHRMQAT retrouver infos sur une MSGQ QMHRTVRQ retrouver messages de type *RQS (gestion F9) QMHSNDBM envoyer un message (SNDBRKMSG) QMHSNDM envoyer un message (SNDMSG) QMHSNDPM envoyer un message (SNDPGMMSG) QMHSNDRM envoyer une réponse (SNDRPY) |
d- Produits sous licence et PTF QSZCRTPD créer une définition de produit (*PRDDFN) QSZCRTPL créer un *PRDLOD QSZPKGPO "packager" une option de produit QSZDLTPD supprimer un *PRDDFN QSZDLTPL supprimer un *PRDLOD QSZRTVPR retrouver infos sur un produit QLZADDLI ajouter des infos de licence QLZAREQ demander une licence QLZARLS liberer une licence QPZCRTFX créer une PTF QPZGENNM générer un nom de PTF QPZRTVFX retrouver infos sur une PTF |
e- Alertes QALGENA génération d'une alerte QALSNDA envoi d'une alerte QALRTVA retrouver infos sur une alerte f- API Spools QSPCRTSP création d'un fichier spool QSPOPNSP ouverture QSPGETSP lecture QSPPUTSP écriture QSPCLOSP fermeture QWPZTAFP transformation d'un flot AFP en ASCII g- API utilisateurs et autres... QUHDSPH affichage d'un panneau d'aide (choix du cadre de la fenêtre) |
QUSCMDLN affichage d'une fenêtre de saisie de cmde. (sans paramètre) QWCCVTDT conversion de date (type cde CVTDAT) QWSSETWS modifier mémorisation clavier QWSQRYWS retrouver mémorisation clavier QLICHGLL modifier *LIBL QLICOBJD modifier certains paramètres d'un objet QLIRNMO renommer, déplacer un objet QUSCHGPA modifier les paramètres d'un POOL QWCCHGTN modifier les paramètres expert cache / POOL QWCRDTAA retrouver contenu d'une DATA AREA QWCRNETA retrouver attributs réseau (RTVNETA) QWCRSSTS retrouver l'état du système (WRKSYSSTS) QWCRSVAL retrouver valeur système (RTVSYSVAL) |
h- API de tri QLGCNVSS convertir une table de tri QLGRTVLI retrouver le code langue QLGRTVSS retrouver contenu d'une table QLGVLID valider un code langue QLGSRTIO trier en entrée/sortie ou préparer un tri. QLGSORT trier les données préparées par QLGSRTIO. Il existe aussi des API assez spécifiques qui semblent destinées aux développeurs de logiciels systèmes ou aux amoureux des couches basses du système. + DSM Dynamic Screen Manager gestion complète des écran via API (5250) + API de débogage uniquement avec les pgm ILE + APi de communication pour réécrire votre modèle (couche hautes) elles s'appuient sur X.25, TOKEN ou ETHERNET |