Skip to Content
avatar image
Former Member

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.

Add comment
10|10000 characters needed characters exceeded

  • Get RSS Feed

2 Answers

  • Best Answer
    avatar image
    Former Member
    Oct 20, 2015 at 02:18 PM

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

    Add comment
    10|10000 characters needed characters exceeded

  • Oct 19, 2015 at 05:24 PM

    revert your change, is the only way, I think

    Add comment
    10|10000 characters needed characters exceeded