Giter VIP home page Giter VIP logo

docs's People

Contributors

agoerler avatar beckermarc avatar braunmatthias avatar bugwelle avatar chgeo avatar danjoa avatar daogrady avatar david-kunz avatar etimr avatar hjboth avatar johannes-vogel avatar lotharbender avatar mariayord avatar matthiasatsap avatar mattschur avatar mnkiefer avatar mofterdinger avatar muskansethi1 avatar patricebender avatar renejeglinsky avatar renovate[bot] avatar schwma avatar sjvans avatar smahati avatar stefanhenke avatar stewsk avatar swaldmann avatar t-bonk avatar tim-sh avatar vmikhailenko avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

docs's Issues

Postgresql create deploy script example generates an invalid 'package.json' file

The Postgresql create deploy script generates an invalid 'package.json' file

echo '{"dependencies": { "@sap/cds": "*", "@cap-js/postgres": "*"},  "scripts": {    "start": "cds-deploy",}}' > gen/pg/package.json

contains an invalid ',' after "cds-deploy"

npm ERR! JSON.parse Unexpected token "}" (0x7D) in JSON at position 101 while parsing near "...tart\": \"cds-deploy\",}}\n"
npm ERR! JSON.parse Failed to parse JSON data.
npm ERR! JSON.parse Note: package.json must be actual JSON, not just JavaScript.

https://cap.cloud.sap/docs/guides/databases-postgres#create-the-shell-script

Dependency Dashboard

This issue lists Renovate updates and detected dependencies. Read the Dependency Dashboard docs to learn more.

This repository currently has no open or pending branches.

Detected dependencies

regex
.vitepress/config.ts
  • com.sap.cds:cds-services-api 2.0.1
.vitepress/config.ts
  • com.sap.cds:cds4j-api 2.0.0

  • Check this box to trigger a request for Renovate to run again on this repository

Node.js - Error Sanitisation & OData V4 Server Messages for Confirmation Popups in Fiori Elements

Hi,

I'm trying to get OData V4 Server messages to work https://ui5.sap.com/#/topic/fbe1cb5613cf4a40a841750bf813238e to get Confirmation Dialogs in my Fiori Elements applications (see https://ui5.sap.com/#/topic/9a536627a6a94de084b0605eb164d2c8), but it seems as CAP does not allow all properties SAPUI5 supports, but only the ones from the OData standard. Unfortunately SAPUI5 cannot work with "@transition" but expects "transition", which is sanitised by CAP.

It would make sense to state here

Additionally, the OData protocol specifies which properties an error object may have. If a custom property shall reach the client, it must be prefixed with `@` in order to not be purged.
that Confirmation Popups in Fiori Elements are not supported by CAP or the additional properties that SAPUI5 supports for errors should not be sanitised.

Kind regards,
Sebastian

Missing Release Notes for December 2022

I just landed on the release notes for december 2022 by using the search function, but the release notes page is empty.

Here is a screenshot of my search, showing results for it:
image

All the other months in 2022 have content.

not clear from docs that how to define a constant or literal string

I want to define a constant or string literal type. But I could not find how to do it with the docs. If it's possible to do it, it should be easier to find out from docs.
example: in below given aspect, I want to define a constant for 'Tax'

aspect AccountInfo {
   taxIds                  : Association to many ExpenseBracket
                                 on  taxIds.owner          = $self
                                 and taxIds.identifierType = 'Tax'; //this should be defined as a constant
   taxReferenceNumber      : Integer;
}

Errors deploying bookshop app

I noticed several issues during deployment of the bookshop app example.
I used "jump start" from here: https://cap.cloud.sap/docs/guides/multitenancy/

  1. Issue in mta.yaml: xsappname: bookshop-${org}-${space}
    The ${org} parameter fails if the name of the org contains spaces.
    This is at least the case in "https://api.cf.us10.hana.ondemand.com"
    Last year I also noticed that issue on EU10!
    This can be fixed by some hard coded value

  2. after deployment I get several errors - no idea what is missing:
    a) in bookshop-mtx.log:

  cds.error(_errorMessage(e, 'acquiring', tenant), { status: e.response?.status ?? 500 }) (STDERR, APP/PROC/WEB)#
  ...
  Error: Error acquiring tenant t0: unknown error (STDERR, APP/PROC/WEB)#

