Methode: Network.Maintain 

Mit dem BAPI Maintain des Business Objekts Network ist es möglich, Netzpläne, Netzplanvorgänge und Anordnungsbeziehungen zu bearbeiten. Das BAPI kapselt dabei eine geschossene Transaktion in sich. Es ist dadurch möglich, mehrere Operationen auf die Netzplanobjekte mit einem einzigen Aufruf abzuarbeiten. Die Reihenfolge, in der die Operationen auf die Objekte ausgeführt werden sollen, bestimmt 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 Network stellt eine Fassade zu den Netzplänen, seinen Vorgängen und Anordnungsbeziehungen dar.

Wollen Sie ein Netzplanobjekt bearbeiten, müssen Sie ein Kommando auf einen Objekttyp angeben. Zusätzlich ist erforderlich, daß Sie den Schlüssels des Objekts angeben und eine Referenz zu seinen Attributen.

Im Tabellenparameter IMethodProject geben Sie 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 Falle 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 R/3-Datenbank 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 dieses 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_NETWORK_MAINTAIN .

Kommandos der einzelnen Objekttypen

Objekttyp: Network

Der Schlüssel, mit dem jeder Netzplanobjekttyp identifiziert wird, ist die Netzplannummer.

Kommando: Create

Erzeugen eines Netzplans mit der angegebenen Netzplannummer. Die Netzplannummer wird vom externen System bestimmt. Zum Netzplan muß ein Netzplanprofil angegeben werden, daß im R/3 Projektsystem vorhanden ist. Das Netzplanprofil muß einer Netzplanart zugeordnet sein, die eine externe Nummernvergabe unterstützt.

Die Netzplannummer muß immer in Großbuchstaben angegeben werden.

Abhängig von der Terminierungsart müssen Sie einen Start- oder Endtermin angeben.

Anlegen eines Netzplans mit der Netzplannummer TRAINING0001 . Der Schlüssel des Netzplanobjekts muß in die Kommandotabelle unter OBJECTKEY und in die Datentabelle unter NETWORK eingetragen werden. Die Referenznummer '000001' der Kommandotabelle IMethodProject verweist auf den Index der Datentabelle.

IMethodProject

OBJECTTYPE

METHOD

OBJECTKEY

REFNUMBER

Network

Create

TRAINING0001

000001

 

Save

   

 

INetwork

Index

NETWORK

SHORT_TEXT

FINISH_DATE

PROFILE

...

1

TRAINING0001

Neuer Netzplan

04.12.1999

EPS40_1

...

 

Kommando: Update

Ändern eines Netzplans, der bereits im R/3 Projektsystem vorhanden ist.

Verwendung der Update-Struktur

Sie wollen nur wenige Werte eines existierenden Netzplans ändern und die übrigen Werte beibehalten. Mit der Update-Struktur geben Sie genau die Attribute an, deren Werte Sie verändern wollen. Es ist somit nicht notwendig, daß Sie alle Attribute der Netzplanstruktur füllen.

Wenn Sie mit Update-Strukturen arbeiten, müssen Sie darauf achten, daß auch für andere Kommandos des Netzplans die Tabelle der Update-Strukturen gefüllt wird. Dies ist notwendig, damit die Referenznummer der Kommandotabelle zum gleichen Index der Netzplantabelle und zur Tabelle mit den Update-Strukturen paßt.

Ändern der Beschreibung des bereits angelegten Netzplans TRAINING0001.

 

IMethodProject

OBJECTTYPE

METHOD

OBJECTKEY

REFNUMBER

Network

Update

TRAINING0001

000001

 

Save

   

INetwork

Index

NETWORK

SHORT_TEXT

FINISH_DATE

PROFILE

...

1

TRAINING0001

geänderte Beschreibung

   

...

INetworkUpdate

Index

NETWORK

SHORT_TEXT

FINISH_DATE

PROFILE

...

1

 

X

 

 

...

 

Kommando: Delete (ab R/3 Release 4.5A)

Löschen eines Netzplans, der bereits im R/3 Projektsystem vorhanden ist. Der Netzplan erhält den Systemstatus Löschvormerkung, der Im R/3 Projektsystem wieder zurückgenommen werden kann. Der Netzplan bleibt also auf der Datenbank physisch erhalten.

Löschen des Netzplans TRAINING0001 .

IMethodProject

OBJECTTYPE

METHOD

