Beruflich Dokumente
Kultur Dokumente
Overview
A business object is a logical view of a maintenance object. This section describes how
to define a business object's elements.
Objectives
By the end of this chapter, you will be able to:
Understand how business objects allow both the base-package and
implementation teams create logical views of maintenance objects (and why this is
important)
Chapter 4
10-Oct-16
10-Oct-16
Chapter 4
10-Oct-16
Context Sensitive Dashboard Zone Listing The MO's Tables and Fields
You could navigate to the Maintenance Object page by clicking the hyperlink
under the MO's description. Once on this page, you'd then need to navigate to the
table page to see its columns.
Use which method you prefer and then prepare a list of every field on the MO's tables
that does NOT have a corresponding element in the business object's schema.
10-Oct-16
Chapter 4
10-Oct-16
Notice how many of the elements are mapped to the XML_SOURCE column. If you
were to open the application viewer and look at this column, you'd see that it is a CLOB.
This means that the vast majority of the elements in this business object do not reside in
classic columns. Rather they are held in an XML document that is retained in the CLOB
field on the MO's primary table.
10-Oct-16
Select the first row to display the respective outbound message and then navigate to the
Message tab:
Chapter 4
Notice the contents of the XML Source (this is the contents of the CLOB). You'll see the
various elements in the business object along with the element values (as you are now
looking at an instance of this business object).
Prepare a brief explanation describing anything new that you learned about BO schema
definitions and the related instance data.
10-Oct-16
10-Oct-16
Review Questions
1. A field is to a table as an element is to a business object. True/False
2. Underline the various types of BO elements (i.e., underline the valid values of the
type= attribute):
field
list
raw
date
datetime
fkref
group
7. Underline what you need to know to map a BO element to a field on a "child table".
The name of the field on the child table in which the element resides.
The name and values of the fields that uniquely identify the row on the child
table.
8. It's easy to default values into required base-package fields that your implementation
doesn't care about (and hide these fields from end-users). True/False
One of the many purposes of the default= attribute.
9. All elements that reside on the same row on a child table will have the same
mapping rules. True/False
The mapping rules need only be declared on one of the elements, the other
elements can use a rowRef= attribute to reference this element (and inherit its
Chapter 4
10-Oct-16
mapping rules). This reduces errors and simplifies maintenance should you ever
decide to change the mapping rules.
10. The contents of a BO schema on the Business Object - Schema tab will look
identical to the information displayed when you click View Schema on Business
Object - Main. True/False
If the BO includes stand-alone data areas, the View Schema information will show
the included information (and note, data areas can include other data areas ad
infinitum).
11. You should always create an element on your BO's that's mapped to the Version
field. True/False
Trick question - if the BO is used purely to read information, it doesn't need a version
element as there are no concurrency issues. However, if the BO is used to change
or delete a BO, it'd be VERY WISE to include a version element otherwise a user
could overwrite another user's changes without knowing it.
12. A "version" element should have an attribute of private="true". True/False
Remember that private="true" hides an element from the caller and, for concurrency
purposes, the caller must retain the version number of the object when it is read.
13. An elements label always comes from its mdField= attribute. True/False
If an element is defined with an explicit label=attribute its label is the attribute value.
If no explicit label is used and the element is defined with an mdField= attribute the
label is taken from this field. Otherwise, if the element is mapped to a field using
mapField= the label is taken from the mapped field.
14. You must set up a meta-data field before you can map an element to a CLOB.
True/False
However - most elements will appear somewhere on the user interface (that's
typically why you put an element on a BO). For product development, there's a
strong rule that says "If an element can appear on the UI, it must be mapped to a
field in the meta-data using the mdField= attribute".
15. The data stored in a CLOB is a true XML document. True/False
And, we hope that when relational databases are able to index elements in an XML
document, you'll be able to create an index on such an element.
16. Using a BO to access information is always slower than using an MO. True/False
Not necessarily as BO reads are very efficient and only retrieve the data that's
needed.
17. Only a limited number of MO's support CLOBs. True/False
All new MO's in all future releases support CLOB's. However, older MO's have not
necessarily been retrofitted with CLOB columns.
18. Some MO's cannot be updated via a BO. True/False
These are typically transaction-oriented MO's. You'll learn a technique in the
Business Service chapter that you can use to update these more finicky MO's.