From jb.dumontier at winnix.com Wed Jan 5 13:58:22 2005 From: jb.dumontier at winnix.com (Jean-Baptiste Dumontier) Date: Wed Jan 5 13:57:16 2005 Subject: Printing on a HP Laserjet 5100 series Message-ID: <01cc01c4f358$87560650$0601a8c0@winnix.com> Hi I try to print on a HP laser printer whitout changing my od programs programs. So I want to print in a landscape mode and with a fixed font I?ve created a Form type with this STARTJOB program WX.STARTPCL *PRINT CHAR(16): ;* D.but de transparence d'.cran *PRINT CHAR(27):"%-12345X@PJL ENTER LANGUAGE = PCL ":CHAR(13):CHAR(10): * PRINT CHAR(27):"E": ;* Reset all * PRINT CHAR(27):"%0A": ;* Enter PCL mode PRINT CHAR(27):"&l1O": ;* Passage en mode paysage PRINT CHAR(27):"&k10H": PRINT CHAR(27):"&l6C": ;* Hauteur de la ligne en 1/48.me de pouce PRINT CHAR(27):"(s0P": ;* FIXED SPACE FONT PRINT CHAR(27):"(12U": ;* Jeu PC850 PRINT CHAR(27):"(s12H": ;* CPI12 PRINT CHAR(27):"&l2E": ;* Marge haute . 2 lignes PRINT CHAR(27):"&l62F": ;* Nombre de lignes de la page (ici 62) This program have been compiled in a common account It sometimes works and sometimes doesn?t work. It seems that it works when I am using a PORT queue and using the PORTOUT (X command In my jspform_pcl formtype I have put these lines at the end # Modifications JB Dumontier 06/08/2004 pour imprimantes PCL STARTJOB WX.STARTPCL ENDJOB WX.ENDPCL I suspect that I have problems because the spool processes can?t reach my WX.STARTPCL program? We are running jBASE 3.4.7 on a HP-UX computer. The printers are logged on root account Where do I have to put my exe program ? Or how can I change the Path for the print processes in order they can execute my program Today the WX.STARTPCL is put in an common account (UTIL). When a user log by telnet we add the path of our UTIL account. But what about the print processes? Any suggestion welcome Regards Jean-Baptiste Dumontier WINNIX SOFTWARE 17, rue Eug?ne DUPUIS 94000 CRETEIL T?l : 01 49 56 95 24 --- Outgoing mail is certified Virus Free. Checked by AVG anti-virus system (http://www.grisoft.com). Version: 6.0.792 / Virus Database: 536 - Release Date: 09/11/2004 -------------- next part -------------- An HTML attachment was scrubbed... URL: http://listserver.jbase.com/pipermail/tech/attachments/20050105/713755d5/attachment.htm From Jimh at gtsservices.com Wed Jan 5 14:07:47 2005 From: Jimh at gtsservices.com (Jim Holloway) Date: Wed Jan 5 14:04:58 2005 Subject: Printing on a HP Laserjet 5100 series Message-ID: you can try entering a literal path of the executable or running 'jdiag -Lv' to see the environment the print process is using. -Jim ________________________________ From: tech-bounces@listserver.jbase.com [mailto:tech-bounces@listserver.jbase.com] On Behalf Of Jean-Baptiste Dumontier Sent: Wednesday, January 05, 2005 10:58 AM To: tech@listserver.jbase.com Subject: Printing on a HP Laserjet 5100 series Hi I try to print on a HP laser printer whitout changing my od programs programs. So I want to print in a landscape mode and with a fixed font I've created a Form type with this STARTJOB program WX.STARTPCL *PRINT CHAR(16): ;* D.but de transparence d'.cran *PRINT CHAR(27):"%-12345X@PJL ENTER LANGUAGE = PCL ":CHAR(13):CHAR(10): * PRINT CHAR(27):"E": ;* Reset all * PRINT CHAR(27):"%0A": ;* Enter PCL mode PRINT CHAR(27):"&l1O": ;* Passage en mode paysage PRINT CHAR(27):"&k10H": PRINT CHAR(27):"&l6C": ;* Hauteur de la ligne en 1/48.me de pouce PRINT CHAR(27):"(s0P": ;* FIXED SPACE FONT PRINT CHAR(27):"(12U": ;* Jeu PC850 PRINT CHAR(27):"(s12H": ;* CPI12 PRINT CHAR(27):"&l2E": ;* Marge haute . 2 lignes PRINT CHAR(27):"&l62F": ;* Nombre de lignes de la page (ici 62) This program have been compiled in a common account It sometimes works and sometimes doesn't work. It seems that it works when I am using a PORT queue and using the PORTOUT (X command In my jspform_pcl formtype I have put these lines at the end # Modifications JB Dumontier 06/08/2004 pour imprimantes PCL STARTJOB WX.STARTPCL ENDJOB WX.ENDPCL I suspect that I have problems because the spool processes can't reach my WX.STARTPCL program? We are running jBASE 3.4.7 on a HP-UX computer. The printers are logged on root account Where do I have to put my exe program ? Or how can I change the Path for the print processes in order they can execute my program Today the WX.STARTPCL is put in an common account (UTIL). When a user log by telnet we add the path of our UTIL account. But what about the print processes? Any suggestion welcome Regards Jean-Baptiste Dumontier WINNIX SOFTWARE 17, rue Eug?ne DUPUIS 94000 CRETEIL T?l : 01 49 56 95 24 --- Outgoing mail is certified Virus Free. Checked by AVG anti-virus system (http://www.grisoft.com). Version: 6.0.792 / Virus Database: 536 - Release Date: 09/11/2004 -------------- next part -------------- An HTML attachment was scrubbed... URL: http://listserver.jbase.com/pipermail/tech/attachments/20050105/beede6f9/attachment.htm From jimi at temporal-wave.com Wed Jan 5 15:07:23 2005 From: jimi at temporal-wave.com (Jim Idle) Date: Wed Jan 5 15:07:28 2005 Subject: I DESCRIPTORS Message-ID: The original template was Reality, which did not have I descriptors at that point. If you try these same tests on jBASE 4.1, you will find that both I descriptors and all other forms of dictionary based processing are much faster than both jBASE 3.x and U2 etc. Jim > -----Original Message----- > From: tech-bounces@listserver.jbase.com [mailto:tech- > bounces@listserver.jbase.com] On Behalf Of Jeff Samuels > Sent: Wednesday, December 29, 2004 8:49 AM > To: tech@listserver.jbase.com > Subject: RE: I DESCRIPTORS > > ROFL, so on Universe the I-DESC were faster, and on JBASE the old > fashioned > PICK based correlatives/connectives are faster. That is interesting. I > would > be curious as to the original template JBASE used to develop the product. > I > assume it was the old 'ULTIMATE' version of PICK. They must have added the > I-DESC as an upgrade, where as Universe/Unidata is based on the 'PRIME' > version of the product. > > I don't know enough about the inner workings of the differing system > architectures to do more than speculate. Anyone have any information about > this? > > Jeff > > -----Original Message----- > From: tech-bounces@listserver.jbase.com > [mailto:tech-bounces@listserver.jbase.com] On Behalf Of Charlie Noah > Sent: Wednesday, December 29, 2004 11:33 AM > To: tech@listserver.jbase.com > Subject: Re: I DESCRIPTORS > > Jeff, > > I really don't know, but oddly enough, when we ran on Universe, I found > the exact opposite to be true. Go figure... ;^) > > Charlie > > Jeff Samuels wrote: > > Interesting. Why do you think that is? > > > > Jeff > > > > -----Original Message----- > > From: tech-bounces@listserver.jbase.com > > [mailto:tech-bounces@listserver.jbase.com] On Behalf Of Charlie Noah > > Sent: Wednesday, December 29, 2004 9:33 AM > > To: tech@listserver.jbase.com > > Subject: Re: I DESCRIPTORS > > > > Jeff, > > > > Now that you've solved your mystery, I have another wrinkle for you - > > a comparable "Pick" type dictionary is approximately 4 times faster > > than an I-descriptor. Using a list of approx 12,000 items, I ran > > and timed selects with both types on a quiescent system. I ran a > > couple of tests beforehand to get the items in memory and eliminate > > disk I/O as a variable as much as possible. We are running Jbase > > 3.4.4.4 on AIX, Universe emulation. > > > > Results in seconds: > > > > Pick-Type I-Descriptor > > 19.4400 80.9000 > > 21.4500 82.4300 > > 19.4600 82.8800 > > > > The Pick type is the obvious winner each time, hands down. > > > > The dictionaries: > > > > DESC > > 001: S > > 002: 0 > > 003: ?Description > > ?************************* > > 004: > > 005: > > 006: > > 007: > > 008: TPRODUCT;X1;6;6 > > 009: T > > 010: 25 > > 011: > > 012: Product description from PRODUCT > > > > DESC.I > > 001: I Product description from PRODUCT > > 002: TRANS('PRODUCT', @ID, 6, 'X1') > > 003: > > 004: ?Description > > ?************************* > > 005: 25T > > 006: S > > > > Regards, > > Charlie Noah > > Inland Truck Parts > > > > > > Jeff Samuels wrote: > > > >>Thanks, that did it. I should have known, having been bitten by that > >>particular bug several times in the past. Sometimes you can't see the > >>forest for the btrees J > >> > >> > >> > >>Jeff > >> > >> > >> > >>------------------------------------------------------------------------ > >> > >>*From:* tech-bounces@listserver.jbase.com > >>[mailto:tech-bounces@listserver.jbase.com] *On Behalf Of *Lee H. > Burstein > >>*Sent:* Wednesday, December 29, 2004 9:00 AM > >>*To:* tech@listserver.jbase.com > >>*Subject:* RE: I DESCRIPTORS > >> > >> > >> > >>Jeff, > >> > >> > >> > >>Try putting quotes around the 1 in your TRANS function. Depending on > >>your Config_EMULATE settings, the unquoted 1 could reference the actual > >>value of field one of your original file. > >> > >> > >> > >>*Lee H. Burstein* > >>*President* > >>*Dynamic Systems, Inc.* > >>*302-477-0180 * > >>*FAX: 206-299-7463* > >>*www.dynamicsys.com* > >> > >> > >> > >> > >> > >>------------------------------------------------------------------------ > >> > >>*From:* tech-bounces@listserver.jbase.com > >>[mailto:tech-bounces@listserver.jbase.com] *On Behalf Of *Jeff Samuels > >>*Sent:* Wednesday, December 29, 2004 8:24 AM > >>*To:* tech@listserver.jbase.com > >>*Subject:* RE: I DESCRIPTORS > >> > >>Thanks, that has bitten me before also, and I checked for it. I'm sure > >>the answer is probably something like that I have totally overlooked. > >> > >> > >> > >>Jeff > >> > >> > >> > >>------------------------------------------------------------------------ > >> > >>*From:* tech-bounces@listserver.jbase.com > >>[mailto:tech-bounces@listserver.jbase.com] *On Behalf Of *Bruce Willmore > >>*Sent:* Wednesday, December 29, 2004 8:02 AM > >>*To:* tech@listserver.jbase.com > >>*Subject:* RE: I DESCRIPTORS > >> > >> > >> > >>One thing that irks me to no end, and may have gotten you, is that you > >>might have a space character in your conversion or format attributes. If > >>you do, jBase often times gives you a result of null or space(s). I'd > >>suggest checking for that. > >> > >> > >> > >>------------------------------------------------------------------------ > >> > >>*From:* tech-bounces@listserver.jbase.com > >>[mailto:tech-bounces@listserver.jbase.com] *On Behalf Of *Jeff Samuels > >>*Sent:* Wednesday, December 29, 2004 7:54 AM > >>*To:* tech@listserver.jbase.com > >>*Subject:* RE: I DESCRIPTORS > >> > >>Thanks, got it this time. Looks like a syntax difference. They call them > >>I-types, I call them I-descriptors. To me, Itype is a basic function > >>that returns data from I-desc within a basic program. The I-type? I am > >>having problems with is as follows: > >> > >> > >> > >>001 I > >> > >>002 TRANS("FILE", PASSEDINFIELD,1, "X") > >> > >>003 > >> > >>004 NAME > >> > >>005 30L > >> > >>006 S > >> > >> > >> > >>The above returns a blank. I have checked and the PASSEDINFIELD is the > >>record identifier for the FILE, and attribute one is the correct > >>attribute to return. Maybe I am missing the obvious. I have used this > >>kind of I-DESC so many times that it has become second nature. > >> > >> > >> > >>Thanks, > >> > >> > >>Jeff > >> > >> > >> > >>------------------------------------------------------------------------ > >> > >>*From:* tech-bounces@listserver.jbase.com > >>[mailto:tech-bounces@listserver.jbase.com] *On Behalf Of *Jim Holloway > >>*Sent:* Tuesday, December 28, 2004 4:57 PM > >>*To:* tech@listserver.jbase.com > >>*Subject:* RE: I DESCRIPTORS > >> > >> > >> > >>Looks like the URL got cut off, please try this: I-types > >> > > > > > _T > > YPES.htm> > > > >> > >>-----Original Message----- > >>From: tech-bounces@listserver.jbase.com > >>[mailto:tech-bounces@listserver.jbase.com] On Behalf Of Jim Holloway > >>Sent: Tuesday, December 28, 2004 1:53 PM > >>To: tech@listserver.jbase.com > >>Subject: RE: I DESCRIPTORS > >> > >>did you see this: > >> > >>http://www.jbaseintl.com/knowledgebase/manuals/3.0/30manpages/man/sup12_ > >>I_TYPES.htm > >> > >> > >> > >>________________________________ > >> > >>From: tech-bounces@listserver.jbase.com > >>[mailto:tech-bounces@listserver.jbase.com] On Behalf Of Jeff Samuels > >>Sent: Tuesday, December 28, 2004 1:48 PM > >>To: tech@listserver.jbase.com > >>Subject: I DESCRIPTORS > >> > >> > >> > >>I was trying to do a very simple trans function in an i-desc, and not > >>only could I NOT get it to work (conceivably my own error), but when I > >>went to the JBASE site, the only thing in the knowledge base for I-DESC > >>was release patch 3.3???? Does JBASE no longer support I-Desc? Did they > >>ever? Does trans not work in this particular flavor? > >> > >> > >> > >>Thanks, > >> > >> > >> > >>Jeff Samuels > >> > > > > > > > > > > > -- > No virus found in this incoming message. > Checked by AVG Anti-Virus. > Version: 7.0.296 / Virus Database: 265.6.6 - Release Date: 12/28/2004 > -- No virus found in this outgoing message. Checked by AVG Anti-Virus. Version: 7.0.300 / Virus Database: 265.6.8 - Release Date: 1/3/2005 From him at comp-ware.net Thu Jan 6 10:21:18 2005 From: him at comp-ware.net (Richard Kann) Date: Thu Jan 6 10:24:44 2005 Subject: Selective Restores Message-ID: <41DD576E.9090200@comp-ware.net> On the windows version of Jbase I do backups onto a remote hard drive (mapped and/or shared folders) backing up our main folers with all our account filders inside using the JBACKUP command. I am trying to recover 1 file out of one of the folders and restore it as a different file name to look at it without destroying the current version of that file. On the RD version it was done as a: SEL-RESTORE newfile * Account name: myaccount File name: oldfile Is there a way to accomplish this on Jbase without restoring the entire backup into another folder? Richard Kann Comp-Ware Systems, Inc. From mark at proman.com Thu Jan 6 11:22:23 2005 From: mark at proman.com (Mark Hogden) Date: Thu Jan 6 11:22:35 2005 Subject: Selective Restores In-Reply-To: <41DD576E.9090200@comp-ware.net> Message-ID: <20050106162225.D65B1F3B6F@mail.blarg.net> The command is jrestore and the syntax is somewhat tortured. http://www.jbase.com/knowledgebase/manuals/3.0/30manpages/man/adv22_JRESTORE .htm Jim Young wrote a basic wrapper for it called jrest(available from devsup ?) which just prompts for the pertinent data and constructs the correct syntax. It works well. The restore is case sensitive, and the names on tape depend somewhat on the case of the path that was specified on jbackup. e.g. DIR C:\MYDIR /B/S vs DIR C:\mydir /B/S. You can overcome this by adding the /L switch on DIR to force all lower case. I don't think the same can be said for jfind. Mark Hogden Proco, Inc. -----Original Message----- From: tech-bounces@listserver.jbase.com [mailto:tech-bounces@listserver.jbase.com] On Behalf Of Richard Kann Sent: Thursday, January 06, 2005 7:21 AM To: tech@listserver.jbase.com Subject: Selective Restores On the windows version of Jbase I do backups onto a remote hard drive (mapped and/or shared folders) backing up our main folers with all our account filders inside using the JBACKUP command. I am trying to recover 1 file out of one of the folders and restore it as a different file name to look at it without destroying the current version of that file. On the RD version it was done as a: SEL-RESTORE newfile * Account name: myaccount File name: oldfile Is there a way to accomplish this on Jbase without restoring the entire backup into another folder? Richard Kann Comp-Ware Systems, Inc. From him at comp-ware.net Thu Jan 6 11:43:02 2005 From: him at comp-ware.net (Richard Kann) Date: Thu Jan 6 11:55:03 2005 Subject: Selective Restores In-Reply-To: <20050106162225.D65B1F3B6F@mail.blarg.net> References: <20050106162225.D65B1F3B6F@mail.blarg.net> Message-ID: <41DD6A96.2040606@comp-ware.net> Thanks Mark, Actually I was aware of the JRESTORE command, I use it to do full restores. Where I am getting lost is the actual syntax to do what I stated above as the JRESTORE knowledgebase page is clear a mud. Richard Mark Hogden wrote: >The command is jrestore and the syntax is somewhat tortured. > >http://www.jbase.com/knowledgebase/manuals/3.0/30manpages/man/adv22_JRESTORE >.htm > >Jim Young wrote a basic wrapper for it called jrest(available from devsup ?) >which just prompts for the pertinent data and constructs the correct syntax. >It works well. > >The restore is case sensitive, and the names on tape depend somewhat on the >case of the path that was specified on jbackup. e.g. DIR C:\MYDIR /B/S vs >DIR C:\mydir /B/S. You can overcome this by adding the /L switch on DIR to >force all lower case. I don't think the same can be said for jfind. > >Mark Hogden >Proco, Inc. > > > >-----Original Message----- >From: tech-bounces@listserver.jbase.com >[mailto:tech-bounces@listserver.jbase.com] On Behalf Of Richard Kann >Sent: Thursday, January 06, 2005 7:21 AM >To: tech@listserver.jbase.com >Subject: Selective Restores > >On the windows version of Jbase I do backups onto a remote hard drive >(mapped and/or shared folders) backing up our main folers with all our >account filders inside using the JBACKUP command. > >I am trying to recover 1 file out of one of the folders and restore it as a >different file name to look at it without destroying the current version of >that file. On the RD version it was done as a: > >SEL-RESTORE newfile * >Account name: myaccount >File name: oldfile > >Is there a way to accomplish this on Jbase without restoring the entire >backup into another folder? > >Richard Kann >Comp-Ware Systems, Inc. > > > > > > From bob at rjoslyn.com Thu Jan 6 12:23:43 2005 From: bob at rjoslyn.com (BobJ) Date: Thu Jan 6 12:23:55 2005 Subject: Selective Restores References: <20050106162225.D65B1F3B6F@mail.blarg.net> <41DD6A96.2040606@comp-ware.net> Message-ID: <004701c4f414$79de94d0$6600a8c0@bob> What I relief. I thought that I was the only one who could not read the backup and restore docs. BobJ ----- Original Message ----- From: "Richard Kann" To: Sent: Thursday, January 06, 2005 11:43 AM Subject: Re: Selective Restores > Thanks Mark, > > Actually I was aware of the JRESTORE command, I use it to do full > restores. Where I am getting lost is the actual syntax to do what I stated > above as the JRESTORE knowledgebase page is clear a mud. > > Richard > > Mark Hogden wrote: > >>The command is jrestore and the syntax is somewhat tortured. >>http://www.jbase.com/knowledgebase/manuals/3.0/30manpages/man/adv22_JRESTORE >>.htm >> >>Jim Young wrote a basic wrapper for it called jrest(available from devsup >>?) >>which just prompts for the pertinent data and constructs the correct >>syntax. >>It works well. >> >>The restore is case sensitive, and the names on tape depend somewhat on >>the >>case of the path that was specified on jbackup. e.g. DIR C:\MYDIR /B/S vs >>DIR C:\mydir /B/S. You can overcome this by adding the /L switch on DIR to >>force all lower case. I don't think the same can be said for jfind. >> >>Mark Hogden >>Proco, Inc. >> >> >>-----Original Message----- >>From: tech-bounces@listserver.jbase.com >>[mailto:tech-bounces@listserver.jbase.com] On Behalf Of Richard Kann >>Sent: Thursday, January 06, 2005 7:21 AM >>To: tech@listserver.jbase.com >>Subject: Selective Restores >> >>On the windows version of Jbase I do backups onto a remote hard drive >>(mapped and/or shared folders) backing up our main folers with all our >>account filders inside using the JBACKUP command. >> >>I am trying to recover 1 file out of one of the folders and restore it as >>a >>different file name to look at it without destroying the current version >>of >>that file. On the RD version it was done as a: >> >>SEL-RESTORE newfile * >>Account name: myaccount >>File name: oldfile >> >>Is there a way to accomplish this on Jbase without restoring the entire >>backup into another folder? >> >>Richard Kann >>Comp-Ware Systems, Inc. >> >> >> >> >> > > > From jimi at temporal-wave.com Thu Jan 6 12:37:25 2005 From: jimi at temporal-wave.com (Jim Idle) Date: Thu Jan 6 12:37:22 2005 Subject: Selective Restores Message-ID: You once were! ;-) Jim > -----Original Message----- > From: tech-bounces@listserver.jbase.com [mailto:tech- > bounces@listserver.jbase.com] On Behalf Of BobJ > Sent: Thursday, January 06, 2005 9:24 AM > To: tech@listserver.jbase.com > Subject: Re: Selective Restores > > What I relief. I thought that I was the only one who could not read the > backup and restore docs. > BobJ > ----- Original Message ----- > From: "Richard Kann" > To: > Sent: Thursday, January 06, 2005 11:43 AM > Subject: Re: Selective Restores > > > > Thanks Mark, > > > > Actually I was aware of the JRESTORE command, I use it to do full > > restores. Where I am getting lost is the actual syntax to do what I > stated > > above as the JRESTORE knowledgebase page is clear a mud. > > > > Richard > > > > Mark Hogden wrote: > > > >>The command is jrestore and the syntax is somewhat tortured. > >>http://www.jbase.com/knowledgebase/manuals/3.0/30manpages/man/adv22_JRES > TORE > >>.htm > >> > >>Jim Young wrote a basic wrapper for it called jrest(available from > devsup > >>?) > >>which just prompts for the pertinent data and constructs the correct > >>syntax. > >>It works well. > >> > >>The restore is case sensitive, and the names on tape depend somewhat on > >>the > >>case of the path that was specified on jbackup. e.g. DIR C:\MYDIR /B/S > vs > >>DIR C:\mydir /B/S. You can overcome this by adding the /L switch on DIR > to > >>force all lower case. I don't think the same can be said for jfind. > >> > >>Mark Hogden > >>Proco, Inc. > >> > >> > >>-----Original Message----- > >>From: tech-bounces@listserver.jbase.com > >>[mailto:tech-bounces@listserver.jbase.com] On Behalf Of Richard Kann > >>Sent: Thursday, January 06, 2005 7:21 AM > >>To: tech@listserver.jbase.com > >>Subject: Selective Restores > >> > >>On the windows version of Jbase I do backups onto a remote hard drive > >>(mapped and/or shared folders) backing up our main folers with all our > >>account filders inside using the JBACKUP command. > >> > >>I am trying to recover 1 file out of one of the folders and restore it > as > >>a > >>different file name to look at it without destroying the current version > >>of > >>that file. On the RD version it was done as a: > >> > >>SEL-RESTORE newfile * > >>Account name: myaccount > >>File name: oldfile > >> > >>Is there a way to accomplish this on Jbase without restoring the entire > >>backup into another folder? > >> > >>Richard Kann > >>Comp-Ware Systems, Inc. > >> > >> > >> > >> > >> > > > > > > > > > -- > No virus found in this incoming message. > Checked by AVG Anti-Virus. > Version: 7.0.300 / Virus Database: 265.6.8 - Release Date: 1/3/2005 > -- No virus found in this outgoing message. Checked by AVG Anti-Virus. Version: 7.0.300 / Virus Database: 265.6.8 - Release Date: 1/3/2005 From Jimh at gtsservices.com Thu Jan 6 12:49:36 2005 From: Jimh at gtsservices.com (Jim Holloway) Date: Thu Jan 6 12:49:45 2005 Subject: Selective Restores Message-ID: Richard, Download the file jrest.zip from the software library on the jbase website. It's a front-end to jrestore and will also show you the syntax used etc. http://www.jbase.com/scripts/japps.dll?pagename=Testdnloadlist Regards, -Jim -----Original Message----- From: tech-bounces@listserver.jbase.com [mailto:tech-bounces@listserver.jbase.com] On Behalf Of Richard Kann Sent: Thursday, January 06, 2005 7:21 AM To: tech@listserver.jbase.com Subject: Selective Restores On the windows version of Jbase I do backups onto a remote hard drive (mapped and/or shared folders) backing up our main folers with all our account filders inside using the JBACKUP command. I am trying to recover 1 file out of one of the folders and restore it as a different file name to look at it without destroying the current version of that file. On the RD version it was done as a: SEL-RESTORE newfile * Account name: myaccount File name: oldfile Is there a way to accomplish this on Jbase without restoring the entire backup into another folder? Richard Kann Comp-Ware Systems, Inc. From him at comp-ware.net Thu Jan 6 13:16:07 2005 From: him at comp-ware.net (Richard Kann) Date: Thu Jan 6 13:46:14 2005 Subject: Selective Restores In-Reply-To: References: Message-ID: <41DD8067.2020701@comp-ware.net> Thanks Jim, I'll try it! Richard Jim Holloway wrote: >Richard, > >Download the file jrest.zip from the software library on the jbase >website. It's a front-end to jrestore and will also show you the syntax >used etc. > >http://www.jbase.com/scripts/japps.dll?pagename=Testdnloadlist > >Regards, > >-Jim > >-----Original Message----- >From: tech-bounces@listserver.jbase.com >[mailto:tech-bounces@listserver.jbase.com] On Behalf Of Richard Kann >Sent: Thursday, January 06, 2005 7:21 AM >To: tech@listserver.jbase.com >Subject: Selective Restores > >On the windows version of Jbase I do backups onto a remote hard drive >(mapped and/or shared folders) backing up our main folers with all our >account filders inside using the JBACKUP command. > >I am trying to recover 1 file out of one of the folders and restore it >as a different file name to look at it without destroying the current >version of that file. On the RD version it was done as a: > >SEL-RESTORE newfile * >Account name: myaccount >File name: oldfile > >Is there a way to accomplish this on Jbase without restoring the entire >backup into another folder? > >Richard Kann >Comp-Ware Systems, Inc. > > > > > > From yaverbach at superiorink.com Wed Jan 12 09:55:58 2005 From: yaverbach at superiorink.com (Yuri Averbach) Date: Wed Jan 12 09:55:18 2005 Subject: temporary user workfiles Message-ID: <55D0C19F637C9D498D171634074CB1F3437B98@sneezy.superiorink.net> Running jBase 3.4.5 on Windows Server 2003, We have created individual temporary workfiles for all users in the WORKFILES directory, as specified in the remote command files. At first most of those workfiles were expanding and contracting depending on the workload but then they became mostly static remaining at the same size. Occasionally some expand and become corrupt. Is there a reason for the change? Does it matter at all? -------------- next part -------------- An HTML attachment was scrubbed... URL: http://listserver.jbase.com/pipermail/tech/attachments/20050112/a165291d/attachment.htm From danny.ruckel at activant.com Thu Jan 13 13:09:56 2005 From: danny.ruckel at activant.com (Danny Ruckel) Date: Thu Jan 13 13:16:52 2005 Subject: (no subject) Message-ID: <08BF8C21477B3A449ED45635C75A307C02750A80@exch3-dc-aus.northamerica.corporate-domain.net> All, Suppose I have a program, 'A', that calls program 'B', 'B' in turn calls 'C', and 'C' calls 'D'. Once I am in 'D', is there anyway to discover the entire "call history", i.e., that D was called by C was called by B was called by A? Exposing the endpoints, 'D' and 'A' is straightforward but I haven't been successful with the 'in between' calls. Thanks in advance your response, Danny Ruckel Notice: This transmission is for the sole use of the intended recipient(s) and may contain information that is confidential and/or privileged. If you are not the intended recipient, please delete this transmission and any attachments and notify the sender by return email immediately. Any unauthorized review, use, disclosure or distribution is prohibited. -------------- next part -------------- An HTML attachment was scrubbed... URL: http://listserver.jbase.com/pipermail/tech/attachments/20050113/1d10bb99/attachment.htm From cbristol at carpartstechnologies.com Thu Jan 13 13:24:15 2005 From: cbristol at carpartstechnologies.com (Clif Bristol) Date: Thu Jan 13 13:24:24 2005 Subject: (no subject) Message-ID: <775445A4E871F048ADFD2FB51D09A59B757888@cptex-01.carpartstechnologies.com> They don't have this in there 3.x releases but it is something they should add to to 4.x release. Jbase should also enhance triggers so you can know from the trigger subroutine what process called it such as JED, a subroutine, or an executable. -----Original Message----- From: Danny Ruckel [mailto:danny.ruckel@activant.com] Sent: Thursday, January 13, 2005 10:10 AM To: tech@listserver.jbase.com Subject: (no subject) All, Suppose I have a program, 'A', that calls program 'B', 'B' in turn calls 'C', and 'C' calls 'D'. Once I am in 'D', is there anyway to discover the entire "call history", i.e., that D was called by C was called by B was called by A? Exposing the endpoints, 'D' and 'A' is straightforward but I haven't been successful with the 'in between' calls. Thanks in advance your response, Danny Ruckel Notice: This transmission is for the sole use of the intended recipient(s) and may contain information that is confidential and/or privileged. If you are not the intended recipient, please delete this transmission and any attachments and notify the sender by return email immediately. Any unauthorized review, use, disclosure or distribution is prohibited. -------------- next part -------------- An HTML attachment was scrubbed... URL: http://listserver.jbase.com/pipermail/tech/attachments/20050113/0856a6ad/attachment.htm From brucewillmore at comcast.net Thu Jan 13 13:54:14 2005 From: brucewillmore at comcast.net (brucewillmore@comcast.net) Date: Thu Jan 13 13:54:24 2005 Subject: (no subject) Message-ID: <011320051854.343.41E6C3D5000CCAE10000015722070016410A9D0103040407990A0C9A9D0D@comcast.net> I haven't thought this all the way through, so there may be flaws, but couldn't you just execute "WHERE"? This may not work with 4.x, but I would think that it would tell you everything you need for a 3.x implementation. Of course, this is assuming we're talking programs EXECUTEing programs, which your question appears to state... -------------- Original message -------------- They don't have this in there 3.x releases but it is something they should add to to 4.x release. Jbase should also enhance triggers so you can know from the trigger subroutine what process called it such as JED, a subroutine, or an executable. -----Original Message----- From: Danny Ruckel [mailto:danny.ruckel@activant.com] Sent: Thursday, January 13, 2005 10:10 AM To: tech@listserver.jbase.com Subject: (no subject) All, Suppose I have a program, ‘A’, that calls program ‘B’, ‘B’ in turn calls ‘C’, and ‘C’ calls ‘D’. Once I am in ‘D’, is there anyway to discover the entire “call history”, i.e., that D was called by C was called by B was called by A? Exposing the endpoints, ‘D’ and ‘A’ is straightforward but I haven’t been successful with the ‘in between’ calls. Thanks in advance your response, Danny Ruckel Notice: This transmission is for the sole use of the intended recipient(s) and may contain information that is confidential and/or privileged. If you are not the intended recipient, please delete this transmission and any attachments and notify the sender by return email immediately. Any unauthorized review, use, disclosure or distribution is prohibited. -------------- next part -------------- An HTML attachment was scrubbed... URL: http://listserver.jbase.com/pipermail/tech/attachments/20050113/4e080020/attachment.htm From dane at jbase.com Thu Jan 13 14:03:40 2005 From: dane at jbase.com (Dan Ell) Date: Thu Jan 13 14:02:27 2005 Subject: (no subject) Message-ID: OCONV('','U0016') will return the program stack as D C B A. You can then do a convert of spaces to @AM if that makes it easier. Dan -----Original Message----- From: tech-bounces@listserver.jbase.com [mailto:tech-bounces@listserver.jbase.com]On Behalf Of brucewillmore@comcast.net Sent: Thursday, January 13, 2005 1:54 PM To: tech@listserver.jbase.com Subject: RE: (no subject) I haven't thought this all the way through, so there may be flaws, but couldn't you just execute "WHERE"? This may not work with 4.x, but I would think that it would tell you everything you need for a 3.x implementation. Of course, this is assuming we're talking programs EXECUTEing programs, which your question appears to state... -------------- Original message -------------- They don't have this in there 3.x releases but it is something they should add to to 4.x release. Jbase should also enhance triggers so you can know from the trigger subroutine what process called it such as JED, a subroutine, or an executable. -----Original Message----- From: Danny Ruckel [mailto:danny.ruckel@activant.com] Sent: Thursday, January 13, 2005 10:10 AM To: tech@listserver.jbase.com Subject: (no subject) All, Suppose I have a program, 'A', that calls program 'B', 'B' in turn calls 'C', and 'C' calls 'D'. Once I am in 'D', is there anyway to discover the entire "call history", i.e., that D was called by C was called by B was called by A? Exposing the endpoints, 'D' and 'A' is straightforward but I haven't been successful with the 'in between' calls. Thanks in advance your response, Danny Ruckel Notice: This transmission is for the sole use of the intended recipient(s) and may contain information that is confidential and/or privileged. If you are not the intended recipient, please delete this transmission and any attachments and notify the sender by return email immediately. Any unauthorized review, use, disclosure or distribution is prohibited. -------------- next part -------------- An HTML attachment was scrubbed... URL: http://listserver.jbase.com/pipermail/tech/attachments/20050113/4b031ced/attachment.htm From danny.ruckel at activant.com Thu Jan 13 14:22:03 2005 From: danny.ruckel at activant.com (Danny Ruckel) Date: Thu Jan 13 14:22:18 2005 Subject: (no subject) Message-ID: <08BF8C21477B3A449ED45635C75A307C02750A81@exch3-dc-aus.northamerica.corporate-domain.net> Skipped content of type multipart/alternative-------------- next part -------------- A non-text attachment was scrubbed... Name: not available Type: image/jpeg Size: 2569 bytes Desc: image001.jpg Url : http://listserver.jbase.com/pipermail/tech/attachments/20050113/dfd8f787/attachment.jpg From jimi at temporal-wave.com Thu Jan 13 14:22:32 2005 From: jimi at temporal-wave.com (Jim Idle) Date: Thu Jan 13 14:22:35 2005 Subject: temporary user workfiles Message-ID: How are you deciding they are corrupt? Remember that you cannot run jcheck on files if they are in use. If they are corrupt, then we should try and find out what is making them so of course. I recommend automatically removing the temporary file for a new login so that you always start with a fresh one. AS far as growth goes, the things stored in there of any size are: SELECT lists, if you do not override this to some global location Named COMMON and COMMON (in certain circumstances) Because some of the items created in the above scenarios are larger than a group can hold, then the file will grow to accommodate the items. In general this is not a big deal. Again though, if they are getting corrupted, you should try to work out under what circumstances they are corrupted. Are you killing processes for any reason? How do people log off? Jim _____ From: tech-bounces@listserver.jbase.com [mailto:tech-bounces@listserver.jbase.com] On Behalf Of Yuri Averbach Sent: Wednesday, January 12, 2005 6:56 AM To: tech@listserver.jbase.com Subject: temporary user workfiles Running jBase 3.4.5 on Windows Server 2003, We have created individual temporary workfiles for all users in the WORKFILES directory, as specified in the remote command files. At first most of those workfiles were expanding and contracting depending on the workload but then they became mostly static remaining at the same size. Occasionally some expand and become corrupt. Is there a reason for the change? Does it matter at all? -- No virus found in this incoming message. Checked by AVG Anti-Virus. Version: 7.0.300 / Virus Database: 265.6.10 - Release Date: 1/10/2005 -- No virus found in this outgoing message. Checked by AVG Anti-Virus. Version: 7.0.300 / Virus Database: 265.6.11 - Release Date: 1/12/2005 -------------- next part -------------- An HTML attachment was scrubbed... URL: http://listserver.jbase.com/pipermail/tech/attachments/20050113/03a89768/attachment.htm From cbristol at carpartstechnologies.com Thu Jan 13 14:26:41 2005 From: cbristol at carpartstechnologies.com (Clif Bristol) Date: Thu Jan 13 14:26:50 2005 Subject: (no subject) Message-ID: <775445A4E871F048ADFD2FB51D09A59B757889@cptex-01.carpartstechnologies.com> Thats amazing, I've asked this question more then once over the last couple of years to dev support and this is the first time someone gave me a way to do this. -----Original Message----- From: Dan Ell [mailto:dane@jbase.com] Sent: Thursday, January 13, 2005 11:04 AM To: tech@listserver.jbase.com Subject: RE: (no subject) OCONV('','U0016') will return the program stack as D C B A. You can then do a convert of spaces to @AM if that makes it easier. Dan -----Original Message----- From: tech-bounces@listserver.jbase.com [mailto:tech-bounces@listserver.jbase.com]On Behalf Of brucewillmore@comcast.net Sent: Thursday, January 13, 2005 1:54 PM To: tech@listserver.jbase.com Subject: RE: (no subject) I haven't thought this all the way through, so there may be flaws, but couldn't you just execute "WHERE"? This may not work with 4.x, but I would think that it would tell you everything you need for a 3.x implementation. Of course, this is assuming we're talking programs EXECUTEing programs, which your question appears to state... -------------- Original message -------------- They don't have this in there 3.x releases but it is something they should add to to 4.x release. Jbase should also enhance triggers so you can know from the trigger subroutine what process called it such as JED, a subroutine, or an executable. -----Original Message----- From: Danny Ruckel [mailto:danny.ruckel@activant.com] Sent: Thursday, January 13, 2005 10:10 AM To: tech@listserver.jbase.com Subject: (no subject) All, Suppose I have a program, 'A', that calls program 'B', 'B' in turn calls 'C', and 'C' calls 'D'. Once I am in 'D', is there anyway to discover the entire "call history", i.e., that D was called by C was called by B was called by A? Exposing the endpoints, 'D' and 'A' is straightforward but I haven't been successful with the 'in between' calls. Thanks in advance your response, Danny Ruckel Notice: This transmission is for the sole use of the intended recipient(s) and may contain information that is confidential and/or privileged. If you are not the intended recipient, please delete this transmission and any attachments and notify the sender by return email immediately. Any unauthorized review, use, disclosure or distribution is prohibited. -------------- next part -------------- An HTML attachment was scrubbed... URL: http://listserver.jbase.com/pipermail/tech/attachments/20050113/5c5f4528/attachment.htm From jimi at temporal-wave.com Thu Jan 13 14:29:25 2005 From: jimi at temporal-wave.com (Jim Idle) Date: Thu Jan 13 14:29:26 2005 Subject: (no subject) Message-ID: This information is available in 3.x, see earlier post. Always avoid an EXECUTE unless there is no other way to do things. If there is no other way to do things, then ask yourself 2 or 3 times if you need to do what you think you need to do ;-) EXECUTE of things like WHERE, SHOW-ITEM-LOCKS and so on are very expensive. I have seen a lot of systems crippled by programs that perform commands like this every 5 seconds ‘in case’ something goes wrong. Be very afraid of using system level commands in such ways. Jim _____ From: tech-bounces@listserver.jbase.com [mailto:tech-bounces@listserver.jbase.com] On Behalf Of brucewillmore@comcast.net Sent: Thursday, January 13, 2005 10:54 AM To: tech@listserver.jbase.com Subject: RE: (no subject) I haven't thought this all the way through, so there may be flaws, but couldn't you just execute "WHERE"? This may not work with 4.x, but I would think that it would tell you everything you need for a 3.x implementation. Of course, this is assuming we're talking programs EXECUTEing programs, which your question appears to state... -------------- Original message -------------- They don't have this in there 3.x releases but it is something they should add to to 4.x release. Jbase should also enhance triggers so you can know from the trigger subroutine what process called it such as JED, a subroutine, or an executable. -----Original Message----- From: Danny Ruckel [mailto:danny.ruckel@activant.com] Sent: Thursday, January 13, 2005 10:10 AM To: tech@listserver.jbase.com Subject: (no subject) All, Suppose I have a program, ‘A’, that calls program ‘B’, ‘B’ in turn calls ‘C’, and ‘C’ calls ‘D’. Once I am in ‘D’, is there anyway to discover the entire “call history”, i.e., that D was called by C was called by B was called by A? Exposing the endpoints, ‘D’ and ‘A’ is straightforward but I haven’t been successful with the ‘in between’ calls. Thanks in advance your response, Danny Ruckel Notice: This transmission is for the sole use of the intended recipient(s) and may contain information that is confidential and/or privileged. If you are not the intended recipient, please delete this transmission and any attachments and notify the sender by return email immediately. Any unauthorized review, use, disclosure or distribution is prohibited. -- No virus found in this incoming message. Checked by AVG Anti-Virus. Version: 7.0.300 / Virus Database: 265.6.11 - Release Date: 1/12/2005 -- No virus found in this outgoing message. Checked by AVG Anti-Virus. Version: 7.0.300 / Virus Database: 265.6.11 - Release Date: 1/12/2005 -------------- next part -------------- An HTML attachment was scrubbed... URL: http://listserver.jbase.com/pipermail/tech/attachments/20050113/f8ffd288/attachment.htm From jimi at temporal-wave.com Thu Jan 13 14:31:57 2005 From: jimi at temporal-wave.com (Jim Idle) Date: Thu Jan 13 14:32:01 2005 Subject: (no subject) Message-ID: Hmmm – this does not sound right. I have answered this question about 714 times myself, and I know that Devsup have answered it before now, which is why Dan knows the answer! Jim _____ From: tech-bounces@listserver.jbase.com [mailto:tech-bounces@listserver.jbase.com] On Behalf Of Clif Bristol Sent: Thursday, January 13, 2005 11:27 AM To: tech@listserver.jbase.com Subject: RE: (no subject) Thats amazing, I've asked this question more then once over the last couple of years to dev support and this is the first time someone gave me a way to do this. -----Original Message----- From: Dan Ell [mailto:dane@jbase.com] Sent: Thursday, January 13, 2005 11:04 AM To: tech@listserver.jbase.com Subject: RE: (no subject) OCONV('','U0016') will return the program stack as D C B A. You can then do a convert of spaces to @AM if that makes it easier. Dan -----Original Message----- From: tech-bounces@listserver.jbase.com [mailto:tech-bounces@listserver.jbase.com]On Behalf Of brucewillmore@comcast.net Sent: Thursday, January 13, 2005 1:54 PM To: tech@listserver.jbase.com Subject: RE: (no subject) I haven't thought this all the way through, so there may be flaws, but couldn't you just execute "WHERE"? This may not work with 4.x, but I would think that it would tell you everything you need for a 3.x implementation. Of course, this is assuming we're talking programs EXECUTEing programs, which your question appears to state... -------------- Original message -------------- They don't have this in there 3.x releases but it is something they should add to to 4.x release. Jbase should also enhance triggers so you can know from the trigger subroutine what process called it such as JED, a subroutine, or an executable. -----Original Message----- From: Danny Ruckel [mailto:danny.ruckel@activant.com] Sent: Thursday, January 13, 2005 10:10 AM To: tech@listserver.jbase.com Subject: (no subject) All, Suppose I have a program, 'A', that calls program 'B', 'B' in turn calls 'C', and 'C' calls 'D'. Once I am in 'D', is there anyway to discover the entire "call history", i.e., that D was called by C was called by B was called by A? Exposing the endpoints, 'D' and 'A' is straightforward but I haven't been successful with the 'in between' calls. Thanks in advance your response, Danny Ruckel Notice: This transmission is for the sole use of the intended recipient(s) and may contain information that is confidential and/or privileged. If you are not the intended recipient, please delete this transmission and any attachments and notify the sender by return email immediately. Any unauthorized review, use, disclosure or distribution is prohibited. -- No virus found in this incoming message. Checked by AVG Anti-Virus. Version: 7.0.300 / Virus Database: 265.6.11 - Release Date: 1/12/2005 -- No virus found in this outgoing message. Checked by AVG Anti-Virus. Version: 7.0.300 / Virus Database: 265.6.11 - Release Date: 1/12/2005 -------------- next part -------------- An HTML attachment was scrubbed... URL: http://listserver.jbase.com/pipermail/tech/attachments/20050113/dcba1358/attachment-0001.htm From charlie.noah at inlandtruck.com Thu Jan 13 14:41:53 2005 From: charlie.noah at inlandtruck.com (Charlie Noah) Date: Thu Jan 13 14:42:00 2005 Subject: (no subject) In-Reply-To: References: Message-ID: <41E6CF01.8060409@inlandtruck.com> Jim, I wholeheartedly agree with you as far as executing commands like WHERE, etc., over and over. But your first statement worries me. Are you saying that we shouldn't EXECUTE 'SELECT........' in a program in order to get a list of IDs to process in a readnext loop? If so, what is a better way? Regards, Charlie Noah Inland Truck Parts Jim Idle wrote: > This information is available in 3.x, see earlier post. > > > > Always avoid an EXECUTE unless there is no other way to do things. If > there is no other way to do things, then ask yourself 2 or 3 times if > you need to do what you think you need to do ;-) > > > > EXECUTE of things like WHERE, SHOW-ITEM-LOCKS and so on are very > expensive. I have seen a lot of systems crippled by programs that > perform commands like this every 5 seconds ?in case? something goes > wrong. Be very afraid of using system level commands in such ways. > > > > Jim > > > > ------------------------------------------------------------------------ > > *From:* tech-bounces@listserver.jbase.com > [mailto:tech-bounces@listserver.jbase.com] *On Behalf Of > *brucewillmore@comcast.net > *Sent:* Thursday, January 13, 2005 10:54 AM > *To:* tech@listserver.jbase.com > *Subject:* RE: (no subject) > > > > I haven't thought this all the way through, so there may be flaws, but > couldn't you just execute "WHERE"? This may not work with 4.x, but I > would think that it would tell you everything you need for a 3.x > implementation. Of course, this is assuming we're talking programs > EXECUTEing programs, which your question appears to state... > > > > -------------- Original message -------------- > > They don't have this in there 3.x releases but it is something they > should add to to 4.x release. Jbase should also enhance triggers so > you can know from the trigger subroutine what process called it such > as JED, a subroutine, or an executable. > > -----Original Message----- > *From:* Danny Ruckel [mailto:danny.ruckel@activant.com] > *Sent:* Thursday, January 13, 2005 10:10 AM > *To:* tech@listserver.jbase.com > *Subject:* (no subject) > > All, > > > > Suppose I have a program, ?A?, that calls program ?B?, ?B? in > turn calls ?C?, and ?C? calls ?D?. > > > > Once I am in ?D?, is there anyway to discover the entire ?call > history?, i.e., that D was called by C was called by B was > called by A? Exposing the endpoints, ?D? and ?A? is > straightforward but I haven?t been successful with the ?in > between? calls. > > > > Thanks in advance your response, > > > > Danny Ruckel > > > > > > **Notice:** This transmission is for the sole use of the > intended recipient(s) and may contain information that is > confidential and/or privileged. > If you are not the intended recipient, please delete this > transmission and any attachments and notify the sender by return > email immediately. > Any unauthorized review, use, disclosure or distribution is > prohibited. > > > -- > No virus found in this incoming message. > Checked by AVG Anti-Virus. > Version: 7.0.300 / Virus Database: 265.6.11 - Release Date: 1/12/2005 > > > -- > No virus found in this outgoing message. > Checked by AVG Anti-Virus. > Version: 7.0.300 / Virus Database: 265.6.11 - Release Date: 1/12/2005 > From cbristol at carpartstechnologies.com Thu Jan 13 14:44:34 2005 From: cbristol at carpartstechnologies.com (Clif Bristol) Date: Thu Jan 13 14:44:42 2005 Subject: (no subject) Message-ID: <775445A4E871F048ADFD2FB51D09A59B74B7CE@cptex-01.carpartstechnologies.com> Well it is right however I did only ask dev support and not the listserver. I asked the question about a year or so ago in regaurds to triggers. I needed to know what process was calling the trigger i.e. JED. -----Original Message----- From: Jim Idle [mailto:jimi@temporal-wave.com] Sent: Thursday, January 13, 2005 11:32 AM To: tech@listserver.jbase.com Subject: RE: (no subject) Hmmm – this does not sound right. I have answered this question about 714 times myself, and I know that Devsup have answered it before now, which is why Dan knows the answer! Jim _____ From: tech-bounces@listserver.jbase.com [mailto:tech-bounces@listserver.jbase.com] On Behalf Of Clif Bristol Sent: Thursday, January 13, 2005 11:27 AM To: tech@listserver.jbase.com Subject: RE: (no subject) Thats amazing, I've asked this question more then once over the last couple of years to dev support and this is the first time someone gave me a way to do this. -----Original Message----- From: Dan Ell [mailto:dane@jbase.com] Sent: Thursday, January 13, 2005 11:04 AM To: tech@listserver.jbase.com Subject: RE: (no subject) OCONV('','U0016') will return the program stack as D C B A. You can then do a convert of spaces to @AM if that makes it easier. Dan -----Original Message----- From: tech-bounces@listserver.jbase.com [mailto:tech-bounces@listserver.jbase.com]On Behalf Of brucewillmore@comcast.net Sent: Thursday, January 13, 2005 1:54 PM To: tech@listserver.jbase.com Subject: RE: (no subject) I haven't thought this all the way through, so there may be flaws, but couldn't you just execute "WHERE"? This may not work with 4.x, but I would think that it would tell you everything you need for a 3.x implementation. Of course, this is assuming we're talking programs EXECUTEing programs, which your question appears to state... -------------- Original message -------------- They don't have this in there 3.x releases but it is something they should add to to 4.x release. Jbase should also enhance triggers so you can know from the trigger subroutine what process called it such as JED, a subroutine, or an executable. -----Original Message----- From: Danny Ruckel [mailto:danny.ruckel@activant.com] Sent: Thursday, January 13, 2005 10:10 AM To: tech@listserver.jbase.com Subject: (no subject) All, Suppose I have a program, 'A', that calls program 'B', 'B' in turn calls 'C', and 'C' calls 'D'. Once I am in 'D', is there anyway to discover the entire "call history", i.e., that D was called by C was called by B was called by A? Exposing the endpoints, 'D' and 'A' is straightforward but I haven't been successful with the 'in between' calls. Thanks in advance your response, Danny Ruckel Notice: This transmission is for the sole use of the intended recipient(s) and may contain information that is confidential and/or privileged. If you are not the intended recipient, please delete this transmission and any attachments and notify the sender by return email immediately. Any unauthorized review, use, disclosure or distribution is prohibited. -- No virus found in this incoming message. Checked by AVG Anti-Virus. Version: 7.0.300 / Virus Database: 265.6.11 - Release Date: 1/12/2005 -- No virus found in this outgoing message. Checked by AVG Anti-Virus. Version: 7.0.300 / Virus Database: 265.6.11 - Release Date: 1/12/2005 -------------- next part -------------- An HTML attachment was scrubbed... URL: http://listserver.jbase.com/pipermail/tech/attachments/20050113/4f990f31/attachment.htm From jimi at temporal-wave.com Thu Jan 13 15:18:40 2005 From: jimi at temporal-wave.com (Jim Idle) Date: Thu Jan 13 15:19:02 2005 Subject: (no subject) Message-ID: In a way I am saying this, though it is generally as fast to do that in 4.1 as it is to code in jBC. And, if you occasionally EXECUTE things outside loops, then who cares really, other than the general caveat of trying to avoid them in 3.x. In general though, you will get a faster batch program if rather than asking jQL to generate the list, you traverse the file yourself. For a start, you won’t need to read the items twice if attribute comparisons/criteria are relevant. If you are only reading the records, you can also use the fast file interface. There may be genuine reasons why items have to be traversed in some SORT order other than the natural hash - though these should be rare and usually there are not any such reasons. If the file is traversed in a sorted order, there may not be much difference. Jim > -----Original Message----- > From: tech-bounces@listserver.jbase.com [mailto:tech- > bounces@listserver.jbase.com] On Behalf Of Charlie Noah > Sent: Thursday, January 13, 2005 11:42 AM > To: tech@listserver.jbase.com > Subject: Re: (no subject) > > Jim, > > I wholeheartedly agree with you as far as executing commands like WHERE, > etc., over and over. But your first statement worries me. Are you saying > that we shouldn't EXECUTE 'SELECT........' in a program in order to get > a list of IDs to process in a readnext loop? If so, what is a better way? > > Regards, > Charlie Noah > Inland Truck Parts > > Jim Idle wrote: > > This information is available in 3.x, see earlier post. > > > > > > > > Always avoid an EXECUTE unless there is no other way to do things. If > > there is no other way to do things, then ask yourself 2 or 3 times if > > you need to do what you think you need to do ;-) > > > > > > > > EXECUTE of things like WHERE, SHOW-ITEM-LOCKS and so on are very > > expensive. I have seen a lot of systems crippled by programs that > > perform commands like this every 5 seconds ‘in case’ something goes > > wrong. Be very afraid of using system level commands in such ways. > > > > > > > > Jim > > > > > > > > ------------------------------------------------------------------------ > > > > *From:* tech-bounces@listserver.jbase.com > > [mailto:tech-bounces@listserver.jbase.com] *On Behalf Of > > *brucewillmore@comcast.net > > *Sent:* Thursday, January 13, 2005 10:54 AM > > *To:* tech@listserver.jbase.com > > *Subject:* RE: (no subject) > > > > > > > > I haven't thought this all the way through, so there may be flaws, but > > couldn't you just execute "WHERE"? This may not work with 4.x, but I > > would think that it would tell you everything you need for a 3.x > > implementation. Of course, this is assuming we're talking programs > > EXECUTEing programs, which your question appears to state... > > > > > > > > -------------- Original message -------------- > > > > They don't have this in there 3.x releases but it is something they > > should add to to 4.x release. Jbase should also enhance triggers so > > you can know from the trigger subroutine what process called it such > > as JED, a subroutine, or an executable. > > > > -----Original Message----- > > *From:* Danny Ruckel [mailto:danny.ruckel@activant.com] > > *Sent:* Thursday, January 13, 2005 10:10 AM > > *To:* tech@listserver.jbase.com > > *Subject:* (no subject) > > > > All, > > > > > > > > Suppose I have a program, ‘A’, that calls program ‘B’, ‘B’ in > > turn calls ‘C’, and ‘C’ calls ‘D’. > > > > > > > > Once I am in ‘D’, is there anyway to discover the entire “call > > history”, i.e., that D was called by C was called by B was > > called by A? Exposing the endpoints, ‘D’ and ‘A’ is > > straightforward but I haven’t been successful with the ‘in > > between’ calls. > > > > > > > > Thanks in advance your response, > > > > > > > > Danny Ruckel > > > > > > > > > > > > **Notice:** This transmission is for the sole use of the > > intended recipient(s) and may contain information that is > > confidential and/or privileged. > > If you are not the intended recipient, please delete this > > transmission and any attachments and notify the sender by return > > email immediately. > > Any unauthorized review, use, disclosure or distribution is > > prohibited. > > > > > > -- > > No virus found in this incoming message. > > Checked by AVG Anti-Virus. > > Version: 7.0.300 / Virus Database: 265.6.11 - Release Date: 1/12/2005 > > > > > > -- > > No virus found in this outgoing message. > > Checked by AVG Anti-Virus. > > Version: 7.0.300 / Virus Database: 265.6.11 - Release Date: 1/12/2005 > > > > > -- > No virus found in this incoming message. > Checked by AVG Anti-Virus. > Version: 7.0.300 / Virus Database: 265.6.11 - Release Date: 1/12/2005 > -- No virus found in this outgoing message. Checked by AVG Anti-Virus. Version: 7.0.300 / Virus Database: 265.6.11 - Release Date: 1/12/2005 From FFT2001 at aol.com Thu Jan 13 16:02:48 2005 From: FFT2001 at aol.com (FFT2001@aol.com) Date: Thu Jan 13 16:03:00 2005 Subject: When to use Execute was (no subject) Message-ID: <055734BA.74BFF91C.0014F243@aol.com> First can't someone fix the subject line?? gah!! Ok now on track, Jim I think you're not pointing out that SELECT's use dictionary defined entities. Some of these might be really nasty and also keeping the specifics out of BASIC means the dict item is only "defined" in one place. So I'd recommend executing selects instead of repeating the business logic of how to calculate "average cost" in fifty programs. Just my opinion. Will Johnson Fast Foward Technologies "In general though, you will get a faster batch program if rather than asking jQL to generate the list, you traverse the file yourself. For a start, you won?t need to read the items twice if attribute comparisons/criteria are relevant. If you are only reading the records, you can also use the fast file interface. There may be genuine reasons why items have to be traversed in some SORT order " From bradb at temporal-wave.com Thu Jan 13 16:14:07 2005 From: bradb at temporal-wave.com (Brad "Friar Tuck" Burleson) Date: Thu Jan 13 16:14:12 2005 Subject: (no subject) Message-ID: Now I'll be the first to admit that mistakes are made and sh*t happens that shouldn't - especially where I'm involved - but since you mentioned this Clif... I did a quick search of devsup archives and noted the following: 2004 - 20 emails to devsup 2003 - 11 emails to devsup 2002 - 16 emails to devsup 2001 - 26 emails to devsup And from a quick read of each mail, not once did I see the question below asked. Perhaps you did and the email history was lost - I know we've lost mail a few times over the past years. Not to come across as harsh, uncaring, and defensive - but the statement that devsup has never been able to provide this information after you've made multiple requests appears to be somewhat misleading. Brad. Brad J. Burleson jBASE Support ________________________________ From: tech-bounces@listserver.jbase.com [mailto:tech-bounces@listserver.jbase.com] On Behalf Of Clif Bristol Sent: Thursday, January 13, 2005 11:27 AM To: tech@listserver.jbase.com Subject: RE: (no subject) Thats amazing, I've asked this question more then once over the last couple of years to dev support and this is the first time someone gave me a way to do this. -----Original Message----- From: Dan Ell [mailto:dane@jbase.com] Sent: Thursday, January 13, 2005 11:04 AM To: tech@listserver.jbase.com Subject: RE: (no subject) OCONV('','U0016') will return the program stack as D C B A. You can then do a convert of spaces to @AM if that makes it easier. Dan -----Original Message----- From: tech-bounces@listserver.jbase.com [mailto:tech-bounces@listserver.jbase.com]On Behalf Of brucewillmore@comcast.net Sent: Thursday, January 13, 2005 1:54 PM To: tech@listserver.jbase.com Subject: RE: (no subject) I haven't thought this all the way through, so there may be flaws, but couldn't you just execute "WHERE"? This may not work with 4.x, but I would think that it would tell you everything you need for a 3.x implementation. Of course, this is assuming we're talking programs EXECUTEing programs, which your question appears to state... -------------- Original message -------------- They don't have this in there 3.x releases but it is something they should add to to 4.x release. Jbase should also enhance triggers so you can know from the trigger subroutine what process called it such as JED, a subroutine, or an executable. -----Original Message----- From: Danny Ruckel [mailto:danny.ruckel@activant.com] Sent: Thursday, January 13, 2005 10:10 AM To: tech@listserver.jbase.com Subject: (no subject) All, Suppose I have a program, 'A', that calls program 'B', 'B' in turn calls 'C', and 'C' calls 'D'. Once I am in 'D', is there anyway to discover the entire "call history", i.e., that D was called by C was called by B was called by A? Exposing the endpoints, 'D' and 'A' is straightforward but I haven't been successful with the 'in between' calls. Thanks in advance your response, Danny Ruckel Notice: This transmission is for the sole use of the intended recipient(s) and may contain information that is confidential and/or privileged. If you are not the intended recipient, please delete this transmission and any attachments and notify the sender by return email immediately. Any unauthorized review, use, disclosure or distribution is prohibited. -------------- next part -------------- An HTML attachment was scrubbed... URL: http://listserver.jbase.com/pipermail/tech/attachments/20050113/9491c2a1/attachment.htm From dick.thiot at gmail.com Thu Jan 13 16:21:09 2005 From: dick.thiot at gmail.com (Dick Thiot) Date: Thu Jan 13 16:21:13 2005 Subject: (no subject) In-Reply-To: References: Message-ID: Jim, You mention that it should be a rare case that files need to be traversed in an order other than natural hash. While I readily admit that you have forgotten volumes more information about jBASE than I will ever know (and quickly forget) I can think of a case that I use sorted lists regularly and that is where I still have to generate some form of a report output whether to a printer or some other media. This enables for breaking on sorted criteria. Is there a better way to do this sort of thing or doesn't anyone generate report (uer query) type processes? Dick On Thu, 13 Jan 2005 12:18:40 -0800, Jim Idle wrote: > In a way I am saying this, though it is generally as fast to do that in 4.1 as it is to code in jBC. And, if you occasionally EXECUTE things outside loops, then who cares really, other than the general caveat of trying to avoid them in 3.x. > > In general though, you will get a faster batch program if rather than asking jQL to generate the list, you traverse the file yourself. For a start, you won't need to read the items twice if attribute comparisons/criteria are relevant. If you are only reading the records, you can also use the fast file interface. > > There may be genuine reasons why items have to be traversed in some SORT order other than the natural hash - though these should be rare and usually there are not any such reasons. If the file is traversed in a sorted order, there may not be much difference. > > Jim > > > -----Original Message----- > > From: tech-bounces@listserver.jbase.com [mailto:tech- > > bounces@listserver.jbase.com] On Behalf Of Charlie Noah > > Sent: Thursday, January 13, 2005 11:42 AM > > To: tech@listserver.jbase.com > > Subject: Re: (no subject) > > > > Jim, > > > > I wholeheartedly agree with you as far as executing commands like WHERE, > > etc., over and over. But your first statement worries me. Are you saying > > that we shouldn't EXECUTE 'SELECT........' in a program in order to get > > a list of IDs to process in a readnext loop? If so, what is a better way? > > > > Regards, > > Charlie Noah > > Inland Truck Parts > > > > Jim Idle wrote: > > > This information is available in 3.x, see earlier post. > > > > > > > > > > > > Always avoid an EXECUTE unless there is no other way to do things. If > > > there is no other way to do things, then ask yourself 2 or 3 times if > > > you need to do what you think you need to do ;-) > > > > > > > > > > > > EXECUTE of things like WHERE, SHOW-ITEM-LOCKS and so on are very > > > expensive. I have seen a lot of systems crippled by programs that > > > perform commands like this every 5 seconds 'in case' something goes > > > wrong. Be very afraid of using system level commands in such ways. > > > > > > > > > > > > Jim > > > > > > > > > > > > ------------------------------------------------------------------------ > > > > > > *From:* tech-bounces@listserver.jbase.com > > > [mailto:tech-bounces@listserver.jbase.com] *On Behalf Of > > > *brucewillmore@comcast.net > > > *Sent:* Thursday, January 13, 2005 10:54 AM > > > *To:* tech@listserver.jbase.com > > > *Subject:* RE: (no subject) > > > > > > > > > > > > I haven't thought this all the way through, so there may be flaws, but > > > couldn't you just execute "WHERE"? This may not work with 4.x, but I > > > would think that it would tell you everything you need for a 3.x > > > implementation. Of course, this is assuming we're talking programs > > > EXECUTEing programs, which your question appears to state... > > > > > > > > > > > > -------------- Original message -------------- > > > > > > They don't have this in there 3.x releases but it is something they > > > should add to to 4.x release. Jbase should also enhance triggers so > > > you can know from the trigger subroutine what process called it such > > > as JED, a subroutine, or an executable. > > > > > > -----Original Message----- > > > *From:* Danny Ruckel [mailto:danny.ruckel@activant.com] > > > *Sent:* Thursday, January 13, 2005 10:10 AM > > > *To:* tech@listserver.jbase.com > > > *Subject:* (no subject) > > > > > > All, > > > > > > > > > > > > Suppose I have a program, 'A', that calls program 'B', 'B' in > > > turn calls 'C', and 'C' calls 'D'. > > > > > > > > > > > > Once I am in 'D', is there anyway to discover the entire "call > > > history", i.e., that D was called by C was called by B was > > > called by A? Exposing the endpoints, 'D' and 'A' is > > > straightforward but I haven't been successful with the 'in > > > between' calls. > > > > > > > > > > > > Thanks in advance your response, > > > > > > > > > > > > Danny Ruckel > > > > > > > > > > > > > > > > > > **Notice:** This transmission is for the sole use of the > > > intended recipient(s) and may contain information that is > > > confidential and/or privileged. > > > If you are not the intended recipient, please delete this > > > transmission and any attachments and notify the sender by return > > > email immediately. > > > Any unauthorized review, use, disclosure or distribution is > > > prohibited. > > > > > > > > > -- > > > No virus found in this incoming message. > > > Checked by AVG Anti-Virus. > > > Version: 7.0.300 / Virus Database: 265.6.11 - Release Date: 1/12/2005 > > > > > > > > > -- > > > No virus found in this outgoing message. > > > Checked by AVG Anti-Virus. > > > Version: 7.0.300 / Virus Database: 265.6.11 - Release Date: 1/12/2005 > > > > > > > > > -- > > No virus found in this incoming message. > > Checked by AVG Anti-Virus. > > Version: 7.0.300 / Virus Database: 265.6.11 - Release Date: 1/12/2005 > > > > -- > No virus found in this outgoing message. > Checked by AVG Anti-Virus. > Version: 7.0.300 / Virus Database: 265.6.11 - Release Date: 1/12/2005 > > From doug.chanco at activant.com Thu Jan 13 16:22:45 2005 From: doug.chanco at activant.com (Doug Chanco) Date: Thu Jan 13 16:23:01 2005 Subject: (no subject) Message-ID: <08BF8C21477B3A449ED45635C75A307C03310CEB@exch3-dc-aus.northamerica.corporate-domain.net> Personally the responses I have gotten from DEVSUP have been (for the most part) pretty good and timely, I would like to especially sing the praises of both Brad and Dan E who have been more than helpful!! Sadly I cannot sing, but if I could I would belt out a song and it would also include Jim ....... I would agree that sometimes things do get missed by Devsup but I would wager its due to email overload than to not caring or wanting to help ........ dougc _________________________________ Doug Chanco Engineer Developer 2nd class, Ultimate Activant Solutions Inc.(tm) Austin, Texas 78746 T: 512-278-5426 F: 512-278-5915 E-mail: doug.chanco@activant.com Web site: www.activant.com _________________________________ ________________________________ From: tech-bounces@listserver.jbase.com [mailto:tech-bounces@listserver.jbase.com] On Behalf Of Brad "Friar Tuck" Burleson Sent: Thursday, January 13, 2005 3:14 PM To: tech@listserver.jbase.com Subject: RE: (no subject) Now I'll be the first to admit that mistakes are made and sh*t happens that shouldn't - especially where I'm involved - but since you mentioned this Clif... I did a quick search of devsup archives and noted the following: 2004 - 20 emails to devsup 2003 - 11 emails to devsup 2002 - 16 emails to devsup 2001 - 26 emails to devsup And from a quick read of each mail, not once did I see the question below asked. Perhaps you did and the email history was lost - I know we've lost mail a few times over the past years. Not to come across as harsh, uncaring, and defensive - but the statement that devsup has never been able to provide this information after you've made multiple requests appears to be somewhat misleading. Brad. Brad J. Burleson jBASE Support ________________________________ From: tech-bounces@listserver.jbase.com [mailto:tech-bounces@listserver.jbase.com] On Behalf Of Clif Bristol Sent: Thursday, January 13, 2005 11:27 AM To: tech@listserver.jbase.com Subject: RE: (no subject) Thats amazing, I've asked this question more then once over the last couple of years to dev support and this is the first time someone gave me a way to do this. -----Original Message----- From: Dan Ell [mailto:dane@jbase.com] Sent: Thursday, January 13, 2005 11:04 AM To: tech@listserver.jbase.com Subject: RE: (no subject) OCONV('','U0016') will return the program stack as D C B A. You can then do a convert of spaces to @AM if that makes it easier. Dan -----Original Message----- From: tech-bounces@listserver.jbase.com [mailto:tech-bounces@listserver.jbase.com]On Behalf Of brucewillmore@comcast.net Sent: Thursday, January 13, 2005 1:54 PM To: tech@listserver.jbase.com Subject: RE: (no subject) I haven't thought this all the way through, so there may be flaws, but couldn't you just execute "WHERE"? This may not work with 4.x, but I would think that it would tell you everything you need for a 3.x implementation. Of course, this is assuming we're talking programs EXECUTEing programs, which your question appears to state... -------------- Original message -------------- They don't have this in there 3.x releases but it is something they should add to to 4.x release. Jbase should also enhance triggers so you can know from the trigger subroutine what process called it such as JED, a subroutine, or an executable. -----Original Message----- From: Danny Ruckel [mailto:danny.ruckel@activant.com] Sent: Thursday, January 13, 2005 10:10 AM To: tech@listserver.jbase.com Subject: (no subject) All, Suppose I have a program, 'A', that calls program 'B', 'B' in turn calls 'C', and 'C' calls 'D'. Once I am in 'D', is there anyway to discover the entire "call history", i.e., that D was called by C was called by B was called by A? Exposing the endpoints, 'D' and 'A' is straightforward but I haven't been successful with the 'in between' calls. Thanks in advance your response, Danny Ruckel Notice: This transmission is for the sole use of the intended recipient(s) and may contain information that is confidential and/or privileged. If you are not the intended recipient, please delete this transmission and any attachments and notify the sender by return email immediately. Any unauthorized review, use, disclosure or distribution is prohibited. Notice: This transmission is for the sole use of the intended recipient(s) and may contain information that is confidential and/or privileged. If you are not the intended recipient, please delete this transmission and any attachments and notify the sender by return email immediately. Any unauthorized review, use, disclosure or distribution is prohibited. -------------- next part -------------- An HTML attachment was scrubbed... URL: http://listserver.jbase.com/pipermail/tech/attachments/20050113/5f8a7b67/attachment.htm From Jimh at gtsservices.com Thu Jan 13 16:29:28 2005 From: Jimh at gtsservices.com (Jim Holloway) Date: Thu Jan 13 16:29:36 2005 Subject: (no subject) Message-ID: touch?; I hope Clif was wearing his asbestos panties for that one ________________________________ From: tech-bounces@listserver.jbase.com [mailto:tech-bounces@listserver.jbase.com] On Behalf Of Brad "Friar Tuck" Burleson Sent: Thursday, January 13, 2005 1:14 PM To: tech@listserver.jbase.com Subject: RE: (no subject) Now I'll be the first to admit that mistakes are made and sh*t happens that shouldn't - especially where I'm involved - but since you mentioned this Clif... I did a quick search of devsup archives and noted the following: 2004 - 20 emails to devsup 2003 - 11 emails to devsup 2002 - 16 emails to devsup 2001 - 26 emails to devsup And from a quick read of each mail, not once did I see the question below asked. Perhaps you did and the email history was lost - I know we've lost mail a few times over the past years. Not to come across as harsh, uncaring, and defensive - but the statement that devsup has never been able to provide this information after you've made multiple requests appears to be somewhat misleading. Brad. Brad J. Burleson jBASE Support ________________________________ From: tech-bounces@listserver.jbase.com [mailto:tech-bounces@listserver.jbase.com] On Behalf Of Clif Bristol Sent: Thursday, January 13, 2005 11:27 AM To: tech@listserver.jbase.com Subject: RE: (no subject) Thats amazing, I've asked this question more then once over the last couple of years to dev support and this is the first time someone gave me a way to do this. -----Original Message----- From: Dan Ell [mailto:dane@jbase.com] Sent: Thursday, January 13, 2005 11:04 AM To: tech@listserver.jbase.com Subject: RE: (no subject) OCONV('','U0016') will return the program stack as D C B A. You can then do a convert of spaces to @AM if that makes it easier. Dan -----Original Message----- From: tech-bounces@listserver.jbase.com [mailto:tech-bounces@listserver.jbase.com]On Behalf Of brucewillmore@comcast.net Sent: Thursday, January 13, 2005 1:54 PM To: tech@listserver.jbase.com Subject: RE: (no subject) I haven't thought this all the way through, so there may be flaws, but couldn't you just execute "WHERE"? This may not work with 4.x, but I would think that it would tell you everything you need for a 3.x implementation. Of course, this is assuming we're talking programs EXECUTEing programs, which your question appears to state... -------------- Original message -------------- They don't have this in there 3.x releases but it is something they should add to to 4.x release. Jbase should also enhance triggers so you can know from the trigger subroutine what process called it such as JED, a subroutine, or an executable. -----Original Message----- From: Danny Ruckel [mailto:danny.ruckel@activant.com] Sent: Thursday, January 13, 2005 10:10 AM To: tech@listserver.jbase.com Subject: (no subject) All, Suppose I have a program, 'A', that calls program 'B', 'B' in turn calls 'C', and 'C' calls 'D'. Once I am in 'D', is there anyway to discover the entire "call history", i.e., that D was called by C was called by B was called by A? Exposing the endpoints, 'D' and 'A' is straightforward but I haven't been successful with the 'in between' calls. Thanks in advance your response, Danny Ruckel Notice: This transmission is for the sole use of the intended recipient(s) and may contain information that is confidential and/or privileged. If you are not the intended recipient, please delete this transmission and any attachments and notify the sender by return email immediately. Any unauthorized review, use, disclosure or distribution is prohibited. -------------- next part -------------- An HTML attachment was scrubbed... URL: http://listserver.jbase.com/pipermail/tech/attachments/20050113/15c811a6/attachment.htm From bob at rjoslyn.com Thu Jan 13 16:35:56 2005 From: bob at rjoslyn.com (BobJ) Date: Thu Jan 13 16:36:10 2005 Subject: When to use Execute was (no subject) References: <055734BA.74BFF91C.0014F243@aol.com> Message-ID: <001e01c4f9b7$df245c50$a500a8c0@bob> Three comments about the latest post. First, who would code the same logic into fifty programs instead of calling a subroutine? Even ancient Pick Programmers know more about OOP than to do that! Secondly, the real reason for using and internal select as opposed to executing a select on 3.xx probably has more to do with how the executed select is executing (a basic program I believe but I'm not sure) than anything to do with a dictionary. EXECUTE "SELECT SOMEFILE" without modifiers or qualifiers probably does not look at the dictionary. The internal SELECT in a basic program is pretty swift. And perhaps it is swifter than the executed select because it does not have to look at every Item ID before it gives you something to work with. There is a danger if you are writing and deleting to the same file. At least there WAS danger with earlier platforms, that you would stumble over your newly written item or, possibly worse, end up skipping some items because of group changes. That may or may not apply to internal select in 3.xx. Perhaps Jim will comment on that because it would be nice to know. I'm making a couple of assumptions and that's always dangerous. One assumption is that the information that someone gave me that much of the SSELECT and similar in 3.xx was written in Basic and thus is not as fast as it could be is actually correct. The other is that this was changed with 4.xx. And finally, jBase support is not perfect because it is supplied by humans but I have never failed to get a good answer and a swift answer to every question I ever asked - even the dumb ones. BobJ One of only two programmers who can not read and understand the Save and Restore documentation. ----- Original Message ----- From: To: Sent: Thursday, January 13, 2005 4:02 PM Subject: RE: When to use Execute was (no subject) > First can't someone fix the subject line?? gah!! > > Ok now on track, Jim I think you're not pointing out that SELECT's use > dictionary defined entities. Some of these might be really nasty and also > keeping the specifics out of BASIC means the dict item is only "defined" > in one place. So I'd recommend executing selects instead of repeating the > business logic of how to calculate "average cost" in fifty programs. Just > my opinion. > Will Johnson > Fast Foward Technologies > > > > "In general though, you will get a faster batch program if rather than > asking jQL to generate the list, you traverse the file yourself. For a > start, you won?t need to read the items twice if attribute > comparisons/criteria are relevant. If you are only reading the records, > you can also use the fast file interface. > > There may be genuine reasons why items have to be traversed in some SORT > order " > From jimi at temporal-wave.com Thu Jan 13 16:40:21 2005 From: jimi at temporal-wave.com (Jim Idle) Date: Thu Jan 13 16:40:24 2005 Subject: When to use Execute was (no subject) Message-ID: Depends on: 1) How often a program is run; 2) How important execution speed is in the first place; 3) Whether the dictionary entries are used anywhere else. I would vastly prefer to use jBC than F correlatives! Also because you can call jBC subroutines from dictionary entries, it is easy to generate common code for the both I would think. 4) You certainly would not duplicate logic in 50 programs whether you were coding in jBC or replacing dictionary based logic!!! ;-) Jim > -----Original Message----- > From: tech-bounces@listserver.jbase.com [mailto:tech- > bounces@listserver.jbase.com] On Behalf Of FFT2001@aol.com > Sent: Thursday, January 13, 2005 1:03 PM > To: tech@listserver.jbase.com > Subject: RE: When to use Execute was (no subject) > > First can't someone fix the subject line?? gah!! > > Ok now on track, Jim I think you're not pointing out that SELECT's use > dictionary defined entities. Some of these might be really nasty and also > keeping the specifics out of BASIC means the dict item is only "defined" > in one place. So I'd recommend executing selects instead of repeating the > business logic of how to calculate "average cost" in fifty programs. Just > my opinion. > Will Johnson > Fast Foward Technologies > > > > "In general though, you will get a faster batch program if rather than > asking jQL to generate the list, you traverse the file yourself. For a > start, you won’t need to read the items twice if attribute > comparisons/criteria are relevant. If you are only reading the records, > you can also use the fast file interface. > > There may be genuine reasons why items have to be traversed in some SORT > order " > > -- > No virus found in this incoming message. > Checked by AVG Anti-Virus. > Version: 7.0.300 / Virus Database: 265.6.11 - Release Date: 1/12/2005 > -- No virus found in this outgoing message. Checked by AVG Anti-Virus. Version: 7.0.300 / Virus Database: 265.6.11 - Release Date: 1/12/2005 From jimi at temporal-wave.com Thu Jan 13 16:43:12 2005 From: jimi at temporal-wave.com (Jim Idle) Date: Thu Jan 13 16:43:13 2005 Subject: (no subject) Message-ID: Dick, No, you are correct. If your report cannot be produced in any other way than by traversing the file in a sorted order, then you have no choice and these are the kinds of things I am referring to. Indexes may help you if you can put the data you require in an index, and so on so forth. We have covered this in the past in laborious detail!!! ;-) Jim > -----Original Message----- > From: tech-bounces@listserver.jbase.com [mailto:tech- > bounces@listserver.jbase.com] On Behalf Of Dick Thiot > Sent: Thursday, January 13, 2005 1:21 PM > To: tech@listserver.jbase.com > Subject: Re: (no subject) > > Jim, > > You mention that it should be a rare case that files need to be > traversed in an order other than natural hash. While I readily admit > that you have forgotten volumes more information about jBASE than I > will ever know (and quickly forget) I can think of a case that I use > sorted lists regularly and that is where I still have to generate some > form of a report output whether to a printer or some other media. > This enables for breaking on sorted criteria. Is there a better way > to do this sort of thing or doesn't anyone generate report (uer query) > type processes? > > Dick > > On Thu, 13 Jan 2005 12:18:40 -0800, Jim Idle > wrote: > > In a way I am saying this, though it is generally as fast to do that in > 4.1 as it is to code in jBC. And, if you occasionally EXECUTE things > outside loops, then who cares really, other than the general caveat of > trying to avoid them in 3.x. > > > > In general though, you will get a faster batch program if rather than > asking jQL to generate the list, you traverse the file yourself. For a > start, you won't need to read the items twice if attribute > comparisons/criteria are relevant. If you are only reading the records, > you can also use the fast file interface. > > > > There may be genuine reasons why items have to be traversed in some SORT > order other than the natural hash - though these should be rare and > usually there are not any such reasons. If the file is traversed in a > sorted order, there may not be much difference. > > > > Jim > > > > > -----Original Message----- > > > From: tech-bounces@listserver.jbase.com [mailto:tech- > > > bounces@listserver.jbase.com] On Behalf Of Charlie Noah > > > Sent: Thursday, January 13, 2005 11:42 AM > > > To: tech@listserver.jbase.com > > > Subject: Re: (no subject) > > > > > > Jim, > > > > > > I wholeheartedly agree with you as far as executing commands like > WHERE, > > > etc., over and over. But your first statement worries me. Are you > saying > > > that we shouldn't EXECUTE 'SELECT........' in a program in order to > get > > > a list of IDs to process in a readnext loop? If so, what is a better > way? > > > > > > Regards, > > > Charlie Noah > > > Inland Truck Parts > > > > > > Jim Idle wrote: > > > > This information is available in 3.x, see earlier post. > > > > > > > > > > > > > > > > Always avoid an EXECUTE unless there is no other way to do things. > If > > > > there is no other way to do things, then ask yourself 2 or 3 times > if > > > > you need to do what you think you need to do ;-) > > > > > > > > > > > > > > > > EXECUTE of things like WHERE, SHOW-ITEM-LOCKS and so on are very > > > > expensive. I have seen a lot of systems crippled by programs that > > > > perform commands like this every 5 seconds 'in case' something goes > > > > wrong. Be very afraid of using system level commands in such ways. > > > > > > > > > > > > > > > > Jim > > > > > > > > > > > > > > > > -------------------------------------------------------------------- > ---- > > > > > > > > *From:* tech-bounces@listserver.jbase.com > > > > [mailto:tech-bounces@listserver.jbase.com] *On Behalf Of > > > > *brucewillmore@comcast.net > > > > *Sent:* Thursday, January 13, 2005 10:54 AM > > > > *To:* tech@listserver.jbase.com > > > > *Subject:* RE: (no subject) > > > > > > > > > > > > > > > > I haven't thought this all the way through, so there may be flaws, > but > > > > couldn't you just execute "WHERE"? This may not work with 4.x, but I > > > > would think that it would tell you everything you need for a 3.x > > > > implementation. Of course, this is assuming we're talking programs > > > > EXECUTEing programs, which your question appears to state... > > > > > > > > > > > > > > > > -------------- Original message -------------- > > > > > > > > They don't have this in there 3.x releases but it is something > they > > > > should add to to 4.x release. Jbase should also enhance triggers > so > > > > you can know from the trigger subroutine what process called it > such > > > > as JED, a subroutine, or an executable. > > > > > > > > -----Original Message----- > > > > *From:* Danny Ruckel [mailto:danny.ruckel@activant.com] > > > > *Sent:* Thursday, January 13, 2005 10:10 AM > > > > *To:* tech@listserver.jbase.com > > > > *Subject:* (no subject) > > > > > > > > All, > > > > > > > > > > > > > > > > Suppose I have a program, 'A', that calls program 'B', 'B' > in > > > > turn calls 'C', and 'C' calls 'D'. > > > > > > > > > > > > > > > > Once I am in 'D', is there anyway to discover the entire > "call > > > > history", i.e., that D was called by C was called by B was > > > > called by A? Exposing the endpoints, 'D' and 'A' is > > > > straightforward but I haven't been successful with the 'in > > > > between' calls. > > > > > > > > > > > > > > > > Thanks in advance your response, > > > > > > > > > > > > > > > > Danny Ruckel > > > > > > > > > > > > > > > > > > > > > > > > **Notice:** This transmission is for the sole use of the > > > > intended recipient(s) and may contain information that is > > > > confidential and/or privileged. > > > > If you are not the intended recipient, please delete this > > > > transmission and any attachments and notify the sender by > return > > > > email immediately. > > > > Any unauthorized review, use, disclosure or distribution is > > > > prohibited. > > > > > > > > > > > > -- > > > > No virus found in this incoming message. > > > > Checked by AVG Anti-Virus. > > > > Version: 7.0.300 / Virus Database: 265.6.11 - Release Date: > 1/12/2005 > > > > > > > > > > > > -- > > > > No virus found in this outgoing message. > > > > Checked by AVG Anti-Virus. > > > > Version: 7.0.300 / Virus Database: 265.6.11 - Release Date: > 1/12/2005 > > > > > > > > > > > > > -- > > > No virus found in this incoming message. > > > Checked by AVG Anti-Virus. > > > Version: 7.0.300 / Virus Database: 265.6.11 - Release Date: 1/12/2005 > > > > > > > -- > > No virus found in this outgoing message. > > Checked by AVG Anti-Virus. > > Version: 7.0.300 / Virus Database: 265.6.11 - Release Date: 1/12/2005 > > > > > > -- > No virus found in this incoming message. > Checked by AVG Anti-Virus. > Version: 7.0.300 / Virus Database: 265.6.11 - Release Date: 1/12/2005 > -- No virus found in this outgoing message. Checked by AVG Anti-Virus. Version: 7.0.300 / Virus Database: 265.6.11 - Release Date: 1/12/2005 From jimi at temporal-wave.com Thu Jan 13 16:44:20 2005 From: jimi at temporal-wave.com (Jim Idle) Date: Thu Jan 13 16:44:21 2005 Subject: (no subject) Message-ID: There was a young fellow from Leeds, Who swallowed a packet of seeds, Within half an hour…. Censored …. Jim _____ From: tech-bounces@listserver.jbase.com [mailto:tech-bounces@listserver.jbase.com] On Behalf Of Doug Chanco Sent: Thursday, January 13, 2005 1:23 PM To: tech@listserver.jbase.com Subject: RE: (no subject) Personally the responses I have gotten from DEVSUP have been (for the most part) pretty good and timely, I would like to especially sing the praises of both Brad and Dan E who have been more than helpful!! Sadly I cannot sing, but if I could I would belt out a song and it would also include Jim ……. I would agree that sometimes things do get missed by Devsup but I would wager its due to email overload than to not caring or wanting to help …….. dougc _________________________________ Doug Chanco Engineer Developer 2nd class, Ultimate Activant Solutions Inc.™ Austin, Texas 78746 T: 512-278-5426 F: 512-278-5915 E-mail: doug.chancoHYPERLINK "mailto:doug.chanco@activant.com"@activant.com Web site: HYPERLINK "http://www.activant.com/"www.activant.com _________________________________ _____ From: tech-bounces@listserver.jbase.com [mailto:tech-bounces@listserver.jbase.com] On Behalf Of Brad "Friar Tuck" Burleson Sent: Thursday, January 13, 2005 3:14 PM To: tech@listserver.jbase.com Subject: RE: (no subject) Now I’ll be the first to admit that mistakes are made and sh*t happens that shouldn’t – especially where I’m involved - but since you mentioned this Clif… I did a quick search of devsup archives and noted the following: 2004 - 20 emails to devsup 2003 - 11 emails to devsup 2002 - 16 emails to devsup 2001 - 26 emails to devsup And from a quick read of each mail, not once did I see the question below asked. Perhaps you did and the email history was lost – I know we’ve lost mail a few times over the past years. Not to come across as harsh, uncaring, and defensive – but the statement that devsup has never been able to provide this information after you’ve made multiple requests appears to be somewhat misleading. Brad. Brad J. Burleson jBASE Support _____ From: tech-bounces@listserver.jbase.com [mailto:tech-bounces@listserver.jbase.com] On Behalf Of Clif Bristol Sent: Thursday, January 13, 2005 11:27 AM To: tech@listserver.jbase.com Subject: RE: (no subject) Thats amazing, I've asked this question more then once over the last couple of years to dev support and this is the first time someone gave me a way to do this. -----Original Message----- From: Dan Ell [mailto:dane@jbase.com] Sent: Thursday, January 13, 2005 11:04 AM To: tech@listserver.jbase.com Subject: RE: (no subject) OCONV('','U0016') will return the program stack as D C B A. You can then do a convert of spaces to @AM if that makes it easier. Dan -----Original Message----- From: tech-bounces@listserver.jbase.com [mailto:tech-bounces@listserver.jbase.com]On Behalf Of brucewillmore@comcast.net Sent: Thursday, January 13, 2005 1:54 PM To: tech@listserver.jbase.com Subject: RE: (no subject) I haven't thought this all the way through, so there may be flaws, but couldn't you just execute "WHERE"? This may not work with 4.x, but I would think that it would tell you everything you need for a 3.x implementation. Of course, this is assuming we're talking programs EXECUTEing programs, which your question appears to state... -------------- Original message -------------- They don't have this in there 3.x releases but it is something they should add to to 4.x release. Jbase should also enhance triggers so you can know from the trigger subroutine what process called it such as JED, a subroutine, or an executable. -----Original Message----- From: Danny Ruckel [mailto:danny.ruckel@activant.com] Sent: Thursday, January 13, 2005 10:10 AM To: tech@listserver.jbase.com Subject: (no subject) All, Suppose I have a program, 'A', that calls program 'B', 'B' in turn calls 'C', and 'C' calls 'D'. Once I am in 'D', is there anyway to discover the entire "call history", i.e., that D was called by C was called by B was called by A? Exposing the endpoints, 'D' and 'A' is straightforward but I haven't been successful with the 'in between' calls. Thanks in advance your response, Danny Ruckel Notice: This transmission is for the sole use of the intended recipient(s) and may contain information that is confidential and/or privileged. If you are not the intended recipient, please delete this transmission and any attachments and notify the sender by return email immediately. Any unauthorized review, use, disclosure or distribution is prohibited. Notice: This transmission is for the sole use of the intended recipient(s) and may contain information that is confidential and/or privileged. If you are not the intended recipient, please delete this transmission and any attachments and notify the sender by return email immediately. Any unauthorized review, use, disclosure or distribution is prohibited. -- No virus found in this incoming message. Checked by AVG Anti-Virus. Version: 7.0.300 / Virus Database: 265.6.11 - Release Date: 1/12/2005 -- No virus found in this outgoing message. Checked by AVG Anti-Virus. Version: 7.0.300 / Virus Database: 265.6.11 - Release Date: 1/12/2005 -------------- next part -------------- An HTML attachment was scrubbed... URL: http://listserver.jbase.com/pipermail/tech/attachments/20050113/e86618a3/attachment.htm From doug.chanco at activant.com Thu Jan 13 16:45:33 2005 From: doug.chanco at activant.com (Doug Chanco) Date: Thu Jan 13 16:45:46 2005 Subject: (no subject) Message-ID: <08BF8C21477B3A449ED45635C75A307C03310CEC@exch3-dc-aus.northamerica.corporate-domain.net> Jim, You responses are so quick, it is raining there in Florida or do you have a laptop on the golf course and are answering questions between holes? If so how are you doing? dougc _________________________________ Doug Chanco Engineer Developer 2nd class, Ultimate Activant Solutions Inc.(tm) Austin, Texas 78746 T: 512-278-5426 F: 512-278-5915 E-mail: doug.chanco@activant.com Web site: www.activant.com _________________________________ -----Original Message----- From: tech-bounces@listserver.jbase.com [mailto:tech-bounces@listserver.jbase.com] On Behalf Of Jim Idle Sent: Thursday, January 13, 2005 3:43 PM To: tech@listserver.jbase.com Subject: RE: (no subject) Dick, No, you are correct. If your report cannot be produced in any other way than by traversing the file in a sorted order, then you have no choice and these are the kinds of things I am referring to. Indexes may help you if you can put the data you require in an index, and so on so forth. We have covered this in the past in laborious detail!!! ;-) Jim > -----Original Message----- > From: tech-bounces@listserver.jbase.com [mailto:tech- > bounces@listserver.jbase.com] On Behalf Of Dick Thiot > Sent: Thursday, January 13, 2005 1:21 PM > To: tech@listserver.jbase.com > Subject: Re: (no subject) > > Jim, > > You mention that it should be a rare case that files need to be > traversed in an order other than natural hash. While I readily admit > that you have forgotten volumes more information about jBASE than I > will ever know (and quickly forget) I can think of a case that I use > sorted lists regularly and that is where I still have to generate some > form of a report output whether to a printer or some other media. > This enables for breaking on sorted criteria. Is there a better way > to do this sort of thing or doesn't anyone generate report (uer query) > type processes? > > Dick > > On Thu, 13 Jan 2005 12:18:40 -0800, Jim Idle > wrote: > > In a way I am saying this, though it is generally as fast to do that ECUTE things > outside loops, then who cares really, other than the general caveat of > trying to avoid them in 3.x. > > > > In general though, you will get a faster batch program if rather than > asking jQL to generate the list, you traverse the file yourself. For a > start, you won't need to read the items twice if attribute > comparisons/criteria are relevant. If you are only reading the records, > you can also use the fast file interface. > > > > There may be genuine reasons why items have to be traversed in some SORT > order other than the natural hash - though these should be rare and > usually there are not any such reasons. If the file is traversed in a > sorted order, there may not be much difference. > > > > Jim > > > > > -----Original Message----- > > > From: tech-bounces@listserver.jbase.com [mailto:tech- > > > bounces@listserver.jbase.com] On Behalf Of Charlie Noah > > > Sent: Thursday, January 13, 2005 11:42 AM > > > To: tech@listserver.jbase.com > > > Subject: Re: (no subject) > > > > > > Jim, > > > > > > I wholeheartedly agree with you as far as executing commands like > WHERE, > > > etc., over and over. But your first statement worries me. Are you > saying > > > that we shouldn't EXECUTE 'SELECT........' in a program in order to > get > > > a list of IDs to process in a readnext loop? If so, what is a better > way? > > > > > > Regards, > > > Charlie Noah > > > Inland Truck Parts > > > > > > Jim Idle wrote: > > > > This information is available in 3.x, see earlier post. > > > > > > > > > > > > > > > > Always avoid an EXECUTE unless there is no other way to do things. > If > > > > there is no other way to do things, then ask yourself 2 or 3 times > if > > > > you need to do what you think you need to do ;-) > > > > > > > > > > > > > > > > EXECUTE of things like WHERE, SHOW-ITEM-LOCKS and so on are very > > > > expensive. I have seen a lot of systems crippled by programs that > > > > perform commands like this every 5 seconds 'in case' something goes > > > > wrong. Be very afraid of using system lev ch ways. > > > > > > > > > > > > > > > > Jim > > > > > > > > > > > > > > > > -------------------------------------------------------------------- > ---- > > > > > > > > *From:* tech-bounces@listserver.jbase.com > > > > [mailto:tech-bounces@listserver.jbase.com] *On Behalf Of > > > > *brucewillmore@comcast.net > > > > *Sent:* Thursday, January 13, 2005 10:54 AM > > > > *To:* tech@listserver.jbase.com > > > > *Subject:* RE: (no subject) > > > > > > > > > > > > > > > > I haven't thought this all the way through, so there may be flaws, > but > > > > couldn't you just execute "WHERE"? This may not work with 4.x, but I > > > > would think that it would tell you everything you need for a 3.x > > > > implementation. Of course, this is assuming we're talking programs > > > > EXECUTEing programs, which your question appears to state... > > > > > > > > > > > > > > > > -------------- Original message -------------- > > > > > > > > They don't have this in there 3.x releases but it is something > they > > > > should add to to 4.x release. Jbase should also enhance triggers > so > > > > you can know from the trigger subroutine what process called it > such > > > > as JED, a subroutine, or an executable. > > > > > > > > -----Original Message----- > > > > *From:* Danny Ruckel [mailto:danny.ruckel@activant.com] > > > > *Sent:* Thursday, January 13, 2005 10:10 AM > > > > *To:* tech@listserver.jbase.com > > > > *Subject:* (no subject) > > > > > > > > All, > > > > > > > > > > > > > > > > Suppose I have a program, 'A', that calls program 'B', 'B' > in > > > > turn calls 'C', and 'C' calls 'D'. > > > > > > > > > > > > > > > > Once I am in 'D', is there anyway to discover the entire > "call > > > > history", i.e., that D was called by C was called by B was > > > > called by A? Exposing the endpoints, 'D' and 'A' is > > > > straightforward but I haven't been successful with the 'in > > > > between' calls. > > > > > > > > > > > > > > Thanks in advance your response, > > > > > > > > > > > > > > > > Danny Ruckel > > > > > > > > > > > > > > > > > > > > > > > > **Notice:** This transmission is for the sole use of the > > > > intended recipient(s) and may contain information that is > > > > confidential and/or privileged. > > > > If you are not the intended recipient, please delete this > > > > transmission and any attachments and notify the sender by > return > > > > email immediately. > > > > Any unauthorized review, use, disclosure or distribution is > > > > prohibited. > > > > > > > > > > > > -- > > > > No virus found in this incoming message. > > > > Checked by AVG Anti-Virus. > > > > Version: 7.0.300 / Virus Database: 265.6.11 - Release Date: > 1/12/2005 > > > > > > > > > > > > -- > > > > No virus found in this outgoing message. > > > > Checked by AVG Anti-Virus. > > > > Version: 7.0.300 / Virus Database: 265.6.11 - Release Date: > 1/12/2005 > > > > > > > > > > > > > -- > > > No virus found in this incoming message. > > > Checked by AVG Anti-Virus. > > > Version: 7.0.300 / Virus Database: 265.6.11 - Release Date: 1/12/2005 > > > > > > > -- > > No virus found in this outgoing message. > > Checked by AVG Anti-Virus. > > Version: 7.0.300 / Virus Database: 265.6.11 - Release Date: 1/12/2005 > > > > > > -- > No virus found in this incoming message. > Checked by AVG Anti-Virus. > Version: 7.0.300 / Virus Database: 265.6.11 - Release Date: 1/12/2005 > -- No virus found in this outgoing message. Checked by AVG Anti-Virus. Version: 7.0.300 / Virus Database: 265.6.11 - Release Date: 1/12/2005 Notice: This transmission is for the sole use of the intended recipient(s) and may contain information that is confidential and/or privileged. If you are not the intended recipient, please delete this transmission and any attachments and notify the sender by return email immediately. Any unauthorized review, use, disclosure or distribution is prohibited. From tom at proman.com Thu Jan 13 16:49:48 2005 From: tom at proman.com (T.Turkington) Date: Thu Jan 13 16:50:01 2005 Subject: (no subject) In-Reply-To: Message-ID: I've often thought this is one area where jim's genius has flowed over into insanity. While there are many processes that don't require sorting, there are many that do, or which are at least enhanced by sorting. I haven't counted them all of course, but I sort of compare it to the commutative and associative properties in arithmetic; a + b + c + d = a + c + b + d but a * b + c * d sure don't = a * c + b * d (at least not all the time...) Tom -----Original Message----- From: tech-bounces@listserver.jbase.com [mailto:tech-bounces@listserver.jbase.com]On Behalf Of Dick Thiot Sent: Thursday, January 13, 2005 1:21 PM To: tech@listserver.jbase.com Subject: Re: (no subject) Jim, You mention that it should be a rare case that files need to be traversed in an order other than natural hash. While I readily admit that you have forgotten volumes more information about jBASE than I will ever know (and quickly forget) I can think of a case that I use sorted lists regularly and that is where I still have to generate some form of a report output whether to a printer or some other media. This enables for breaking on sorted criteria. Is there a better way to do this sort of thing or doesn't anyone generate report (uer query) type processes? Dick On Thu, 13 Jan 2005 12:18:40 -0800, Jim Idle wrote: > In a way I am saying this, though it is generally as fast to do that in 4.1 as it is to code in jBC. And, if you occasionally EXECUTE things outside loops, then who cares really, other than the general caveat of trying to avoid them in 3.x. > > In general though, you will get a faster batch program if rather than asking jQL to generate the list, you traverse the file yourself. For a start, you won't need to read the items twice if attribute comparisons/criteria are relevant. If you are only reading the records, you can also use the fast file interface. > > There may be genuine reasons why items have to be traversed in some SORT order other than the natural hash - though these should be rare and usually there are not any such reasons. If the file is traversed in a sorted order, there may not be much difference. > > Jim > > > -----Original Message----- > > From: tech-bounces@listserver.jbase.com [mailto:tech- > > bounces@listserver.jbase.com] On Behalf Of Charlie Noah > > Sent: Thursday, January 13, 2005 11:42 AM > > To: tech@listserver.jbase.com > > Subject: Re: (no subject) > > > > Jim, > > > > I wholeheartedly agree with you as far as executing commands like WHERE, > > etc., over and over. But your first statement worries me. Are you saying > > that we shouldn't EXECUTE 'SELECT........' in a program in order to get > > a list of IDs to process in a readnext loop? If so, what is a better way? > > > > Regards, > > Charlie Noah > > Inland Truck Parts > > > > Jim Idle wrote: > > > This information is available in 3.x, see earlier post. > > > > > > > > > > > > Always avoid an EXECUTE unless there is no other way to do things. If > > > there is no other way to do things, then ask yourself 2 or 3 times if > > > you need to do what you think you need to do ;-) > > > > > > > > > > > > EXECUTE of things like WHERE, SHOW-ITEM-LOCKS and so on are very > > > expensive. I have seen a lot of systems crippled by programs that > > > perform commands like this every 5 seconds 'in case' something goes > > > wrong. Be very afraid of using system level commands in such ways. > > > > > > > > > > > > Jim > > > > > > > > > > > > ------------------------------------------------------------------------ > > > > > > *From:* tech-bounces@listserver.jbase.com > > > [mailto:tech-bounces@listserver.jbase.com] *On Behalf Of > > > *brucewillmore@comcast.net > > > *Sent:* Thursday, January 13, 2005 10:54 AM > > > *To:* tech@listserver.jbase.com > > > *Subject:* RE: (no subject) > > > > > > > > > > > > I haven't thought this all the way through, so there may be flaws, but > > > couldn't you just execute "WHERE"? This may not work with 4.x, but I > > > would think that it would tell you everything you need for a 3.x > > > implementation. Of course, this is assuming we're talking programs > > > EXECUTEing programs, which your question appears to state... > > > > > > > > > > > > -------------- Original message -------------- > > > > > > They don't have this in there 3.x releases but it is something they > > > should add to to 4.x release. Jbase should also enhance triggers so > > > you can know from the trigger subroutine what process called it such > > > as JED, a subroutine, or an executable. > > > > > > -----Original Message----- > > > *From:* Danny Ruckel [mailto:danny.ruckel@activant.com] > > > *Sent:* Thursday, January 13, 2005 10:10 AM > > > *To:* tech@listserver.jbase.com > > > *Subject:* (no subject) > > > > > > All, > > > > > > > > > > > > Suppose I have a program, 'A', that calls program 'B', 'B' in > > > turn calls 'C', and 'C' calls 'D'. > > > > > > > > > > > > Once I am in 'D', is there anyway to discover the entire "call > > > history", i.e., that D was called by C was called by B was > > > called by A? Exposing the endpoints, 'D' and 'A' is > > > straightforward but I haven't been successful with the 'in > > > between' calls. > > > > > > > > > > > > Thanks in advance your response, > > > > > > > > > > > > Danny Ruckel > > > > > > > > > > > > > > > > > > **Notice:** This transmission is for the sole use of the > > > intended recipient(s) and may contain information that is > > > confidential and/or privileged. > > > If you are not the intended recipient, please delete this > > > transmission and any attachments and notify the sender by return > > > email immediately. > > > Any unauthorized review, use, disclosure or distribution is > > > prohibited. > > > > > > > > > -- > > > No virus found in this incoming message. > > > Checked by AVG Anti-Virus. > > > Version: 7.0.300 / Virus Database: 265.6.11 - Release Date: 1/12/2005 > > > > > > > > > -- > > > No virus found in this outgoing message. > > > Checked by AVG Anti-Virus. > > > Version: 7.0.300 / Virus Database: 265.6.11 - Release Date: 1/12/2005 > > > > > > > > > -- > > No virus found in this incoming message. > > Checked by AVG Anti-Virus. > > Version: 7.0.300 / Virus Database: 265.6.11 - Release Date: 1/12/2005 > > > > -- > No virus found in this outgoing message. > Checked by AVG Anti-Virus. > Version: 7.0.300 / Virus Database: 265.6.11 - Release Date: 1/12/2005 > > From jimi at temporal-wave.com Thu Jan 13 16:59:13 2005 From: jimi at temporal-wave.com (Jim Idle) Date: Thu Jan 13 16:59:11 2005 Subject: (no subject) Message-ID: Dunno about the weather in Florida, but it is bound to not be very nice or healthy. Here in Portland Oregon, it is 46 degrees in old money and I wish I were playing golf, where I would be on about hole 9 and about 4 over. Jim > -----Original Message----- > From: tech-bounces@listserver.jbase.com [mailto:tech- > bounces@listserver.jbase.com] On Behalf Of Doug Chanco > Sent: Thursday, January 13, 2005 1:46 PM > To: tech@listserver.jbase.com > Subject: RE: (no subject) > > Jim, > You responses are so quick, it is raining there in Florida or do you > have a laptop on the golf course and are answering questions between > holes? > > If so how are you doing? > > dougc > > _________________________________ > Doug Chanco > Engineer Developer 2nd class, Ultimate > > Activant Solutions Inc.(tm) > Austin, Texas 78746 > T: 512-278-5426 > F: 512-278-5915 > E-mail: doug.chanco@activant.com > Web site: www.activant.com > _________________________________ > > -----Original Message----- > From: tech-bounces@listserver.jbase.com > [mailto:tech-bounces@listserver.jbase.com] On Behalf Of Jim Idle > Sent: Thursday, January 13, 2005 3:43 PM > To: tech@listserver.jbase.com > Subject: RE: (no subject) > > Dick, > > No, you are correct. If your report cannot be produced in any other way > than by traversing the file in a sorted order, then you have no choice > and these are the kinds of things I am referring to. > > Indexes may help you if you can put the data you require in an index, > and so on so forth. We have covered this in the past in laborious > detail!!! ;-) > > Jim > > > -----Original Message----- > > From: tech-bounces@listserver.jbase.com [mailto:tech- > > bounces@listserver.jbase.com] On Behalf Of Dick Thiot > > Sent: Thursday, January 13, 2005 1:21 PM > > To: tech@listserver.jbase.com > > Subject: Re: (no subject) > > > > Jim, > > > > You mention that it should be a rare case that files need to be > > traversed in an order other than natural hash. While I readily admit > > that you have forgotten volumes more information about jBASE than I > > will ever know (and quickly forget) I can think of a case that I use > > sorted lists regularly and that is where I still have to generate some > > form of a report output whether to a printer or some other media. > > This enables for breaking on sorted criteria. Is there a better way > > to do this sort of thing or doesn't anyone generate report (uer query) > > type processes? > > > > Dick > > > > On Thu, 13 Jan 2005 12:18:40 -0800, Jim Idle > > wrote: > > > In a way I am saying this, though it is generally as fast to do that > ECUTE things > > outside loops, then who cares really, other than the general caveat of > > trying to avoid them in 3.x. > > > > > > In general though, you will get a faster batch program if rather > than > > asking jQL to generate the list, you traverse the file yourself. For a > > start, you won't need to read the items twice if attribute > > comparisons/criteria are relevant. If you are only reading the > records, > > you can also use the fast file interface. > > > > > > There may be genuine reasons why items have to be traversed in some > SORT > > order other than the natural hash - though these should be rare and > > usually there are not any such reasons. If the file is traversed in a > > sorted order, there may not be much difference. > > > > > > Jim > > > > > > > -----Original Message----- > > > > From: tech-bounces@listserver.jbase.com [mailto:tech- > > > > bounces@listserver.jbase.com] On Behalf Of Charlie Noah > > > > Sent: Thursday, January 13, 2005 11:42 AM > > > > To: tech@listserver.jbase.com > > > > Subject: Re: (no subject) > > > > > > > > Jim, > > > > > > > > I wholeheartedly agree with you as far as executing commands like > > WHERE, > > > > etc., over and over. But your first statement worries me. Are you > > saying > > > > that we shouldn't EXECUTE 'SELECT........' in a program in order > to > > get > > > > a list of IDs to process in a readnext loop? If so, what is a > better > > way? > > > > > > > > Regards, > > > > Charlie Noah > > > > Inland Truck Parts > > > > > > > > Jim Idle wrote: > > > > > This information is available in 3.x, see earlier post. > > > > > > > > > > > > > > > > > > > > Always avoid an EXECUTE unless there is no other way to do > things. > > If > > > > > there is no other way to do things, then ask yourself 2 or 3 > times > > if > > > > > you need to do what you think you need to do ;-) > > > > > > > > > > > > > > > > > > > > EXECUTE of things like WHERE, SHOW-ITEM-LOCKS and so on are very > > > > > expensive. I have seen a lot of systems crippled by programs > that > > > > > perform commands like this every 5 seconds 'in case' something > goes > > > > > wrong. Be very afraid of using system lev > ch > ways. > > > > > > > > > > > > > > > > > > > > Jim > > > > > > > > > > > > > > > > > > > > > -------------------------------------------------------------------- > > ---- > > > > > > > > > > *From:* tech-bounces@listserver.jbase.com > > > > > [mailto:tech-bounces@listserver.jbase.com] *On Behalf Of > > > > > *brucewillmore@comcast.net > > > > > *Sent:* Thursday, January 13, 2005 10:54 AM > > > > > *To:* tech@listserver.jbase.com > > > > > *Subject:* RE: (no subject) > > > > > > > > > > > > > > > > > > > > I haven't thought this all the way through, so there may be > flaws, > > but > > > > > couldn't you just execute "WHERE"? This may not work with 4.x, > but I > > > > > would think that it would tell you everything you need for a 3.x > > > > > implementation. Of course, this is assuming we're talking > programs > > > > > EXECUTEing programs, which your question appears to state... > > > > > > > > > > > > > > > > > > > > -------------- Original message -------------- > > > > > > > > > > They don't have this in there 3.x releases but it is > something > > they > > > > > should add to to 4.x release. Jbase should also enhance > triggers > > so > > > > > you can know from the trigger subroutine what process called > it > > such > > > > > as JED, a subroutine, or an executable. > > > > > > > > > > -----Original Message----- > > > > > *From:* Danny Ruckel [mailto:danny.ruckel@activant.com] > > > > > *Sent:* Thursday, January 13, 2005 10:10 AM > > > > > *To:* tech@listserver.jbase.com > > > > > *Subject:* (no subject) > > > > > > > > > > All, > > > > > > > > > > > > > > > > > > > > Suppose I have a program, 'A', that calls program 'B', > 'B' > > in > > > > > turn calls 'C', and 'C' calls 'D'. > > > > > > > > > > > > > > > > > > > > Once I am in 'D', is there anyway to discover the entire > > "call > > > > > history", i.e., that D was called by C was called by B > was > > > > > called by A? Exposing the endpoints, 'D' and 'A' is > > > > > straightforward but I haven't been successful with the > 'in > > > > > between' calls. > > > > > > > > > > > > > > > > > > > Thanks in advance your response, > > > > > > > > > > > > > > > > > > > > Danny Ruckel > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > **Notice:** This transmission is for the sole use of the > > > > > intended recipient(s) and may contain information that > is > > > > > confidential and/or privileged. > > > > > If you are not the intended recipient, please delete > this > > > > > transmission and any attachments and notify the sender > by > > return > > > > > email immediately. > > > > > Any unauthorized review, use, disclosure or distribution > is > > > > > prohibited. > > > > > > > > > > > > > > > -- > > > > > No virus found in this incoming message. > > > > > Checked by AVG Anti-Virus. > > > > > Version: 7.0.300 / Virus Database: 265.6.11 - Release Date: > > 1/12/2005 > > > > > > > > > > > > > > > -- > > > > > No virus found in this outgoing message. > > > > > Checked by AVG Anti-Virus. > > > > > Version: 7.0.300 / Virus Database: 265.6.11 - Release Date: > > 1/12/2005 > > > > > > > > > > > > > > > > > -- > > > > No virus found in this incoming message. > > > > Checked by AVG Anti-Virus. > > > > Version: 7.0.300 / Virus Database: 265.6.11 - Release Date: > 1/12/2005 > > > > > > > > > > -- > > > No virus found in this outgoing message. > > > Checked by AVG Anti-Virus. > > > Version: 7.0.300 / Virus Database: 265.6.11 - Release Date: > 1/12/2005 > > > > > > > > > > -- > > No virus found in this incoming message. > > Checked by AVG Anti-Virus. > > Version: 7.0.300 / Virus Database: 265.6.11 - Release Date: 1/12/2005 > > > > -- > No virus found in this outgoing message. > Checked by AVG Anti-Virus. > Version: 7.0.300 / Virus Database: 265.6.11 - Release Date: 1/12/2005 > > > Notice: This transmission is for the sole use of the intended recipient(s) > and may contain information that is confidential and/or privileged. If > you are not the intended recipient, please delete this transmission and > any attachments and notify the sender by return email immediately. Any > unauthorized review, use, disclosure or distribution is prohibited. > > > > -- > No virus found in this incoming message. > Checked by AVG Anti-Virus. > Version: 7.0.300 / Virus Database: 265.6.11 - Release Date: 1/12/2005 > -- No virus found in this outgoing message. Checked by AVG Anti-Virus. Version: 7.0.300 / Virus Database: 265.6.11 - Release Date: 1/12/2005 From tom at proman.com Thu Jan 13 17:07:43 2005 From: tom at proman.com (T.Turkington) Date: Thu Jan 13 17:07:56 2005 Subject: (no subject) In-Reply-To: Message-ID: Am sorry, this isn't the associative property... but nevertheless imagine you get the point... Oh, also sorry to suggest Mr. Idle might be insane. Yikes, better to keep quiet... Tom -----Original Message----- From: tech-bounces@listserver.jbase.com [mailto:tech-bounces@listserver.jbase.com]On Behalf Of T.Turkington Sent: Thursday, January 13, 2005 1:50 PM To: dthiot@mavsys.com; tech@listserver.jbase.com Subject: RE: (no subject) I've often thought this is one area where jim's genius has flowed over into insanity. While there are many processes that don't require sorting, there are many that do, or which are at least enhanced by sorting. I haven't counted them all of course, but I sort of compare it to the commutative and associative properties in arithmetic; a + b + c + d = a + c + b + d but a * b + c * d sure don't = a * c + b * d (at least not all the time...) Tom -----Original Message----- From: tech-bounces@listserver.jbase.com [mailto:tech-bounces@listserver.jbase.com]On Behalf Of Dick Thiot Sent: Thursday, January 13, 2005 1:21 PM To: tech@listserver.jbase.com Subject: Re: (no subject) Jim, You mention that it should be a rare case that files need to be traversed in an order other than natural hash. While I readily admit that you have forgotten volumes more information about jBASE than I will ever know (and quickly forget) I can think of a case that I use sorted lists regularly and that is where I still have to generate some form of a report output whether to a printer or some other media. This enables for breaking on sorted criteria. Is there a better way to do this sort of thing or doesn't anyone generate report (uer query) type processes? Dick On Thu, 13 Jan 2005 12:18:40 -0800, Jim Idle wrote: > In a way I am saying this, though it is generally as fast to do that in 4.1 as it is to code in jBC. And, if you occasionally EXECUTE things outside loops, then who cares really, other than the general caveat of trying to avoid them in 3.x. > > In general though, you will get a faster batch program if rather than asking jQL to generate the list, you traverse the file yourself. For a start, you won't need to read the items twice if attribute comparisons/criteria are relevant. If you are only reading the records, you can also use the fast file interface. > > There may be genuine reasons why items have to be traversed in some SORT order other than the natural hash - though these should be rare and usually there are not any such reasons. If the file is traversed in a sorted order, there may not be much difference. > > Jim > > > -----Original Message----- > > From: tech-bounces@listserver.jbase.com [mailto:tech- > > bounces@listserver.jbase.com] On Behalf Of Charlie Noah > > Sent: Thursday, January 13, 2005 11:42 AM > > To: tech@listserver.jbase.com > > Subject: Re: (no subject) > > > > Jim, > > > > I wholeheartedly agree with you as far as executing commands like WHERE, > > etc., over and over. But your first statement worries me. Are you saying > > that we shouldn't EXECUTE 'SELECT........' in a program in order to get > > a list of IDs to process in a readnext loop? If so, what is a better way? > > > > Regards, > > Charlie Noah > > Inland Truck Parts > > > > Jim Idle wrote: > > > This information is available in 3.x, see earlier post. > > > > > > > > > > > > Always avoid an EXECUTE unless there is no other way to do things. If > > > there is no other way to do things, then ask yourself 2 or 3 times if > > > you need to do what you think you need to do ;-) > > > > > > > > > > > > EXECUTE of things like WHERE, SHOW-ITEM-LOCKS and so on are very > > > expensive. I have seen a lot of systems crippled by programs that > > > perform commands like this every 5 seconds 'in case' something goes > > > wrong. Be very afraid of using system level commands in such ways. > > > > > > > > > > > > Jim > > > > > > > > > > > > ------------------------------------------------------------------------ > > > > > > *From:* tech-bounces@listserver.jbase.com > > > [mailto:tech-bounces@listserver.jbase.com] *On Behalf Of > > > *brucewillmore@comcast.net > > > *Sent:* Thursday, January 13, 2005 10:54 AM > > > *To:* tech@listserver.jbase.com > > > *Subject:* RE: (no subject) > > > > > > > > > > > > I haven't thought this all the way through, so there may be flaws, but > > > couldn't you just execute "WHERE"? This may not work with 4.x, but I > > > would think that it would tell you everything you need for a 3.x > > > implementation. Of course, this is assuming we're talking programs > > > EXECUTEing programs, which your question appears to state... > > > > > > > > > > > > -------------- Original message -------------- > > > > > > They don't have this in there 3.x releases but it is something they > > > should add to to 4.x release. Jbase should also enhance triggers so > > > you can know from the trigger subroutine what process called it such > > > as JED, a subroutine, or an executable. > > > > > > -----Original Message----- > > > *From:* Danny Ruckel [mailto:danny.ruckel@activant.com] > > > *Sent:* Thursday, January 13, 2005 10:10 AM > > > *To:* tech@listserver.jbase.com > > > *Subject:* (no subject) > > > > > > All, > > > > > > > > > > > > Suppose I have a program, 'A', that calls program 'B', 'B' in > > > turn calls 'C', and 'C' calls 'D'. > > > > > > > > > > > > Once I am in 'D', is there anyway to discover the entire "call > > > history", i.e., that D was called by C was called by B was > > > called by A? Exposing the endpoints, 'D' and 'A' is > > > straightforward but I haven't been successful with the 'in > > > between' calls. > > > > > > > > > > > > Thanks in advance your response, > > > > > > > > > > > > Danny Ruckel > > > > > > > > > > > > > > > > > > **Notice:** This transmission is for the sole use of the > > > intended recipient(s) and may contain information that is > > > confidential and/or privileged. > > > If you are not the intended recipient, please delete this > > > transmission and any attachments and notify the sender by return > > > email immediately. > > > Any una