Sorry, you do not have permission to ask a question, You must login to ask a question.

Sorry, you do not have permission to ask a question.

brainchime.com

brainchime.com

brainchime.com Navigation

  • Home
  • About Us
  • Contact Us

Mobile menu

Close
  • Home
  • Categories
  • Questions
    • New Questions
    • Trending Questions
    • Must read Questions
    • Hot Questions
  • Polls
  • Tags

brainchime.com Latest Questions

Admin
Admin
Asked: October 6, 20242024-10-06T19:18:25+05:30 2024-10-06T19:18:25+05:30In: IBM i

Can VARCHAR sub-fields be used with DS OVERLAY?

I have written this RPGLE code having a DS defined with overlay keyword and some of its subfields are varchar fields.

The source code is as follows:

     D ds1             DS                                             
     D  fld1                         10A   varying   //4+1+4 = 9                 
     D  fld2                          4A   varying overlay(fld1)      
     D  fld3                          1a   overlay(fld1:*next)        
     D  fld4                          4a   varying overlay(fld1:*next)
      /free                                                           
       fld1 = 'abcdefghij';                                           
       return;                                                        
      /end-free                    

Line 1: Declare a DS named DS1.
Line 2: Declare subfield named fld1 of 10 varchar.
Line 3: Declare subfield named fld2 of 4 varchar and overlays fld1 storage area.
Line 4: Declare subfield named fld3 of 1 character and overlays *next available storage area in fld1.
Line 5: Declare subfield named fld4 of 4 varchar and overlays *next available position of fld1.
Line 6: Start of /free block to write rpg-free code after this line.
Line 7: Evaluate fld1 = ‘abcdefghij’;
Line 8: Return from program.
Line 9: End of the free block by specifying /end-free block.

DS has 2 varchar fields and the declared size is 10, I get the following error during compile.
*RNF7303 30 1 Subfield defined with keyword OVERLAY is too big;
specification ignored.

then I realized that varchar had a variable part of 2 bytes which stores varchar variable actual length. So, I have 2 Varchar fields overlaid and each requires 2 bytes. So the total length would be = 4+2+1+4+2 = 13 bytes i.e. varchar(11) instead of varchar(10). Since varchar(11) means (11+2 = 13).

Therefore, I declared the subfield fld1 as 11 varchars, and the program now compiles successfully.

D  fld1                         11A   varying  

Below is the output that I received:

EVAL ds1 
FLD1 OF DS1 = 'abcdefghij ' 
FLD2 OF DS1 = 'abcd' 
FLD3 OF DS1 = 'e' 
FLD4 OF DS1 = 'hij ' 

My expected output was:

EVAL ds1 
FLD1 OF DS1 = 'abcdefghij ' 
FLD2 OF DS1 = 'abcd' 
FLD3 OF DS1 = 'e' 
FLD4 OF DS1 = 'fghi' 

In the subfield FLD4 of DS1, it’s picking the wrong value and not handling it correctly. Please suggest if we can use VARCHAR subfields with DS OVERLAY.

as400rpg
  • 0
  • 0
  • 11
  • 9
  • Share
    • Share on Facebook
    • Share on Twitter
    • Share on LinkedIn
    • Share on WhatsApp