OBJECTKEY

REFNUMBER

Network

Delete

TRAINING0001

000001

 

Save

 

 

INetwork

Index

NETWORK

...

1

TRAINING0001

...

 

Kommando: Schedule

Terminieren eines Netzplans

Der Netzplan TRAINING0001 wird neu terminiert.

IMethodProject

OBJECTTYPE

METHOD

OBJECTKEY

REFNUMBER

Network

Schedule

TRAINING0001

000001

 

Save

 

 

INetwork

Index

NETWORK

SHORT_TEXT

FINISH_DATE

PROFILE

...

1

TRAINING0001

 

 

 

...

 

Kommando: Calculate

Kosten ermitteln für einen Netzplan

Kosten ermitteln für den Netzplan TRAINING0001 .

IMethodProject

OBJECTTYPE

METHOD

OBJECTKEY

REFNUMBER

Network

Calculate

TRAINING0001

000001

 

Save

 

 

INetwork

Index

NETWORK

SHORT_TEXT

FINISH_DATE

PROFILE

...

1

TRAINING0001

 

 

 

...

 

Kommando: Release (ab R/3 Release 4.5A)

Freigeben eines Netzplans mit allen seinen Vorgängen

Freigeben des Netzplans TRAINING0001 .

IMethodProject

OBJECTTYPE

METHOD

OBJECTKEY

REFNUMBER

Network

Release

TRAINING0001

000001

 

Save

 

 

INetwork

Index

NETWORK

SHORT_TEXT

FINISH_DATE

PROFILE

...

1

TRAINING0001

 

 

 

...

 

Kommando: Lock (ab R/3 Release 4.6A)

Sperren eines Netzplans

Der Systemstatus "gesperrt" wird auf den Netzplan gesetzt.

 

Sperren des Netzplans TRAINING0001.

IMethodProject

OBJECTTYPE

METHOD

OBJECTKEY

REFNUMBER

Network

Lock

TRAINING0001

000001

 

Save

   

INetwork

Index

NETWORK

SHORT_TEXT

FINISH_DATE

PROFILE

...

1

TRAINING0001

     

...

 

Kommando: Unlock (ab R/3 Release 4.6A)

Entsperren eines Netzplans

Der Systemstatus "gesperrt" wird vom Netzplan entfernt.

 

Entsperren des Netzplans TRAINING0001.

IMethodProject

OBJECTTYPE

METHOD

OBJECTKEY

REFNUMBER

Network

Unlock

TRAINING0001

000001

 

Save

   

INetwork

Index

NETWORK

SHORT_TEXT

FINISH_DATE

PROFILE

...

1

TRAINING0001

     

...

 

Objekttyp: NetworkActivity

Der Schlüssel des Objekts Netzplanvorgang setzt sich aus der Netzplannummer des Vorgangs und der Vorgangsnummer zusammen.

Um ein Kommando für den Netzplanvorgang anzuwenden, ist es notwendig immer auch den übergeordneten Netzplan im selben Aufruf im Tabellenparameter INetwork anzugeben.

Kommando: Create

Erzeugen eines neuen Vorgangs zu einem Netzplan.

Anlegen eines neuen Netzplanvorgangs mit der Nummer 0010 zum Netzplan TRAINING0001 .

IMethodProject

OBJECTTYPE

METHOD

OBJECTKEY

REFNUMBER

NetworkActivity

Create

TRAINING00010010

000001

 

Save

 

 

IActivity

Index

NETWORK

ACTIVITY

DESCRIPTION

...

1

TRAINING0001

0010

Vorgang 10

...

INetwork

Index

NETWORK

...

1

TRAINING0001

...

 

Kommando: Update

Ändern eines Vorgangs, der bereits im R/3 Projektsystem vorhanden ist.

Verwenden Sie die Update Struktur analog zum Netzplan.

Ändern der Beschreibung des Netzplanvorgangs 0010 des Netzplans TRAINING0001.

IMethodProject

OBJECTTYPE

METHOD

OBJECTKEY

REFNUMBER

NetworkActivity

Update

TRAINING00010010

000001

 

Save

 

 

IActivity

Index

NETWORK

ACTIVITY

DESCRIPTION

...

1

TRAINING0001

0010

Vorgang 10 geändert

...

IActivityUpdate

Index

NETWORK

ACTIVITY

DESCRIPTION

...

1

 

 

X

...

INetwork

Index

