TSO Logon Procedure

User Administration functions for accessing and modifying a user’s TSO Logon Procedure.

UserAdmin.get_tso_logon_procedure()

def get_tso_logon_procedure(self, userid: str) -> Union[str, None, bytes]:

📄 Description

Get a user’s TSO Logon Procedure.

📥 Parameters

  • userid
    The z/OS userid of the user whose TSO Logon Procedure is being requested.

📤 Returns

  • Union[str, None, bytes]
    Returns the user’s TSO Logon Procedure or None if it is not set or if the user does not have a TSO segment. If the UserAdmin.generate_requests_only class attribute is set to True, concatenated Security Request XML bytes will be returned.

❌ Raises

  • SecurityRequestError
    Raises SecurityRequestError when the SAF Return Code of a Security Result is equal to 4.
  • DownstreamFatalError
    Raises DownstreamFatalError when the SAF Return Code of a Security Result is greater than 4.

💻 Example

Python REPL
>>> from pyracf import UserAdmin
>>> user_admin = UserAdmin()
>>> user_admin.get_tso_logon_procedure("squidwrd")
'proc'

UserAdmin.set_tso_logon_procedure()

def set_tso_logon_procedure(
    self, userid: str, logon_procedure: Union[str, bool]
) -> Union[dict, bytes]:

📄 Description

Change a user’s TSO Logon Procedure.

📥 Parameters

  • userid
    The z/OS userid of the user whose TSO Logon Procedure is being changed.

  • logon_procedure
    The TSO Logon Procedure to set for the specified user or False to delete the current value.

📤 Returns

  • Union[dict, bytes]
    Returns a Security Result Steps dictionary or Concatenated Security Request XML bytes if the UserAdmin.generate_requests_only class attribute is set to True.

❌ Raises

  • SecurityRequestError
    Raises SecurityRequestError when the SAF Return Code of a Security Result is equal to 4.
  • DownstreamFatalError
    Raises DownstreamFatalError when the SAF Return Code of a Security Result is greater than 4.
  • AlterOperationError
    Raises AlterOperationError when the z/OS userid supplied cannot be altered because it does NOT exist.

💻 Example

Python REPL
>>> from pyracf import UserAdmin
>>> user_admin = UserAdmin()
>>> user_admin.set_tso_logon_procedure("squidwrd", "TOASTER")
{'step1': {'securityResult': {'user': {'name': 'SQUIDWRD', 'operation': 'set', 'requestId': 'UserRequest', 'info': ['Definition exists. Add command skipped due  to precheck option'], 'commands': [{'safReturnCode': 0, 'returnCode': 0, 'reasonCode': 0, 'image': 'ALTUSER SQUIDWRD  TSO      (PROC        (TOASTER))'}]}, 'returnCode': 0, 'reasonCode': 0, 'runningUserid': 'testuser'}}}
Security Result Steps Dictionary as JSON
{
  "step1": {
    "securityResult": {
      "user": {
        "name": "SQUIDWRD",
        "operation": "set",
        "requestId": "UserRequest",
        "info": [
          "Definition exists. Add command skipped due  to precheck option"
        ],
        "commands": [
          {
            "safReturnCode": 0,
            "returnCode": 0,
            "reasonCode": 0,
            "image": "ALTUSER SQUIDWRD  TSO      (PROC        (TOASTER))"
          }
        ]
      },
      "returnCode": 0,
      "reasonCode": 0
    }
  }
}