Rocket U2 | UniVerse & UniData

 View Only
Expand all | Collapse all

SETPTR 32767 PAGE ROW LIMIT

  • 1.  SETPTR 32767 PAGE ROW LIMIT

    Posted 05-16-2023 13:45

    Hi Guys,

    I needed to dump the contents of a transaction file for our Auditors today and a simple retrieve report should have been the simple solution, as it only need sorting by date with no calcs, and all the dictionary's already setup, and probably not needed again.....

    However, because of the 32,767 (ROW) page length limit the .CSV hold file with 680,000 rows of data, had many extra "page breaks" to dispense with.

    I was reluctant to write a one off program, so sorted it in the VOC paragraph, that produced the report, so the Auditors are happy, but  it took me longer than in really should have because of the 32,767 SETPTR limit.

    So does anyone know why we have such an arbitrary number as the limit for SETPTR and does anyone know of a simple override aside writing a one off program  to poke it directly into &HOLD& rather than using a retrieve report??

    Also another thought, the SETPTR command displays your current output settings so these values must be stored for your current session, does  anyone know where these are stored, DMSESURITY maybe ?? as i was wondering if these could be tweaked and overridden with the editor as the 32,767 is effectively a counter ???

    Thanks as always for your advice and help

    Andy



    ------------------------------
    Andrew Milne
    Business Systems Manager
    Potter and Moore Innovations
    Peterborough, Cambs GB
    ------------------------------


  • 2.  RE: SETPTR 32767 PAGE ROW LIMIT

    Posted 05-16-2023 15:31

    Andrew, 
      See if the "NFMT" option of  the SETPTR statement fixes this for you.  That should tell the system that YOU are controlling page breaks.

     NFMT            Specifies that the application controls  
                     pagination and formatting instead of the
                     spooler.



    ------------------------------
    Ryan Ladd
    ------------------------------



  • 3.  RE: SETPTR 32767 PAGE ROW LIMIT

    Posted 05-17-2023 04:38

    Thanks Ryan,

    I've already gone though all the standard SETPTR parameters,

    Unfortunately NFMT on Universe, seems to have no effect for me,

    SETPTR ,,,,,3,NFMT,NODEFAULT,NOFORMFEED,BRIEF,BANNER ANDY.TXT

    This leaves my page length at the current 132 wide 60 Long to a Holdfile ANDY.TXT

    So unless i enter new Page Width and Length the default of 132 and 60 remains active

    SETPTR ,10000,32767,,,3,BANNER ANDY.TXT,BRIEF,NFMT,NOFORMFEED

    this gives me the Max Page size i can get, which as i described above with  680,000 rows still leaves me with many unwanted page breaks, in fact 6 unwanted rows, at each page break,

    I made the paragraph for the report locate the  first heading line in the Holdfile then deleted the 6 unwanted rows, rinse and repeat, a PITA to setup but it got the job done.

    BTW. Our Auditor insisted the detail had to come directly from the system without going via Excel. as they wanted to see the Transaction Data dump Run, they use this to randomly pick transactions they want to see the full transaction trail on......

    As we will have the same Auditors next year i will do it in a program, but was pushed for time yesterday, and i believe as all the Data Dictionary's were already setup this should have been achievable in Retrieve 

    So if anyone has any other useful ideas, to create holdfile output without page breaks, and without resorting to writing a program let our community know please,

    Many Thanks

    Andy



    ------------------------------
    Andrew Milne
    Business Systems Manager
    Potter and Moore Innovations
    Peterborough, Cambs GB
    ------------------------------



  • 4.  RE: SETPTR 32767 PAGE ROW LIMIT

    Posted 05-18-2023 07:40

    Hi Andrew.

    I think this project from Cedarville University could help you

    unidata-utilities/download at master · cedarville-university/unidata-utilities

    GitHub remove preview
    unidata-utilities/download at master · cedarville-university/unidata-utilities
    Cedarville DOWNLOAD is a program which lets you create merge files, HTML files, XML files, dbf files, and ASCII files using LIST-style syntax. Options include adding control breaks, heading and footing records, secondary file access without the use of I-descriptors or virtual fields. A reference manual is included.
    View this on GitHub >


    Best regards
    Osvaldo



    ------------------------------
    Osvaldo Djivelekian
    Senior Developer
    Seguros Sura Chile
    Santiago CL
    ------------------------------



  • 5.  RE: SETPTR 32767 PAGE ROW LIMIT

    Posted 05-18-2023 08:28

    Andy,
    It's always fun dealing with auditors. lol  "trust and verify"..    

    Here is what I would do to satisfy their "verify" .  Write a program to not print but write to a sequential file on your O/S Windows or Unix then create a VOC pointing in Universe to that sequential file.  You can tell them that you are still within the environment of Universe and that might be ok with then.   You can tell them that Universe can handle both MVfiles and SEQfiles which technically is correct.  If they want to see or print the sequential file then they can open it in notepad or any other text software. 




    ------------------------------
    Peter Gonzalez
    St. Louis, MO US
    ------------------------------



  • 6.  RE: SETPTR 32767 PAGE ROW LIMIT

    Posted 05-18-2023 09:01
    *tongue-in-cheek*, but also semi-serious…

    “Dumping” the data, but leaving it in the database environment makes no sense to me – and shouldn’t to an auditor either. They would have to audit your ‘dump’ program to make sure you didn’t modify the data anyway, so what does it matter where you write it afterwards? 😉

    If they’re insistent upon seeing the data in within the environment, then let them do it themselves. Teach them the basics of Retrieve, allow them read-only access, and let them list the data themselves. Or, in a similar fashion, set up ODBC and let them run their own SQL commands against the database. And don’t forget to put a small doc together for future changes in audit teams.

    OR, even better, write a program that selects a set of transactions based on criteria they enter (and they’d have to audit the program, obviously). There’s no way they’re manually reading through almost 700K lines of data to make their selections, so they’re obviously looking for specific criteria in their selection of the transactions they wish to dig deeper into.




  • 7.  RE: SETPTR 32767 PAGE ROW LIMIT

    Posted 05-18-2023 15:13

    Have you tried using the TOXML keyword and producing a document from the XML?



    ------------------------------
    Mark A Baldridge
    Principal Consultant
    Thought Mirror
    Nacogdoches, Texas United States
    ------------------------------



  • 8.  RE: SETPTR 32767 PAGE ROW LIMIT

    ROCKETEER
    Posted 05-17-2023 04:39

    Andrew,

    Are you looking to do this in UniData or UniVerse ?

    Thanks,
    Jonathan




    ------------------------------
    Jonathan Smith
    UniData ATS
    Rocket Support
    ------------------------------



  • 9.  RE: SETPTR 32767 PAGE ROW LIMIT

    Posted 05-17-2023 04:46

    Hi Jonathan,

    this is on Universe  11.2.5

    thanks



    ------------------------------
    Andrew Milne
    Business Systems Manager
    Potter and Moore Innovations
    Peterborough, Cambs GB
    ------------------------------



  • 10.  RE: SETPTR 32767 PAGE ROW LIMIT

    ROCKETEER
    Posted 05-17-2023 05:40
    Edited by Jonathan Smith 05-17-2023 05:40

    Andrew,

    As this is just a dump for the auditors an alternative approach would be to use the XML capabilites with the query language.

    For example 

    :LIST CUSTOMER.F NAME ADDRESS CITY STATE ZIP PHONE TAPE_INFO TOXML ELEMENTS TO CUSTOMER

    This will produce a xml file in the directory &XML& called CUSTOMER.xml

    This file can then be read in by many standard tools such as Excel.

    Regards,



    ------------------------------
    Jonathan Smith
    UniData ATS
    Rocket Support
    ------------------------------



  • 11.  RE: SETPTR 32767 PAGE ROW LIMIT

    PARTNER
    Posted 05-17-2023 17:48

    Morning Andy,

    A simple way would be to use the COL.HDR.SUPP keyword with the LIST or SORT statement.
    SORT FileName <SortCriteria> <OutputCriteria> COL.HDR.SUPP NOPAGE
    This will generate a listing with no page breaks, and no headings.
    Capture the output and then manually add the headings in.

    Not a perfect solution, but easy to do.



    ------------------------------
    Bruce Philp
    Senior Services Consultant
    Meier Business Systems PTY LTD
    Carnegie VIC AU
    ------------------------------