If the sign-on service is running for a UPIC client or a transport system application, then the sign-on service will never be located in the first part because, at a minimum, the connection user ID is assigned as the user ID. The following applies:
In the case of TS applications, the user is signed on under the connection user ID or a user ID passed by means of a SIGN ON call. If the user is signed on under the connection user ID, the sign-on service can still sign the user on under a real user ID by means of the SIGN ON call when there is no service open for the connection user ID (KCRSIGN1=R).
In the case of UPIC clients, the user is signed on under the connection user ID, the user ID passed in the UPIC protocol or the user ID passed by means of a SIGN ON call. If the user is signed on under the connection user ID, the sign-on service can still pass a real user ID in the SIGN ON call.
The second part of the sign-on service
You can use the SIGN ST call to query the status.
KCRSIGN1= A or R
The sign-on was successful. The service is now assigned a user ID.
When a sign-on service starts for a transport system application, the connection user ID is signed on.
When a sign-on service starts for a UPIC client, either the connection user ID or a real user ID passed by the client in the UPIC protocol is signed on.
If the client is signed on under the connection user ID, the sign-on service can now pass a real user ID by means of the SIGN ON call.For KCRSIGN1 = A
The sign-on service can terminate with PEND FI or PEND FC. The final message is created by the service itself and is output with MPUT.
If the sign-on service terminates with MPUT PM, KCLM=0, KCMF=SPACE and PEND FI, then openUTM outputs the last dialog message and terminates the conversation. If no message is available, then a "NULL message" is output and the conversation is terminated abnormally.For KCRSIGN1 = R
The sign-on is correct, and there is no service restart. If desired, other dialog steps can be inserted before the end of the service. The sign-on service must terminate with PEND FI. The service restart is initiated by the call MPUT PM, KCLM=0, KCMF/kcfn=blanks. In this case, openUTM outputs the last saved message of the interrupted service (screen restart) or, in the case of a local synchronization point, starts the follow-up program unit or the follow-up service after PEND SP/FC.
If terminated without an MPUT call, the open service can be terminated abnormally. A UPIC client receives a CM_DEALLOCATED_ABEND, and message K017 is sent to a transport system application.KCRSIGN1= U
The sign-on attempt was not successful, i.e. openUTM has not accepted the authorization data. If a sign-on service for a UPIC client terminates in this state, then the conversation is terminated. If a sign-on service for a transport system application terminates itself in this state, then the connection is cleared.
Particularities of the sign-on service for UPIC clients
The sign-on service is started before the beginning of every conversation but in the case of applications with OMIT-UPIC-SIGNOFF=NO only if the user is not yet signed on.
A PEND FI in the sign-on service after a successful sign-on terminates the sign-on service but not the conversation.
If a program unit of the sign-on service terminates after receiving a message from the UPIC client with PEND PA/PR, PS or FC without a preceding MPUT, the follow-up program unit specified in the KCRN field can read messages or message segments that have not yet been read. If the sign-on service is terminated with PEND FC without a preceding MPUT, the first program unit of the concatenated service receives the value F (first) rather than C (chained) as the service identifier in KBKOPF because it receives a message from the client.
The following diagram shows an example of the processing of a successful sign-on service via a UPIC client that passes the authorization data of a real user idea in the protocol field.
Figure: Processing of a sign-on service for UPIC clients
The sign-on service is terminated with PEND FC in program unit 1. The transaction code passed with SIGN ST is taken from the UPIC protocol as a follow-up TAC.
The concatenated service can then read the message from the client in program unit 2. In this way, UPIC clients can use the sign-on service without any need for reprogramming.
Example of a sign-on service for TS applications
The following diagram shows the processing of a sign-on service via a TS application when the sign-on is successful under a real user ID:
Figure: Processing of a sign-on service for TS applications
Sample programs for sign-on service
openUTM is shipped with program units as source programs that implement a complete sign-on service with a formatted interface to the terminal. This sign-on service is suitable for all generation variants. The format used contains English text.
The user can adapt this template to suit his or her requirements. A sign-on procedure with a formatted interface to the user is thus easily obtained. It is thus not necessary to start programming from scratch.