b) in bookshop-srv.log

 throw new Error( (STDERR, APP/PROC/WEB)#
...
Error: Neither "hdb" nor "@sap/hana-client" could be required. Please make sure one of them is installed. (STDERR, APP/PROC/WEB)#

Should the example work out of the box? If so, what could be the reason for the errors?
If not, what must be changed?

Deploy to hana is not implemented in Version 7.0.3

Hello,
I'm developing a CAP Application and wanted to deploy my latest CDS files to the HANA Cloud DB.
However when i try to execute: cds deploy --to hana

I get this error:

Error: This application uses @sap/cds version >= 7, which is not compatible with the installed @sap/cds-dk version 6. Either update @sap/cds-dk to version 7 or downgrade @sap/cds to version 6 instead.
at Object. (/home/user/projects/resell-engine-cap/node_modules/@sap/cds/bin/deploy/to-hana.js:1:7)
at Module._compile (node:internal/modules/cjs/loader:1165:14)
at Object.Module._extensions..js (node:internal/modules/cjs/loader:1219:10)
at Module.load (node:internal/modules/cjs/loader:1043:32)
at Function.Module._load (node:internal/modules/cjs/loader:878:12)
at Module.require (node:internal/modules/cjs/loader:1067:19)
at require (node:internal/modules/cjs/helpers:103:18)
at Object.exports.deploy (/home/user/.node_modules_global/lib/node_modules/@sap/cds-dk/bin/deploy/to-hana.js:6:20)
at Object.deploy (/home/user/.node_modules_global/lib/node_modules/@sap/cds-dk/bin/deploy/index.js:97:20)
at Object.exec (/home/user/.node_modules_global/lib/node_modules/@sap/cds-dk/bin/cds.js:50:27)

I upgraded both libraries (@sap/cds AND @sap/cds-dk) to Version 7.0.3 but the error still occurs.
A quick look into the to-hana.js file showed me why:
image

It's not implemented and only throws this error.

CDS Extension: @On-Event & Service Instance ID(s)

Hey colleagues,

I know that I can get the application name and ID with the following code snippet:

@On(event = ExtractPackageContext.CDS_NAME)
public void extractPackage(ExtractPackageContext context) {
    context.getCdsRuntime().getEnvironment().getApplicationInfo().getName();
    context.getCdsRuntime().getEnvironment().getApplicationInfo().getId();
}

However, I need to know the instance ID of the application where the event is running.
Is it possible to get this information? And in addition to that, is it possible to get a list of all currently running instance IDs?

Best Regards,
Sascha

Inner Loop Development - is just introduced with no reference

A lot of the CAP doco refers to things that people coming from a traditional ABAP context will have no clue about.

I would recommend a link to an authoritative source to explain this further, instead of just leaving people to google what you are on about. ;)

How to show a singel entry for logged in user?

In the document https://cap.cloud.sap/docs/cds/cdl I see $user only implemented for SAP HANA that is already not so nice for local testing. Is there a way to provide a service that shows just the entry of the logged in user?

For example you have Persons as an entity set.
My intention was something like:

@odata.singleton
MyData as projection on Persons where Persons.ID = $user.ID;

But looks like that won't work. Is there some similar solution described in the docs?

Not able to deploy bookshop sample with multi-tenancy to SAP BTP

Hello Team,

When i am following the steps to create the bookshop sample application with multi-tenancy enabled, everything works perfect in my local. However, when i am try to deploy it to my BTP global account, i got the below error messages.
Error messages from bookshop-mtx application
image
Error messages from bookshop-srv application
image

Would you please help to figure out is there any step is missing from my side, or this is still not support by @sap/cds-mtxs?

Best Regards,
Hank.

Hiccup between node and java docs

It seems to me like some Java documentation is being shown under the node toggle:

