The CustomerProblemHandling workflow corresponds to the IBM WebSphere Business Integration Collaboration for Customer Problem Handling. This workflow takes a Default Data Structure input, and returns a ProblemRecord output.
The following diagram shows the process model for the CustomerProblemHandling workflow:
The CustomerProblemHandling workflow contains the following activities:
Description: This activity encompasses the processing that is completed by a customer service representative to collect information from a customer regarding a problem that the customer has reported, and to enter this information on the system.
The following diagram shows the paths that a customer service representative may follow when completing the CollectCustAndProblemRecordInfo activity:
Program name: CollectCustAndProblemRecordInfo
Input: PartyAndProblemRecord
Output: PartyAndProblemRecord
Start type: Manual
Staff: All people
Program execution server: None
Activity names in use case: Determine search option, Enter problem record search criteria, Find and retrieve problem record, Enter account search criteria, Find and retrieve account, Enter customer search criteria, Find and retrieve customers, Find and retrieve customer, Find and retrieve problem records, Select problem record, Select customer
Description: This activity encompasses the actions that are completed by a customer service representative to confirm the correctness of customer data, and to edit this data if necessary.
Program name: ValidateAndEditCustData
Input: Party
Output: PartyAndResult
Start type: Manual
Staff: All people
Program execution server: None
Activity names in use case: Determine validity of problem record and customer data, Modify problem record and/or customer data, Determine validity of customer data, Modify customer data
Description: This activity encompasses the processing that is completed by a customer service representative to create a new problem record.
Program name: InputProblemRecord
Input: Party
Output: ProblemRecord
Start type: Manual
Staff: All people
Program execution server: None
Activity name in use case: Enter problem record
Description: This activity encompasses the processing that is completed by the system in add a new problem record.
Program name: AddProblemRecord
Input: ProblemRecord
Output: ProblemRecord
Start type: Automatic
Staff: Process starter
Program execution server: InterChange Server
Activity name in use case: Add problem record
Description: This activity encompasses the processing that is completed by the system in order to update the information for an existing customer.
Program name: UpdateCustomer
Input: Party
Output: Party
Start type: Automatic
Staff: Process starter
Program execution server: InterChange Server
Activity name in use case: Update customer data
Description: This activity represents a branch point in the process flow, and does not correspond to a program activity.
Program name: BranchPointAboutProblemRecord
Input: ProblemRecord
Output: ProblemRecord
Start type: Automatic
Staff: None
Program execution server: None
Description: This activity encompasses the actions that are completed by a customer service representative to confirm the correctness of an existing problem record and to edit the problem record if necessary.
Program name: ValidateAndModifyProblemRecord
Input: ProblemRecord
Output: ProblemRecordAndResult
Start type: Manual
Staff: All people
Program execution server: None
Activity names in use case: Determine validity of problem record and customer data, Modify problem record and/or customer data
Description: This activity encompasses the processing that is completed by the system in order to update an existing problem record.
Program name: UpdateProblemRecord
Input: ProblemRecord
Output: ProblemRecord
Start type: Automatic
Staff: Process starter
Program execution server: InterChange Server
Activity name in use case: Update problem record
Description: This activity represents a branch point in the process flow, and does not correspond to a program activity.
Program name: BranchPointAboutProblemRecord
Input: ProblemRecord
Output: ProblemRecord
Start type: Automatic
Staff: Process starter
Program execution server: None
Description: This activity encompasses the actions that are completed by a customer service representative to record details of an additional problem as reported by the customer.
Program name: HandleOtherProblem
Input: ProblemRecord
Output: ProblemRecord
Start type: Manual
Staff: All people
Program execution server: None
Description: This activity encompasses the processing that is completed by the system in order to update the status of an existing problem record.
Program name: UpdateProblemRecordStatus
Input: ProblemRecord
Output: ProblemRecord
Start type: Automatic
Staff: Process starter
Program execution server: InterChange Server
Activity name in use case: Update problem record status
Description: This activity encompasses the communications that are made by a customer service representative to inform the customer of the steps taken toward resolution of the reported problem.
Program name: ProbUpdate2CustUntilProbResolved
Input: ProblemRecord
Output: ProblemRecord
Start type: Manual
Staff: All people
Program execution server: None
Activity name in use case: Provide updates to customer until problem resolved
Description: This activity encompasses the processing that is completed by the system in order to update the status of an existing problem record.
Program name: UpdateProblemRecordStatus
Input: ProblemRecord
Output: ProblemRecord
Start type: Automatic
Staff: Process starter
Program execution server: InterChange Server
Activity name in use case: Close problem record
The following table shows the details of CustomerProblemHandling's process activities.
Process activity | Input | Output | Auto / Manual [A/M] | Staff |
---|---|---|---|---|
CustomerOrderHandling | PartyOrderDSLCreditAnd Location |
PartyOrderDSLCreditAnd Location |
A | Process starter |
CustomerBillingManagement | BillingAccount | BillingAccount | A | Process starter |
The following table shows the program details for the CustomerProblemHandling workflow.
Name | Input | Output | Invoked program | Command line arguments |
---|---|---|---|---|
CollectCustAnd ProblemRecordInfo |
PartyAndProblem Record |
PartyAndProblem Record |
nevercalled.exe | None |
ValidateAndEdit CustData |
Party | PartyAndResult | nevercalled.exe | None |
AddCustomer | Party | Party | nevercalled.exe | verb=Create |
InputProblemRecord | ProblemRecord | ProblemRecord | nevercalled.exe | None |
AddProblemRecord | ProblemRecord | ProblemRecord | nevercalled.exe | verb=Create |
UpdateCustomer | Party | Party | nevercalled.exe | verb=Update |
BranchPointAbout ProblemRecord |
ProblemRecord | ProblemRecord | nevercalled.exe | Nop (This java class only returns if successful) |
ValidateAndModify ProblemRecord |
ProblemRecord | ProblemRecord AndResult |
nevercalled.exe | None |
UpdateProblem Record |
ProblemRecord | ProblemRecord | nevercalled.exe | verb=Update |
HandleOther Problem |
ProblemRecord | ProblemRecord | nevercalled.exe | None |
UpdateProblem RecordStatus |
ProblemRecord | ProblemRecord | nevercalled.exe | verb=UpdateStatus |
ProbUpdate2Cust UntilProbResolved |
ProblemRecord | ProblemRecord | nevercalled.exe | None |
Many of the data structures that the CustomerProblemHandling workflow uses are defined as CrossWorlds generic business objects (GBOs). Customer Problem Handling also uses data structures that are related to GBOs, but define different elements from those specified in the GBO. These data structures are listed below (along with the related GBO, in parentheses):
The CustomerProblemHandling workflow also uses the following data structures, which are defined only in WebSphere MQ Workflow.
Note: All GBOs contain a ProcessContext child GBO. In WebSphere MQ Workflow processes, this element is absent from all data structures. The data defined by ProcessContext is used for communication between a collaboration object and a WebSphere MQ Workflow connector.
The following table shows the members of the Party data structure. The members that appear in italic text either have a different data type from the attribute of the same name in the related GBO, or they do not appear in the GBO (Service). Members in plain text appear in the GBO as well as in the data structure.
Data member name | Data type | Description |
---|---|---|
ObjectId | ObjectId | |
Person | Person | |
Company | Company | |
Household | Household | |
ElectronicAddress | ElectronicAddress | The ElectronicAddress object appears directly as a member of this data structure. In the Party GBO this object appears at a lower level of hierarchy, as an attribute of Person, Company or Household. |
TelephoneNumber | TelephoneNumber | The TelephoneNumber object appears directly as a member of this data structure. In the Party GBO this object appears at a lower level of hierarchy, as an attribute of Person, Company or Household. |
PostalAddress | PostalAddress | The PostalAddress object appears directly as a member of this data structure. In the Party GBO this object appears at a lower level of hierarchy, as an attribute of Person, Company or Household. |
PrimeRoles | PrimeRoles | The PrimeRoles object appears directly as a member of this data structure. In the Party GBO this object appears at a lower level of hierarchy, as an attribute of Person, Company or Household. |
The following table shows the members of the Person data structure. The Person GBO has the same data members as this data structure, and it also has the following data members, which do not appear in this data structure:
Note: The data members indicated above are represented in Party, the parent of this data structure.
Data member name | Data type | Description |
---|---|---|
PartyId | String | |
BirthDate | String | |
CurrentEmployer | String | |
DisposableIncome | String | |
EducationLevel | String | |
EmploymentStatus | String | |
ExternalReference | String | |
Gender | String | |
GrossIncome | String | |
MaritalStatus | String | |
NumberOfDependentAdults | String | |
NumberOfDependentChildren | String | |
SelfEmployedBusiness | String | |
ContactPreference | ContactPreference | |
TimePreference | TimePreference | |
PersonName | PersonName |
The following table shows the members of the Company data structure. The Person GBO has the same data members as this data structure, and it also has the following data members, which do not appear in this data structure:
Note: The data members indicated above are represented in Party, the parent of this data structure.
Data member name | Data type | Description |
---|---|---|
PartyId | String | |
NumberOfEmployees | String | |
FiscalYearEnd | String | |
Revenue | String | |
EndDate | String | |
ExternalReference | String | |
StartDate | String | |
OrganizationName | String |
The following table shows the members of the Household data structure. The Person GBO has the same data members as this data structure, and it also has the following data members, which do not appear in this data structure:
Note: The data members indicated above are represented in Party, the parent of this data structure.
Data member name | Data type | Description |
---|---|---|
PartyId | String | |
NumberOfDependentChildren | String | |
NumberOfDependentAdults | String | |
HomeOwnership | String | |
EndDate | String | |
ExternalReference | String | |
StartDate | String | |
OrganizationName | String |
The following table shows the member of the PartyAndProblemRecord data structure. This data structure is defined only in WebSphere MQ Workflow.
Data member name | Data type | Description |
---|---|---|
Party | Party | |
ProblemRecord | ProblemRecord |
The following table shows the member of the PartyAndResult data structure. This data structure is defined only in WebSphere MQ Workflow.
Data member name | Data type | Description |
---|---|---|
Party | Party | |
ResultOfValidation | String |
The following table shows the member of the ProblemRecordAndResult data structure. This data structure is defined only in WebSphere MQ Workflow.
Data member name | Data type | Description |
---|---|---|
ProblemRecord | ProblemRecord | |
ResultOfValidation | String |
The following table shows the member of the PartyOrderDSLCreditAndLocation data structure. This data structure is defined only in WebSphere MQ Workflow.
Data member name | Data type | Description |
---|---|---|
Party | Party | |
TelcoSalesOrderDSL | TelcoSalesOrderDSL | |
ServiceLocationData | ServiceLocationData | |
Credit | Credit |
The following table shows the mapping between the data inputs and outputs of activities in this workflow.
Destination activity |
Input data structure | Origin activity | Output data structure | Mapping specification |
---|---|---|---|---|
CollectCustAnd ProblemRecord Info |
PartyAnd ProblemRecord |
- | ||
ValidateAndEdit CustData |
Party | CollectCustAnd ProblemRecord Info |
PartyAnd ProblemRecord |
Party = PartyAndProblemRecord. Party |
InputProblem Record |
Party | CollectCustAnd ProblemRecord Info |
PartyAnd ProblemRecord |
Party = PartyAndProblemRecord. Party |
Update Customer |
Party | Party = Party | ||
AddProblem Record |
ProblemRecord | InputProblem Record |
ProblemRecord | ProblemRecord = ProblemRecord |
UpdateCustomer | Party | ValidateAnd EditCustData |
PartyAndResult | Party = PartyAndResult.Party |
BranchPoint1 | ProblemRecord | CollectCust AndProblem RecordInfo |
PartyAnd ProblemRecord |
ProblemRecord = PartyAndProblemRecord. ProblemRecord |
ValidateAndModify ProblemRecord |
ProblemRecord | BranchPoint1 | ProblemRecord | ProblemRecord = ProblemRecord |
UpdateProblem Record |
ProblemRecord | ValidateAnd ModifyProblem Record |
ProblemRecord AndResult |
ProblemRecord = ProblemRecord AndResult. ProblemRecord |
BranchPoint2 | ProblemRecord | AddProblem Record |
ProblemRecord | ProblemRecord = ProblemRecord |
ValidateAnd ModifyProblem Record |
ProblemRecord AndResult |
ProblemRecord = ProblemRecord AndResult. ProblemRecord |
||
UpdateProblem Record |
ProblemRecord | ProblemRecord = ProblemRecord |
||
CustomerOrder Handling (Process activity) |
PartyOrderDSL CreditAnd Location |
BranchPoint2 | ProblemRecord | PartyOrderDSL CreditAndLocation. TelcoSalesOrderDSL. SalesOrderId = ProblemRecord. Problem.OrderProblem. SalesOrderRef. SalesOrderId |
CustomerBilling Management (Process activity) |
BillingAccount | BranchPoint2 | ProblemRecord | BillingAccount. BillingAccountId = ProblemRecord. Problem.BillingProblem. BillingAccountRef. BillingAccountId |
HandleOther Problem |
ProblemRecord | BranchPoint2 | ProblemRecord | ProblemRecord = ProblemRecord |
UpdateProblem RecordStatus1 |
ProblemRecord | BranchPoint2 | ProblemRecord | ProblemRecord. ProblemRecordId = ProblemRecord. ProblemRecordId ProblemRecord. |
HandleOther Problem |
ProblemRecord | ProblemRecord = ProblemRecord |
||
ProvUpdate2 CustUntilProb Resolved |
ProblemRecord | UpdateProblem RecordStatus |
ProblemRecord | ProblemRecord = ProblemRecord |
UpdateProblem RecordStatus2 |
ProblemRecord | ProvUpdate2 CustUntilProb Resolved |
ProblemRecord | ProblemRecord = ProblemRecord |
Activities in the CustomerProblemHandling workflow may invoke collaboration objects for application/information integration. The following table shows the collaboration objects that may be invoked by this workflow's activities.
Activity | Collaboration object | Generic business object | Verb |
---|---|---|---|
AddProblemRecord | ProblemRecordManager | ProblemRecord | Create |
UpdateCustomer | PartyManager | Party | Update |
UpdateProblemRecord | ProblemRecordManager | ProblemRecord | Update |
UpdateProblemRecordStatus | ProblemRecordManager | ProblemRecord | UpdateStatus |