Skip to content

Determine Business Online access

This operation computes whether the current policy has Business Online access, derives the latest external logon date, and renders the internal-only access text shown by the application layer.

Field Value
Operation ID OP-03
Trigger First read of HasBusinessOnlineAccess, LastLoginDate, or BOAccessText
Inputs Policy number, policy validity, environment service
Outputs Cached access flag, latest external logon date, and rendered access text
Primary components PolicyAppManager.HasBusinessOnlineAccess, LastLoginDate, BOAccessText
Entry point Application\SAIF.Application.Policy\PolicyAppManager.vb

Steps

  1. Start with Business Online access set to False.
  2. Proceed only when the current policy is valid and its policy number is greater than zero (BR-108).
  3. Create clsAccountMaintProxy and enumerate the external accounts returned for the policy.
  4. Any returned account marks Business Online access as True (BR-108).
  5. For each returned account, ask for the EXTERNAL last-logon date and keep the maximum value.
  6. When rendering BOAccessText, emit nothing for external clients and, for internal clients, render either Last Logon: <date> or Never logged on when the date is Date.MinValue or 1/1/2000 (BR-109).

Process flow

The following diagram visualizes the Business Online access evaluation.

flowchart TD
    Start([Read BO access property]) --> Valid{Valid policy and positive number?}
    Valid -->|No| Done([Return cached false])
    Valid -->|Yes| Accounts[Load external accounts]
    Accounts --> Exists{Any accounts?}
    Exists -->|No| Text[Render empty or never-logged-on text]
    Exists -->|Yes| Logon[Track latest external logon date]
    Logon --> Text
    Text --> Done2([Return access flag and text])

Failure and edge-case behavior

  • External clients receive no rendered Business Online text even when access exists (BR-109).
  • The package-internal call sequence of clsAccountMaintProxy was not available from the findings.**

Note: Statements marked with ** could not be confirmed; treat as unknown until verified.

Sources

  • Application\SAIF.Application.Policy\PolicyAppManager.vb