BeginLongTran (CM)

De Wiki1000
(Différences entre les versions)
 
Ligne 7 : Ligne 7 :
 
|iBatchSize
 
|iBatchSize
 
|Taille de lot minimum.
 
|Taille de lot minimum.
 +
Zéro pour utiliser la valeur par défaut.
 
|-
 
|-
 
|iParam
 
|iParam
Ligne 16 : Ligne 17 :
  
 
{{tip|iBatchSize indique la taille de lot minimum, si BatchLongTran est appelé alors que le nombre d'instance en transaction est inférieur à iBatchSize alors BatchLongTran est ignoré}}
 
{{tip|iBatchSize indique la taille de lot minimum, si BatchLongTran est appelé alors que le nombre d'instance en transaction est inférieur à iBatchSize alors BatchLongTran est ignoré}}
 +
{{tip|Positionnez iBatchSize à zéro pour utiliser la taille de batch par défaut déterminée par le Framework.}}
  
 
Exemple
 
Exemple

Version actuelle en date du 15 mars 2013 à 14:42

procedure BeginTranLongTran(iBatchSize:Integer; iParam:Variant);

Démarre une transaction longue.

iBatchSize Taille de lot minimum.

Zéro pour utiliser la valeur par défaut.

iParam Paramètre indiquant une classe métier.

Ce paramètre peut être :

  • Une instance d'objet, la classe de l'instance est utilisée.
  • Un chaîne nom de classe.
Tip-20px.png Tip : iBatchSize indique la taille de lot minimum, si BatchLongTran est appelé alors que le nombre d'instance en transaction est inférieur à iBatchSize alors BatchLongTran est ignoré
Tip-20px.png Tip : Positionnez iBatchSize à zéro pour utiliser la taille de batch par défaut déterminée par le Framework.

Exemple

var idx:Integer;
begin
  ClassManager.BeginLonTran(100,'MaClass');
  try
    for idx:=0 to VeryBigInt do
     begin
       doProcessItem(idx);
       if idx mod 100 =0 then ClassManager.BatchLongTran;
     end;
    ClassManager.CommitLongTran;
  except
    ClassManager.RollBackLongTran;
    raise;
  end; 
end;

Voir aussi :

Gestion des transactions (CM)Développement DSM

Outils personnels