Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.

Use this event to

Excerpt

Create new DataTables ("ListData") that can be used from Steps and HeaderConfigurations.

...

Consider using Steps.Create_ListStepFromListValues() or HeaderField.Create_ListFieldFromListValues() if your lists are short, only requires one field per entry - or needs to be dynamic - and do not require multiple fields per entry.


Template

    [EventSubscriber(ObjectType::CodeunitCodeunit::"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::CodeunitCodeunit::"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::CodeunitCodeunit::"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::CodeunitCodeunit::"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;



Filter by label (Content by label)
showLabelsfalse
showSpacefalse
sorttitle
titleMore examples
excerptTypesimple
cqllabel = "bc" and label = "referencedata" and label = "example" and label = "OnGetReferenceData_OnAddDataTables"

...