IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

AS/400 Discussion :

Trigger Image Avant


Sujet :

AS/400

  1. #1
    Membre régulier
    Profil pro
    Inscrit en
    Avril 2008
    Messages
    62
    Détails du profil
    Informations personnelles :
    Âge : 60
    Localisation : France

    Informations forums :
    Inscription : Avril 2008
    Messages : 62
    Points : 85
    Points
    85
    Par défaut Trigger Image Avant
    Bonjour,

    Merci de votre aide !! je dois absolument avoir un trigger pour un client !!
    Trigger en RPGLE
    Mon Prb : Je n'arrive pas a avoir l'image avant modif

    Merci de votre rapidité

    1 PGM TRIGGER SIMPLE RPGLE :
    Je n'arrive pas a avoir l'image avant modif
    Test en Update !!


    ----------------------------------------------*
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    H DATEDIT(*YMD)                                       
    fCRMUZBEXP o  a e             disk                    
    D*                                                    
    DOldRecord      e ds                  ExtName(FRRM)   
    D                                     Prefix(O_)      
    D*                                                    
    DNewRecord      e ds                  ExtName(FRRM)   
    D                                     Prefix(N_)      
    dBuffer           ds          4000                    
    dTrgFile                  1     10                    
    dTrgLib                  11     20                    
    dTrgMbr                  21     30                    
    dEvent                   31     31                    
    dTTime                   32     32                    
    dOldOffset               49     52b00             
    dOldLength               53     56b00             
    dNewOffset               65     68b00             
    dNewLength               69     72b00             
    DBufferLen        S             10I 0             
    d                sds                              
    dUserId                 254    263                
    DPos                             4  0             
    DTimStp                         14  0             
                                                      
    c     *entry        plist                              
    c                   parm                    Buffer     
    c                   parm                    BufferLen 		
    
    c                   if        Event= '1'                                
                                                                            
    c                   eval      Pos=NewOffset+1                           
    c                   eval      NewRecord=%subst(Buffer:Pos:NewLength)    
                                                                            
    c                   eval      Pos=OldOffset+1                           
    c                   eval      OldRecord=%subst(Buffer:Pos:OldLength)    
                                                                            
    c                   endif
    ----------------------
    Le OLD record NE CONTIENT RIEN ??
    Si j'affiche O_xxxxx rien du tout

    mon trigger
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    ADDPFTRG   FILE(AMSFUZBTST/FRRM) TRGTIME(*AFTER) +        
                   TRGEVENT(*UPDATE) PGM(AMSUZBTST/TRIGFRRM) +   
                   RPLTRG(*YES) TRG(TRIGFRRM_CHG) +              
                   TRGUPDCND(*CHANGE)
    Cordialement

    Jean-Philippe

  2. #2
    Membre expérimenté

    Profil pro
    Inscrit en
    Novembre 2004
    Messages
    1 298
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Novembre 2004
    Messages : 1 298
    Points : 1 578
    Points
    1 578
    Par défaut
    Tu as demandé que le trigger se déclenche après la mise à jour (update) et tu testes la valeur du "trigger event" pour une insertion et ça, ça ne risque pas de marcher.
    Si tu testes la valeur '3' dans la zone "Event", ça va aller nettement mieux :

    Remarques
    1. Il ne faut plus jamais employer la notation "B 0" pour déclarer des zones en binaire mais toujours la nouvelle notation "I 0" car RPG IV sait désormais gérer les vrais entiers et non ces définitions à la noix du RPG II/RPG III qui faussaient les résultats en les rendant erronés.
    2. Les pointeurs sont bien pratiques pour programmer "moderne".


    Voici un exemple de trigger mis au goût RPG IV ILE:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    51
    52
    53
    54
    55
    56
    57
    58
    59
    60
    61
    62
    63
    64
    65
    66
    67
    68
    69
    70
    71
    72
    73
    74
    75
    76
    77
    78
    79
    80
    81
    82
    83
    84
    85
    86
    87
    88
    89
    90
    91
    92
    93
    94
    95
    96
    97
    98
    99
    100
    101
    102
    103
    104
    105
    106
    107
    108
    109
    110
    111
    112
    113
    114
    115
    116
    117
    118
    119
    120
    121
    122
    123
    124
    125
    126
    127
    128
    129
    130
    131
    132
    133
    134
    135
    136
    137
    138
    139
    140
    141
    142
    143
    144
    145
    146
    147
    148
    149
    150
    151
        F********************************************************************
         F
         D
         D  NulTypePtr     S               *
         D  TypeBin4       S             10I 0 Based(NulTypePtr)
         D  TypeChr        S              1A   Based(NulTypePtr)
         D  TypeSysNam     S             10A   Based(NulTypePtr)
         D  TypePtr        S               *   Based(NulTypePtr)
         D
         D  TgBufLen       S                   Like(TypeBin4)
         D  TgBfrPtr       S                   Like(TypePtr)
         D  TgAftPtr       S                   Like(TypePtr)
         D  TgBufSiz       C                   Const(%size(TgBufChr))
         D
         D TgBufDS         DS
         D  TgFile                             Like(TypeSysNam)
         D  TgLib                              Like(TypeSysNam)
         D  TgMbr                              Like(TypeSysNam)
         D  TgTrgEvt                           Like(TypeChr)
         D  TgTrgTime                          Like(TypeChr)
         D  TgCmtLvl                           Like(TypeChr)
         D  TgReserve1                    3A
         D  TgCcsId                            Like(TypeBin4)
         D  TgReserve2                    8A
         D  TgBfrOfs                           Like(TypeBin4)
         D  TgBfrLen                           Like(TypeBin4)
         D  TgBfrNulOf                         Like(TypeBin4)
         D  TgBfrNulLn                         Like(TypeBin4)
         D  TgAftOfs                           Like(TypeBin4)
         D  TgAftLen                           Like(TypeBin4)
         D  TgAftNulOf                         Like(TypeBin4)
         D  TgAftNulLn                         Like(TypeBin4)
         D  TgBufChr               1  32767A
         D   TgBufAry                     1A   Overlay(TgBufChr)
         D                                       DIM (%size(TgBufChr))
         D
         D SDS            SDS
         D  WSID                 244    253
         D  USRID                254    263
         D  PGMID            *PROC
         D
         D
         D***********************************************************************
         D**>>> On the next two definitions, put the based-on file name    <<<
         D**>>>   in the ExtName parameter                                 <<<
         D***********************************************************************
         D  BfFile       E DS                  ExtName(MBALREP)                     <- TRIGGER FILE
         D                                       Prefix(Bf_)
         D                                       Based(TgBfrPtr)
         D
         D  AfFile       E DS                  ExtName(MBALREP)                     <- TRIGGER FILE
         D                                       Prefix(Af_)
         D                                       Based(TgAftPtr)
         D*****
         D
         D
         C     *Entry        PList
         C     TgBufDs       Parm                    TgBufDs
         C     TgBufLen      Parm                    TgBufLen
         C
         C                   Eval      TgBfrPtr = %addr(TgBufAry(TgBfrOfs+1))
         C                   Eval      TgAftPtr = %addr(TgBufAry(TgAftOfs+1))
         C
         C*****
         C*
         C*  The based-on-file fields are now prefixed with Bf_  for before values
         C*                       and are now prefixed with Af_  for after  values
         C*
         C*****
         C
         C*  Call insert subroutines
         C                   IF        (TgTrgEvt = '1')                             INSERT
         C                   IF        (TgTrgTime = '1')                              AFTER
         C                   EXSR      AfterInsert
         C                   ENDIF
         C                   IF        (TgTrgTime = '2')                              BEFORE
         C                   EXSR      BeforeInsert
         C                   ENDIF
         C                   ENDIF
         C
         C*  Call delete subroutines
         C                   IF        (TgTrgEvt = '2')                             DELETE
         C                   IF        (TgTrgTime = '1')                              AFTER
         C                   EXSR      AfterDelete
         C                   ENDIF
         C                   IF        (TgTrgTime = '2')                              BEFORE
         C                   EXSR      BeforeDelete
         C                   ENDIF
         C                   ENDIF
         C
         C*  Call update subroutines
         C                   IF        (TgTrgEvt = '3')                             UPDATE
         C                   IF        (TgTrgTime = '1')                              AFTER
         C                   EXSR      AfterUpdate
         C                   ENDIF
         C                   IF        (TgTrgTime = '2')                              BEFORE
         C                   EXSR      BeforeUpdate
         C                   ENDIF
         C                   ENDIF
         C
         C                   Eval      *INLR = *on
         C
         C
         C********************************************************************
         C* After Insert Processing                                          *
         C********************************************************************
         C     AfterInsert   BEGSR
         C
         C                   ENDSR
         C
         C
         C********************************************************************
         C* Before Insert Processing                                         *
         C********************************************************************
         C     BeforeInsert  BEGSR
         C
         C                   ENDSR
         C
         C
         C
         C********************************************************************
         C* After Delete Processing                                          *
         C********************************************************************
         C     AfterDelete   BEGSR
         C
         C                   ENDSR
         C
         C
         C********************************************************************
         C* Before Delete Processing                                         *
         C********************************************************************
         C     BeforeDelete  BEGSR
         C
         C                   ENDSR
         C
         C
         C********************************************************************
         C* After Update Processing                                          *
         C********************************************************************
         C     AfterUpdate   BEGSR
         C
         C                   ENDSR
         C
         C
         C********************************************************************
         C* Before Update Processing                                         *
         C********************************************************************
         C     BeforeUpdate  BEGSR
         C
         C                   ENDSR

  3. #3
    Membre régulier
    Profil pro
    Inscrit en
    Avril 2008
    Messages
    62
    Détails du profil
    Informations personnelles :
    Âge : 60
    Localisation : France

    Informations forums :
    Inscription : Avril 2008
    Messages : 62
    Points : 85
    Points
    85
    Par défaut
    Merci Bien.

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. [ImageMagick] Resize image avant l'uppload
    Par phoeniix07 dans le forum Bibliothèques et frameworks
    Réponses: 2
    Dernier message: 30/05/2006, 16h47
  2. Redimensionner image avant de la charger
    Par nou366 dans le forum Delphi
    Réponses: 2
    Dernier message: 11/05/2006, 13h05
  3. [ImageMagick] Redimensionner une image avant de l'enregistrer
    Par julien.63 dans le forum Bibliothèques et frameworks
    Réponses: 3
    Dernier message: 03/05/2006, 21h01
  4. swing afficher une image avant la fenetre
    Par gripin dans le forum AWT/Swing
    Réponses: 1
    Dernier message: 25/04/2006, 23h21
  5. Preview d'une image avant upload
    Par nabbo dans le forum Général JavaScript
    Réponses: 20
    Dernier message: 21/12/2005, 01h02

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo