Skip to main content

Actions

The ballerinax/sap.s4hana.api_sales_quotation_srv package exposes the following clients:

ClientPurpose
ClientProvides full CRUD access to SAP S/4HANA sales quotation data via the API_SALES_QUOTATION_SRV OData v2 service.

Client

Provides full CRUD access to SAP S/4HANA sales quotation data via the API_SALES_QUOTATION_SRV OData v2 service.

Configuration

FieldTypeDefaultDescription
authhttp:CredentialsConfigRequiredSAP user credentials. Provide username and password sub-fields.
httpVersionhttp:HttpVersionHTTP_1_1HTTP protocol version to use for outbound requests.
timeoutdecimal60Request timeout in seconds.
forwardedstring"disable"Strategy for handling the X-Forwarded-For header.
retryConfighttp:RetryConfig()Retry configuration for failed requests.
secureSockethttp:ClientSecureSocket()SSL/TLS configuration for the HTTP client.
proxyhttp:ProxyConfig()HTTP proxy server configuration.
validationbooleantrueEnable or disable response payload validation against the OData schema.

Initializing the client

import ballerinax/sap.s4hana.api_sales_quotation_srv as quotation;

configurable string hostname = ?;
configurable string username = ?;
configurable string password = ?;

quotation:Client quotationClient = check new (
{
auth: {
username: username,
password: password
}
},
hostname
);

Operations

Sales quotation headers

listA_SalesQuotations

Retrieves a collection of all sales quotation headers accessible to the authenticated user.

Parameters:

NameTypeRequiredDescription
queriesListA_SalesQuotationsQueriesNoOData system query options such as $top, $skip, $filter, $select, and $expand.
headersmap<string|string[]>NoAdditional HTTP headers to include in the request.

Returns: CollectionOfA_SalesQuotationWrapper|error

Sample code:

quotation:CollectionOfA_SalesQuotationWrapper result = check quotationClient->listA_SalesQuotations(
queries = {"\$top": "3", "\$select": "SalesQuotation,SalesQuotationDate,SoldToParty,TotalNetAmount"}
);

Sample response:

{
"d": {
"results": [
{
"SalesQuotation": "20000001",
"SalesQuotationDate": "/Date(1700000000000)/",
"SoldToParty": "10000001",
"TotalNetAmount": "5000.00"
},
{
"SalesQuotation": "20000002",
"SalesQuotationDate": "/Date(1700100000000)/",
"SoldToParty": "10000002",
"TotalNetAmount": "12500.00"
}
]
}
}
getA_SalesQuotation

Reads the header data of a single sales quotation identified by its document number.

Parameters:

NameTypeRequiredDescription
SalesQuotationstringYesSales quotation document number (e.g., "20000001").
queriesGetA_SalesQuotationQueriesNoOData query options ($select, $expand).
headersmap<string|string[]>NoAdditional HTTP headers.

Returns: A_SalesQuotationWrapper|error

Sample code:

quotation:A_SalesQuotationWrapper result = check quotationClient->getA_SalesQuotation("20000001");

Sample response:

{
"d": {
"SalesQuotation": "20000001",
"SalesQuotationType": "QT",
"SalesOrganization": "1010",
"DistributionChannel": "10",
"OrganizationDivision": "00",
"SoldToParty": "10000001",
"SalesQuotationDate": "/Date(1700000000000)/",
"BindingPeriodValidityStartDate": "/Date(1700000000000)/",
"BindingPeriodValidityEndDate": "/Date(1702857600000)/",
"TotalNetAmount": "5000.00",
"TransactionCurrency": "USD",
"OverallSDProcessStatus": "A"
}
}
createA_SalesQuotation

Creates a new sales quotation header in SAP S/4HANA.

Parameters:

NameTypeRequiredDescription
payloadCreateA_SalesQuotationYesHeader fields for the new sales quotation, including SalesQuotationType, SalesOrganization, DistributionChannel, OrganizationDivision, and SoldToParty.
headersmap<string|string[]>NoAdditional HTTP headers.

Returns: A_SalesQuotationWrapper|error

Sample code:

quotation:A_SalesQuotationWrapper created = check quotationClient->createA_SalesQuotation({
SalesQuotationType: "QT",
SalesOrganization: "1010",
DistributionChannel: "10",
OrganizationDivision: "00",
SoldToParty: "10000001"
});

