This optional module is capable of importing progress registrations from an external data collection system and assign the progress information to correct operation in ROB-EX Scheduler.

Note: requires license to “CSV Progress” import module (see Help->Register…).

The import logic will treat imported information “intelligently”. As an example an operator using the external data collection system only enters information about the project he/she is working on, the type of activity in question and the number of hours spent on the activity.

When data is exported to ROB-EX the external time and attendance system can only supply

Project id or number
Operation type
No. of hours spent
Time for last registration

When the CSV Progress Import module in ROB-EX imports the information it will first lookup the project, next ROB-EX will automatically search for first possible operation of the specified operation type, still having hours left to spent. In case first operation of given operation type has no outstanding hours the import module will search for next possible operation of the specified operation type etc. etc.

In case operation A has been split in ROB-EX into two new operations A-1 and A-2 progress on these operations will be assigned according to the following rules:

  1. If split operations are all located on the same resource, progress is assigned in route order, e.g. progress will be assigned to operation A-1. Once it has no more outstanding work progress will be assigned to operation A-2. In case of sur-plus progress hours, these will always be assigned to the last operation in the route.
  2. If split operations have been moved to individual resources R1 and R2, then the import will assign according to a possible assignment to field Progress.resourceId (i.e. progress performed by resource R2 will always be assigned to operation A-2 and never A-1). If Progress.resourceId is not assigned progress is assigned according to route order (see description in point above).

Note that the CSV progress import module in ROB-EX versions prior to 4.1 build 424 and 4.1 ER2 build 10 did not support import of progress in the form of produced quantity.

Also see description of the CSV Progress Import macro.

The remaining part of this document covers the following

How to setup

In order to initially setup and configure the Progress Import module you will need a text file with sample data generated by the external data collection system. An example import file from the external data collection system could look like this:

99921,1,1429,0,24-08-09 08:00:00,0,1.00,0
99921,1,1431,0,24-08-09 09:00:00,0,2.50,0

In order to use this module you initially have to create a configuration instructing the import module how import files from the external data collection system should be interpreted, i.e. what is the meaning of column 0, column 1 etc.

To create a new configuration simply start the import module using the toolbar button

and press the “New” button

and select a sample import file:

Selecting the Excel file type will enable another text field called Sheet. Here it is possible to input the Excel sheet to use for import. The input can be either the sheet name or the sheet index. If no sheet is defined, the default is to use sheet 1.

In the next wizard step you need to specify the delimiter character and possibly what character is used to surround strings (String marker):

In third and final step of the wizard you will specify what column in the import file is mapped to what field in ROB-EX. Select a column in the example table and next in “Column data format” specify either

  • No import (the default)
  • Date. Used for date columns and you must supply also a date format (see Date formatting)
  • Standard. Use this for all other columns than Date columns

Finally select what field in ROB-EX to link to by pressing the “Choose” button. Also see list of supported field entries. Do the same for all columns you would like to import.

Note you can add virtual columns in order to assign a default value to a field. Virtual fields are especially useful in combinations with import fields that alter the import behaviour: Progress.oneLineOnly and Progress.cumulative. In order to add a virtual field press “Add virtual”, select the new column and assign new fixed value in the “Fixed value” text field.

For a description of the “Mappings” button se paragraph concerning Mappings.

Note that the “Finish” button will only be enabled when enough information has been supplied. This means that all the following criteria must have been met:

  1. One of ORDER, ORDERID, PROJECT or PROJECTID fields has been mapped
  2. and one of either OPERATIONTYPE, OPERATIONID or OPERATIONINDEX has been mapped
  3. and either both REGISTRATIONDATE and ENDTIME or alternatively ENDDATETIME has been mapped

When “Finish” button is pressed the configuration of the CSV import is complete

Note that the setup wizard does not support editing of the configuration after “Finish” has been pressed. So in order to edit an existing configuration you either have to repeat the setup or alternative edit the configuration directly in the .xml file stored in the custom directory of your ROB-EX installation (it will have the name “progress_.xml”).

