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 ---------------------------------------------------------------------- For information about J forums see http://www.jsoftware.com/forums.htm
