Вы находитесь на странице: 1из 35

1

Daniel Chang
PC 10.0 Process
Control Continuous
Monitoring Framework

Continuous Monitoring Framework


BRF+
Take-Over Document
Date: Nov 22, 2011
Location: Palo Alto

Continuous Monitoring Framework BRF+

Content:
1 Specification of functionality ........................................................................................ 3
1.1 Business Logic............................................................................................... Error! Bookmark not defined.
1.2 Examples ........................................................................................................ Error! Bookmark not defined.

2 Design of functionality ....................................................... Error! Bookmark not defined.


2.1 Flow logic........................................................................................................ Error! Bookmark not defined.
2.2 Technical information .................................................................................... Error! Bookmark not defined.
2.2.1 List of transaction codes .......................................................................... Error! Bookmark not defined.
2.2.2 List of WebDynpro applications/components/views ................................ Error! Bookmark not defined.
2.2.3 List of ABAP programs: class, interface, reports, includes ..................... Error! Bookmark not defined.
2.2.4 List of function groups and modules ....................................................... Error! Bookmark not defined.
2.2.5 Important methods .................................................................................. Error! Bookmark not defined.
2.2.6 List of database tables ............................................................................ Error! Bookmark not defined.
2.2.7 List of notes and customer-specific corrections ...................................... Error! Bookmark not defined.
2.2.8 List of help-programs............................................................................... Error! Bookmark not defined.
2.3 Important hints ............................................................................................... Error! Bookmark not defined.

3 Other sources of information and links............................ Error! Bookmark not defined.

Take-Over Document

Page 2

Continuous Monitoring Framework BRF+

2 Specification of functionality
2.1 Business Logic
Describe the function from the business perspective in your own wording. The focus is mainly on the end
user perspective.

GRC 10 uses BRF+, the standard Netweaver rule engine, to let users define additional filters and
calculations. You can configure very powerful processing using this rule engine, and our goal was to make it
easy to configure relatively simple rules (calculate an average of two fields, say, or compare two dates), and
yet provide a path to configure more complex rules if that is your need.

BRFplus information center:


http://www.sdn.sap.com/irj/sdn/index?rid=/webcontent/uuid/90754865-f283-2b10-6d9f-b10f3c28c3a0

BRFplus is used in Configurable Business rule, BI Query, SAP Query and Event.

BRFplus functions in PC10.0 Business Rules:

Additional Filter
Field Value Calculation
Pattern
Currency Conversion
Grouping/Aggregation
Send Notification
Trigger AM Job

Take-Over Document

Page 3

Continuous Monitoring Framework BRF+

2.2 Examples
Specify system access and global parameters, which you usually use for testing the program. This should
also contain the example data, customizing data and also the data, which is posted to the system.
Description

2.2.1 Additional Filter

Additional Filter is opitional


Additional Filter is used to get qualified data based on user entry in BRFplus formula
st

Additional Filter will be always placed in the 1 BRFplus function.

Take-Over Document

Page 4

Continuous Monitoring Framework BRF+

Select BRFplus object name (Field Name) to be compared with another BRFplus object names or use
existing formula button to create additional formula to check against BRFplus object names. You can create
complex Additional Filter logics using existing BRFplus object names and formula buttons as long as long as
there is no error found when click button Check Syntax.
Click button Check Syntax to make sure no errors found in formula entry.
During Business Rule execution time, if the data does not match the additional filter condition, then this
record will be ignored.

2.2.2 Field Value Calculation

Take-Over Document

Page 5

Continuous Monitoring Framework BRF+

Field Value Calculation is used to assign value to specific Calculated Field. The value can come from
single BRFplus object name or multi BRFplus object name with operation (i.e +, -, ..) or use formula button
to create more complex value.
For a calculated field deficiency (above), this tab lets you define the calculation necessary to compute its
value.
The Calculations tab (or corresponding wizard step when creating the rule) allows three types of
calculations: A Field Value calculation, a currency conversion, or grouping and aggregation (see screenshot
below).

Take-Over Document

Page 6

Continuous Monitoring Framework BRF+

2.2.3 Pattern

Take-Over Document

Page 7

Continuous Monitoring Framework BRF+

Select View to analysis