Sample response:

{
"d": {
"SalesQuotation": "20000010",
"SalesQuotationType": "QT",
"SalesOrganization": "1010",
"DistributionChannel": "10",
"OrganizationDivision": "00",
"SoldToParty": "10000001",
"TotalNetAmount": "0.00",
"TransactionCurrency": "USD",
"OverallSDProcessStatus": "A"
}
}
patchA_SalesQuotation

Updates specific fields of an existing sales quotation header using an OData PATCH (partial update).

Parameters:

NameTypeRequiredDescription
SalesQuotationstringYesSales quotation document number to update.
payloadModifiedA_SalesQuotationTypeYesFields to update on the sales quotation header (only changed fields need to be supplied).
headersmap<string|string[]>NoAdditional HTTP headers.

Returns: http:Response|error

Sample code:

http:Response _ = check quotationClient->patchA_SalesQuotation("20000001", {
BindingPeriodValidityEndDate: "/Date(1706745600000)/"
});

Sample response:

HTTP 204 No Content
deleteA_SalesQuotation

Deletes a sales quotation header and all its associated child entities.

Parameters:

NameTypeRequiredDescription
SalesQuotationstringYesSales quotation document number to delete.
headersmap<string|string[]>NoAdditional HTTP headers.

Returns: http:Response|error

Sample code:

http:Response _ = check quotationClient->deleteA_SalesQuotation("20000099");

Sample response:

HTTP 204 No Content

Sales quotation items

listItemsOfA_SalesQuotation

Retrieves all line items for a specific sales quotation.

Parameters:

NameTypeRequiredDescription
SalesQuotationstringYesSales quotation document number.
queriesListItemsOfA_SalesQuotationQueriesNoOData query options.
headersmap<string|string[]>NoAdditional HTTP headers.

Returns: CollectionOfA_SalesQuotationItemWrapper|error

Sample code:

quotation:CollectionOfA_SalesQuotationItemWrapper items = check quotationClient->listItemsOfA_SalesQuotation("20000001");

Sample response:

{
"d": {
"results": [
{
"SalesQuotation": "20000001",
"SalesQuotationItem": "10",
"Material": "MZ-FG-M500",
"SalesQuotationItemCategory": "TAN",
"RequestedQuantity": "5.000",
"RequestedQuantityUnit": "EA",
"NetAmount": "2500.00",
"TransactionCurrency": "USD"
},
{
"SalesQuotation": "20000001",
"SalesQuotationItem": "20",
"Material": "MZ-FG-S001",
"SalesQuotationItemCategory": "TAN",
"RequestedQuantity": "10.000",
"RequestedQuantityUnit": "EA",
"NetAmount": "2500.00",
"TransactionCurrency": "USD"
}
]
}
}
getA_SalesQuotationItem

Reads a single line item from a sales quotation.

Parameters:

NameTypeRequiredDescription
SalesQuotationstringYesSales quotation document number.
SalesQuotationItemstringYesItem number (e.g., "10").
queriesGetA_SalesQuotationItemQueriesNoOData query options.
headersmap<string|string[]>NoAdditional HTTP headers.

Returns: A_SalesQuotationItemWrapper|error

Sample code:

quotation:A_SalesQuotationItemWrapper item = check quotationClient->getA_SalesQuotationItem("20000001", "10");

Sample response:

{
"d": {
"SalesQuotation": "20000001",
"SalesQuotationItem": "10",
"Material": "MZ-FG-M500",
"SalesQuotationItemCategory": "TAN",
"RequestedQuantity": "5.000",
"RequestedQuantityUnit": "EA",
"ItemGrossWeight": "25.000",
"ItemWeightUnit": "KG",
"NetAmount": "2500.00",
"TransactionCurrency": "USD",
"SDProcessStatus": "A"
}
}
createItemOfA_SalesQuotation

Creates a new line item on an existing sales quotation.

Parameters:

NameTypeRequiredDescription
SalesQuotationstringYesSales quotation document number to add the item to.
payloadCreateA_SalesQuotationItemYesItem fields including Material, RequestedQuantity, and RequestedQuantityUnit.
headersmap<string|string[]>NoAdditional HTTP headers.

Returns: A_SalesQuotationItemWrapper|error

Sample code:

