2 Elements returned when executing VC Component with *submit
Hi All,
I have a VC Component which uses
*submit
to summarize 2 Inputs (result from a webservice + user input).
I am executing this VC Component as a Callable Obect in my GP.
I received a error message because some of the fields where empty. When I tested the Callable Object, I saw that it is returning 2 Elements:
end - Element 1
end - Element 2
Why is that and how can I get around that (I want one (1) Object containing my data)?!!
Thanks, Johannes
Not really... I solved by not using *submit
JJJ
Similar Messages
-
Oracle error -6508 returned when executing JSP
The JSP program executes a stored procedure from a package. I've recompiled the package after some changes. The JSP returns -6508 error when it is executing the procedure. The error is returned only after recompiling the stored package. What could be the problem?
Hi,
ORA-6508 error is returned when the stored procedure cannot be found.
ORA-06508 PL/SQL: could not find program unit being called
Cause: An attempt was made to call a stored program that could not be found. The program may have been dropped or incompatibly modified, or have compiled with errors.
Action: Check that all referenced programs, including their package bodies, exist and are compatible.
Please check the package signature and the specifications.
Thanks,
Rashmi. -
Error with Project Parameters when executing the package with dtexec command
Hi,
We have started migrating our SSIS package from 2005 version to SSIS 2012. In SSIS 2005 we were using XML configuration files and executing the packages with dtexec command from the packages folder (without deploying packages to filesystem).
Now in SSIS 2012, we have seen Project Parameters and created couple of package parameters and used those parameters in the package. when executing this package from solution explorer it was working fine but when i try to execute the same package from command
line with Dtexec command, it was showing an error message of 'Not able to map Project Prameters to configurations'.
Could you please give me an idea of how to execute the packages from command line by using dtexex command. basically i would like use project parameters in 2012 similar to configurations?
Thanks,
Venu.Refer
http://msdn.microsoft.com/en-IN/library/hh231187.aspx
you can pass parameter like this
/SET \Package.Variables[$Package::ParameterName];<value> /SET \Package.Variables[$Project::ParameterName];<value>
Please Mark This As Answer if it helps to solve the issue Visakh ---------------------------- http://visakhm.blogspot.com/ https://www.facebook.com/VmBlogs -
Exception (or crash) when executing an XmlModify with multiple remove exprs
Hi all,
The following code snippet resembles my execution path for updating some nodes in a document.
XmlManager manager = DbController::getInstance()->getManager();
XmlContainer container = DbController::getInstance()->getContainer();
XmlTransaction mainTransaction = manager.createTransaction(DB_TXN_NOWAIT);
XmlQueryContext queryContext = manager.createQueryContext();
XmlTransaction childTransaction = mainTrContext->getXmlTransaction().createChild();
XmlDocument document = container.getDocument(childTransaction, "mydocdir/docname", 0);
childTransaction.commit();
XmlValue nodeXmlValue;
XmlQueryExpression docNodeExpression = manager.prepare(mainTransaction, "/acquisitionProtocol", queryContext
XmlResults resultList = docNodeExpression.execute(mainTransaction, mainTrContext->getDocument()->getXmlValue(), queryContext
if (resultList.size() > 0)
resultList.next(nodeXmlValue);
// XmlValue nodeXmlValue(mainTrContext->getDocument()->getXmlDocument());
XmlUpdateContext updateContext = manager.createUpdateContext();
XmlModify modifier = manager.createModify();
XmlQueryExpression nodeQueryExpression = manager.prepare(mainTransaction, "./location", queryContext);
modifier.addRemoveStep(nodeQueryExpression);
XmlQueryExpression nodeQueryExpression = manager.prepare(mainTransaction, "./id", queryContext);
modifier.addRemoveStep(nodeQueryExpression);
nodeQueryExpression = manager.prepare(mainTransaction, ".", queryContext);
modifier.addAppendStep(nodeQueryExpression, XmlModify::Element, "location", "yves/test", 0);
modifier.execute(mainTransaction, nodeXmlValue, queryContext, updateContext);
mainTransaction.commit();When I execute the modifier (2de last line) it throws the following exception or crashes:
DBcursor->get: DB_READ_COMMITTED, DB_READ_UNCOMMITTED and DB_RMW require locking
Exception code: 5
Error text:Error: Invalid argument File: NsEventReader.cpp Line: 828
DbErrno: 22The problem occurs when adding more than one remove expression to the modify object. If I use only one remove expression, the code works fine.
However, I can add multiple append expression without problems.
What am I doing wrong here???
Thanks in advance
Yves
Edited by: ywillems on Dec 10, 2008 7:55 AM
Edited by: ywillems on Dec 11, 2008 5:37 AM
Edited by: ywillems on Dec 11, 2008 7:05 AMYves,
Oddly enough I believe this is an optimizer bug that we've found and patched (but not yet officially released the patch). Try applying this patch to 2.4.16:
diff -ru dbxml-2.4.16-original/dbxml/src/dbxml/query/DecisionPointQP.cpp dbxml-2.4.16/dbxml/src/dbxml/query/DecisionPointQP.cpp
--- dbxml-2.4.16-original/dbxml/src/dbxml/query/DecisionPointQP.cpp
+++ dbxml-2.4.16/dbxml/src/dbxml/query/DecisionPointQP.cpp
@@ -1,14 +1,13 @@
// See the file LICENSE for redistribution information.
// Copyright (c) 2002,2008 Oracle. All rights reserved.
-// $Id$
#include "../DbXmlInternal.hpp"
#include "DecisionPointQP.hpp"
#include "QueryPlanHolder.hpp"
#include "../QueryContext.hpp"
#include "../Manager.hpp"
#include "../Container.hpp"
@@ -269,17 +268,17 @@ protected:
XPath2MemoryManager *mm_;
DecisionPointQP::ListItem *DecisionPointQP::justInTimeOptimize(int contID, DynamicContext *context)
// **** IMPORTANT - This algorithm is very carefully arranged to avoid
// **** deadlocks and race-conditions. Don't rearrange things unless you
// **** know what you are doing!
+
// Get the runtime configuration
DbXmlConfiguration *conf = GET_CONFIGURATION(context);
// Lookup the container
ScopedContainer scont((Manager&)conf->getManager(), contID, /*mustExist*/true);
// Just-in-time optimise the QueryPlan, using a temporary memory manager for thread safety
XPath2MemoryManagerImpl tmpMM;
@@ -349,17 +348,18 @@ void DecisionPointQP::justInTimeOptimize
qp->staticTypingLite(context);
OptimizationContext opt(OptimizationContext::REARRANGE, context, 0, container);
qp = qp->optimize(opt);
qp->logQP(opt.getLog(), "OQP", qp, opt.getPhase());
OptimizationContext opt(OptimizationContext::ALTERNATIVES, context, 0, container);
- qp = qp->chooseAlternative(opt, "decision point", container->getContainerID() == 0);
+ opt.setCheckForSS(container->getContainerID() == 0);
+ qp = qp->chooseAlternative(opt, "decision point");
qp->logQP(opt.getLog(), "OQP", qp, opt.getPhase());
OptimizationContext opt(OptimizationContext::ADD_STEPS, context, 0, container);
qp = qp->optimize(opt);
qp->logQP(opt.getLog(), "OQP", qp, opt.getPhase());
@@ -390,26 +390,37 @@ DecisionPointQP::DecisionPointQP(const D
removed_(false),
qpList_(0),
qpListDone_(o->qpListDone_),
compileTimeMinder_(o->compileTimeMinder_),
compileTimeContext_(o->compileTimeContext_)
if(arg_ != 0)
_src.add(arg_->getStaticAnalysis());
+
+ bool checkForSS = opt.checkForSS();
+
+ try {
+ ListItem **li = &qpList_;
+ for(ListItem *oli = o->qpList_; oli != 0; oli = oli->next) {
+ opt.setCheckForSS(oli->container->getContainerID() == 0);
+
+ *li = new (mm) ListItem(oli->container, 0);
+ (*li)->qp = oli->qp->chooseAlternative(opt, "decision point");
- ListItem **li = &qpList_;
- for(ListItem *oli = o->qpList_; oli != 0; oli = oli->next) {
- *li = new (mm) ListItem(oli->container, 0);
- (*li)->qp = oli->qp->chooseAlternative(opt, "decision point", oli->container->getContainerID() == 0);
+ _src.add((*li)->qp->getStaticAnalysis());
- _src.add((*li)->qp->getStaticAnalysis());
- li = &(*li)->next;
+ li = &(*li)->next;
+ }
+ catch(...) {
+ opt.setCheckForSS(checkForSS);
+ throw;
+ }
+ opt.setCheckForSS(checkForSS);
DecisionPointQP::DecisionPointQP(const DecisionPointQP *o, XPath2MemoryManager *mm)
: QueryPlan(DECISION_POINT, o->getFlags(), mm),
dps_(o->dps_ ? o->dps_->copy(mm) : 0),
arg_(o->arg_ ? o->arg_->copy(mm) : 0),
removed_(false),
qpList_(0),
diff -ru dbxml-2.4.16-original/dbxml/src/dbxml/query/QueryPlan.cpp dbxml-2.4.16/dbxml/src/dbxml/query/QueryPlan.cpp
--- dbxml-2.4.16-original/dbxml/src/dbxml/query/QueryPlan.cpp
+++ dbxml-2.4.16/dbxml/src/dbxml/query/QueryPlan.cpp
@@ -1,14 +1,13 @@
// See the file LICENSE for redistribution information.
// Copyright (c) 2002,2008 Oracle. All rights reserved.
-// $Id$
#include "../DbXmlInternal.hpp"
#include <assert.h>
#include <string.h>
#include <sstream>
#include <set>
#include <algorithm>
@@ -128,23 +127,54 @@ void QueryPlan::createAlternatives(unsig
createCombinations(maxAlternatives, opt, combinations);
// Generate the alternatives by applying conversion rules to the combinations
for(QueryPlans::iterator it = combinations.begin(); it != combinations.end(); ++it) {
(*it)->applyConversionRules(maxAlternatives, opt, alternatives);
-CostSortItem::CostSortItem(QueryPlan *qp, OperationContext &oc, QueryExecutionContext &qec)
- : qp_(qp), cost_(qp->cost(oc, qec))
+class ContainsSequentialScan : public NodeVisitingOptimizer
+public:
+ bool run(QueryPlan *qp)
+ {
+ found = false;
+ optimizeQP(qp);
+ return found;
+ }
+
+private:
+ virtual void resetInternal() {}
+
+ virtual ASTNode *optimize(ASTNode *item)
+ {
+ // Don't look inside ASTNode objects
+ return item;
+ }
+ virtual QueryPlan *optimizeSequentialScan(SequentialScanQP *item)
+ {
+ found = true;
+ return item;
+ }
+
+ bool found;
+};
+
+CostSortItem::CostSortItem(QueryPlan *qp, OperationContext &oc, QueryExecutionContext &qec, bool checkForSS)
+ : qp_(qp), cost_(qp->cost(oc, qec)),
+ hasSS_(false)
+{
+ if(checkForSS) hasSS_ = ContainsSequentialScan().run(qp);
bool CostSortItem::operator<(const CostSortItem &o) const
+ if(hasSS_ != o.hasSS_) return !hasSS_;
+
if(cost_.totalPages() < o.cost_.totalPages()) return true;
if(cost_.totalPages() > o.cost_.totalPages()) return false;
if(cost_.pagesOverhead < o.cost_.pagesOverhead) return true;
if(cost_.pagesOverhead > o.cost_.pagesOverhead) return false;
return qp_ < o.qp_;
@@ -189,22 +219,22 @@ void QueryPlan::createReducedAlternative
if(i != costSortSet.end()) {
(*it)->release();
continue;
++alternativesCount;
- costSortSet.insert(CostSortItem(*it, oc, qec));
+ costSortSet.insert(CostSortItem(*it, oc, qec, opt.checkForSS()));
if(costSortSet.size() > ALTERNATIVES_THRESHOLD) {
// Trim all QueryPlans outside of a factor of the cost of the lowest cost QueryPlan
// TBD Make the specific factor configurable - jpcs
- set<CostSortItem>::iterator cutPoint = costSortSet.lower_bound(costSortSet.begin()->cost_.totalPages() * cutOffFactor);
+ set<CostSortItem>::iterator cutPoint = costSortSet.lower_bound(CostSortItem(costSortSet.begin()->cost_.totalPages() * cutOffFactor, false));
if(cutPoint != costSortSet.begin() && cutPoint != costSortSet.end()) {
for(i = cutPoint; i != costSortSet.end(); ++i) {
if(Log::isLogEnabled(Log::C_OPTIMIZER, Log::L_DEBUG)) {
ostringstream oss;
oss << "Rejected Alternative (outside cut off factor: ";
oss << (costSortSet.begin()->cost_.totalPages() * cutOffFactor);
oss << ")";
log(qec, oss.str());
@@ -247,54 +277,27 @@ void QueryPlan::createReducedAlternative
} else {
for(set<CostSortItem>::iterator i = costSortSet.begin(); i != costSortSet.end(); ++i) {
alternatives.push_back(i->qp_);
-class ContainsSequentialScan : public NodeVisitingOptimizer
+static bool betterAlternativeCost(const Cost &costA, bool ssA, const Cost &costB, bool ssB, bool checkForSS)
-public:
- bool run(QueryPlan *qp)
- found = false;
- optimizeQP(qp);
- return found;
-private:
- virtual void resetInternal() {}
- virtual ASTNode *optimize(ASTNode *item)
- // Don't look inside ASTNode objects
- return item;
- virtual QueryPlan *optimizeSequentialScan(SequentialScanQP *item)
- found = true;
- return item;
- bool found;
-static bool betterAlternativeCost(const Cost &costA, bool ssA, const Cost &costB, bool ssB, bool noSequentialScan)
- if(ssA != ssB && noSequentialScan) return ssB;
+ if(ssA != ssB && checkForSS) return ssB;
if(costA.totalPages() < costB.totalPages()) return true;
if(costA.totalPages() > costB.totalPages()) return false;
return costA.pagesOverhead < costB.pagesOverhead;
-QueryPlan *QueryPlan::chooseAlternative(OptimizationContext &opt, const char *name, bool noSequentialScan) const
+QueryPlan *QueryPlan::chooseAlternative(OptimizationContext &opt, const char *name) const
QueryPlans combinations;
createCombinations(MAX_ALTERNATIVES, opt, combinations);
// TBD remove the need for QueryExecutionContext here - jpcs
QueryExecutionContext qec(GET_CONFIGURATION(opt.getContext())->getQueryContext(),
/*debugging*/false);
qec.setContainerBase(opt.getContainerBase());
@@ -313,17 +316,17 @@ QueryPlan *QueryPlan::chooseAlternative(
for(QueryPlans::iterator it = myAlts.begin(); it != myAlts.end(); ++it) {
++alternativesCount;
QueryPlan *qp = (*it);
Cost itCost = qp->cost(opt.getOperationContext(), qec);
bool itSS = ContainsSequentialScan().run(qp);
- if(bestQP == 0 || betterAlternativeCost(itCost, itSS, bestCost, bestSS, noSequentialScan)) {
+ if(bestQP == 0 || betterAlternativeCost(itCost, itSS, bestCost, bestSS, opt.checkForSS())) {
if(bestQP != 0) {
log(qec, "Rejected Alternative (not best)");
bestQP->logCost(qec, bestCost, 0);
bestQP->release();
bestQP = qp;
bestCost = itCost;
bestSS = itSS;
diff -ru dbxml-2.4.16-original/dbxml/src/dbxml/query/QueryPlan.hpp dbxml-2.4.16/dbxml/src/dbxml/query/QueryPlan.hpp
--- dbxml-2.4.16-original/dbxml/src/dbxml/query/QueryPlan.hpp
+++ dbxml-2.4.16/dbxml/src/dbxml/query/QueryPlan.hpp
@@ -1,14 +1,13 @@
// See the file LICENSE for redistribution information.
// Copyright (c) 2002,2008 Oracle. All rights reserved.
-// $Id$
#ifndef __QUERYPLAN_HPP
#define __QUERYPLAN_HPP
#include <vector>
#include <set>
#include <string>
@@ -60,40 +59,44 @@ public:
REARRANGE = 2,
ALTERNATIVES = 3,
ADD_STEPS = 4,
MAKE_PREDICATES = 5,
REMOVE_REDUNDENTS = 6
OptimizationContext(Phase ph, DynamicContext *cn, QueryPlanOptimizer *qpo, ContainerBase *c = 0)
- : phase_(ph), context_(cn), qpo_(qpo), container_(c), isFetched_(false) {}
+ : phase_(ph), context_(cn), qpo_(qpo), container_(c), isFetched_(false), checkForSS_(false) {}
Phase getPhase() const { return phase_; }
DynamicContext *getContext() const { return context_; }
XPath2MemoryManager *getMemoryManager() const;
QueryPlanOptimizer *getQueryPlanOptimizer() const { return qpo_; }
void setQueryPlanOptimizer(QueryPlanOptimizer *qpo) { qpo_ = qpo; }
ContainerBase *getContainerBase() const { return container_; }
Transaction *getTransaction() const;
OperationContext &getOperationContext() const;
const IndexSpecification &getIndexSpecification() const;
const Log &getLog() const;
+ bool checkForSS() const { return checkForSS_; }
+ void setCheckForSS(bool val) { checkForSS_ = val; }
+
private:
Phase phase_;
DynamicContext *context_;
QueryPlanOptimizer *qpo_;
ContainerBase *container_;
mutable IndexSpecification is_;
mutable bool isFetched_;
+ bool checkForSS_;
class QueryPlan : public LocationInfo
public:
virtual ~QueryPlan() {}
typedef enum {
// Index lookups
@@ -176,17 +179,17 @@ public:
virtual const StaticAnalysis &getStaticAnalysis() const { return _src; }
virtual QueryPlan *optimize(OptimizationContext &opt) = 0;
virtual void createCombinations(unsigned int maxAlternatives, OptimizationContext &opt, QueryPlans &combinations) const;
virtual void applyConversionRules(unsigned int maxAlternatives, OptimizationContext &opt, QueryPlans &alternatives);
void createAlternatives(unsigned int maxAlternatives, OptimizationContext &opt, QueryPlans &alternatives) const;
void createReducedAlternatives(double cutOffFactor, unsigned int maxAlternatives, OptimizationContext &opt, QueryPlans &alternatives) const;
- QueryPlan *chooseAlternative(OptimizationContext &opt, const char *name, bool noSequentialScan = false) const;
+ QueryPlan *chooseAlternative(OptimizationContext &opt, const char *name) const;
virtual NodeIterator *createNodeIterator(DynamicContext *context) const = 0;
virtual Cost cost(OperationContext &context, QueryExecutionContext &qec) const = 0;
/** Returns the QueryPlanRoot objects from the PathsQP in this QueryPlan */
virtual void findQueryPlanRoots(QPRSet &qprset) const = 0;
/// Returns true if it's sure. Returns false if it doesn't know
virtual bool isSubsetOf(const QueryPlan *o) const = 0;
@@ -536,20 +539,21 @@ protected:
ImpliedSchemaNode *isn2_;
QPValue value2_;
DbWrapper::Operation operation2_;
struct CostSortItem {
- CostSortItem(double cost) : qp_(0), cost_(0, cost) {}
- CostSortItem(QueryPlan *qp, OperationContext &oc, QueryExecutionContext &qec);
+ CostSortItem(double cost, bool hasSS) : qp_(0), cost_(0, cost), hasSS_(hasSS) {}
+ CostSortItem(QueryPlan *qp, OperationContext &oc, QueryExecutionContext &qec, bool checkForSS);
bool operator<(const CostSortItem &o) const;
QueryPlan *qp_;
Cost cost_;
+ bool hasSS_;
#endif
diff -ru dbxml-2.4.16-original/dbxml/src/dbxml/query/SequentialScanQP.cpp dbxml-2.4.16/dbxml/src/dbxml/query/SequentialScanQP.cpp
--- dbxml-2.4.16-original/dbxml/src/dbxml/query/SequentialScanQP.cpp
+++ dbxml-2.4.16/dbxml/src/dbxml/query/SequentialScanQP.cpp
@@ -1,14 +1,13 @@
// See the file LICENSE for redistribution information.
// Copyright (c) 2002,2008 Oracle. All rights reserved.
-// $Id$
#include "../DbXmlInternal.hpp"
#include "SequentialScanQP.hpp"
#include "StepQP.hpp"
#include "QueryExecutionContext.hpp"
#include "../ContainerBase.hpp"
#include "../Document.hpp"
@@ -134,16 +133,17 @@ QueryPlan *SequentialScanQP::optimize(Op
return this;
NodeIterator *SequentialScanQP::createNodeIterator(DynamicContext *context) const
+ DBXML_ASSERT(container_->getContainerID() != 0);
if(nodeType_ == ImpliedSchemaNode::METADATA) {
return container_->createDocumentIterator(context, this);
} else {
NamedNodeIterator *result;
if(nodeType_ == ImpliedSchemaNode::ATTRIBUTE) {
result = container_->createAttributeIterator(context,
this,
nsUriID_); -
Nothing returned when executing SQL
I don't get the expected results when I run embedded parameterized SQL in c# if my where clause uses the primary key as a parameter. It does work if I use a date range or anything else. When I debug this and grab the SQL string and execute it in Toad it works fine. Any ideas why this won't work when I use the primary key as the parameter? I am using VS2008 and the latest version of the ODP.
The first code block works the second does not. The CLM_ID is of type number(20) in the db, but it has integers so I convert the number in the code to OracleDbType.Int16.
Any ideas.
This Works
/* Build the query */
string sql = "SELECT * FROM (SELECT C.CLM_ID " +
" FROM CLAIM.CLM C " +
" JOIN CLAIM.CUST CUST ON CUST.CUST_ID = C.CUST_ID " +
" where C.UTC_CREATED_ON >= to_date(:pStartDate)" +
" and C.UTC_CREATED_ON < to_date(:pEndDate) )" +
" WHERE ROWNUM < 200 ";
/* Add parameters. */
OracleCommand cmd = new OracleCommand(sql, objConn);
cmd.Parameters.Add(new OracleParameter(":pStartDate", OracleDbType.Date));
cmd.Parameters[":pStartDate"].Value = startDate;
cmd.Parameters.Add(new OracleParameter(":pEndDate", OracleDbType.Date));
cmd.Parameters[":pEndDate"].Value = endDate;
cmd.CommandType = CommandType.Text;
objConn.Open();
OracleDataReader dr = cmd.ExecuteReader(); // C#
dr.Read();
//if there are results put it in a data table.
DataTable dt = new DataTable();
dt.Load(dr, LoadOption.OverwriteChanges);
return dt;
This does not.
string sql = "SELECT * FROM (SELECT C.CLM_ID " +
" FROM CLAIM.CLM C " +
" JOIN CLAIM.CUST CUST ON CUST.CUST_ID = C.CUST_ID " +
" where to_number(C.CLM_ID) = :pClaimId )" +
" WHERE ROWNUM < 200 ";
OracleCommand cmd = new OracleCommand(sql, objConn);
cmd.Parameters.Add(new OracleParameter(":pClaimId",OracleDbType.Int16));
cmd.Parameters[":pClaimId"].Value = int.Parse(claimId);
cmd.CommandType = CommandType.Text;
objConn.Open();
OracleDataReader dr = cmd.ExecuteReader(); // C#
dr.Read();
//if there are results put it in a data table.
DataTable dt = new DataTable();
dt.Load(dr, LoadOption.OverwriteChanges);
return dt;I agree with the previous poster, do not cast your variables unless you must. but I disagree with dropping parameterized queries, you should use them or you will open yourself up to attack and inefficiencies in your code (period). while you may drop paramterized queries for testing, never go to production without using them.
/** first query -- use between! */
string sql = "SELECT * FROM (SELECT C.CLM_ID " +
" FROM CLAIM.CLM C " +
" JOIN CLAIM.CUST CUST ON CUST.CUST_ID = C.CUST_ID " +
" where C.UTC_CREATED_ON BETWEEN :pStartDate AND :pEndDate" +
" WHERE ROWNUM < 200 "; /* use between here */
/* Add parameters. */
OracleCommand cmd = new OracleCommand(sql, objConn);
cmd.Parameters.Add(new OracleParameter(":pStartDate", OracleDbType.Date));
cmd.Parameters[":pStartDate"].Value = startDate;
cmd.Parameters.Add(new OracleParameter(":pEndDate", OracleDbType.Date));
cmd.Parameters[":pEndDate"].Value = endDate;
string sql = "SELECT * FROM (SELECT C.CLM_ID " +
" FROM CLAIM.CLM C " +
" JOIN CLAIM.CUST CUST ON CUST.CUST_ID = C.CUST_ID " +
" where C.CLM_ID = :pClaimId )" +
" WHERE ROWNUM < 200 ";
/* drop the to_number */
OracleCommand cmd = new OracleCommand(sql, objConn);
cmd.Parameters.Add(new OracleParameter(":pClaimId",OracleDbType.Int16));
cmd.Parameters[":pClaimId"].Value = int.Parse(claimId);drop the to_number, the claimId is already inputted as Int16, there is no reason to re-cast it. -
DUMP in SAPDBEQI when executing a Query with InfoSet = EQI
Hi experts,
I made a Query that contains an Infoset, with the logical database EQI. When I execute the query it shows the following DUMP:
Runtime Errors = SAPSQL_AMBIGUOUS_FIELDNAME
Except. = CX_SY_DYNAMIC_OSQL_SEMANTICS
Maybe is an error? I think it is, but searching for a SAP Note I don't find anyone.
What I could see is that the system is executing an extra validation, with this authority check:
* additional authority checks via BAdI
PERFORM authoritycheck_diaufk_badi_f01 USING diaufk 'IE07'.
This function is encapsulated on the include "DBAFIF01".
I am executing the SAP Query on version ECC 6.0.
Lots of thanks,
JaviHi FireFighter,
First of all, thanks for your answer. I have no problem of authorization to execute IE07.
Do you have any other idea?
Thanks!!! -
Error when executing multiple scenarios with same ProgramID for RFC-JDBC
Hi,
I am working on the RFC-JDBC scenario.
I see the following error in the dev_jrfc.trc file when I try to execute multiple scenarios which are using same program id (different communication channels).
RfcException:
message: Commit fault: com.sap.aii.af.rfc.afcommunication.RfcChannelMismatchException: Wrong Sender Agreement:The Sender agreement does not have channel CC_SAP_XXXXX configured for the functionmodule Z_XXXXX_SO_CREATE_CHANGE
Return code: RFC_CLOSED(6)
error group: 108
key: RFC_ERROR_INTERNAL
Can one program id be used for multiple scenarios? Or do we need to create a new ProgramId for each scenario.
Any response will be highly appreciated.
Thanks
ShyamHello Shyam,
>>>>>>>>Do you think that I still need to create a new Program Id for each of these processes.
You should not use same program ID for different RFC adapters. It is recommended by SAP (check FAQ's on RFC).
Although technically you can use but it gives you unpredictable behaviour based on connection pool. -
Error MDX when executing WBI query with different prompt but same text
Current version is BO XI 3.1 SP2 FP 2.6
Connected with SAP BI7
Identified problem :
when using same text prompt in different filters, only the first one is correctly answered, the MDX code for following ones are not correctly generated : the engine uses the right filter but applied to the object from the first filter which gives a MDX code error.
Example :
In a report :
- asking a user choice on 'document month' for operational view
- using the same answer to fill up the 'posting month' in financial view
Document month (0FISCPER) filter is filter !V000001
Posting month (FISCPLCD) filter is filter !V000002
Question text is unique : "Single Year Period ?" and should be sent to both prompts/variable.
When using the same text prompt, the MDX code generated is :
SELECT { [Measures].[4IUX93YJGXQEHGLX0T0GPNA9Y] } ON COLUMNS , NON EMPTY CROSSJOIN( [0FISCPER].[LEVEL01].MEMBERS, [FISCPLCD].[LEVEL01].MEMBERS ) DIMENSION PROPERTIES MEMBER_CAPTION ON ROWS FROM [CATS_M01A/ZGL_CATS_UTILISATION] SAP VARIABLES [!V000001] INCLUDING [FISCPLCD].[Z12010006]
Please notice that in this generated code, the filter !V000001 is applied to the FISCPLCD object, while filter !V000001 is related to document month. A MDX error is generated.
Any clue to solve this issue ?
Thank you for your help.
G.OM.
Edited by: GERALDINE OMNES on Jan 14, 2011 12:44 PMOk, I've simplified the case.
Here is the real case :
Object filter =
Based on object =
.[LEVEL01]
Object filter =
Based on object =
.[LEVEL01]
In WBI query result I take these objects :
.[LEVEL01]
.[LEVEL01]
.[4IUX93YJGXQEHGLX0T0GPNA9Y]
In query filters, my 2 filters with same text :
1.
I run the query.
Answer to question 'Single Year Period ?' = Period 06 2010
==> MDX error
A database error occured. The database error text is: Echec de l'exécution de la requête MDX SELECT { .[4IUX93YJGXQEHGLX0T0GPNA9Y] } ON COLUMNS , NON EMPTY CROSSJOIN( .[LEVEL01].MEMBERS, .[LEVEL01].MEMBERS ) DIMENSION PROPERTIES MEMBER_CAPTION ON ROWS FROM SAP VARIABLES INCLUDING .[Z12010006] INCLUDING .[Z12010006] avec l'erreur Invalid MDX command with . (WIS 10901)
And you can see that the value sent to both filters is the same and come from the first filter .[Z12010006] instead of applying the value to each filter .[Z12010006] for the first one and .[Z12010006] for the second one.
Please, notice that if I change the order of this 2 filters in the WBI query, the MDX generated become :
SELECT { .[4IUX93YJGXQEHGLX0T0GPNA9Y] } ON COLUMNS , NON EMPTY CROSSJOIN( .[LEVEL01].MEMBERS, .[LEVEL01].MEMBERS ) DIMENSION PROPERTIES MEMBER_CAPTION ON ROWS FROM SAP VARIABLES INCLUDING .[Z12010006] INCLUDING .[Z12010006]
Thanks for your help.
G.OM. -
Haviing double quotes show up when executing a command with a variable
I am trying to run a command that requires double quotes to be part of it. For example:
$adddiskname = "Harddisk5"
"$adddiskname(No
Signature)"
only gives the output of
Hardisk5 (No Signature)
but I need it to look this when it runs:
"Harddisk5 (No Signature)"
Here is the command line I have now:
$adddiskname = "Harddisk5" Start-Process-FilePath'C:\Program
Files\Veritas\Veritas Volume Manager\vxdisk'-ArgumentList"-f","sig","$adddiskname(Not
Signature)"-Wait
Any help would be great.
Thanks,The entire string needs to be in the Quotes, so when the command is run, it shows the (No Signature) as well.
Example:
"Harddisk5 (No Signature)" is the end result.
Okay:
$addDiskName = 'Harddisk5'
"`"$addDiskName (No Signature)`""
Don't retire TechNet! -
(Don't give up yet - 13,225+ strong and growing) -
Jar works different when executed with webstart
Hello, I have a problem when executing an app with webstart. When I execute the jar directly on windows everything works fine, but when I execute the webstart link it executes but not correctly. The application has some timers that don't work. The rest of the application seems to be ok. Anyone has a clue about this problem? Thanks
Hello, I have a problem when executing an app ...What application? What does it do? Do you control
the source code?
..with webstart. What is the URL the the JNLP? Or failing that,
what is the JNLP content?
Is there any stacktrace in the Java console?
Do you have the console pop-up for web start apps.?
...When I execute the jar directly on windows
everything works fine, but when I execute the
webstart link it executes but not correctly. The
application has some timers that don't work. Timers don't work? Maybe they are just lazy!
Or to put that another way, what is supposed
to happen at the end of the time that does not
happen in the web start app.? Are exception
or error stacktraces printed to the console?
...The rest
of the application seems to be ok. Anyone has a clue
about this problem? Without answers to the questions above,
we are really just guessing.
Message was edited by:
AndrewThompson64 -
Error when executing query without passing variable selection
Hi Gurus
I am getting an error while executing a query with out passing values for variables
When executing the query by passing the filter values report returns the data
When executing the query with out passing variable selections the error message is
Unknown error in SQL interface
Error reading the data of Info Provider ZCRM_O08
Error while reading data; navigation possible
System error in program SSAPLRS_EXCEPTION and form
RS_EXCEPTION_TO_MESSAGE
No Data Available
can any one please help me in resolving this
Thank youHi Srini
Thanks for your quick response
When i am executing the query with selection it is returning the data
giving error when executing with out passing the selection
is there any other cause for this problem
like any particular info object causes this sort of problem
Thank you -
PLS-00201 when executing insexcpr.sql starter
Receiving a PLS-00201 on wwutl_htp.scriptclose when executing @insexcpr.sql with the suggested schema in the May PDK of starter. Followed the prior instructions. Also tried granting execute on wwutl_htp to starter.
Thanks Maxim & Rakesh, that worked.
It does look like a bug. The return on it's own works with other functions e.g. ASCII etc. but not ORA_HASH.
The select from dual version is painfully slow (e.g. 25 x times) though so I think I'll use dbms_utility.get_hash_value instead for now. I was planning to use that version in 9i anyway as my app still needs to run on 9i - but I was trying to get the ORA_HASH working for 10g as it is incredibly fast.
Will definitely log it though. -
Report Painter: Error RG102 when executing report
Hi All!
I need help with an error I'm facing with Report Painter...
When executing a report with a large amount of variables and columns I'm receiving the error:
Message no. RG102: Syntax error in GP3NDZHLG3MURI7VJEVF29KI876800, row 0
If in the General Data Selection instead of using a Variable for the Version I use a fix value, it works OK. However, other reports are working properly with the same Gen. Data Selection.
Does anyone has an idea of the cause of this report?
Thanks!Hi All,
I will try to clarify a little bit on my Issue.
First of all, it's not a BW issue, but a Reporting Problem with the Report Painter for the Consolidation (EC-CS).
The row is configured with a Set of Data regarding a Consolidation Item that includes all the P&L Accounts. It is configured to 'Expand'.
Regarding the columns, I have a large number, between 40 and 50 mixing Ratio with Characteristics and Formulas. Within them, I'm using as well variables for Period, Consolidation Unit and so on.
In the Selection Screen I have configured the following paramters
Version - 100
Dimension - T1
Cons chart/acct - C1
Ledger - US
Cons group (Set and Variable) ZSETUNV
Year for CG breakdwn (Variable) ZEJERAM
Period for CG breajdw (Variable) ZPERAM
With all the above-mentioned configurations the report works great. However, if in the Selecion Parameteres I try to replace the Version (Instead of having fix value 100, to have a variable ZVER) in order to deal with several versions in the same report when I save and execute I receive the posted error:
Message no. RG102: Syntax error in GP3NDZHLG3MURI7VJEVF29KI876800, row 0
Does anyone has an idea if there is a Maxium of Variables for Report Painter or any idea which may be the origin of this error?
Thanks again! -
Oracle error message 1445 when executing a SAP query
Hello experts,
We are running a ECC6.0 DEV and ACC system on an Oracle database (release 10.2.0.2.0).
When I execute a query in SQ01 on our acceptance system, a database error occurs (ORA-1445). However, when I execute the same query on our DEV system, this error does not occur.
I managed to find that this error might be due to a bug in Oracle and that this bug occurs when executing a query with many joins (more than 6), which indeed I am doing. What I do not understand is that this query does run on DEV without errors but not on ACC.
Does anyone have a suggestion?
Thanks and regards,
Alfio EspositoCheck if note "1126517 - ORA-1445 or incorrect values with 10.2" applies and also check if you have the same patches on DEV + PRD installed (using opatch lsinventory)
Markus -
Skip log-in window when executing Desktop Intelligence
Is it possible to skip de log-in window when executing Desktop Intelligence with Authentication u2018Standalone (no CMS)u2019
Robert Glatstein wrote:
I added a new user account.
Could you say a bit more about this? Is this the first account on the machine? Did you delete the previous account? Does this account have admin privileges? How many accounts on the machine? How many admin? Do all accounts have (1) unique short user names (2) unique passwords?
When I re-booted I get to the log-in window, then I get the spinning beach ball. After a while the computer goes to the console window. I can log in, but I remain stuck in the console. How can I get to the desktop?
Do you mean that you login successfully from the login window or that you login successfully at the console? Are you logging into an old account or the new one?
Have you restarted from the install disk and repaired the disk? Have you repaired permissions? Do you have a backup?
- cfr
Maybe you are looking for
-
After downloadingOSX I have not been able to open iphoto. It has the spinning icon for the last 2 1/2 hours and will not let me open nor quit the applications. Is this because of the amount of photos i have in the program? I'm sorry i downloaded the
-
Unlocked 4S - Do I have to restore with iOS8?
I have had my iPhone 4S for three years and recently had the phone unlocked by the company i had the contract with. After they had done this they mentioned something about iTunes and several Google searches make it seem like I need to restore the pho
-
I am trying to download Safari web browser on my pc but cannot get ot it anywhere. How do I get to use Safari?
-
Maximum length for Chart of Accounts
hi experts, In chart of accounts max length is 10. generally all are taken 6, if we take any other number other than 6 how is effect and how it works can you explain clerly ? pls explain effects wit all, like 1234578910 Edited by: Lakshmipathi on Ja
-
Correct way to do "where " clause on date type column
Hi, I am using a following query in Oracle 10.2.0.3 express edition database to retrieve the rows greater than a certain date. select from FLOWS_020100.WWV_FLOW_ACTIVITY_LOG1$ where TIME_STAMP > to_date('31-OCT-12');* This query returns all the rows