Select fields to analysis

Take-Over Document

Page 8

Continuous Monitoring Framework BRF+

Enter decision table contents to analyzie deficiency

Take-Over Document

Page 9

Continuous Monitoring Framework BRF+

Take-Over Document

Page 10

Continuous Monitoring Framework BRF+

3 Design of functionality
3.1 Flow logic
Describe the main logical flow in the program to help with analysis of the code, especially parts which have
been error prone in the past.

3.2 Technical information


BRFplus information center:
http://www.sdn.sap.com/irj/sdn/index?rid=/webcontent/uuid/90754865-f283-2b10-6d9f-b10f3c28c3a0
BRFplus is used in Configurable Business rule, BI Query, SAP Query and Event.
BRFplus application name for Business Rule: GRFN_AM_RUNTIME
BRFplus functions and related components (Data Element, Expression, Function..) will be automatically
generated from Web Dynpro GRFN_AM_UIBB_BRFP_INT methods using AMF and BRFplus standard APIs
and is ready to be used.
User could configure more complex Additional Filter and Field Value Calculation in BRF+ formula only. But, it
is not recommended and should avoid to modify value in BRF+ directly if it is possible. Modify the rest of
BRF+ components (i.e Input, Output structure, Rule, Loop, Expression.....) are not allowed and will cause the
Busines Rule out of sync between BR BRF+ components and BRF+ workbench components and cannot be
executed.

Take-Over Document

Page 11

Continuous Monitoring Framework BRF+

BRFplus ABAP Types

The elementary internal BRFplus ABAP types can be found via the interface IF_FDT_TYPES:

ELEMENT_BOOLEAN
ELEMENT_CURRENCY (component of ELEMENT_AMOUNT)
ELEMENT_NUMBER
ELEMENT_TEXT
ELEMENT_UNIT (component of ELEMENT_QUANTITY)
ELEMENT_AMOUNT
ELEMENT_QUANTITY
ELEMENT_TIMEPOINT

Take-Over Document

Page 12

Continuous Monitoring Framework BRF+

Take-Over Document

Page 13

Continuous Monitoring Framework BRF+

Syntax Description Type

Declaration Syntax

Example Values

TEXT

Data lv_text_elt TYPE


if_fdt_types=>element_text

lv_text_elt = Sample Text

NUMBER

Data lv_num_elt TYPE


if_fdt_types=>element_number

BOOLEAN

Data lv_bool_elt TYPE


lv_bool_elt = X (ABAP_TRUE)
if_fdt_types=>element_boolean

AMOUNT

Data ls_amount_elt TYPE


if_fdt_types=>element_amount

lv_num_elt = 1234

ls_amount_eltnumber = 1000
ls_amount_eltcurrency = USD
=> 1000 USD

Data ls_quantity_elt TYPE


if_fdt_types=>element_quantit
y

QUANTITY

Data ls_timept_elt TYPE


if_fdt_types=>element_timepoi
nt

TIMEPOINT

ls_quantity_eltnumber = 100
ls_amount_eltunit = cgm
=> 100 centigram
ls_ timept_eltdate =
20081224
=> 24th of Dec 2008.

The following table


describes which element
type is created according to
the supplied DDIC type:
DDIC Type

Element Type

Max Length

Max Number
of Decimals

Only Positive
Values

Timepoint
Type

Char

Text

1-255

n/a

n/a

n/a

String

Text

255

n/a

n/a

n/a

Numc

Text

1-255

n/a

n/a

n/a

Int1

Number

1-3

Yes

n/a

Int, int4

Number

10

No

n/a

Int2

Number

No

n/a

Packed

Number

1-31

10

No

n/a

Float

Number

16

10

No

n/a

Decfloat16

Number

16

10

No

n/a

Decfloat34

Number

31

10

No

n/a

Date

Timepoint

n/a

n/a

n/a

Date

Time

Timepoint

n/a

n/a

n/a

Time

Timestamp (!)

Timepoint

n/a

n/a

n/a

UTC
Timestamp

Take-Over Document

Page 14

Continuous Monitoring Framework BRF+

BRFPlus Object Types used in Business Rule Automatically generated

Take-Over Document

Page 15

Continuous Monitoring Framework BRF+