quotation:A_SalesQuotationItemWrapper newItem = check quotationClient->createItemOfA_SalesQuotation("20000001", {
Material: "MZ-FG-S001",
RequestedQuantity: "10",
RequestedQuantityUnit: "EA"
});

Sample response:

{
"d": {
"SalesQuotation": "20000001",
"SalesQuotationItem": "30",
"Material": "MZ-FG-S001",
"SalesQuotationItemCategory": "TAN",
"RequestedQuantity": "10.000",
"RequestedQuantityUnit": "EA",
"NetAmount": "1500.00",
"TransactionCurrency": "USD"
}
}
patchA_SalesQuotationItem

Updates specific fields of a sales quotation line item.

Parameters:

NameTypeRequiredDescription
SalesQuotationstringYesSales quotation document number.
SalesQuotationItemstringYesItem number to update.
payloadModifiedA_SalesQuotationItemTypeYesItem fields to update.
headersmap<string|string[]>NoAdditional HTTP headers.

Returns: http:Response|error

Sample code:

http:Response _ = check quotationClient->patchA_SalesQuotationItem("20000001", "10", {
RequestedQuantity: "8"
});

Sample response:

HTTP 204 No Content
deleteA_SalesQuotationItem

Deletes a line item from a sales quotation.

Parameters:

NameTypeRequiredDescription
SalesQuotationstringYesSales quotation document number.
SalesQuotationItemstringYesItem number to delete.
headersmap<string|string[]>NoAdditional HTTP headers.

Returns: http:Response|error

Sample code:

http:Response _ = check quotationClient->deleteA_SalesQuotationItem("20000001", "30");

Sample response:

HTTP 204 No Content

Partners

listPartnersOfA_SalesQuotation

Retrieves all header-level partner entries (sold-to, ship-to, bill-to, payer, etc.) for a sales quotation.

Parameters:

NameTypeRequiredDescription
SalesQuotationstringYesSales quotation document number.
queriesListPartnersOfA_SalesQuotationQueriesNoOData query options.
headersmap<string|string[]>NoAdditional HTTP headers.

Returns: CollectionOfA_SalesQuotationPartnerWrapper|error

Sample code:

quotation:CollectionOfA_SalesQuotationPartnerWrapper partners = check quotationClient->listPartnersOfA_SalesQuotation("20000001");

Sample response:

{
"d": {
"results": [
{
"SalesQuotation": "20000001",
"PartnerFunction": "AG",
"Customer": "10000001",
"ContactPerson": ""
},
{
"SalesQuotation": "20000001",
"PartnerFunction": "WE",
"Customer": "10000001",
"ContactPerson": ""
},
{
"SalesQuotation": "20000001",
"PartnerFunction": "RE",
"Customer": "10000001",
"ContactPerson": ""
}
]
}
}
getA_SalesQuotationPartner

Reads a specific partner function entry from a sales quotation header.

Parameters:

NameTypeRequiredDescription
SalesQuotationstringYesSales quotation document number.
PartnerFunctionstringYesPartner function code (e.g., "AG" for sold-to party, "WE" for ship-to party).
queriesGetA_SalesQuotationPartnerQueriesNoOData query options.
headersmap<string|string[]>NoAdditional HTTP headers.

Returns: A_SalesQuotationPartnerWrapper|error

Sample code:

quotation:A_SalesQuotationPartnerWrapper partner = check quotationClient->getA_SalesQuotationPartner("20000001", "AG");

Sample response:

{
"d": {
"SalesQuotation": "20000001",
"PartnerFunction": "AG",
"Customer": "10000001",
"ContactPerson": "",
"AddressID": "0001"
}
}
patchA_SalesQuotationPartner

Updates partner data for a specific partner function on a sales quotation header.

Parameters:

NameTypeRequiredDescription
SalesQuotationstringYesSales quotation document number.
PartnerFunctionstringYesPartner function code to update.
payloadModifiedA_SalesQuotationPartnerTypeYesPartner fields to update.
headersmap<string|string[]>NoAdditional HTTP headers.

Returns: http:Response|error

Sample code:

http:Response _ = check quotationClient->patchA_SalesQuotationPartner("20000001", "WE", {
ContactPerson: "CP00012"
});

Sample response:

HTTP 204 No Content
listPartnersOfA_SalesQuotationItem

Retrieves all item-level partners for a specific sales quotation line item.

Parameters:

