You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Refresh manage-zerocopy-sapbdc with builder-audience rewrite
Run through v1.1.0 audit pipeline. Holistic rewriter applied a builder-audience
pass plus mechanical fixes for the original audit failures (1 blocking, 7 advisory).
Also updated README.md to reference Snowflake-Labs instead of internal repo.
cd cortex-code-skills/skills/manage-zerocopy-sapbdc
67
67
```
68
68
69
-
For external (Snowflake-Labs) distribution, the skill will be published separately at `https://github.com/Snowflake-Labs/cortex-code-skills` (forthcoming).
Manage the end-to-end lifecycle of the Snowflake and SAP BDC Zero-Copy
7
-
Integration and connector. Use when: consuming SAP data products in Snowflake,
8
-
publishing Snowflake databases to SAP BDC, analyzing shared SAP data, or
9
-
troubleshooting SAP BDC connector issues. Triggers: SAP BDC, SAP connector,
10
-
zerocopy connector, SAP data product, SAP BDC Connect, SAP publish, SAP share,
11
-
SAP troubleshoot, catalog-linked database, LINKED_ZEROCOPY_CONNECTOR, SAP BDC
12
-
share back.
6
+
Use when working with the SAP BDC zero-copy integration in Snowflake —
7
+
consuming SAP data products, publishing Snowflake databases back to SAP BDC,
8
+
analyzing shared SAP data, or troubleshooting connector state errors.
9
+
Triggers: SAP BDC, SAP connector, zerocopy connector, SAP data product,
10
+
SAP BDC Connect, SAP publish, SAP share, SAP troubleshoot,
11
+
catalog-linked database, LINKED_ZEROCOPY_CONNECTOR, SAP BDC share back.
13
12
tools:
14
13
- snowflake_sql_execute
15
14
- snowflake_object_search
@@ -29,109 +28,103 @@ demo-url: ""
29
28
30
29
# SAP BDC <=> Snowflake Zero-Copy Integration
31
30
32
-
Manages the full lifecycle of the SAP BDC <=> Snowflake zero-copy integration and connector: setup, consume, publish, analyze, and troubleshoot.
31
+
## Overview
33
32
34
-
## When to Use
33
+
Manages the full lifecycle of the SAP BDC zero-copy connector in Snowflake: create the connector, enroll with SAP BDC, consume SAP data products as catalog-linked databases, publish Snowflake data back to SAP BDC, analyze shared data, and troubleshoot connector states.
35
34
36
-
- User asks to create, connect, or enroll an SAP BDC zero-copy connector
37
-
- User wants to consume or mount SAP BDC shared data products in Snowflake
38
-
- User wants to publish Snowflake data back to SAP BDC as a data product
39
-
- User asks to explore, query, or join data from mounted SAP data products
40
-
- User needs to troubleshoot SAP BDC connector states, privileges, or connectivity
41
-
- Do NOT use for: general Snowflake data sharing (non-SAP), SAP HANA direct connections, or SAP BTP non-BDC services
35
+
Use this when you want to:
36
+
37
+
- Create, connect, or enroll an SAP BDC zero-copy connector
38
+
- Consume or mount SAP BDC shared data products in Snowflake
39
+
- Publish a Snowflake database back to SAP BDC as a data product
40
+
- Explore, query, or join data from mounted SAP data products
41
+
- Diagnose connector state errors, privilege gaps, or connectivity issues
42
+
43
+
Do NOT use for: general Snowflake data sharing (non-SAP), SAP HANA direct connections, or non-BDC SAP BTP services.
42
44
43
45
## Prerequisites
44
46
45
-
- An ORGADMIN must have accepted the SAP® BDC Connect for Snowflake Terms (Admin » Terms » Snowflake Marketplace section in Snowsight). This only needs to be done once per Snowflake organization.
46
-
- SAP Business Data Cloud (BDC) setup must be complete
47
-
- Role must have `CREATE ZEROCOPY CONNECTOR` on the target schema
48
-
- For publishing: `CREATE SHARE`privilege on the account
47
+
- An ORGADMIN must have accepted the SAP® BDC Connect for Snowflake Terms (Admin » Terms » Snowflake Marketplace section in Snowsight). One-time per Snowflake organization.
48
+
- SAP Business Data Cloud (BDC) must be set up on the SAP side.
49
+
- Role needs `CREATE ZEROCOPY CONNECTOR` on the target schema.
50
+
- For publishing: `CREATE SHARE` on the account.
49
51
50
52
## Workflow
51
53
52
-
### Step 1: Ask User Intent
54
+
### Step 1: Ask user intent
53
55
54
-
**Every time this skill is invoked**, present this menu:
56
+
Each invocation, present this menu:
57
+
58
+
```
59
+
What would you like to do?
55
60
61
+
1. Create a new zero-copy connector -> set up + enroll with SAP BDC
62
+
2. Consume shared data products -> mount as catalog-linked databases
63
+
3. Publish a data product -> share Snowflake DB back to SAP BDC
64
+
4. Analyze shared data -> query/join mounted SAP data
What would you like to do with the SAP BDC <=> Snowflake zero-copy connector?
58
67
59
-
1. Create a new zero-copy connector - Set up a new connector and enroll it with SAP BDC
60
-
2. Consume shared data products - Mount shared SAP BDC data products as catalog-linked databases in Snowflake
61
-
3. Publish a data product - Share a Snowflake database back to SAP BDC as a new data product
62
-
4. Analyze shared data - Explore, query, and join data from SAP BDC data products already mounted in Snowflake
63
-
5. Troubleshoot - Diagnose and fix connector state errors, privilege issues, and connectivity problems
68
+
Route to: `create-connector/INSTRUCTIONS.md`, `consume/INSTRUCTIONS.md`, `publish/INSTRUCTIONS.md`, `analyze/INSTRUCTIONS.md`, or `troubleshoot/INSTRUCTIONS.md`.
| CREATE SHARE | Account | Publish back to SAP BDC |
112
110
113
111
## Examples
114
112
115
-
### Example 1: Create and enroll a connector
116
-
User: `$manage-zerocopy-sapbdc create a new zero-copy connector and enroll it with SAP BDC`
117
-
Assistant: Asks for database/schema/connector name, runs CREATE ZEROCOPY CONNECTOR, provides Partner ID for SAP 4 Me registration, then connects with invitation link.
118
-
119
-
### Example 2: Consume a data product
120
-
User: `$manage-zerocopy-sapbdc mount the Workforce Persons data product from SAP`
121
-
Assistant: Lists available shares, creates a catalog-linked database, confirms tables are accessible and semantic views are generated.
122
-
123
-
### Example 3: Publish Snowflake data to SAP
124
-
User: `$manage-zerocopy-sapbdc publish my ANALYTICS_DB.SALES schema to SAP BDC`
-`$manage-zerocopy-sapbdc create a new zero-copy connector and enroll it with SAP BDC` -> prompts for db/schema/name, runs `CREATE ZEROCOPY CONNECTOR`, returns Partner ID for SAP for Me, connects with invitation link.
114
+
-`$manage-zerocopy-sapbdc mount the Workforce Persons data product from SAP` -> lists shares, creates CLD, confirms tables and semantic views.
115
+
-`$manage-zerocopy-sapbdc publish my ANALYTICS_DB.SALES schema to SAP BDC` -> enables share-back, creates Iceberg tables, generates CSN Interop JSON, creates share, publishes.
116
+
-`$manage-zerocopy-sapbdc my connector is stuck in CONNECT_ERROR` -> runs DESC, checks privileges, validates invitation link, suggests fixes.
130
117
131
-
## Stopping Points
118
+
## Common Mistakes
132
119
133
-
- After Step 1: Route to selected sub-skill
120
+
-**Skipping the ORGADMIN terms acceptance** — `CREATE ZEROCOPY CONNECTOR` will fail until the SAP® BDC Connect for Snowflake Terms are accepted in Snowsight.
121
+
-**Trying to DISCONNECT while CLDs or share-back are active** — disable `SHARE_BACK`, remove shares, and drop catalog-linked databases first.
122
+
-**Using a stale invitation link** — links expire; regenerate from SAP for Me before retrying CONNECT.
123
+
-**Wrong role for CLD creation** — needs both `USAGE` on the connector and `CREATE DATABASE` on the account.
124
+
-**Trying to UNDROP a connector** — `DROP ZEROCOPY CONNECTOR` is permanent. Recreate and re-enroll.
125
+
-**Publishing without `CREATE SHARE`** — share-back fails silently at the SAP side if the share wasn't owned by the role with OPERATE on the connector.
126
+
-**Confusing organization-level vs account-level setup** — terms acceptance is org-wide, but connector creation, privileges, and CLDs are per-account.
134
127
135
128
## Output
136
129
137
-
Depends on selected use case — see sub-skill outputs.
130
+
Depends on selected use case — see the routed sub-skill's `INSTRUCTIONS.md`.
0 commit comments