L'OS/400 utilise deux objets pour la gestion des logiciels sous licence: - *PRDDFN contient la définition générale d'un produit. ID du produit (5738999 , 5738SS1, etc ...) niveau (VxRxMx) fichier message contenant les textes des options copyright informations sur le concepteur de ce produit puis des informations sur les options, x fois : N° option (00= *BASE ou 01-99) ID message du texte explicatif ID utilisé pour l'installation du produit (voir *PRDLOD) Voir QPZ0050 = *PRDDFN pour 5738999 (microcode) QSZ0050 = *PRDDFN pour 5738SS1 (OS/400) |
L'OS/400 utilise deux objets pour la gestion des logiciels sous licence: - *PRDLOD contient des indications sur une option de produit installée (l'objet *PRDDFN doit exister, l'option doit y être mentionnée) - nom du produit - ID du produit (5738xxx) - niveau (VxRxMx) - bibliothèque principale - bibliothèques additionnelles - liste des dossiers associés - pgm à appeler avant SAVLICPGM, RSTLICPGM, DLTLICPGM = pré-opération exit program - pgm à appeler après SAVLICPGM, RSTLICPGM, CHKPRDOPT = post-opération exit program - texte explicatif Voir QPZ0050 = *PRDLOD pour 5738999 (microcode) QSZ0050 = *PRDLOD pour 5738SS1 (OS/400) option de base. QSZ0029 = *PRDLOD pour langue principale de 5738SS1 |
APIs liées à ces notions QSZCRTPD Création d'un objet *PRDDFN + CHAR(20) <--prddfn(10c)--><--bib(10c)---> + CHAR(106) informations produit, découpée comme suit: - CHAR(7) Id produit - CHAR(6) niveau (VxRxMx) - CHAR(10) fichier message associé - CHAR(10) premier copyright (4 chiffres) ou *CURRENT (année en ou *NONE cours) - CHAR(10) copyright en cours (idem) - CHAR(6) date de cette version - CHAR(4) versions multiples autorisées? (*YES/*NO) - CHAR(10) type d'enregistrement (id propriétaire) *PHONE l'id représente un n° de téléphone *CUSTOMER l'id représente un n° de client IBM (contenant le code pays) |
- CHAR(14) enregistrement (id propriétaire) - CHAR(29) réservé. + CHAR(??) table de x fois CHAR(41) liste des options du produit,découpée comme suit: - CHAR(4) N° de l'option ° 0000 = *BASE ° 0001-0099 - CHAR(7) ID message donnant le texte explicatif de cette option. - CHAR(10) autoriser la nomination automatique des bibliothèques et dossiers associés pendant l'installation. (*NODYNNAM/*ALWDYNNAM) - CHAR(4) ID chargement du code (LOAD) 5001 (premier dispo) à 9999 Pour toutes les options qui font partie du même dispo, donnez la même valeur. C'est cette valeur qu'il faudra utiliser pour l'objet *PRDLOD. Si vous n'ajoutez pas d'informations de licence (facturation au nombre d'utilisateurs) donnez à toutes les options la valeur 5001. , - CHAR(16) réservé. |
+ BIN(4) nombre d'options + CHAR(??) table des langues secondaires x fois CHAR(20) - CHAR(8) Pour option de base ID langage (2928 par ex.) ou *IBMLNG Pour une option 01-99. *BASEOPT Dans tous les cas *NONE possible. - CHAR(4) N° de l'option - CHAR(8) réservé. + BIN(4) nombre de langues secondaires. + CHAR(50) texte de l'objet *PRDDFN + CHAR(10) autorisations + CHAR(??) code erreur. |
API liées à ces notions QSZCRTPL Création d'un objet *PRDLOD + CHAR(10) <--nom de l'objet--> + CHAR(83) informations chargement du produit: - CHAR(7) Id produit - CHAR(6) niveau (VxRxMx) - CHAR(4) N° d'option - CHAR(10) type de chargement *CODE = chargement du code d'un produit *LNG = chargement d'une langue - CHAR(8) ID chargement tel que défini dans l'objet *PRDDFN si type *CODE: 5001-9999 (*CODDFT=5001) si type *LNG : un code langage 29xx voir QSZCRTPD - CHAR(10) type d'enregistrement (id propriétaire) (*PRDDFN = voir *PRDDFN) voir QSZCRTPD - CHAR(14) enregistrement (id propriétaire) - CHAR(24) réservé. |
+ CHAR(10) bibliothèque langue secondaire + CHAR(30) informations sur la bibliothèque principale: - CHAR(10) nom de la bib principale lors du développement du produit - CHAR(10) nom de la bib principale lors du chargement du produit *DVLLIB = identique à la bib de développement - CHAR(10) nom du pgm de post-opération. + CHAR??) liste des biblothèques additionnelles x fois la structure pour la bib principale + BIN(4) nombre de bibliothèques additionnelles + CHAR(??) nom des programmes de pré-opération x fois CHAR(20) <--pgm(10 c)--><--bib(10 c)--> |
+ BIN(4) nombre de programmes + CHAR(??) x fois CHAR(126) = liste des dossiers associés - CHAR(63) dossier de développemnt - dossier de chargement, *DVLFLR=identique + BIN(4) nombre de dossiers + CHAR(50) texte de l'objet *PRDLOD + CHAR(10) autorisations + CHAR(??) code erreur. Api liées : QSZDLTPD suppression d'un objet *PRDDFN QSZDLTPL suppression d'un objet *PRDLOD dans les deux cas + CHAR(20) <--objet(10 c)--><--bib(10 c)--> + CHAR(??) code erreur |
ET ENFIN QSZPKGPO création d'un "package" prêt à être sauvegardé par SAVLICPGM. A ce moment là les bibliothèques et dossiers associés doivent exister. La liste des objets doit être complète. Tous les objets doivent être indiqués comme appartenant au produit, même version. (voir API QLICOBJD pour faire cela). + CHAR(35) informations sur le produit - CHAR(4) n° d'option - CHAR(7) ID du produit (5738xxx) - CHAR(6) version (VxRxMx) - CHAR(8) id chargement du dispo (5001-9999) - CHAR(10) réservé. + CHAR(4) faut-il refaire le "package" s'il existe ? (*NO/*YES) + CHAR(10) les objets sont-ils modifiables par API (QLICOBJD) *SAME,*NO + CHAR(??) code erreur |
Quand vous avez fait tout cela, vous pouvez gérer des PTF pour ce produit: API: QPZCRTFX (création d'une PTF) QPZGENNM (génération d'un nom de PTF) QPZRTVFX (extraction d'informations sur une PTF) QPZLOGFX (historiser une PTF comme étant chargée) Vous pouvez ajouter des informations de licence pour ce produit. (voir ce cours) API: QLZADDLI ajouter des informations de licence à un produit QLZAREQ demander une licence (nbr d'utilisation = +1) QLZARLS libérer une demande de licence (nbr d'utilisation = -1) QSZRTVPR extraction d'informations de chargement de produit (*PRDLOD) QLZARTV extraction d'informations de licence Cdes: WRKLICINF gérer les informations de licence CHGLICINF modifier les informations de licence |