ESWMS-RF-Technical-Reference-Guide

Από

Entersoft Business Suite® | Entersoft WMS®

ESRF Technical Reference

Περιεχόμενα

Identity

Document Version 1.0.0.0

Software Version Entersoft WMS Mobile Mobile (ESRF)

Last Update March 2021

Copyright

© Copyright 2021 Entersoft S.A. All rights reserved.

No part of this work may be reproduced, transmitted, stored, or used in any form or by any means, without the prior written permission of the publisher.

Regarding the present content …

  • It may be altered at any time.
  • It serves exclusively informative goals.
  • No guarantee whatsoever is handed out for the possible existence of mistakes or the wrongful use or non-wanted results produced by the use of processes hereby followed and recommended.


=

WMS architecture

ESWMS-RF-Technical-Reference-Guide-image1.png

  • Modern architecture
  • Integrated but Stand-Alone
  • Works with all Entersoft Business Suite Modules
  • Adds Value to the EBS Investment
  • Scalable to ‘000s Users
  • State-of-the Art N-Tier Architecture
  • Scale-up, Scale-out, Distributed
  • On-premises, On-Cloud, Hybrid
  • Robust, Reliable, Secure and Expandable
  • Uniform & Consistent

Device characteristics

Devices & OSs:

  • Windows CE 4.0+ and Windows Mobile 6+ (written with .Net compact framework 3.5)
  • Android 4.1.x (API level 16) and onwards (written with Kotlin)
  • Wi-Fi and http(s) protocol (Google protobuf)
  • Keyboard or Touchscreen
  • Barcode reader
  • Camera (optional)

Printers

  • Native printing Engine (performance, device specific features and tools)
  • Printing stations sharing through LAN
  • Zebra, Datamax, etc.

Barcode stacks – GS1 parser

ESWMS-RF-Technical-Reference-Guide-image2.png

A set of parameters and functions to parse and validate a GS1 barcode:

  • ESGS1Config.xml: Definition of GS1 application identifiers (AI)
  • GS128Parser.BarCodeDecode(input, session): Function to parse a GS1 barcode
  • WMS_FNC1: GS1 variable length AI separator
  • EAN13PREFIX: GS1 global unique ID per company
  • GS1_BARCODE_ID: Default starting set of characters ]C1 for GS1 barcode
  • DBG_SSCC_VALIDATION: Enable GS1 SSCC validation method

Barcode processing types (script) to read:

  • Variable Weight materials
  • Color/Size
  • Lot/serial number
  • Custom barcodes

RF client application characteristics

User interface

  • It’s all about speed
  • Quick response (use of Google protobuf as serialization format)
  • Limited screen real estate
  • As less user input as possible
  • Minimal UI, no icons, basic colors
  • Keyboard and/or touch screen
  • Parametric per device type

Navigation keys

  • ESC
  • Backspace
  • Enter
  • Numeric keys
  • Function keys
  • Search keys (default *)

Touch events

  • Simulation gestures (esc, enter, search, scan)
  • Action menus

Features of the application

  • Multilingual

  • Common workflow scenarios for all OSs

  • Versions for

    • Windows mobile, Android, emulator on windows desktop:

ESWMS-RF-Technical-Reference-Guide-image3.png ESWMS-RF-Technical-Reference-Guide-image4.png ESWMS-RF-Technical-Reference-Guide-image5.png

RF client application settings for Windows

  • Customization per device type.
    • Connection settings
    • Hardware (Device type - OS)
    • Appearance (themes)
    • Keycodes (Keys)
    • Login type
      • Retain credentials
      • Clean credentials
      • Clean password
  • Auto update RF client version on Windows Mobile devices thru Web API
  • Download RF client version from mportal.entersoft.gr

RF client application settings for Android

  • Touch mode
  • Soft keyboard behavior
  • Scanner settings
  • Fast configuration by QR code / email.
  • Download RF app version from mportal.entersoft.gr

mportal.entersoft.gr

Entersoft's mobile apps, all in one place.

ESWMS-RF-Technical-Reference-Guide-image6.png

RF communication

Entersoft Web API

  • RF communication through ES WEB API
    • Connect with multiple app servers
      • On heavy load
      • Use of sticky session
  • RF calls
    • Init
      • Server recognizes user and device type
      • Do some checks
      • Send keycodes & themes to RF client
    • GetFirstView
      • Initiates WF Engine or continues with the last (shows the last screen, continue work)
    • OnVkeyPressed
    • OnItemSelected
    • Logout
  • Server returns the whole view. Client just renders the view!

