Complex Conditions Cost Report - HxGN SDx - Update 64 - Administration & Configuration

Administration and Configuration of HxGN SDx

Language
English
Product
HxGN SDx
Search by Category
Administration & Configuration
SmartPlant Foundation / SDx Version
10

The Complex Conditions Cost Report quantifies the complexity of all the conditions in the system.

For more information about conditions, see Configure conditions.

When you run the report, it looks at every condition in your system and counts the number of each of the following types of operation in the condition:

  • Conditional operators

  • Relational operators (any relationships with a cardinality of * have a higher cost than other relationships)

  • Numeric functions

  • String functions

  • Database functions

  • DateTime functions

Each operation is assigned a unit cost depending on its performance load on the system.

The total cost assigned to each condition is then calculated as the total sum of the counts of each operation multiplied by their unit cost. For example:

(Count of Operation1 * Unit cost of Operation1) + (Count of Operation2 * Unit cost of Operation2) + ... + (Count of OperationN * Unit cost of OperationN)

How do I run the report?

  • Run the report using a GET request in Postman. The command to run the report is:

    http://<server>/<site>/api/v2/SDA/GetComplexConditionsCostReport

The report is displayed in JSON format, and is ordered in descending order by overall cost. This means that you can easily see the conditions in which optimizations might be made at the top of the report.

Postman is an API platform for building and using APIs. For more information on Postman, see www.postman.com.

What does the Complex Conditions Cost Report look like?

The following is an extract from a Complex Conditions Cost Report:

{

"@odata.context": "http://localhost/sdxserver/api/v2/SDA/$metadata#Collection(Intergraph.SPF.Server.API.ClientSupport.Types.ComplexConditionDetails)",

"value": [

{

"Details": {

"ConditionName": "IsOKToDeleteOrganization",

"ConditionDescription": "To prevent the deletion of a organization if it is in use",

"Definition": "Count(Obj->SCLBContractAllOrganizations_21)=0 And Count(Obj->SPFUserOrganization_21)=0 And Count(Obj->SDADocOrganizations_21)=0 And Count(Obj->SDADocRevOriginatingOrg_21)=0 And Count(Obj->SDAObservationOriginatingOrg_21)=0 And Count(Obj->SDAProjectCommunicationToAndFromOrganizations_21)=0 And Count(Obj->SDAWorkPackOrganization_21)=0",

"NumberOfMethods": 1

},

"Conditional": {

"Equal": {

"Count": 7,

"UnitCost": 1,

"TotalCost": 7

},

"NotEqual": null,

"Not": null,

"Or": null,

"And": {

"Count": 6,

"UnitCost": 2,

"TotalCost": 12

},

"Greater": null,

"Less": null,

"GreaterAndEqual": null,

"LessAndEqual": null,

"TotalPoints": 19

},

"Relational": {

"Environmental": null,

"Connected": {

"Relationships": {

"Items": [

{

"Item": "OBJ->SCLBCONTRACTALLORGANIZATIONS_21",

"Cardinality": "*",

"TotalCost": 6

},

{

"Item": "OBJ->SPFUSERORGANIZATION_21",

"Cardinality": "*",

"TotalCost": 6

},

{

"Item": "OBJ->SDADOCORGANIZATIONS_21",

"Cardinality": "*",

"TotalCost": 6

},

{

"Item": "OBJ->SDADOCREVORIGINATINGORG_21",

"Cardinality": "*",

"TotalCost": 6

},

{

"Item": "OBJ->SDAOBSERVATIONORIGINATINGORG_21",

"Cardinality": "*",

"TotalCost": 6

},

{

"Item": "OBJ->SDAPROJECTCOMMUNICATIONTOANDFROMORGANIZATIONS_21",

"Cardinality": "*",

"TotalCost": 6

},

{

"Item": "OBJ->SDAWORKPACKORGANIZATION_21",

"Cardinality": "*",

"TotalCost": 6

}

],

"UnitCost": 3,

"TotalCost": 42

},

"EDGs": null,

"TotalPoints": 42

},

"TotalPoints": 42

},

"NumericFunctions": {

"FuncLen": null,

"FuncCount": {

"Count": 7,

"UnitCost": 1,

"TotalCost": 7

},

"FuncRound": null,

"FuncABS": null,

"FuncCeil": null,

"FuncTrunc": null,

"FuncMax": null,

"FuncMin": null,

"FuncSum": null,

"FuncAvg": null,

"FuncOBJFORUID": null,

"TotalPoints": 7

},

"StringFunctions": null,

"DatabaseFunctions": null,

"DateTimeFunctions": null,

"TotalPoints": 68

},

...

}