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.