# Manage Zerocopy Sapbdc

> Manage the end-to-end lifecycle of the Snowflake and SAP BDC Zero-Copy Integration and connector. Use when: consuming SAP data products in Snowflake, publishing Snowflake databases to SAP BDC with minimal CSN (v1.0, SDK-compatible), analyzing shared SAP data, or troubleshooting SAP BDC connector issues. This version uses MINIMAL CSN generation only (no options, no reviews, no validation loops). Triggers: SAP BDC, SAP connector, minimal CSN, SDK CSN, zerocopy connector, SAP data product, SAP BDC Connect, SAP publish, SAP share, SAP troubleshoot.

- Skill: `snowflake-labs/manage-zerocopy-sapbdc` (Agent Skill, multi-file: 12 files)
- Install (CLI): `npx skillmds@latest add snowflake-labs/manage-zerocopy-sapbdc`
- Raw SKILL.md: https://api.skillmd.com/api/skills/snowflake-labs/manage-zerocopy-sapbdc/raw
- Safety review: pending
- Works with: Claude Code, Claude.ai, OpenAI Codex
- Category: Integrations & APIs
- Author: snowflake-labs (https://skillmd.com/u/snowflake-labs)
- Updated: 2026-09-17
- Page: https://skillmd.com/skills/snowflake-labs/manage-zerocopy-sapbdc

---


# SAP BDC <=> Snowflake Zero-Copy Integration

Manages the full lifecycle of the SAP BDC <=> Snowflake zero-copy integration and connector: setup, consume, publish, analyze, and troubleshoot.

## When to Use

- User asks to create, connect, or enroll an SAP BDC zero-copy connector
- User wants to consume or mount SAP BDC shared data products in Snowflake
- User wants to publish Snowflake data back to SAP BDC as a data product
- User asks to explore, query, or join data from mounted SAP data products
- User needs to troubleshoot SAP BDC connector states, privileges, or connectivity
- Do NOT use for: general Snowflake data sharing (non-SAP), SAP HANA direct connections, or SAP BTP non-BDC services

## Prerequisites

- 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.
- SAP Business Data Cloud (BDC) setup must be complete
- Role must have `CREATE ZEROCOPY CONNECTOR` on the target schema
- For publishing: `CREATE SHARE` privilege on the account

## Workflow

### Step 1: Ask User Intent

**Every time this skill is invoked**, present this menu:

```
What would you like to do with the SAP BDC <=> Snowflake zero-copy connector?

1. Create a new zero-copy connector - Set up a new connector and enroll it with SAP BDC
2. Consume shared data products - Mount shared SAP BDC data products as catalog-linked databases in Snowflake
3. Publish a data product - Share a Snowflake database back to SAP BDC as a new data product
4. Analyze shared data - Explore, query, and join data from SAP BDC data products already mounted in Snowflake
5. Troubleshoot - Diagnose and fix connector state errors, privilege issues, and connectivity problems
```

**Route based on selection:**
- Option 1 -> **Load** `create-connector/INSTRUCTIONS.md`
- Option 2 -> **Load** `consume/INSTRUCTIONS.md`
- Option 3 -> **Load** `publish/INSTRUCTIONS.md`
- Option 4 -> **Load** `analyze/INSTRUCTIONS.md`
- Option 5 -> **Load** `troubleshoot/INSTRUCTIONS.md`

## Connector Quick Reference

### Connector States
| State | Description | Allowed Actions |
|-------|-------------|-----------------|
| NEW | Just created, no connection attempted | CONNECT, DROP |
| CONNECTING | Connection in progress (async) | Wait |
| CONNECTED | Active connection | DISCONNECT (must disable share-back and drop CLDs first), create CLDs, publish |
| CONNECT_ERROR | Connection failed | CONNECT (retry), DROP |
| DISCONNECTING | Disconnection in progress (async) | Wait |
| DISCONNECTED | Connection dropped | CONNECT (reconnect), DROP |
| DISCONNECT_ERROR | Disconnection failed | DISCONNECT (retry), DROP |
| DELETED | Connector has been dropped (permanent, no UNDROP) | None |

### Key SQL Commands
| Command | Purpose |
|---------|---------|
| `CREATE ZEROCOPY CONNECTOR <name> PARTNER = SAP_BDC` | Create connector |
| `SELECT CURRENT_ORGANIZATION_NAME() \|\| '-' \|\| CURRENT_ACCOUNT_NAME()` | Derive account URL for SAP for Me registration |
| `ALTER ZEROCOPY CONNECTOR <name> CONNECT WITH CONFIG = (INVITATION_LINK = '...')` | Establish connection |
| `DESC ZEROCOPY CONNECTOR <name>` | Check connector state |
| `SHOW ZEROCOPY CONNECTORS IN SCHEMA <db>.<schema>` | List all connectors |
| `SELECT SYSTEM$ZEROCOPY_CONNECTOR_LIST_SHARES('<db>.<schema>.<connector>')` | List available SAP data products |
| `ALTER ZEROCOPY CONNECTOR <name> SET SHARE_BACK = TRUE` | Enable publishing |
| `ALTER ZEROCOPY CONNECTOR <name> ADD SHARE <share>` | Associate share for publishing |
| `ALTER ZEROCOPY CONNECTOR <name> DISCONNECT` | Disconnect (disable share-back and drop CLDs first) |
| `DROP ZEROCOPY CONNECTOR <name>` | Drop connector (must be NEW/CONNECT_ERROR/DISCONNECT_ERROR/DISCONNECTED) |

### Required Privileges
| Privilege | Scope | Purpose |
|-----------|-------|---------|
| CREATE ZEROCOPY CONNECTOR | Schema | Create connector |
| OPERATE | Connector | Connect, disconnect, and publish data product (SYSTEM$SAP_PUBLISH_DATA_PRODUCT) |
| USAGE | Connector | Create CLD (also requires CREATE DATABASE on account), add/remove share (also requires OWNERSHIP on share) |
| MODIFY | Connector | Set/unset properties (comment, share_back, etc.) |
| MONITOR | Connector | Describe connector, show connectors, list shares (any privilege on the connector is sufficient) |
| OWNERSHIP | Connector | Rename or drop the connector |
| CREATE DATABASE | Account | Create catalog-linked database (also requires USAGE on connector) |
| CREATE SHARE | Account | Publish data back to SAP BDC |

## Examples

### Example 1: Create and enroll a connector
User: `$manage-zerocopy-sapbdc create a new zero-copy connector and enroll it with SAP BDC`
Assistant: Asks for database/schema/connector name, runs CREATE ZEROCOPY CONNECTOR, provides the account URL for SAP for Me registration, then connects with invitation link.

### Example 2: Consume a data product
User: `$manage-zerocopy-sapbdc mount the Workforce Persons data product from SAP`
Assistant: Lists available shares, creates a catalog-linked database, confirms tables are accessible and semantic views are generated.

### Example 3: Publish Snowflake data to SAP
User: `$manage-zerocopy-sapbdc publish my ANALYTICS_DB.SALES schema to SAP BDC`
Assistant: Enables share-back, validates Iceberg V3 tables, generates MINIMAL CSN Interop v1.0 (SDK-compatible, no options, no reviews), creates share, publishes data product.

### Example 4: Troubleshoot
User: `$manage-zerocopy-sapbdc my connector is stuck in CONNECT_ERROR`
Assistant: Runs DESC ZEROCOPY CONNECTOR, checks privileges, validates invitation link, provides remediation steps.

## Stopping Points

- After Step 1: Route to selected sub-skill

## Output

Depends on selected use case — see sub-skill outputs.

