Skip to content

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

  1. Build a request with CommandType.StoredProcedure, RequestType = NonQuery, SQLStatement = "pk73069_rating_procs.get_minimum_expense_constant" (SQL-011, Oracle package procedure).
  2. Bind in_prem_hist_set_id (input) and output parameters out_minimum_premium_amount, out_expense_constant_amount.
  3. Execute inside Try … Catch with an empty catch block — any failure is silently swallowed (BR-POL-008).
  4. If DataRequest(0).Result is not Nothing, read ParmValue("out_minimum_premium_amount") as Decimal; otherwise return 0.
  5. out_expense_constant_amount is 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...Catch with an empty catch block; any procedure failure is silently swallowed and the method returns 0 (BR-POL-008). The bound out_expense_constant_amount output 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.

Sources

  • SAIF.Business.Policy/PolicyInformation.vb