A new line is observed in 2E version 8.7.4 when using function type DSPFIL (HLL=RP4) in subroutine BBLDSF (Load subfile page)
When running this subroutine in CA 2E 8.7.4, the output displays a new line stating:
C SETOFF 84 No SFLNXTCH
No such line is seen in 8.7 environments.
2E 8.7.4
Bug related to SFLNXTCHG indicator
SFLNXTCHG is turned on when there is validation error in one of subfile records.
If we press the REFRESH key (F5), then this SFLNXTCHG is on for all the other subfile records.
Amend the respective generators to set off the SFLNXTCH indicator when the REFRESH key is pushed.
Example Scenario:
1) Take one DSPFIL and add one input function field.
2) For that field, make the "Allow Blank" field in the screen design blank. That means we should not allow a blank value at run time for that field.
3) Add some dummy logic or one comment in the "USER: Process subfile record (Pre-confirm)" user point of the action diagram. This creates the DCPRSR sub routine and "Value Required" (Y2U0001 messages) logic will be created to validate the subfile fields.
4) Generate and run the function.
5) Since this is a new function field, by default all the records are loaded with a blank value.
6) Try to edit the one subfile record and deliberately make the value blank again for the function field.
7) "Value Required" error is generated.
8) Refresh of the screen by pressing F5.
9) All items are freshly loaded.
10) Now hit ENTER; all the function fields become errors with "Value Required" logic.
This happens because SFLNXTCHG is on for the first time in the seventh step.
When we refresh these items, the subfile will be loaded again with all as SFLNXTCHG indicator ON.
Because of this, when we press ENTER a second time, the subfile processing happens.
Also SFLNXTCHG indicator was turned off for the EDTFIL function types in earlier releases.
To make DSPFIL sync with the EDTFIL functionality, we performed the above generator change.
It is a rare scenario, but these steps are a safe solution will not harm code generation.
Simply initializing the SFLNXTCHG to be turned off in the initial loading of the subfile.
In fact, this will improve the performance at generation time without turning on the SFLNXTCHG for all the subfile records after pressing F5.