Use this event to
Create new Configuration (collection of HeaderFields) or Add HeaderFields to existing headers.
Headers are static data in Reference Data, meaning they are loaded on login and cannot change dynamically.
The header fields are the first thing the user sees when using any function at the mobile device.
Description
New ConfigurationKeys with HeaderFields can be added using a number of "Create
"-methods from the input parameter-table.
- Call
_HeaderConfigurationElement.Create(...)
to "set" the ConfigurationKey prior to adding new HeaderFields. - "
Create_...Field
"-methods will take a few, mandatory arguments. - "
Create_...Field
"-methods usually will offer an alternative argument list (other signature) that includes mandatory arguments as well as most commonly used optional arguments. - Optional values can also be set subsequently using a number of related "
Set_
"-methods.
Supersedes Legacy
See also: OnGetReferenceData_OnAfterAddHeaderField
Template
[EventSubscriber(ObjectType::Codeunit, Codeunit::"MOB WMS Reference Data", 'OnGetReferenceData_OnAddDataTables', '', true, true)]
procedure OnGetReferenceData_OnAddDataTables(var _DataTable: Record "MOB DataTable Element")
begin
with _DataTable do begin
InitDataTable('MyCustomDataTableId'); // Replace with your own dataTable identifier to be used with Set_dataTable(...) from Steps and HeaderConfigurations
// Create your DataTable entries here
// ...
;
end;
end;
Example (1)
// [Example] 01 - Create new custom DataTable based on BC table using a Create_XXX template
[EventSubscriber(ObjectType::Codeunit, Codeunit::"MOB WMS Reference Data", 'OnGetReferenceData_OnAddDataTables', '', true, true)]
procedure My01OnGetReferenceData_OnAddDataTables(var _DataTable: Record "MOB DataTable Element")
var
CountryRegion: Record "Country/Region";
begin
with _DataTable do begin
InitDataTable('MyCountries');
if CountryRegion.FindFirst() then
repeat
Create_CodeAndName(CountryRegion.Code, CountryRegion.Name);
until CountryRegion.Next() = 0;
end;
end;
Example (2)
// [Example] 02 - Create new custom DataTable based on with no use of templates
[EventSubscriber(ObjectType::Codeunit, Codeunit::"MOB WMS Reference Data", 'OnGetReferenceData_OnAddDataTables', '', true, true)]
procedure My02OnGetReferenceData_OnAddDataTables(var _DataTable: Record "MOB DataTable Element")
var
CountryRegion: Record "Country/Region";
begin
with _DataTable do begin
InitDataTable('MyCountryDetails');
if CountryRegion.FindFirst() then
repeat
Create();
SetValue('Code', CountryRegion.Code);
SetValue('ISOCode', CountryRegion."ISO Code");
SetValue('EUCode', CountryRegion."EU Country/Region Code");
until CountryRegion.Next() = 0;
end;
end;
Example (3)
// [Example] 03 - Create new custom DataTable based on optionfield
[EventSubscriber(ObjectType::Codeunit, Codeunit::"MOB WMS Reference Data", 'OnGetReferenceData_OnAddDataTables', '', true, true)]
procedure My03OnGetReferenceData_OnAddDataTables(var _DataTable: Record "MOB DataTable Element")
var
SalesHeader: Record "Sales Header";
OptionIdx: Integer;
begin
with _DataTable do begin
InitDataTable('MyDocumentTypes');
for OptionIdx := SalesHeader."Document Type"::Quote to SalesHeader."Document Type"::"Return Order" do begin
SalesHeader."Document Type" := OptionIdx;
Create();
SetValue('DocumentType', Format(SalesHeader."Document Type"));
end;
end;
end;
More examples
There are no items with the selected labels at this time.
Version History
Version | Changes |
---|---|
MOB5.15 | Introduced |