pysap.SAPDiagClient module

class pysap.SAPDiagClient.SAPDiagConnection(host, port, terminal=None, compress=False, init=False, route=None, support_data=<SAPDiagItem  item_type=APPL item_id=ST_USER item_sid=SUPPORTDATA item_value=<SAPDiagSupportBits  SAPGUI_IMODE=1 SAPGUI_COMPR_ENHANCED=1 SAPGUI_FONT_METRIC=1 SAPGUI_SYMBOL_RIGHT=1 SAPGUI_SELECT_RECT=1 SAPGUI_DIAGVERSION=1 SAPGUI_LABELS=1 PROGRESS_INDICATOR=1 RFC_DIALOG=0 INPUT_UPPERCASE=1 SAPGUI_TABPROPERTY=1 UPPERCASE=1 SAPGUI_PUSHBUTTON_1=1 SAPGUI_FOCUS_1=1 SAPGUI_TABLE=1 SAPGUI_LONG_MESSAGE=1 DLGH_FLAGS=1 CONTAINER_TYPE=1 OBJECT_NAMES=1 FULL_MENU=1 STOP_TRANS=1 MENU_SHORTCUT=1 FKEY_TABLE=1 LIST_HOTSPOT=0 NORABAX=0 NOMESSAGES=0 NOGRAPH=1 GUIAPI=0 TABSEL_ATTRIB=1 MESDUM_FLAG1=1 MESSAGE_INFO=0 APPL_MNU=1 TABLE_SIZE_OK=1 SCROLL_INFOS=1 OCX_SUPPORT=0 MESSAGE_VARS=1 NEW_BSD_JUSTRIGHT=1 NORFC=0 NOSAPSCRIPT=1 NOSYSMSG=0 TABSCROLL_INFOS=1 UNKNOWN_1=0 TABSTRIP=1 PUSHBUTTON_2=1 CONN_WSIZE=0 CURR_TCODE=1 VARINFO_OKCODE=1 MESSAGE_INFO2=1 NEED_STDDYNPRO=0 R3INFO_USER_CHECKED=0 APPTOOLBAR_FIXED=1 CONTROL_CONTAINER=1 MULTI_LOGIN_USER=0 RFCBLOB_DIAG_PARSER=1 NEW_MODE_REQUEST=1 TABLE_FIELD_NAMES=1 R3INFO_USERID=1 CHECKRADIO_EVENTS=1 R3INFO_FLAGS=0 COMBOBOX_TABLE=1 ISO_LANGUAGE=0 INPUT_REQUIRED=1 COMBOBOX=1 TYPE_SERVER=0 LABEL_OWNER=0 EVENT_DESCRIPTION=1 SCROLLABLE_TABSTRIP_PAGE=1 CONTEXT_MENU=1 WIN16=0 NUM_FIELD=1 USER_TURNTIME2=0 R3INFO_ROLLCOUNT=0 NOTGUI=0 R3INFO_IMODEUUID=0 VARINFO_CONTAINER=0 PROPFONT_VALID=0 TABLE_ROW_REFERENCES_2=1 UNUSED_1=0 PROPERTY_BAG=0 CLICKABLE_FIELD=0 ENJOY_IMODEUUID=0 CTL_PROPCACHE=1 DPLOADONDEMAND=1 JAVA_BEANS=1 RFC_COMPRESS=1 RFC_QUEUE=1 XML_BLOBS=1 WAN=0 HAS_CACHE=0 HEX_FIELD=0 UNUSED_4=0 XML_PROPERTIES=1 UNUSED_3=0 UNUSED_2=0 KEEP_SCROLLPOS=1 RFC_ASYNC_BLOB=1 UNUSED_6=0 COOKIE=0 PROPERTYPUMP=0 NO_EASYACCESS=0 ITS=0 ENJOY_IMODEUUID2=1 UNUSED_5=0 XML_PROP_TABLE=1 AREA2FRONT=1 EMERGENCY_REPAIR=0 CACHED_VSETS=0 AUTO_CODEPAGE=1 ENTRY_HISTORY=0 CONTROL_FOCUS=1 DPLOADONDEMAND_WRITE=1 SUPPBIT_AREA_SIZE=1 NOTIFY_NEWMODE=0 SINGLE_SESSION=0 UNKNOWN_2=0 PRINTDATA=1 WORKPLACE=0 EDIT_VARLEN=1 AUTORESIZE=0 SCROLLBAR_WIDTH=1 CONTROL_FOCUS_ON_LIST=1 WEBGUI_HELPMODE=0 WEBGUI=0 DYNAMIC_PASSPORT=1 DP_HTTP_PUT=0 XMLPROP_DYNPRO=1 XMLPROP_CONTAINER=1 TOOLBAR_HEIGHT=1 ENABLE_UTF8=1 ENJOY_IMODEUUID3=1 ECATT=1 ACCESSIBILITY=0 SLC=1 GUI_USER_SCRIPTING=1 EOKDUMMY_1=1 CBU_RBUDUMMY_2=1 CBURBU_NEW_STATE=1 GUIPATCHLEVEL=1 ENABLE_APPL4=1 R3INFO_CODEPAGE_APP=1 ENABLE_UTF16LE=0 ENABLE_UTF16BE=0 VARINFO_ICON_TITLE_LIST=1 R3INFO_AUTOLOGOUT_TIME=0 GUI_USER_SCRIPTING_INFO=0 ACC_LIST=0 VALUE_4_HISTORY=1 SPLITTER=1 EVENT_DESCRIPTION_1=1 TOP_WINDOW=1 GUI_THEME=1 BINARY_EVENTID=1 DEFAULT_TOOLTIP=1 TABSEL_ATTRIB_INPUT=0 ACC_LIST_PROPS=0 TICKET4GUI=0 FRAME_1=1 R3INFO_CODEPAGE_APP_1=1 DYNT_NOFOCUS=0 TEXTEDIT_STREAM=1 RFC_SERVER_4_GUI=0 OBJECT_NAMES_4_LOGIN_PROCESS=0 ITS_PLUGIN=0 TABLE_COLUMNWIDTH_INPUT=0 CONTROL_FOCUS_ON_LIST_2=0 CELLINFO=1 CBU_RBUDUMMY_3=1 XML_PROP_TABLE_2=1 MESSAGE_INFO3=0 EOKDUMMY_2=1 VARINFO_CONTAINER_LOOP=1 R3INFO_KERNEL_VERSION=1 WEBSAPCONSOLE=0 MENUENTRY_WITH_FCODE=0 RCUI=0 R3INFO_FLAGS_2=0 MESSAGE_SERVICE_REQUEST=1 TC_KEEP_SCROLL_POSITION=1 DIALOG_STEP_NUMBER=1 GUI_PACKET=1 DISPLAY_SIZE=1 GUIPATCHLEVEL_2=1 MAINAREA_SIZE=1 SBA2=1 ALLWAYS_SEND_CLIENT=0 LIST_FULLWIDTH=0 TRACE_GUI_CONNECT=0 XMLPROP_LIST_DYNPRO=0 STD_TOOLBAR_ITEMS=1 VARINFO_CONTAINER_1=1 MAX_STRING_LEN=1 DYNT_FOCUS_FRAME=1 EXTMODE_FONT_METRIC=0 AMC=0 IDA_ALV_FRAGMENTS=0 IDA_ALV=0 SAP_PERSONAS=0 MAX_WSIZE=0 GUI_SIGNATURE_COLOR=0 UNKNOWN_3=0 AGI_ID_TC=0 AGI_ID=0 MSGINFO_WITH_CODEPAGE=0 CONNECT_CHECK_DONE=0 FIORI_MODE=0 NO_FOCUS_ON_LIST=0 AGI_ID_TS_BUTTON=0 GROUPBOX=0 padding_bits=0 |> |>)[source]

