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
