1.Functional Description
1.1Purpose
This business function evaluates the Derived Calculation or Smart Part Calculation passed in as input
and returns the interpreted value as either a numeric value or an alphanumeric string. The input
text string (i.e. either Derived Calculation or Smart Part):
should be used when interpreting the rule.
2. may interpret to a character string value or to a numeric value.
Here are some examples of valid Derived Calculations or Smart Part input text strings:
2. SUBSTR(EXTVAR,4,10)'ITM'S20CONTCAT(S20,&IMAITM)
3. 89*ORDQTY+&BPUPRC/EXTVAR*(10*S30=COMPUTER=/2)
4. SIN(S20=COMPUTER=)/&T2AMTU(WD)
1.2Setup Notes and Prerequisites
None
1.3Special Logic
None
2.Technical Specifications
2.4Processing
A.Delimiters:
The following values should be setup as symbolic constants (#DEFINE) in the header file so they can
be easily changed later:
2)Externally Defined Identifier - &
3)Multi-level reference segment identifier - =
4)Substring identifer - SUBSTR
5)Concatenation identifier - CONCAT
6)External Variable identifier - EXTVAR
7)Quote identifier - '
8)Order Quantity identifier - ORDQTY
and their starting positions. These literal values will be returned to the text string later; they
are extracted here to avoid interference with any scans on the text string for specific
identifiers. The Quote Identifiers can be left in the string as a "placeholder" for inserting the literal
values back in the string later in this processing.
above, and ends with a +, -, *, /, ), (, blank, Quote identifier, or comma.
2)For each field found, retrieve the value by calling F3293 Evaluate External Data Items
(B3200510) and replace the identifier and field name with the returned value, e.g. &IMITM will be replaced
with an item number from F4101.
b)Extract the segment number. Retrieve all digits 0-9 after the "S" and before the next
non-numeric character, e.g. S20 or S1 or S78.
segment identifier (A.3. above), e.g. =COMPUTER=.
b)Extract the item number from between the multi-level reference identifiers. Retrieve the
short item number for the extracted item by calling Get Item Master Row (X4101).
c)If the Call Type = '1', read the Segment Values cache using Cache, Process Segment Values
(B3200350) to retrieve the segment value.
ii.ITM = If there was a multi-level reference, use the short item number retrieved in the
previous step (D.2.b); otherwise, use the Parent item (KIT) value passed in as input.
iii.MCU = MCU (Branch/Plant of parent item) input parameter
iv.PEL = Segment number extracted from the derived calculation (See step #1 above)
ii.If a record is found, use the CSID field to read F32942 with the following key values:
'b7KIT = KIT field from F3294
'b7ITM = KIT from input parameters
'b7PEL = Segment number extracted from the derived calculation
calculation with the retrieved value.
Quantity Identifier" (A.8 above).
2)Replace the Order Quantity identifier ("ORDQTY") with the Quantity (QTY) value passed in as
input.
2)Extract the string to be parsed (e.g. "Pabcd" in above example); string will begin with a "("
and be terminated with a comma.
3)Extract the beginning position of the string (e.g. "0" in above example; begins with the comma
ending the string and ends with another comma.
4)Extract the length of the string (e.g. "1" in above example); begins with the comma and ends
with ")".
5)Perform the substring operation.
6)Insert the result into the derived calculation replacing the Substring identifier, and all
parameters and parentheses associated with the substring command.
2)Extract the first string (e.g. "Hello" in above example); string will begin with a "(" and be
terminated with a comma.
3)Extract the second string (e.g. "World" in above example); begins immediately after the comma
and ends with ")"
4)Perform concatenation operation with zero blanks assumed between the two strings.
5)Insert the result into the derived calculation replacing the Concatenation identifier, and all
parameters
H.Interpret External Variable (from external program call):
Note: The external program must be able to access the following cache by calling the appropriate
business function:
Configured ComponentsB3200360
All ComponentsB3200370
Text StringB3200380
RoutingsB3200390
Price CostB3200400
2) Setup the data structure for the external program. All external programs should use the same
standard data structure (see "Data Structure for External Program" specifications at beginning of
this document):
b)MCU = Component Branch/Plant (CMCU) if Component Item (ITM) is not zeros; else, use
Parent Branch/Plant (MCU).
c)EXVR = 30 character output field from the external program
d)Sales order parameters (see data structure for external program layout).
4)If the external function name is retrieved, use jdeCallObject to retrieve External Program
Value.
5)Remove blanks from the EXVR value returned.
6)Insert the result into the derived calculation replacing the External Variable identifier (A.6
- EXTVAR).
COSCosine
TANTangent
ARCArctangent
LOGLog to base 10
LNNatural log
**Exponents, e.g. 2**5 is 2 to the 5th power
SQRSquare Root
SGNChange sign of number
ABSAbsolute value of number
(e.g. "100.23" in above example); argument will begin with a "(" and be terminated with a ")".
3)Perform the operation associated with the trigonometric or logarithmic function.
Insert the result into the derived calculation replacing the function identifier (e.g. "COS"), the
argument, (e.g. 100/3.4*(6.78**3)) and the parentheses surrounding the argument.
"0", remove any algebraic operators from the interpreted string (e.g. +, *, etc). Note: If these
operators have been defined as literals, they should be returned to the string in the next step just
like any other literal character.
2)Return any previously extracted literal values back into their correct positions in the text
string.
3)The Quote Identifiers (e.g. ') being used as placeholders should be replaced by the inserted
literals.
b)If there are no errors, return the numeric value passed back from this function to the
calling program in the numeric return field and set the Numeric Value Indicator to "1".
calling program in the string return field and set the Numeric Value Indicator to "0".
Thi function will be used to evaluate the Derived Calculation or Smart Part Calculation passed in as
input and returns the interpreted value as either a numeric value or a string value.
^
D3200500 - F3293 Evaluate Derived Calculation
Parameter Name | Data Item | Data Type | Req/Opt | I/O/Both |
---|---|---|---|---|
cCallType | EV01 | char | OPT | NONE |
An option that specifies the type of processing for an event. | ||||
szDerivedCalculation | DERC | char | OPT | NONE |
An algebraic formula that specifies the quantity, price, hours, or a value associated with a rule.
The following examples illustrate the syntax
| ||||
cConvertToNumeric | EV01 | char | OPT | NONE |
An option that specifies the type of processing for an event. | ||||
szParentBranchPlant | MCU | char | OPT | NONE |
An alphanumeric code that identifies a separate entity within a business for which you want to track costs. For example, a business unit
| ||||
mnConfiguredParentItem | KIT | MATH_NUMERIC | OPT | NONE |
The system provides for three separate item numbers.
1. Item Number (short) - An eight-digit, computer assigned, completely
| ||||
mnSegmentNumber | PEL | MATH_NUMERIC | OPT | NONE |
A number that establishes the sequence in which the segments were defined in the system. Segment numbers are user
| ||||
szComponentBranch | CMCU | char | OPT | NONE |
A secondary or lower-level business unit. The system uses the value that you enter to indicate that a branch or plant contains several
| ||||
mnComponentItem | ITM | MATH_NUMERIC | OPT | NONE |
An inventory item number. The system provides three separate item numbers plus an extensive cross-reference capability to other item
| ||||
szExternalProgramID | EPGM | char | OPT | NONE |
The name of the external program written by your MIS department, that will be providing values for external variables. | ||||
mnNumericReturnValue | MATH01 | MATH_NUMERIC | OPT | NONE |
- - - Good Performance Low Value. | ||||
szStringReturnValue | DS80 | char | OPT | NONE |
A free-form text field for comments or memoranda. | ||||
cNumericValueIndicator | EV01 | char | OPT | NONE |
An option that specifies the type of processing for an event. | ||||
szOrderBranchPlant | MCU | char | OPT | NONE |
An alphanumeric code that identifies a separate entity within a business for which you want to track costs. For example, a business unit
| ||||
mnOrderTransactionQty | QTY | MATH_NUMERIC | OPT | NONE |
The number of units associated with an asset. | ||||
mnOrderNumber | DOCO | MATH_NUMERIC | OPT | NONE |
A number that identifies an original document. This document can be a voucher, a sales order, an invoice, unapplied cash, a journal entry,
| ||||
szOrderType | DCTO | char | OPT | NONE |
A user defined code (00/DT) that identifies the type of document. This code also indicates the origin of the transaction. J.D. Edwards has
| ||||
szOrderCompany | KCOO | char | OPT | NONE |
A number that, along with order number and order type, uniquely identifies an order document (such as a purchase order, a contract, a
| ||||
mnJobNumber | JOBS | MATH_NUMERIC | OPT | NONE |
The job number (work station ID) which executed the particular job. | ||||
mnUnitPriceResult | UPRC | MATH_NUMERIC | OPT | NONE |
The list or base price to be charged for one unit of this item. In sales order entry, all prices must be set up in the Item Base Price File table
| ||||
cSuppressErrorMessage | EV01 | char | OPT | NONE |
An option that specifies the type of processing for an event. | ||||
szErrorMessageID | DTAI | char | OPT | NONE |
A code that identifies and defines a unit of information. It is an alphanumeric code up to 8 characters long that does not allow blanks or
| ||||
mnConfigurationIDNumber | CFGID | MATH_NUMERIC | OPT | NONE |
An identifier that represents a unique configuration. It is generated by a next number value and is the key to the configuration tables. | ||||
mnComponentIDNumber | CFGCID | MATH_NUMERIC | OPT | NONE |
A number that represents a component in a configuration. This number, which is generated by next numbers, always restarts at 1 and
| ||||
cCurrencyConversion | CRYR | char | OPT | NONE |
A code that specifies whether to use multi-currency accounting, and the method of multi-currency accounting to use:
Codes are:
N Do not
| ||||
cOrderMode | MODE | char | OPT | NONE |
The processing mode used in Purchase Order Consolidator to signify when specific orders are being processed. | ||||
szOrderLineType | LNTY | char | OPT | NONE |
A code that controls how the system processes lines on a transaction. It controls the systems with which the transaction interfaces, such as
| ||||
szOrderTransactionUOM | UOM | char | OPT | NONE |
A user defined code (00/UM) that indicates the quantity in which to express an inventory item, for example, CS (case) or BX (box). | ||||
szCurrencyCodeDomestic | CRCD | char | OPT | NONE |
A code that identifies the currency of a transaction. | ||||
szSaleOrderVersion | VERS | char | OPT | NONE |
A user-defined set of specifications that control how applications and reports run. You use versions to group and save a set of user-defined
| ||||
mnOrderAddressBookNo | AN8 | MATH_NUMERIC | OPT | NONE |
A number that identifies an entry in the Address Book system, such as employee, applicant, participant, customer, supplier, tenant, or
| ||||
jdOrderRequestDate | DRQJ | JDEDATE | OPT | NONE |
The date that an item is scheduled to arrive or that an action is scheduled for completion. | ||||
jdOrderShipDate | PDDJ | JDEDATE | OPT | NONE |
The promised shipment date for either a sales order or purchase order. The Supply and Demand Programs use this date to calculate
| ||||
cFixedOrVariableQuantity | FOVQ | char | OPT | NONE |
Reserved by J.D. Edwards
A code that specifies whether the quantity of a configured item varies according to the quantity of the parent item
|
B3200350 Cache Process Segement Values | ||||
B3200370 Cache Process All Components | ||||
B3200390 Cache Process Routings | ||||
B3200400 Cache Process Price Cost | ||||
B3200510 F3293 Evaluate External Data Items | ||||
X4101 Validate and Retrieve Item Master |
F32942 Needed for upgrade from Xe and below | ||||
F32943 Needed for upgrade from Xe and below | ||||
F9862 Object Librarian - Function Detail |