Application server components

  • Entersoft framework - extend use of
    • Backend services
    • Automations
    • PublicQueries

Application monitoring

Error logging

Event logging per user, device and event type (info, warnings, errors, exceptions) in folder: ESNoSync\RF\AppName\UseName

Activation of:

  • Aggregate recording of the duration of requests every 12 hours
  • Aggregate recording of services every 12 hours (eg Save, PQs)
  • Recording information for requests/ services that lasted more than 5 seconds

Remote assistance – remote monitoring

ESWMS-RF-Technical-Reference-Guide-image7.png

RF application - workflow

Design principles

  • No logic, just renderer
  • Zero maintenance
  • Wizard like
    • Gathers info in each view
    • Save at the end
    • Loop if needed
  • Just 4 view types:
    • MenuView, MessageView, FieldView, SelectionListView

ESWMS-RF-Technical-Reference-Guide-image8.pngESWMS-RF-Technical-Reference-Guide-image9.pngESWMS-RF-Technical-Reference-Guide-image10.pngESWMS-RF-Technical-Reference-Guide-image11.png

Application components

  • Themes: The appearance of the application
  • Modules:
    • Keys: User interaction using virtual keys
    • Config and Resources: Application parameters
    • Views: Menus, messages, data entry views, search or reporting views
    • Events: Manage when a key is pressed on the client, when a field value change
    • Commands: Τrigger the execution of various actions (e.g. login, beep, ShowCamera, CameraScan)
  • Custom functions used in the application, such as, in execution conditions, for object manipulation etc.:
    • Scripts: e.g. WhoAmIInfo.vb, NewLotBarcode.vb, ValidateSSCC.vb
    • Filters: e.g. AddDays.vb, ConvertUnits.vb
    • Expressions: GetSite.vb, GetViewID.vb, NewGUID.vb

Themes

Themes for Windows mobile:

  • Theme.json
  • Dark.json

Themes for Android:

  • theme_android.json
  • Android_touch.json

Properties for:

  • Margins
  • AppStyle, TitleStyle
  • SelectionKeyStyle
  • FieldCaptionStyle
  • FieldTextBoxStyle
  • FieldTextBoxReadOnlyStyle
  • HelpStyle, StatusStyle
  • PageIndicatorStyle
  • Specific / custom styles (used in the property Appearance)

ESWMS-RF-Technical-Reference-Guide-image12.png

Hex colors e.g. www.w3schools.com/colors/colors_picker.asp

Views

ESWMS-RF-Technical-Reference-Guide-image13.png

Keys

Common Keys (ESRF\Common):

  • <Key VKey=“Enter”/>
  • <Key VKey=“Esc”/>
  • <Key VKey=“ExitView”/>
  • <Key VKey=“PageUp”/>
  • <Key VKey=“PageDown”/>
  • <Key VKey=“PageLeft”/>
  • <Key VKey=“PageRight”/>
  • <Key VKey=“ArrowUp”/>
  • <Key VKey=“ArrowDown”/>
  • <Key VKey=“ArrowLeft”/>
  • <Key VKey=“ArrowRight”/>
  • <Key VKey=“Backspace”/>
  • <Key VKey=“Selection”/>
  • <Key VKey=“SelectionAlt”/>
  • <Key VKey=“FK80”/> (esc)
  • <Key VKey=“FK81”/> (F2)

Application Keys (ESRF\WMS):

  • <Key VKey="FK1" KeyCode="112" KeyText="F1" CommandText="~Αλλαγή" />
  • <Key VKey="FK2" KeyCode="113" KeyText="F2" CommandText="~Νέο Είδος" />
  • <Key VKey="FK3" KeyCode="114" KeyText="F3" CommandText="~Αναζήτηση" />
  • <Key VKey="FK4" KeyCode="112" KeyText="F1" CommandText="~Αλλαγή ΜΜ" />
  • <Key VKey="FK5" KeyCode="116" KeyText="F5" CommandText="~Ανανέωση" />
  • <Key VKey="FK6" KeyCode="112" KeyText="F1" CommandText="~Προσθ.ποσ." />
  • <Key VKey="FK7" KeyCode="113" KeyText="F2" CommandText="~Νέο απόθ." />
  • <Key VKey="FK8" KeyCode="112" KeyText="F1" CommandText="~Αλλαγή ΜΜ" />
  • <Key VKey="FK9" KeyCode="113" KeyText="F2" CommandText="~Τυπ.Παλ." />
  • <Key VKey="FK10" KeyCode="121" KeyText="F10" CommandText="~Νέα Lot" />
  • <Key VKey="FK13" KeyCode="112" KeyText="F1" CommandText="~ΔΣΜ" />
  • <Key VKey="FK14" KeyCode="113" KeyText="F2" CommandText="~ΑΚΑΤ" />
  • <Key VKey="FK15" KeyCode="116" KeyText="F5" CommandText="~Δηλ.ΚΟΛΑ" />
  • <Key VKey="FK16" KeyCode="40" KeyText="" CommandText="~(↓)Μείωση" />
  • <Key VKey="FK17" KeyCode="38" KeyText="" CommandText="~(↑)Αύξηση" />
  • <Key VKey="FK18" KeyCode="113" KeyText="F2" CommandText="~Περιέκτες" />

