Procedure with IN and OUT date parameters
Hello Guys,
could you please tell me where i am doing wrong, i want to get or return the date from the below procedure. It is throwing below error when i try to execute it, appreciate your help.
Execute Statement:
exec get_nxt_trd_dt('09/03/2010')
Error Message:
PLS-00306: wrong number or types of arguments in call to 'GET_NXT_TRD_DT'
Procedure Body:
CREATE OR REPLACE PROCEDURE GET_NXT_TRD_DT
(INPUT_DT IN DATE,OUTPUT_DT OUT DATE) IS
BEGIN
SELECT MIN(DATES) INTO OUTPUT_DT FROM (SELECT DISTINCT DATES FROM (
SELECT * FROM
SELECT TRUNC(TO_DATE(TO_CHAR(SYSDATE,'YYYYMMDD'),'yyyymmdd'),'Y')+ROWNUM -1 DATES FROM
SELECT 1
FROM Dual
GROUP BY CUBE (2, 2, 2, 2, 2, 2, 2, 2, 2)
WHERE ROWNUM <= ADD_MONTHS(TRUNC(TO_DATE(TO_CHAR(SYSDATE,'YYYYMMDD'),'YYYYMMDD'),'Y'),24) - TRUNC(TO_DATE(TO_CHAR(SYSDATE,'YYYYMMDD'),'YYYYMMDD'),'Y')
WHERE TO_CHAR( DATES, 'DY') NOT IN ('SAT','SUN')
MINUS
SELECT DISTINCT HOLIDAY_DATE FROM HOLIDAY )
WHERE DATES BETWEEN TO_DATE('08/01/2010','MM/DD/YYYY') AND TO_DATE('09/30/2010','MM/DD/YYYY')
WHERE DATES > TO_DATE(INPUT_DT,'MM/DD/YYYY');
END;
That worked thank you. Could you please help on the below, how to execute the same plsql block defined as function?? Thank you.
Execute stmts used:
(1)
DECLARE
DT DATE;
BEGIN
GET_NXT_TRD_DT(TO_DATE('09/03/2010','MM/DD/YYYY'),DT);
END;
Error Message: PLS-00221: 'GET_NXT_TRD_DT' is not a procedure or is undefined
(2)
DECLARE
BEGIN
GET_NXT_TRD_DT(TO_DATE('09/03/2010','MM/DD/YYYY'));
END;
Error Message: PLS-00306: wrong number or types of arguments in call to 'GET_NXT_TRD_DT'
Function Body:
CREATE OR REPLACE FUNCTION GET_NXT_TRD_DT
(INPUT_DT IN DATE,OUTPUT_DT OUT DATE) RETURN DATE IS
BEGIN
SELECT MIN(DATES) INTO OUTPUT_DT FROM (SELECT DISTINCT DATES FROM (
SELECT * FROM
SELECT TRUNC(TO_DATE(TO_CHAR(SYSDATE,'YYYYMMDD'),'yyyymmdd'),'Y')+ROWNUM -1 DATES FROM
SELECT 1
FROM Dual
GROUP BY CUBE (2, 2, 2, 2, 2, 2, 2, 2, 2)
WHERE ROWNUM <= ADD_MONTHS(TRUNC(TO_DATE(TO_CHAR(SYSDATE,'YYYYMMDD'),'YYYYMMDD'),'Y'),24) - TRUNC(TO_DATE(TO_CHAR(SYSDATE,'YYYYMMDD'),'YYYYMMDD'),'Y')
WHERE TO_CHAR( DATES, 'DY') NOT IN ('SAT','SUN')
MINUS
SELECT DISTINCT HOLIDAY_DATE FROM HOLIDAY )
WHERE DATES BETWEEN TO_DATE('08/01/2010','MM/DD/YYYY') AND TO_DATE('09/30/2010','MM/DD/YYYY')
WHERE DATES > INPUT_DT;
RETURN(OUTPUT_DT);
END;
/
Similar Messages
-
Can Stored procedure with IN and OUT Paramter can be used in JDBC LOOKUP?
can Stored procedure with IN and OUT Paramter can be used in JDBC LOOKUP?
Checking online help, I do not see any possibility.
"Queries a data base by the given SQL statement."
http://help.sap.com/javadocs/pi/pi711sp03/com/sap/aii/mapping/lookup/DataBaseAccessor.html
-> execute -
Create procedure with IN and OUT, what is IN+OUT?
Hi.
from docs:
IN
Specify IN to indicate that you must supply a value for the argument when calling the procedure.
OUT
Specify OUT to indicate that the procedure passes a value for this argument back to its calling environment after execution.
IN OUT
Specify IN OUT to indicate that you must supply a value for the argument when calling the procedure and that the procedure passes a value back to its calling environment after execution.
As I understand like in oop IN - passing parameter by value, out-by reference. But IN OUT? d:/Gets passed in with one value, comes out with another.
create or replace procedure calcarea (x in out number)
as
begin
x:=x*x;
end;
create or replace procedure output (oneside in number)
as
myinput number;
area number;
begin
myinput := oneside;
calcarea(myinput);
dbms_output.put_line('The area in sq units is '||myinput);
end;
set serveroutput on
exec output(5);Note how the area is passed out via the same parameter. -
Executing a Procedure with IN and OUT parameters
How do I call/execute the following procedure? When I call as Courses(StartDate,EndDate,nCount,State,LastUpdate);
I get an error:
Error(92,45): PLS-00363: expression 'nCount' cannot be used as an assignment target
Error(92,55): PLS-00363: expression 'State' cannot be used as an assignment target
PROCEDURE Courses
StartDate IN VARCHAR2
, EndDate IN VARCHAR2
, nCount IN OUT VARCHAR2
, State IN OUT CHAR
, LastUpdate IN DATEset serverout on
declare
l_StartDate VARCHAR2(100) := '20130101'; -- why are you using varchar? use a date! you WILL regret using a string eventually
l_EndDate VARCHAR2(100) := '20140101';
l_Count VARCHAR2(100); -- string, again? why? isn't a count a number?
l_State VARCHAR2(100);
l_LastUpdate DATE := sysdate;
begin
Courses ( l_StartDate, l_EndDate, l_Count, l_State, l_LastUPdate );
dbms_output.put_line ( 'Count: ' || l_Count );
dbms_output.put_line ( 'State: ' || l_State );
end; -
Stored procedure with IN and OUT parameter
HI all,
here is code example
declare
in_dt date := '1-feb-2010' ;
col1 ...;
col2 ...;
col3 ...;
begin
select e.*
into col1,
col2,
col3
from table_xyz e
where e.start_dt = in_dt;
end;
How do i convert the above code into stored procedure by accepting "in_dt" as IN parameter and getting the result set displayed (output) through OUT parameter say "cur_out" (OUT paramter)
Thank you so much !!! I really appriciate it !!i ran my procedure which is very similar syndra posted
create or replace procedure foo(p_dt in date, cv out sys_refcursor) as
begin
open cv for
select e.*
from table_xyz e
where start_dt = p_dt;
end;
/Here is how is executed
DECLARE
P_DT DATE;
CV SYS_REFCURSOR;
BEGIN
P_DT := '10-oct-2005';
-- CV := NULL; Modify the code to initialize this parameter
scott.foo ( P_DT, CV );
COMMIT;
END;
-- i get PL/SQL procedure successfully complted , But i dont see the result set Or output
- How do i see the output when i m using refcursor ?? i tried using print , but nothing didnt work
- Any idea ??
Thank you!!
Edited by: user642297 on Jun 24, 2010 1:35 PM -
OCCI call PL/SQL Procedure with 2 IN/OUT Parameters..BUS ERROR!!
Hi~ All,
I am new user for using OCCI. Util now, I encountered a problem with OCCI when I call a procedure with 2 IN/OUT parameters. Then,I got an error(core dump), Why?
CREATE OR REPLACE PROCEDURE demo_proc (v1 in integer, v2 in out varchar2, v3 in out varchar2);
==== OCCI Code ========
stmt = conn->createStatement
("BEGIN demo_proc(:v1, :v2, :v3); END;");
cout << "Executing the block :" << stmt->getSQL() << endl;
stmt->setInt (1, 10);
stmt->setString (2, "Test1");
stmt->setString (3, "First");
int updateCount = stmt->executeUpdate ();
cout << "Update Count:" << updateCount << endl;
cout << "Printing the INOUT & OUT parameters:" << endl;
string c1 = stmt->getString (2);
cout << c1 << endl;
string c2 = stmt->getString (3);
==== RUN RESULT ====
Bus error(coredump)
But, If i just only got one of string from v1 or v2,I could get correct result!! Why? Does some one know how to avoid this two IN/OUT parameters issue?Hi~ Amoghavarsha,
Thanks for your response! I solved the problem by myself. I found the root cause, it seems very strange in
initializing environment variable.
=== FAILED ===
Environment *env;
=== SUCCESS ===
Environment *env = NULL; <---Why??
cout << "occidml - createEnvironment" << endl;
env = Environment::createEnvironment (Environment::OBJECT);
Eventually, I fixed this issue in Win2K and HP-UX 11.
Best Regards, -
Procedure to Integrate SAP PI 7.1 with Teradata and IBM Data stage
Hi,
We are integrating SAP PI 7.1 with Teradata and IBM Data stage for retail customer.
Please provide the following information.
1. What are the connectors available in Teradata and IBM Data stage
2. What type of output/input, Teradata can give/take from/to SAP PI
3. What type of output/input, IBM Data stage can give/take from/to SAP PI
4. How to handle Bulk uploads between SAP PI and Terdata, SAP PI and IBM Data stage
Thanks,
RameshHi Ramesh,
Could you get answers for your queries. We have Teradata 13.10.2 in our landscape and I have exactly same queries that you asked. Can you possibly share your experience in this area.
Anand. -
SQLJ calling PL/SQL with records and tables as parameters
Has anyone used sqlj to to call procedures with records and
tables as IN, OUT, or INOUT as parameters? If so how do you
assign values to the IN parameter in the record/tables, and get
values out of the record/table when it is passed back? Might
anyone have any syntax?
nullOne thing I forgot to mention: If you're an 8i client, then in
8.1.6 you'll be able to use JPublisher to solve this problem,
since it'll generate these wrappers for you.
Pierre
Oracle Product Development Team wrote:
: Hi,
: The key issue is that no part of Oracle code except PL/SQL is
: aware of the PL/SQL Record types and PL/SQL "index-by" table
: types.
: So the only way to call a PL/SQL procedure with args of a
RECORD
: or "index-by" table types is from another PL/SQL routine.
: In most cases, it's possible to work-around this by wrappering
: your PL/SQL method with another which doesn't have this issue.
: For example, if you're trying to call procedure proc01 in:
: package pack01 is
: type rec01 is record(n1 number, d1 date);
: procedure proc01 (r rec01);
: end;
: you can create a wrapper method:
: package pack01_wrapper is
: procedure proc01_wrapper (n1 number, d1 date);
: end;
: package body pack01_wrapper is
: procedure proc01_wrapper (n1 number, d1 date) is
: r pack01.rec01;
: begin
: r.n1 := n1;
: r.d1 := d1;
: pack01.proc01;
: end;
: end;
: If you're a 7.3 client, that's about all you can do. The Fix
was
: introduced in 8.0, where new structured types (ADT's) and new
: table types (VARRAY's and Nested tables) were introduced. So
if
: you're an 8.0 client, your 'wrapper' package could use an ADT
: which has the same attributes as the record, rather than
: 'exploding' the record into its individual components as I
showed
: above.
: Hope this helps!
: Pierre
: Thomas Richardson (guest) wrote:
: : Has anyone used sqlj to to call procedures with records and
: : tables as IN, OUT, or INOUT as parameters? If so how do you
: : assign values to the IN parameter in the record/tables, and
get
: : values out of the record/table when it is passed back? Might
: : anyone have any syntax?
: Oracle Technology Network
: http://technet.oracle.com
Oracle Technology Network
http://technet.oracle.com
null -
Call from Java Plsql Procedure with VArray as Out Parameter
Hi,
I have a Java web application(Tomcat server) that call a plsql procedure with Varray as OUT parameter.
The Plsql code is perfectly compiled.
When i run the application, I get the following error msg in my Tomcat window:
java.sql.SQLException: ORA-06530: Reference to uninitialized composite
ORA-06512: at "SEMS1.PACK_SEMSADMIN_OFFEREDJOBS", line 102
at oracle.jdbc.dbaccess.DBError.throwSqlException(DBError.java:134)
at oracle.jdbc.ttc7.TTIoer.processError(TTIoer.java:289)
at oracle.jdbc.ttc7.Oall7.receive(Oall7.java:573)
at oracle.jdbc.ttc7.TTC7Protocol.doOall7(TTC7Protocol.java:1891)
at oracle.jdbc.ttc7.TTC7Protocol.parseExecuteFetch(TTC7Protocol.java:109
3)
at oracle.jdbc.driver.OracleStatement.executeNonQuery(OracleStatement.java:2047)
at oracle.jdbc.driver.OracleStatement.doExecuteOther(OracleStatement.java:1940)
at oracle.jdbc.driver.OracleStatement.doExecuteWithTimeout(OracleStatement.java:2709)
at oracle.jdbc.driver.OraclePreparedStatement.executeUpdate(OraclePreparedStatement.java:589)
at oracle.jdbc.driver.OraclePreparedStatement.execute(OraclePreparedStat
{color:#0000ff}
Doubt: Do I need to declare ArrayDescriptors to retrieve the VArray from the Plsql procedure.
I think the below statement is enough; we need ArrayDescriptors only when we we wish to send a Plsql Object or Varray from Java code to the procedure. Plz correct me if not so.
dbCallableStatement.execute();
ARRAY SimpleOUTArray = (ARRAY) ((OracleCallableStatement) dbCallableStatement).
getObject(Integer.parseInt(arlParameterOutIndex.get(i).toString()));{color}
I am unable to realize where the mistake is?
{color:#800000}
{color}{color:#800000}
VARRAY AND PROC DETAILS:
TYPE STRUCT_JOB_DETAILS AS OBJECT
APPL_NO NUMBER (10),
S_FNAME VARCHAR2 (32 Byte),
S_MI VARCHAR2 (32 Byte),
S_LNAME VARCHAR2 (32 Byte),
APPL_DATE DATE,
DESCRIPTION VARCHAR2 (100 Byte),
S_UCID VARCHAR2 (8 Byte)
TYPE VARRAY_JOB_DETAILS IS VARRAY(100) OF STRUCT_JOB_DETAILS;{color}
{color:#800000}PROCEDURE:{color}
{color:#800000}CREATE OR REPLACE PACKAGE PACK_SEMSADMIN_OFFEREDJOBS
AS
TYPE Generic_Cursor_Type IS REF CURSOR;
--TYPE varray_job_detail is VARRAY(100) OF STRUCT_JOB_DETAILS;
--va_varray_job_detail varray_job_detail := varray_job_detail();
va_varray_job_detail VARRAY_JOB_DETAILS := VARRAY_JOB_DETAILS();
PROCEDURE Admin_Jobs_Offered_Rtr
ic_status IN VARCHAR2,
or_offered_jobs OUT Generic_Cursor_Type,
va_varray_job_detail OUT VARRAY_JOB_DETAILS
CREATE OR REPLACE PACKAGE BODY PACK_SEMSADMIN_OFFEREDJOBS
AS
PROCEDURE Admin_Jobs_Offered_Rtr
ic_status IN VARCHAR2,
or_offered_jobs OUT Generic_Cursor_Type,
va_varray_job_detail OUT VARRAY_JOB_DETAILS
AS
vc_query VARCHAR2(15000) := '';
vc_query_1 VARCHAR2(15000) := '';
counter NUMBER := 1;
vc_no NUMBER := 0;
or_applicants_list Generic_Cursor_Type;
TYPE type_appln_list IS RECORD
job_no NUMBER(10),
job_title VARCHAR2(50 BYTE),
account_no VARCHAR2(10 BYTE),
head_fname VARCHAR2(32 BYTE),
head_minitial VARCHAR2(10 BYTE),
head_lname VARCHAR2(32 BYTE),
num NUMBER
vn_appln_list type_appln_list;
TYPE type_job_offered IS RECORD
APPL_NO NUMBER (10),
S_FNAME VARCHAR2 (32),
S_MI VARCHAR2 (32),
S_LNAME VARCHAR2 (32),
APPL_DATE DATE,
DESCRIPTION VARCHAR2 (100),
S_UCID VARCHAR2 (8)
vn_job_offered type_job_offered;
BEGIN
vc_query := vc_query || ' SELECT jobs.job_no,job_title, account_no, head_fname, head_minitial, head_lname, num';
vc_query := vc_query || ' FROM jobs, ( ' ;
vc_query := vc_query || ' SELECT jobs.job_no,count(*) as num' ;
vc_query := vc_query || ' FROM student_apps ,jobs ' ;
vc_query := vc_query || ' WHERE jobs.job_no = student_apps.job_no' ;
vc_query := vc_query || ' AND (student_apps.status in (''o'',''t'')) '; --|| ic_status || ')' ;
vc_query := vc_query || ' AND jobs.status not in (''z'', ''Z'')' ;
vc_query := vc_query || ' GROUP BY jobs.job_no' ;
vc_query := vc_query || ' ) no_apps_off' ;
vc_query := vc_query || ' WHERE jobs.job_no = no_apps_off.job_no' ;
dbms_output.put_line('Executed Query_1');
va_varray_job_detail := VARRAY_JOB_DETAILS();
va_varray_job_detail.extend(100);
OPEN or_offered_jobs FOR vc_query;
LOOP
FETCH or_offered_jobs INTO vn_appln_list;
EXIT WHEN or_offered_jobs%NOTFOUND;
vc_query_1 := '';
vc_query_1 := vc_query_1 || ' SELECT stud_apps.appl_no APPL_NO, stud_apps.s_fname S_FNAME, ';
vc_query_1 := vc_query_1 || ' stud_apps.s_mi S_MI, stud_apps.s_lname S_LNAME, ';
vc_query_1 := vc_query_1 || ' stud_apps.appl_date APPL_DATE, look_up.description DESCRIPTION, ' ;
vc_query_1 := vc_query_1 || ' stud_apps.s_ucid S_UCID ' ;
vc_query_1 := vc_query_1 || ' FROM student_apps stud_apps,jobs jbs,lookup look_up' ;
vc_query_1 := vc_query_1 || ' WHERE stud_apps.status in (''o'',''t'') '; --(' || ic_status || ') ' ;
vc_query_1 := vc_query_1 || ' AND jbs.job_no = stud_apps.job_no' ;
vc_query_1 := vc_query_1 || ' AND jbs.status not in (''z '', ''Z'')' ;
vc_query_1 := vc_query_1 || ' AND stud_apps.status = look_up.code ' ;
vc_query_1 := vc_query_1 || ' AND look_up.type = ''st''' ;
vc_query_1 := vc_query_1 || ' AND stud_apps.job_no = ''' || vn_appln_list.job_no || ''' ' ;
vc_query_1 := vc_query_1 || ' ORDER BY appl_date' ;
dbms_output.put_line('Executed Query_2');
OPEN or_applicants_list FOR vc_query_1;
LOOP
FETCH or_applicants_list INTO vn_job_offered;
EXIT WHEN or_applicants_list%NOTFOUND;
va_varray_job_detail(counter).APPL_NO := vn_job_offered.APPL_NO;
va_varray_job_detail(counter).S_FNAME := vn_job_offered.S_FNAME;
va_varray_job_detail(counter).S_MI := vn_job_offered.S_MI;
va_varray_job_detail(counter).S_LNAME := vn_job_offered.S_LNAME;
va_varray_job_detail(counter).APPL_DATE := vn_job_offered.APPL_DATE;
va_varray_job_detail(counter).DESCRIPTION := vn_job_offered.DESCRIPTION;
va_varray_job_detail(counter).S_UCID := vn_job_offered.S_UCID;
counter := counter + 1;
END LOOP; --end of FOR
CLOSE or_applicants_list;
END LOOP; -- end of FETCH
END Admin_Jobs_Offered_Rtr;
END PACK_SEMSADMIN_OFFEREDJOBS;
/{color}
Reqire help plzzzz !!!
Thanks.Originally posted by JDBC Development Team:
It's very similar to other datatype except that it uses OracleTypes.ARRAY typecode and the value is mapped to a oracle.sql.ARRAY instance. The code looks as follows --
cstmt.registerOutParameter (idx, OracleTypes.ARRAY, "VARRAY_TYPE_NAME_HERE");
cstmt.execute ();
ARRAY array = (ARRAY) cstmt.getObject (idx);
Thanks for your reply.
I have to use:-
OracleCallableStatement cs1 = (OracleCallableStatement )conn.prepareCall
( "{call proj_array(?)}" ) ;
for retrieving a collection as an OUT parameter.
This gives me the errors:-
C:\jdbc\VarraySQL.java:0: The method oracle.jdbc2.Blob getBlob(int) declared in class oracle.jdbc.driver.OracleCallableStatement cannot override the method of the same signature declared in interface java.sql.CallableStatement. They must have the same return type.
import java.sql.*;
^
C:\jdbc\VarraySQL.java:0: The method oracle.jdbc2.Array getArray(int) declared in class oracle.jdbc.driver.OracleCallableStatement cannot override the method of the same signature declared in interface java.sql.CallableStatement. They must have the same return type.
import java.sql.*;
^
C:\jdbc\VarraySQL.java:0: The method oracle.jdbc2.Clob getClob(int) declared in class oracle.jdbc.driver.OracleCallableStatement cannot override the method of the same signature declared in interface java.sql.CallableStatement. They must have the same return type.
import java.sql.*;
^
C:\jdbc\VarraySQL.java:0: The method oracle.jdbc2.Ref getRef(int) declared in class oracle.jdbc.driver.OracleCallableStatement cannot override the method of the same signature declared in interface java.sql.CallableStatement. They must have the same return type.
import java.sql.*;
^
How do I get rid of these errors?
null -
Stored procedure with cursor as out parameter
Can any one help me by showing how to write a procedure with cursor as out parameter and caputuring it in java using jdbc.
Thanks in advance,
shravan bharadwajI know that in the SQLJ distribution (which is also downloadable) there is an example in the demo directory called RefCursDemo that shows the SQL code and how to call it - albeit from SQLJ and not JDBC. There may also be a demo in the JDBC distribution, though I am not sure about that.
-
Please help - Can not use stored procedure with CTE and temp table in OLEDB source
Hi,
I am going to create a simple package. It has OLEDB source , a Derived transformation and a OLEDB Target database.
Now, for the OLEDB Source, I have a stored procedure with CTE and there are many temp tables inside it. When I give like EXEC <Procedure name> then I am getting the error like ''The metadata could not be determined because statement with CTE.......uses
temp table.
Please help me how to resolve this ?you write to the temp tables that get created at the time the procedure runs I guess
Instead do it a staged approach, run Execute SQL to populate them, then pull the data using the source.
You must set retainsameconnection to TRUE to be able to use the temp tables
Arthur My Blog -
How to manage bom effective in and out dates
The parent-child relationships in my BOMs have effective in and out dates. The in date is when the child part starts to participate in the BOM cascade. Then out date is when it stops participating.
My questions is, how to express this in IOP speak. Specifically, when I want to say is,
dependent demand = dependent demand + <total demand from parent> * if (today is in [BOM.in_date .. BOM.out_date], BOM.usage, 0)
I'm sure it can be done, just haven't been able to figure out how. I poked around the function reference in jdocs, but haven't come up with a way to do this. Seems like the key here is to construct locations out of the dates I pull out of the rowsource. Once I have that, I should be able to use the in() and range() functions.
Thanks for your advice.Matt
Yes, this is fundamental and supported well. Unfortunately, it used to be custom code before the release coming out soon. In this release, we have introduced generic functions to achieve that. The in_date and out_date are function of the relationship I assume.
Here is what you could do with the new release -- remember this should be coded in the rolldown/rollup formula --
dependent demand = dependent demand + <total demand from parent> * if (isCurrentDateInRange(
lookupDate("BOM_STRUCTURE_RS", property("BomDim", "name"), sourceSparseMember("BomDim"), "start_date"),
lookupDate("BOM_STRUCTURE_RS", property("BomDim", "name"), sourceSparseMember("BomDim"), "end_date")),
lookup("BOM_STRUCTURE_RS", property("BomDim", "name"), sourceSparseMember("BomDim"), "SCALE_FACTOR"), 0)
lookupDate and isCurrentDateInRange are introduced now.
Lookup in general is a cool function that lets you do arbitrary query to rowsource. It is like table lookup and it is efficient within a block calculation. -
Help with writing and retrieving data from a table field with type "LCHR"
Hi Experts,
I need help with writing and reading data from a database table field which has a type of "LCHR". I have given an example of the original code but don't know what to change it to in order to fix it and still read in the original data that's stored in the LCHR field.
Basically we have two Function modules, one that saves list data to a database table and one that reads in this data. Both Function modules have an identicle table which has an array of fields from type INT4, CHAR, and type P. The INT4 field is the first one.
Incidentally this worked in the 4.7 non-unicode system but is now dumping in the new ECC6 Unicode system.
Thanks in advance,
C
SAVING THE LIST DATA TO DB
DATA: L_WA(800).
LOOP AT T_TAB into L_WA.
ZDBTAB-DATALEN = STRLEN( L_WA ).
MOVE: L_WA to ZDBTAB-RAWDATA.
ZDBTAB-LINENUM = SY-TABIX.
INSERT ZDBTAB.
READING THE DATA FROM DB
DATA: BEGIN OF T_DATA,
SEQNR type ZDBTAB-LINENUM,
DATA type ZDBTAB-RAWDATA,
END OF T_TAB.
Select the data.
SELECT linenum rawdata from ZDBTAB into table T_DATA
WHERE repid = w_repname
AND rundate = w_rundate
ORDER BY linenum.
Populate calling Internal Table.
LOOP AT T-DATA.
APPEND T_DATA to T_TAB.
ENDLOOP.Hi Anuj,
The unicode flag is active.
When I run our report and then to try and save the list data a dump is happening at the following point
LOOP AT T_TAB into L_WA.
As I say, T_TAB consists of different fields and field types whereas L_WA is CHAR 800. The dump mentions UC_OBJECTS_NOT_CONVERTIBLE
When I try to load a saved list the dump is happening at the following point
APPEND T_DATA-RAWDATA to T_TAB.
T_DATA-RAWDATA is type LCHR and T_TAB consists of different fields and field types.
In both examples the dumps mention UC_OBJECTS_NOT_CONVERTIBLE
Regards
C -
[URGENT] Performance problem with BC4J and partioned data
Hi all,
I have a big performance probelm with BC4J and partitioned data. As as partitioned table shouldn't have a primary key like a sequence (or something else) my partitioned table doesn't have any primary key.
When I debug my BC4J application I can see a message showing me "ignoring row with no primary key" from EntityCache. It takes a long time to retrieve my data even if I use the partition keys. A quick & dirty forms application was multiple times faster!
Is this a bug in BC4J, or is BC4J not suitable for partitioned data? Can anyone give me a hint what to do, do make the BC4J application fast even with partitioned data? In a non-partitioned environment the application works quite well. So it seams that it must be an "error" somewhere in this part.
Thanks,
AxelHere's a SQL statement that creates the table.
CREATE TABLE SEARCH
(SEAR_PARTKEY_DAY NUMBER(4) NOT NULL
,SEAR_PARTKEY_EMP VARCHAR2(2) NOT NULL
,SEAR_ID NUMBER(20) NOT NULL
,SEAR_ENTRY_DATE TIMESTAMP NOT NULL
,SEAR_LAST_MODIFIED TIMESTAMP NOT NULL
,SEAR_STATUS VARCHAR2(100) DEFAULT '0'
,SEAR_ITC_DATE TIMESTAMP NOT NULL
,SEAR_MESSAGE_CLASS VARCHAR2(15) NOT NULL
,SEAR_CHIPHERING_TYPE VARCHAR2(256)
,SEAR_GMAT VARCHAR2(1) DEFAULT 'U'
,SEAR_NATIONALITY VARCHAR2(3) DEFAULT 'XXX'
,SEAR_MESSAGE_ID VARCHAR2(32) NOT NULL
,SEAR_COMMENT VARCHAR2(256) NOT NULL
,SEAR_NUMBER_OF NUMBER(3) NOT NULL
,SEAR_INTERCEPTION_SYSTEM VARCHAR2(40)
,SEAR_COMM_PRIOD_H NUMBER(5) DEFAULT -1
,SEAR_PRIOD_R NUMBER(5) DEFAULT -1
,SEAR_INMARSAT_CES VARCHAR2(40)
,SEAR_BEAM VARCHAR2(10)
,SEAR_DIALED_NUMBER VARCHAR2(70)
,SEAR_TRANSMIT_NUMBER VARCHAR2(70)
,SEAR_CALLED_NUMBER VARCHAR2(40)
,SEAR_CALLER_NUMBER VARCHAR2(40)
,SEAR_MATERIAL_TYPE VARCHAR2(3) NOT NULL
,SEAR_SOURCE VARCHAR2(10)
,SEAR_MAPPING VARCHAR2(100) DEFAULT '__REST'
,SEAR_DETAIL_MAPPING VARCHAR2(100)
,SEAR_PRIORITY NUMBER(3) DEFAULT 255
,SEAR_LANGUAGE VARCHAR2(5) DEFAULT 'XXX'
,SEAR_TRANSMISSION_TYPE VARCHAR2(40)
,SEAR_INMARSAT_STD VARCHAR2(1)
,SEAR_FILE_NAME VARCHAR2(100) NOT NULL
PARTITION BY RANGE (SEAR_PARTKEY_DAY, SEAR_PARTKEY_EMP)
PARTITION SEARCH_MAX VALUES LESS THAN (MAXVALUE, MAXVALUE) MIRA4_SEARCH_EVEN
);of course SEAR_ID is filled by a sequence but the field is not the primary key as it would decrease the performance of partitioned data.
We moved to native JDBC with our application and the performance is like we never expected to be! -
i bought my i pod touch from us but i live in india .i have been using this from many days fr just a few days before something went wrong with it and the date and time has changed what do i do?
Have you went to Settings>General Time&Date and correct the time. Make sure the time zone is correct too. Also go to Settings>General>Inernational and make sure the Gergorian calender is selected.
Maybe you are looking for
-
Windows Movie Maker transitioning?
Hello everyone, I'm having some difficulty using Adobe Premiere Pro CS5.5. My family recently bought this because we wanted to string some clips together using the video from our new Sony Bloggie, but we found out that it's not compatible with WMM a
-
IPhone summary disappeared after restore, no music! Please help! :(
Hello, I tried to update my iTunes software last night and the screen on my iPhone froze. I eventually had to restore the iPhone to the factory settings and chose to use the data from my last backup, but now every time I connect the phone to my PC an
-
Opening Apps To Slow...
Has anyone noticed that after you have upgrade to 1.1.3 with the 5 apps it takes at least 1 sec delay for the text to come up in settings, calendar, photos, videos and just about every thing, after not using iPod Touch for a while and frequently. I h
-
CTI - Telephone Number translation
I am facing a challenge in identifying the customer during the inbound call in ICWC. The Inbound call alert is showing +90507303790 (with a prefix of 9) but we have maintained the telephone number as 0507303790 in the BP. So when the call comes to C
-
I am using N95-4 8gb, it already built in nokia map with version v1.2. i searched raound on internet, and i found that i am having old version. I tried to download the new version on the Nokia website, but i couldnt download it. It just appeared the