Question & Answer
Question
I am running Content Manager 2.3 on OS/390® and DB2® V6.1 at May 2000 maintenance level. The library server runs on OS/390 with two object servers, one on OS/390 and one on AIX®. I initialized the AIX object server databases without first performing the prerequisite work on the library server to delete the associated objects. I now have metadata on the library server for objects that do not exist. Deleting these objects causes errors. I was told that, with program FRNMHLD5, I could delete VisualInfo™ entries for objects that do not exist in any object server. I defined FRNMHLD5, the transaction DELE, and the TD queue B001 for the library server CICS®. I also put a sequential fb file with record length 89 in the CICS JCL. I tested that the TD queue can be read with CECI readq td. I get these errors: FRN7667A , -204, and "GetNetTable(): FRNNETT file Read error". Here is a sample of the file that I use on my test system. FRNODAOS FRNI S 9.112.46.200 05041 F4ACR001 FRNI S 9.112.46.200 05042 === Only the first 2 records of this file are read by FRNMHLD load module. === The FRNMLCII GetNetTable() routine reads the first two records of this file. === This file is for HBLC to use TCP/IP to talk to HBLS. Also, APAR PQ36125 has a hold action that states that you need to 'install program FRNMHLD5 and tran ID DELE into the MVS™ Library Client CICS region'. I do not run MVS library client. My library client runs under Windows® 95. I only have an MVS library server, but the APAR hold data indicates that I need an MVS library client to run program FRNMHLD5.
Cause
Feed from Retain: 5655A0200, and PMR#: 62776
Answer
Here are the meanings of the errors you received:
- FRN7667A means the library server could not talk to the object server.
- -204 refers to a bind problem.
- "GetNetTable(): FRNNETT file Read error" means the program FRNMHLD5 cannot read the file referenced by the //FRNNETT DD statement.
Make sure that you have provided a network table file in your CICS JCL. In this example, it is:
//FRNNETT DD DISP=SHR,DSN=?FRN?.FRNNETT//*
Make sure that you included the FRNNETT entry in your DCT table.
You need a network table dataset for the library client to communicate with the other machine.
To run the FRNMHLD5 job, you must have a library client on your Content Manager for OS/390 system that will interface with the library server. Look at the error message you are getting; the DELE transaction is calling on the FRNMLCII, which is the library client. Within the JCL that you use to run the library client you must also specify an FRNNETT DD pointing to a dataset. After this, you should be able to run the FRNMHLD5 job.
If the object server on which this object used to be stored no longer exists (but the object server code still exists in the library server database), then the delete request will be rejected. It will be rejected because the library server will try to contact the object server before it sends the delete request to the object server. The contact will fail and the delete request will be rejected.
To solve this problem, Content Manager has modified the library server code in PTF UQ44129. With UQ44129, if the transaction ID is FRNB, then for a delete request, the library server will bypass the routine to "contact and send the request to object server." The library server will delete the item and all the related data of this object without checking whether the object server is up.
To use the FRNB transaction, you must:
- Add an FRNB transaction (copy from the regular FRNI transaction) in the CICS CSD entry.
- Create an FRNB (again copy from FRNI) configuration via SystemAdmin Client.
- If you want to run the client application on the workstation (to send the delete without object server involved), in the OS/390 library server entry in the FRNOLINT.TBL, change TP = FRNI to TP = FRNB. This must be performed on the workstation which will perform this delete.
After you clean up all the items and related data of non-existing objects, change FRNB back to FRNI so this workstation will continue to use the normal FRNI transaction. - If you want to run the client application on the OS/390 (to send the delete without object server involved), you must change FRNI to FRNB as the transaction ID of library server. This must be done in the FRNNETT network table used by 390 library client.
- The FRNNETT is used by the OS/390 library client, so the library server name and IP address are needed in the FRNNETT file.
- You can install the OS/390 library client in the same CICS region or a different CICS region than that of your OS/390 library server, but the OS/390 library client still needs to know whether the library server is remote or local.
- You do not need to specify the object server name in the FRNNETT. In FRNNETT, the first line identifies the OS/390 library client, the second line identifies the library server.
Reminder: You need to switch FRNB back to FRNI so that you can log on via the Client Application. That is, change the FRNOLINT.TBL to include TP = FRNI. If you forgot to make this switch, you might get error message "FRN6740A: The logon was not successful becuase of error 6288."
If you continue to have problems, refer to your LibSrv CICS logs for a security violation for transaction FRNB. It is possible that transaction FRNB was not defined to your security system.
If this is the case, define FRNB with the same properties that are used for FRNI. Then recycle the LibSrv CICS region, and change the FRNOLINT.TBL to include TP = FRNB on one workstation. You should be able to log on to the Client Application and be able to delete specific LibSrv item information for objects that are stored in the ObjSrv.
Finally, the LibClient *.SFRNLMD4 load library might not have been included originally in the LibSrv CICS region if you chose not to use LibClient on OS/390. If you add *.SFRNLMD4, transaction FRNB should be activated (FRNT 20020411112104 FRNMHBLT: Enabling transaction FRNB).
Was this topic helpful?
Document Information
Modified date:
14 October 2019
UID
swg21105338