RF application file structure

RF application file structure in the application server:

  • ESRF\Common: Common library that all applications have access to the following objects:

    • Themes (default themes per device type)

    • Modules

      • ES (common for all applications)

        • Keys.xaml & Keycodes.xaml

        • Views.xaml

        • Resources_Init.xaml

        • Config_Init.xaml

        • Commands.xaml

      • Remote (enables remote monitoring)

      • Debug (enables F11 debug)

  • ESRF\{RFAppName}

    • WF.xaml (+ other included xamls)

    • Config.xaml

    • Keys.xaml (per device type)

    • Theme.json (per device type)

    • Scripts folder

    • Filters folder

    • Expressions folder

  • CSRF\{RFAppName}

    • Themes

    • Modules

    • Scripts

Common modules

Common modules in folder ESRF\Common\Modules\ES:

  • Keys.xaml
    • Key VKey=Enter/>
    • Key VKey=Esc/>
    • Key VKey=ExitView/>
    • Key VKey=PageUp/>
    • Key VKey=PageDown/>
    • Key VKey=PageLeft/>
    • Key VKey=PageRight/>
    • Key VKey=ArrowUp/>
    • Key VKey=ArrowDown/>
    • Key VKey=ArrowLeft/>
    • Key VKey=ArrowRight/>
    • Key VKey=Backspace/>
    • Key VKey=Selection/>
    • Key VKey=SelectionAlt/>
    • Key VKey=FK80/> (esc)
    • Key VKey=FK81/> (F2)
  • Keycodes.xaml
    • Set Property=Keys.Enter.KeyCode Value=13/>
    • Set Property=Keys.Esc.KeyCode Value=27/>
    • Set Property=Keys.ExitView.KeyCode Value=27/>
    • Set Property=Keys.PageUp.KeyCode Value=38/>
    • Set Property=Keys.PageDown.KeyCode Value=40/>
    • Set Property=Keys.PageLeft.KeyCode Value=37/>
    • Set Property=Keys.PageRight.KeyCode Value=39/>
    • Set Property=Keys.ArrowUp.KeyCode Value=38/>
    • Set Property=Keys.ArrowDown.KeyCode Value=40/>
    • Set Property=Keys.ArrowLeft.KeyCode Value=37/>
    • Set Property=Keys.ArrowRight.KeyCode Value=39/>
    • Set Property=Keys.Backspace.KeyCode Value=8/>
    • Set Property=Keys.Selection.KeyCode Value=13/>
    • Set Property=Keys.SelectionAlt.KeyCode Value=97/>
    • Set Property=Keys.FK80.KeyCode Value=27/>
    • Set Property=Keys.FK81.KeyCode Value=113/>
  • Views.xaml
    • <Include Source=ActiveSessionsView/>
    • <Include Source=InitErrorView/>
    • <Include Source=ErrorView/>
    • <Include Source=WarningView/>
    • <Include Source=NoDataView/>
    • <Include Source=InfoView/>
    • <Include Source=OKCancelView/>
    • <Include Source=YesNoView/>
    • <Include Source=YesNoCancelView/>
    • <Include Source=SystemInfoView/>)
  • Commands.xaml
    • Login
    • Beep
    • Undo
    • ViewInfo
    • CmdToggleSip
    • CmdPing
    • CmdServerPing

EBS file structure

Some services running on the RF application use files located on the application server file structure, such as:

  • Public queries in folder: ESPublicQueries\ESWMMobile
  • Scroller commands in folder:ESScrollerCommands\ESWMMobile
  • Shadowing with the corresponding files in CS folders:
    • CSPublicQueries\ESWMMobile
    • CSScrollerCommands\ESWMMobile

Workflow engine

Workflow execution logic

One workflow engine is created per RF connection (userID and appID).

At first:

  • Server recognizes userID and appID
  • Do some checks
  • Initiates WF Engine or continues with the existing

