t-debst-write.p 1.2 KB

12345678910111213141516171819202122232425262728293031323334353637
  1. TRIGGER PROCEDURE FOR WRITE OF Debst
  2. NEW BUFFER NDebst
  3. OLD BUFFER ODebst.
  4. DEF VAR hBuffer AS HANDLE NO-UNDO.
  5. DEF VAR wi AS INT NO-UNDO.
  6. IF NDebst.Vertr <> ODebst.Vertr THEN DO:
  7. FOR EACH KuBes USE-INDEX KuBes-k2
  8. WHERE KuBes.Firma = ODebst.Firma
  9. AND KuBes.Knr = ODebst.Knr
  10. AND KuBes.Vertr = ODebst.Vertr:
  11. ASSIGN KuBes.Vertr = NDebst.Vertr.
  12. END.
  13. END.
  14. DISABLE TRIGGERS FOR LOAD OF Adresse.
  15. FIND Steuer NO-LOCK
  16. WHERE Steuer.Firma = NDebst.Firma NO-ERROR.
  17. IF NOT AVAILABLE Steuer THEN RETURN.
  18. FIND Adresse USE-INDEX Adresse-k1
  19. WHERE Adresse.Firma = Steuer.AdFirma
  20. AND Adresse.Knr = NDebst.Knr NO-ERROR.
  21. IF NOT AVAILABLE Adresse THEN RETURN.
  22. wi = INDEX(Adresse.WortIndex, 'XDEBSTX').
  23. IF NDebst.Aktiv THEN DO:
  24. IF wi > 0 THEN RETURN.
  25. Adresse.WortIndex = Adresse.WortIndex + ' XDEBSTX'.
  26. RETURN.
  27. END.
  28. IF wi = 0 THEN RETURN.
  29. Adresse.WortIndex = REPLACE(Adresse.WortIndex, 'XDEBSTX', ' ').
  30. Adresse.WortIndex = REPLACE(Adresse.WortIndex, ' ', ' ').
  31. RETURN.