Format code erreur associé aux appels API.

BoTTom |    Changer de couleur
 
 Un certain nombre d'API admettent un code erreur en paramètre.
 
 1/ si ce code erreur est facultatif et que vous ne l'indiquez pas
     l'API envoie un message de type ARRET-PGM (*ESCAPE).
 
 2/ si ce dode erreur est obligatoire c'est à vous de decider si vous
     voulez recevoir le code erreur ou un message.
 
 Structure du code erreur:
 
          !  de   !   a   ! type !    signification
          -----------------------------------------------
          !  1    !   4   ! Bin  !  lg du code retour
          !       !       !      !   = 0 : envoi de message
          !       !       !      !  >= 8 : erreur monitorée (jusqu'à 32783)
          !  5    !   8   ! Bin  !  lg nécessaire pour recevoir les infos
          !       !       !      !   en retour (renseignée par API)
          !  9    !  15   ! Char !  ID message (CPFxxxx)
          ! 16    !  16   ! char !  (reservé)
          !       !       !      !
 


|    Changer de couleur
 Utilisation en RPG 
     IERRCD1      DS
     I                                    B   1   40LGCOD
 
     C                     Z-ADD0         LGCOD
     C                     CALL 'API'
     C                     ...
     C                     PARM ERRCD1
 
 Utilisation en RPG4 
 
     Derrcd1           DS
     D lgcod                         10I 0
 
      /free
 
        lgcod = 0 ;
        callp API ( .... : errcd1);
 
      /end-free
 
 


|    Changer de couleur
 
     IERRCD2      DS
     I                                    B   1   40LGCOD
     I                                    B   5   80LGRTN
     I                                        9  15 MSGID
     I                                       16  16 RESERV
     C                     Z-ADD16        LGCOD
     C                     CALL 'API'
     C                     ...
     C                     PARM ERRCD2
     C           MSGID     IFNE *BLANK
 
      Derrcd2           DS
      D lgcod                         10I 0  inz(%size(errcd2))
      D lgretour                      10I 0
      D msgid                          7
 
       /free
         callp API ( .... : errcd2);
         if msgid <> *blank;
       /end-free
 


|    Changer de couleur
     IERRCD3      DS
     I                                    B   1   40LGCOD
     I                                    B   5   80LGRTN
     I                                        9  15 MSGID
     I                                       17  80 MSGDTA
     C                     Z-ADD80        LGCOD
     C                     CALL 'API'
     C                     ...
     C                     PARM ERRCD3
     C           MSGID     IFNE *BLANK
     C           MSGDTA    IFEQ '...                                    
     Derrcd2           DS
     D lgcod                         10I 0  inz(%size(errcd2))
     D lgretour                      10I 0
     D msgid                          7
     D filler                         1
     D msgdta                        63
      /free
        callp API ( .... : errcd2);
        if msgid <> *blank ;
           if msgdta = ' xxx';
      /end-free


|    Changer de couleur
 
 
 
 
  En COBOL 
       WORKING-STORAGE SECTION.
       01 ERROR-CODE.
           49 ERROR-CODE-LONG PIC S9(5) COMP-4.
           49 ERROR-CODE-LGRT PIC S9(5) COMP-4.
           49 MESSAGE-ID      PIC X(7).
           49 RESERVE         PIC X.
      *    49 MESSAGE-DATA    PIC X(..).
 




©AF400