NameTypeRequiredDescription
SalesQuotationstringYesSales quotation document number.
SalesQuotationItemstringYesItem number.
queriesListPartnersOfA_SalesQuotationItemQueriesNoOData query options.
headersmap<string|string[]>NoAdditional HTTP headers.

Returns: CollectionOfA_SalesQuotationItemPartnerWrapper|error

Sample code:

quotation:CollectionOfA_SalesQuotationItemPartnerWrapper itemPartners = check quotationClient->listPartnersOfA_SalesQuotationItem("20000001", "10");

Sample response:

{
"d": {
"results": [
{
"SalesQuotation": "20000001",
"SalesQuotationItem": "10",
"PartnerFunction": "WE",
"Customer": "10000001"
}
]
}
}
getA_SalesQuotationItemPartner

Reads a specific partner function entry from a sales quotation line item.

Parameters:

NameTypeRequiredDescription
SalesQuotationstringYesSales quotation document number.
SalesQuotationItemstringYesItem number.
PartnerFunctionstringYesPartner function code.
queriesGetA_SalesQuotationItemPartnerQueriesNoOData query options.
headersmap<string|string[]>NoAdditional HTTP headers.

Returns: A_SalesQuotationItemPartnerWrapper|error

Sample code:

quotation:A_SalesQuotationItemPartnerWrapper itemPartner = check quotationClient->getA_SalesQuotationItemPartner("20000001", "10", "WE");

Sample response:

{
"d": {
"SalesQuotation": "20000001",
"SalesQuotationItem": "10",
"PartnerFunction": "WE",
"Customer": "10000001",
"AddressID": "0001"
}
}

Pricing elements

listPricingElementsOfA_SalesQuotation

Retrieves all header-level pricing condition records for a sales quotation.

Parameters:

NameTypeRequiredDescription
SalesQuotationstringYesSales quotation document number.
queriesListPricingElementsOfA_SalesQuotationQueriesNoOData query options.
headersmap<string|string[]>NoAdditional HTTP headers.

Returns: CollectionOfA_SalesQuotationPrcgElmntWrapper|error

Sample code:

quotation:CollectionOfA_SalesQuotationPrcgElmntWrapper prcgElmnts = check quotationClient->listPricingElementsOfA_SalesQuotation("20000001");

Sample response:

{
"d": {
"results": [
{
"SalesQuotation": "20000001",
"PricingProcedureStep": "10",
"PricingProcedureCounter": "10",
"ConditionType": "PR00",
"ConditionRateValue": "500.00",
"ConditionAmount": "2500.00",
"TransactionCurrency": "USD"
},
{
"SalesQuotation": "20000001",
"PricingProcedureStep": "20",
"PricingProcedureCounter": "10",
"ConditionType": "K004",
"ConditionRateValue": "-50.00",
"ConditionAmount": "-250.00",
"TransactionCurrency": "USD"
}
]
}
}
getA_SalesQuotationPrcgElmnt

Reads a specific pricing element (condition record) from a sales quotation header.

Parameters:

NameTypeRequiredDescription
SalesQuotationstringYesSales quotation document number.
PricingProcedureStepstringYesPricing procedure step number.
PricingProcedureCounterstringYesPricing procedure counter.
queriesGetA_SalesQuotationPrcgElmntQueriesNoOData query options.
headersmap<string|string[]>NoAdditional HTTP headers.

Returns: A_SalesQuotationPrcgElmntWrapper|error

Sample code:

quotation:A_SalesQuotationPrcgElmntWrapper prcgElmnt = check quotationClient->getA_SalesQuotationPrcgElmnt("20000001", "10", "10");

Sample response:

{
"d": {
"SalesQuotation": "20000001",
"PricingProcedureStep": "10",
"PricingProcedureCounter": "10",
"ConditionType": "PR00",
"ConditionRateValue": "500.00",
"ConditionRateValueUnit": "USD",
"ConditionAmount": "2500.00",
"TransactionCurrency": "USD",
"ConditionQuantity": "1.000",
"ConditionQuantityUnit": "EA",
"ConditionIsManuallyChanged": false
}
}
patchA_SalesQuotationPrcgElmnt

Updates a specific pricing element on a sales quotation header.

Parameters:

