abap-cds-model-check
Optional intended usage such as analytical, transactional, reuse, value-help, or extraction
Generate a data action configuration template based on requirements
$ npx -y skills add secondsky/sap-skills --agent claude-codeHow it fires
How this command gets triggered: by you, by Claude, or both.
/data-action-templateContext preview
What this command does when you run it.
Generate a data action configuration template based on requirements
name: data-action-template description: Generate a data action configuration template based on requirements allowed-tools: - Read - AskUserQuestion argument-hint: "[data-action-name]"
Return a data action design template, dimension/member assumptions, validation checklist, and performance caveats. Default to read-only planning and do not create SAC artifacts or local files unless the user explicitly confirms a target.
Use this template to design and document data action configurations.
---
| Property | Value | |----------|-------| | **Name** | [Enter data action name] | | **Description** | [Enter purpose and business logic] | | **Model** | [Enter planning model name] | | **Category** | [Copy / Calculation / Allocation / Mixed] | | **Execution Context** | [Story / Application / Multi Action / Scheduled] |
---
| Property | Value | |----------|-------| | **Type** | Member / Number / String / DateTime | | **Dimension** | [If member type] | | **Default Value** | [Optional] | | **Required** | Yes / No | | **Linked Input Control** | [Control name or N/A] |
| Property | Value | |----------|-------| | **Type** | Member / Number / String / DateTime | | **Dimension** | [If member type] | | **Default Value** | [Optional] | | **Required** | Yes / No | | **Linked Input Control** | [Control name or N/A] |
*Add more parameters as needed*
---
**Step Type**: Copy / Advanced Formula / Allocation / Currency Conversion / Embedded
| Source | Target | |--------|--------| | Version = [value] | Version = [value] | | Date = [value or parameter] | Date = [value or parameter] | | Account = [value or all] | Account = [value or all] | | [Dimension] = [value] | [Dimension] = [value] |
**Options**:
// Formula
[TargetMeasure] = [SourceMeasure1] * [SourceMeasure2]
// Or with conditions
IF [Measure1] > 0 THEN
[Result] = [Measure1] * 1.1
ELSE
[Result] = [Measure2]
ENDIF**Scope Filter**: | Dimension | Filter | |-----------|--------| | Version | [value or parameter] | | Date | [value or parameter] | | [Other] | [value] |
| Property | Value | |----------|-------| | **Allocation Type** | Reference Data / Formula | | **Driver Account** | [Account ID] | | **Target Dimension** | [Dimension name] | | **Target Members** | [List or hierarchy node] |
**Allocation Rule**:
Source: [Account] WHERE [filters] Driver: [DriverAccount] Target: Distribute to [Dimension] members based on driver ratios
---
**Step Type**: [Type]
*Configure as above*
---
**Step Type**: [Type]
*Configure as above*
---
| Location | Tracepoint Name | Purpose | |----------|-----------------|---------| | After Step 1 | TP01_AfterCopy | Verify source data copied | | After Step 2 | TP02_AfterCalc | Verify calculation results | | After Step 3 | TP03_AfterAlloc | Verify allocation distribution |
---
// Set parameters from input controls
DataAction_1.setParameterValue("Version", InputControl_Version.getSelectedKey());
DataAction_1.setParameterValue("Year", InputControl_Year.getSelectedKey());
// Show busy indicator
Application.showBusyIndicator("Running forecast calculation...");
// Execute data action
DataAction_1.execute().then(function() {
// Refresh data after execution
Table_1.getDataSource().refreshData();
Application.hideBusyIndicator();
Application.showMessage("Forecast calculation completed.");
}).catch(function(error) {
Application.hideBusyIndicator();
Application.showMessage("Error: " + error.message);
});---
| Step Order | Step Type | Data Action/Operation | Parameters | |------------|-----------|----------------------|------------| | 1 | Data Action | [This data action] | [Inherited/Set] | | 2 | Version Mgmt | Publish version | [Target version] | | 3 | Data Locking | Lock data slice | [Scope] |
---
| Metric | Expected | Actual | |--------|----------|--------| | Execution time | < [X] seconds | | | Records processed | ~[N] | | | Memory usage | Normal | |
---
| Error Scenario | Resolution | |----------------|------------| | Source data empty | Check filters, verify data exists | | Target locked | Unlock data or change target version | | Formula error | Check syntax, dimension context | | Timeout | Reduce scope, optimize formula |
---
**Business Logic**: [Describe the business purpose and logic of this data action]
**Dependencies**: [List any dependencies on other data actions, models, or processes]
**Maintenance Notes**: [Document any special maintenance considerations]
---
**Template Version**: 1.0.0 **Created**: 2025-12-27
40 SAP development plugins with evidence-tracked verification SAP development plugins for AI coding assistants, with public-source or package-registry verification tracked where available.
Repo: secondsky/sap-skills
Optional intended usage such as analytical, transactional, reuse, value-help, or extraction
Optional target ABAP platform or SAP BTP ABAP Environment release
Optional runtime or scenario name, such as orchestration, serving, training, or batch
Optional scenario lens such as extension, integration, analytics, or AI