Algorithms Used in C1-HoldRequest

The following table lists the algorithms which are attached to the C1-HoldRequest business object:

System Event Algorithm Algorithm Type Description
Information C1-HOLD-INF C1-HOLD-INF This algorithm generates hold request information string which appears throughout the application. This algorithm concatenates the following fields:
  • Hold Request Type

  • Status

  • Entity

  • Hold Request ID

Validation C1-HLDVALDN C1-HLDVALDN This algorithm validates following during different statuses:

For Draft status, it checks the following:

  • At least one Process is present in the request. Entity selection is optional

  • No duplicate entity and process is allowed in a single request.

  • Same entity cannot be placed on hold with the same Hold Reason in multiple Hold Requests.

  • Request start date is earlier than or equal to process and entity start date.

  • Request End Date is later than or equal to process and entity end date.

  • At least one process start date is earlier than or equal to any entity start date.

  • At least one process end date is later than or equal to any entity end date.

  • For Bill and Person entity, Bill Generation, Overdue, and Auto Pay processes cannot be selected as the hold processes in a hold request.

  • For Bill entity, it checks if hold amount is less than or equal to bill outstanding amount

  • For Bill entity, to add a new bill to the request, the selected bill should be with a non-zero outstanding amount.

  • Each Entities start date should lie within at least one process start date and end date in a request.

For Active state following are some additional validations:
  • Hold Process or Entities cannot be deleted.

  • Hold Request or Entity or Process Start Date cannot be modified.

  • Hold Reason cannot be modified

  • Hold Request or Process or Entity End Date can be updated as either equal or greater than system date.

  • Process can be added with start date as system date.

  • Entity cannot be added in hold request.

  • If entity or process end date is in past then it cannot be updated.

The following table lists the algorithms which are used in the lifecycle of the C1-HoldRequest business object:

Status System Event Algorithm Algorithm Type Description
Draft Enter C1-HLDARCTRN C1-HLDARCTRN This algorithm transitions the request to active status when the request is created from Account Receivable Central and Delinquency Control.
Draft Exit F1-TODOCOMPL F1-TODOCOMPL This algorithm type completes To Do entries that are linked to an object when the object exits a given state. The system finds all open To Do entries with drill keys for primary key of the current business object, and completes them, unless the To Do entry's type has been configured with an Exclude To Do Type Characteristic Type indicating that it should not be automatically completed.
Submit Enter C1-HOLDSUBMT C1-HOLDSUBMT This algorithm checks the following:
  • Whether the approval is required for the hold request. If the approval is required for a hold request, the status of the hold request is changed to Approval In Progress. However, if the approval is not required for a hold request, the status of the hold request is changed to Active or Deferred Processing depending on the Defer Processing Count specified in the hold request type.

Active Enter C1-HOLDACTV C1-HOLDACTV This algorithm is invoked on Active button and validates following:
  • Entities Start Date is on or after Hold Request Start Date

  • Entities End Date is on or before Hold Request End Date

  • For an Entity Bill, Hold Amount is not more than bill outstanding amount or Bill outstanding amount is not equal to zero.

  • Updates and processes entities start date to system date.

  • It updates following mentioned date to minimum of Entity End Date or Process End Date:

    • Bill After Date - For Bill Generation Process.

    • Postpone Credit review Date Until- For Overdue Process.

    • Defer Auto Pay Date - For Auto pay process.

  • Parameter-Alert Type-Using this Alert Type alerts are shown in the dashboard. A alert will have hyperlink which will enable user to navigate to Alerts tab on account.

  • Start Dates and End Dates of Alert types are maintained based on the Hold Requests associated with the account.

Note: If entity end date is empty, process end date will be considered. If process end date and entity is empty, Hold Request End Date will be considered.
Deferred Processing Monitor F1-AT-RQJ F1-AT-RQJ This algorithm type transitions business object current state to the input Next Status or to the status related to the input Next Transition Condition. Only one of the soft parameters may be specified. If both soft parameters are not specified, the business object will be transitioned to the default next status specified on lifecycle. Algorithms of this algorithm type may be defined for any business object status as its monitor algorithm.
Approval In Progress Enter C1-HOLDAPP C1-HOLDAPP This algorithm creates To Do based on 'Approval To Do Type configured in Hold Request Type.
Approval In Progress Exit F1-TODOCOMPL F1-TODOCOMPL This algorithm type completes To Do entries that are linked to an object when the object exits a given state. The system finds all open To Do entries with drill keys for the current business object's primary key, and completes them, unless the To Do entry's type has been configured with an Exclude To Do Type Characteristic Type indicating that it should not be automatically completed.
Approved Enter C1-HOLDAPRVD C1-HOLDAPRVD This algorithm is triggered when the approver clicks the Approve button. It checks whether the approval is required from users at the next level in the approval profile hierarchy. If the approval is required from the next level in the approval hierarchy, the status of the hold request is changed to Approval In Progress. If further approval is not required, the status of the hold request is changed to Active or Deferred Processing depending on the Defer Processing Count specified in the hold request type.
Return to Submitter Enter C1-HLDRESUBM C1-HLDRESUBM This algorithm is triggered when the approver clicks the Re Submit button. A To Do is created and sent to the submitter. It transitions the status of the hold request from Approval In Progress to Draft. The submitter can make required changes to the request details and submit it again. The To Do Type and To Do Role for submitter is specified in hold request type.
Rejected - - - -
Released Enter C1-RELENTITY C1-RELENTITY This algorithm is invoked on Release button and updates following date to system date for all entities in the Hold Request:
  • Bill After Date - For Bill Generation Process

  • Postpone Credit review Date Until- For Overdue Process

  • Defer Auto Pay Date - For Auto pay process

  • Parameter-Alert Type-Using this Alert Type alerts are shown in the dashboard. A alert will have hyperlink which will enable user to navigate to Alerts tab on account

  • Start Dates and End Dates of Alert types are maintained based on the Hold Requests associated with the account.

Released Enter C1-RLSHOLD C1-RLSHOLD
This algorithm is invoked on click of Release button in hold request and updates the following:
  • Hold Request End Date is updated to System Date

  • Processes End Date is updated to System Date

  • Entities End Date is updated to System Date

  • Hold request status is changed to Released after Hold Release Reason is accepted.