NameTypeRequiredDescription
SalesQuotationstringYesSales quotation document number.
PricingProcedureStepstringYesPricing procedure step number.
PricingProcedureCounterstringYesPricing procedure counter.
payloadModifiedA_SalesQuotationPrcgElmntTypeYesPricing element fields to update (e.g., ConditionRateValue).
headersmap<string|string[]>NoAdditional HTTP headers.

Returns: http:Response|error

Sample code:

http:Response _ = check quotationClient->patchA_SalesQuotationPrcgElmnt("20000001", "10", "10", {
ConditionRateValue: "480.00"
});

Sample response:

HTTP 204 No Content
listPricingElementsOfA_SalesQuotationItem

Retrieves all item-level pricing elements for a sales quotation line item.

Parameters:

NameTypeRequiredDescription
SalesQuotationstringYesSales quotation document number.
SalesQuotationItemstringYesItem number.
queriesListPricingElementsOfA_SalesQuotationItemQueriesNoOData query options.
headersmap<string|string[]>NoAdditional HTTP headers.

Returns: CollectionOfA_SalesQuotationItemPrcgElmntWrapper|error

Sample code:

quotation:CollectionOfA_SalesQuotationItemPrcgElmntWrapper itemPrcg = check quotationClient->listPricingElementsOfA_SalesQuotationItem("20000001", "10");

Sample response:

{
"d": {
"results": [
{
"SalesQuotation": "20000001",
"SalesQuotationItem": "10",
"PricingProcedureStep": "10",
"PricingProcedureCounter": "10",
"ConditionType": "PR00",
"ConditionRateValue": "500.00",
"ConditionAmount": "2500.00",
"TransactionCurrency": "USD"
}
]
}
}

Texts

listTextsOfA_SalesQuotation

Retrieves all text objects associated with a sales quotation header.

Parameters:

NameTypeRequiredDescription
SalesQuotationstringYesSales quotation document number.
queriesListTextsOfA_SalesQuotationQueriesNoOData query options.
headersmap<string|string[]>NoAdditional HTTP headers.

Returns: CollectionOfA_SalesQuotationTextWrapper|error

Sample code:

quotation:CollectionOfA_SalesQuotationTextWrapper texts = check quotationClient->listTextsOfA_SalesQuotation("20000001");

Sample response:

{
"d": {
"results": [
{
"SalesQuotation": "20000001",
"Language": "EN",
"LongTextID": "0001",
"LongText": "Standard terms and conditions apply."
},
{
"SalesQuotation": "20000001",
"Language": "EN",
"LongTextID": "0002",
"LongText": "Delivery within 14 business days."
}
]
}
}
getA_SalesQuotationText

Reads a specific text object from a sales quotation header by language and text ID.

Parameters:

NameTypeRequiredDescription
SalesQuotationstringYesSales quotation document number.
LanguagestringYesLanguage key (e.g., "EN").
LongTextIDstringYesText object identifier.
queriesGetA_SalesQuotationTextQueriesNoOData query options.
headersmap<string|string[]>NoAdditional HTTP headers.

Returns: A_SalesQuotationTextWrapper|error

Sample code:

quotation:A_SalesQuotationTextWrapper text = check quotationClient->getA_SalesQuotationText("20000001", "EN", "0001");

Sample response:

{
"d": {
"SalesQuotation": "20000001",
"Language": "EN",
"LongTextID": "0001",
"LongText": "Standard terms and conditions apply. Offer valid for 30 days from quotation date."
}
}
patchA_SalesQuotationText

Updates the long-text content of a text object on a sales quotation header.

Parameters:

NameTypeRequiredDescription
SalesQuotationstringYesSales quotation document number.
LanguagestringYesLanguage key.
LongTextIDstringYesText object identifier.
payloadModifiedA_SalesQuotationTextTypeYesUpdated text content to write.
headersmap<string|string[]>NoAdditional HTTP headers.

Returns: http:Response|error

Sample code:

http:Response _ = check quotationClient->patchA_SalesQuotationText("20000001", "EN", "0001", {
LongText: "Updated terms: offer valid for 60 days from quotation date."
});

Sample response:

HTTP 204 No Content
listTextsOfA_SalesQuotationItem

Retrieves all text objects for a specific sales quotation line item.

Parameters:

NameTypeRequiredDescription
SalesQuotationstringYesSales quotation document number.
SalesQuotationItemstringYesItem number.
queriesListTextsOfA_SalesQuotationItemQueriesNoOData query options.
headersmap<string|string[]>NoAdditional HTTP headers.

