project BLF > class Database Component > method UpdateLastModified
Description
update LastModified*** fields
Parameters
oiReturnStatus | output | integer | Return status of the method. |
Internal usage
BLF
QadFinancials
program code (program1/database.p)
<M-1 run DataDescription
(input '' (icRowids),
input '' (icPkey),
input '' (icObjectIds),
input no (ilAllTables),
output viFcReturnSuper (oiReturnStatus)) in database>
if viFcReturnSuper <> 0
then oiReturnStatus = viFcReturnSuper.
if viFcReturnSuper < 0
then return.
/* Save date and time in UTC */
session:timezone = 0.
for each tFcDynRel on error undo, throw:
assign vhDate = ?
vhTime = ?
vhUser = ?.
assign vhDate = tFcDynRel.thFcBuffer:buffer-field("LastModifiedDate":U)
vhTime = tFcDynRel.thFcBuffer:buffer-field("LastModifiedTime":U)
vhUser = tFcDynRel.thFcBuffer:buffer-field("LastModifiedUser":U) no-error.
if vhDate = ?
and vhTime = ?
and vhUser = ?
then next.
create query vhQuery in widget-pool "non-persistent".
vhQuery:forward-only = yes.
vhQuery:set-buffers(tFcDynRel.thFcBuffer).
assign vlFcOk = vhQuery:query-prepare ("for each t_o":U + tFcDynRel.tcFcTo
+ " where t_o":U + tFcDynRel.tcFcTo + ".tc_Status = 'N'":U
+ " or t_o":U + tFcDynRel.tcFcTo + ".tc_Status = 'C'":U).
if vlFcOk
then assign vlFcOk = vhQuery:query-open().
if vlFcOk = no
then next.
vhQuery:get-first().
do while not vhQuery:query-off-end:
if vhDate <> ?
then vhDate:buffer-value = today.
if vhTime <> ?
then vhTime:buffer-value = time.
if vhUser <> ?
then vhUser:buffer-value = vcUserLogin.
vhQuery:get-next().
end.
vhQuery:query-close().
delete object vhQuery.
vhQuery = ?.
end.
finally:
session:timezone = viTimeOffset.
if vhQuery <> ? then delete object vhQuery.
end finally.