# studio-bettermilk/uipath-foundation-pack-for-accelerators-for-sap-ecc architecture

> Architecture diagram of the GitHub repository studio-bettermilk/uipath-foundation-pack-for-accelerators-for-sap-ecc, generated by GitDiagram from its file tree, README and a sample of source files (last updated 2026-08-12). It is an AI-made overview: check details against the source.

- Interactive diagram: https://gitdiagram.com/studio-bettermilk/uipath-foundation-pack-for-accelerators-for-sap-ecc
- Repository: https://github.com/studio-bettermilk/uipath-foundation-pack-for-accelerators-for-sap-ecc

## Overview

#### Purpose and Runtime
This is a UiPath accelerator library for SAP ECC automation, organized as reusable XAML workflows rather than a single application. It covers Basis administration, Finance, Manufacturing, Sales, and Sourcing/Procurement operations through SAP GUI automation and SAP BAPI/RFC-oriented workflows. Execution requires UiPath Studio/Robot, SAP GUI/ECC access, and Excel-compatible files for arguments, inputs, configuration, and outputs.

#### Entry Points and Composition
Each capability is an independently invocable workflow, conventionally named `SRC_*.xaml`; there is no evident global orchestrator. The project metadata and discoverable entry-point manifest are:
- `project.json`
- `project.uiproj`
- `entry-points.json`

Representative top-level orchestrators include:
- `SRC_BAPIv2.2_REGISTER/SRC_BAPIv2.2_REGISTER.xaml`
- `SRC_CM_SAP_LOGON_E/SRC_CM_SAP_LOGON_E.xaml`
- `UiPath Accelerator for SAP ECC for Finance/SRC_PAYMENT_RUN_E/SRC_PAYMENT_RUN_E.xaml`

Consumers compose these workflows into their own UiPath processes, passing typed arguments and spreadsheet-backed data.

#### Shared SAP Session and GUI Automation Layer
Common workflows establish and terminate SAP GUI sessions, navigate transactions, populate controls/grids, inspect labels/status/scrollbars, and capture screenshots. This is the boundary to the SAP GUI client and is selector-sensitive.
- `SRC_CM_SAP_LOGON_E/SapLogon.xaml`
- `SRC_CM_SAP_LOGOFF_E/ExecuteLogoff.xaml`
- `SRC_Common/SRC_SetTransactionCode.xaml`

GUI-centric business workflows usually split an entry XAML from screen-specific execution stages, e.g. `SetScreenDataFlow`, validation, and message handling:
- `UiPath Accelerator for SAP ECC for Sourcing and Procurement/SRC_MAT_MSTR_CRT_E/SRC_MAT_MSTR_CRT_E.xaml`
- `UiPath Accelerator for SAP ECC for Sourcing and Procurement/SRC_MAT_MSTR_CRT_E/Execution/SetScreenDataFlow.xaml`
- `UiPath Accelerator for SAP ECC for Finance/SRC_PARK_ACC_E/SetScreenDataFlow.xaml`

#### BAPI/RFC Execution and Transaction Boundary
BAPI-based automations are packaged per SAP business operation across all domains (user/role administration, financial documents, purchase orders, production orders, sales orders, etc.). The generic register workflow provides the most explicit execution pipeline: validate arguments and required fields, build BAPI arguments, execute, evaluate return values/retries, commit, and write logs.
- `SRC_BAPIv2.2_REGISTER/SRC_BAPIv2.2_REGISTER.xaml`
- `SRC_BAPIv2.2_REGISTER/ExecuteBAPI.xaml`
- `SRC_BAPIv2.2_REGISTER/Commit.xaml`

RFC table reads and unit/data-element facilities support SAP metadata and table-driven operations:
- `SRC_Common/SRC_RFC_READ_TABLE_v2.2.xaml`
- `SRC_BAPIv2.2_TABLEDATA_OUTPUT_E/GetSAPDataTable.xaml`
- `SRC_BAPIv2.2_VALTBL_CNV_E/SRC_BAPIv2.2_VALTBL_CNV_E/GetT006.xaml`

