Skip to Content

Archived discussions are read-only. Learn more about SAP Q&A

Existing process instances fail due to changes in sub-process interface

Hi there,

In my bpm I'm calling a sub-process.

I've added the new parameter "CallSysID" to the Service interface of that sub-process.

For new process instances everything's working fine, but for existing processes I get the following error:

java.lang.IllegalStateException: Container '$CallSysID' unavailable

com.sap.mapping.lib.execution.api.exception.TExecutionException

at SnowCallSysID( StandardChild )

at ( DeepExpression )

at http://www.blabla.org/Approval:CallSysID( TerminalPart:expression )

at blabla.org/approvalproduct/pr/pm/Insert_Status/InsertStatus:DataObject( BroadPart:child )

at ( NarrowMapping )

com.sap.mapping.lib.execution.implementation.rule.child.StandardChild.step(StandardChild.java:76)

com.sap.mapping.lib.execution.implementation.rule.expression.DeepExpression$Resolver.resolve(DeepExpression.java:46)

com.sap.mapping.lib.execution.implementation.rule.expression.DeepExpression$Resolver.resolve(DeepExpression.java:49)

com.sap.mapping.lib.execution.implementation.rule.expression.DeepExpression$Resolver.<init>(DeepExpression.java:28)

com.sap.mapping.lib.execution.implementation.rule.expression.DeepExpression.internalExpress(DeepExpression.java:78)

com.sap.mapping.lib.execution.implementation.rule.expression.AbstractExpression.express(AbstractExpression.java:45)

com.sap.mapping.lib.execution.implementation.rule.part.AbstractPart.processExpression(AbstractPart.java:131)

com.sap.mapping.lib.execution.implementation.rule.part.AbstractPart.partake(AbstractPart.java:92)

com.sap.mapping.lib.execution.implementation.rule.part.BroadPart.processChildren(BroadPart.java:43)

com.sap.mapping.lib.execution.implementation.rule.part.AbstractPart.partake(AbstractPart.java:96)

com.sap.mapping.lib.execution.implementation.rule.mapping.NarrowMapping.internalMap(NarrowMapping.java:40)

com.sap.mapping.lib.execution.implementation.rule.mapping.AbstractMapping.map(AbstractMapping.java:44)

com.sap.mapping.lib.execution.implementation.Runner.transform(Runner.java:66)

com.sap.mapping.lib.execution.implementation.Runner.transform(Runner.java:43)

com.sap.glx.core.internaladapter.Transformer$TransformerTemplateAccessor$MapperTemplate$MapperInvocationHandler.map(Transformer.java:3332)

... (23 more)

In NWA it is not possible to recover the old requests which turn into status "Failed" (e. g. by changing context data).

My question:

How can I handle such service interface changes without "losing" all existing process instances?

Shall I just copy the old sub-process into a new one?

Best regards,

Thorsten.

Former Member
Former Member replied

I just managed now the way I assumed, meaning that I copied my sub-process "InsertStatus" to a new one called "InsertStatus2" and used this one in the BPM.

Then the old interface remains the same and can be called by the old version of the BPM.

But it was again a pain in the...

0 View this answer in context
Not what you were looking for? View more on this topic or Ask a question