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
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
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
IMethodProject
OBJECTTYPE |
METHOD |
OBJECTKEY |
REFNUMBER |
Network |
Delete |
TRAINING0001 |
000001 |
|
Save |
|
|
INetwork
Index |
NETWORK |
... |
1 |
TRAINING0001 |
... |
Kommando: Schedule
Terminieren eines Netzplans
Der Netzplan
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
IMethodProject
OBJECTTYPE |
METHOD |
OBJECTKEY |
REFNUMBER |
Trace |
Create |
C:\TMP\EPS_Test_Trace.txt |
|