Policy minimum premium (stored procedure)¶
Retrieves the minimum premium amount for a premium-history set via the Oracle package procedure pk73069_rating_procs.get_minimum_expense_constant.
| Field | Value |
|---|---|
| Operation ID | op-09-policy-minimum-premium |
| Trigger | Caller invokes PolicyMinimumPremium |
| Inputs | IDataPortalInfo, premium-history set id |
| Outputs | Decimal |
| Primary components | PolicyInformation.PolicyMinimumPremium |
| Entry point | SAIF.Business.Policy/PolicyInformation.vb |
Steps¶
- Build a request with
CommandType.StoredProcedure,RequestType = NonQuery,SQLStatement = "pk73069_rating_procs.get_minimum_expense_constant"(SQL-011, Oracle package procedure). - Bind
in_prem_hist_set_id(input) and output parametersout_minimum_premium_amount,out_expense_constant_amount. - Execute inside
Try … Catchwith an empty catch block — any failure is silently swallowed (BR-POL-008). - If
DataRequest(0).Resultis notNothing, readParmValue("out_minimum_premium_amount")asDecimal; otherwise return0. out_expense_constant_amountis bound but never read.
Process flow¶
The following diagram visualizes this operation's control flow.
flowchart TD
Start(["Caller invokes<br>PolicyMinimumPremium"]) --> Build["Build StoredProcedure<br>request"]
Build --> Bind["Bind in_prem_hist_set_id +<br>output parms"]
Bind --> Try[Execute inside Try/Catch]
Try --> Result{Result present?}
Result -->|Yes| ReadOut["Read<br>out_minimum_premium_amount<br>as Decimal"]
Result -->|No| Zero([Return 0])
Try -->|Exception| Swallow["Empty catch — failure<br>silently swallowed"]
Swallow --> Zero
ReadOut --> Done([Return Decimal])
Failure and edge-case behavior¶
- The call is wrapped in a
Try...Catchwith an empty catch block; any procedure failure is silently swallowed and the method returns0(BR-POL-008). The boundout_expense_constant_amountoutput parameter is never read back.* - The premium/expense-constant calculation itself lives in Oracle package
pk73069_rating_procs; its body was not retrieved for this run.**
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.
Related documentation¶
Sources¶
SAIF.Business.Policy/PolicyInformation.vb