Progress0 of 0 lessons

CICS EXTRACT LOGONMSG - Logon Message Extraction

CICS EXTRACT LOGONMSG provides logon message extraction capabilities for programs and transactions. It enables programs to extract logon messages, retrieve user logon information, and handle logon message processing in CICS environments.

What is CICS EXTRACT LOGONMSG?

CICS EXTRACT LOGONMSG is a command that allows programs to extract logon messages from the system. It provides logon message extraction capabilities, user logon information retrieval, and logon message processing for CICS applications.

Command Syntax

cobol
1
2
3
4
5
EXEC CICS EXTRACT LOGONMSG INTO(data-area) [LENGTH(data-length)] [RESP(response-code)] END-EXEC

Parameters

Required Parameters

  • INTO(data-area) - Data area to receive logon message

Optional Parameters

  • LENGTH(data-length) - Length of logon message
  • RESP(response-code) - Response code variable

Logon Message Types

User Logon Messages

Messages related to user logon

  • LOGON SUCCESS - Successful logon message
  • LOGON FAILURE - Failed logon message
  • LOGON WARNING - Logon warning message
  • LOGON INFO - Logon information message

System Logon Messages

Messages related to system logon

  • SYSTEM LOGON - System logon message
  • SYSTEM LOGOFF - System logoff message
  • SYSTEM STATUS - System status message
  • SYSTEM ALERT - System alert message

Security Logon Messages

Messages related to security logon

  • SECURITY LOGON - Security logon message
  • SECURITY VIOLATION - Security violation message
  • SECURITY ALERT - Security alert message
  • SECURITY AUDIT - Security audit message

Application Logon Messages

Messages related to application logon

  • APP LOGON - Application logon message
  • APP LOGOFF - Application logoff message
  • APP SESSION - Application session message
  • APP ERROR - Application error message

Programming Examples

Basic Logon Message Extraction

cobol
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
IDENTIFICATION DIVISION. PROGRAM-ID. EXTRACTLOGONMSG01. DATA DIVISION. WORKING-STORAGE SECTION. 01 LOGON-MESSAGE PIC X(80). 01 MESSAGE-LENGTH PIC S9(4) COMP. 01 RESPONSE-CODE PIC S9(8) COMP. PROCEDURE DIVISION. DISPLAY 'Extracting logon message' EXEC CICS EXTRACT LOGONMSG INTO(LOGON-MESSAGE) LENGTH(MESSAGE-LENGTH) RESP(RESPONSE-CODE) END-EXEC IF RESPONSE-CODE = DFHRESP(NORMAL) DISPLAY 'Logon message extracted successfully' DISPLAY 'Message: ' LOGON-MESSAGE(1:MESSAGE-LENGTH) DISPLAY 'Length: ' MESSAGE-LENGTH ELSE DISPLAY 'Failed to extract logon message' END-IF EXEC CICS RETURN END-EXEC.

Advanced Logon Message Processing

cobol
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
IDENTIFICATION DIVISION. PROGRAM-ID. EXTRACTLOGONMSG02. DATA DIVISION. WORKING-STORAGE SECTION. 01 LOGON-MESSAGE PIC X(80). 01 MESSAGE-LENGTH PIC S9(4) COMP. 01 RESPONSE-CODE PIC S9(8) COMP. 01 EXTRACTION-COUNT PIC S9(2) COMP VALUE 0. 01 MAX-EXTRACTIONS PIC S9(2) COMP VALUE 3. 01 MESSAGE-LIST. 05 MESSAGE-ITEM OCCURS 3 TIMES. 10 MESSAGE-CONTENT PIC X(80). 10 MESSAGE-LEN PIC S9(4) COMP. 10 MESSAGE-TYPE PIC X(10). PROCEDURE DIVISION. PERFORM EXTRACT-MULTIPLE-LOGON-MESSAGES EXEC CICS RETURN END-EXEC. EXTRACT-MULTIPLE-LOGON-MESSAGES. PERFORM VARYING EXTRACTION-COUNT FROM 1 BY 1 UNTIL EXTRACTION-COUNT > MAX-EXTRACTIONS PERFORM EXTRACT-SINGLE-LOGON-MESSAGE IF RESPONSE-CODE = DFHRESP(NORMAL) MOVE LOGON-MESSAGE TO MESSAGE-CONTENT(EXTRACTION-COUNT) MOVE MESSAGE-LENGTH TO MESSAGE-LEN(EXTRACTION-COUNT) PERFORM DETERMINE-MESSAGE-TYPE DISPLAY 'Extracted message ' EXTRACTION-COUNT ': ' MESSAGE-TYPE(EXTRACTION-COUNT) DISPLAY 'Content: ' MESSAGE-CONTENT(EXTRACTION-COUNT)(1:MESSAGE-LEN(EXTRACTION-COUNT)) ELSE DISPLAY 'Failed to extract message ' EXTRACTION-COUNT END-IF END-PERFORM. EXTRACT-SINGLE-LOGON-MESSAGE. EXEC CICS EXTRACT LOGONMSG INTO(LOGON-MESSAGE) LENGTH(MESSAGE-LENGTH) RESP(RESPONSE-CODE) END-EXEC. DETERMINE-MESSAGE-TYPE. IF MESSAGE-CONTENT(EXTRACTION-COUNT)(1:10) = 'LOGON SUCC' MOVE 'SUCCESS' TO MESSAGE-TYPE(EXTRACTION-COUNT) ELSE IF MESSAGE-CONTENT(EXTRACTION-COUNT)(1:10) = 'LOGON FAIL' MOVE 'FAILURE' TO MESSAGE-TYPE(EXTRACTION-COUNT) ELSE IF MESSAGE-CONTENT(EXTRACTION-COUNT)(1:10) = 'LOGON WARN' MOVE 'WARNING' TO MESSAGE-TYPE(EXTRACTION-COUNT) ELSE MOVE 'UNKNOWN' TO MESSAGE-TYPE(EXTRACTION-COUNT) END-IF.