When new WF engine is started the following objects are loaded and are available during workflow execution:

  • Workflow engine objects (commands, services etc.)
  • Send keycodes & themes to RF client
  • Application and CACHE variables
  • All objects from ESRF\Common
    • Themes (per device type)
    • Modules (Config, Keys, Keycodes, Views, Resources, Commands, Scripts)
  • All objects from ESRF\[RFAppName]
  • All objects from CSRF\[RFAppName]

The engine reads the files (themes, keys, etc.) with the corresponding device type as suffix, otherwise reads the files without suffix, for example Keys.xaml, Keys.Motorola.xaml, Keys.Android.xaml

and starts then execution of the workflow that is defined in WF.xaml of the selected app [RFAPPName]

WF.xaml

  • Executes workflow which is defined in WF.xaml
  • WF.xaml :
    • It’ s the main file of the application.
    • We define in xaml:
      • Keys
      • Config / Resources
      • Commands
      • Events
      • Views
  • Each View is appeared sequentially
  • Engine keeps views in a stack

ESWMS-RF-Technical-Reference-Guide-image14.png

Customization - files shadowing

Shadowing takes place between files with the same name which are in different folders (ES – CS).

If file with the same name is created in the folder CSRF\WMS then it replaces the corresponding file in the folder ESRF\WMS during execution of the workflow.

For example, file CSRF\WMS\Config.xaml will be executed instead of file ESRF\WMS\Config.xaml.

Customization – objects conflict resolution

All objects in files under subfolders are loaded and merged with the following order:

  1. The objects from files with suffix _Init in folder CSRF\WMS\Modules\MyFolder. For example, Config_Init.xaml, Views_Init.xaml.
  2. The objects from files in folders ESRF\WMS\ (and ESRF\Common\Modules). For example,

Config.xaml, View.xaml, Keys.xaml

  1. The objects from files in folder CSRF\WMS\Modules\MyFolder. For example,

Config.xaml, View.xaml, Keys.xaml

ESWMS-RF-Technical-Reference-Guide-image15.png

* The bold prevails.

XAML

XAML dev environment

ESWMS-RF-Technical-Reference-Guide-image14.png

Debugging

  • F9: To get the ViewID. Custom views have an asterisk * in front of the ViewID.
  • F11: To enable debug mode
  • Config: <Set Property="DebugEnabled" Value="True" />

ESWMS-RF-Technical-Reference-Guide-image16.png

WF.xaml – Behavior

ESWMS-RF-Technical-Reference-Guide-image17.png

ESWMS-RF-Technical-Reference-Guide-image18.png

Various

  • <Include Source="Staging" />: Include the XAML statements of the external xaml file.
  • <LocalInclude Id="CheckLotExpiration">: Define local include in xaml file for reusing XAML statements.
  • ESWMS-RF-Technical-Reference-Guide-image19.png
  • <Include Id="CheckLotExpiration" />: Reference to a specific local include.
  • Block: Organize XAML statements into conditionally executable blocks
    • Property: Condition

ESWMS-RF-Technical-Reference-Guide-image20.png

Views

MenuView

  • MenuView properties:
    • Id, Title, TitleLines, HelpText, HelpLine, StatusLines
    • Appearance
  • MenuView.MenuItem:
    • Text
    • Visible
    • ClientCommandId: If defined this command will be executed
  • MenuView.Events
    • OnVKeyPressed

ESWMS-RF-Technical-Reference-Guide-image21.png

ESWMS-RF-Technical-Reference-Guide-image8.png

FieldView

  • FieldView properties:

    • Id, Title, TitleLines, HelpText, HelpLine, StatusLines

    • Appearance, DefaultCaptionPosition (Top, Left)

  • FieldView.Fields:

    • Label

    • Text

    • Numeric

    • Date

    • Lookup

  • FieldView.Events

    • OnSubmit

    • OnVKeyPressed

      ESWMS-RF-Technical-Reference-Guide-image22.png

      ESWMS-RF-Technical-Reference-Guide-image10.png

FieldView.Fields.Label

  • Properties:
    • Id
    • Caption
    • Text
    • Visible

ESWMS-RF-Technical-Reference-Guide-image23.png

FieldView.Fields.Text

  • Properties:
    • Id, Caption, Text, HelpText, MaxLength
    • Visible: Allows you to display or hide the field.
    • Blocking: It is mandatory to fill or set the field value.
    • Editable: The user is allowed to fill a value to the field.
  • Events:
    • OnVKeyPressed
    • OnValueChanged

