How-to: Modify Custom Line Step dynamically

Description

This describes Line steps used in Planned Functions.

You can conditionally update a steps properties like Visible, Default value or Help label. See the complete list of properties here: Step Configuration Matrix


Dynamically Insert Values

Line steps in Planned functions are defined in Reference DataThis makes them static to a degree.

Example

In this example, we will make a Line step dynamic by changing it's properties:


Step 1

Create Steps in "ReferenceData".


 

Using event OnGetReferenceData_OnAddRegistrationCollectorConfigurations

  • We name the configuration key "CustomPickSteps". We name each step like Text or Date step. 
  • You can use any naming.


    // Step 1

    [EventSubscriber(ObjectType::CodeunitCodeunit::"MOB WMS Reference Data", 'OnGetReferenceData_OnAddRegistrationCollectorConfigurations''', true, true)]
    local procedure OnGetReferenceData_OnAddRegistrationCollectorConfigurations(var _Steps: Record "MOB Steps Element")
    begin
        // Define a key for the step(s)
        _Steps.InitConfigurationKey('CustomPickStep');

        // Create steps and set default values
        _Steps.Create_InformationStep(5'InfoStep''HeaderText''Label''HelpLabel');
    end;


Step 2

Include the step in "...OnAddStepsToAnyLine"-event


 

Use one of these events:


    // Step 2

    [EventSubscriber(ObjectType::CodeunitCodeunit::"MOB WMS Pick", 'OnGetPickOrderLines_OnAddStepsToAnyLine''', true, true)]
    local procedure MyOnGetPickOrderLines_OnAddStepsToAnyLine(_RecRef: RecordRefvar _BaseOrderLineElement: Record "MOB Ns BaseDataModel Element")
    var
        WarehouseActivityLine: Record "Warehouse Activity Line";
    begin
        if (_RecRef.Number = Database::"Warehouse Activity Line"then begin
            _RecRef.SetTable(WarehouseActivityLine);

            // Overwrite Step values with information from pick line 
            _BaseOrderLineElement.Create_StepsByReferenceDataKey(STRSUBSTNO('CustomPickStep{[InfoStep][helpLabel][Description is: "%1"]}', WarehouseActivityLine."Description"));
        end;
    end;


  • Set value "RegisterExtraInfo". 
  • Using this syntax
'StepsConfigurationKey { [StepName] [StepProperty] [Value] }


  • You must use the same key CustomPickStep and step name InfoStep, which you choose earlier.
  • See the complete list of properties: Step Configuration Matrix

Result on Mobile

When the example code above has been deployed the Mobile WMS App must be restarted to read the new reference data created from the events (is loaded only once on login). By then the result on the mobile device is:



See also