Too Many Parameters
Hi,
I have a few methods which have quite a few parameters - in some cases about 10 or 11. None of these methods are similar in so much as to warrant a bean object being passed, but is there another alternative?
Any ideas?
warrant a bean objectdoesn't warrant a bean object eh? how ya figure that besides apathy? for example:
someObj.setColor(int, int, int)
sure that works, but doesn't
someObj.setColor(Color)
work much better in showing you what your doing here? you want to set a color, so use a color.
these many parameters your putting in, don't they represent something? like the others' said, its a bit vague to comment here... maybe you have a case where these many parameters aren't belonging to the same thing, but its hard to imagine.. even if its some flight control system that take variables from many places in wierd ways....why thats an "event" of sorts and so you can pass in an event with all that information. in j2ee httprequests, you can dump all sorts of things into a request or session and then just pass that around and get out what you need.....same thing. map, list, whatever you choose. it represents an event none the less.
Similar Messages
-
Too many Parameters in the Selection Screen
Hi all,
I have a requirement to include too many parameters in the selection screen. Let me explain the scenario.
1. There is an option for Output File name previously. But now i need to provide fields for 5 to 8 file names in the same Selection Screen.
2. There will be 8 more check boxes coming to the selection screen. Could you please provide me the best & Optimal way to incorporate them in the same selection screen.
Already the screen is overcrowded with many fields & What need is that 'Is there any option to utilise the Screen at most without using Tab Strip?'
Pleas Help me in this crucial regard.
Thanks & Best Regards,
VishnuHi,
Use the below logic.
selection-screen: begin of block blk1 with frame.
selection-screen: begin of line.
parameters: p_chk1 as checkbox.
SELECTION-SCREEN COMMENT 4(5) comm1.
selection-screen position 10.
parameters: p_file1 like rlgrap-filename.
selection-screen: end of line.
selection-screen: begin of line.
parameters: p_chk2 as checkbox.
SELECTION-SCREEN COMMENT 4(5) comm2.
selection-screen position 10.
parameters: p_file2 like rlgrap-filename.
selection-screen: end of line.
selection-screen: begin of line.
parameters: p_chk3 as checkbox.
SELECTION-SCREEN COMMENT 4(5) comm3.
selection-screen position 10.
parameters: p_file3 like rlgrap-filename.
selection-screen: end of line.
selection-screen: begin of line.
parameters: p_chk4 as checkbox.
SELECTION-SCREEN COMMENT 4(5) comm4.
selection-screen position 10.
parameters: p_file4 like rlgrap-filename.
selection-screen: end of line.
selection-screen: begin of line.
parameters: p_chk5 as checkbox.
SELECTION-SCREEN COMMENT 4(5) comm5.
selection-screen position 10.
parameters: p_file5 like rlgrap-filename.
selection-screen: end of line.
selection-screen: begin of line.
parameters: p_chk6 as checkbox.
SELECTION-SCREEN COMMENT 4(5) comm6.
selection-screen position 10.
parameters: p_file6 like rlgrap-filename.
selection-screen: end of line.
selection-screen: begin of line.
parameters: p_chk7 as checkbox.
SELECTION-SCREEN COMMENT 4(5) comm7.
selection-screen position 10.
parameters: p_file7 like rlgrap-filename.
selection-screen: end of line.
selection-screen: begin of line.
parameters: p_chk8 as checkbox.
SELECTION-SCREEN COMMENT 4(5) comm8.
selection-screen position 10.
parameters: p_file8 like rlgrap-filename.
selection-screen: end of line.
selection-screen: end of block blk1.
initialization.
comm1 = 'File1'.
comm2 = 'File2'.
comm3 = 'File3'.
comm4 = 'File4'.
comm5 = 'File5'.
comm6 = 'File6'.
comm7 = 'File7'.
comm8 = 'File8'. -
Multisim 2001 "too many parameters for subcircuit" error
When simulating circuits in Multisim 2001 with op amps from User library am getting Netlist Error message "Unable to correctly determine the nodes for the current circuit due to the following reasons:
Too many parameters for subcircuit type lf156_op_amps_1 (instance: xxu3)"
or a similar message for whatever op amp am using. Have tried creating components for several different op amps and always get same error message. Carefully checked the Pin Mapping Table and the symbol pins are correctly matched with order of pins in model. The only way have been able to get a simulation to run with op amp components in the User Library is if copy an op amp directly from Multisim library to User library and make no changes whatsoever. But if do something seemingly minor such as bring up the Symbol editor and add a text note underneath the symbol then get the "too many parameters for subcircuit" error.
Am also getting a Consistency Self Check error stating "Error: The circuit it empty. Simulation requires at least one ground." Do have ground in circuit; presumably this error is related to Netlist error above.
Operating system is Windows XP Professional.Well, this is an interesting situation in Multisim 2001. I tried doing this with another component and had the same results. I just renamed the part with no other changes and re-saved it to my database and sure enough I got this error. I have no idea what is causing this other than just a bug in the software. Us 2001 users will just have to live with this unless someone does happen to find a solution.
I don't seem to have any problems when creating new components and using or editing existing symbols with new model information. This does suck. What if just wanted to edit one paramenter instead of using a completely different model? I really hope someone can find a workaround or solution to this. I am glad you broughtm this to our attention.
Kittmaster's Component Database
http://ni.kittmaster.com
Have a Nice Day -
Hello,
I am getting a new message this morning creating a view:
The incoming tabular data stream (TDS) remote procedure call (RPC) protocol stream is incorrect. Too many parameters were provided in this RPC request. The maximum is 2100
Any ideas on this?
Thanks,
DOm
System Center Operations Manager 2007 / System Center Configuration Manager 2007 R2 / Forefront Client Security / Forefront Identity ManagerHi,
Based on my research, this is a limitation of sql server.
http://msdn.microsoft.com/en-us/library/ms143432.aspx
And please refer to the below article to find a fix for this issue:
How to fix SQL error: "Too many parameters were provided in this RPC request"
http://blogs.msdn.com/b/emeadaxsupport/archive/2009/09/01/how-to-fix-sql-error-too-many-parameters-were-provided-in-this-rpc-request.aspx
Regards,
Yan Li
Regards, Yan Li -
Too Many Parameters Errors. Toplink Generated Class error 300 columns table
Hi Folks,
I have a table which has around 300 columns, once I generate JPA entity using Entities from the Table wizard in Jdeveloper, it gives me an errror that too many parameters in the Method, that is actualy in the generated constructor.
In case I delete half of the arguments in the constructor, it doest gives me error, as it doesnt exceeed the limit, would that be fine ? or Toplink internally need to call that constructor for the instrumenting purposes?
Other option is to go by a default constructure, that I recommend personallly, but want to make sure it will work.
Any comments, or anyone came into this problem before
A.B
Edited by: AAB on Sep 8, 2009 7:32 AMHello,
TopLink will only use the no argument constructor when building the object, then populate attributes using either attribute or property access. So the generated constructor taking arguments is not used at all by TopLinkl.
Best Regards,
Chris -
Short dump in alv too many parameters in perform)
I M GETTING PROBLEM IN THIS PROGRAM AGAIN.
Getting short dump too many paramamerets in perform
<CODE>Report Z_50840_ALV
Line-size 80
Line-count 64
Message-id ZZ
No Standard Page Heading.
Copyright statement *
@ copyright 2007 by Intelligroup Inc. *
Program Details *
Program Name: Z_50840_ALV
Date : 19.07.2007
Author : Vasudevaraman V
Description : Test Program
Transport No:
Change Log *
Date :
Author :
Description :
Transport No:
Tables *
Tables: vbrk.
Type Pools *
Type-Pools: SLIS.
Variables *
Data: GV_REPID TYPE SY-REPID.
Structures *
Data: BEGIN OF GIT_VBRK OCCURS 0,
VBELN LIKE VBRK-VBELN, "Billing Document
FKART LIKE VBRK-FKART, "Billing Type
KNUMV LIKE VBRK-KNUMV, "Number of the document condition
BUKRS LIKE VBRK-BUKRS, "Company code
NETWR LIKE VBRK-NETWR, "Net value in document currency
WAERK LIKE VBRK-WAERK, "SD document currency in basic list
END OF GIT_VBRK,
GIT_FCAT TYPE SLIS_T_FIELDCAT_ALV,
WA_FCAT TYPE slis_fieldcat_alv,
GIT_EVENTS TYPE SLIS_T_EVENT,
WA_EVENTS TYPE SLIS_ALV_EVENT.
Field Symbols *
Field-symbols: <fs_xxxx>.
Selection Screen *
SELECTION-SCREEN BEGIN OF BLOCK B1 WITH FRAME TITLE TEXT-001.
SELECT-OPTIONS: S_VBELN FOR VBRK-VBELN.
PARAMETERS: LISTDISP RADIOBUTTON GROUP G1,
GRIDDISP RADIOBUTTON GROUP G1 DEFAULT 'X'.
SELECTION-SCREEN END OF BLOCK B1.
Initialization *
Initialization.
GV_REPID = SY-REPID.
At Selection Screen *
At selection-screen.
Start Of Selection *
Start-of-selection.
SET PF-STATUS 'ABC'(001).
PERFORM GET_BILLING_DETAILS.
PERFORM FIELD_CATALOGUE.
PERFORM GET_EVENTS.
End Of Selection *
End-of-selection.
PERFORM DISPLAY_BILLING_DETAILS.
Top Of Page *
Top-of-page.
End Of Page *
End-of-page.
*& Form GET_BILLING_DETAILS
text
--> p1 text
<-- p2 text
FORM GET_BILLING_DETAILS .
SELECT VBELN
FKART
KNUMV
BUKRS
NETWR
WAERK
FROM VBRK
INTO TABLE GIT_VBRK
WHERE VBELN IN S_VBELN.
IF SY-SUBRC = 0.
SORT GIT_VBRK BY VBELN.
ENDIF.
ENDFORM. " GET_BILLING_DETAILS
*& Form FIELD_CATALOGUE
text
--> p1 text
<-- p2 text
FORM FIELD_CATALOGUE .
CALL FUNCTION 'REUSE_ALV_FIELDCATALOG_MERGE'
EXPORTING
I_PROGRAM_NAME = GV_REPID
I_INTERNAL_TABNAME = 'GIT_VBRK'
I_STRUCTURE_NAME = I_STRUCTURE_NAME
I_CLIENT_NEVER_DISPLAY = 'X'
I_INCLNAME = GV_REPID
I_BYPASSING_BUFFER = 'X'
I_BUFFER_ACTIVE = ' '
CHANGING
CT_FIELDCAT = GIT_FCAT
EXCEPTIONS
INCONSISTENT_INTERFACE = 1
PROGRAM_ERROR = 2
OTHERS = 3
IF SY-SUBRC <> 0.
MESSAGE ID SY-MSGID TYPE SY-MSGTY NUMBER SY-MSGNO
WITH SY-MSGV1 SY-MSGV2 SY-MSGV3 SY-MSGV4.
ENDIF.
ENDFORM. " FIELD_CATALOGUE
*& Form DISPLAY_BILLING_DETAILS
text
--> p1 text
<-- p2 text
FORM DISPLAY_BILLING_DETAILS .
IF LISTDISP = 'X'.
CALL FUNCTION 'REUSE_ALV_LIST_DISPLAY'
EXPORTING
I_INTERFACE_CHECK = ' '
I_BYPASSING_BUFFER = 'X'
I_BUFFER_ACTIVE = ' '
I_CALLBACK_PROGRAM = GV_REPID
I_CALLBACK_PF_STATUS_SET = ' '
I_CALLBACK_USER_COMMAND = ' '
I_STRUCTURE_NAME = I_STRUCTURE_NAME
IS_LAYOUT = IS_LAYOUT
IT_FIELDCAT = GIT_FCAT
IT_EXCLUDING = IT_EXCLUDING
IT_SPECIAL_GROUPS = IT_SPECIAL_GROUPS
IT_SORT = IT_SORT
IT_FILTER = IT_FILTER
IS_SEL_HIDE = IS_SEL_HIDE
I_DEFAULT = 'X'
I_SAVE = ' '
IS_VARIANT = IS_VARIANT
IT_EVENTS = GIT_EVENTS
IT_EVENT_EXIT = IT_EVENT_EXIT
IS_PRINT = IS_PRINT
IS_REPREP_ID = IS_REPREP_ID
I_SCREEN_START_COLUMN = 0
I_SCREEN_START_LINE = 0
I_SCREEN_END_COLUMN = 0
I_SCREEN_END_LINE = 0
IR_SALV_LIST_ADAPTER = IR_SALV_LIST_ADAPTER
IT_EXCEPT_QINFO = IT_EXCEPT_QINFO
I_SUPPRESS_EMPTY_DATA = ABAP_FALSE
IMPORTING
E_EXIT_CAUSED_BY_CALLER = E_EXIT_CAUSED_BY_CALLER
ES_EXIT_CAUSED_BY_USER = ES_EXIT_CAUSED_BY_USER
TABLES
T_OUTTAB = GIT_VBRK
EXCEPTIONS
PROGRAM_ERROR = 1
OTHERS = 2
IF SY-SUBRC <> 0.
MESSAGE ID SY-MSGID TYPE SY-MSGTY NUMBER SY-MSGNO
WITH SY-MSGV1 SY-MSGV2 SY-MSGV3 SY-MSGV4.
ENDIF.
ELSE.
CALL FUNCTION 'REUSE_ALV_GRID_DISPLAY'
EXPORTING
I_INTERFACE_CHECK = ' '
I_BYPASSING_BUFFER = 'X'
I_BUFFER_ACTIVE = ' '
I_CALLBACK_PROGRAM = GV_REPID
I_CALLBACK_PF_STATUS_SET = ' '
I_CALLBACK_USER_COMMAND = 'USER_COMMAND'
I_CALLBACK_TOP_OF_PAGE = ' '
I_CALLBACK_HTML_TOP_OF_PAGE = ' '
I_CALLBACK_HTML_END_OF_LIST = ' '
I_STRUCTURE_NAME = I_STRUCTURE_NAME
I_BACKGROUND_ID = ' '
I_GRID_TITLE = I_GRID_TITLE
I_GRID_SETTINGS = I_GRID_SETTINGS
IS_LAYOUT = IS_LAYOUT
IT_FIELDCAT = GIT_FCAT
IT_EXCLUDING = IT_EXCLUDING
IT_SPECIAL_GROUPS = IT_SPECIAL_GROUPS
IT_SORT = IT_SORT
IT_FILTER = IT_FILTER
IS_SEL_HIDE = IS_SEL_HIDE
I_DEFAULT = 'X'
I_SAVE = ' '
IS_VARIANT = IS_VARIANT
IT_EVENTS = GIT_EVENTS
IT_EVENT_EXIT = IT_EVENT_EXIT
IS_PRINT = IS_PRINT
IS_REPREP_ID = IS_REPREP_ID
I_SCREEN_START_COLUMN = 0
I_SCREEN_START_LINE = 0
I_SCREEN_END_COLUMN = 0
I_SCREEN_END_LINE = 0
I_HTML_HEIGHT_TOP = 0
I_HTML_HEIGHT_END = 0
IT_ALV_GRAPHICS = IT_ALV_GRAPHICS
IT_HYPERLINK = IT_HYPERLINK
IT_ADD_FIELDCAT = IT_ADD_FIELDCAT
IT_EXCEPT_QINFO = IT_EXCEPT_QINFO
IR_SALV_FULLSCREEN_ADAPTER = IR_SALV_FULLSCREEN_ADAPTER
IMPORTING
E_EXIT_CAUSED_BY_CALLER = E_EXIT_CAUSED_BY_CALLER
ES_EXIT_CAUSED_BY_USER = ES_EXIT_CAUSED_BY_USER
TABLES
T_OUTTAB = GIT_VBRK
EXCEPTIONS
PROGRAM_ERROR = 1
OTHERS = 2
IF SY-SUBRC <> 0.
MESSAGE ID SY-MSGID TYPE SY-MSGTY NUMBER SY-MSGNO
WITH SY-MSGV1 SY-MSGV2 SY-MSGV3 SY-MSGV4.
ENDIF.
ENDIF.
ENDFORM. " DISPLAY_BILLING_DETAILS
*& Form GET_EVENTS
text
--> p1 text
<-- p2 text
FORM GET_EVENTS .
CALL FUNCTION 'REUSE_ALV_EVENTS_GET'
EXPORTING
I_LIST_TYPE = 0
IMPORTING
ET_EVENTS = GIT_EVENTS
EXCEPTIONS
LIST_TYPE_WRONG = 1
OTHERS = 2
IF SY-SUBRC <> 0.
MESSAGE ID SY-MSGID TYPE SY-MSGTY NUMBER SY-MSGNO
WITH SY-MSGV1 SY-MSGV2 SY-MSGV3 SY-MSGV4.
ENDIF.
LOOP AT GIT_EVENTS INTO WA_EVENTS.
CASE WA_EVENTS-NAME.
WHEN 'USER_COMMAND'.
WA_EVENTS-FORM = 'USER_COMMAND'.
ENDCASE.
MODIFY GIT_EVENTS FROM WA_EVENTS INDEX SY-TABIX.
ENDLOOP.
ENDFORM. " GET_EVENTS
FORM USER_COMMAND.
WRITE :/ 'USER_COMMAND'.
ENDFORM.</CODE>.
REGARDS,
SURAJI have run the program in my system and getting the following display instead of dump.
Bill.Doc. BillT Doc.cond. CoCd Net value Curr.
90000763 B2 0000002800 1000 0.00 DEM
90005177 F2 0000012141 1000 5,500.00 DEM
90005178 F2 0000012144 1000 32,838.00 DEM
90005179 F2 0000012146 1000 6,100.00 DEM
90005180 F2 0000012147 1000 6,100.00 DEM
90005182 S1 0000012226 1000 5,500.00 DEM
90005183 S1 0000012227 1000 32,838.00 DEM
90005184 S1 0000012228 1000 6,100.00 DEM
90005185 S1 0000012229 1000 6,100.00 DEM
90005186 F2 0000012230 1000 6,100.00 DEM
90005187 F2 0000012231 1000 6,100.00 DEM
90005188 F2 0000012232 1000 32,778.00 DEM
90005189 F2 0000012233 1000 34,354.00 DEM
90005190 F2 0000012234 1000 19,991.00 DEM
90005191 F2 0000012235 1000 19,719.00 DEM
90005192 F2 0000012236 1000 43,004.00 DEM
90005193 F2 0000012237 1000 9,242.00 DEM
90005194 F2 0000012238 1000 12,156.00 DEM
90005195 F2 0000012239 1000 7,294.00 DEM
90005196 F2 0000012240 1000 9,694.00 DEM
90005197 F2 0000012241 1000 32,838.00 DEM
90005198 F2 0000012242 1000 9,352.00 DEM
90005199 F2 0000012243 1000 13,013.00 DEM -
Viewer unable to display page when too many parameters are selected.
I have a report that the user can select multiple parameter values. When the user selects too many values and clicks the "Apply Parameters" button, the page will not display. Is there a formatting issue/bug? Is there a way to overcome this?
It does not appear to be a specific number. Instead, it seems that the page will only display when the number of values selected fit on two lines or less on the web page that displays the report results.
Thanks,
-GI found this document on SDN for displaying paramater values in Crystal reports. There are some good examples in this report. I hope it helps. It helped me out with a simliar problem.
https://www.sdn.sap.com/irj/scn/go/portal/prtroot/docs/library/uuid/c0e21e07-a075-2b10-24ac-b4b9749ed025
Good luck,
Ilan -
Error running PL/SQL with too many parameters
Developer 10g (9.0.5.1 Build 1605) seems to have a memory limitation when running a PL/SQL procedure. The dialog box that is created to allow running and/or debugging of PL/SQL procedures defaults the parameter sizes to 200 bytes. At a certain point the number of parameters causes an oracle error. When I remove the 20th IN parameter the procedure works.
Is there a way to do any of the following:
1) Increase memory used so that more parameters can be used
2) Change the default of 200 to a smaller value
3) Bind the size of the IN parameters (in the procedure definition, not each time you run the procedure)
--Oracle error:
An error was encountered performing the reequested operation:
ORA-01001: invalid cursor
ORA-06512: at "SYS.DBMS_SYS_SQL", line 819
ORA-06512: at "SYS.DBMS_SQL", line 19
ORA-06512: at line 10
ORA-06502: PL/SQL: numeric or value error: character string
buffer too small
-- Example PL/SQL code
CREATE OR REPLACE PACKAGE "PKGTEST" AUTHID
CURRENT_USER AS
TYPE GENCURTYPE IS REF CURSOR;
PROCEDURE EXTRACT (
REQUEST_P1 IN VARCHAR2,
REQUEST_P2 IN VARCHAR2,
REQUEST_P3 IN VARCHAR2,
REQUEST_P4 IN VARCHAR2,
REQUEST_P5 IN VARCHAR2,
REQUEST_P6 IN VARCHAR2,
REQUEST_P7 IN VARCHAR2,
REQUEST_P8 IN VARCHAR2,
REQUEST_P9 IN VARCHAR2,
REQUEST_P10 IN VARCHAR2,
REQUEST_P11 IN VARCHAR2,
REQUEST_P12 IN VARCHAR2,
REQUEST_P13 IN VARCHAR2,
REQUEST_P14 IN VARCHAR2,
REQUEST_P15 IN VARCHAR2,
REQUEST_P16 IN VARCHAR2,
REQUEST_P17 IN VARCHAR2,
REQUEST_P18 IN VARCHAR2,
REQUEST_P19 IN VARCHAR2,
REQUEST_P20 IN GENCURTYPE,
--REQUEST_P21 IN VARCHAR2,
--REQUEST_P22 IN VARCHAR2,
--REQUEST_P23 IN VARCHAR2,
--REQUEST_P24 IN VARCHAR2,
--REQUEST_P25 IN VARCHAR2,
--REQUEST_P26 IN VARCHAR2,
--REQUEST_P27 IN VARCHAR2,
--REQUEST_P28 IN VARCHAR2,
--REQUEST_P29 IN VARCHAR2,
--REQUEST_P30 IN VARCHAR2,
RESPONSE_RETURN_CODE OUT CHAR,
RESPONSE_ERROR_MSG OUT VARCHAR2
END PKGTEST;
CREATE OR REPLACE PACKAGE BODY "PKGTEST" AS
PROCEDURE EXTRACT (
REQUEST_P1 IN VARCHAR2,
REQUEST_P2 IN VARCHAR2,
REQUEST_P3 IN VARCHAR2,
REQUEST_P4 IN VARCHAR2,
REQUEST_P5 IN VARCHAR2,
REQUEST_P6 IN VARCHAR2,
REQUEST_P7 IN VARCHAR2,
REQUEST_P8 IN VARCHAR2,
REQUEST_P9 IN VARCHAR2,
REQUEST_P10 IN VARCHAR2,
REQUEST_P11 IN VARCHAR2,
REQUEST_P12 IN VARCHAR2,
REQUEST_P13 IN VARCHAR2,
REQUEST_P14 IN VARCHAR2,
REQUEST_P15 IN VARCHAR2,
REQUEST_P16 IN VARCHAR2,
REQUEST_P17 IN VARCHAR2,
REQUEST_P18 IN VARCHAR2,
REQUEST_P19 IN VARCHAR2,
REQUEST_P20 IN GENCURTYPE,
--REQUEST_P21 IN VARCHAR2,
--REQUEST_P22 IN VARCHAR2,
--REQUEST_P23 IN VARCHAR2,
--REQUEST_P24 IN VARCHAR2,
--REQUEST_P25 IN VARCHAR2,
--REQUEST_P26 IN VARCHAR2,
--REQUEST_P27 IN VARCHAR2,
--REQUEST_P28 IN VARCHAR2,
--REQUEST_P29 IN VARCHAR2,
--REQUEST_P30 IN VARCHAR2,
RESPONSE_RETURN_CODE OUT CHAR,
RESPONSE_ERROR_MSG OUT VARCHAR2
AS
BEGIN
-- Initialize return variables
RESPONSE_RETURN_CODE := 'F';
RESPONSE_ERROR_MSG := 'Oracle JDeveloper does not work';
RESPONSE_RETURN_CODE := 'S';
RESPONSE_ERROR_MSG := 'Oracle JDeveloper works';
END EXTRACT;
END PKGTEST;Vijay,
It turns out the problem concerns the size of the text buffer that JDeveloper generates (the code we display in the dialog). We inadvertantly limited the size of the code to 2000 characters. So the limitation isn't on the number of parameters, but the amount of code generated for each parameter.
We have fixed the problem; however, this fix will be in the next release of JDeveloper (the production release of 10.1.3) due later this year.
- John McGinnis
Oracle JDeveloper Team -
ADF BC Binds too many parameters
This has to be something simple. There's only one bind parameter (nullable), and one View criteria...but for some reason, ADF BC wants to bind 3 parms and it blows up. Anyone have any insight as to where the 3rd is coming from?
[665] ViewObjectImpl.closeStatementsResetRowSet(12258) ViewObject: [xxx.pres.fc.model.view.readonly.RequestorAgencyView]FCServiceAM.RequestorAgencyView1 close prepared statements...
[666] ViewObjectImpl.getPreparedStatement(12035) ViewObject: [xxx.pres.fc.model.view.readonly.RequestorAgencyView]FCServiceAM.RequestorAgencyView1 Created new QUERY statement
[667] ViewObjectImpl.buildQuery(4014) RequestorAgencyView1>#q computed SQLStmtBufLen: 207, actual=179, storing=209
[668] ViewObjectImpl.buildQuery(4028) SELECT * FROM (SELECT REQUESTOR_ID
,OFFICER_FIRST_NAME
FROM REQUESTOR_AGENCY) QRSLT WHERE ( ( ( ( UPPER(OFFICER_FIRST_NAME) LIKE UPPER( ? + '%') ) OR ( ? IS NULL ) ) ) )
[669] ViewObjectImpl.bindParametersForCollection(19278) Bind params for ViewObject: [xxx.pres.fc.model.view.readonly.RequestorAgencyView]FCServiceAM.RequestorAgencyView1
[670] BaseSQLBuilderImpl.bindParamValue(2185) Binding null of type 12 for 1
[671] BaseSQLBuilderImpl.bindParamValue(2185) Binding null of type 12 for 2
[672] BaseSQLBuilderImpl.bindParamValue(2185) Binding null of type 12 for 3
[673] ViewObjectImpl.freeStatement(12229) ViewObject: [xxx.pres.fc.model.view.readonly.RequestorAgencyView]FCServiceAM.RequestorAgencyView1 close single-use prepared statements
[674] QueryCollection.buildResultSet(1134) QueryCollection.executeQuery failed...
[675] Diagnostic.printStackTrace(409) com.microsoft.sqlserver.jdbc.SQLServerException: The index 3 is out of range.
at com.microsoft.sqlserver.jdbc.SQLServerException.makeFromDriverError(SQLServerException.java:171)
at com.microsoft.sqlserver.jdbc.SQLServerPreparedStatement.setterGetParam(SQLServerPreparedStatement.java:700)
at com.microsoft.sqlserver.jdbc.SQLServerPreparedStatement.setNull(SQLServerPreparedStatement.java:888)
at oracle.jbo.server.BaseSQLBuilderImpl.bindParamValue(BaseSQLBuilderImpl.java:2193)
at oracle.jbo.server.BaseSQLBuilderImpl.bindParametersForStmt(BaseSQLBuilderImpl.java:3645)
at oracle.jbo.server.ViewObjectImpl.bindParametersForCollection(ViewObjectImpl.java:19288)
at oracle.jbo.server.QueryCollection.buildResultSet(QueryCollection.java:1099)
at oracle.jbo.server.QueryCollection.executeQuery(QueryCollection.java:859)
at oracle.jbo.server.ViewObjectImpl.executeQueryForCollection(ViewObjectImpl.java:6314)
at oracle.jbo.server.ViewRowSetImpl.execute(ViewRowSetImpl.java:1169)
at oracle.jbo.server.ViewRowSetImpl.execute(ViewRowSetImpl.java:1028)
at oracle.jbo.server.ViewRowSetIteratorImpl.ensureRefreshed(ViewRowSetIteratorImpl.java:2753)
at oracle.jbo.server.ViewRowSetIteratorImpl.ensureRefreshed(ViewRowSetIteratorImpl.java:2730)
at oracle.jbo.server.ViewRowSetIteratorImpl.first(ViewRowSetIteratorImpl.java:1559)
at oracle.jbo.server.ViewRowSetImpl.first(ViewRowSetImpl.java:3426)
at oracle.jbo.server.ViewObjectImpl.first(ViewObjectImpl.java:8993)
at oracle.adf.model.binding.DCIteratorBinding.setupRSIstate(DCIteratorBinding.java:766)
at oracle.adf.model.binding.DCIteratorBinding.refreshControl(DCIteratorBinding.java:666)
at oracle.jbo.uicli.binding.JUIteratorBinding.refreshControl(JUIteratorBinding.java:474)
at oracle.adf.model.binding.DCIteratorBinding.refresh(DCIteratorBinding.java:4377)
at oracle.adf.model.binding.DCExecutableBinding.refreshIfNeeded(DCExecutableBinding.java:347)
at oracle.adf.model.binding.DCIteratorBinding.getRowSetIterator(DCIteratorBinding.java:1592)
at oracle.jbo.jbotester.panel.BindingPanel.setBindingContext(BindingPanel.java:116)
at oracle.jbo.jbotester.panel.BindingPanel.<init>(BindingPanel.java:88)
at oracle.jbo.jbotester.panel.BindingPanel.<init>(BindingPanel.java:71)
at oracle.jbo.jbotester.form.BindingForm.createMasterPanel(BindingForm.java:63)
at oracle.jbo.jbotester.form.BindingForm.init(BindingForm.java:98)
at oracle.jbo.jbotester.form.JTForm.<init>(JTForm.java:72)
at oracle.jbo.jbotester.form.BindingForm.<init>(BindingForm.java:50)
at oracle.jbo.jbotester.form.FormType$1.createForm(FormType.java:63)
at oracle.jbo.jbotester.form.FormType.createForm(FormType.java:199)
at oracle.jbo.jbotester.form.FormType.createTab(FormType.java:270)
at oracle.jbo.jbotester.form.FormType.showForm(FormType.java:248)
at oracle.jbo.jbotester.form.FormType.showForm(FormType.java:207)
at oracle.jbo.jbotester.form.FormType.showForm(FormType.java:203)
at oracle.jbo.jbotester.tree.ObjTreeNode.showForm(ObjTreeNode.java:140)
at oracle.jbo.jbotester.tree.ObjTreeNode.showForm(ObjTreeNode.java:123)
at oracle.jbo.jbotester.tree.Tree.processTreeMouseClicked(Tree.java:728)
at oracle.jbo.jbotester.tree.Tree.access$100(Tree.java:96)
at oracle.jbo.jbotester.tree.Tree$TreeMouseListener.mouseClicked(Tree.java:141)
at java.awt.AWTEventMulticaster.mouseClicked(AWTEventMulticaster.java:253)
at java.awt.Component.processMouseEvent(Component.java:6266)
at javax.swing.JComponent.processMouseEvent(JComponent.java:3267)
at java.awt.Component.processEvent(Component.java:6028)
at java.awt.Container.processEvent(Container.java:2041)
at java.awt.Component.dispatchEventImpl(Component.java:4630)
at java.awt.Container.dispatchEventImpl(Container.java:2099)
at java.awt.Component.dispatchEvent(Component.java:4460)
at java.awt.LightweightDispatcher.retargetMouseEvent(Container.java:4574)
at java.awt.LightweightDispatcher.processMouseEvent(Container.java:4247)
at java.awt.LightweightDispatcher.dispatchEvent(Container.java:4168)
at java.awt.Container.dispatchEventImpl(Container.java:2085)
at java.awt.Window.dispatchEventImpl(Window.java:2478)
at java.awt.Component.dispatchEvent(Component.java:4460)
at java.awt.EventQueue.dispatchEvent(EventQueue.java:599)
at java.awt.EventDispatchThread.pumpOneEventForFilters(EventDispatchThread.java:269)
at java.awt.EventDispatchThread.pumpEventsForFilter(EventDispatchThread.java:184)
at java.awt.EventDispatchThread.pumpEventsForHierarchy(EventDispatchThread.java:174)
at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:169)
at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:161)
at java.awt.EventDispatchThread.run(EventDispatchThread.java:122)Nevermind...you work on something for 2 days, then post to the forum, then figure it out immediately afterwards. The problem was that I had been adding a bind variable, then adding the view criteria that referenced it. Apparently, following this sequence adds Kind="where" to the variable in the xml source. Finally I tried deleting the variable, creating the view criteria, and adding the bind variable WITHIN the Edit View Criteria wizard. Afterwards, I noticed that Kind="viewcriteria" and the light bulb finally turned on. Kind="where" should only be used when you're using parameters in the view's query...or both your query and your view criteria. Who knew.
-
How many parameters to WWV_FLOW_ITEM.MD5()?
Using v2.0.0.00.49
I have optomistic locking working on a few of my pages, but I have run into the problem where I am sending too many parameters to the function WWV_FLOW_ITEM.MD5(). How many parameters does the function take?
Thanks!SQL> desc WWV_FLOW_ITEM;
FUNCTION MD5 RETURNS VARCHAR2
Argument Name Type In/Out Default?
P_VALUE01 VARCHAR2 IN DEFAULT
P_VALUE02 VARCHAR2 IN DEFAULT
P_VALUE03 VARCHAR2 IN DEFAULT
P_VALUE04 VARCHAR2 IN DEFAULT
P_VALUE05 VARCHAR2 IN DEFAULT
P_VALUE06 VARCHAR2 IN DEFAULT
P_VALUE07 VARCHAR2 IN DEFAULT
P_VALUE08 VARCHAR2 IN DEFAULT
P_VALUE09 VARCHAR2 IN DEFAULT
P_VALUE10 VARCHAR2 IN DEFAULT
P_VALUE11 VARCHAR2 IN DEFAULT
P_VALUE12 VARCHAR2 IN DEFAULT
P_VALUE13 VARCHAR2 IN DEFAULT
P_VALUE14 VARCHAR2 IN DEFAULT
P_VALUE15 VARCHAR2 IN DEFAULT
P_VALUE16 VARCHAR2 IN DEFAULT
P_VALUE17 VARCHAR2 IN DEFAULT
P_VALUE18 VARCHAR2 IN DEFAULT
P_VALUE19 VARCHAR2 IN DEFAULT
P_VALUE20 VARCHAR2 IN DEFAULT
P_VALUE21 VARCHAR2 IN DEFAULT
P_VALUE22 VARCHAR2 IN DEFAULT
P_VALUE23 VARCHAR2 IN DEFAULT
P_VALUE24 VARCHAR2 IN DEFAULT
P_VALUE25 VARCHAR2 IN DEFAULT
P_VALUE26 VARCHAR2 IN DEFAULT
P_VALUE27 VARCHAR2 IN DEFAULT
P_VALUE28 VARCHAR2 IN DEFAULT
P_VALUE29 VARCHAR2 IN DEFAULT
P_VALUE30 VARCHAR2 IN DEFAULT
P_VALUE31 VARCHAR2 IN DEFAULT
P_VALUE32 VARCHAR2 IN DEFAULT
P_VALUE33 VARCHAR2 IN DEFAULT
P_VALUE34 VARCHAR2 IN DEFAULT
P_VALUE35 VARCHAR2 IN DEFAULT
P_VALUE36 VARCHAR2 IN DEFAULT
P_VALUE37 VARCHAR2 IN DEFAULT
P_VALUE38 VARCHAR2 IN DEFAULT
P_VALUE39 VARCHAR2 IN DEFAULT
P_VALUE40 VARCHAR2 IN DEFAULT
P_VALUE41 VARCHAR2 IN DEFAULT
P_VALUE42 VARCHAR2 IN DEFAULT
P_VALUE43 VARCHAR2 IN DEFAULT
P_VALUE44 VARCHAR2 IN DEFAULT
P_VALUE45 VARCHAR2 IN DEFAULT
P_VALUE46 VARCHAR2 IN DEFAULT
P_VALUE47 VARCHAR2 IN DEFAULT
P_VALUE48 VARCHAR2 IN DEFAULT
P_VALUE49 VARCHAR2 IN DEFAULT
P_VALUE50 VARCHAR2 IN DEFAULT
P_COL_SEP VARCHAR2 IN DEFAULT
... -
I have a factory installed sound blaster li've card installed on my Dell PC
running Windows 98se. Recently during startup, the line following "creative
initialization complete" says "Too Many Parameters". How do I fix this
problem? Thanks very much. I tried the suggestions in the "read me first" post and nothing helped.How do I disable those features? Are you refering to muting those options on the play control panel? Thanks.
-
Too many type parameters for interface
In JDev 11.1.1.0.0, I do a compile and I get 65 files with errors saying
Error: too many type parameters for interface java.util.Map<java.lang.String, java.lang.Class<?>>
but the class doesn't use the Map object.
Other files get it for the Set object.
Note that no line number was given as part of the error message.
I installed the JDev 11.1.1.0.0 base from the zip file.
What's wrong?Hi,
And you do a compile on what exactly, Please post one of the erroneous class' code using the code within bracket tag so that we can help you.
Regards,
~ Simon -
Unable to create report. Query produced too many results
Hi All,
Does someone knows how to avoid the message "Unable to create report. Query produced too many results" in Grid Report Type in PerformancePoint 2010. When the mdx query returns large amount of data, this message appears. Is there a way to get all
the large amount in the grid anyway?
I have set the data Source query time-out under Central Administration - Manager Service applications - PerformancePoint Service Application - PerformancePoint Service Application Settings at 3600 seconds.
Here Event Viewer log error at the server:
1. An exception occurred while running a report. The following details may help you to diagnose the problem:
Error Message: Unable to create report. Query produced too many results.
<br>
<br>
Contact the administrator for more details.
Dashboard Name:
Dashboard Item name:
Report Location: {3592a959-7c50-0d1d-9185-361d2bd5428b}
Request Duration: 6,220.93 ms
User: INTRANET\spsdshadmin
Parameters:
Exception Message: Unable to create report. Query produced too many results.
Inner Exception Message:
Stack Trace: at Microsoft.PerformancePoint.Scorecards.Server.PmServer.ExecuteAnalyticReportWithParameters(RepositoryLocation analyticReportViewLocation, BIDataContainer biDataContainer)
at Microsoft.PerformancePoint.Analytics.ServerRendering.OLAPBase.OlapViewBaseControl.ExtractReportViewData()
at Microsoft.PerformancePoint.Analytics.ServerRendering.OLAPBase.OlapViewBaseControl.CreateRenderedView(StringBuilder sd)
at Microsoft.PerformancePoint.Scorecards.ServerRendering.NavigableControl.RenderControl(HtmlTextWriter writer)
PerformancePoint Services error code 20604.
2. Unable to create report. Query produced too many results.
Microsoft.PerformancePoint.Scorecards.BpmException: Unable to create report. Query produced too many results.
at Microsoft.PerformancePoint.Scorecards.Server.Analytics.AnalyticQueryManager.ExecuteReport(AnalyticReportState reportState, DataSource dataSource)
at Microsoft.PerformancePoint.Scorecards.Server.PmServer.ExecuteAnalyticReportBase(RepositoryLocation analyticReportViewLocation, BIDataContainer biDataContainer, String formattingDimensionName)
at Microsoft.PerformancePoint.Scorecards.Server.PmServer.ExecuteAnalyticReportWithParameters(RepositoryLocation analyticReportViewLocation, BIDataContainer biDataContainer)
PerformancePoint Services error code 20605.
Thanks in advance for your help.Hello,
I would like you to try the following to adjust your readerquotas.
Change the values of the parameters listed below to a larger value. We recommend that you double the value and then run the query to check whether the issue is resolved. To do this, follow these steps:
On the SharePoint 2010 server, open the Web.config file. The file is located in the following folder:
\Program Files\Microsoft Office Servers\14.0\Web Services\PpsMonitoringServer\
Locate and change the the below values from 8192 to 16384.
Open the Client.config file. The file is located in the following folder:
\Program Files\Microsoft Office Servers\14.0\WebClients\PpsMonitoringServer\
Locate and change the below values from 8192 to 16384.
After you have made the changes, restart Internet Information Services (IIS) on the SharePoint 2010 server.
<readerQuotas
maxStringContentLength="2147483647"
maxNameTableCharCount="2147483647"
maxBytesPerRead="2147483647"
maxArrayLength="2147483647"
maxDepth="2147483647"
/>
Thanks
Heidi Tr - MSFT
Please remember to click “Mark as Answer” on the post that helps you, and to click “Unmark as Answer” if a marked post does not actually answer your question. This can be beneficial to other community members reading the thread. -
hi
I am getting the following error while calling the procedure in the batch process
ORA-06512: at "SYS.UTL_HTTP", line 1022
ORA-29270: too many open HTTP requests
Could you please help me on this? As this is getting affected in the live databases.
ORA-06512: at "SYS.UTL_HTTP", line 1022
ORA-29270: too many open HTTP requests
CREATE OR REPLACE PROCEDURE Send_To_Spg(
PTRANSACTION_ID IN VARCHAR2,
PCHANNEL_TYPE IN VARCHAR2 DEFAULT NULL,
PCSS_ORDER_NUMBER IN VARCHAR2 DEFAULT NULL,
PTELEPHONE_NUMBER IN VARCHAR2 DEFAULT NULL,
PSCENARIO_TYPE IN VARCHAR2 DEFAULT NULL,
PCUSTOMER_REQUIRED_DATE IN VARCHAR2 DEFAULT NULL,
PCUSTOMER_REQUIRED_TIME IN VARCHAR2 DEFAULT NULL,
PCANCELLATION_REASON IN VARCHAR2 DEFAULT NULL,
PCANCELLATION_NOTES IN VARCHAR2 DEFAULT NULL,
PSMPF_RETENTION IN VARCHAR2 DEFAULT NULL,
PEMERGENCY_WINBACK IN VARCHAR2 DEFAULT NULL,
PCSS_PROJECT_ID IN VARCHAR2 DEFAULT NULL,
PCSS_ORDER_NOTES IN VARCHAR2 DEFAULT NULL,
PREASON_FOR_CESSATION IN VARCHAR2 DEFAULT NULL,
P_RESPONSE OUT VARCHAR2,
PSMART_USER_ID IN VARCHAR2 DEFAULT NULL,
PORACLE_ERROR OUT VARCHAR2,
PORACLE_ERROR_MESSAGE OUT VARCHAR2,
PRESPONSE_TIME OUT NUMBER,
PDATA_TRANSFER_STATUS OUT VARCHAR2)
IS
v_scenario_type VARCHAR2(20); -- Varialble to Hold Time Out of every request to SPG
v_transaction_time NUMBER; -- Total time in which Request to SPG was processed
v_record_inserted_at DATE; -- Date/Time about the record insertion to the Error Handler
v_start_time NUMBER; -- Variable to hold Start Time for calculationg Transaction Time
v_url VARCHAR2(32767);-- URL to use when sending data to SPG
vtransaction_id VARCHAR2(18); -- Variable to hold Transaction ID for the request
v_buffer VARCHAR2(32760);-- Variable to read response from the SPG interface
v_timeout PLS_INTEGER; -- Time Out for each Transaction
v_oracle_err_msg VARCHAR2(600); -- Variable to hold Oracle Error Message
v_resp UTL_HTTP.RESP; -- Response Object
v_req UTL_HTTP.REQ; -- Request Object
v_userid_pwd SMT_ORACLE_PARAMETERS%ROWTYPE; --Variable declared to contain User ID & Password
vl_RetCode VARCHAR2(5000);
vl_std_returnCode VARCHAR2(3000);
--PDATA_TRANSFER_STATUS Holds the Data Transfer Status which can have possible values as
-- N => Data Has not been sent to SPG
-- Y => Received Successful response from SPG
-- F => On the First try to Send data to SPG Oracle Error Occured or response from SPG was a faulure
-- S => On the Second try to Send data to SPG Oracle Error Occured or response from SPG was a faulure
-- T => Data Has been transferred to the Error Log Table
-- X => Data need not be transfered to Error Log Table.
--Location of the timeout, URL & User Id & Password in Standing Data.
c_url_stopwlr SMT_ORACLE_PARAMETERS.PARAMETER_CODE%TYPE:='SPG_WLR';-- Stop WLR URL
c_url_cancelown SMT_ORACLE_PARAMETERS.PARAMETER_CODE%TYPE:='SPG_OWN';-- Cancel own URL
c_url_cancelother SMT_ORACLE_PARAMETERS.PARAMETER_CODE%TYPE:='SPG_OTH';-- Cancel other URL
c_url_amendcrd SMT_ORACLE_PARAMETERS.PARAMETER_CODE%TYPE:='SPG_CRD';--Amend CRD URL
c_spg_useridpwd SMT_ORACLE_PARAMETERS.PARAMETER_CODE%TYPE:='SPGIDPWD'; --Contains user id and pwd
ctimeout smt_parameters.parameter_code%TYPE:='SPGTO'; --This holds the timeout parameter
BEGIN
--In case the calling batch process can pass this value this SQL read will not be required & can be deleted
--Read data transfer status for the transaction Id
SELECT data_transfer_status INTO PDATA_TRANSFER_STATUS FROM SPG_INTERFACE_TABLE
WHERE transaction_id = PTRANSACTION_ID;
--Record the start time
v_start_time:=DBMS_UTILITY.GET_TIME;
--If Data transfer status is S then send the record to error handler
IF PDATA_TRANSFER_STATUS = 'S' THEN
Error_Handler(PTRANSACTION_ID,PSMART_USER_ID,PORACLE_ERROR,PORACLE_ERROR_MESSAGE,v_record_inserted_at,PDATA_TRANSFER_STATUS);
ELSE
--In case Data Tranfer Status is something other than S then send the request to SPG
--Initialise other variables which will be populated during the journey
P_RESPONSE := '';
PORACLE_ERROR := NULL;
PORACLE_ERROR_MESSAGE := NULL;
PRESPONSE_TIME := 0;
--Read timeout parameter from standing data.
BEGIN
SELECT VALUE INTO v_timeout FROM smt_parameters WHERE parameter_code=ctimeout;
EXCEPTION
WHEN NO_DATA_FOUND THEN
v_timeout:=30;
WHEN OTHERS THEN
v_timeout:=30;
END;
-- Construct the URL for Stop WLR Scenario
IF PSCENARIO_TYPE = 'STOP_WLR' THEN
BEGIN
-- Read the Initial URL from Standing Data
SELECT VALUE
INTO v_url
FROM SMT_ORACLE_PARAMETERS
WHERE parameter_code = c_url_stopwlr
AND host_id = ( SELECT host_id
FROM SMART_HOSTS A
WHERE EXISTS ( SELECT 1
FROM DB_PARAMETERS b
WHERE A.hostname = b.hostname
AND A.database_id = b.database_id));
--handle unforseen exception
EXCEPTION
WHEN NO_DATA_FOUND THEN
v_url:='Http://wls.brassi1c.devenv1.bt.co.uk:64738/pls/spgenv/spg_btrc.add_btrc_winback_details'; --After testing the same, URL will be fetched from the Query
WHEN OTHERS THEN
v_url:='Http://wls.brassi1c.devenv1.bt.co.uk:64738/pls/spgenv/spg_btrc.add_btrc_winback_details'; --After testing the same, URL will be fetched from the Query
END;
--construct the URL depending on the parameters to be passed to the url
v_url := v_url || '?';
v_url := v_url || 'p_data_entered=' || Smart_Urlencode('xmloverhttp') || '&';
v_url := v_url || 'p_channel_type=' || Smart_Urlencode(PCHANNEL_TYPE)|| '&';
v_url := v_url || 'p_css_start_order_no=' || Smart_Urlencode(PCSS_ORDER_NUMBER)|| '&';
v_url := v_url || 'p_tel_no=' || Smart_Urlencode(PTELEPHONE_NUMBER)|| '&';
v_url := v_url || 'p_crd=' || Smart_Urlencode(PCUSTOMER_REQUIRED_DATE)|| '&';
v_url := v_url || 'p_take_over_time=' || Smart_Urlencode(PCUSTOMER_REQUIRED_TIME)|| '&';
v_url := v_url || 'p_retainsmpf=' || Smart_Urlencode(PSMPF_RETENTION)|| '&';
--v_url := v_url || 'p_emergency_winback=' || Smart_Urlencode(PEMERGENCY_WINBACK)|| '&';
v_url := v_url || 'p_projectno=' || Smart_Urlencode(PCSS_PROJECT_ID)|| '&';
v_url := v_url || 'p_ordernotes=' || Smart_Urlencode(PCSS_ORDER_NOTES)|| '&';
v_url := v_url || 'p_reason_cessation=' || Smart_Urlencode(PREASON_FOR_CESSATION);
ELSIF PSCENARIO_TYPE='CANCEL_OWN' THEN
--Fetch the URL for cancel own from standing data.
BEGIN
SELECT VALUE
INTO v_url
FROM SMT_ORACLE_PARAMETERS
WHERE parameter_code = c_url_cancelown
AND host_id = ( SELECT host_id
FROM SMART_HOSTS A
WHERE EXISTS ( SELECT 1
FROM DB_PARAMETERS b
WHERE A.hostname = b.hostname
AND A.database_id = b.database_id));
--handle unforseen exception
EXCEPTION
WHEN NO_DATA_FOUND THEN
v_url := 'Http://wls.brassi1c.devenv1.bt.co.uk:64738/pls/spgenv/spg_btrc.add_btrc_cancelown_details'; --After testing the same, URL will be fetched from the Query
WHEN OTHERS THEN
v_url := 'Http://wls.brassi1c.devenv1.bt.co.uk:64738/pls/spgenv/spg_btrc.add_btrc_cancelown_details'; --After testing the same, URL will be fetched from the Query
END;
--construct the URL
v_url := v_url || '?';
v_url := v_url || 'p_data_entered=' ||Smart_Urlencode('xmloverhttp')|| '&';
v_url := v_url || 'p_channel_type=' ||Smart_Urlencode(PCHANNEL_TYPE)|| '&';
v_url := v_url || 'p_css_start_order_no=' ||Smart_Urlencode(PCSS_ORDER_NUMBER)|| '&';
v_url := v_url || 'p_tel_no=' ||Smart_Urlencode(PTELEPHONE_NUMBER)|| '&';
v_url := v_url || 'p_cancel_reason=' ||Smart_Urlencode(PCANCELLATION_REASON)|| '&';
v_url:= v_url || 'p_cancel_notes=' ||Smart_Urlencode(PCANCELLATION_NOTES);
ELSIF PSCENARIO_TYPE='CANCEL_OTHER' THEN
--Fetch the URL for cancel own from standing data.
BEGIN
SELECT VALUE
INTO v_url
FROM SMT_ORACLE_PARAMETERS
WHERE parameter_code = c_url_cancelother
AND host_id = ( SELECT host_id
FROM SMART_HOSTS A
WHERE EXISTS ( SELECT 1
FROM DB_PARAMETERS b
WHERE A.hostname = b.hostname
AND A.database_id = b.database_id));
--handle unforseen exception
EXCEPTION
WHEN NO_DATA_FOUND THEN
v_url := 'Http://wls.brassi1c.devenv1.bt.co.uk:64738/pls/spgenv/spg_btrc.add_btrc_cancelother_details'; --After testing the same, URL will be fetched from the Query
WHEN OTHERS THEN
v_url := 'Http://wls.brassi1c.devenv1.bt.co.uk:64738/pls/spgenv/spg_btrc.add_btrc_cancelother_details'; --After testing the same, URL will be fetched from the Query
END;
--construct the URL
v_url := v_url || '?';
v_url := v_url || 'p_data_entered=' ||Smart_Urlencode('xmloverhttp')|| '&';
v_url := v_url || 'p_channel_type=' ||Smart_Urlencode(PCHANNEL_TYPE)|| '&';
v_url := v_url || 'p_css_stop_order_no=' ||Smart_Urlencode(PCSS_ORDER_NUMBER)|| '&';
v_url := v_url || 'p_tel_no=' ||Smart_Urlencode(PTELEPHONE_NUMBER)|| '&';
v_url := v_url || 'p_cancel_reason=' ||Smart_Urlencode(PCANCELLATION_REASON);
ELSIF Pscenario_type='AMEND_CRD' THEN
--Fetch the URL for cancel own from standing data.
BEGIN
SELECT VALUE
INTO v_url
FROM SMT_ORACLE_PARAMETERS
WHERE parameter_code = c_url_amendcrd
AND host_id = ( SELECT host_id
FROM SMART_HOSTS A
WHERE EXISTS ( SELECT 1
FROM DB_PARAMETERS b
WHERE A.hostname = b.hostname
AND A.database_id = b.database_id));
--handle unforseen exception
EXCEPTION
WHEN NO_DATA_FOUND THEN
v_url := 'Http://wls.brassi1c.devenv1.bt.co.uk:64738/pls/spgenv/spg_btrc.add_btrc_amendcrd_details'; -- After testing the same , URL will be fetched from the Query
WHEN OTHERS THEN
v_url := 'Http://wls.brassi1c.devenv1.bt.co.uk:64738/pls/spgenv/spg_btrc.add_btrc_amendcrd_details'; -- After testing the same , URL will be fetched from the Query
END;
--construct the URL
v_url := v_url || '?';
v_url := v_url || 'p_data_entered=' ||Smart_Urlencode('xmloverhttp')|| '&';
v_url := v_url || 'p_channel_type=' ||Smart_Urlencode(PCHANNEL_TYPE)|| '&';
v_url := v_url || 'p_css_start_order_no=' ||Smart_Urlencode(PCSS_ORDER_NUMBER)|| '&';
v_url := v_url || 'p_tel_no=' ||Smart_Urlencode(PTELEPHONE_NUMBER)|| '&';
v_url := v_url || 'p_crd=' ||Smart_Urlencode(PCUSTOMER_REQUIRED_DATE)|| '&';
v_url := v_url || 'p_css_change_order_numbers='||Smart_Urlencode(PCANCELLATION_REASON);
END IF;
--this is start of setting parameters for utl http object. the show begins...
utl_http.set_transfer_timeout(v_timeout);
--Set the wallet
--XXXXX e.g.UTL_HTTP.SET_WALLET(?file:DirectoryPath?,'put password here?);
--Set proxy
--YYYYY e.g. utl_http.set_proxy(p_proxy_in, p_no_proxy_domains_in);
v_url := REPLACE(v_url,'%27%27','%27'); -- Fix to ensure Double Quotes are converted to Single Quotes
--set the required URL to utl http.
v_req := utl_http.begin_request(v_url);
--Authentication setting
--Fetch the user id and password from stnding data.
BEGIN
SELECT *
INTO v_userid_pwd
FROM SMT_ORACLE_PARAMETERS
WHERE PARAMETER_CODE=c_spg_useridpwd
AND HOST_ID = ( SELECT HOST_ID
FROM SMART_HOSTS A
WHERE EXISTS ( SELECT 1
FROM DB_PARAMETERS B
WHERE A.HOSTNAME = B.HOSTNAME
AND A.DATABASE_ID = B.DATABASE_ID));
EXCEPTION
WHEN NO_DATA_FOUND THEN
P_RESPONSE := 'ORACLE_ERROR: USER id AND Password NOT configured IN SMT_ORACLE_PARAMETERS:SPGIDPWD';
WHEN OTHERS THEN
P_RESPONSE := 'ORACLE_ERROR: USER id AND Password NOT configured IN SMT_ORACLE_PARAMETERS:SPGIDPWD';
END;
--utl_http.set_authentication(v_req, p_username_in, p_password_in);
utl_http.set_authentication(v_req, v_userid_pwd.description, v_userid_pwd.VALUE);
v_resp := utl_http.get_response(v_req);
--Fill in the the response time
PRESPONSE_TIME := (DBMS_UTILITY.GET_TIME - v_start_time)/100;
IF v_resp.reason_phrase = 'OK' THEN
-- Fetch the response
BEGIN
LOOP
utl_http.read_line(v_resp, v_buffer);
P_RESPONSE := P_RESPONSE || v_buffer;
END LOOP;
utl_http.end_response(v_resp);
EXCEPTION
WHEN utl_http.end_of_body THEN
utl_http.end_response(v_resp);
P_RESPONSE := P_RESPONSE || v_buffer;
END;
ELSIF v_resp.reason_phrase <> 'OK' OR P_RESPONSE = '' THEN
--error handling starts
--If the HTTP Status is not OK then store the error information
PORACLE_ERROR_MESSAGE := 'Status Code: '|| v_resp.STATUS_CODE||'. Reason Phrase ' ||v_resp.reason_phrase;
P_RESPONSE := 'ORACLE_ERROR: '|| ' Reason Phrase ' || v_resp.reason_phrase;
PORACLE_ERROR := v_resp.STATUS_CODE;
END IF;
--In case we got successful response from SPG
IF P_RESPONSE LIKE '%<RetCde>0</RetCde>%' THEN
PDATA_TRANSFER_STATUS := 'Y';
ELSE
BEGIN
SELECT message
INTO vl_std_returnCode
FROM SMT_MESSAGES
WHERE MESSAGE_CODE='SPGANTIDTS';
EXCEPTION
WHEN NO_DATA_FOUND THEN
vl_std_returnCode := '-12545,-29273,-1,401,';
WHEN OTHERS THEN
vl_std_returnCode := '-12545,-29273,-1,401,';
END;
--In case there was an error do not update Data Transfer Status
IF PORACLE_ERROR <> NULL AND INSTR(vl_std_returnCode, PORACLE_ERROR || ',', 1, 1) <> 0 THEN
PDATA_TRANSFER_STATUS:=PDATA_TRANSFER_STATUS;
ELSE
vl_RetCode := SUBSTR(P_RESPONSE, INSTR(P_RESPONSE,'<RetCde>', 1, 1),
INSTR(P_RESPONSE,'</RetCde>',1,1)+9 - INSTR(P_RESPONSE,'<RetCde>', 1, 1));
BEGIN
SELECT VALUE
INTO vl_std_returnCode
FROM SMT_ORACLE_PARAMETERS
WHERE PARAMETER_CODE='SPGRCS'
AND HOST_ID = ( SELECT HOST_ID
FROM SMART_HOSTS A
WHERE EXISTS ( SELECT 1
FROM DB_PARAMETERS B
WHERE A.HOSTNAME = B.HOSTNAME
AND A.DATABASE_ID = B.DATABASE_ID));
EXCEPTION
WHEN NO_DATA_FOUND THEN
vl_std_returnCode := '<RetCde>4244</RetCde><RetCde>4245</RetCde><RetCde>4246</RetCde>';
WHEN OTHERS THEN
vl_std_returnCode := '<RetCde>4244</RetCde><RetCde>4245</RetCde><RetCde>4246</RetCde>';
END;
IF INSTR(vl_std_returnCode, vl_RetCode, 1, 1) <> 0 THEN
--needs not to re attempted.
PDATA_TRANSFER_STATUS:='X';
ELSE
--In case we did'nt got SUCCESSFUL response FROM SPG THEN UPDATE the Data Transfer Status so that the failed requests can be picked up BY the NEXT batch job RUN
IF PDATA_TRANSFER_STATUS='N' THEN
--initially if data transfer status was N then update it now to F
PDATA_TRANSFER_STATUS := 'F';
ELSIF PDATA_TRANSFER_STATUS='F' THEN
--initially if data transfer status was N then update it now to S
PDATA_TRANSFER_STATUS := 'S';
END IF;
END IF;
END IF;
END IF;
--Now Update all the modified Values
UPDATE SPG_INTERFACE_TABLE
SET response = P_RESPONSE,
data_transfer_status = PDATA_TRANSFER_STATUS,
oracle_error = PORACLE_ERROR,
oracle_error_message = PORACLE_ERROR_MESSAGE,
response_time = PRESPONSE_TIME
WHERE transaction_id = PTRANSACTION_ID;
COMMIT;
END IF;
EXCEPTION
WHEN OTHERS THEN
--Handling the unhandled exception
PORACLE_ERROR := SQLCODE;
PORACLE_ERROR_MESSAGE := SQLERRM;
P_RESPONSE := 'ORACLE_ERROR: '|| PORACLE_ERROR_MESSAGE;
PRESPONSE_TIME := (DBMS_UTILITY.GET_TIME - v_start_time)/100;
SELECT data_transfer_status INTO PDATA_TRANSFER_STATUS
FROM SPG_INTERFACE_TABLE
WHERE transaction_id=PTRANSACTION_ID;
--New functionality to update the oracle error and oracle error message and not the Data Transfer Status
BEGIN
SELECT message
INTO vl_std_returnCode
FROM SMT_MESSAGES
WHERE MESSAGE_CODE='SPGANTIDTS';
EXCEPTION
WHEN NO_DATA_FOUND THEN
vl_std_returnCode := '-12545,-29273,-1,';
WHEN OTHERS THEN
vl_std_returnCode := '-12545,-29273,-1,';
END;
vl_RetCode := PORACLE_ERROR || ',';
IF INSTR(vl_std_returnCode, vl_RetCode, 1, 1) <> 0 THEN
--If the error is found in above maintained standing data do not change the Data Transfer Status
pdata_transfer_status:=pdata_transfer_status;
ELSE
IF pdata_transfer_status='N' THEN
PDATA_TRANSFER_STATUS := 'F';
DBMS_OUTPUT.PUT_LINE('DUE TO ERROR DATA COULDN''T GET TRANSFERED TO SPG FOR TRANSACTION'||' '||PTRANSACTION_ID);
DBMS_OUTPUT.PUT_LINE(SQLERRM);
ELSIF pdata_transfer_status='F' THEN
PDATA_TRANSFER_STATUS := 'S';
DBMS_OUTPUT.PUT_LINE('DUE TO ERROR DATA COULDN''T GET TRANSFERED TO SPG FOR TRANSACTION'||' '||PTRANSACTION_ID);
DBMS_OUTPUT.PUT_LINE(SQLERRM);
ELSE
DBMS_OUTPUT.PUT_LINE('Failure WHEN sending data TO Error LOG. Data Transfer Status IS ' || PDATA_TRANSFER_STATUS || '. TRANSACTION ID '|| PTRANSACTION_ID);
END IF;
END IF;
--Now update all the information gathered above to the table
UPDATE SPG_INTERFACE_TABLE
SET response = P_RESPONSE,
data_transfer_status = PDATA_TRANSFER_STATUS,
oracle_error = PORACLE_ERROR,
oracle_error_message = PORACLE_ERROR_MESSAGE,
response_time = PRESPONSE_TIME
WHERE transaction_id = PTRANSACTION_ID;
COMMIT;
END;
/I have fixed the problem by own.
Seems there are some while space in the endpoint url.
Fix
http_req:= utl_http.begin_request
trim(l_endpoint_url)
,'POST'
,'HTTP/1.1'
It works...
Regards
BS -
TOO many OPEN CURSORS during loop of INSERT's
Running ODP.NET beta2 (can't move up yet but will do that soon)
I don't think it is related with ODP itself but probably on how .Net works with cursors. We have a for/next loop that executes INSERT INTO xxx VALUES (:a,:b,:c)
statements. Apparently, when monitoring v$sysstat (current open cursors) we see these raising with 1 INSERT = 1 cursor. If subsequently we try to perform another action, we get max cursors exceeded. We allready set open_cursor = 1000, but the number of inserts can be very high. Is there a way to release these cursors (already wrote oDataAdaptor.dispose, oCmd.dispose but this does not help.
Is it normal that each INSERT has it's own cursor ? they all have the same hashvalue in v$open_cursor. They seem to be released after a while, especially when moving to another asp.net page, but it's not clear when that happens and if it is possible to force the release of the (implicit?) cursors faster.
Below is a snippet of the code, I unrolled a couple of function-calls into the code so this is just an example, not sure it will run without errors like this, but the idea should be clear (the code looks rather complex for what it does but the unrolled functions make the code more generic and we have a database-independend datalayer):
Try
' Set the Base Delete statement
lBaseSql = _
"INSERT INTO atable(col1,col2,col3) " & _
"VALUES(:col1,:col2,:col3)"
' Initialize a transaction
lTransaction = oConnection.BeginTransaction()
' Create the parameter collection, containing for each
' row in the list the arguments
For Each lDataRow In aList.Rows
lOracleParamters = New OracleParameterCollection()
lOracleParameter = New OracleParameter("luserid", OracleDbType.Varchar2,
_ CType(aCol1, Object))
lOracleParamters.Add(lOracleParameter)
lOracleParameter = New OracleParameter("part_no", OracleDbType.Varchar2, _
CType(lDataRow.Item("col2"), Object))
lOracleParamters.Add(lOracleParameter)
lOracleParameter = New OracleParameter("revision", OracleDbType.Int32, _
CType(lDataRow.Item("col3"), Object))
lOracleParamters.Add(lOracleParameter)
' Execute the Statement;
' If the execution fails because the row already exists,
' then the insert should be considered as succesfull.
Try
Dim aCommand As New OracleCommand()
Dim retval As Integer
'associate the aConnection with the aCommand
aCommand.Connection = oConnection
'set the aCommand text (stored procedure name or SQL statement)
aCommand.CommandText = lBaseSQL
'set the aCommand type
aCommand.CommandType = CommandType.Text
'attach the aCommand parameters if they are provided
If Not (lOracleParameters Is Nothing) Then
Dim lParameter As OracleParameter
For Each lParameter In lOracleParameters
'check for derived output value with no value assigned
If lParameter.Direction = ParameterDirection.InputOutput _
And lParameter.Value Is Nothing Then
lParameter.Value = Nothing
End If
aCommand.Parameters.Add(lParameter)
Next lParameter
End If
Return
' finally, execute the aCommand.
retval = cmd.ExecuteNonQuery()
' detach the OracleParameters from the aCommand object,
' so they can be used again
cmd.Parameters.Clear()
Catch ex As Exception
Dim lErrorMsg As String
lErrorMsg = ex.ToString
If Not lTransaction Is Nothing Then
lTransaction.Rollback()
End If
End Try
Next
lTransaction.Commit()
Catch ex As Exception
lTransaction.Rollback()
Throw New DLDataException(aConnection, ex)
End TryI have run into this problem as well. To my mind
Phillip's solution will work but seems completey unnecessary. This is work the provider itself should be managing.
I've done extensive testing with both ODP and OracleClient. Here is one of the scenarios: In a tight loop of 10,000 records, each of which is either going to be inserted or updated via a stored procedure call, the ODP provider throws the "too many cursor errors at around the 800th iteration. With over 300 cursors being open. The exact same code with OracleClient as the provider never throws an error and opens up 40+ cursors during execution.
The applicaation I have updates a Oracle8i database from a DB2 database. There are over 30 tables being updated in near real time. Reusing the command object is not an option and adding all the code Phillip did for each call seems highly unnecessary. I say Oracle needs to fix this problem. As much as I hate to say it the microsoft provider seems superior at this point.
Maybe you are looking for
-
Reusing Time Machine from an external hard drive
Since now I've read a lot of discussion to solve this issue but I cannot understand how to proceed. My situation is the following. I've replaced my old HDD with a SSD. I performed a clean install of ML 10.8.3 without the support of Migration Assistan
-
Print preview in abap list format
Dear All I am facing a problem with the print preview. When i am clicking on print preview button the system is displaying the output in a abap list format. but when i m taking the print it is coming correctly. The out put format is different in the
-
Regarding current system date as prompt
Hi all, I am very new to this obiee. I am trying to set the dashboard prompt value as the currnet date. But i am not able to get it. were to set to set variable and how to set it. Please any one can help me. Thanks a lot for your help A
-
How do I play iTunes through my HiFi system ?
I'm new to Apple support communities having just bought my first Macbook Pro (a 17" 2.5GHz i7 model) and this is my very first iTunes post. I'm a bit of a Hi-Fi enthusiast, so, with my new MacBook Pro I've taken the opportunity of completely reloadin
-
Exporting/Importing Landmarks
Perhaps it's covered in this forum, but I couldn't find it. But, there's a simple way to export/import Landmarks so that they can be moved between different Maps-enabled phones and be made available to the Maps application. From within the Landmarks