
The component for business transactions is BT, you can see it in GENIL_MODEL_EDITOR :
The object table contains all the Bol objects of the component :
First column is the Bol name of the object, the second one is the name of business transaction subobject (as defined in table CRMC_OBJECTS).
Third column is the type of Object :
A Root Object
B Access Object
C Dependent Object
D Search Object
E Search Result Object
F View Object
G Dynamic Search Object
X Abstract Modeling Object
Then there are two structures name, one for attributes of the object and one for the key (most of the time only a GUID).
A read only flag defined if the object can be modify or not.
The handler class define the runtime class for the object, but most of the time the field is empty and the name of the class is derived from the object name (we will see how later).
The flag WS_ENABLED defines if you can use this object to create web services with the wizard.
And the last columns are used to manage switch IDs.
The model table contains all the relationships between these objetcs :
So we have the name of the first object, relationship name and name of the linked object.
Two fields for cardinality define how many relationships you can have between objects, if the relationship is mandatory (1 - 1) or unique (0 - 1).
Type of relation :
A Association : Binds child objects to a root object. Only access and dependent objects can
be aggregated.
B Composite : Like an aggregation, but composed child objects must always exist.
C Aggregation : Link between any kind of objects. Can also be defined across components with
root or access object as target.
The component name is the component from which the linked object it taken (mostly BT except for some associations).
Flag STOREL indicates wether the relation is a static one,
The runtime class for the component is CL_CRM_INTLAY_BTIL, it is called for instance to read orders, maintain orders, execute query.
Then there is a runclass defined for each object, as we saw it can be defined in the object table or not, let's see how the system find the right class for each objecct :
Class CL_CRM_OBJ_FACTORY_BTIL is used to determine the runtime instance for an Object :
This is what is called in order to read an order from the GENIL :
This is what is called in order to modify an order into the GENIL :
When using a dynamic search object :
In order to execute a method of the bol object :
It's easy to extend the genil for business transaction using the customizing :
In this activity, you can exend the object model for business transactions with additional nodes. All nodes used in business transactions must be available in this table.
You can also change existing nodes if you want for instance to change the attributes structure in order to add your own attributes (useful for dynamic querie).
When using AET entries are added automatically.
In this activity, you can exend the object model for business transactions with additional relations. All relations used in business transactions must be available in this table.
You can also add object relations that are derived from Customizing entries. For example, you have created your own partner function <xxxxxx> and would like to read all partners with this partner function. To do this, you create a relation BTPartner_<xxxxxx>, it's the same for Date type as well.
When using AET entries are added automatically.
In this activity, you specify the handler classes you want to use for nodes you have added to the business transaction model, or the customer handler classes you want to use for existing nodes in order to replace standard behaviour.
To do this, you specify the name of the relevant BOL object (node) and the name of the handler class. Handler classes you create should inherit the methods from the SAP handler class so that you only need to program the delta required. The settings you make override the handler classes used as standard and therefore affect the standard behavior of the objects.
Your class name should end with '_RUN_BTIL', but you must not put that in the Handler class name defines in the customer objects table, for instance if your class name is ZCL_CRM_ADMINH_RUN_BTIL, just put ZCL_CRM_ADMINH in the table.
You must be a registered user to add a comment. If you've already registered, sign in. Otherwise, register and sign in.
User | Count |
---|---|
12 | |
9 | |
7 | |
6 | |
6 | |
6 | |
4 | |
4 | |
4 | |
4 |