It's certainly going to be a courageous decision (cultural info: taken from the BBC program "Yes Minister", where a civil servant who opposed what a government minister wanted to do would say to convey his view the decision was totally wrong) to implement an LU0 function.
For a start, there is not actually a fixed flavor of LU0, there are variants of it. For example, SLU-P is used by (my) FEPI component of CICS to talk to IMS. To talk LU0 to a device you have to know all about RUs, THs, RTRs, CDs, etc. (If you don't know what these mean, then take this as an hint.) Also, how the other end behaves in terms of these very low-level bits inside the actual flows.
If you really want to talk to something using a functional IBMish protocol, then LU6.2 is what you want. If the other end supports full UnitOfWork protocols (distributed UoWs), then you can use a Synclevel(2) connection and so get transactional ability (and support) throughout. If the other end is not fully transactional, then a SL(1) connection should be used but both ends must react according to the requirements of the protocol.
I suggest you read the Distributed Programming Guide. In the dim and distant past I had a lot of input to that book from the CICS viewpoint. You might also want to have a look at the various LU6.2 manuals.
CICS Technical Strategist -- CICS expert at Search390.com
Editor's note: Do you agree with this expert's response? If you have more to share, post it in one of our .VO7aaqqaAFk.0@/search390>discussion forums.
This was first published in May 2003