#### Spreadsheet-Driven Contracts and Localization
Excel files are the primary external data contract: argument templates, batch input, resource strings, selector definitions, and English/Japanese variants. Workflows load and transform spreadsheet data into UiPath tables/rows before SAP calls or GUI entry.
- `SRC_CM_FNCMDL_EXE_E/Data/Arg-SRC_CM_FNCMDL_EXE_E(EN).xlsx`
- `UiPath Accelerator for SAP ECC for Basis Administration/SRC_DEFINE_JOB_E/Config/Selector-SRC_DEFINE_JOB_E(EN).xlsx`
- `SRC_Common/SRC_LoadExcelData.xaml`

Selector and resource workbooks isolate language/UI-version variation from workflow control flow; this is a material maintenance boundary for SAP GUI changes.

#### Outputs, Monitoring, and Audit
Export-oriented workflows retrieve SAP tables, job logs, dumps, authorization data, CCMS alerts, and GUI results into DataTables, Excel, text, MHTML, or HTML. Error/status handling and logs provide the observable result boundary for batch operations.
- `SRC_CM_GET_TBL_E/Execution/SearchDataExport.xaml`
- `UiPath Accelerator for SAP ECC for Basis Administration/SRC_BAPIv2.2_JOBLOG_EXPORT_E/ExportJobLog.xaml`
- `SRC_Common/SRC_WriteLogToExcel.xaml`

