Versions Compared

Key

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

Description

Steps are used to collect additional information in Unplanned Functions or on Order/Lines.

Overview

Table of Contents
maxLevel3
minLevel2
excludeOverview|Description

    

Where are steps defined



Steps in Planned functions 

Step on posting (header step)


Additional information that is collected when Posting registrations.

This happens only once.

OrdersStep on a Receipt Order


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


See also: Whitepaper Understanding Steps 


Step per line (line step)

Additional information that is collected during a line registration

This happens for each and every order line.

Order LinesStep on a Receipt 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


  1. The user "accepts" the Header

  2. Backend responds with a set of Steps to Collect 


See more Unplanned Functions.


Using steps in code
Anchor
usingsteps
usingsteps

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.



Image Added

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.

Image Added


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:

  1. Use a Template to create a step
  2. Then override specific attributes of your choice


For example:

    Create_DecimalStep_Quantity(5, ItemNo);
    Set_minValue(1);