ProcessOB3PRetention overview¶
ProcessOB3PRetention determines which third-party claims are eligible for document deletion under retention policies and triggers that deletion in OnBase. It asks the Imaging API for retention records due on a given month, day, and year, sends the claim numbers to the OnBase Third Party Archival Service in batches, and then marks the retention records as processed.
Purpose¶
- Select third-party claims whose retention period has elapsed for the processing date, as decided by the Imaging API.
- Submit those claim numbers to OnBase (
ArchiveDocumentSOAP operation) so that OnBase can perform the document deletion for the listed claims.* - Record completion by marking the Imaging API retention records as processed so they are not selected again.
The application makes no eligibility decision itself: the retention policy is evaluated server-side by the Imaging API endpoint. The actual document deletion occurs downstream inside OnBase and is not visible from this repository.
Invocation¶
The executable is started by a scheduler (the README names the Automic job plan ARCH.ONBASE.PROCESS.3P.RETENTION.EOM). All three arguments are optional; a run with no arguments processes the current local date.
Scheduling¶
| Attribute | Value |
|---|---|
| Frequency | LAST.DAY.OF.MONTH in CALE.SAIF calendar in AE |
| Scheduler | Automic (UC4/AE) job plan ARCH.ONBASE.PROCESS.3P.RETENTION.EOM |
| Expected runtime | 10PM on LAST.DAY.OF.MONTH |
| Upstream dependencies | JSCH.ARCHITECTURE in AE Client 0100 |
The EOM suffix of the job plan name indicates an end-of-month run. This ARCH.ONBASE.PROCESS.3P.RETENTION.EOM workflow in Automic currently has two steps/jobs: Step 1 executes this ProcessOB3PRetention console application via the ARCH.ONBASE.PROCESS.3P.RETENTION job. It does not pass any explicit Day, Month, or Year values; so, they get set to default values in code. The scheduleDate parameter in the release pipeline controls deployment timing only, not job execution. Step 2 of the workflow is AE job ARCH.ONBASE.NOTIFY.POST.3P.RETENTION - which executes the SendOB3PRetentionNotification console application afterwards.
Command-line arguments¶
Arguments are named, not positional. The full contract, including syntax forms and validation behavior, is on the Arguments page.
| Argument | Type | Required | Default | Purpose |
|---|---|---|---|---|
Day |
int |
No | Current day of month | Day of the processing date sent to the Imaging API |
Month |
int |
No | Current month | Month of the processing date sent to the Imaging API |
Year |
int |
No | Current year | Year of the processing date sent to the Imaging API |
Capability summary¶
| Capability | Owning component | Description |
|---|---|---|
| Retrieve claims due for retention | ImagingApiClient |
GET of the ThirdPartyRetention/toProcess endpoint for the processing date |
| Submit claims to OnBase in batches | OnBaseService |
One ArchiveDocument SOAP call per batch, carrying the batch's claim numbers as a keyword collection |
| Mark retention records processed | ImagingApiClient |
PUT of the batch's retention ids to the processed/mark endpoint |
| Batch size control | ThirdPartyRetentionProcessor |
Batch size read from the Environment API, falling back to 100 |
The end-to-end flow is documented in Process third-party retention. The consumed OnBase SOAP proxy is documented separately in the OBRetentionService client documentation.
Related documentation¶
| Documentation | Description |
|---|---|
| Index | Documentation entry point |
| Architecture | Components and composition root |
| Run lifecycle | Execution flow and exit codes |
| Arguments | Full argument contract |
| Configuration | Settings and environment variables |
| Dependencies | Packages and API dependencies |
| Operations and processes | Operation catalog |
| Business rules | Rules enforced during processing |
| Operational runbook | Run and recovery procedures |
| Tech debt | Technical debt observations |
Note: Statements marked with
*were inferred from code structure, naming conventions, or contextual evidence where direct confirmation was not available in source artifacts. Statements marked with**could not be confirmed; treat as unknown until verified.
Sources¶
README.mdProcessOB3PRetention/Program.csProcessOB3PRetention/ArgContainer.csProcessOB3PRetention/ThirdPartyRetentionProcessor.csProcessOB3PRetention/Services/ImagingApiClient.csProcessOB3PRetention/Services/OnBaseService.csPipelines/release.yml