Symptom
Error message displayed: "An application error has occurred. Please try again."
java.lang.NullPointerException: while trying to invoke the method java.lang.String.length() of a null object loaded from local variable 'id'
at java.util.TimeZone.parseCustomTimeZone(TimeZone.java:803)
at java.util.TimeZone.getTimeZone(TimeZone.java:567)
at java.util.TimeZone.getTimeZone(TimeZone.java:521)
at com.plateausystems.elms.util.helper.I18nUtil.getTimeZone(I18nUtil.java:343)
at com.plateausystems.elms.util.helper.I18nFormatHelper.getDisplayDateTimeVOX(I18nFormatHelper.java:256)
at com.plateausystems.elms.framework.notification.valueobject.ApmTrainingExpirationTagVO.addTrainingExpirationItem(ApmTrainingExpirationTagVO.java:244)
at com.plateausystems.elms.framework.jobscheduling.impl.ElmsRecurringJobServiceImpl.notifyTrainingExpiration(ElmsRecurringJobServiceImpl.java:2112)
at sun.reflect.GeneratedMethodAccessor4162.invoke(Unknown Source)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.lang.reflect.Method.invoke(Method.java:498)
or
Error message = Request processing failed; nested exception is java.lang.NullPointerException: Cannot invoke "String.length()" because "<parameter1>" is null <br>Ticket No = 918<br>ErrorFingerprint [exceptionRootCauseTag=4e0915d4be5cbb153ee3d95d87924b45be29be60, exceptionStackTraceTag=3fa0ccc1a445dd2fe1aa79f07cf533615e2c6e47]<br>Timestamp = 2025-07-03T14:07:47.342+0000<br>Stack trace = java.lang.NullPointerException: Cannot invoke "String.length()" because "<parameter1>" is null at java.base/java.util.TimeZone.parseCustomTimeZone(Unknown Source)
at java.base/java.util.TimeZone.parseCustomTimeZone(Unknown Source) at java.base/java.util.TimeZone.getTimeZone(Unknown Source) at java.base/java.util.TimeZone.getTimeZone(Unknown Source) at com.plateau.common.core.api.timezone.TimeZoneUtil.getTimeZone(TimeZoneUtil.java:55) at com.plateausystems.elms.util.helper.I18nUtil.getTimeZone(I18nUtil.java:365) at com.successfactors.learning.business.user.client.impl.UserClientServiceImpl.popuateAssignedItemsMessageStripTimeZoneParamters(UserClientServiceImpl.java:673
Environment
SAP SuccessFactors Learning
Reproducing the Issue
- Learning Administration >
- System Administration > Automatic Process > Learning Expiration Email Notification >
- Input the configurations and apply changes >
- Wait for the scheduled run, then an error occurs.
Or
- The user attempted to log in to the Learning system, but an application error occurred.
Cause
A user's preferred timezone was set to null, leading to a null pointer exception. Ideally, there should be no users with null preferences in the system.
Resolution
Please open a case with the SAP SuccessFactors Learning Technical Support team under the "LOD-SF-LMS" component. Support team will run a script in the backend to resolve this issue. Once the script execution is complete, you will be able to access and change the timezone preference of the affected user.
Note for Support Engineers: Please refer to the internal memo.
Keywords
timezone, APM, schedule, null , An application error has occurred. Please try again , timezone is null , A null object loaded from local variable 'id' a java.util.TimeZone.parseCustomTimeZone , KBA , LOD-SF-LMS-APM , Automatic Processes , Problem
SAP Knowledge Base Article - Public