This is where the list items are related directly to the document.
List document creation method
There are a number of ways to create the list document. The important thing is that the create process must populate key properties on the document to support list editing and publish.
The two properties on the ISPFListEditControl interface need populating as they are required by the snap shot functionality.
-
Set SPFPathDefnToRelatedItems, for example to +PpmPAEquipListDocRevEquipment.
-
Set SPFColSetToDisplayRelatedItems, for example to PpmPAEquipmentListEditCS.
An additional property can be set to control the generation of the published data file. If the column set does not contain all the objects to be published, such as the process cases collection, then a graph definition can be created and identified on the SPFSnapshotDataGraphDef property of the ISPFListDocRevSnapshot interface. If one is not defined, the graph to publish is dynamically generated from the column set.
The two properties on the ISPFAuthPublishableDocumentRevision interface also need to be populated.
-
Set SPFAuthPublishableToolID, for example, to ProcessD.
-
Set SPFAuthPublishableTargetClassDef, for example, to PpmPPDocument.
A number of options are available for creating the list document.
From the list edit GUI
Configure a create method using the CreateClassObj. The two properties on the ISPFAuthPublishableDocumentRevision interface need to be populated. This can be done by configuring a hidden section on the create form. This is because the CreateClassObj method does not yet support the property override argument like the CreateClassObjAndRelWithPropertyOverrides described below.
Edit the PpmPAListEdit multi select list edit method available on the equipment and populate the Create method argument with the create document method name. Now the document can be created using a button on the list edit GUI.
Method |
PpmPAListEdit |
Description |
Equipment List Edit |
API Name |
ListEditContextMenu |
ClassDef for new rows |
PpmPAEquipment |
Delete action |
Terminate |
Colum Set |
PpmPAEquipmentListEditCS |
List Management Relationship Definition |
+PpmPAEquipListDocRevEquipment |
List Management Create Method |
MTH_PpmPAEquipListDocCreate |
List Management Button Caption |
Document… |
From a pull-down menu item
Configure a create method using the CreateClassObj. The two properties on the ISPFAuthPublishableDocumentRevision interface and those on the ISPFListEditControl interface need to be populated. This can be done by configuring a hidden section on the create form.
From a related item
This uses the CreateClassObjAndRelWithPropertyOverrides Client API to create and relate the document to an object and set to properties mentioned above. Configure this is off the right-click menu of the equipment item itself. This means that to create the document you must first create and relate it to one of the equipment items and add further items by dragging and dropping them.
Method |
PpmPAEquipmentListDocCreate |
Description |
Create Equipment List Document |
API Name |
CreateClassObjAndRelWithPropertyOverrides |
RelDef to Doc ClassDef from Classification |
PpmPAEquipListDocClassClassDef |
Allow classification drill down |
FALSE |
Classification |
DC_List_Document_1 |
RelDef to related objects |
-PpmPAEquipListEquipListDoc |
PropertyOverrides |
See below |
This method uses the property overrides argument to set the properties on the two document interfaces mentioned above. The method argument contains a string of ~ separated interface.property.value segments show separated here for readability:
ISPFListEditControl.SPFColSetToDisplayRelatedItems. PpmPAEquipmentListEditCS~
ISPFListEditControl.SPFPathDefnToRelatedItems.+PpmPAEquipListDocRevEquipment~
ISPFAuthPublishableDocumentRevision.SPFAuthPublishableToolID.ProcessD~
ISPFAuthPublishableDocumentRevision.SPFAuthPublishableTargetClassDef.PpmPPDocument
The first two configure how the list objects are found for the snapshot generation and the second two determine how it is published.
The optional property SPFSnapshotDataGraphDef may also need to be populated if the column set does not contain all data to be published as described above.
List edit equipment from the document
The alternative way to list edit the objects from the document is to use the ListEditRelatedItems Client API. This method uses the properties on the ISPFListEditControl interface that are populated when the document is created directly from the list edit GUI. Again, these could be set on the form or by using the overrides if the document was created by a different means.
Method |
PpmPAListDocListEditRelatedItems |
Description |
Edit Equipment List |
API Name |
ListEditRelatedItems |
Alternative list edit method configuration
This list edit method can be configured on the document using the ListEditUncontrolledItems Client API to navigate to the related objects and run the same method as used when editing them directly with multi select.
Method |
PpmPAListDocEditEquipment |
Description |
Edit Equipment List |
API Name |
ListEditUncontrolledItems |
List Edit method UID |
MTH_PpmPAListEdit (in other words, the multi-select right-click menu one above) |
Path to the related objects to edit |
+ PpmPAEquipListDocRevEquipment |