NETWORK

...

1

TRAINING0001

...

 

Kommando: Delete

Löschen eines Vorgangs, der bereits im R/3 Projektsystem vorhanden ist. Der Vorgang bekommt den Systemstatus Löschvormerkung und wird nicht physisch gelöscht. Verbundene Objekte wie Anordnungsbeziehungen, Vorgangselemente, Kapazitätsbedarfe, Bestellanforderungen und Materialkomponenten werden ebenfalls ausgeplant oder zum Löschen markiert.

Es kann kein neuer Vorgang mit dem gleichen Schlüssel angelegt werden.

Ändern der Beschreibung des Netzplanvorgangs 0010 des Netzplans TRAINING0001.

IMethodProject

OBJECTTYPE

METHOD

OBJECTKEY

REFNUMBER

NetworkActivity

Delete

TRAINING00010010

000001

 

Save

 

 

IActivity

Index

NETWORK

ACTIVITY

DESCRIPTION

...

1

TRAINING0001

0010

 

...

INetwork

Index

NETWORK

...

1

TRAINING0001

...

 

Kommando: Release (ab R/3 Release 4.5A)

Freigeben eines Netzplanvorgangs

Freigeben des Netzplanvorgangs 0010 des Netzplans TRAINING0001 .

IMethodProject

OBJECTTYPE

METHOD

OBJECTKEY

REFNUMBER

NetworkActivity

Release

TRAINING00010010

000001

 

Save

 

 

IActivity

Index

NETWORK

ACTIVITY

DESCRIPTION

...

1

TRAINING0001

0010

 

...

INetwork

Index

NETWORK

...

1

TRAINING0001

...

 

Objekttyp: NetworkActivityElement (ab R/3 Release 4.6A)

Der Schlüssel des Objekts Vorgangselement setzt sich aus der Netzplannummer des Vorgangs, der Vorgangsnummer und der Vorgangselementnummer zusammen.

Kommando: Create

Erzeugen eines neuen Vorgangselements zu einem Netzplan.

 

Anlegen eines neuen Vorgangselements mit der Nummer 0020 zum Netzplanvorgang 0010 des Netzplans TRAINING0001 .

IMethodProject

OBJECTTYPE

METHOD

OBJECTKEY

REFNUMBER

NetworkActivityElement

Create

TRAINING000100100020

000001

 

Save

   

IActivityElement

Index

NETWORK

ACTIVITY

ELEMENT

...

1

TRAINING0001

0010

0020

...

 

Kommando. Update

Ändern eines Vorgangselements, das bereits im R/3 Projektsystem vorhanden ist.

Verwenden Sie die Update Struktur analog zum Netzplan.

 

Ändern eines existierenden Vorgangselements mit der Nummer 0020 zum Netzplanvorgang 0010 des Netzplans TRAINING0001 .

IMethodProject

OBJECTTYPE

METHOD

OBJECTKEY

REFNUMBER

NetworkActivityElement

Update

TRAINING000100100020

000001

 

Save

   

IActivityElement

Index

NETWORK

ACTIVITY

ELEMENT

DESCRIPTION

...

1

TRAINING0001

0010

0020

Vorgangselement 20 geändert

...

IActivityElementUpdate

Index

NETWORK

ACTIVITY

ELEMENT

DESCRIPTION

...

1

   

0020

X

...

 

Kommando: Delete

Löschen eines Vorgangselements, das bereits im R/3 Projektsystem vorhanden ist. Das Vorgangselement bekommt den Systemstatus Löschvormerkung und wird nicht physisch gelöscht. Verbundene Objekte wie Kapazitätsbedarfe und Bestellanforderungen werden ebenfalls ausgeplant oder zum Löschen markiert.

Es kann kein neues Vorgangselement mit dem gleichen Schlüssel angelegt werden.

 

Löschen des Vorgangselements mit der Nummer 0020 zum Netzplanvorgang 0010 des Netzplans TRAINING0001 .

IMethodProject

OBJECTTYPE

METHOD

OBJECTKEY

REFNUMBER

NetworkActivityElement

Delete

TRAINING000100100020

000001

 

Save

   

IActivityElement

Index

NETWORK

ACTIVITY

ELEMENT

...

1

TRAINING0001

0010

0020

...

 

Objekttyp: ActivityMilestone (ab R/3 Release 4.6A)

