SAP Business Rules Management Problem Analysis Scenarios
Use
This page captures some problem analysis scenarios for SAP Business Rules Management and specifies possible solutions.
Rule Engine: SDO not returned with remote lookup
-
Problem Description : When remote lookup is used to invoke rules written on XML, the SDO object is not returned.
-
Possible Error Sources : User does a remote lookup of the rule engine bean while invoking a ruleset containing rules written on XML Schemas.
-
Analysis :
-
Problem : The modified SDO object is not returned when remote look up is used to invoke rules written on schemas.
-
Solution : To address this problem, avoid remote lookup of the rule engine bean while invoking rules built on Java classes. Use local lookup instead. For more information on local look up, please refer: http://help.sap.com .
-
Ruleset as web service: Web service does not appear in WS Navigator
-
Problem Description : A ruleset built using XML schemas was exposed as a web service and deployed. This, however, does not show up in the WS Navigator in SAP NetWeaver Administrator.
-
Possible Error Sources : The ruleset that is exposed as a web service is deployed on the Web AS Java. However, it does not show up in the WS Navigator in SAP NetWeaver Administrator. This happens because of the absence of the required dependencies.
-
Analysis :
-
Problem : The ruleset exposed as a web service may not show up in the WS Navigator, if the rules DC cannot determine the required dependencies. The required dependencies are sap.com/bie/sca/scdl/gen[COMP-BUILDT] and sap.com/bie/sca/scdl/contributors/rules DCs . These dependencies should be available for the feature to be bundled in the build archive.
-
Solution :
-
Check if these dependencies are available or not. To do so, open the Development Infrastructure perspective. Select the appropriate DC and then check Component Properties of the selected DC.
-
The web service feature in BRM is dependent on the SCA runtime. If the rules DC is created in the current version of SAP Business Rules Management or if a project is migrated from an earlier version of SAP Business Rules Management, the dependencies are automatically added at the time of creation or migration respectively. Dependencies can be manually added in the Component Properties of the selected DC in Development Infrastructure perspective.
-
-
Rules Manager - User cannot access any project
-
Problem Description : User cannot access any project in rules manager after logging in.
-
Possible Error Sources :
Error Message
Analysis
You do not have permission to enter this project
The user has not been assigned the required privileges to access the given rules project. User should be assigned SAP_BRM_ADMIN role. If the role is added, Access has not been set for this role on this rules DC.
Project is locked by another user
-
Analysis
-
Error : You do not have permission to enter the project.
-
Cause : This problem occurs when the user has no permissions to access a particular rules DC.
-
Solution : To address this issue, permissions should be assigned to the user. This can be done in two ways: using a pre-shipped role or creating a custom role and assigning the pre-shipped action to it.
Using a Pre-shipped Role-
Log into SAP NetWeaver Administrator as an administrator.
-
Choose
-
Search for the user using the user name. Double click on the row to access details for the user.
-
In the Details section, choose the Assigned Roles tab.
-
Choose the Assigned Roles tab and check if the default role for viewing and editing content in rules manager - SAP_BRM_ADMIN - is assigned to the user or not.
-
If not, search for this role.
-
Select this role and choose the Add button to assign this role to the user. Save the changes.
-
Log into rules manager and check if the DC is accessible.
-
If the DC is not accessible, set access permission for the given rules DC. To do so, log into SAP NetWeaver Administrator as an administrator again.
-
Choose tabs.
-
Search for the rules DC using the DC name.
-
In the first table, search for the role: SAP_BRM_ADMIN.
-
Permissions to access rules manager can be given to the user by using customized roles as well.
-
Create a customized role using Identity Management of SAP NetWeaver Administrator.
-
BRM has pre-shipped actions that can be added to customized roles to assign read only access to rules manager called SAP_BRM_VIEW_RULE_CONTENT .
-
Assign this action to the custom role created
-
Now, assign access level on the DC to the custom role.
-
Log in to rules manager and check if DC is accessible.
For detailed steps, refer:
-
-
-
Error : Project is locked by another user.
-
Cause : This message indicates that the rules DC the user is trying to access is being used by another user.
-
Solution :
-
Only one user can work on a rules DC at a given point of time. When the DC is accessed the first time, a lock is created on the DC so that no other user can access the same DC at the same time.
-
To address this issue, wait for the first user to release the locks created on the given DC.
-
-
-
Rules Manager: Changes made using rules manager are not reflected at runtime
-
Problem Description : Changes made using the rules manager are not picked up by the rule engine.
-
Possible Error Sources : Changes made using rules manager should reflect in subsequent invocations of the rule engine. These changes are not picked up during invocation. No exception or error is however thrown.
-
Analysis :
-
Problem : Changes made using the rules manager are not reflected at the time of invocation. This can be caused by the following reasons:
-
Changes to the ruleset are not activated during Upload.
Uploading the changes to the rules manager only results in storing the new versions of the ruleset in the repository. The version is however, not activated. Only active versions of the ruleset are picked up by the rule engine for invocation.
-
The refresh time is very high
The rule engine does not load the ruleset for every invocation. Once the network is built, the same is cached. However, the rule engine intermittently polls the repository to determine if the ruleset has been modified. The time period at which the polling happens is determined by an environment variable called refreshtime. If the value of this variable is very high, the changes made using rules manager are not immediately made available.
-
-
Solution :
-
To address this, changes made using rules manager should be explicitly activated at the time of upload.
-
On the Upload screen of rules manager, select the check box against activate changes.
-
Then, upload changes
-
If the Activate Changes checkbox is not enabled, it means that the user does not have required permissions to perform the action SAP_BRM_APPROVE_RULE. This action will have to be explicitly added to the role played by the logged in user.
-
In order to add the specified action, log on to NWA as an Administrator.
-
Navigate to the following path: .
-
Select role from the Search Criteria drop down. Enter the name of the Role played by the logged in user.
-
Choose Role to view Details in the lower table.
-
Choose the Assigned Actions tab and then choose Modify .
-
Add the following action to this role: SAP_BRM_APPROVE_RULE
-
Save the changes.
-
Now, it should be possible to upload as well as activate the changes from the rules manager.
-
-
Changes to the ruleset are not activated during upload: Refresh time is too long
To change the refresh time value, do the following:
-
Log on to NWA as Administrator
-
Navigate to the following path:
-
Search for the BRM component by using the search string *brm* .
-
Select the component tc~brms~engine~ejb .
-
In the table displaying EJB Module Details, choose the tab Environment & References .
-
Select the environment entry refresh time.
-
In the Full Details section below change the value for the refresh time.
-
-
-
Rules Composer: Deployment fails with DependenciesResolvingException
-
Problem Description : A rules DC that is dependent on a Java DC fails and throws a DependenciesResolvingException.
-
Possible Error Sources : This occurs when the rules DC is dependent on a Java DC. The following DeployException can be seen in the Deploy logs:
com.sap.engine.services.dc.api.deploy.DeployException:[Error Code DPL.DCAPI.1027] DependenciesResolvingException Reason: ASJ.dpl_dc.006505 An unresolved dependencies error occurred while sorting the deployment batch items regarding the dependencies.; nested exception is: com.sap.engine.services.dc.cm.deploy.sdu_deps_resolver.UnresolvedDependenciesException: [ERROR CODE DPL.DC.3437] Unresolved dependencies found for the following deployment items:
-
Analysis :
-
Problem : The DependenciesResolvingException occurs when at the time of deployment, the dependent DCs are not available. When a rules DC is dependent on a Java DC, the dependencies are required only for design time. A Java DC is not deployed because it does not contain any archives. But if the dependencies are set for build time and deploy time, the server looks for the Java DC at the time of deployment. Since it is not found, this exception is thrown.
-
Solution : To address this issue, the build time and deploy time dependencies should be removed for the rules DC. To do so, follow these steps:
-
Go to Development Infrastructure perspective
-
Click on the rules DC to open the Component Properties window.
-
Choose the Dependencies tab. All the public parts that this DC depends on are shown in the left side of the screen under required DCs.
-
Select the Java DC. The dependency details are displayed in the right frame.
-
If deploy Time and runtime are checked, uncheck the same.
-
Build the DC and deploy it again.
-
-
Rules Testing: XMLs are not available for adding to the test case
-
Problem Description : XMLs are not available to be added using the Add XML button on the Setup page of a test case editor.
-
Analysis :
-
Problem: In order to run a test scenario successfully user has to add an XML as input data to the test case. This can be done by clicking on the Add XML button. No XMLs are displayed when user clicks on this button. This could be because of any of the following reasons.
-
No XMLs are available in the folder src/brmstests.
-
If the XMLs has already been created, then it is in the wrong location.
-
There are no further XMLs to be added to the test case.
-
-
Solution :
-
No XMLs available in the src/brmstests folder: An XML can be created for the XSD on which the target ruleset is written in the following two ways:
-
Manually, using the context menu. In the context menu of a XML schema, choose . Here, user has to explicitly set the folder where the XML will be stored as src/brmstests.
-
Use the Create XML option on the test case editor.
-
-
XML in wrong location:
-
The test case editor will only recognize those XMLs that are available in src/brmstests location. If the user has already created the XML, check the location of the created XML.
-
Move or copy this XML to src/brmstests location.
-
Create another XML in the appropriate location using Create XML option.
-
-
No further XMLs available:
-
The test case editor will not display any XML files when Add XML button is clicked if all the XMLs in the given location have already been added.
-
All the added XMLs appear in the table present in XML Document for Test Input section.
-
Verify if all the required XMLs have already been added.
-
If any other XML is required and is not available, create one using the option : .
-
-
-

