Api gestion des produits sous licence (*PRDDFN)

BoTTom |   
 
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
 





©AF400