SAP Analytics Cloud – JavaScript API Code Snippets
Eine Sammlung von JavaScript Code Snippets für SAP Analytics Cloud Anwendungsfälle.
Als aktiv gekennzeichnete Version in Stammdaten finden
Sucht nach X im Attribut „Active“ und gibt die entsprechende ID aus.
console.log("My console output starts here:");
// Aktive Version finden
// Zuerst unter "Scripting" Planungsmodell hinzufügen und mit einem Modell verknüpfen
var allVersions = PlanningModel_1.getMembers("Version");
for(var i=0;i<allVersions.length;i++)
{
if(allVersions[i].properties.Active==="X") //"Active" ist ID des Attributs
{
var activeVersion=allVersions[i].id;
}
}
console.log("Active Plan Version: "+activeVersion);
Nur gebuchte Werte der Dimension über getMembers ausgeben
var varPC = Table_1.getDataSource().getMembers("ZDPLANC", {accessMode:MemberAccessMode.BookedValues});
console.log("Table_1.getDataSource().getMembers('ZDPLANC', {accessMode:MemberAccessMode.BookedValues});");
console.log(varPC);
Planungszyklus aus Attribut auslesen und als Filter für das Jahr setzen
Application.showBusyIndicator();
Table_1.setVisible(false); // Sonst sieht der Benutzer zunächst alle Jahre, dann verschwinden sie
// Aktiven Planungszyklus finden
// Zuerst unter "Scripting" Planungsmodell hinzufügen und mit einem Modell verknüpfen
var allPlanningCycles = PlanningModel_1.getMembers("ZDPLANC");
for(var i=0;i<allPlanningCycles.length;i++)
{
if(allPlanningCycles[i].properties.Flag==="PC+0") //"Flag" is attribute ID
{
var activePlanningCycle=allPlanningCycles[i].id;
}
}
console.log("My console output starts here:");
console.log("Activer Planungszyklus: "+activePlanningCycle);
//Date Filter auf den aktiven Planungszyklus setzen
Table_1.getDataSource().setDimensionFilter("Date", "[Date].[YQM].&["+activePlanningCycle+"]");
//Filter fürs Datum ausgeben
var varDate = Table_1.getDataSource().getDimensionFilters("Date")[0];
console.log('Table_1.getDataSource().getDimensionFilters("Date")[0]');
console.log(varDate); // {value: '[Date].[YQM].&[2024]', type: 'Single'}
Table_1.setVisible(true);
Application.hideBusyIndicator();
Planungszyklus hochzählen
var integerPlanningCycle = ConvertUtils.stringToInteger(activePlanningCycle); //siehe Beispiel oben
integerPlanningCycle++;
console.log("Um Eins erhöhter Planunungszyklus: "+ConvertUtils.numberToString(integerPlanningCycle));
Hinterlasse einen Kommentar
An der Diskussion beteiligen?Hinterlasse uns deinen Kommentar!