Page 4410 "SOA Multi Items Availability"
SalesOrderAgent · Microsoft.Agent.SalesOrderAgent
Across versions
- BC23-28not present
- BC29-30present
Neighbourhood 17 connected objects and pages
SalesOrderAgent · Microsoft.Agent.SalesOrderAgent · captioned “Item Availability” · BC29-30 · source at ea08af5e · facts from BC29
Properties
| Property | Value |
|---|---|
| Caption | Item Availability |
| Extensible | false |
| SourceTable | Item |
| PageType | List |
| UsageCategory | Lists |
| ApplicationArea | Basic, Suite |
Fields on this page
Layout controls in source order, grouped by the container they sit in. Shows: the table field a control is bound to (or its expression as written); ToolTip: the control’s own, else the bound field’s (marked).
| Group | Control | Shows | ToolTip |
|---|---|---|---|
| Content | PreviewDisclaimer | PreviewDisclaimerLbl |
— |
| Options | View by | AnalysisPeriodType |
Specifies by which period amounts are displayed. |
| View as | AnalysisAmountType |
Specifies how amounts are displayed. Net Change: The net change in the balance for the selected period. Balance at Date: The balance as of the last day in the selected period. | |
| Date Filter | DateFilter |
Specifies the dates that will be used to filter the amounts in the window. | |
| Customer No. | CustomerNo |
Specifies the customer number that will be used to calculate prices and discounts. | |
| Contact No. | ContactNo |
Specifies the contact number that will be used to calculate prices and discounts. | |
| Location Filter | LocationFilter |
Specifies the location that will be used to filter the amounts in the window. | |
| Quantity Filter | QuantityFilter |
Specifies the quantity filter that will be used to identify the available quantity. | |
| UOM Filter | InUOMCode |
Specifies the unit of measure in which available quantity is calculated. | |
| Calculate Earliest Shipment Date | CalculateEarliestShipmentDate |
Specifies whether the earliest possible shipment date should be calculated for the requested quantity of currently unavailable items. | |
| Control1 | No. | No. | Specifies a number of the item. |
| Variant Code | ResolvedVariantCode |
Specifies the resolved variant code for the item. | |
| Description | Description | Specifies a description of the item. | |
| Description | TranslatedDescription |
Specifies a translated description of the item. | |
| Requested Quantity Available | Available |
Specifies if the requested quantity is available in requested unit of measure. | |
| Earliest Shipment Date | EarliestShipmentDate |
Specifies the earliest date the requested quantity will be available for shipment if ordered today. | |
| Availability Level | AvailabilityLevel |
Specifies the level of item availability. | |
| Unit Cost | UnitCost |
Specifies the unit cost of the item on the line. | |
| Unit Price | UnitPrice |
Specifies the price for one unit on the line. | |
| Discount % | DiscountPct |
Specifies the discount percentage that can be granted for the item on the line. | |
| Unit Price Including Discount | UnitPriceInclDiscount |
Specifies the price for one unit on the line including discount. | |
| Currency Code | CurrencyCode |
Specifies the currency code of the price on the line. | |
| Matching Item | MatchingItem |
Specifies if the search result finds a matching item against the searched query or alternative items. | |
| Gross Requirement | GrossRequirement |
Specifies the sum of the total demand for the item. The gross requirement consists of independent demand (which include sales orders, service orders, transfer orders, and demand forecasts) and dependent demand, which include production order components for planned, firm planned, and released product… | |
| Scheduled Receipt | ScheduledRcpt |
Specifies the sum of items from replenishment orders. This includes firm planned and released production orders, purchase orders, and transfer orders. | |
| Planned Receipt | PlannedOrderRcpt |
Specifies the quantity on planned production orders plus planning worksheet lines plus requisition worksheet lines. | |
| Inventory | Inventory | Specifies the inventory level of an item. | |
| Available Quantity (Base UOM) | ProjAvailableBalance |
Specifies the item’s availability. This quantity includes all known supply and demand but does not include anticipated demand from demand forecasts or blanket sales orders or suggested supplies from planning or requisition worksheets. | |
| Available Quantity | ProjAvailableBalanceInUOM |
Specifies the item’s availability recalculated in specified Unit on Measure. | |
| Unit Of Measure Code | LineUOM |
Specifies the item’s Unit of Measure code. | |
| Unit Of Measure | LineUOMDescription |
Specifies the item’s Unit of Measure description. | |
| Qty. on Purch. Order | Qty. on Purch. Order | Specifies how many units of the item are inbound on purchase orders, meaning listed on outstanding purchase order lines. | |
| Qty. on Sales Order | Qty. on Sales Order | Specifies how many units of the item are allocated to sales orders, meaning listed on outstanding sales orders lines. | |
| Qty. on Project Order | Qty. on Job Order | Specifies how many units of the item are allocated to projects, meaning listed on outstanding project planning lines. The field is automatically updated based on the Remaining Qty. field in the Project Planning Lines window. | |
| Trans. Ord. Shipment (Qty.) | Trans. Ord. Shipment (Qty.) | Specifies the quantity of the items that remains to be shipped. The program calculates this quantity as the difference between the Quantity and the Quantity Shipped fields. It automatically updates the field each time you either update the Quantity or Quantity Shipped field. | |
| Qty. on Asm. Comp. Lines | Qty. on Asm. Component | Specifies how many units of the item are allocated to assembly component orders. | |
| Qty. on Assembly Order | Qty. on Assembly Order | Specifies how many units of the item are allocated to assembly orders, which is how many are listed on outstanding assembly order headers. | |
| Qty. in Transit | Qty. in Transit | Specifies the quantity of the items that are currently in transit. | |
| Trans. Ord. Receipt (Qty.) | Trans. Ord. Receipt (Qty.) | Specifies the quantity of the items that remain to be received but are not yet shipped. The program calculates this quantity as the difference between the Quantity and the Quantity Shipped fields. It automatically updates the field each time you either update the Quantity or Quantity Shipped field. | |
| Expected Inventory | ExpectedInventory |
Specifies the quantity of the item that is expected to be in inventory at the end of the period entered in the Date Filter field. | |
| Available Inventory | QtyAvailable |
Specifies the quantity of the item that is currently in inventory and not reserved for other demand. | |
| Scheduled Receipt (Qty.) | Scheduled Receipt (Qty.) | Specifies how many units of the item are scheduled for production orders. The program automatically calculates and updates the contents of the field, using the Remaining Quantity field on production order lines. | |
| Qty. on Component Lines | Qty. on Component Lines | Specifies the sum of items from planned production orders. | |
| Planned Order Releases | PlannedOrderReleases |
Specifies the sum of items from replenishment order proposals, which include planned production orders and planning or requisition worksheets lines, that are calculated according to the starting date in the planning worksheet and production order or the order date in the requisition worksheet. This … | |
| Net Change | Net Change | Specifies the net change in the inventory of the item during the period entered in the Date Filter field. |
Actions
| Group | Action | ToolTip | Runs |
|---|---|---|---|
| Processing | Previous Period | Show the information based on the previous period. If you set the View by field to Day, the date filter changes to the day before. | |
| Next Period | Show the information based on the next period. If you set the View by field to Day, the date filter changes to the day after. | ||
| Item Availability by | Event | View how the actual and the projected available balance of an item will develop over time according to supply and demand events. | |
| Period | Show the projected quantity of the item over time according to time periods, such as day, week, or month. | Page 157 “Item Availability by Periods” | |
| Variant | View or edit the item’s variants. Instead of setting up each color of an item as a separate item, you can set up the various colors as variants of the item. | Page 5414 “Item Availability by Variant” | |
| BOM Level | View availability figures for items on bills of materials that show how many units of a parent item you can make based on the availability of child items. |
Events published
OnBeforeFindRecord(var Rec: Record Item; Which: Text; var CrossColumnSearchFilter: Text; var Found: Boolean; RequiredQuantity: Decimal; InUOMCode: Code[10]; var IsHandled: Boolean; var MatchingItem: Boolean)(internal)- subscribers: Codeunit 4591 “SOA Item Search” FindRecordItemFromMultiItemsAvailability
OnAfterInitPage(var CustomerNo: Code[20]; var ContactNo: Code[20]; var LocationFilter: Text; var CalculateEarliestShipmentDate: Boolean)(integration)- subscribers: Codeunit 4306 “SOA Session Filter” OnAfterInitPage
OnGetResolvedVariantCodeOnBeforeExit(ItemSystemId: Guid; var VariantCode: Code[10])(internal)- subscribers: Codeunit 4591 “SOA Item Search” OnGetResolvedVariantCodeOnBeforeExit
Trigger event subscribers
- OnOpenPageEvent: Codeunit 4591 “SOA Item Search” LogInventoryInquiryReplied
Procedures
InitPage(CustomerNo2: Code[20]; ContactNo2: Code[20]; DateFilter2: Text; LocationFilter2: Text; QuantityFilter2: Decimal; InUOMCode2: Code[10])(internal)
Plus 13 local procedures.
Triggers
OnInit, OnOpenPage, OnFindRecord, OnAfterGetRecord
Relations
- source table Table 27 “Item”
Calls
From the extracted call graph of BC29 (graphify-al on the snapshot checkout): calls whose target is known from a declared type or an Object::"Name" argument. Interface dispatch and calls through events are not counted, so the list is not complete.
- Codeunit 4413 “SOA Shipment Date Mgt.” (3 calls:
OnAfterGetRecord → (object),OnAfterGetRecord → GetEarliestShipmentDate,OnAfterGetRecord → SetParamenters) - Codeunit 3060 “Uri” (2 calls:
DecodeAvailabilityFilterValue → UnescapeDataString,EncodeAvailabilityFilterValue → EscapeDataString) - Codeunit 353 “Item Availability Forms Mgt” (2 calls:
CalcAvailQuantities → CalcAvailQuantities,ShowItemAvailLineList → ShowItemAvailLineList) - Codeunit 4414 “SOA Price Calc. Notification” (2 calls:
OnAfterGetRecord → GetNotificationId,OnAfterGetRecord → IsEnabled) - Codeunit 362 “PeriodPageManagement” (1 call:
FindPeriod → FindDate) - Codeunit 4591 “SOA Item Search” (1 call:
CalcAvailQuantities → CalcProjAvailableBalanceInUOM) - Codeunit 4595 “SOA - KPI Track All” (1 call:
OnInit → IsOrderTakerAgentSession)
Recent changes
- 2026-08-28 #10748 [SOA] Resolve the current agent’s setup instead of an arbitrary one (main, BC30, fix)
- 2026-08-26 #10631 Integration/main to releases 29.x 31a860b5 (releases/29.x, BC29, feature)
- 2026-08-24 #9310 SOA: Open Item Availability from Agent panel (main, BC30, feature)
- 2026-08-10 #10007 [SOA] Ignore item availability when disabled (main, BC30, fix)
- 2026-08-05 #9364 Slice 622414: [SOA] [Pioneer] Enhancing Sales Order Agent with Item Variant : availability and prices (main, BC30, feature)
Documented on Microsoft Learn
- Expense Agent overview for Business Central
- Payables Agent Overview in Business Central
- Item availability in Sales Order Agent (preview)
- Process sales quotes and orders with Sales Order Agent
- Set up Sales Order Agent
- Sales Order Agent overview
- Supervise Agent Activities in Business Central
Source: AL metadata extracted from the code (names, ids, signatures, properties); no code bodies (D10).
Ask your agent
Procedure bodies are not stored here (D10). The call sections above are our own, per object, from the BC29 call graph. For a procedure body or the calls of one procedure, ask bc-code-atlas (external, by Stefan Maron, MIT; default corpus w1-28), which the bc-observatory plugin connects: bcatlas_resolve_node(object_type: "page", object_name: "SOA Multi Items Availability"), then bcatlas_get_procedure_body or bcatlas_get_neighbors on the returned id.
Evidence 8 sources
- codesrc/Apps/W1/SalesOrderAgent/app/src/ItemAvailability/SOAMultiItemsAvailability.Page.alreleases/29.x @ ea08af5e
- learnExpense Agent overview for Business Central
- learnPayables Agent Overview in Business Central
- learnItem availability in Sales Order Agent (preview)
- learnProcess sales quotes and orders with Sales Order Agent
- learnSet up Sales Order Agent
- learnSales Order Agent overview
- learnSupervise Agent Activities in Business Central