Multi Main Table sessions

Introduction

A Multi Main Table (MMT) session is a combination of multiple sessions, each having their own main table.

MMT sessions are especially designed to present data with a typical parent-child structure, for example:

  • Sales Order and the related Sales Order Lines
  • Financial Business Partner group and the related Ledger accounts and Control accounts
  • Work Order and the related Work Order activity lines, Work Order material resources, Work Order other resources, Work Order measurements, Work Order Hours accounting

Although this data is distributed among several main-tables in the system, it can all be presented and edited from within a single parent-child session.

This enables users to enter their data fast and to keep a good overview in their work.

A typical parent-child session has two areas: the upper part contains information and functionality about the parent. The lower part contains one or more lists that show data about the various types of children. Both parent data and child data may be edited inside the session, which makes the sessions extremely powerful for data entry. Apart from that, a parent-child session also gives the user a complete overview of all important data related to the object. This screenshot shows an example of a parent-child session.

[...]
Sample parent-child sessions

Parent-child MMT sessions are available in various LN packages, for example:

PackageSession
ManufacturingProduction Order
ManufacturingGeneric Item – Structure
Order ManagementSales Order – Lines
Order ManagementSales Order Line – Deliveries
ServiceService Order – Lines
ServiceService Order Activity – Lines
ServiceMaintenance Sales Order
ServiceWork Order – Lines
FinanceMapping Scheme
FinanceLedger Mapping
FinanceDimension Mapping
FinanceFinancial Business Partner Group (Accounts Receivable)
FinanceFinancial Business Partner Group (Accounts Payable)
FinanceInvoice-Source Relation
Quality ManagementInspection Orders – Easy Entry
Quality ManagementItem – Storage Inspection
Object Data ManagementDocument Revisions – Easy Entry
Object Data ManagementChange Proposal – Easy Entry
ToolsTable Definitions
ToolsBusiness Objects

 

Header and satellites

A parent-child MMT session is actually an integration of multiple sessions into one single session. It consists of:

  • A header session: this is the upper part of the MMT session window. It contains information and functionality about the parent (for example about the Service Order). The header is a single occurrence session.
  • One or more satellites (shown as tabs) containing data and functionality for the various types of children, (for example for the activities, estimated materials and estimated labor). Each satellite is a separate session that is linked to the MMT header session. All satellites are multi occurrence sessions.

The header and satellites can also run stand-alone.

Header and satellites

Header and satellites

The header and lines in an MMT session are automatically synchronized: when you select a particular record in the header area, automatically the corresponding lines are displayed in the satellites. There is no synchronization between the satellites themselves.

A satellite tab only contains a grid. Additional fields outside the grid, (‘view fields’) are only displayed when the satellite runs stand-alone.

Beispiel

When the Order Lines session runs stand-alone, the Order Number is displayed as a view field above the grid. When the session runs as a satellite in the Order MMT session, the satellite tab only displays the grid.

Developer guidelines

The prerequisites, possible issues for creating an initial MMT header-lines session.

Prerequisites

Create an MMT header-lines session if:

  • There is a clear header-lines relation. Infor Enterprise Server only supports synchronization if each satellite is directly related to its header. For example: Sales Order Lines are directly related to the Sales Order Header through the Order Number field.
  • No synchronization is required between the satellites themselves.
  • The header has a single-occurrence representation. If not, it must be created first.
  • All satellite sessions you want to define have multi-occurrence representations. If not, they must be created first.
Possible issues

Before you start creating an MMT header-lines session, identify possible issues and development effort required to solve these.

Possible issues are:

  • Deep copy/delete
    The header of the header-lines session contains the Duplicate and Delete standard commands. In an initial MMT session, these actions only execute on the header. Functionality to automatically copy or remove the corresponding lines when a header is copied or removed, must be programmed separately. You can re-use already existing code to do this.
  • Implicit saves
    An implicit save means that a session and its contents are saved without a user action. An explicit save means that the user performs a (manual) "Save" action, for example by clicking Save on the tool bar or by selecting the Save menu item. In an MMT header-lines session, all data within each separate session is saved implicitly on each focus change from satellite to satellite, from header to satellite, or the other way around. For example, if a sales order is inserted and you switch the focus from the header to one of the satellites, the header is saved implicitly. To indicate that a save is being executed, a save icon is shown in the lower right part of the session window. When you close the session and you modified data after the last implicit or explicit save, you are prompted whether the changes must be saved. If you select No, this only undoes the changes after the last implicit or explicit save. During programming, be aware of this behavior. It can cause unreferenced data in the database, for example an order header without lines. You can consider programming either a way to remove this data directly when it is generated, or to build a session that cleans the database of these unreferenced entries.