Main entry points: [`UiPath Accelerator for SAP ECC for Sourcing and Procurement/SRC_MAT_MSTR_CRT_E/SRC_MAT_MSTR_CRT_E.xaml`](https://github.com/studio-bettermilk/uipath-foundation-pack-for-accelerators-for-sap-ecc/blob/main/UiPath%20Accelerator%20for%20SAP%20ECC%20for%20Sourcing%20and%20Procurement/SRC_MAT_MSTR_CRT_E/SRC_MAT_MSTR_CRT_E.xaml) (GUI business workflows), [`SRC_BAPIv2.2_REGISTER/SRC_BAPIv2.2_REGISTER.xaml`](https://github.com/studio-bettermilk/uipath-foundation-pack-for-accelerators-for-sap-ecc/blob/main/SRC_BAPIv2.2_REGISTER/SRC_BAPIv2.2_REGISTER.xaml) (BAPI register), [`entry-points.json`](https://github.com/studio-bettermilk/uipath-foundation-pack-for-accelerators-for-sap-ecc/blob/main/entry-points.json) (Entry-point manifest), [`SRC_BAPIv2.2_REGISTER/ExecuteBAPI.xaml`](https://github.com/studio-bettermilk/uipath-foundation-pack-for-accelerators-for-sap-ecc/blob/main/SRC_BAPIv2.2_REGISTER/ExecuteBAPI.xaml) (Execute BAPI)

## Diagram (Mermaid)

```mermaid
flowchart TD

subgraph group_catalog["Workflow Catalog"]
  node_project["UiPath project metadata<br/>project manifest<br/>[project.json]"]
  node_entrypoints["Entry-point manifest<br/>workflow catalog<br/>[entry-points.json]"]
  node_gui_workflows["GUI business workflows<br/>SRC workflow family"]
end

subgraph group_gui["SAP GUI Automation"]
  node_sap_logon["SAP logon<br/>session workflow<br/>[SapLogon.xaml]"]
  node_transaction_nav["Transaction navigation<br/>GUI utility"]
  node_screen_data_flow["Screen data flow<br/>GUI execution stage"]
  node_sap_logoff["SAP logoff<br/>session workflow<br/>[ExecuteLogoff.xaml]"]
  node_sap_gui{{"SAP GUI / ECC<br/>external SAP client"}}
end

subgraph group_bapi["BAPI / RFC Pipeline"]
  node_bapi_register["BAPI register<br/>SRC workflow"]
  node_validate_build["Validate &amp; build arguments<br/>BAPI preparation"]
  node_execute_bapi["Execute BAPI<br/>BAPI execution<br/>[ExecuteBAPI.xaml]"]
  node_commit["Commit transaction<br/>SAP transaction boundary<br/>[Commit.xaml]"]
  node_rfc_table_read["RFC table reads<br/>RFC workflow"]
end

subgraph group_data["Data Contracts &amp; Outputs"]
  node_excel_contracts["Excel contracts<br/>input/config workbooks"]
  node_excel_loader["Load Excel data<br/>data loader"]
  node_selectors["Selector resources<br/>localized GUI config"]
  node_exports["SAP data exports<br/>output workflow"]
  node_audit_logs["Excel audit logs<br/>observability workflow"]
end

node_project -->|"defines"| node_entrypoints
node_entrypoints -->|"discovers"| node_gui_workflows
node_entrypoints -->|"discovers"| node_bapi_register
node_excel_contracts -->|"loads"| node_excel_loader
node_excel_loader -->|"supplies inputs"| node_gui_workflows
node_excel_loader -->|"supplies arguments"| node_bapi_register
node_selectors -.->|"configures"| node_screen_data_flow
node_gui_workflows -->|"starts session"| node_sap_logon
node_sap_logon -->|"connects"| node_sap_gui
node_gui_workflows -->|"navigates"| node_transaction_nav
node_transaction_nav -->|"opens transaction"| node_screen_data_flow
node_screen_data_flow -->|"automates screens"| node_sap_gui
node_gui_workflows -->|"ends session"| node_sap_logoff
node_validate_build -->|"invokes"| node_execute_bapi
node_bapi_register -->|"orchestrates"| node_validate_build
node_execute_bapi -->|"on success"| node_commit
node_execute_bapi -->|"calls SAP"| node_sap_gui
node_rfc_table_read -->|"reads tables"| node_sap_gui
node_gui_workflows -->|"retrieves results"| node_exports
node_rfc_table_read -->|"supplies data"| node_exports
node_bapi_register -->|"writes status"| node_audit_logs
node_gui_workflows -->|"writes status"| node_audit_logs

click node_project "https://github.com/studio-bettermilk/uipath-foundation-pack-for-accelerators-for-sap-ecc/blob/main/project.json"
click node_entrypoints "https://github.com/studio-bettermilk/uipath-foundation-pack-for-accelerators-for-sap-ecc/blob/main/entry-points.json"
click node_gui_workflows "https://github.com/studio-bettermilk/uipath-foundation-pack-for-accelerators-for-sap-ecc/blob/main/UiPath%20Accelerator%20for%20SAP%20ECC%20for%20Sourcing%20and%20Procurement/SRC_MAT_MSTR_CRT_E/SRC_MAT_MSTR_CRT_E.xaml"
click node_bapi_register "https://github.com/studio-bettermilk/uipath-foundation-pack-for-accelerators-for-sap-ecc/blob/main/SRC_BAPIv2.2_REGISTER/SRC_BAPIv2.2_REGISTER.xaml"
click node_sap_logon "https://github.com/studio-bettermilk/uipath-foundation-pack-for-accelerators-for-sap-ecc/blob/main/SRC_CM_SAP_LOGON_E/SapLogon.xaml"
click node_transaction_nav "https://github.com/studio-bettermilk/uipath-foundation-pack-for-accelerators-for-sap-ecc/blob/main/SRC_Common/SRC_SetTransactionCode.xaml"
click node_screen_data_flow "https://github.com/studio-bettermilk/uipath-foundation-pack-for-accelerators-for-sap-ecc/blob/main/UiPath%20Accelerator%20for%20SAP%20ECC%20for%20Sourcing%20and%20Procurement/SRC_MAT_MSTR_CRT_E/Execution/SetScreenDataFlow.xaml"
click node_sap_logoff "https://github.com/studio-bettermilk/uipath-foundation-pack-for-accelerators-for-sap-ecc/blob/main/SRC_CM_SAP_LOGOFF_E/ExecuteLogoff.xaml"
click node_validate_build "https://github.com/studio-bettermilk/uipath-foundation-pack-for-accelerators-for-sap-ecc/blob/main/SRC_BAPIv2.2_REGISTER/SRC_BAPIv2.2_REGISTER.xaml"
click node_execute_bapi "https://github.com/studio-bettermilk/uipath-foundation-pack-for-accelerators-for-sap-ecc/blob/main/SRC_BAPIv2.2_REGISTER/ExecuteBAPI.xaml"
click node_commit "https://github.com/studio-bettermilk/uipath-foundation-pack-for-accelerators-for-sap-ecc/blob/main/SRC_BAPIv2.2_REGISTER/Commit.xaml"
click node_rfc_table_read "https://github.com/studio-bettermilk/uipath-foundation-pack-for-accelerators-for-sap-ecc/blob/main/SRC_Common/SRC_RFC_READ_TABLE_v2.2.xaml"
click node_excel_contracts "https://github.com/studio-bettermilk/uipath-foundation-pack-for-accelerators-for-sap-ecc/blob/main/SRC_CM_FNCMDL_EXE_E/Data/Arg-SRC_CM_FNCMDL_EXE_E(EN).xlsx"
click node_excel_loader "https://github.com/studio-bettermilk/uipath-foundation-pack-for-accelerators-for-sap-ecc/blob/main/SRC_Common/SRC_LoadExcelData.xaml"
click node_selectors "https://github.com/studio-bettermilk/uipath-foundation-pack-for-accelerators-for-sap-ecc/blob/main/UiPath%20Accelerator%20for%20SAP%20ECC%20for%20Basis%20Administration/SRC_DEFINE_JOB_E/Config/Selector-SRC_DEFINE_JOB_E(EN).xlsx"
click node_exports "https://github.com/studio-bettermilk/uipath-foundation-pack-for-accelerators-for-sap-ecc/blob/main/SRC_CM_GET_TBL_E/Execution/SearchDataExport.xaml"
click node_audit_logs "https://github.com/studio-bettermilk/uipath-foundation-pack-for-accelerators-for-sap-ecc/blob/main/SRC_Common/SRC_WriteLogToExcel.xaml"

classDef toneNeutral fill:#f8fafc,stroke:#334155,stroke-width:1.5px,color:#0f172a
classDef toneBlue fill:#dbeafe,stroke:#2563eb,stroke-width:1.5px,color:#172554
classDef toneAmber fill:#fef3c7,stroke:#d97706,stroke-width:1.5px,color:#78350f
classDef toneMint fill:#dcfce7,stroke:#16a34a,stroke-width:1.5px,color:#14532d
classDef toneRose fill:#ffe4e6,stroke:#e11d48,stroke-width:1.5px,color:#881337
classDef toneIndigo fill:#e0e7ff,stroke:#4f46e5,stroke-width:1.5px,color:#312e81
classDef toneTeal fill:#ccfbf1,stroke:#0f766e,stroke-width:1.5px,color:#134e4a
class node_project,node_entrypoints,node_gui_workflows toneBlue
class node_sap_logon,node_transaction_nav,node_screen_data_flow,node_sap_logoff,node_sap_gui toneAmber
class node_bapi_register,node_validate_build,node_execute_bapi,node_commit,node_rfc_table_read toneMint
class node_excel_contracts,node_excel_loader,node_selectors,node_exports,node_audit_logs toneRose
```

## Components

### Workflow Catalog

- [UiPath project metadata](https://github.com/studio-bettermilk/uipath-foundation-pack-for-accelerators-for-sap-ecc/blob/main/project.json): project manifest · Defines the reusable accelerator library. · `project.json`
- [Entry-point manifest](https://github.com/studio-bettermilk/uipath-foundation-pack-for-accelerators-for-sap-ecc/blob/main/entry-points.json): workflow catalog · Lists independently invocable workflows. · `entry-points.json`
- [GUI business workflows](https://github.com/studio-bettermilk/uipath-foundation-pack-for-accelerators-for-sap-ecc/blob/main/UiPath%20Accelerator%20for%20SAP%20ECC%20for%20Sourcing%20and%20Procurement/SRC_MAT_MSTR_CRT_E/SRC_MAT_MSTR_CRT_E.xaml): SRC workflow family · Domain workflows automate SAP screens per business operation. · `UiPath Accelerator for SAP ECC for Sourcing and Procurement/SRC_MAT_MSTR_CRT_E/SRC_MAT_MSTR_CRT_E.xaml`

### SAP GUI Automation

- [SAP logon](https://github.com/studio-bettermilk/uipath-foundation-pack-for-accelerators-for-sap-ecc/blob/main/SRC_CM_SAP_LOGON_E/SapLogon.xaml): session workflow · `SRC_CM_SAP_LOGON_E/SapLogon.xaml`
- [Transaction navigation](https://github.com/studio-bettermilk/uipath-foundation-pack-for-accelerators-for-sap-ecc/blob/main/SRC_Common/SRC_SetTransactionCode.xaml): GUI utility · `SRC_Common/SRC_SetTransactionCode.xaml`
- [Screen data flow](https://github.com/studio-bettermilk/uipath-foundation-pack-for-accelerators-for-sap-ecc/blob/main/UiPath%20Accelerator%20for%20SAP%20ECC%20for%20Sourcing%20and%20Procurement/SRC_MAT_MSTR_CRT_E/Execution/SetScreenDataFlow.xaml): GUI execution stage · Populates and reads selector-sensitive SAP GUI screens. · `UiPath Accelerator for SAP ECC for Sourcing and Procurement/SRC_MAT_MSTR_CRT_E/Execution/SetScreenDataFlow.xaml`
- [SAP logoff](https://github.com/studio-bettermilk/uipath-foundation-pack-for-accelerators-for-sap-ecc/blob/main/SRC_CM_SAP_LOGOFF_E/ExecuteLogoff.xaml): session workflow · `SRC_CM_SAP_LOGOFF_E/ExecuteLogoff.xaml`
- **SAP GUI / ECC**: external SAP client · Interactive automation boundary.

### BAPI / RFC Pipeline

- [BAPI register](https://github.com/studio-bettermilk/uipath-foundation-pack-for-accelerators-for-sap-ecc/blob/main/SRC_BAPIv2.2_REGISTER/SRC_BAPIv2.2_REGISTER.xaml): SRC workflow · Generic BAPI execution orchestrator. · `SRC_BAPIv2.2_REGISTER/SRC_BAPIv2.2_REGISTER.xaml`
- [Validate & build arguments](https://github.com/studio-bettermilk/uipath-foundation-pack-for-accelerators-for-sap-ecc/blob/main/SRC_BAPIv2.2_REGISTER/SRC_BAPIv2.2_REGISTER.xaml): BAPI preparation · Validates required fields and prepares BAPI arguments. · `SRC_BAPIv2.2_REGISTER/SRC_BAPIv2.2_REGISTER.xaml`
- [Execute BAPI](https://github.com/studio-bettermilk/uipath-foundation-pack-for-accelerators-for-sap-ecc/blob/main/SRC_BAPIv2.2_REGISTER/ExecuteBAPI.xaml): BAPI execution · `SRC_BAPIv2.2_REGISTER/ExecuteBAPI.xaml`
- [Commit transaction](https://github.com/studio-bettermilk/uipath-foundation-pack-for-accelerators-for-sap-ecc/blob/main/SRC_BAPIv2.2_REGISTER/Commit.xaml): SAP transaction boundary · Commits successful BAPI operations. · `SRC_BAPIv2.2_REGISTER/Commit.xaml`
- [RFC table reads](https://github.com/studio-bettermilk/uipath-foundation-pack-for-accelerators-for-sap-ecc/blob/main/SRC_Common/SRC_RFC_READ_TABLE_v2.2.xaml): RFC workflow · Reads SAP tables and metadata. · `SRC_Common/SRC_RFC_READ_TABLE_v2.2.xaml`

### Data Contracts & Outputs

- [Excel contracts](https://github.com/studio-bettermilk/uipath-foundation-pack-for-accelerators-for-sap-ecc/blob/main/SRC_CM_FNCMDL_EXE_E/Data/Arg-SRC_CM_FNCMDL_EXE_E(EN).xlsx): input/config workbooks · Arguments, batch data, selectors, and localized resources. · `SRC_CM_FNCMDL_EXE_E/Data/Arg-SRC_CM_FNCMDL_EXE_E(EN).xlsx`
- [Load Excel data](https://github.com/studio-bettermilk/uipath-foundation-pack-for-accelerators-for-sap-ecc/blob/main/SRC_Common/SRC_LoadExcelData.xaml): data loader · Transforms workbook content into UiPath tables and rows. · `SRC_Common/SRC_LoadExcelData.xaml`
- [Selector resources](https://github.com/studio-bettermilk/uipath-foundation-pack-for-accelerators-for-sap-ecc/blob/main/UiPath%20Accelerator%20for%20SAP%20ECC%20for%20Basis%20Administration/SRC_DEFINE_JOB_E/Config/Selector-SRC_DEFINE_JOB_E(EN).xlsx): localized GUI config · Isolates SAP GUI language and UI-version variation. · `UiPath Accelerator for SAP ECC for Basis Administration/SRC_DEFINE_JOB_E/Config/Selector-SRC_DEFINE_JOB_E(EN).xlsx`
- [SAP data exports](https://github.com/studio-bettermilk/uipath-foundation-pack-for-accelerators-for-sap-ecc/blob/main/SRC_CM_GET_TBL_E/Execution/SearchDataExport.xaml): output workflow · Exports retrieved SAP results and operational records. · `SRC_CM_GET_TBL_E/Execution/SearchDataExport.xaml`
- [Excel audit logs](https://github.com/studio-bettermilk/uipath-foundation-pack-for-accelerators-for-sap-ecc/blob/main/SRC_Common/SRC_WriteLogToExcel.xaml): observability workflow · Persists status and errors for batch operations. · `SRC_Common/SRC_WriteLogToExcel.xaml`

## Connections

- UiPath project metadata → Entry-point manifest: defines
- Entry-point manifest → GUI business workflows: discovers
- Entry-point manifest → BAPI register: discovers
- Excel contracts → Load Excel data: loads
- Load Excel data → GUI business workflows: supplies inputs
- Load Excel data → BAPI register: supplies arguments
- Selector resources → Screen data flow: configures
- GUI business workflows → SAP logon: starts session
- SAP logon → SAP GUI / ECC: connects
- GUI business workflows → Transaction navigation: navigates
- Transaction navigation → Screen data flow: opens transaction
- Screen data flow → SAP GUI / ECC: automates screens
- GUI business workflows → SAP logoff: ends session
- Validate & build arguments → Execute BAPI: invokes
- BAPI register → Validate & build arguments: orchestrates
- Execute BAPI → Commit transaction: on success
- Execute BAPI → SAP GUI / ECC: calls SAP
- RFC table reads → SAP GUI / ECC: reads tables
- GUI business workflows → SAP data exports: retrieves results
- RFC table reads → SAP data exports: supplies data
- BAPI register → Excel audit logs: writes status
- GUI business workflows → Excel audit logs: writes status
