Github - https://github.com/kamildemocko/PySapScript
SAP scripting for use in Python.
Can perform different actions in SAP GUI client on Windows.
https://kamildemocko.github.io/PySapScript/
pip install pysapscript
import pysapscript
sapscript = pysapscript.Sapscript()
parameter default_window_title: = "SAP Easy Access"
sapscript.launch_sap(
sid="SQ4",
client="012",
user="robot_t",
password=os.getenv("secret_password")
)
additional parameters:
root_sap_dir = Path(r"C:\Program Files (x86)\SAP\FrontEnd\SAPgui")
maximise = True
language = "de"
quit_auto = True
from pysapscript.window import Window
window: Window = sapscript.attach_window(0, 0)
positional parameters (0, 0) -> (connection, session)
launch_sap
parametersapscript.quit()
element: use SAP path starting with wnd[0]
for element arguments, for example wnd[0]/usr/txtMAX_SEL
window = sapscript.attach.window(0, 0)
window.maximize()
window.restore()
window.close()
window.start_transaction(value)
window.navigate(NavigateAction.enter)
window.navigate(NavigateAction.back)
window.write(element, value)
window.press(element)
window.send_v_key(value[, focus_element=True, value=0])
window.select(element)
selected = window.is_selected(element)
window.read(element)
window.set_checkbox(value)
window.visualize(element[, seconds=1])
table: ShellTable = window.read_shell_table(element)
html_content = window.read_html_viewer(element)
ShellTable uses polars, but can also be return pandas or dictionary
from pysapscript.shell_table import ShellTable
table: ShellTable = window.read_shell_table()
table.rows
table.columns
table.to_dict()
table.to_dicts()
table.to_polars_dataframe()
table.to_pandas_dataframe()
table.cell(row_value, col_value_or_name)
table.get_column_names()
table.load()
table.press_button(value)
table.select_rows([0, 1, 2])
table.change_checkbox(element, value)