---
title: Retrieve all help text entries for an application
summary: Bulk-loads every read-only help-text record for a given application code.
status: draft
owner: SAIF documentation generator
last_reviewed: 2026-08-17
library: SAIF.Presentation.Web.Controls.AJAX.Infragistics103
reference_type: package
operation_id: OP-AJAX-005
trigger: Consuming presentation code needs the full help-text set for an application code
---

# Retrieve all help text entries for an application

`clsHelpTextCollection.GetHelpTexts` is the public shared factory method that retrieves every help-text entry for a given application code as a `clsHelpTextCollection` of read-only `clsHelpText` children — for example, to prefetch/cache multiple help entries for `HoverHelp` controls on a page.

| Field | Value |
| --- | --- |
| **Operation ID** | OP-AJAX-005 |
| **Trigger** | Consuming code calls `clsHelpTextCollection.GetHelpTexts(inDataportal, inApplicationCode)` |
| **Inputs** | `IDataPortalInfo`, application code |
| **Outputs** | Populated `clsHelpTextCollection` |
| **Primary components** | `clsHelpTextCollection.GetHelpTexts`, `clsHelpTextCollection.Criteria`, `clsHelpTextCollection.BeforeRetrieve`, `clsHelpTextCollection.AfterRetrieve` |
| **Entry point** | `SAIF.Presentation.Web.Controls.AJAX.Infragistics103\clsHelpTextCollection.vb` |

## Steps

1. Builds `Criteria(inDataportal, inApplicationCode)` and calls `inDataportal.DataAccessLayer.RetrieveObject(criteria)`, which invokes the BOF data-portal pipeline described in the next step.
2. `BeforeRetrieve` sets `SQLStatement = MyCriteria.RetrieveSQL` with a single bind parameter `ApplicationCode` (max length 5) — executing [SQL-HELP-002](../sql/SQL-HELP-002-retrieve-all-help-text-entries-for-an-application.md) against [APPLICATION_HELP_MASTER](../database-tables.md#applicationhelpmaster) and [APPLICATION_HELP_DETAIL](../database-tables.md#applicationhelpdetail) (returns multiple rows).
3. `AfterRetrieve` casts the result to `IDataReader` and iterates rows; for each row it constructs a new `clsHelpText(MyCriteria.DataPortalInfo)`, calls `HelpText.Load(dataPortalInfo, Reader)` (which calls the child's `Fill`, builds its own `Criteria`, and marks it old), and adds it to the collection via `MyBase.Add`.
   - The collection is configured `AllowEdit/AllowRemove/AllowSort/AllowFind = True`, `Managed = True` in the constructor — standard BOF collection semantics.
4. No create/update/delete SQL is supported for this collection (same `InvalidSQLProperty` stub-throw pattern as `clsHelpText`).

No business rules are enforced by this operation — collection-level `AfterRetrieve` performs no validation; `Contains()` overloads provide in-memory lookup only.

## Process flow

The following diagram visualizes the retrieval sequence.

```mermaid
flowchart TD
	Start([Consuming code calls GetHelpTexts]) --> Criteria[Construct Criteria with ApplicationCode]
	Criteria --> Retrieve[DataAccessLayer.RetrieveObject]
	Retrieve --> Before[BeforeRetrieve binds ApplicationCode, sets RetrieveSQL]
	Before --> Execute[Execute SQL-HELP-002 against Oracle*]
	Execute --> Loop[AfterRetrieve iterates IDataReader rows]
	Loop --> Child[Construct clsHelpText child, Load and MarkOld]
	Child --> Add[Add child to collection]
	Add --> Loop
	Loop --> Return([Return populated clsHelpTextCollection])
```

## Failure and edge-case behavior
- No matching rows for the given application code: the loop over `IDataReader` produces zero children; the returned collection is empty rather than raising an error.
- Any attempt to `Save()`/`Delete()` the collection or its children raises `ApplicationException(BOC.Messages.InvalidSQLProperty)`, since no create/update/delete SQL exists.

## Related documentation
- [Operations and processes](../operations-processes.md)
- [Business rules](../business-rules.md)
- [SQL catalog](../sql/index.md)
- [Database tables](../database-tables.md)

> **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.Presentation.Web.Controls.AJAX.Infragistics103\clsHelpTextCollection.vb`
- `SAIF.Presentation.Web.Controls.AJAX.Infragistics103\clsHelpText.vb`
