Article ID: 175375
Article Last Modified on 10/27/2006
APPLIES TO
- Microsoft SNA Server 3.0 Service Pack 4
- Microsoft SNA Server 4.0
- Microsoft SNA Server 3.0 Service Pack 2
- Microsoft SNA Server 3.0 Service Pack 3
- Microsoft SNA Server 3.0 Service Pack 4
- Microsoft SNA Server 4.0
- Microsoft SNA Server 4.0 Service Pack 1
- Microsoft SNA Server 4.0 Service Pack 2
This article was previously published under Q175375
SUMMARY
SNA Server versions 3.0 through 4.0 SP2 have a new Logical Unit of Work Identifier (LUW_ID) instance format for LU 6.2-based conversations. Outlined below are the changes that have been made:
SNA Server 3.0 | Previous Versions |
---|---|
Byte 1- Year (high) | Byte 1- Hundredths of a second |
Byte 2- Year (low) | Byte 2- Seconds |
Byte 3- Month | Byte 3- Minute |
Byte 4- Day | Byte 4- Hour |
Byte 5- Hour | Byte 5- Day |
Byte 6- Minute | Byte 6- Month |
SNA Server 4.0 Post-SP2 |
---|
Byte 1- Year (high) |
Byte 2- Year (low) |
Byte 3-6- Flipped hexidecimal unsigned long integer containing the number of hundredths of a second in this year (but assuming each month is 31 days). The maximum value of (12/31 23.59.59.99) is 3214079999 or 0xBF92F7FF. If this value clashes with a previously generated value, the number is incremented by one. |
NOTE: The algorithm is changed in SNA Server 4.0 post-SP2 to prevent possible clashes in the logical unit of work generated by an SNA Server.
MORE INFORMATION
The LUW_ID is used to identify conversations that are part of a single Syncpoint transaction. All conversations with the same LUW_ID are committed (or backed out) at the same time. SNA Server 3.0 (not 2.11) assigns two LUW_IDs to a transaction program (TP) when the TP is started. In the case of locally started TPs, this is when the TP_STARTED verb is issued. The first LUW_ID is the TP's protected LUW_ID and is used by SNA Server as the LUW_ID for all synclevel Syncpoint conversations allocated by the TP. When the TP issues an (MC_)Allocate verb with synclevel Syncpoint, SNA Server generates an Attach containing the TP's current protected LUW_ID.
The second LUW_ID is the TP's unprotected LUW_ID. It is used on all conversations allocated by the TP with a synclevel other than Syncpoint.
For remotely initiated TPs, the incoming Attach may contain an LUW_ID for the TP; it is mandatory if the conversation is synclevel Syncpoint. For synclevel Syncpoint conversations, SNA Server saves the LUW_ID as the TP's protected LUW_ID and generates a new unprotected LUW_ID for it. For conversations other than Syncpoint, SNA Server saves the LUW_ID as the TP's unprotected LUW_ID and generates a new protected LUW_ID.
SNA Server generates LUW_IDs by concatenating:
- The fully qualified name of the local LU, preceded by a single byte indicating its length.
- A 6-byte LUW instance number, generated from the current date and time (see above summary).
- A 2-byte LUW sequence number, initialized to 1.
There are times when certain non-Syncpoint-related TPs (host or SNA Server based) make use of the unprotected LUW_ID for accounting purposes and extract this field using the GET_TP_PROPERTIES verb. These applications may become confused if they are not aware of the changes that have been made to the LUW_ID instance field.
NOTE: COM Transaction Integrator for IMS and CICS (also known as "COMTI") is one application that commonly uses Syncpoint for 2-phased commit.
Keywords: kbinfo KB175375