Parameterized message in SO Business Rules
HI
We are trying to implement custom rules in sales order form using processing constraint.
Rule to implement : When the order quantity for an item is less than the minimum order quantity defined in the price list then it should
display an error message with the minimum order quantity for that item.
Example : Ordered Quantity is less than Minimum Order Amount X.
where X = amount stored in attribute1 of the price list.
We are using business rules default messaging feature to disply the message but not able to pass the minimum quntity as message parameter. Can you body please suggest us if we can display parameterized messages and if yes how?
Thanks in advance for your help.
Regards.
There are two problems here. First, there is a bug that causes this error string to be displayed incorrectly when using the RuleAuthor in any browser language other than English. If you change the browser language to English, you should see:
<p>
A syntax error is found. <br>
Error:'carrental.Driver' is undefined at line 4 column 14 in DM
<p>
The cause of this problem is that carrental.Driver class is not in the classpath for Rule Author. This isn't covered in the how-to. See section 3.10 in the Oracle® Business Rules Users Guide (B15986-01) (available from here).
<p>
From this doc:
<p>
Create a rule set you want to test. If the data model includes any Java classes, the
Java classes must be included in the OC4J classpath. The easiest way to do this is
to put the JAR files in the following directory, then restart OC4J:
$ORACLE_HOME/j2ee/home/applications/ruleauthor/lib
<p>
or add it as a shared library using EM (specific instructions follow in the doc) and then add that shared library to RuleAuthor.
Message was edited by:
philvarner
Similar Messages
-
Error message when running Business rules
Hello,
We are having the following error message when launching the business rules; cannot calculate - analytic server error (1013131): Failed to start Asynchonous thread. When looking att he Essabse log, we find the following errors around the same time we got this error:
[Wed May 06 22:01:45 2009]Local/ESSBASE0///Info(1051037)
Logging out user [brlpo], active for 63 minutes
[Wed May 06 22:02:45 2009]Local/ESSBASE0///Info(1051001)
Received client request: Get Substitution Variable (from user [essbaseadmin])
[Wed May 06 22:02:45 2009]Local/ESSBASE0///Error(1051083)
Substitution variable AOP.Finance.CurrFcst does not exist
[Wed May 06 22:02:45 2009]Local/ESSBASE0///Warning(1051003)
Error 1051083 processing request [Get Substitution Variable] - disconnecting
[Wed May 06 22:02:45 2009]Local/ESSBASE0///Info(1051001)
Received client request: Get Substitution Variable (from user [essbaseadmin])
[Wed May 06 22:02:45 2009]Local/ESSBASE0///Info(1051001)
Received client request: Get Substitution Variable (from user [essbaseadmin])
[Wed May 06 22:02:45 2009]Local/ESSBASE0///Error(1051083)
Substitution variable AOP.Finance.Curryr does not exist
[Wed May 06 22:02:45 2009]Local/ESSBASE0///Warning(1051003)
Error 1051083 processing request [Get Substitution Variable] - disconnecting
Would you have an idea of reason of error code?
ThierryHi,
Looks like the substitution variables its looking for are missing.
Can you check that?
Regards,
Amol -
Error message when processing business rule and dimenstion
Dear BPC Experts:
While I am testing BPC FX Restatement pacakge, I make most use of original se-up in APSHELL, and just do some some config in related dimension and business rule. However, when I process business rule and dimenstion, one message shows that "_unexpected error in application server"._ And I still tried to run FX Restatement package, in detail log, it says "Member USD not exist." Does anyone help me figure out the reasons? I really appreciae your help.
Fred ChengHi,
I am not sure if the configuration of MSMQ is fine at you side, it is better to check my how to document too as here I clearly mentioned about MSMQ steps.
This is the direct link: https://www.sdn.sap.com/irj/scn/go/portal/prtroot/docs/library/uuid/101531ad-bcf5-2b10-ac9c-c102908c1b7f
Just skip the ABAP part and follow the MSMQ part.
regards,
Sreedhar -
Executing Business Rule / Calculation from Excel - Essbase
Hi All,
Currently I am trying to run the calculations / Business rules from essbase after locking and sending data. I am using the below code to run the business rule / calculation from essbase.
Sub RunBusinessRule()
On Error Resume Next
X = EssVCalculate(Empty, "AggFlash", False)
MsgBox "Business Rule executed successfully"
End Sub
The issue is that my code gives me a message that the business rule is executed successfully but the rule keeping running in the background for some time. Actually i need a code which will check the status of the process of calculation and when it actually gets completed I should get a message that it's been done. Please expedite.Hi,
I take it you mean calc script and not business rule as really they are separate.
The reason you get a message straight away is because you have the synchronous parameter set to false, if you set it to true it should not return until it is comple
e.g.
X = EssVCalculate(Empty, "AggFlash", True)
Cheers
John
http://john-goodwin.blogspot.com/ -
Hi,
We have bussiness rules in the database. I get the messages from the business rules out of the database but i get also the errormessages from the trigger. for example:
ORA-20801: FTP- 60032: The height must be between 40 and 250 cm (invalid height) FTP- 60019: The value for the BMI is not valid (invalid bmi) ORA-06512: at "AAAA.P_ERROR", line 423 ORA-06512: at "AAAA.CG$AUS_FTP__FUP", line 10 ORA-04088: error during execution of trigger 'AAAA.CG$AUS_FTP_FUP' ORA-06512: at "AAAA.P_VTIR_VAPI", line 97 ORA-06512: at "AAAA.ITR_U_VTIR", line 149 ORA-04088: error during execution of trigger 'AAAA.ITR_U_VTIR'
Where and how can i filter this message so that only the first messages are shown. View is UIX with ADF jheadstart
Regards,
ErikErik,
In the JHeadstart RuleFrame extension something similar is done: it catches ORA-20998 errors and throws a new JboException for it.
I suggest you do something similar: create your own superclass for your Application Module similar to RuleFrameApplicationModuleImpl, which specified a factory similar to RuleFrameTransactionFactory, which instantiates a class similar to RuleFrameTransactionImpl in which you catch the ORA-error.
hope this helps,
Sandra Muller
JHeadstart Team
Oracle Consulting -
Error QMS-00100 show at business rule violation
When a business rule is violated I always get the following message first in my form:
'Error QMS-00100 Unhandled exception ORA-20999 in PLSQL Program Unit qms_transaction_mgt.perform_business_rule'
The next message is the right message when the business rule is violated.
Does someone has a clue why this first message is shown?I don't know why this error showed up, but by recreating all packages in the headstartscheme the problem is solved
-
Problem in mapping Task payload parameters to Oracle Business Rules facts
Hi all,
We are using complex types from our project XSDs inside the Human Task payload. We intend to use these Human Task payload parameters to build routing rules using the Oracle Business Rules interface. Our observation is that when the complexity of these complex types increase, the business rules editor does not show these as facts that can be used in formulating rules.
Has anybody faced such a problem before. Any help is appreciated.
We are using the following link to add routing rules –
http://docs.oracle.com/cd/E25054_01/dev.1111/e10224/bp_decision.htm
Version details :
ADF Business Components 11.1.1.60.13
Java(TM) Platform 1.6.0_29
Oracle IDE 11.1.1.5.37.60.13
SOA Composite Editor 11.1.1.5.0.01.74
Thanks,
Yamini.Problem solved. There was an element in the xml schema that had nillable = true. Because of this the XML Fact for that element would no longer be available in the BPEL Process. Removing the nillable and generating the XML Facts again solved the missing variable problem.
-
Multiple row update; CEV business rule parameters are not refreshed
During a multiple row update, a business rule is fired for each row.
This change event business rule must update the value of another column in the same table (and same row).
Unfortunately, the parameters of the BR are keeping the values of the first row that has been checked. Since my parameter p_id always keeps the same value, I always update the same row.
Does somebody have a hint on how to solve this problem ?
I'm using Headstart R6i and Forms6i with Oracle9i DB.
Thanks in advance for your help,
Denis.I think that's how it works. I tried that with a variable where type is Members.
It is not showing me a prompt when i select multiple rows. However works only for first row. (even if the menu is initiated from second row).
Multiple rows selected, variable type is members. works only for first row in selection. (in 11.1.2.2) You can try log an SR and see what Oracle has to say.
Regards
Celvin
http://www.orahyplabs.com -
CEV business rule only uses first set of parameters in multiple inserts
We have a cev rule that logs data for emails when a record is inserted in a table.
Where there are two records inserted from a script, even where a qms_transaction_mgt.open_transaction and close transaction are used around each insert, the CEV record parameters do not change.
By this I mean we have two records:
1 - id: 22
2 - id: 23
We pass the id to the CEV business rule and dbms_output the parameter value - it indicates that for both records the p_id = 22.
The insert into the table indicates that the record ids were 22 and 23.
This appears to have been reported several times but there is no solution.I would set it lower than 20 minutes as that is quite high before it sends the rules into the background, if the spawning at 10 minutes try setting it just lower than 10 as a test.
It may also be worth looking into the apache timeout (if you are using the apache web server plugin) as that could also be playing a part.
Cheers
John
http://john-goodwin.blogspot.com/ -
Business Rules "Run on Save" in SmartView - Message after running
Hello Experts,
There is any way to display a message (success / failure) after a Business Rule run in Smart View (version 11.1.2.2)?
Our rules, running in Smart View, aren't displaying any message in contrast when they run through web workspace - we only know they run (successfully / unsuccessfully) going to Job Console.
Thank you!
Rodrigo FaustinoThank you John, It is nice to have this feature in Smart View.
Although, we want that the Planner don't worry in going to Job Console. We would expect a message (success / failure) in the same way it happens troughs workspace. -
Validate message multiple records in Business Rule
I have Order message as below:
<Orders>
<Order>
<Header>
<BillToID>001</BillToID>
<ShipToID>002</ShipToID>
<Id>Order001</Id>
</Header>
<OrderLine>
<Id>Line001</Id>
<Date>2015-01-01T00:00:00</Date>
<Qty>10</Qty>
<Status></Status>
</OrderLine>
<OrderLine>
<Id>Line002</Id>
<Date>2015-01-01T00:00:00</Date>
<Qty>15</Qty>
<Status></Status>
</OrderLine>
</Order>
<Order>
<Header>
<BillToID>002</BillToID>
<ShipToID>003</ShipToID>
<Id>Order002</Id>
</Header>
<OrderLine>
<Id>Line003</Id>
<Date>2015-01-01T00:00:00</Date>
<Qty>5</Qty>
<Status></Status>
</OrderLine>
<OrderLine>
<Id>Line004</Id>
<Date>2015-01-01T00:00:00</Date>
<Qty>65</Qty>
<Status></Status>
</OrderLine>
</Order
</Orders>
I want to use Business rule to check Quantity value and update status for the order line, that if quantity < 10 set the status to Approved, if quantity between 10 to 50 then set status to Pending, if quantity > 50 need to set the status to Reject.
The business is simple, if the Order message just have one record, but when the Order message that contain multiple record the business rule just get the first quantity and set the status value.
Anyone have any idea to implement with that requirement?
Thanks in advance!Have a look into the below articles and let us know if you face any further issue.
They are addressing a similar issue
http://www.neudesic.com/blog/apply-bre-rules-looping-data-dynamic-policy-execution/
How to construct BRE "Condition" on multiple repeating record
Thanks,
Prashant
Please mark this post accordingly if it answers your query or is helpful. -
Business Rule Not Deploying - Receiving Error Message
while trying to launch a business rule that I had updated this morning. This business rule is in the OH plan type. I was able to hit launch and even though I could see the calc running in EAS, I received this error
Rule was validated with no potential errors, the rule could not be validated against the deployed application as connection information could not be found.
looking for the assistance.
Thanks
Kiran.KolliIf restarting the calc manager services does not help, increase the JDBC connection time-out.
1. Open CalcMgrConfig.properties present in calc-mgr deployment folder (WEB-INF\conf)
2. Increase the value of property 'DB.timeout' to 60000.
3. Remove the starting '#' for this property.
4. Re-start calc-mgr service.
HTH-
Jasmine. -
String CDF functions not working in business rules
Working with EPM 11.1.2. I created a calc script on the planning cube and it works perfectly. I then put the same code in a business rule and it will not validate. Please see the code below.
1) created udf folder in following directory
essbase/Oracle/Middleware/EPMSystem11R1/products/Essbase/EssbaseServer/java
2) modified udf policy to grant access to all
3) saved CDF_String.jar file to new udf folder on server
4) registered functions via maxl
5) stop/start application
6) stopped/started EAS services
I get the following error in the message window (line 9 is the JGetStringFromDouble statement):
"Encountered " "-> " "-> "" at line 9, column 35.
Was expected one of:
What do I need to do to get this code working as a business rule since I want to use RTPs in this routine?
FIX("No_Profit_Center", FY07:&CapAppEndYr, "Working Plan", "Current", "Manual_Input", "LOC", @Relative("Period",0), @Relative("Project",0), @Relative("Entity",0))
"AC_Unappr_Fcst_Depr"
IF ( "AC_Unappr_Fcst_Depr" == #Missing)
IF ("FY07"->"No_Period"->"AC_Depr_CC" != #Missing)
"AC_Unappr_Fcst_Depr"->(@MEMBER(@CONCATENATE("EN_",@JgetStringFromDouble("FY07"->"No_Period"->"AC_Depr_CC",@_False,@_False)))) = "AC_Unappr_Fcst_Depr_Temp";
ELSE
"AC_Unappr_Fcst_Depr" = "AC_Unappr_Fcst_Depr_Temp";
ENDIF
ENDIF
ENDFIXEdited by: jjdubb on Jun 11, 2012 9:10 AMI've had this issue with a different string function. Business Rules does not like the boolean parameters (@_FALSE) used in these CDF's. I had a similar issue and had to rewrite my CDF without the parameters. You basically need to hardcode the "with quotes" and "with decimals" parameters in the java code.
Hope this helps,
- Jake -
Validation - Business Rule or/and UJ_Validation
Hi experts,
I'm on BPC 7.5 NW, I'm facing problem to construct a simple validation where I need to compare the amount from one parent account against to other. Let's explain the business scenario and after the technical solutions.
Business Scenario
Compare the Total Assets is equal to the Total Liabilities. The Total Assets is represented by a parent account "1", the Total Liabilities is represented by a parent account "2". If it is different show a warning.
This is need to trigger, after the Actual Transactional Data Load + Journals.
Technical Solution
Application: Legal
Dimensions: Empresa (Entity), Conta (Account), Fonte (C_DataScr), Versao (C_Category), Groups, Intco, MesAno (Time), TipMov (Flow), CCusto (User Defined), CLucro (User Defined)
1 - Business Rule
Validation Definition
Validation Account Remark Validation Operand Other destination dimension Members Validation Tolerance
ZATIVO_X_PASSIVO Ativo x Passivo = CONTA=VALIDATIVPASS,INTCO=SPTOTAL,CLucro=ACTEDUMMY,CCusto=ACTENONE 0
Account 1 Flow 1 Sign 1 Account 2 Flow 2 Sign 2 Remark
1 TMTOTAL* 1 2 TMTOTAL* 1 Ativo x Passivo
*The TMTotal Flow is a parent from every data on the master data TipMov (flow)
Validation.lgf
*RUN_PROGRAM VALIDATION
CATEGORY = %VERSAO_SET%
CURRENCY = %GROUPS_SET%
TID_RA = %MESANO_SET%
OTHER = [ENTITY=%EMPRESA_SET%]//For More than one other scope parameters: OTHER = [ENTITY=%ENTITY_SET%;INTCO=%INTCO_SET%...]
*ENDRUN_PROGRAM
Result
When I run with this parameters I receive the message : "UJP_PROCESS_EXCEPTION:Data for category not found in application LEGAL"
2 - Validation with UJ_Validation
Assign the driver dimension to Legal - in case I used the CONTA (Account)
Rule Maintenance
Assigned Member: "1" and "2"
Use Logic Table
Dimension = Empresa (Entity)
Operator "="
Members = TECSA - This is a parent from every Entities.
Result
When I run with this parameters I receive the message : "UJP_PROCESS_EXCEPTION:Data for category not found in application LEGAL"
3 - Validation with UJ_Validation and BADI
Assign the driver dimension to Legal - in case I used the CONTA (Account)
Rule Maintenance
Assigned Member: "1" and "2"
Use BAdI Implementation
BADI_UJ_VALIDATION_RULE_LOGIC
Create a Enhancement ZATIVO_X_PASSIVO
Filter
Rule_Num = 1
APPSET_ID = ZTECSA
DIMENSION = CONTA
Class
METHOD if_uj_validation_rule_logic~do_validation_logic.
FIELD-SYMBOLS:
<field1> TYPE ANY,
<field2> TYPE ANY.
ASSIGN COMPONENT 'FIELD1' OF STRUCTURE is_data TO <field1>.
ASSIGN COMPONENT 'FIELD2' OF STRUCTURE is_data TO <field2>.
IF <field1> NE <field2>.
es_message-message = 'Error in Validation'.
es_message-recno = 1.
es_message-MSGTY = 'W'.
ENDIF.
ENDMETHOD.
And add this line to the script
*START_BADI_UJ_VALIDATION_RULE_LOGIC~DO_VALIDATION_LOGIC
QUERY = ON
WRITE = ON
*END_BADI
Result
Data Region:
[WARNING!] NO MEMBER SPECIFIED FOR DIMENSION:CCUSTO WILL QUERY ON ALL BASE MEMBERS.
[WARNING!] NO MEMBER SPECIFIED FOR DIMENSION:CLUCRO WILL QUERY ON ALL BASE MEMBERS.
[WARNING!] NO MEMBER SPECIFIED FOR DIMENSION:CONTA WILL QUERY ON ALL BASE MEMBERS.
[WARNING!] NO MEMBER SPECIFIED FOR DIMENSION:FONTE WILL QUERY ON ALL BASE MEMBERS.
[WARNING!] NO MEMBER SPECIFIED FOR DIMENSION:INTCO WILL QUERY ON ALL BASE MEMBERS.
[WARNING!] NO MEMBER SPECIFIED FOR DIMENSION:TIPMOV WILL QUERY ON ALL BASE MEMBERS.
[WARNING!] MEASURES IS NOT SPECIFIED!
So what could I make to maintain all my options to do what I need ?
I appreciate any help
Best Regards
Alexandre Mendoza CollepicoloHi,
Just to check, can you try and hardcode the category in the rules itself...just for a test to see if it is working.
You can have the category mentioned as CATEGORY=ACTUAL in the rules itself for Other source dimension members and other destination members. J
This is to check if the validation package runs successfully or not.
Thanks,
Sreeni -
Headstart Business Rule IN parameter changes value
I've created a Business Rule (CEV rule � triggered by create) with following code:
IN parameters: p_datum_van, p_cat and p_prest
cursor c_cap is select datum_tot
from cew_cat_prest
where . . .
and p_datum_van between datum_van and datum_tot
and datum_tot is not null;
l_datum_tot cew_cat_prest.datum_tot%type;
begin
dbms_output.put_line('BR5 p_datum_van '||p_datum_van);
open c_cap;
fetch c_cap into l_datum_tot;
if c_cap%found then
dbms_output.put_line('BR5 eerste controle p_datum_van '||p_datum_van);
update cew_cat_prest
set datum_tot = p_datum_van - 1
where cat = p_cat
and prest = p_prest
and datum_tot = l_datum_tot;
dbms_output.put_line('BR5 tweede controle p_datum_van '||p_datum_van);
update cew_cat_prest
set datum_tot = l_datum_tot
where cat = p_cat
and prest = p_prest
and datum_van = p_datum_van;
dbms_output.put_line('BR5 derde controle p_datum_van '||p_datum_van);
The updates are not executed correctly since p_datum_van changes !!!
Eerste controle: p_datum is correct
Tweede controle: p_datum has changed its value
What we do:
Record 1: van (from) 01/01/2003 tot (to) 31/01/2003
Record 2: van 01/02/2003 tot <null>
Add new record: van 15/01/2003
What we want:
Record 1: van 01/01/2003 tot 14/01/2003
Record 3: van 15/01/2003 tot 31/01/2003
Record 2: van 01/02/2003 tot <null>
Eerste controle: parameter p_datum_van = 15/01/2003
Tweede controle: parameter p_datum_van = 01/01/2003
Remark: if we use the TAPI procedure ups instead of updates, we have the same problem
How is it possible that an IN parameter changes its value during execution of a procedure ???Tim,
Headstart should be able to check out any tables you need.
We think we have the user settings
done correctly, but there may be something that we
have missed. How can we get Headstart to
automatically check-out the table(s) for which we
want to run the Business Rules design transformer?The user settings you need are (see also pages 5-7 and 5-10 in the Headstart User's Guide):
- Under 'Process the following objects', choose 'Checked out by anyone'
- Also check the check box '... also Checked In objects'
- Choose whether you want to automatically check out with or without lock
If this does not help, please run the utility with log level 'Debug Detailed' (can also be set in the User Preferences) and report the last few lines of the log messages. They should give an indication of why the check out does not succeed.
Hope this helps,
Sandra Muller
Maybe you are looking for
-
F-04 Post with clearing - Document Splitting issue
Hi Guru, In the system I have implemented the document splitting by Profit Centre and Segment. I'm trying to post an Incoming Payment (Tcode F-04) with clearing related to two customer. During the invoices I inserted two different Profit Centre by cu
-
Why do I get a popup message in multiple languages requiring a shutdown and restart
Why do I keep getting a popup message in multiple languages requiring a shutdown and restart? Has been going on for a few months. Because of the shutdown reports have been sent to Apple upon restart.
-
Force file download? Content-Disposition?
Hello, I recently started using an X-Serve with OS X 10.4.8 installed. This is my media server, and I'm trying to configure it to force a file download dialog when an mp3 file is pulled. I used to do this by using an .htaccess file with the following
-
Infinity Alternative Routers and/or escalation of ...
Hi all, I've posted a few times over the last month or so about similar issues, but am hoping for a definitive guide. I have BT Infinity 2, with speeds of up to 80 meg. I get a perfect wired connection and have no complaints. Wireless, I was getting
-
When visiting a website that has some kind of SSL certificate issue, like missing , untrusted or invalid certificate etc, the browser is supposed to show a warning message, which should warn us of potential hazards of visiting the website. I realised