Methode: WorkBreakdownStruct.Maintain
Mit dem BAPI Maintain des Business Objects WorkBreakdownStruct ist es möglich, die Objekte einer Projektdefinition zu bearbeiten. Außerdem steht die gesamte Funktionalität des Maintain-BAPIs des Business Objects Network zur Verfügung. Die Beschreibung dieser Funktionalität finden Sie unter
Network.Maintain.Mit WorkBreakdownStruct.Maintain ist es möglich, die Projekdefinition, deren PSP-Elemente und hierarchische Beziehungen untereinander zu bearbeiten. Das BAPI kapselt dabei eine geschlossene Transaktion in sich. Es ist dadurch möglich, mehrere Operationen auf die Projektobjekte mit einem einzigen Aufruf abzuarbeiten. Die Reihenfolge, in der die Operationen auf die Objekte ausgeführt werden sollen, bestimmt das R/3 Projektsystem. Der Aufrufer kann die Operationen in einer beliebigen Reihenfolge wählen.
Dadurch wird eine performante Abarbeitung gewährleistet. Dieses Transaktionskonzept schließt allerdings die Benutzung und Kombination anderer SAP BAPIs in der gleichen LUW aus.
Wirkungsweise
Das Business Objekt WorkBreakdownStruct ist eine Fassade der Projektdefinition zu den PSP-Elementen und deren Hierarchie.
Wollen Sie ein Projektobjekt bearbeiten, müssen Sie ein Kommando auf einen Objekttyp angeben. Zusätzlich ist die Angabe des Objektschlüssels erforderlich und eine Referenz zu seinen Attributen.
Sie geben im Tabellenparameter
IMethodProject den Objekttyp, das Kommando, den Objektschlüssel und als Referenz den Index der Objektdatentabelle des jeweiligen Objekttyps an. In der Objektdatentabelle werden die Informationen zum Objekt angegeben. Im Fall eines Updates wird auch noch eine Update-Struktur zum Objekt benötigt.Bei der Angabe von
Objecttype und Method in der Tabelle IMethodProject ist auf Groß- und Kleinschreibung zu achten.Um die Transaktion abzuschließen und die Daten in der Datenbank des R/3-Systems zu speichern, müssen Sie das
Save -Kommando angeben. Wenn Sie hingegen nur testen möchten, ob die Änderungen durchgeführt werden können, dürfen Sie das Save -Kommando nicht verwenden.Grundsätzlich ist es nicht möglich, die Schlüssel der einzelnen Objekte zu ändern.
Der Rückgabeparameter
Return gibt an, wenn bei der Verarbeitung Fehler aufgetreten sind. In der Tabelle EMessageTable stehen nach dem Aufruf die Meldungen, die während der Verarbeitung erzeugt wurden.Lesen Sie auch die Dokumentation des ABAP-Funktionsbausteins
BAPI_PROJECT_MAINTAIN im R/3-System.Kommandos der einzelnen Objekttypen
Die Beschreibungen zu den Objekttypen Network, NetworkActivity, NetworkActivityElement, ActivityMilestone und NetworkRelation finden Sie unter
Network.Maintain.Objekttyp: ProjectDefinition
Das BAPI Maintain muß immer einen Bezug auf genau eine Projektdefinition haben. Geben Sie deshalb immer eine Projektdefinition im Strukturparameter
IProjectDefinition an. Als Schlüssel wird die Projektdefinition verwendet und die Referenz auf den Datenteil muß immer 1 sein. Die Projektdefinition muß immer in Großbuchstaben angegeben werden.Kommando: Create
Erzeugen einer Projektdefinition im R/3 Projektsystem. Die Projektdefinition und das Projektprofil müssen angegeben werden. Das Projektprofil muß im R/3 Projektsystem bereits vorhanden sein.
IMethodProject
OBJECTTYPE |
METHOD |
OBJECTKEY |
REFNUMBER |
ProjectDefinition |
Create |
PD-TRAINING |
000001 |
|
Save |
|
|
IProjectDefinition
PROJECT_DEFINITION |
DESCRIPTION |
PROJECT_PROFILE |
... |
PD-TRAINING |
Schulungsprojekt |
PPRO001 |
... |
Kommando: Update
Ändern einer Projektdefinition, die bereits im R/3 Projektsystem vorhanden ist. Durch die Angabe einer Update-Struktur können selektiv einzelne Felder geändert werden, ohne daß die übrigen Felder angegeben werden müssen.
Ändern der Beschreibung einer Projektdefinition. Nur die Beschreibung wird geändert.
IMethodProject
OBJECTTYPE |
METHOD |
OBJECTKEY |
REFNUMBER |
ProjectDefinition |
Update |
PD-TRAINING |
000001 |
|
Save |
|
|
IProjectDefinition
PROJECT_DEFINITION |
DESCRIPTION |
... |
PD-TRAINING |
Schulungs Projekt |
... |
IProjectDefinitionUp
PROJECT_DEFINITION |
DESCRIPTION |
... |
|
X |
... |
Kommando: Lock (ab R/3 Release 4.6A)
Sperren einer Projektdefinition
Der Systemstatus "Stammdatensperre" wird auf die Projektdefinition gesetzt.
Sperren der Projektdefinition
IMethodProject
OBJECTTYPE |
METHOD |
OBJECTKEY |
REFNUMBER |
ProjectDefinition |
Lock |
PD-TRAINING |
000001 |
|
Save |
|
|
IProjectDefinition
PROJECT_DEFINITION |
... |
PD-TRAINING |
... |
Kommando: Unlock (ab R/3 Release 4.6A)
Entsperren einer Projektdefinition
Der Systemstatus "Stammdatensperre" wird von der Projektdefinition entfernt.
Entsperren der Projektdefinition
IMethodProject
OBJECTTYPE |
METHOD |
OBJECTKEY |
REFNUMBER |
ProjectDefinition |
Unlock |
PD-TRAINING |
000001 |
Save |
IProjectDefinition
PROJECT_DEFINITION |
... |
PD-TRAINING |
... |
Objekttyp: WBS-Element
Es können alle PSP-Elemente einer Projektdefinition bearbeitet werden. Der Name des PSP-Elements ist gleichzeitig sein Schlüssel.
Das PSP-Element muß immer in Großbuchstaben angegeben werden.
Kommando: Create
Anlegen eines PSP-Elements zur Projektdefinition.
Anlegen von drei PSP-Elementen
IMethodProject
OBJECTTYPE |
METHOD |
OBJECTKEY |
REFNUMBER |
WBS-Element |
Create |
TRAINING |
000001 |
WBS-Element |
Create |
TRAINING.1 |
000002 |
WBS-Element |
Create |
TRAINING.2 |
000003 |
|
Save |
|
|
IProjectDefinition
PROJECT_DEFINITION |
DESCRIPTION |
PROJECT_PROFILE |
... |
PD-TRAINING |
|
|
... |
IWbsElementTable
Index |
WBS_ELEMENT |
PROJECT_DEFINITION |
DESCRIPTION |
... |
1 |
TRAINING |
PD-TRAINING |
Gesamtprojekt |
... |
2 |
TRAINING.1 |
PD-TRAINING |
Vorbereitung |
... |
3 |
TRAINING.2 |
PD-TRAINING |
Durchführung |
... |
Kommando: Update
Ändern eines PSP-Elements, das bereits im R/3 Projektsystem vorhanden ist. Durch die Angabe einer Update-Struktur können selektiv einzelne Felder geändert werden, ohne daß die übrigen Felder angegeben werden müssen.
Ändern der Beschreibung des PSP-Elements
IMethodProject
OBJECTTYPE |
METHOD |
OBJECTKEY |
REFNUMBER |
WBS-Element |
Update |
TRAINING.1 |
000001 |
|
Save |
|
|
IProjectDefinition
PROJECT_DEFINITION |
DESCRIPTION |
PROJECT_PROFILE |
... |
PD-TRAINING |
|
|
... |
IWbsElementTable
Index |
WBS_ELEMENT |
PROJECT_DEFINITION |
DESCRIPTION |
... |
1 |
TRAINING.1 |
PD-TRAINING |
Vorbereitung und Doku |
... |
IWbsElementTableUpda
Index |
WBS_ELEMENT |
PROJECT_DEFINITION |
DESCRIPTION |
... |
1 |
X |
... |
Kommando: Delete
Löschen eines PSP-Elements, das bereits im R/3 Projektsystem vorhanden ist. Das PSP-Element bekommt den Systemstatus Löschvormerkung und wird nicht physisch gelöscht. Es kann kein neues PSP-Element mit demselben Schlüssel angelegt werden.
Löschen des PSP-Elements
IMethodProject
OBJECTTYPE |
METHOD |
OBJECTKEY |
REFNUMBER |
WBS-Element |
Delete |
TRAINING.2 |
000001 |
|
Save |
IProjectDefinition
PROJECT_DEFINITION |
DESCRIPTION |
PROJECT_PROFILE |
... |
PD-TRAINING |
|
|
... |
IWbsElementTable
Index |
WBS_ELEMENT |
PROJECT_DEFINITION |
DESCRIPTION |
... |
1 |
TRAINING.2 |
|
|
... |
Kommando: Lock (ab R/3 Release 4.6A)
Sperren eines PSP-Elements
Der Systemstatus "Stammdatensperre" wird auf das PSP-Element gesetzt.
Sperren des PSP-Elements
IMethodProject
OBJECTTYPE |
METHOD |
OBJECTKEY |
REFNUMBER |
WBS-Element |
Lock |
TRAINING.1 |
000001 |
|
Save |
|
|
IWbsElementTable
Index |
WBS_Element |
PROJECT_DEFINITION |
... |
1 |
TRAINING.1 |
PD-TRAINING |
... |
Kommando: Unlock (ab R/3 Release 4.6A)
Entsperren eines PSP-Elements
Der Systemstatus "Stammdatensperre" wird von dem PSP-Element entfernt.
Entsperren des PSP-Elements
IMethodProject
OBJECTTYPE |
METHOD |
OBJECTKEY |
REFNUMBER |
WBS-Element |
Unlock |
TRAINING.1 |
000001 |
|
Save |
|
|
IWbsElementTable
Index |
WBS_Element |
PROJECT_DEFINITION |
... |
1 |
TRAINING.1 |
PD-TRAINING |
... |
Objekttyp: WBS-Milestone (ab R/3 Release 4.6A)
Der Schlüssel des Objekts PSP-Meilenstein ist die Meilensteinnummer.
Kommando: Create
Erzeugen eines neuen PSP-Meilensteins zu einem Netzplan. Die Angabe einer Nummer für den Meilenstein ist nicht erforderlich. Wenn der Meilenstein angelegt wurde, dann wird die neue, vom System vergebene Nummer des Meilensteins in der Meldungstabelle als Informationsmeldung zurückgegeben.
Wird jedoch beim Anlegen eine externe Nummer in der Methodentabelle angegeben, so wird in der Meldungstabelle die externe Nummer und die neue Meilensteinnummer in einer Informationsmeldung zurückgegeben.
Das PSP-Element muß immer angegeben werden.
Anlegen eines neuen PSP-Meilensteins zum PSP-Element
IMethodProject
OBJECTTYPE |
METHOD |
OBJECTKEY |
REFNUMBER |
WBS-Milestone |
Create |
000001 | |
|
Save |
|
|
IWbsMilestoneTable
Index |
MILESTONE_NUMBER |
WBS_ELEMENT |
... |
1 |
TRAINING.2 |
... |
Kommando: Update
Ändern eines PSP-Meilensteins, der bereits im R/3 Projektsystem vorhanden ist. Die Angabe einer Projektdefinition ist immer dann erforderlich, wenn Sie keine expliziten Änderungen in der Projektdefinition vornehmen.
Verwenden Sie die Update Struktur analog zum PSP-Element.
Ändern eines existierenden PSP-Meilensteins mit der Nummer
IMethodProject
OBJECTTYPE |
METHOD |
OBJECTKEY |
REFNUMBER |
WBS-Milestone |
Update |
000000002098 |
000001 |
|
Save |
|
|
IWbsMilestoneTable
Index |
MILESTONE_NUMBER |
DESCRIPTION |
WBS_ELEMENT |
... |
1 |
000000002098 |
geänderte Meilensteinbeschreibung |
TRAINING.2 |
... |
IWbsMilestoneTableUpda
Index |
MILESTONE_NUMBER |
DESCRIPTION |
WBS_ELEMENT |
... |
1 |
X |
TRAINING.2 |
... |
Kommando: Delete
Löschen eines PSP-Meilensteins, der bereits im R/3 Projektsystem vorhanden ist. Der PSP-Meilensteint wird physisch gelöscht. Die Angabe einer Projektdefinition ist immer dann erforderlich, wenn Sie keine expliziten Änderungen an der Projektdefinition vornehmen.
Löschen des existierenden PSP-Meilensteins mit der Nummer
IMethodProject
OBJECTTYPE |
METHOD |
OBJECTKEY |
REFNUMBER |
WBS-Milestone |
Delete |
000000002098 |
000001 |
|
Save |
IWbsMilestoneTable
Index |
MILESTONE_NUMBER |
WBS_ELEMENT |
... |
1 |
000000002098 |
TRAINING.2 |
... |
Objekttyp: WBS-Hierarchy
Mit Objekttyp WBS-Hierarchy wird die Hierarchie der PSP-Elemente bestimmt. Eine Projektdefinition hat immer genau eine Hierarchie. Ändert sich die Lage eines PSP-Elements in der Hierarchie, so muß die gesamte Hierarchie wieder neu aufgebaut werden. Deshalb gibt es für das Objekt WBS-Hierarchy nur das Kommando Create.
Jedes PSP-Element bekommt genau einen Eintrag im Tabellenparameter
IWbsHierarchieTable , um seine Lage zu definieren.Kommando: Create
Anlegen oder Ändern einer PSP-Hierarchie einer Projektdefinition. Im Tabellenparameter IMethodProject muß der Objekttyp WBS-Hierarchy und das Kommando Create angegeben werden. Das Kommando bezieht sich immer auf alle Einträge des Tabellenparameters IWbsHierarchieTable , der die Daten zur Hierarchie enthält.
Jeder Eintrag in der IWbsHierarchieTable bezieht sich auf ein PSP-Element, das seine Lage relativ zu den anderen PSP-Elementen beschreibt.
Anordnen der PSP-Elemente TRAINING , TRAINING.1 und TRAINING.2 . Die PSP-Elemente TRAINING.1 und TRAINING.2 sind dem PSP-Element TRAINING untergeordnet. TRAINING.1 ist links von TRAINING.2 angeordnet.
IMethodProject
OBJECTTYPE |
METHOD |
OBJECTKEY |
REFNUMBER |
WBS-Hierarchy |
Create |
|
|
|
Save |
|
|
IProjectDefinition
PROJECT_DEFINITION |
DESCRIPTION |
PROJECT_PROFILE |
... |
PD-TRAINING |
|
|
... |
IWbsHierarchieTable
WBS_ELEMENT |
PROJECT_DEFINITION |
UP |
DOWN |
LEFT |
RIGHT |
TRAINING |
PD-TRAINING |
|
TRAINING.1 |
|
|
TRAINING.1 |
PD-TRAINING |
TRAINING |
|
|
TRAINING.2 |
TRAINING.2 |
PD-TRAINING |
TRAINING |
|
TRAINING.1 |
|