×

Good News Everybody!

The new search engine is LIVE!

Please report any problems to david (at) midrange.com.




Think Buck is onto something...

Don't supposed the DTAARA is journaled?



On Mon, Apr 17, 2017 at 10:35 AM, Buck Calabro <kc2hiz@xxxxxxxxx> wrote:

On 4/17/2017 11:33 AM, Roger Harman wrote:
Two jobs retrieved the same number.

NOTE: Not my code - I just have to work with it. Why it has the
add/z-add combo is unknown.

** Data structure for next system number
** & next temporary reference.
D NextNum DS 14
D NSYSNA 1 7
D NSYSNN 1 7 0
D TMPRNA 8 14
D TMPRNN 8 14 0

C SrGetSys Begsr

C *DTAARA DEFINE SYSNBR NextNum

C *LOCK IN NextNum
C NSYSNA IFEQ *BLANKS
C Z-ADD 1 NSYSNN
C ENDIF

C NSYSNN ADD 1 UPDNBR
C Z-ADD UPDNBR NSYSNN
C OUT NextNum

C Endsr


Thanks for posting the code; I found it helpful. As a preface, I've
used *LOCK IN in many dozens of programs; over the 3 decades or so
probably a few billion update cycles. I've never, not once, seen an
issue with the OS. It's always been the program. That said, there is a
gotcha with this sample.

The data area is storing /two/ 'unique' numbers, right? You've been
focussed on two jobs that are trying to get a unique NSYSNN, but what if
there's a third job that's trying to get a unique TMPRNN? It could be
putting back an /old/ copy of NSYSNN as it increments TMPRNN.

Another possibility is a *PSSR/INFSR that somehow gets control between
the IN and the OUT. Seems unlikely, but we're looking for something
non-obvious, so I bring it up. The point is that job 1 might get number
555 and not increment it properly.

--
--buck

Try wiki.midrange.com!

--
This is the RPG programming on the IBM i (AS/400 and iSeries) (RPG400-L)
mailing list
To post a message email: RPG400-L@xxxxxxxxxxxx
To subscribe, unsubscribe, or change list options,
visit: http://lists.midrange.com/mailman/listinfo/rpg400-l
or email: RPG400-L-request@xxxxxxxxxxxx
Before posting, please take a moment to review the archives
at http://archive.midrange.com/rpg400-l.

Please contact support@xxxxxxxxxxxx for any subscription related
questions.

Help support midrange.com by shopping at amazon.com with our affiliate
link: http://amzn.to/2dEadiD


As an Amazon Associate we earn from qualifying purchases.

This thread ...

Follow-Ups:
Replies:

Follow On AppleNews
Return to Archive home page | Return to MIDRANGE.COM home page

This mailing list archive is Copyright 1997-2026 by midrange.com and David Gibbs as a compilation work. Use of the archive is restricted to research of a business or technical nature. Any other uses are prohibited. Full details are available on our policy page. If you have questions about this, please contact [javascript protected email address].

Operating expenses for this site are earned using the Amazon Associate program and Google Adsense.