...
Exemple : A5_Proc_Lock_SQL_
ne doit pas être appelé directement, mais on passe par Res_ART_Lock
(qui fait appel au Reservation_ART_Lock
) qui fait appel au GT_Proc_Lock_SQL
et enfin la fonction commune
...
Bloc de code |
---|
;* Public Procedure Maj_Compteur_article(ref,cpt,ReserverArt) ; Mise à jour d'une comptauer article pour quantité 'cpt' 1 ref >GTFDD.dhsd REF ; référence article 1 cpt >GTFDD.dhsd RESQTE ; quantité 1 ReserverArt 1,0 ; =0 si pas de résevation,= 1 si RES, =2 si shift 1A x X ; retour de fonction BeginP if cpt <> 0 ; met à jour le compteur article switch ReserverArt case 1 x = Res_Art_Lock( ref, 0, NoWait) if x = H_RESERVED x = Res_Art_Shift ( ref, 0, NoWait) ReserverArt = 2 ; Pour remettre en l'état endif case 2 x = Res_Art_Shift( ref, 0, NoWait) default x = 0 endswitch if x = 0 if Seek_ARTicleArticle(RS_Article,ref) = 0 RS_Article.CptA = cpt Update_Article(RS_Article) endif switch ReserverArt case 1 Res_Art_Unlock(ref) case 2 Res_Art_Share(ref) endswitch else Log_Ano(2269,ref) endif endif EndP |
...
le A5TTICP000.dhsp illustre
ProcLock_arreter_prog
pour ne pas arrêter le synchronisateur inter-compagnie
Bloc de code |
---|
;*
Public function char ProcLock_arreter_prog
;
beginf
;si réservé, on ne veut pas tuer la tache
freturn ('N')
endff |
le GTTTDHB001.dhsp illustre
Initialiser_Temps_Time_out_Batch
pour attendre 10s
Bloc de code |
---|
;*
Public function int Initialiser_Temps_Time_out_Batch
;
beginf
;pour le synchronisateur, on attend max 30s de résa
freturn (30)
endf |