Obtain new values of the record for business notification

vasamvasam Member Posts: 53
Hi,

We have created new business notification, that fires when the Credit Limit (LCY) for the Customer is changed. So we have created XMLPort, Schema for the email, etc.
Everything works fine, the emails are sent, but with the old Customer data.
The event that we are using is OnModify in the Customer table. But in that point of time we know only the old Customer values, because the new values are not commited to the database, but on the other hand that is the place were we can intercept the change.
So, actually we need something like OnAfterModify, but such a thing doesn't exist in NAV.

The question is what are the best practices for this?

Here is out code:
Customer/OnModify
Customer.RESET;
  Customer.SETRANGE("No.", "No.");
  Customer.FIND('-');
  Customer.MODIFY;
  IF "Credit Limit (LCY)" <> xRec."Credit Limit (LCY)"
  THEN
    BEGIN
      CustXMLDoc.SETTABLEVIEW(Customer);
      CustXMLDoc.CreditLimitChanged();
      MESSAGE('Notification Sent');
    END;

In XMLPort we tryed this but without any result:
ChangeLogRec.RESET;
ChangeLogRec.SETFILTER("Table No.", FORMAT(DATABASE::Customer));
ChangeLogRec.SETFILTER("Primary Key Field 1 Value", Customer."No.");
ChangeLogRec.SETFILTER("Field No.", FORMAT(20));
IF ChangeLogRec.FIND('+') THEN
Credit_Limit_OLD := ChangeLogRec."Old Value";


Thank you,
Sign In or Register to comment.