Read more in the full reference of all [supported retrieval strategy values](https://sap.github.io/cloud-sdk/docs/java/features/connectivity/sdk-connectivity-destination-service#retrieval-strategy-options). Please note that the value must be provided in pascal case, for example: `AlwaysProvider`.

image

The indication to pascal case is contradictory to the above shown example.

Navigation by anchor seems to be off

This is probably a vitescript issues but when I navigate to an anchor

eg https://cap.cloud.sap/docs/get-started/in-a-nutshell#vue

the page doesn't seem to land at that anchor properly.

Sometimes it seems to be at the bottom of the page and sometimes just under the header at the top.

If I discover more about the behaviour I will add to this but as I said not sure if it is a vitepress issue or this repo?

(Ahha - if I dismiss the survey notice at the top it seems to be better.)

Foreign key constraint not created as INITIALLY DEFERRED

Hello,

I'm currently trying to make use of the recently added foreign key constraint option in CAP 7. Unfortunately all of my constraints (tried with multiple hdi containers) are being set as "initially immediate", instead of "initially deferred". According to the documentation there shouldn't really be a way to achieve this, even if I wanted to.

Using DBeaver I can see the unwanted deferability setting on the HANA cloud db:
image

Oddly, the DDL seems to be correct:
image

and seems to match the created .hdbconstraint file:

  CONSTRAINT c__[constraint]
  ON [table]
  FOREIGN KEY([field])
  REFERENCES [referencedTable](ID)
  ON UPDATE RESTRICT
  ON DELETE CASCADE
  VALIDATED
  ENFORCED
  INITIALLY DEFERRED

I'm using these versions:
image

This feature is also supported by SAP HANA Cloud, as we can see in the documentation.
The same problem exists when using my HANA Express, too.

Any idea what this may be caused by?

Because of this I can't insert entries within the same transaction in the "wrong" order.

ALSO: CAP does NOT show me an error after failing to insert data with missing references! It also does not roll back the DB transaction, it just doesn't insert some data and then commits the data that is "correct"!

Explain mta.yaml from top to bottom

Dear CAP Team,
I really like the premise of CAP - just a couple of easy command and away you go.

The problem is that you are learning another language of yaml and these command are magically adding things and it isn't always clear what has been added.

I think a very good addition to the documentation would be to explain all the magic files (mta.yaml, ui5.yaml etc) from top to bottom to explain what each bit does.

And it would be nice if the different tools didn't clobber your mta.yaml

Trying use the fiori cli tool explained here was complaining about a misformed mta.yaml without saying what was misformed then I find that app-db was missing so I rerun cds add hana --for production and that obliterates my xsuaa section from the yaml.

😱

sincerely,
Frustrated

Configure VitePress search to not split at - Sign (Hyphen, Minus)

Thanks to the quick implementation of my feature request for VitePress: Allow configuration of minisearch to not split at - Sign (Hyphen, Minus) #2570 it is now possible to configure miniSearch options. I hope that an updated NPM will be released soon. With that my feature request can be implemented:

Right now when searching for "content-id" at https://cap.cloud.sap/docs/ I get this results:

Screenshot 2023-07-05 at 09 35 25

When searching using Google I get the two pages that contain "content-id". For example Changelog 2021.

So I suggest to use the new configuration option of VitePress and add a custom split variable so that - is not interpreted as a split variable anymore.

Joint Columns Missing When Inserting to Views

Hi CAP Team,

I am following the Resolvable View and Projection section to implement a view for CRUD. My definition is shown below

// schema.cds
entity HeaderAsso {
    key id : UUID;
        displayId : String(32);
        exc_from : String(8);
        exc_to : String(8);
        tcurr: Association to one TCURR on tcurr.FCURR = exc_from and tcurr.TCURR = exc_to;
}
entity TCURR {
    key MANDT : String(3);
    key KURST : String(4);
    key FCURR : String(5);
    key TCURR : String(5);
    key GDATU : String(8);
        UKURS : Decimal(9, 5);
        FFACT : Decimal(9, 0);
        TFACT : Decimal(9, 0);
}

// MyService.cds
entity HeaderJoinAsso as projection on HeaderAsso{
        *,
        tcurr.UKURS as UKURS,
    };

My design is that I could insert into HeaderJoinAsso, and the payload will go to both HeaderAsso and TCURR.

I post the following payload and it succeed, but only HeaderAsso is inserted.

{
	"id": "34642296-8b91-4145-a579-0e4d5a51cdb6",
	"displayId": "ID-1",
	"exc_from": "EUR",
	"exc_to": "USD",
	"type": "M",
	"effective_date": "2021-08-09",
	"UKURS": 1.15
}

Does it mean that, while inserting to a view, I can only get the validation for the associated entity columns but no deep insertion? I will need to create a handler class to do insertion for associated entities?

Thanks a lot!

Post to remote service returns "TypeError: Cannot read properties of undefined (reading 'length')"

I have this function in a NodeJS application using @sap/cds version 7.3.0:

static async getEquipmentSet() {
        try {
            const api = await cds.connect.to('sap-odata-service');
            const result = await api.get(`EquipmentSet`);
            return result;
        } catch (error) {
            console.log(error);
        }
}

This previous GET function returned data from the remote service 'sap-odata-service' configured in cdsrc.json file.

But the following POST method returns an error:

    static async postHourmeter(equipmentData, measurementPointId) {
        try {
            const payload = this.getHourmeterPayload(equipmentData, measurementPointId);
            const api = await cds.connect.to('sap-odata-service');
            const result = await api.post(`MeasureDocumentSet`, payload);
            return result;
        } catch (error) {
            console.log(`The error is:`);
            console.log(error);
        }
    }

Errors:
Screenshot 2023-10-23 at 11 49 46

Does anyone know how to fix it?

Postgres Documentation not working as written

I have followed the documentation at https://cap.cloud.sap/ and in particular the
https://cap.cloud.sap/docs/guides/databases-postgres but following the instructions as written I am not able to deploy a postgres database.

I have done the following:

  1. cap init pg-bookshop
  2. Added the bookshop entities, services and mock data
  3. Removed sqlite3 from package.json, rm -f node_modules; npm i to ensure that sqlite is removed
  4. After that cds env requires.db still responds with:
{
 impl: '@sap/cds/libx/_runtime/sqlite/Service.js',
 credentials: { url: ':memory:' },
 kind: 'sqlite'
}
  1. Despite "@cap-js/postgres": "^1.1.0", being a dependency and the docs suggesting there are Automatic configuration settings, these are either null or don't work.
  2. Despite adding the suggested json to ./.cdsrc.json to match the docker setup
{
  "requires": {
    "db": {
      "[pg]": {
        "kind": "postgres",
        "credentials": {
          "host": "localhost", "port": 5432,
          "user": "postgres",
          "password": "postgres",
          "database": "postgres"
        }
      }
    }
  }
}

none of the following commands are working:

cds watch --profile pg
 Error: No configuration found for 'cds.requires.postgres'

cds deploy --profile pg

[ERROR] No configuration found for 'cds.requires.postgres'

It seems like the auto configuration is not quite working and even with the suggested config it is not working.

I have also raised this on stack overflow

Could you please suggest a way forward?

Slash in Input Path String is not handled?

Hi Colleagues,

Can I have a link to the right place to submit a ticket in internal SAP?

I have a CAP service Entity MyService and the primary keys are (id, displayed). It fails when I send a GET request to localhost:8090/odata/v4/test/MyService(id=54642296-8b91-4145-a579-0e4d5a51cdb6,displayId='M-EUR/CNY-20210809')

The error message is 400: "The key value 'displayId' is invalid."

It might be because of the slash in displayId='M-EUR/CNY-20210809') since it works without a slash. So I replaced / with %2F. But returns 400 from Apache this time (not from cap service): Message Invalid URI: [The encoded slash character is not allowed].

