KostenPlanBatchOperations – Global
Die Skripteinbindung CostPlanBatchOperations stellt Methoden bereit, mit denen eine große Anzahl von Kostenplandatensätzen für Bedarfe und Projekte mithilfe der Stapelverarbeitung erstellt werden kann. Verwenden Sie diese Skripteinbindung anstelle von GlideRecord, um mehrere Kostenplandatensätze effizienter zu erstellen.
Verwenden Sie die Methode CostPlanBatchOperations.add(), um einer Batch-Warteschlange eine beliebige Anzahl von Kostenplänen hinzuzufügen. Sobald Sie alle erforderlichen Kostenpläne hinzugefügt haben, verwenden Sie die Methode CostPlanBatchOperations.process() zum Erstellen/Einfügen der Kostenpläne in Ihrer Instanz. Bis Sie die Methode CostPlanBatchOperations.process() aufrufen, verbleiben die Hinzufügungsanforderungen in der Batch-Warteschlange (Sie wurden Ihrer Instanz noch nicht hinzugefügt). Wenn Sie aus irgendeinem Grund alle Kostenpläne in der Batch-Warteschlange entfernen müssen, verwenden Sie die Methode CostPlanBatchOperations.clear().
Zur Verwendung dieser Skripteinbindung müssen Sie das Plugin „PPM Standard“ (com.snc.financial_planning_pmo) aktivieren.
CostPlanBatchOperations - add(Object costPlan)
Fügt einer angegebenen Aufgabe (Projekt oder Bedarf) einen oder mehrere Kostenpläne hinzu. Verwenden Sie diese Methode, wenn Sie mehrere Kostenpläne erstellen möchten.
| Name | Typ | Beschreibung |
|---|---|---|
| Kostenplan | Objekt | Ein oder mehrere Objekte oder ein Array von Objekten, die jeden der Kostenpläne beschreiben, die einer vorhandenen Aufgabe hinzugefügt werden sollen |
| costPlan.name | Zeichenfolge | Name des Kostenplans Maximale Länge: 130 Zeichen |
| Kostenplan.Aufgabe | Zeichenfolge | Sys_id des Projekts oder des Bedarfs, das bzw. der diesem Kostenplan zugeordnet werden soll. Sie können diesen Wert in einer der folgenden Tabellen suchen:
|
| KostenPlan.Einheit_Kosten | Nummer | Kosten einer einzelnen Einheit der angegebenen Ressource. |
| Kostenplan.Ressourcentyp | Zeichenfolge | Sys_id des Datensatzes, der die Kostenart definiert, die diesem Kostenplan zugeordnet ist. Die verfügbaren Werte für diesen Parameter sind in der Tabelle „Kostenartdefinition“ [resource_type_definition] definiert. |
| KostenPlan.Start_Geschäftsperiode | Zeichenfolge | Sys_id des Datensatzes, der die beginnende Geschäftsperiode definiert, die diesem Kostenplan zugeordnet werden soll. Die verfügbaren Werte für diesen Parameter sind in der Tabelle „Geschäftsperiode“ [fiscal_period] definiert. |
| Kostenplan.End_Geschäftsperiode | Zeichenfolge | Sys_id des Datensatzes, der die endende Geschäftsperiode definiert, die diesem Kostenplan zugeordnet werden soll. Die verfügbaren Werte für diesen Parameter sind in der Tabelle „Geschäftsperiode“ [fiscal_period] definiert. |
| Kostenplan<optional> | Variiert | Optional. Sie können zusätzliche Parameter übergeben, um sie einem Kostenplan hinzuzufügen. Die verfügbaren Parameter hängen von der Art des Kostenplans ab, den Sie erstellen. Die Liste der zusätzlichen Parameter, die Sie übergeben können, finden Sie in der Tabelle „Kostenplan“ [cost_plan]. |
| Typ | Beschreibung |
|---|---|
| void |
In diesem Beispiel wird gezeigt, wie ein einfacher Kostenplan in Batch hinzugefügt wird.
//Define Array of Cost Plan records in JSON format
var costPlanRecords= [];
costPlanRecords.push({
name:'Capital Expense',
task:'f7a36d1bdb58001025c85a35dc96193a', // sys_id of the task
unit_cost:1000.00, //decimal
resource_type:'a546eaf79330120064f572edb67ffb70', // sys_id of the cost type definition
start_fiscal_period:'091b6e60cb111200f2de77a4634c9c2e', // sys_id of the start fiscal period record
end_fiscal_period:'0d1b6e60cb111200f2de77a4634c9c2f',// sys_id of the end fiscal period record
quantity:1 // Optional cost plan record attributes
});
var costPlanBatchOperations = new CostPlanBatchOperations();
costPlanBatchOperations.add(costPlanRecords);
var costPlanSysIds = costPlanBatchOperations.process();
CostPlanBatchOperations – löschen ()
Entfernt alle Kostenplanobjekte, die mit der Methode CostPlanBatchOperations.add() hinzugefügt wurden.
| Name | Typ | Beschreibung |
|---|---|---|
| Keine |
| Typ | Beschreibung |
|---|---|
| void |
In diesem Beispiel wird gezeigt, wie die Batch-Warteschlange nach dem Hinzufügen von Kostenplänen geleert wird.
//Define Array of Cost Plan records in JSON format
var costPlanRecords= [];
costPlanRecords.push({
name:'Capital Expense',
task:'f7a36d1bdb58001025c85a35dc96193a', // sys_id of the task
unit_cost:1000.00, //decimal
resource_type:'a546eaf79330120064f572edb67ffb70', // sys_id of the cost type definition
start_fiscal_period:'091b6e60cb111200f2de77a4634c9c2e', // sys_id of the start fiscal period record
end_fiscal_period:'0d1b6e60cb111200f2de77a4634c9c2f',// sys_id of the end fiscal period record
quantity:1 // Optional cost plan record attributes
});
var costPlanBatchOperations = new CostPlanBatchOperations();
costPlanBatchOperations.add(costPlanRecords);
var costPlanSysIds = costPlanBatchOperations.process();
costPlanBatchOperations.clear();
CostPlanBatchOperations – process()
Verarbeitet alle Kostenpläne, die mit der Methode CostPlanBatchOperations.add() hinzugefügt wurden, und erstellt die entsprechenden Kostenpläne und relevanten Rollups.
Sobald die Kostenpläne erfolgreich verarbeitet wurden, wird die Kostenplanwarteschlange gelöscht.
| Name | Typ | Beschreibung |
|---|---|---|
| Keine |
| Typ | Beschreibung |
|---|---|
| Array | Sys-ID für jeden generierten Kostenplan. |
Dieses Beispiel zeigt, wie ein einfacher Batch-Kostenplan verarbeitet wird.
//Define Array of Cost Plan records in JSON format
var costPlanRecords= [];
costPlanRecords.push({
name:'Capital Expense',
task:'f7a36d1bdb58001025c85a35dc96193a', // sys_id of the task
unit_cost:1000.00, //decimal
resource_type:'a546eaf79330120064f572edb67ffb70', // sys_id of the cost type definition
start_fiscal_period:'091b6e60cb111200f2de77a4634c9c2e', // sys_id of the start fiscal period record
end_fiscal_period:'0d1b6e60cb111200f2de77a4634c9c2f',// sys_id of the end fiscal period record
quantity:1 // Optional cost plan record attributes
});
var costPlanBatchOperations = new CostPlanBatchOperations();
costPlanBatchOperations.add(costPlanRecords);
var costPlanSysIds = costPlanBatchOperations.process();