Dynamic claim list generation¶
Executes an entire SQL statement supplied by the caller to build a configurable claim list, mapping result columns through caller-configurable alias properties.
| Field | Value |
|---|---|
| Operation ID | claim-list-generation |
| Trigger | Caller invokes clsClaimListGenerator.GetClaimListCollection(dataPortalInfo, sqlStatement, id[, requestId]) |
| Inputs | Caller-supplied SQL statement text, ID |
| Outputs | Claim-list rows mapped via configurable alias properties |
| Primary components | clsClaimListGenerator.GetClaimListCollection |
| Entry point | SAIF.Business.Claim/clsClaimListGenerator.vb |
Steps¶
- Caller supplies the complete SQL statement text and a single ID value.
- Every
IBusinessCriteriaSQL property (CreateSQL,RetrieveSQL,InsertSQL,UpdateSQL,DeleteSQL) throwsApplicationException(clsConstants.Messages.InvalidSQLProperty)— execution instead usesCriteria.SQLStatementdirectly (SQL-019). - A single
:IDbind parameter is applied to the caller-supplied statement. - Result columns are mapped through configurable alias properties:
ClaimIDSQLItem,ClaimNumberSQLItem,ClaimChkCharValueSQLItem,WorkerIDSQLItem. - The mapped rows are returned as a claim-list collection to the caller.
Process flow¶
The following diagram visualizes this operation's control flow.
flowchart TD
Start(["GetClaimListCollection<br>called"]) --> Supply["Caller supplies SQL text +<br>ID"]
Supply --> Bind[Bind :ID parameter]
Bind --> Execute["Execute<br>Criteria.SQLStatement"]
Execute --> Map["Map result columns via alias<br>properties"]
Map --> Return([Return claim-list collection])
Failure and edge-case behavior¶
- The SQL statement and key are supplied entirely by the caller; column names are configurable. This is a SQL-injection and maintainability risk whose actual exposure depends on callers, none of which exist in this repository.*
- All five
IBusinessCriteriaproperties throw if invoked directly, so any caller attempting standard BOF create/retrieve/update/delete semantics on this class will fail immediately.
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/clsClaimListGenerator.vb