Maintain
Network.MaintainIt is possible to edit network headers, activities and relationshipsusing the Maintain BAPI of the network business object. The BAPIcontains a complete transaction. It is possible to carry out severaloperations on the network objects with one call. The R/3 Project System
determines the order in which the objects are processed. The caller canchoose the operations in any order. As a result the processing is veryspeedy and effective. However, this transaction concept does not include the use and combination of other SAP BAPIs in the same LUW.
ProcedureThe Network business object is a facade pattern for networks, their activities, and relationships. If you want to edit a network object, enter a command for an objecttype. In addition, enter the object key and a reference to its attributes. In the table parameter IMethodProject, enter the object
type, the command and the object key. As a reference enter the index ofthe object data table of the relevant object type. In the object data table enter the information on the object. When entering the object type and method in the IMethodProject table remember that the entries are case sensitive.
To finish the transaction and store the data in the R/3 database, enterthe Save command. If you only want to test whether the changes can be carried out, do not use the Save command. In general, you cannot change the keys of objects. The Return parameter informs you whether errors occurred during processing. After the call you find the error messages that were
created during processing in the EmessageTable table. For more information, see the documentation of the ABAP function module BAPI_NETWORK_MAINTAIN. Commands for the individual object typesObject type: Network
The network number is the key that identifies each network object type. Command: CreateUse this command to create a network using the specified networknumber. The network number is determined by the external system. Forthe network enter a network profile that exists in the R/3 Project System. The network profile has to be assigned to a network type
supporting external number assignment. Always enter the network number in uppercase. Depending on the scheduling type, enter a start or end date. ExampleCreating a network with the network number TRAINING0001 . Enter the keyof the network object in the command table under OBJECTKEY and in the
data table under NETWORK . The reference number '000001' of the IMethodProject command table refers to the index of the data table. IMethodProject OBJECTTYPE = Network METHOD = Create OBJECTKEY = TRAINING0001 REFNUMBER = 000001
OBJECTTYPE = METHOD = Save OBJECTKEY = REFNUMBER =
INetwork Index = 1 NETWORK = TRAINING0001 SHORT_TEXT = New network FINISH_DATE = 12/04/1999 Profile = EPS40_1 ...
Command: UpdateUse this command to change a network that exists in the R/3 Project System.
Using the update structure. You want to change only certain values in an existing network and keepthe other values. Using the update structure you specify exactly theattributes you want to change. Therefore, you need not fill all the attributes of the network structure.
If you are working with the update structures, pay attention to thefact that the table of the update structure must also be filled for theother commands of the network. The reference number of the commandtable has to match the same index of the network table and the table containing the update structures.
ExampleChanging the description of the existing network TRAINING0001. IMethodProject OBJECTTYPE = Network METHOD = Update OBJECTKEY = TRAINING0001 REFNUMBER = 000001
OBJECTTYPE = METHOD = Save OBJECTKEY = REFNUMBER =
INetwork
Index = 1 NETWORK = TRAINING0001 SHORT_TEXT = Description changed
INetworkUpdate Index = 1 NETWORK = SHORT_TEXT = X
Command: Delete (from R/3 Release 4.5A)Use this command to Delete a network that already exists in the R/3 Project System. The network has the Deletion flag
system status which can be revoked in the R/3 Project System. Therefore, the network remains in the database physically. ExampleDeleting the network TRAINING0001 IMethodProject OBJECTTYPE = Network METHOD = Delete OBJECTKEY = TRAINING0001 REFNUMBER = 000001
OBJECTTYPE = METHOD = Save OBJECTKEY = REFNUMBER =
INetwork Index = 1 NETWORK = TRAINING0001
Command: ScheduleUse this command to schedule a network. ExampleThe network TRAINING0001 is rescheduled.
IMethodProject OBJECTTYPE = Network METHOD = Schedule OBJECTKEY = TRAINING0001 REFNUMBER = 000001
OBJECTTYPE = METHOD = Save OBJECTKEY = REFNUMBER =
INetwork Index = 1 NETWORK = TRAINING0001
Command: Calculate
Use this command to calculate costs for a network. ExampleCalculating costs for the TRAINING0001 network. IMethodProject OBJECTTYPE = Network METHOD = Calculate OBJECTKEY = TRAINING0001 REFNUMBER = 000001
OBJECTTYPE = METHOD = Save OBJECTKEY = REFNUMBER =
INetwork Index = 1 NETWORK = TRAINING0001
Command: Release (from R/3 release 4.5A)Use this command to release a network with all its activities. ExamplesReleasing the TRAINING0001 network. IMethodProject OBJECTTYPE = Network METHOD = Release OBJECTKEY = TRAINING0001 REFNUMBER = 000001
OBJECTTYPE = METHOD = Save OBJECTKEY = REFNUMBER =
INetwork Index = 1 NETWORK = TRAINING0001
Command: Lock (from R/3 release 4.6A)Use this command to lock a network. The Locked system status is set for a network.
ExampleLocking the network TRAINING0001 . IMethodProject OBJECTTYPE = Network METHOD = Lock OBJECTKEY = TRAINING0001 REFNUMBER = 000001
OBJECTTYPE = METHOD = Save OBJECTKEY = REFNUMBER =
INetwork Index = 1 NETWORK = TRAINING0001
Command: Unlock (from R/3 release 4.6A)Use this command to unlock a network The Locked system status is removed from a network ExampleUnlocking the network TRAINING0001 . IMethodProject OBJECTTYPE = Network METHOD = Unlock OBJECTKEY = TRAINING0001 REFNUMBER = 000001
OBJECTTYPE = METHOD = Save OBJECTKEY = REFNUMBER =
INetwork Index = 1 NETWORK = TRAINING0001
Object Type: NetworkActivityThe key of the Network activity object consists of the network number and the activity number.
If you want to apply a command to the network activity, you must alwaysinclude the superior network in the same call in the table of the INetwork parameter. Command: CreateUse this command to create a new activity in a network. Example
Creating a new network activity with the number 0010 in the TRAINING0001 network. IMethodProject OBJECTTYPE = NetworkActivity METHOD = Create OBJECTKEY = TRAINING00010010 REFNUMBER = 000001
OBJECTTYPE = METHOD = Save OBJECTKEY = REFNUMBER =
IActivity Index = 1 NETWORK = TRAINING0001 ACTIVITY = 0010 DESCRIPTION = Activity 10
INetwork Index = 1 NETWORK = TRAINING0001
Command: UpdateUse this command to change an activity that already exists in the R/3 Project System.
Use the update structure as in networks. Example Changing the description of the activity 0010 in network TRAINING0001. IMethodProject OBJECTTYPE = NetworkActivity METHOD = Update OBJECTKEY = TRAINING00010010 REFNUMBER = 000001
OBJECTTYPE = METHOD = Save OBJECTKEY = REFNUMBER =
IActivity Index = 1 NETWORK = TRAINING0001 ACTIVITY = 0010 DESCRIPTION = Activity 10 changed
IActivityUpdate Index = 1 NETWORK = ACTIVITY = DESCRIPTION = X
INetwork Index = 1 NETWORK = TRAINING0001
Command: DeleteUse this command to delete an activity that already exists in the R/3 Project System. The activity receives the deletion flag system status and is not deleted physically. Connected objects as
relationships, activity elements, capacity requirements, purchaserequisitions, and material components are also deallocated and selected for deletion. You cannot create an activity with the same key. ExampleChanging the description of the activity 0010 in network TRAINING0001.
IMethodProject OBJECTTYPE = NetworkActivity METHOD = Delete OBJECTKEY = TRAINING00010010 REFNUMBER = 000001
OBJECTTYPE = METHOD = Save OBJECTKEY = REFNUMBER =
IActivity Index = 1 NETWORK = TRAINING0001 ACTIVITY = 0010
INetwork Index = 1 NETWORK = TRAINING0001
Command: Release (from R/3 release 4.5A)Use this command to release a network activity. ExampleReleasing the activity 0010 in network TRAINING0001 . IMethodProject OBJECTTYPE = NetworkActivity METHOD = Release OBJECTKEY = TRAINING00010010 REFNUMBER = 000001
OBJECTTYPE = METHOD = Save OBJECTKEY = REFNUMBER =
IActivity Index = 1 NETWORK = TRAINING0001 ACTIVITY = 0010
INetwork Index = 1 NETWORK = TRAINING0001
Objecttype: NetworkActivityElement (from R/3 Release 4.6A)
The key for the activity element object comprises of the network number, the activity number, and the activity element number. Command: CreateUse this command to create a new activity element in a network. Example
Creating a new activity element with the number 0020 in activity 0010 of the TRAINING0001 network . IMethodProject OBJECTTYPE = NetworkActivityElement METHOD = Create OBJECTKEY = TRAINING000100100020 REFNUMBER = 000001
OBJECTTYPE = METHOD = Save OBJECTKEY = REFNUMBER =
IActivityElement Index = 1 NETWORK = TRAINING0001
ACTIVITY = 0010 ELEMENT = 0020
Command: UpdateUse this command to change an activity element that already exists in the R/3 Project System. Use the update structure as for networks. ExampleChanging an existing activity element with the number 0020 in activity 0010 of the TRAINING0001 network. IMethodProject
OBJECTTYPE = NetworkActivityElement METHOD = Update OBJECTKEY = TRAINING000100100020 REFNUMBER = 000001 OBJECTTYPE = METHOD = Save OBJECTKEY = REFNUMBER =
IActivityElement Index = 1 NETWORK = TRAINING0001 ACTIVITY = 0010 ELEMENT = 0020
DESCRIPTION = Activity element 0020 changed
IActivityElementUpdate Index = 1 NETWORK = ACTIVITY = ELEMENT = DESCRIPTION = X
Command: DeleteUse this command to delete an activity element that already exists in the R/3 Project System. The activity element receives the
Deletion flag status and is not deleted physically. Connected objects such ascapacity requirements and purchase requisitions are also deallocated or marked for deletion. You cannot create a new activity element with the same key. Example
Deleting an activity element with the number 0020 in activity 0010 in the TRAINING0001 network. IMethodProject OBJECTTYPE = NetworkActivityElement METHOD = Delete OBJECTKEY = TRAINING000100100020 REFNUMBER = 000001 OBJECTTYPE = METHOD = Save OBJECTKEY = REFNUMBER =
IActivityElement Index = 1 NETWORK = TRAINING0001
ACTIVITY = 0010 ELEMENT = 0020
Object type: ActivityMilestone (from R/3 Release 4.6A)The key of the activity milestone object is the milestone number. Command: CreateUse this command to create a new activity milestone for a network. It
is not necessary to enter a number for the milestone. When the milestone is created, the system gives it a number and returns thisnumber in the message table as an information message. However, if an external number is entered in the method table during
creation, the external number and the new milestone number are returned in an information message. ExampleCreating a new activity milestone for activity 0010 in the TRAINING0001 network . IMethodProject OBJECTTYPE = ActivityMilestone METHOD = Create OBJECTKEY = REFNUMBER = 000001
OBJECTTYPE = METHOD = Save OBJECTKEY = REFNUMBER =
IActivityMilestone Index = 1 MILESTONE_NUMBER = NETWORK = TRAINING0001 ACTIVITY = 0010
Command: UpdateUse this command to change an activity milestone that already exists in
the R/3 Project System. It is always necessary to enter the network, if you do not make any explicit changes to the network. Use the update structure as for networks. Example Changing an existing activity milestone with the number 000000002097 for the TRAINING0001 network.
IMethodProject OBJECTTYPE = ActivityMilestone METHOD = Update OBJECTKEY = REFNUMBER = 000001
OBJECTTYPE = METHOD = Save OBJECTKEY = REFNUMBER =
IActivityMilestone Index = 1 MILESTONE_NUMBER = 000000002097 DESCRIPTION = Milestone description changed
NETWORK = TRAINING0001 IActivityMilestoneUp Index = 1 MILESTONE_NUMBER = DESCRIPTION = X
Command: DeleteUse this command to delete an activity milestone that already exists inthe R/3 Project System. The milestone is deleted physically. It is
necessary to enter the network, if you do not make any explicit changes to the network. ExampleDeleting an activity milestone with the number 000000002097 in the TRAINING0001 network. IMethodProject OBJECTTYPE = ActivityMilestone METHOD = Delete OBJECTKEY = 000000002097 REFNUMBER = 000001
OBJECTTYPE = METHOD = Save OBJECTKEY = REFNUMBER =
IActivityMilestone Index = 1 MILESTONE_NUMBER = 000000002097
Object Type: NetworkRelationThe key of the Relationship object is composed of the type of
relationship and the keys of the preceding and succeeding activities. You can change the name of the type of relationship in theImplementation Guide (transaction OPS2). In general, the name is language dependent. Use only valid types of relationships that are
available in the corresponding language. To apply a command for the relationship, always include the connectednetworks in the same call in the table of the INetwork parameter. Command: CreateUse this command to create a relationship between two activities.
ExampleCreating a relationship between the activities 0010 and 0020 of theTRAINING0001 network . The two activities are linked through an FS relationship. IMethodProject OBJECTTYPE = NetworkRelation METHOD = Create OBJECTKEY = NFTRAINING00010010TRAINING00010020
REFNUMBER = 000001 OBJECTTYPE = METHOD = Save OBJECTKEY = REFNUMBER =
IRelation Index = 1 NETWORK_ PREDECESSOR = TRAINING0001 ACTIVITY_ PREDECESSOR = 0010 NETWORK_ SUCCESSOR = TRAINING0001 ACTIVITY_ SUCCESSOR =0020 RELATION_ TYPE = NF
INetwork Index = 1
NETWORK = TRAINING0001
Command: UpdateUse this command to change a relationship that already exists in theR/3 Project System. The type of relationship cannot be changed, becauseit is part of the relationship key. If you want to change the relationship type, delete the relationship create a new relationship
with a new relationship type Use the update structure as for networks. Command: DeleteUse this command to delete a relationship that links two activities. The relationship is deleted physically. ExampleDeleting the relationship between the activities 0010 and 0020 in the TRAINING0001 network. IMethodProject
OBJECTTYPE = NetworkRelation METHOD = Delete OBJECTKEY = NFTRAINING00010010TRAINING00010020 REFNUMBER = 000001 OBJECTTYPE = METHOD = Save OBJECTKEY = REFNUMBER = IRelation Index = 1 NETWORK_ PREDECESSOR = TRAINING0001 ACTIVITY_ PREDECESSOR = 0010
NETWORK_ SUCCESSOR = TRAINING0001 ACTIVITY_ SUCCESSOR =0020 RELATION_ TYPE = NF
INetwork Index = 1 NETWORK = TRAINING0001
Testing the Interface and Displaying the Diagnosis Information(from R/3 Release 4.5)
You can save the data that is transferred to the R/3 Project System inafile for test and diagnosis purposes. All the table parameter andstructure parameter entries are saved in this trace file. The caller of the Maintain BAPI can check the interface.
The trace file is saved locally by the SAPGUI. Creating the fileconsumes runtime, and should therefore only be used for testing and not in an operative system. The trace file is created, if object type Trace and method Create areentered in the IMethodProject table. The system requests as the object
key the directory and the file name. Do not enter a reference number. ExampleCreating the trace file EPS_Test_Trace.txt in the directory C:\TMP\ . IMethodProject OBJECTTYPE = Trace METHOD = Create OBJECTKEY = C:\TMP\EPS_Test_Trace.txt REFNUMBER =
Further InformationFor more information, see the R/3 Library under Project System -> Structures -> EPS -> Interfaces to the ProjectSystem.
|