# Installation

## Installation <a href="#installation" id="installation"></a>

### System and Version

<table><thead><tr><th width="374">System</th><th>Version</th></tr></thead><tbody><tr><td>Infor M3</td><td>On-premises *, CloudSuite</td></tr><tr><td>Novacura Flow Server</td><td>Flow Connect</td></tr><tr><td>Novacura Flow Studio</td><td>Flow Connect</td></tr><tr><td>Connectors</td><td>Infor M3 REST API</td></tr></tbody></table>

\*  On-premises versions:

* Repository of ION APIs is required.&#x20;
* All workflows are compatible with version 13.4 however most all of used APIs are available in earlier  versions.

### Azure Resources

| Service                                                  | Link                                                                                                                 |
| -------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------------- |
| **Form Recognizer API Documentation**                    | <https://westus.dev.cognitive.microsoft.com/docs/services/form-recognizer-api-2023-07-31/operations/AnalyzeDocument> |
| **Microsoft Document Intelligence Studio Documentation** | <https://learn.microsoft.com/en-us/azure/ai-services/document-intelligence/studio-overview?view=doc-intel-3.1.0>     |
| **Azure Document Intelligence Service**                  | <https://azure.microsoft.com/en-us/products/ai-services/ai-document-intelligence/>                                   |
| **Azure Blob Storage Setup**                             | <https://docs.microsoft.com/en-us/azure/storage/common/storage-account-create?tabs=azure-portal>                     |
| **Azure Blob Storage SAS Key**                           | <https://docs.microsoft.com/en-us/azure/storage/common/storage-sas-overview>                                         |

### Azure Resources Connectors

