I am actually compiling for 32bits (x86) only. (That's sufficient for this stage of my development.)
Sent from my iPhone > On 13 Apr 2017, at 22:22, bill lam <[email protected]> wrote: > > 32-bit inproc server must be used with an 32-application. > 32-bit out-of-process server can be used with either 32 or > 64 application. Please confirm what are the intended 32/64 bit > version of jdllserver and application (not visual studio). > > jdllserver is in-proc server so that 32/64 bit must match, with > application. use regsvr32 inside wow64 folder to register the > 32-bit j.dll > > Чт, 13 апр 2017, Herbert Weissenbaeck // Privat написал(а): >> Robert, >> >> coincidentally I had the last Windows update just one hour ago; but the >> problem was there before and after. >> >> I am presently traveling and have no access to any other computer than my >> notebook; thus I can not try to replicate my problem on another machine. >> >> (I am using VS 2017 Enterprise on an English Windows 10 an a ThinkPad P50 >> Xeon machine to develop an app that connects to J DLL Server. Had 804 so far >> but would like to switch to 805.) >> >> Is anybody successfully using the 32 bit 805 DLL Server from VS in a .net >> application? >> >> Best >> Herbert >> >>> On 13 Apr 2017, at 21:09, robert therriault <[email protected]> wrote: >>> >>> Herbert, >>> >>> This may not be related at all, but is this recent? I read that Windows 10 >>> had the Creative update pushed on it in the last couple of days and if it >>> was like the last time it may break some things. Not sure why it would >>> affect 805 and not 804. ;-) >>> >>> http://www.infoworld.com/article/3189776/microsoft-windows/microsofts-critical-windows-and-office-patches-present-a-panoply-of-problems.html >>> >>> Cheers, bob >>> >>>> On Apr 13, 2017, at 5:57 PM, Herbert Weissenbaeck // Privat >>>> <[email protected]> wrote: >>>> >>>> Thank you. Tried to run vs as admin. >>>> same result >>>> >>>> uninstalled and re-installed j805 into users directory. >>>> same (negative) result. >>>> >>>> I can however use J EXE Server via COM also in the 805 version (but want J >>>> DLL Server, which still gives me an error). >>>> >>>> Any more ideas? >>>> >>>> Sent from my iPhone >>>> >>>>> On 13 Apr 2017, at 20:18, bill lam <[email protected]> wrote: >>>>> >>>>> I am not sure. IIRC It works for me. Perhaps it is a security issue. try >>>>> run visual studio as admin. >>>>> >>>>> program files is protected, not sure if this is related to your problem. >>>>> >>>>> >>>>> On 14 Apr, 2017 7:48 am, "Herbert Weissenbaeck // Privat" < >>>>> [email protected]> wrote: >>>>> >>>>> its regsvr32 without the "/r", i suppose. >>>>> >>>>> in an admin console the registration seems to work. the J DLL Server >>>>> (version 3) type library shows up in visual studio with file version 805. >>>>> (the j804 one showed file version 701.) >>>>> >>>>> however selecting it gives an error: "A reference to 'J DLL Server >>>>> (version >>>>> 3) Type Library' could not be added. Could not register the ActiveX type >>>>> library 'C:\Program Files\j805\bin\j.dll'. >>>>> >>>>> the same thing works without any problem with j804. why? >>>>> >>>>> >>>>> Sent from my iPhone >>>>> >>>>>> On 13 Apr 2017, at 19:22, bill lam <[email protected]> wrote: >>>>>> >>>>>> typo, regsvr32 >>>>>> >>>>>>> On 14 Apr, 2017 7:21 am, "bill lam" <[email protected]> wrote: >>>>>>> >>>>>>> jdllserver should work for all versions. try open an admin command >>>>>>> prompt >>>>>>> at bin folder and type >>>>>>> regvsr32 /r j.dll >>>>>>> >>>>>>> On 14 Apr, 2017 6:17 am, "Herbert Weissenbaeck // Privat" < >>>>>>> [email protected]> wrote: >>>>>>> >>>>>>> On my Windows 10 machine J805 fails to register as a COM Server. >>>>>>> >>>>>>> When I use jreg.cmd under 804 I get a "J DLL Server (version 3) Type >>>>>>> Library" in the kist of available Type Libraries in MS Visual Studio. >>>>>>> >>>>>>> When I do the same with J805, no type library is registered. >>>>>>> >>>>>>> Is this a bug or a feature? I would prefer working with 805 over 804. >>>>>>> >>>>>>> Any hints/fixes? >>>>>>> >>>>>>>> On 13 Apr 2017, at 16:23, 'Bo Jacoby' via Programming < >>>>>>> [email protected]> wrote: >>>>>>>> >>>>>>>> Hi Louis. >>>>>>>> Thanks for asking. I regret not knowing the answer. >>>>>>>> An ordinal fraction is like an array in J, with minor differences. >>>>>>>> - Arrays have names. Ordinal fractions have numbers. >>>>>>>> - An array has a finite number of dimensions. An ordinal fraction has >>>>>>> an infinite number of dimensions. >>>>>>>> - Arrays may have different shapes. All ordinal fractions have the >>>>>>> same shape: 9 9 9 9 . . . >>>>>>>> - Arrays have zero-origin indexing (0 1 . . . n). Ordinal fractions >>>>>>> have one-origin indexing (1 2 3 4 5 6 7 8 9). >>>>>>>> >>>>>>>> - Arrays have elements. Ordinal fractions do not have elements. >>>>>>>> - Arrays may have subarrays. All ordinal fractions have subordinate >>>>>>> ordinal fractions. >>>>>>>> - Array elements contain data. Any ordinal fraction may contain a data >>>>>>> element. >>>>>>>> Ordinal fractions were invented (by me) in 1980, but have had limited >>>>>>> dissemination so far. I made programs in fortran and pascal and basic >>>>>>> for >>>>>>> manipulating ordinal fraction files, but I have not managed to do it in >>>>> J. >>>>>>> The programs were general, because the logic is in the data file and not >>>>> in >>>>>>> the program. I have been alone doing this. >>>>>>>> Thanks! Bo. >>>>>>>> >>>>>>>> >>>>>>>> >>>>>>>> >>>>>>>> Den 20:08 torsdag den 13. april 2017 skrev Louis de Forcrand < >>>>>>> [email protected]>: >>>>>>>> >>>>>>>> >>>>>>>> Hi Bo, >>>>>>>> This is cool. >>>>>>>> >>>>>>>> As for the way you suggest using it here, isn't it equivalent to >>>>>>> (without the first six rows of your data): >>>>>>>> >>>>>>>> (~.@[ ,. +//.)/@|: >>>>>>>> ? >>>>>>>> >>>>>>>> Louis >>>>>>>> >>>>>>>>> On 12 Apr 2017, at 21:57, 'Bo Jacoby' via Programming < >>>>>>> [email protected]> wrote: >>>>>>>>> >>>>>>>>> Hi Joe! >>>>>>>>> My favorite datastructure is ORDINAL FRACTIONS - the algebra of data >>>>>>>>> >>>>>>>>> | >>>>>>>>> | >>>>>>>>> | >>>>>>>>> | | | >>>>>>>>> >>>>>>>>> | >>>>>>>>> >>>>>>>>> | >>>>>>>>> | >>>>>>>>> | | >>>>>>>>> ORDINAL FRACTIONS - the algebra of data >>>>>>>>> This paper was submitted to the 10th World Computer Congress, IFIP >>>>>>>>> 1986 >>>>>>> conference, but rejected by the referee.... | | >>>>>>>>> >>>>>>>>> | >>>>>>>>> >>>>>>>>> | >>>>>>>>> >>>>>>>>> >>>>>>>>> Your data are coded like this >>>>>>>>> 10 Joe >>>>>>>>> 20 Bob >>>>>>>>> 30 Jane >>>>>>>>> 01 blue >>>>>>>>> 02 red >>>>>>>>> 03 purple >>>>>>>>> 11 1 >>>>>>>>> 11 -1 >>>>>>>>> 11 1 >>>>>>>>> 22 1 >>>>>>>>> 22 1 >>>>>>>>> 22 3 >>>>>>>>> 22 -1 >>>>>>>>> 22 -1 >>>>>>>>> 33 5 >>>>>>>>> 33 -2 >>>>>>>>> 33 2 >>>>>>>>> (Written with double CRs because the mail program has a history of >>>>>>> deleting my CRs). >>>>>>>>> Summation gives the result >>>>>>>>> 10 Joe >>>>>>>>> 20 Bob >>>>>>>>> 30 Jane >>>>>>>>> 01 blue >>>>>>>>> 02 red >>>>>>>>> 03 purple >>>>>>>>> 11 1 >>>>>>>>> 22 3 >>>>>>>>> >>>>>>>>> 33 5 >>>>>>>>> I have not done the summation in J, but I'd like to do it. >>>>>>>>> Perhaps this helps you. >>>>>>>>> Bo. >>>>>>>>> >>>>>>>>> >>>>>>>>> >>>>>>>>> Den 0:04 torsdag den 13. april 2017 skrev chris burke < >>>>>>> [email protected]>: >>>>>>>>> >>>>>>>>> >>>>>>>>> Incidentally, for production code, I suggest starting by removing any >>>>>>> sales >>>>>>>>> not matched in returns and vice versa, so that the matching algorithm >>>>> is >>>>>>>>> applied only to potential matches. >>>>>>>>> >>>>>>>>>> On Wed, Apr 12, 2017 at 2:53 PM, chris burke <[email protected]> >>>>>>> wrote: >>>>>>>>>> >>>>>>>>>> Great. >>>>>>>>>> >>>>>>>>>> In case you need more complicated handling of the "gray area" >>>>>>>>>> transactions, I believe they would be relatively few in number, so >>>>>>> most of >>>>>>>>>> the time you could do the matching efficiently, then check for any >>>>> keys >>>>>>>>>> with returns preceding sales. For those, setting aside the first such >>>>>>>>>> return and repeating should clear them quickly. >>>>>>>>>> >>>>>>>>>> Timing should be well under 1 second for a million records. >>>>>>>>>> >>>>>>>>>>> On Wed, Apr 12, 2017 at 1:57 PM, Joe Bogner <[email protected]> >>>>>>> wrote: >>>>>>>>>>> >>>>>>>>>>> Just for completeness, I added a line that incorporates the sequence >>>>>>> check >>>>>>>>>>> into the cancel logic. Works great >>>>>>>>>>> >>>>>>>>>>> NB. hui progressive index >>>>>>>>>>> NB. http://code.jsoftware.com/wiki/Essays/Progressive_Index-Of >>>>>>>>>>> oc=: i.~ (] - {) /:@/: >>>>>>>>>>> pi=: #@[ ({. i.&(,.oc) }.) [ i. , >>>>>>>>>>> >>>>>>>>>>> NB. argument is 3-col table of seq,key,qty >>>>>>>>>>> NB. result is the unmatched transactions >>>>>>>>>>> matchtrans=: 3 : 0 >>>>>>>>>>> msk=. 0<{:"1 y >>>>>>>>>>> sales=. msk#y >>>>>>>>>>> returns=. (-.msk)#y >>>>>>>>>>> ndx=. (}."1 sales) pi | }."1 returns >>>>>>>>>>> cancels=. ndx<#sales >>>>>>>>>>> NB. ensure cancel is after sale >>>>>>>>>>> cancels =. cancels *. (({."1 (<<(cancels)#ndx){sales) < ({."1 >>>>>>>>>>> (cancels#returns))) >>>>>>>>>>> ((<<<cancels#ndx){sales),(-.cancels)#returns >>>>>>>>>>> ) >>>>>>>>>>> >>>>>>>>>>> >>>>>>>>>>>> On Wed, Apr 12, 2017 at 4:14 PM, Joe Bogner <[email protected]> >>>>>>> wrote: >>>>>>>>>>>> >>>>>>>>>>>> Chris, this looks promising. Thanks for sharing. It's nearly >>>>>>>>>>>> instant >>>>>>> on >>>>>>>>>>> a >>>>>>>>>>>> million rows. >>>>>>>>>>>> >>>>>>>>>>>> Which row had a return before a transaction? seq 10 was an example >>>>>>> of a >>>>>>>>>>>> partial return. The hypothetical customer returned 2 out of the 5 >>>>>>>>>>> purchased >>>>>>>>>>>> prior. I added that example since technically per the original spec >>>>>>> it >>>>>>>>>>>> wouldn't be cancelled out in this pass. It's a gray area so I may >>>>> be >>>>>>>>>>> able >>>>>>>>>>>> to use this approach, especially since I don't see how to >>>>> incorporate >>>>>>>>>>> the >>>>>>>>>>>> time element into the progressive index. >>>>>>>>>>>> >>>>>>>>>>>> Thanks again >>>>>>>>>>>> >>>>>>>>>>>> >>>>>>>>>>>> On Wed, Apr 12, 2017 at 3:52 PM, chris burke <[email protected]> >>>>>>>>>>> wrote: >>>>>>>>>>>> >>>>>>>>>>>>> This might be done by comparing matrices of sales and returns. The >>>>>>>>>>>>> function >>>>>>>>>>>>> below seems to be close to what you want. It doesn't exactly match >>>>>>> your >>>>>>>>>>>>> example, but your example has cases where returns are made before >>>>>>> the >>>>>>>>>>>>> transactions. Was this intentional? >>>>>>>>>>>>> >>>>>>>>>>>>> The code should run faster than a looping solution. >>>>>>>>>>>>> >>>>>>>>>>>>> Code: >>>>>>>>>>>>> >>>>>>>>>>>>> NB. hui progressive index >>>>>>>>>>>>> NB. http://code.jsoftware.com/wiki/Essays/Progressive_Index-Of >>>>>>>>>>>>> oc=: i.~ (] - {) /:@/: >>>>>>>>>>>>> pi=: #@[ ({. i.&(,.oc) }.) [ i. , >>>>>>>>>>>>> >>>>>>>>>>>>> NB. argument is 3-col table of seq,key,qty >>>>>>>>>>>>> NB. result is the unmatched transactions >>>>>>>>>>>>> matchtrans=: 3 : 0 >>>>>>>>>>>>> msk=. 0<{:"1 y >>>>>>>>>>>>> sales=. msk#y >>>>>>>>>>>>> returns=. (-.msk)#y >>>>>>>>>>>>> ndx=. (}."1 sales) pi | }."1 returns >>>>>>>>>>>>> cancels=. ndx<#sales >>>>>>>>>>>>> ((<<<cancels#ndx){sales),(-.cancels)#returns >>>>>>>>>>>>> ) >>>>>>>>>>>>> >>>>>>>>>>>>> Example: >>>>>>>>>>>>> >>>>>>>>>>>>> dat=: ".;._2 (0 : 0) >>>>>>>>>>>>> 1 1 1 >>>>>>>>>>>>> 2 1 _1 >>>>>>>>>>>>> 3 1 1 >>>>>>>>>>>>> 4 2 1 >>>>>>>>>>>>> 5 2 1 >>>>>>>>>>>>> 6 2 3 >>>>>>>>>>>>> 7 2 _1 >>>>>>>>>>>>> 8 2 _1 >>>>>>>>>>>>> 9 3 5 >>>>>>>>>>>>> 10 3 _2 >>>>>>>>>>>>> 11 3 2 >>>>>>>>>>>>> ) >>>>>>>>>>>>> >>>>>>>>>>>>> matchtrans dat >>>>>>>>>>>>> 3 1 1 >>>>>>>>>>>>> 6 2 3 >>>>>>>>>>>>> 9 3 5 >>>>>>>>>>>>> >>>>>>>>>>>>> >>>>>>>>>>>>> On Wed, Apr 12, 2017 at 9:35 AM, Joe Bogner <[email protected]> >>>>>>>>>>> wrote: >>>>>>>>>>>>> >>>>>>>>>>>>>> I have a problem I'm trying to solve in different languages. I >>>>>>> have a >>>>>>>>>>>>>> solution in SQL and also in kdb which largely resembles the SQL >>>>>>>>>>>>> solution. >>>>>>>>>>>>>> I'm curious what a J solution would look like. More specifically, >>>>>>> I'm >>>>>>>>>>>>>> interested in picking the brains of others here to see if this >>>>> type >>>>>>>>>>> of >>>>>>>>>>>>>> problem can be solved without looping (some form of scan?). >>>>>>>>>>>>>> >>>>>>>>>>>>>> EDIT: Initially I wrote this up thinking the J solution would >>>>>>>>>>> difficult, >>>>>>>>>>>>>> but it was actually fairly straightforward -- about 15 minutes, >>>>> but >>>>>>>>>>>>> still >>>>>>>>>>>>>> would like to see if there are alternatives. If nothing else, >>>>> maybe >>>>>>>>>>> an >>>>>>>>>>>>>> interesting problem to share. >>>>>>>>>>>>>> >>>>>>>>>>>>>> Example data: >>>>>>>>>>>>>> >>>>>>>>>>>>>> A store has a transaction log with a sequence for each >>>>> transaction. >>>>>>>>>>> The >>>>>>>>>>>>>> transaction log records a key for a unique customer/item >>>>>>> combination. >>>>>>>>>>>>> The >>>>>>>>>>>>>> transaction log records how many units were purchased or >>>>>>>>>>>>>> returned. >>>>>>>>>>>>>> >>>>>>>>>>>>>> Goal: >>>>>>>>>>>>>> Attempt to match up related transactions and cancel out instances >>>>>>>>>>> when >>>>>>>>>>>>> the >>>>>>>>>>>>>> customer/item combination is returned at the same quantity as a >>>>>>>>>>> previous >>>>>>>>>>>>>> transaction >>>>>>>>>>>>>> >>>>>>>>>>>>>> Examples: >>>>>>>>>>>>>> >>>>>>>>>>>>>> Joe buys 1 blue pen, which is defective, then returns the 1 >>>>>>> defective >>>>>>>>>>>>> blue >>>>>>>>>>>>>> pen, then buys another blue pen. EXPECTED: cancel out first two >>>>>>>>>>>>>> transactions and leave the the last one for 1 pen >>>>>>>>>>>>>> >>>>>>>>>>>>>> Bob buys 2 red pens in two separate transactions. He then buys 3 >>>>>>>>>>> more. >>>>>>>>>>>>> He >>>>>>>>>>>>>> returns the first two purchases as two separate return >>>>>>> transactions. >>>>>>>>>>>>>> EXPECTED: cancel out all transactions except the one for qty 3 >>>>>>>>>>>>>> >>>>>>>>>>>>>> Jane buys 5 purple pens and subsequently returns two of them. She >>>>>>>>>>> buys >>>>>>>>>>>>> two >>>>>>>>>>>>>> more. EXPECTED: No transactions match exactly, so nothing is >>>>>>>>>>> cancelled >>>>>>>>>>>>> out >>>>>>>>>>>>>> >>>>>>>>>>>>>> >>>>>>>>>>>>>> Data: >>>>>>>>>>>>>> >>>>>>>>>>>>>> data=: 0 : 0 >>>>>>>>>>>>>> seq key qty >>>>>>>>>>>>>> 1 1 1 >>>>>>>>>>>>>> 2 1 _1 >>>>>>>>>>>>>> 3 1 1 >>>>>>>>>>>>>> 4 2 1 >>>>>>>>>>>>>> 5 2 1 >>>>>>>>>>>>>> 6 2 3 >>>>>>>>>>>>>> 7 2 _1 >>>>>>>>>>>>>> 8 2 _1 >>>>>>>>>>>>>> 9 3 5 >>>>>>>>>>>>>> 10 3 _2 >>>>>>>>>>>>>> 11 3 2 >>>>>>>>>>>>>> ) >>>>>>>>>>>>>> tbl =: ,. ' ' cut every cutLF data >>>>>>>>>>>>>> 'seqs keys qtys' =: |: ". every }. tbl >>>>>>>>>>>>>> >>>>>>>>>>>>>> >>>>>>>>>>>>>> Goal: >>>>>>>>>>>>>> >>>>>>>>>>>>>> goals =: 0 : 0 >>>>>>>>>>>>>> >>>>>>>>>>>>>> goal >>>>>>>>>>>>>> >>>>>>>>>>>>>> cancelled >>>>>>>>>>>>>> >>>>>>>>>>>>>> credit >>>>>>>>>>>>>> >>>>>>>>>>>>>> ok >>>>>>>>>>>>>> >>>>>>>>>>>>>> cancelled >>>>>>>>>>>>>> >>>>>>>>>>>>>> cancelled >>>>>>>>>>>>>> >>>>>>>>>>>>>> ok >>>>>>>>>>>>>> >>>>>>>>>>>>>> credit >>>>>>>>>>>>>> >>>>>>>>>>>>>> credit >>>>>>>>>>>>>> >>>>>>>>>>>>>> ok >>>>>>>>>>>>>> >>>>>>>>>>>>>> ok >>>>>>>>>>>>>> >>>>>>>>>>>>>> ok >>>>>>>>>>>>>> >>>>>>>>>>>>>> ) >>>>>>>>>>>>>> >>>>>>>>>>>>>> >>>>>>>>>>>>>> >>>>>>>>>>>>>> >>>>>>>>>>>>>> tbl,.(cutLF goals) >>>>>>>>>>>>>> >>>>>>>>>>>>>> +---+---+---+---------+ >>>>>>>>>>>>>> >>>>>>>>>>>>>> |seq|key|qty|goal | >>>>>>>>>>>>>> >>>>>>>>>>>>>> +---+---+---+---------+ >>>>>>>>>>>>>> >>>>>>>>>>>>>> |1 |1 |1 |cancelled| >>>>>>>>>>>>>> >>>>>>>>>>>>>> +---+---+---+---------+ >>>>>>>>>>>>>> >>>>>>>>>>>>>> |2 |1 |_1 |credit | >>>>>>>>>>>>>> >>>>>>>>>>>>>> +---+---+---+---------+ >>>>>>>>>>>>>> >>>>>>>>>>>>>> |3 |1 |1 |ok | >>>>>>>>>>>>>> >>>>>>>>>>>>>> +---+---+---+---------+ >>>>>>>>>>>>>> >>>>>>>>>>>>>> |4 |2 |1 |cancelled| >>>>>>>>>>>>>> >>>>>>>>>>>>>> +---+---+---+---------+ >>>>>>>>>>>>>> >>>>>>>>>>>>>> |5 |2 |1 |cancelled| >>>>>>>>>>>>>> >>>>>>>>>>>>>> +---+---+---+---------+ >>>>>>>>>>>>>> >>>>>>>>>>>>>> |6 |2 |3 |ok | >>>>>>>>>>>>>> >>>>>>>>>>>>>> +---+---+---+---------+ >>>>>>>>>>>>>> >>>>>>>>>>>>>> |7 |2 |_1 |credit | >>>>>>>>>>>>>> >>>>>>>>>>>>>> +---+---+---+---------+ >>>>>>>>>>>>>> >>>>>>>>>>>>>> |8 |2 |_1 |credit | >>>>>>>>>>>>>> >>>>>>>>>>>>>> +---+---+---+---------+ >>>>>>>>>>>>>> >>>>>>>>>>>>>> |9 |3 |5 |ok | >>>>>>>>>>>>>> >>>>>>>>>>>>>> +---+---+---+---------+ >>>>>>>>>>>>>> >>>>>>>>>>>>>> |10 |3 |_2 |ok | >>>>>>>>>>>>>> >>>>>>>>>>>>>> +---+---+---+---------+ >>>>>>>>>>>>>> >>>>>>>>>>>>>> |11 |3 |2 |ok | >>>>>>>>>>>>>> >>>>>>>>>>>>>> +---+---+---+---------+ >>>>>>>>>>>>>> >>>>>>>>>>>>>> >>>>>>>>>>>>>> >>>>>>>>>>>>>> One approach: >>>>>>>>>>>>>> >>>>>>>>>>>>>> applycredits =: 3 : 0 >>>>>>>>>>>>>> >>>>>>>>>>>>>> goals=.(<'goal') >>>>>>>>>>>>>> >>>>>>>>>>>>>> creditids=.0 >>>>>>>>>>>>>> >>>>>>>>>>>>>> for_i. (i. # seqs) do. >>>>>>>>>>>>>> >>>>>>>>>>>>>> key=.i{keys >>>>>>>>>>>>>> >>>>>>>>>>>>>> seq=.i{seqs >>>>>>>>>>>>>> >>>>>>>>>>>>>> qty=.i{qtys >>>>>>>>>>>>>> >>>>>>>>>>>>>> nextcredit =.| {. qtys #~ ((key=keys)*(seqs>seq)*(qtys<0)) >>>>>>>>>>>>>> >>>>>>>>>>>>>> if. nextcredit = qty do. >>>>>>>>>>>>>> >>>>>>>>>>>>>> goals=.goals,<'cancelled' >>>>>>>>>>>>>> >>>>>>>>>>>>>> creditids =. creditids, seqs #~ ((key=keys)*(seqs>seq)*(qtys<0)) >>>>>>>>>>>>>> >>>>>>>>>>>>>> elseif. creditids e.~ seq do. >>>>>>>>>>>>>> >>>>>>>>>>>>>> goals=.goals,<'credit' >>>>>>>>>>>>>> >>>>>>>>>>>>>> elseif. do. >>>>>>>>>>>>>> >>>>>>>>>>>>>> goals=.goals,<'ok' >>>>>>>>>>>>>> >>>>>>>>>>>>>> end. >>>>>>>>>>>>>> >>>>>>>>>>>>>> end. >>>>>>>>>>>>>> >>>>>>>>>>>>>> goals >>>>>>>>>>>>>> >>>>>>>>>>>>>> ) >>>>>>>>>>>>>> >>>>>>>>>>>>>> tbl ,. ( applycredits 0 ) >>>>>>>>>>>>>> >>>>>>>>>>>>>> >>>>>>>>>>>>>> +---+---+---+---------+ >>>>>>>>>>>>>> >>>>>>>>>>>>>> |seq|key|qty|goal | >>>>>>>>>>>>>> >>>>>>>>>>>>>> +---+---+---+---------+ >>>>>>>>>>>>>> >>>>>>>>>>>>>> |1 |1 |1 |cancelled| >>>>>>>>>>>>>> >>>>>>>>>>>>>> +---+---+---+---------+ >>>>>>>>>>>>>> >>>>>>>>>>>>>> |2 |1 |_1 |credit | >>>>>>>>>>>>>> >>>>>>>>>>>>>> +---+---+---+---------+ >>>>>>>>>>>>>> >>>>>>>>>>>>>> |3 |1 |1 |ok | >>>>>>>>>>>>>> >>>>>>>>>>>>>> +---+---+---+---------+ >>>>>>>>>>>>>> >>>>>>>>>>>>>> |4 |2 |1 |cancelled| >>>>>>>>>>>>>> >>>>>>>>>>>>>> +---+---+---+---------+ >>>>>>>>>>>>>> >>>>>>>>>>>>>> |5 |2 |1 |cancelled| >>>>>>>>>>>>>> >>>>>>>>>>>>>> +---+---+---+---------+ >>>>>>>>>>>>>> >>>>>>>>>>>>>> |6 |2 |3 |ok | >>>>>>>>>>>>>> >>>>>>>>>>>>>> +---+---+---+---------+ >>>>>>>>>>>>>> >>>>>>>>>>>>>> |7 |2 |_1 |credit | >>>>>>>>>>>>>> >>>>>>>>>>>>>> +---+---+---+---------+ >>>>>>>>>>>>>> >>>>>>>>>>>>>> |8 |2 |_1 |credit | >>>>>>>>>>>>>> >>>>>>>>>>>>>> +---+---+---+---------+ >>>>>>>>>>>>>> >>>>>>>>>>>>>> |9 |3 |5 |ok | >>>>>>>>>>>>>> >>>>>>>>>>>>>> +---+---+---+---------+ >>>>>>>>>>>>>> >>>>>>>>>>>>>> |10 |3 |_2 |ok | >>>>>>>>>>>>>> >>>>>>>>>>>>>> +---+---+---+---------+ >>>>>>>>>>>>>> >>>>>>>>>>>>>> |11 |3 |2 |ok | >>>>>>>>>>>>>> >>>>>>>>>>>>>> +---+---+---+---------+ >>>>>>>>>>>>>> >>>>>>>>>>>>>> >>>>>>>>>>>>>> >>>>>>>>>>>>>> (cutLF goals) -: ( applycredits 0 ) >>>>>>>>>>>>>> >>>>>>>>>>>>>> 1 >>>>>>>>>>>>>> >>>>>>>>>>>>>> >>>>>>>>>>>>>> thanks for any input >>>>>>>>>>>>>> ------------------------------------------------------------ >>>>>>>>>>> ---------- >>>>>>>>>>>>>> For information about J forums see http://www.jsoftware.com/forum >>>>>>>>>>> s.htm >>>>>>>>>>>>> ------------------------------------------------------------ >>>>>>> ---------- >>>>>>>>>>>>> For information about J forums see http://www.jsoftware.com/forum >>>>>>> s.htm >>>>>>>>>>>>> >>>>>>>>>>>> >>>>>>>>>>>> >>>>>>>>>>> ------------------------------------------------------------ >>>>>>> ---------- >>>>>>>>>>> For information about J forums see http://www.jsoftware.com/forum >>>>>>> s.htm >>>>>>>>>>> >>>>>>>>>> >>>>>>>>>> >>>>>>>>> ---------------------------------------------------------------------- >>>>>>>>> For information about J forums see http://www.jsoftware.com/forums.htm >>>>>>>>> >>>>>>>>> >>>>>>>>> ---------------------------------------------------------------------- >>>>>>>>> For information about J forums see http://www.jsoftware.com/forums.htm >>>>>>>> >>>>>>>> ---------------------------------------------------------------------- >>>>>>>> For information about J forums see http://www.jsoftware.com/forums.htm >>>>>>>> >>>>>>>> >>>>>>>> ---------------------------------------------------------------------- >>>>>>>> For information about J forums see http://www.jsoftware.com/forums.htm >>>>>>> >>>>>>> ---------------------------------------------------------------------- >>>>>>> For information about J forums see http://www.jsoftware.com/forums.htm >>>>>>> >>>>>>> >>>>>>> >>>>>> ---------------------------------------------------------------------- >>>>>> For information about J forums see http://www.jsoftware.com/forums.htm >>>>> >>>>> ---------------------------------------------------------------------- >>>>> For information about J forums see http://www.jsoftware.com/forums.htm >>>>> ---------------------------------------------------------------------- >>>>> For information about J forums see http://www.jsoftware.com/forums.htm >>>> >>>> ---------------------------------------------------------------------- >>>> For information about J forums see http://www.jsoftware.com/forums.htm >>> >>> ---------------------------------------------------------------------- >>> For information about J forums see http://www.jsoftware.com/forums.htm >> >> ---------------------------------------------------------------------- >> For information about J forums see http://www.jsoftware.com/forums.htm > > -- > regards, > ==================================================== > GPG key 1024D/4434BAB3 2008-08-24 > gpg --keyserver subkeys.pgp.net --recv-keys 4434BAB3 > gpg --keyserver subkeys.pgp.net --armor --export 4434BAB3 > ---------------------------------------------------------------------- > For information about J forums see http://www.jsoftware.com/forums.htm ---------------------------------------------------------------------- For information about J forums see http://www.jsoftware.com/forums.htm
