bill, thank you for your support. using syswow64/regsvr32 does not give any error message, confirms that the dll is registered, but does not resolve my problem. the error message i receive when trying to add the reference to J DLL Server in VS remains unchanged. best herbert
Sent from my iPhone > On 14 Apr 2017, at 00:36, bill lam <[email protected]> wrote: > > sorry, it should be syswow64 > > Пт, 14 апр 2017, bill lam написал(а): >> From your previous msg, it said >> 'C:\Program Files\j805\bin\j.dll' >> >> please check this is a J32 installation and have registered it >> using wow64/regsvr32. >> >> Чт, 13 апр 2017, Herbert Weissenbaeck // Privat написал(а): >>> 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 >> >> -- >> regards, >> ==================================================== >> GPG key 1024D/4434BAB3 2008-08-24 >> gpg --keyserver subkeys.pgp.net --recv-keys 4434BAB3 >> gpg --keyserver subkeys.pgp.net --armor --export 4434BAB3 > > -- > 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
