× 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.



There's not even a unique key in an LF?

Wow...

If you turn on journaling, then all writes/deletes to the file by anything
will be recorded in the journal.

While journaling is a pre-req for using commitment control, you can journal
without doing commitment control.

There is some CPU overhead when a table is journaled but commitment control
is not used as the system ensures that each journal entry is written out to
DASD. When commitment control is used, it can cache journal entries up
until they are commitmented.

For busy files during batch jobs, having journaling turned on simply to
support replication, the above proved to be an issue. Thus: IBM came out
with what's now known as 5770-SS1 42 HA Journal Performance.

I can't imagine not having the journals turned on for basically every
table. Very handy for troubleshooting.

Charles


On Fri, May 13, 2022 at 1:11 PM Greg Wilburn <
gwilburn@xxxxxxxxxxxxxxxxxxxxxxx> wrote:

Unfortunately, the file does not have a unique key or auto-id field, and
it is not currently journaled. It's one of the biggest files on our system
@ 36 million rows. As a transaction file, rows are never deleted (only
inserted).

Some more info
I have never used journaling before (no rollback or commit).
My procedure is inside a service program that updates other files
(COMMIT=*NONE).
This service pgm is used all over the place.

So if I turn on journaling for this file would it journal all
transactions? Or just those from my program? All other programs updating
this file do so via RPG (not SQL).

For now, I have added an extra SQL statement to check for the condition
before attempting to insert - but that only checks for the condition that I
have anticipated.
This will most likely take care of any issue, but...

-----Original Message-----
From: RPG400-L <rpg400-l-bounces@xxxxxxxxxxxxxxxxxx> On Behalf Of Daniel
Gross
Sent: Friday, May 13, 2022 11:45 AM
To: RPG programming on IBM i <rpg400-l@xxxxxxxxxxxxxxxxxx>
Subject: Re: How to Undo an SQL Insert

If your file has a unique key - this is the way to go. If your file has an
auto-id field, you can retrieve the value of the given id after the insert,
and delete the file.

But most probably, commitment control is the way to go - simply roll back
after the insert - and it’s gone. Of course, old programs can use „nc“ and
your program uses „cs“ - it doesn’t hurt.

HTH
Daniel

Von meinem iPhone gesendet

Am 13.05.2022 um 16:25 schrieb Charles Wilt <charles.wilt@xxxxxxxxx>:

Just because your ERP doesn't use commitment control, doesn't mean a
process you've written can't use it.

Unless the file isn't journaled...

You have the data you inserterted, I assume there's a primary or unique
key.

Charles

On Fri, May 13, 2022 at 8:13 AM Greg Wilburn <
gwilburn@xxxxxxxxxxxxxxxxxxxxxxx> wrote:

I'm working with a legacy transaction file from our ERP (i.e.
Commit=*none).
My SQLRPGLE service program procedure inserts two records/rows into the
file (they are complementary rows - both are necessary)

If the first insert fails, I simply exit the procedure with an error.

But I'm not sure how to handle the situation where the first insert is
successful, but the second insert fails. If this occurs, I need to
remove
the row I successfully inserted.

Is there some way to capture the exact row I inserted successfully?
Like
maybe the relative record number? Or am I out of luck here.

TIA,
Greg
[Logo]<https://www.totalbizfulfillment.com/> Greg Wilburn
Director of IT
301.895.3792 ext. 1231
301.895.3895 direct
gwilburn@xxxxxxxxxxxxxxxxxxxxxxx<mailto:
gwilburn@xxxxxxxxxxxxxxxxxxxxxxx>
1 Corporate Dr
Grantsville, MD 21536
www.totalbizfulfillment.com<http://www.totalbizfulfillment.com>
--
This is the RPG programming on IBM i (RPG400-L) mailing list
To post a message email: RPG400-L@xxxxxxxxxxxxxxxxxx
To subscribe, unsubscribe, or change list options,
visit: https://lists.midrange.com/mailman/listinfo/rpg400-l
or email: RPG400-L-request@xxxxxxxxxxxxxxxxxx
Before posting, please take a moment to review the archives
at https://archive.midrange.com/rpg400-l.

Please contact support@xxxxxxxxxxxxxxxxxxxx for any subscription
related
questions.

Help support midrange.com by shopping at amazon.com with our affiliate
link: https://amazon.midrange.com

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

Please contact support@xxxxxxxxxxxxxxxxxxxx for any subscription
related questions.

Help support midrange.com by shopping at amazon.com with our affiliate
link: https://amazon.midrange.com

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

Please contact support@xxxxxxxxxxxxxxxxxxxx for any subscription related
questions.

Help support midrange.com by shopping at amazon.com with our affiliate
link: https://amazon.midrange.com
--
This is the RPG programming on IBM i (RPG400-L) mailing list
To post a message email: RPG400-L@xxxxxxxxxxxxxxxxxx
To subscribe, unsubscribe, or change list options,
visit: https://lists.midrange.com/mailman/listinfo/rpg400-l
or email: RPG400-L-request@xxxxxxxxxxxxxxxxxx
Before posting, please take a moment to review the archives
at https://archive.midrange.com/rpg400-l.

Please contact support@xxxxxxxxxxxxxxxxxxxx for any subscription related
questions.

Help support midrange.com by shopping at amazon.com with our affiliate
link: https://amazon.midrange.com


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.