C1-RF-DERIV

This algorithm reads the data in the BO_​DATA_​AREA column of the C1_​UPL_​REQUEST table and accordingly inserts the records in the C1_​UPLOAD_​REQ_​DTLS table. In addition, the status of each record in the C1_​UPLOAD_​REQ_​DTLS table is set to Pending.

It validates the following:

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

  • Refund request type, entity type, entity ID and refund amount are specified in the record.

  • If the entity type is Adjustment, then the adjustment ID given in the record is valid.

  • If the entity type is Bill, then the bill ID given in the record is valid.

  • If the entity type is Bill Segment, then the bill segment ID given in the record is valid.

  • If the entity type is Payment Event, then the payment event ID given in the record is valid.

  • If the entity type is Payment, then the payment ID given in the record is valid.

Based on the entity type and entity ID, this algorithm derives the original amount and currency of the respective entity from the system. If the adjustment type is not specified in the record, this algorithm derives the adjustment type from the respective refund request type. Similarly, if the account ID is not specified in the record, it derives the account ID using the respective account identifier type and account identifier combination.

Once the adjustment type and/or account ID is derived, the corresponding record is updated in the C1_​UPLOAD_​REQ_​DTLS table. If the system could not derive the adjustment type, or 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.