Internal Error while using Table Functions
Here is the query
select * from table (cast(sf_frontend.SF_STDDEV(2002,'Q','1',20,'N') as
NDeviation))
It gives this error
ORA-00600: internal error code, arguments: [17274], [4], [], [], [], [], [], []
Can anyone help me out... Any help will be appreciated
[email protected]
1. Have the screen open where you have the Shift F2, you can manually run the query of the formatted search, it will sometimes give you more meaningful message.
Eg:
You have a formatted search query 'Query 1' which is saved in Tools> User Query> Query 1 attached to field DocTotal.
So, what you do is, instead of pressing Shift F2, you go to tools > User Query.> Query 1 to run it.
2. Another thing could be the field you used in the formula do not have the focus when you run it.
Eg: you use $[4.0.0] in the query.
When you press Shift F2, the field represents $[$4.0.0] do not have focus.
Similar Messages
-
ORA-00902: invalid datatype comile error while using CAST function
Hi everyone,
I'm getting ORA-00902: invalid datatype compilation error while using CAST function.
open ref_cursor_list for select empName from TABLE(CAST(part_t AS partnumberlist));
The partnumberlist and ref_cursor_list is declared in the Package spec as given below.
TYPE ref_cursor_list IS REF CURSOR;
TYPE partnumberlist IS TABLE OF emp.empName%TYPE;
The error points the partnumberlist as invalid datatype in TOAD because of this i'm unable to compile the package.
Any suggestion
Thanks and regards
Sathish GopalHere is my code for
package Spec
CREATE OR REPLACE PACKAGE "HISTORICAL_COMMENTZ" AS
TYPE prior_part_data_record IS RECORD (
prior_part_row_id PGM_RPLCMNT_PART.PR_PART_ROW_S_ID%TYPE,
prior_pgm_chng_s_id PGM_RPLCMNT_PART.PR_PGM_CHNG_S_ID%TYPE
TYPE parts_list IS TABLE OF prior_part_data_record;
--TYPE parts_list IS TABLE OF NUMBER;
TYPE partnumberlist IS TABLE OF PGM_RPLCMNT_PART.PR_PART_ROW_S_ID%TYPE;
TYPE partnumber_cursor IS REF CURSOR;
TYPE comment_record IS RECORD (
pgm_s_id PGM_PART_CMNT.PGM_S_ID%TYPE,
part_row_s_id PGM_PART_CMNT.PART_ROW_S_ID%TYPE,
pgm_chng_s_id PGM_PART_CMNT.PGM_CHNG_S_ID%TYPE,
cmnt_txt PGM_PART_CMNT.CMNT_TXT%TYPE,
cmnt_dt PGM_PART_CMNT.CMNT_DT%TYPE,
updt_rsrc_id PGM_PART_CMNT.UPDT_RSRC_ID%TYPE
TYPE comment_list IS TABLE OF comment_record;
global_pgm_s_id INTEGER := 0;
global_part_row_s_id INTEGER := 0;
err_num NUMBER := 999999;
err_msg VARCHAR2 (250);
PROCEDURE getComments (
pgm_s_id IN NUMBER,
part_row_s_id IN NUMBER,
partnumber_cursorlist out partnumber_cursor);
END;
Package Body
CREATE OR REPLACE PACKAGE BODY HISTORICAL_COMMENTZ
AS
FUNCTION getPriorPart
(param_prior_pgm_chng_s_id IN PGM_RPLCMNT_PART.PR_PGM_CHNG_S_ID%TYPE,
return_prior_part_data_record IN OUT prior_part_data_record
RETURN INTEGER
IS
retVal INTEGER;
prior_part_row_id INTEGER;
prior_pgm_chng_s_id INTEGER;
local_prior_part_data_record prior_part_data_record;
BEGIN
SELECT PR_PART_ROW_S_ID AS prior_part_row_id, PR_PGM_CHNG_S_ID AS prior_pgm_chng_s_id
INTO local_prior_part_data_record
--SELECT PR_PART_ROW_S_ID INTO retVal
FROM PGM_RPLCMNT_PART
WHERE PGM_S_ID = global_pgm_s_id AND CUR_PGM_CHNG_S_ID = param_prior_pgm_chng_s_id;
return_prior_part_data_record := local_prior_part_data_record;
retVal := 0;
RETURN retVal;
EXCEPTION
WHEN NO_DATA_FOUND
THEN
err_num := SQLCODE;
err_msg := 'SQL Error ' || SUBSTR (SQLERRM, 1, 250);
DBMS_OUTPUT.put_line ('SQLERROR = ' || err_msg);
retVal := -1;
RETURN retVal;
WHEN OTHERS
THEN
err_num := SQLCODE;
err_msg := 'SQL Error ' || SUBSTR (SQLERRM, 1, 250);
DBMS_OUTPUT.put_line ('SQLERROR = ' || err_msg);
retVal := -1;
RETURN retVal;
END getPriorPart;
FUNCTION getComment (found_parts_list IN parts_list, comments OUT comment_list)
RETURN INTEGER
IS
CURSOR init_cursor
IS
SELECT PGM_S_ID,PART_ROW_S_ID,PGM_CHNG_S_ID,CMNT_TXT,CMNT_DT,UPDT_RSRC_ID
FROM PGM_PART_CMNT WHERE 1 = 2;
retVal INTEGER;
indexNum PLS_INTEGER;
local_part_record prior_part_data_record;
local_comment_record comment_record;
local_part_row_s_id NUMBER;
i PLS_INTEGER;
BEGIN
OPEN init_cursor;
FETCH init_cursor
BULK COLLECT INTO comments;
i := 0;
indexNum := found_parts_list.FIRST;
WHILE indexNum IS NOT NULL
LOOP
local_part_record := found_parts_list(indexnum);
local_part_row_s_id := local_part_record.prior_part_row_id;
SELECT PGM_S_ID,PART_ROW_S_ID,PGM_CHNG_S_ID,CMNT_TXT,CMNT_DT,UPDT_RSRC_ID
INTO local_comment_record FROM PGM_PART_CMNT
WHERE PGM_S_ID = global_pgm_s_id
AND PART_ROW_S_ID = local_part_row_s_id;
comments(i) := local_comment_record;
i := i + 1;
END LOOP;
RETURN retval;
EXCEPTION
WHEN NO_DATA_FOUND
THEN
err_num := SQLCODE;
err_msg := 'SQL Error ' || SUBSTR (SQLERRM, 1, 250);
DBMS_OUTPUT.put_line ('SQLERROR = ' || err_msg);
RETURN retval;
WHEN OTHERS
THEN
err_num := SQLCODE;
err_msg := 'SQL Error ' || SUBSTR (SQLERRM, 1, 250);
DBMS_OUTPUT.put_line ('SQLERROR = ' || err_msg);
RETURN retval;
END getComment;
PROCEDURE getComments
pgm_s_id IN NUMBER,
part_row_s_id IN NUMBER,
partnumber_cursorlist OUT partnumber_cursor)
IS
comment_recordlist comment_record;
retPartnumberlist partnumberlist;
found_parts_list parts_list;
local_part_record prior_part_data_record;
is_more_parts BOOLEAN;
driver_chng_s_id NUMBER;
num_parts NUMBER;
retVal NUMBER;
comments comment_list;
returnPartnumberlist partnumberlist;
iloopCounter PLS_INTEGER;
inx1 PLS_INTEGER;
part_t partnumberlist :=partnumberlist(100,200,300);
CURSOR part_list_init_cursor
IS
SELECT PR_PART_ROW_S_ID,PR_PGM_CHNG_S_ID FROM PGM_RPLCMNT_PART WHERE 1 = 2;
CURSOR inIt_cursor
IS
SELECT 0 FROM DUAL WHERE 1 = 2;
BEGIN
DBMS_OUTPUT.ENABLE (5000000);
global_pgm_s_id := pgm_s_id;
global_part_row_s_id := part_row_s_id;
SELECT PART_ROW_S_ID AS prior_part_row_id, PR_PGM_CHNG_S_ID AS prior_pgm_chng_s_id
INTO local_part_record
FROM PGM_RPLCMNT_PART
WHERE PGM_S_ID = global_pgm_s_id AND PART_ROW_S_ID = global_part_row_s_id AND
CUR_PGM_CHNG_S_ID IN (SELECT MAX(CUR_PGM_CHNG_S_ID) FROM PGM_RPLCMNT_PART WHERE
PGM_S_ID = global_pgm_s_id AND PART_ROW_S_ID = global_part_row_s_id
GROUP BY PART_ROW_S_ID);
OPEN part_list_init_cursor;
FETCH part_list_init_cursor
BULK COLLECT INTO found_parts_list;
-- Add the existing part to the found list
found_parts_list.EXTEND;
found_parts_list(1) := local_part_record;
driver_chng_s_id := local_part_record.prior_pgm_chng_s_id;
num_parts := 1;
is_more_parts := TRUE;
WHILE (is_more_parts) LOOP
retVal := getPriorPart(driver_chng_s_id,local_part_record);
IF (retVal != -1) THEN
found_parts_list.EXTEND;
num_parts := num_parts + 1;
found_parts_list(num_parts) := local_part_record;
driver_chng_s_id := local_part_record.prior_pgm_chng_s_id;
ELSE
is_more_parts := FALSE;
END IF;
END LOOP;
--num_parts := getComment(found_parts_list,comments);
OPEN init_cursor;
FETCH init_cursor
BULK COLLECT INTO returnPartnumberlist;
num_parts := found_parts_list.COUNT;
FOR iloopCounter IN 1 .. num_parts
LOOP
returnPartnumberlist.EXTEND;
returnPartnumberlist(iloopCounter) := found_parts_list(iloopCounter).prior_part_row_id;
END LOOP;
retPartnumberlist := returnPartnumberlist;
open
* partnumber_cursorlist for select PR_PART_ROW_S_ID from TABLE(CAST(retPartnumberlist AS historical_commentz.partnumberlist));*
DBMS_OUTPUT.put_line('Done....!');
EXCEPTION
some code..............................
END getComments;
END HISTORICAL_COMMENTZ;
/ -
Error while using the function module..pack_handling_unit_dlvry
Hi all...
while using the function module pack_handling_unit_dlvry,
we need to pass the handling unit number as per the functionality we require.
but the mandatory field for the function module is the handling unit number in the form of bar code..
so how to use this function module..
All the useful answers will be regarded..
Regards,
Saroja.Have you tried using BAPI BAPI_HU_CREATE. Also view Function Module Documentation on its usage.
-
Error while using substring function
Hi,
I am getting the below error while using this query.
Substr("Fin Account".ASSET_NUM, instr(Fin Account".ASSET_NUM, ':')+1)
(nQSError: 10058] A general error has occurred. [nQSError: 27002] Near <(>: Syntax error [nQSError: 26012] . (HY000)
Please help me..
Edited by: user10441472 on Jun 24, 2009 12:49 PMSubstr("Fin Account".ASSET_NUM, 1, instr(Fin Account".ASSET_NUM, ':')+1)
or
Substr("Fin Account".ASSET_NUM, instr(Fin Account".ASSET_NUM, ':')+1,50)
i think you should use 3 parameters, did you try that if it would work?
additionally check what is the default format of your data: go to column properties -> data format; if its text then ok; otherwise you will have to cast the number to char; in such a case the above could be:
Substr(cast("Fin Account".ASSET_NUM as char(20)), 1, instr(cast(Fin Account".ASSET_NUM as char(20)), ':')+1)
or
Substr(cast("Fin Account".ASSET_NUM as char(20)), instr(cast(Fin Account".ASSET_NUM as char(20)), ':')+1,50)
Edited by: UserMB on Jun 25, 2009 6:17 AM -
Error while using group function
Oracle forms6i
Hai
While i am compile my coding it compile successfully, but when i tried to executes i shows error in group function
my coding is
if (cnt<>0 ) then
select BARCODE,INTIME,OUTTIME into today_bar,today_in,today_out from dail_att where BARCODE= :Barcode
and ATTEND_DATE = :bardate;
update dail_att set outtime = max(:bartime) where barcode= :barcode
and ATTEND_DATE = :bardate;
else
if (cnt2<>0 ) then
select INTIME,OUTTIME into yest_in,yest_out from dail_att where BARCODE= :Barcode
and ATTEND_DATE = :bardate-1;
if(yest_in is not null and yest_out is null) then
update dail_att set outtime =max(:bartime) where barcode= :barcode
and ATTEND_DATE = :bardate-1;
else
insert into dail_att(barcode,intime,attend_date)
values(:barcode,min(:bartime),:bardate);
end if;
else
if :bartime between 0100 and 0630 then
insert into dail_att(barcode,intime,attend_date)
values(:barcode,min(:bartime),:bardate-1);
update dail_att set outtime = max(:bartime) where barcode= :barcode
and ATTEND_DATE = :bardate-1;
else
insert into dail_att(barcode,intime,attend_date)
values(:barcode,:min(bartime),:bardate);
end if;
end if;
end if;
while i am trying to this groupfunction it throws error while i use having tell me how to use group function and where
to use
Regadrs
Srikkanth.MHai sir
I had a table that contain fields
EMPCODE NUMBER
EMPNAME VARCHAR2(25)
BARCODE VARCHAR2(25)
INTIME VARCHAR2(25)
OUTTIME VARCHAR2(25)
INTRTIMEIN VARCHAR2(25)
INTROUTTIME VARCHAR2(25)
PERTIMEIN VARCHAR2(25);
PERTIMEOUT VARCHAR2(25);
ATTEND_DATE DATE ;
Consider that a table with 6 fields ie timein,intrtimein,pertimein,pertimeout,intrtimeout,timeout
I have generating a attendance table and a table contain 6 various times for an employees and we need to arrange it in order
0815,0816,1230,1250,1645,1646
If 0815 is the starting time then timein ie mintime
0816 stored to be in intrtime
then1250 then it stored in pertimein
then 1230 then it stored in pertimeout
then 1645 stored in intrtimeout
then 1646 stored in timeout
I tried with max and min function but its not working properly pls tell me some solutions
Thanks & Regards
Srikkanth.M -
Error while using row_num function in forms6i
Oracle forms6i
Hai
While using row num function in my forms i had a error.
My coding is
declare
pin_no varchar2(16);
pin_date date;
pin_time varchar2(25);
mstr varchar2(200);
m_file TEXT_IO.FILE_TYPE;
m_file_path varchar2(100) := :global.filename;
line_count number;
M_BARCODE VARCHAR2(16);
M_BARDATE DATE;
M_BARTIME varchar2(25);
M_No number;
Cursor c1 is
select barcode,bardate,bartime,
row_number() over (partition barcode order by bartime) as RN-------------------the error at this line
from temp_attendance
group by barcode,bardate,bartime
order by bardate;
begin
If m_file_path is not null then
m_file:= TEXT_IO.fopen(m_file_path, 'r');
--DELETE FROM temp_attendance;
Loop
begin
TEXT_IO.get_line(m_file,mstr);
mstr := ltrim(rtrim(mstr));
M_barcode :=substr(mstr,1,16);
M_bardate := to_date(substr(mstr,17,8),'DD/MM/YYYY');
M_bartime := (substr(mstr,25,4));
INSERT INTO temp_attendance(BARCODE,BARDATE,BARTIME,RN) VALUES(M_BARCODE,M_BARDATE,M_BARTIME,M_No);
Exception
when no_data_found then
text_io.fclose(m_file);
exit;
End;
End loop;
go_block('TEST_MS1');
clear_block(no_validate);
For r1 in c1 loop
:barcode := r1.barcode;
:bardate := r1.bardate;
:bartime := r1.bartime;
next_Record;
end loop;
first_record;
end if;
exception
when others then
forms_ddl('ROLLBACK');
message (sqlerrm);
end;
Thanks & Regards
Srikkanth.MHi,
Try using:
row_number() over (partition BY barcode order by bartime) as RN
If that wasn't the problem, what is the error you are getting?
Regards. -
Error While using ToDate Function
Hi All,
I am getting below error while creating one report in OBIEE. Please help me in this regard as this is bugging me from long time.
View Display Error
Odbc driver returned an error (SQLExecDirectW).
<<Picture (Metafile)>> Error Details <javascript:void(null)>
Error Codes: OPR4ONWY:U9IM8TAC:OI2DL65P
State: HY000. Code: 435222656. [NQODBC] [SQL_STATE: HY000] [nQSError: 10058]
A general error has occurred. [nQSError: 22047] The Dimension used in TODATE
function must be referenced in the query. (HY000)
Kindly help me resolve this issue.
Thank you,
Yugendra.HI User,
Refer this link
http://siebel.ittoolbox.com/groups/technical-functional/siebel-analytics-l/nqserror-22047-the-dimension-used-in-ago-function-must-be-referenced-in-the-query-2692576 -
Error while using Evaluate function
Hi ,
I am using the following expression in the criteria tab in order to get first value for every customer order by date:
EVALUATE('FIRST_VALUE(%1) OVER (PARTITION BY %2 ORDER BY %3)' AS INTEGER, "Fact - Customer SubLedger"."TRANSACTION AMOUNT",Customer.CUST_ACCOUNT_NUMBER,"GL Date".DAY).
When I try to execute the report it throws following error :
*[nQSError: 42015] Cannot function ship the following expression: Evaluate( FIRST_VALUE(%1) OVER (PARTITION BY %2 ORDER BY %3),D1.c4, D1.c2, D1.c13)*
Can anybody help me with this? Where am i going wrong?
Regards,
VikasHi Kishore,
I am using the exactly same formula which you have mentioned here still it is giving me the same error.
EVALUATE('First_value(%1) over (partition by %2 order by %3)' AS DOUBLE , "Fact - Customer SubLedger"."OPENING BALANCE",Customer.CUST_ACCOUNT_NUMBER, "GL Date".DAY)
Error : *[nQSError: 42015] Cannot function ship the following expression: Evaluate( First_value(%1) over (partition by %2 order by %3),D909.c9, D909.c3, D909.c14)*
Can't say why it is behaving like this.
Anyways thanks all of you for your help.
May be I am going wrong somewhere else.I will try to solve this issue by myself.
Once again thanks to all of you.
Regards,
Vikas -
Error while using Ago function
hi all,
OBI 11.1.1.7.1
I am unable to view data on result tab. No value returned in Calcutated Attribute. Please Help
Error Codes: OPR4ONWY:U9IM8TAC:OI2DL65P
State: HY000. Code: 10058. [NQODBC] [SQL_STATE: HY000] [nQSError: 10058] A general error has occurred. [nQSError: 43113] Message returned from OBIS. [nQSError: 22040] To use Ago function, the storage level of the query ('[Time Dim.PAY_DT]') must be a static level.Please have your System Administrator look at the log for more details on this error. (HY000)
Regards,
NiveditaSubstr("Fin Account".ASSET_NUM, 1, instr(Fin Account".ASSET_NUM, ':')+1)
or
Substr("Fin Account".ASSET_NUM, instr(Fin Account".ASSET_NUM, ':')+1,50)
i think you should use 3 parameters, did you try that if it would work?
additionally check what is the default format of your data: go to column properties -> data format; if its text then ok; otherwise you will have to cast the number to char; in such a case the above could be:
Substr(cast("Fin Account".ASSET_NUM as char(20)), 1, instr(cast(Fin Account".ASSET_NUM as char(20)), ':')+1)
or
Substr(cast("Fin Account".ASSET_NUM as char(20)), instr(cast(Fin Account".ASSET_NUM as char(20)), ':')+1,50)
Edited by: UserMB on Jun 25, 2009 6:17 AM -
Hello All,
Here is the issue description. Our application uses Oracle Object Types and LIST. We deployed our application on QA environment which has Oracle 10g. Application runs fine...no issues. Now we moved to UAT. UAT environment is same as QA environment and DBA have created replica of QA database.
Now WAR file which works fine with QA database , somehow doesnt work with UAT database. Application throws following exception when code tries to call getArray() on java.sql.Array.
We tried to point UAT weblogic to QA database and it worked fine.....but when we point UAT weblogic to UAT database , we get following exception. So we know that this is a database issue.
DBA claims that QA env database and UAT env database are same.
Can anybody please tell me what wrong here? What setting is not done on UAT database which is done on QA?
java.sql.SQLException: Internal Error at oracle.jdbc.driver.DatabaseError.throwSqlException(DatabaseError.java:125) at oracle.jdbc.driver.DatabaseError.throwSqlException(DatabaseError.java:162) at oracle.jdbc.driver.DatabaseError.throwSqlException(DatabaseError.java:227) at oracle.jdbc.oracore.OracleTypeCOLLECTION.initCollElemTypeName(OracleTypeCOLLECTION.java:975) at oracle.jdbc.oracore.OracleTypeCOLLECTION.getAttributeType(OracleTypeCOLLECTION.java:1005) at oracle.jdbc.oracore.OracleNamedType.getFullName(OracleNamedType.java:96) at oracle.jdbc.oracore.OracleTypeADT.createStructDescriptor(OracleTypeADT.java:1958) at oracle.jdbc.oracore.OracleTypeADT.unpickle81(OracleTypeADT.java:1432) at oracle.jdbc.oracore.OracleTypeUPT.unpickle81UPT(OracleTypeUPT.java:426) at oracle.jdbc.oracore.OracleTypeUPT.unpickle81rec(OracleTypeUPT.java:383) at oracle.jdbc.oracore.OracleTypeCOLLECTION.unpickle81_imgBody_elems(OracleTypeCOLLECTION.java:928) at oracle.jdbc.oracore.OracleTypeCOLLECTION.unpickle81_imgBody(OracleTypeCOLLECTION.java:872) at oracle.jdbc.oracore.OracleTypeCOLLECTION.unpickle81(OracleTypeCOLLECTION.java:692) at oracle.jdbc.oracore.OracleTypeCOLLECTION._unlinearize(OracleTypeCOLLECTION.java:217) at oracle.jdbc.oracore.OracleTypeCOLLECTION.unlinearize(OracleTypeCOLLECTION.java:189) at oracle.sql.ArrayDescriptor.toJavaArray(ArrayDescriptor.java:663) at oracle.sql.ARRAY.getArray(ARRAY.java:282) at weblogic.jdbc.wrapper.Array_oracle_sql_ARRAY.getArray(Unknown Source)
Please help.425260 wrote:
This can happen if you use the oracle.sql.ARRAY class with WebLogic.
WebLogic wraps oracle.sql.ARRAY with its own class (i.e. weblogic.jdbc.wrapper.Array_oracle_sql_ARRAY). The easiest solution is to replace oracle.sql.ARRAY with the JDBC standard java.sql.Array.
<PRE class=jive-pre><CODE class="jive-code jive-java">Object[] items = (Object[])array.getArray();
<FONT color=navy><B>if</B></FONT> (items.length > 0) <FONT color=navy>{</FONT>
<FONT color=navy><B>for</B></FONT> (<FONT color=navy><B>int</B></FONT> i = 0; i < items.length; i++) <FONT color=navy>{</FONT>
Object arrayItem = items;
<FONT color=navy>}</FONT>
<FONT color=navy>}</FONT>
</CODE></PRE>
The <B>array</B> object is a java.sql.Array. Here no unwrapping of the WebLogic wrapper is needed.
If you absolutely need the oracle.sql.ARRAY class than you must use an <B>unwrap</B> API on the WebLogic wrapper class.
<PRE class=jive-pre><CODE class="jive-code jive-java"><FONT color=navy><B>if</B></FONT> (object <FONT color=navy><B>instanceof</B></FONT> weblogic.jdbc.wrapper.Array)
array = (ARRAY) ( ((weblogic.jdbc.wrapper.Array)object).unwrap(Class.forName(<FONT color=red>"oracle.sql.ARRAY"</FONT>)) );
<FONT color=navy><B>else</B></FONT>
array = (ARRAY) object;
</CODE></PRE>
Here, <B>array</B> is an oracle.sql.ARRAY. Try to see if this <A class=bodylinkwhite href="http://www.software-to-convert.com/3gp-conversion-software/3gp-to-myspace-video-software.html"><FONT face=tahoma,verdana,sans-serif color=#000 size=1>helps</FONT></A>. Good luck.
Thanks for your explanation! It's very valuable, It is exactly what I need, I understand this part. -
Internal error while using Formatted Search
Hi
I am adding Assessable value in total amount at row level of sales document. For achieving so im using Shift +F2 on total amount field, which results in sum of assessable value and total amount. It is working properly in some of documents but throws message of internal error in some of the documents.
Im not able to understand that why error is coming in some of the documents?
Suggest me..
Thanks1. Have the screen open where you have the Shift F2, you can manually run the query of the formatted search, it will sometimes give you more meaningful message.
Eg:
You have a formatted search query 'Query 1' which is saved in Tools> User Query> Query 1 attached to field DocTotal.
So, what you do is, instead of pressing Shift F2, you go to tools > User Query.> Query 1 to run it.
2. Another thing could be the field you used in the formula do not have the focus when you run it.
Eg: you use $[4.0.0] in the query.
When you press Shift F2, the field represents $[$4.0.0] do not have focus. -
Error while using the function module GUI_UPLOAD
Hi,
My requirement is to upload the data from .txt file into internal table.
I have given my code like this
PARAMETERS: p_fname LIKE rlgrap-filename.
data: begin of gt_string occurs 0,
record type char255,
end of gt_string.
AT SELECTION-SCREEN ON VALUE-REQUEST for p_fname.
CALL FUNCTION 'KD_GET_FILENAME_ON_F4'
EXPORTING
PROGRAM_NAME = SYST-REPID
DYNPRO_NUMBER = SYST-DYNNR
FIELD_NAME = ' '
STATIC = 'X'
MASK = ' '
CHANGING
file_name = p_fname
EXCEPTIONS
MASK_TOO_LONG = 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.
CALL FUNCTION 'GUI_UPLOAD'
EXPORTING
filename = p_fname
FILETYPE = 'ASC'
HAS_FIELD_SEPARATOR = 'X'
HEADER_LENGTH = 0
READ_BY_LINE = 'X'
DAT_MODE = ' '
CODEPAGE = ' '
IGNORE_CERR = ABAP_TRUE
REPLACEMENT = '#'
CHECK_BOM = ' '
NO_AUTH_CHECK = ' '
IMPORTING
FILELENGTH =
HEADER =
tables
data_tab = gt_string
EXCEPTIONS
FILE_OPEN_ERROR = 1
FILE_READ_ERROR = 2
NO_BATCH = 3
GUI_REFUSE_FILETRANSFER = 4
INVALID_TYPE = 5
NO_AUTHORITY = 6
UNKNOWN_ERROR = 7
BAD_DATA_FORMAT = 8
HEADER_NOT_ALLOWED = 9
SEPARATOR_NOT_ALLOWED = 10
HEADER_TOO_LONG = 11
UNKNOWN_DP_ERROR = 12
ACCESS_DENIED = 13
DP_OUT_OF_MEMORY = 14
DISK_FULL = 15
DP_TIMEOUT = 16
OTHERS = 17
IF sy-subrc <> 0.
MESSAGE ID SY-MSGID TYPE SY-MSGTY NUMBER SY-MSGNO
WITH SY-MSGV1 SY-MSGV2 SY-MSGV3 SY-MSGV4.
ENDIF.
Here I am getting dump error as 'Type conflict when calling a function module.
The function module interface allows you to specify only fields
of a particular type under "FILENAME". The field "P_FNAME" specified here has a different field type'.
What would be the reason for this error?
Can anyone help me?
Regards,
Hemasee this sample program for F4 help
*& Report ZSD_EXCEL_INT_APP
REPORT ZSD_EXCEL_INT_APP.
parameter: file_nm type localfile.
types : begin of it_tab1,
f1(20),
f2(40),
f3(20),
end of it_tab1.
data : it_tab type table of ALSMEX_TABLINE with header line,
file type rlgrap-filename.
data : it_tab2 type it_tab1 occurs 1,
wa_tab2 type it_tab1,
w_message(100) TYPE c.
at selection-screen on value-request for file_nm.
CALL FUNCTION 'KD_GET_FILENAME_ON_F4'
EXPORTING
PROGRAM_NAME = SYST-REPID
DYNPRO_NUMBER = SYST-DYNNR
FIELD_NAME = ' '
STATIC = 'X'
MASK = ' '
CHANGING
file_name = file_nm
EXCEPTIONS
MASK_TOO_LONG = 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.
start-of-selection.
refresh it_tab2[].clear wa_tab2.
file = file_nm.
CALL FUNCTION 'ALSM_EXCEL_TO_INTERNAL_TABLE'
EXPORTING
filename = file
i_begin_col = '1'
i_begin_row = '1'
i_end_col = '10'
i_end_row = '35'
tables
intern = it_tab
EXCEPTIONS
INCONSISTENT_PARAMETERS = 1
UPLOAD_OLE = 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.
loop at it_tab.
case it_tab-col.
when '002'.
wa_tab2-f1 = it_tab-value.
when '004'.
wa_tab2-f2 = it_tab-value.
when '008'.
wa_tab2-f3 = it_tab-value.
endcase.
at end of row.
append wa_tab2 to it_tab2.
clear wa_tab2.
endat.
endloop.
data : p_file TYPE rlgrap-filename value 'TEST3.txt'.
OPEN DATASET p_file FOR OUTPUT IN TEXT MODE ENCODING DEFAULT.
*--- Display error messages if any.
IF sy-subrc NE 0.
MESSAGE e001(zsd_mes).
EXIT.
ELSE.
*---Data is downloaded to the application server file path
LOOP AT it_tab2 INTO wa_tab2.
TRANSFER wa_tab2 TO p_file.
ENDLOOP.
ENDIF.
*--Close the Application server file (Mandatory).
CLOSE DATASET p_file.
loop at it_tab2 into wa_tab2.
write : / wa_tab2-f1,wa_tab2-f2,wa_tab2-f3.
endloop. -
Question regarding cursor variables, while using table functions
Hi,
I created a procedure and when i'm try'g to call it. now i'm getting this error.
CREATE OR REPLACE TYPE TAB_EMP_REC IS OBJECT(
EMP_ID NUMBER(9),
EMP_NAME VARCHAR2(30));
CREATE OR REPLACE TYPE T_EMP_TMP IS TABLE OF TAB_EMP_REC ;
CREATE OR REPLACE PROCEDURE USP_CREATE_DATA(
p_Input IN NUMBER,
V_EMP_CUR OUT sys_refcursor) IS
T_EMp T_EMP_TMP := T_EMP_TMP( );
BEGIN
t_emp.extend();
t_emp(1) := TAB_EMP_REC(p_input, 'jack');
OPEN V_EMP_CUR FOR SELECT * from TABLE(t_emp);
EXCEPTION
WHEN OTHERS THEN
DBMS_OUTPUT.PUT_LINE('ERROR '||SQLERRM);
END USP_CREATE_DATA;
calling procedure::
DECLARE
type O_RESULT_CUR is ref cursor return TAB_EMP_REC;
V_EMP_REC TAB_EMP_REC;
BEGIN
USP_CREATE_DATA(99, O_RESULT_CUR);
LOOP
FETCH O_RESULT_CUR INTO V_EMP_REC;
EXIT WHEN O_RESULT_CUR%NOTFOUND;
DBMS_OUTPUT.PUT_LINE(V_EMP_REC.EMP_ID);
END LOOP;
CLOSE O_RESULT_CUR;
EXCEPTION
WHEN OTHERS THEN
DBMS_OUTPUT.PUT_LINE('ERROR '||SQLERRM);
END;
Now i'm getting an error PLS-00362: invalid cursor return type; 'TAB_EMP_REC' must be a record type.
My question is i already declared it as a database object. What do i need to do ?
thank youbut t_emp(1) := TAB_EMP_REC(p_input, 'jai');
is correct, since.. i'm passing a record into t_emp(1)(this is the first column in this table)No it is not, since TAB_EMP_REC is just an object, when used as a collection, it can be a VARRAY, a PL/SQL table(associative array), nested table etc. As mentioned in my earlier post, if you want to use a collection of the same structure (with subscript n, as you have done here), then you need to declare a collection of type TAB_EMP_REC.In this case you have already declared a table of type TAB_EMP_REC - +CREATE OR REPLACE TYPE T_EMP_TMP IS TABLE Also, t_emp is of type T_EMP_TMP - T_EMp T_EMP_TMP := T_EMP_TMP( );*
As for the error you are getting, try changing to -
t_emp := T_EMP_TMP(TAB_EMP_REC(p_input, 'jai'));*
Note : Not Tested. -
Error while using copy function for position in IT 1001
Hi All,
I am getting the following error " For infotype 1001 in status 1, function COP is not allowed" when I am changing the Org unit relationship (A003) in IT 1001 for a position
Steps followed:
po13 -> choose position -> select relationship IT-> click overview -> select A003 -> click on copy button
then I get the above error.
Analysis I have done till now :
1. In IDES everything is working fine.
2. I checked the Time constraint for IT 1001 and it was 3
Thanks for the help in advance
Ram PrakashHi Ram,
please check, if the note 1396300 is implemented in your system?
If so, check the table T777F.
It should have the following entries:
MANDT ISTAT INFTY FCODE
002 1 **** AEND
002 1 **** COP
002 1 **** CUTI
002 1 **** DEL
002 1 **** DISP
002 1 **** INSE
002 1 **** LISD
002 1 **** PLVO
In case these entries are missing, please do an adjustment with your 000-client.
Hope this help
Sarah -
ODI Error while using substring function in odiref.getTable function
Hi,
I am trying to strip the interface table name in the IKM code.Below is the code
create unique index <%=odiRef.getTable("L","INT_NAME","W").substring(0,20)%>
*on <%=odiRef.getTable("L","INT_NAME","W")%>(<%=odiRef.getColList("", "[COL_NAME]", ", ", "", "UK")%>)*
*<%=odiRef.getUserExit("FLOW_TABLE_OPTIONS")%>*
But i get the below error, can some one please help ?
com.sunopsis.tools.core.exception.SnpsSimpleMessageException: Error during task interpretation
Task:8
java.lang.Exception: BeanShell script error: Parse error at line 2, column 10. Encountered: ( BSF info: Create Unique Index on flow table at line: 0 column: columnNo
at com.sunopsis.dwg.codeinterpretor.SnpCodeInterpretor.transform(SnpCodeInterpretor.java:635)
at com.sunopsis.dwg.dbobj.SnpSessStep.createTaskLogs(SnpSessStep.java:671)
at com.sunopsis.dwg.dbobj.SnpSessStep.treatSessStep(SnpSessStep.java:441)
at com.sunopsis.dwg.dbobj.SnpSession.treatSession(SnpSession.java:1954)
at oracle.odi.runtime.agent.processor.impl.StartSessRequestProcessor$2.doAction(StartSessRequestProcessor.java:322)
at oracle.odi.core.persistence.dwgobject.DwgObjectTemplate.execute(DwgObjectTemplate.java:224)
at oracle.odi.runtime.agent.processor.impl.StartSessRequestProcessor.doProcessStartSessTask(StartSessRequestProcessor.java:246)
at oracle.odi.runtime.agent.processor.impl.StartSessRequestProcessor.access$0(StartSessRequestProcessor.java:237)
at oracle.odi.runtime.agent.processor.impl.StartSessRequestProcessor$StartSessTask.doExecute(StartSessRequestProcessor.java:794)
at oracle.odi.runtime.agent.processor.task.AgentTask.execute(AgentTask.java:114)
at oracle.odi.runtime.agent.support.DefaultAgentTaskExecutor$2.run(DefaultAgentTaskExecutor.java:82)
at java.lang.Thread.run(Thread.java:662)
Caused by: org.apache.bsf.BSFException: BeanShell script error: Parse error at line 2, column 10. Encountered: ( BSF info: Create Unique Index on flow table at line: 0 column: columnNo
at bsh.util.BeanShellBSFEngine.eval(Unknown Source)
at bsh.util.BeanShellBSFEngine.exec(Unknown Source)
at com.sunopsis.dwg.codeinterpretor.SnpCodeInterpretor.transform(SnpCodeInterpretor.java:621)
... 11 more
Text:create unique index <?=snpRef.getObjectN
on <?=snpRef.getObjectName("L", "%INT_PRFL1_PROC_SHR_APRC_AMTZ_RQST", "W") ?>(WKFL_ACTV_ID)
NOLOGGING
at com.sunopsis.dwg.dbobj.SnpSessStep.createTaskLogs(SnpSessStep.java:692)
at com.sunopsis.dwg.dbobj.SnpSessStep.treatSessStep(SnpSessStep.java:441)
at com.sunopsis.dwg.dbobj.SnpSession.treatSession(SnpSession.java:1954)
at oracle.odi.runtime.agent.processor.impl.StartSessRequestProcessor$2.doAction(StartSessRequestProcessor.java:322)
at oracle.odi.core.persistence.dwgobject.DwgObjectTemplate.execute(DwgObjectTemplate.java:224)
at oracle.odi.runtime.agent.processor.impl.StartSessRequestProcessor.doProcessStartSessTask(StartSessRequestProcessor.java:246)
at oracle.odi.runtime.agent.processor.impl.StartSessRequestProcessor.access$0(StartSessRequestProcessor.java:237)
at oracle.odi.runtime.agent.processor.impl.StartSessRequestProcessor$StartSessTask.doExecute(StartSessRequestProcessor.java:794)
at oracle.odi.runtime.agent.processor.task.AgentTask.execute(AgentTask.java:114)
at oracle.odi.runtime.agent.support.DefaultAgentTaskExecutor$2.run(DefaultAgentTaskExecutor.java:82)
at java.lang.Thread.run(Thread.java:662)
Thanks,
Babu.Hi Ram,
please check, if the note 1396300 is implemented in your system?
If so, check the table T777F.
It should have the following entries:
MANDT ISTAT INFTY FCODE
002 1 **** AEND
002 1 **** COP
002 1 **** CUTI
002 1 **** DEL
002 1 **** DISP
002 1 **** INSE
002 1 **** LISD
002 1 **** PLVO
In case these entries are missing, please do an adjustment with your 000-client.
Hope this help
Sarah
Maybe you are looking for
-
Display malfunction- vertical lines on screen - blue, green, and white lines
My 3 week old passort shut down after running out of battery. After recharging, lines appeared on the display and won't go away. I tried serveral restarts. There are blue and green vertical lines on the left edge of the display and four our so whit
-
I want to restore my Mac BookAir to bran new
i would really like to erase it all and start again... what must i do...
-
Usb irda adapter compatible with apple remote
Hi to everyone, i have one apple remote and one apple macbook air 11'. I have this usb irda adapter http://cgi.ebay.it/ws/eBayISAPI.dll?ViewItem&item=270714474273&ssPageName=STRK:M EWAX:IT#ht4403wt952. Is this adapter compatible with apple remote? th
-
How I can change my apple iD in an iPad
I would like to know that how I can change an apple ID to a new one because I've forgot the password of the old account one?
-
Publisher Dynamic Receipent Error in Germany
Hi, I have to burts a crystal report for every cost center and trying to use publisher for this. I created a main crystal report with CostCenter as prompt/variable. I create another crystal report, which contains list of cost center only, to use as a