ibmi-brunch-learn

Announcement

Collapse
No announcement yet.

Where is RDI getting this record format name? Library list issue?

Collapse
X
 
  • Filter
  • Time
  • Show
Clear All
new posts

  • Where is RDI getting this record format name? Library list issue?

    I have several files with the same or similar layout and record format name.

    I am trying to read one to update another. When I define the file, RDI gives me error saying record format already defined. but I can't tell where it is getting that record format from.

    according to rdi outline, I have redefined one record format name by adding B to the name , which makes the other format name unique.


    I think the problem has to do with library lists. I have a flat file with the same name LIBCSD in library QS36F (don't ask why I still have flat files). It's record format name is LIBCSD. So it seem RDI is not paying attention to the fact I removed QS36f from the library list, refreshed at the library list, the source file level and the source member level. Outline is pointing the the correct file DALELIB/LIBCSD but when I compile, it's not following the library list in RDI.




    e. Click image for larger version

Name:	record format error.jpg
Views:	152
Size:	464.0 KB
ID:	155692Click image for larger version

Name:	record format error.jpg
Views:	290
Size:	464.0 KB
ID:	155693







  • #2
    Those appear to be compiler errors, not something from RDi. My guess is that the record name for that table matches the table name, which the compiler dislikes. Try a 5250 DSPFD command against the table. If the record name matches the table name, you can use the RENAME() keyword on your File declaration.

    Comment


    • #3
      this is definitely a library list error in RDI. You are correct that the flat file record format name matches the file name. But I can' t seem to get the library that contains that file out of the rdi library list.
      I can set the library list on a green screen acs session and compile the program. So RDI has some library list issues.

      Comment


      • #4
        In the RDi Remote Systems view, expand your system and right-click on Objects => Properties. There's an Initial Library List there where you can set the library list and current library. I use the "Initial command" to run a CL to set my *LIBL.

        Comment


        • #5
          I was not aware of those options, they will come in handy.
          But I am usually ok with my job library list. It's only on occasion that I want to add or drop a library from the list. RDI does not seem to accept it when I remove a library, even though I refresh.

          Comment


          • #6
            I've found that I need to completely close RDI and restart after changing the library list. For some reason refreshing never works for me.

            Comment


            • #7
              Originally posted by DaleJanus View Post
              I was not aware of those options, they will come in handy.
              But I am usually ok with my job library list. It's only on occasion that I want to add or drop a library from the list. RDI does not seem to accept it when I remove a library, even though I refresh.
              If you compile in batch, the RDi *LIBL may not be honored. You might try unchecking the compile in batch options (I think it's somewhere in the settings I referenced earlier).

              Comment


              • #8
                that makes sense. I think I still am compiling in batch. There are lots of settings in RDI. Thanks for all the suggestions.

                Comment


                • #9
                  Instead of completely closing RDi, try just disconnecting the session and then reconnecting. (Right click on the Connection)

                  Comment


                  • #10
                    Heh, thanks Barbara Morris - not sure why I didn't think to try that sooner.

                    Comment


                    • #11
                      Originally posted by jtaylor___ View Post
                      ... I use the "Initial command" to run a CL to set my *LIBL.
                      I used to do that, but 3 years ago it stopped working - investigating it seems that the handler job on the IBMi for the RDi connection that is started on connection, ends as soon as my libl command completes. Then the first time I do something that requires IBMi interaction a new job starts, without the benefit of that initial command, so no libl. I could never work out why, it's most frustrating.

                      Comment

                      Working...
                      X