Portal | Manuals | References | Downloads | Info | Programs | JCLs | Mainframe wiki | Quick Ref
IBM Mainframe Forum Index
 
Register
 
IBM Mainframe Forum Index Mainframe: Search IBM Mainframe Forum: FAQ Memberlist Profile Log in to check your private messages Log in
 
Single row update in DB2 Z/OS using an array as host variabl

 
Post new topic   Reply to topic    IBMMAINFRAMES.com Support Forums -> DB2
View previous topic :: :: View next topic  
Author Message
jdeeponline

New User


Joined: 08 Sep 2009
Posts: 27
Location: Charlotte

PostPosted: Mon Mar 18, 2013 2:45 pm    Post subject: Single row update in DB2 Z/OS using an array as host variabl
Reply with quote

We are trying to introduce multi-row Inserts in our COBOL DB2 modules, replacing the existing single row inserts. While introducing this, we want to retain the existing Single row INSERT and UPDATE queries in the program , so that anyone who desires to could use this.

The single row insert works just fine even while providing an array as host variable, by passing the values only to the first row of array before inserting. We are not sure if the performance will be impacted by this.

However, while trying to keep the Update statement, the recompile of the program failed.

Any thoughts on that above will be appreciated.
Back to top
View user's profile Send private message

Akatsukami

Global Moderator


Joined: 03 Oct 2009
Posts: 1789
Location: Bloomington, IL

PostPosted: Mon Mar 18, 2013 4:00 pm    Post subject:
Reply with quote

My thought is that you need to provide more detail.
Back to top
View user's profile Send private message
jdeeponline

New User


Joined: 08 Sep 2009
Posts: 27
Location: Charlotte

PostPosted: Mon Mar 18, 2013 4:59 pm    Post subject: Reply to: Single row update in DB2 Z/OS using an array as ho
Reply with quote

In the COBOL module, we will have 2 queries on either sides of an IF statement. First, to insert one row of input at a time with an INSERT statement, and the next to be able to INSERT multiple rows. While running the program, we can pass a parameter in the JCL to control which of the options would be used.

Now, I can't declare the table twice in the program (one for each query) to be able to use a DCLGEN. So I declare it once, defining the the cobol variables as an array. I want to be able to use this same COBOL variable as a host variable, and use them for my Multi-Insert, single row Insert and run an UPDATE query as well on the table, based on the PARM passed in the JCL. When I attempt this, the compiler gives me an error in Changeman (for the UPDATE SQL).
Back to top
View user's profile Send private message
Anuj Dhawan

Senior Member


Joined: 22 Apr 2006
Posts: 6254
Location: Mumbai, India

PostPosted: Mon Mar 18, 2013 9:13 pm    Post subject:
Reply with quote

Possibly, create an DCLGEN equivalent COPYBOOK having :TAG: in it. Later in program in IF/ELSE statement replace :TAG: with appropriate variable names, e.g.:
Code:
COPY copybook REPLACING ==:TAG:== BY ==snglrow==.
Back to top
View user's profile Send private message
View previous topic :: :: View next topic  
Post new topic   Reply to topic    IBMMAINFRAMES.com Support Forums -> DB2 All times are GMT + 6 Hours
Page 1 of 1

 

Search our Forum:

Similar Topics
Topic Author Forum Replies Posted
No new posts Parsing single liner XML into readabl... rohanthengal COBOL Programming 1 Fri Oct 18, 2019 8:41 pm
No new posts Concatenate two files of variable rec... Thiru S DFSORT/ICETOOL 3 Wed Aug 21, 2019 11:53 pm
No new posts refresh data from production - update... jzhardy DB2 1 Mon May 06, 2019 5:06 pm
No new posts Need suggestion on CICS READ UPDATE subratarec CICS 8 Fri May 03, 2019 2:23 pm
No new posts Any single step solution possible? Rohit Umarjikar SYNCSORT 7 Mon Apr 22, 2019 6:18 am

Facebook
Back to Top
 
Job Vacancies | Forum Rules | Bookmarks | Subscriptions | FAQ | Polls | Contact Us