# Class PRS_SISService
extends CIM_Service

The PRS_SISService is used as a class factory for PRS_Transactions.

### Table of Contents
Hierarchy
Direct Known Subclasses
Class Qualifiers
Class Properties
Class Methods

## Class Hierarchy

CIM_ManagedElement
|
+--CIM_ManagedSystemElement
|
+--CIM_LogicalElement
|
+--CIM_EnabledLogicalElement
|
+--CIM_Service
|
+--PRS_SISService

## Direct Known Subclasses

## Class Qualifiers

Name | Data Type | Value
--- | --- | ---
Description | string | The PRS_SISService is used as a class factory for PRS_Transactions.
UMLPackagePath | string | PRS::Support
Version | string | 2.6.0

## Class Properties

### Inherited Properties

Name | Data Type | Class Origin
--- | --- | ---
Caption | string | CIM_ManagedElement
CommunicationStatus | uint16 | CIM_ManagedSystemElement
CreationClassName | string | CIM_Service
Description | string | CIM_ManagedElement
DetailedStatus | uint16 | CIM_ManagedSystemElement
ElementName | string | CIM_ManagedElement
EnabledDefault | uint16 | CIM_EnabledLogicalElement
EnabledState | uint16 | CIM_EnabledLogicalElement
HealthState | uint16 | CIM_ManagedSystemElement
InstallDate | datetime | CIM_ManagedSystemElement
InstanceID | string | CIM_ManagedElement
Name | string | CIM_Service
OperatingStatus | uint16 | CIM_ManagedSystemElement
OtherEnabledState | string | CIM_EnabledLogicalElement
PrimaryOwnerContact | string | CIM_Service
PrimaryOwnerName | string | CIM_Service
PrimaryStatus | uint16 | CIM_ManagedSystemElement
RequestedState | uint16 | CIM_EnabledLogicalElement
Started | boolean | CIM_Service
StartMode | string | CIM_Service
Status | string | CIM_ManagedSystemElement
SystemCreationClassName | string | CIM_Service
SystemName | string | CIM_Service
TimeOfLastStateChange | datetime | CIM_EnabledLogicalElement
TransitioningToState | uint16 | CIM_EnabledLogicalElement
AvailableRequestedStates | uint16[] | CIM_EnabledLogicalElement
OperationalStatus | uint16[] | CIM_ManagedSystemElement
StatusDescriptions | string[] | CIM_ManagedSystemElement

## Class Methods

### Local Class Methods

#### StartSISTransaction (uint32)

#### Method Qualifiers (StartSISTransaction)

Name | Data Type | Value
--- | --- | ---
Description | string | When invoked on a local system, this method validates the objects in the local repository, to determine if they are sufficient for the indicated (input parameter) TransactionType. If not, an error is returned and no additional processing is performed. If the repository is successfully validated, this method creates a PRS_Transaction instance for return to the caller. The method also reviews the repository looking for new, modified or deleted objects. As these objects are located, their keys are appended to the related strings in the PRS_Activity instance referenced by another parameter of this method. After all the appropriate new, modified or deleted objects have been located, this method invokes the PRS_SISService's StartSISTransaction method on the remote system specified by the objects related to the Service Incident, associated with the PRS_Activity instance specified as a method parameter. The TransactionType and PRS_Activity REF is forwarded to the remote system as method parameters as well as the PRS_Transaction REF for the instance created by this method. The remote system creates a child namespace using the PRS_Transaction REF for the name. The local system then transfers all of the new, modified and deleted objects to the namespace on the remote system. Once all objects have been successfully transferred, the PRS_SISService's EndSISTransaction method is invoked on the remote system with a Status value of zero to indicate that the remote system should attempt to commit the transaction to the remote repository. The remote system passes the results of the remote commit back to the originating system by invoking the PRS_SISService's SetSISCompletionStatus method on the system that originated the SIS transaction. The CompletionStatus method parameter indicates whether the remote commit was successful. If the CompletionStatis is zero, the remote commit was successful. If it was unsuccessful, the objects were not applied to the remote repository and the CompletionStatus is non-zero, indicating the error. The local invocation of the SetSIS CompletionStatus method updates the specified PRS_Transaction's TransactionState to Closed and CompletionStatus to the value provided by the remote system in the CompletionStatus method parameter. In order to promote extensibility, the uint32 return values for PRS_SISService's methods and Status-related parameters are mapped into three sections. The first describes the type of value being reported. It indicates Error versus Notification, and Standard versus Vendor-Specific. The second section describes the source of the value. It indicates Method, Operating System, Repository, or Transport. In addition, this section indicates whether the value was created locally or remotely. The third section is the specific return value. If all 32 bits of the return value are reset, the method completed successfully. Any other value indicates an error condition or notification. If D31 is set, the method did not complete successfully. If D31 is reset, but the rest of the return value is non-zero, this is a Notification that the operation did complete successfully, but that there is a conditon of which the caller should be aware. If D30 is set, the return value is vendor specific. If D30 is reset, the return value is defined by the standard. If D29 is set, the return value was generated by a remote system. If D29 is reset, the return value was generated locally. The bit is always set or reset by the local system. The local system sets the bit if it receives a non-zero return value from a remote method invocation. Bit D28 is reserved for future use and shall be reset on all return values. When there is an error or notification, D24 through D27 indicate its source. The following sources are currently defined (D24 is the least significant bit below): 0000 Method 0001 Operating System 0010 Repository 0011 Transport All remaining values are reserved. Bits D16 through D23 are reserved for future use and shall be reset to zero. Bits D0 through D15 indicate the specific return value. If zero, all other bits in the return value must be zero, indicating successful completion of the method (or Transaction).

