Parameter type conflict from Toplink 11g when passing ArrayList as input
When passing ArrayList as an input to a StoredProcedureCall, I am getting the following stacktrace:
t] Exception [TOPLINK-4002] (Oracle TopLink - 11g Release 1 (11.1.1.0.0) (Build 080121)): oracle.toplink.exceptions.DatabaseException
[junit] Internal Exception: java.sql.SQLException: Parameter Type Conflict
[junit] Error Code: 17012
[junit] Call: BEGIN XL_SP_ASSIGN_EVENTLIST(?, usrName=>?, assignUsrkey=>?, assignGrpkey=>?); END;
[junit] bind => [null => eventIdList, FOO1, 117, 0]
[junit] Query: ValueReadQuery()
[junit] at oracle.toplink.exceptions.DatabaseException.sqlException(DatabaseException.java:295)
[junit] at oracle.toplink.internal.databaseaccess.DatabaseAccessor.executeDirectNoSelect(DatabaseAccessor.java:724)
[junit] at oracle.toplink.internal.databaseaccess.DatabasePlatform.executeStoredProcedure(DatabasePlatform.java:1627)
[junit] at oracle.toplink.internal.databaseaccess.DatabaseAccessor.basicExecuteCall(DatabaseAccessor.java:534)
[junit] at oracle.toplink.internal.databaseaccess.DatabaseAccessor.executeCall(DatabaseAccessor.java:467)
Here is my code snippet to pass ArrayList as input parameter :
StoredProcedureCall spc = new StoredProcedureCall();
spc.setProcedureName(procedureName);
spc.addUnamedInOutputArgument("eventIdList", "eventIdList", Types.ARRAY,
"EVENTIDS", ArrayList.class);
String argLoggedInUsrName = "usrName";
String argAssignedUsrKey = "assignUsrkey";
String argAssignedGrpKey = "assignGrpkey";
spc.addNamedArgument(argLoggedInUsrName);
spc.addNamedArgument(argAssignedUsrKey);
spc.addNamedArgument(argAssignedGrpKey);
ValueReadQuery query = new ValueReadQuery();
query.setCall(spc);
query.addArgument("eventIdList");
query.addArgument(argLoggedInUsrName);
query.addArgument(argAssignedUsrKey);
query.addArgument(argAssignedGrpKey);
Vector args = new Vector();
ArrayList eventIdList = new ArrayList();
eventIdList.add(new Long(50000));
args.add(eventIdList);
args.add(loggedInUsrName);
args.add(assignedUsrKey);
args.add(assignedGrpKey);
eventIdList = (ArrayList) session.executeQuery(query, args);
This code chunk was working with an earlier build. Would really appreciate any inputs on the error seen.
Please note - the EVENTIDs type in the pl/sql procedure is defined as a VARRAY(100) of NUMBER
Well I posted a thread several weeks ago...see this thread below
trying to get used to sql*plus, running and creating a simple procedure
and someone made comments about the select query leading to sql injection. Now I am trying to understand the true case behind that. I have an idea made it is because of the first concatenation in the parameter or not. Not sure.
Similar Messages
-
Automation​Parameter Type Conflict
Hi Guys,
I have been trying to use a custom station model with a sequence file however whenever I open it I get a AutomationParameter Type Conflict Error Code: -17329 Source: TSAPI as shown in the picture attached. I can normally solve other type conflicts by just making sure the 2 Types are the same in both sequences however in this case I can't really see where the types are to even compare them. Any help would be appreciated
Regards
Kewal
Solved!
Go to Solution.
Attachments:
error.JPG 31 KBKewal -
You may want to use the Type Differ tool that is included in the TestStand Toolkit - Large Application Development that is available on ni.com/labs. This tool can be very helpful in merging the types in a number of different files to the same definition as the types defined in a master file that you specify.
Hope this helps.
Manooch H.
National Instruments -
How to pass simple parameter to XSLT from BPM 11g Data Association
Is it possible to pass a simple parameter to an XSLT from a BPM 11g Data Association (11.1.1.6.0)? Here is why I asked. I have a transform that I want to reuse across two service activities in the same process. The only difference is one integer ID value between the two activities. (Happens to be running an IPM saved search, each with a different ID.)
I tried mapping the ID value in the Data Association dialog, in addition to the XSLT mapping, but didn't work. Or is there another method I could use to reuse this transform (besides just copying it as I've done for now)? Thanks.If I understood your scenario, the point is: you always have to pass the same dataObjects as parameters to the XSL, but you can change the values of them in an association step before the transformation.
Lets see if the following can fit your needs:
1) your project has three BusinessObjects: "SearchParam", "CommonData" and "Result"; and five process dataObjects:
- "search1", "search2" and "search" of type "SearchParam";
- "commonData" of type "CommonData";
- "result" of type "Result"
2) your XSL has "result" as target and two sources: "search" and "commonData"
3) In some part of the process flow you have a scriptTask with:
- a data association from "search1" to "search";
- a transformation with "search" and "commonData" as parameters
4) In other part of the process flow you can use the same transformation, but using the data from "search2" as parameter, adding a scriptTask with:
- a data association from "search2" to "search";
- the same transformation with "search" and "commonData" as parameters
In this scenario you are reusing the same XSL file only changing the values for one parameter. -
"table type" result from stored procedure (Oracle 10g) for physical service
Hello,
I'm trying to create a physical service based on a stored procedure which returns a table type like this:
SQL
-- create table
create table myTable ( "col1" VARCHAR2(250) not null enable, "filtercol1" VARCHAR2(250), "filtercol2" VARCHAR2(250), "sortcol1" VARCHAR2(250), "sortcol2" VARCHAR2(250), "sortcol3" VARCHAR2(250))
-- create return type
create or replace type myResultType as table of varchar2(250);
-- create function
create or replace function getResult(param1 in varchar2, param2 in varchar2, orderby in varchar2) return myResultType as
query_str VARCHAR2(1000);
myResult myResultType;
begin
query_str := 'select m.col1 from myTable m where m.filtercol1 like :param1 and m.filtercol2 like :param2 order by ' || orderby;
execute immediate query_str bulk collect into myResult using param1, param2;
return myResult;
end getResult;
The wizard for creating the physical service complains that it can't find the return type and I have to create a schema by myself. How should it look like? I can't find a sample in the documentation.
Thanks for any help,
GuidoOk, now the wizard produces something like this:
(::pragma function <f:function xmlns:f="urn:annotations.ld.bea.com" visibility="protected" kind="library" isPrimary="false" nativeName="GETRESULT" nativeLevel2Container="MY_SCHEMA" style="storedProcedure">
<nonCacheable/>
<params xmlns:xs="http://www.w3.org/2001/XMLSchema" xmlns:xdt="http://www.w3.org/2004/07/xpath-datatypes" xmlns:pn1="ld:physical/SQLServices/MY_TMP_TABLE" >
<param name="RETURN_VALUE" kind="return" xqueryType="pn1:MY_TMP_TABLE" nativeTypeCode="0" nativeType="RowSet"/>
<param name="RETURN_VALUE" kind="out" xqueryType="pn1:MY_TMP_TABLE" nativeTypeCode="0" nativeType="RowSet"/>
<param name="PARAM1" kind="in" xqueryType="xs:string" nativeTypeCode="12" nativeType="VARCHAR2"/>
<param name="PARAM2" kind="in" xqueryType="xs:string" nativeTypeCode="12" nativeType="VARCHAR2"/>
<param name="ORDERBY" kind="in" xqueryType="xs:string" nativeTypeCode="12" nativeType="VARCHAR2"/>
</params>
</f:function>::)
declare procedure f1:GETRESULT($PARAM1 as xs:string, $PARAM2 as xs:string, $ORDERBY as xs:string) as schema-element(t1:GETRESULT) external;
Then WorkSpace Studio complains about: "... error: cos-element-consistent: Type of 'RETURN_VALUE' is inconsistent with another element with the same name in this content model. "
If I rename one RETURN_VALUE to RETURN_VALUE1 (the param name and in the schema file) the error is gone, but if I try to test the method I get:
com.bea.dsp.das.exception.DASException: weblogic.xml.query.exceptions.XQuerySagaException: {bea-err}UPD003: Update failure: mixed outcome, update error dispatched (updateid=SAGA_596ba32b1ff8d8a4:181f0b20:11f92ed2529:-7fe2): java.lang.RuntimeException: Konflikt bei Parametertyp
at com.bea.dsp.das.ejb.EJBClient.invokeOperation(EJBClient.java:160)
at com.bea.dsp.das.DataAccessServiceImpl.invokeOperation(DataAccessServiceImpl.java:171)
at com.bea.dsp.das.DataAccessServiceImpl.invoke(DataAccessServiceImpl.java:122)
at com.bea.dsp.ide.xquery.views.test.QueryExecutor.invokeFunctionOrProcedure(QueryExecutor.java:121)
at com.bea.dsp.ide.xquery.views.test.XQueryTestViewContent.getFunctionExecutionResult(XQueryTestView.java:1006)
at com.bea.dsp.ide.xquery.views.test.XQueryTestViewContent.executeFunction(XQueryTestView.java:1134)
at com.bea.dsp.ide.xquery.views.test.XQueryTestViewContent.widgetSelectedImpl(XQueryTestView.java:1807)
at com.bea.dsp.ide.xquery.views.test.XQueryTestViewContent.access$300(XQueryTestView.java:159)
at com.bea.dsp.ide.xquery.views.test.XQueryTestViewContent$3.run(XQueryTestView.java:1535)
at org.eclipse.swt.custom.BusyIndicator.showWhile(BusyIndicator.java:67)
at com.bea.dsp.ide.xquery.views.test.XQueryTestViewContent.widgetSelectedBusy(XQueryTestView.java:1538)
at com.bea.dsp.ide.xquery.views.test.XQueryTestViewContent.widgetSelected(XQueryTestView.java:1500)
at org.eclipse.swt.widgets.TypedListener.handleEvent(TypedListener.java:90)
at org.eclipse.swt.widgets.EventTable.sendEvent(EventTable.java:66)
at org.eclipse.swt.widgets.Widget.sendEvent(Widget.java:928)
at org.eclipse.swt.widgets.Display.runDeferredEvents(Display.java:3348)
at org.eclipse.swt.widgets.Display.readAndDispatch(Display.java:2968)
at org.eclipse.ui.internal.Workbench.runEventLoop(Workbench.java:1930)
at org.eclipse.ui.internal.Workbench.runUI(Workbench.java:1894)
at org.eclipse.ui.internal.Workbench.createAndRunWorkbench(Workbench.java:422)
at org.eclipse.ui.PlatformUI.createAndRunWorkbench(PlatformUI.java:149)
at org.eclipse.ui.internal.ide.IDEApplication.run(IDEApplication.java:95)
at org.eclipse.core.internal.runtime.PlatformActivator$1.run(PlatformActivator.java:78)
at org.eclipse.core.runtime.internal.adaptor.EclipseAppLauncher.runApplication(EclipseAppLauncher.java:92)
at org.eclipse.core.runtime.internal.adaptor.EclipseAppLauncher.start(EclipseAppLauncher.java:68)
at org.eclipse.core.runtime.adaptor.EclipseStarter.run(EclipseStarter.java:400)
at org.eclipse.core.runtime.adaptor.EclipseStarter.run(EclipseStarter.java:177)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
at java.lang.reflect.Method.invoke(Method.java:585)
at org.eclipse.core.launcher.Main.invokeFramework(Main.java:339)
at org.eclipse.core.launcher.Main.basicRun(Main.java:283)
at org.eclipse.core.launcher.Main.run(Main.java:984)
at org.eclipse.core.launcher.Main.eclipse_main(Main.java:959)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
at java.lang.reflect.Method.invoke(Method.java:585)
at com.m7.installer.util.NitroxMain$1.run(NitroxMain.java:39)
at java.awt.event.InvocationEvent.dispatch(InvocationEvent.java:199)
at java.awt.EventQueue.dispatchEvent(EventQueue.java:461)
at java.awt.EventDispatchThread.pumpOneEventForHierarchy(EventDispatchThread.java:242)
at java.awt.EventDispatchThread.pumpEventsForHierarchy(EventDispatchThread.java:163)
at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:157)
at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:149)
at java.awt.EventDispatchThread.run(EventDispatchThread.java:110)
"Konflikt bei Parametertyp" means something like: parameter type conflict
Best regards,
Guido -
Inferring parameter type when passing DBNull
Hello,
how can I generate a SqlParameter with DBNull value if I don't know the column type? If I do not specify it, it defaults to string and the command fails if the column type is different.
The SQL server does not seem to worry that much about types if you include NULL in the statement directly, so is there a way how to achieve this using the parameters?
Thanks,
JanOK, well I was talking about setting the column value to Null *in* the stored procedure based upon what it has received from .NET. I'm not sure how the parameter type in ADO.NET is relevant in this instance. That is unless we're not
talking about the same thing.
Is there an issue with using optional parameters and defaulting a column value to Null? I don't think ADO.NET is going to be much help here.
Paul ~~~~ Microsoft MVP (Visual Basic) -
Pass parameter to form from webpage?
Hi guys,
I'm aware that you are able to pass parameters between forms using CALL_FORM (using parameter list).
Is it possible to pass parameters to a form from the webpage?i am trying to pass the parent_id as a parameter to a portal page but am not able to... i can add it to the list of in parameters to the PL/SQL based parent id but when i add the parent id to the url then i get no result... i created a custom attribute for the parent id since there is no attribute build other then page group and page id... when I set the Parent ID attributes default value in the attribute properties of the item type based on PL/SQL it just brings back results for the default value and if i pass a different value for ithe parent id i dont get the correct result I get the result for the default parent id.
I am using the followin url to pass the parent id
http://localhost:7778/portal/page?_pageid=76,87832&_dad=portal&_schema=PORTAL&parentid=22223 -
Select options field is giving type conflict when calling a class.
hai guys,
i have a field SALESORD in subscreen as a SELECT-OPTIONS field for vbeln.
Now i created a class,with SALESDETAILS of type TABLE as a parameter of a method.
when i call the method(after creating an object) the SALESDETAILS parameter is supposed to take the SALESORD field.
but it gives me a type conflict error.
i wonder why..coz both fileds have same type..
how to resolve the issue..
helpful answers will be rewarded.
thank you.Hi Shravan,
Pass the select-options vbeln values into a temporary table and pass this table into the method.
<b>Reward for helpful answers</b>
Satish -
Type conflict when calling a function module (field length)
Dear All,
I am getting this following error while executing: Type conflict when calling a function module (field length)
This is piece of coding i have writern in my action button.
method SEARCH_MATERIAL .
data:
node_mat_input TYPE REF TO if_wd_context_node,
node_mat_output TYPE REF TO if_wd_context_node,
material TYPE BAPIMATDET-MATERIAL,
itab TYPE TABLE OF BAPIMATDOA.
node_mat_input = wd_context->get_child_node( 'NODE_MAT_INPUT' ).
node_mat_output = wd_context->get_child_node( 'NODE_MAT_OUTPUT' ).
node_mat_input->get_attribute( EXPORTING name = 'MATERIAL'
IMPORTING value = material ).
CALL FUNCTION 'BAPI_MATERIAL_GET_DETAIL'
EXPORTING
material = material
PLANT = plant
VALUATIONAREA =
VALUATIONTYPE =
MATERIAL_EVG =
IMPORTING
MATERIAL_GENERAL_DATA = itab
RETURN =
MATERIALPLANTDATA =
MATERIALVALUATIONDATA =
node_mat_output->bind_table( itab ).
endmethod.
Attributes are:
Node name = INPUT its structure is BAPIMATDET
INPUT attributes = MATERIAL of type BAPIMATDET-MATERIAL
Thanks,
Gopi.Hi Amit,
I have used service call to fetch records from that bapi..
The following is the code generated by service call:-
METHOD execute_bapi_material_get_deta .
declarations for context navigation
DATA:
node_bapi_material_get_de TYPE REF TO if_wd_context_node,
node_exporting TYPE REF TO if_wd_context_node,
node_material_general_dat TYPE REF TO if_wd_context_node,
node_importing TYPE REF TO if_wd_context_node,
lri_element TYPE REF TO if_wd_context_element.
declarations for fuba parameters
data:
stru_c_material_general_dat TYPE if_componentcontroller=>element_material_general_dat.
DATA:
attr_material TYPE bapimatdet-material,
attr_plant TYPE bapimatall-plant.
get all involved child nodes
node_bapi_material_get_de = wd_context->get_child_node( `BAPI_MATERIAL_GET_DE` ).
node_exporting = node_bapi_material_get_de->get_child_node( `EXPORTING` ).
node_material_general_dat = node_exporting->get_child_node( `MATERIAL_GENERAL_DAT` ).
node_importing = node_bapi_material_get_de->get_child_node( `IMPORTING` ).
get input from context
node_importing->get_attribute( EXPORTING name = `MATERIAL`
IMPORTING value = attr_material ).
node_importing->get_attribute( EXPORTING name = `PLANT`
IMPORTING value = attr_plant ).
the invocation - errors are always fatal !!!
CALL FUNCTION 'BAPI_MATERIAL_GET_DETAIL'
EXPORTING
material = attr_material
plant = attr_plant
" valuationarea = wd_This->Valuationarea
" valuationtype = wd_This->Valuationtype
" material_Evg = wd_This->Material_Evg
IMPORTING
material_general_data = stru_c_material_general_dat
" return = wd_This->Return
" materialplantdata = wd_This->Materialplantdata
" materialvaluationdata = wd_This->Materialvaluationdat
node_material_general_dat->bind_structure( stru_c_material_general_dat[] ).
ENDMETHOD.
but the problem is I am getting the following error while compiling...
" stru_c_materialplantdata " is not an internal table - the " OCCOURS n" specification is missing.
Thanks,
Gopi.
Edited by: Yegalaivan on Nov 18, 2009 8:30 AM -
ERROR: -Type conflict when calling a function module
hi to all,
when iam executing the program in browser Type conflict when calling a function module error is showing, i have bind all the attribute correctly still iam getting error, WHEN I CLICK ON THE SEARCH BUTTON DATA IS NOT COMING TO MY TABLE ITAB1 plz help me....
DATA:
NODE_IP_SELECTION TYPE REF TO IF_WD_CONTEXT_NODE,
ELEM_IP_SELECTION TYPE REF TO IF_WD_CONTEXT_ELEMENT,
STRU_IP_SELECTION TYPE IF_PLANNING_HISTORY=>ELEMENT_IP_SELECTION ,
ITAB TYPE TABLE OF ZSL_PL_UPDATE1,
WA TYPE ZSL_PL_UPDATE1.
navigate from <CONTEXT> to <IP_SELECTION> via lead selection
NODE_IP_SELECTION = WD_CONTEXT->GET_CHILD_NODE( NAME = `IP_SELECTION` ).
get element via lead selection
ELEM_IP_SELECTION = NODE_IP_SELECTION->GET_ELEMENT( ).
get all declared attributes
ELEM_IP_SELECTION->GET_STATIC_ATTRIBUTES(
IMPORTING
STATIC_ATTRIBUTES = STRU_IP_SELECTION ).
CALL FUNCTION 'ZBAPI_PL_UPDATE'
EXPORTING
GV_LIFNR = STRU_IP_SELECTION-LIFNR
GV_MATNR = STRU_IP_SELECTION-LIFNR
GV_GJAHR = ' '
GV_WEEK_LOW = STRU_IP_SELECTION-FROM_WEEK
GV_WEEK_HIGH = STRU_IP_SELECTION-TO_WEEK
IMPORTING
RETURN =
TABLES
GT_PL_UPDATE = ITAB
DATA:
NODE_PLANN_NODE TYPE REF TO IF_WD_CONTEXT_NODE,
ELEM_PLANN_NODE TYPE REF TO IF_WD_CONTEXT_ELEMENT,
STRU_PLANN_NODE TYPE IF_PLANNING_HISTORY=>ELEMENT_PLANN_NODE,
WA1 TYPE IF_PLANNING_HISTORY=>ELEMENT_PLANN_NODE,
ITAB1 TYPE TABLE OF IF_PLANNING_HISTORY=>ELEMENT_PLANN_NODE.
LOOP AT ITAB INTO WA.
MOVE-CORRESPONDING WA TO WA1.
APPEND WA1 TO ITAB1.
ENDLOOP.
navigate from <CONTEXT> to <PLANN_NODE> via lead selection
NODE_PLANN_NODE = WD_CONTEXT->GET_CHILD_NODE( NAME = `PLANN_NODE` ).
CALL METHOD NODE_PLANN_NODE->BIND_TABLE
EXPORTING
NEW_ITEMS = ITAB1
SET_INITIAL_ELEMENTS = ABAP_TRUE
INDEX =
ENDMETHOD.CALL FUNCTION 'ZBAPI_PL_UPDATE'
EXPORTING
GV_LIFNR = STRU_IP_SELECTION-LIFNR
GV_MATNR = STRU_IP_SELECTION-LIFNR
GV_GJAHR = ' '
GV_WEEK_LOW = STRU_IP_SELECTION-FROM_WEEK
GV_WEEK_HIGH = STRU_IP_SELECTION-TO_WEEK
IMPORTING
RETURN =
TABLES
GT_PL_UPDATE = ITAB
Problem is here
check out the type GV_GJAHR whether it accepts string type.
thanks
sarbjeet singh -
Hi Experts,
When I run my Application in Portal, i am getting the following error.
Type conflict when calling a function module., error key: RFC_ERROR_SYSTEM_FAILURE
When I execute the BAPI, it is getting executed.
My Bapi Strucute:
Import Parameters
IM_MAT_Search --> ZPTIP_MAT --> Import Parameters
Tables
IT_INFO_REC --> ZMM_GET_ITEM --> Output Parameters
When I import the model, i am getting the structure like this
BAPI_Name > ZMM_BAPI_Input> IM_MAT_Search(respective Parameters) , Output (respective Tables and their parameters)
> ZMM_Input1> Parameters
This is the way, how i am executing in webdynpro java
Zmm_Bapi_Ptip_Search_Input eleInput = new Zmm_Bapi_Ptip_Search_Input();
wdContext.nodeZmm_Bapi_Ptip_Search_Input().bind(eleInput);
Zptip_Asset eleInputAsset = new Zptip_Asset();
eleInputAsset.setSearch("ACRS");
wdContext.nodeZptip_Asset().bind(eleInputAsset);
eleInput.setIm_Ast_Search(eleInputAsset);
wdContext.nodeZmm_Bapi_Ptip_Search_Input().bind(eleInput);
wdContext.nodeZmm_Bapi_Ptip_Search_Input().currentZmm_Bapi_Ptip_Search_InputElement().modelObject().execute();
wdContext.nodeOutput().invalidate();
Please let me know, how to do the same.
Thanks in advance.
Regards,
PalaniHi David,
I checked for the Parameter of setIm_Ast_Search, it is of Zptip_Asset.
Hi Saleem,
When I changed the same, i am getting the Type conflict error,
Type conflict when calling a function module., error key: RFC_ERROR_SYSTEM_FAILURE
Please let me know,what can be done in this regard to solve the problem.
My BAPI Structure when imported as model
SearchBAPI
--> ZMM_BAPI_SEARCH_INPUT
> IM_AST_SEARCH(zPTIP_ASSET)
>Zptip_Asset
>Search (Parameter)
> OutPut(ZMM_BAPI_Search_Output)
>IT_Asser_Rec(ZMM_Asset)
>ZMM_Asset
>TXT100 (output Parameter)
--> ZMM_BAPI_SEARACH_OUTPUT
--> ZPTIP_ASSET
>Search (Parameter)
Thanks & Regards,
Palani
Edited by: Palani Appan on Nov 11, 2009 5:31 PM -
When/How to use - "search" parameter type in parameter like other types.
We recently upgraded BI Publisher to 10.1.3.4. I saw new parameter type "search" in parameter section, when creating report. whats the use of it? How to use it ? like other parameter type Text, Menu,Hidden, Date.
I couldn't find any help or release notes on this !
Thanks
AyapsI started looking into this parameter type when our drop-down for customer numbers went from 13,000 (manageable) to 45,000 (completely unmanageable).
I imagine this is supposed to mimic the effects of a "Long List" type LOV in Oracle Applications (as I had inquired about in [this thread|http://forums.oracle.com/forums/thread.jspa?threadID=895521&stqc=true|Large List of Values (LoV) hangs. Is there an equivalent for a long list?]), but performance-wise, "Search" does not seem to be any more efficient that using the "Menu" type LOV. Even with the help of having a partial string with a wildcard to match, the "Search" still takes too long to pull up to be of any use to us. -
How to pass parameter /1BCDWB/DOCPARAMS from webdynpro?
Hi Experts,
We create a wdp view and indert an adobe form into it. And this form has an interface based on XML schema.
Now we want to translate this form into multi-language, and in wdp side, we will display diffenent language version of form for different regions.
I found that there is a paramater /1BCDWB/DOCPARAMS-LANGU, and it seems can control the language version in processing.
But I donot know how to pass parameter /1BCDWB/DOCPARAMS from wdp to adobe form.
Its my 1st to use adobe form and wdp, i really have no way out. Any advice will be Appreciated.
Thank you.
Richard@sahai: Hey no , I am using very very simple example without any query or complex statement. I just have 2 radio buttons in VIEW1. On clicking the radio button, the naviagtion to view2 is done and the value of selected radio button is passed as a parameter in the plug.
In the view2 , i just have a caption in my layout where i am displaying the parameter value by setting the attribute.THe warning i get is in view2. Here is the code. Apart from this there is no coding in view2.
METHOD HANDLEPLUG_IN_V2 .
DATA:
NODE_CAPT_MSG TYPE REF TO IF_WD_CONTEXT_NODE,
ELEM_CAPT_MSG TYPE REF TO IF_WD_CONTEXT_ELEMENT,
STRU_CAPT_MSG TYPE IF_VIEW2=>ELEMENT_CAPT_MSG ,
ITEM_MSG LIKE STRU_CAPT_MSG-MSG.
* navigate from <CONTEXT> to <CAPT_MSG> via lead selection
NODE_CAPT_MSG = WD_CONTEXT->GET_CHILD_NODE( NAME = `CAPT_MSG` ).
* get single attribute
NODE_CAPT_MSG->SET_ATTRIBUTE(
EXPORTING
NAME = `MSG`
VALUE = PAR_1 ).
ENDMETHOD. -
Pass parameter to VC from workflow
Hi,
We created a Visual Composer application which we would like to call from a workflow. If we don't pass a parameter to the VC, it works, when we pass one, it doesnu2019t work.
Our Visual Composer application expects an input value called WI_ID.
We would like to call this Visual Composer aplication via an iView launched from a workflow item.
Our task is TS90000138 and its visualization contains DYNPARAM: wi_id=${item.externalId}.
If we execute this task, &iviewDynamicParameter=wi_id%3d000005985089&wi_id=000005985089 is added to the URL, but the value is not passed on to the VC application, because as explained in http://www.sdn.sap.com/irj/scn/index?rid=/library/uuid/2090414b-cd20-2a10-d594-8de9d146044a, Visual Composer expects &_paramsXmlStr_=<Params><Row%20WI_ID="5984427"/></Params>.
We tried two options:
Option 1:
change the task visualization to paramsXmlStr=<Params><Row%20WI_ID="${item.externalId}"/></Params>, but this results in the following line in the UWL XML (after re-registering the UWL WebFlowConnector and deleting the cache):
<Property name="iviewDynamicParameter" value="_paramsXmlStr_=<Params><Row%20WI_ID="${item.externalId}"/></Params>"/>
which is not a valid XML format due to the < and > signs.
Option 2:
encode the string as explained on http://www.sdn.sap.com/irj/scn/go/portal/prtroot/docs/library/uuid/2090414b-cd20-2a10-d594-8de9d146044a?QuickLink=index&overridelayout=true and enter paramsXmlStr=%3CParams%3E%3CRow%20WI_ID%3D%22${item.externalId}%22%20/%3E%3C/Params%3E into the task visualization.
When we execute this "the encoding gets encoded" and we get the following URL, which doesn't work either:
&_paramsXmlStr_%3D%253CParams%253E%253CRow%2520WI_ID%253D%2522000005985097%2522%2520%2F%253E%253C%2FParams%253E&iviewDynamicParameter=_paramsXmlStr_%3D%253CParams%253E%253CRow%2520WI_ID%253D%2522000005985097%2522%2520%2F%253E%253C%2FParams%253E
As explained on http://help.sap.com/saphelp_nw70/Helpdata/en/45/a7863f445f4617e10000000a114084/content.htm, there are only 3 pamaters (ID, CONFIRM, DYNPARAM) and no other one can be used.
Do you know how to fix this issue?
Thanks,
TamasHello Tamas,
I did succeed to call a Visual Composer model from the UWL (using workflow tasks coming from our ERP 6 backend).
I did customised UWL workflow task (within the portal) :
<Property
name="iviewDynamicParameter"
value="WI_ID=${item.externalId}"/>
<Property
name="iview"
value="pcd:portal_content/pcc_portal_application/.../xxx.uwl_task_VC"/>
Parameter WI_ID (WorkItem Id) is automatically sent by the portal system.
I set, in VC, a start point with a string data parameter called WI_ID.
When calling the model this parameter WI_ID is filled.
Hope it could help.
Rgds
Gilles -
Syntax Error with Table Parameter (type: ANY) when Creating Function Module
Hello experts,
I want to create a function module with a table parameter and table type is ANY. But when I check (Ctrl+F7) this function module, syntax error occurs - "In this statement, the internal table "MSG_TABLE_ITEM" must have the type "STANDARD TABLE"."
Could anyone tell me what the wrong is? And how can I fix it?
Thanks,
ShelwinHi,
For table parameters, you can only pass
MSG_TABLE_ITM TYPE STANDARD TABLE
or
MSG_TABLE_ITM ( don't fill other columns TYPING ASSOCIATED TYPE ).
For reference check FM 'GUI_UPLOAD' - Table parameters
Regards,
DPM -
Sub Query Error When Passing Dynamic Parameter.
Dear All, I need help for below query problem.
I have try below query run no problem when pass a static Parameter into the query but it throw error once i have add in the dynamic parameter:-
--Sales BatchNum Transaction
SELECT T0.[ItemCode], T0.[ItemName], T0.[WhsCode], T0.[BatchNum], ISNULL(T4.[AvgPrice],0) AS 'Avg Price', SUM(T0.[Quantity]) AS 'Sales Quantity',
(SELECT [Quantity] FROM [OIBT] T1 WHERE T1.[ItemCode] = T0.[ItemCode] AND T1.[WhsCode] = T0.[WhsCode] AND T1.[BatchNum]=T0.[BatchNum]) AS 'Stock OnHand'
FROM [IBT1] T0 INNER JOIN [OITM] T2 ON T0.[ItemCode] = T2.[ItemCode]
INNER JOIN [OITB] T3 ON T2.[ItmsGrpCod] = T3.[ItmsGrpCod]
INNER JOIN [OITW] T4 ON T0.[ItemCode] = T4.[ItemCode] AND T0.[WhsCode] = T4.[WhsCode]
WHERE T0.[BaseType] = [%0] AND T0.[DocDate] BETWEEN [%1] AND [%2] AND T3.[ItmsGrpNam] = [%3]
GROUP BY T0.[ItemCode], T0.[ItemName], T0.[WhsCode], T0.[BatchNum], T4.[AvgPrice]
--ORDER BY T0.[ItemCode]
UNION ALL
--No Sales Batch Transaction
SELECT T4.[ItemCode], T4.[ItemName],T4.[WhsCode], T4.[BatchNum], ISNULL(T7.[AvgPrice],0) AS 'Avg Price', 0 AS 'Sales Quantity' ,SUM(T4.[Quantity])
FROM [OIBT] T4 INNER JOIN [OITM] T5 ON T4.[ItemCode] = T5.[ItemCode]
INNER JOIN [OITB] T6 ON T5.[ItmsGrpCod] = T6.[ItmsGrpCod]
INNER JOIN [OITW] T7 ON T4.[ItemCode] = T7.[ItemCode] AND T4.[WhsCode] = T7.[WhsCode]
WHERE NOT EXISTS
( SELECT T0.[ItemCode], T0.[ItemName], T0.[WhsCode], T0.[BatchNum], ISNULL(T5.[AvgPrice],0) AS 'Avg Price', SUM(T0.[Quantity]) AS 'Sales Quantity'
FROM [IBT1] T0 INNER JOIN [OITM] T2 ON T0.[ItemCode] = T2.[ItemCode]
INNER JOIN [OITB] T3 ON T2.[ItmsGrpCod] = T3.[ItmsGrpCod]
INNER JOIN [OITW] T5 ON T0.[ItemCode] = T5.[ItemCode] AND T0.[WhsCode] = T5.[WhsCode]
WHERE T0.[BaseType] = [%1] AND T0.[DocDate] BETWEEN [%1] AND [%2] AND T4.[ItemCode]=T0.[ItemCode] AND T4.[WhsCode]=T0.[WhsCode] AND T4.[BatchNum]=t0.[BatchNum] AND T3.[ItmsGrpNam] = [%3]
GROUP BY T0.[ItemCode], T0.[ItemName], T0.[WhsCode], T0.[BatchNum],T5.[AvgPrice]
AND T6.[ItmsGrpNam] = [%3]
GROUP BY T4.[ItemCode], T4.[ItemName], T4.[WhsCode], T4.[BatchNum], T7.[AvgPrice]
HAVING SUM(T4.[Quantity]) > 0
ORDER BY 1, 2, 3, 5 DESC
I think SAP Query Manager can support the sub-query, kindly advise how to solve or other alternative way to solve this issue.
Thanks a lot.Dear Thanga Raj K,
From your solution i can get my expected result, only within your solution you miss out the @ in line 32 for ToDate variable.
After i have added it, it working perfectly.
Thanks once again.
For other user References code(Corrected):-
Declare @basetype as int
Declare @FromDate as Datetime
Declare @ToDate as Datetime
Declare @ItemGroup as nvarchar(30)
set @basetype = (select max(s0.BaseType) from IBT1 S0 where s0.BaseType = '[%0]')
set @FromDate = (select min(S1.DocDate) from IBT1 S1 where S1.DocDate >= '[%1]')
set @ToDate = (select max(S2.DocDate) from IBT1 S2 where S2.DocDate <= '[%2]')
set @ItemGroup = (select max(S3.ItmsGrpNam) from OITB s3 where S3.ItmsGrpNam = '[%3]')
--Sales BatchNum Transaction
SELECT T0.ItemCode, T0.ItemName, T0.WhsCode, T0.BatchNum, ISNULL(T4.AvgPrice,0) AS 'Avg Price', SUM(T0.Quantity) AS 'Sales Quantity',
(SELECT Quantity FROM OIBT T1 WHERE T1.ItemCode = T0.ItemCode AND T1.WhsCode = T0.WhsCode AND T1.BatchNum=T0.BatchNum) AS 'Stock OnHand'
FROM IBT1 T0 INNER JOIN OITM T2 ON T0.ItemCode = T2.ItemCode
INNER JOIN OITB T3 ON T2.ItmsGrpCod = T3.ItmsGrpCod
INNER JOIN OITW T4 ON T0.ItemCode = T4.ItemCode AND T0.WhsCode = T4.WhsCode
WHERE T0.BaseType = @basetype AND T0.DocDate BETWEEN @FromDate AND @ToDate AND T3.ItmsGrpNam = @ItemGroup
GROUP BY T0.ItemCode, T0.ItemName, T0.WhsCode, T0.BatchNum, T4.AvgPrice
--ORDER BY T0.ItemCode
UNION ALL
--No Sales Batch Transaction
SELECT T4.ItemCode, T4.ItemName,T4.WhsCode, T4.BatchNum, ISNULL(T7.AvgPrice,0) AS 'Avg Price', 0 AS 'Sales Quantity' ,SUM(T4.Quantity)
FROM OIBT T4 INNER JOIN OITM T5 ON T4.ItemCode = T5.ItemCode
INNER JOIN OITB T6 ON T5.ItmsGrpCod = T6.ItmsGrpCod
INNER JOIN OITW T7 ON T4.ItemCode = T7.ItemCode AND T4.WhsCode = T7.WhsCode
WHERE NOT EXISTS
(SELECT T0.ItemCode, T0.ItemName, T0.WhsCode, T0.BatchNum, ISNULL(T5.AvgPrice,0) AS 'Avg Price', SUM(T0.Quantity) AS 'Sales Quantity'
FROM IBT1 T0 INNER JOIN OITM T2 ON T0.ItemCode = T2.ItemCode
INNER JOIN OITB T3 ON T2.ItmsGrpCod = T3.ItmsGrpCod
INNER JOIN OITW T5 ON T0.ItemCode = T5.ItemCode AND T0.WhsCode = T5.WhsCode
WHERE T0.BaseType = @basetype AND T0.DocDate BETWEEN @FromDate AND @ToDate AND T4.ItemCode=T0.ItemCode AND T4.WhsCode=T0.WhsCode AND T4.BatchNum=t0.BatchNum AND T3.ItmsGrpNam = @ItemGroup
GROUP BY T0.ItemCode, T0.ItemName, T0.WhsCode, T0.BatchNum,T5.AvgPrice
AND T6.ItmsGrpNam = @ItemGroup
GROUP BY T4.ItemCode, T4.ItemName, T4.WhsCode, T4.BatchNum, T7.AvgPrice
HAVING SUM(T4.Quantity) > 0
ORDER BY 1, 2, 3, 5 DESC
Maybe you are looking for
-
Hi all, I scheduled a report to run in the background and it is working and generating a list in the spool. The thing is i am able to see all the records but all the columns are not being displayed. The list generated when running it in the foregroun
-
Query rewrite problem related to FGAC/RLS/VPD
My problem in related to Fine Grained Access Control / DBMS_RLS. Let's start with a simple example and elaborate further. Basic problem: Let's say we have two tables: create table LEVEL1( L1NR NUMBER not null, TAG NUMBER); alter table LEVEL1 add cons
-
Hello every one, Can anyone among you tell me what are the specific criterias to have multiple PO's in the SC. ex: I have a SC with 3 line items, in which case do I get three different PO's for that Shopping cart, and what are the possible ways to ge
-
How can I change the casing in my app reserved name?
I have reserved a name for my Windows Phone App, but not yet published it. I made an error in the casing. I started with a small w, it should start with a capital W. Is there a way that Microsoft Developer Center can update the casing of my reserved
-
10.3.4 Imaging engine fail to do small partitino
Hi, For those whose imaging a computer with a zmg wich include a smaller partition than the hardrive with 10.3.4 Imaging engine could get a bad formatted partition and fail to boot whit it... In my case I fixed it buy setting the zmg's partition larg