Copyright © TIBCO Software Inc. All Rights Reserved
Copyright © TIBCO Software Inc. All Rights Reserved


Chapter 2 Operating the Service Gateway for IMS/DB : Understanding Other Operational Procedures

Understanding Other Operational Procedures
Using Distributed Data with Service Gateway for IMS/DB
Distributed access between TIBCO Object Service Broker and IMS is permitted subject to requirements of all distributed access. Refer to TIBCO Object Service Broker Application Administion and TIBCO Object Service Broker for z/OS Installing and Operating for more information on distributed access.
This illustration shows a sample TIBCO Object Service Broker IMS distributed-data scenario:
Displaying the Status of the Gateway
Use the RESOURCE MANAGEMENT option from the Administration menu to display the status of the Gateway. The example below shows the type of information displayed for SERVER TYPE=IMS.
Sample Resource Detail

 
S6BADM33 HTSTSRV RESOURCE DETAIL FOR IMS IMSDRASV 2000JAN20 16:40:52
INTERMEDIATE ROLLBK N EARLY RELEASE Y LAST USER REUSE N COMMIT LEVEL 0
RETRY INTERVAL 0 TP NAME USER ID PREFIX FAILURES 0
NODE MMMSYSTEMA01 INDOUBTS N DELETE
CONNECTIONS IN-USE TRX MESSAGE
CUR MAX LMT CUR MAX COUNT COUNT
ONLINE 0 0 0 0 0 0 0
COMMON 0 0 25 0 0 0 0
SCHEDULE NAME IMSIMSDRASV
APPLICABLE DAYS EXCEPTION START ONLINE CONNECTIONS
MON TUE WED THR FRI SAT SUN DATE TIME ONLY MAX
Y Y Y Y Y Y 00:00 N 25
 
