Same here.
Works now. Can use it from C#. Thank you.
However JVERSION says J806(...). Why so?


Sent from my iPhone

> On 19 Apr 2017, at 13:24, David Mitchell <[email protected]> wrote:
> 
> Bill,
> 
> I loaded the new j dll and redid the external registration with your new 
> j.dll.
> 
> The Excel com tests now work with J805:
> 
> jopen
> print jcmd("JVERSION")
> Engine: j806/j32/windows
> Beta: commercial/2017-04-19T23:40:20
> Library: 8.05.14
> Platform: Win 32
> Installer: J805 install
> InstallPath: c:/users/me/downloads/j/j805
> Contact: www.jsoftware.com
> 
> Thanks,
> David Mitchell
> 
>> On 4/19/2017 11:57, bill lam wrote:
>> 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
>> 
> ----------------------------------------------------------------------
> For information about J forums see http://www.jsoftware.com/forums.htm


----------------------------------------------------------------------
For information about J forums see http://www.jsoftware.com/forums.htm

Reply via email to