2015-10-13 4 views
1

Я работаю над IDE (CA Plex), который не поддерживает формат TimeStamp, но по иронии судьбы он работает с сервером IBM i (AS400), который работает с TimeStamps со следующим форматом: yyyy- ММ-дд-hh.mm.ss.mmmsssRPG - формат IBM i TimeStamp

Я использую функцию RPG, которая вычисляет разность между двумя отметками, как показывает код:

* Difference between two TimeStamps in ms 
    /FREE 
    &(3:) = %DIFF (&(1:): &(2:): *MSECONDS); 
    /END-FREE 

&(1:), &(2:) и &(3:) являются параметрами, отправленными по IDE, которые несовместимы с функцией. Отправленный формат TimeStamp тот же, что я объяснял ранее, но компилятор RPG не распознает их как TimeStamp. Как я могу отформатировать эти параметры? Somethink как это то, что мне нужно:

tstampone = %timestamp(&(1:)); 
tstamptwo = %timestamp(&(2:)); 

* Difference between two TimeStamps in ms 
/FREE 
    &(3:) = %DIFF (tstampone: tstamptwo: *MSECONDS); 
/END-FREE 

Компилятор бросает предупреждения: RNF0580 и RNF0581

+1

Я не понимаю вопрос ... что IDE вы с помощью? Как IDE имеет параметры? Вам нужен tstampone и tstamptwo, объявленный как временная метка типа. – Charles

+0

Я использую CA Plex. Уже нашел ответ. Проводка. – ProtectedVoid

+0

А теперь посмотри, если бы ты упомянул о Plex, я мог бы вспомнить ответ. Удивленный я не узнал синтаксис & (3 :), но опять же прошло несколько лет. Если вы еще не являетесь участником, я настоятельно рекомендую присоединиться к сообществу пользователей [CA Plex/2E] (https://communities.ca.com/community/ca-plex-ca-2e/overview) – Charles

ответ

0

Найдено ответ:

/FREE 
    &(3:) = %DIFF (%TIMESTAMP(&(1:)): %TIMESTAMP(&(2:)): *MS); 
    /END-FREE 
+0

Вы можете просмотреть сообщество CA Plex. Я добавил ссылку в свой другой комментарий. IIRC, были несколько улучшений несколько лет назад вокруг версии Plex версии Plex в том, как она касается дат (& timestamps?). Я думаю, что добавлена ​​настройка INI, которая контролировала, как генерируется связанный с датой код. Возможно, в MSGF было что-то, что контролировало, как был вызван компилятор RPGIV. – Charles

+1

Спасибо @Charles за вашу поддержку. Я не упомянул CA Plex, потому что это не обычная IDE, и была большая вероятность, что вы не знаете, о чем я говорю, однако вы это знали. Я также попытался присоединиться к сообществу CA Plex, но я никогда не получаю подтверждение по электронной почте, поэтому я не мог присоединиться, я буду продолжать пытаться. Благодарю. – ProtectedVoid

Смежные вопросы