Produmex WMS Complete Configuration Guide
Initial Set-Up
1. Create Company Structure
Overview
In Produmex WMS you can create your company structure by defining Organizational Structure Elements (OSEs). You can define them manually and you can also import zones and bin locations with the Import Tool.
The following elements can be created in the structure:
Element | Description |
---|---|
Company | A company can be created only once per company database |
Warehouse | The warehouse marks the highest level below a company. It refers to the place where goods are received, stored and from which they are shipped and it can also be the location where goods are transformed (manufactured or packaged). A warehouse in Produmex must always be linked to a warehouse in SAP Business One. |
Zone | The zone is a specific area in the warehouse where certain functions are grouped (e.g. goods receipt, shipping, packaging, etc.) |
Production Line | The production line is a line where goods are produced and packaged (as a part of a warehouse). |
Packing Line | The packing line is a line where goods that are picked on a movable location can be packed onto a logistic carrier to be shipped as a logistic unit. |
Dock | The doc is a location where goods are received and/or shipped (as a part of a warehouse). |
Warehouse Automation Location | The Warehouse Automation Location is an automated warehouse (mini load) that manages input and output of items automatically. Produmex does not manage the individual locations (boxes) in the automated warehouse, but keeps track of the inventory on a global level. |
Bin | The bin is an individual storage location managed by Produmex. |
Silo Tank | The silo tank is a fixed bulk storage location. |
Movable Location | The movable location is a movable storage location (e.g. a picking cart) on which goods are temporarily stored after picking and before they are packed on a logistics carrier or used in production (e.g. a forklift). |
Thin Client | The Thin Client (or Mobile Client / Fat Client) is a fixed or mobile operator station (e.g. a touch screen, a handheld terminal) by which the operator interacts with Produmex. |
Printer | It marks a printer at a specific location or connected to a specific thin client. |
Scale | One scale can only belong to a single weighing room / dock / packing station. |
Weighing room |
1. Create your company
Create your company in the Organizational Structure and define the general company settings.
1. Go to Produmex menu > Organizational Structure.
2. Right-click on your company, select New OSE and select Company.
3. Fill in the Name and Code fields.
4. Set a default language for your Mobile Client in the Language drop-down menu.
5. Provide your MS SQL / HANA credentials in the DB User Name and Password fields.
6. Fill in the PMX License Server field.
7. Click OK
.
2. Define SAP warehouse settings
Define your SAP warehouse settings. Produmex WMS adds the following user defined fields (UDFs) to the SAP warehouse settings:
- Is managed by Produmex?
- Is transit WHS?
There are three possible combinations of the UDFs:
Managed by PMX | Transit WHS | WMS Terminology | Setup needed in the Organizational Structure | Example | Can be used on scanner |
---|---|---|---|---|---|
TRUE | FALSE | WMS warehouse | YES - full setup | Main stock warehouse | YES - full usage |
FALSE | TRUE | Transit warehouse | YES - only warehouse & dock required | truck, sales employee stock, etc. | YES - Ad-hoc moves, Receive from warehouse, Picking for Transfer Requests |
FALSE | FALSE | Standard SAP warehouse | NO | Standard SAP Production warehouse, other SAP warehouse | NO |
TRUE | TRUE | N/A | /N/A | Not possible | N/A |
3. Create PMX WMS warehouses
Create your PMX WMS warehouses in the Organizational Structure and define the warehouse settings.
1. Go to Produmex menu > Organizational Structure.
2. Right-click on your company, select New OSE and select Company.
3. Fill in the Name and Code fields. Use the same code as defined in SAP Business One.
4. Link the warehouse to the SAP Business One warehouse in the Warehouse drop-down list.
5. Click OK
.
4. Create additional elements
Define the structure of your company by creating the necessary Organizational Structure Elements, for example create the zones, docks, bin locations of your warehouses.
Example of Organizational Structure
1. Go to Produmex menu > Organizational Structure.
2. Right-click on your company, select New OSE and select the necessary Organizational Structure Element.
3. Provide a code and a name for the element and define its settings.
Tip: You can also import zones and bin locations with the Import Tool. For more information click here.
4. To create a sub-element, right-click on an element in the Organizational Structure, select New OSE and select the necessary sub-element.
5. Define Organizational Structure settings
Import Data
Overview
You can perform the initial set-up of Produmex WMS with the Produmex Import Tool that allows you to import elements through CSV or XML files to the Produmex system.
The following elements can be imported with a CSV file:
- Box Type by Item for WAS
- Box for WAS
- Item – Allergens
- Item – Batch Attributes
- Item – Card Code/Shelf Life
- Item – Card Code/Quality status
- Item – Packaging types
- Item – Zone types
- Item – Warehouse – Location or Zone
- OSE - Bin
- OSE - Bin Item
- OSE - Bin Item WAS
- OSE - Location Put Away Zones
- OSE - Location Attributes
- OSE - Movable location
- OSE - Zone
- Route Header
- Route Line
The following elements can be imported with an XML file:
- Localization (translation)
- OSE objects
- OSE settings
Additional information:
- Bin location import:
In case of bin locations you can use the tool for updating the existing locations. In case of any other entities, the tool cannot be used for updating them. - Location attribute import:
Inheritance applies to location attribute import. The imported location attribute types and their values are automatically inherited from the main zone to sub-zones and bin locations and from sub-zones to bin locations. When a sub-zone or bin location inherits location attribute values, the system allows for selecting a different location attribute value later on. - Localization import:
The localization (translation) file is overwritten during a Produmex database upgrade. You must repeat the import after every Produmex database upgrade. - OSE objects:
You can import the following Organizational Structure Elements: company, warehouse, zone, bin, dock, printer, production line, thin Client
1. Prepare files
1.1 Prepare CSV files
The CSV templates for the Produmex Import Tool can be found in the installation zip folder > Templates > Import Templates subfolder.
Note: If the data to be imported contains special characters (e.g. °), save the CSV file with UTF-8 encoding.
1. Box Type by Item for WAS
Template: ImportBoxTypeforWAS
- Code
- Name
- U_BoxType: The box type
- U_ItemCode: The item code
- U_Quantity: The quantity of the item that can be stored in the given box type.
- U_DividerType: The divider type
- U_CompartmentNr: The number of compartments a box has.
Fill in the worksheet and save the worksheet as a CSV file. The CSV file should look like this:
Code;Name;U_BoxType;U_ItemCode;U_Quantity;U_DividerType;U_CompartmentNr C1;C1;BT1;ITEM02;25;DIV1;3
2. Box for WAS
Template:ImportBoxForWAS
- Code: The box code
- Name: The box name
- U_BoxType: The box type. The box type should exist in the Box type for WAS user table.
Fill in the worksheet and save the worksheet as a CSV file. The CSV file should look like this:
Code,Name,U_BoxType C1;C1;BT1 C2;C2;BT2
3. Item – Allergens
Template: ImportItemAllergens
- ItemCode: The item code. Must be an item defined in SAP Business One.
- AllergenCode: The allergen code. Must be an allergen code defined on the Allergen types user table.
- Can contain allergen (Y/N): If set to ’Yes’, the item does not contains the allergen by default, but it is possible that there are some traces of this allergen present.
Fill in the worksheet and save the worksheet as a CSV file. The CSV file should look like this:
ItemCode;AllergenCode;CanContainAllergen A006;GLUTEN;Y A006;EGGS;N
4. Item – Batch Attributes
Template: ImportItemBatchAttributes
- Item code: The item code. Must be an item defined in SAP Business One.
- BatchAttributeCode: The batch attribute code. This code should exist in the PMX_BATT user table.
- ValueEntryOption: This will set whether the value should be asked during reception. Possible values:
- Required: User will have to fill in the data.
- Optional: User can skip entry of the data.
- Hidden: This batch attribute will not be asked during reception.
- IsLinkedToBatch (Y/N): Is the batch attribute linked to a batch number?
Fill in the worksheet and save the worksheet as a CSV file. The CSV file should look like this:
ItemCode;BatchAttributeCode;ValueEntryOption;IsLinkedToBatch 02004;COUNTRY_OF_ORIGIN;OPTIONAL;N 02004;MANUFACTURING_DATE;HIDDEN;N 02005;COUNTRY_OF_ORIGIN;REQUIRED;N
5. Item – Card Code/Shelf Life
Template: ImportItemCustomerShelfLife
- ItemCode: The item code. Must be an item defined in SAP Business One.
- CardCode: The cardcode of the customer. Must be a customer defined in SAP Business One.
- CountryCode: The country code for this shelf life. (optional)
- ShelfLifeInDays: Shelf life for the customer for the item.
Fill in the worksheet and save the worksheet as a CSV file. The CSV file should look like this:
ItemCode;CardCode;ShelfLifeInDays A006;K00001;94
6. Item – Card Code/Quality status
Template: ImportSupplierQualityStatus
- ItemCode: The item code. Must be an item defined in SAP Business One.
- CardCode: The card code of the supplier. Must be a customer defined in SAP Business One.
- QualityStatusCode: The code of the quality status. Must be a quality status defined on the Quality status tab of the Organizational Structure
Fill in the worksheet and save the worksheet as a CSV file. The CSV file should look like this:
ItemCode;CardCode;QualityStatusCode A006;V00002;BLOCKED
7. Item – Packaging types
Template: ImportItemPackagingTypes
- ItemCode: The item code. This item code must be known in SAP Business One.
- PackagingTypeCode: The SAP UoM code.
- Quantity: The quantity of the inventory unit of measure.
- BarcodeType: Fixed value. Possible values:
- G: Use this value for a GTIN14 barcode type (System will do a check if it is a valid GTIN-14 barcode).
- F: Use this value for a Free Barcode type (System will perform no check).
- Barcode: The Barcode of the Packaging Type.
- AskDuringReception:
- N: The system will not ask the quantity in the packaging type during the reception process.
- Y: The system will ask the quantity in the packaging type during the reception process.
- Remark: if the item is not managed in batches, the system will not allow a ‘Y’ value in this field.
- HideDuringEnteringQuantity
- N: The user cannot enter how much packaging types he is receiving.
- Y: The user can enter how many packaging types he is receiving.
Fill in the worksheet and save the worksheet as a CSV file. The CSV file should look like this:
ItemCode;PackagingTypeCode;Quantity;BarcodeType;Barcode;AskDuringReception;HideDuringEnteringQuantity ITEM02;BOX;12;G;12345678901231;Y;N
8. Item – Zone types
Template: ImportItemZoneTypes
- ItemCode: Item of the zone type. Must be an item defined in SAP Business One.
- ZoneTypeCode: The code of the Zone Type. The Zone Type must exist in the organizational structure of Produmex.
Fill in the worksheet and save the worksheet as a CSV file. The CSV file should look like this:
ItemCode;ZoneTypeCode A006;C
9. Item – Warehouse – Location or Zone
Template: ImportItemWarehouseLocationOrZone
- ItemCode: The item code. Must be an item defined in SAP Business One.
- PmxWhsCode: The Produmex code of the warehouse. The warehouse must exist in the organizational structure of Produmex.
- DefaultLocationZone: The code of the location or zone that is default location/zone in the warehouse for the item. The location/zone must exist in the organizational structure of Produmex.
Fill in the worksheet and save the worksheet as a CSV file. The CSV file should look like this:
ItemCode;PmxWhsCode;DefaultLocationZone ITEM01;WH01;A0001 ITEM01;WH02;ZONE2.2
10. OSE - Bin
Template: ImportBin
- Code: The scancode of the bin
- Name: The name of the bin
- Parentcode: The code of the structure element where the bin belongs to. The parent element must exist in the organizational structure of Produmex.
- Is Active (Y/N): Is the location active?
- IsDestinationForPicking (Y/N): Can the location be selected to put products on after a picking? Is the location a ‘pick and hold’ – location?
- CanBeLinedUp (Y/N): Can the location be lined up during a production process. (Mostly used for Tanks/ Silo’s)
- Sequence: The order in which the products at this location are used to compose a picking order. The pick locations with the lowest sequence number are used first to complete the pick order.
- IsPickLocation: Can the location be used to perform item picking?
- IsFixedItem (Y/N): Is the location a fixed pick location?
- CanBeReplenished (Y/N): Can the location be replenished?
- AllowCountDuringCycleCount (Y/N): Is the location allowed to be counted?
- CountAfterNumberOfDays: The number of days after the location needs to be counted again.
- MaximumLogisticUnits: The maximum number of allowed logistic units.
- ItemStorageLocationType: Defines the item storage location type. Must be an existing Item Storage Location type stored in the PMX_ISLT user table.
- VerificationCode: Verifies bin locations in the different flows. See more.
Fill in the worksheet and save the worksheet as a CSV file. The CSV file should look like this:
Code;Name;ParentCode;IsActive;IsDestinationForPicking;CanBeLinedUp;Sequence;IsPickLocation;IsFixedItem;CanBeReplenished;AllowCountDuringCycleCount;CountAfterNumberOfDays;MaximumLogisticUnits;ItemStorageLocationType;VerificationCode E01A001;E01A001;Zone1;Y;N;N;100;Y;N;N;Y;0;;; A05A05;A05A05;Zone2;Y;N;N;120;Y;N;N;Y;0;;;
Note: In case of bin locations you can use the tool for updating the existing locations.
11. OSE - Bin Item
Template: ImportBinItem
- ParentCode: The code of the Bin location. The bin location must exist in the organizational structure of Produmex.
- ItemCode: The item code. Must be an item defined in SAP Business One.
- MinimumNumberOfItems: The minimum quantity of the item on the location. If the quantity falls below the minimum the system will generate a replenishment order.
- MaximumNumberOfItems: The maximum quantity the location can contain of the specified item on the specified location.
- NumberOfItemsToReplenish: Quantity that should be used to replenish a fixed pick location.
Fill in the worksheet and save the worksheet as a CSV file. The CSV file should look like this:
ParentCode;ItemCode;MinimumNumberOfItems;MaximumNumberOfItems;NumberOfItemsToReplenish E01A001;A0001;10;999;10
12. OSE - Bin Item WAS
Template: ImportBinItem
- ParentCode: The code of the Bin location. The bin location must exist in the organizational structure of Produmex.
- ItemCode: The item code. Must be an item defined in SAP Business One.
- MinimumNumberOfItems: The minimum quantity of the item on the location. If the quantity falls below the minimum the system will generate a replenishment order.
- MaximumNumberOfItems: The maximum quantity the location can contain of the specified item on the specified location.
- NumberOfItemsToReplenish: Quantity that should be used to replenish a fixed pick location.
Fill in the worksheet and save the worksheet as a CSV file. The CSV file should look like this:
ParentCode;ItemCode;MinimumNumberOfItems;MaximumNumberOfItems;NumberOfItemsToReplenish E01A001;A0001;10;999;10
13. OSE - Location Put Away Zones
Template: ImportLocationPutAwayZones
- ParentCode: The code of the parent structure element. The bin location must exist in the organizational structure of Produmex.
- PutAwayZone: The code of the put away zone.
- SortPickSequenceDescending (Y/N): Are the locations belonging to the put away zone sorted by the pick sequence descending?
- Sequence: The sequence number for the put away zone.
- BelongsTo (Y/N): Does the location belong to the put away zone?
Fill in the worksheet and save the worksheet as a CSV file. The CSV file should look like this:
ParentCode;PutAwayZone;SortPickSequenceDescending;Sequence;BelongsTo A11;Z1;Y;1;N AA10;Z1;Y;2;N AA10;Z4.1;Y;3;N AA10;Z4;Y;4;N
14. OSE - Location Attributes
Template: ImportLocationAttributes
- OSECode
- AttributeCode
- AttributeValue
Fill in the worksheet and save the worksheet as a CSV file. The CSV file should look like this:
OseCode;AttributeCode;AttributeValue AAA1;AT1;abc Zreception;AT1;def Zreception;AT3;2 AA3;AT3;33 AA3;AT4;LV_2
15. OSE - Movable location
Template: ImportMoveableLocation
- Code
- Name
- ParentCode
- IsActive (Y/N)
Fill in the worksheet and save the worksheet as a CSV file. The CSV file should look like this:
Code;Name;ParentCode;IsActive ML89;ML-89B;Zsale;Y ML99;ML-99A;02;N
16. OSE - Zone
Template: ImportZones
- Code: The code of the zone
- Name: The name of the zone
- Parentcode: Code of the warehouse/zone the zone belongs to. The parent element must exist in the organizational structure of Produmex or must be defined in the same import file in a preceding line.
- UseForZonePicking (Y/N): Can this zone be selected on the Zone Picking Flow?
Fill in the worksheet and save the worksheet as a CSV file. The CSV file should look like this:
Code;Name;ParentCode;UseForZonePicking Z1;Zone1;02;N Z2;Zone2;Z1;Y
17. Route Header
Template: ImportRouteHeader
- Code: The code of the route template.
- Name: The name of the route template.
- Weekday: The code of the weekday.
- StandardLoadingDock: The loading dock assigned to the route template. Must be a loading dock that exists in the organizational structure of Produmex.
Fill in the worksheet and save the worksheet as a CSV file. The CSV file should look like this:
Code;Name;Weekday;StandardLoadingDock Test;Test route header;2;D2.1 Test2;Test2 route header;3;D2.1
18. Route Line
Template: ImportRouteLine
- ParentCode: The route template code.
- CardCode: The cardcode of the customer.
- Sequence: Defines the shipping order of the route.
- ShipToCode: The ship to code of the customer. Must be an existing Ship To code.
Fill in the worksheet and save the worksheet as a CSV file. The CSV file should look like this:
ParentCode;CardCode;Sequence;ShipToCode Test;C00002;1;Customer 2 B Test2;C00001;2;Customer 1 Test2;C00002;1;Customer 2 B
1.2. Prepare XML files
1. Prepare Localization file
When preparing the Localization file, with the Produmex Import Tool you can convert the file from XML to CSV and CSV to XML. In the drop-down menu you can select one of the following options:
- XML > CSV
- CSV > XML (New)
- CSV > XML (Update): In case of update, provide the language code. The system updates the existing XML file only for the given language.
2. Prepare OSE settings XML
With this function the following configurations are exported:
- General settings (except Language, Logo and DB Credentials)
- Default tab settings: default quality statuses (Default quality status reception, Released quality status reception, Quality status sales return, Quality status cycle counting, Quality status returnable items)
- Production tab settings: Quality status production
- 3PL Invoicing settings
- Extension Parameters
1. Go to the General tab of the Organizational Structure.
2. Click Export
. The configurations are exported to an XML file.
3. Select the destination folder for the export.
The default folder is C:\Program Files\SAP\SAP Business One\AddOns\PMX\Produmex Add-On Loader 20
4. The export is finished message indicates that the export is finished. Click OK
.
When the XML file is imported, it means that you have imported the data to the General tab, 3PL Invoicing tab and Extension Parameters tab of the Organizational Structure.
2. Import data
2.1. Run the Produmex Import Tool
1. Run the Produmex.Sbo.Logex.Tools.ImportTool.exe file.
Path: C:\Program Files\Produmex\Produmex Tools
2. Select a connection string from the Connection dropdown menu to define the destination database. Every connection string defined in the configuration file of the Produmex Import Tool can be selected (Produmex.Sbo.Logex.Tools.ImportTool.exe.config).
The selected connection string connects the database to the tool.
3. Perform the importing process (see general import or route templates).
2.2. General import
1. Select the import type in the Import type drop-down menu.
The following import types can be selected in the Import type drop-down menu:
- Box Type by Item for WAS (.csv)
- Box for WAS (.csv)
- Item – Allergens (.csv)
- Item – Batch Attributes (.csv)
- Item – Card Code/Shelf Life (.csv)
- Item – Card Code/Quality status (.csv)
- Item – Packaging types (.csv)
- Item – Zone types (.csv)
- Item – Warehouse – Location or Zone (.csv)
- Localization (.xml)
- OSE objects (.xml)
- OSE settings (.xml)
- OSE - Bin (.csv)
- OSE - Bin Item (.csv)
- OSE - Bin Item WAS (.csv)
- OSE - Location Put Away Zones (.csv)
- OSE - Location Attributes (.csv)
- OSE - Movable location (.csv)
- OSE - Zone (.csv)
2. Browse the file.
3. Click on the Import
button. At the bottom of the window the tool shows that the import has finished.
In case of OSE - Location Attributes and OSE - Movable location:
- the tool asks if you want to overwrite the existing objects or skip them,
- with the end of the import the tool also displays the number of inserted, updated and ignored objects.
4. Restart the add-on.
2.3. Import Route Templates
1. Browse the Route Header.csv file in the File Location - route template header field.
2. Browse the Route Line.csv file in the File Location - route template line field.
3. Click the Import Route Templates (.csv)
button. At the bottom of the window the tool shows that the import has finished.
4. Restart the add-on.
2.4. OSE Objects Xml File Samples
Import Initial Stock
Overview
On a database where Produmex WMS is installed for the first time, the Import Initial Stock Tool can be used to create Produmex stocks for all SAP stocks in selected warehouses.
Make sure that you do not run this tool if there is stock registered in Produmex for the warehouse. It can result inconsistencies between stock in SBO and stock in Produmex.
Limitation
Items managed by serial numbers are not supported.
Batches with lowercase alpha characters are not supported. All SAP Batch Numbers must be converted to uppercase before importing the initial stock.
Prerequisites
Each SAP warehouse where the Is managed by Produmex? setting is set to TRUE must have a corresponding warehouse set up in your Organizational Structure or the tool fails. For more information click here.
Importing initial stock
To start the import configure the connection string as a starting parameter as follows:
1. Open an empty text file.
2. Add the path of the Produmex.Sbo.Logex.Tools.ImportInitialSAPStockTool.exe file between quotations marks. Press the Space button and add the connection string.
“C:\Program Files\Produmex\Produmex Tools\Produmex.Sbo.Logex.Tools.ImportInitialSAPStockTool.exe” /cs:<connectionstring>
3. Save the text file as a .Bat file. E.g. Run_ImportInitialStockTool.Bat
4. Run the .Bat file.
On the opening form every warehouse that is managed by Produmex and has inventory in SAP Business One is listed.
5. Enter the location code to the PmxLocationCode field on the line of the warehouse.
Note: Only active locations that belong to the warehouse can be added. If you leave the location code empty, the import is not performed for the given warehouse.
6. Click Import
.
After the import is finished, the system displays a message containing the number of the updated stock lines.
The initial inventory from SAP Business One is booked for the selected location. The quality status of the stock is Released. The stock has no linked LUID.
Note:
- If a batch managed item is on stock with multiple batches, each batch counts as a stock line.
- The import is not registered in the Traceability Report.
Once the stock is booked in Produmex, you can distribute it to their location with the Move function on the scanner. During the move it is possible to create new SSCCs or scan existing SSCCs.
Set Up and Configure Mobile Client
Fat client configurations
There are typically 2 types of startup configurations: 1 for a scanner, and 1 for a touchscreen.
Below you can find 1 example of each:
SCANNER:
"C:\Program Files (x86)\Produmex\Produmex Fat Client\Produmex.Sbo.Logex.Execute.FatClient.exe" /f- /a:Produmex.Foundation.SlimScreen.WinGui.PocketSize /s+ /w:240 /h:320 /i:SCANNER1 /cs:SboConnectionString
TOUCH:
"C:\Program Files (x86)\Produmex\Produmex Fat Client\Produmex.Sbo.Logex.Execute.FatClient.exe" /f- /a:Produmex.Foundation.SlimScreen.WinGui.TouchScreen /s+ /w:1024 /h:768 /i:TOUCH1 /cs:SboConnectionString
Explanation for all the parameters:
Parameter | Description |
---|---|
/f- | f- means no fullscreen, f+ means fullscreen |
/a:Produmex.Foundation.SlimScreen.WinGui.PocketSize | PocketSize is for scanner fatclient, TouchScreen is for touch fatclient |
/s+ | s+ means form is sizable, s- means not sizable. Ignored if 'FullScreen' is set. |
/w:240 | Screen width (pixels) , scanner default = 240, touch default = 1024. Ignored if 'FullScreen' is set. |
/h:320 | Screen height (pixels) , scanner default = 320, touch default = 768. Ignored if 'FullScreen' is set. |
/i:SCANNER1 | SCANNER01 is the code of the client defined in the organizational structure |
/cs:SboConnectionString | Connection string tag name defined in fatclient config file. |
/k:+ | Show a keyboard. |
/kp:50 | The percentage of keyboard height. |
/sp:50 | The percentage of screen width. |
/dilng:EN | The language to use in the DI API connection (overrides the Produmex.DI_API.Language app setting). Use language codes from the OLNG table (ShortName column). Default: EN. |
/cust | The cust enables customization mode, cust- disables customization mode |
/nocust | The nocust startup parameter on the Mobile Client can be used to turn off customization. It stops collecting all the row data from the visualizers and only collects data for the selected line. |
Configure Mobile Client on Organizational Structure
A thin client is a fixed or mobile operator station (touchscreen, handheld terminal, etc.), by which the operator can interact and communicate with Produmex WMS. On the thin client level the following settings can be made:
1. Workflow tab
Workflow
Next you can also assign a thin client to a “workflow”. A workflow is a sequence of actions to execute a certain operation, e.g. Reception, Picking, Production, Shipping, …
Parameter set
For certain flows extra parameters can be set. When selecting a parameter set, the options to enter are available below.
Number of items in sales unit column name
Define here the column name of the column that stores the number of items in the sales unit, defined on the item master data. By default ‘NumInSale’ is used. If you have a UDF to store this value, you can provide the name of the UDF.
Admin password
Provide here the password that will be used to unlock the administrator functionality in the showroom application. By default the password is ‘produmex’
2. Warehouses tab
Thin clients created under a warehouse will see the warehouse locations and orders for the warehouse by default. On the ’Warehouse’ tab additional warehouses can be assigned for the thin client. If a warehouse is assigned for the thin client, its locations and orders can be seen on the client. It is not possible to disable the parent warehouse for the thin client by unticking the checkbox to the parent warehouse.
3. Users tab
By default every SBO user can use the thin client if there is a free license that can be allocated for the thin client. However it is possible to assign only certain users for a thin client.
If there is at least one assigned user, only assigned users can login on the thin client. In case no users are assigned, ALL users are allowed to access the flow.
On the Users tab every SAP Business One user is listed. Check the ’Assigned’ checkbox in to assign an user.
4. Default Scales tab
On the Default Scales tab you can set the default scales for users that they use during the Weighing Flow. For more information click here.
Customization Framework on Mobile Client
Overview
From product version 2023.06, users can start the scanner application of the Mobile Client in customization mode and you can customize all the workflows available. From product version 2024.06, users can now create more complex customized workflows in the customization mode by creating user queries and adjusting & filtering the options in the Customization Manager.
Users have the possibility to customize the buttons and the screens of the flow while different customization for user groups and users can be defined in a way that is optimal for the warehouse.
Videos on the customization mode are available here and here.
Overview about the customization UIs:
Customization mode
The name of the parameter is /cust. When you start the Mobile Client in customization mode, a customization icon (a cog sign) is displayed on the top-right corner of the screen. If you click the icon, it becomes red and the customization mode is active.
To customize the flow, proceed as follows:
- Click the customization icon.
- If you want to customize the screen, you can click anywhere on the screen. If you want to customize a button, click on the given button to be customized.
- Customize your screen on the displayed Customization form (see customization options below) and click Save.
Note: In order to see the changes the user needs to restart the Mobile Client with disabled/switched off customization mode.
Customization options
1. Customization options on the Customization Tab
User Group: If you select a specific user group, the customization applies to the users in the given user group.
User: By default, no user is selected. Instead of user groups, you can define a specific user to whom the customization applies. Enable the User option and use the drop-down menu to select a user.
Default Button: The Default Button section is active if you customize a button.
- If you select the Default Button option, the user does not need to tap the button when working with the flow because the system automatically proceeds with the button. Only one button can be set as the default button on a screen.
- If you use the Default Button option, you can also set a screen timeout in seconds. In this case the system displays the button for the user for the defined interval. Within this interval the user can tap another button or the flow proceeds with the default button.
Visible: By default, the visible option is enabled.
- If you disable the option, the screen is not displayed for the user during the flow.
- If you disable the option, the button is not displayed for the user even if it is set as a default button.
Note: Hiding buttons overrides customizations. 'User' settings override 'User Group' settings and specific 'User Group' settings override 'All Users' settings.
Example: The customization applies to the Inventory user group. The Order button is set as the default button on the Select a Filter screen. The screen is displayed for the user for two seconds and if the user doesn't tap another button, the system proceeds with the Order button.
2. Customization options on the Events Tab
Load Event: In this field you can customize an existing event, write the preferable name in the field than push the save button. What we do here is selecting any of the events that are already in use and modifying it's action.
Load Event Name: In this field you can modify an existing event by giving a unique name for your new customized event, after saving the unique name open the Query Manager in B1 where you can add your query to the name. For example create a “sales_return” name in the Load Event field and open it up in the Query Manager for furthermore customization.
Load Event List: Under the Load Event field there are a list of the previous events and actions that you have already been through.
Manage: Pushing the manage button will show the customization manager screen.
Customization Manager
The Customization Manager screen is a helpful UI to manage your customizations in a visual way. On this screen you can find all of your user queries in a simple table. In the Customization Manager you can not change the database informations, you only have the option to filter/activate/inactivate/delete your added queries.
1. All Components
In the All Components part you can find a tree structure, the purpose of this navigation tree is to easily manage the rows where you added a new queries. The “golden arrow” shows the selected row in the tree structure. If you select the All components row than in the table on the right side will show every grid, every lines that are found below it in the system.
The main components in the tree structure:
- Mainflows
- Subflows
2. Filter
The Filter section contain all the filter options to search for a specific query.
Screen: By default, no screen is selected. In the screen from dropdown menu you can select the preferred screen.
User Group:If you select a specific user group, the customization applies to the users in the given user group.
Options:
- All Users
- Finance
- Inventory
- Purchase
- Sales
User:By default, no user is selected. Instead of user groups, you can define a specific user to whom the customization applies. Enable the User option and use the drop-down menu to select a user.
Show: This options is a dropdown menu where you can choose between several options to search a specific group of queries e.g. if you would like to check on the all of your inactive queries.
Options:
- Everything
- All Active
- All Inactive
- Active Visible
- Active Invisible
Customization: By clicking the options inside of the Customization aggregation you can easily set a quick filter and search for a group of queries.
Options:
- Screen
- Controls
- User Quiers
Full Workflow: Clicking on the Full Workflow will extend the Workflow column with extra information about the path of the flows.
Reset Filters: With this button you can clear the filters that you previously set.
Customization Examples
1. Limitation: On the Events tab you can see your previous steps/actions listed under the Load Event field. In that list you can clearly follow all your steps since you opened the mobile client in customization mode. Be aware you will not find those kind of actions listed when you selected a value from a list by a manual click, for example you chose a product by clicking it's name from the list instead of scanning the item barcode.
The selected values will only appear in the action list when you manually entered the value (customercode, location etc.) into the field or scanned that value.
2. Limitation: If a user query are no longer used there is a specific procedure to remove the query from the system. First you have to delete the query from the Customization Manager, after that action open the Query Manager in SBO and remove the unused query from that table.
Example 1. - Default customer for sales return
Insert the <customercode> to the input field, and after you added the query to the Query Manager, the query automatically will select the predefined customer then waits 1 second and clicks the forward button.
Load Event Name: sales_return
MSSQL:
SELECT '<customercode>' as "txtCustomerCode", 'btnForward' as "DefaultButton", 1 as "DefaultButtonClickTimeout"
HANA:
SELECT '<customercode>' as "txtCustomerCode", 'btnForward' as "DefaultButton", 1 as "DefaultButtonClickTimeout" FROM DUMMY
Implementation: Add the query in the Query Manager in SBO.
Example 2. - Validations of the default value
Validation of the input quantity value on the reception flow, in this example we are showing as default quantity the minor between still to receive and default quantity logistic unit.
Load Event Name: default_quantity
Implementation: Add the query in the Query Manager in SBO.
MSSQL:
SELECT CASE WHEN CAST(LEFT('$[lblQuantity]', CHARINDEX(' ', '$[lblQuantity]')-1) AS INT) < U_PMX_DQLU THEN LEFT('$[lblQuantity]', CHARINDEX(' ', '$[lblQuantity]')-1) ELSE U_PMX_DQLU END AS "edtCounter0" FROM "OITM" WHERE U_PMX_CUDE = '$[lblItem]'
HANA:
SELECT CASE WHEN CAST(LEFT('$[lblQuantity]', LOCATE( '$[lblQuantity]',' ')-1) AS INTEGER) < "U_PMX_DQLU" THEN LEFT('$[lblQuantity]', LOCATE( '$[lblQuantity]',' ')-1) ELSE "U_PMX_DQLU" END AS "edtCounter0" FROM "OITM" WHERE "U_PMX_CUDE" = '$[lblItem]'
Example 3. - Finding a Pick List connected to a default customer
In this example if the query finds a Pick List that is connected to the <customercode> then the query will select the first Pick List then clicking on the forward button, if the query will not find a Pick List then nothing will happen.
Load Event Name: finding_picklist_connected_default_customer
Implementation: Add the query in the Query Manager in SBO.
MSSQL & HANA:
SELECT TOP 1 "DocEntry" AS "txtPickList", CASE WHEN "PMX_PLHE"."DocEntry" IS NOT NULL THEN 'btnForward' ELSE '' END AS "DefaultButton", CASE WHEN "PMX_PLHE"."DocEntry" IS NOT NULL THEN '1' ELSE '' END AS "DefaultButtonClickTimeout" FROM "PMX_PLHE" WHERE "CardCode" = '<customercode>' ORDER BY "DocEntry" ASC
Mobile Client Screens
4.2.1. Difference between scanner and touchscreen mode
The application can run either on a scanner or on a touch screen. The scanner mode is used in mobile scanner devices. The touchscreen mode can be used in addition to the scanner, on immobile devices. The minimum screen resolution is 240 x 320 for the scanner mode and 1024 x 768 for the touchscreen mode.
The menu structure is the same on both mode, but the available functions are different. Because the touchscreen is used on immobile devices, flows connected to fixed stations are available in touch screen mode.
4.2.2. Sections of the screen
Title
The title is located on the top of the screen. It can display system commands or the name of the current step. While navigating among the menus, the title shows the menu structure. Next to the menu name, the system also displays the menu page number.
Menu screens have a blue background. Screens in a normal flow have a grey background.
The toolbar is located on the bottom of the screen. When a button is inactive, it is displayed in gray.
(1) Left arrow: Displays the previous screen.
(2) Stop: Exits from the current flow.
(3) Refresh: Updates the document list.
(4) Delete: Removes the selected item.
(5) Right arrow: Displays the next screen.
Additional toolbar buttons on the touchscreen:
(1) Left arrow: Displays the previous screen.
(2) Stop: Exits from the current flow.
(3) Keyboard: Displays the touchscreen keyboard.
(4) Clock: Used in the production flows to start the time registration.
(5) Delete: Removes the selected item.
(6) Settings (This button is not currently in use but is reserved for future use.)
(7) Refresh: Updates the document list.
(8) Right arrow: Displays the next screen.
Mobile Client Typical Screens
4.3.1. Login screen
Before using the system, log in. |
4.3.2. Selection screens
4.3.3. Scanning screens
In the title section the system displays which type of barcode is required for scanning.
When the system requires a barcode, it will show the text “- - >BarCode< - -“ in the field.
Scan a barcode on a logistic unit | |
When it is possible to continue the flow even though there is no GS1 label, a button will appear in the bottom of the screen. Press the button to continue the flow without scanning a barcode. |
Scan a barcode on a product |
Scan a location |
Scan a master SSCC Note: The screen is displayed if the Consolidate items to pick? setting is enabled on the picklist controller. |
4.3.4. Screens for entering additional information
Add (define) quantity by scanning the serial numbers | |
Serial numbers | |
Serial numbers - Range | |
Serial numbers - Bulk
|
Enter Best Before Date Enter the date to the respective field. By default, the system displays a date which is calculated based on the expiry definition settings for the item and the current date. Press the right arrow button or 'Enter' to proceed. When there is a best before date linked to the item which expires later than the entered best before date, a warning will be displayed. |
Additional Configuration
Set Up Scale with Produmex WMS
1. Prepare setup
1.1. Install Serial Grabber
As the first step, install the Serial Grabber. The Serial Grabber is an application that tests the connection and the configuration of the scale.
You can download the application from here: FTP
1.2. Check scale connection
Make sure the scale is connected and visible in the device manager. Only continue if the scale is visible.
2. Configure scale
The configuration steps might differ based on the used device. In this documentation we describe the configuration steps of a Mettler Toledo PS60 scale.
2.1. Verify the settings of the scale
Check the following setup parameters of the scale:
- Baudrate
- Number of Databits per ASCII Characters
- Parity Bit
- Number of Stopbits
- Protocol
Mettler Toledo PS60 example
In order to check the scale settings, follow these steps:
- Press the ’Units’ key and hold it until the „SETuP?” message is displayed. (This takes approximately 10 seconds.)
- Press the Units key repeatedly until a required parameter is shown on the display. The required parameters are shown with the following codes:
- Baudrate: BAud
- Number of Databits per ASCII Characters: ASCii
- Parity Bit: PAr
- Number of Stopbits: StoP
- Protocol: Proto
- Press the Zero key to read the parameter value.
- Write down the parameter vale.
- Repeat steps 2. 3. and 4. until you have checked every required parameter.
Parameter | Scale display | Example Value |
---|---|---|
Baudrate | BAud | 9600 |
Number of Databits per ASCII Characters | ASCii | 7 |
Parity Bit | PAr | Even |
Number of Stopbits | StoP | 1 |
Protocol | Proto | toLEdo |
2.2. Test connection
Test the scale connection with the help of the SerialGrabber application.
Run the application and fill in the values:
1. Port: The port number. You can check the port number on the Device Manager.
2. Baudrate: The Baudrate value.
3. Databits: The number of Databits per ASCII characters.
4. Parity: The Parity value.
5. Stopbits: The number of Stopbits.
Add any scale command to the field next to the ‘Send’ button (6) then press the button. You can look up the scale command in the documentation of the scale. Make sure that you use a valid command used by the given scale.
The response of the scale is displayed on the field below the command in the following format:
7. TX: entered command
8. time
9. returned command in HEX
10. returned command in ASCII
Example:
In the example we used the get weight command for the Mettler Toledo PS60 scale which is ‘W’.
In return, the Serial Grabber displays the return weight command displayed in hexadecimal and in ASCII characters.
Serial Grabber does not support special characters except for the line feed (\n) and carriage return (\r) characters.
If you have to include another special character(s) in the entered command, you can use Docklight instead of SerialGrabber. You can download the evaluation version of Docklight from here: https://docklight.de/downloads/
2.3. Configure the scale
Create a scale in the Organizational Structure. For more information about the scale settings please see: Scale settings.
First define the scale connection. Make sure that you use the correct scale parameters when you define the communication parameters. In some cases it is possible that the connection can be established with incorrect parameters but the scale returns the result in incorrect characters if the connection is not set properly.
Example: Scale definition for the Mettler Toledo PS60
The following parameters are required in order to define the scale connection:
- Port number: We can check the port number on Computer Management. In this example the port number is COM3.
-
- Baudrate: In this example the Baudrate value is 9600.
- Databits: In this example the Databits value is 7.
- Parity: In this example the Parity value is Even (E).
- Stopbits: In this example the Stopbits value is 1.
If the scale is connected through direct connection, the scale definition is: com://COM3?9600,7,E,1
If the scale is connected through the ScaleComm service, the scale definition is: com://COM3?9600,7,E,1
Then set up the scale commands based on the manual of the given scale. The weight return command is used to return the captured weight into the Produmex application. The weight return command must be defined as a regular expression.
You can use the RegExTester tool to test your regular expression for the weight return command. Download the tool from here: FTP
Example: Weight return command for the Mettler Toledo PS60
On the SerialGrabber we can see that the scale returns the following HEX command:
02 30 30 31 2E 39 30 0D
The HEX command starts and ends with a control character, in this example the start control character is ‘02’ and the end control character is ‘0D’.
HEX code | Regexp code |
---|---|
02 | \x02 |
0d | \x0d |
The string between the control characters is the weight. The weight in the expression should always be surrounded by (?’weight’). Because the weight string can contain any character and has no defined length, we also add the ‘.’ (match any character operator) and the ‘+’ (match one or more operator) to the expression.
Therefore the regular expression for the weight return command is: \x02(?'weight'.+)\x0d
2.3.1. Legacy configuration for the Component weighing flow
Set up the scale on the Scale definition user table:
- Define the code and the name.
- Define the scale provider type.
- Define scale settings
Link a scale to a thin client on the Defines the weighing scales available to a specific thin-client user table.
Please note: Only one scale can be hooked up to a thin client.
2.4. Enable ports in remote desktop connection
Application Configurations
1. General parameters
Logging level
The logging level defines the amount of logging done by the application. Each event that can be logged has a priority. The logging level defines which events will be added to the log file.
Logging levels listed in order of increasing amount of information logged:
- OFF
- FATAL
- ERROR
- WARN
- INFO
- DEBUG
- ALL
The default value is WARN and it can be changed to other logging levels in two lines of the given configuration file (see examples below).
The location of the configuration files are described in the sections below. Additional configuration files of Produmex WMS can be found in C:\Program Files\Produmex\Produmex Tools, e.g.:
- Produmex.Sbo.Logex.Tools.UpdateDatabaseTool.exe
- Produmex.Sbo.Logex.Tools.SalesDeliveryTool.exe
The configuration files are XML text files, they can be edited with a text editor (Notepad).
Examples:
2. Add-On
The configuration file of the add-on loader will be used. The configuration file for the add-on loader application is located in the folder of the Add-On Loader.
Example of 64-bit SAP client:
C:\Program Files\SAP\SAP Business One\AddOns\PMX\Produmex AddOnLoader 20
The file name is Produmex.Foundation.Sbo.AddOnLoader.exe.config
Example of 32-bit SAP client:
C:\Program Files(x86)\SAP\SAP Business One\AddOns\PMX\Produmex AddOnLoader 20
The file name is Produmex.Foundation.Sbo.AddOnLoader.exe.config
TransactionIsolation
Defines the isolation level. For more information see: IsolationLevelEnumeration
Default value: ReadCommitted
TransactionTimeout
Sets the wait time before terminating the attempt to commit the transaction. The value is in hour:minute:second format.
Default value: 00:10:00
CommandTimeout
Sets the wait time before terminating the attempt to execute an SQL command and generating an error. The value is in seconds.
Default value: 30
NumberOfRetriesDeadlock
Specifies the amount of times the application will try to book the same transaction again, when it fails due to specific error types like deadlock, timeout, uncommittable transaction or -2038 SBO error code.
Default value: 3
LogDocumentAsXML
If set to true, data sent to the SAP DI API to generate documents will be exported to the log file in xml format.
Default value: false
In order to export documents to the log file, the ’INFO’ level logging is required. Change all ’WARN’ levels to ’INFO’ in the configuration file.
DebugLocalization
If set to true, localization will be logged on Debug level logging.
Default value: false
DebugLicenseServerClientComm
If set to true, the License Server Client communication (Tx/Rx messages) will be logged on Debug level logging.
Default value: false
Log File configuration
The relative path of the log file is configured in the config file in the line below:
<file value=“.\Log\AddOnLoader.${USERDOMAIN}.${USERNAME}.${SESSIONNAME}.txt” />
All the log files to all of the components of WMS are saved into one common directory from version 2023.06.00 (users are notified at update)
The new location to the log files is:
%ProgramData%\Boyum IT\WMS
For older versions, the path of the log file is:
c:\Program Files\SAP\SAP Business One\AddOns\PMX\Produmex Add-On Loader 20\Log\
3. Fat Client
The configuration file for the fat client application is located in the installation folder of the fat client, for example: C:\Program Files\Produmex\Produmex Fat Client
The file name is Produmex.Sbo.Logex.Execute.FatClient.exe.config
TransactionIsolation
Defines the isolation level. For more information please see: IsolationLevelEnumeration
Default value: ReadCommitted
TransactionTimeout
Sets the wait time before terminating the attempt to commit the transaction. The value is in hour:minute:second format.
Default value: 00:10:00
CommandTimeout
Sets the wait time before terminating the attempt to execute an SQL command and generating an error. The value is in seconds.
Default value: 30
NumberOfRetriesDeadlock
Specifies the amount of times the application will try to book the same transaction again, when it fails due to specific error types like deadlock, timeout, uncommittable transaction or -2038 SBO error code.
Default value: 3
LogDocumentAsXML
If set to true, data sent to the SAP DI API to generate documents will be exported to the log file in xml format.
Default value: false
In order to export documents to the log file, the ’INFO’ level logging is required. Change all ’WARN’ levels to ’INFO’ in the configuration file.
DebugLocalization
If set to true, localization will be logged on Debug level logging.
Default value: false
DebugLicenseServerClientComm
If set to true, the License Server Client communication (Tx/Rx messages) will be logged on Debug level logging.
Default value: false
Produmex.ScriptAssembliesPath
Specifies the path to the script assemblies.
Default path: C:\Produmex\ScriptAssemblies\
Produmex.TempSAPReportPath
Specifies the path to the folder where reports that are retrieved from SAP Business One directly, are stored temporary during the printing.
Default path: C:\Produmex\Reports\TempSAPReports\
Produmex.Error.BackColor
Determines the background color of the error messages. For the supported values please see: Color.FromName Method (String)
Default value: DarkOrange
Produmex.Message.BackColor
Determines the background color of the information messages. For the supported values please see: Color.FromName Method (String)
Default value: WhiteSmoke
Produmex.Screen.Menu.BackColor
Determines the menu background color. For the supported values please see: Color.FromName Method (String)
Default value: LightSteelBlue
Produmex.DI_API.Language
Defines the DI API language.
Supported values: language codes (You can find the language codes in the OLNG table).
Default value: EN
Produmex.Barcode.UseAltModeForBarcode
Defines whether Produmex reads scanned barcode digits as they were keyed in ALT mode or not. Set this option to true if the ALT mode is enabled on the scanning device.
Default value: false
Produmex.Barcode.ParseCode128AsGS1
If set to ‘True’, every Code 128 barcode will be parsed as a GS1-128 barcode.
Default value: false
Produmex.Grid.NavigationByPage
Defines the grid navigation type.
If set to True, the list/grid will navigate by page.
If set to False, the list/grid will navigate by element.
Produmex.Screen.IEnterItemQuantityCombinedScreen.MaxNumberOfButtons
Specifies the maximum number of the component buttons on the ‘Enter the quantity disassembled’ screen in the Disassembly-weight flow. If there are more components than the value set, component buttons will be displayed on multiple screens. Left and right buttons will be added for navigation.
Supported values: n*n, n*(n+1), n*(n+2) where n=positive integer
Default value: 49 (7*7)
SearchForOnlyPicklistNumberOnSelectPicklistScreens
When set to 'True', it forces the client to search only for picklist numbers.
Default value: False
Log File configuration
The path of the log file is configured in the config file in the line below:
<file value=“c:\ProgramData\Boyum IT\WMS\Produmex.Sbo.Logex.Execute.FatClient.exe.${USERDOMAIN}.${USERNAME}.${SESSIONNAME}.log” />
All the log files to all of the components of WMS are saved into one common directory from version 2023.06.00 (users are notified at update)
The new location to the log files is:
%ProgramData%\Boyum IT\WMS
For older versions, the path of the log file is:
c:\Produmex\Log\
MemoryCleanerFrequencyInSeconds
The Memory Cleaner execution frequency in seconds.
- If the value is positive, it will be used as the frequency in seconds.
- If the value is 0, the default frequency will be used.
- If the value is negative, the Memory Cleaner will be disabled.
Default value: 10
4. ScaleComm Service
The configuration file for the ScaleComm service is located in the installation folder of the ScaleComm service, for example: C:\Program Files\Produmex\ProdumexScaneComm
The file name is Produmex.Sbo.Logex.ScaleComm.Service.exe.config
TransactionIsolation
Defines the isolation level. For more information please see: IsolationLevelEnumeration
Default value: ReadCommitted
TransactionTimeout
Sets the wait time before terminating the attempt to commit the transaction. The value is in hour:minute:second format.
Default value: 00:10:00
Mode
Specifies the communication mode of the ScaleComm Service.
Possible values:
- SBO: Obsolete communication mode. Scales will be identified based on the InstanceID.
- WSBO: New communication mode. Scales will be identified based on the ScalesCodes. In order to use Produmex Weigh, the mode must be WSBO.
Default value = WSBO
Instance ID
The instance ID of the scale defined in the Scale definition (PMX_SCLD) table. Please note: The Instance ID will only be taken into account if the Mode is ‘SBO’.
Default value = Instance 1
ScalesCodes
The scale code defined in the Produmex Organizational Structure. To add multiple scales, separate the scale codes by comma.
Skip Polling
Specifies whether to automatically fill the Scale weight result UDT with the measured weight.
- If set to ’False’ the Scale weight result UDT will be automatically filled with the weight.
- If set to ’True’ the Scale weight result UDT will not be filled automatically.
Default value = False
Please note: When using the SBO mode, the Scale weight result UDT will not be filled regardless of this setting.
The values saved in the Scale weight result UDT are not used in the standard Produmex WMS processes. However these values can be used to easily integrate the Produmex WMS scale integration to other systems. (You can find an integration example with PDC here.)
Polling Interval
Defines the polling frequency. The value is in milliseconds.
Default value = 1500
All the log files to all of the components of WMS are saved into one common directory from version 2023.06.00 (users are notified at update)
The new location to the log files is:
%ProgramData%\Boyum IT\WMS
5. Notification Listener Tool
The configuration file for the Notification Listener tool is located in the installation folder of the Notification Listener, for example: C:\Program Files\Produmex\Produmex SB1 Notification Listener (SboConnectionString)
The file name is Produmex.Foundation.SboNotification.ServiceHost.exe.config
TransactionIsolation
Defines the isolation level. For more information please see: IsolationLevelEnumeration
Default value: ReadCommitted
TransactionTimeout
Sets the wait time before terminating the attempt to commit the transaction. The value is in hour:minute:second format.
Default value: 00:10:00
FrequencyMiliseconds
Defines the run frequency of the Notification Listener tool. The value is in milliseconds.
Default value: 5000
All the log files to all of the components of WMS are saved into one common directory from version 2023.06.00 (users are notified at update)
The new location to the log files is:
%ProgramData%\Boyum IT\WMS
6. How to configure logging into database in the config file
This document describes how to set additional logging into a database/schema by modifying the configuration file.
It is possible to insert the logs into an UDT in the given database or into a manually created table in a separate database.
6.1. Logging into an UDT
6.1.1. Create UDT
First create the user defined table in SAP Business One.
In this example we added a PMX_LOG user table.
Then add the following fields to the user table:
field name | field type | field structure | length |
---|---|---|---|
Date | Date/Time | Date | - |
Thread | Alphanumeric | Text | - |
Level | Alphanumeric | Regular | 50 |
Logger | Alphanumeric | Text | - |
Message | Alphanumeric | Text | - |
Exception | Alphanumeric | Text | - |
DomainName | Alphanumeric | Regular | 50 |
UserName | Alphanumeric | Regular | 50 |
SessionName | Alphanumeric | Regular | 50 |
6.1.2. Modify config file
Download an example for the fat client config file from here:
6.1.2.1. Trigger Ado Net Appender
In order to trigger the Ado Net Appender, add the following to the root tag:
<appender-ref ref="AdoNetAppender" />
If there is no logging level defined in the root tag, then the logging level is the minimum logging level set for the AdoNetAppender.
If there is a logging level defined in the root tag, then that logging level is used regardless of the minimum logging level set for the AdoNetAppender.
6.1.2.2. Edit appender tag
Then insert the following before the <root> tag:
MSSQL
<appender name="AdoNetAppender" type="log4net.Appender.AdoNetAppender"> <filter type="log4net.Filter.LevelRangeFilter"> <levelMin value="DEBUG" /> <levelMax value="FATAL" /> </filter> <bufferSize value="100" /> <connectionType value="System.Data.SqlClient.SqlConnection, System.Data, Version=1.0.3300.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" /> <connectionString value="data source=server;initial catalog=database;integrated security=false; persist security info=True;User ID=user;Password=password" /> <commandText value="NSERT INTO "@PMX_LOG" ("Code","Name","U_Date","U_Thread","U_Level","U_Logger","U_Message","U_Exception","U_DomainName","U_UserName","U_SessionName") SELECT NEWID(), NEWID(), @log_date, @thread, @log_level, @logger, @message, @exception,@DomainName,@UserName,@SessionName" /> <parameter> <parameterName value="@log_date" /> <dbType value="DateTime" /> <layout type="log4net.Layout.RawTimeStampLayout" /> </parameter> <parameter> <parameterName value="@thread" /> <dbType value="String" /> <size value="4000" /> <layout type="log4net.Layout.PatternLayout"> <conversionPattern value="%thread" /> </layout> </parameter> <parameter> <parameterName value="@log_level" /> <dbType value="String" /> <size value="50" /> <layout type="log4net.Layout.PatternLayout"> <conversionPattern value="%level" /> </layout> </parameter> <parameter> <parameterName value="@logger" /> <dbType value="String" /> <size value="4000" /> <layout type="log4net.Layout.PatternLayout"> <conversionPattern value="%logger" /> </layout> </parameter> <parameter> <parameterName value="@message" /> <dbType value="String" /> <size value="64000" /> <layout type="log4net.Layout.PatternLayout"> <conversionPattern value="%message" /> </layout> </parameter> <parameter> <parameterName value="@exception" /> <dbType value="String" /> <size value="64000" /> <layout type="log4net.Layout.ExceptionLayout" /> </parameter> <parameter> <parameterName value="@DomainName" /> <dbType value="String" /> <size value="50" /> <layout type="log4net.Layout.PatternLayout"> <conversionPattern value="${USERDOMAIN}" /> </layout> </parameter> <parameter> <parameterName value="@UserName" /> <dbType value="String" /> <size value="50" /> <layout type="log4net.Layout.PatternLayout"> <conversionPattern value="${USERNAME}" /> </layout> </parameter> <parameter> <parameterName value="@SessionName" /> <dbType value="String" /> <size value="50" /> <layout type="log4net.Layout.PatternLayout"> <conversionPattern value="${SESSIONNAME}" /> </layout> </parameter> </appender>
HANA
<appender name="AdoNetAppender" type="log4net.Appender.AdoNetAppender"> <bufferSize value="100" /> <connectionType value="System.Data.Odbc.OdbcConnection, System.Data, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" /> <connectionString value="Driver=driver;SERVERNODE=server address:port number;CURRENTSCHEMA=schema;UID=user;PWD=password;" /> <commandText value="INSERT INTO "@PMX_LOG" SELECT SYSUUID, SYSUUID, ?, ?, ?, ?, ?, ?, ?, ?, ? FROM DUMMY" /> <parameter> <parameterName value="@log_date" /> <dbType value="DateTime" /> <layout type="log4net.Layout.RawTimeStampLayout" /> </parameter> <parameter> <parameterName value="@thread" /> <dbType value="String" /> <size value="4000" /> <layout type="log4net.Layout.PatternLayout"> <conversionPattern value="%thread" /> </layout> </parameter> <parameter> <parameterName value="@log_level" /> <dbType value="String" /> <size value="50" /> <layout type="log4net.Layout.PatternLayout"> <conversionPattern value="%level" /> </layout> </parameter> <parameter> <parameterName value="@logger" /> <dbType value="String" /> <size value="4000" /> <layout type="log4net.Layout.PatternLayout"> <conversionPattern value="%logger" /> </layout> </parameter> <parameter> <parameterName value="@message" /> <dbType value="String" /> <size value="64000" /> <layout type="log4net.Layout.PatternLayout"> <conversionPattern value="%message" /> </layout> </parameter> <parameter> <parameterName value="@exception" /> <dbType value="String" /> <size value="64000" /> <layout type="log4net.Layout.ExceptionLayout" /> </parameter> <parameter> <parameterName value="@DomainName" /> <dbType value="String" /> <size value="50" /> <layout type="log4net.Layout.PatternLayout"> <conversionPattern value="${USERDOMAIN}" /> </layout> </parameter> <parameter> <parameterName value="@UserName" /> <dbType value="String" /> <size value="50" /> <layout type="log4net.Layout.PatternLayout"> <conversionPattern value="${USERNAME}" /> </layout> </parameter> <parameter> <parameterName value="@SessionName" /> <dbType value="String" /> <size value="50" /> <layout type="log4net.Layout.PatternLayout"> <conversionPattern value="${SESSIONNAME}" /> </layout> </parameter> </appender>
6.1.2.3. Adjust the log4net connection string
Adjust the dummy connection string in the log4net part to point to your database/schema.
SQL
<connectionString value="data source=server;initial catalog=database;integrated security=false; persist security info=True;User ID=user;Password=password" />
The DATA SOURCE is the server name.
The INITIAL CATALOG is the database where the logging table has been created.
The USER ID is the database user and the PASSWORD is the password of the user.
HANA
<connectionString value="Driver=driver;SERVERNODE=server address:port number;CURRENTSCHEMA=schema;UID=user;PWD=password;" />
The DRIVER is {HDBODBC32} on 32 bit environments and {HDBODBC} on 64 bit environments.
The SERVERNODE is the server address and the port number, for example 10.45.74.42:30015.
The CURRENTSCHEMA is the schema where the logging table has been created.
The UID is the database user ID and the PWD is the password of the user.
6.2. Logging into a separate database
6.2.1. Create the log table
First create a new database/schema for the log table. Then run the following query on the database/schema:
MSSQL
CREATE TABLE [dbo].[PMX_log] ( [Id] [int] IDENTITY (1, 1) NOT NULL, [Date] [datetime] NOT NULL, [Thread] [varchar] (4000) NOT NULL, [Level] [varchar] (50) NOT NULL, [Logger] [varchar] (4000) NOT NULL, [Message] [varchar] (64000) NOT NULL, [Exception] [varchar] (64000) NULL, [DomainName] [varchar] (50) NULL, [UserName] [varchar] (50) NULL, [SessionName] [varchar] (50) NULL)
Where the PMX_log is the name of the table where the log entries will be inserted.
HANA
CREATE TABLE "schema"."PMX_log " ( "Date" datetime NOT NULL, "Thread" varchar (4000) NOT NULL, "Level" varchar (50) NOT NULL, "Logger" varchar (4000) NOT NULL, "Message" varchar (64000) NOT NULL, "Exception" varchar (64000) NULL, "DomainName" varchar (50) NULL, "UserName" varchar (50) NULL, "SessionName" varchar (50) NULL )
Where the schema is the new schema and the PMX_log is the name of the table where the log entries will be inserted.
6.2.2. Modify config file
Download an example for the fat client config file from here:
6.2.2.1. Edit appender tag
Insert the following before the <root> tag:
<appender name="AdoNetAppender" type="log4net.Appender.AdoNetAppender"> <filter type="log4net.Filter.LevelRangeFilter"> <levelMin value="DEBUG" /> <levelMax value="FATAL" /> </filter> <bufferSize value="100" /> <connectionType value="System.Data.SqlClient.SqlConnection, System.Data, Version=1.0.3300.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" /> <connectionString value="data source=server;initial catalog=extra_database;integrated security=false; persist security info=True;User ID=user;Password=password" /> <commandText value="INSERT INTO "PMX_Log" ("Date","Thread","Level","Logger","Message","Exception","DomainName","UserName","SessionName") VALUES (@log_date, @thread, @log_level, @logger, @message, @exception,@DomainName,@UserName,@SessionName)" /> <parameter> <parameterName value="@log_date" /> <dbType value="DateTime" /> <layout type="log4net.Layout.RawTimeStampLayout" /> </parameter> <parameter> <parameterName value="@thread" /> <dbType value="String" /> <size value="4000" /> <layout type="log4net.Layout.PatternLayout"> <conversionPattern value="%thread" /> </layout> </parameter> <parameter> <parameterName value="@log_level" /> <dbType value="String" /> <size value="50" /> <layout type="log4net.Layout.PatternLayout"> <conversionPattern value="%level" /> </layout> </parameter> <parameter> <parameterName value="@logger" /> <dbType value="String" /> <size value="4000" /> <layout type="log4net.Layout.PatternLayout"> <conversionPattern value="%logger" /> </layout> </parameter> <parameter> <parameterName value="@message" /> <dbType value="String" /> <size value="64000" /> <layout type="log4net.Layout.PatternLayout"> <conversionPattern value="%message" /> </layout> </parameter> <parameter> <parameterName value="@exception" /> <dbType value="String" /> <size value="64000" /> <layout type="log4net.Layout.ExceptionLayout" /> </parameter> <parameter> <parameterName value="@DomainName" /> <dbType value="String" /> <size value="50" /> <layout type="log4net.Layout.PatternLayout"> <conversionPattern value="${USERDOMAIN}" /> </layout> </parameter> <parameter> <parameterName value="@UserName" /> <dbType value="String" /> <size value="50" /> <layout type="log4net.Layout.PatternLayout"> <conversionPattern value="${USERNAME}" /> </layout> </parameter> <parameter> <parameterName value="@SessionName" /> <dbType value="String" /> <size value="50" /> <layout type="log4net.Layout.PatternLayout"> <conversionPattern value="${SESSIONNAME}" /> </layout> </parameter> </appender>
HANA
<appender name="AdoNetAppender" type="log4net.Appender.AdoNetAppender"> <bufferSize value="100" /> <connectionType value="System.Data.Odbc.OdbcConnection, System.Data, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" /> <connectionString value="Driver=driver;SERVERNODE=server address:port number;CURRENTSCHEMA=extra_schema;UID=user;PWD=password;" /> <commandText value="INSERT INTO "PMX_Log" VALUES (?, ?, ?, ?, ?, ?, ?, ?, ?)" /> <parameter> <parameterName value="@log_date" /> <dbType value="DateTime" /> <layout type="log4net.Layout.RawTimeStampLayout" /> </parameter> <parameter> <parameterName value="@thread" /> <dbType value="String" /> <size value="4000" /> <layout type="log4net.Layout.PatternLayout"> <conversionPattern value="%thread" /> </layout> </parameter> <parameter> <parameterName value="@log_level" /> <dbType value="String" /> <size value="50" /> <layout type="log4net.Layout.PatternLayout"> <conversionPattern value="%level" /> </layout> </parameter> <parameter> <parameterName value="@logger" /> <dbType value="String" /> <size value="4000" /> <layout type="log4net.Layout.PatternLayout"> <conversionPattern value="%logger" /> </layout> </parameter> <parameter> <parameterName value="@message" /> <dbType value="String" /> <size value="64000" /> <layout type="log4net.Layout.PatternLayout"> <conversionPattern value="%message" /> </layout> </parameter> <parameter> <parameterName value="@exception" /> <dbType value="String" /> <size value="64000" /> <layout type="log4net.Layout.ExceptionLayout" /> </parameter> <parameter> <parameterName value="@DomainName" /> <dbType value="String" /> <size value="50" /> <layout type="log4net.Layout.PatternLayout"> <conversionPattern value="${USERDOMAIN}" /> </layout> </parameter> <parameter> <parameterName value="@UserName" /> <dbType value="String" /> <size value="50" /> <layout type="log4net.Layout.PatternLayout"> <conversionPattern value="${USERNAME}" /> </layout> </parameter> <parameter> <parameterName value="@SessionName" /> <dbType value="String" /> <size value="50" /> <layout type="log4net.Layout.PatternLayout"> <conversionPattern value="${SESSIONNAME}" /> </layout> </parameter> </appender>
6.2.2.2. Trigger Ado Net Appender
Please see: 10.6.1.2.1. Trigger Ado Net Appender
6.2.2.3. Adjust the log4net connection string
Adjust the dummy connection string in the log4net part to point to the extra database/schema where the created log table is located.
SQL
<connectionString value="data source=server;initial catalog=extra_database;integrated security=false; persist security info=True;User ID=user;Password=password" />
The DATA SOURCE is the server name.
The INITIAL CATALOG is the new database where the log table is located.
The USER ID is the database user and the PASSWORD is the password of the user.
HANA
<connectionString value="Driver=driver;SERVERNODE=server address:port number;CURRENTSCHEMA=extra_schema;UID=user;PWD=password;" />
The DRIVER is {HDBODBC32} on 32 bit environments and {HDBODBC} on 64 bit environments.
The SERVERNODE is the server address and the port number, for example 10.45.74.42:30015.
The CURRENTSCHEMA is the new schema where the log table is located.
The UID is the databse user ID and the PWD is the password of the user.
All the log files to all of the components of WMS are saved into one common directory from version 2023.06.00 (users are notified at update)
The new location to the log files is:
%ProgramData%\Boyum IT\WMS
Configure Catch Weight Items
With the catch weight function, it is possible to keep track of the stock in two UoM’s. The catch weight settings of an item can be set on the Produmex Catch Weight tab of the Item Master Data.
The following setup is needed for catch weight items:
- Set the inventory UoM to the lowest sellable unit, eg. pieces, cases in order to avoid rounding issues.
- Set the number of decimals of the inventory UoM to zero.
- Set the weight as the second UoM.
Example: The stock is stored in a case that contains six pieces. If the company only sells cases, the inventory UoM can be ‘piece’ or ‘case’ for this item. But if the company sells pieces as well, the inventory UoM should be pieces. When the UoM would be case, it means that one piece would be 0,16666 cases. This would cause rounding issues during picking/delivering etc.
Please note: Serial managed catch weight items are not supported.
Supported functionality:
- Purchase Receipt
- Purchase Return
- Ad hoc moves
- Picking
- Multi picking
- Ad hoc picking customer collect
- Packing
- Shipping
- Cycle count
- Production flow
- Production receipt flow
- Cross docking
- Put away
- Sales return
- Quality status changes
- Zone picking
- Ad hoc picking
- Mobile packing
- Consolidated packing
- Easy Stock selector
- Direct cycle count
- Picking for production
- Production manager
- Replenishment
Configure Quality Types
Produmex offers the functionality of measuring the quality of the goods during the following processes:
- Reception
- Document type = 20
- Bulk reception
- Document type = 20
- Production
- Document type = 202
- Production receipt
- Document type = 202
- Disassembly
- Document type = 202
Define quality types and valid values
First define the quality types on the Produmex Quality Types UDF. Open the table via: Tool > Default Forms > PMX_QUTY Produmex quality types. For more information see: 3.2.3.33. Quality types
Set the valid values for quality types with the convertor type „List” on the Produmex quality valid values UDF. Open the table via: Tool > Default Forms > PMX_QUVV Produmex quality valid values. For more information see: 3.2.3.34. Quality type valid values
Perform the reception
Perform the reception on your terminal. Based on the value set as ‘Moment of capture’ on the Produmex quality types UDF, the system will ask the quality type in the beginning or in the end of the reception.
The input screen type will vary based on the convertor type.
Access the data
The data can be accessed by using the following query:
SELECT OPDN."Docnum", OPDN."CardCode", OPDN."CardName", "@PMX_QUTY"."Name", "PMX_QUVA"."QualityValue" FROM OPDN LEFT OUTER JOIN PMX_QUVA ON OPDN."DocEntry" = PMX_QUVA."BaseEntry" AND OPDN."ObjType" = PMX_QUVA."BaseType" INNER JOIN "@PMX_QUTY" ON PMX_QUVA."QualityTypeCode" = "@PMX_QUTY"."Code"
Configure Freight Charges
When adding a Sales Order document, the system calculates the freight charges if the shipping type of the Sales Order matches the freight definition.
1. Set the shipping type on the Shipping Types - Setup form.
2. Set the Shipping Type on the Logistics tab of the Sales Order window.
3. Set the freight on the Freight - Setup form.
4. Open the Freight charges definitions UDT and configure the freight charges that needs to be added to the sales document.
When you fill in the Sales Order document and click Add
, the system opens the Freight Charges form and displays the data that is based on the view defined in the Freight Charges Controller filtered by Card Code, Shipping Type, Country Code and Document Price.
The default view is PMX_FREIGHT_CHARGES.
Reserve Minimum Stock for Customers with Robot Tool
With Produmex WMS it is possible to reserve a minimum stock quantity of an item. The functionality is available via Item Master Data > Produmex tab > Sales tab.
For information on configuration see Item Master Data / Sales tab.
1. Prerequisite
Set the Minimum Customer Stock Levels Controller on the Extension Parameters tab of the Organization Structure by selecting the default extension.
2. Reserve minimum stock levels for customers
1. Add the card code of the customer to the first field of the Card code column.
You can enter the data manually or click on the grey circle which displays the list of your business partners. After selecting the customer, click Choose
. The code of the customer is added and the name of the customer is automatically displayed in the Card name column.
2. Add the warehouse to the Whs column.
You can enter the data manually or click on the grey circle which displays the list of your warehouses. Select the one where the item is located and click Choose
.
3. Add the minimum stock quantity to be reserved for the customer.
Click in the first field of the Minimum stock level column and add the quantity manually or click on the on-screen keyboard and provide the quantity.
4. After providing all the necessary information, click Update
or press Enter
and then click OK
.
To delete the row click on the number of the row and click Delete row
.
It is possible to specify minimum stock quantity of the very same item for more than one customer as well by filling in the fields of the next rows in the grid.
5. Execute the reservation with the Robot Tool and call the Minimum Stock Level tool with parameter /t:customerminimumstock.
3. Examples for reserved stocks and picklist proposals
Example 1
If you reserve stock of an item for more than one customers, Produmex WMS starts to reserve the pieces of the item by following the order in the grid.
In the 1. row of the grid: you reserve 5 from the item for Customer A.
In the 2. row of the grid: you reserve 3 from the item for Customer B.
Inventory: 3
First Produmex WMS reserves 3 pieces for Customer A, then it will wait till you receive further purchase orders when it can keep on reserving the remaining 2 pieces for Customer A. It will start to reserve pieces for Customer B only if 5 pieces have already been reserved for Customer A.
Example 2
If you have reserved stocks for an item and you have a sales order for the item by a customer for whom no stock is reserved (Customer C), Produmex WMS allows for allocating items to a picklist proposal for the customer only if you have free stock.
In the 1. row of the grid: you reserve 5 from the item for Customer A.
In the 2. row of the grid: you reserve 3 from the item for Customer B.
Inventory: 3
Sales order 1 by Customer C: 4 pieces
You can create a picklist proposal for customer C only if you have more than 8 items in your inventory (5 reserved for Customer A + 3 reserved for Customer B). If you have fewer items than 8, the picklist proposal do not find any stock to allocate for Customer C.
Example 3
If there is free stock, any picklist proposal that is being generated can use this stock.
In the 1. row of the grid: you reserve 5 from the item for Customer A.
In the 2. row of the grid: you reserve 3 from the item for Customer B.
Inventory: 11
Sales order 1 by Customer A: 6
Sales order 2 by Customer C (has no reserved stock): 3
5 pieces are reserved for Customer A and additional 3 pieces are reserved for Customer B. In the inventory there are 3 extra pieces which can be allocated (5+3=8 reserved, 11-8=3 extra).
Scenario 1: you prioritize Sales order 1
You create a picklist proposal for Sales order 1 by allocating the 5 reserved items and allocating one extra piece. You can also create a picklist proposal for Sales order 2, that is, the remaining extra 2 items can be allocated, but you need to wait for a purchase order to receive 1 more piece.
Scenario 2: you prioritize Sales order 2
You create a picklist proposal for Sales order 2 by allocating the 3 extra pieces. For sales order 1 you can allocate the 5 reserved pieces and need to receive a purchase order to allocate one more.
Create SBO Sales Deliveries from PMX Sales Shipping Documents
The Sales Delivery Tool creates SBO Sales Deliveries from PMX Sales Shipping documents. When the tool is started, it processes all deliveries that need to be processed when it was started, then exits. The Sales delivery tool only runs once.
Please note: The SBO Sales Delivery is only created if the items on the PMX Sales Shipping document can be shipped.
It is recommended to run the tool as a scheduled task.
The tool is located in the Produmex Tools folder. Before running the tool, make sure that an extension is set for Create SAP delivery from PMX delivery controller.
With default settings, the tool only processes PMX Sales Shipping documents that were created within 7 days from the company that has the „SboConnectionString” connection string in the app config file of the sales delivery tool.
The name of the config file is Produmex.Sbo.Logex.Tools.SalesDeliveryTool.exe.config.
In order to run the sales delivery tool with different conditions, run it from a batch file. The following parameters are supported:
- /NumberOfDays: or /d: A number of days to go back in time to get possible items to deliver.
- /ConnectionStringName: or /cs: A string that identifies the name of the connecting string in app.config file to use.
Example batch file
In order to process the PMX Sales Shipping documents from the last two weeks, run the Sales delivery tool with the following parameters:
Produmex.Sbo.Logex.Tools.SalesDeliveryTool.exe /d:14 /cs:SboConnectionString
Material Configuration for Production
This section describes different material configurations and related possibilities when using the Production Manager, the Receipt from Production Flow or the Production Flow.
Material configuration
Material configuration 1
- Input Bin location: Can Be Lined UP FALSE
- Input Bin location: Direct Consumption of Goods FALSE
- Production Line: Production Manager Type NONE
- Production Order: ItemLine: Has to be Lined Up FALSE
Production step possible (Y) not possible (N) | Production Manager | Receipt from Production Flow | Production Flow | |||
---|---|---|---|---|---|---|
Y/N | Comment | Y/N | Comment | Y/N | Comment | |
Start Production Order | Y | - | N | - | Y | - |
Produce | N | - | Y | Material locked on production line, Receipt from Production document generated | Y | Material locked on production line, Receipt from Production document generated |
Enter quantity to consume | N | - | N | - | Y | Used, rest, waste quantities can be set |
Stop production | N | Error - missing configuration Production Manager Type | Y | No locking, stock consuming from production line, stock not used for production is put away to rest location, Issue for Production document generated | Y | No locking, stock consumed from production line, stock not used for production is put away to rest location, Issue for Production document generated |
Material configuration 2
- Input Bin location: Can Be Lined UP FALSE
- Input Bin location: Direct Consumption of Goods FALSE
- Production Line: Production Manager Type SPL_CONS_LOCK
- Production Order: ItemLine: Has to be Lined Up FALSE
Production step possible (Y) not possible (N) | Production Manager | Receipt from Production Flow | Production Flow | |||
---|---|---|---|---|---|---|
Y/N | Comment | Y/N | Comment | Y/N | Comment | |
Start Production Order | Y | - | N | - | Y | - |
Produce | N | - | Y | Material locked on production line, Receipt from Production document generated | Y | Material locked on production line, Receipt from Production document generated |
Enter quantity to consume | N | - | Y | - | Y | Used, rest, waste quantities can be set |
Stop production | Y | No locking, stock consuming from production line, stock not used for production is put away to rest location, Issue for Production document generated | Y | No locking, stock consuming from production line, stock not used for production is put away to rest location, Issue for Production document generated | Y | No locking, stock consuming from production line, stock not used for production is put away to rest location, Issue for Production document generated |
Material configuration 3
- Input Bin location: Can Be Lined UP FALSE
- Input Bin location: Direct Consumption of Goods FALSE
- Production Line: Production Manager Type MPL_CONS_INPUT
- Production Order: ItemLine: Has to be Lined Up FALSE
Production step possible (Y) not possible (N) | Production Manager | Receipt from Production Flow | Production Flow | |||
---|---|---|---|---|---|---|
Y/N | Comment | Y/N | Comment | Y/N | Comment | |
Start Production Order | Y | - | N | - | Y | - |
Produce | N | - | Y | Material locked on production line, Receipt from Production document generated | Y | Material locked on production line, Receipt from Production document generated |
Enter quantity to consume | N | - | Y | - | Y | Used, rest, waste quantities can be set |
Stop production | Y | No locking, stock consuming from input location, Issue for Production document generated | Y | No locking, stock consuming from production line, stock not used for production is put away to rest location, Issue for Production document generated | Y | No locking, stock consuming from production line, stock not used for production is put away to rest location, Issue for Production document generated |
Material configuration 4
- Input Bin location: Can Be Lined UP TRUE
- Input Bin location: Direct Consumption of Goods FALSE
- Production Line: Production Manager Type NOT NEEDED
- Production Order: ItemLine: Has to be Lined Up TRUE
Production step possible (Y) not possible (N) | Production Manager | Receipt from Production Flow | Production Flow | |||
---|---|---|---|---|---|---|
Y/N | Comment | Y/N | Comment | Y/N | Comment | |
Start Production Order | Y | Assign tank | N | - | Y | - |
Produce | N | - | Y | Material locked on lined-up location, Receipt from Production document generated | Y | Material locked on lined-up location, Receipt from Production document generated |
Enter quantity to consume | N | - | N | Not needed | Y | - |
Stop production | N | No locking, stock consuming from lined-up location | N | - | Y | No locking, stock won't be consume from lined-up location |
Material configuration 5
- Input Bin location: Can Be Lined UP TRUE
- Input Bin location: Direct Consumption of Goods TRUE
- Production Line: Production Manager Type NOT NEEDED
- Production Order: ItemLine: Has to be Lined Up TRUE
Production step possible (Y) not possible (N) | Production Manager | Receipt from Production Flow | Production Flow | |||
---|---|---|---|---|---|---|
Y/N | Comment | Y/N | Comment | Y/N | Comment | |
Start Production Order | Y | Assign tank | N | - | Y | - |
Produce | N | - | Y | No material locking, Receipt from Production document generated, Issue for Production document generated | Y | No material locking, Receipt from Production document generated, Issue for Production document generated from lined-up location |
Enter quantity to consume | N | - | N | Not needed | N | Not needed |
Stop production | N | Production order closed | N | - | Y | Production order closed |
Material configuration 6
- Input Bin location: Can Be Lined UP FALSE
- Input Bin location: Direct Consumption of Goods FALSE
- Production Line: Production Manager Type NOT NEEDED
- Production Order: ItemLine: Has to be Lined Up TRUE
Production step possible (Y) not possible (N) | Production Manager | Receipt from Production Flow | Production Flow | |||
---|---|---|---|---|---|---|
Y/N | Comment | Y/N | Comment | Y/N | Comment | |
Start Production Order | N | Production order cannot be started, it needs a location that can be lined up | N | - | N | No possible location to be lined up for the item |
Produce | N | - | Y | - | N | - |
Enter quantity to consume | N | - | N | - | N | - |
Stop production | N | - | N | - | N | - |
Workflows
Modify Connection Data for Reports with HANA Report Setting Tool
On MSSQL, the connection data is replaced dynamically when printing and there is no need to save the report with the actual connection data.
On SAP HANA, the connection data is not replaced dynamically and it is necessary to save the selected reports with the actual connection to the right database and schema. With the HANA Report Setting Tool it is possible to modify the connection data for multiple reports.
1. Configuration
1.1. Run the Produmex.Sbo.Logex.Tools.HanaReportSettingTool.exe.
The file can be found in the Produmex Tools folder, for example: C:\Program Files\Produmex\Produmex Tools.
Note: The file is only installed during a HANA installation.
When the tool opens, the fields of the Database section are prefilled based on the configuration file of the tool (Produmex.Sbo.Logex.Tools.HanaReportSettingTool.exe.config).
Possible values in the DB Server field:
- Single-Database: hostname:portnumber
- Multi-Database: tdn@hostname:portnumber where tdn = Tenant Database Name
- If the system does not accept the provided values, pls proceed as in case of a single-database: hostname:portnumber
1.2. Configure the 32-bit section
32-bit OBCD Driver: On the 32-bit Section tab the default 32-bit OBCD Driver is automatically set.
Folder of 32-bit RPT files: This is the source folder of the reports that you want to modify and this is where the modified reports are saved.
- The default setting for the source folder is C:\Produmex or C:\Produmex\Reports. If the default folder contains RPT files, they are displayed in the Report Files grid.
- If the source folder does not contain any RPT file, the grid is empty.
- If you want to change the setting, browse another folder.
1.3. Configure the 64-bit section
64-bit OBCD Driver: On the 64-bit Section tab the default 64-bit OBCD Driver is automatically set.
Folder of 64-bit RPT files: This is the folder where the generated 64-bit reports are saved.
- By default, no folder is set. Create your new folder for the 64-bit reports and browse it for the Folder of 64-bit RPT files field.
- Make sure that you have two different folders for the 32-bit and for the 64-bit RPT files.
2. Saving reports
2.1. Save reports with 32-bit
1. Copy the necessary reports from your installation folder (for example: C:\Install\Produmex_WMS_19_1.x64\Reports\HANA) into your 32-bit RPT file source folder. All the reports from your source folder are listed in the grid.
2. Select the necessary report files in the grid. Click Select All
to select all of the reports in the grid or select the necessary ones one by one.
3. Click Update selected reports to the new connection settings
.
4. The tool starts converting the reports into 32-bit versions. In the log window the process is displayed step by step.
The tool creates a new folder named OLD within your 32-bit RPT file source folder and saves a copy of the selected report files into the OLD folder.
It overwrites the report files by converting them into 32-bit versions. When the process is finished, you can find the 32-bit version files in your source folder.
2.2. Save reports with 64-bit
With this function the tool generates 64-bit RPT files from 32-bit RPT files.
Click Copy and update all reports to 64-bit folder
.
The tool starts to generate 64-bit RPT files from all the 32-bit RPT files and saves them to your 64-bit RPT files folder.
3. Defining the report path
Set the appropriate report path in SAP Business One so that the system knows where to find the reports whenever you want to generate a new report in SAP Business One.
1. Open your organization structure and select the Reports tab.
2. Provide the path of your 32-bit RPT files folder or your 64-bit RPT files folder in the Report Path field.
3. Click OK
.