Related Questions

  • what is level check error and how to resolve level check error?
  • What are AS400 systems. Please provide a introduction of AS400 systems?
  • Is there any online server available for practicing on AS400 system?
  • What are the menus available in AS400?
  • What is subsystem in AS400?
  • How to copy a save file from IFS to a library?
  • How to transfer savf from as400 to pc?
  • How to copy ifs file to another directory?
  • How to copy savf from ifs to pc?
  • How to copy ifs file to physical file?
  • How to copy save file to ifs?
  • How to copy spool file to ifs?
  • How to copy physical file to ifs?
  • How to copy file from pc to IFS?
  • How to download spool file from AS400?
  • How do I delete a library in AS400?
  • How do I copy data from AS400 to excel?
  • What is library in AS400?
  • How to find all the source physical file available in AS400?
  • How to find all libraries in AS400?
  • How to change the library list in AS400?
  • What is access path in AS400?
  • What is the difference between source physical file and physical file in as400?
  • how to find the source file of an object in as400?
  • how to change record length of source physical file in as400?
  • What is cpf4174 error in as400?
  • What is the use of varying keyword in rpgle?
  • What is DDS in AS400?
  • What is the difference between PF and LF in as400?
  • Why do we use CHGPF command in AS400?
  • how to create physical file in as400?
  • What are the data types supported by physical files in AS400?
  • how to add data in physical file in as400?
  • how to view journal entries in as400?
  • what is the use of ovrdbf in as400?
  • What is an array in AS400?
  • what is a data queue in as400 and why do we use data queue?
  • How to run stored procedure in AS400?
  • How to resolve session and device error in AS400?
  • how to check as400 system values?
  • How to check triggers on a file in as400?
  • How to find damaged objects in AS400?
  • what is module in as400?
  • How to create binding directory in as400?
  • how to create ifs folder in as400?
  • What is ASP in AS400?
  • What is JOBQ and how to create a JOBQ in AS400?
  • What is PSDS in AS400?
  • What is SEU in AS400 and why do we use it?
  • What is the multi-format logical file in AS400?
Leave an answer

Leave an answer
Cancel reply

Browse
Browse

Choose from here the video type.

Put Video ID here: https://www.youtube.com/watch?v=sdUUx5FdySs Ex: "sdUUx5FdySs".

1 Answer

  • Voted
  • Oldest
  • Recent
  • Random
  1. Admin
    Admin
    2024-10-06T19:18:52+05:30Added an answer on October 6, 2024 at 7:18 pm

    We should avoid overlay varchar subfields over other varchar subfields.

      • 0
    • Reply
    • Share
      Share
      • Share on Facebook
      • Share on Twitter
      • Share on LinkedIn
      • Share on WhatsApp

Sidebar

Statistics

  • Questions 143
  • Answers 177
  • Comments 0
  • Popular
  • Answers
  • Admin

    Why do we use OVERLAY keyword in data structure subfields ...

    • 12 Answers
  • Admin

    How to call sql stored procedure with output parameter from ...

    • 6 Answers
  • Admin

    How to use declare global temporary table statement in RPGLE?

    • 5 Answers
  • Admin
    Admin added an answer CPF4131 is a record format level check error. This indicates… October 18, 2024 at 1:58 am
  • Admin
    Admin added an answer To open the command prompt with administrator rights you can… October 17, 2024 at 12:27 am
  • Admin
    Admin added an answer In AS400, "AS" stands for Application system. This article discusses… October 13, 2024 at 12:49 pm

Related Questions

  • Admin

    what is level check error and how to resolve level ...

    • 1 Answer
  • Admin

    What are AS400 systems. Please provide a introduction of AS400 ...

    • 1 Answer
  • Admin

    Is there any online server available for practicing on AS400 ...

    • 1 Answer
  • Admin

    What are the menus available in AS400?

    • 1 Answer
  • Admin

    What is subsystem in AS400?

    • 1 Answer

Trending Tags

.htaccess (1) as400 (123) bing-webmaster (2) control-language (12) db2 (33) ftp (8) google-adsense (1) google-search-console (3) https-redirect (1) iasp (4) ifs (22) jar (4) operations (3) php-my-admin (1) qshell (3) robots.txt (4) rpg (26) stored-procedure (3) stroed procedure (1) triggers (1) yoast (4)

Explore

  • Home
  • Categories
  • Questions
    • New Questions
    • Trending Questions
    • Must read Questions
    • Hot Questions
  • Polls
  • Tags

Footer

BrainChime

BrainChime is a blog that posts question-and-answer-based format articles on diverse topics and engages in discussions by allowing people to provide answers/comments without the need to register and log in.

About Us

  • About Us
  • Contact Us

Legal Stuff

  • Terms of Use
  • Privacy Policy
  • Cookie Policy

Help

  • FAQs
  • Categories
  • Tags

© 2024 BrainChime. All Rights Reserved
by BrainChime.

Insert/edit link

Enter the destination URL

Or link to existing content

    No search term specified. Showing recent items. Search or use up and down arrow keys to select an item.