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 PD-TRAINING.

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 PD-TRAINING.

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 TRAINING , TRAINING.1 und TRAINING.2 zur Projektdefinition PD-TRAINING .

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 TRAINING.1 zur Projektdefinition PD-TRAINING .

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 TRAINING.2 zur Projektdefinition PD-TRAINING .

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 TRAINING.1.

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 TRAINING.1.

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 TRAINING.2.

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 000000002098 zum PSP-Element TRAINING.2.

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 000000002098 zum PSP-Element TRAINING.2.

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