Asprova Script
Asprova Script
Expression
Handbook
Asprova Corporation
http://www.asprova.com
July 2020 (Ver.16.1)
Contents
Contents
Preface ........................................................................................................ 10
0.Expression possibilities................................................................................ 11
1. Basics ...................................................................................................... 13
Reserved object reference keywords: ME, OTHER, HOLDER, TARGET .............................................................. 15
Other keywords: TRUE, FALSE, INPUT, DELETE ........................................................................................... 15
Conditional If ............................................................................................................................................. 16
Internal function.......................................................................................................................................... 16
String.......................................................................................................................................... 16
Concatenate strings ...................................................................................................................................... 16
New line .................................................................................................................................................... 16
String letter count ........................................................................................................................................ 17
Find sub string inside a string ........................................................................................................................ 17
Search the position of sub string in a string ....................................................................................................... 17
Find number inside a string ........................................................................................................................... 17
Compare two strings .................................................................................................................................... 17
Extract sub string from a string ...................................................................................................................... 17
Number to string, specifying the number of digits .............................................................................................. 18
Insert string ................................................................................................................................................ 18
Convert date and number to string .................................................................................................................. 18
Date ........................................................................................................................................... 18
Add and subtract time from date ..................................................................................................................... 18
Time between two dates................................................................................................................................ 18
Present date ................................................................................................................................................ 18
Return next day, week or month’s start time ...................................................................................................... 18
Return year, month and day from date ............................................................................................................. 19
Convert date to string - Format....................................................................................................................... 19
Convert date to number - ConvertTime ............................................................................................................ 20
Date from number - DateS、DateT、DateF ....................................................................................................... 20
Calculate the time advancing a certain length of time along the working time - AdvanceAlongResourceWorkingTime .... 20
Number ....................................................................................................................................... 20
Round the number of decimal places - Truncate、Roundup、Round ....................................................................... 20
Convert number to string - Format .................................................................................................................. 21
Absolute value - Abs .................................................................................................................................... 21
Square root - Sqrt ........................................................................................................................................ 21
Power function (x to the yth power) - Power ..................................................................................................... 21
Trigonometric functions - Cos、Sin、Tan .......................................................................................................... 21
Exponential function (xth power of e) - Exp ..................................................................................................... 21
Log function – Ln, Log ................................................................................................................................ 21
Normalize functions - NormalizeAscend, NormalizeDescend .............................................................................. 21
Array .......................................................................................................................................... 22
Reference the value ..................................................................................................................................... 22
Set value.................................................................................................................................................... 22
3
Contents
Others ......................................................................................................................................... 22
Verify existence of value - FValid ................................................................................................................... 22
Remove value of the property ........................................................................................................................ 22
Specify string for Gantt chart’s order bar, data tip, status bar ................................................................... 38
Order code ................................................................................................................................................. 38
Order code + Quantity + EST + LET (With descriptive text) ................................................................................ 38
Order code + Item + Quantity + LET .............................................................................................................. 39
Order code+Item code+LET+Priority .............................................................................................................. 39
Specify string for Gantt chart’s operation bar, data tip, status bar ............................................................. 39
Operation code ........................................................................................................................................... 39
Process number (Process code) + Main resource + Start time + End time + Quantity ................................................ 39
Operation code + Item code + Quantity + Order comments .................................................................................. 39
Last dispatching order .................................................................................................................................. 39
Specify string for Gantt chart’s task bar, data tip, status bar..................................................................... 40
Task code................................................................................................................................................... 40
Task code (Net time minutes) ........................................................................................................................ 40
Task code + Start time + End time .................................................................................................................. 40
Specify the properties to set for operations when splitting an operation ..................................................... 47
Copy split root operation comment to split child operation .................................................................................. 47
Customize the code format for inventory objects generated during theoretical inventory calculation ................ 51
Theoretical Inventory (Item code) ................................................................................................................... 51
9.Filter expression......................................................................................... 52
6
Contents
10.Sort expression......................................................................................... 60
Dispatching key on scheduling parameter settings ................................................................................ 60
Sort by order’s property ................................................................................................................................ 60
Sort by operation’s property .......................................................................................................................... 60
Sort by spec ............................................................................................................................................... 60
Sort by sales order due date ........................................................................................................................... 61
8
Contents
9
Introduction
Preface
With advance of production management informatization, production planning informatization is also in demand. There are
different type of manufacturing plants, such as parts maker, electronic, material, chemical, and each one with its own
peculiarities, know-how’s and constraints. Flexibility is needed in the schedulers to attend different demands and Asprova
allows the representation of these know-how’s and constraints using the concept of expression.
“Expression” is akin to programming language, which allows you to represent logical expression, string manipulation, and
conditional expressions in a very generic way. With the use of expression, it becomes possible to implement Asprova in
manufacturing plants where complex constraints and know-how’s exists and was impossible to be implemented in the past.
Furthermore, it is possible to specify GUI settings, DBIO (import/export) filtering and sorting settings in a very customizable
way with the use of expression. There are dozens of places where expression could be specified and understanding how to set
expression is one of key points to implement Asprova.
As expression is akin to programming language, with object oriented concepts, the understanding of Asprova’s object structure
and its grammar and internal functions become a necessary part of the process.
This kind of understanding is not difficult to master if you understand Asprova’s data structure and some best practices.
Therefore, this expression handbook is designed to help the users to understand and to be available whenever you need to
consult about expressions.
10
Asprova expression possibilities
0.Expression possibilities
There are many properties that could be specified on master, order, scheduling parameter, GUI settings, DBIO settings and one
part of then are of expression type. Besides specifying the basic number and string manipulation, it allows to navigate through
the objects and access properties on other objects, call internal functions to execute a complex calculations and therefore,
augmenting the scheduler functionality by ten folds. As such powerful property, the mastering of Asprova could be interpreted
as the mastering of its expressions.
The next few paragraphs you give you a few samples of what is possible to achieve with expressions.
Specify the expression below for resource Gantt chart use instruction data tip expression.
'Code='+ME.Order+'\n'+'Qty='+ME.Order.'Order quantity'+'\n'+'LET='+Format(ME.Order.LET,'yy/MM/dd')
11
Asprova expression possiblities
④ Add new use defined property →Section 4
Add new property and specify virtual property expression to show the first process operation’s status on order table
ME.Children[1].Work_Status
ME.Child[1].Work_Status
12
Basics
1. Basics
String
Strings are delimited by single quotation (‘).
String ‘ABC’ New ‘\n’ Tab ‘\t’
line
Date
Dates read delimited by sharp (#).
Date #2007/6/1 12:00:00#
Time
Time is represented with units.
Second 30s or 30S
Minute 30m 30M
Hour 30h 30H
Day 30d 30D
Week 30w 30W
Capacity
On integrated master editor table, setup, production and teardown capacity are expressed using units.
Production time per unit(second) 30sp or 30SP
Production time per unit(minute) 30mp 30MP
Production time per unit(hour) 30hp 30HP
Production unit per second 30ps 30PS
Production unit per minute 30pm 30PM
Production unit per hour 30ph 30PH
Operators
Equal or not equal operations are done using the operators below.
Equal == Not equal !=
Example:
1 day is 24 hours 1d==24h → TRUE
100 and 50 is not equal 100!=50 → TRUE
Though the returned data of those 2 expressions look the same, they are different in fact. It is because the data types of the
returned data are different.
Time span will be handled as seconds in expressions. Therefore, if evaluated in the way of “Evaluation result” shows, it will be
1200s (20m) when the data type of returned data is time span. If the data type is numbers, it will keep being 1200. And if it was
numbers like 1200 in the “Production” of the Integrated Master Editor table, it will be treated as 1200 minutes.
14
Asprova expression possiblities
ME Specific object
Specific objects can be accessed using the keyword ME and its referenced objects changes for each property. In the order table,
ME is order; ME is operation to be assigned in the task selector valid condition property (integrated master editor table).
Therefore, the expression for “operation quantity is 100 or greater” becomes:
ME.'Production quantity'>=100
Pegging condition property on item class uses keyword OTHER and used as follows.
ME is output instruction and OTHER is input instruction for pegging condition property. It evaluates the expression when
pegging these two instructions.
Keyword HOLDER represents the holder of the property. If the property is task selector valid condition, the holder is Master
instruction selector; if pegging condition property, the holder is item object.
TARGET
Keyword TARGET is used within some specific internal functions. The first parameter of internal function takes the object and
TARGET is used in the second parameter on and represents the object specified in the first parameter. Taking the Sum function
as an example, the expression becomes (where TARGET represents order).
Sum('Order',TARGET.'Order quantity')
It will return the sum of order quantity of all orders.
Independent of property, the next two keywords always represent the same object.
PROJECT Project object
WORKSPACE Workspace object
TRUE
FALSE
Keyword representing Boolean values of true and false.
15
Asprova expression possiblities
DELETE
Keyword DELETE is used to remove the value specified in the property. To remove order EST:
ME.Order.EST=DELETE
Conditional If
Evaluation of different operations based on condition is possible using the expression below.
Conditional
If(Condition, evaluated if condition is TRUE, evaluated if condition is FALSE)
operator
If start time is earlier than 2007/06/01、insert “ABC” to the first comment, otherwise insert “XYZ”.
ME.'Comments (common)'[1]=IF(ME.'Start time'<=#2007/06/01 00:00:00#,'ABC','XYZ')
ME.Comment[1]=IF(ME.StartTime<=#2007/06/01#,'ABC','XYZ')
Or
IF(ME.'Start time'<=#2007/06/01 00:00:00#,ME.'Comments (common)'[1]='ABC',
ME.'Comments (common)'[1]='XYZ')
IF(ME.StartTime<=#2007/06/01#,ME.Comment[1]='ABC',ME.Comment[1]='XYZ')
※Localized name or internal name could be used as a property name. The first expression uses localized name and the second
expression uses internal name.
Internal function
It is possible to call dozens of internal functions from the expression. Also, it is possible to make new internal function through
COM interfaces (refer to the COM SDK folder for more details).
String
Strings are delimited by ’(single quotation). The main string manipulation is as follows.
Concatenate strings
’ABC’+’DEF’ → ABCDEF
New line
’ABC’+’\n’ → ’ABC↓’
’ABC\n’ → ’ABC↓’
16
Asprova expression possiblities
String letter count
Len(’ABC’) → 3
Len(’abcde’) → 5
Find:
If the sub string is found, returns TRUE, otherwise returns FALSE.
StrStr:
Returns the position to the first occurrence of a search string in a string.
FindNumberL:
Finds the nth number from the left in the specified string.
FindNumberR:
Finds the nth number from the right in the specified string.
Left:
Returns a string containing a specified number of characters from the left side of a string.
Right:
17
Asprova expression possiblities
Returns a string containing a specified number of characters from the right side of a string.
Mid:
Returns a string containing a specified number of characters from a string.
If the number has more digits than the specified by the function.
GenStrSerialNum(10015,4) → 10015
To keep the number of digits specified.
Right(GenStrSerialNum(10015,4),4) → 0015
Insert string
ME.Name=’ABC’
ME.Comment[1]=’ABC’
Format:
Converts a time, a number, and so on to a string according to a specified format. Similar to Visual Basic Format function.
Date
Present date
Now() → Return the present system date
StartOfNextDay:
Start of the day x day(s) after the specified point in time
StartOfNextWeek:
Start of the Monday of the week x weeks after the specified point in time.
18
Asprova expression possiblities
StartOfNextMonth:
Start of the month x months after the specified point in time.
Specifying negative number to the second parameter allows getting past dates.
StartOfNextDay(#2007/6/1 12:00:00#,-2) → 2007/05/30 00:00:00
StartOfNextWeek(#2007/6/1 12:00:00#,-2) → 2007/05/14 00:00:00
StartOfNextMonth(#2007/6/1 12:00:00#,-2) → 2007/04/01 00:00:00
GetYearPart:
Returns the year part.
GetMonthPart:
Returns the month part.
GetDayPart:
Returns the day part.
GetHourPart:
Returns the hour part.
GetMinutePart:
Returns the minute part.
GetSecondPart:
Returns the second part.
GetTimePart:
Returns the time part.
19
Asprova expression possiblities
Convert date to number - ConvertTime
ConvertTime( 1d, 'm' ) → 1440
ConvertTime( 36h, 'd' ) → 1
ConvertTime( 36h, 'D' ) → 2
ConvertTime:
Converts a time span into a floating point value of the specified unit. The second parameter is letter (m,M,h,H,d,D).
Capital letter will round up the number, otherwise truncates the number. m is minute, h is hour and d is day.
DateS:
Returns a time representing the specified year, month and day
DateT:
Returns a time representing the specified year, month, day, and time of day.
DateF:
Returns a time representing the specified year, month, day, hour, minute, and second.
Calculate the time advancing a certain length of time along the working time - AdvanceAlongResourceWorkingTime
AdvanceAlongResourceWorkingTime( ME.Resource, #2005/10/5 14:30#, 60m )
AdvanceAlongResourceWorkingTime( ME.Resource, #2005/10/5 14:30#, 60m )
AdvanceAlongResourceWorkingTime:
Returns the time resulting from advancing a certain length of time along the working time of a resource measured from a
specified starting time.
Number
Truncate:
Returns a number truncated to the specified number of decimal places.
Roundup:
Returns a number rounded up to the specified number of decimal places.
Round:
Returns a number rounded to the specified number of decimal places.
20
Asprova expression possiblities
Format:
Converts a time, a number, and so on to a string according to a specified format. Similar use to Visual Basic Format
function.
Ln:
Log function(base e)
Log:
Log function(base 10)
NormalizeAscend:
x/(x+1) when x is large, the result is closer to 1; when x is closer to zero, the result is closer to zero.
NormalizeDescend:
1/(x+1) when x is large, the result is closer to zero; when x is closer to zero, the result is closer to 1.
21
Asprova expression possiblities
Use resource priority, as long as LET is met, otherwise returns zero.
IF(ME.'During evaluation - target operation'.'Order '.LET<ME.'During evaluation - production task time series'[0],
0,NormalizeAscend(ME.'During evaluation - master use instruction'.'Resource priority'))
IF(ME.TentAssignCurrOper.Order.LET<ME.TentAssignProdTimeSeries[0],
0,NormalizeAscend(ME.TentAssignCurrUseBomInst.ResourcePriority))
Array
There are array type properties and in such a case operator [] is used to reference the elements of the array. Index zero means
the last element of the array.
Set value
Comment has 3 values (A, B, C)
Comment[1]=’X’ → X;B;C Set new value to specified element
Comment[0]=’X’ → A;B;C;X Insert new value to the end
Comment[5]=’X’ → A;B;C;X Insert new value to the end
Comment=’X’ → X;X;X Set new value to all elements
Others
22
How to access other object from one specific object
Asprova uses a tree type object hierarchy linked each other by parent-child relationship. If ME is order object, ME.Parent will
get the order rot object. If ME is order root object, ME.Child[n] will get order object.
Order 02
Order 03
Item root
Usually specific properties are used to get the desired object, not the generic Parent/Child object relationship. These specific
properties could be interpreted as a shortcut (similar to windows shortcuts). Next few paragraphs will show you how to get
objects using these “shortcuts”.
Order
Object hierarchy around the order object is shown below.
Second process
operation
The expression below allows you to get the operation from the order. Operations are sorted by the process number; therefore
Child[1] returns the first process operation and Child[0] returns the last process operation.
Operation ME.Children[n]
ME.Child[n]
There is one shortcut property to get the last process operations. As split process means multiple last processes, this property is
of multi data type.
Final operations ME. 'Final operations'[n]
ME.FinalOperations[n]
If the operation is split, one intermediate object (split operation root object) is inserted between the operation and the order.
23
How to access other object from one specific object
The expressions to get other objects are described below. Parent order represents the order in the product side and child order
represents the order in the material side.
Parent order ME.'Parent orders'[n]
ME.RightOrder[n]
Child order ME.'Child orders'[n]
ME.LeftOrder[n]
Rightmost order ME.'Rightmost orders'[n]
ME.RightmostOrder[n]
Leftmost order ME.'Leftmost orders'[n]
ME.LeftmostOrder[n]
Item ME.Item
ME.Item
Operation
Object hierarchy around operation object is shown below.
Operation
Order (1st process) Setup task
Production task
Teardown task
Input instruction
Output
instruction
Operation
(2nd process)
Order can be obtained from expression below (this expression is also valid for split root operation or split operation).
Order ME.’Order ‘
ME.Order
The order of tasks is guaranteed to be setup task, production task and teardown task. Each task could be get as a child object,
but it is not guaranteed that they always exist. Depending on the master data settings Child[1] could not be setup task. Therefore,
Asprova provides specific properties to get them.
Setup task ME.'Setup tasks'[1]
ME.SetupTask[1]
Production task ME.'Production tasks'[1]
ME.ProductionTask[1]
Teardown task ME.'Teardown tasks'[1]
ME.TeardownTask[1]
These properties are of multi data type. But for Ver.4.3.0, values other than 1 or 0, for index, is not valid.
Input instruction and output instruction are obtained not as a child object but from specific properties.
Input instruction ME.'Input instructions'[n]
ME.InputInstructions[n]
Output instruction ME.'Output instructions'[n]
ME.OutputInstructions[n]
24
How to access other object from one specific object
When assigned, input instruction and output instruction is moved under task object (see diagram below).
Operation
Order (1st process) Setup task
They could move under setup task, depending on master data settings. The examples below assume they moved under
production task.
Input instruction ME.'Production tasks'[1].'Input instructions'[n]
ME. ProductionTask[1].InputInstructions[n]
Output instruction ME.'Production tasks'[1].'Output instructions'[n]
ME. ProductionTask[1].OutputInstructions[n]
Teardown task
Operation
(2nd process) Split operation
002
(2nd process)
Objects can be obtained as follows.
Split operation root ME.Parent
ME:split operation ME.Parent
Split operation ME.Children[n]
ME:split operation root ME.Child[n]
25
How to access other object from one specific object
Process number ME.'Master operation'.'Process number'
ME.Bom.ProcNo
Process code ME.'Master operation'.Process.'Process code'
ME.Bom.Proc.Code
As master operation code is the same as process code, the following expression is also valid to get process code.
Process code ME. 'Master operation'.Code
ME.Bom.Code
Task
Object hierarchy around task object is shown below.
Use instruction S0
Input instruction In
Task types are the three shown above and Resource lock task (resource lock task is rarely used in expressions). Not always all
the tasks exist. If no setup time is specified, setup task will not exist. There will be always use instruction under tasks and
obtainable as follows.
Use instruction ME.'Use instructions'[n]
ME.UseInstructions[n]
Operation could be obtained calling ME.Parent, but the property below is defined.
Operation ME.Operation
ME.Operation
Input instruction and output instruction are under task when assigned. The master data settings define where each instruction
belongs to and obtainable calling the properties below.
Input instruction ME.'Input instructions'[n]
ME. InputInstructions[n]
Output instruction ME.'Output instructions'[n]
ME.OutputInstructions[n]
Use instruction
Order, operation and task are obtainable from use instruction as follows.
Order ME.Order
ME.Order
Operation ME.Operation
ME.Operation
Task ME.'Order/operation/task'
ME.Work
26
How to access other object from one specific object
Master use instruction ME.'Master use instruction'
ME. UseBomInst
Use instruction S0
Input instruction In
Input instruction In
27
How to access other object from one specific object
Peg object
Objects around peg object are obtainable from the expressions below.
Output instruction ME. 'Output instruction'
ME.LeftObject
Input instruction ME. 'Input instruction'
ME.RightObject
Output side operation ME. 'Operation (left)'
ME.LeftOperation
Input side operation ME.' 'Operation (right)'
ME.RightOperation
Output side order ME.'Order (left)'
ME.LeftOrder
Input side order ME.'Order (right)'
ME.RightOrder
Item
Object hierarchy around item object is shown below.
In the case process selector and task selector exists. Master input
instruction In
Master output
instruction Out
Process
Item Master operation Master use instruction
selector 1
10 M
Parent item and component item are obtainable from the expressions below.
28
How to access other object from one specific object
Parent item ME.'Parent items'[n]
ME.RightItem[n]
Component item ME.'Component items'[n]
ME.LeftItem[n]
Parent item (recursive) ME.'Parent items (recursive)'[n]'
ME.RightmostItem[n]
Component item (recursive) ME.'Component items (recursive)'[n]
ME.LeftmostItem[n]
29
How to access other object from one specific object
doesn’t exist under task selector.
Item ME.Item
ME.Item
Final item ME.'Final item'
ME. FinalItem
Master operation ME.'Master operation/master task/selector'
ME.Bom
Output instruction master ME.'Output instruction master'
ME.Master
Output instruction ME.'Output instructions' [n]
ME.OutputBomInst_Rev[n]
30
Display color expression
3. Display color expression
Display color can be customized in many places for Gantt chart or table windows. Display color expression uses internal
function RGB or natural number between 1-32.
ME represents Gantt chart bar object in the properties above. The following objects can get obtained from Gantt chart bar
object.
1. Use instruction(UseInstruction)
2. Task(Task)
3. Operation(Operation)
4. Order(Order)
5. Order/Operation/Task(Work) … Object that holds use instruction
6. Item(Item)
7. Resource(Resource)
8. Process(Process)
9. Spec N(SpecN)
By order priority
Red for priority 90 or greater, blue for 50-90, green for 50 or lower
IF(ME.Order.Priority>=90,RGB(255,0,0),IF(ME.Order.Priority<50,RGB(0,255,0),RGB(0,0,255)))
IF(ME.Order.Priority>=90,RGB(255,0,0),IF(ME.Order.Priority<50,RGB(0,255,0),RGB(0,0,255)))
31
Display color expression
Color by order type
ME.Order.'Order type'+1
ME.Order.Type+1
By adding 1, it is converting from enum to number.
Blue when the right order LET is current month, red when past months, black when future months, and green when unspecified.
IF(FValid(ME.Order.'Right order earliest LET'),IF(ME.Order.'Right order earliest LET'>
StartOfNextMonth(PROJECT.'Scheduling basis time',1),RGB(0,0,0),IF(ME.Order.'Right order earliest LET'<
StartOfNextMonth(PROJECT.'Scheduling basis time',0),RGB(255,0,0),RGB(0,0,255))),RGB(0,255,0))
IF(FValid(ME.Order.RightOrderEarliestPeggingLET),IF(ME.Order.RightOrderEarliestPeggingLET>
StartOfNextMonth(PROJECT.BasisTime,1),RGB(0,0,0),IF(ME.Order.RightOrderEarliestPeggingLET<
StartOfNextMonth(PROJECT.BasisTime,0),RGB(255,0,0),RGB(0,0,255))),RGB(0,255,0))
Red for lateness for 3 days or more, yellow for less than 3 days, and white otherwise.
IF(ME.'Order/operation/task'.Lateness>3d,RGB(255,0,0),IF(ME.'Order/operation/task'.Lateness>0s,
RGB(255,255,0),RGB(255,255,255)))
IF(ME.Work.Lateness>3d,RGB(255,0,0),IF(ME.Work.Lateness>0s,RGB(255,255,0),RGB(255,255,255)))
By color graduation
Graduated blue coloring (using num spec 1, set from 0-32)
RGB(255*ME.Order.'Num spec 1'/32,255*ME.Order.'Num spec 1'/32,200)
RGB(255*ME.Order.NumSpec1/32,255*ME.Order.NumSpec1/32,200)
Num spec has value between 0-32.
Specify use instruction bar text color expression
Use instruction bar text color expression ME Use instruction
(Resource Gantt chart display settings-[Resource Gantt] tab) OTHER Not specified
HOLDER Time chart
32
Display color expression
Red for lateness, blue for EST violation, yellow for due date within a day.
IF(ME.Operation.Lateness>0s,RGB(255,0,0),
IF(ME.Operation.Earliness>0s,RGB(0,0,255),
IF(ME.Order.LET-ME.Operation.'Production end time'<=1d,RGB(255,255,0),0)))
IF(ME.Operation.Lateness>0s,RGB(255,0,0),IF(ME.Operation.Earliness>0s,RGB(0,0,255),
IF(ME.Order.LET-ME.Operation.OperationProductionEndTime<=1d,RGB(255,255,0),0)))
Red for lateness, blue for EST violation, yellow for due date within a day.
IF(ME.'Order/operation/task'.Lateness>0s,
IF(ME.'Order/operation/task'.'End time'>ME.Order.LET||
ME.'Order/operation/task'.'End time'>ME.Operation.'User specified LET',
RGB(255,0,0),RGB(255,255,0)),IF(ME.'Order/operation/task'.Earliness>0s,
IF(ME.'Order/operation/task'.'Start time'<ME.Order.EST||
ME.'Order/operation/task'.'Start time'<ME.Operation.'User specified EST',RGB(0,0,255),RGB(0,255,255)),0))
IF(ME.Work.Lateness>0s,IF(ME.Work.EndTime>ME.Order.LET||ME.Work.EndTime>ME.Operation.ULET,RGB(255,0,0),RGB(255,255,0)),
IF(ME.Work.Earliness>0s,IF(ME.Work.StartTime<ME.Order.EST||ME.Work.StartTime<ME.Operation.UEST,RGB(0,0,255),RGB(0,255,255)),0))
By replenishment order
Brown for replenishment orders
IF('Order class'=='Replenishment order',7,0)
IF(IsReplenishmentOrder=='1',7,0)
By order priority
Pink when the priority is 90 or more, blue when 50 to less than 90, and green when less than 50.
33
Display color expression
IF(Priority>=90,18,IF(Priority<50,26,9))
IF(Priority>=90,18,IF(Priority<50,26,9))
GetMonthPart(LET)
GetMonthPart(LET)
By order priority
Red when the priority is 90 or more, blue when 50 to less than 90, and green when less than 50.
IF(ME.'Order '.Priority>=90,RGB(255,0,0),IF(ME.'Order '.Priority<50,RGB(0,255,0),RGB(0,0,255)))
IF(ME.Order.Priority>=90,RGB(255,0,0),IF(ME.Order.Priority<50,RGB(0,255,0),RGB(0,0,255)))
Red for lateness, blue for EST violation, yellow for due date within a day.
IF(ME.Lateness>0s,RGB(255,0,0),IF(ME.Earliness>0s,RGB(0,0,255),
IF(ME.'Order '.LET-ME.'Production end time'<=1d,RGB(255,255,0),0)))
IF(ME.Lateness>0s,RGB(255,0,0),IF(ME.Earliness>0s,RGB(0,0,255),
IF(ME.Order.LET-ME.OperationProductionEndTime<=1d, RGB(255,255,0),0)))
Yellow and light blue for text color of operation bars in reverse time relationship.
34
Display color expression
IF(ME.Lateness>0s,IF(ME.'End time'>ME.'Order '.LET||ME.'End time'>ME.'User specified LET',
RGB(255,0,0),RGB(255,255,0)),IF(ME.Earliness>0s,IF(ME.'Start time'<ME.'Order '.EST||
ME.'Start time'<ME.'User specified EST',RGB(0,0,255),RGB(0,255,255)),0))
IF(ME.Lateness>0s,IF(ME.EndTime>ME.Order.LET||ME.EndTime>ME.ULET,RGB(255,0,0),
RGB(255,255,0)),IF(ME.Earliness>0s,IF(ME.StartTime<ME.Order.EST||ME.StartTime<ME.UEST,RGB(0,0,255),RGB(0,255,255)),0))
By order priority
Red when the priority is 90 or more, blue when 50 to less than 90, and green when less than 50.
IF(ME.'Order '.Priority>=90,RGB(255,0,0),IF(ME.'Order '.Priority<50,RGB(0,255,0),RGB(0,0,255)))
IF(ME.Order.Priority>=90,RGB(255,0,0),IF(ME.Order.Priority<50,RGB(0,255,0),RGB(0,0,255)))
Red for lateness, blue for EST violation, yellow for due date within a day.
IF(ME.Operation.Lateness>0s,RGB(255,0,0),IF(ME.Operation.Earliness>0s,RGB(0,0,255),
IF(ME.'Order '.LET-ME.Operation.'Production end time'<=1d,RGB(255,255,0),0)))
IF(ME.Lateness>0s,RGB(255,0,0),IF(ME.Earliness>0s,RGB(0,0,255),
IF(ME.Order.LET-ME.OperationProductionEndTime<=1d,RGB(255,255,0),0)))
Yellow and light blue for text color of task bars in reverse time relationship.
IF(ME.Lateness>0s,IF(ME.'End time'>ME.'Order '.LET||ME.'End time'>ME.'User specified LET',
RGB(255,0,0),RGB(255,255,0)),IF(ME.Earliness>0s,IF(ME.'Start time'<ME.'Order '.EST||
ME.'Start time'<ME.'User specified EST',RGB(0,0,255),RGB(0,255,255)),0))
IF(ME.Lateness>0s,IF(ME.EndTime>ME.Order.LET||ME.EndTime>ME.ULET,RGB(255,0,0),RGB(255,255,0)),
IF(ME.Earliness>0s,IF(ME.StartTime<ME.Order.EST||ME.StartTime<ME.UEST,RGB(0,0,255),RGB(0,255,255)),0))
ME depends on property definition. ME is order object if on order table and item object if on item table.
35
Display color expression
Pink when the priority is 90 or more, blue when 50 to less than 90, and green when less than 50.
IF(Priority>=90,18,IF(Priority<50,26,9))
IF(ME.Order_Priority>=90,18,IF(ME.Order_Priority<50,26,9))
36
String expression
4. String expression
Allow customization of strings displayed on table windows and Gantt charts and to add properties that is not displayed by
default.
Specify strings for use instruction bar, data tip, status bar on Gantt chart
37
String expression
Last dispatching order ME.Operation.'Last dispatching order'
ME.Operation.LastAssignmentOrder
Num spec 1
GetApplicableNumSpec(1,ME.Operation)
GetApplicableNumSpec(1,ME.Operation)
GetApplicableSpec:
Spec applicable to the operation. When a spec is applied to the order, will apply that spec. Otherwise, will apply the spec
specified for the item.
GetApplicableNumSpec:
Num spec applicable to the operation. When a num spec is applied to the order, will apply that num spec. Otherwise, will
apply the num spec specified for the item.
Specify string for Gantt chart’s order bar, data tip, status bar
Order code
ME
ME
38
String expression
Specify string for Gantt chart’s operation bar, data tip, status bar
Operation code
ME
ME
Process number (Process code) + Main resource + Start time + End time + Quantity
ME+'('+ME.'Master operation'+')\n'+ME.'Main resource'+' '+ME.'Production start time'+
' - '+ME.'Production end time'+'\n'+ME.'Production quantity'
ME+'('+ME.Bom+')\n'+ME.OperationMainRes+' '+ME.OperationProductionStartTime+
' - '+ME.OperationProductionEndTime+'\n'+ME.OperationOutMainItemQty
39
String expression
Specify string for Gantt chart’s task bar, data tip, status bar
Task code
ME
ME
40
String expression
Specify virtual property expression
Allows reference other objects property by adding a new property and specifying virtual property expression.
Specifying display reverse expression allows set LET in the format “Year 2007, 06 / 01”.
DateS(FindNumberL(INPUT,1),FindNumberL(INPUT,2),FindNumberL(INPUT,3))
DateS(FindNumberL(INPUT,1),FindNumberL(INPUT,2),FindNumberL(INPUT,3))
“INPUT” represents the input string.。Using FindNumberL internal function, it gets the year, month, day and set it.
If the quantity per box depends on item, the expression becomes as follows:
41
String expression
ME. 'Order quantity' /ME.Item. 'Container capacity'
ME.Qty/ME.Item.ContainerCapacity
*container capacity is user added property.
Display reverse expression becomes as follows.
HOLDER. 'Order quantity'=ME.Item. 'Container capacity'*FindNumberL(INPUT,1)
HOLDER.Qty=ME.Item.ContainerCapacity*FindNumberL(INPUT,1)
42
Time expression
5. Time expression
43
Time expression
Specify absolute date
2007/06/01 17:00:00
#2007/06/01 17:00:00#
# 2007/06/01 17:00:00#
44
Conditional expression
6. Conditional expression
Specify conditions to decide which master to be used on Integrated master editor table, resource, item, or pegging conditions.
This expression should return TRUE/FALSE value.
Refer to the link below for explanation on how to use these three properties:
(http://www.asprova.com/faq/000574.html)
45
Conditional expression
Operation spec 1 is equal to 'A'
GetApplicableSpec(1,ME)=='A'
GetApplicableSpec(1,ME)=='A'
To set next resource constraint going farther the process, specify the expression below with master use instruction for each
resource.
(Limited for forward direction)
Two operations previous, the operation was assigned to resource A
ME.'Previous process operations'[1].'Previous process operations'[1].'Assignment flag'!=
'Unassigned'&&ME.'Previous process operations'[1].'Previous process operations'[1].'Main resource'=='A'
ME.PrevOperation[1].PrevOperation[1].IsAssigned!='0'&&ME.PrevOperation[1].PrevOperation[1].OperationMainRes=='A'
46
Property assignment expression
47
Property assignment expression
Copy order display color
ME.'Display color'=OTHER.'Display color'
ME.Color=OTHER.Color
Spec 1
ME.'Spec 1'=OTHER.'Spec 1'
ME.Spec1=OTHER.Spec1
Num spec 1
ME.'Num spec 1'=OTHER.'Num spec 1'
ME.NumSpec1=OTHER.NumSpec1
ME depends on which DBIO object it refers to. For DBIO object for order, ME refers to order object; for DBIO object for item
table, ME refers to item object.
Specify manufacturing order to order type on import (Import property conversion expression for order table).
ME.'Order type'='Manufacturing order'
ME.Type=’M’
The Modify properties command is a command by which you can modify values of order and operation properties at any
desired timing, such as during the scheduling, menu, loading/saving data. Insert Modify property command to scheduling
parameter to execute it during rescheduling or specify this parameter as a custom menu to call it from the menu. For more
details refer to [Modify properties command] (HelpNo.:778300) help file. Insert this parameter under
[AfterDeSerializeProject][ AfterSerializeProject] plug-in key (menu [Schedule]-[Command Editor]) to execute it during data
loading/saving.
48
Property assignment expression
Order expression ME Order
(Modify properties command-[General] tab) OTHER Not specified
HOLDER Modify properties command
Remove property
ME.EST=DELETE
ME.EST=DELETE
Modify properties command allows you to set operation properties when rescheduling or from menu.
Operation expression (Modify properties command) ME Operation
OTHER Not specified
HOLDER Modify properties command
49
Filter expression
8.Code generation expression
Unique code
GenStrSerialNum(ME.'Object ID',9)
GenStrSerialNum(ME.ObjectID,9)
50
Filter expression
Auto-generated one-to-one order code expression ME Order
(Project-[Code generation] tab) OTHER Not specified
HOLDER Project
Specify here the code format for orders auto-generated using the property Items to peg one-to-one ([Yes (one-to-one
production)], Yes (inventory + one-to-one production), [Yes (supply-demand adjustment one-to-one production)], or order
property [Items to peg one-to-one] is specified).
Customize the code format for inventory objects generated during theoretical inventory calculation
51
Filter expression
9.Filter expression
(After filtering)
(Before filtering)
52
Filter expression
ME.'Order type'=='P' ME.'Order type'=='I'
ME.Type=='P' ME.Type=='I'
Inventory (fluctuation)
ME.'Order type'=='J'
ME.Type=='J'
Replenishment order
ME.'Order class'=='1'
ME.IsReplenishmentOrder=='10'
53
Filter expression
ME.LET>=StartOfNextDay(PROJECT.'Project load time',0)&&
ME.LET<StartOfNextDay(PROJECT.'Project load time',3)
ME.LET>=StartOfNextDay(PROJECT.StartupTime,0)&&ME.LET<StartOfNextDay(PROJECT.StartupTime,3)
Filter by spec
Order Spec 1 is equal to 'A'
ME. 'Spec 1'=='A'
ME.Spec1=='A'
Unassigned operations
ME.'Assignment flag'=='Unassigned'
ME.IsAssigned=='0'
(After filter)
(Before filter)
Filter by Status
Completed Started
55
Filter expression
ME.Status=='Completed' ME.Status=='Started'
ME. Status =='B' ME. Status =='T'
Frozen Released
ME.Status=='Frozen' ME.Status=='Released'
ME. Status =='D' ME. Status =='I'
Scheduled
ME.Status=='Scheduled'
ME. Status =='A'
56
Filter expression
Filter by process
Operations with process number 10
ME.'Master operation'.'Process number'==10
ME.Bom.ProcNo==10
Operations’ production task or setup task assigned within 10 days of the assignment period start time
ME.'Start time'<PROJECT.'Scheduling basis time'+10d
ME.StartTime<PROJECT.BasisTime+10d
Input instruction
ME.'Instruction type'=='Input instruction'
ME.InstructionType=='I'
Output instruction
ME.'Instruction type'=='Output instruction'
ME.InstructionType=='O'
Use instruction
ME.'Instruction type'=='Use instruction'
ME.InstructionType=='U'
Take advantage to the fact that auto-generated instruction codes are In0, Out0.
ME.'Instruction code'!='In0'&&ME.'Instruction code'!='Out0'
ME.Instruction!='In0'&&ME.Instruction!='Out0'
57
Filter expression
Filter by final items with first letter A
Left(ME.'Final item',1)==’A’
Left(ME.FinalItem,1)==’A’
Customer
ME.'Resource type'=='Customer'
ME. Type=='C'
Use the fact that when resource is changed to resource group, values are added to [Group members] property
FValid(ME.'Group members')
FValid(ME.GroupContents)
58
Filter expression
ME.'Item type'=='Finished item' ME.'Item type'=='Intermediate item'
ME. Type=='P' ME. Type=='I'
(After filter)
(Before filter)
59
Sort expression
10.Sort expression
Order priority
ME.Order.Priority
ME.Order.Priority
Order code
ME.Order.Code
ME.Order.Code
Order code
ME.Order.Code
ME.Order.Code
Sort by spec
Spec1 code
GetApplicableSpec(1,ME)
GetApplicableSpec(1,ME)
Num spec 1
60
Sort expression
GetApplicableNumSpec(1,ME)
GetApplicableNumSpec(1,ME)
61
Integrated master: capacity
11.Integrated master: capacity
Resource capacity is specified using expressions. Furthermore, the rate between input and output qty of the process is also
specified by expressions.
10 seconds
10s
10 hours
10h
10 days
10d
10 weeks
10w
62
Integrated master: capacity
If operation’s Production qty is less than 100, it takes 10 minutes, otherwise it will take 20 minutes
IF(ME.'Production quantity'<=100,10m,20m)
IF(ME.OperationOutMainItemQty<=100,10m,20m)
The rate between Production qty (operation’s Production qty) and Input qty (input instruction’s Quantity) is specified in to
Master input instruction. The rate between Output qty (Master output qty) and the Production qty (operation’s Production qty)
is specified in to Master output instruction.
For each 1 unit of production qty, 0.5 units of materials are supplied
0.5
63
Quantity formula
12.Quantity formula
Write expressions to return real numbers and specify them on quantity formulas.
Standard expression
64
Quantity formula
When you consider the yield rate in the quantity calculation, it results in a real number with floating points. You can round the
calculated number using internal functions such as Roundup and Truncate. Yield rate is specified in to Master output instruction
and the following two expressions could be used.
[Production qty formula] is rounded up because it is used when calculating the material qty from the order qty. On another hand,
[Output qty formula] is truncated because it is used to calculate the later processes based on reported qty.
65
Scheduling parameter (Weight customization)
13.Scheduling parameter
Weight customization
Using normal weight, all the operations are assigned to the non-backup resource (late operations are represented by red color,
otherwise by green color)
Cut
Assy
Assy(backu
Inspection
Using the expression above, the late operations (red color bars) are assigned to the backup resource.
Cut
Assy
Assy(backu
Inspection
If assigned to next month of sales order’s LET to which it is pegged, assign to backup resource.
66
Scheduling parameter (Weight customization)
If(StartOfNextMonth(ME.'During evaluation - target operation'.'Order'.'Right sales order earliest due
date',1)<ME.'During evaluation - production task time series'[1],If(ME.'During evaluation - target resource'. 'Backup
Flag'=='Yes',10000,0),10000)
If(StartOfNextMonth(ME.TentAssignCurrOper.Order.SalesOrderPeggingLET,1)<ME.TentAssignProdTimeSeries[1],If(ME.TentAssignCurrRes.Backu
pFlag=='Yes',10000,0),10000)
[Backup Flag] is user property added to resource class. The number 10000 in the expression above could be any weight and
adjustable.
Change the spec. But if previous operation production time is less than 12 hours, keep the same spec (Evaluation
expression sub key: TRUE)
(ME.'During evaluation - left operation'.'Production time'<12h&&ME.'During evaluation - left operation'.'Order
'.Item.'Spec 2'==ME.'During evaluation - target operation'.'Order '.Item.'Spec 2')||ME.'During evaluation - left
operation'.'Order '.Item.'Spec 2'!=ME.'During evaluation - target operation'.'Order '.Item.'Spec 2'
(ME.TentAssignLeftOper.OperationProductionTime<12h&&ME.TentAssignLeftOper.Order.Item.Spec2==ME.TentAssignOperation.Order.Item.Spec
2)||ME.TentAssignLeftOper.Order.Item.Spec2!=ME.TentAssignOperation.Order.Item.Spec2
67
Scheduling parameter (Weight customization)
Must follow spec priority sequence (Evaluation expression sub key: TRUE)
IF(FValid(ME.'During evaluation - left operation'.'Order '.Item.'Spec 1'.MustCombination),Find(ME.'During evaluation
- left operation'.'Order '.Item.'Spec 1'.MustCombination,ME.'During evaluation - target operation'.'Order '.Item.'Spec
1'.'Spec code'),FALSE)
IF(FValid(ME.TentAssignLeftOper.Order.Item.Spec1.MustCombination),Find(ME.TentAssignLeftOper.Order.Item.Spec1.MustCombination,ME.Tent
AssignOperation.Order.Item.Spec1.Code),FALSE)
Add a new multidata property called [MustCombination] to Spec1 table and specify the sequence in which to assign. If it is the
right sequence, it returns TRUE, otherwise it returns FALSE.
Minimal setup time (if setup time is within 1 day, set it to 0) (Evaluation expression sub key: Smaller)
IF(1d<ME.'During evaluation - setup time',ME.'During evaluation - setup time',0s)
IF(1d<ME.TentAssignSetupTime,ME.TentAssignSetupTime,0s)
Due date period grouping (Evaluation expression sub key: Smaller, Evaluation expression threshold: 3d)
ME.'During evaluation - target operation'.'Order '.'Right order earliest LET'
ME.TentAssignOperation.Order.RightOrderEarliestPeggingLET
68
QA list
14.QA list
The most frequently asked question addressed to us is listed below, with its answers.
You can find newer QA in our web page.
1.Determining if the resource to where the previous operation is assigned is outsource resource.
Q:How to determine if the resource to where the previous operation is assigned is outsource resource.
Q:How to specify the master valid period time and switch it.
A:Add one new property to the order class and specify the value of version there.
(Suppose the new property is MasterVersion). For example:
If the property value type is “string”, you specify: 'A-version', 'B-version',
If the property value type is “integer”, you specify: 1, 2, 3,
If the property value type is “date”, you specify: #2006/2/16#
In the integrated Master Editor, you specify the expression in the “process selector valid condition” or “Valid condition”:
① ME.MasterVersion=='A-version'
② ME.MasterVersion<= 2
③ ME.MasterVersion<=Now()
* ME represents order.
The meaning of each one of expression above is:
① If the order version is “A-version”
② If the order version is lower or equal than 2
③ If the order version is older than the present date/time
69
QA list
Q:I’m exporting the [use instruction] data as output of scheduling. How to export the [Process code] specified in the Integrated
Master Editor to the [use instruction] output.
A:Add a new property of “String” type to the “use instruction” class, and specify the expression below as “virtual property
expression”:
ME.Operation.’Master operation’.Process
ME.Operation.Bom.Proc
*ME represents use instruction
With this expression you specify one property that obtains the operation’s process from use instruction.
Meaning: Obtain the code from “use instruction” -> “Operation” -> “Master operation” -> “Process”
You will be able to export this property with Field mapping it in the “Data I/O settings”.
A:Add a new property of “String” type to the order class, and specify the expression below as “virtual property expression”:
ME.Children[0].Work_Bom.Process
ME.Child[0].Work_Bom.Proc
*ME represents order
Specifying “0” as the index of the array returns the last element of the array.
The last child means the operation of the last process.
This expression obtains the Bom from its child (operation) and from it, obtains the process. It will not work if the order is not
yet exploded. To obtain the last process’s code even before the order explosion, you should specify the expression below.
IF(Fvalid(ME.Children[0]),ME.Children[0].Work_Bom.Process,ME.Item.Children[0].Bom_Proc)
IF(FValid(ME.Child[0]),ME.Child[0].Bom.Proc,ME.Item.Child[0].Bom_Proc)
Its meaning is: If the child (operation) exists, then operation -> bom -> process, otherwise item -> bom (child) -> process. You
will be able to obtain the process whatever the order is exploded or not.
The expression below is also valid in most of cases, but if you specify process selector, you will not be able to obtain the last
process of the process selector used. Furthermore, if you use “Item for order explosion” property to explode the order, this
expression won’t be able to handle it, and the reason to obtain the process from the operation’s bom.
ME.Item.Children[0].Bom_Proc
ME.Item.Child[0].Bom_Proc
A:If the expression below returns TRUE, the process selector exists; otherwise the process selector does not exist.
ME.Children[0].Bom_Type==’Process selector’
ME.Child[0].Bom_Type=='C'
*ME represents item.
The meaning of this expression is: if the type of child of item (could be Process selector or bom) is process selector(‘C’), the
evaluates to TRUE, otherwise it evaluates to FALSE.
70
QA list
7.Verify which process selector the order explosion used
A:Add one new “String” type property to the order class and in its virtual property expression, specify the following
expression.
ME.Children[0].Work_Bom.Parent
ME.Child[0].Work_Bom.Parent
“ME” means order. The meaning of this expression is: from the order, get the operation (child) -> master operation. The parent
object of master operation is the process selector.
As the operation has the reference to the master operation of the process selector used, you can always get the process selector
from the master operation.
If the operation doesn’t exist, the expression above will fail to evaluate and one empty string will be returned.
The expression above is valid if all the items have process selector, but if not it will return the item code (the parent of master
operation is item if process selector doesn’t exist).
The hierarchy is:
<<Process selector is not defined>>
Item-Master operation
<<Process selector is defined>>
Item-Process selector-Master operation
Q:How to verify if order’s spec property or some property of operation exist or not
Q:How to specify the virtual property expression to show the result quantity of previous process in an operation table which
style is specified to filter some processes.
Q:Is it correct to specify properties that don’t show up in the intellisense? I’m using the Master input instruction’s [Valid
condition] on integrated master editor table. The expression is specified as ME.Child[1].StartTime (operation star time) but
[StartTime] doesn’t appear in the list of choices for [Child[1].], although it is evaluated correctly.
A:The expression below is correct, but it is strongly suggested that you specify the property code.
ME.Child[1].StartTime
The property code for Operation [Start time] is Work_StartTime. (StartTime only is called short name)
If you specify ME.Child[1] it is not possible to determine the class to which the next object belongs to and the intellisense will
show the properties for the normal object only. If you know the class type is Work, you should specify the following expression.
ME.Child[1].Work_StartTime
Perhaps short name format evaluates correctly but after you save and reload it, it could not be evaluated correctly. The property
code is obtained from the [Code] property on property definition class.
11.How to improve resource filling rate specifying resource evaluation’s Additional evaluation expression
Q:How to express the following situation using ’Resource evaluation’.’ Additional evaluation expression’ property.
【What to express】
If the usable resource quantity in the time period defined by ‘Production start time’ and ‘Production end time’ for the resource
evaluation is greater than 1, it will set to 1; otherwise it will set to 0.
【Motivation】
I want to increase the filling rate when assigning operations to multiple candidates of furnace resource. If I can specify resource
evaluation as above, it will increase the waiting time for the production but with increased resource filling rate.
A:
Specify the expression as follows.
IF(1==ResourceLoad(ME.'During evaluation - target resource',
ME.'During evaluation - production task time series'[1],
ME.'During evaluation - production task time series'[0]),0,1)
IF(1==ResourceLoad(ME.TentAssignCurrRes,ME.TentAssignProdTimeSeries[1],ME.TentAssignProdTimeSeries[0]),0,1)
ResourceLoad is internal function and its return value approaches 1 if there is no operation and 0 otherwise.
72
Expression Type Properties by class
15.Expression Type Properties by class
Project
Scheduling basis time Theoretical inventory calculation time Operation code expression
Assignment start time Operation property assign expressions Replenishment manufacturing order code
Assignment end time Split child operation property assign expressions expression
Display start time Replenishment manufacturing order propertyReplenishment purchase order code
Display end time assign expressions expression
Freeze period end time Replenishment purchase order property assignAuto-generated one-to-one order code
Instruction output period end expressions expression
time One to one pegged order property assign Event order code expression
expressions Auto-generated intermediate item code
expression
Theoretical inventory code expression
Order
Inventory valid period
Item
Pegging condition Inventory valid period
Master operation
Process selector valid Task selector valid condition
condition
Resource
Valid condition Furnace valid condition (Setup) Furnace valid condition (Teardown)
Furnace valid condition
Data I/O
Import property conversion Export property conversion expression
expression
73
Expression Type Properties by class
Resource evaluation
Additional evaluation expression
Modify properties
Order expression Operation expression
Inventory graph
Number format
Property definition
Background color expression Virtual property expression Display expression
Text color expression
74
Internal function
16.Internal Function
String operations
Find( str, strSearch )
Arguments str Source string.
strSearch Searched string.
Return value Find the strSearch from str. In case that it is found, return TRUE, or else return FALSE.
Example Find('abcde', 'bc') -> TRUE
Find('abcde', 'xy') -> FALSE
Remarks It is different with Left function when there are multiple bytes characters, such as Japanese characters in
above sample. One Japanese character occupies two bytes.
75
Internal function
RightB( str, length, flag )
Arguments str Source string.
length Integer. The byte number of the get string.
flag 0 ... In the case that Multiple byte string have to be cut, then cut it.
1 ... In the case that Multiple byte string have to be cut, then replenish not enough
bytes.
Return value Return length charaters of source string from the most right.
Example
Remarks It is different with Right function when there are multiple bytes characters, such as Japanese characters
in above sample. One Japanese character occupies two bytes.
Len( str )
Arguments str Source string.
Return value Return the character number of source string.
Example Len('abcdefghijklmn') -> 14
LenB( str )
Arguments str Source string.
Return value Return the byte number of source string.
Example
Remarks It is different with Len function when there are multiple bytes characters, such as Japanese characters in
above sample. One Japanese character occupies two bytes.
76
Internal function
Cast Date/Time/Number to String
Format( value, expr )
Arguments value Translated Data/Time/Number.
expr Specify the string format. Same with VisualBasic Format function.
Return value Format value based on specified format string expr.
Example Take ME.StartTime=2011/1/27 17:04:23 for example.
Format(ME.StartTime, "h:m:s") -> '5:4:23'
Format(ME.StartTime, "hh:mm:ss tt") -> '05:04:23 PM'
Format(ME.StartTime, "dddd, MMM d yyyy") -> 'Thursday, Jan 27 2011'
Format(ME.StartTime, "HH:mm:ss") -> '17:04:23'
GetMonthPart( time )
Arguments time Target time.
Return value Return the month of the time as an integer.
Example GetMonthPart( #2011/6/1 12:30:00# ) -> 6
77
Internal function
GetDayPart( time )
Arguments time Target time.
Return value Return the date of the time as an integer.
Example GetDayPart( #2011/6/1 12:30:00# ) -> 1
GetHourPart( time )
Arguments time Target time.
Return value Return the hour of the time as an integer.
Example GetHourPart( #2011/6/1 12:30:00# ) -> 12
GetMinutePart( time )
Arguments time Target time.
Return value Return the second of the time as an integer.
Example GetMinutePart( #2011/6/1 12:30:00# ) -> 30
GetSecondPart( time )
Arguments time Target time.
Return value Return the time(Not enough 24 hours) of the time.
Example GetSecondPart( #2011/6/1 12:30:00# ) -> 0
78
Internal function
Cast Integer to Date
DateF( year, month, day, hour, minute, second )
Arguments year Integer. Year.
month Integer. Month.
day Integer. Day.
hour Integer. Hour.
minute Integer. Minute.
second Integer. Second.
Return value Return specified Year/Month/Day/Hour/Minute/Second.
Example DateF( 2011, 6, 15, 6, 30, 30 ) -> 2011/06/15 06:30:30
Remarks 'F' of DateF is the 'F' of Full, which means all(Year/Month/Day/Hour/Minute/Second) can be specified.
79
Internal function
Time Series/Time
Now()
Arguments None.
Return value Return now date of computer.
Example Now() -> #2011/06/27 10:30:00#
In case that "Day demarcation time" of project settings is 08:00:00, start time will be "Day demarcation
time".
StartOfNextDay(#2011/4/2#,1) -> #2011/4/3 08:00:00#
80
Internal function
In case that "Day demarcation time" of project settings is 08:00:00, start time will be "Day demarcation
time".
StartOfNextWeek(#2011/4/2#,1) -> #2011/4/4 08:00:00# StartOfNextWeek(#2011/4/2#,1) ⇒ #2011/4/4
08:00:00#
In case that "Day demarcation time" of project settings is 08:00:00, start time will be "Day demarcation
time".
StartOfNextMonth(#2011/4/10#,1) -> #2011/5/1 08:00:00#
In case that "Day demarcation time" of project settings is 08:00:00, start time will be "Day demarcation
time".
EndOfNextDay(#2011/4/2#,1) -> #2011/4/4 07:59:59# End time of tomorrow.
In case that "Day demarcation time" of project settings is 08:00:00, start time will be "Day demarcation
time".
EndOfNextDay(#2011/4/2#,1) -> #2011/04/11 07:59:59# End time of next week.
81
Internal function
If the [Day demarcation time] property in project setting window is 08:00:00, the the end time is start
from 08:00:00.
EndOfNextMonth(#2011/4/2#,1) -> #2011/06/01 07:59:59# End time of next month.
Work time
AdvanceAlongResourceWorkingTime( resouce, time, timeSpan )
Arguments resource Resource object.
time Base time.
timeSpan Advance time.
Return value Return the time after timeSpan from the base time along with resource work time.
Example AdvanceAlongResourceWorkingTime(ME,#2008/06/09 00:00:00#,24h) -> #2008/06/10 21:00:00#
ME is Mixer1. Return the time after 24 hours from 2008/06/09 00:00:00 along with the work time of
Mixer1.
Remarks When the second argument is minus value, it return the past time.
82
Internal function
ME is Mixer1. There are 2 time periods which is longer than 5 hours from 2008/06/09 00:00:00 to
2008/06/11 00:00:00, then return 2.
ME is Mixer1. There are 4 time periods which is longer than 4 hours from 2008/06/09 00:00:00 to
2008/06/11 00:00:00, then return 4.
83
Internal function
ME is Mixer1. Return 1440 minutes work time of Mixer1 from 2008/06/09 00:00:00 to 2008/06/11
00:00:00.
84
Internal function
(LET of order - Effective user specified EST of operation) - Left production time
(LET of order - Effective user specified EST of operation)
When left production time is 10 days and there is 20 days between LET and EST, 0.5 will be returned.
4 days
20 days
Order due date - Effective user specified EST > 0 && Order due date - Effective user specified EST <
Left production time
Or
Order due date - Effective user specified EST < 0(Order leeway<0)
(LET of order - Effective user specified EST of operation) - Left production time
(Left production time)
22 days
20 days
Remarks Order leeway of Default dispatching keys is used.
85
Internal function
ME is Mixer1. Return the total production time (6 hours) from 06/05 to 06/07.
6/5 6/6
CalcRemainingProductionTime( oper )
Arguments oper Operation object.
Return value Return the total production time of the operation which start time is in the period from the start time of
the resource to the end time of the resource.
Example CalcRemainingProduction(ME.Operation) -> 7H
ME operation is process40 with forward assignment. Return total production time(7 hours) of left
process is process50 and process60.
Proc 10
3 hours
ME operation is process40 with backward assignment. Return total production time(8 hours) of left
process10, process20 and process30.
Proc 10
3 hours
86
Internal function
CalcRemainingTime( oper )
Arguments oper Operation object.
Return value Return the time difference between end time of the operation and the LET.
Example CalcRemainingTime(ME.Operation) -> 1D20H
ME.Operation is 01:20. Return the time difference(44hours = 1D20H) between end time of current
processes and the LET.
2009/06/04 04:00:00 Order LET
2009/06/06
01:20
01:30
GetProductionTime( oper )
Arguments oper Operation object
Return value Return the total production time (remaining production time) of the operation which belongs to next
process after "oper" operation.
Example GetProductionTime(ME.Operation) -> 10H
Operation 01:10
Mixer1
Production time 10 hours
Remarks It is used by the left Production time of last assignment of default dispatching keys.
ME is Mixer1. Return the total setup time (1H30M) of Mixer1 from 06/05 to 06/07.
6/5 6/6
Mixer1
87
Internal function
ME is Mixer1. Return total teardown time (1H) of the resource from 06/05 to 06/07.
6/5 6/6
Mixer1
30m 30m
88
Internal function
ME is "Mixer1". Calculate the resource load of production task from 2009/06/04 00:00:00 to 2009/06/09
00:00:00.
ME is Mixer1. Returns the resource qty time of production task from 2009/06/04 00:00:00 to 2009/06/09
00:00:00.
Return value is 4H*1 + 4H*2 + 4H*1 = 57600S (16H).
89
Internal function
Property
FValid( prop )
Arguments prop Property of object.
Return value Return TRUE when the value of prop existed, or else return FALSE.
Example FValid(ME.'Order quantity') -> FALSE
ME is order. In case that ME.'Order quantity' is null, return FALSE. (In case that ME.'Order quantity' is
not null, return TRUE)
PropCount( prop )
Arguments prop Array property of object.
Return Return the element account of array property.
value
Example PropCount(ME.Comments) -> 3
Comment of order is set as 'a;b;c;d'. Not every element equals 'c', then return FALSE.
Remarks In case of Comments which have several values, all values are be validated.
Comment of order is set as 'a;b;c;d'. One element equals 'c', then return TRUE..
Remarks In case that there are several values of prop, all values are be validated.
90
Internal function
GetObjectName( obj )
Arguments obj Object
Return value Returns the name of the object given as an argument by its alias, display name, and name in the sequence
they currently exist.
Example GetObjectName(PROJECT) -> 'Sample1'
If the alias is specified, return the alias "Sample1". If the alias is null, return the display name.
DisplayStr( prop )
Arguments prop Property of object.
Return value Returns the result of evaluating the display expression of the specified property, if a display expression is
set.
Example DisplayStr(ME.'Order quantity') -> '50Unit'
ME is order. The expression of order quantity property is 'ME.Qty+'Unit'', then return '50Unit'.
GetEnumName( prop )
Arguments prop The enumeration
Return value Name of the value for the given property
Example GetEnumName(ME.Status) -> 'Released'
ME is operation. The status of the operation is an enumeration value, then return the string for the given
enumeration.
ExpressionStr( prop, 0 )
Arguments prop Property to obtain the expression from
0 Not used
Return value Expression string
Example Find(ExpressionStr(ME.VirtualPropertyExpression,0),'Format')
Filter the virtual property expression which contain 'Format' string in property definition table.
91
Internal function
Minimum/Maximum/Sum
Max( list, prop )
Arguments list Class name
prop Property
Return value Maximum value of the property on the specified object list
Example Max('Order', Target.'Order quantity') -> 50
There are three records in order table. Return the maximum of order quantity(50).
Order code Item code Order quantity
01 ProductA 50
02 ProductA 35
03 ProductB 20
ME.Child is order. The minimum production time(1080s) of operation related with the order.
Process10 2H
Process20 3H
Process30 2H
Process40 1H
There are three records in order table. Return the maximum order quantity (50) of ProductA.
Order code Item code Order quantity
01 ProductA 50
02 ProductA 35
03 ProductB 20
MaxIF(ME.Child,TARGET.Work_OperationProcNo>=30,TARGET.Work_OperationProductionTime) ->
7200
ME.Child is order. Return maximum production time (7200s) of the operations which process number is
bigger than or equal 30.
Process10 2H
Process20 2H
Process30 2H
Process40 1H
There are three records in order table. Return the minimum orde quantity (20) in the order list.
Order code Item code Order quantity
01 ProductA 50
02 ProductA 35
03 ProductB 20
ME.Child is order. Return the minimum production time (3600s) in the order list.
Process10 2H
Process20 3H
Process30 2H
Process40 1H
There are three records in order table. Return the minimum order quantity(20) in order list whose item is
ProductA .
Order code Item code Order quantity
01 ProductionA 50
02 ProductionA 35
03 ProductionB 20
MinIF(ME.Child,TARGET.Work_OperationProcNo>=30,TARGET.Work_OperationProductionTime) ->
3600
ME.Child is order. Return the minimum production time(3600) of the order's operations whose process
number is bigger than 30.
Process10 2H
Process20 3H
Process30 2H
Process40 1H
There are three records in the order table. Return the total account (105) of orders.
Order code Item code Order quantity
01 ProductA 50
02 ProductA 35
03 ProductB 20
ME.Child is order. Return the operations production time (28800s) of the order.
Process10 2H
Process20 3H
Process30 2H
Process40 1H
There are three records in order table. Return the total order quantity of the orders whose item is
ProductA.
Order code Item code Order quantity
01 ProductA 50
02 ProductA 35
03 ProductB 20
SumIF(ME.Child,TARGET.Work_OperationProcNo>=30,TARGET.Work_OperationProductionTime) ->
10800
ME.Child is order. Return the total production time(10800s) of the operations whose process number is
bigger than and equal 30.
Process10 2H
Process20 3H
Process30 2H
Process40 1H
94
Internal function
ProductIF( list, condition, prop )
Arguments list Object class name (String) or object list
condition Filter expression
prop Object property
Return value Return the multiplied value of specified property in filtered object list.
Equal( prop )
Arguments prop Target property
Return value Compared with the target property. Return TRUE in case of equal, or else return FALSE.
Example Equal(ME.Order.Customer)
Associate the orders with the same ME.Order.Customer. Order 01 and Order 02 have the same customer
CustomerA. The customer of order 03 is different, CustomerB.
Remarks This function can only be used in the pegging condition of item class.
Equal(ME.Order.Customer) has the same meaning with this expression, ME.Order.Customer ==
Other.Order.Customer.
Spec/SpecNum
GetApplicableNumSpec ( index, oper )
Arguments index Num spec #
oper Operation
Return value Num spec applicable to the operation.
Example ME is operation. In case that the NumSpec1 of this operation is 100.
GetApplicableNumSpec(1, ME) -> 100
Remarks Index is the serial number of NumSpec.
Index = 1 -> NumSpec1, index = 2 -> NumSpec2, index = 3 -> NumSpec3, index = 4 -> NumSpec4 ...
It is used in NumSpec# of Default dispatching keys.
95
Internal function
Math functions
Round( value, precision )
Arguments value Float
precision Number of decimal placeholds
Return value Returns a number rounded to the specified number of decimal places.
Example Round(10.4567,3) -> 10.457
Round(10.4567,3) -> -10.457
Round(234.56, -1) -> 230
Round(345.67, -1) -> 350
Remarks Round the value up to ceil when the value is positive number. Round the vlaue down to floor when the
value is nagetive number.
Abs( value )
Arguments value Float
Return value Absolute value function
Example Abs(-1.23) -> 1.23
Abs(1.23) -> 1.23
Sin( value )
96
Internal function
Arguments value Float
Return value Returns the sin value.
Example Sin(0) -> 0
Cos( value )
Arguments value Float
Return value Returns the cos value.
Example Cos(0) -> 1
Tan( value )
Arguments value Float
Return value Returns the tan value.
Example Tan(0) -> 0
Sqrt( value )
Arguments value Float
Return value Returns the root value.
Example Sqrt(100) -> 10
Ln( value )
Arguments value Float
Return value Returns the natural log of the argument.
Example Ln(2.71828183) -> 1
Log( value )
Arguments value Float
Return value Returns the log with base of 10.
Example Lon(100) -> 10
Exp( value )
Arguments value Float
Return value Returns the exponential function value.
Example Exp(1) -> 2.71828183
NormalizeAscend ( val )
Arguments value Float
Return value Normalizes the argument to a value between 0 and 1 (when x=0, y=0; when x=+/-infinity,y=1).
Example NormalizeAscend(0) -> 0
NormalizeAscend(2) -> 0.666667
Remarks value / ( value + 1.0 )
It is used in the additional evaluation expression of resource evaluation object.
NormalizeDescend ( value )
Arguments value Float
97
Internal function
Return value Normalizes the argument to a value between 0 and 1 (when x=0, y=1; when x=+/-infinity,y=0).
Example NormalizeDescend(0) -> 1
NormalizeDescend(2) -> 0.333333
Remarks 1/ ( value + 1.0 )
It is used in the additional evaluation expression of resource evaluation object.
Others
RGB( red, green, blue )
Arguments red 0-255. Byte that Specifies Red
green 0-255. Byte that Specifies Green
blue 0-255. Byte that Specifies Blue
Return Given RGB format Color, returns its equivalent Color Type Property.
value
Example RGB(0,255,255) -> Cyan
RGB(255-GetApplicableNumSpec(1,ME.Operation),255-GetApplicableNumSpec(1,ME.Operation),255)
-> The bigger the NumSpec1, the deeper blue the color.
Remarks It is used to change the bar color in resource Gantt chart and other charts.
98
Internal function
CurrencyFormat( value )
Arguments value Value to convert using the currency format
Return value Converts the specified value according to the currency format set in the workspace settings.
Example Set the "Number format" property in "Inventory graph" tab of display settings window as
[CurrencyFormat(ME.Value*ME.Item.Price)]. Set the "Currency format" property in "Local" tab of
"Edit Workspace" window as [Format(INPUT/1000,'##0.')+ 'T'] ('T' means thousand). Then it caculate
the inventory item value according to the item unit price and display it in inventory graph.
Remarks Set the currency format in "Locale" tab of "Workspace settings" dialog.
99
Internal function
ME.Operation is operation 02:Mixing. Return the sub resource(MixWorker1) which use instruction code
is "S0".
100
Internal function
GetNumCandidateResource( oper )
Arguments oper Operation
Return value Return the candidate real number.
Example GetNumCandidateResource(ME.Operation) -> 3
ME.Operation is 06:Packing. There are 3 resource registered as use instruction in master table, then
return 3.
GetNumCandidateResource(ME.Operation) -> 6
ME.Operation is 06:Packing. There are 3 resources for task selector 1 and 3 resources for task selector2
registered as use instruction in master table, so return total resource account(6) for all task selectors.
101
Internal function
GetNumProcessToGo( oper )
Arguments oper Operation
Return value Return the number of next operations of oper.
Example GetNumProcessToGo(ME.Operation) -> 2
Operation 1:20
Operation 1:30
Operation 1:40
Operation 1:10
Production qty 100
GetRootChildListString()
Arguments None
Return value Returns a list of all children under the root object, separated by commas.
Example GetRootChildListString() -> "ClassDef,PropertyDef,InCodeFunction,Workspace,Project"
Internal use
IsOptionalFeatureEnabled ( num )
Remarks Used by Apsorva internally. Obtains the result whether the specified option is available or not.
IsSerialNumberActivatedFeatureEnabled( num )
Remarks Used by Apsorva internally. Obtains the result whether the specified feature is available or not.
IsVersionDependentFeatureEnabled( num )
Remarks Used by Apsorva internally. Obtains the result whether the specified feature is a restricted feature or not.
102
Internal function
Abs Absolute value function
AdvanceAlongResourceWorkingTime Returns the time resulting from advancing a certain length of time along the working
time of a resource measured from a specified starting time.
CalcInventory Returns the inventory quantity of the specified item at the specified point in time.
CalcProductionTime Calculates the total amount of production time within the specified time span on the
specified resource.
CalcRemainingProductionTime Total production time of operations of processes to go (Remaining production time)
CalcRemainingTime Time span from the most advanced end time of previous process operations to due date
(Remaining time)
CalcSetupTime Calculates the total amount of setup time within the specified time span on the
specified resource.
CalcTeardownTime Calculates the total amount of teardown time within the specified time span on the
specified resource.
CheckAllContents_And Given a property, it does an And check of all values in the specified property
CheckAllContents_Or Given a property, it does an Or check of all values in the specified property
ConvertTime Converts a time span into a floating point value of the specified unit.
Cos cos(x)
CurrencyFormat Converts the specified value according to the currency format set in the workspace
settings. Assumes that the currency format expression returns a string type. If not
currency format is set, then simply converts the specified value into a string as-is.
DateF Returns a time representing the specified year, month, day, hour, minute, and second.
DateS Returns a time representing the specified year, month and day.
DateT Returns a time representing the specified year, month, day, and time of day.
DisplayStr Returns the result of evaluating the display expression of the specified property, if a
display expression is set.
EndOfNextDay One second before the start of the day (x+1) days after the specified point in time
(Example: EndOfNextDay(2004/01/01 16:00, 3) -> 2004/01/05 7:59)
EndOfNextMonth One second before the start of the month (x+1) months after the specified point in time
(Example: EndOfNextWeek(2004/01/01 16:00, 1) -> 2004/03/01 7:59)
EndOfNextWeek One second before the start of the week (x+1) weeks after the specified point in time
(Example of the start of the week 2 weeks after the Thursday, 2004/01/01 16:00 (day
demarcation time: 8:00):
EndOfNextWeek(2004/01/01 16:00, 2) -> 2004/01/19 7:59 )
Equal On specific cases, this function is used to compare properties of two different objects.
Used only for the property Pegging condition of the item class.
Exp Exponential function (xth power of e)
FindNumberL Finds the nth number from the left in the specified string.
FindNumberR Finds the nth number from the right in the specified string.
GenStrSerialNum Generates a zero-padded serial number string with a specified numerical value and
number of digits.
GetApplicableNumSpec Num spec applicable to the operation. When a num spec is applied to the order, will
apply that num spec. Otherwise, will apply the num spec specified for the item.
103
Internal function
GetApplicableSpec Spec applicable to the operation. When a spec is applied to the order, will apply that
spec. Otherwise, will apply the spec specified for the item.
GetDayPart Returns the day part from the specified base date/time by an integer from 1 to 31.
GetMinutePart Returns the minute part from the specified base time by an integer from 0 to 59.。
GetMonthPart Returns the month part from the specified base date/time by an integer from 1 to 12.
GetObjectName Returns the name of the object given as an argument by its alias, display name, and
name in the sequence they currently exist.
GetPeggedRate Returns the percentage of the previous process's output quantity that is pegged to the
following process.
GetProductionTime Returns production time from the operation.
GetResourceByUseBomCode Obtains the resource used by an operation by specifying a use instruction code.
GetRootChildListString List of all children under the root object, separated by commas.
GetSecondPart Returns the second part from the specified base time by an integer from 0 to 59.
GetWorkingDays Returns the number of working days in a certain period on the specified resource.
GetWorkingTime Returns the total working time in seconds in a certain period on the specified resource.
GetYearPart Returns the year part from the specified base date/time.
IsOptionalFeatureEnabled Internally used. Obtains the validity of the specified optional feature.
IsSerialNumberActivatedFeatureEnabled Returns whether the specified feature is enabled. For internal use.
IsVersionDependentFeatureEnabled Internally used. Obtains whether or not the specified feature is restricted by the module
version.
Left Returns a string containing a specified number of characters from the left side of a
string. Similar use to Visual Basic Left function.
LeftB Returns the left part of a string, up to the length specified in bytes. In the case where
the last byte of the string to be returned is the beginning of a multibyte character, the
third parameter says whether to include that character in the returned string (1), or to
discard it (0).
Len Returns an integer containing the number of characters in a string. Similar use to
Visual Basic Len function.
LenB Returns the length of a string in bytes. Usage is the same as for Visual Basic's LenB
function.
Ln Log function (base=e)
Max Returns the maximum value of the specified property for the objects in the list.
MaxIF Returns the maximum value of the specified property for the objects in the list
satisfying the specified condition.
104
Internal function
Mid Returns a string containing a specified number of characters from a string. Similar use
to Visual Basic Mid Function.
Min Returns the minimum value of the specified property for the objects in the list.
MinIF Returns the minimum value of the specified property for the objects in the list
satisfying the specified condition.
NormalizeAscend x / ( x + 1.0)
Product Return the multiplied value of specified property in specified object list.
ProductIF Return the multiplied value of specified property in filtered object list.
ResourceLoadIF Returns the resource load of use instructions filtered by condition expression from the
calculated start time to calculated end time.
If there is no use instruction, the return value is 1. If the resource load is 100%, the
return value is 0.
ResourceLoadByQtyTime Returns the resource qty time(work time * resource qty) from the calculated start time
to calculated end time.
RGB Given RGB format Color, returns its equivalent Color Type Property.
Right Returns a string containing a specified number of characters from the right side of a
string. Similar use to Visual Basic Right function.
RightB Returns the right part of a string, up to the length specified in bytes. In the case where
the last byte of the string to be returned is the beginning of a multibyte character, the
third parameter says whether to include that character in the returned string (1), or to
discard it (0).
Round Returns a number rounded to the specified number of decimal places.
Sin sin(x)
StartOfNextDay Start of the day x day(s) after the specified point in time (Example when the day
demarcation time is 8:00:
StartOfNextDay(2004/01/01 16:00, 3) -> 2004/01/04 8:00 )
StartOfNextMonth Start of the month x months after the specified point in time (Example:
StartOfNextMonth(2004/01/01 16:00, 1) -> 2004/02/01 8:00 )
StartOfNextWeek Start of the Monday of the week x weeks after the specified point in time (Example of
the start of the week 2 weeks after the Thursday, 2004/01/01 16:00 (day demarcation
time: 8:00):
StartOfNextDay(2004/01/01 16:00, 2) -> 2004/01/12 8:00)
StrStr Returns the position to the first occurrence of a search string in a string. The count
begins with 1.
Sum Returns the sum of the values of the specified property for the objects in the list.
105
Internal function
SumIF Returns the sum of the values of the specified property for the objects in the list
satisfying the specified condition.
Tan tan(x)
106
Index
Index
107
Index
—P— —T—
Pegging condition ............................................................ 48 Tan ................................................................................... 21
Power ............................................................................... 21 Task bar inside text color expression ............................... 37
Process selector valid condition ....................................... 47 Task bar inside text expression ........................................ 42
Production qty formula(Master input instruction) ........... 66 Task bar right text color expression ................................. 37
Production qty formula(Master output instruction) ......... 66 Task bar right text expression .......................................... 42
Production(Integrated master editor table) ................ 64, 65 Task data tip text expression ............................................ 42
PROJECT ........................................................................ 15 Task left part text expression ........................................... 42
—R— Task selector valid condition............................................ 47
Replenishment manufacturing order code expression ..... 52 Task status bar text expression ......................................... 42
Replenishment manufacturing order property assign Teardown(Integrated master editor table) .................. 64, 65
expressions ................................................................... 49 Text color expression ....................................................... 38
Replenishment purchase order code expression .............. 52 Theoretical inventory calculation time ............................ 45
Replenishment purchase order property assign expressions Theoretical inventory code expression ............................ 53
..................................................................................... 49 Truncate ........................................................................... 20
Right ................................................................................ 17 —U—
Round............................................................................... 20 Use instruction bar text color expression ......................... 35
Roundup........................................................................... 20 Use instruction bar text expression .................................. 39
—S— Use instruction status bar text expression ........................ 39
Scheduling basis time ...................................................... 45 —V—
Setup(Integrated master editor table) ......................... 64, 65 Valid condition ................................................................. 47
Sin .................................................................................... 21 Valid condition (Master input instruction) ....................... 47
Split child operation property assign expressions ............ 49 Valid condition (Master output instruction) ..................... 47
Sqrt................................................................................... 21 Valid condition (Master use instruction) .......................... 47
StartOfNextDay ............................................................... 18 Virtual property expression .............................................. 43
StartOfNextMonth ........................................................... 18 —W—
StartOfNextWeek ............................................................. 18 WORKSPACE ................................................................. 15
StrStr ................................................................................ 17
108
Asprova Expression Handbook
E-mail [email protected]
Web http://www.asprova.com/
109