The following file format is for DMS file format. As well as importing and exporting data in the DMS file format, DMS will import and export data in the old RSS 4.7 and 4.8 formats for backward compatibility. For legacy files formats, please refer to your legacy documentation.
When loading operations, the operations must be after the job record information, be together, and sorted in order of the operation sequence. That is, the operations should be sorted by order number, by operation sequence number, from lowest to highest sequence.
When loading in assemblies, the jobs, operations and assembly component records must be in the text file together, from the final assembly to the next highest level, etc. The final assembly job must be specified first, with a blank parent field, as it creates the assembly name and prepares for the assembly to be added. The import file must have all of the jobs and assemblies defined together; you cannot load part of an assembly, then load another assembly, and then go back to the first assembly. The reason for this is that DMS keeps track of one assembly load at a time. When it finds a new assembly, it saves the current one and assumes that all of the component jobs for the current assembly have been defined and saved. If a component has not been defined, the assembly component link is rejected.
Job Record
A job record typically consists of one record followed by one or more operation records that describe the job.
No. |
Field |
Type |
Comment |
1. |
SJB |
String 3 |
Record identifier. Required field. |
2. |
Order Number |
String 25 |
Required unique field. |
3. |
Order ID |
Big Integer |
Unique identifier assigned by SQL. It is ignored on importing. |
4. |
Part Number |
String 45 |
Optional free format. |
5. |
Job Identification |
String 45 |
Optional free format. |
6. |
Job State |
String 20 |
Blank to select the default or valid existing Job Sate required. |
7. |
Copy Order Number |
String 25 |
Blank or the order number to copy if adding a new order. (See the Copy Order Number information below.) |
8. |
Priority |
Integer |
Blank to select the default or 1 to 99. |
9. |
Order Date |
Date Time |
Blank to select today’s date or a valid date. |
10. |
Release Date |
Date Time |
Blank to select today’s date or a valid date. |
11. |
Release Shift |
Integer |
Blank to default to 1, or 1 to 3. |
12. |
Due Date |
Date Time |
Blank to select today’s date or a valid date. |
13. |
Due Shift |
Integer |
Blank to default to 1, or 1 to 3. |
14. |
Promise Date |
Date Time |
Blank to select the due date or a valid date. |
15. |
Schedule Start Date |
Date Time |
Blank to select today’s date or a valid date. |
16. |
Schedule Start Shift |
Integer |
Blank to default to 1, or 1 to 3 |
17. |
Schedule End Date |
Date Time |
Blank to select today’s date or a valid date. |
18. |
Schedule End Shift |
Integer |
Blank to default to 1, or 1 to 3. |
19. |
Quantity Ordered |
Big Integer |
Required. |
20. |
Quantity To Build |
Big Integer |
Ignored on import. On export it is the ordered quantity X scrap factor. |
21. |
Quantity Received |
Big Integer |
Ignored on import. On export it is the quantity delivered by the final operation. |
22. |
Scrap Factor |
Float |
Optional. From 0 to 100%. |
23. |
Work in Process |
Boolean |
Blank for DMS to calculate True or False. |
24. |
Sequence Type |
String 26 |
Blank for default or a valid sequence type. |
25. |
Lot Size |
Big Integer |
Blank for default or a lot size as required by the sequence type. |
26. |
Overlap |
Float |
Blank for default or a lot size as required by the sequence type. |
27. |
Schedule Method |
String 20 |
Blank for default or a valid schedule method. |
28. |
Mid Point Operation Sequence |
Integer |
Mid point operation sequence number to use if required by schedule method. |
29. |
Act Schedule Method |
String 20 |
Ignore on import. |
30. |
Type Of Work |
String 20 |
Blank for default or a valid type of work. |
31. |
Job Type |
String 1 |
Blank for default or P for production or F for fabrication. |
32. |
Assembly Name |
String 25 |
Ignored on input. |
33. |
Baseline Start Date |
Date Time |
Optional. Blank or a valid date. |
34. |
Baseline Start Shift |
Integer |
Optional. Blank or 1 to 3. |
35. |
Baseline End Date |
Date Time |
Optional. Blank or a valid date. |
36. |
Baseline End Shift |
Integer |
Optional. Blank or 1 to 3. |
37. |
Last Scheduled Completion Date |
Date Time |
Optional. Blank or a valid date. |
38. |
Planner |
String 20 |
Optional. A valid employee number must be given or blank. |
39. |
Notes |
Memo |
Optional text to describe the job and/or other job notes. |
Copy Order Number
The Copy Order Number field can be used to copy an existing template or order to a new order. If the order number already exists, the Retain & Merge settings apply to the copied job information. The Copy Order Number feature copies the entire order number; job user fields, operations, and operations user fields. It does not include Assembly information. It does, however, include any operation actual hours and operation statuses.
Job information that is given on the SJD record will replace the copied job record information with the exception of the Job State, which must be given, and the Job Type (production or fabrication) which is set to the copied job’s Job Type.
When you are copying an order, you should not include any operations for the new order in the import text file, otherwise these operations will overwrite the copied information. If required, you can include the following records after the SJB record to add or replace the copied information:
1.Job user field records
2.Operation user field records
3.Assembly records
Job User Fields
Before data can be imported into a job user, the user field must first be defined in DMS. Depending on how the user field has been defined, the UF Text import would be one of the following text fields:
1.Text up to 40 characters long
2.Money (currency) value of 999999999.99
3.Integer
4.Fraction (floating point)
5.Date (YYYYMMDD)
6.Date and time (YYYYMMDD HH:MM)
7.Time (HH:MM)
8.Memo field
9.Valid text as defined in a lookup table (maximum 40 alphanumeric characters)
10.Filename, where filename may include the location of the file (i.e. \\server-name\Job Documents\Widget.DOC). The filename and its location can be up to 200 alphanumeric characters long. The filename is used if a user field has been defined as a “Button” to execute an application.
The Map Reference number is defined by the user in DMS to uniquely identify a user field. For example, a job user field may have been defined as “Product Color”. In order to import data into “Product Color” the user field must be assigned a unique map reference number which is an integer number. So if “Product Color” was given a map reference number of 7, then the import uses 7 to load the data into “Product Color”.
No.
|
Field |
Type |
Comment |
1. |
SJU |
String 3 |
Record identifier. Required field. |
2. |
Order Number |
String 25 |
Required field. The job to which this user field belongs. |
3. |
Job UF ID |
Big Integer |
Unique identifier assigned by SQL. It is ignored on importing. |
4. |
Map Reference |
Integer |
Defined in DMS to uniquely identify a user field. |
5. |
UF Text |
Text |
One of 10 formats as defined above. |
Job Material Record
The Job Material Record is an option record used to set material parameters at the job level.
No.
|
Field |
Type |
Comment |
1. |
SJM |
String 3 |
Record identifier. Required field. |
2. |
Order Number |
String 25 |
Required field. The job to which this material information belongs. |
3. |
Material Available |
Boolean |
True if the material for the job is available, otherwise False. |
4. |
Days to Delay |
Integer |
Days to delay the job from the start date of the schedule run if material is not available. 0 to 999 days. |
5. |
Expected Delivery |
Date Time |
Date (YYYYMMDD) or blank. |
6. |
Date Received |
Date Time |
Date (YYYYMMDD) or blank. |
7. |
Material Planner |
String 20 |
Optional. A valid employee number must be given or blank. |
Job Multi Template Record
The Job Multi Template Records are optional records used to add alternate template routing options to a job. When importing, any existing records are replaced with the new imported records.
No. |
Field |
Type |
Comment |
1. |
SJT |
String 3 |
Record identifier. Required field |
2. |
Order Number |
String 25 |
Required field. The job to which this Job Multi Template belongs. |
3. |
Template Order Number |
String 25 |
The order number of the template job for the alternate routing. |
4. |
Sequence Number |
Integer |
Sequence of the alternate template to try. Ignored on input. |
5. |
Allowable Days Late |
Integer |
The number of days this routing can be late before trying the next routing. |
6. |
Selected |
Boolean |
The selected routing by the scheduler. |
7. |
Locked |
Boolean |
If set, the routing for the job is locked to the selected template’s routing. |
8. |
Schedule Start Date |
Date Time |
Date (YYYYMMDD) or blank. Ignored on import. The start date for the routing when the schedule last ran. |
9. |
Schedule End Date |
Date Time |
Date (YYYYMMDD) or blank. Ignored on import. The end date for the routing when the schedule last ran. |
Operation Record
Operations should be grouped together by order number and sorted by order number by operation sequence.
No. |
Field |
Type |
Comment |
1. |
SOP |
String 3 |
Record identifier. Required field. |
2. |
Order Number |
String 25 |
Required field. The parent job to which this operation belongs. |
3. |
Operation Sequence |
Integer |
Required unique to job field. |
4. |
Operation ID |
Big Integer |
Unique identifier assigned by SQL. It is ignored on importing. |
5. |
Operation Identification (Ident) |
String 15 |
Required for regular operations, but not required for schedule commands in which case the ident must be blank. Unique to the job. |
6. |
Route Command |
String 26 |
Blank or a valid command. |
7. |
Route Parameter |
String 20 |
Blank or a valid parameter to the route command. |
8. |
Pool |
String 20 |
Blank or a valid existing pool name. |
9. |
Resource |
String 20 |
Required for active operations. May be blank if a pool name has been given. |
10. |
Setup time |
Float |
Optional. From 0 to 9999.99. |
11. |
Runtime |
Float |
Optional. From 0 to 9999.99. If given, it is either the time per piece, pieces per hour, or total hours of the operation depending on the runtime method. |
12. |
Runtime Method |
String 1 |
Blank for default or T for time per piece, P for parts per hour, H for hours, or L for time per lot. |
13. |
Type Of Work |
String 20 |
Blank for default or a valid type of work. |
14. |
Quantity To Build |
Big Integer |
Must be given if “Quantity set manually” is true. Otherwise this field can be blank. |
15. |
Quantity Scrapped |
Big Integer |
Blank or the total amount scrapped by this operation. |
16. |
Quantity Completed |
Big Integer |
Blank or the total quantity completed by this operation. |
17. |
Set Quantity Manually |
Boolean |
Blank or false if the quantity is the same as the job quantity. True if the quantity to build will be given in the import. |
18. |
Minimum Resources |
Integer |
Optional. Blank or 0 to 99. If given, minimum resources must be less than maximum resources. |
19. |
Maximum Resources |
Integer |
Optional. Blank or 0 to 99. If given, minimum resources must be less than maximum resources. |
20. |
Min/max Setup Time |
Float |
Optional. If a min/max operation command, the setup time for each min/max operation. |
21. |
Min/max Runtime |
Float |
Optional. If a min/max operation command, the runtime for the min/max operation based on the runtime method. |
22. |
Min/max Act Setup |
Float |
Optional. If a min/max operation command, the total actual setup time for the min/max operations. |
23. |
Min/max Act Runtime |
Float |
Optional. If a min/max operation command, the total actual runtime for the min/max operations. |
24. |
Min/max Quantity To Build |
Big integer |
Optional. If a min/max operation command, the total quantity to build for the min/max operations. |
25. |
Min/max Quantity Scrapped |
Big integer |
Optional. If a min/max operation command, the total quantity scrapped for the min/max operations. |
26. |
Min/max Quantity Completed |
Big integer |
Optional. If a min/max operation command, the total quantity completed for the min/max operations. |
27. |
Auto Reporting |
Boolean |
Optional. Blank or false for a regular operation. True if the operation will be auto reporting. |
28. |
Start operation when previous operation is completed |
Boolean |
Optional. Blank or false for a regular operation. True if the operation is to be set to in process when the previous operation is completed. |
29. |
Variable Resource |
Boolean |
Optional. Blank or false for a regular operation. True if an AND command block and each AND operation can have variable start and end times. |
30. |
Start End Same Day |
Boolean |
Optional. Blank or false for a regular operation. True if the operation must start and end on the same day. |
31. |
Start End Same Shift |
Boolean |
Optional. Blank or false for a regular operation. True if the operation must start and end on the same shift. |
32. |
No Capacity Interruptions |
Boolean |
Optional. Blank or false for a regular operation. True if the operation cannot have any capacity interruptions. |
33. |
No Interruptions |
Boolean |
Optional. Blank or false for a regular operation. True if the operation cannot have any interruptions (i.e. holidays, non working shifts, etc.) |
34. |
Lock On Dates |
Boolean |
Optional. Blank or false for a regular operation. True if the operation must be scheduled on the given start and end dates. |
35. |
Skip shift if no capacity available |
Boolean |
Optional. Blank or false for a regular operation, True if the operation can skip any shift, 1 to skip shift 1, 2 to skip shift 2, 3 to skip shift 3, 1&2 to skip shifts 1 and 2, 1&3 to skip shifts 1 and 3, 2&3 to skip shifts 2 and 3, or ALL to skip all shift (similar to TRUE). |
36. |
Non-contiguous Operation |
Boolean |
Optional. Blank or false for a regular operation. True if the operation can be non-contiguous. |
37. |
Non-contiguous Resource Minimum Time |
Float |
Optional. If a non-contiguous operation, then the time given here is the minimum runtime required. |
38. |
Within Work Time Fence |
Boolean |
Ignored on import. True if the operation is within the user defined time fence. |
39. |
Lock Selection |
Boolean |
Typically set by the system for OR and MIN/MAX operations. True indicates that the schedule has made a selection and has locked the selection. It can be set by the import to force a selection. Ignored for all other operations. |
40. |
Start Date |
Date time |
Operation start date. May be imported but typically assigned by the schedule. |
41. |
Start Shift |
Integer |
Operation start shift. May be imported but typically assigned by the schedule. |
42. |
Start Hours |
Float |
Operation start hours. May be imported but typically assigned by the schedule. |
43. |
End Date |
Date time |
Operation end date. May be imported but typically assigned by the schedule. |
44. |
End Shift |
Integer |
Operation end shift. May be imported but typically assigned by the schedule. |
45. |
End Hours |
Float |
Operation end hours. May be imported but typically assigned by the schedule. |
46. |
Planned Days |
Integer |
Blank or 0 for regular operations. Number of elapsed or planned days for the operation. |
47. |
Original Planned Days |
Integer |
Blank or 0 for regular operations. Original number of elapsed or planned days for the operation typically set by the system. |
48. |
Planned Resource |
String 20 |
Optional. Planned resource. |
49. |
Original Resource |
String 20 |
Optional. Originally planned resource. |
50. |
Act Setup Time |
Float |
Blank, 0, or the actual setup for this operation. |
51. |
Act Run Time |
Float |
Blank, 0, or the total actual runtime for this operation. |
52. |
Act Start Date |
Date time |
Blank or the actual start date for the operation. |
53. |
Act Start Shift |
Integer |
Blank or the actual start shift (1, 2 or 3) for the operation. |
54. |
Act End Date |
Date time |
Blank or the actual end date for the operation. |
55. |
Act End Shift |
Integer |
Blank or the actual end shift (1, 2 or 3) for the operation. |
56. |
Status ID |
String 5 |
Blank or a valid operation status. |
57. |
Baseline Start Date |
Date Time |
Optional import date for reporting purposes. |
58. |
Baseline Start Shift |
Integer |
Optional import shift (1, 2 or 3) for reporting purposes. |
59. |
Baseline End Date |
Date Time |
Optional import date for reporting purposes. |
60. |
Baseline End Shift |
Integer |
Optional import shift (1, 2 or 3) for reporting purposes. |
61. |
Notes |
Memo |
Optional text to describe the operation tasks and/or other operation notes. |
62. |
Qty Multiplier |
Float |
The operation quantity multiplier is an optional entry for an operation. The multiplier will increase or reduce the quantity for an operation to the value stated. |
63. |
Original Setup Time |
Float |
Original setup time is an optional entry used for comparison reporting. |
64. |
Original Runtime |
Float |
Original runtime is an optional entry used for comparison reporting. |
65. |
Original Total Runtime |
Float |
Original total runtime is an optional entry used for comparison reporting. |
66. |
Wait Time |
Float |
Wait time in hours to be added to the end of the operation before the next operation can start. If not used, set to 0. |
67. |
Move Time |
Float |
Move time in hours to be added to the end of the operation before the next operation can start. If not used, set to 0. |
68. |
WT Use Capacity |
Boolean |
Future use. Set to false. |
69. |
No Interrupt Days |
Integer |
Optional. Number of days for the no interrupt options from 0 to 999. |
70. |
Operation Description |
String 40 |
Optional 40 alphanumeric character description of the operation. |
71. |
InfiniteOp |
Boolean |
False for a finite loaded operation. True if the operation's load will be infinite. |
72. |
Certificate |
Boolean |
False if the operation does not require a Security Certificate. True if the operation requires a resource with a security certificate. |
Operation User Fields
Before data can be imported into an operation user field, the user field must first be defined in DMS. Depending on how the user field has been defined, the UF Text import would be one of the following text fields:
1.Text up to 40 characters long
2.Money (currency) value of 999999999.99
3.Integer
4.Fraction (floating point)
5.Date (YYYYMMDD)
6.Date and time (YYYYMMDD HH:MM)
7.Valid text as defined in a lookup table (maximum 40 alphanumeric characters)
8.Filename, where filename may include the location of the file (i.e. \\server-name\Op Documents\Widget Details.DOC). The filename and its location can be up to 200 alphanumeric characters long. The filename is used if a user field has been defined as a “Button” to execute an application.
The Map Reference number is defined by the user in DMS to uniquely identify a user field. For example, an operation user field may have been defined as “Task Reference Code”. In order to import data into “Task Reference Code” the user field must be assigned a unique map reference number which is an integer number. So if “Task Reference Code” was given a map reference number of 3, then the import uses 3 to load the data into “Task Reference Code”.
No. |
Field |
Type |
Comment |
1. |
SOU |
String 3 |
Record identifier. Required field. |
2. |
Order Number |
String 25 |
Required field. The job to which this user field belongs. |
3. |
Operation Sequence |
Integer |
Required unique to job field. |
4. |
Operation User ID |
Big Integer |
Unique identifier assigned by SQL. It is ignored on importing. |
5. |
Map Reference |
Integer |
Defined in DMS to uniquely identify a user field. |
6. |
UF Text |
Text |
One of 8 formats as defined above. |
Operation Material Record
The Operation Material Record is an option record used to set material parameters at the operation level.
No. |
Field |
Type |
Comment |
1. |
SOM |
String 3 |
Record identifier. Required field. |
2. |
Order Number |
String 25 |
Required field. The job to which this material information belongs. |
3. |
Operation Sequence |
Integer |
Required. Operation sequence number starting at 1. |
4. |
Material Available |
Boolean |
True if the material for the job is available, otherwise False. |
5. |
Days to Delay |
Integer |
Days to delay the job from the start date of the schedule run if material is not available. 0 to 999 days. |
6. |
Expected Delivery |
Date Time |
Date (YYYYMMDD) or blank. |
7. |
Date Received |
Date Time |
Date (YYYYMMDD) or blank. |
Material Details Record
The Material Details Record is an option record used to set material requirement details for a job.
No. |
Field |
Type |
Comment |
1. |
SMD |
String 3 |
Record identifier. Required field. |
2. |
Order Number |
String 25 |
Required field. The job to which this material information belongs. |
3. |
Sequence |
Integer |
Blank or 1 to 500. If blank, the material item will be added if the job’s material already exists. If a sequence is given, the new record will replace the existing sequence material record if it exists. |
4. |
Operation Identification (Ident) |
String 15 |
Optional field. Required if the material requirements are for a given operation, otherwise this field is blank. Unique to the job. |
5. |
Inventory Abbrev |
String 45 |
The inventory abbrev. The inv abbrev is an optional entry and must be either set to blank or a valid inv abbrev. |
6. |
Item No |
String 45 |
Required field. The inventory Item No. The Item No must exist in the DMS Inventory table. |
7. |
Job Alternate Item No |
String 45 |
Optional field. Either blank or a valid inventory Item No. The Item No must exist in the DMS Inventory table. If an Item No is given, the job can optionally use this Item No (if the required Item in field 4 above is not available). |
8. |
Per Piece |
Boolean |
True if the material requirements qty is to be multiple by the job qty. False if the material requirements qty is the amount for the entire job (regardless of job qty). |
9. |
Material Available |
Boolean |
True if the material is available (received), otherwise False. |
10. |
Qty Required |
Integer |
The item qty required. Must be greater than or equal to 0. |
11. |
Qty Available |
Integer |
The quantity available for the job. Must be greater than or equal to 0. |
12. |
Material Scrap |
Integer |
Material qty scrapped during the process. |
13. |
Can Use Alternate In Inventory |
Boolean |
True if the job can use the alternate inventory item saved in the DMS inventory table if one exists. False if it cannot be used. This setting is in addition to the Job Alternate Item No. |
14. |
Floor Stock |
Boolean |
True if the Item is floor stock and inventory will not be allocated with pegging. False if the requirements are to reduce the qty on hand/on order. |
15. |
Expected Delivery |
Date Time |
Date (YYYYMMDD) or blank. |
16. |
Date Received |
Date Time |
Date (YYYYMMDD) or blank. |
17. |
Notes |
Memo |
Notes/comments. |
Assembly Record
If a job is part of an assembly, then the assembly structure must be defined. The final assembly job must be specified first, with a blank parent field, as in:
SJA~Assembly-Name~Final-Assembly-Order-No~~~~~~
Each component job in the assembly must already exist (i.e. added) in the database. The assembly structure should be loaded from the final assembly job back through to the other components.
No. |
Field |
Type |
Comment |
1. |
SJA |
String 3 |
Record identifier. Required field. |
2. |
Assembly name |
String 25 |
Required unique field. |
3. |
Assembly ID |
Big Integer |
Unique identifier assigned by SQL. It is ignored on importing. |
4. |
Order Number |
String 25 |
Required field. Component order number. |
5. |
Operation Identification (ident) |
Integer |
Optional. Blank or a valid operation ident to feed into the parent. |
6. |
Parent Order Number |
String 25 |
Required field. The parent order number. This field must be left blank for the final assembly job component. |
7. |
Parent Operation Identification (ident) |
Integer |
Optional. Blank or a valid operation ident to receive parts from the child. |
8. |
Quantity to complete |
Big Integer |
Optional. Quantity to complete before parent can start. |
9. |
Hours to complete |
Float |
Optional. Hours to complete before parent can start. |
10. |
Secondary priority |
Integer |
Blank for of 50 or 1 to 99. |
BOM Job Link Record
If a job is to be linked to another job, then the BOM job link structure must be defined. Before specifying the BOM links, each BOM job must already exist (i.e. added) in the database
No. |
Field |
Type |
Comment |
1. |
SJL |
String 3 |
Record identifier. Required field. |
2. |
Order Number |
String 25 |
Required. Order number of the job that will feed another job. |
3. |
Operation Identification (ident) |
String 20 |
Optional. The operation ident within the job that will feed another job. |
4. |
Feeds Order Number |
String 25 |
Required field. Order number of the job that will be fed. |
5. |
Feeds Operation Identification (ident) |
String 20 |
Optional. The operation ident within the job that will be fed. |
6. |
Quantity to Complete |
Big Integer |
Optional. Quantity to complete before fed order number can start. |
7. |
Hours to Complete |
Big Integer |
Optional. Hours to complete before fed order number can start. |