Bases: object

SAP Diag Connection

This class represents a basic client connection to a Diag server. Handles initialization and further interaction by sending/receiving packets.

close()[source]

Send an ‘end of connection’ packet and closes the socket

connect()[source]

Creates a SAPNIStreamSocket connection to the host/port. If a route was specified, connect to the target Diag server through the SAP Router.

get_support_data_item(support_data)[source]
static get_terminal_name()[source]

Generates a random IP address to use as a terminal name. In SAP systems that don’t implement SAP Note 1497445, the dispatcher registers logs the terminal name as provided by the client, or fallback to registering the IP address if the terminal name can’t be resolved. Using a random IP address as terminal name in unpatched systems will make the ‘terminal’ field of the security audit log unreliable.

init()[source]

Sends an initialization request. If the socket wasn’t created, call the connect method. If compression was specified, the initialization will be performed using the respective User Connect item.

Returns:

initialization response (usually login screen)

Return type:

SAPNI

initialized = False
Ivar:

if the connection was initialized

Type:

bool

interact(message)[source]

Interacts with the SAP Diag server, adding the SAPDiagStep item and ending with a ‘end of message’ item.

Parameters:

message (list of SAPDiagItem) – items to send

Returns:

server’s response

Return type:

SAPNI

last_response = None
Ivar:

stores the last response received from the server

Type:

SAPNI

receive()[source]

Receive a SAPNI packet using the SAPNIStreamSocket. Response is returned and also stored in last_response.

Returns:

packet received

Return type:

SAPNI

send(packet)[source]

Sends a packet using the SAPNIStreamSocket

Parameters:

packet (SAPDiag) – packet to send

send_message(msg)[source]

Sends a SAPDiag message, prepending the Diag header.

Parameters:

msg (list of SAPDiagItem) – items to send

sr(packet)[source]

Sends and receive a SAPNI packet using the SAPNIStreamSocket

Parameters:

packet (SAPDiag) – packet to send

Returns:

packet received

Return type:

SAPNI

sr_message(msg)[source]

Sends and receive a SAPDiag message, prepending the Diag header.

Parameters:

msg (list of SAPDiagItem) – items to send

Returns:

server’s response

Return type:

SAPNI

step = 0
Ivar:

number of the last dialog step performed

Type:

int