Changes to user-replaceable programs

There are changes affecting the following user-replaceable programs:

The dynamic and distributed routing programs

To support these additions to dynamic routing, several new fields are added to the DFHDYP communication area, defined by the DFHDYPDS copybook. Ensure your customized versions of the routing programs are recompiled using the latest DFHDYPDS DSECT supplied in library CICSTS31.CICS.SDFHMAC.

See the CICS® Customization Guide for information about the DFHDYP communication area.

New abend code AIID

A new abend code, AIID, may be returned in the DYRABCDE field of the communications area passed to the distributed routing program, DFHDSRP, if the routing program is invoked for transaction abend. (Note that this invocation occurs on the target region, and then only if the routing program has specified, on a previous call on the routing region, that it should be re-invoked, on the target region, for transaction initiation, termination, and abend.)

AIID indicates to the distributed routing program that a routed method request for an enterprise bean or CORBA stateless object has failed, on the target region, because the target CorbaServer on the target region is disabled.

After a routing error, the routing program has better information on which to base a decision whether or not to remove an AOR from its routing set. For example:

The JVM options override program

DFHJVMAT is invoked only for JVMs that are defined with Xresettable=NO. This means that you can use DFHJVMAT to modify initialization options only for JVMs that are used once only, and then destroyed on termination of the Java™ application for which it was invoked.

The JVM initialization options that you can modify using DFHJVMAT are those supported by IBM® Developer Kit, Java 2 Technology Edition, Version 1.3. Review the options that are modified by your customized DFHJVMAT, make any necessary changes, and recompile the program.

For information about how to use a DFHJVMAT user-replaceable program to modify JVM initialization options, see the CICS Customization Guide.

The IIOP security program, DFHXOPUS

The communications area passed to the IIOP security program (DFHXOPUS) is extended. You can now use the security program in connection with incoming requests for EJB objects as well as IIOP objects.

The enhanced communications area is defined by a new DSECT named DFHIIURH, which defines the following control blocks:

DFHIIURH is supplied in the CICS SDFHC370 library.

The sample IIOP security program, DFHXOPUS, has been changed to handle GIOP 1.2 request headers. The actions taken by the sample program have not changed. However, versions of GIOP from 1.2 onwards do not support the IIOP Principal field in request headers. In some circumstances (where SSL(YES) or SSL(NO) is specified on the TCPIPSERVICE definition and there is no RACF® user ID associated with the SSL client certificate), DFHXOPUS uses the first eight characters of the IIOP Principal, if there is one, to derive the user ID that it returns. For GIOP 1.2 requests, the IIOP Principal is not present and so DFHXOPUS will never return it as the user ID.

For information about how to write an IIOP security program, and for details of the DFHXOPUS sample program, see the CICS Customization Guide.

The program autoinstall program

There is an addition to the parameter list used by the program autoinstall program (default name DFHPGADX) to support the JVM profile option on the program resource definition. PGAC_JVM_PROFID is an 8-byte field that specifies the name of the JVM profile to be used to provide the JVM options for a JVM program.

For information about writing a program autoinstall user-replaceable program, see the CICS Customization Guide.

The terminal autoinstall program

There are changes that affect the terminal autoinstall programs as a result of CICS support for the VTAM® LU alias facility, and the Link3270 bridge.

If your CICS regions are defined, in their VTAM APPL statements, to use the dynamic LU alias facility, review your terminal autoinstall programs to ensure that your program logic is able to handle a dynamic LU alias.

To help you with your review, there is some new sample code in the DFHZATDX and DFHZATDY sample programs. This code extracts the network qualified name from the CINIT or BIND and uses the last character of the NETID and the last three characters of the real network name to provide an alternative terminal ID (termid). Note that this new sample code is included within comments, and is supplied only to illustrate how to extract the required information from the CINIT and BIND '0E' control vectors.

If you specify the new CICS system initialization parameter, AIBRIDGE=YES, the terminal autoinstall user-replaceable program is also called when bridge facilities are created.

For more information, see the CICS Customization Guide.

The node error program

There is a new action, print NQN, added to the action flags that are set by DFHZNAC. Print NQN causes the network qualified name to be printed after any message that contains this flag. The action flag is TWAOPT1, flag 7, set to X'02'. This can be set and unset in the same way as print TCTTE. Print NQN is added as the default action flag for all the following DFHZC messages:

0125 0131 0144 0145 0146 0147 0148 0149 0150 0155 0156 0157          
2117                                                                 
2400 2401 2403 2404 2407 2408 2409 2410 2411 2416 2417 2418          
2419 2420 2421 2423 2424 2425 2435 2443 2444 2446 2448 2449          
2452 2456 2457 2460 2462 2467 2468 2470 2471 2490                    
3405 3407 3409 3417 3418 3419 3420                                   
3421 3422 3424 3429 3433 3434 3435 3444 3445 3446 3447 3453 3454 3455
3461 3462 3464 3465 3466 3468 3469 3470 3471 3474 3475 3476 3477 3479
3480 3481 3485 3486 3487 3488 3489 3490 3491 3495 4902 4903 4904 4905
4906 4907 4909 4910 4911 4912 4913 4914 4915 4916 4917 4918 4919     
4920 4922 4929 4924 4925 4926 4927 4928 4930 4931 4932 4934 4935     
4936 4937 4938 4939 4940 4941 4942 4943 4944 4945 4946 4947 4949     
6591 6594 6595 6596

For details of all the action flags and their meanings, see the CICS Customization Guide.

The user-replaceable data conversion program

There are changes to the parameters passed to the user-replaceable data conversion program (DFHUCNV). Offsets in the DSECT have changed and pointers to halfword length fields are now pointers to fullword length fields.

This change means that you cannot use existing versions of DFHUCNV with CICS TS 2.2 regions without modification; nor can you use the modified version DFHUCNV with older releases of CICS.

To modify an existing version of DFHUCNV, first copy and rename the source to distinguish it from the earlier DFHUCNV. Make the changes to your renamed program for the new parameters, which are described by the DSECT in DFHCNV. Specify the name of your modified program on the USREXIT parameter in the DFHCNV TYPE=ENTRY macro, to distinguish it from the DFHUCNV program of earlier releases. See Changes to DFHCNV macro for details of the change to the DFHCNV macro.

See CICS Family: Communicating from CICS on System/390® for details of all the DFHUCNV parameters.

DFHCNV

There is a new DFHCNV macro parameter operand.

The new operand SYSDEF has been added to the TYPE=INITIAL and TYPE=ENTRY macro parameters CLINTCP and SRVERCP. These macros define the user-replaceable data conversion table DFHCNV. The DFHCNV TYPE=INITIAL macro defines the beginning of the conversion table. It gives a list of valid code pages. The DFHCNV TYPE=ENTRY macro specifies a name and type to uniquely identify a data resource. There must be one for each resource for which conversion is required.

For information about the format of the changed parameters, see the CICS Family: Communicating from CICS on System/390 Guide.

[[ Contents Previous Page | Next Page Index ]]