ibmi-brunch-learn

Announcement

Collapse
No announcement yet.

Help needed: File created from RTVDDSSRC source has different File Level Identifier

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

  • Help needed: File created from RTVDDSSRC source has different File Level Identifier

    I downloaded RTVDDSSRC. I tweaked it to work with 7.3. It runs and creates the DDS, and the record length is the same, but the file level identifier is different, and therefore I would expect that I would get a level check if I try to use it.

    Ok, why am I doing this? Because we have an older program that archives versions of files (ie all the records) each time into a date/time member so that if we need to recover from a problem, its pretty easy to see what was being processed. But SQL created files are limited to 1 member, therefore my idea was to RTVDDSSRC to create DDS and then compile a *NOMAX members file to create the members and copy the data into.

    Anyone else run across anything like this and have any ideas? The file involved wasn't anything tricky...

    TIA

  • #2
    Why not change the file to *NOMAX members using CHGPF? I don't believe that will impact its file level identifier.

    Cheers,

    Emmanuel

    Comment


    • #3
      The newer tables are being created with SQL, so you aren't allowed to make them multi-member, and if you copy that table, the copy can't be made multi-member, either.

      CPD3213 Maximum-member value not valid for file XXXXX
      File XXXXX in library LLLLLLL is either a Structured Query Language (SQL) table, view, or index, or a non-SQL file that is a SQL materialized query table or is in SQL data base LLLLLL.

      Comment


      • #4
        Are you talking about the file level identifier or the record format level identifier? The record format level identifier has to be the same to avoid a level check, the file level identifiers can be different.

        Comment


        • #5
          Thanks, and yes, you were correct I was looking at the File Level Identifiers. Unfortunately the Format Level Identifiers are also different. I did a DSPFFD to an outfile ofeach file and am looking at them (dumped to .CSV and compared) and see some differences, and will need to investigate the ones that might be culprits, I guess.

          That means that RTVDDSSRC doesn't actually create a matching format at this point. I suppose it's likely that because it's old, there have been enhancements that would affect to fields and format or the file created.

          Does anyone know of a newer version that would create a matching file on today's 7.3 based systems?

          Comment


          • #6
            bobc wrote: "The newer tables are being created with SQL, so you aren't allowed to make them multi-member..."

            Right you are - sorry about that.

            What about simply changing the DDS-created file to LVLCHK(*NO) via the CHGPF command?

            Cheers,

            Emmanuel

            Comment


            • #7
              Level check *NO probably isn't a good option as it might cause other surprises.

              I dug deeper and found 2 one byte fields different in the DSPFFD outfile. SQL file type was one, and the other the WHRCDE (Sum of Ref) field which has 128 in it for all the fields in the SQL created file.

              At first I thought it was the data type, but changing them from A to blank on Alpha fields had no effect.

              BTW, if I use Query, and query the SQL file, all the fields, and output it to a database file, the resulting file has the right record format level identifier.

              Any ideas left?

              The only idea I have left is a macro to run the Query, which is pretty kludgy...
              Last edited by bobc_00001; November 14, 2018, 10:11 PM.

              Comment

              Working...
              X