× The internal search function is temporarily non-functional. The current search engine is no longer viable and we are researching alternatives.
As a stop gap measure, we are using Google's custom search engine service.
If you know of an easy to use, open source, search engine ... please contact support@midrange.com.



I don't believe the S36 environment is being used at all, I think they
just never changed the data library name.

On 2011-11-15 1:04 PM, Monnier, Gary wrote:

Library QS36F? Are you running in the S36 envorinmant?

Gary

-----Original Message-----
From: [1]rpg400-l-bounces@xxxxxxxxxxxx
[[2]mailto:rpg400-l-bounces@xxxxxxxxxxxx] On Behalf Of Robert Rogerson
Sent: Tuesday, November 15, 2011 9:21 AM
To: RPG programming on the IBM i / System i
Subject: Re: Attempt to write duplicate record...


@Alan, @Dennis there are no logical built over this file.
DSPDBR Command Input
File . . . . . . . . . . . . . . . . . . . : FILE SIGNTMP
Library . . . . . . . . . . . . . . . . . : *LIBL
Member . . . . . . . . . . . . . . . . . . : MBR *NONE
Record format . . . . . . . . . . . . . . . : RCDFMT *NONE
Output . . . . . . . . . . . . . . . . . . : OUTPUT *
Specifications
Type of file . . . . . . . . . . . . . . . : Physical
File . . . . . . . . . . . . . . . . . . . : SIGNTMP
Library . . . . . . . . . . . . . . . . . : QS36F
Member . . . . . . . . . . . . . . . . . : *NONE
Record format . . . . . . . . . . . . . . : *NONE
Number of dependent files . . . . . . . . : 0

@Dennis, the job was running on a production machine and I didn't
have
authority to view the joblog. I was able to view the RPG dump and
see the
values of the Chain/Write but I'm not sure this helps me.
From the code the Chain did not find a record but when it attempted a
Write (with the same values) the record now existed.

Thanks,

Robert Rogerson

On 2011-11-15 12:02 PM, Dennis wrote:

Correct. And the joblog will tell you which logical's rules were
violated, and (IIRC) give you the RRN of the matching record. (And I
thought I'd never say "matching record" in this century. Here I've said
it twice.) ++ Dennis ++
The cardiologist' s diet:
-- If it tastes good spit it out.


Sent from my Galaxy tablet phone. Please excuse my brevity.
For any grammatic/spelling errors, there is no excuse.
++


"Alan Shore" [1][3]<ashore@xxxxxxxx> wrote:


Hi Roger
Does the file have any logicals with unique keys That can also create
the problem that you are facing Even though THIS file may not have a
record already out there, data in this write attempt may be a duplicate
of that logical


Alan Shore
Programmer/Analyst, Direct Response
[[4]2]E:AShore@xxxxxxxx
P:(631) 200-5019
C:(631) 880-8640
"If you're going through Hell, keep going" - Winston Churchill


-----Original Message-----
From: [[5]3]rpg400-l-bounces+ashore=nbty.com@xxxxxxxxxxxx
[[4][6]mailto:rpg400-l-bounces+ashore=nbty.com@xxxxxxxxxxxx] On Behalf Of
Robert Rogerson
Sent: Tuesday, November 15, 2011 11:29 AM
To: RPG programming on the IBM i / System i
Subject: Attempt to write duplicate record...

Hi All,

I had a stored procedure fail with RNX1021 Attempt to write a duplicate
record to file SIGNTMP.

SIGNTMP has the following constraint:

Constraint
Description
Primary Key
Constraint
Constraint . . . . . . . . . . . . . . : CST
Q_QS36F_SIGNTMP_WK
Type . . . . . . . . . . . . . . . . : TYPE
*PRIMARY
Key . . . . . . . . . . . . . . . . . : KEY
WKCUS#

WKITM#

WKDOCT

WKDOC#
Number of fields in key . . . . . . . :
4
In the code I have...
// Write to the work file if not already there
Chain(n) (p_store: p_item: p_DocumentType: p_Document) signtmp;
If not %Found(signtmp);
wkcus# = p_store;
wkitm# = p_item;
wkdoct = p_DocumentType;
wkdoc# = p_Document;
Write signtm;
Endif;

I thought this was pretty solid code but the program still failed. A
new
record is only written if a record with the same key is not found.

So my only explanation is that another process wrote a record with the
same key in between the Chain and the Write.

Am I missing something of does some have another explanation.

BTW, I understand that I can add an error extender to the Write and
capture the error but my question still remains if there's another
explanation for the failure...

Thanks for all ideas,

