PersonIndependent

Mio Yasutake

GitHub@miyasutalast push
Provides 1
Soft deleteCAPSoft deletecapabilityDeleting a record without removing it — flagging the row, recording who deleted it and when, and keeping it out of reads. The question underneath is what DELETE should mean to a client that cannot tell the difference, and what happens to a composition tree when its root is flagged.
Demonstrates 27
Analytical queriesCAPAnalytical queriescapabilityGrouped, aggregated and filtered reads for analytical clients, answered by the database rather than in application memory. This concerns the queries a chart or report sends, while [analytic modelling](capability:analytic-modelling) defines the measures and dimensions they read.App hostingCAPBTPUI5App hostingcapabilityWhere a built frontend lives and what serves it — the static files of a frontend application after the build, reachable behind a login and beside the API it talks to, without a web server of your own.AttachmentsCAPUI5ABAPBTPAttachmentscapabilityStoring a file somebody uploaded next to the record it belongs to, and getting it back out — where the bytes actually live, who may read them, and what the UI shows while they are being scanned.AuthenticationCAPBTPABAPUI5AuthenticationcapabilityEstablishing who is calling: validating credentials or tokens, resolving the user, and making that identity available to the application. [Authorization](capability:authorization) decides what that identity may do; [identity provisioning](capability:identity-provisioning) manages its lifecycle across systems.AuthorizationCAPBTPABAPAuthorizationcapabilityDeciding who may read or change what, at service, entity and instance level — role checks, forwarded user context, and restrictions evaluated as query filters rather than after the fact.CI/CD pipelinesCAPBTPCI/CD pipelinescapabilityA pipeline that builds, tests and delivers an application each time its source repository changes, with a build log that shows which step failed. [Deployment](capability:deployment) describes getting the build onto its target runtime.Database connectorsCAPBTPABAPDatabase connectorscapabilityConnecting an application’s data model and queries to a database, including the differences in supported queries, types and schema management between database implementations. Changing an existing schema belongs to [schema evolution](capability:schema-evolution).DeploymentCAPBTPDeploymentcapabilityGetting an application onto a runtime and keeping it there: build descriptors, deployment topology, service bindings and lifecycle operations. The target runtime determines how the application is packaged and configured.DestinationsCAPBTPUI5DestinationscapabilityReaching a system that is not yours — an S/4HANA tenant, an on-premise service, a third-party API — without the address, the credentials or the tunnel being written into the application. The destination is the indirection, and the reason an endpoint can move without a redeploy.Draft handlingCAPDraft handlingcapabilityLetting a user edit a record over several requests before it becomes real — saving unfinished changes, locking, and activating a completed draft.Error handlingCAPABAPError handlingcapabilityTurning a failure into a response a client can act on — protocol-correct error payloads, correlation, and a boundary between internal detail and what a caller sees.Event MeshCAPBTPABAPEvent MeshcapabilityEmitting and consuming business events across systems through brokers, including subscriptions and mapping application events to broker topics. Work that must survive a request, including deferred processing and retries, belongs to [async processing](capability:async-processing).Fiori annotationsCAPUI5ABAPFiori annotationscapabilityDescribing a service so a Fiori client can render it without hand-written UI code — titles, value helps, hierarchies and visibility expressed as model annotations rather than screen logic.Input validationCAPABAPUI5Input validationcapabilityRejecting bad input before it reaches the database. While this can be done manually inside a handler, there are solutions in place to derive type, range, enum and mandatory checks from the model definitions.LLM integrationCAPUI5BTPABAPLLM integrationcapabilityCalling a language model from application code with the tenant, destination and credential handling already solved instead using an SDK call with a hand-rolled key.Local developmentCAPABAPLocal developmentcapabilityRunning the whole stack on a laptop against real bindings — the service, the UI and the routing in front of it — without deploying to see a change.LoggingCAPBTPABAPUI5LoggingcapabilitySeeing what a running service did, in a form something can read afterwards — levels, a formatter that suits a laptop and one that suits a log service.Native SAP HANA artifactsCAPNative SAP HANA artifactscapabilityUsing native SAP HANA database objects alongside an application’s generated data model, including objects and database features the modelling layer cannot express. Choosing a database is [database connectors](capability:database-connectors); changing an existing schema is [schema evolution](capability:schema-evolution).NotificationsCAPABAPNotificationscapabilityTelling a person something happened when they are not looking at the screen — a notification in the launchpad, an email, a message somewhere they already are.ODataCAPABAPODatacapabilityExposing data and operations through OData, including the service model, metadata and protocol versions clients require. Version differences affect which clients can consume a service and which query features they can use.OpenAPICAPABAPBTPOpenAPIcapabilityHanding a description of the service to clients and tools — an API portal, a code generator, a partner who wants a contract before they write anything.Retrieval-augmented generationCAPABAPBTPRetrieval-augmented generationcapabilityGrounding a model's answer in data retrieved at question time: text split into chunks, each chunk embedded as a vector, and the chunks nearest to the question placed into the prompt. Semantic search is the same retrieval with a person reading the matches, and fine-tuning changes the model's weights, not its input.RFC connectivityCAPBTPABAPRFC connectivitycapabilityCalling ABAP function modules from outside the system over RFC, with destinations and connection pooling handled rather than hand-wired on the calling side.Service compositionCAPService compositioncapabilityBuilding one solution out of parts other projects published: a reuse package brings its models, code, initial data and texts into your project through npm or Maven, you serve what you reference and extend what you import, and the same modules deploy as one application or as several on a shared database. Distinct from [service integration](capability:service-integration), which reaches a service that stays deployed elsewhere, and from [tenant extensibility](capability:tenant-extensibility), which is a subscriber extending a running SaaS.Service integrationCAPService integrationcapabilityUsing a service that runs somewhere else as if it were one of your own: its API imported into the model, a proxy that turns a local query into the remote protocol, and a mock that stands in for it on a laptop. Distinct from [destinations](capability:destinations), which is how the address and the credentials are found, and from [replication](capability:replication), which is holding the data locally.TestingCAPBTPTestingcapabilityProving the service still does what it did — against the model and the handlers, without a deployed system and without a database somebody has to keep clean.TypingCAPTypingcapabilityMaking the model visible to the compiler — generated types for entities and events so a rename breaks the build rather than production.

