Hi All,
In a Cobol-DB2 program, I am fetching rows from 4 tables
using cursor and then based on the a field present in that
table, It processes the information accordingly..for
example stat-c is one digit field..if stat-c is 'D' then
the a row is deleted from table and written those details
in to a file. If the stat-c is 'U' then a row is updated
(hardcoded what to update)in a table and written those
details in to a file. If the stat-c is 'I' then a row is
inserted in a table and written those details in to two
files. The issue is i have to include the intermediate
commits. When an abend occurs, due to commit statement db2
tables will be saved, But there will be lose of file
contents. When we resubmitting the job associated with this
program there will be insert ,update and delete anomolies
to avoid that what measures could be taken?.
The intermediate commit is nothing but issuing
commit after massive inserts, updates and deletes(sum of
500actions)
Answer Posted / hitendra
Track the count of records processed and modify your cobol program so to take the input of no of already processed records. When you restart the job make sure that you pass the count and cobol program will start processing from the next record of the file.
| Is This Answer Correct ? | 0 Yes | 0 No |
Post New Answer View All Answers
What is null indicator in db2?
What is the physical storage length of timestamp data type?
Hello All, We have requirment to Replace BMC Db2 Load product thru CA FAST LOADPlus product. Do anyone have JCL to for FAST LOADPLUS and what all are thing need to take in consideration.
Explain dclgen.
How do I delete a column in db2?
How many databases can be created inside an instance in db2 ?
Can there be more than one cursor open for any program?
What is reorg and runstats in db2?
What is cloudant database?
Comment whether dclgen is mandatorily used. If not, then what is the point of using it?
SET is the ANSI standard for variable assignment, SELECT is not. SET can only assign one variable at a time, SELECT can make multiple assignments at once. If assigning from a query, SET can only assign a scalar value. If the query returns multiple values/rows then SET will raise an error. SELECT will assign one of the values to the variable and hide the fact that multiple values were returned (so you'd likely never know why something was going wrong elsewhere - have fun troubleshooting that one) When assigning from a query if there is no value returned then SET will assign NULL, where SELECT will not make the assignment at all (so the variable will not be changed from it's previous value) As far as speed differences - there are no direct differences between SET and SELECT. However SELECT's ability to make multiple assignments in one shot does give it a slight speed advantage over SET.
What is dbrm? What it contains?
Highlight all the advantages that are attached to a package.
define clustering index.
What is table space in db2?