1. Bonjour tout le monde ! Veillez consulter la Politique de forum pour comprendre nos règles, Merci a vous !
    Rejeter la notice

SERVER TRIGGERS

Discussion dans 'Windev' créé par warjoen, Fev 15, 2018.

  1. warjoen

    warjoen Active Member
    MEMBRE WX

    Inscrit:
    Jan 1, 2018
    Messages:
    158
    J'aime reçus:
    122
    Please help me...
    I have a problem with SERVER TRIGGERS and Store Procedure
    Example I have 2 tables as follows:
    1. STOCK
    - StockCode
    - Name
    - Units
    - QTYStock
    2. SELLING
    - StockCode
    - QTYSelling

    On Table SELLING with Server Trigger AFTER DELETE, I create procedure
    Stock.QtyStock = Stock.QtyStock + Selling.QtySelling
    HModify (STOCK)
    and it run ok and Stock.QtyStock result true

    On Table SELLING with Server Trigger AFTER ADD, I create procedure
    Stock.QtyStock = Stock.QtyStock - Selling.QtySelling
    HModify (STOCK)
    and it run ok and Stock.QtyStock result true

    On Table SELLING with Server Trigger BEFORE MODIFY, I create procedure
    Stock.QtyStock = Stock.QtyStock - Selling.QtySelling
    On Table SELLING with Server Trigger AFTER MODIFY, I create procedure
    Stock.QtyStock = Stock.QtyStock + Selling.QtySelling
    HModify (STOCK)

    but the result is wrong.
    example:
    Stock.QtyStock = 10 (beginning balance)

    Process Update/Modify)
    Selling.QtySelling = 5 (before being Modify)
    Selling.QtySelling = 8 (after being Modify))

    should be Stock.QtyStock = 10 - 5 + 8 = 13, but the result is not correct

    Please help ..... thank you.
     
    #1 warjoen, Fev 15, 2018
    Dernière édition: Fev 15, 2018
    Tags:
    Fakirato et aminej76 aiment ça.
  2. aminej76

    aminej76 Active Member
    MEMBRE WX

    Inscrit:
    Jan 23, 2018
    Messages:
    286
    J'aime reçus:
    105
    exemple de recuperation de valeur
    Code (Text):
    //creation d'un alias pour acceder aux valeurs de l'enregistrement
    avant modification
    SI PAS HAlias(occPiece,occPieceAvant) ALORS
    Erreur("Erreur à la création de l'alias occPièceAvant",HErreur())
    FinProgramme()
    FIN
    //changement de nom physique pour que le nom logique de l'alias soit sur le fichier physique occPiece
    SI PAS HChangeNom(occPieceAvant,"occPiece") ALORS
    Erreur("Erreur au changement du nom de l'alias
    occPièceAvant",HErreur())
    FinProgramme()

    FIN
    //lecture de la piece pour calcul du nombre de pieces terminees
    HLitRecherchePremier(occPieceAvant,"idoccpiece",OccPiece.IDoccPiece)
     
     
  3. warjoen

    warjoen Active Member
    MEMBRE WX

    Inscrit:
    Jan 1, 2018
    Messages:
    158
    J'aime reçus:
    122
    Thanks a lot for the trick, I'll give it a try
     

Partager cette page

Chargement...