In addition to COBOL and C, does "High Performance View Passing" (HPVP) also apply to Java and .NET (C#) generated code.

Document ID : KB000014363
Last Modified Date : 14/02/2018
Show Technical Document Details
Introduction:

From the Gen 8.5/8.6 documentation section Properties for Action Diagram/Operation:

High Performance View Passing

This option makes it possible to efficiently pass data between action blocks. The High Performance View Passing feature is available for process action diagrams and action blocks. The feature is not available for derived algorithm action blocks and procedure action diagrams.

...

Question:

In addition to COBOL and C, does "High Performance View Passing" (HPVP) also apply to Java and .NET (C#) generated code?

Environment:
CA Gen 6.x 7.x, 8.x
Answer:

HPVP is only applicable for COBOL and C code generation per the following explanation:

When HPVP is disabled: 

  • Copies are made of the Used Action Block views. 
  • Prior to calling the Used Action Block, the Using Action Block's views are moved to those copies. The copies are then passed on the actual call statement. 
  • After returning from the Used Action Block, the copies are moved back to the Using Action Block's views. 

When HPVP is enabled (and the views match exactly): 

  • It is not necessary to make copies of the Used Action Block views because a reference can be passed to the Using Action Block views themselves.

HPVP works for COBOL and C because both Action Block views can be represented by the same view structure. However Gen Java and C# generated applications are designed such that each Action Block has its own separate view classes, so the same view cannot be shared between two different Action Blocks. Therefore even if two Action Block views match exactly, they are actually different view objects and cannot be shared