Check [this ](https://docs.novacura.com/marketplace-documentation/components/explore-components/form-recognizer/installation)documentation to install the necessary Azure REST connectors to use Document Intelligence features.

### Establish Flow Connector

The **Infor M3 REST API** Connector is used to execute transactions in M3 via the M3-API-REST bulk API.&#x20;

{% hint style="warning" %}
If you already have an Infor M3 REST API connector setup, you can skip this step and use the existing connector instead.
{% endhint %}

Check [Infor M3 REST](https://help.novacuraflow.com/connectors/areas/business-systems/infor-m3/infor-m3-rest) section to find out how to establish a connection.

### Import Environment Properties

Check [Import Flow Properties](https://docs.novacura.com/extensibility-and-integration/products/studio/environment/import-flow-properties) section to find out how to import them into your environment.

### Import Workflows

{% hint style="warning" %}
Make sure that you have created all connectors and Flow properties before importing the workflows.
{% endhint %}

Import workflows in the file "Warehouse Management Cloud.wap."

For details see [Import Workflows](https://docs.novacura.com/extensibility-and-integration/products/studio/applications/workflow/how-to-guides/import-workflows)

### Setting Menu Roles

Together with the imported workflows, there will also be a menu. Connect the menu to your roles to make them available for users.

For details see [Setting Menu Roles](https://docs.novacura.com/extensibility-and-integration/products/studio/applications/workflow/how-to-guides/setting-menu-roles)

### Publishing Workflows

Within the Server Contents Window, right-click on the Warehouse Management Apps folder and select “*Publish*.” This process can take a few minutes but once complete, a Publish Successful message will be displayed.&#x20;

## Configuration <a href="#pre-requisites" id="pre-requisites"></a>

All the roles, connectors, and properties of the Warehouse Management solution must be imported before importing workflows.

### Environment Properties

Each workflow is equipped with embedded environment properties, which are constant variables that affect the applications' behaviour. These properties can be setup on either global or user level.&#x20;

As an example, one can default the location that should always be suggested while goods receiving while other can automate and by-pass a user-step as long as all input fields are confirmed.&#x20;

Full descriptions of the properties can be found under specific workflow, categorised into Infor M3 CloudSuite modules, inside [Documentation](https://docs.novacura.com/marketplace-documentation/applications/explore-apps/infor-m3/broken-reference) tab.

To configure the properties, you might use:

#### **System Environment**

{% hint style="info" %}
Use **Environment Properties** menu inside **Users** under **Environment** tab in Novacura Flow studio to configure the environment properties.&#x20;
{% endhint %}

* Choose a user from the list and tap on **Environment Properties** drill-down menu to the right.
* Select a workflow you would wish to configure.
* Adjust the values in the **Value** column according to the official Documentation.

<figure><img src="https://3218748546-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F-MiW42YxFsGXIDjQJKNR%2Fuploads%2FxS7J0aeXFPjm4n5YDI2z%2Fimage.png?alt=media&#x26;token=119e043a-cc02-4dd4-8f00-28d30e287934" alt=""><figcaption></figcaption></figure>

**Workflow Configurator**

{% hint style="info" %}
Use **Workflow Configurator** to configure the environment properties without login to the Novacura Flow studio.
{% endhint %}

| <img src="https://3218748546-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F-MiW42YxFsGXIDjQJKNR%2Fuploads%2FPyfheHP7u3ob62hYmFdy%2Fimage.png?alt=media&#x26;token=87672db1-25e3-4d8c-a9e3-b64ed3723d73" alt="" data-size="original">![](https://3218748546-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F-MiW42YxFsGXIDjQJKNR%2Fuploads%2F6MTxpuQ2aijNqYkf572X%2Fimage.png?alt=media\&token=cfdfc341-f75a-44b9-a7a4-4735eb014dac) |
| ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |

**Select User**

* Tap on (a) user(s) in the **Users** list to configure the properties for. You may filter them by their names or group they belong to.
* Click **MENU** to get back to the main menu.
* Click **NEXT** to proceed to Workflow selection.

| <img src="https://3218748546-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F-MiW42YxFsGXIDjQJKNR%2Fuploads%2FJu3ZpwBwzYKjcCtuF5NU%2Fimage.png?alt=media&#x26;token=9d09bd61-5f90-4c86-8bb4-dc09f87ce3fe" alt="" data-size="original">![](https://3218748546-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F-MiW42YxFsGXIDjQJKNR%2Fuploads%2FQHZ37cgKAUHQnzHubFA8%2Fimage.png?alt=media\&token=dd871862-bac6-49df-b96c-0205c33460d0) |
| ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |

**Select Workflow**

* Tap on a workflow in the **M3 Workflows** list to configure their properties.&#x20;
* Click **BACK** to get back to **Select User** screen.
* Click **NEXT** to proceed to **Set Properties** screen.

| <img src="https://3218748546-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F-MiW42YxFsGXIDjQJKNR%2Fuploads%2FpaOJJmueo2aPUUC8CInx%2Fimage.png?alt=media&#x26;token=9ef15594-c7f5-4096-92b5-d817b8c06eef" alt="" data-size="original"> |
| ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |

**Set Properties**

* List is fetched and consolidated from the selected user(s).
  * If multiple users have been selected and a property's value differs between the users, **\* MULTI** is shown.

| <img src="https://3218748546-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F-MiW42YxFsGXIDjQJKNR%2Fuploads%2FgsmV0GjHeZZjlkfDZaUp%2Fimage.png?alt=media&#x26;token=c74a22a1-8883-4b81-a5bc-5886853eeea0" alt="" data-size="original"> |
| ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |

* Tap on a property in the **Environment Properties** list to set it.&#x20;
  * Use Documentation to set the right values.
  * Changed value is marked with yellow color.

| <img src="https://3218748546-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F-MiW42YxFsGXIDjQJKNR%2Fuploads%2FPlOvI4vQxXtWo5RScRVh%2Fimage.png?alt=media&#x26;token=4264c7e6-28fc-4141-972f-501b6382d2e7" alt="" data-size="original">![](https://3218748546-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F-MiW42YxFsGXIDjQJKNR%2Fuploads%2FIIMMSvo4q144NG5BS2W6%2Fimage.png?alt=media\&token=d793d9c2-7b77-4578-9159-ae210b456806) |
| ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |

* Two pinned step side menus are available:
  * Selected Users - shows the users the property changes will be applied for.
  * Info - provides a quick quide on properties' function and possible values.

| <img src="https://3218748546-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F-MiW42YxFsGXIDjQJKNR%2Fuploads%2FKQjsgKS9WxX5bOPZ1fLZ%2Fimage.png?alt=media&#x26;token=7de83323-3e31-4482-8f77-26d18b6479a8" alt="" data-size="original">![](https://3218748546-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F-MiW42YxFsGXIDjQJKNR%2Fuploads%2FCwS04TFin64c08SUfLIo%2Fimage.png?alt=media\&token=92cbbb8b-53e2-4ea7-ae20-a4c823bca0c2) |
| ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |

* Click **BACK** to get back to **Select Workflow** screen.
* Click **SAVE** to save the eddited changes.

### Managing Multiple Data Capture

All Flow applications for Infor M3 Cloud are equipped with embedded translation engine that decodes the information stored in barcodes (for the moment, only input fields *Multi-Data* and Calculator function).&#x20;

The section below explains how the decoded string looks like when barcode reading is properly configured as well as how it's mapped and how to configure it for it's own use in the Flow application.

#### Components of the decoded barcode string

* AIM Identifier
  * It's a 3 character ISO/IEC identifier, **generated by the decoder of a scanner** (it's not part of the barcode itself), and gives information about the symbology of the barcode which was scanned.
  * It consists of the following format:
    * ] = flag character (ASCII 93)&#x20;
    * c = code character (defined by AIM for that symbology)&#x20;
    * m = modifier character
  * Example of the AIMs (check for more in the web):
    * ]d2 - GS1 Data Matrix (DM)
    * ]C1 - GS1 Code 128 (UCC/EAN-128)
    * ]C0 - Code 128
    * ]A0 - Code 39
* AI (Application Identifier)
  * It's a prefix that identifies the meaning and format of the following data.
  * Most commonly, the AIs exist in GS1 barcode types which allows to encode multiple data values in one barcode
  * In certain cases, AI identifies the number of characters of the data value. Example could be, for instance, SSCC number (always 18) or GTIN (always 14)&#x20;
* Data
  * Value which could have a fixed or dynamic length
* Separator
  * It's used to separate the values from each other where more than one is included in the barcode
  * In GS1 concept, separator is placed only when a preceeding data is of a dynamic length. Example could be a lot number and quantity.
  * **It's important that a device is configured to properly translate the separator into a defined character.**

Example of the barcodes (decoded strings), where:

* Red represents the AIM
* Yellow represents the AI
* Green represents the translated separator
* Black represents the data value

1. <mark style="color:red;">]A0</mark>A01-01-01
2. <mark style="color:red;">]C1</mark><mark style="color:yellow;">00</mark>312345610511001417
3. <mark style="color:red;">]d2</mark><mark style="color:yellow;">02</mark>44345670007510<mark style="color:yellow;">10</mark>230302004<mark style="color:green;">/</mark><mark style="color:yellow;">37</mark>1<mark style="color:green;">/</mark><mark style="color:yellow;">3102</mark>000150

<div><figure><img src="https://3218748546-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F-MiW42YxFsGXIDjQJKNR%2Fuploads%2F4t5emGktw2x4mLijzVZj%2F128.png?alt=media&#x26;token=4bb97044-b585-4dc5-b48f-b9c6c5ad5d6c" alt=""><figcaption><p>1 - Code 128</p></figcaption></figure> <figure><img src="https://3218748546-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F-MiW42YxFsGXIDjQJKNR%2Fuploads%2FluIbrTLgguRa0xOAGyNp%2FGS1Code128.png?alt=media&#x26;token=b197fb38-0d92-4a8b-8db5-81ac768c7047" alt=""><figcaption><p>2 - GS1 Code 128</p></figcaption></figure> <figure><img src="https://3218748546-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F-MiW42YxFsGXIDjQJKNR%2Fuploads%2Fh9i0xlA0z749shk7cIp8%2FGS1DM.png?alt=media&#x26;token=b852d8e2-7fa0-4ac5-b835-ba20c857be9c" alt=""><figcaption><p>3 - GS1 Data Matrix </p></figcaption></figure></div>

#### Decoding barcodes by Flow Apps

There are two global properties that are used to decode a barcode in the application

<div><figure><img src="https://3218748546-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F-MiW42YxFsGXIDjQJKNR%2Fuploads%2FI7OCxF5fDX4L5MHQuZJG%2FInforM3_AIMs.png?alt=media&#x26;token=ab634733-e470-4161-a3ab-6861c10fbc20" alt=""><figcaption><p>Infor_M3_AIMs</p></figcaption></figure> <figure><img src="https://3218748546-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F-MiW42YxFsGXIDjQJKNR%2Fuploads%2F7ma0Jj3gQttgxufxrY7J%2FInforM3_AIs.png?alt=media&#x26;token=817d1f29-4348-490f-a9c2-1cdc5f4e4ad5" alt=""><figcaption><p>Infor_M3_AIs</p></figcaption></figure></div>

* Infor\_M3\_AIMs
  * Used to map barcode's AIM with a defined separator.
  * By default, '/' (forward slash) is used which should be used in your device in translation.
  * You can always change the separator sign.
* Infor\_M3\_AIs
  * Used to map AIM, AIs and Data Values.
  * Used to identify if the values have fixed length (and as such, do not require separator when any other value is parsed after it).
  * Used to identfy number of decimals which is decoded and parsed inside input values.
  * By default, most common AIs from GS1 Code 128 and GS1 Data Matrix have been used.
  * You can always change the mapped AIMs and AIs. \
    Make sure, you respect **the naming standard** of the Data Values (in Fields)!&#x20;

## Workflows

This suite of applications consists of the following workflows divided into Infor M3 CloudSuite modules:

#### **Supply Chain Execution**

* [Receive Purchase Order](https://docs.novacura.com/marketplace-documentation/applications/explore-apps/infor-m3/documentation/supply-chain-execution/receive-purchase-order-classic)
* [Inspect Purchase Order](https://docs.novacura.com/marketplace-documentation/applications/explore-apps/infor-m3/documentation/supply-chain-execution/inspect-purchase-order)
* [Putaway Purchase Order](https://docs.novacura.com/marketplace-documentation/applications/explore-apps/infor-m3/documentation/supply-chain-execution/putaway-purchase-order)
* [Release Delivery for Pick](https://docs.novacura.com/marketplace-documentation/applications/explore-apps/infor-m3/documentation/supply-chain-execution/release-delivery-for-pick-1)
* [Pick Delivery](https://docs.novacura.com/marketplace-documentation/applications/explore-apps/infor-m3/documentation/supply-chain-execution/pick-delivery-classic)
* [Pack Delivery](https://docs.novacura.com/marketplace-documentation/applications/explore-apps/infor-m3/documentation/supply-chain-execution/pack-delivery-1)
* [Issue Delivery](https://docs.novacura.com/marketplace-documentation/applications/explore-apps/infor-m3/documentation/supply-chain-execution/issue-delivery-classic)
* [Stock Move](https://docs.novacura.com/marketplace-documentation/applications/explore-apps/infor-m3/documentation/supply-chain-execution/move-stock-classic)
* [Stock Count](https://docs.novacura.com/marketplace-documentation/applications/explore-apps/infor-m3/documentation/supply-chain-execution/count-stock-classic)
* [Print Stock Label](https://docs.novacura.com/marketplace-documentation/applications/explore-apps/infor-m3/documentation/supply-chain-execution/print-stock-label-classic)

#### Manufacturing Execution

* [Report Material](https://docs.novacura.com/marketplace-documentation/applications/explore-apps/infor-m3/documentation/manufacturing-execution/report-material-mo-classic)
* [Report Operation](https://docs.novacura.com/marketplace-documentation/applications/explore-apps/infor-m3/documentation/manufacturing-execution/report-operation)

#### Sales Management

#### Procurement

#### Rental and Maintenance Management
