Oracle reports-Passing null parameters to RWRUN - oracle

I have a set of run-time parameters in the parameter form in oracle reports that have the "Restrict List to predetermined values". I am able to run the report in the report builder without supplying any value to these parameters. But during the batch run using RWRUN, I am getting the following warning and the report is not generated.
The value of restricted LOV parameter P_PARM1 is not among the selectable values
The above error occurs when I omit the parameter P_PARM1 altogether in the paramter list of RWRUN as well as when I supply it without giving any value to it(implying null) like below:
rwrun.sh <other required parameters here> P_PARM1=
Any help would be much appreciated.

Does rwrun.sh ... P_PARM1='' yield anything different?

Related

Is it possible to set rootMetricsPrefix with a command line parameter?

My JMeter test receives a parameter to specify test environment like PROD, DEV.
Results from both test environment will be sent to a certain GraphiteHost. But I need to separate the results of each environment by using rootMetricsPrefix.
For example, results from PROD will use prefix global.myapp.performance.prod. while the results from DEV will use prefix global.myapp.performance.dev..
So I set the rootMetricsPrefix in my Backend Listener as global.myapp.performance.${__groovy($__P(env).toLowerCase())}..
Unfortunately, It doesn't work.
Data in Graphite doesn't contains the environment name.
Can anyone tell me how to solve this?
You can use new changeCase function to lower case your value:
${__changeCase(${__P(env)},LOWER,)}
It will read the property and then execute lower case on value
There is an error in your expression it should be:
global.myapp.performance.${__groovy("${__P(env)}".toLowerCase())}
This will also work:
global.myapp.performance.${__groovy(props.get("env").toLowerCase())}
But for performances, it is better to use the solution provided by #user7294900

Set Properties in Toad Data Point Fails

I am using Toad Data Point V4.0 to connect to Hive. I try to set below properties using Toad.
set hive.input.format=org.apache.hadoop.hive.ql.io.BucketizedHiveInputFormat;
set hive.optimize.bucketmapjoin=true;
set hive.optimize.bucketmapjoin.sortedmerge=true;
While I can set these properties via Beeline, TOAD throws below error when running above set commands.
[Hortonworks][Hardy] (80) Syntax or semantic analysis error thrown in server while executing query. Error message from server: Error while processing statement: Cannot modify input.format at runtime. It is not in list of params that are allowed to be modified at runtime
Wondering if I have to set these properties somewhere in connection setup or not. Appreciate your input.
We've found a very similar issue with DBVis on Hive.
DBVis is stripping the ‘hive.’ off of commands like “set hive.mapred.mode=strict”. It then checks hive’s list of parameters allowed to be set at runtime for the parameter: “mapred.mode” instead of “hive.mapred.mode”. Since it does not find the parameter, it throws and error.
If we preface the parameter by a second “hive.” (for example, “hive.hive.mapred.mode=strict”) DBVis appears to strips off the first “hive.”. It then finds the stripped version as allowed and sends the stripped version to hive where is executes fine.
NB: This only seems to affect parameters beginning with "hive.".

Informatica error =[ERROR('transformation error')]

I am getting the following Informatica error:
Note: Output column [AGENT_DISPOSTION_CODE] has no default value. Row will be skipped if transformation errors are encountered
MAPPING> DBG_21056 column=[PHONE_NUMBER], defaultvalue=[ERROR('transformation error')]
How can I fix it?
It's not an error, it's only an information that you have a port with a default value set to ERROR('transformation error'), so Integration Service will skip the NULL values with an ERROR function.
The Designer inserts this expression automatically, when you add a new output port; you can change it. Edit the expression, find the port on the Ports tab and check the Default value field at the bottom:
The ERROR function causes the Integration Service to skip a row and issue an error message, which you define.
When running a session on the Verbose Data Mode and if there is no default value specified for output ports in the Mapping, PowerCenter is designed for the warning messages to show up in the session log.
During the column initialization, PowerCenter evaluates the default value specified for each output port in the Mapping and displays the corresponding message. The evaluation code path is the same as for evaluating any other expressions later on during data transformation.
Example
If you specify SIN(1.415) as the default value for an output port, the evaluation on sin(1.415) executes successfully. Upon a successful evaluation, the following message will be displayed:
MAPPING> DBG_21364 Note: Default value [SIN(1.4)] of output column [output1] will be used if tansformation errors are encountered
However, if the default value is error('transformation error'), the following error message will be displayed during evaluation like any real transformation errors:
MAPPING> TE_7007 Transformation Evaluation Error [<> [ERROR]: transformation error... nl:ERROR(u:'transformation error')]; current row skipped...
Immediately after the evaluation, the following message will be displayed in the session log:
MAPPING> DBG_21367 Note: Output column [NUM38_37] has no default value. Row will be skipped if transformation errors are encountered

DbLimitExpression requires a collection argument

Does anyone have the faintest idea what this error means please and how to resolve it? All my research is drawing a blank, I can see how to set it on MSDN but it doesn't explain it in a way that explains to me what the issue is. If I remove some of my LINQ queries to set viewbag items then it seems to resolve it but the moment I set new ones and pass them into my view to generate a mail for MVCMailer it comes back. Not sure if its a viewbag issue or simply that I am calling too many linq queries to generate them to pass to the view.
I am very stuck (again)..........
Cheers,
Steve.
DbLimitExpression requires a collection argument.
Parameter name: argument
Description: An unhandled exception occurred during the execution of the current web request. Please review the stack trace for more information about the error and where it originated in the code.
Exception Details: System.ArgumentException: DbLimitExpression requires a collection argument.
Parameter name: argument
An example of the code is:
var VBSalutation = from A in context.Salutations
where A.SalutationId == policytransaction.SalutationId
select A.SalutationName;
ViewBag.Salutation = VBSalutation.FirstOrDefault();
This is repeated for various parameters and then passed to the view.
Well, I faced a similar problem and solved it. Problem was in WHERE clause: data type of left side equal operator (=) sign was not matching with data type of right side. So in your scenario:
where A.SalutationId == policytransaction.SalutationId
SalutationID of A might be an INT and SalutationId of policytransaction might be a string (This is how it was in my case).
I solved it by assigning policytransaction.SalutationId to an Int variable and using it:
int myIntVariable = Convert.ToInt16(policytransaction.SalutationId);
...//some code here
where A.SalutationId == myIntVariable;
Please also note that you cannot directly cast your variables directly in Linq else you'll get an error "LINQ to Entities does not recognize the method". You'll have to use a temp variable and then apply the where clause.
Try ViewBag.Salutation = VBSalutation.SingleOrDefault();

Get [Messages] values in InnoSetup's language file

I know I can easily get messages inside
[CustomMessages]
AdditionalIcons=blablabla
using this code:
ExpandConstant('{cm:AdditionalIcons}');
which gets the AdditionalIcons string message. However, how can I get messages inside this?
[Messages]
ButtonNext=huhu
ButtonInstall=bubu
What I need is to get the ButtonNext, ButtonInstall and other values, and it is NOT possible to get those values using code like this:
ExpandConstant('{cm:ButtonNext}');
How can I query those values?
Related links
Inno Setup Script tips
Try
SetupMessage(msgButtonNext);
In general, the name of the constant to use (in this case msgButtonNext) is msg + the name of the message (string concatination).

Resources