DCBS 1502 transfer handling¶
Manages the lifecycle of DCBS 1502 transfer file records: creation, retrieval of unprocessed transfers, and marking transfers as processed.
| Field | Value |
|---|---|
| Operation ID | 1502-transfer |
| Trigger | Caller creates a transfer record, sweeps for unprocessed transfers, or marks a transfer as processed |
| Inputs | ClaimID, FileId, FileName, TransferDate |
| Outputs | Transfer records; processed-date updates |
| Primary components | cls1502Transfer, cls1502TransferList |
| Entry point | SAIF.Business.Claim/cls1502Transfer.vb |
Steps¶
- Standard BOF create validates the claim ID and filing reason (BR-001, BR-002).
Create()obtains its key viaDataPortalInfo.GetNextSeqNumrather than the declaredCreateSQLproperty (SQL-001).*- Insert the new transfer record (SQL-004, CL_1502_DCBS_TRANSFER).
GetTransferList()retrieves unprocessed transfers for a specific claim (SQL-009); only rows withPROCESSED_DATE IS NULLare eligible.GetUnprocessedTransferList()retrieves all unprocessed transfers across claims, ordered by file name, for the transfer sweep (SQL-010).- Mark a transfer as processed by updating
PROCESSED_DATE(SQL-037, CL_1502_DCBS_TRANSFER) — the only schema-qualified statement (CLM_DBA) in the library, while the matching INSERT/DELETE/SELECT are unqualified.* - Delete a transfer record when requested (SQL-052).
Process flow¶
The following diagram visualizes this operation's control flow.
flowchart TD
Start([Create transfer request]) --> Validate{"ClaimID and FilingReason<br>valid?"}
Validate -->|No| ErrRule([Broken rule: save blocked])
Validate -->|Yes| GetSeq["Get next sequence via<br>DataPortalInfo.GetNextSeqNum"]
GetSeq --> Insert[Insert CL_1502_DCBS_TRANSFER]
Insert --> Sweep[Unprocessed-transfer sweep<br>GetUnprocessedTransferList]
Sweep --> Process["Mark PROCESSED_DATE on<br>eligible transfer"]
Failure and edge-case behavior¶
- Insert, update, and delete failures raise DB-contention errors (BR-012) when
RowsAffecteddoes not match the expected count. - Schema qualification is inconsistent: only the UPDATE statement (SQL-037) is qualified with
CLM_DBA; INSERT, DELETE, and SELECT statements against the same table are unqualified.*
Related documentation¶
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¶
- SAIF.Business.Claim/cls1502Transfer.vb