?>Array ( [id] => 34 )
Scénario de test & Cas d'usage
Erstellung eines benutzerdefinierten Aktionssatzes 'riskAnalytics' mit mehreren Aktionen und vielfältigen Parametertypen, die typische Finanzberechnungen simulieren.
| 1 | PROC CAS; |
| 2 | BUILTINS.defineActionSet |
| 3 | actionSet='riskAnalytics', |
| 4 | actions=[ |
| 5 | { |
| 6 | name='calculateVAR', |
| 7 | parms={ |
| 8 | {name='portfolioID', type='string', required=true}, |
| 9 | {name='confidenceLevel', type='double', defaultValue=0.99}, |
| 10 | {name='timeHorizon', type='int', defaultValue=10} |
| 11 | }, |
| 12 | definition='/* Logik zur Berechnung des Value at Risk */ return 0;' |
| 13 | }, |
| 14 | { |
| 15 | name='stressTestPortfolio', |
| 16 | parms={ |
| 17 | {name='portfolioID', type='string', required=true}, |
| 18 | {name='scenarioFile', type='string', required=true}, |
| 19 | {name='outputTable', type='string'} |
| 20 | }, |
| 21 | definition='/* Logik zur Durchführung von Stresstests */ return 1;' |
| 22 | } |
| 23 | ]; |
| 24 | QUIT; |
| 1 | PROC CAS; |
| 2 | BUILTINS.actionSetToTable |
| 3 | actionSet='riskAnalytics', |
| 4 | casOut={name='riskAnalytics_docs', caslib='casuser', replace=true, label='Dokumentation für Risiko-Aktionen'}; |
| 5 | QUIT; |
| 1 | PROC CAS; |
| 2 | fedSql.execDirect query='SELECT action, parm, type FROM riskAnalytics_docs WHERE parm = "portfolioID" AND required = 1'; |
| 3 | QUIT; |
Die Aktion erstellt erfolgreich die Tabelle 'riskAnalytics_docs'. Die anschließende FedSQL-Abfrage gibt zwei Zeilen zurück, eine für 'calculateVAR' und eine für 'stressTestPortfolio', was bestätigt, dass die Aktionsparameter korrekt in die Tabelle extrahiert und als abfragbare Daten verfügbar gemacht wurden.