Business Number Rule with Character 'C*' is Throwing an Error: 'The Sequence Null For Rule Is Exhausted' (Doc ID 981015.1)

Last updated on SEPTEMBER 08, 2016

Applies to:

Oracle Transportation Management - Version: 6.0.2
Information in this document applies to any platform.

Symptoms

When using OTM Version 6.0.2 and attempting to have a Business Number Rule generate a value that contains an Alpha character, using the 'C*' instruction, it is expected that the Alpha character will move from A to B, to Z and then onto AA and so on. However once Z is reached the rule is generating an error as follows:

ERROR
-----------------------
The sequence null for rule is exhausted

at sun.reflect.GeneratedConstructorAccessor355.newInstance(Unknown Source)
at sun.reflect.DelegatingConstructorAccessorImpl.newInstance(DelegatingConstructorAccessorImpl.java:27)
at java.lang.reflect.Constructor.newInstance(Constructor.java:494)
at glog.util.exception.GLException.factory(GLException.java:429)
at glog.util.exception.GLException.factory(GLException.java:406)
at glog.util.exception.GLException.factory(GLException.java:402)
at glog.server.bngenerator.BNSequence.increment(BNSequence.java:33)
at glog.server.bngenerator.BNSequence.increment(BNSequence.java:41)
at glog.server.bngenerator.picture.BNPictureSegment$Sequence.increment(BNPictureSegment.java:219)
at glog.server.bngenerator.picture.BNPictureGenerator.perform(BNPictureGenerator.java:56)
at glog.server.bngenerator.picture.BNPictureGenerator.perform(BNPictureGenerator.java:31)
at glog.server.bngenerator.BNEngine.generateWithBNSequence(BNEngine.java:273)
at glog.server.bngenerator.BNEngine.generate(BNEngine.java:86)
at glog.server.bngenerator.BNEngine.generate(BNEngine.java:72)
at glog.server.bngenerator.BNSessionBean.testBNG(BNSessionBean.java:112)
at glog.server.bngenerator.BNSessionServerSideEJBWrapper.testBNG(BNSessionServerSideEJBWrapper.java:334)
at glog.server.bngenerator.BNSessionHome_7sdgcx_EOImpl.testBNG(BNSessionHome_7sdgcx_EOImpl.java:644)
at glog.server.bngenerator.gen.BNSessionSkel.testBNG(BNSessionSkel.java:273)
at glog.server.bngenerator.gen.BNSessionSkel.exec(BNSessionSkel.java:67)
at glog.webserver.wrapper.SkelImpl.execDispatch(SkelImpl.java:15)
at glog.server.wrapper.WrapperSessionBean.execDispatch(WrapperSessionBean.java:73)
at glog.server.wrapper.WrapperSessionServerSideEJBWrapper.execDispatch(WrapperSessionServerSideEJBWrapper.java:48)
at glog.server.wrapper.WrapperSessionHome_a06097_EOImpl.execDispatch(WrapperSessionHome_a06097_EOImpl.java:60)
at glog.server.wrapper.WrapperSessionHome_a06097_EOImpl_WLSkel.invoke(Unknown Source)
at weblogic.rmi.internal.BasicServerRef.invoke(BasicServerRef.java:553)
at weblogic.rmi.cluster.ClusterableServerRef.invoke(ClusterableServerRef.java:224)
at weblogic.rmi.internal.BasicServerRef$1.run(BasicServerRef.java:443)
at weblogic.security.acl.internal.AuthenticatedSubject.doAs(AuthenticatedSubject.java:363)
at weblogic.security.service.SecurityManager.runAs(SecurityManager.java:147)
at weblogic.rmi.internal.BasicServerRef.handleRequest(BasicServerRef.java:439)
at weblogic.rmi.internal.BasicServerRef.access$300(BasicServerRef.java:61)
at weblogic.rmi.internal.BasicServerRef$BasicExecuteRequest.run(BasicServerRef.java:983)
at weblogic.work.ExecuteThread.execute(ExecuteThread.java:209)
at weblogic.work.ExecuteThread.run(ExecuteThread.java:181)


STEPS
-----------------------
The issue can be reproduced at will with the following steps:

1 - Log onto an OTM 6.0 system.

2 - Navigate to: Business Process Automation > Power Data > Business Numbers > Business Number Rules.

3 - Click NEW

4 - Set the following:
ID: As needed.
BN Type: MAWB (or other)
Rule Definition:
{d*:id=1:picture=yy}{c*:parent=seq:context=seq}{nnnnn:id=seq:start=1:end=1}
BN Generator: PICTURE

5 - Click Finished.

6 - View the BN Rule

7 - Click Actions > Test BN Rule.

8 - Enter Shipment ID: 01004

9 - Click Save

10 - Click OK

11 - Repeat until the Letter in the BN reaches 'Y', so the value is '09Y00001'

12 - Test one more time.

13 - Because the C* was used is is expected that the Y moves to Z and then AA, per Online Help in the Alphabetic Instructions section:

"An asterisk after the last "c" indicates that the sequence has no maximum length. For example, {c*} specifies A, B, C,..., AA, AB, AC,..., ZZ, AAA, AAB, etc."

14 - The sequence null for rule is exhausted

Cause

Sign In with your My Oracle Support account

Don't have a My Oracle Support account? Click to get started

My Oracle Support provides customers with access to over a
Million Knowledge Articles and hundreds of Community platforms