Skip to Content
0

Why block corrections?

Mar 14, 2017 at 03:05 PM

127

avatar image

Hi,

This is more of a discussion than a question.

I was working on an old workflow and I did some cutting and pasting and then when I activated it, I got the message 'The node violates the block structure required'.

From experience I know that in that case I have to go to extras-->special functions-->Block Correction.

However I have no idea why and how this is caused. It smells a lot like a cop out by SAP, instead of fixing a seemingly random problem they used a work-around.

I would love to hear from some of the other dinosaurs if they know how this came about and why it was never fixed.

Kind regards, Rob Dielemans

10 |10000 characters needed characters left characters exceeded
* Please Login or Register to Answer, Follow or Comment.

1 Answer

Best Answer
Mike Pokraka May 27, 2017 at 09:23 AM
0

Hi Rob,

Interesting question. The processing model is based around blocks, which are something akin to hidden task containers (I know you probably know half of this, but writing a bit more detail for the benefit of other potential readers). I suspect this has something to do with WF originally based on EPC. Blocks are the Web Dynpro equivalent of Transparent Containers. You can switch their visibility on somewhere in the menu.

This is why e.g. every WF split must have a join, because it creates an implicit block. In the past the workflow builder used to have a multitude of bugs, often corrupting workflow. This was particularly bad when they introduced today's graphical builder (any one else used the old EPC views?).

Hidden inconsistencies could often occur that would remain perfectly functional. I've discovered corruptions that went back 5-10 versions. Simple made-up example:

Node1 --> Block1 --> Condition Node2 --> Nodes 3/4 (outcome actions) --> Join (end block1) --> Node5

Now if a corruption caused Node1 to point directly to Node2 as it's successor, it will still function perfectly at runtime. But paste something before the condition, and SAP tries to add it before the Block1 node, but the block has no predecessor. Boom!

So block corrections would check everything and make sure all sequences link up nicely. Have a look at the alpha view to get an idea of the hidden plethora of workflow nodes.

Incidentally: Workflow's block structure is a fundamental incompatibility with BPMN, and one of the biggest reasons why NetWeaver BPM was developed as a completely separate application.

Cheers,
Mike

Share
10 |10000 characters needed characters left characters exceeded