ENTER-PATHS PF2-TYPE PF4-GROUP PF5-PEER PF9-START PF10-SCHEDULES PF11-UPDATE
THERE ARE NO ACTIVE PATHS TO BE DISPLAYED, REQUEST IGNORED

 
Defining User Exits with IMSUSRXT
Modify the ASM data set member IMSUSRXT to define your own IMS user exits. Use IMSUSRXT by calling it from the Gateway before issuing DL/I calls.
A typical use for IMSUSRXT is to alter the SSA used by the Gateway. For example, you can change the command code from *D to *L such that you can retrieve the last segment and read the database backwards.
On entry to IMSUSRXT, register 0 points to the TIBCO Object Service Broker table name:

 
***********************************************************
* TABLE INFORMATION *
***********************************************************
CTABLE DSECT ,
DS XL97
CTABNAME DS CL16 TABLE NAME

 
and the register contains:

 
LR R8,R0
USING CTABLE,R8
CLC CTABNAME,=Cyour_table_name
BNE EXIT00

 
Register 1 points to the DL/I PARM LIST:

 
************************************************************
* DLI PARM LIST *
************************************************************
DLILIST DSECT IMS DL/I CALL PARAMETERS
DLIFUNC DS A FUNCTION VECTOR
DLIPCB DS A PCB VECTOR
DLIAREA DS A I/O AREA VECTOR
DLISSA DS 15F SSA VECTORS
DLILSTLN EQU *-DLILIST DL/I CALL LIST LENGTH

 
and the register contains:

 
LR R4,R1
USING DLILIST,R4
L R5,DLISSA ADDRESS OF SSA VECTORS
L R6,0(,R5) FIRST SSA

 
To invoke your user exit, add INCLUDE(IMSUSRXT) to the JCL member XLINKIMS in module S6BIMS. For example:

 
ORDER COPYRGHT
INCLUDE RESLIB(ASMTDLI)
INCLUDE RESLIB(DFSLI000)
INCLUDE SCEELKED(CEEBETBL)
INCLUDE SCEELKED(CEEBINT)
INCLUDE SCEELKED(CEEBLLST)
INCLUDE SCEELKED(CEEBPUBT)
INCLUDE SCEELKED(CEEBTRM)
INCLUDE SCEELKED(CEESG003)
INCLUDE SCEELKED(CEESTART)
INCLUDE ALOAD(CLKXMSTR)
INCLUDE ALOAD(IMSCALLD)
INCLUDE ALOAD(IMSCALLS)
INCLUDE ALOAD(IMSDB2M$)
INCLUDE ALOAD(IMSDTO)
INCLUDE ALOAD(IMSDREQ)
INCLUDE ALOAD(IMSLEAS)
INCLUDE ALOAD(IMSPPSB)
INCLUDE ALOAD(IMSREC)
INCLUDE ALOAD(IMSROW)
INCLUDE ALOAD(IMSSEC)
INCLUDE ALOAD(IMSSREQ)
INCLUDE ALOAD(IMSSRVR)
INCLUDE ALOAD(IMSSSA)
INCLUDE ALOAD(MSGEDIT)
INCLUDE ALOAD(PRODUCT)
INCLUDE ALOAD(SRVMSG)
INCLUDE ALOAD(SRVSAFX)
INCLUDE your_object_lib(IMSUSRXT)
SETCODE AC(1)
MODE AMODE(31),RMODE(24)
ENTRY IMSSRVR
ALIAS HRNIM2
ALIAS HRNIMS
NAME S6BIMS(R)

 
Sample IMS User Exit IMSUSRXT
A sample IMS user exit is included as member IMSUSRXT in the ASM data set. Modify it as required.
Debugging Information
You can use the TIBCO Object Service Broker Rule Debugger to identify and fix errors in your applications. You can also make and test certain ad hoc changes to your rules. The Debugger stops the running of the rule at events you specified in the Debug screen.
Using the TRACE and DEBUG Parameters
For the Gateway to determine the SSAs built and sent, include the TRACE parameter in the IMSSRV00 SYSIN file. This requires a dedicated Gateway since the SSAs for all IMS accesses are included in the trace. This can be accomplished using the SERVERID parameter. To change the server ID of an IMS table definition to an alternate dedicated server ID, execute the CHANGE_SERVERID tool as follows:
CHANGE_SERVERID(table_name,old_serverid,new_serverid)
The trace output also includes information similar to the DL/I Trace Facility. For more information on gateway parameters, refer to Supplying Gateway Startup Parameters.
In addition to the trace output, you can also use the DEBUG gateway parameter to echo all requests received by the Gateway to the JES job log for batch jobs or to the console for started tasks. For more information refer to Supplying Gateway Startup Parameters.
Using the DL/I Trace Facility
If you are running an instance of the Gateway using the DL/I or DBB interface, you can use the DL/I Trace Facility to assist in debugging problems. To trace DL/I calls created by the Gateway, make the following modifications:
//DFSTROUT DD SYSOUT=*,DCB=(LRECL=80,RECFM=B,BLKSIZE=8000)
DLITRACE LOG=NO,COMP
To view only the DL/I statements created by your rules, you require a dedicated Gateway. This can be accomplished using the SERVERID parameter. To change the server ID of an IMS table definition to an alternate dedicated server ID, execute the CHANGE_SERVERID tool as follows:
CHANGE_SERVERID(table_name,old_serverid,new_serverid)
In addition to the DL/I Trace Facility, you can also use the DEBUG gateway parameter to echo all requests received by the Gateway to the JES job log for batch jobs, or to the console for started tasks. For more information, refer to the DEBUG parameter in Supplying Gateway Startup Parameters.
Use the TRACE and DEBUG parameters only for error resolution or development. The additional overhead required to log information can degrade performance.
Reporting Problems
Refer to How to Contact TIBCO Support to report problems to TIBCO Support. Have the following information available:
@IMSDBD(dbname, segname)
@IMSSEGS(dbname)
@IMSSIXFIELDS(logical dbname, logical target segname, logical fieldname)
See Also
TIBCO Object Service Broker Application Administion and TIBCO Object Service Broker for z/OS Installing and Operating for more information on distributed access.
TIBCO Object Service Broker for z/OS Installing and Operating for more information on the RESOURCE MANAGEMENT option.
TIBCO Object Service Broker Programming in Rules for more information on debugging rules and applications.

Copyright © TIBCO Software Inc. All Rights Reserved
Copyright © TIBCO Software Inc. All Rights Reserved