Whitepaper Understanding Steps
Description
Steps are used to collect additional information in Unplanned Functions or Planned Functions.
View all steps and their attributes on the Step Configuration Matrix.
Overview
Where are steps defined
Planned Functions (Header/Line steps)
Standard workflow steps:
Statically defined Line Steps in Mobile Configuration Files as part of a Workflow
Customized steps:
Dynamically defined Header/Line steps. See How-to: Add Line Step
Always dynamically sent on-the-fly from Backend
Steps in Planned functions
Step on posting (header step)
Additional information that is collected when Posting registrations.
This happens only once.
Ordering
Custom steps and existing standard steps are both ordered by "id".
We use "Receive" in this example due to it being the only planned function to feature a Header Step as standard.
Example
A standard step "Delivery Note" may exist at warehouse receipts and purchase orders (Controlled by Mobile WMS Setup, field: "Skip collection of delivery note on receive" ).
Standard Step "DeliveryNote" is id=10
Adding new steps with id less than 10 will display before DeliveryNote
Adding new steps with id greater than 10 will display after DeliveryNote
The standard step for entering "Delivery Note" when posting a Receipt
Step per line (line step)
Additional information that is collected during a line registration
This happens for each and every order line.
Ordering
Custom steps and existing standard steps are both ordered by "id".
Example
Standard steps are defined by the workflow named "standard".
Standard steps are numbered with ID's 10, 20, 31 etc.
So, adding new steps with ID 25 will be displayed between "To/From Bin" and "Expiration Date"
Note: Order Lines must be configured with stepSorting=byId
Steps in Unplanned functions
Steps are used to collect information after a Header has been accepted
See more Unplanned Functions.
Using steps in code
Adding steps
All Steps must be assigned a mandatory Id and unique Name that identifies it and then a number of (mostly optional) attributes that defines the behavior of the step.
Attributes are not be the same for every step, but depends on what is being collected.
The editor suggests two kinds of functions:
Template steps
Create_TextStep_LotNumber : A text step based on a "template" specifically designed to accept Lot Numbers.
Create-functions
Create_TextStep : You must input at least the mandatory properties for the step.
Set_.... can be used to set additional attributes.
In the editor: Type _steps.create.... to see the wide selection of create- and template-functions.
Set-functions
Use these to define/overrule attributes from create/template functions.
Commonly used are:
Set_visible
Set_optional / Set_locked
Set_minValue / Set_maxValue
Set_label
Set_helpLabel
....use the editor to find them all..
See Step Configuration Matrix for all the possibilities.
Template uses Set-functions too
Create_TextStep_LotNumber is implemented using the Create_TextStep base-type and then Setting all the necessary attributes.
Create_TextStep(7, 'LotNumber'); // 7 = Id, could be any value but Steps is generally sorted by Id – the Name is actual identifier and must be unique
Set_header(MobWmsLanguage.GetMessage('ITEM') + ' ' + ItemNo + ' - ' + MobWmsLanguage.GetMessage('ENTER_LOT'));
Set_label(MobWmsLanguage.GetMessage('LOT_NO_LABEL') + ':');
Set_helpLabel('');
Set_eanAi(MobToolbox.GetLotNoGS1Ai());
Set_autoForwardAfterScan(true);
Set_optional(false);
Set_visible(true);
Set_labelWidth_WindowsMobile(100);
Set_defaultValue('');
Set_length(50);
... this is exactly how you would create a Step 'from scratch' yourself.
Combining Templates with Set-functions
You may do a combination:
Use a Template to create a step
Then override specific attributes of your choice
For example:
Create_DecimalStep_Quantity(5, ItemNo);
Set_minValue(1);