We completed the following fixes, corrections, or updates for CA 2E:
Consider a scenario where two files with only a key field are created. An RTVOBJ fun is built over PHY ACP of the first file with no parameters. In the RTVOBJ's USER: Process Data record, call an RTVOBJ built over the RTV access path of second file with no parameters And a DLTOBJ built over the PHY access path of first file.
Call the RTVOBJ from an EXCEXTFUN generated in RPG IV. The program fails to compile with QRG4005 and QRG5132 errors.
When you select F17=Services option in a large model from the Edit Action Diagram screen on a function, the Action Diagram Services screen displays.
If you enter '?' on the find function name field and press enter key on this screen; it results in a model crash with the run unit error in YMSGACTF1I.
If user source code contains I Specifications, then RPGIV generated functions result in an RNF0257 compilation error.
When the EXIT FUNCTION DEFINITION panel was displayed for an EXCUSRPGM function and the "Submit generation" option on it, was set to "Y", the entry for the EXCUSRPGM was not added to the user joblist.
Sometimes, the Action Diagram load fails and then the model crashes when you attempt to zoom into the Action Diagram of a large/complex PRTFIL function by using the 'F' option. The following error messages display:
In addition, at times, the generation of the function might also fail.
When using CA 2E Triggers implemented using *DTAQ, the following error can occur:
CPF950A Storage limit exceeded for data queue YTRIGGERQ in *LIBL.
Consider a CA 2E model, which is integrated with Implementer, such that there is an integrity error for the model, involving Model Message Action File (YMSGACTRFP) and Model Message File (YMSGDTARFP). Within this model, if a function, having multiple versions (a production version which is "current", in addition to one or more development versions) and referencing the invalid records causing the integrity problems, is picked and a development version is selected for the processing, the resulting model object redirection, and the subsequent function checkout, fails.
YCPYMDLOBJ fails with the error "Run unit ended at 1905 in YPARDTAR1I" when copying message parameters objects from one model to another.
When an RTVOBJ function--
The parameter fields lose their values for "Usage" and 'Role". This bug is a result of the YC22E386 fix.
Upon redirection of a module, the References of a service program do not reflect this latest current version of the module. In addition, the usage of the current module does not display the service program.
A model crashed with a run-unit error when the following actions were performed:
An attempt to zoom into the parameter details of the file in the same array caused the model to crash with the same run-unit error.
When a function with object type MOD, was called conditionally from another function, the CALLB statement for this call, was generated before the corresponding stored conditions, leading to a "RNF5121" error during compilation.
ENTER processing for DSPFIL, EDTFIL, SELRCD function types.
When the user does not make any changes, the Process Subfile Record processing is performed for every subfile record (including DB updates in an EDTFIL).
When upgrading a user model from an earlier version to the latest r8.6, the data area, YPRDRDRRFA is added to the model (as part of the model upgrade processing). However, the default value of the new data area in user model shows as *NO, whereas, it is *YES in the r8.6 null model. If the user model is running under CM, this default value of *NO does not allow the PRD versions of objects to be redirected when the YRDRMDLOBJ command is executed.
CA 2E generator program could generate a maximum of only 260 subroutines in RP4 programs. The maximum now is 360 subroutines.
Execution of YEXCMDLLST, using a user option, did not complete successfully.
YCRTWS did not handle the IBM limitation of maximum 7 parameters per procedure in an ILE service program (*SRVPGM) that was to be externalized as a Web Service.
The allowed values and help text for a few reason codes were not updated in the model usage or reference functionality.
After you created an EDTFIL/EDTRCD/EDTTRN function and changed the function option Create Record to "N". When you modify the action diagram of the Edit function to replace the default call to CHGOBJ DBF with CRTOBJ DBF, the following was the result:
Note: For more information about these changes, see the Command Reference Guide.
When an EXCUSRSRC function having one or more parameters is invoked from another function and the calling function is generated, the condition values are not substituted correctly leading to compilation errors such as RNF0267, RNF0312 and RNF0530. These errors occur under the following conditions:
Consider a scenario where we have a *TEMPLATE function, such that it is not built over any access path, but, it in turn calls other *TEMPLATE functions, at least one of which is built over a valid *TEMPLATE access path.
When it is attempted to create a function over a normal file by copying the top level *TEMPLATE function, the copy ends with a "MCH3601" error that is encountered by the YDUPREFR1I program.
The display model usages command did not recognize the action diagram usages of DRV function field when it was used in an Action Diagram.
When generating SQL access paths containing SELECT/OMIT criteria, using codepage 273 (Germany)/codepage 1141 (Germany Euro), the NOT symbol, '
' (SM660000, Hex-'5F', in code page 37) is generated erroneously as the Circumflex symbol, '
'(SD150000, Hex-'5F', in code page 273/1141), leading to a compilation failure, with compile error SQL0104.
The allowed values and help text for a few reason codes were not updated in the model usage or reference functionality.
In a Japanese environment, some screens do not display text on certain screens in Japanese, but displays the upper-case English text.
Consider the scenario wherein
When it is attempted to compile the generated source of the invoking function, the compilation fails with an LBL1429 error (when generation language is CBL) or LNC1429 error (when generation language is CBI). This problem also occurs in the specific case of internal function being EXCUSRSRC and generation language RP4. In this case, the compilation fails with an RNF7421 error.
When a user displays Model usages (YDSPMDLUSG) for a Field; enters *EXTFUN for the Scope and Filter parameters; the processing becomes slow when executed on large Models.
When the source member name of a DDS access path is changed, a record is written to the model file YACPAUXRFP.
If the access path was promoted using CM, the auxiliary from YACPAUXRFP was also added to the model list and this caused problems in the promotion because the access path was not SQL.
When you copy messages from a source model to a target model using the YCPYMDLOBJ command, for messages which do not have a second-level text, only the model message definitions are copied to the target model. However, the corresponding message id's are not copied to the default message file of the target model.
When the figurative constant *ZERO is used as a "parameter" to a function or built-in-function, upon subsequent generation, the generated code for *ZERO varies, depending on the release and generation language.
Note: When *ZERO is used in a "comparison" statement within a function, upon subsequent generation, the code is generated correctly.
When code is copied from one User Point to another, within the Action Diagram of a function, using the "Notepad Insert", "Copy" or "Move" operations, context errors might be introduced, based on available contexts in the target User Point. When you attempt to generate and compile such a function, the generation and compilation go through successfully, in spite of the context errors.
Consider a scenario, where you have a *TEMPLATE function, which is not built over any access path; but has at least one parameter that is based on any access path over the *TEMPLATE file. When you attempt to create a function over a user file by copying this *TEMPLATE function, the copy ends with a "MCH3601" error that is encountered by the YDUPREFR1I program.
Binding procedures from an EXCUSRPGM module that contains multiple exported procedures into a service program fails to bind more than one procedure.
Consider a scenario wherein you work with a synchronized model and a new relation is added to a user file.
Without resynchronizing the model, when you attempt to create a new function on this user file by copying a *TEMPLATE function having "*Template key defn" and/or "*Template record defn" as parameters, irrespective of the access path on which this *TEMPLATE function is built, the copy ends with a "YYY0101" error.
When you execute the YRTVMDLOBJ command for an object that has all the date fields populated with the value 0 or blank, the object returns junk characters for the date fields.
Sometimes, the F7=Find feature for names (like function file name, function name, field name) within the Action Diagram Services panel incorrectly encounters an error when a valid name is entered.
Example:
Find field name - 'No field of specified name exists' (Y2V0363).
These errors occur for certain characters within certain non-English code pages. This problem was originally reported for the Katakana character 0xAD within the code page 290.
Consider a scenario where a File Level Customization is applied to a function through the EDIT FUNCTION DEVICES screen and the function is saved on exit. Upon reentry into the function device design, the previously saved File Level Customization is lost.
Incorrect code is generated for COBOL SQL CHGOBJ functions when specifying the Null Update Suppression feature.
The following two messages appear unnecessarily in the job log:
Sometimes, the following generation error message occurs unnecessarily when interactively generating a function ('G' from the EDIT FUNCTIONS panel), and the subfile select field is being highlighted.
Function did not generate successfully. Y2V0183 Sev 30
This generation error message also occurs unnecessarily when you enter 'J' to submit generation to batch. The generation status results as *ERROR within the SUBMIT GENERATIONS & CREATES panel. Subsequently, when you enter 'C' to request CRT, the generated function is created successfully.
Sometimes, during interactive generation ('G') of a function, user is kicked out of the Model due to a Decimal Data Error (MCH1202).
SQL Indexes are being created without a description.
Sometimes, the Action Diagram editor for the *MOVE ARRAY built-in function incorrectly issues an error, when a valid field name is entered using the correct case.
Example:
'Z_HLER' type FLD not found.' (Y2V0101).
These errors occur for certain characters within certain non-English code pages. For example, this problem was originally reported for the German characters 0x6A, 0xC0 and 0xD0 within the code page 273.
The YGENSRC job fails with a CPF5027 error due to a record lock within the YMSGDTA00L file (format @MSGSEC).
The RPG/RP4 compile failures occur when:
Consider a scenario where an EXCUSRSRC function having one or more parameters is invoked from another function, under the following conditions:
Upon generation of the calling function, these CONstant values are not substituted correctly, leading to compilation errors such as RNF0289, RNF5157 on a subsequent compilation.
Consider a scenario where you have an RP4 EXCUSRSRC function containing fixed-format statements along with comments starting from position 81.
When the fields in the EXCUSRSRC are substituted during generation, the comments are not placed correctly. When you compile the function that invokes the EXCUSRSRC, the compilation fails with the RNF5377 errors.
When utilizing the Wrappering feature for an extremely large User Point, the 16-MB memory limitation is being exceeded, thus, encountering the MCH2804 error ("Tried to go larger than storage limit for object &1.").
Modifications are made to reduce the memory allocation. However, it is still possible for an even larger User Point to encounter the MCH2804 error.
Note: We recommend that the user exits the Model after wrapping a large User Point so that the excessive memory allocation is properly freed.
Defining Element Customization for a Constant on a screen design is not possible. On a CONstant field, when you attempt to add element customization, the following error displays preventing you from adding customizations:
Y2I1039 - "Element 'CON' not currently on screen"
Though element customization is for the Web Option, the programs that require modification are in 2E. Therefore, a C22E problem is created.
Sometimes, the SQL CHGOBJ Functions incorrectly report an error when specifying the Null Update Suppression feature.
Such incorrect reporting of an error occurs when an SQL CHGOBJ function includes a CHGOBJ/CRTOBJ/DLTOBJ that was being called within the 'USER: Processing before Data update' user point and the database operation fails (which causes Indicator 91 to be set-on).
The SQL Table Generator truncates 'LABEL ON' field description to 20 characters.
When a field is required (Allow blank = ' ' or Allow zero = ' ') and a 'controlling condition' had been specified within the EDIT SCREEN FIELD ATTRIBUTES panel to convert an Input field to Output (or non-display), a "Value required" message is sent even though the Output (or non-display) field is conditioned not to allow any input.
The following COBOL generation errors occur at statement 996 within YCBLCSRK1I.
MCH1210 ('Receiver value too small to hold result.')
These errors occur when using Test Cursor logic.
Example:
.-CASE
-PGM.*Cursor field <IS> DTL.C001
'-ENDCASE
Context.Field . . . : PGM *Cursor field
Condition . . . . . :
OR
Comparison. . . . . : IS
Context.Field . . . : DTL C001
When generating a Function that includes Device User Source (DUS), the DDS Generator incorrectly issues the following offset error:
"E* Y2V0709 - Offset error occurs for updating string.".
This DDS Generation error occurs when the DUS specifies an UPDATE merger command with the COLUMN parameter along with a lengthy BY parameter 'updating text' value.
Example:
) FIND TEXT=TEXT
) UPDATE S='TEXT' C=45 BY='TEXT(''1234567890123456789012345678'')'
Note: Within the DUS, short parameter names are allowed.
Example:
SUBSTRING or S
COLUMN or C
When a function with Device User Source (DUS), attached at the screen-/report-level or format-level is copied to a different file, the copied function is created with the DUS incorrectly attached at the device-level.
Copying Functions That Contain Attached Device User Source - Device-level device user source is always copied. When a different file has been specified, only the device-level device user source is copied.
Screen, report, and format level device user source is copied unless the corresponding entity in the target function is excluded due to a change of function type or due to a change of file. Entry-level device user source is copied unless the corresponding entry in the target function is excluded due to an access path change or a file change.
The RPG/RP4 functions that include the *RTVFLDINF (Retrieve Field Information) built-in function, has the corresponding @CN compile-time array entry generated with a four-digit index.
This generation is inconsistent with other built-in functions.
Example:
The RPG/RP4 functions that include the *MOVE built-in function, have the corresponding @CN compile-time array entry generated with a five-digit index.
In addition, at times, a @CN entry generated for the *RTVFLDINF built-in function can have a spurious character following the four-digit index.
Modifications have been made to generate a five-digit index for the *RTVFLDINF built-in function's corresponding @CN entry.
Before After Generator Generator Modifications Modifications ------------------- ------------------- ** @CN ** @CN 00001 ABCDEFGHIJ <--- *MOVE ----> 00001 ABCDEFGHIJ 0002& Customer-Name <- *RTVFLDINF -> 00002 Customer-Name 00003 1234567890 <--- *MOVE ----> 00003 1234567890 0004 STS Long Text <- *RTVFLDINF -> 00004 STS Long Text
Within a 2E Model, surrogate values are allocated from records within the YLSTSGTNXP file:
The end-users using legacy Models with hundreds of concurrent users (*DSNR/*PGMR/*USER) are allocating thousands of high orders surrogates every day, causing them to approach the maximum value allowed prematurely.
Modifications are made to do Session surrogate allocation utilizing the third record within the YLSTSGTNXP file.
At times, when executing the YCHKMDL command with ACTION(*UPDATE), a decimal data error (MCH1202) occurs at statement 438 within the YCHKMDLL1I program.
The generation of RPG Functions with a parameter 'Passed' as RCD/KEY that exceeds 9999 characters in length, encounters "FIXEDOVERFLOW at statement nnnn in YDCLPARG1I. ONCODE 310." (PLI0600) errors.
Interactive ('G') generations cause the users to log off the Model when encounters this error.
The YCHKMDL (Check Model) command provides for the ACTION parameter to be *ANALYZE, *PREPASS, or *UPDATE.
Object Table User Spaces (*USRSPC) were incorrectly being deleted when *PREPASS mode had been specified. Modifications have been made to only delete the Model's *USRSPC(s) when *UPDATE mode has been specified.
Moreover, when a Model contained multiple Object Table User Spaces (*USRSPC), only up to two of the *USRSPCs were being deleted. Modifications have been made within the YCHKMDL command to execute the YDLTOBJTBL (Delete Object Table User Space) command so that any/all of the Model's *USRSPC(s) are deleted when *UPDATE mode has been specified.
The default tab sequencing moves from left-to-right then top-to-bottom. Within CA 2E, you can choose to override the tab sequencing movement to be more of a top-down design by specifying 'Tab seq' numbers within the device design.
Tab sequencing (Cursor Progression) is implemented within the generated DDS through the FLDCSRPRG keyword for non-subfile fields; while the SFLCSRPRG keyword is generated for subfile fields.
Modifications are made to the DDS Generators for the FLDCSRPRG Keyword. In some cases, adjustment to 'Tab seq' number(s) are required to maintain previously generated results.
We recommend you to specify two (or more) 'Tab Seq' numbers. Each 'Tab seq' number pair acts as a link -> (forward tab) and <- (backward tab).
Certain source members were generated incorrectly by not including the CA 2E release number within the header section of the source.
Modifications are made so that all types of source members are now being generated to include the CA 2E release number within their corresponding header.
Example:
Before -> H* Generated by CA 2E release 2E (1547)
After -> H* Generated by CA 2E release 8.6 (1547)
|
Copyright © 2014 CA.
All rights reserved.
|
|