Error Handling with Logon Message Extraction

cobol
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
IDENTIFICATION DIVISION. PROGRAM-ID. EXTRACTLOGONMSG03. DATA DIVISION. WORKING-STORAGE SECTION. 01 LOGON-MESSAGE PIC X(80). 01 MESSAGE-LENGTH PIC S9(4) COMP. 01 RESPONSE-CODE PIC S9(8) COMP. 01 RETRY-COUNT PIC S9(2) COMP VALUE 0. 01 MAX-RETRIES PIC S9(2) COMP VALUE 3. 01 EXTRACTION-SUCCESSFUL PIC X(1) VALUE 'N'. PROCEDURE DIVISION. PERFORM EXTRACT-LOGON-MESSAGE-WITH-RETRY EXEC CICS RETURN END-EXEC. EXTRACT-LOGON-MESSAGE-WITH-RETRY. PERFORM EXTRACT-LOGON-MESSAGE IF RESPONSE-CODE NOT = DFHRESP(NORMAL) AND RETRY-COUNT < MAX-RETRIES ADD 1 TO RETRY-COUNT DISPLAY 'Retry ' RETRY-COUNT ' logon message extraction' PERFORM EXTRACT-LOGON-MESSAGE-WITH-RETRY END-IF. EXTRACT-LOGON-MESSAGE. EXEC CICS EXTRACT LOGONMSG INTO(LOGON-MESSAGE) LENGTH(MESSAGE-LENGTH) RESP(RESPONSE-CODE) END-EXEC EVALUATE RESPONSE-CODE WHEN DFHRESP(NORMAL) MOVE 'Y' TO EXTRACTION-SUCCESSFUL DISPLAY 'Logon message extracted successfully' WHEN DFHRESP(NOTAUTH) DISPLAY 'Not authorized to extract logon message' WHEN DFHRESP(INVREQ) DISPLAY 'Invalid logon message extraction request' WHEN DFHRESP(LOGONMSGERR) DISPLAY 'Logon message extraction error' WHEN DFHRESP(MSGNOTFOUND) DISPLAY 'Logon message not found' WHEN DFHRESP(MSGLENGTHERR) DISPLAY 'Logon message length error' WHEN OTHER DISPLAY 'Unexpected logon message extraction error' END-EVALUATE.

Logon Message Management

Message Extraction

  • Message Retrieval - Retrieve logon messages
  • Message Processing - Process logon messages
  • Message Validation - Validate logon messages
  • Message Formatting - Format logon messages

Message Analysis

  • Message Parsing - Parse logon messages
  • Message Classification - Classify logon messages
  • Message Filtering - Filter logon messages
  • Message Aggregation - Aggregate logon messages

Message Storage

  • Message Storage - Store logon messages
  • Message Archiving - Archive logon messages
  • Message Indexing - Index logon messages
  • Message Retrieval - Retrieve stored messages

Error Recovery

  • Error Detection - Detect logon message errors
  • Error Recovery - Recover from logon message errors
  • Retry Mechanisms - Implement retry logic
  • Fallback Procedures - Use fallback procedures

Error Handling

Common Response Codes

  • DFHRESP(NORMAL) - Logon message extracted successfully
  • DFHRESP(NOTAUTH) - Not authorized to extract logon message
  • DFHRESP(INVREQ) - Invalid logon message extraction request
  • DFHRESP(LOGONMSGERR) - Logon message extraction error
  • DFHRESP(MSGNOTFOUND) - Logon message not found
  • DFHRESP(MSGLENGTHERR) - Logon message length error

Performance Considerations

Message Efficiency

  • Optimize message operations - Use efficient message handling
  • Minimize message overhead - Reduce message processing overhead
  • Use message caching - Implement message caching
  • Monitor message frequency - Track message extraction patterns

System Impact

  • Monitor system impact - Track how message extraction affects the system
  • Optimize message handling - Ensure efficient message processing
  • Manage message usage - Monitor message consumption
  • Track performance metrics - Monitor message handling performance

Best Practices

Logon Message Extraction Best Practices

  • • Extract logon messages only when needed
  • • Implement proper error handling for message operations
  • • Validate logon message data before processing
  • • Use appropriate message management techniques
  • • Monitor logon message activities and performance
  • • Maintain logon message audit trails
  • • Handle logon message errors gracefully

Explain It Like I'm 5 Years Old

Think of CICS EXTRACT LOGONMSG like reading a note from the teacher:

  • Teacher's Note: "Teacher left a note for you" - Logon message
  • Read Note: "Read the note to see what it says" - Extract message
  • Understand Message: "Understand what the message means" - Process message
  • Tell Others: "Tell others what the message says" - Use message
  • Keep Note: "Keep the note safe" - Store message

Exercises

Exercise 1: Basic Logon Message Extraction

Create a program that extracts a simple logon message.

Exercise 2: Advanced Message Processing

Write a program that processes multiple logon message extractions.

Exercise 3: Error Handling

Implement comprehensive error handling for logon message extraction failures.