ESWMS-RF-Technical-Reference-Guide-image24.png

FieldView.Fields.Numeric

  • Properties:
    • Id, Caption, Text, HelpText
    • Visible: Allows you to display or hide the field.
    • Blocking: It is mandatory to fill or set the field value.
    • Editable: The user is allowed to fill a value to the field.
    • ControlType (Decimal or Integer)
  • Events:
    • OnVKeyPressed
    • OnValueChanged

ESWMS-RF-Technical-Reference-Guide-image25.png

FieldView.Fields.Date

  • Properties:
    • Id, Caption, Text, HelpText
    • Visible: Allows you to display or hide the field.
    • Blocking: It is mandatory to fill or set the field value.
    • Editable: The user is allowed to fill a value to the field.
  • Events
    • OnVKeyPressed
    • OnValueChanged

ESWMS-RF-Technical-Reference-Guide-image26.png

FieldView.Fields.LookUp

  • Properties:
    • Id, Caption, Text, HelpText
    • Visible: Allows you to display or hide the field.
    • Blocking: It is mandatory to fill or set the field value.
    • Editable: The user is allowed to fill a value to the field.
    • ValueMember: The column of the public query that contains the value we want
    • VKey: The Vkey that activates the search, e.g. the execution of PublicQuery. Without VKey, the list opens automatically when the field gets the focus.
  • Hidden properties:
    • Value: The value of the column in ValueMember
    • SelectedItem: The selected row of ListView
  • Lookup.ListDataContext
    • ItemsSource: Is the data source of ListView
    • CtrlValue: The non-validated and temporary value of field ([VIEW.StorageLocation.CtrlValue])
  • Lookup.ListView
    • The display of the contents of ItemsSource (e.g. the results of PublicQuery)
    • ITEM: <Column Text="[ITEM.StorageLocation_Code][N][ITEM.StorageLocation_Description]"/>
  • Lookup.Events
    • OnVKeyPressed
    • ExitView

ESWMS-RF-Technical-Reference-Guide-image27.png

SelectionListView

  • Properties:
    • Id, Title, TitleLines, HelpText, HelpLine, StatusLines, Appearance
    • Style : SingleColumn, CardView, CardViewSuppressNulls, SingleCard, SingleCardSuppressNulls
    • AutoSelectSingleItem
    • NoDataMessage
  • SelectionListView.ItemsSource
    • Is the data source of the SelectionListView.Columns
  • SelectionListView.Columns
    • Column Id, Caption, Text, Visible
    • ITEM: <Column Id="ContainerType" Text="[ITEM.Code] - [ITEM.Description]" Visible="[VIEW.ContainerType]" />
  • SelectionListView.Events
    • OnSubmit
      • <ExitView /> or <ExitView ExitCode = “OK” />
    • OnVKeyPressed

ESWMS-RF-Technical-Reference-Guide-image28.png ESWMS-RF-Technical-Reference-Guide-image11.png

MessageView

  • Properties
    • Id, Title, TitleLines, HelpText, HelpLine, StatusLines, Appearance
    • Message
    • InitClientCommandId
  • Answers
    • VKey
    • Text
    • ExitCode: The ExitCode will be checked to decide the continuation of workflow.
    • Visible
  • Events
    • OnVKeyPressed

ESWMS-RF-Technical-Reference-Guide-image29.png

ESWMS-RF-Technical-Reference-Guide-image9.png

Verbs

Error Message

  • Properties: Message, Condition, Title

  • Syntax:

<Error Message = "~no balance" Condition="[CTX.SelectedItem.HasBalance|NOT]"/>

  • In fact, a MessageView with Id “ErrorView” is executed when an error occurs.

  • EXIT.Message

<Invoke Service="CTX.Action.Save">

<ELSE>

<Set Property="EXIT.Message" Value="~Απέτυχε η αποθήκευση[N][EXIT.Message]" />

<Error Exit="[EXIT]" />

</ELSE>

</Invoke>

ESWMS-RF-Technical-Reference-Guide-image30.png

Warning Message

  • Properties: Message, Condition, Title

  • Syntax:

<Warning Message = "~no balance" Condition="[CTX.SelectedItem.HasBalance|NOT]"/>

  • In fact, a MessageView with Id “WarningView” when a warning is displayed.

Invoke service

  • Properties:
    • Service: The service to be executed
    • Result: The returned objects from the execution of the service
    • Condition: Execution condition
  • Invoke.Params: The execution parameters of the service
  • Results handling:
    • OK: When the execution of the service returns results / objects
    • NO_DATA: When the execution of the service does not return results / objects
  • Exception handling:
    • ELSE: When an exception occurs