Robert Rogerson
--
This is the RPG programming on the IBM i / System i (RPG400-L) mailing
list To post a message email: [[7]5]RPG400-L@xxxxxxxxxxxx To subscribe,
unsubscribe, or change list options,
visit: [6][8]http://lists.midrange.com/mailman/listinfo/rpg400-l
or email: [[9]7]RPG400-L-request@xxxxxxxxxxxx Before posting, please take
a moment to review the archives at
[8][10]http://archive.midrange.com/rpg400-l.

--
This is the RPG programming on the IBM i / System i (RPG400-L) mailing
list To post a message email: [[11]9]RPG400-L@xxxxxxxxxxxx To subscribe,
unsubscribe, or change list options,
visit: [10][12]http://lists.midrange.com/mailman/listinfo/rpg400-l
or email: [[13]11]RPG400-L-request@xxxxxxxxxxxx Before posting, please
take a moment to review the archives at
[12][14]http://archive.midrange.com/rpg400-l.

References

Visible links
1. [15]mailto:ashore@xxxxxxxx
2. [16]mailto:E:AShore@xxxxxxxx
3. [17]mailto:rpg400-l-bounces+ashore=nbty.com@xxxxxxxxxxxx
4. [18]mailto:rpg400-l-bounces+ashore=nbty.com@xxxxxxxxxxxx
5. [19]mailto:RPG400-L@xxxxxxxxxxxx
6. [20]http://lists.midrange.com/mailman/listinfo/rpg400-l
7. [21]mailto:RPG400-L-request@xxxxxxxxxxxx
8. [22]http://archive.midrange.com/rpg400-l
9. [23]mailto:RPG400-L@xxxxxxxxxxxx
10. [24]http://lists.midrange.com/mailman/listinfo/rpg400-l
11. [25]mailto:RPG400-L-request@xxxxxxxxxxxx
12. [26]http://archive.midrange.com/rpg400-l
--
This is the RPG programming on the IBM i / System i (RPG400-L) mailing
list To post a message email: [27]RPG400-L@xxxxxxxxxxxx To subscribe,
unsubscribe, or change list options,
visit: [28]http://lists.midrange.com/mailman/listinfo/rpg400-l
or email: [29]RPG400-L-request@xxxxxxxxxxxx
Before posting, please take a moment to review the archives at
[30]http://archive.midrange.com/rpg400-l.

References

Visible links
1. mailto:rpg400-l-bounces@xxxxxxxxxxxx
2. mailto:rpg400-l-bounces@xxxxxxxxxxxx
3. mailto:ashore@xxxxxxxx
4. mailto:2]E:AShore@xxxxxxxx
5. mailto:3]rpg400-l-bounces+ashore=nbty.com@xxxxxxxxxxxx
6. mailto:rpg400-l-bounces+ashore=nbty.com@xxxxxxxxxxxx
7. mailto:5]RPG400-L@xxxxxxxxxxxx
8. http://lists.midrange.com/mailman/listinfo/rpg400-l
9. mailto:7]RPG400-L-request@xxxxxxxxxxxx
10. http://archive.midrange.com/rpg400-l
11. mailto:9]RPG400-L@xxxxxxxxxxxx
12. http://lists.midrange.com/mailman/listinfo/rpg400-l
13. mailto:11]RPG400-L-request@xxxxxxxxxxxx
14. http://archive.midrange.com/rpg400-l
15. mailto:ashore@xxxxxxxx
16. mailto:E:AShore@xxxxxxxx
17. mailto:rpg400-l-bounces+ashore=nbty.com@xxxxxxxxxxxx
18. mailto:rpg400-l-bounces+ashore=nbty.com@xxxxxxxxxxxx
19. mailto:RPG400-L@xxxxxxxxxxxx
20. http://lists.midrange.com/mailman/listinfo/rpg400-l
21. mailto:RPG400-L-request@xxxxxxxxxxxx
22. http://archive.midrange.com/rpg400-l
23. mailto:RPG400-L@xxxxxxxxxxxx
24. http://lists.midrange.com/mailman/listinfo/rpg400-l
25. mailto:RPG400-L-request@xxxxxxxxxxxx
26. http://archive.midrange.com/rpg400-l
27. mailto:RPG400-L@xxxxxxxxxxxx
28. http://lists.midrange.com/mailman/listinfo/rpg400-l
29. mailto:RPG400-L-request@xxxxxxxxxxxx
30. http://archive.midrange.com/rpg400-l

As an Amazon Associate we earn from qualifying purchases.

This thread ...

Replies:

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

This mailing list archive is Copyright 1997-2024 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.