...
Only some light code cleanup has been done to this class, though, as mentioned above, if doing any workflows related to the functionality of Np Import, it is strongly recommended to include time in the estimate to refactor that logic into new functionality instead of continuing to use WfCNumberPortabilityNorway.
New Logic
An overview of new logic, introduced in Release 6.0 of the NRDB Number Porting project.
New Actions
The following are new actions, implemented to replace deprecated logic of the WfCNumberExportNorway component.
CancelNpExport
This action will cancel an ongoing NP Export Process. It can cover two different scenarios:
If the property cancelOtherFlows is set to false, the action will cancel the current export process. This is usually needed when a request to cancel the current np process has been received. If the property reactivateSubscription is set to true, the subscription associated with this flow will be reactivated when the flow is cancelled.
If the property cancelOtherFlows is set to true, the action will cancel any other outstanding NP Export workflows. This is usually used at the start of an export process, to ensure that the current export process is the only active process for this number.
full name | properties | execution arguments | result |
---|---|---|---|
com.CDRator.billing.np.no.action.CancelNpExport |
| NpExportFlowNO | N/A |
CompleteNpExport
This action finalizes an NP Export, updating NpExportFlowNO status id, case status id, and creating a final np export step note. It is used as the last step of a successful Np Export workflow.
full name | properties | execution arguments | result |
---|---|---|---|
com.CDRator.billing.np.no.action.CompleteNpExport | N/A | NpExportFlowNO | N/A |
CreateNRDBMessageTypeObject
This action creates a new NRDBMessageType object based on the provided code. The action currently support NRDB Message Types of codes 111Out (GODK), 115OUT (FERD), 125Out (FBES), 127Out (FEND) and 141Out (KABES) as needed by the Export process. This logic should be expanded as necessary.
full name | properties | execution arguments | result |
---|---|---|---|
com.CDRator.billing.np.no.action.CreateNRDBMessageTypeObject | messageType | NpExportFlowNO | NRDBMessageType |
HasReceivedNRDBMessageOfType
This action checks if an NRDBMessageType of the specified type has been received for the provided NpExportFlowNO.
full name | properties | execution arguments | result |
---|---|---|---|
com.CDRator.billing.np.no.action.HasReceivedNRDBMessageOfType | messageType | NpExportFlowNO | true/false |
HasSecretNumber
Checks if an NRDBMessageType of code 111 has been received, and whether the COORDINATED_PORTING column of the NRDB_MESSAGE_TYPE table has been set to 2 or 3. This is used for NP Import to determine if the imported number was a secret number at the donor network, and act accordingly in the rator system.
full name | properties | execution arguments | result |
---|---|---|---|
com.CDRator.billing.np.no.action.HasSecretNumber | N/A | NpFlowNO | true/false |
InitializeNpExport
Initializes an np export flow with status id, case status id and subscription id. Typically used at the start of an Np Export workflow to initialize the export process.
full name | properties | execution arguments | result |
---|---|---|---|
com.CDRator.billing.np.no.action.InitializeNpExport | N/A | NpExportFlowNO | N/A |
ValidateNpExport
Validates the user and checks if the phone number is valid for outporting. For user validation, this check will fail if:
The account owner does not have a customer id (Users.getPersonalId() for business accounts, Users.getBirthDay() for private accounts.)
The account owner has a customer id, but it does not match the customer id on the NpExportFlowNO
If the subscription provided on the NpExportFlowNO is not active
If the service is in status 230 and the parameter value NPSYSTEM.DISABLE_CHECK_BLOCK_NOT_PAID is configured to āNā or not configured at all
full name | properties | execution arguments | result |
---|---|---|---|
com.CDRator.billing.np.no.action.ValidateNpExport | N/A | NpExportFlowNO | true/false |
ValidateNpExportPortDateForMinimumNumberOfDays
Validates export date by calculating the earliest date that is valid for export (based on parameter values), and comparing it to the the requested port date.
Mandatory parameter values:
NPSYSTEM.MIN_EXPORT_DATE_FBES
NPSYSTEM.MIN_EXPORT_DATE_FEND
full name | properties | execution arguments | result |
---|---|---|---|
com.CDRator.billing.np.no.action.ValidateNpExportPortDateForMinimumNumberOfDays | N/A | NpExportFlowNO | true/false |
ValidateNpExportPortDateForMinimumWorkingHours
Validates export date by calculating the difference between the np export flow's order date and export date, and comparing them to a minimum allowed difference in hours. This minum allowed difference is configured as the execution argument minWorkingHours. If this value is set to 0, this validation will be skipped. The provided rejectComment is the comment that will be set on the NpExportFlowNO if this validation fails.
full name | properties | execution arguments | result |
---|---|---|---|
com.CDRator.billing.np.no.action.ValidateNpExportPortDateForMinimumWorkingHours | N/A |
| true/false |
NRDB Message Type Status
The NRDB Number Porting project has been updated with a new way of handling Status, that is more aligned with core status handling: com.CDRator.billing.np.no.status.StatusNRDBMessageType. All relevant classes have been updated to use this status type. Note that StatusNRDBMessageType requires these Status IDs to be configured in the STATUS table. A script to install these statuses has been included below, as well as committed to the rator-np-no-nrdb project.
The provided status ids are:
0 | UNHANDLED |
1 | HANDLED |
2 | ERROR |
3 | REMOVED |
4 | OUTPORT |
9 | RETRY_ERROR |
References
NRDB Message Reader Engine - Version 1.2
...