arazzo: 1.0.1
info:
title: SAP SD Pricing Setup
summary: Create a pricing condition record, read it back, then list its validity periods.
description: >-
Sets up a sales pricing condition in SAP Sales and Distribution. The
workflow creates a pricing condition record, reads it back to confirm it
persisted, and lists condition record validity periods filtered to the new
record so its effective date ranges can be reviewed. Each step inlines its
OData request so the flow reads and runs without opening the underlying
OpenAPI descriptions. The condition record creation POST requires an
X-CSRF-Token header supplied as a workflow input.
version: 1.0.0
x-realizes-capability-ids:
- BC-440.20
x-capability-derivation:
method: 'deterministic join: sourceDescriptions -> per-tag OpenAPI -> tag/capability edge. No classification at this step.'
min_confidence: 0.7
sources:
- capability_id: BC-440.20
capability_name: Price List Management
spec: sap-sales-and-distribution-sd-pricing-condition-record-api-openapi.yml
confidence: 0.75
model: Turbo EA Capabilities by Vincent Verdet — Turbo EA, https://github.com/vincentmakes/turbo-ea-capabilities, CC BY 4.0
sourceDescriptions:
- name: conditionRecordValidityApi
url: ../openapi/sap-sales-and-distribution-sd-condition-record-validity-api-openapi.yml
type: openapi
- name: pricingConditionRecordApi
url: ../openapi/sap-sales-and-distribution-sd-pricing-condition-record-api-openapi.yml
type: openapi
workflows:
- workflowId: pricing-setup
summary: Create a pricing condition record and review its validity periods.
description: >-
Creates a pricing condition record, retrieves it, and lists its validity
periods filtered to the new condition record.
inputs:
type: object
required:
- csrfToken
- conditionType
properties:
csrfToken:
type: string
description: X-CSRF-Token fetched from the OData service for write operations.
conditionType:
type: string
description: Condition type (e.g. PR00 for a base price).
salesOrganization:
type: string
description: Sales organization the condition applies to.
distributionChannel:
type: string
description: Distribution channel the condition applies to.
material:
type: string
description: Material the condition applies to.
customer:
type: string
description: Customer the condition applies to.
conditionRateValue:
type: string
description: Condition rate value (the price/amount).
steps:
- stepId: createCondition
description: Create a new sales pricing condition record.
operationId: createPricingConditionRecord
parameters:
- name: X-CSRF-Token
in: header
value: $inputs.csrfToken
requestBody:
contentType: application/json
payload:
ConditionType: $inputs.conditionType
SalesOrganization: $inputs.salesOrganization
DistributionChannel: $inputs.distributionChannel
Material: $inputs.material
Customer: $inputs.customer
ConditionRateValue: $inputs.conditionRateValue
successCriteria:
- condition: $statusCode == 201
outputs:
conditionRecord: $response.body#/d/ConditionRecord
- stepId: getCondition
description: Read the created condition record back to confirm it persisted.
operationId: getPricingConditionRecord
parameters:
- name: ConditionRecord
in: path
value: $steps.createCondition.outputs.conditionRecord
successCriteria:
- condition: $statusCode == 200
outputs:
conditionRecord: $response.body#/d/ConditionRecord
- stepId: listValidities
description: >-
List the validity periods for the new condition record to review its
effective date ranges.
operationId: listConditionRecordValidities
parameters:
- name: $filter
in: query
value: "ConditionRecord eq '$steps.getCondition.outputs.conditionRecord'"
successCriteria:
- condition: $statusCode == 200
outputs:
validities: $response.body#/d/results
outputs:
conditionRecord: $steps.getCondition.outputs.conditionRecord
validities: $steps.listValidities.outputs.validities
Calls without X-API-Key need no key. Calls with it need a paid plan — get a key.
Get an API key
Free tier, no form to fill in. Signing in shares your email address with us — we
store it to create your key and to recognise you if you sign in with another
provider. See our Privacy Policy and
Terms.