Skip to main content

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
------------------------------

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
------------------------------

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
------------------------------

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
------------------------------

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
------------------------------

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
------------------------------

Andrew,

Are you looking to do this in UniData or UniVerse ?

Thanks,
Jonathan




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

Andrew,

Are you looking to do this in UniData or UniVerse ?

Thanks,
Jonathan




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

Hi Jonathan,

this is on Universe  11.2.5

thanks



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

Hi Jonathan,

this is on Universe  11.2.5

thanks



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

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
------------------------------


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
------------------------------

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
------------------------------

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
------------------------------

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
------------------------------

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
------------------------------

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
------------------------------

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
------------------------------
*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.

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
------------------------------

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
------------------------------