All standard vantage files have triggers that run when you try and
update the files, these triggers require access to several standard
variables like CUR-COMP etc. To bypass the trigger add the following
line to the top of your program:
DISABLE TRIGGERS FOR LOAD OF JobHead.
FIND FIRST JobHead WHERE JobHead.Company = "XX" AND JobHead.JobNum =
"YYYY" NO-ERROR.
IF AVAILABLE JobHead THEN DO:
ASSIGN JobHead.ShortChar02 = "ABCD".
END.
ELSE DO:
MESSAGE "No JobHead Available".
END.
Also unless you have the SDK, you may not have the correct database
license to update files directly.
To update all JobHead Records use the following syntax:
FOR EACH JobHead WHERE JobHead.Company = "XX":
.. put update code here.
END.
________________________________
From: vantage@yahoogroups.com [mailto:vantage@yahoogroups.com] On Behalf
Of alfe_ksimon
Sent: Monday, January 04, 2010 4:21 PM
To: vantage@yahoogroups.com
Subject: [Vantage] Progress Update Not Working
I've got a bit of a stumper here. I've reported it to tech support,
they've referred it onto Custom Solutions Group, so I'm not holding out
for a solution short of paying big $$$ for a fix.
I've got a need to use the ShortChar fields on JobHead, and wrote a
progress program to update historical JobHead records. In many cases,
the update doesn't function, but also doesn't error. In trying to
resolve the problem, I've whittled my code down to the following:
FIND JobHead WHERE JobHead.Company = "XX" AND JobHead.JobNum = "YYYY".
MESSAGE "Before: " + JobHead.JobNum + ", " + JobHead.ShortChar02.
UPDATE JobHead SET JobHead.ShortChar02 = "ABCD"
WHERE JobHead.Company = "XX" AND JobHead.JobNum = "YYYY".
FIND JobHead WHERE JobHead.Company = "XX" AND JobHead.JobNum = "YYYY".
MESSAGE "After: " + JobHead.JobNum + ", " + JobHead.ShortChar02.
Here's the interesting part. For certain company/job numbers, it simply
doesn't do the update. The "FIND" before and after with the identical
where clause verifies that the record exists. I've gone in via ODBC and
changed ShortChar02 to another value, and it allows the change via ODBC,
and also reflects the updated value in the message clause. (I'm trying
really hard to use the progress tools to do my updates, not ODBC.) It
doesn't give any errors at all that I could find in any of the log files
- it just doesn't update.
I can run the identical code with JobProd, and the update works
properly.
I haven't noticed any pattern to which records update and which do not,
but it is consistent in not updating particular (most) jobs.
I initially had a "FOR EACH... EXCLUSIVE-LOCK" loop, and set the value
of ShortChar02 and followed with a "RELEASE JobHead" statement, and when
I did that, it simply exited out of the rest of the FOR EACH loop, again
with no indication of an error. When that didn't work, I hardcoded it
down to the statements above to try to resolve where the issue is
occuring.
Anyone seen anything like this before? Help???
Kevin Simon
[Non-text portions of this message have been removed]
update the files, these triggers require access to several standard
variables like CUR-COMP etc. To bypass the trigger add the following
line to the top of your program:
DISABLE TRIGGERS FOR LOAD OF JobHead.
FIND FIRST JobHead WHERE JobHead.Company = "XX" AND JobHead.JobNum =
"YYYY" NO-ERROR.
IF AVAILABLE JobHead THEN DO:
ASSIGN JobHead.ShortChar02 = "ABCD".
END.
ELSE DO:
MESSAGE "No JobHead Available".
END.
Also unless you have the SDK, you may not have the correct database
license to update files directly.
To update all JobHead Records use the following syntax:
FOR EACH JobHead WHERE JobHead.Company = "XX":
.. put update code here.
END.
________________________________
From: vantage@yahoogroups.com [mailto:vantage@yahoogroups.com] On Behalf
Of alfe_ksimon
Sent: Monday, January 04, 2010 4:21 PM
To: vantage@yahoogroups.com
Subject: [Vantage] Progress Update Not Working
I've got a bit of a stumper here. I've reported it to tech support,
they've referred it onto Custom Solutions Group, so I'm not holding out
for a solution short of paying big $$$ for a fix.
I've got a need to use the ShortChar fields on JobHead, and wrote a
progress program to update historical JobHead records. In many cases,
the update doesn't function, but also doesn't error. In trying to
resolve the problem, I've whittled my code down to the following:
FIND JobHead WHERE JobHead.Company = "XX" AND JobHead.JobNum = "YYYY".
MESSAGE "Before: " + JobHead.JobNum + ", " + JobHead.ShortChar02.
UPDATE JobHead SET JobHead.ShortChar02 = "ABCD"
WHERE JobHead.Company = "XX" AND JobHead.JobNum = "YYYY".
FIND JobHead WHERE JobHead.Company = "XX" AND JobHead.JobNum = "YYYY".
MESSAGE "After: " + JobHead.JobNum + ", " + JobHead.ShortChar02.
Here's the interesting part. For certain company/job numbers, it simply
doesn't do the update. The "FIND" before and after with the identical
where clause verifies that the record exists. I've gone in via ODBC and
changed ShortChar02 to another value, and it allows the change via ODBC,
and also reflects the updated value in the message clause. (I'm trying
really hard to use the progress tools to do my updates, not ODBC.) It
doesn't give any errors at all that I could find in any of the log files
- it just doesn't update.
I can run the identical code with JobProd, and the update works
properly.
I haven't noticed any pattern to which records update and which do not,
but it is consistent in not updating particular (most) jobs.
I initially had a "FOR EACH... EXCLUSIVE-LOCK" loop, and set the value
of ShortChar02 and followed with a "RELEASE JobHead" statement, and when
I did that, it simply exited out of the rest of the FOR EACH loop, again
with no indication of an error. When that didn't work, I hardcoded it
down to the statements above to try to resolve where the issue is
occuring.
Anyone seen anything like this before? Help???
Kevin Simon
[Non-text portions of this message have been removed]