What’s the difference between the address of the first field of a group and the address of the beginning of the group? None.
What I wanted to express was the fact, that for a CALL statement not the addresses of the elements of a group are passed but only one address (beginning of the group = first element). The group structure in the caller and in the called program must not necessarily be the same.
The opposite is with CALLNAT: if you pass a group, the adresses of the elements of the group are passed, not the beginning of the group. That’s the reason why you can also pass individual elements where the PDA is defined as a group.That’s also the reason for the following compiler error:
000010 DEFINE DATA
000020 PARAMETER
000030 1 GROUP
000040 2 ELEM1 (A1)
000050 2 ELEM2 (A1)
000060 1 REDEFINE GROUP
==err> 0060 207 REDEFINE group not allowed in DEFINE DATA PARAMETER.
000070 2 ELEM1-2 (A2)
000080 END-DEFINE
000090 END
The area you want to redefine must not necessarily be subsequent.