Я пытаюсь добавить последнюю обновленную метку времени к старому физическому файлу на AS400.Этот физический файл записан в DDS.Я добавил в поле отметки времени, но не могу заставить его автоматически обновляться до текущей отметки времени при изменении записи.
Я попытался создать программу триггера RPGLE, которая устанавливает отметку времени поля в изображении после.триггерного буфера.Однако это изменение не отражено в реальном файле, так как я считаю, что триггерный буфер является ссылкой только для ввода.
Есть ли у кого-нибудь идеи о том, как я могу получить метку времени для каждой записи, которая автоматически обновляется при внесении изменений в эту запись?
Спасибо!
РЕДАКТИРОВАТЬ:Я разместил код, который должен обрабатывать обновление метки времени в программе запуска.Не правильно ли установлен буфер запуска?
d PGMNAME pr
d TrgBuffer_ like(TrgBuffer)
d TrgBufLen_ like(TrgBufLen)
d BefImg e ds extname(FILENAME) prefix(b_)
d AftImg e ds extname(FILENAME) prefix(a_)
d FILENAMER pi
d p$TrgBuffer like(TrgBuffer)
d p$TrgBufLen like(TrgBufLen)
TrgBuffer = p$TrgBuffer;
TrgBufLen = p$TrgBufLen;
NRO = NewRecOff + 1;
NRL = NewRecLen;
ORO = OrgRecOff + 1;
ORL = OrgRecLen;
// Set Before / After Images
BefImg = %subst(TrgBuffer:ORO:ORL);
AftImg = %subst(TrgBuffer:NRO:NRL);
select;
// Update
when TrgEvent = '3';
// Set last updated timestamp on record.
a_lstupd = %timestamp();
%subst(TrgBuffer:NRO:NRL) = AftImg;
p$TrgBuffer = TrgBuffer;