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

Reply via email to