Supported import field values

The following field values are supported and correspond to the entry=“XX” attribute in the configuration file places in the file \custom\progress_XXXX.xml

Field names in bold are the most commonly used fields.

Valid input for Boolean fields are: 0|1, false|true, no|yes, off|on

Field name Meaning Expected Input format Comments
Progress.cumulative A true|false settings specifying if the supplied progress should be added to already existing progress on the operation.

Default value is true
Boolean Normally this will be used in combination with a virtual field.
Progress.emptyingHours Will be mapped to ROB-EX operation emptying field (batch plugin required) double
Progress.enddateTime This field will be mapped to the ROB-EX operation field “last progress time”, i.e. at what date and time was the registration performed.

Important: To avoid double summing of the same import record, then any imported “Progress.enddateTime” date time being earlier or equal to the current “last progress time” of the target operation is ignored. This means re-importing the same file twice, will have no effect, as long as the lines being imported are sorted according to the “Progress.enddateTime” field
Date and time
Progress.endTime The time of day if specified in separate column. Is combined with the “Progress.registrationDate” field in order to make up a full date and time value. time HH:mm
Progress.fillupHours Will be mapped to ROB-EX operation fillup field (batch plugin required) double
Progress.finished If operation is regarded as complete/finished. The operation status in ROB-EX will change to “completed”.

Also see Progress.status field.
Progress.oneLineOnly A true|false settings specifying if multiple workload lines should be summed up for same import file.

E.g. if same import file contains two lines for same operation. Line 1 contains a progress of 1 hour, line 2 a progress of 3 hours. If oneLineOnly=false a total of 1+3=4 hours will be added to the operation progress. If oneLineOnly=true value of last imported line will be used – in this case 3 hours.

Default value is false
Boolean Normally this will be used in combination with a virtual field.
Progress.operationId If specified import will assign progress to this specified operation id String
Progress.operationIndex Operation index in routing. 0 is first operation in route. int
Progress.operationType Used in order for import to map between an operation type specific to the external data collection system and the name of a ROB-EX operation. See mappings description.

Note that you may also specify here directly the name of the operation as it is called in ROB-EX. In that case you do not need to create additional mappings.
Progress.resourceName A resource can be specified where to the operation to report progress to must be assigned.

Example: Let’s say two CNC operations exist in the same route, specify the resource in order to control which one of the CNC operations to report progress on.

If the Progress.operationType field is NOT specified the resource names can be mapped to operation types (see mappings). Example: The resource name “John Smith” is specified in the import file, but this is mapped to i.e. a CNC operation. Thus the program will find a CNC operation on the John Smith resource in the specified orderNo. If no mappings are created the program will just find the first operation which is on the specified resource (in the specified orderNo).

The Progress.operationType field can be specified in combination with this field. In this case progress is only reported on the specified operation types which are on the specified resources.

If the specified resource has a resource group the program will look for the operation on the group if the operation wasn’t found on the specified resource.
Progress.order If specified import will assign progress to an operation belonging to the production order having the specified order name.
Progress.orderId If specified import will assign progress to an operation belonging to the production order having the specified order id.
Progress.progress Progress hours – see also field “Progress.progressType”. Cannot be used in combination with fields “Progress.setupHours”, “Progress.workloadHours”, “Progress.switchoverHours”, “Progress.fillupHours”, “Progress.emptyingHours” and “Progress.quantity”
If column Progress.progreessType is not supplied the default progressType is “total”.
Progress.progressType must contain any of the values:

“total”, “setup”, “fillup”, “workload”, “emptying” or “switchover”

