CREATE USER PAL_ACCESS_GRANTOR PASSWORD <password> NO FORCE_FIRST_PASSWORD_CHANGE;
-- create role
CREATE ROLE "data::external_access_g";
CREATE ROLE "data::external_access";
GRANT "data::external_access_g", "data::external_access" TO PAL_ACCESS_GRANTOR WITH ADMIN OPTION;
GRANT AFL__SYS_AFL_AFLPAL_EXECUTE_WITH_GRANT_OPTION, AFL__SYS_AFL_AFLPAL_EXECUTE_WITH_GRANT_OPTION to "data::external_access_g";
GRANT AFL__SYS_AFL_AFLPAL_EXECUTE, AFL__SYS_AFL_AFLPAL_EXECUTE_WITH_GRANT_OPTION to "data::external_access";
{
"password": "Your password",
"tags": [
"hana"
],
"user": "PAL_ACCESS_GRANTOR"
}
- name: ml_hana_demo-db-deployer
type: hdb
path: db #gen/db
requires:
- name: ml_hana_demo-db
properties:
TARGET_CONTAINER: ~{hdi-service-name}
- name: cross-container-service-1
group: SERVICE_REPLACEMENTS
properties:
key: ServiceName_1
service: ~{the-service-name}
parameters:
buildpack: nodejs_buildpack
resources:
- name: cross-container-service-1
type: org.cloudfoundry.existing-service
parameters:
service-name: ml_hana_bas_ups
properties:
the-service-name: ${service-name}
@Sap/cds
version to ^6
in the dependencies section. "dependencies": {
"@sap/cds": "^6",
"express": "^4",
"hdb": "^0.18.3",
"sap-hdb-promisfied": "^2.202205.1"
}
"cds": {
"build": {
"tasks": [
{
"for": "hana",
"dest": "../db"
},
{
"for": "node-cf"
}
]
},
"requires": {
"db": {
"kind": "hana-cloud"
}
}
}
PROCEDURE base_additivemodelforecast1_modelwrapper()
LANGUAGE SQLSCRIPT
SQL SECURITY INVOKER
AS
BEGIN
lt_data = SELECT "STATION_UUID", "DATE", "E5" FROM "CPM_ML_FUEL_PRICES_RNK_TEST" WHERE "DATE" < '2022-06-14 00:00:00.000';
lt_holiday = SELECT * FROM CPM_ML_PAL_ADDITIVE_MODEL_ANALYSIS_HOLIDAY;
CALL BASE_ADDITIVEMODELFORECAST1_FIT(
:lt_data,
:lt_holiday
);
END
{
"ml_hana_bas_ups": { --> Your user provided service name
"object_owner": {
"roles": [
"data::external_access_g". --> Roles created in Step 1 to call PAL procedure
]
},
"application_user": {
"roles": [
"data::external_access"
]
}
}
}
{
"SYSAFL::PALMASSIVEADDITIVEMODELANALYSIS": {
"target": {
"object": "PAL_MASSIVE_ADDITIVE_MODEL_ANALYSIS",
"schema": "_SYS_AFL"
}
},
"SYSAFL::PALMASSIVEADDITIVEMODELPREDICT": {
"target": {
"object": "PAL_MASSIVE_ADDITIVE_MODEL_PREDICT",
"schema": "_SYS_AFL"
}
}
}
entity PAL_ADDITIVE_MODEL_ANALYSIS_MODEL {
GROUP_ID : String(100);
ROW_INDEX : Integer;
MODEL_CONTENT : LargeString;
}
"dependencies": {
"@sap/cds": "^5",
"express": "^4",
"hdb": "^0.18.3",
"sap-hdb-promisfied": "^2.202205.1"
}
using cpm.ml as my from '../db/data-model';
service CatalogService {
entity Stations as projection on my.Stations;
entity Prices as projection on my.Prices;
entity Prediction_Results as projection on my.PAL_ADDITIVE_MODEL_PREDICT_FORECAST_RESULT_TBL_1;
function Prices_Predict() returns Boolean;
function Model_Train_Wrapper() returns Boolean;
}
const cds = require('@sap/cds')
module.exports = cds.service.impl(function () {
//Generate Prediction Results
this.on('Prices_Predict', async () => {
try {
const dbClass = require("sap-hdb-promisfied")
let db = new dbClass(await dbClass.createConnectionFromEnv())
let dbProcQuery = "CALL BASE_ADDITIVEMODELFORECAST1_PREDICT()"
// @ts-ignore - CDS Types aren't updated for this new Stored Procedure option yet
console.log("------Before running db procedure--------")
let result = await db.execSQL(dbProcQuery)
console.log("------After running db procedure--------")
console.table(result)
return true
} catch (error) {
console.error(error)
return false
}
})
//Train Machine Learning Models and Store Models in HANA Tables
this.on('Model_Train_Wrapper', async () => {
try {
const dbClass = require("sap-hdb-promisfied")
let db = new dbClass(await dbClass.createConnectionFromEnv())
let dbProcQuery = "CALL BASE_ADDITIVEMODELFORECAST1_MODELWRAPPER()"
// @ts-ignore - CDS Types aren't updated for this new Stored Procedure option yet
console.log("------Before running db procedure--------")
let result = await db.execSQL(dbProcQuery)
console.log("------After running db procedure--------")
console.table(result)
return true
} catch (error) {
console.error(error)
return false
}
})
})
You must be a registered user to add a comment. If you've already registered, sign in. Otherwise, register and sign in.
User | Count |
---|---|
15 | |
11 | |
10 | |
10 | |
9 | |
7 | |
7 | |
7 | |
7 | |
7 |