I am wondering if in CAP there is an option/annotation to enable slash char handling.

Thanks!

Serving Media Data - How to handle it with Fiori Elements App?

The page
https://cap.cloud.sap/docs/guides/media-data
does describe how to define the service and the database for media.

But I miss a hint/link/documentation that describes how to use it on a Fiori Elements App.

I noticed the annotation

    HeaderInfo         : {
        Image : image,

But Image is marked as experimental.
And ImageUrl should point to what?

Also how should be the way to edit the image in an Fiori Elements App that uses draft handling?
Is this build in? Or is this completely missing?
How to extend it in the right way?

Duplicate documentation for custom service implementation?

Hi,

This morning I was searching for some guidance for the custom service implementation and found:

https://cap.cloud.sap/docs/node.js/services#srv-impl-how

which shows the 3 options (subclass, plain function, arrow function) as equal. But this afternoon I've navigated via https://cap.cloud.sap/docs/node.js/ and found:

https://cap.cloud.sap/docs/node.js/core-services#how-to-provide-custom-service-implementations

where the subclass based implementation has the preference. I think /docs/node.js/services is an artefact that should be checked for removal or?

Best Regards
Gregor

Unable to hook on shutdown lifecycle event in node with Typescript

I am using 6.8.4 release of cap and I was trying to write cleanup function for server shutdown. When I try to hook on the shutdown lifecycle event of cds, then I get compilation error that Argument of type 'shutdown' is not assignable to parameter of type 'listening'. Overall I can hook to bootstrap, connect, listening, loaded, served, serving lifecycle events but not the shutdown event.

cds.on("shutdown", () => {});

"A constant expression or variable is expected here" when define view

is there any change in the syntax about how to bind two parameters together to be used when defining view from CDS 6.4.1 to CDS 7+?

like:
define view View_Info_Flattened (id: String) as
select from View_Info_Grouped_Epic (id: id) as Grouped
join ***_INFO as Parent on Grouped.jira_id = Parent.jira_id
join View_Info_Grouped_Req (id: id) as Grouped_Req on Grouped_Req.root_id = Parent.root_id
....
....

for CDS 6.4.1 there is no error with the query above, but I have to use the [@cap-js/audit-logging] which required CDS 7+, the error happened after I upgraded to CDS 7.3.1.(in place with (id: id))

SQLite - Skipped Virtuals - Example and explanation don't match

The results in

```js
SELECT.from('Foo') //> [{ foo:1, bar:null }, ...] // [!code --]
SELECT.from('Foo') //> [{ foo:1 }, ...]
SELECT('bar').from('Foo') //> ERROR: no columns to read
```
don't match the explanations, if I'm not mistaken.

With the example

entity Foo {
  virtual foo : Integer;
  bar : Integer;
}

The outcome should be

SELECT.from('Foo')         //> [{ bar:1 }, ...]
SELECT('foo').from('Foo')  //> ERROR: no columns to read

instead, as foo is defined as virtualand bar is not, right?

Kind regards,
Sebastian

incorrect uaa references -> auth

Here https://cap.cloud.sap/docs/node.js/cds-env#env-cds-config

and

https://cap.cloud.sap/docs/node.js/authentication#prepare-local-environment

there are references to uaa when they should be auth

In the second link there is:
cds env list requires.uaa --resolve-bindings --profile hybrid

but that returns nothing.

Rather:

cds env list requires.auth --resolve-bindings --profile hybrid

returns what I expect as auth is what is configured in the .cdsrc-private.json

  "requires": {
    "[hybrid]": {
      "auth": {

Problemn in configuration Pool - @cap-js/postgres

In a follow file:
lib -> PostgresService.js

In the file above I having a problem with timeout millis in a pools config. So, when I try to deploy to any database Postgress, it has show timed out error.

image

This error occurr when I try to pass the config in Pool, doesn't work correctly because in the config in PostgresService.js has a fix config.
image

image

If you see in the picture above, the problem is origin in fix values.

Is it possible to config when the parameters: acquireTimeoutMillis and destroyTimeoutMillis is null in the custom config, fix value 1000?

Regards

How to delete entries pointing to a entry that is going to be deleted?

I try to delete all entries in a table that point to an element that will be deleted in an ongoing request.

What I try to do. In the service implementation I register:

this.on('DELETE', "SomeEntity", deleteReferencedEntities);

So each time DELETE of SomeEntity is requested it will call the handler.

The handler should delete all entries in a different table that pointing to this entry.

async function deleteReferencedEntities(req, next) {
    console.log("deleting all referenced entities with id = " + req.data.ID);
    let iNumberOfDeletedEntitities = await DELETE.from(OtherEntity).where ({referenced_ID:req.data.ID});
    console.log("deleted " + iNumberOfDeletedEntitities + " referenced entitites");
    next(); // use default handler
}

Locally with cds watch that works as expected.

Deployed to the cloud as multi tenant app I get following error:

   ERR [cds|...] - ❗️Uncaught Error: Transaction is already closed
   ERR at /home/vcap/app/node_modules/@sap/cds/libx/_runtime/hana/execute.js:154:36
   ERR at Statement.handle (/home/vcap/app/node_modules/hdb/lib/protocol/Statement.js:91:3)
   ERR at handleReply (/home/vcap/app/node_modules/hdb/lib/Client.js:278:15)
   ERR at receive (/home/vcap/app/node_modules/hdb/lib/util/Queue.js:114:18)
   ERR at Connection.receive (/home/vcap/app/node_modules/hdb/lib/protocol/Connection.js:390:3)
   ERR at TLSSocket.ondata (/home/vcap/app/node_modules/hdb/lib/protocol/Connection.js:243:12)
   ERR at TLSSocket.emit (node:events:512:28)
   ERR at addChunk (node:internal/streams/readable:343:12) 
   ERR at readableAddChunk (node:internal/streams/readable:316:9)
   ERR at Readable.push (node:internal/streams/readable:253:10)

So I assume my understanding of the documentation is wrong?
Is there a different way of deleting entries pointing to a deleted entry?

Deep Read Template literal

Hi,

Referring to this code line: https://github.com/cap-js/docs/blob/fdb79dc87e37f332a1cf2d3d0a73fd30104001ed/guides/providing-services.md?plain=1#L281C16-L281C16

In the docs the Deep Read query is written with the dot outside the literal: o.`*`

SELECT.from ('Orders', o => o.`*`, o.header (h => h.`*`, h.items('*')))

But this leads to the following syntax error in BAS:
grafik

Can it be that the correct syntax is either this

SELECT.from ('Orders', o => o`.*`, o.header (h => h`.*`, h.items('*')))

or this?

SELECT.from ('Orders', o => o(`*`), o.header (h => h(`*`), h.items('*')))

BR,
Nico

Fail to patch entity collection in java

Hi CAP Team,

I am following this section to implement a batch request for my service.

The CDS definition is described below

// schema.cds
entity ExchangeRateDto {
    key id : UUID;
    key displayId : String(32);
        exechangeRate : Decimal(10,2);
};


//MyService.cds
@Capabilities.UpdateRestrictions.DeltaUpdateSupported
service MyService {
    entity ExchangeRate as projection on ExchangeRateDto {*};
}

Regular post/get apis work as expected.

I tested CAP PATCH batch to URL: localhost:8080/odata/v4/MyService/ExchangeRate via following payload

{
	"@context": "#$delta",
	"value": [
		{
			"id": "34642296-8b91-4145-a579-0e4d5a51cdb6",
			"displayId": "ID-1",
			"exechangeRate": 7.83
		},
		{
			"id": "44642296-8b91-4145-a579-0e4d5a51cdb6",
			"displayId": "ID-2",
			"exechangeRate": 7.83
		}
	]
}

But got the response with 405 method not allowed with body

{
	"error": {
		"code": "405005",
		"message": "Entity '{}' is not delta updatable"
	}
}

Besides, I tested odata-style $batch to URL localhost:8080/odata/v4/MyService/$batch

{
	"requests": [
		{
			"id": "1",
			"method": "post",
			"url": "/MyService/ExchangeRate"
			"body": {
				"id": "34642296-8b91-4145-a579-0e4d5a51cdb6",
				"displayId": "ID-1",
				"exechangeRate": 7.83
			}
		},
		{
			"id": "2",
			"method": "post",
			"url": "/MyService/ExchangeRate",
			"body": {
				"id": "44642296-8b91-4145-a579-0e4d5a51cdb6",
				"displayId": "ID-2",
				"exechangeRate": 7.83
			}
		}
	]
}

but get error response 400 bad request

{
	"error": {
		"code": "400",
		"message": "Content-Type at line '0' should be 'multipart/mixed' but is 'application/json'."
	}
}

Not sure which part goes wrong? Would you kindly advise?

"PATCH Entity Collection with Mass Data" - is this not Java specific?

Hi,

I stumbled across PATCH Entity Collection with Mass Data and tried to use it. Only after spending considerable time, I concluded that it is only available for Java and not available for node.js.

Am I right to conclude so? If so, could you please indicate here, this is a generic section about oData, that it is only for Java or move it to Java specific documentation. I am afraid that others may waste their time like me.

Best Regards,
Dinu

nodejs LTS 20.9

I noticed that LTS is now 20.9

What's the plan to update the requirement in CAP and other tools so I dont have a swag of EBADENGINE warnings ?

npm WARN EBADENGINE Unsupported engine {
npm WARN EBADENGINE   package: '@sap/[email protected]',
npm WARN EBADENGINE   required: { node: '^16.0.0 || ^18.0.0' },
npm WARN EBADENGINE   current: { node: 'v20.9.0', npm: '10.2.1' }
npm WARN EBADENGINE }

Does @assert.range support dynamic comparison with other attribute value?

Is there a way to define an @assert.range based on properties.
For example if you have a time range to ensure the from is before the end date.
Or is there a different way to handle that?
Or is the only solution registering a CREATE and UPDATE handler for the such field validation?

Links to unanswered SAP blog questions (from 2021):

https://answers.sap.com/questions/13422473/cap-date-dependency.html
https://answers.sap.com/questions/13442673/-48.html

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.