Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Bugfix/LS25000142/Fix concurrence between DS and File #696

Merged

Conversation

davidepalladino-apuliasoft
Copy link
Collaborator

@davidepalladino-apuliasoft davidepalladino-apuliasoft commented Jan 22, 2025

Description

This work solves the fields concurrence between a File, imported with F specification, and a DS which uses EXTNAME to the same file. By considering this little snippet:

     FMULANGTL  IF   E           K DISK
     D ML            E DS                  EXTNAME(MULANGTL) INZ
     D DS0002          S                   LIKE(ML) INZ('IBMI')
      *
     C                   EVAL      ML=DS0002
     C     MLSYST        DSPLY

every evaluation of a File field is for DS field too.

Technical notes

On Jariko File and DS fields declared as that snippet are separated. So, we have decided to remove from root of Data Definitions, then for Global Symbol Table, those File Definitions if are already defined on a DS which uses EXTNAME for same file. Thanks to #694, the DS declared with that keyword are not QUALIFIED; so, is possible to access to a field without dot notation.

Also, in this work there is an improvement for test by adding the capability to populate DB table with some value. This is useful for MUDRNRAPU00189 test.

Finally, this work introduces a new test suite dedicated for Symbol Table.

Related to #LS25000142

Checklist:

  • If this feature involves RPGLE fixes or improvements, they are well-described in the summary.
  • There are tests for this feature.
  • RPGLE code used for tests is easily understandable and includes comments that clarify the purpose of this feature.
  • The code follows Kotlin conventions (run ./gradlew ktlintCheck).
  • The code passes all tests (run ./gradlew check).
  • Relevant documentation is included in the docs directory.

@davidepalladino-apuliasoft
Copy link
Collaborator Author

In draft for a wrong behavior discovered by @dom-apuliasoft

@davidepalladino-apuliasoft davidepalladino-apuliasoft marked this pull request as draft January 23, 2025 10:11
@davidepalladino-apuliasoft davidepalladino-apuliasoft marked this pull request as ready for review January 23, 2025 11:30
@lanarimarco
Copy link
Collaborator

lanarimarco commented Jan 24, 2025 via email

@lanarimarco lanarimarco merged commit d3b267c into develop Jan 27, 2025
1 check passed
@lanarimarco lanarimarco deleted the bugfix/LS25000142/fix-concurrence-between-ds-and-file branch January 27, 2025 15:42
@lanarimarco
Copy link
Collaborator

This pr has been reverted caused regressions

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

2 participants