3.2.1 List of transaction codes


Write down the transaction codes, which are used to run or customize the functionality.
Transaction Code

Description

BRF+

BRFplus workbench

GRFN_AMF_FDT_EXPORT

Export BRFplus XML for Business Rule

GRFN_AMF_FDT_IMPORT

Import BRFplus XML for Business Rule

3.2.2 List of WebDynpro applications/components/views


Specify the list of WebDynpro applications/components/views. Do not forget to add short description of them,
containing the most difficult or problematic parts, etc.
WebDynpro

Description

GRFN_AM_UIBB_BRFP_INT

BRFplus Integration

V_ADDITIONAL_FILTER

Additional Filter and Field Calculation

V_BRFP_FUNC

Create Condition, Calculation, and Pattern BRFPlus functions

V_DEF_HANDLERS

Select View to retrieve data

V_INPUT_BRFP_DATA

Input BRFplus formula data

V_PATTERN

Pattern Bisiness Rule

3.2.3 List of ABAP programs: class, interface, reports, includes


Specify the list of ABAP reports and includes. Do not forget to add short description of them, containing the
most difficult or problematic parts, etc.
Program

Description

GRFN_AM_FDT_XML_EXPORT

Export BRFplus XML for Business Rule

GRFN_AM_FDT_XML_IMPORT

Import BRFplus XML for Business Rule

3.2.4 List of function groups and modules


Specify the list of function groups and modules. Please give the details desription for each function modules.

3.2.5 Important methods


Specify details description for each important medthod. And please list the name of the important methods
which are used in the area too.

Class: CL_GRFN_AM_BRFP

ADD_EXCEPT_ATTRS_ELEMENT

Take-Over Document

Add exception list special attribute to context and result

Page 16

Continuous Monitoring Framework BRF+

CHECK_ACTION_NAME
CHECK_DT_ACTION_ENTERED
CHECK_RULE_DEEP
CHECK_SPECIAL_TOKEN
CHECK_SYSTEM_NAME_SPACE
CONSTRUCTOR
CONVERT_ABAPTYPE_TO_DDTYPE
CONVERT_INT_TO_EXT
CONVERT_INT_TO_EXT_QUANTITY
CREATE_ACT_CALL_PROCEDURE
CREATE_APPLICATION
CREATE_CALC_DEF_RULE_EXP
CREATE_CALL_PROCEDURE
CREATE_CONSTANT
CREATE_DATA_OBJECTS
CREATE_DATA_OBJECTS_AGAIN
CREATE_DDIC_STRUCTURE
CREATE_DT_EXPRESSION
CREATE_ELEMENT
CREATE_FORMULA
CREATE_LOOP_EXPRESSION
CREATE_RULE_EXPRESSION
CREATE_TRIGGER_ACT_RULE_EXPR
DELETE_RULE
DEQUEUE_DT_ID
DEQUEUE_EXPRESSION_ID
DEQUEUE_FUNCTION_ID
EXECUTE_RULE
GET_APPLICATION
GET_APPLICATION_DATA
GET_APPL_FUNCTION_ID
GET_BR_FIELDS_DT_COLUMNS

Check action name follow the standard


Check DT Action entered
Deep Check Active BRF function, so can be transported
check Formula Tokens
Check system name space
CONSTRUCTOR
Convert ABAPTYPE to DDTYPE
Convert internal to external representation
Convert quantity to external (text) format
Create call procedure
Create Application - Test only !!!
Create calculation deficiency Rule expression
Create call procedure
Creat constant timepoint
Create data objects - used to create 1st BR function
Create data objects - except for the 1st BR function
Create contxet parameter using DDIC definition
Create decision table expression
Create element
Creat formula with empty formula
Create Loop expression
Create Rule expression
Create EVENT Rule expression
Delete BRF function
Deque Decision Table ID
Deque Expression ID
Deque BRFplus Function ID
Execute Function
Get Application detail - transport...
Get Application data
Get ID for specific function and application combination
Get BR fields Decision Tables columns
Get number of decimals for currency (TCURX), default 2 GET_CURRENCY_DECIMALS
new
GET_DATA_OBJECT_TYPE
Get Object and Data Object Type
GET_DECISION_TABLE_COLUMNS
Get Decision Tables columns
GET_DECISION_TABLE_DATA
Get Decision Table Data - Action ID in Decision table
GET_DECISION_TABLE_ID
Get Decision Table Object ID
GET_FIELDS_LIST
Get input context elements
GET_FORMULA_ID
Get formula Id
GET_ID
Get Object ID
GET_INPUT_DATAOBJ_LAYOUT
Get function input/output layout
GET_INSTANCE
Get Instance
GET_NAME
Get Name and related data object information
MODIFY_DECISION_TABLE_COLUMNS Modify Decision Tables columns
RAISE_ERROR
Set error message