Entries39

Group by39 of 39 entries
EntrySignals
Maintains2
cds-feature-softdelete
No license+1

CAP Java plugin for soft delete with a softdelete aspect

cds-softdelete-pluginv1.0.2
Functional boundary

CAP plugin turning DELETE into a flag on annotated entities

Maintains: samples, sketches and references37
assert-target
No license

Which CAP paths trigger @assert.target and which do not

attachment-reuse-controls-sample
No license

Fiori Elements page embedding upload controls on @cap-js/attachments

auth-samples
No license

CAP services and a UI for trying role restrictions with mock users

blog-bookshop
No license

CAP bookshop with Fiori elements UI deployed whole to Cloud Foundry

blog-cap-chart
No license

Fiori overview page comparing aggregated and plain donut-chart cards

cap-alp
No license

Analytical List Page over a CAP OData V4 service

cap-ams-a2a
No license

App-to-app setups between CAP Java and CAP Node.js under AMS and IAS

cap-bp-rag
No license

Event-driven RAG app with CAP, Cloud Integration and SAP HANA Cloud

cap-cds-typer
none

CAP service in TypeScript using types from @cap-js/cds-typer

cap-cross-container
No license

CAP services reading each other's HANA tables across HDI containers

cap-defaultvalue-function
none

Common.DefaultValuesFunction pointed at a CAP service function

cap-embedding-function
none

CAP service computing embeddings with HANA Cloud vector_embedding

