Re: [U2] Exporting to File regularly
Hi David, Depending on your file type and underlying OS you could 1) If the file type is not a type 1 or type 19 then write a uniVerse subroutine as a SQL trigger. See chapter 5 of the SQL reference guide, on how to do this. 2) If the file type is a type 1 or a type 19 then if your underlying OS is Unix try find File -mtime -1 to get only those records (files) that have been modified today. From the tone of your posting it sounds as if you are comfortable with scripts anyway. Creating and using uniVerse triggers can be pretty daunting, even for experienced uniVerse users. I would try to see if you could get some support from your uniVerse VAR on this. It will probably cost - but rest assured it is do-able. HTH Adrian Sent from my iPad On 11 Dec 2013, at 4:38 pm, David Campbell davidcampb...@themutual.com.au wrote: Hi Everyone, I'm new to universe (a complete noob) and I couldn't quite find what I was looking for on google and I've been smashing my face against this for a while until I stumbled upon this mailing list so I was wondering if anyone could help me out here. I'm writing a script that will hopefully alert me via email whenever a new record is added to a particular universe file, if there is a better way to do this I would be all ears. I'm working around another proprietary system which operates on universe and I dont know enough about universe to really say for sure what is proprietary and what is universe standard code and the proprietary stuff is covered in NDA's and no touchy hand slappy orders so I cannot really modify the way it works, I just need to know when a new entry appears, preferably via an smtp email. My Current plan works like this I'm looking to regularly (every 5 minutes) output data into a text or csv file, doesn't matter really, so long as it is not full of characters that batch scripts hate and it can happen in an automated fashion. The closest thing I can get to what I want right now is SP.ASSIGN HS LIST FILE.NAME LPTR this lists all the records and dumps them in a spool file under /var/spool/uv/ and then a script I have written in the past retrieves that spool file for me, I have trained that spool file to look for specific markers in the first line of the file and apply a particular script to it This spooled print job gives me a list of the records that I can then sort numerically, pick the highest number, check that number against what the number was last time and alert me via email if its different. Ultimately I would love for a regularly running script to just output the highest record (maybe sort numerically and give me the highest number and dump just that number into a file on the unix box for me to retrieve and the work with. Any help would be greatly appreciated! -- View this message in context: http://u2-universe-unidata.1073795.n5.nabble.com/Exporting-to-File-regularly-tp42264.html Sent from the U2 - Users mailing list archive at Nabble.com. ___ U2-Users mailing list U2-Users@listserver.u2ug.org http://listserver.u2ug.org/mailman/listinfo/u2-users ___ U2-Users mailing list U2-Users@listserver.u2ug.org http://listserver.u2ug.org/mailman/listinfo/u2-users
Re: [U2] Exporting to File regularly
Good morning David. While the answers you've gotten regarding triggers are valid, they're perhaps an overly complicated solution to your problem. Your statement that LIST FILE.NAME LPTR gives you the info you need seems to imply to me that the record key is numeric and generated sequentially. If so, then there's a control record in the existing system that you should be able to retrieve. And it may be as simple as finding the NEXT.AVAILABLE record in the dictionary of the file that you're looking at. If not, it's going to be stored in a parameter file somewhere. Unfortunately that somewhere is a nasty word given that you are new to universe... -Original Message- From: u2-users-boun...@listserver.u2ug.org [mailto:u2-users-boun...@listserver.u2ug.org] On Behalf Of David Campbell Sent: Wednesday, December 11, 2013 12:39 AM To: u2-users@listserver.u2ug.org Subject: [U2] Exporting to File regularly Hi Everyone, I'm new to universe (a complete noob) and I couldn't quite find what I was looking for on google and I've been smashing my face against this for a while until I stumbled upon this mailing list so I was wondering if anyone could help me out here. I'm writing a script that will hopefully alert me via email whenever a new record is added to a particular universe file, if there is a better way to do this I would be all ears. I'm working around another proprietary system which operates on universe and I dont know enough about universe to really say for sure what is proprietary and what is universe standard code and the proprietary stuff is covered in NDA's and no touchy hand slappy orders so I cannot really modify the way it works, I just need to know when a new entry appears, preferably via an smtp email. My Current plan works like this I'm looking to regularly (every 5 minutes) output data into a text or csv file, doesn't matter really, so long as it is not full of characters that batch scripts hate and it can happen in an automated fashion. The closest thing I can get to what I want right now is SP.ASSIGN HS LIST FILE.NAME LPTR this lists all the records and dumps them in a spool file under /var/spool/uv/ and then a script I have written in the past retrieves that spool file for me, I have trained that spool file to look for specific markers in the first line of the file and apply a particular script to it This spooled print job gives me a list of the records that I can then sort numerically, pick the highest number, check that number against what the number was last time and alert me via email if its different. Ultimately I would love for a regularly running script to just output the highest record (maybe sort numerically and give me the highest number and dump just that number into a file on the unix box for me to retrieve and the work with. Any help would be greatly appreciated! -- View this message in context: http://u2-universe-unidata.1073795.n5.nabble.com/Exporting-to-File-regularly -tp42264.html Sent from the U2 - Users mailing list archive at Nabble.com. ___ U2-Users mailing list U2-Users@listserver.u2ug.org http://listserver.u2ug.org/mailman/listinfo/u2-users ___ U2-Users mailing list U2-Users@listserver.u2ug.org http://listserver.u2ug.org/mailman/listinfo/u2-users
Re: [U2] Exporting to File regularly
Going along this train of thought. What if you setup a new printer and make the Device's filename to be a script filename. Then when you setup the SP.ASSIGN and Then do your LIST ... it will send the output directly to your script. Granted, you will need to setup a new printer device on the UV system account But that shouldn't be too difficult. But - Personally, I'd opt for Trigger method and have the subroutine also track Deletes and Changes as well as Adds. However the Trigger method has filename naming constraints As well as permissions issues to allow the setting of the Trigger, however, a search Of this list will yield some trigger setup tips from about 6 months ago I believe. George -Original Message- From: u2-users-boun...@listserver.u2ug.org [mailto:u2-users-boun...@listserver.u2ug.org] On Behalf Of Allen Egerton Sent: Wednesday, December 11, 2013 6:33 AM To: 'U2 Users List' Subject: Re: [U2] Exporting to File regularly Good morning David. While the answers you've gotten regarding triggers are valid, they're perhaps an overly complicated solution to your problem. Your statement that LIST FILE.NAME LPTR gives you the info you need seems to imply to me that the record key is numeric and generated sequentially. If so, then there's a control record in the existing system that you should be able to retrieve. And it may be as simple as finding the NEXT.AVAILABLE record in the dictionary of the file that you're looking at. If not, it's going to be stored in a parameter file somewhere. Unfortunately that somewhere is a nasty word given that you are new to universe... -Original Message- From: u2-users-boun...@listserver.u2ug.org [mailto:u2-users-boun...@listserver.u2ug.org] On Behalf Of David Campbell Sent: Wednesday, December 11, 2013 12:39 AM To: u2-users@listserver.u2ug.org Subject: [U2] Exporting to File regularly Hi Everyone, I'm new to universe (a complete noob) and I couldn't quite find what I was looking for on google and I've been smashing my face against this for a while until I stumbled upon this mailing list so I was wondering if anyone could help me out here. I'm writing a script that will hopefully alert me via email whenever a new record is added to a particular universe file, if there is a better way to do this I would be all ears. I'm working around another proprietary system which operates on universe and I dont know enough about universe to really say for sure what is proprietary and what is universe standard code and the proprietary stuff is covered in NDA's and no touchy hand slappy orders so I cannot really modify the way it works, I just need to know when a new entry appears, preferably via an smtp email. My Current plan works like this I'm looking to regularly (every 5 minutes) output data into a text or csv file, doesn't matter really, so long as it is not full of characters that batch scripts hate and it can happen in an automated fashion. The closest thing I can get to what I want right now is SP.ASSIGN HS LIST FILE.NAME LPTR this lists all the records and dumps them in a spool file under /var/spool/uv/ and then a script I have written in the past retrieves that spool file for me, I have trained that spool file to look for specific markers in the first line of the file and apply a particular script to it This spooled print job gives me a list of the records that I can then sort numerically, pick the highest number, check that number against what the number was last time and alert me via email if its different. Ultimately I would love for a regularly running script to just output the highest record (maybe sort numerically and give me the highest number and dump just that number into a file on the unix box for me to retrieve and the work with. Any help would be greatly appreciated! -- View this message in context: http://u2-universe-unidata.1073795.n5.nabble.com/Exporting-to-File-regularly -tp42264.html Sent from the U2 - Users mailing list archive at Nabble.com. ___ U2-Users mailing list U2-Users@listserver.u2ug.org http://listserver.u2ug.org/mailman/listinfo/u2-users ___ U2-Users mailing list U2-Users@listserver.u2ug.org http://listserver.u2ug.org/mailman/listinfo/u2-users ___ U2-Users mailing list U2-Users@listserver.u2ug.org http://listserver.u2ug.org/mailman/listinfo/u2-users
Re: [U2] Exporting to File regularly
Triggers are probably the way, but if you have a touchy vendor, they might not appreciate your trigger as much as you do. If triggers aren't an option, maybe this could work (at least on a smallerish file): *Assume the filename is FOO and the id is @ID* *At ECL/TCL:* SSELECT FOO BY-DSND @ID SELECT FOO SAMPLE 1 SAVE-LIST HIGHEST_NUMBER *In a PROC* PQ HSSELECT FOO BY-DSND @ID STON HSELECT FOO SAMPLE 1 HSAVE-LIST HIGHEST_NUMBER P *In BASIC* EXECUTE \SSELECT FOO BY-DSND @ID\ RTNLIST foolist EXECUTE \SELECT FOO SAMPLE 1\ PASSLIST foolist RTNLIST foolist EXECUTE \SAVE-LIST HIGHEST_NUMBER\ PASSLIST foolist Now, the highest ID in the file is contained in the directory SAVEDLISTS in the file/item HIGHEST_NUMBER. Depending on the type of data in @ID (e.g., numeric or alpha ) you may need to create a special @ID that is right justified to achieve the desired sort order. Bruce Decker Blue Prairie, Inc. www.bluepinc.com http://bluepinc.com 720.733.0459 -- View this message in context: http://u2-universe-unidata.1073795.n5.nabble.com/Exporting-to-File-regularly-tp42264p42270.html Sent from the U2 - Users mailing list archive at Nabble.com. ___ U2-Users mailing list U2-Users@listserver.u2ug.org http://listserver.u2ug.org/mailman/listinfo/u2-users
Re: [U2] Exporting to File regularly
David Assuming records are not deleted the count function can give the number of records COUNT FILE 32000 records counted. On Allen's suggestion our system uses *NEW.NUMBER in the Dictionary file. You can see all items by LIST DICT FILE Jon Card VP Special Projects Combined Transport, Inc. 541-618-6565 Fax 541-826-9787 www.combinedtransport.com Division of Combined Transport Logistics Group, Inc -Original Message- From: u2-users-boun...@listserver.u2ug.org [mailto:u2-users-boun...@listserver.u2ug.org] On Behalf Of George Gallen Sent: Wednesday, December 11, 2013 6:46 AM To: aeger...@pobox.com; U2 Users List Subject: Re: [U2] Exporting to File regularly Going along this train of thought. What if you setup a new printer and make the Device's filename to be a script filename. Then when you setup the SP.ASSIGN and Then do your LIST ... it will send the output directly to your script. Granted, you will need to setup a new printer device on the UV system account But that shouldn't be too difficult. But - Personally, I'd opt for Trigger method and have the subroutine also track Deletes and Changes as well as Adds. However the Trigger method has filename naming constraints As well as permissions issues to allow the setting of the Trigger, however, a search Of this list will yield some trigger setup tips from about 6 months ago I believe. George -Original Message- From: u2-users-boun...@listserver.u2ug.org [mailto:u2-users-boun...@listserver.u2ug.org] On Behalf Of Allen Egerton Sent: Wednesday, December 11, 2013 6:33 AM To: 'U2 Users List' Subject: Re: [U2] Exporting to File regularly Good morning David. While the answers you've gotten regarding triggers are valid, they're perhaps an overly complicated solution to your problem. Your statement that LIST FILE.NAME LPTR gives you the info you need seems to imply to me that the record key is numeric and generated sequentially. If so, then there's a control record in the existing system that you should be able to retrieve. And it may be as simple as finding the NEXT.AVAILABLE record in the dictionary of the file that you're looking at. If not, it's going to be stored in a parameter file somewhere. Unfortunately that somewhere is a nasty word given that you are new to universe... -Original Message- From: u2-users-boun...@listserver.u2ug.org [mailto:u2-users-boun...@listserver.u2ug.org] On Behalf Of David Campbell Sent: Wednesday, December 11, 2013 12:39 AM To: u2-users@listserver.u2ug.org Subject: [U2] Exporting to File regularly Hi Everyone, I'm new to universe (a complete noob) and I couldn't quite find what I was looking for on google and I've been smashing my face against this for a while until I stumbled upon this mailing list so I was wondering if anyone could help me out here. I'm writing a script that will hopefully alert me via email whenever a new record is added to a particular universe file, if there is a better way to do this I would be all ears. I'm working around another proprietary system which operates on universe and I dont know enough about universe to really say for sure what is proprietary and what is universe standard code and the proprietary stuff is covered in NDA's and no touchy hand slappy orders so I cannot really modify the way it works, I just need to know when a new entry appears, preferably via an smtp email. My Current plan works like this I'm looking to regularly (every 5 minutes) output data into a text or csv file, doesn't matter really, so long as it is not full of characters that batch scripts hate and it can happen in an automated fashion. The closest thing I can get to what I want right now is SP.ASSIGN HS LIST FILE.NAME LPTR this lists all the records and dumps them in a spool file under /var/spool/uv/ and then a script I have written in the past retrieves that spool file for me, I have trained that spool file to look for specific markers in the first line of the file and apply a particular script to it This spooled print job gives me a list of the records that I can then sort numerically, pick the highest number, check that number against what the number was last time and alert me via email if its different. Ultimately I would love for a regularly running script to just output the highest record (maybe sort numerically and give me the highest number and dump just that number into a file on the unix box for me to retrieve and the work with. Any help would be greatly appreciated! -- View this message in context: http://u2-universe-unidata.1073795.n5.nabble.com/Exporting-to-File-regularly -tp42264.html Sent from the U2 - Users mailing list archive at Nabble.com. ___ U2-Users mailing list U2-Users@listserver.u2ug.org http://listserver.u2ug.org/mailman/listinfo/u2-users ___ U2-Users mailing list U2-Users@listserver.u2ug.org
Re: [U2] Exporting to File regularly
Can I modify this suggestion to say that it *stores* each write, and only emails you once a day :) Put that snake back in the box!!! -Original Message- From: doug d...@chancofamily.com To: U2 Users List u2-users@listserver.u2ug.org Sent: Tue, Dec 10, 2013 11:38 pm Subject: Re: [U2] Exporting to File regularly I suggest that you put a write trigger on the file that would call a universe program that emails you everytime the file is written to. You would need to write the program the trigger calls to send tbe email but if you can send emails from the os then you can also send emails from universe but it may require a little work. Email me off list if you need some help and I'll be happy to help. dougc Sent from Samsung tablet Original message From: David Campbell davidcampb...@themutual.com.au Date: 12/11/2013 00:38 (GMT-05:00) To: u2-users@listserver.u2ug.org Subject: [U2] Exporting to File regularly Hi Everyone, I'm new to universe (a complete noob) and I couldn't quite find what I was looking for on google and I've been smashing my face against this for a while until I stumbled upon this mailing list so I was wondering if anyone could help me out here. I'm writing a script that will hopefully alert me via email whenever a new record is added to a particular universe file, if there is a better way to do this I would be all ears. I'm working around another proprietary system which operates on universe and I dont know enough about universe to really say for sure what is proprietary and what is universe standard code and the proprietary stuff is covered in NDA's and no touchy hand slappy orders so I cannot really modify the way it works, I just need to know when a new entry appears, preferably via an smtp email. My Current plan works like this I'm looking to regularly (every 5 minutes) output data into a text or csv file, doesn't matter really, so long as it is not full of characters that batch scripts hate and it can happen in an automated fashion. The closest thing I can get to what I want right now is SP.ASSIGN HS LIST FILE.NAME LPTR this lists all the records and dumps them in a spool file under /var/spool/uv/ and then a script I have written in the past retrieves that spool file for me, I have trained that spool file to look for specific markers in the first line of the file and apply a particular script to it This spooled print job gives me a list of the records that I can then sort numerically, pick the highest number, check that number against what the number was last time and alert me via email if its different. Ultimately I would love for a regularly running script to just output the highest record (maybe sort numerically and give me the highest number and dump just that number into a file on the unix box for me to retrieve and the work with. Any help would be greatly appreciated! -- View this message in context: http://u2-universe-unidata.1073795.n5.nabble.com/Exporting-to-File-regularly-tp42264.html Sent from the U2 - Users mailing list archive at Nabble.com. ___ U2-Users mailing list U2-Users@listserver.u2ug.org http://listserver.u2ug.org/mailman/listinfo/u2-users ___ U2-Users mailing list U2-Users@listserver.u2ug.org http://listserver.u2ug.org/mailman/listinfo/u2-users ___ U2-Users mailing list U2-Users@listserver.u2ug.org http://listserver.u2ug.org/mailman/listinfo/u2-users
Re: [U2] Exporting to File regularly
Depends on the timeframe needed for a response. If this were for some form of QA that if it were incorrect Needed to be addresses quickly, then the every 5 minutes would be needed (or maximum time frame). If it's just for history - then once a day would be fine. -Original Message- From: u2-users-boun...@listserver.u2ug.org [mailto:u2-users-boun...@listserver.u2ug.org] On Behalf Of Wjhonson Sent: Wednesday, December 11, 2013 12:09 PM To: d...@chancofamily.com; u2-users@listserver.u2ug.org Subject: Re: [U2] Exporting to File regularly Can I modify this suggestion to say that it *stores* each write, and only emails you once a day :) Put that snake back in the box!!! ___ U2-Users mailing list U2-Users@listserver.u2ug.org http://listserver.u2ug.org/mailman/listinfo/u2-users
Re: [U2] Exporting to File regularly
If you don't mind being notified of other data changes in addition to record additions, my preference would be to simply check the last modified time of the UV file at the OS level. I think this shell script would work: #!/bin/bash if [ ! -f /var/tmp/uv_timestamp ]; then touch /var/tmp/uv_timestamp elif [ -n `find /path/to/UV/file -newer /var/tmp/uv_timestamp` ]; then { echo Content of email echo notification } | mail -s UV file change u...@domain.com touch /var/tmp/uv_timestamp fi The script compares the last modified time of an empty file you create to the last modified time of the UV file. If the UV file is newer, you send an email and reset the modified time of your comparison file. You could have cron run it every 5 minutes. If you only care about record additions, though, you'll have to test from within the UV environment using one of the other suggestions. -John -Original Message- From: u2-users-boun...@listserver.u2ug.org [mailto:u2-users-boun...@listserver.u2ug.org] On Behalf Of David Campbell Sent: Tuesday, December 10, 2013 9:39 PM To: u2-users@listserver.u2ug.org Subject: [U2] Exporting to File regularly Hi Everyone, I'm new to universe (a complete noob) and I couldn't quite find what I was looking for on google and I've been smashing my face against this for a while until I stumbled upon this mailing list so I was wondering if anyone could help me out here. I'm writing a script that will hopefully alert me via email whenever a new record is added to a particular universe file, if there is a better way to do this I would be all ears. I'm working around another proprietary system which operates on universe and I dont know enough about universe to really say for sure what is proprietary and what is universe standard code and the proprietary stuff is covered in NDA's and no touchy hand slappy orders so I cannot really modify the way it works, I just need to know when a new entry appears, preferably via an smtp email. My Current plan works like this I'm looking to regularly (every 5 minutes) output data into a text or csv file, doesn't matter really, so long as it is not full of characters that batch scripts hate and it can happen in an automated fashion. The closest thing I can get to what I want right now is SP.ASSIGN HS LIST FILE.NAME LPTR this lists all the records and dumps them in a spool file under /var/spool/uv/ and then a script I have written in the past retrieves that spool file for me, I have trained that spool file to look for specific markers in the first line of the file and apply a particular script to it This spooled print job gives me a list of the records that I can then sort numerically, pick the highest number, check that number against what the number was last time and alert me via email if its different. Ultimately I would love for a regularly running script to just output the highest record (maybe sort numerically and give me the highest number and dump just that number into a file on the unix box for me to retrieve and the work with. Any help would be greatly appreciated! -- View this message in context: http://u2-universe-unidata.1073795.n5.nabble.com/Exporting-to-File-regul arly-tp42264.html Sent from the U2 - Users mailing list archive at Nabble.com. ___ U2-Users mailing list U2-Users@listserver.u2ug.org http://listserver.u2ug.org/mailman/listinfo/u2-users ___ U2-Users mailing list U2-Users@listserver.u2ug.org http://listserver.u2ug.org/mailman/listinfo/u2-users
Re: [U2] Exporting to File regularly
Hi David, Though this is not a great option, you could create a new file and either just copy the current contents of the file you want to watch into it or just a fingerprint record if all you need is a record exists type of monitoring. Then a simple SELECT of the first file followed by an NSELECT of the fingerprint file would give you a resulting active select list, if any, of the new records which you could use to update your fingerprint file. These would be done inside a new., small program that you could then send an email message from. Run it from the OS's task scheduler and it's fully automated. Like I said, this is probably NOT the best solution but it gives you another approach to consider, depending on your needs. It also is completely separate from the current system you have with no interference of the vendors application. I'd be happy to give you more specifics if you want to try this. BobW -Original Message- From: u2-users-boun...@listserver.u2ug.org [mailto:u2-users-boun...@listserver.u2ug.org] On Behalf Of David Campbell Sent: Tuesday, December 10, 2013 9:39 PM To: u2-users@listserver.u2ug.org Subject: [U2] Exporting to File regularly Hi Everyone, I'm new to universe (a complete noob) and I couldn't quite find what I was looking for on google and I've been smashing my face against this for a while until I stumbled upon this mailing list so I was wondering if anyone could help me out here. I'm writing a script that will hopefully alert me via email whenever a new record is added to a particular universe file, if there is a better way to do this I would be all ears. I'm working around another proprietary system which operates on universe and I dont know enough about universe to really say for sure what is proprietary and what is universe standard code and the proprietary stuff is covered in NDA's and no touchy hand slappy orders so I cannot really modify the way it works, I just need to know when a new entry appears, preferably via an smtp email. My Current plan works like this I'm looking to regularly (every 5 minutes) output data into a text or csv file, doesn't matter really, so long as it is not full of characters that batch scripts hate and it can happen in an automated fashion. The closest thing I can get to what I want right now is SP.ASSIGN HS LIST FILE.NAME LPTR this lists all the records and dumps them in a spool file under /var/spool/uv/ and then a script I have written in the past retrieves that spool file for me, I have trained that spool file to look for specific markers in the first line of the file and apply a particular script to it This spooled print job gives me a list of the records that I can then sort numerically, pick the highest number, check that number against what the number was last time and alert me via email if its different. Ultimately I would love for a regularly running script to just output the highest record (maybe sort numerically and give me the highest number and dump just that number into a file on the unix box for me to retrieve and the work with. Any help would be greatly appreciated! -- View this message in context: http://u2-universe-unidata.1073795.n5.nabble.com/Exporting-to-File-regul arly-tp42264.html Sent from the U2 - Users mailing list archive at Nabble.com. ___ U2-Users mailing list U2-Users@listserver.u2ug.org http://listserver.u2ug.org/mailman/listinfo/u2-users ___ U2-Users mailing list U2-Users@listserver.u2ug.org http://listserver.u2ug.org/mailman/listinfo/u2-users
Re: [U2] Exporting to File regularly
I actually think this is a really good solution and was my first thought. Assuming you are allowed to update the dictionary in the source file, you could add an ATB to do a TRANSLATE and make the select of those records that are in the source and not in the dest easier. Do what you need to do with that list. Then use SREFORMAT (does uv have that command?) to just copy the ID's of the list to the target to mark them done. HELP SREFORMAT is: Help Information For: UNIQUERY SREFORMAT Page: 1/3 SREFORMAT Syntax SREFORMAT filename attributes [selection_criteria] Description The UniQuery SREFORMAT command sorts specified records by their record IDs and copies the record attributes from one file to another file. SREFORMAT uses the first attribute named in the UniQuery statement as the record ID in the destination file. The remaining attributes in the UniQuery statement become record attributes in the destination file. UniQuery prompts for the name of the destination file after you enter the SREFORMAT command. -Original Message- From: u2-users-boun...@listserver.u2ug.org [mailto:u2-users-boun...@listserver.u2ug.org] On Behalf Of Woodward, Bob Sent: Wednesday, December 11, 2013 10:38 AM To: U2 Users List Subject: Re: [U2] Exporting to File regularly Hi David, Though this is not a great option, you could create a new file and either just copy the current contents of the file you want to watch into it or just a fingerprint record if all you need is a record exists type of monitoring. Then a simple SELECT of the first file followed by an NSELECT of the fingerprint file would give you a resulting active select list, if any, of the new records which you could use to update your fingerprint file. These would be done inside a new., small program that you could then send an email message from. Run it from the OS's task scheduler and it's fully automated. Like I said, this is probably NOT the best solution but it gives you another approach to consider, depending on your needs. It also is completely separate from the current system you have with no interference of the vendors application. I'd be happy to give you more specifics if you want to try this. BobW -Original Message- From: u2-users-boun...@listserver.u2ug.org [mailto:u2-users-boun...@listserver.u2ug.org] On Behalf Of David Campbell Sent: Tuesday, December 10, 2013 9:39 PM To: u2-users@listserver.u2ug.org Subject: [U2] Exporting to File regularly Hi Everyone, I'm new to universe (a complete noob) and I couldn't quite find what I was looking for on google and I've been smashing my face against this for a while until I stumbled upon this mailing list so I was wondering if anyone could help me out here. I'm writing a script that will hopefully alert me via email whenever a new record is added to a particular universe file, if there is a better way to do this I would be all ears. I'm working around another proprietary system which operates on universe and I dont know enough about universe to really say for sure what is proprietary and what is universe standard code and the proprietary stuff is covered in NDA's and no touchy hand slappy orders so I cannot really modify the way it works, I just need to know when a new entry appears, preferably via an smtp email. My Current plan works like this I'm looking to regularly (every 5 minutes) output data into a text or csv file, doesn't matter really, so long as it is not full of characters that batch scripts hate and it can happen in an automated fashion. The closest thing I can get to what I want right now is SP.ASSIGN HS LIST FILE.NAME LPTR this lists all the records and dumps them in a spool file under /var/spool/uv/ and then a script I have written in the past retrieves that spool file for me, I have trained that spool file to look for specific markers in the first line of the file and apply a particular script to it This spooled print job gives me a list of the records that I can then sort numerically, pick the highest number, check that number against what the number was last time and alert me via email if its different. Ultimately I would love for a regularly running script to just output the highest record (maybe sort numerically and give me the highest number and dump just that number into a file on the unix box for me to retrieve and the work with. Any help would be greatly appreciated! -- View this message in context: http://u2-universe-unidata.1073795.n5.nabble.com/Exporting-to-File-regul arly-tp42264.html Sent from the U2 - Users mailing list archive at Nabble.com. ___ U2-Users mailing list U2-Users@listserver.u2ug.org http://listserver.u2ug.org/mailman/listinfo/u2-users ___ U2-Users mailing list U2-Users@listserver.u2ug.org http://listserver.u2ug.org/mailman/listinfo/u2-users - IMPORTANT NOTICE:
Re: [U2] Exporting to File regularly
Wow, overwhelming response to this question, thank you VERY MUCH for all of your idea's, I have a lot to process and decide what I can achieve... as a bit of background that I probably should have included, I am running UniVerse 11.1.9 on an IBM AIX 7.1.1.15 box. So far Bruce Decker seems to have the most appealing option if I can get it going, I'm sure I be full of more questions than answers in a few days, I just hope making this script doesn't make me the go to guy at work when someone needs weird universe stuff done... *gulp* Oh and its a database that is populated by a contact form from a secure website which then alerts the old terminal sessions that this business used in the past, but since they switched to a web interface for the software and hardly anyone uses the terminal full time any more the items sit there sometimes for hours before a response, so yes I want to be spammed by this all day long, and once it works I can point that spam at a receptionist or two :) The problem with notifying just on changes, is the file changes every time an individual reads a record and marks a particular record as READ for that user by removing their name from the users who have not read this yet column, the file size never changes unless it needs to grow and when records are deleted it simply fills with junk, which I take it is a standard universe thing it does, at this point the numbers appear sequential but that is best guess sigh. The vendor is incredibly secretive, they wont tell me how it works and their NDA says I am not allowed to memorize how their interface works... WTF so YAY obscure software that we cant leave because we are backed into a corner! /end rant Anyway thanks for all the help guys, so glad I found this place! -- View this message in context: http://u2-universe-unidata.1073795.n5.nabble.com/Exporting-to-File-regularly-tp42264p42277.html Sent from the U2 - Users mailing list archive at Nabble.com. ___ U2-Users mailing list U2-Users@listserver.u2ug.org http://listserver.u2ug.org/mailman/listinfo/u2-users
Re: [U2] Exporting to File regularly
When you say fills with junk what you may be seeing is just that the end of the file is moving forward. So the rest of the file in your view, is really just stuff that's not garbage-cleaned because Universe knows where the true end really is, but Windows/Unix doesn't know. So it has no need to space fill or null fill the leftover ends of files or groups within files. The true end boundary is marked by a special character, or a pre-known length. -Original Message- From: David Campbell [via U2 (UniVerse UniData)] ml-node+s1073795n42277...@n5.nabble.com To: Will Johnson wjhon...@aol.com Sent: Wed, Dec 11, 2013 2:05 pm Subject: Re: Exporting to File regularly Wow, overwhelming response to this question, thank you VERY MUCH for all of your idea's, I have a lot to process and decide what I can achieve... as a bit of background that I probably should have included, I am running UniVerse 11.1.9 on an IBM AIX 7.1.1.15 box. So far Bruce Decker seems to have the most appealing option if I can get it going, I'm sure I be full of more questions than answers in a few days, I just hope making this script doesn't make me the go to guy at work when someone needs weird universe stuff done... *gulp* Oh and its a database that is populated by a contact form from a secure website which then alerts the old terminal sessions that this business used in the past, but since they switched to a web interface for the software and hardly anyone uses the terminal full time any more the items sit there sometimes for hours before a response, so yes I want to be spammed by this all day long, and once it works I can point that spam at a receptionist or two :) The problem with notifying just on changes, is the file changes every time an individual reads a record and marks a particular record as READ for that user by removing their name from the users who have not read this yet column, the file size never changes unless it needs to grow and when records are deleted it simply fills with junk, which I take it is a standard universe thing it does, at this point the numbers appear sequential but that is best guess sigh. The vendor is incredibly secretive, they wont tell me how it works and their NDA says I am not allowed to memorize how their interface works... WTF so YAY obscure software that we cant leave because we are backed into a corner! /end rant Anyway thanks for all the help guys, so glad I found this place! If you reply to this email, your message will be added to the discussion below: http://u2-universe-unidata.1073795.n5.nabble.com/Exporting-to-File-regularly-tp42264p42277.html To start a new topic under U2 - Users, email ml-node+s1073795n3...@n5.nabble.com To unsubscribe from U2 (UniVerse UniData), click here. NAML -- View this message in context: http://u2-universe-unidata.1073795.n5.nabble.com/Exporting-to-File-regularly-tp42264p42278.html Sent from the U2 - Users mailing list archive at Nabble.com. ___ U2-Users mailing list U2-Users@listserver.u2ug.org http://listserver.u2ug.org/mailman/listinfo/u2-users
Re: [U2] Exporting to File regularly
Hi David, If you can do some UV basic coding or have access to a resource who can then: Have a look at installing a file trigger on the file(s) you need to monitor. The sysdesc manual contains trigger information. The reason I suggest this is that the trigger will fire on your designated condition (INSERT/UPDATE etc) which in turn can cause other events so is more efficient than running a query on the file every n seconds/minutes. Alternatively, seeing as you're probably running on a unix host (/var was the giveaway) then a poor man's version of a trigger might entail a shell script that does an `ls -lt /path/FILE.NAME` and check the last mod time of the file. This would give you a fair idea as to when it was last modified and can then launch into UV for your csv creation routine..? If the UV FILE.NAME is a directory (which it may or may not be) then you could simply `ls -lrt | tail -1` periodically in a cron job to derive the last updated record. Regards, Peter Peter Cheney Ultracs Developer t 07 3017 8837 | f 07 3002 8400 e peter.che...@firstmac.com.au w firstmac.com.au -Original Message- From: u2-users-boun...@listserver.u2ug.org [mailto:u2-users-boun...@listserver.u2ug.org] On Behalf Of David Campbell Sent: Wednesday, 11 December 2013 15:39 To: u2-users@listserver.u2ug.org Subject: [U2] Exporting to File regularly Hi Everyone, I'm new to universe (a complete noob) and I couldn't quite find what I was looking for on google and I've been smashing my face against this for a while until I stumbled upon this mailing list so I was wondering if anyone could help me out here. I'm writing a script that will hopefully alert me via email whenever a new record is added to a particular universe file, if there is a better way to do this I would be all ears. I'm working around another proprietary system which operates on universe and I dont know enough about universe to really say for sure what is proprietary and what is universe standard code and the proprietary stuff is covered in NDA's and no touchy hand slappy orders so I cannot really modify the way it works, I just need to know when a new entry appears, preferably via an smtp email. My Current plan works like this I'm looking to regularly (every 5 minutes) output data into a text or csv file, doesn't matter really, so long as it is not full of characters that batch scripts hate and it can happen in an automated fashion. The closest thing I can get to what I want right now is SP.ASSIGN HS LIST FILE.NAME LPTR this lists all the records and dumps them in a spool file under /var/spool/uv/ and then a script I have written in the past retrieves that spool file for me, I have trained that spool file to look for specific markers in the first line of the file and apply a particular script to it This spooled print job gives me a list of the records that I can then sort numerically, pick the highest number, check that number against what the number was last time and alert me via email if its different. Ultimately I would love for a regularly running script to just output the highest record (maybe sort numerically and give me the highest number and dump just that number into a file on the unix box for me to retrieve and the work with. Any help would be greatly appreciated! -- View this message in context: http://u2-universe-unidata.1073795.n5.nabble.com/Exporting-to-File-regularly-tp42264.html Sent from the U2 - Users mailing list archive at Nabble.com. ___ U2-Users mailing list U2-Users@listserver.u2ug.org http://listserver.u2ug.org/mailman/listinfo/u2-users --- Note: This email (inc all attachments) is for the use of the intended recipient(s) only. Privileged or confidential information may be contained in this communication. If you have received this email in error, please notify the sender immediately and then delete all copies of this message from your computer network. If you are not the intended recipient, you must not keep, use, disclose, copy or distribute this email without the author's prior permission. If you are the intended recipient and you do not wish to receive similar electronic messages from us in future, then please respond to the sender to this effect. We have taken precautions to minimise the risk of transmitting software viruses, but advise you to carry out your own virus checks on this email and its attachments. We do not accept liability for any loss or damage caused by software viruses and do not represent that this transmission is free from viruses or other defects. Firstmac Limited (ABN 59 094 145 963) (AFSL 290600) --- ___ U2-Users mailing list U2-Users@listserver.u2ug.org http://listserver.u2ug.org/mailman/listinfo/u2-users
[U2] UV/Net usage and licensing
Hi Everyone, We’re looking at doing some remote file mangling and was wondering if there are any gotchas when using UV/Net to do this? In my scenario if I am on host A and want to read/write files on host B. Host B only needs to read/write files on host B but not on host A. Do I need UV/Net on host A as well as host B or just on host A? Host A is running UV 10.3.4 and host B is running UV 10.2.6. Local testing on host A to host A/DR shows record locking is working OK but if the remote file does not have read/write on ‘other’ (e.g. 660) then all writes fail regardless of how I spec the credentials via SET.REMOTE.ID. Setting the permissions to 666 is the only way I can get this to work even when using the same login and group membership at each end. Also does anyone know if firewall ports other than standard unirpc port 31438 need to be opened either end for bi-directional file access too please? Regards, Peter Peter Cheney Ultracs Developer t 07 3017 8837 | f 07 3002 8400 e peter.che...@firstmac.com.au w firstmac.com.au --- Note: This email (inc all attachments) is for the use of the intended recipient(s) only. Privileged or confidential information may be contained in this communication. If you have received this email in error, please notify the sender immediately and then delete all copies of this message from your computer network. If you are not the intended recipient, you must not keep, use, disclose, copy or distribute this email without the author's prior permission. If you are the intended recipient and you do not wish to receive similar electronic messages from us in future, then please respond to the sender to this effect. We have taken precautions to minimise the risk of transmitting software viruses, but advise you to carry out your own virus checks on this email and its attachments. We do not accept liability for any loss or damage caused by software viruses and do not represent that this transmission is free from viruses or other defects. Firstmac Limited (ABN 59 094 145 963) (AFSL 290600) --- ___ U2-Users mailing list U2-Users@listserver.u2ug.org http://listserver.u2ug.org/mailman/listinfo/u2-users
Re: [U2] UV/Net usage and licensing
Hi Peter, It's been a while since I've used/played around with UV/Net, but this may help... 1. Setup You only need a ensure UniRPC is active and you license for UV/Net on the server you wish to access. I don't recall you need to anything other than the UniRPC Daemon listening for requests and it will invoke uvnet for your client request. 2. Security I can't recall if you're using UNIX or not...(it is supposed to OS independent) Although, UV/Net is supposed to set the effective user (UID numer) and group (GID numer) for the remote users connecting to the remote UV server...if required. Plus if specified - as you're doing so. My experience with similar DB product tools is it is far better to have the UID and GIDs directly aligned. Specifically: make sure the UID and GID for the same named accounts are exactly the same on both servers. Or if you use SET.REMOTE.ID that the account locally has sufficient rights or in fact it exists. I have issues with the same accounts and groups on different users have different UIDs and GIDs on the different client and servers - causing grief/ havoc on similar products to UV/Net, etc. Also - check if you have UniVerse Dynamic Type30 files, that your UNIX file ownerships, group ownership and Other are set exactly the same. This includes the hidden file.Type30. Having different settings are recipe for lots of grief! Finally, be forewarned that allowing testers/developers access to your production server via UV/Net is an EXTREMELY bad idea! (Career terminating if things go pear shaped when they have write/delete rights!). It is far too easy for these types of users to be unaware their test account is in fact pointing to your production service and there access is write/delete. Did you try the UVNETRID environment variable in place of SET.REMOTE.ID? If you are still having issues, you may have to enabled UniRPC debugging which is very extensive and generate logs of data - but is useful for seeing exactly where things are going wrong. Cheers, David -Original Message- From: u2-users-boun...@listserver.u2ug.org [mailto:u2-users-boun...@listserver.u2ug.org] On Behalf Of Peter Cheney Sent: Thursday, 12 December 2013 2:23 PM To: U2 Users List (u2-users@listserver.u2ug.org) Subject: [U2] UV/Net usage and licensing Hi Everyone, We’re looking at doing some remote file mangling and was wondering if there are any gotchas when using UV/Net to do this? In my scenario if I am on host A and want to read/write files on host B. Host B only needs to read/write files on host B but not on host A. Do I need UV/Net on host A as well as host B or just on host A? Host A is running UV 10.3.4 and host B is running UV 10.2.6. Local testing on host A to host A/DR shows record locking is working OK but if the remote file does not have read/write on ‘other’ (e.g. 660) then all writes fail regardless of how I spec the credentials via SET.REMOTE.ID. Setting the permissions to 666 is the only way I can get this to work even when using the same login and group membership at each end. Also does anyone know if firewall ports other than standard unirpc port 31438 need to be opened either end for bi-directional file access too please? Regards, Peter Peter Cheney Ultracs Developer t 07 3017 8837 | f 07 3002 8400 e peter.che...@firstmac.com.au w firstmac.com.au ** IMPORTANT MESSAGE * This e-mail message is intended only for the addressee(s) and contains information which may be confidential. If you are not the intended recipient please advise the sender by return email, do not use or disclose the contents, and delete the message and any attachments from your system. Unless specifically indicated, this email does not constitute formal advice or commitment by the sender or the Commonwealth Bank of Australia (ABN 48 123 123 124) or its subsidiaries. We can be contacted through our web site: commbank.com.au. If you no longer wish to receive commercial electronic messages from us, please reply to this e-mail by typing Unsubscribe in the subject line. ** ___ U2-Users mailing list U2-Users@listserver.u2ug.org http://listserver.u2ug.org/mailman/listinfo/u2-users
Re: [U2] UV/Net usage and licensing
Thanks David, There was some confusion about if both hosts need the license and if only one then which? Based on what you've written re the setup below, and from what our VAR has advised I think the remote host will require a UVnet licence which it does not currently have. I am now going to re-check the alignment of the actual UID and GID's as you mentioned below and perhaps turn on logging too. Thanks again for the other tips. Most appreciated. Regards, Peter Peter Cheney Ultracs Developer t 07 3017 8837 | f 07 3002 8400 e peter.che...@firstmac.com.au w firstmac.com.au -Original Message- From: u2-users-boun...@listserver.u2ug.org [mailto:u2-users-boun...@listserver.u2ug.org] On Behalf Of Hona, David Sent: Thursday, 12 December 2013 16:45 To: U2 Users List Subject: Re: [U2] UV/Net usage and licensing Hi Peter, It's been a while since I've used/played around with UV/Net, but this may help... 1. Setup You only need a ensure UniRPC is active and you license for UV/Net on the server you wish to access. I don't recall you need to anything other than the UniRPC Daemon listening for requests and it will invoke uvnet for your client request. 2. Security I can't recall if you're using UNIX or not...(it is supposed to OS independent) Although, UV/Net is supposed to set the effective user (UID numer) and group (GID numer) for the remote users connecting to the remote UV server...if required. Plus if specified - as you're doing so. My experience with similar DB product tools is it is far better to have the UID and GIDs directly aligned. Specifically: make sure the UID and GID for the same named accounts are exactly the same on both servers. Or if you use SET.REMOTE.ID that the account locally has sufficient rights or in fact it exists. I have issues with the same accounts and groups on different users have different UIDs and GIDs on the different client and servers - causing grief/ havoc on similar products to UV/Net, etc. Also - check if you have UniVerse Dynamic Type30 files, that your UNIX file ownerships, group ownership and Other are set exactly the same. This includes the hidden file.Type30. Having different settings are recipe for lots of grief! Finally, be forewarned that allowing testers/developers access to your production server via UV/Net is an EXTREMELY bad idea! (Career terminating if things go pear shaped when they have write/delete rights!). It is far too easy for these types of users to be unaware their test account is in fact pointing to your production service and there access is write/delete. Did you try the UVNETRID environment variable in place of SET.REMOTE.ID? If you are still having issues, you may have to enabled UniRPC debugging which is very extensive and generate logs of data - but is useful for seeing exactly where things are going wrong. Cheers, David -Original Message- From: u2-users-boun...@listserver.u2ug.org [mailto:u2-users-boun...@listserver.u2ug.org] On Behalf Of Peter Cheney Sent: Thursday, 12 December 2013 2:23 PM To: U2 Users List (u2-users@listserver.u2ug.org) Subject: [U2] UV/Net usage and licensing Hi Everyone, We’re looking at doing some remote file mangling and was wondering if there are any gotchas when using UV/Net to do this? In my scenario if I am on host A and want to read/write files on host B. Host B only needs to read/write files on host B but not on host A. Do I need UV/Net on host A as well as host B or just on host A? Host A is running UV 10.3.4 and host B is running UV 10.2.6. Local testing on host A to host A/DR shows record locking is working OK but if the remote file does not have read/write on ‘other’ (e.g. 660) then all writes fail regardless of how I spec the credentials via SET.REMOTE.ID. Setting the permissions to 666 is the only way I can get this to work even when using the same login and group membership at each end. Also does anyone know if firewall ports other than standard unirpc port 31438 need to be opened either end for bi-directional file access too please? Regards, Peter Peter Cheney Ultracs Developer t 07 3017 8837 | f 07 3002 8400 e peter.che...@firstmac.com.au w firstmac.com.au ** IMPORTANT MESSAGE * This e-mail message is intended only for the addressee(s) and contains information which may be confidential. If you are not the intended recipient please advise the sender by return email, do not use or disclose the contents, and delete the message and any attachments from your system. Unless specifically indicated, this email does not constitute formal advice or commitment by the sender or the Commonwealth Bank of Australia (ABN 48 123 123 124) or its subsidiaries. We can be contacted through our web site: commbank.com.au. If you no longer wish to receive commercial electronic messages from us, please reply to this e-mail by typing Unsubscribe in the subject line.
Re: [U2] Exporting to File regularly
Hi David If you upgrade to the latest UV version you have access to the built-in UV DB audit logging facility. Then you can setup a logging event to log changes to the file(s) in question. Hence, not violating the NDAs nor application flow (which you would have too if modifying the file with adding indices / triggers or the like). A simple file-based trigger (not the UV/SQL triggers - which a different more powerful beasts) that copies could make a copy to your own file or invokes a BASIC program/script to send notifications should do the trick too. A working example someone has posted on U2-Users List: http://u2-universe-unidata.1073795.n5.nabble.com/universe-11-1-triggers-via-indexing-and-IDX-IOTYPE-sample-tc41706.html#a41718 Audit logging is not for you unless you upgrade UVbut perhaps in the future...I guess you need a job to check the audit log for these events...too https://docs.rocketsoftware.com/nxt/gateway.dll/RKB14/universe/11.2/security1.pdf See page 372 Section 7 for Audit logging BTW: Look at from the vendors' perspective they have a lot of intellectual property tied up in their product. They sell it with consultancy, etc. It's how they make their living - pay their bills and eat... ;) Plus a lot of clients go out of their way not to pay for anything... it's a two-way rocky road sometimes! Regards, David -Original Message- From: u2-users-boun...@listserver.u2ug.org [mailto:u2-users-boun...@listserver.u2ug.org] On Behalf Of David Campbell Sent: Thursday, 12 December 2013 9:05 AM To: u2-users@listserver.u2ug.org Subject: Re: [U2] Exporting to File regularly Wow, overwhelming response to this question, thank you VERY MUCH for all of your idea's, I have a lot to process and decide what I can achieve... as a bit of background that I probably should have included, I am running UniVerse 11.1.9 on an IBM AIX 7.1.1.15 box. So far Bruce Decker seems to have the most appealing option if I can get it going, I'm sure I be full of more questions than answers in a few days, I just hope making this script doesn't make me the go to guy at work when someone needs weird universe stuff done... *gulp* Oh and its a database that is populated by a contact form from a secure website which then alerts the old terminal sessions that this business used in the past, but since they switched to a web interface for the software and hardly anyone uses the terminal full time any more the items sit there sometimes for hours before a response, so yes I want to be spammed by this all day long, and once it works I can point that spam at a receptionist or two :) The problem with notifying just on changes, is the file changes every time an individual reads a record and marks a particular record as READ for that user by removing their name from the users who have not read this yet column, the file size never changes unless it needs to grow and when records are deleted it simply fills with junk, which I take it is a standard universe thing it does, at this point the numbers appear sequential but that is best guess sigh. The vendor is incredibly secretive, they wont tell me how it works and their NDA says I am not allowed to memorize how their interface works... WTF so YAY obscure software that we cant leave because we are backed into a corner! /end rant Anyway thanks for all the help guys, so glad I found this place! -- View this message in context: http://u2-universe-unidata.1073795.n5.nabble.com/Exporting-to-File-regularly-tp42264p42277.html Sent from the U2 - Users mailing list archive at Nabble.com. ___ U2-Users mailing list U2-Users@listserver.u2ug.org http://listserver.u2ug.org/mailman/listinfo/u2-users ** IMPORTANT MESSAGE * This e-mail message is intended only for the addressee(s) and contains information which may be confidential. If you are not the intended recipient please advise the sender by return email, do not use or disclose the contents, and delete the message and any attachments from your system. Unless specifically indicated, this email does not constitute formal advice or commitment by the sender or the Commonwealth Bank of Australia (ABN 48 123 123 124) or its subsidiaries. We can be contacted through our web site: commbank.com.au. If you no longer wish to receive commercial electronic messages from us, please reply to this e-mail by typing Unsubscribe in the subject line. ** ___ U2-Users mailing list U2-Users@listserver.u2ug.org http://listserver.u2ug.org/mailman/listinfo/u2-users