Take-Over Document

Page 17

Continuous Monitoring Framework BRF+

RAISE_EXCEPTION
READ_SYSTEM_PARAMS
RETRIEVE_RULE
RETRIEVE_RULE_NORMAL_MODE
SAVE_ACTION
SAVE_DELETE_RULE
SAVE_DT_CONTENT
SAVE_RULE
SET_AM_NAME
SET_DECISION_TABLE_DATA
SET_ELEMENT_DATATYPE
SET_NEXT_FUNCTION_NAME
SET_EVENT_DECISION_RESULT
SET_PATTERN_DECISION_RESULT
SET_TEXT
SUBSTITUTE_STRINGS
SUBSTITUTE_STRINGS_FDTNAME
UPDATE_RULE
VALIDATE_RULE

Exception
Read System Installation
Retrieve function and Formula
Retrieve function and Formula - Normal Mode
Save BRF Action
Save BRF deleted function
Save decision table content
Save BRF function
Set Table/Structure/Expression name
Set decision table data
Set data type
Set new functionm name to generated new version brfplus
func
Set the Event decision table result
Set the Pattern decision table result to abap_true
Set text
Parse string to FDT UUID code - Internal format
Parse string to FDT Name - External format
Update BRF function and formula
Validate BRF function

Class: CL_GRFN_BRFP_ADDITIONAL_FILTER Additional Filter Function


IF_GRFN_BRFP~EXECUTE
IF_GRFN_BRFP~CREATE_FUNCTION
IF_GRFN_BRFP~CREATE_FUNCTION_AGAIN

Execute function, this method must be static


Create
Create new function ID due to formula change

Class: CL_GRFN_BRFP_CALC_DEF
Calculating Deficiency Function
IF_GRFN_BRFP~EXECUTE
Execute function, this method must be static
IF_GRFN_BRFP~CREATE_FUNCTION
Create
IF_GRFN_BRFP~CREATE_FUNCTION_AGAIN
Create new function ID due to formula change
Class: CL_GRFN_BRFP_PATTERN Pattern Function
IF_GRFN_BRFP~EXECUTE
Execute function, this method must be static
IF_GRFN_BRFP~CREATE_FUNCTION
Create
IF_GRFN_BRFP~CREATE_FUNCTION_AGAIN
Create new function ID due to formula change
Class: CL_GRFN_AM_BRFP_UI_MODE Set BRFplus UI in Edit Mode
IF_FDT_WD_UI_MODE~GET_CONFIGURATION
IF_FDT_WD_UI_MODE~GET_DESCRIPTION
IF_FDT_WD_UI_MODE~GET_NAME
IF_FDT_WD_UI_MODE~GET_UI_CONTEXT
CONSTRUCTOR

Returns the configuration


Returns the description for the mode
Returns the name of the mode
Returns the UI Context
CONSTRUCTOR

Class: CL_GRFN_AM_BRFP_UI_MODE _DISPLAY - Set BRFplus UI in Display Mode

Take-Over Document

Page 18

Continuous Monitoring Framework BRF+

IF_FDT_WD_UI_MODE~GET_CONFIGURATION
IF_FDT_WD_UI_MODE~GET_DESCRIPTION
IF_FDT_WD_UI_MODE~GET_NAME
IF_FDT_WD_UI_MODE~GET_UI_CONTEXT
CONSTRUCTOR

Returns the configuration


Returns the description for the mode
Returns the name of the mode
Returns the UI Context
CONSTRUCTOR

3.2.6 List of database tables


Specify the list of ABAP database table. Do not forget to add short description of them.
ID