ShowNext

  • Displays a new view which is added to the stack (push a view at the top of the stack).
    • Properties:
      • View
      • Condition
      • DataContext
  • Results handling:
    • <OK>: default exitcode
    • <NO_SELECTION>
    • <YES>, <NO> answers from message views
    • <When ExitCode="custom ExitCode">

Show an external view:

ESWMS-RF-Technical-Reference-Guide-image31.png

Show “inplace” view:

ESWMS-RF-Technical-Reference-Guide-image32.png

GoBackTo

  • Displays an existing view in the stack (pop from the top of the stack) and removes the subsequent views.
  • Properties: View, DataContext, Condition, ReuseDataContext

Show an external view that already exists is the stack:ESWMS-RF-Technical-Reference-Guide-image33.png

Remains to the same view but with different datacontext:ESWMS-RF-Technical-Reference-Guide-image34.png

ExitEvent

  • Stops the execution of the event.
  • Properties: Condition

ESWMS-RF-Technical-Reference-Guide-image35.png

Freeze

  • The workflow remains on the same view

ESWMS-RF-Technical-Reference-Guide-image36.png

Set Property

  • Used to create object properties, to assign values to objects, to parameters, etc.
  • Syntax: <Set Property = “NameOfProperty” Value = “ValueOfProperty” Condition = “assignment condition” />

Use of “[Object]”, example:

<Set Property = “MyValue“ Value = “123” />

<Set Property = “MyObject“ Value = “MyValue” /> : The MyObject has value the text “MyValue“

<Set Property = “MyObject“ Value = “[MyValue]” /> : The MyObject has the value of the object MyValue which is “123”

Services

WMS.ResolveItemInfo

  • Executes the barcode pre-processing and post-processing mechanism and returns an object with the identified item and the values assigned to the corresponding columns.
  • Invoke.Params : ItemCode

ESWMS-RF-Technical-Reference-Guide-image37.png

  • The WMS.ResolveItemInfo service returns the following columns:

GID, Code, ItemCode, Description, ItemDescription, fItemControlPolicyGID, AssemblyType, ItemType,

fItemMUGID, ItemMUCode, fMainMUGID, fAltMUGID, fWeightMUGID, ItemWeightMUCode, WeightReservedRelation, fVolumeMUGID, ItemVolumeMUCode, VolumeReservedRelation,

fServiceMUGID, ServiceMUCode, Quantity, QtyBaseMU, QtyAltMU, Weight, Volume,

ColorMgmt, SizeMgmt, LotMgmt, SerialNumberMgmt, StockDim1Mgmt, StockDim2Mgmt, LotCharacteristicsMgmt, fColorCode, fSizeCode, fStockDim1Code, fStockDim2Code, RequiresBCProcessing, fBCProcessingTypeCode, fLotGID, LotCode, LotBarCode, fSerialNumberGID, SerialNumberCode, SerialNumberBarCode, LotExpirationDate, LotProductionDate, LotLimitOrderDate, fLotTableField1Code, fLotTableField2Code, fLotTableField3Code, fLotTableField4Code, fLotTableField5Code, fLotTableField6Code,

LotStringField1, LotStringField2, LotStringField3, LotStringField4, LotStringField5, LotStringField6,

LotNumericField1, LotNumericField2, LotNumericField3, LotNumericField4, LotNumericField5, LotNumericField6,

LotNumericField7, LotNumericField8, LotNumericField9, LotNumericField10, LotNumericField11, LotNumericField12, NumericField1, NumericField2, NumericField3, NumericField4, NumericField5, NumericField6, NumericField7, NumericField8, NumericField9, NumericField10, NumericField11, NumericField12

WMS.BarcodeDecode

Returns an object with all application IDs that were identified by barcode processing. The application IDs are defined in file ESConfig\ESGS1Config.xml.

Invoke.Params : Barcode

ESWMS-RF-Technical-Reference-Guide-image38.png

PQ.ESWMMobile (PublicQuery)

Executes a PublicQuery located on the application server in the subfolder: ESPublicQueries\ESWMMobile\[PublicQueryName]

ESWMS-RF-Technical-Reference-Guide-image39.png

WMS.FilterPQbyItemResolver

  • Filters a PublicQuery results with the corresponding columns of ItemResolver.
  • Invoke.Params:
    • PQname
    • PQparams
    • ItemResolver
    • ignoreMU
    • joinMode: Default inner, Mem, PQ, Both
    • joinType: Equal, MemNullOrEqual, PQNullOrEqual, BothNullOrEqual
    • orderbyList
    • fromReplenishment
    • columnsSource

