CX_GENERAL_TERMS
Class hierarchy
- CX_CLASS
- CX_SIMPLE
- CX_TERMED
- CX_EXPANDABLE
- CX_CONDITION
- CX_GENERAL_TERMS
- CX_CONDITION
- CX_EXPANDABLE
- CX_TERMED
- CX_SIMPLE
Description:
Terms and conditions are accompanying data/data/information.
The most common are, for example, payment or delivery terms, but also.
Billing address, reminder recipient, packaging instructions or costs.
fall under this heading. Also manufacturing instructions, work instructions or
internal implementation rules can also be regarded as (marginal) conditions.
can be considered.
The main characteristics of such conditions or agreements are:
1. they may be defined at different levels. Agreements
can, for example, be defined at the level of a single order, generally for a single
customers or generally for all customers.
> CX_BUSINESS_OBJECT holds data field CX_GENERAL_TERMS* generalTerms> Successive search for an information necessary. CX_CONDITION tries
This makes it possible to define different or the same terms for different business objects. Business objects different or same
conditions for different business objects. Of course, it is still possible to assign
directly, i.e. without adding a CX_GENERAL_TERMS object data.
2. a general agreement can be modified for a specific case.
be changed. For example, in the case of a special order, a different delivery condition is
than would otherwise apply generally to all orders.
Nevertheless, all other terms (payment term, shipping method, etc.) are
also apply unchanged to this special order.
for all its own dynamic data fields (slots) to find the information it is looking for.
for all its own dynamic data fields (slots) - also by passing it on to these objects -, CX_GENERAL_TERMS searches through
also the list conditions.
CX_CONDITION/CX_GENERAL_TERMS overload GetDataField, PlugSlot for this, whereas.
CX_BUSINESS_OBJECT does this only because of the function Condition().
With CX_CONDITION/CX_GENERAL_TERMS one can use any function/data field
if nothing is found, invalid returns. (From IV
Distinction between 0 and invalid necessary !)
A data field/access expression/object can be called in three different ways as an
processable information in three different ways:
1. the name directly defines the information
(e.g. itemPrice)
2. information in the object defines the information
(e.g. classID == IDX_PAYMENT_CONDITION && enum = 3).
3. a wrapper holds the information by means of a data field
(e.g. addressTypeEnum = 2 -> deliveryAddress; bit patterns also possible).
Fetch the information (function CX_BUSINESS_OBJECT::Condition() ?).
to 1. GetData however should be searched further in the PlugSpace !!!
to 2. query via formula and via search in PlugSpace
to 3. can be treated like 2.
Examples:
A delivery address is specified by sending it either directly to
a POINTER slot "deliveryAddress", or via a DESCRIPTIVE
or OVERWRITING reference with (addressTypeEnum & DELIVERY_ADDRESS).
is.
A payment instruction is specified by using a POINTER
slot "payment", or via a DESCRIPTIVE or OVERWRITING
reference in which the slot "paymentTypeEnum" occurs, or
the referenced object is of type CX_PAYMENT_CONDITION.
CX_CLASS* CX_BUSINESS_OBJECT::Condition(CX_FORMULA* _formula)
CX_CLASS* CX_BUSINESS_OBJECT::Condition(short _classID).
CX_CLASS* CX_BUSINESS_OBJECT::Condition(char* _name)
ConditionByFormula(ByQuery)
ConditionByType
ConditionByName
Examples of classes derived from CX_CONDITION as pseudo-classes:
Payment condition CX_PAYMENT_CONDITION
Pricing CX_PRICING_CONDITION
Packing CX_PACKING_CONDITION
Shipping method CX_SHIPPING_CONDITION
Warranty CX_WARRANTY_CONDITION
Delivery time CX_DELIVERY_CONDITION
Binding period CX_BINDING_CONDITION
Code example:
Function | MA* | Parameters | Return | Brief description |
---|---|---|---|---|
SanityCheck | INTEGER | Check for consistency of the object | ||
ClassFilter | STRING, INTEGER | OBJECT | This object, if it corresponds to a particular class | |
Deleted | INTEGER | Object marked as deleted? | ||
Description | STRING | Name of this object | ||
GetDomain | INTEGER | Domain of this object | ||
GetSiblings | COLLECTION | All siblings of this object | ||
GetSiblings2 | COLLECTION | All siblings of this object | ||
GetSlotEntries | VECTOR<OBJECT> | Return of internal information on slots | ||
LastUpdate | OBJECT | Date of the last write access | ||
LastUser | INTEGER | User who last had write access to the object | ||
Link | OBJECT | Add this object to the list of objects with validity | ||
NextValidObject | OBJECT | Temporally subsequent validity object | ||
PreviousValidObject | OBJECT | Temporally preceding validity object | ||
RestrictedValidity | * | Validity range restricted? | ||
SetDomain | INTEGER, INTEGER | Set domain | ||
ShortName | STRING | Short name of this object | ||
Siblings | * | Objects with validity | ||
SpanDateValidity | * | Validity range | ||
string | INTEGER | CX_STRING | Returns the string representation of the object | |
UniqueID | STRING | Content of the fixed data field "uniqueID". | ||
Unlink | Remove this object from the list of objects with validity | |||
Unlink2 | Remove this object from the list of objects with validity | |||
Valid | OBJECT | INTEGER | Check validity | |
ValidSince | OBJECT | Start of the validity range | ||
ValidToday | INTEGER | Valid today? | ||
ValidUntil | OBJECT | End of the validity range | ||
VerifySiblings | INTEGER | Check ring of exchange objects |
* MA = member access function,
greyed out = inherited function
Data field | Type | Reference class | I* | Brief description |
---|---|---|---|---|
businessObjects | REL_MN | CX_BUSINESS_OBJECT | ? | |
conditions | COLLECTION | CX_CLASS | ? | |
uniqueID | STRING | * | Unique key | |
validity | POINTER | CX_VALIDITY | Validity period of the object |
* I = Indexable data field,
greyed out = inherited data field.
Module | Brief description |
---|---|
objterms.mod | Conditions basic module |
objtecus.mod | Customer conditions Editing module |
objtesup.mod | Supplier conditions editing module |