abap-sdk-nwas
An ABAP client library for IBM Watson's Discovery, Language Translator, Natural Language Understanding, Speech to Text, Text to Speech and Assistant services, installed through abapGit.
Each Watson service is wrapped as its own ABAP class, such as ZCL_IBMC_DISCOVERY_V2 or ZCL_IBMC_ASSISTANT_V2, created through zcl_ibmc_service_ext=>get_instance with the service's URL and API key, and the library is delivered as package ZIBMC. Those credentials and the other parameters a wrapper class needs at instantiation can sit in table ZIBMC_CONFIG rather than in the application, and if an API key is passed the SDK generates the IAM bearer token under the cover and refreshes it before it expires; without one, the caller implements token management and hands a token to set_bearer_token. It is for any SAP application run on SAP NetWeaver 7.50 and above, such as SAP Business Suite or SAP S/4HANA on-premises edition, and needs an IBM Cloud account; a separate repository, abap-sdk-scp, covers SAP Cloud Platform ABAP Environment. IBM calls it a community SDK written by ABAPers for the ABAPers in the open-source community and says a community release is not updated on the same schedule as IBM-supported SDKs; the Language Translator row of its service table is marked as a deprecated service that will be discontinued.
Facts
Where it sits
Who is behind it
In the atlas: maintains 1@watson-developer-cloudmaintainerJochen RöhrigContributes to this
In the atlas: contributes to 2@jridfeLars HvamContributes to this
In the atlas: maintains 13, contributes to 92, wrote 1@larshpAjiemar SantiagoContributes to this
In the atlas: contributes to 1@mediumTaj3 contributors
Before choosing this
Signals
ActivityQuietNo published releases; repository quiet for 34 months
It publishes no releases, and its repository has been quiet for at least 24 full months. This may be normal for stable software; check whether its current state still fits your use.
What it declares
Every artifact
- Type
- Package
- Origin
- Independently maintained
As a package
- Where it runs
- Inside its host
- Distributed through
- abapGit
Connections
Calling a language model with tenant and credential handling solved
Git client written in ABAP that runs inside the system
Download
README
quoted from watson-developer-cloud/abap-sdk-nwas under Apache-2.0, readABAP SDK for IBM Watson, using SAP NetWeaver
ABAP client library to use the IBM Watson APIs. This is a Community SDK written by ABAPers for the ABAPers in the Open Source community, to provide easy usage of IBM Watson Developer Services in innovation initiatives combined with any SAP Application which is run on SAP NetWeaver 7.50 and above, such as SAP Business Suite or SAP S/4HANA on-premises edition. It is the choice and responsibility of application developers how this Community SDK is used.
Additionally, as the ABAP SDK is a community release it is not updated with the same schedule as IBM-supported SDKs. Please see more information in Questions.
Choose ABAP SDK release for the applicable ABAP Runtime
| abap-sdk-nwas | abap-sdk-scp |
|---|---|
| for SAP NetWeaver AS ABAP 7.50+ | for SAP Cloud Platform ABAP Environment 2002+ |
| tested on SAP Business Suite and SAP S/4HANA on-premises edition | |
this repository |
Table of Contents
ANNOUNCEMENTS
Major version 2.0.0 released
Version v2.0.0 of the SDK has been released and includes breaking changes - see what's changed in the migration guide.
Before you begin
- You need an IBM Cloud account.
Installation
The client library is provided as ABAP Git Repository. Proceed as follows to clone the ABAP SDK code to your SAP system.
- Install abapGit, using the abapGit Docs
- Use abapGit to clone the ABAP SDK Git repository into your SAP system.
- Assign the ABAP SDK to the package
ZIBMCwhen performing setup of the abapGit repository.
SAP System Configuration
SAP Profile Parameters
The following SAP profile parameter settings are recommended.
icm/HTTPS/client_sni_enabled = TRUE
ssl/ciphersuites = 135:PFS:HIGH::EC_P256:EC_HIGH
ssl/client_ciphersuites = 150:PFS:HIGH::EC_P256:EC_HIGH
wdisp/ssl_ignore_host_mismatch = TRUE
Proxy configuration
The client library respects the ABAP proxy settings. If you are using a central proxy server that is not already configured in your SAP system, proceed as follows.
- Logon to the SAP system and call transaction SICF.
- Click Execute (or press F8).
- Select menu item Client → Proxy Settings.
- On tab Global Settings: Select Proxy Setting is Active and No Proxy Setting for Local Server.
- On tabs HTTP Protocol and HTTPS Protocol specify the proxy Host Name and Port. If the proxy server requires logon credentials, also specify User Name and Password.
- Click Execute (F8) and OK.
SSL Certificates
Communication between SAP and the IBM Cloud is secured by the Transport Layer Security (TLS) protocol, also known as Secure Sockets Layer (SSL). SSL requires certificates that must be stored on the SAP application server in the Personal Security Environment (PSE). Transaction STRUST is used to maintain the PSE.
Determine required certificate
If a call to an IBM Cloud service failed due to a missing SSL certificate, check the ICM trace file to find the required certificate. To do so, call transaction SMICM and select menu item Goto → Trace File → Display End. Alternatively, call transaction AL11 and navigate to file DIR_HOME/dev_icm. Find last entry in trace file that indicates error SSSLERR_PEER_CERT_UNTRUSTED, as shown in the example below.
[Thr nn] Peer not trusted
[Thr nn] Certificate:
[Thr nn] Certificate:
[Thr nn] Subject: CN=*.watsonplatform.net, O=INTERNATIONAL BUSINESS MACHINES CORPORATION, L=Armonk, SP=New York, C=US
[Thr nn] Issuer: CN=GeoTrust RSA CA 2018, OU=www.digicert.com, O=DigiCert Inc, C=US
[Thr nn] Serial Number: 05:1C:46:1B:6E:C2:29:48:BD:F0:03:B3:A6:87:1A:5B
[Thr nn] Verification result:
[...]
[Thr nn] SignerCert:
[Thr nn] Certificate:
[Thr nn] Subject: CN=GeoTrust RSA CA 2018, OU=www.digicert.com, O=DigiCert Inc, C=US
[Thr nn] Issuer: CN=DigiCert Global Root CA, OU=www.digicert.com, O=DigiCert Inc, C=US
[Thr nn] Serial Number: 05:46:FE:18:23:F7:E1:94:1D:A3:9F:CE:14:C4:61:73
[Thr nn] Verification result:
[...]
[Thr nn] SignerCert:
[Thr nn] Certificate:
[Thr nn] Subject: CN=DigiCert Global Root CA, OU=www.digicert.com, O=DigiCert Inc, C=US
[...]
[Thr nn] << ---------- End of Secu-SSL Errorstack ----------
[Thr nn] Target Hostname="stream.watsonplatform.net"
[Thr nn] SSL NI-hdl 463: local=9.152.20.145:56542 peer=169.48.115.62:443
[Thr nn] <<- ERROR: SapSSLSessionStartNB(sssl_hdl=3fef0000c70)==SSSLERR_PEER_CERT_UNTRUSTED
[Thr nn] *** ERROR => SSL handshake with stream.watsonplatform.net:443 failed: SSSLERR_PEER_CERT_UNTRUSTED (-102)
[Thr nn] The peer's X.509 Certificate (chain) is untrusted
The SSL error stack shows the SSL certificate chain, which in the example above looks like follows:
| Certificate Authority Type | Certificate Authority (CA) |
|---|---|
| end-user | *.watsonplatform.net |
| intermediate | GeoTrust RSA CA 2018 |
| root | DigiCert Global Root CA |
You can install any of these SSL certificates. However, it is recommended to install the root CA certificate.
Download the appropriate SSL certificate from the provider's website, for example https://www.digicert.com/digicert-root-certificates.htm. Store the certificate file on your computer.
Add an SSL certificate to the PSE
Proceed as follows to add the downloaded SSL certificate to your SAP system's Standard SSL Client PSE.
- Logon to the SAP system and call transaction STRUST.
- Switch to edit mode (press according tool bar icon).
- If a local PSE file does not exist already, create it by right-clicking on
SSL client SSL Client (Standard)and selecting Create from context menu. Keep all default settings in next popup dialog. - In Certificate section, click Import (alternatively select menu item Certificate → Import). Choose the certificate file that you have downloaded and import the certificate.
- Click button Add to Certificate List.
- Click Save (F3).
Restart the ICM (Internet Communication Manager)
It is recommended to restart the ICM after a new SSL certificate has been applied to the PSE. To do so, proceed as follows.
- Logon to the SAP system and call transaction SMICM.
- Select menu item Administration → ICM → Restart → Yes.
Credentials
Before you can access a specific service from your SAP system, you must create a service instance in the IBM Cloud and obtain credentials. The credentials can be shared among multiple end users of the SAP system, but you must ensure that the selected plan is sufficient to support the expected number of calls or the expected data volume. Please note that some plans may have restrictions on the allowed methods, so make sure to select the right plan for your purpose.
All currently supported services support IAM authentication (see below). Service credentials consist of an API Key and a URL. Both the API Key and the URL are character values that can be viewed through the IBM Cloud dashboard and need to be provided as parameters i_apikey and i_url to method zcl_ibmc_service_ext=>get_instance.
You can store the values with your application, but it is suggested to do that in an encrypted format. Using cloud services usually creates costs based on usage for the owner of the service instance, and anyone with the credentials can use the service instance at the owner's expenses. If you want to distribute the costs over multiple cost centers, you need to create a service instance and provide service credentials for each cost center separately.
Configuration table
Service credentials and other parameters that must be specified at Watson service wrapper ABAP class instantiation can also be provided in table ZIBMC_CONFIG. This table has three keys:
| Table Key | Description |
|---|---|
| SERVICE | The ABAP class name without prefix ZCL_IBMC_ |
| INSTANCE_UID | ID chosen by application developer that must be provided by application as parameter to method zcl_ibmc_service_ext=>get_instance() |
| PARAM | The parameter name |
List of configuration parameters in table ZIBMC_CONFIG
| Parameter Name | Default Value | Description |
|---|---|---|
| URL | service-dependent | Watson service url |
| APIKEY | Watson service API keys | |
| PROXY_HOST | Proxy server | |
| PROXY_PORT | Proxy server port | |
| AUTH_NAME | service-dependent | Authorization, IAM or basicAuth |
| SSL_ID | CLIENT | SSL Identity, defines PSE for SSL certificates: CLIENT or ANONYM |
IAM Authentication
Identity and Access Management (IAM) is a bearer-token based authentication method. Token management is either performed by the ABAP SDK or must be implemented by the SDK user.
If a value for apikey is provided by the caller in method zcl_ibmc_service_ext=>get_instance(), the ABAP SDK generates a bearer-token under the cover when needed and refreshes it when it is about to expire.
If apikey is not provided for method zcl_ibmc_service_ext=>get_instance(), the ABAP SDK user must implement an individual token management. Before a service method is called the first time, a valid bearer-token must be provided to the Watson service wrapper ABAP class instance as follows:
lo_service_class->set_bearer_token( i_bearer_token = '...' ).
Afterwards, service methods can be called as long as the provided token is valid. When the token has expired, the method above must be called again with a new (refreshed) bearer-token as parameter.
Usage
The client library is delivered as package ZIBMC. Once the Git Repository has been cloned to the SAP system, a Watson service instance is wrapped by an ABAP class instance.
The following Watson services are currently supported:
| Service | ABAP Class Name |
|---|---|
| Discovery | ZCL_IBMC_DISCOVERY_V2 |
| Language Translator | ZCL_IBMC_LANG_TRANSLATOR_V3 (*) |
| Natural Language Understanding | ZCL_IBMC_NAT_LANG_UNDRSTND_V1 |
| Speech to Text | ZCL_IBMC_SPEECH_TO_TEXT_V1 |
| Text to Speech | ZCL_IBMC_TEXT_TO_SPEECH_V1 |
| Watson Assistant | ZCL_IBMC_ASSISTANT_V1 |
| ZCL_IBMC_ASSISTANT_V2 |
(*) Deprecated service; will be discontinued in the future.
Using the client library requires two steps:
- Create an instance of the Watson service wrapper ABAP class by calling method
zcl_ibmc_service_ext=>get_instance.
data:
lo_service_class type <ABAP Class Name>.
zcl_ibmc_service_ext=>get_instance(
exporting
i_url = <url>
i_apikey = <api key>
...
importing
eo_instance = lo_service_class ).
- Call the Watson service API endpoint by invoking the corresponding class method.
try.
lo_service_class->method(
exporting
is_input = ...
importing
es_output = ... ).
catch zcx_ibmc_service_exception into data(lo_service_exception).
...
endtry.
Text to Speech Example
* List all voices provided by Watson Text to Speech
" declare variables
data:
lv_apikey type string value '...',
lo_text_to_speech type ref to zcl_ibmc_text_to_speech_v1,
lo_service_exception type ref to zcx_ibmc_service_exception,
ls_voice type zcl_ibmc_text_to_speech_v1=>t_voice,
lt_voices type zcl_ibmc_text_to_speech_v1=>t_voices.
" get Watson Text-to-Speech service instance
zcl_ibmc_service_ext=>get_instance(
exporting
i_url = 'https://api.kr-seo.text-to-speech.watson.cloud.ibm.com/instances/<uuid>'
i_apikey = lv_apikey
importing
eo_instance = lo_text_to_speech ).
" call Watson Text-to-Speech service to retrieve available voices
try.
lo_text_to_speech->list_voices(
importing
e_response = lt_voices ).
catch zcx_ibmc_service_exception into lo_service_exception.
message lo_service_exception type 'E'.
endtry.
" evaluate voices
loop at lt_voices-voices into ls_voice.
...
endloop.
Natural Language Understanding Example
* Analyze www.ibm.com using Watson Natural Language Understanding
" declare variables
data:
lv_apikey type string value '...',
lo_instance type ref to zcl_ibmc_nat_lang_undrstnd_v1,
lo_service_exception type ref to zcx_ibmc_service_exception,
ls_parameter type zcl_ibmc_nat_lang_undrstnd_v1=>t_parameters,
ls_analysis_results type zcl_ibmc_nat_lang_undrstnd_v1=>t_analysis_results.
" get Watson Natural Language Understanding service instance
zcl_ibmc_service_ext=>get_instance(
exporting
i_url = 'https://api.eu-de.natural-language-understanding.watson.cloud.ibm.com/instances/<uuid>'
i_apikey = lv_apikey
i_version = '2019-07-12'
importing
eo_instance = lo_instance ).
" set the input parameters
ls_parameters-url = 'www.ibm.com'.
ls_parameters-return_analyzed_text = zcl_ibmc_service=>c_boolean_true.
ls_parameters-features-entities-emotion = zcl_ibmc_service=>c_boolean_true.
ls_parameters-features-entities-sentiment = zcl_ibmc_service=>c_boolean_true.
ls_parameters-features-keywords-emotion = zcl_ibmc_service=>c_boolean_true.
ls_parameters-features-keywords-sentiment = zcl_ibmc_service=>c_boolean_true.
" call Watson Natural Language Understanding service to analyze URL www.ibm.com
try.
lo_instance->analyze(
exporting
i_parameters = ls_parameters
importing
e_response = ls_analysis_results ).
catch zcx_ibmc_service_exception into lo_service_exception.
message lo_service_exception type 'E'.
endtry.
" retreive analysis results from ls_analysis_results
Language Translator Example
* Translate text from English to German using Watson Language Translator
" declare variables
data:
lv_apikey type string value '...',
lo_lang_translator type ref to zcl_ibmc_lang_translator_v3,
lo_service_exception type ref to zcx_ibmc_service_exception,
ls_request type zcl_ibmc_lang_translator_v3=>t_translate_request,
lv_text type string,
ls_trans type zcl_ibmc_lang_translator_v3=>t_translation_result.
" get Watson Language Translator service instance
zcl_ibmc_service_ext=>get_instance(
exporting
i_url = 'https://api.us-south.language-translator.watson.cloud.ibm.com/instances/<uuid>'
i_apikey = lv_apikey
i_version = '2018-05-01'
importing
eo_instance = lo_lang_translator ).
" store text to be translated into ls_request and set the languages
lv_text = 'Welcome'.
append lv_text to ls_request-text.
ls_request-model_id = 'en-de'.
ls_request-source = 'EN'.
ls_request-target = 'DE'.
" call Watson Language Translator service to translate the text in ls_request
try.
lo_lang_translator->translate(
exporting
i_request = ls_request
i_contenttype = 'application/json'
i_accept = 'application/json'
importing
e_response = ls_trans ).
catch zcx_ibmc_service_exception into lo_service_exception.
message lo_service_exception type 'E'.
endtry.
" retreive translation results from ls_trans
API Reference
GitHub Pages contain the ABAP Client Library for Watson API Reference.
Questions
The ABAP SDK is a Community SDK for IBM Watson, created by the IBM Watson development community and SAP's ABAP development community - written by ABAPers from IBM Cloud, IBM Services and IBM Systems. Therefore as a community release it is not updated with the same schedule as IBM-supported SDKs, and does not include support by IBM. For more information on IBM-supported SDKs and the update policy, please see https://cloud.ibm.com/docs/watson?topic=watson-using-sdks
If you have questions about the IBM Watson services or are having difficulties using the APIs, please ask a question at IBM Support Forums or Stack Overflow.
License
This library is licensed under the Apache 2.0 license.
Contributors
- Christian Bartels
- Joachim Rese
- Jochen Röhrig
- Aleksandar Debelic
- Stefan Diederichs
Acknowledgements
- Bradley Knapp (Sponsor)
- Devraj Bardhan (Sponsor)
- Sean Freeman (Sponsor)
In addition, we would like to thank the abapGit contributors and the SAP Mentors of this team.
History
Other 11
Notes
Version 2.0.0 of the SDK includes the following enhancements and changes to version 1.0.0:
New service
Enhanced services
-
Watson Assistant V1 with new methods
Create_Workspace_Async,Export_Workspace_Async, andUpdate_Workspace_Async. -
Watson Assistant V2 with new methods
Create_Assistant,Delete_Assistant,List_Assistants,Create_Release,Delete_Release,Deploy_Release,Get_Release,List_ReleasesExport_Skills,Get_Skill,Import_Skills,Import_Skills_Status,Update_SkillGet_Environment,List_Environments, andUpdate_Environment. -
Natural Language Understanding V1 with new methods
Create_Categories_Model,List_Categories_Models,Get_Categories_Model,Update_Categories_Model,Delete_Categories_Model,Create_Classifications_Model,List_Classifications_Models,Get_Classifications_Model,Update_Classifications_Model, andDelete_Classifications_Model. -
Text to Speech V1 with new Methods
List_Custom_Prompts,Get_Custom_Prompt,Add_Custom_Prompt,Delete_Custom_PromptList_Speaker_Models,Get_Speaker_Model,Create_Speaker_Model, andDelete_Speaker_Model.
There were also changes to method parameters to support the most current version of the services. For details, see the migration document.
Removed services (discontinued)
- Compare and Comply V1
- Discovery V1
- Natural Language Classifier V1
- Personality Insights V3
- Tone Analyzer V3
- Visual Recognition V3 and V4
Other 2
Notes
Update for ABAP SDK for IBM Watson, using SAP NetWeaver.
- Adapt SDK to latest IBM Watson service APIs.
- Minor bug fixes
Other 3
Notes
Update for ABAP SDK for IBM Watson, using SAP NetWeaver.
- Adapt SDK to latest OpenAPI specifications
- Improvements in ABAPDoc documentation
- Minor bug fixes
Notes
Update for ABAP SDK for IBM Watson, using SAP NetWeaver.
Notes
Initial release of the ABAP SDK for IBM Watson.
Others providing
Compare all 23 on the LLM integration page →- llm_clientllm_clientAn ABAP client that gives chat-completion LLM APIs one interface for chat messages, structured output and tool calls across ten providers, from OpenAI and Anthropic to OLLAMA and AWS Bedrock.independent, abapABAP client with one interface to chat-completion LLM APIsfrom ABAP
- abap-agent-runtimeabap-agent-runtimeAn ABAP-native MCP endpoint inside the SAP system: an agent reads the screen of an opted-in abap2UI5 app as structured data, fills its fields and fires its events as the logged-on SAP user.community org, abapABAP-native MCP endpoint that drives opted-in abap2UI5 appsfrom ABAP
- abap_btocs_ollamaabap_btocs_ollamaAn ABAP plugin, built on the B-Tocs ABAP SDK, that calls models served by Ollama through an SM59 RFC destination, implementing four of its API endpoints: generate, tags, show and embeddings.independent, abapB-Tocs ABAP SDK plugin connecting to Ollama modelsfrom ABAP
- SAP AI CoreSAP AI CoreSAP's AI service on BTP: the runtime for AI assets, and through the Generative AI Hub inside it the access to foundation models, the orchestration service with its templating, masking, filtering and grounding modules, the Prompt Registry and Document Grounding.sap official, btpAI runtime on BTP with the Generative AI Hubfrom BTP/BAIP
- cap-java/cds-aicap-java/cds-aiBridges CAP Java to SAP AI Core and adds AI-powered field recommendations to Fiori draft UIs, as two alpha Maven modules with mock fallbacks for local development.sap official, capBridge from CAP Java to SAP AI Core, with Fiori field recommendationsfrom CAP
- @cap-js/ai@cap-js/aiOut-of-the-box value-help recommendations powered by SAP RPT-1, SAP AI Core as a standard CAP service, and an experimental local embedding model behind SQLite's vector functions.sap official, capValue-help recommendations and SAP AI Core as a CAP servicefrom CAP
- cap-llm-plugincap-llm-pluginGenerative AI in a CAP application with the sensitive fields anonymised through SAP HANA before the prompt leaves, so the model never sees the confidential half.independent, capGenerative AI in CAP with fields anonymised through SAP HANAfrom CAP
- @geertjanklaps/cds-toon-ai-protocol-adapter@geertjanklaps/cds-toon-ai-protocol-adapterA protocol adapter that serves CAP data as TOON — Token-Oriented Object Notation — instead of JSON, so a payload bound for a language model costs fewer tokens to send.independent, capProtocol adapter serving CAP data as TOON instead of JSONfrom CAP
- abap-sdk-nwas-xabap-sdk-nwas-xAn ABAP client library for IBM's watsonx.ai and watsonx.ai Runtime APIs, installed into an SAP NetWeaver AS ABAP system through abapGit, generating and refreshing the IAM token from an API key.independent, abapABAP client library for IBM watsonx.ai APIsfrom ABAP
- @jerome-benoit/sap-ai-provider@jerome-benoit/sap-ai-providerA provider for the Vercel AI SDK that speaks to SAP AI Core through its orchestration or foundation models API, so an application written against that SDK runs on SAP's models without being rewritten.independent, capVercel AI SDK provider for SAP AI Corefrom CAP
- ui5-cap-ai-featuresui5-cap-ai-featuresBoth halves of an AI text feature in one package: a CDS plugin serving an AIService over SAP AI Core's Orchestration Service, and the be.wl.ai UI5 control library that calls exactly that service.independent, capCDS plugin and UI5 controls for AI text features via SAP AI Corefrom CAP
- Microsoft AI SDK for SAPMicrosoft AI SDK for SAPMicrosoft's ABAP library for calling Azure OpenAI and OpenAI from an SAP application server, wrapping completions, embeddings, fine-tuning and the other operations in ABAP data types, installed with abapGit.partner, abapABAP library for calling Azure OpenAI and OpenAIfrom ABAP
- zllmzllmAn ABAP framework for chaining and orchestrating calls to large language models in pure ABAP, with templated prompts, routing by complexity, response caching and token estimation.independent, abapABAP framework for chaining and orchestrating LLM callsfrom ABAP
- ABAP AI SDKABAP AI SDKSAP's reuse library for calling a large language model from ABAP code, powered by Intelligent Scenario Lifecycle Management and reaching the models in the Generative AI Hub; delivered with SAP BTP ABAP environment, SAP S/4HANA Cloud Public and Private Edition and SAP S/4HANA.sap official, abapSAP reuse library for calling large language models from ABAPfrom ABAP
- @sap-ai-sdk/ai-api@sap-ai-sdk/ai-apiThe AI Core API surface of SAP's AI SDK, covering deployments, configurations and the rest of the control plane, as opposed to calling a model.sap official, capAI Core control plane API surface of SAP's AI SDKfrom CAP
- @sap-ai-sdk/core@sap-ai-sdk/coreThe shared internals that the packages of SAP's AI SDK build on, which its own readme says are not meant to be depended on directly.sap official, capShared internals of SAP's AI SDKfrom CAP
- @sap-ai-sdk/foundation-models@sap-ai-sdk/foundation-modelsThe package of SAP's AI SDK that calls foundation models through SAP AI Core and the Generative AI Hub, and the one an application actually reaches for.sap official, capClient for foundation models via SAP AI Core and Generative AI Hubfrom CAP
- @sap-ai-sdk/orchestration@sap-ai-sdk/orchestrationThe Orchestration Service client of SAP's AI SDK, which applies templating, grounding, filtering and masking around a model call rather than in the application.sap official, capOrchestration Service client for templating, grounding and maskingfrom CAP
- @sap-ai-sdk/prompt-registry@sap-ai-sdk/prompt-registryA package for keeping prompts in SAP's prompt registry rather than in the codebase, so changing a prompt is not a deployment.sap official, capClient for prompts kept in SAP's prompt registryfrom CAP
- @saptarishi/cds-plugin-llm@saptarishi/cds-plugin-llmA CAP service kind that puts eleven model providers behind one chat, stream, embed and batch interface, so which backend a service calls is a profile in package.json rather than a change to the handler.independent, capCAP service kind putting eleven model providers behind one APIfrom CAP
- @shahid.la/cds-db-nlquery-mcp@shahid.la/cds-db-nlquery-mcpMCP server that answers plain-English questions against the entities in db/schema.cds — it discovers the schema, generates CQN-backed SQL with real joins, and returns rows.independent, capMCP server answering plain-English questions against a CDS schemafrom CAP
- @ui5/webcomponents@ui5/webcomponentsSAP's UI elements as standard custom elements, ui5-button among them, implementing SAP Fiori design and usable from plain HTML, React, Angular or Vue.sap official, ui5SAP's UI elements as standard custom elementsfrom UI5
Details
Sources
Sources are graph entities: the same page may back several entries, and an unreachable source flags every row that rests on it.
Compatibility and provenance
abaplint
Flavors
“tested on SAP Business Suite and SAP S/4HANA on-premises edition” — watson-developer-cloud/abap-sdk-nwas — README
Contributors
History in the atlas
- First seen.
For your agent
- Ref
artifact:watson-developer-cloud-abap-sdk-nwas- JSON
- /artifacts/watson-developer-cloud-abap-sdk-nwas.json
- MCP
- Connecting an agent