cap-external-northwind
none

CAP service serving Northwind's external OData Products as its own

cap-fe-massedit
none

Mass edit enabled in a Fiori elements list report over CAP

cap-feature-control
none

Singleton entity whose flags drive Fiori elements feature control

cap-github-action
none

CAP project built and deployed to Cloud Foundry by GitHub Actions

cap-java-auth-check
No license

CAP Java authorization checks tried case by case

cap-java-child
No license

Consumer side of a CAP Java parent pom promotion model with Renovate

cap-java-draft-composition-delete
No license

CAP Java draft cancel on composition items as a flag update

cap-java-parent-pom-sample
No license

Maven parent pom pinning cds-services-bom and Spring Boot for CAP Java

cap-java-resilience
No license

CAP Java service consuming a Business Partner API mocked in Node.js

cap-java-snippets
none

Ten short CAP Java references, one document per topic

cap-js-notifications
No license

Order service sending notifications via @cap-js/notifications

cap-media
No license

Media handling in core CDS with a UI5 UploadSet

cap-oauth-destination
No license

OAuth2UserTokenExchange destination declared in mta.yaml

cap-openai
No license

CAP service actions calling OpenAI chat completions two ways

cap-openapi
No license

CAP Java service calling role collection APIs via a generated client

cap-principal-propagation
No license

On-premise ABAP OData V2 service read from CAP over Connectivity

cap-redis
No license+1

Approuter session held in a bound Redis cache instance

cap-reuse-html5
No license+1

Fiori elements app in the HTML5 Application Repository with cdm.json

cap-rfc
No license

CAP Node.js action calling BAPI_EPM_BP_CREATE over RFC

cap-uiv2.10.3
none

MTA deploying CAP, HDI container and a Fiori elements app

cap-vector-hc
No license

VECTOR_EMBEDDING in a CDS entity for FAQ similarity search

fiori-dynamic-feature-control
No license

One object page field made read-only from another's value, two ways

fiori-inline-edit
No license

List report inline edit on a draft-enabled CAP service

fiori-invoke-function
No license

Calling an unbound CAP Java function from freestyle UI5

fiori-navigation-patterns
No license

Outbound navigation patterns from a Fiori Elements list report

Writing and topics5

Piece, what it offersStill applies
CAP JavaでObject Pageの項目の動的な入力制御を実装する
Qiita, Mio Yasutake
nothing recorded
Using HANA Cloud’s "VECTOR_EMBEDDING" Function in CAP
SAP Community, Mio YasutakeThe reasoningRunnable code
nothing recorded
Building an Analytical List Page with CAP OData V4
SAP Community, Mio YasutakeThe reasoningA recipeRunnable code
Gone quiet
Fiori Elements Analytical Table with CAP: Does it work with V2 and V4?
SAP Community, Mio YasutakeThe reasoningRunnable code
Core changed
How to share tables across different CAP projects
SAP Community, Mio YasutakeThe reasoningA recipeRunnable code
nothing recorded

Details

History4
  • cap-vector-hccapability → capability:retrieval-augmented-generationThe capability moved to a neutral id when it opened to HANA, BTP and ABAP; the concern and this entry's edge to it are unchanged.
  • cds-feature-softdeleteprovides → capability:soft-deleteEntered unmapped because no capability fitted: change-tracking is history of changes, data-privacy is close to the opposite, and inventing an edge would have been worse than the gap. The capability now exists, so the edge is the honest one rather than the nearest one.
  • cds-softdelete-pluginprovides → capability:soft-deleteEntered unmapped because no capability fitted: change-tracking is history of changes, data-privacy is close to the opposite, and inventing an edge would have been worse than the gap. The capability now exists, so the edge is the honest one rather than the nearest one.
  • First entry seenDiscovered via GitHub API · miyasuta, GitHub organisations and accounts · miyasuta, npm registry.
For your agent