ESWMS-RF-Technical-Reference-Guide-image40.png

  • ESWMS-RF-Technical-Reference-Guide-image41.png

WMS.ExecuteScrollerCommand

Executes a ScrollerCommand located on the application server in the subfolder: ESScrollerCommands\ESWMMobile\DummyFilter\[ScrollerCommandName]

ESWMS-RF-Technical-Reference-Guide-image42.png

WMS.Print

Executes the printing mechanism for a specific StorageLocation, ActionType and Action. We must set the scroller Params that are defined in the specific ESGOReport.

  • ESWMS-RF-Technical-Reference-Guide-image43.png

WMS.SCRIPT

Executes a specific script with its parameters.

COPY

Copies specific columns from one object to another

ESWMS-RF-Technical-Reference-Guide-image44.png

GroupBy

Groups the columns of one object and copies the result to another object

ESWMS-RF-Technical-Reference-Guide-image45.png

WMS.NewAction

  • A set of services to create, update, delete, discard an action or actionitem.
  • Header of action:
    • WMS.NewAction : Create new action
      • Properties: ActionTypeInternationalID, TransportMode (From, To, Both)
      • Results: VIEW.Action
    • VIEW.Action.Update : Update existing action
      • Properties: Data, TransportMode
    • VIEW.Action.Save : Save action
    • VIEW.Action.Delete : Delete action
    • VIEW.Action.Discard : Discard action from cache
    • VIEW.Action.Complete : Change the state of the action to complete.
  • ActionItems of specific action:
    • VIEW.Action.NewItem : Insert new actionitem
      • Properties: TransportMode
      • Results: VIEW.ActionItem
    • VIEW.ActionItem.Update : Update existing actionitem
      • Properties: Data, TransportMode
    • VIEW.ActionItem.Action.Save : Save actionitem
    • VIEW.ActionItem.Delete : Delete actionitem
    • VIEW.ActionItem.Discard : Discard actionitem from cache
  • Properties:
    • DiscardOnException : Auto discard the action from cache when exception occurs
    • CreateRelation : Creates new relation in item mu relation

Events

Events determine what happens when the RF workflow status changes, either on the client or on the server. For example, there are events that manage when a key is pressed on the client, but there are also events that manage when a field value change.

The engine automatically adds events that we can override.

  • OnAppStart: Is triggered at startup (WF.xaml)
  • OnVKeyPressed: Is triggered by user interaction
  • OnValueChanged: Is triggered when a field value is changed
  • OnSubmit: This event occurs when the focus is changed from the last field of a view

They apply to the following objects:ESWMS-RF-Technical-Reference-Guide-image46.png

OnAppStart

Is triggered at startup (WF.xaml). Used to initialize parameters / objects.

ESWMS-RF-Technical-Reference-Guide-image47.png

OnVKeyPressed

Is triggered when a virtual key (VKey) is pressed by user.

The event is defined in fields, views and in APP level. It will be executed with the following priority.

First the event defined in the field, then in the fieldview and finally in the APP object, if the execution conditions are evaluated.

Properties:

  • VKey, Vkeys: <OnVKeyPressed VKeys="Esc,ExitView">

  • Condition

  • ClientCommandId: If defined this command will be executed otherwise the XAML statements contained in the event will be executed.

  • ValueChanged (True, False): Will be executed only if the value of the focused field has changed.

    The engine adds some OnVKeyPressed automatically.

    Field event:

    ESWMS-RF-Technical-Reference-Guide-image48.png

    View event:

    ESWMS-RF-Technical-Reference-Guide-image49.png

    OnAppStart event:

    ESWMS-RF-Technical-Reference-Guide-image50.png

OnValueChanged

Is triggered when a field value is changed.

ESWMS-RF-Technical-Reference-Guide-image51.png

ESWMS-RF-Technical-Reference-Guide-image52.png

OnSubmit

This event occurs when the focus is changed from the last field of the current view and either a new view will appear, or an action like save will be performed.

ESWMS-RF-Technical-Reference-Guide-image53.png

Filters

Filters are used internally when evaluating an expression.

They are used: in conditions, in visibility, to display info, to assign values etc.

ESWMS-RF-Technical-Reference-Guide-image54.png

The evaluation order of an expressions is left to right and follows the Reverse Polish Notation.

ESWMS-RF-Technical-Reference-Guide-image55.png

VIEW and DataContext (CTX)

VIEW

