cancel
Showing results for 
Search instead for 
Did you mean: 

CAP: Select inside Action

MioYasutake
Active Contributor
0 Kudos
1,094

Hello.

I'm struggling to implement an Action inside CAP.

What I want to do is simple SELECT, but it throws me an error...

Service definition

using { demo.callcenter as call } from '../db/schema';

service CallCenterService {
    entity Inquiries as select from call.Inquiries
    actions {
        @sap.applicable.path: 'startEnabled'
        action start();
    }; 
}

Service implementation

const cds = require('@sap/cds')

module.exports = async function () {
    const { Inquiries } = cds.entities

    this.on ('start', async (req)=> {
        console.log('data: ' + req.data)
        const id = req.params[0]

        //Get createdAt
        const createdAt = await SELECT.from(Inquiries).columns(['createdAt']).where({ID:id})

        //Calculate hoursBeforeStart
        const startedAt = Date.now()
        const difference = startedAt - new Date(createdAt).getTime()
        const hoursBefoerStart =  Math.floor(difference/1000/60/60)        

        const n = await UPDATE(Inquiries).set({ 
            status_code:'2',
            startedAt: Date.now(),
            hoursBefoerStart: hoursBefoerStart
        }).where ({ID:id}).and({status_code:'1'})
        n > 0 || req.error (404) 
    })
}

The error is occurring at below statement.

const createdAt = await SELECT.from(Inquiries).columns(['createdAt']).where({ID:id})

Can anybody point out what's wrong with this statement?

Thanks,

Mio

View Entire Topic
carmenpalmisano
Explorer
0 Kudos

Title: ErroreMessage: Non è stato possibile aprire l’app perché il componente SAP UI5 dell’applicazione non è stato caricato.Details: {"info": "Il componente UI5 non è stato caricato per l’intento \"#Action-toappstateformsample\"","technicalMessage": "failed to load 'sap/ushell/demo/AppStateFormSample/Component.js' from ../../../../../test-resources/sap/ushell/demoapps/AppStateFormSample/Component.js: 404 - Not Found\nError: failed to load 'sap/ushell/demo/AppStateFormSample/Component.js' from ../../../../../test-resources/sap/ushell/demoapps/AppStateFormSample/Component.js: 404 - Not Found\n at makeNestedError (https://sapui5.hana.ondemand.com/1.78.6/resources/sap-ui-core.js:94:37)\n at requireModule (https://sapui5.hana.ondemand.com/1.78.6/resources/sap-ui-core.js:102:2782)\n at requireAll (https://sapui5.hana.ondemand.com/1.78.6/resources/sap-ui-core.js:104:527)\n at Object.r [as require] (https://sapui5.hana.ondemand.com/1.78.6/resources/sap-ui-core.js:109:597)\n at https://sapui5.hana.ondemand.com/1.78.6/resources/sap-ui-core.js:671:6952\n at new Promise (<anonymous>)\n at https://sapui5.hana.ondemand.com/1.78.6/resources/sap-ui-core.js:671:6919\nCaused by: Error: 404 - Not Found\n at a (https://sapui5.hana.ondemand.com/1.78.6/resources/sap-ui-core.js:98:88)\n at XMLHttpRequest.<anonymous> (https://sapui5.hana.ondemand.com/1.78.6/resources/sap-ui-core.js:98:321)\n at loadSyncXHR (https://sapui5.hana.ondemand.com/1.78.6/resources/sap-ui-core.js:98:415)\n at requireModule (https://sapui5.hana.ondemand.com/1.78.6/resources/sap-ui-core.js:102:2737)\n at requireAll (https://sapui5.hana.ondemand.com/1.78.6/resources/sap-ui-core.js:104:527)\n at Object.r [as require] (https://sapui5.hana.ondemand.com/1.78.6/resources/sap-ui-core.js:109:597)\n at https://sapui5.hana.ondemand.com/1.78.6/resources/sap-ui-core.js:671:6952\n at new Promise (<anonymous>)\n at https://sapui5.hana.ondemand.com/1.78.6/resources/sap-ui-core.js:671:6919"}