Returns: CollectionOfA_SalesQuotationItemTextWrapper|error

Sample code:

quotation:CollectionOfA_SalesQuotationItemTextWrapper itemTexts = check quotationClient->listTextsOfA_SalesQuotationItem("20000001", "10");

Sample response:

{
"d": {
"results": [
{
"SalesQuotation": "20000001",
"SalesQuotationItem": "10",
"Language": "EN",
"LongTextID": "0001",
"LongText": "Item-specific delivery note."
}
]
}
}
listRelatedObjectsOfA_SalesQuotation

Retrieves all related object associations for a sales quotation header.

Parameters:

NameTypeRequiredDescription
SalesQuotationstringYesSales quotation document number.
queriesListRelatedObjectsOfA_SalesQuotationQueriesNoOData query options.
headersmap<string|string[]>NoAdditional HTTP headers.

Returns: CollectionOfA_SalesQuotationRelatedObjectWrapper|error

Sample code:

quotation:CollectionOfA_SalesQuotationRelatedObjectWrapper relObjs = check quotationClient->listRelatedObjectsOfA_SalesQuotation("20000001");

Sample response:

{
"d": {
"results": [
{
"SalesQuotation": "20000001",
"SDDocRelatedObjectSequenceNmbr": "1",
"SDDocumentRelatedObjectType": "CRM_LEAD",
"SDDocRelatedObjectSystem": "CRMCLNT100",
"SDDocRelatedObjectReference1": "LEAD-00001",
"SDDocRelatedObjectReference2": ""
}
]
}
}
createRelatedObjectOfA_SalesQuotation

Creates a new related object association for a sales quotation header.

Parameters:

NameTypeRequiredDescription
SalesQuotationstringYesSales quotation document number.
payloadCreateA_SalesQuotationRelatedObjectYesRelated object fields including SDDocumentRelatedObjectType, SDDocRelatedObjectSystem, and reference values.
headersmap<string|string[]>NoAdditional HTTP headers.

Returns: A_SalesQuotationRelatedObjectWrapper|error

Sample code:

quotation:A_SalesQuotationRelatedObjectWrapper relObj = check quotationClient->createRelatedObjectOfA_SalesQuotation("20000001", {
SDDocumentRelatedObjectType: "CRM_LEAD",
SDDocRelatedObjectSystem: "CRMCLNT100",
SDDocRelatedObjectReference1: "LEAD-00002"
});

Sample response:

{
"d": {
"SalesQuotation": "20000001",
"SDDocRelatedObjectSequenceNmbr": "2",
"SDDocumentRelatedObjectType": "CRM_LEAD",
"SDDocRelatedObjectSystem": "CRMCLNT100",
"SDDocRelatedObjectReference1": "LEAD-00002"
}
}
deleteA_SalesQuotationRelatedObject

Removes a related object association from a sales quotation header.

Parameters:

NameTypeRequiredDescription
SalesQuotationstringYesSales quotation document number.
SDDocRelatedObjectSequenceNmbrstringYesSequence number of the related object entry to delete.
headersmap<string|string[]>NoAdditional HTTP headers.

Returns: http:Response|error

Sample code:

http:Response _ = check quotationClient->deleteA_SalesQuotationRelatedObject("20000001", "2");

Sample response:

HTTP 204 No Content

Process flow

listPrecedingProcFlowDocsOfA_SalesQuotation

Retrieves preceding process flow documents (e.g., sales inquiries) linked to a sales quotation.

Parameters:

NameTypeRequiredDescription
SalesQuotationstringYesSales quotation document number.
queriesListPrecedingProcFlowDocsOfA_SalesQuotationQueriesNoOData query options.
headersmap<string|string[]>NoAdditional HTTP headers.

Returns: CollectionOfA_SlsQtanPrecdgProcFlowWrapper|error

Sample code:

quotation:CollectionOfA_SlsQtanPrecdgProcFlowWrapper preceding = check quotationClient->listPrecedingProcFlowDocsOfA_SalesQuotation("20000001");

Sample response:

{
"d": {
"results": [
{
"SalesQuotation": "20000001",
"DocRelationshipUUID": "00000000-1234-5678-abcd-000000000001",
"PrecedingDocument": "10000001",
"PrecedingDocumentItem": "10",
"PrecedingDocumentCategory": "B"
}
]
}
}
listSubsequentProcFlowDocsOfA_SalesQuotation