Description

GRFNBRFPATTRS

BRFPlus - Exception function attribute fields

GRFNBRFPFUNC

BRF Plus Function Type

HRP5350

BRF Plus Function

Take-Over Document

Page 19

Continuous Monitoring Framework BRF+

3.2.7 List of notes and customer-specific corrections


ID

Description

1584124

Missing BRF+ fields when create Calculated fields

1586597

Missing BRF+ fields when create Calculated fields

1588564

Re-create BRF+ Application Name & ID

1519164

Create BRF+ application name & ID for Co

Take-Over Document

Page 20

Continuous Monitoring Framework BRF+

Since the BRFplus application name must be unique to import BRFplus


contents from source system to target system, so we need to create same
BRFplus application name and application id in all enviroments first.
Other terms

In case this note was not applied right after installation and the
Business Rule was created, then please use note 1588564 to install PC
10.0 BRF+ Application ID and Name.
Solution
Create Continuous Monitoring application ID for application name
'GRFN_AM_RUNTIME'.
This application id will be used to create BRFplus function in
Continuous Monitoring Business Rule processing.
The BRFplus application name and id must be created in installation
stage.
Please use attached file 'GRFN_AM_RUNTIME_BRF_APPL_ID.xml' to create
Continuous Monitorin BRFplus Application ID.

Take-Over Document

Page 21

Continuous Monitoring Framework BRF+

3.2.8 List of help-programs


Describe the programs, which help you analyze or correct errors. In case the program is a local object please
specify the name and system also.

3.3 Important hints


Give any hints and describe procedures which might be important:

transaction codes to analyze the functionality or debug the program

ok-codes to be used in debugger

other involved persons and contacts for SAP tools, etc.

4 Other sources of information and links


BRFplus information center:
http://www.sdn.sap.com/irj/sdn/index?rid=/webcontent/uuid/90754865-f283-2b10-6d9f-b10f3c28c3a0

4.1 Transfer BR BRF+ components to target system


1. BRF+ application name and ID must be transfered first in all systems.
Use the attachments of Notes 1588564 or 1519164 to create BR BRF+ Application name and
Application ID in all systems.
The Application name must be GRFN_AM_RUNTIME
The Application ID must be 80E0ED08B0561DEF92B59B6E451DCE60

Take-Over Document

Page 22

Continuous Monitoring Framework BRF+

2. Use the following two programs to transfer the rest of BR BRF+ components to target systems
Run program GRFN_AM_FDT_XML_EXPORT to export Source systemBRF+ components
Run program GRFN_AM_FDT_XML_IMPORT to import BRF+ components to target system

4.2 Find Corresponding BR Condition and Calculation functions in


BRF+ workbench
Application name: GRFN_AM_RUNTIME

Take-Over Document

Page 23

Continuous Monitoring Framework BRF+

BRFPlus Object Types used in Business Rule Automatically generated

Take-Over Document

Page 24

Continuous Monitoring Framework BRF+

Sample BRF+:
Business Rule: BR/90001197

You could find the corresponding BRFplus function in tcode BRF+ by following steps.
(1) Go to tcode BRF+
(2) Click Advance Search button

Enter Object Type: Function


Object Name: BR90001197*
Click search button

Take-Over Document

Page 25

Continuous Monitoring Framework BRF+

This is BRFplus function for Business Rule BR/90001197

Input and Output Structure from Business Rule:

Take-Over Document

Page 26

Continuous Monitoring Framework BRF+

Take-Over Document

Page 27

Continuous Monitoring Framework BRF+

Take-Over Document

Page 28

Continuous Monitoring Framework BRF+

Amount Samples:

Take-Over Document

Page 29

Continuous Monitoring Framework BRF+

Main Expression:

Take-Over Document

Page 30

Continuous Monitoring Framework BRF+

Take-Over Document

Page 31

Continuous Monitoring Framework BRF+

Simulation:

Take-Over Document

Page 32

Continuous Monitoring Framework BRF+

Take-Over Document

Page 33

Continuous Monitoring Framework BRF+

Another sample simulation with Data exist

Take-Over Document

Page 34

Continuous Monitoring Framework BRF+

Take-Over Document

Page 35

Вам также может понравиться