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