I created an assembler routine (GETDSN) to determine the dataset name by using the macro RDJFCB. The routine is linked in MODE AMODE(24),RMODE(24)
This routine is called by a Natural program, for example
CALL ‘GETDSN’ 'ddname ’ RDJFCB-AREA /* A176
This is working under NAT3.
Now, I tried this with NAT4 and it failed
CEE3191E An attempt was made to initialize an AMODE24 application without using the ALL31(OFF) and STACK(,BELOW) run-time options.
From compile unit NATMVS at entry point NATMVS at compile unit offset entry point NATMVS at compile unit offset -274652A6 at entry offset -274652A6 at address 0979B79A.
<> LEAID ENTERED (LEVEL 10/15/2007 AT 09.21)
<> LEAID PROCESSING COMPLETE. RC=0
ServLine24 document id 545986 points out:
"Natural Version 4.2 introduced a new option in member NATOS: LE370=AMODE24
This generates the necessary CEE runtime option:
After re-assembly of NATOS and re-link of the batch natural nucleus the problem will be resolved."
Does anyone ran into the same problem and has experience with this new option?
Does it mean that all subprograms will run in AMODE24?
I tried to link the assembler routine in 31-bit mode but received an S0C4.