#### Method Parameters (StartSISTransaction)

Name | Type | Qualifiers
--- | --- | ---
Name | Data Type | Value
TransactionType | uint8
Description | string | The specific SIS transaction represented by this instance.
IN | boolean | true
ValueMap | string | 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 254, 255
Values | string | Service_Request, Entitlement, Problem_Submittal, Accept_Problem, Problem_Resolution, Request_Problem_Information, Provide_Problem_Information, Provide_Admin_Information, Query_Incident, Confirm_Close, Reject_Resolution, Request_Closure, Other, Unknown
ActivityRef | REF PRS_Activity
Description | string | TransactionRef identifies the PRS_Transaction to commit or abort. If this property is NULL or does not identify an 'Open' transaction, this method returns an error.
IN | boolean | true
TransactionRef | REF PRS_Transaction
Description | string | ActivityRef associates a time and description of the activity involved in the service incident transaction.
IN | boolean | true
OUT | boolean | true

#### EndSISTransaction (uint32)

#### Method Qualifiers (EndSISTransaction)

Name | Data Type | Value
--- | --- | ---
Description | string | The EndSISTransaction method is used to handle committing or aborting a transaction. For commit, the method is invoked by a remote system when all of the objects associated with the transaction have been placed in the child namespace created by StartSISTransaction. For abort, the method cleans up the child namespace and closes the specified PRS_Transaction, setting the Transaction's CompletionStatus to the method parameter of the same name.

#### Method Parameters (EndSISTransaction)

Name | Type | Qualifiers
--- | --- | ---
Name | Data Type | Value
Status | uint32
Description | string | Status indicates whether the transaction is to be committed or aborted. If Status is zero, the transaction is to be committed. If Status is non-zero, it indicates the transaction is to be aborted. If the transaction is being aborted, the Status field is passed back to the originating system as the CompletionStatus parameter for the PRS_SISService SetSISCompletionStatus method. See the description for PRS_SISService.StartSISTransaction for the definition of the contents of this property.
IN | boolean | true
TransactionRef | REF PRS_Transaction
Description | string | TransactionRef identifies the PRS_Transaction to commit or abort. If this property is NULL or does not identify an 'Open' transaction, this method returns an error.
IN | boolean | true

#### SetSISCompletionStatus (uint32)

#### Method Qualifiers (SetSISCompletionStatus)

Name | Data Type | Value
--- | --- | ---
Description | string | SetSISCompletionStatus is used to signal the system that originated a PRS_Transaction that the remote system has completed processing of the transaction. If the processing was successful, as indicated by the CompletionStatus parameter, the local system resets the DirtyFlag for all of the objects identified in the PRS_Activity instance associated with the PRS_Transaction.

#### Method Parameters (SetSISCompletionStatus)

Name | Type | Qualifiers
--- | --- | ---
Name | Data Type | Value
CompletionStatus | uint32
Description | string | This parameter is used to set the CompletionStatus field of the specified PRS_Transaction. If zero, the Transaction was completed successfully. If non-zero, an error occurred and the objects provided in StartSISTransaction were not submitted to the remote repository. See the description for PRS_SISService.StartSISTransaction for the definition of the contents of this property.
IN | boolean | true
TransactionRef | REF PRS_Transaction
Description | string | TransactionRef identifies the PRS_Transaction that has completed. If this property is NULL or does not identify an 'Open' transaction, this method returns an error.
IN | boolean | true

### Inherited Class Methods

Name | Return Type | Class Origin
--- | --- | ---
RequestStateChange | uint32 | CIM_EnabledLogicalElement
StartService | uint32 | CIM_Service
StopService | uint32 | CIM_Service