Decides how the import will interpret the value specified in field “Progress.progress”. The default value is “total” which will make ROB-EX intelligently decide if progress is part of setup, workload or switchover – e.g. if all setup time has been already spent it will be interpreted as workload time.
text keyword
Progress.project If specified import will assign progress to an operation belonging to a production order belonging to a project with specified project name. The production order can also belong to a sub-project of the specified project. String
Progress.projectId If specified import will assign progress to an operation belonging to a production order belonging to a project with specified project id. String
Progress.quantity Progress specified in quantity. Note this field can only be used if fields “Progress.progress” and “Progress.workloadHours” are not imported – i.e. at design time it must be decided if progress is supplied in quantity or in hours.
Important: quantity import is only supported in 4.1 build 424 or 4.1 ER2 build 10 or later.
Progress.registrationDate This field is used in two ways.
  1. This field will be mapped to ROB-EX field actual start if actual start is not supplied with field Progress.startDateTime. For this to work the field Progress.startTime (HH:mm) must be supplied also.
  2. Also this field will be mapped to ROB-EX field last progress time if last progress time is not supplied with field Progress.enddateTime. For this to work the field Progress.endTime (HH:mm) must be supplied also.

    Use this field in situations where date and hours/minutes are supplied in two different columns
Date Only date part is being used. HH:mm part must be supplied by either Progress.startTime or Progress.endTime
Progress.registrationDateTime Currently not being used —-
Progress.resourceId If specified import will assign progress to an operation currently assigned to a resource with the specified resource id. Note that the search is based on the resource id and not the resource name.

Note that the resource id is only used when progress is imported on an operation having been split in ROB-EX. If operation has not been split in ROB-EX search for matching operation is only carried out based on the value specified in Progress.operationType.
Progress.scrapQuantity Important: currently this is not being used. Added for future expansion possibility. double
Progress.setupHours will be mapped to ROB-EX operation setup field double
Progress.startDateTime The date and time the operation was reported started for the very first time. Maps to ROB-EX operation field actual start time. Date and time
Progress.startTime The time of day if specified in separate column. Is combined with the “Progress.registrationDate” field in order to make up a full date and time value. time HH:mm
Progress.status If not using the Progress.status flag by default operation status is automatically set to started as soon as progress is imported on it. Once the Progress.finished flag is raised the imported operation status is set to complete.

Specifying Progress.status allows further control of the operation status (e.g. “Paused” or “Cancelled”).

Following status values are currently supported – other values are silently ignored
40 = started
50 = paused
60 = cancelled
70, 80 = complete
Progress.switchoverHours Will be mapped to ROB-EX operation switchover field double (hours)
Progress.workloadHours Will be mapped to ROB-EX operation workload field double (hours)
Progress.zeroProgressAllowStart If a progress of zero should be capable of reporting an operation started. Even if this flag is true it still requires that either Progress.startDateTime (actual start time) or Progress.enddateTime (last progress time) is imported as well, otherwise a zero progress will not change operation status to started.

Default value is false.
Boolean Normally this will be used in combination with a virtual field.

Mappings (Progress.operationType)

Mappings are used to create a translation table between an operation type in the import file and a corresponding ROB-EX operation. The translation is applied to the field “Progress.operationType”.

To create a new mapping press the “Mappings” button in step 3 of the setup wizard. Note that each named configuration may have its own mapping definition.

In the following the external id 0 is mapped to ROB-EX operation Cutting etc.

If the value in “Operation” is red it is a warning about that specified operation does not exist in the currently loaded ROB-EX plan.

If a value in “Operation” column starts with the character ‘#’, the entire text will be treated as a regular expression. A regular expression will allow you to map same external id to multiple operations in ROB-EX. As an example

will map the external operation id “0” to either Painting or Packing – whatever operation is first in the route of the projects/orders being searched.

Note you may even specify “#Pa.*”, which would map to anything starting with “Pa”

How to use

Import using the CSV Progress Import module is carried out using the toolbar button

Next select a previously created configuration and press the “Next” button. Select the file to import and press “Open”.

Note that to automate these steps you can create a macro.


Was this helpful?

Yes No
You indicated this topic was not helpful to you ...
Could you please leave a comment telling us why? Thank you!
Thanks for your feedback.

Post your comment on this topic.

Post Comment