Thanks David for the insight. I rebuilt the j805 j.dll again and uploaded to www.jsoftware.com/download/jengine/j805-release/windows/j32 j_rebult2.dll
Only the typelib has changed, all other j engine source should be the same as j805-release-a. I tested it ok on vs2013 and vs2017. Hopefully the issue is now resolved. Вт, 18 апр 2017, Herbert Weissenbaeck // Privat написал(а): > Thank you. Interesting observation. > Any chance to get that fixed/patched in J805? > > > On 18 Apr 2017, at 13:27, David Mitchell <[email protected]> wrote: > > > > Folks, > > > > I tried some tests using Excel's com interface and j.dll from j602, j804, > > j805 and j64-806, all on Windows 10. I found these things. > > > > 1. The built-in registration with j602 ("%~dp0j.exe" /regserver) continues > > to work. It registered j.exe and j.dll and I was able to use j.dll in > > Excel macros after selecting the JDLLServer Type Library in References-VBA > > Project. > > > > 2. External registration of j.dll in j804 worked fine (regsvr32 bin\j.dll). > > I was able to use the J804 j.dll in Excel as above. > > > > 3. External registration of j805 said it worked, but JDLLServer Type > > Library did not show up in Excel. > > > > 4. I ran some Registry searches and found that with j602 and j804, there > > were a set of keys created starting with this ID: > > HKEY_CLASSES_ROOT\TypeLib\{21EB05EB-1AB3-11CF-A2AC-8FF70874C460} > > HKEY_CLASSES_ROOT\Wow6432Node\CLSID\{21EB05EA-1AB3-11CF-A2AC-8FF70874C460} > > HKEY_CLASSES_ROOT\Wow6432Node\TypeLib\{21EB05EB-1AB3-11CF-A2AC-8FF70874C460} > > that defined the JDLLServer Type Library and JDLLServer. > > > > 5. In J805, the Registry keys that were created by the registration process > > for JDLLServer Type Library were these: > > HKEY_CLASSES_ROOT\TypeLib\{00000000-0000-0000-0000-000000000000} > > HKEY_CLASSES_ROOT\Wow6432Node\CLSID\{00000000-0000-0000-0000-000000000000} > > HKEY_CLASSES_ROOT\Wow6432Node\TypeLib\{00000000-0000-0000-0000-000000000000} > > which were not seen by Excel. > > > > 6. I tried the following grep's in the various bin directories: > > > > C:\Users\me\j602\bin>grep -i 8FF70874C460 * > > Binary file j.dll matches > > Binary file j.exe matches > > > > C:\Users\me\j804\bin>grep -i 8FF70874C460 * > > Binary file j.dll matches > > Binary file jqt.exe matches > > > > C:\Users\me\Downloads\j\j805\bin>grep -i 8FF70874C460 * > > Binary file jqt.exe matches > > (no j.dll) > > > > C:\Users\me\Downloads\j\j64-806\bin>grep -i 8FF70874C460 * > > Binary file jqt.exe matches > > (no j.dll) > > > > So it appears that starting in J805, the J dll no longer has a non-zero > > UUID for registering j.dll. > > > > David Mitchell > > > >> On 4/15/2017 07:45, Herbert Weissenbaeck // Privat wrote: > >> no success with vs 2015 and vs 2017. > >> same error as before. > >> have installed the new dll, unregistered and re-registered with > >> syswow64\regsvr32. > >> > >> Sent from my iPhone > >> > >>> On 15 Apr 2017, at 07:17, Herbert Weissenbaeck // Privat > >>> <[email protected]> wrote: > >>> > >>> Is there a chance to have the j805 j.dll re-built in a way that makes it > >>> usable? > >>> I need a functioning j.dll for serious work/calculations and would prefer > >>> not to use a beta version but the latest stable release. Or is j806 beta > >>> considered safe and stable enough? > >>> > >>> Sent from my iPhone > >>> > >>>> On 15 Apr 2017, at 01:52, bill lam <[email protected]> wrote: > >>>> > >>>> There should be some mistake when building the j805 j.dll. > >>>> However j806 beta seems working again. > >>>> > >>>> > >>>> Пт, 14 апр 2017, Herbert Weissenbaeck // Privat написал(а): > >>>>> I tried to refer to the j.dll directly. > >>>>> VS tells me "A reference to (path...)\j.dll could not be added" > >>>>> > >>>>> i wonder, why j804 behaves differently. > >>>>> > >>>>> Sent from my iPhone > >>>>> > >>>>>> On 14 Apr 2017, at 08:35, bill lam <[email protected]> wrote: > >>>>>> > >>>>>> not sure why it can not add reference in vs. actually you don't have > >>>>>> to > >>>>>> add jdllserver to reference if you don't need intelligent sense. > >>>>>> > >>>>>> On 14 Apr, 2017 7:57 pm, "Herbert Weissenbaeck // Privat" < > >>>>>> [email protected]> wrote: > >>>>>> > >>>>>>> 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 > >>>>>> ---------------------------------------------------------------------- > >>>>>> 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 > >> > >> ---------------------------------------------------------------------- > >> 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