The VIEW is an object that contains the properties and the fields of the current view.

Properties of a view:

  • VIEW.Fields: The fields of a fieldview.
  • VIEW.FieldName.Value: The current value of the field (dirty value).
  • VIEW.Obj.ColumnsSource: The caption and Id for every column of an object.
  • VIEW.Obj.ItemsSource: The data rows of an object.
  • VIEW.Obj.ItemsSource|First: The first data row of an object.
  • VIEW.Obj.SingleItem: When the object contains one data row.

CTX

CTX is the data context of an object.

  • Used to transfer objects to the subsequent views through <ShowNext.DataContext>
  • CTX.FieldName.Value : Contains the previous value of the field
  • When the field value (VIEW.FieldName.Value ) is validated it is copied to CTX.FieldName.Value (auto binding)
  • CTX.Obj.SelectedItem : The selected item of a LookUp.ListView.

How to

Display custom info from a PublicQuery

The View is an object that contains the properties and the fields of current view.

Steps:

  1. Create custom publicquery or modify the existing one to get the requested columns
    • Define the query parameters
  2. At the appropriate point in the workflow should be defined the execution of publicquery to get the results
    • Save the result to an object for next use

ESWMS-RF-Technical-Reference-Guide-image56.png

  1. Pass the object containing the results to the next view

ESWMS-RF-Technical-Reference-Guide-image57.png

  1. Display the results of publicquery on the view

ESWMS-RF-Technical-Reference-Guide-image58.png

Add OnVKeyPressed event to a field or a view

Steps:

  1. Add OnVKeyPressed event to a specific field or view:

ESWMS-RF-Technical-Reference-Guide-image59.png

  1. Create a SelectionListView that will be displayed when the VKey is pressed by the user:

ESWMS-RF-Technical-Reference-Guide-image60.png

Enable remote assistance – remote monitoring

  1. Create or update the file CSRF\WMS\Modules\MyModuleName\Config.xaml and set the followings:

<RFInclude xmlns="http://schemas.entersoft.gr/rf%22>

<!-- Enable VKey FK95 for remote monitoring -->

<Set Property="Keys.FK95.CommandText" Value="Select RF" />

<Set Property="Keys.FK95.KeyCode" Value="119"/>

<Set Property="Keys.FK95.KeyText" Value="F8"/>

<!-- Enable VKey FK96 to ask for remote assistance -->

<Set Property="Keys.FK96.CommandText" Value="SOS" />

<Set Property="Keys.FK96.KeyCode" Value="118"/>

<Set Property="Keys.FK96.KeyText" Value="F7"/>

<!-- Enable VKey FK97 to disconnect for remote monitoring -->

<Set Property="Keys.FK97.CommandText" Value="Disconnect" />

<Set Property="Keys.FK97.KeyCode" Value="119"/>

<Set Property="Keys.FK97.KeyText" Value="F8"/>

<!-- Disable VKey FK44 -->

<Set Property="Keys.FK44.CommandText" Value="" />

<Set Property="Keys.FK44.KeyCode" Value=""/>

<Set Property="Keys.FK44.KeyText" Value=""/>

</RFInclude>

  1. Create or update the file CSRF\WMS\Modules\MyModuleName\Events.xaml and set the followings:

<RFInclude xmlns="http://schemas.entersoft.gr/rf%22>

<OnAppStart>

<!-- Set the administrators userIDs that have remote access to the devices -->

<Set Property="CACHE.RF.IsAdmin" Value="[CACHE.RF.UserID|EQ;admin;admin1]"/>

</OnAppStart>

</RFInclude>

  1. Users should be re-login to the devices and the following VKeys will be activated:

  • F7: to ask remote help (SOS) and disconnect from remote help.
  • F8:

a) help the remote user who requested help

  1. disconnect from remote help

  2. monitor the workflow of the remote user

ADMIN REMOTE USER

ESWMS-RF-Technical-Reference-Guide-image61.png ESWMS-RF-Technical-Reference-Guide-image62.png

Αn eye icon appears to the administrator user during monitoring of the remote workflow:

ESWMS-RF-Technical-Reference-Guide-image63.png ESWMS-RF-Technical-Reference-Guide-image64.png

Αn SOS icon appears to the remote user when asks for help and a life vest icon is blinking to administrators:

ESWMS-RF-Technical-Reference-Guide-image65.png ESWMS-RF-Technical-Reference-Guide-image66.png

The administrator with F8 has the ability to select the remote user and take control of the remote workflow.

ESWMS-RF-Technical-Reference-Guide-image67.png


PDF Version