IBM Mainframe Forum Index
 
Log In
 
IBM Mainframe Forum Index Mainframe: Search IBM Mainframe Forum: FAQ Register
 

PCB MASK


IBM Mainframe Forums -> IMS DB/DC
Post new topic   Reply to topic
View previous topic :: View next topic  
Author Message
PL1user

New User


Joined: 26 Nov 2008
Posts: 13
Location: UK

PostPosted: Wed Oct 07, 2009 10:00 am
Reply with quote

Hi

In an IMS program a CALL made to CBLTDLI to perform a database function uses the PCB mask (which has been included in the linkage section).

The PCB mask has information like DBD name, Status Code, Seg level etc. E.G.

01 PCB-MASK1
05 DBD-NAME PIC X(8)
05 SEG-LEVEL PIC X(2)
.
.
.
.


I would like to know where in the CBLDLI call do I specify the database the call should go and perform the database function (i.e. read or write or insert etc).

I would have expected one PCB mask for each PCB and the DBD-NAME variable having the corresponding database name or something....

I understand PCB mask as something which holds status of communication between IMS and Application program. But where do I actually specifiy which PCB a call must use?

Please clarify....

Many Thanks
Back to top
View user's profile Send private message
Ranjithkumar

New User


Joined: 10 Sep 2008
Posts: 93
Location: India

PostPosted: Mon Mar 29, 2010 11:52 am
Reply with quote

Hi

We will not specify which PCB a call should use, in the program. We will specify only the PCB mask to be used.

Code:
CALL 'CBLTDLI' USING FUNCTION-CODE,PCB-MASK,IO-AREA,SSA


The PCB-Mask will be the mask for the PCB to be used. The order in which the PCBs are defined in a PSB and the order of the PCB-Masks defined in the PROCEDURE DIVIDSION USING statement ( In COBOL) should be the same. This will be the relation between PCB-Mask and PCB. By specifying the PCB-Mask in the call we will specify which PCB is to be used by the application program.

Hope this clears your doubt.
Back to top
View user's profile Send private message
enikhilk

New User


Joined: 20 Mar 2007
Posts: 44
Location: Pune

PostPosted: Mon Mar 29, 2010 3:31 pm
Reply with quote

Just want to add, PCB mask area also contains useful information like concatenated parent key, segment level etc in addition to status of DLI call. However, we need not manipulate any fields in PCB mask and data in PCB mask area is maintained by IMS.
Back to top
View user's profile Send private message
manikawnth

New User


Joined: 07 Feb 2007
Posts: 61
Location: Mumbai

PostPosted: Mon Mar 29, 2010 5:19 pm
Reply with quote

My dear comrades,
You ppl are discussing on an out-dated topic.

Moderators,
Kindly freeze edits on such topics
Back to top
View user's profile Send private message
Sandy Zimmer

Active Member


Joined: 13 Jun 2007
Posts: 826
Location: Wilmington, DE

PostPosted: Mon Mar 29, 2010 5:22 pm
Reply with quote

Never ever move anything to your PCB. You need a PCB for each database and in the case of multiple positioning on the same database. IMS "talks" to your application thru the PCB. Always make sure the order is the same in LINKAGE section too.
Back to top
View user's profile Send private message
View previous topic :: :: View next topic  
Post new topic   Reply to topic View Bookmarks
All times are GMT + 6 Hours
Forum Index -> IMS DB/DC

 


Similar Topics
Topic Forum Replies
No new posts Want to mask Middle 8 Digits of Debit... COBOL Programming 3
No new posts Assembler: Set Program Mask for decim... PL/I & Assembler 4
No new posts REXX Test under Mask??? CLIST & REXX 3
No new posts Assembler test under mask question PL/I & Assembler 5
No new posts The Test under Mask (TM) Instruction PL/I & Assembler 7
Search our Forums:

Back to Top