Der Schlüssel des Objekts Vorgangsmeilenstein ist die Meilensteinnummer.

Kommando: Create

Erzeugen eines neuen Vorgangsmeilensteins 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 die Meldungstabelle als Informationsmeldung zurückgegeben.

Wird jedoch beim Anlegen eine externe Nummer in der Methodentabelle angegeben, so werden in der Meldungstabelle die externe Nummer und die neue Meilensteinnummer in einer Informationsmeldung zurückgegeben.

 

Anlegen eines neuen Vorgangsmeilensteins zum Netzplanvorgang 0010 des Netzplans TRAINING0001 .

IMethodProject

OBJECTTYPE

METHOD

OBJECTKEY

REFNUMBER

ActivityMilestone

Create

 

000001

 

Save

   

IActivityMilestone

Index

MILESTONE_NUMBER

NETWORK

ACTIVITY

...

1

 

TRAINING0001

0010

...

 

Kommando. Update

Ändern eines Vorgangsmeilensteins, der bereits im R/3 Projektsystem vorhanden ist. Die Angabe des Netzplans ist immer dann erforderlich, wenn Sie keine expliziten Änderungen am Netzplan vornehmen.

Verwenden Sie die Update Struktur analog zum Netzplan.

 

Ändern eines existierenden Vorgangsmeilensteins mit der Nummer 000000002097 zum Netzplan TRAINING0001 .

IMethodProject

OBJECTTYPE

METHOD

OBJECTKEY

REFNUMBER

ActivityMilestone

Update

000000002097

000001

 

Save

   

IActivityMilestone

Index

MILESTONE_NUMBER

DESCRIPTION

NETWORK

...

1

000000002097

geänderte Meilensteinbeschreibung

TRAINING0001

...

IActivityMilestoneUpdate

Index

MILESTONE_NUMBER

DESCRIPTION

NETWORK

...

1

 

X

 

...

 

Kommando: Delete

Löschen eines Vorgangsmeilensteins, der bereits im R/3 Projektsystem vorhanden ist. Der Vorgangsmeilenstein wird physisch gelöscht. Die Angabe des Netzplans ist immer dann erforderlich, wenn Sie kein expliziten Änderungen am Netzplan vornehmen.

 

Löschen des Vorgangsmeilensteins mit der Nummer 000000002097 zum Netzplan TRAINING0001 .

IMethodProject

OBJECTTYPE

METHOD

OBJECTKEY

REFNUMBER

ActivityMilestone

Delete

000000002097

000001

 

Save

   

IActivityMilestone

Index

MILESTONE_NUMBER

NETWORK

...

1

000000002097

TRAINING0001

...

 

Objekttyp: NetworkRelation

Der Schlüssel des Objekts Anordnungsbeziehung setzt sich zusammen aus der Art der Anordnungsbeziehung und den Schlüsseln des Vorgänger- und Nachfolger-Vorgangs. Die Bezeichnung der Art der Anordnungsbeziehung kann im Customizing geändert werden (Transaktion OPS2) und ist im allgemeinen sprachabhängig. Verwenden Sie nur gültige Anordnungsbeziehungsarten, die in der jeweiligen Sprache vorhanden sind.

Um ein Kommando für die Anordnungsbeziehung anzuwenden, ist es notwendig, immer auch die verbundenen Netzpläne im selben Aufruf im Tabellenparameter INetwork anzugeben.

Kommando: Create

Erzeugen einer Anordnungsbeziehung zwischen zwei Vorgängen.

Anlegen einer neuen Anordnungsbeziehung zwischen den Netzplanvorgängen 0010 und 0020 des Netzplans TRAINING0001 . Die Art der Anordnungsbeziehung ist eine Normalfolge hier NF .

IMethodProject

OBJECTTYPE

METHOD

OBJECTKEY

REFNUMBER

NetworkRelation

Create

NFTRAINING00010010TRAINING00010020

000001

 

Save

 

 

IRelation

Index

NETWORK_ PREDECESSOR

ACTIVITY_ PREDECESSOR

NETWORK_ SUCCESSOR

ACTIVITY_ SUCCESSOR

RELATION_ TYPE

...

1

TRAINING0001

0010

TRAINING0001

0020

NF

...

INetwork

Index

NETWORK

...

1

TRAINING0001

...

 

Kommando: Update

