Null parameter change in 2E
search cancel

Null parameter change in 2E

book

Article ID: 402309

calendar_today

Updated On:

Products

CA 2E

Issue/Introduction

This document describes a procedure to detect the number of programs that are impacted by the changes made to the NULL/NLL parameter.

Additionally, when the display file allows blanks, it is different after the upgrade, how can we check how many programs have/will be impacted?

Environment

Release:  8.7.4

Resolution

a) Set the library list for the model.

b) From the command line, type STRSQL and press ENTER.

c) Run the below query to list out the details of the functions which are using NLL (null) context parameters within, while calling other functions.

SELECT OBJOWN, OBJNME, OBJTYP, OBJATR, FUNTYP, IMPNME
FROM YMDLOBJRFP WHERE @@OBJ in
(SELECT DISTINCT @@MSG FROM YMSGACTRFP
  WHERE ELMATR = 'NLL')

d) Coming to the "Allow Blanks" related aspect, when we run the below SQL statement a list of impacted functions are displayed. 

SELECT OBJOWN, OBJNME, OBJTYP, OBJATR, FUNTYP, IMPNME 
FROM   YMDLOBJRFP WHERE @@OBJ in
(SELECT DISTINCT @@MSG FROM YSCRENTRFP WHERE @@MSG in
 (SELECT @@MSG FROM YMSGDTARFP
  WHERE @@MSG_P in (9001400, 9000500)) AND
        ALWBLK <>  'Y')

The Allow Blanks related changes impact only the DSPFIL and SELRCD type functions post r8.7 upgrade onwards. However, the changes are visible only if we have compiled the functions after r8.7 upgrade. If they are not yet compiled, they will continue to show the older behavior (additional validation logic will not be generated for input user fields of DSPFIL and SELRCD functions, when Allow Blanks or Zeros is set to "" or "N"). If the functions need to be compiled at r8.7.4, due to any business logic changes, we would recommend to set the YVALRQD model value in the model to *OLD and compile.

The documentation that is available for the YVALRQD model value (introduced in r8.7.4) is as follows:

YVALRQD (Gen of "Value Required" for DSPFIL/SELRCD)

It has two possible values - *OLD and *NEW. The default value is *NEW to ensure continuity from r8.7.3.

This model value controls whether or not the "Value Required" logic should be generated for input user fields of DSPFIL and SELRCD functions, when Allow Blank or Zero is set to "" or "N".

If the value is set to *OLD, then the "Value Required" logic will not be generated for input user fields of DSPFIL and SELRCD functions, when Allow Blanks or Zeros is set to "" or "N". This behavior is similar to r8.5.

If the value is set to *NEW, then the "Value Required" logic is generated for input user fields of DSPFIL and SELRCD functions, when Allow Blanks/Zeros is set to "" or "N".

This model value is created by YAPYPTF processing, in user model, with default value - *NEW.