Organizational Structure
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
2. Organizational Structure Settings on Company Level
When you change the data on the tabs of the Organizational Structure, the OK button is enabled. The changes are committed to the database only if you click the button.
2.1. General Settings tab
On the company level general settings can be specified that apply to the entire Produmex WMS add-On.
Language
This includes the standard language (the language that is used by default on the thin clients, unless specified otherwise at the individual user level (cfr. Administration → Users).
Company Logo URL
A reference to the company logo can be added to the field. The path points to a shared folder which contains the company logo used on the login page of the Mobile Client.
DB credentials
The standard connection to the SAP Business One database (username / password). It needs to be set for reporting purposes.
Logistic carriers
It is also possible to define whether logistic carriers (pallets, containers, …) are stored at one location per warehouse (where they are stored after emptying) and what the standard quality status for logistic carriers is.
- Store logistic carriers on 1 storage location by warehouse
When this option is enabled, logistic carriers are stored at one location per warehouse. Set the default storage location for logistic carriers on the Warehouse level.
This setting should be enabled in order to use logistic carriers properly. - Move all logistic carriers on reception
When this option is enabled, logistic carriers are automatically moved to the default storage location of the logistic carriers after the reception.
This setting is only active if the ‘Store logistic carriers on 1 storage location by warehouse’ option is enabled. - Quality status for logistic carriers
Select the standard quality status for logistic carriers from the dropdown menu.
Transport services
These global settings can be overruled on the SAP Shipping types.
- Select Driver When Loading
If the setting is enabled, the name of the driver must be specified or selected when loading. - Select License Plate When Loading
If the setting is enabled, the license plate of the transport vehicle must be recorded. - Select Trailer Number When Loading
If the setting is enabled, the trailer number of the transport vehicle must be recorded.
Goods receipt requires suppl. ref
If the setting is enabled, the operator is asked to enter a supplier reference number during the goods reception process.
- The setting applies to the Reception Flow and Bulk Reception Flow.
- During the flows the system displays a separate Supplier Ref. screen after selecting a supplier and it is mandatory to enter the supplier reference number.
- With the end of the flow the reference number is added to the Vendor Ref. No. field of the created Goods receipt PO document.
Goods receipt automatically prints item labels
If the setting is enabled, the goods receipt on scanner automatically prints item labels. The number of labels printed, is the received number of items. Otherwise the user is asked if printing is needed.
Use inventory returnable items on documents
If the setting is enabled, the returnable item added to the document will be the inventory item.
Note: Depending on the Use Perpetual Inventory setting of the Company Details window of SAP Business One, returnable items work differently in Produmex WMS.
- If the setting is enabled, it is possible to add non-inventory items to the documents based on the Use inventory returnable items on documents setting.
- If the setting is disabled, then inventory returnable items are added to the documents regardless of Use inventory returnable items on documents setting.
Set vat group returnable items on documents
If the setting is enabled, the VAT group of the returnable item will be set when added to the document. For purchase this will be OITM.VatGroupPu and for sales this will be OITM.VatGourpSa.
Check to add returnable items
If the setting is enabled, the system will try to add returnable items when booking a document. To avoid this check this can be unticked.
Disable item selection in flows
If the setting is enabled, it will not be possible to select an item on scanner/touchscreen. The user will always have to scan a barcode to identify the item.
Pick list proposal allowed to exceed order
If the setting is enabled, it is possible to adjust the quantity of the proposal, so it exceeds the ordered quantity.
Do not lock stock on picking (picklists can be created even if no stock is available)
When proposals are made, stock is locked. If the setting is enabled, the system does not lock stock when creating the proposal. This means that there is no more check of available quantity, so proposals can be made, even if there is not enough quantity.
Note:
- Picking can only happen through the Ad Hoc Picking Flow.
- This option does not apply to picklists for production. These picklists will have locking.
- If the Do not lock stock on picking setting is enabled, make sure that you disable the Make Picklist ready before print? setting on the picklist controller.
Allow overpicking
If the setting is enabled, you can pick more items than specified in the sales order/picklist. This can be done for convenience purposes, e.g. if an order for 14 items is received and the packaging unit for that item is a box of 15 items. In such a case, picking a whole box may be more convenient than opening the box and taking one item out.
This option is available for Picking, Zone picking, Multi picking and Ad hoc picking tasks Route and Pick List.
Overpicking is not allowed when picking an alternate stock.
Allow overpicking (Customer collect)
If this setting is enabled, the operator will be able to pick more items than specified in the sales order/pick list in the Ad hoc picking – Customer collect flow.
Count colli after picking
As a further check to ensure the correctness of deliveries, it can be specified that the operator has to count and enter the number of colli that were picked and put onto a logistic unit (SSCC), which the operator wishes to finish. The system will then verify whether this number is the same as the number of colli it has recorded during the picking process onto this logistic unit (SSCC). The count is done in the inventory UoM.
When this is ticked, it can be configured how many times the user can enter an incorrect count.
When this maximum is reached, the picked SSCC is considered unpicked, and a new picklist is created for these items, forcing the user to pick again.
Embed .NET forms in SBO forms
If the setting is enabled, all forms run within SAP.
But in some cases it is useful if some screens are not embedded in SAP. In that case it is possible when you have 2 monitors to move certain screens outside of SAP on another monitor.
This can be done by unchecking this checkbox.
Some screens will be shown in the Windows taskbar, and will be outside of SAP.
Supported screens:
- Organizational structure
- Route planning
- Production manager
- Cycle count – Select location
- Cycle count – Process
Usability Improvement Program
The Usability Improvement Program (UIP) aims to give all Boyum IT customers the ability to contribute to the design and development of Boyum IT products.
By default, the setting is enabled and the add-on automatically sends information to Boyum IT about how the product is used. The information is used to improve the related features.
The gathered data sent to Boyum IT can be:
- feedback: generic information (e.g. SAP version, resolution) and add-on specific information (e.g. number of configurations)
- error
UIP does not send any business data, confidential information or user / customer information. For more information about UIP click here.
If the setting is enabled, an additional Usability Improvement Program tab is displayed in the Organizational Structure window with the following settings:
- Scheduled time to send data: the exact time of the day when information is sent
- Send errors only: If the setting is enabled, only errors are sent to Boyum IT.
Auto-Select Company
If the setting is enabled, the Company element is automatically selected when the Organizational Structure is opened.
Auto-Extend Company
If the setting is enabled, the Company subtree is automatically expanded to the highest level, which is usually the warehouse level, when the Organizational Structure is opened.
2.2. Defaults tab
Labels
In the default settings you can specify the standard labels for goods receipt, shipping and the standard item label.
Additional expenses generator
The setting is used to copy additional expenses, for example freight costs from a sales order/line to a sales delivery.
Generating additional expenses are supported in the following cases:
- Target document: Sales Delivery
Base document: Sales Order or Sales Invoice - Target document: Sales Invoice
Base document: Sales Order or Sales Delivery - Target document: Purchase Delivery
Base document: Purchase Order or Purchase Invoice
Note: The way the costs get divided on the base documents depends on the configuration within SAP. Produmex WMS does not handle it.
Default quality status reception
The default quality status for goods receipt.
This option can be overruled by settings on the item master data.
Released quality status reception
This setting is related to the setting “default quality status reception”. The setting defines the quality status of a batch number that is released in inventory. For example an item with a batch number is received in inventory with a quality status of quarantine (default quality status reception), if the item and batch number changed of quality status to released and the item with the same batch number is again received into inventory it will retrieve the quality status defined in the setting “Released quality status reception”.
This option can be overruled by settings on the item master data.
Quality status sales return
The default quality status for sales return.
This option can be overruled by settings on the item master data.
Quality status cycle counting
Defines the default status of items that are added to the inventory (Inventory Transaction → Goods Receipt) as a result of Cycle Counting (when a positive difference has been established between the actual physical stock in the warehouse and the administrative stock that was registered in SAP Business One). The cycle count default quality status is applied to any stock within or without the SSCC. (Except when the counted bin has a fixed quality status, the surplus stock then gets that quality status)
Quality status returnable items
The default quality status for returnable items.
This is used when inventory returnable items need to be added to the system.
2.3. Extension Parameters tab
On the Extension Parameters tab it is possible to define parameters for certain properties. The properties and the applicable extensions are listed in the Parameter Set, Property and Extension drop-down menus.
The Parameter Set duplication feature allows users to create independent parameter sets based on existing ones. Next to the Parameter Set drop-down menu, there is a “Duplicate” button that triggers the appearance of the modal form/window. This window includes an Original Parameter Set (read-only textBox) and a New Parameter Set (editable textBox). It provides an OK button and a Cancel button. Pressing OK performs the following actions:
- If the New Parameter Set is empty, the OK button is disabled to maintain data integrity.
- If the New Parameter Set is filled, the new parameter set is saved from memory to the database, and the Duplicate Parameter Set window is closed. The newly created parameter set is then loaded. Modifications made to the original parameter set are applicable to the duplicated set. The system supports seamless saving and reloading of modifications for the new parameter set.
Select a property and the applicable extension parameter and the related parameters are displayed.
With the Search Parameters field it is possible to filter the shown parameters. Only parameters that contain the entered characters are displayed.
The following sections describe the available properties and their extensions:
2.3.1. 3PL invoicing controller
2.3.2. Archiving controller
2.3.3. Barcode controller
2.3.4. Batch number 1 on company
2.3.5. Batch number 2 on company
2.3.6. Batch number generator for sales return
2.3.7. Batch number production company
2.3.8. Best before for production generator
2.3.9. Best before for reception generator
2.3.10. Checks controller
2.3.11. Container management controller
2.3.12. Create SAP delivery from PMX delivery controller
2.3.13. Cycle count controller
2.3.14. Document series controller
2.3.15. Freight charges controller
2.3.16. Incoming payment generator
2.3.17. Interface for PMX Advance Shipping Notice importer and exporter
2.3.18. Interface for PMX move im-/export
2.3.19. Interface for PMX move order im-/export
2.3.20. Interface for PMX pick list im-/export
2.3.21. Interface for PMX serial number im-/export
2.3.22. Interface for PMX stock QS change import
2.3.23. Interface for SBO business partner im-/export
2.3.24. Interface for SBO goods issue im-/export
2.3.25. Interface for SBO goods receipt im-/export
2.3.26. Interface for SBO incoming payment im-/export
2.3.27. Interface for sbo item master data im-/export
2.3.28. Interface for SBO production issue im-/export
2.3.29. Interface for SBO production receipt im-/export
2.3.30. Interface for SBO purchase credit note im-/export
2.3.31. Interface for SBO purchase delivery im-/export
2.3.32. Interface for SBO purchase invoice im-/export
2.3.33. Interface for SBO purchase order im-/export
2.3.34. Interface for SBO purchase return im-/export
2.3.35. Interface for SBO sales credit note im-/export
2.3.36. Interface for SBO sales delivery 2 im-/export
2.3.37. Interface for SBO sales delivery im-/export
2.3.38. Interface for SBO sales invoice im-/export
2.3.39. Interface for SBO sales order im-/export
2.3.40. Interface for SBO sales return 2 im-/export
2.3.41. Interface for SBO sales return im-/export
2.3.42. Interface for SBO whs transfer im-/export
2.3.43. Inventory controller
2.3.44. IPmxStockInterface - Pmx stock im-/export
2.3.45. Location controller
2.3.46. Minimum customer stock levels controller
2.3.47. Move controller
2.3.48. On consume for production controller
2.3.49. On release of route controller
2.3.50. On sales delivery creation
2.3.51. Open documents screen controller
2.3.52. Open Sales Orders Controller
2.3.53. Packing controller
2.3.54. Picklist robot
2.3.55. Picking for production controller
2.3.56. Picklist controller
2.3.57. Picklist proposal generator
2.3.58. Picklist proposal manager screen controller
2.3.59. Production controller
2.3.60. Proof of delivery controller
2.3.61. Purchase delivery generator
2.3.62. Put away for order generator
2.3.63. Put away for production generator
2.3.64. Put away for receive from warehouse generator
2.3.65. QS reception contr. on company
2.3.66. Receive from Whs controller
2.3.67. Replenishment generator
2.3.68. Report mailer
2.3.69. Route controller
2.3.70. Sales delivery note generator
2.3.71. Sales return generator
2.3.72. Sample generator
2.3.73. Serial number controller
2.3.74. Stock allocation controller
2.3.75. Track and trace controller
2.3.76. Warehouse automation controller
2.4. Production tab
When the product is produced, the quality status of the product is defined by the Quality Status Production setting on the Production tab of the Organizational Structure.
The available quality status in the drop-down menu are defined by the quality status list set on the Quality Status tab of the Organizational Structure.
2.5. SSCC tab
2.6. Reports tab
2.6.1. Overview
The Reports tab offers an overview of the standard reports that have been defined in Produmex.
It includes a reference to the shared folder (Report path, Coresuite report path) where the reports are stored and makes it possible to set the report parameters:
- Format in which the report is created (for example Crystal Reports, CoreSuite)
- Name
- Page size
- Orientation
- Type
- Path from the entered report path
2.6.2. Configuration
1. Select the format you wish to use from the Format drop-down menu:
- A) Crystal Reports: uses the reports you download with your Produmex installation file.
- B) Crystal Reports by SAP: uses the default reports that are stored within SAP.
- C) Coresuite: uses the reports available in Coresuite.
- D) Unknown: can be used for custom report types.
2. The next step depends on the format you have selected in step 1:
- A) Crystal Reports: Provide the path of the reports in the Report Path field.
- MSSQL:
You can find the reports in your installation folder and you can add its path to the Report path field, for example: C:\Install\Produmex_WMS_X_X.x64\Reports\MSSQL. - HANA: see HANA Report Setting Tool
- B) Crystal Reports by SAP: Check the ID of the report, then add the ID into the Path field. When the system starts printing, it gets the report with this ID from the database.
- C) Coresuite: When printing the system creates a file to a certain folder. The field Coresuite report path needs to be filled in with a folder where the file needs to be stored. The Coresuite add-on picks up the file and prints the report.
3. Provide the necessary report parameters.
- Name
- Page size
- Orientation
- Type: The system uses the report type to provide the necessary data for the flows while printing, see Report table below.
- Path from the entered report path
4. Click ADD and the list of the added reports is displayed in the grid.
2.6.2. Report table
| Report name | Report type |
|---|---|
| Default Goods Receipt Label | Goods Receipt Label (GR-LBL) |
| Default Goods Receipt Label Data matrix | Goods Receipt Label (GR-LBL) |
| Default Goods Receipt Label Small | Goods Receipt Label (GR-LBL) |
| Default Item Label | Item Label (ITM-LBL) |
| Default Logistics Label | New master logistic unit label (MALU_REP) |
| Default Pack List | Sales delivery report (SDEL-RPT) |
| Default Picking Item Completed | Picklist report (PICK-REP) |
| Default Picking Prepare Cart New SSCC Label | Picking prepare cart new SSCC (PPCNSSCC) |
| Default Pick List | Picklist report (PICK-REP) |
| Default Production Label | Production Label (PRD-LBL) |
| Default PT Item Label | Item Label (ITM-LBL) |
| Default PT Item Label 2 | Item Label (ITM-LBL) |
| Default Purchase Order | Purchase order report (PORD-RPT) |
| Default Route Document | Route report (RT-RPT) |
| Default Sales Delivery By Sales Order | Sales delivery report (SDEL-RPT), Sales invoice report (SINV-REP) |
| Default Sales Delivery By SSCC | Sales delivery report (SDEL-RPT), Sales invoice report (SINV-REP) |
| Default Sales Order Confirmation | Sales order report (SALO-REP) |
| Default Shipping Label | Shipping Label (SH-LBL), PMX Sales shipping report (PSSH-RPT) |
| Default Shipping Label Small | Shipping Label (SH-LBL), PMX Sales shipping report (PSSH-RPT) |
| Default Shipping Label With Items | Shipping Label (SH-LBL), PMX Sales shipping report (PSSH-RPT) |
| Default Warehouse Transfer Document | Warehouse move report (WHSM-REP) |
| Default Weigh Order | Weigh order (WO_REP) |
| KPI_Avg Time Picking Report | KPI Average time picking report (KPI_ATP) |
| KPI_Num Deliveries Per Dock Report | KPI sum deliveries (KPI_SDE) |
| KPI_Pick Item Time Report | KPI pick item time report (KPI_PIT) |
| KPI_Pick Lines Per User Report | KPI lines per picker (KPI_LPP) |
| KPI_Time Managment Report | KPI Time management (KPI_TMA) |
2.7. Print Events tab
On the Print Events tab you can indicate which report has to be generated and printed on which event.
The list of print events is available here.
2.6.1. Set up a print event
1. Select the necessary event in the Event drop-down menu.
2. Select the report to be generated upon the occurrence of the event in the Report drop-down menu.
3. Provide the number of copies to be printed in the Number of Copies field. The value provided in the field means that the system prints exactly this number of copies. Value 0 and 1 mean that the system prints exactly 1 copy.
4. Printing
If the Ask operator for reprint in the mobile client? setting is enabled, the system displays the Reprint Label screen on the Mobile Client and asks if more copies should be printed after the given number of copies has been printed.
If the Ask operator to choose printer in the mobile client? setting is enabled, the system displays the Select a Printer screen on the Mobile Client and lists the printers available in the warehouse where the Mobile Client is set. If the setting is not enabled, the system uses the default printer.
5. Optional: In the Filter drop-down menu select a predefined filter, a condition that has to be met for the report to be generated.
The following filters can be selected:
a) Filter by Warehouse Move Matrix UDT(PRFWMM)
The filter can be used for warehouse move documents. It uses the settings of the Warehouse Move Matrix UDT to check whether a document should be printed.
b) Customer Collect (PRFCUCO) and Not for Customer Collect (PRFNCUCO)
- PRFCUCO: The document is only printed for customer collects.
- PRFNCUCO: The document is not printed for customer collects.
These filters can be used for the following print events:
- 200 Picking: new LU full
- 300 Shipping: sales delivery note created
- 302 Shipping: picklist shipped
- 500 Packing: finished LU
c) Document Line (PRFDOCLI)
The filter can be used for print event 204 - Picking: after item is picked and it uses the setting Print after item picked of the Produmex Pick List Types (PMX_PLTY) UDT to check whether a document should be printed.
d) LUID Generated Printed (PRFLUIDG)
When a logistic unit is received with a valid logistic label containing an SSCC, the system does NOT generate a new reception label with a new system-generated SSCC. The filter can be used for the following print events:
- 101 Reception new LU identified
- 200 Picking: new LU full
- 400 Production: LU produced
- 500 Packing: finished LU
- 700 WHS: created LU
- 702 WHS: created master LU
e) Script (PRFSCRIP)
It offers the possibility to develop criteria for determining when and how a label should be printed. Please see section 5.1.6.2. Scripted print filters below.
6. Click Add.
2.6.2. Scripted print filters
It is possible to define a custom print filter. It will allow to block printing for certain parameters.
A typical print filter consists of 3 main sections
- Running of SELECT QUERY to get needed info for document
- Determination of TRUE or FALSE value according to needed info
- Return RESULT
Creation of a new print filter
In the Produmex Organizational Structure go to the Print Events tab.
Here you can add a filter to the desired print event.
Select Filter → IPrintReportFilter – Script (PRFSCRIPT)
Click the Edit button.
The following script editor opens and you can paste the script.
Press the ‘Empty script’ button to open a script template designed for the selected print event. We recommend to use this template instead of starting from an empty script.
The template contains two print report methods.
- Use the first method if the report has only one parameter.
- Use the second method if the report has more than one parameters.
Here you can find a demonstration script that explains what is needed.
Note: In Hana queries are case sensitive. Pls write field names as follows: \“fieldname\” for example: \“CardCode\”
using System;
using System.Reflection;
using Produmex.Foundation.Data.Sbo;
using Produmex.Foundation.Diagnostics;
using Produmex.Sbo.Logex.Data.BusinessObjects;
using Produmex.Sbo.Logex.Data.Providers;
using Produmex.Foundation.Data.Sbo.BusinessObjects;
using Produmex.Foundation.Data.Sbo.Utilities;
using Produmex.Foundation.Data.SqlClient;
public class Script
{
private static readonly ILog s_log =
LogProvider.GetLogger(MethodInfo.GetCurrentMethod().DeclaringType);
public static bool PrintReport(PmxPrintReportEventType eventType, int key, PmxDbConnection dbConn)
{
//Create the query you want to use
string query = "SELECT [COLUMNAME1], [COLUMNAME2] FROM [TABLENAME] WHERE [Key] = "
+ key.ToString();
//Run the query
using (ISboRecordset rs = SboRecordsetHelper.RunQuery(s_log, query, dbConn))
{
if (!rs.EoF)//Check if you get result from the query
{
string var1 = rs.GetTypedValue<string>("COLUMNAME");//Get a string value
int var2 = rs.GetTypedValue<int>("COLUMNAME2");//Get an int value
//Possibility to add a check on the result
//In this case if the value of column with name 'COLUMNAME2' equals to 99,
//a label should be printed
if (var2 == 99)
{
return true; //Label will be printed
}
else
{
return false; //Label will not be printed
}
}
}
return false; //Label will not be printed
}
}
So you can modify this script to fit your needs:
- Modify the query to lookup the needed info
- Get the needed values from the query result
- Modify the check on the result and return the correct TRUE or FALSE
You can also use this screen to:
- Validate the Script
- Do a test run with a KEY from the database :
The key is what is passed to the report. So for the print event ProductionLogisticUnitProduced this is the LUID of the produced pallet.
In order to avoid performance issues, do not use ‘SELECT *’ syntax in the select query. Select only the required columns or the primary key.
Example:
- What should be avoided:
SELECT * FROM "OITM" WHERE "ItemCode" = 'ITEM01'
- What to use instead:
SELECT "InvntItem", "MinLevel" FROM "OITM" WHERE "ItemCode" = 'ITEM01'
SELECT "ItemCode" FROM "OITM" WHERE "ItemCode" = 'ITEM01'
It’s also recommended to add the WITH (NOLOCK) hint to all tables used in these queries.
For example:
SELECT "ItemCode" FROM "OITM" WITH (NOLOCK) WHERE "ItemCode" = 'ITEM01'
- Or with a join (NOLOCK on all tables):
SELECT "OITM"."InvntItem" FROM "DLN1" WITH (NOLOCK) JOIN "OITM" WITH (NOLOCK) ON "DLN1"."ItemCode" = "OITM"."ItemCode" WHERE "DLN1"."ItemCode" = 'ITEM01'
Below you can find another demonstration script which explains how to access more than one parameter in your print filter. It can be relevant as the 204 - Picking: after item is picked print event takes two parameters.
Note: In HANA make sure that you use the parameter of the print event. The list of print events and their parameters are available here.
using System;
using System.Collections.Generic;
using System.Text;
using Produmex.Foundation.Data.Sbo.Providers;
using Produmex.Sbo.Logex.Data.Extensions;
using Produmex.Foundation.Diagnostics;
using Produmex.Sbo.Logex.Data.BusinessObjects;
using Produmex.Foundation.Data.Sbo.BusinessObjects;
using Produmex.Foundation.Data.Sbo.Utilities;
using Produmex.Sbo.Logex.Data.BusinessObjects.Definitions.Tables;
using Produmex.Foundation.Data.SqlClient;
using System.Reflection;
using Produmex.Foundation.Data.Sbo.BusinessObjects.Definitions.Tables;
using System.Globalization;
using Produmex.Foundation.Data.Sbo;
using Produmex.Sbo.Logex.Data.Providers;
public class Script
{
private static readonly ILog s_log = LogProvider.GetLogger(MethodInfo.GetCurrentMethod().DeclaringType);
public static bool PrintReport( PmxPrintReportEventType eventType, IDictionary<string,object> parameters, PmxDbConnection dbConn )
{
// Only print if we have just picked an item where an UDF on Item Master Data is set to yes, otherwise do not print
// Adapt this query to your needs
string query = "SELECT PMX_PLLI.InternalKey, OITM.U_LabelPrint FROM PMX_PLLI" +
" LEFT JOIN OITM ON PMX_PLLI.ItemCode = OITM.ItemCode" +
" WHERE U_YourUDF = 'Yes' AND PMX_PLLI.DocEntry = " +
parameters["@docEntry"].ToString() +
" AND PMX_PLLI.LineNum = " +
parameters["@lineNum"].ToString();
//Run the query
using (ISboRecordset rs = SboRecordsetHelper.RunQuery(s_log, query, dbConn))
{
if (!rs.EoF)//Check if you get result from the query
{
return true; //Label will be printed
}
}
return false; //Label will not be printed
}
}
2.8. Zone Types tab
The Zone Types tab allows for defining Zones Types in your company. Zone Types can be assigned to specific items depending on their storage conditions.
Note: When a Zone Type is created, its code cannot be changed.
Needs Reason
Enable the Needs Reason setting if a reason must be provided when receiving or moving the item into a zone with the given zone type.
Show Zone Type
If the setting is enabled, the zone type is shown during the reception of an item.
During the reception of items with zone types, an optional information screen can be displayed to remind the operators in which zone(s) the product can be stored. This is for information purposes only, and while the screen asks the operator to select a zone, no action is taken. The screen is displayed only if the item being received has at least one zone type with the Show Zone Type option enabled.
2.9. Page Sizes tab
2.10. Quality Status tab
The “Quality status” allows you to define the applicable quality statuses for your company.
For each quality status it is possible to define whether or not an item with that specific quality status can be shipped and/or picked for production and/or picked for a replenishment order.
Furthermore you can specify to which quality status a specific status can be changed: e.g. “blocked” can be changed to “released”.
Ask for reason
On the transition between quality statuses the user can set whether a reason needs to be entered for the change.
Can be shipped
The quality status is allowed to be picked and shipped.
Can be picked for replenishment
Indicates if the stock can be used to replenish pick locations.
Can be picked for production
Indicates if the stock can be used pick for production.
Can be used for production
Indicates if the stock can be used for production. Stock that does not have this option, are not allowed to be stored on production lines.
Can be put on a pick location
Indicates if the stock can be stored on pick locations.
Can be shipped under quarantine
Indicates that the stock is in quarantine, but still allowed to ship. Setting ‘Shipping quality option’ on the sales order line can be changed to allow shipment of these goods.
Quality status transitions
This lists the quality statusses to where the current quality status can be changed to.
It is possible to flag the setting Ask for reason. By doing this, when the user changes the quality status through the inventory report, he will have to select a reason for this quality status change.
It is also possible to limit users from making certain quality status transitions.
This is done by selecting a user group for the transaction.
If a user wants to perform a quality status transition, he is only allowed to change it to a quality status that has no user group, or a quality status that has the user group he is assigned to.
Please note that reasons or user group limitations do not apply when moving stock to a location with a predefined quality status.
2.11. Reasons tab
Define the reasons that can be used in Produmex WMS flows on the Reasons tab. A reason might be required to perform certain actions or to explain why a specific action cannot be completed or a specific item cannot be used.
Add the code, name and sequence number of the reason. The sequence number defines the order the reason is shown on the terminals.
Then specify when the reason can be used by checking the corresponding checkbox.
If extra explanation is needed, check the ‘Requires extra reason text’ checkbox as well.
2.12. Connection between Reason & Location suggestion
For more information about location settings follow this link to the Location controller site.
When the location suggestion is enabled, the system will suggest a location for the stock that is being moved in the following flows:
- Reception (In case of receiving on location instead of dock)
- Put away
- Ad hoc moves
- Move orders
- Unpicking for production
- Undo picking
- Consolidated moves
When a destination location needs to be entered these flows will perform the following scenario:
Check if location suggestions are enabled
Enabled:
- Get list of suggested locations
- Show first suggested location on the screen
- Enter a location or select a location
- The list of suggested locations is displayed on the screen after the ‘Select location’ button is pressed
- When the location is not the first suggested location or an empty location:
- Enter a reason
Not enabled:
- Enter a location or select a location
- All valid locations are allowed
Example - Ad Hoc Movement with default location and location suggestion
Let's see a simple example for an Ad Hoc Movement and how to configurate the settings in Item Master Data for in Item that has to be asked for a reason to move to a Zone or out of the the Zone.
1. Make sure you enabled the “Use Location Suggestion?” option in your selected Warehouse where the preferred Zone is located for the Ad Hoc Movement. In this case I will use the GeneralWarehouse (01).
2. As a next step configurate the chosen Bin under the preferred Zone.
GeneralWarehouse (01) → Zone for logisticWh01 → B.0009
3. Select and configurate the default location on Item Master Data → Produmex → Inventory tab for your chosen Item.
4. Open the Mobile Client to process the Ad Hoc Movement.
Logistics → Move → Ad Hoc Movement → Local Move → Full Logistic Unit
Now “Scan an SSCC”, in the example the Item's SSCC is “00000000000000000314”.
Clicking on the forward button, as expected the default location is suggested on the bottom of the Mobile Client as we configurated.
5. If you are selecting a Bin that is NOT the suggested location, the system will ask for a reason.Select and write your reason ant the Ad Hoc Movement will be done.
2.12. 3PL Invoicing tab
The 3PL Invoicing tab allows for defining the items to be used on the A/R invoices sent to the 3PL customers. 6 items can be defined, each corresponding to one type of 3PL price calculation:
- Inbound document count: price depending on the number of Goods Receipt POs
- Inbound line count: price depending on the number of lines in Goods Receipt POs
- Inbound item quantity: price depending on the item quantities received
- Outbound document count: price depending on the number of sales deliveries
- Outbound line count: price depending on the number of lines in sales deliveries
- Outbound item quantity: price depending on the item quantities delivered
Only non-inventory items can be selected and each item can be enabled or disabled. Prices corresponding to disabled items are added to the 3PL invoices.
In addition to the 6 types of 3PL price calculations, it is also possible to define 3PL price calculations based on the storage per location type. See section Location Types.
2.13. History Configuration tab
The History Configuration tab offers the possibility to define for which elements or aspects (which are stored in individual database tables) the changes have to be tracked in the context of Audit Trail.
This can be changes to characteristics of specific Organizational Structure Elements (e.g. a bin, a zone, a production line, … ) which need to be tracked, such as their name, zone type code, …
It may also be necessary to track changes to specific characteristics of items, such as e.g. the shelf life of an item for the various business partners of a company. This is shown in the example below, where it has been configured that for the table “Item shelf life for partner” it has to be recorded when the shelf life for a specific item for a specific business partner is added, updated or deleted.
These changes will then be tracked by the Produmex Office function Audit Trail.
2.14. Workflows tab
The Workflows tab of the Organizational Structure lists the workflows used by the system and makes it possible to adjust the workflows.
The the columns displayed in the table of workflows include:
- Name: Displays the name of the workflow.
- Version: Indicates the version of the workflow.
- Execution Type: Specifies the type of execution associated with the workflow.
- Objective: Provides a brief description of the workflow's purpose.
- Process Type: Indicates the related process type (e.g., inbound, outbound, production, printing).
- Details: Contains a working link to the workflow description in the wiki (if available).
- Type: Specifies the type of the workflow.
- Update Date Time: Displays the most recent update date and time of the workflow.
In the Filter field, users can narrow down their searches for Workflow scripts. the filter is not case sensitive, does not support wildcards, and has a maximum character limit of 100. As text is entered, the table will dynamically update, showing only the workflow lines where the Name column contains the entered text.
When editing a Workflow script after pressing the 'Edit Script' button, line numbers now help overseeing the code.
Modifying workflows can cause serious disruption of processes and even data corruption. Extreme Caution is advised. It is recommended that only experienced WMS Consultants attempt to modify these workflows. Boyum IT cannot be held responsible for issues resulting from externally modified workflows.
2.15. Config tab
The Config tab list some configuration that can be done for several processes and customer specific configuration can be stored here.
Google API key
- Route maps: An API key is needed to run the Google maps functionality.
- Each customer needs to get his own API key to be entered in the Google API key field.
- The Google API key must be created here and its status must be set to active.
For information about the ASOPLG and Create proposal settings click here.
For information on the Interface monitor settings click here.
2.16. Archiving tab
Produmex offers the option to manually archive data from closed documents in order to decrease database size and improve system performance.
The archiving process moves the selected data from closed documents into other tables in the same database or into a separate database, based on the configuration Archive databases and tables can be distinguished by the ‘_AR’ suffix in their name.
It is recommended to make a backup of the DB before doing the Archiving.
5.1.15.1. Configurations for archiving
Adjust the settings of the archiving process in the Archive Controller (Please see Extension Parameters / Archiving Controller).
5.1.15.2. Perform archiving
To execute the archiving process, go the Archiving tab in the Organizational Structure on the company level.
The Archive database field is prefilled based on the Use separate database setting in the Archiving Controller. When there is an _AR suffix at the end of the database name, the archiving is executed to a separate database.
The Days to keep live field is prefilled based on the Days to keep data in live database before moving to archive setting in the Archiving Controller. This number can be modified before executing the archiving.
Click on the Execute button to initiate the archiving process.
5.1.15.3. Steps before the first archiving
When executing the archiving the first time, the archiving database (if configured) and the archive tables will be created first.
Changing the Use separate database setting after the first archiving is not supported as it can cause issues.
Before creating the database and the tables, the system will ask for confirmation. Click on ‘Yes’ to proceed with the archiving.
After creating the archive tables, the system will ask for confirmation whether to continue with the archiving. Click Yes.
5.1.15.4. Archive tables
The system creates the following archive tables:
- PMX_AR_COHE
- PMX_AR_COLI
- PMX_AR_DLPL
- PMX_AR_DSST
- PMX_AR_IMHE
- PMX_AR_IMLI
- PMX_AR_INVD
- PMX_AR_LPLM
- PMX_AR_MOHE
- PMX_AR_MOLI
- PMX_AR_MVHE
- PMX_AR_MVLI
- PMX_AR_PIOP
- PMX_AR_PLHE
- PMX_AR_PLLI
- PMX_AR_PLLO
- PMX_AR_PLPH
- PMX_AR_PLPL
- PMX_AR_RTHE
- PMX_AR_RTLI
- PMX_AR_SSHH
- PMX_AR_SSHL
- PMX_AR_WAVE
- PMX_AR_WDET
5.1.15.5. Archiving process
After clicking the Execute button, the system starts the archiving. During the process, the system displays the following information:
- The time of the archiving
- The tables where the archiving was conducted
- The number of the archived documents
- The number of the live and archived picklists before and after the archiving, and the difference between them (the number of the newly archived picklists).
5.1.15.6. Archiving with a prior changeover date
Since during the archiving process only closed documents are archived, there are cases when an archiving with a longer history to keep than the previous one is desired. A confirmation window will pop up if the system finds that the new changeover date is prior to the previous one. Click OK to proceed.
5.1.15.7. Archived documents
3. Organizational Structure Element Settings
All Organizational Structure Elements have a Code and a Name field. Once the code is created, it cannot be changed.
3.1. Warehouse settings
On the warehouse level the following settings can be defined:
Warehouse
This is the link between the warehouse defined in Produmex and the warehouse in SAP Business One (Cfr. Administration → Setup → Inventory → Warehouses.)
Each SAP warehouse can only be linked once in Produmex warehouses.
Stor. Loc. logistic carriers
The location in the warehouse where the logistic carriers are located (in case you have indicated at the company level that logistic carriers have to be stored at one location per warehouse).
This location needs to be a pick location!
Stor. Loc. returnable items
The storage location for the returnable items. This is used when inventory returnable items are used.
Location ‘Lost and Found’
The ‘Lost and Found’ location for that warehouse.
All item differences counted during cycle counting (indirect cycle counting) will be moved to the Lost and found location in case this is set up on the CycleCountController.
Stock on storage locations set for Lost and found, logistic carriers, … are not taken in account to create pick list (proposals).
Use location suggestions?
Set whether location suggestions will be used for move in or to this warehouse.
This is used in the Location Suggestions functionality.
Organizational Structure: Zone settings
On the level of zones the following general settings and attributes can be defined.
General tab
Use for Zone Picking
If the setting is enabled, the zone can be selected during the Zone Picking Flow.
Zone Type
The Zone Type drop-down menu lists the zone types that are configured on the Zone Types tab of the Organizational Structure. More than one zone type can be added to the zone.
If the zone is the main zone and has one or more sub-zones, the zone type of the main zone also applies to its sub-zones. When a sub-zone is created, it automatically inherits the zone type of the main zone. For more information see Working with Zones and Zone Types.
Inherited
The Inherited column shows Yes if the zone type is inherited from the main zone. The inherited zone type cannot be deleted manually on the level of the sub-zone. If the zone type of the main zone is deleted, the system also deletes the given zone type of the sub-zones.
Attributes tab
On the Attributes tab you can add location attribute types and define attribute values for the zone.
Attribute Code
The Attribute Code drop-down menu lists those attribute types that are defined on the Produmex Location Attribute Types (PMX_OSAT) default form.
Attribute Value
In the attribute value field you can add values to the location attribute based on the convertor defined for the location attribute type.
- In case of location attribute types with convertor String, Int, Double and Date, you can manually add values in the Attributes Value field.
- In case of location attribute types with List convertor type, the Attribute Value drop-down menu lists the valid values for the selected location attribute type. The list of the drop-down menu can be defined on the Valid Values for Produmex Location Attributes (PMX_OAVV) default form.
Is Inherited Value
If the Is Inherited Value column shows True, the attribute type and the attribute value are inherited from the main zone.
For information on working with location attributes see Put Away Strategy and Move Restrictions.
3.3. Production line settings
In Produmex WMS a production line is always subordinate to a warehouse.
There are multiple ways of doing production:
- Production Flow: This flow handles the receipt from production and issue for production in the client
- Production Manager and Receipt from Production Flow: On the scanner/touchscreen the receipt for production is booked. The Production Manager handles the starting and stopping of the production order.
Note: Make sure you do not use the same production line for both flows.
The following settings can be defined for a production line:
3.3.1. General
Active
If it is enabled, the production line is active. A production line can only be active when the Input Location, Output Location and Rest Location fields are filled in.
Only 1 started production order allowed
If it is enabled, only one started production order is allowed for the production line.
The setting applies to the Production Manager and Receipt from Production Flow. The Production Flow always forces to have only one production order started on the production line.
Consume All Material on Production Line When Closing Production Order
With the end of the production all materials linked to the production line are issued, that is, no stock remains on the production line and the remaining quantity is 0.
The issued quantity can be equal to or higher than the planned quantity on the Issue for Production document.
Prerequisites:
- Only 1 started production order allowed setting on the level of the production line is enabled.
- The Production Type on the level of the production line is set to SPL_CONS_LOCK.
The setting applies to the following flows:
If the production order is closed on the Production Manager, by default the used quantity equals the on-line quantity and the remaining quantity is 0. The used quantities and the remaining quantities can be changed.
If the production order is closed during the Production Flow, by default the used quantity equals the on-line quantity and the rest quantity is zero on the Enter quantity to consume screen. The used quantities and the remaining quantities can be changed.
If the production order is closed during the Receipt from Production Flow, all materials on the production line are issued for the production order. The used quantity cannot be changed.
Note:
- The setting does not apply to the Put on Hold step during production.
- If the Use Waste? (Y/N) setting on the production controller is enabled, the remaining quantities are issued in a different document as waste materials.
Pick to location
The location where the needed ingredients are picked to. When this is not filled in, the system uses the input location. The Component Weighing Flow uses the Pick to location as input for the items to be weighed. The weighed items will be stored on the input location. Stock on a Pick to location is not taken in account to create picklist proposals.
Lock items picked to this location
If the setting is enabled, the Picking for Production Flow and the Picklist for Production Flow locks the items that are picked to this location. During the Component Weighing Production Flow the locked stock is moved to the input location after it was weighed.
On a Beas-WMS integration environment the stock is locked regardless the value of this setting.
Input location
The location where the needed ingredients are picked to. the production flows move stock from the input location to the production line. Stock on an input location is not taken in account to create picklist proposals.
Output location
The location where the finished products will be stored.
Rest location
Location to which the rest of used materials and ingredients are moved. It is possible to use the input location as rest location. In this case the remaining items will be ready to use for the next production order.
Parent production line
The parent production line is used if for instance the production is done in several steps. In this case the user can define the sequence of the production lines.
Production manager type
This is used when the processing of the production issues is done administratively. The setting is used only by the Production Manager.
It has two possible values:
- SPL_CONS_LOCK: When producing on the shop floor, the items to consume are not directly consumed, but they are locked. When processing the production order administratively, the system will use the locked stock as base for the consumption.
- MPL_CONS_INPUT: When the users do not want to perform the tasks to move the correct stock to the production line when producing, this option is used. When processing the production order administratively, all stock on the input location is used as base for the consumption. Furthermore, all production orders on production lines with the same input location will be processed in 1 time.
Current production order
The current production order for this production line (read-only)
Can be lined up
Some locations can be lined up. If a location is added here, it means the stock in this location is used directly, and does not need to be picked. This is usually used for tanks and/or silo’s.
However an output location of another production line can also be set as ‘lined up’. Now the produced items on the ‘previous’ (linked) production order can directly be used instead of picking the items.
Stock on possible lined up location is not taken in account to create pick list (proposals).
Produce ingredients
This option is used if a linked production order needs to automatically produce stock.
The prerequisites for this to work correctly, is that the lined up location is used as an output location on another production line. At the time of production on the shopfloor, a started production order needs to be found on the production line with as output location the lined up location.
Lined up locations
The current lined up locations
3.3.2. Cycle count
Allow location to be counted during cycle count
Is the location allowed to be counted?
Allow location to be counted during other operations
Is the location allowed to be counted during other operations? This means that when this location is used on certain flows, the system will check if a count is needed. If so, the system will ask the user to perform a count.
Locations needs to be counted now
When this option is enabled, the location will be counted, regardless of the other settings (Number of days, number of operations, …)
Count after X days
When a location has not been counted for the number of days defined here, the location needs to be counted. If the number is 0, this setting is not taken in account, and the setting on company level is taken.
Count after X operations
If the number of operations since the last count exceeds the defined number of operations, the location needs to be counted. If the number is 0, this setting is not taken in account and the setting on company level is taken.
Locked by (read-only field)
This field shows the key of the user that is locking the location, because he needs to count the location or is currently in process to count the location.
When a location is locked, it cannot be used in other processes.
The location is released by clicking the ‘unlock’ button.
Stock on locked locations is not taken in account to create pick list (proposals).
3.4. Packing line settings
On a packing line, items that have been picked on a movable location (picking cart) can be packed onto a logistic carrier to be shipped as a logistic unit with an SSCC.
Under the level of the packing line, a thin client element can be created directly (Mobile Client touchscreen mode).
3.4.1. General settings
Active
Set whether or not the packing line is active.
Block stock from being used for the picking process
If this setting is enabled, the stock on this location cannot be used to put on a proposal. Also when a pick list gets the allocation on location level, these locations are not taken in account.
The locations with this flag to true are added to the view PMX_DISALLOWED_LOCATIONS_FOR_PICKING
3.4.2. Cycle count
Allow location to be counted during cycle count
Is the location allowed to be counted?
Allow location to be counted during other operations
Is the location allowed to be counted during other operations? This means that when this location is used on certain flows, the system will check if a count is needed. If so, the system will ask the user to perform a count.
Locations needs to be counted now
When this option is enabled, the location will be counted, regardless of the other settings (Number of days, number of operations, …)
Count after X days
When a location has not been counted for the number of days defined here, the location needs to be counted. If the number is 0, this setting is not taken in account, and the setting on company level is taken.
Count after X operations
If the number of operations since the last count exceeds the defined number of operations, the location needs to be counted. If the number is 0, this setting is not taken in account and the setting on company level is taken.
Locked by (read-only field)
This field shows the key of the user that is locking the location, because he needs to count the location or is currently in process to count the location.
When a location is locked, it cannot be used in other processes.
The location is released by clicking the ‘unlock’ button.
Stock on locked locations is not taken in account to create pick list (proposals).
3.5. Dock settings
At the dock level the following settings can be made:
3.5.1. General
Active
Set whether or not the dock is active.
Loading & unloading
Whether the dock can be used for loading, unloading or both.
Pick location
Set whether a dock can also be a pick location (e.g. whether or not newly received goods that are still on the receiving dock can already be considered for picking)
Block stock from being used for the picking process
If this setting is enabled, the stock on this location cannot be used to put on a proposal. Also when a pick list gets the allocation on location level, these locations are not taken in account.
The locations with this flag to true are added to the view PMX_DISALLOWED_LOCATIONS_FOR_PICKING
Sequence
The order in which the products at this location will be used to compose a picking order. The pick locations with the lowest sequence number will be used first to complete the pick order.
This option is visible only if the checkbox of Pick location is checked in.
3.5.2. Cycle count
Allow location to be counted during cycle count
Is the location allowed to be counted?
Allow location to be counted during other operations
Is the location allowed to be counted during other operations? This means that when this location is used on certain flows, the system will check if a count is needed. If so, the system will ask the user to perform a count.
Locations needs to be counted now
When this option is enabled, the location will be counted, regardless of the other settings (Number of days, number of operations, …)
Count after X days
When a location has not been counted for the number of days defined here, the location needs to be counted. If the number is 0, this setting is not taken in account, and the setting on company level is taken.
Count after X operations
If the number of operations since the last count exceeds the defined number of operations, the location needs to be counted. If the number is 0, this setting is not taken in account and the setting on company level is taken.
Locked by (read-only field)
This field shows the key of the user that is locking the location, because he needs to count the location or is currently in process to count the location.
When a location is locked, it cannot be used in other processes.
The location is released by clicking the ‘unlock’ button.
Stock on locked locations is not taken in account to create pick list (proposals).
Organizational Structure: Bin location settings
On the level of bin locations the following settings can be defined.
General tab
Active
Enable the setting if the bin location is active.
Location Type
It is possible to define a location type and link it with a bin location. This information has no technical use, it is for information purposes only.
The location types to be displayed in the drop-down menu can be set in the Location types (PMX_LOTY) default form.
Pick Location
Enable the setting if the bin location is a pick location. If this is not the case the items that are stored at this location cannot be used for composing a shipment (order picking). A bin that is not used for picking (bulk location) can be used to store safety stock that is used to replenish various pick locations.
Priority Picking
If the bin location is a pick location, an additional Priority Picking checkbox is displayed. When this checkbox is checked, the bin location has a higher priority during stock allocation for picklists than other bin locations.
Can be Destination for Picking
Enable the setting if the bin location can be a destination destination location of the picking process. If the setting is enabled, it is possible to select this location as dock on the picklist.
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.
Block Stock from Being Used for the Picking Process
If this setting is enabled, the stock on this location cannot be used to put on a proposal. When a picklist gets the allocation on a location level, these locations are not taken in account.
If the setting is enabled, replenishment orders do not take stock from locations.
If the setting is enabled, the location is added to the view PMX_DISALLOWED_LOCATIONS_FOR_PICKING.
Can be Lined Up
If the option is selected, the stock in the location is used directly and does not need to be picked. When there is a component to be lined up in the production order, the location can be selected during the Production flow.
Direct Consumption of Goods (Production Manager)
If the option Can Be Lined Up is set to true, this option is visible. By default, the lined up locations are not directly consumed when using the production manager (Production Receipt flow). The stock is locked for the production order, and it is consumed when stopping the production order using the production manager. If this option is set to true, the goods that are lined up on this location, are automatically consumed on the receipt from production.
Block Move When Location Is Not Empty.
If this setting is enabled, a move to this location when it is not empty is not allowed.
Block On Different Item or Batch
- None: Nothing will happen.
- Warn: Display a warning message when a different item or a different lot number will be added to that location. This warning is only when using the RF terminals.
- Block: Block the move when a different item or a different lot number will be added to that location.
Max Logistic Units
The maximum number of allowed logistic units (SSCCs).
If the stock is not on an SSCC, the system considers all of the stock as one logistic unit.
This blocks moves when the given value is exceeded, and this is also used when proposing locations on the devices.
Quality Status
This option forces a certain quality status on the location.
When adding/moving stock to the location, the system will check whether the quality status of the stock matches with the quality status of the location. If the quality status does not match, the following can happen:
- When booking a move through the handheld device or the Produmex inventory report, the system will automatically set the quality status of the stock to the quality status of the location and then it will perform the move.
- When booking a move with other processes, the system will not change the quality status of the stock and the move will be blocked.
When performing a direct cycle count on a location with a quality status, newly created stock will get this quality status.
How to set up location where only released stock can be stored, but avoid the quality status change when non-released stock is moved on the location
On the Quality status tab disable the Can be put on a pick location setting for every quality status that is not allowed on the given location. Then enable the pick location setting for the given bin location. Set the reception/quality control area as a non-pick location.
This way only the allowed quality statuses can be stored on pick locations.
Verification Code
The verification code is a unique code which can be used for verifying bin locations in the different flows. It has the same function as a bin location code, but it is more complex and its use is optional.
By default, you can verify the correct bin location on your scanner by scanning the bin location code or entering it manually, in which case an incorrect code may be entered. With a verification code, you can make sure that the correct bin location is verified because verification codes are not shown on the scanner and force the user to scan the barcode instead of manually entering the code.
Providing a verification code is optional and you can either use the verification code or the bin location code for verifying the correct bin location in the different flows:
- If a verification code is added to a bin location, you need to verify the bin location by scanning its verification code or scanning its bin location code.
- If no verification code is provided to the bin location, you need to verify the bin location by providing its bin location code.
Note: The verification code must be unique. It cannot be used by another bin, and it cannot be an existing location code. If you want to add a verification code to more than one bin location, make sure that each bin location has its own, unique verification code. If you add a verification code which is already used by another bin location, the system displays an error message.
Fixed
Indicates that the storage location is used for specific products. In this case a minimum, maximum quantity is defined for the item on that location.
When a location is fixed, the system will block local moves for other products into that location.
Can Be Replenished
Enables this option if the bin location can be taken in account for replenishment orders.
A minimum, maximum and replenish quantity needs to be set.
This can only be set when the location is a pick location.
Cycle Count tab
Allow location to be counted during cycle count
Is the location allowed to be counted?
Allow location to be counted during other operations
Is the location allowed to be counted during other operations? This means that when this location is used on certain flows, the system will check if a count is needed. If so, the system will ask the user to perform a count.
Locations needs to be counted now
When this option is enabled, the location will be counted, regardless of the other settings (Number of days, number of operations, …)
Count after X days
When a location has not been counted for the number of days defined here, the location needs to be counted. If the number is 0, this setting is not taken in account, and the setting on company level is taken.
Count after X operations
If the number of operations since the last count exceeds the defined number of operations, the location needs to be counted. If the number is 0, this setting is not taken in account and the setting on company level is taken.
Locked by (read-only field)
This field shows the key of the user that is locking the location, because he needs to count the location or is currently in process to count the location.
When a location is locked, it cannot be used in other processes.
The location is released by clicking the ‘unlock’ button.
Stock on locked locations is not taken in account to create pick list (proposals).
Put Away tab
This is used in the Location Suggestions functionality.
Item Location Type
This can be used to link a location to an item.
An item can also have an item storage location type.
When locations need to be suggested, and an item has a location item type selected, only locations with the same item location type are allowed.
The list of item storage location types is stored in the PMX_ISLT default form.
Put Away Zone
This stores for a certain storage location:
- What the zones are where the items can be placed
- Or to what put away zone a location belongs to
The list of the Put Away Zone drop-down menu is defined by the Put away zone (PMX_PAZO) default form.
Sort the Pick Sequence Descending?
Locations belong to a put away zone. How are locations within this zone sorted? Pick sequence descending or ascending?
Location Belongs to Put Away Zone?
Does this location belong to a put away zone? If it is not checked, it means that when goods need to be put away for the current location, the system should look for locations that belong to this zone.
If it is checked, the location belongs to this put away zone.
Sequence number
This is the sequence number for the put away zones. It defines the order in which locations in a put away zone needs to be retrieved.
For more information see Location Suggestions.
Attributes tab
On the Attributes tab you can add location attribute types and define attribute values for the bin location.
Attribute Code
The Attribute Code drop-down menu lists those attribute types that are defined on the Produmex Location Attribute Types (PMX_OSAT) default form.
Attribute Value
In the attribute value field you can add values to the location attribute based on the convertor defined for the location attribute type.
- In case of location attribute types with convertor String, Int, Double and Date, you can manually add values in the Attributes Value field.
- In case of location attribute types with List convertor type, the Attribute Value drop-down menu lists the valid values for the selected location attribute type. The list of the drop-down menu can be defined on the Valid Values for Produmex Location Attributes (PMX_OAVV) default form.
Is Inherited Value
If the Is Inherited Value column shows True, the attribute type and the attribute value are inherited from the zone.
For information on working with location attributes see Put Away Strategy and Move Restrictions.
3.7. Movable location settings
A movable location is an intermediate storage location: this can be a cart, a movable rack, etc. A movable location allows the operator to pick one or more orders and pack them onto a logistic carrier at another location (packing station).
3.7.1. General
In the organization structure it is possible to set the code and name of a moveable location and define whether or not it is active.
Stock on movable locations is not taken in account to create pick list (proposals).
3.7.2. Cycle count
A moveable location can also be used in the cycle counting and has the same settings as a bin location.
Allow location to be counted during cycle count
Is the location allowed to be counted?
Allow location to be counted during other operations
Is the location allowed to be counted during other operations? This means that when this location is used on certain flows, the system will check if a count is needed. If so, the system will ask the user to perform a count.
Locations needs to be counted now
When this option is enabled, the location will be counted, regardless of the other settings (Number of days, number of operations, …)
Count after X days
When a location has not been counted for the number of days defined here, the location needs to be counted. If the number is 0, this setting is not taken in account, and the setting on company level is taken.
Count after X operations
If the number of operations since the last count exceeds the defined number of operations, the location needs to be counted. If the number is 0, this setting is not taken in account and the setting on company level is taken.
Locked by (read-only field)
This field shows the key of the user that is locking the location, because he needs to count the location or is currently in process to count the location.
When a location is locked, it cannot be used in other processes.
The location is released by clicking the ‘unlock’ button.
Stock on locked locations is not taken in account to create pick list (proposals).
3.8. Silo/Tank settings
At the level of silo or tank the settings below can be defined.
The Consumption Algorithm is a mandatory setting, make sure that it is properly set.
3.8.1. General
Active
Set whether or not it is active.
Can be lined up
If the option is selected, the stock in the location is used directly and does not need to be picked. When there is a component to be lined up in the production order, the location can be selected during the Production flow.
Direct consumption of goods (Production manager):
If the option ‘Can be lined up’ is set to true, this option is visible. By default the lined up locations are not directly consumed when using the production manager (ProductionReceipt flow). The stock is locked for the production order, and it is consumed when stopping the production order using the production manager. If this option is set to true, the goods that are lined up on this location, will be automatically consumed on the receipt from production.
Sequence
The order in which the products at this location will be used to compose a picking order. The pick locations with the lowest sequence number will be used first to complete the pick order.
Max quantity
The maximum quantity. This is for informational purposes.
This will not block a move when quantity will be exceeded.
Pick location
Set whether or not it can be used as a pick location
Block stock from being used for the picking process
If this setting is enabled, the stock on this location cannot be used to put on a proposal. Also when a pick list gets the allocation on location level, these locations are not taken in account.
The locations with this flag to true are added to the view PMX_DISALLOWED_LOCATIONS_FOR_PICKING
Block move when location is not empty.
If set, a move to this location when is not empty is not allowed.
Block on different item or batch
- None: Nothing will happen
- Warn: Display a warning message when a different item or a different lot number will be added to that location. This warning is only when using the RF terminals.
- Block: Block the move when a different item or a different lot number will be added to that location.
Fixed
Set whether the silo/tank is reserved for a specific product and if so which are the minimum and maximum quantities.
3.8.2. Consumption Algorithm
The consumption algorithm by which the contents of the silo/tank is consumed: differs for fluids or solids. Mandatory setting.
- FEFO: First to expire, first out
- Silo: Bottom layer (FIFO)
- based upon the batch ID
- based upon the move timestamp to the silo
- Tank: Multi-layer (Consume a part from each batch)
3.8.3. Cycle Count
Allow location to be counted during cycle count
Is the location allowed to be counted?
Allow location to be counted during other operations
Is the location allowed to be counted during other operations? This means that when this location is used on certain flows, the system will check if a count is needed. If so, the system will ask the user to perform a count.
Locations needs to be counted now
When this option is enabled, the location will be counted, regardless of the other settings (Number of days, number of operations, …)
Count after X days
When a location has not been counted for the number of days defined here, the location needs to be counted. If the number is 0, this setting is not taken in account, and the setting on company level is taken.
Count after X operations
If the number of operations since the last count exceeds the defined number of operations, the location needs to be counted. If the number is 0, this setting is not taken in account and the setting on company level is taken.
Locked by (read-only field)
This field shows the key of the user that is locking the location, because he needs to count the location or is currently in process to count the location.
When a location is locked, it cannot be used in other processes.
The location is released by clicking the ‘unlock’ button.
Stock on locked locations is not taken in account to create pick list (proposals).
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.
3.10. Printer settings
For printers the following settings can be set:
Windows printer name
The printer name by which the printer is referred to in Windows
Page size
The default page size for the printer
Active
Set whether or not the printer is active.
Default
Set whether it is the default printer
3.10.1. Printer search path
These printers are used in flows on the devices.
The system will get the printer with the same page size as the report that needs to be printed.
First the system looks for printers below the device (In the organizational structure). Next the system will look if it can find a printer in higher levels, starting from the device.
If the system still does not find a printer, the system will check for printers starting from a location.
Which location is taken will depend on the flow where the report will be printed.
Example: For a reception, the location will be the receiving dock.
The same search pattern as for the device is used. So first look for a printer below the location, next on higher levels.
When the system finds several printers on the same level, and there is 1 printer defined as default, it will take that printer. Otherwise the system will take the first printer it finds on that level.
Remark: When the system searches for printers on higher levels, it will not go back to a lower level to search for a printer.
3.11. Weighing room settings
At the level of a weighing room, the following settings can be defined:
3.11.1. General tab
Active
Set whether the weighing room is active or not.
Input location
The location where the ingredients that needed to be weighed are picked. During the weighing process, stock will be moved to the weighing room from the input location.
Output location
The location where the weighed goods will be moved.
A typical setup is when the input location of the weighing room is the pick to location or the input location of the linked production line and the output location of the weighing room is the input location of the linked production line.
Weigh strategy
The weigh strategy defines whether the stock to weigh can be selected based on the weigh order or the item code during the Weigh flow. For more information click here.
3.11.2. Cycle Count tab
Allow location to be counted during cycle count
Is the location allowed to be counted?
Allow location to be counted during other operations
Is the location allowed to be counted during other operations? This means that when this location is used on certain flows, the system will check if a count is needed. If so, the system will ask the user to perform a count.
Locations needs to be counted now
When this option is enabled, the location will be counted, regardless of the other settings (Number of days, number of operations, …)
Count after X days
When a location has not been counted for the number of days defined here, the location needs to be counted. If the number is 0, this setting is not taken in account, and the setting on company level is taken.
Count after X operations
If the number of operations since the last count exceeds the defined number of operations, the location needs to be counted. If the number is 0, this setting is not taken in account and the setting on company level is taken.
Locked by (read-only field)
This field shows the key of the user that is locking the location, because he needs to count the location or is currently in process to count the location.
When a location is locked, it cannot be used in other processes.
The location is released by clicking the ‘unlock’ button.
Stock on locked locations is not taken in account to create pick list (proposals).
3.12. Scale settings
Define the scale under a weighing room,dock or a packing station. One scale can only belong to a single weighing room/dock/packing station.
At the scale level the following settings can be defined:
Active
Set whether the weighing room is active or not.
Scale definitions
Define the scale on the Scale definitions field.
If the scale is connected without the ScaleComm service, define it with the one of the following formulas:
- Direct connection: com:/ /Port?Baudrate,Databits,Parity,Stopbits
Example:com://COM3?9600,8,N,1
- Local network: tcp:/ /IP address
Example:tcp://192.168.1.5:4001
If the scale is connected by using the ScaleComm service, tick the Use as a service checkbox and define the scale with the following formula:
- http:/ /URL of the server where the service runs/scale code (OSE)/communication parameters
Example:http://192.168.1.2:9991/SCL01/com://COM3?9600,8,N,1
Uom
Select the unit of measurement of the scale from the Uom dropdown list.
Minimum weight
Enter the minimum weigh of the scale in the Minimum weigh field.
Maximum weight
Enter the maximum weigh of the scale in the Maximum weigh field.
Accuracy
Enter the accuracy of the scale to the Accuracy field.
Example: If the number of decimals is 2 – Accuracy: 0.01
Scale commands
Define the scale commands. Select the command type. The following command types are supported:
- Set tare
- Set zero
- Get weight
- Weight return
The ‘Zero return’ and the ‘Tare return’ commands are not supported yet but are reserved for future use.
Add the description to the Description field and the command to the Command format field.
Command format
Please refer to the user manual of the scale to see the command.
The syntax of the Weight return result string should be a regular expression.
Example:
Weight return string from the scale manual:
<LF><p>w1w2w3w4w5w6<dp>w7w8u1u2<CR><LF>H1H2H3<CR><ETX>
Weight return string defined for the scale on the Organizational Structure:
\x0a *(?'weight'.+)(?'uom'..)\x0d\x0a.+\x0d\x03
3.12.1. Defining multiple scales through one port
Produmex WMS Organizational Structure
First create a ‘scale’ type element in the Organizational Structure of Produmex WMS for the port.
Add a unique code and name. Example:
PORT, Port for scale
Define the port on the Scale definitions field with one of the following formulas:
- Direct connection: com:/ /Port?Baudrate,Databits,Parity,Stopbits
Example:com://COM3?9600,8,N,1
- Local network: tcp:/ /IP address
Example:tcp://192.168.1.5:4001
Do not check the ‘Use as service’ checkbox.
The ScaleComm service will establish the connection to the port based on the configuration file of the ScaleComm service.
The scales connected through the port will be identified based on the sent command.
Select the command type and add the scale codes and the scale command to the Command format field using the following formula: scale code;command;scale code;command
Example:
Get weight command:
scale01;S6R$;scale02;S7R$
Where:
- ‘scale01’ = scale code of the first scale
- ‘S6R$‘= get weight command of the first scale
- ‘scale02’ = scale code of the second scale
- ‘S7R$’ = get weight command of the second scale
Weight Return command:
(?'weight'.+)\x0d\x0a;(?'weight'.+)\x0d\x0a
The order and the number of the scale commands must be the same as in the 'Get weight command'.
ScaleComm service
Open the configuration file of the ScaleComm Service.
Add the code of the port defined in the Organizational Structure as the value for ScalesCodes. Example:
<add key="ScalesCodes" value="PORT" />
Make sure that the ‘Skip Polling’ option is set to ‘False’ and adjust the ‘Polling Interval’ if needed.
Scale weigh result
Open the Scale Weigh Result user table via the following path: Tools> Default forms. Add the scale codes defined on the Command format field as the ‘Code’.
When the ScaleComm Service runs, it will add the weight to the ‘Weigh’ field of the matching scale.












































