Ändern einer Anordnungsbeziehung, die bereits im R/3 Projektsystem vorhanden ist. Da die Anordnungsbeziehungsart Bestandteil des Schlüssels der Anordnungsbeziehung ist, kann sie nicht geändert werden. Wenn Sie die Anordnungsbeziehungsart ändern wollen, ist es notwendig, die Anordnungsbeziehung zu löschen und mit einer neuen Anordnungsbeziehungsart wieder neu anzulegen.

Verwenden Sie die Update-Struktur analog zum Netzplan.

Kommando: Delete

Löschen einer Anordnungsbeziehung zwischen zwei Vorgängen. Die Anordnungsbeziehung wird physisch gelöscht.

Löschen der Anordnungsbeziehung zwischen den Netzplanvorgängen 0010 und 0020 des Netzplans TRAINING0001 .

IMethodProject

OBJECTTYPE

METHOD

OBJECTKEY

REFNUMBER

NetworkRelation

Delete

NFTRAINING00010010TRAINING00010020

000001

 

Save

 

 

IRelation

Index

NETWORK_ PREDECESSOR

ACTIVITY_ PREDECESSOR

NETWORK_ SUCCESSOR

ACTIVITY_ SUCCESSOR

RELATION_ TYPE

...

1

TRAINING0001

0010

TRAINING0001

0020

NF

...

INetwork

Index

NETWORK

...

1

TRAINING0001

...

 

Beispiel für die Kombination von mehreren Kommandos auf unterschiedliche Objekte

Anlegen zweier Netzpläne mit Vorgängen und AOBs. Eine AOB ist netzplanübergreifend und ein Netzplan wird terminiert.

IMethodProject

OBJECTTYPE

METHOD

OBJECTKEY

REFNUMBER

Network

Create

TRAINING0001

000001

Network

Create

TEST_NETWORK

000002

Network

Schedule

TRAINING0001

000001

NetworkActivity

Create

TRAINING00010010

000001

NetworkActivity

Create

TRAINING00010020

000002

NetworkActivity

Create

TEST_NETWORK1000

000003

NetworkRelation

Create

NFTRAINING00010010TRAINING00010020

000001

NetworkRelation

Create

NFTRAINING00010020 TEST_NETWORK1000

000002

 

Save

 

 

INetwork

Index

NETWORK

SHORT_TEXT

FINISH_DATE

PROFILE

...

1

TRAINING0001

Trainings Netzplan

04.12.1999

EPS40_1

...

2

TEST_NETWORK

Test Netzplan

09.12.1999

EPS40_1

...

IActivity

Index

NETWORK

ACTIVITY

DESCRIPTION

...

1

TRAINING0001

0010

Vorgang 10

...

2

TRAINING0001

0020

Vorgang 20

...

3

TEST_NETWORK

1000

Test Vorgang 1000

...

IRelation

Index

NETWORK_ PREDECESSOR

ACTIVITY_ PREDECESSOR

NETWORK_ SUCCESSOR

ACTIVITY_ SUCCESSOR

RELATION_ TYPE

...

1

TRAINING0001

0010

TRAINING0001

0020

NF

...

2

TRAINING0001

0020

TEST_NETWORK

1000

NF

 

 

Testen der Schnittstelle und Anzeigen von Diagnoseinformationen (ab R/3 Release 4.5A)

Zu Test- und Diagnosezwecken ist es möglich, die über die Schnittstelle zum R/3 Projektsystem übertragenen Daten, in einer Datei zu speichern. In dieser Trace-Datei werden alle Einträge der Tabellen- und Struktur-Parameter gesichert. Durch den Einsatz der Trace-Datei kann der Aufrufer des Maintain-BAPIS seine Schnittstelle prüfen.

Die Trace-Datei wird von dem SAPGUI lokal abgespeichert. Das Anlegen der Datei kostet Laufzeit, deshalb sollte die Trace-Datei nur zu Testzwecken und nicht im Echtbetrieb erzeugt werden.

Die Trace-Datei wird erzeugt, wenn in der Tabelle IMethodProjec t der Objectype Trace und die Method Create angeben wird. Als Objectkey wird Verzeichnis und Dateiname verlangt, die Refnumber bleibt leer.

Erzeugen der Trace Datei EPS_Test_Trace.txt im Verzeichnis C:\TMP\ .

IMethodProject

OBJECTTYPE

METHOD

OBJECTKEY

REFNUMBER

Trace

Create

C:\TMP\EPS_Test_Trace.txt