C1-BC-DERIV

This algorithm validates the following:

  • Start date, end date, and description on bill are specified in the record.

  • Price item is specified in the record.

  • Either the account details or contract ID is specified in the record.

  • Either the account ID or account identifier type and account identifier is specified in the record.

If the contract ID is not specified in the record, this algorithm derives an active contract of the account which is effective for the given date range. It considers that contract which is created using the contract type where the payment priority is set to highest, and the Eligible for Billing option is selected. If there are multiple active effective contracts with the same priority, this algorithm considers any one contract randomly. Once the contract ID is derived, the corresponding record is updated in the C1_​UPLOAD_​REQ_​DTLS table. However, if no active contract exists for the account for the given date range with the required specifications, the status of the record in the C1_​UPLOAD_​REQ_​DTLS table is changed to Invalid.

If the contract ID and account ID are not specified in the record, this algorithm derives the account ID using the respective account identifier type and account identifier combination. Once the account ID is derived, the corresponding record is updated in the C1_​UPLOAD_​REQ_​DTLS table. If the system could not derive the account ID using the account identifier type and account identifier combination, the status of the record in the C1_​UPLOAD_​REQ_​DTLS table is changed to Invalid. In addition, if any of the above validations fail, the status of the record in the C1_​UPLOAD_​REQ_​DTLS table is changed to Invalid.

This algorithm also derives the fields which can be used as search filters based on the mapping defined in the respective upload request type.