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
| PROCÉDURE PG_Histo_TriggerApres()
LOCAL
sNomFichier est une chaîne
sLibAction est une chaîne
sTypeAction est une chaîne
sDetail est une chaîne
sQui est une chaîne = sNomUtilisateur
sRubCle est une chaîne
sRubrique est une chaîne // Nom de la rubrique traitée
nNbIndice est un entier // Nom bre d'indice pour les champs de type table (1 sinon)
sNomFichier = H.NomFichier
POUR TOUTE CHAÎNE sRubrique DE HListeClé(sNomFichier, hLstClé+hLstDétail) SEPAREE PAR RC
SI Majuscule( Gauche(sRubrique,2))="ID" _ET_ ExtraitChaîne(sRubrique,5,TAB)=1 ALORS
sRubCle=ExtraitChaîne(sRubrique,1,TAB)
SORTIR
FIN
FIN
SELON Majuscule(H.FonctionTrigger)
CAS "HAJOUTE"
sLibAction = "Ajout"
sTypeAction = "AJ_"
CAS "HMODIFIE"
POUR TOUTE CHAÎNE sRubriqueDetail DE HListeRubrique(sNomFichier, hLstDétail) SEPAREE PAR RC
sRubrique = ExtraitChaîne(sRubriqueDetail, 1, TAB)
nNbIndice = Val(ExtraitChaîne(sRubriqueDetail, 5, TAB))
SI nNbIndice=1 ALORS
SI {sNomFichier+"."+sRubrique, indRubrique}<>{"gpc_eTriggerAvt_Enreg."+sRubrique} ALORS
sDetail+= [RC]+ChaîneConstruit("%1=%3 ==> %2", sRubrique, {sNomFichier+"."+sRubrique, indRubrique}, {"gpc_eTriggerAvt_Enreg."+sRubrique})
FIN
SINON
POUR nIndEncours=1 _À_ nNbIndice
SI {sNomFichier+"."+sRubrique, indRubrique}[nIndEncours]<>{"gpc_eTriggerAvt_Enreg."+sRubrique}[nIndEncours] ALORS
sDetail+= [RC]+ChaîneConstruit("%1[%4]=%3 ==> %2", sRubrique, {sNomFichier+"."+sRubrique, indRubrique}[nIndEncours], {"gpc_eTriggerAvt_Enreg."+sRubrique}[nIndEncours], nIndEncours)
FIN
FIN
FIN
FIN
sLibAction = sDetail
sTypeAction = "MO_"
CAS "HSUPPRIME"
sLibAction = "Suppression "+gpc_sRaisonSuppr
sTypeAction = "SU_"
AUTRE CAS
sLibAction = "Inconnu"
FIN
sTypeAction+=sNomFichier
SI sLibAction="" ALORS RETOUR // Pas d'enregistrement dans la table HISTORIQUE en cas d'appel intempestif à HMODIFIE
// Enregistrement de l'historique de la modification dans une table HF des valeurs
// sLibAction
// DateSys()
// HeureSys()
// Utilisateur
// PAS sRubCle="" ? {sNomFichier+"."+sRubCle, indRubrique} SINON 0
// sTypeAction
// MonFichier..Nom
// ChaîneFormate(ProjetInfo(piNomProjet),ccMajuscule)
// MaFenêtre..Nom |
Partager