Re:Re: IDMS Data Replication Via TCP/IP

Discussion created by ca.portal.admin on Nov 9, 2008
This probably doesn't help your situation any, but I can tell you what
we did.

We are trying to get off the mainframe (and IDMS).
We have a need to keep many databases synchronized real-time throughout
the day while development continues to retire IDMS applications and
replace with brand new non-IDMS systems.

We wrote our own message exchange system.
It handles both PUBLISH and SUBSCRIBE messages.
IDMS can be updated from an update that originates on another database
and another database can be updated when an update originates in IDMS.

On the PUBLISH end:
1. An update occurs in IDMS.
2. A database procedure gets called for the record and writes a queue
record to any one of over a hundred queues.
3. A DC-COBOL program fires up as a result of queue trigger of 1.
4. DC-COBOL program re-obtains the record or (in case of an ERASE,
captures the key from the queue record) and writes appropriate fields
for the record to message exchange database on IDMS.
5. TCP/IP Socket program idles looking for PUBLISH records to send to
6. Server routes message to appropriate system and processes update

On the SUBSCRIBE end:
1. TCP/IP Socket program sends message to message exchange database on
IDMS from open-systems side.
2. Another non-socket idler program looks for SUBSCRIBE messages to
3. Idler program reads the tag to figure out what message it is.
4. Idler attaches the appropriate task to process the message and
update IDMS.

The above is a simplification of what happens.
There are called programs for handling writing and reading messages and
a lot of tables are involved so we don't have to recompile / reassemble
every time there is a change or a new message.

It took a while to develop ( 1 year +) and it was a lot of fine-tuning
effort along the way for the first couple of years.
Also, it is possible to end up with ""Dead Messages"" for any of a number
of reasons.
We have a process in place to handle those so we don't lose updates and
get databases out-of-sync.

Jon Gocher

----- Original Message -----
From: ""Govan, Hal (RET-DAY)"" <Harold.Govan@REEDELSEVIER.COM>
Sent: Thursday, November 06, 2008 11:35 AM
Subject: IDMS Data Replication Via TCP/IP

Hi Everyone:

I have a question for folks using IDMS TCP/IP under R16.0.

We are currently using IDMS TCP/IP to support web-based apps coming in
from WebSphere. We are contemplating doing selective data replication
to ORACLE and MS SQL Server databases using TCP/IP enhancements to
existing IDMS-DC applications.

Has anyone out there done this type of replication without the benefit
of a third-part product ? If so, I would appreciate any information
you could share regarding your experiences.


Hal Govan
Senior Database Administrator
Reed Elsevier - Technology Services <>
Phone: (937) 865-7820
IDMS Public Discussion Forum


Re: [IDMSVENDOR-L] cics to idms lu62 connectivity failure on CICS startup
"Sorry I didn't get back to you sooner but in the CA-IDMS System
Operations manual section 14.4.8 CICS Resynchronization Task Execution
is were you will find all you care to about resync program, I believe it
came out in 15.0 or earlier 16.0. Do a search on IDMSCSYN to find it
quickly. Short description below:

Resynchronization between a CICS interface and an Advantage CA-IDMS

central version is done through execution of a resynchronization

transaction defined to CICS. The Advantage CA-IDMS installation default

name for this transaction is RSYN. The resynchronization transaction is

associated with a resynchronization program whose installation default

name is IDMSCSYN. A separate resynchronization transaction and program

must be created for each CICS interface module (IDMSINTC) that is used

within a CICS system and the name of the transaction must be specified
the RSYNTXN parameter of the interface's CICSOPT macro. Failure to
the CICS resynchronization transaction causes any task attempting to
a database session for which AUTOCMT is enabled to fail with an abend
of K209.

Steve Harmeson