Retrieves subsequent process flow documents (e.g., sales orders) created from a sales quotation.

Parameters:

NameTypeRequiredDescription
SalesQuotationstringYesSales quotation document number.
queriesListSubsequentProcFlowDocsOfA_SalesQuotationQueriesNoOData query options.
headersmap<string|string[]>NoAdditional HTTP headers.

Returns: CollectionOfA_SlsQtanSubsqntProcFlowWrapper|error

Sample code:

quotation:CollectionOfA_SlsQtanSubsqntProcFlowWrapper subsequent = check quotationClient->listSubsequentProcFlowDocsOfA_SalesQuotation("20000001");

Sample response:

{
"d": {
"results": [
{
"SalesQuotation": "20000001",
"DocRelationshipUUID": "00000000-1234-5678-abcd-000000000002",
"SubsequentDocument": "30000001",
"SubsequentDocumentItem": "10",
"SubsequentDocumentCategory": "C"
}
]
}
}
listPrecedingProcFlowDocItemsOfA_SalesQuotationItem

Retrieves preceding process flow document items linked to a specific sales quotation line item.

Parameters:

NameTypeRequiredDescription
SalesQuotationstringYesSales quotation document number.
SalesQuotationItemstringYesItem number.
queriesListPrecedingProcFlowDocItemsOfA_SalesQuotationItemQueriesNoOData query options.
headersmap<string|string[]>NoAdditional HTTP headers.

Returns: CollectionOfA_SlsQtanItmPrecdgProcFlowWrapper|error

Sample code:

quotation:CollectionOfA_SlsQtanItmPrecdgProcFlowWrapper itemPreceding = check quotationClient->listPrecedingProcFlowDocItemsOfA_SalesQuotationItem("20000001", "10");

Sample response:

{
"d": {
"results": [
{
"SalesQuotation": "20000001",
"SalesQuotationItem": "10",
"DocRelationshipUUID": "00000000-1234-5678-abcd-000000000003",
"PrecedingDocument": "10000001",
"PrecedingDocumentItem": "10",
"PrecedingDocumentCategory": "B"
}
]
}
}

Approval actions

releaseApprovalRequest

Releases (approves) an open approval request on a sales quotation, advancing it to the approved status.

Parameters:

NameTypeRequiredDescription
SalesQuotationstringYesSales quotation document number whose approval request should be released.
queriesReleaseApprovalRequestQueriesNoOData action query parameters.
headersmap<string|string[]>NoAdditional HTTP headers.

Returns: FunctionResult_1|error

Sample code:

quotation:FunctionResult_1 result = check quotationClient->releaseApprovalRequest("20000001");

Sample response:

{
"d": {
"ReleaseApprovalRequest": {
"SalesQuotation": "20000001",
"ApprovalStatus": "APPROVED"
}
}
}
rejectApprovalRequest

Rejects an open approval request on a sales quotation.

Parameters:

NameTypeRequiredDescription
SalesQuotationstringYesSales quotation document number whose approval request should be rejected.
queriesRejectApprovalRequestQueriesNoOData action query parameters.
headersmap<string|string[]>NoAdditional HTTP headers.

Returns: FunctionResult_2|error

Sample code:

quotation:FunctionResult_2 result = check quotationClient->rejectApprovalRequest("20000001");

Sample response:

{
"d": {
"RejectApprovalRequest": {
"SalesQuotation": "20000001",
"ApprovalStatus": "REJECTED"
}
}
}

Batch operations

performBatchOperation

Sends multiple OData requests as a single HTTP $batch call, reducing network round trips for bulk operations.

Parameters:

NameTypeRequiredDescription
requesthttp:RequestYesAn HTTP request with a multipart/mixed body containing OData sub-requests per the OData batch specification.
headersmap<string|string[]>NoAdditional HTTP headers for the outer batch request.

Returns: http:Response|error

Sample code:

http:Request batchRequest = new;
batchRequest.setHeader("Content-Type", "multipart/mixed; boundary=batch_boundary");
// Populate batchRequest body with OData sub-requests per $batch spec
http:Response batchResponse = check quotationClient->performBatchOperation(batchRequest);

Sample response:

HTTP 200 OK: multipart/mixed body containing individual sub-response parts