In the script-developing model of WebPlatform/AppFramework, there might be one-hour time lag in the date and time of year 1948, 1949, 1950, and 1951.

 
 [Event]
For example, in the case where the following source is executed,
===============================================
// 1948/5/3(Mon) 00:00:00
var dateOrigin = new Date(1948, 4, 3, 0, 0, 0);
var dateString_1 = DatabaseManager.dateToString(dateOrigin);
var dateString_2 = dateOrigin.toString();
Debug.browse(dateOrigin, dateString_1, dateString_2);
===============================================

the result will be as follows.
===============================================
1
Mon May 03 01:00:00 JDT 1948
Date
2
1948/05/03|01:00:00
String
3
Mon May 03 1948 00:00:00 GMT+0900 (JST)
String
===============================================
[Target versions]
AccelPlatform All updates
WebPlatform Ver.7.0
WebPlatform Ver.7.1
WebPlatform Ver.7.2
AppFramework Ver.7.0
AppFramework Ver.7.1
AppFramework Ver.7.2

[Answer]
Data transfer between JavaScript and Java and conversion of Data instance to a date string representation might fail when the script-developing model handles a date and time which represents daylight saving time.
Data transfer between JavaScript and Java and conversion of Data instance to a date string representation fail when Data instance of JavaScript satisfies all the following conditions (one-hour time lag occurs in date and time).
[Condition 1] Year is 1970 or earlier, or 2038 or later.
[Condition 2] Within the period of daylight-saving time in JavaVM’s default time zone where ApplicationRuntime operates.
 * When the ApplicationRuntime’s time zone is JST (Japan time)
 - A “year 1948, 1949, 1950, or 1951” and a “month in daylight saving time.”
* When the ApplicationRuntime’s time zone is other than JST
- A “year 1970 or earlier, or 2038 or later” and a ”month in daylight saving time.”
Note that this event occurs because of specifications of the script developing model engine (Rhino).

[Workaround]
Specify a custom time zone ID to the Java-VM system property “user.timezone” in “intra-mart/platform/java/server/command/option”, conf/imart.xml, ApplicationRuntime. The following is a setting example.
● Before modification
<option>-cp %SYSTEMCLASSPATH% -Xms%XMS% -Xmx%XMX% -XX:PermSize=128m -XX:MaxPermSize=128m -Djava.awt.headless=true</option>
● After modification
<option>-cp %SYSTEMCLASSPATH% -Xms%XMS% -Xmx%XMX%
-XX:PermSize=128m -XX:MaxPermSize=128m -Djava.awt.headless=true -Duser.timezone=GMT+0900</option>
“+0900” means nine hours before GMT. Set an appropriate time zone offset.
For the details of custom time zone ID, please refer to the JDK’s API list “java.util.TimeZone”.

-- Target ------------------------------------------------------------------------
iAP/Accel Platform/All Updates
iWP/Web System Construction Platform/WebPlatform/AppFramework
----------------------------------------------------------------------------------

FAQID:340
Was this article helpful?
0 out of 0 found this helpful
Powered by Zendesk