SAP Knowledge Base Article - Public

3074509 - A null object loaded from local variable 'id' a java.util.TimeZone.parseCustomTimeZone

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

  1. Learning Administration >
  2. System Administration > Automatic Process > Learning Expiration Email Notification >
  3. Input the configurations and apply changes >
  4. Wait for the scheduled run, then an error occurs.

Or

  1. 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

Product

SAP SuccessFactors Learning all versions