RowID as parameter in the Procedure valid or invalid?
Dear All,
Can any one please let me know is it allowed to pass ROWID as a parameter from one PL/SQL procedure to other PL/SQL procedure? If yes, could you plase let me know the procedure.
Thanks
SQL> set serveroutput on
SQL> create table dummy(id number, ename varchar2(32))
2 /
Table created.
SQL> insert into dummy values(1, 'Scott')
2 /
1 row created.
SQL> create or replace procedure show_record(p_rowid rowid) is
2 l_ename dummy.ename%type;
3 begin
4 select ename into l_ename from dummy where rowid=p_rowid;
5 dbms_output.put_line(l_ename);
6 end show_record;
7 /
Procedure created.
SQL> select rowid, id from dummy
2 /
ROWID ID
AAEbRAAABAAAWfSAAA 1
SQL> exec show_record('AAEbRAAABAAAWfSAAA');
Scott
PL/SQL procedure successfully completed.
Similar Messages
-
Passing a Parameter to the Procedure and changing it in the Procedure
Hi all,
I am trying to pass a parameter to a procedure like this.
PROCEDURE FLASH_PHY
(date_begin IN DATE, date_end IN DATE)
IS
I am trying to do SELECT and INSERT based on the date range passed in the procedure as mentioned above. And I am trying to do something like this.
SELECT NVL(sum(charges),0),count(summary_balances_id)
INTO lnu_charges_6months,c_summary
FROM SUMMARY_BALANCES
WHERE period_begin BETWEEN ADD_MONTHS((date_begin), -6) -- AND ADD_MONTHS((date_end), -1);
UPDATE summary_balances
SET cummulative_charges_6mo = lnu_charges_6months;
how should I do this parameter change. Right now if I use this select statement than it does not return anything as the parameter is passed on the procedure level. I am under the impression that when you pass a parameter to the procedure like this you can't change it into the procedure.
PLEASE GUIDE. Thanks a bunch. I really appreciate it.From what I understand your variables that are passed into the
procedure can be manipulated as local variable to the procedure.
Here is my interpretation of what your attempting to do:
create or replace procedure A (x in number) IS
yes varchar2(3) := 'No';
begin
dbms_output.put_line('Start value for yes:'||yes);
select 'yes' into yes from dual where x+1 = 2;
dbms_output.put_line('End value for yes:'||yes);
end;
Call the procedure called "A" passing in a "1".
EG:
BEGIN
A(1);
END;
Does this answer your question?
,Russ -
Pass parameter to the custom validator
Hi, How can we pass parameters to the custom validator, i want something like:
<f:validator validatorId="validators.dateRangeValidaor">
<f:param id="toDate" value="#{issue.toDate}"/>
<f:param id="fromDate" value="#{issue.fromDate}"/>
</f:validator>but tld dosnot support f:param tags in f:validator tag, is there any possible solution for that??Use f:attribute; something like as follows:<h:inputText ...>
<f:validator .../>
<f:attribute name="toDate" value="#{issue.toDate}"/>
<f:attribute name="fromDate" value="#{issue.fromDate}"/>
</h:inputText>Note that these attributes are not of the validator but of the parent component.
You can get these attributes using UIComponent.getAttributes().get("toDate").
I think this is not so friendly for page authors.
So, I recommend you to develop a custom validator tag which can be specified
the parameters you want. -
Convert String to CLOB problem, CLOB is a input parameter in the procedure.
I can not flush and close "Writer"??
The following code:
CLOB inclob=null;
CallableStatement csr=conn.prepareCall ("begin TestClob(?); end;");
csr.registerOutParameter (1, Types.CLOB);
inclob = CLOB.createTemporary(conn,false,CLOB.DURATION_CALL);
inclob .open(CLOB.MODE_READWRITE);
Writer tempClobWriter = inclob.getCharacterOutputStream();
tempClobWriter.write("This is In CLOB");
// Flush and close the stream
tempClobWriter.flush(); // problem is here
tempClobWriter.close();//problem is here
inclob.close();// this works
Btw:
How to use CLOB.setString() to specify string to CLOB directly?
Message was edited by:
user515324sorry, I fogot mention the error is "No data to read from socket"
My Oracle JDBC driver is 9.2.0.4, Oracle database is 10.2.1.0
Some guy said it is driver's problem. -
Issue with IN parameter of Oracle Procedure returning two RefCursors...
Hi all,
I'm having a nightmare with an Oracle procedure that takes one input parameter and returns two RefCursors as outputs. I recently got help in this forum getting a procedure to work that took no inputs but returned two refcursors and that's still working fine. So, for my current issue I have a procedure defined as follows:
PROCEDURE getQueueInfo(domainKey char, importQueues OUT ODPNet.refcur, exportQueues OUT ODPNet.refcur) IS
BEGIN
OPEN importQueues FOR SELECT
source_key, source_applid,
import_status(source_key) as status,
time_added, time_processed
FROM wm_import_source_header
WHERE source_id = domainKey
ORDER BY source_key DESC;
OPEN exportQueues FOR SELECT
h.source_key, d.source_applid,
export_status(h.source_key) as status,
d.source_wire_code, d.destination_wire_code, h.time_added,
h.time_transmitted
FROM wm_export_source_header h, wm_export_source_data d
WHERE h.source_key = d.source_key
and d.source_id = domainKey
ORDER BY h.source_key DESC;
END getQueueInfo;This is defined within a package called ODPNet as with my previous procedure and all works fine (I can execute within Oracle SQL Developer and it returns the expected results). Within my .NET application my code is as follows:
try
using (OracleConnection conn = new OracleConnection(connString))
using (OracleCommand comm = new OracleCommand())
comm.CommandText = "ODPNet.getQueueInfo";
comm.CommandType = CommandType.StoredProcedure;
comm.Connection = conn;
OracleParameter domainKey = new OracleParameter();
OracleParameter importQueues = new OracleParameter();
OracleParameter exportQueues = new OracleParameter();
domainKey.OracleDbType = OracleDbType.Char;
importQueues.OracleDbType = OracleDbType.RefCursor;
exportQueues.OracleDbType = OracleDbType.RefCursor;
domainKey.Value = "UKBD72";
domainKey.Direction = ParameterDirection.Input;
importQueues.Direction = ParameterDirection.Output;
exportQueues.Direction = ParameterDirection.Output;
comm.Parameters.Add(domainKey);
comm.Parameters.Add(importQueues);
comm.Parameters.Add(exportQueues);
conn.Open();
comm.ExecuteNonQuery();
OracleDataReader dr1 = ((OracleRefCursor)importQueues.Value).GetDataReader();
OracleDataReader dr2 = ((OracleRefCursor)exportQueues.Value).GetDataReader();
if (dr1.HasRows)
while (dr1.Read())
result6 += dr1["source_applid"].ToString() + "<br>";
else
result6 += "No Rows";
if (dr2.HasRows)
while (dr2.Read())
result7 += dr2["source_applid"].ToString() + "<br>";
else
result7 += "No Rows";
catch (Exception ex)
result6 = ex.ToString();
}The value I want to submit as the IN parameter of the procedure is "UKBD72". but I'm really not sure how to apply this and then return my two refcursors into separate datareaders (except for the input parameter stuff the code above is exactly what I did with the other procedure that returned two ref cursors and still works fine). When I run this code I get no errors, I just get told that each DataReader has no rows returned, which shouldn't be right.
Any help with this would be hugely appreciated.
Cheers,
SebSorry folks, after staring at this over and over, eventually going to sleep and coming back to it with some fresh eyes I realised I was just being a complete idiot - I was feeding the procedure different data in the .NET app than I was when testing in Oracle SQL Developer. Low and behold once I gave it the right data it worked!
Silly me... -
How can i pass second text value to the procedure.
Hi ,
I have used APEX_ITEM.TEXT(1,null) Item_name,APEX_ITEM.TEXT(2,null) file_name in a sql query and i should pass these two text value as a input parameter to the Procedure.
So in Process i have written code like
FOR i IN 1 .. APEX_Application.g_f01.COUNT
LOOP
generate_report_data(APEX_Application.g_f01(i)
,APEX_Application.g_f02(i)
END LOOP;
COMMIT;
if i enter values in two text columns then two values are passing to a procedure it's fine.
Here the issue is if i leave the first value as balnk and enter the 2 nd value like Xyz then click on a submit button
so 2 nd value also passing null to the procedure..
please anybody guide on this issue..
Thanks in advance..
Regards
Narender BHello Narender,
>
Here the issue is if i leave the first value as balnk and enter the 2 nd value like Xyz then click on a submit button
so 2 nd value also passing null to the procedure..
>
This is happening because of FOR i IN 1 .. APEX_Application.g_f01.COUNT in your procedure:
>
FOR i IN 1 .. APEX_Application.g_f01.COUNT
LOOP
generate_report_data(APEX_Application.g_f01(i)
,APEX_Application.g_f02(i)
END LOOP;
COMMIT;
>
FOR i IN 1 .. APEX_Application.g_f01.COUNT this loop will take only those values of apex_application.g_f01 into consideration whose value is not null.
Hope it helps!
Regards,
Kiran -
Passing the sequence as a parameter to a procedure.
I want to use the sequence value in the call to a procedure.
Something like :
EXEC sp_Calling(SEQ_PASS.NEXTVAL);
but this isnt allowed as the parameter declaration is a number.
Can anyone tell me how I can resolve this.
plus i dont wanto use a variable like :i
as want to run this EXEC a couple of hundred times. So i'll have to take the nextval in 'i' before every EXEC statement.
Is there any preprocessing alternative.
Thanx.You could create a loop outside the procedure, something like :
SQL> declare
2 seq_num number;
3 begin
4 for i in 1..<N> loop
5 select <sequence name>.nextval into seq_num from dual;
6 <procedure name>(seq_num);
7 end loop;
8 end;
SQL> -
Problem in OUT Parameter in the stored procedure
Hi,
I have a problem in the OUT parameter of the stored procedure under the package. I encountered the error PLS-00306. Below are the codes.
Package
CREATE OR REPLACE package body test as
procedure sp_countries(rst OUT country_typ) as
sql_stmt VARCHAR2(300);
begin
sql_stmt := 'SELECT * FROM countries WHERE region_id = 1';
OPEN rst FOR sql_stmt;
end;
end test;
by the way. i declared the country_typ as this:
TYPE country_typ IS REF CURSOR;
Here is the code that will call this package:
declare
tst countries%ROWTYPE;
begin
test.sp_countries(tst);
dbms_output.put_line(tst.country_name);
end;Works for me. Although I had to use emp instead of your table:
SQL> create or replace
2 package test as
3 TYPE country_typ IS REF CURSOR;
4 procedure sp_countries(rst OUT country_typ);
5 end;
6 /
Package created.
SQL> CREATE OR REPLACE
2 package body test as
3 procedure sp_countries(rst OUT country_typ) as
4 sql_stmt VARCHAR2(300);
5 begin
6 sql_stmt := 'SELECT * FROM emp WHERE deptno = 20';
7 OPEN rst FOR sql_stmt;
8 end;
9 end test;
10 /
Package body created.
SQL> var tcur refcursor
SQL> exec test.sp_countries(:tcur);
PL/SQL procedure successfully completed.
SQL> print tcur
EMPNO ENAME JOB MGR HIREDATE SAL COMM DEPTNO
7369 SMITH CLERK 7902 17-DEC-80 800 20
7566 JONES MANAGER 7839 02-APR-81 2975 20
7788 SCOTT ANALYST 7566 19-APR-87 3000 20
7876 ADAMS CLERK 7788 23-MAY-87 1100 20
7902 FORD ANALYST 7566 03-DEC-81 3000 20
SQL> -
We have SharePoint 2013 site configured with SSL and we have developed a provider hosted app which interacts with SharePoint list.
If we try accessing the Provider hosted app from the SharePoint site with HTTP [http://mysharepointsite.com/] there are no any errors thrown.
But whenever the same Provider hosted app is tried accessing from the same SharePoint site using https address
[https://mysharepointsite.com/] we are getting below error:
The remote certificate is invalid according to the validation procedure.
Description: An unhandled exception occurred during the execution of the current web request. Please review the stack trace for more information about the error and where it originated in the code.
Exception Details: System.Security.Authentication.AuthenticationException: The remote certificate is invalid according to the validation procedure.
Source Error:
An unhandled exception was generated during the execution of the current web request. Information regarding the origin and location of the exception can be identified using the exception stack trace below.
Stack Trace:
[AuthenticationException: The remote certificate is invalid according to the validation procedure.]
System.Net.Security.SslState.StartSendAuthResetSignal(ProtocolToken message, AsyncProtocolRequest asyncRequest, Exception exception) +2983172
System.Net.Security.SslState.StartSendBlob(Byte[] incoming, Int32 count, AsyncProtocolRequest asyncRequest) +473
System.Net.Security.SslState.ProcessReceivedBlob(Byte[] buffer, Int32 count, AsyncProtocolRequest asyncRequest) +86
System.Net.Security.SslState.StartReceiveBlob(Byte[] buffer, AsyncProtocolRequest asyncRequest) +262
System.Net.Security.SslState.StartSendBlob(Byte[] incoming, Int32 count, AsyncProtocolRequest asyncRequest) +473
System.Net.Security.SslState.ProcessReceivedBlob(Byte[] buffer, Int32 count, AsyncProtocolRequest asyncRequest) +86
System.Net.Security.SslState.StartReceiveBlob(Byte[] buffer, AsyncProtocolRequest asyncRequest) +262
System.Net.Security.SslState.StartSendBlob(Byte[] incoming, Int32 count, AsyncProtocolRequest asyncRequest) +473
System.Net.Security.SslState.ProcessReceivedBlob(Byte[] buffer, Int32 count, AsyncProtocolRequest asyncRequest) +86
System.Net.Security.SslState.StartReceiveBlob(Byte[] buffer, AsyncProtocolRequest asyncRequest) +262
System.Net.Security.SslState.StartSendBlob(Byte[] incoming, Int32 count, AsyncProtocolRequest asyncRequest) +473
System.Net.Security.SslState.ForceAuthentication(Boolean receiveFirst, Byte[] buffer, AsyncProtocolRequest asyncRequest) +8530566
System.Net.Security.SslState.ProcessAuthentication(LazyAsyncResult lazyResult) +230
System.Threading.ExecutionContext.RunInternal(ExecutionContext executionContext, ContextCallback callback, Object state, Boolean preserveSyncCtx) +645
System.Threading.ExecutionContext.Run(ExecutionContext executionContext, ContextCallback callback, Object state, Boolean preserveSyncCtx) +9
System.Threading.ExecutionContext.Run(ExecutionContext executionContext, ContextCallback callback, Object state) +87
System.Net.TlsStream.ProcessAuthentication(LazyAsyncResult result) +1467
System.Net.TlsStream.Write(Byte[] buffer, Int32 offset, Int32 size) +84
System.Net.PooledStream.Write(Byte[] buffer, Int32 offset, Int32 size) +22
System.Net.ConnectStream.WriteHeaders(Boolean async) +761
[WebException: The underlying connection was closed: Could not establish trust relationship for the SSL/TLS secure channel.]
System.Net.HttpWebRequest.GetResponse() +8534156
Microsoft.SharePoint.Client.SPWebRequestExecutor.Execute() +58
Microsoft.SharePoint.Client.ClientRequest.ExecuteQueryToServer(ChunkStringBuilder sb) +975
ProviderHostedHTTPSWeb.Default.Page_Load(Object sender, EventArgs e) +348
System.Web.UI.Control.LoadRecursive() +71
System.Web.UI.Page.ProcessRequestMain(Boolean includeStagesBeforeAsyncPoint, Boolean includeStagesAfterAsyncPoint) +3178
We have already added the certificate used for the SharePoint site and the provider hosted app in the SharePoint central admin trusts.
Any idea's how can I resolve this issue?Hi,
According to your post, my understanding is that you failed to access provider host app using https.
The reason for this is that SharePoint implements its own certificate validation policy to override .NET certificate validation.
Fix is to setup a trust between SharePoint and the server requiring certificate validation.
For more information, you can refer to:
http://blogs.technet.com/b/sharepointdevelopersupport/archive/2013/06/13/could-not-establish-trust-relationship-for-ssl-tls-secure-channel.aspx
Best Regards,
Linda Li
Linda Li
TechNet Community Support -
How do I pass the exact datetime parameter in a procedure.
How do I pass the exact datetime parameter in a procedure.
Hi All,
I have a datetime problem which is driving me crazy.
I need pass a datetime field as a parameter in an oracle procedure exactly as below with timestamp.
Example: '6/01/2005 5:25:24 AM'
SQL > exec myprod(‘value1’,’value2’,’value3’, to_date('6/01/2005 5:25:24 AM','dd-mm-yyyy hh24:mi:ss'));
I get an error “INVALID MONTH”
Next Changed to_date to to_char
SQL > exec myprod(‘value1’,’value2’,’value3’, to_char('6/01/2005 5:25:24 AM','dd-mm-yyyy hh24:mi:ss'));
I get a different error, “INVALID NUMBER”
Next pass the datetime as it is.
SQL > exec myprod(‘value1’,’value2’,’value3’, '6/01/2005 5:25:24 AM');
I get an error “INVALID MONTH”
Here is the my procedure.
CREATE OR REPLACE PROCEDURE myprod (
p_value1 varchar2,
p_value2 varchar2,
p_value3 varchar2 ,
p_value4 date )
IS
filehandler UTL_FILE.FILE_TYPE;
va_currentdate DATE;
BEGIN
SELECT sysdate
INTO va_currentdate
FROM dual;
END;
Do you know any solutions for this problem.
ThanksWhat is your NLS_DATE_FORMAT value?
There seem to be some implicit data conversions in your arguments.
SQL> select parameter,value from nls_session_parameters where parameter like '%DATE%';
PARAMETER VALUE
NLS_DATE_FORMAT YYYY-MM-DD HH24:MI:SS
NLS_DATE_LANGUAGE AMERICAN
SQL> select to_date('6/01/2005 5:25:24 AM','dd-mm-yyyy hh24:mi:ss') from dual;
select to_date('6/01/2005 5:25:24 AM','dd-mm-yyyy hh24:mi:ss') from dual
ERROR at line 1:
ORA-01830: date format picture ends before converting entire input string
SQL> select to_date('6/01/2005 5:25:24 AM','dd-mm-yyyy hh:mi:ss am') from dual;
TO_DATE('6/01/20055
2005-01-06 05:25:24 -
I've tried to create a subscription by Web Service api calling the method CreateSubscription and I've an error:
> The value of parameter 'ExtensionSettings' is not valid. --->
> Microsoft.ReportingServices.Diagnostics.Utilities.InvalidParameterException:
> The value of parameter 'ExtensionSettings' is not valid.
Below is my code:
ReportingService2010 m_RptManager = new ReportingService2010(); m_RptManager.Url = "<path>/ReportService2010.asmx"; m_RptManager.Credentials = GetCredential(); string filename = Path.GetFileName(m_FileName); string path = Path.GetDirectoryName(m_FileName); ParameterValue[] extensionParams = new ParameterValue[7]; for (int i = 0; i < extensionParams.Length; i++) extensionParams[i] = new ParameterValue(); extensionParams[0].Name = "FILENAME"; extensionParams[0].Value = filename; extensionParams[1].Name = "FILEEXTN"; extensionParams[1].Value = "False"; extensionParams[2].Name = "PATH"; extensionParams[2].Value = path; extensionParams[3].Name = "RENDER_FORMAT"; extensionParams[3].Value = m_Format; extensionParams[4].Name = "WRITEMODE"; extensionParams[4].Value = "Overwrite"; extensionParams[5].Name = "USERNAME"; extensionParams[5].Value = m_UserName; extensionParams[6].Name = "PASSWORD"; extensionParams[6].Value = m_Password; ExtensionSettings extensionSettings = new ExtensionSettings(); extensionSettings.Extension = "Report Server FileShare"; extensionSettings.ParameterValues = extensionParams; MinuteRecurrence pattern = new MinuteRecurrence(); pattern.MinutesInterval = 1; ScheduleDefinition schedule = new ScheduleDefinition(); schedule.StartDateTime = DateTime.Now; schedule.EndDateSpecified = false; schedule.Item = pattern; XmlSerializer serializer = new XmlSerializer(typeof(ScheduleDefinition)); string dateMatch; using (StringWriter sw = new StringWriter()) { serializer.Serialize(sw, schedule); dateMatch = sw.ToString(); } string reportPath = "MyReport"; string eventType = "TimedSubscription"; string description = "description"; m_RptManager.CreateSubscription(reportPath, extensionSettings, description, eventType, matchData, GetReportParameters(reportPath));
Where have I wrong?Thank for reply, I checked my parameter and I seem that (maybe) is ok below is my parameters, do you see anything of wrong?
<?xml version="1.0" encoding="utf-16"?>
<ExtensionSettings xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
<Extension xmlns="http://schemas.microsoft.com/sqlserver/reporting/2010/03/01/ReportServer">Report Server FileShare</Extension>
<ParameterValues xmlns="http://schemas.microsoft.com/sqlserver/reporting/2010/03/01/ReportServer">
<ParameterValue>
<Name xmlns="http://schemas.microsoft.com/sqlserver/2005/06/30/reporting/reportingservices">FILENAME</Name>
<Value xmlns="http://schemas.microsoft.com/sqlserver/2005/06/30/reporting/reportingservices">pippo.xls</Value>
</ParameterValue>
<ParameterValue>
<Name xmlns="http://schemas.microsoft.com/sqlserver/2005/06/30/reporting/reportingservices">FILEEXTN</Name>
<Value xmlns="http://schemas.microsoft.com/sqlserver/2005/06/30/reporting/reportingservices">False</Value>
</ParameterValue>
<ParameterValue>
<Name xmlns="http://schemas.microsoft.com/sqlserver/2005/06/30/reporting/reportingservices">PATH</Name>
<Value xmlns="http://schemas.microsoft.com/sqlserver/2005/06/30/reporting/reportingservices">\\10.4.44.253\D$\Data Applications\DBP\Output\DOMAIN\User\14</Value>
</ParameterValue>
<ParameterValue>
<Name xmlns="http://schemas.microsoft.com/sqlserver/2005/06/30/reporting/reportingservices">RENDER_FORMAT</Name>
<Value xmlns="http://schemas.microsoft.com/sqlserver/2005/06/30/reporting/reportingservices">EXCEL</Value>
</ParameterValue>
<ParameterValue>
<Name xmlns="http://schemas.microsoft.com/sqlserver/2005/06/30/reporting/reportingservices">WRITEMODE</Name>
<Value xmlns="http://schemas.microsoft.com/sqlserver/2005/06/30/reporting/reportingservices">Overwrite</Value>
</ParameterValue>
<ParameterValue>
<Name xmlns="http://schemas.microsoft.com/sqlserver/2005/06/30/reporting/reportingservices">USERNAME</Name>
<Value xmlns="http://schemas.microsoft.com/sqlserver/2005/06/30/reporting/reportingservices">domain\user</Value>
</ParameterValue>
<ParameterValue>
<Name xmlns="http://schemas.microsoft.com/sqlserver/2005/06/30/reporting/reportingservices">PASSWORD</Name>
<Value xmlns="http://schemas.microsoft.com/sqlserver/2005/06/30/reporting/reportingservices">xxxxxx</Value>
</ParameterValue>
</ParameterValues>
</ExtensionSettings>
-
Is it possible to pass TABLE as the output parameter in stored procedure
Hey Experts,
Is it possible to pass TABLE as the output parameter in stored procedure.
eg
create procedure spGetData
@tableName as TABLE(intValue INT NOT NUL)
asYou can use OPENQUERY or OPENROWSET, as mentioned above, to make stored procedure results table like. There are
some limitations with these methods:
http://technet.microsoft.com/en-us/library/ms188427.aspx
In OPENQUERY this-sql-server-instance can be used instead of a linked server name. It requires setting data accces server option:
exec sp_serveroption @server = 'PRODSVR\SQL2012'
,@optname = 'DATA ACCESS'
,@optvalue = 'TRUE'
LINK: http://www.sqlusa.com/bestpractices/select-into/
Kalman Toth Database & OLAP Architect
SELECT Video Tutorials 4 Hours
New Book / Kindle: Exam 70-461 Bootcamp: Querying Microsoft SQL Server 2012 -
What should be the procedure for export parameter in CATT
Hello Everybody,
I am working with CATT, and the transactions are <b>ME21N</b> and <b>MIGO</b>.
when i am executing the transaction <b>ME21N</b> i will get the <b>Pur Ord No</b>in the message, and i would like to export <b>Pur Ord No</b> to the transaction <b>MIGO</b> as thr is one field named Purch.ord no in Migo.
what should be the Procedure for exporting a parameter?
Thanks,
Regards AfrozHello Afroz,
If you are using eCATT then following is the procedure of capturing messages in the two recording methods - TCD & SAPGUI.
=> TCD Recording Mode:
In TCD recording mode, after dobleclicking on Interface name from the TCD command in the editor on left side, just before the MSG folder DYNPRO folder will appear on right side.
-This DYNRPO folder contains the screen sequences contain the screen occurred during recording time. The last Dynpro of this folder contains the messages occurred during recording.
-Select this last folder & click on Simulate Screen icon of the same Interface editor. It will redirect to the screen where the message values exist. There select the Purchase Order Number and click on Read Field Value icon. Give the name of Export Variable.
The export variable will contain the value of the purchase order number, which can be passed to MIGO.
=> SAPGUI Recording Mode:
In the SAPGUI recording mode, the screen on which the message appeared will be used to capture the variable name, which is Purchase Order Number in this case.
If the Purchase Order Number is second variable of the message displayed(e.g. Purchase Number 2122323 Is Created)
then use the following code -
e.g.
MESSAGE ( MSG_1 ).
SAPGUI ( ME21N_4001_STEP_5 ).
ENDMESSAGE ( E_MSG_1 ).
Assing the value from the message to the export
parameter
P_EC_PurOrdNo = E_MSG_1-[1]-MSGV2.
There are total four MSGV1-MSGV4 variables. Dobule click on MSG_1 of the MESSAGE statement above. Putting the value in the export variable from the right message variable will give the purchase order number.This can be passed as MIGO.
Regards -
PASSING A VARRAY as parameter in a procedure and returning the same VARRAY
Hi,
I am passing a varray as IN parameter to a procedure. I want to retreive the same VARRAY from the procedure.
DECLARE
TYPE str_array IS VARRAY (4) OF VARCHAR2 (50);
v_array str_array;
PROCEDURE process_array (
v_str_array str_array
AS
BEGIN
FOR i IN v_str_array.FIRST .. v_str_array.LAST
LOOP
DBMS_OUTPUT.put_line ('Hello ' || v_str_array (i));
END LOOP;
END;
BEGIN
v_array := str_array ('John', 'Paul', 'Ringo', 'George');
process_array (v_array);
-- can also pass unbound Str_Array
--process_array (str_array ('John', 'Paul', 'Ringo', 'George'));
-- DBMS_OUTPUT.put_line ('Hello ' || v_str_out_array (i));
END;I want to change this procedure so that i will retreive the same as VARRAY out from the procedure.
Can anyone help me on the samePROCEDURE process_array (
v_str_array IN OUT str_array
)If your varray is large then you can try:
PROCEDURE process_array (
v_str_array IN OUT NOCOPY str_array
)but you should learn about possible side-effects if there is an error while executing the procedure. In short words: if you don't use NOCOPY and an error occurs during execution of process_array procedure then your varray is not changed - all chages to the value of your varray are 'rolled back'. If you use NOCOPY then it depends... -
Error in InfoView "The Parameter Value is not Valid"
Hello,
I have developed a Crystal Report in CR2008 and uploaded in the InfoView. Now when i run the report via scheduling or load the report with the data and try to change the parameter (editable set in CR) from the drop down list and hit apply i get an error dialogue box "The parameter value is not valid" and message says "null".
Also another issue is that i cannot execute the report directly in InfoVIew, i have to schedule it to run the report. Report is connected to the SAP InfoSet.
Any input would be much appreciated.
Thanks.We have rebuild new servers for InfoVIew and it just works fine. Both the problem solved.
Maybe you are looking for
-
Calling a javascript on load of jsff page
I have a jsff page which is loaded as a taskflow from region. i tried to call an alert function on load of jsff page as follows: <af:clientListener type="load" method="jsMethod"/> <af:resource type="javascript"> function jsMethod() {
-
I lost all of my tunes somewhere between updates...
!#%!^^!!($@*! Crap! This bites... Here's the scenario: - I have a G5 and a Shuffle (single user on 10.4.2, nothing funky at all - very vanilla setup and well maintained). - Updated to iTunes 5.01 earlier this week didn't fire up iTunes until tonight
-
Help ! I have recently used iTunes to subscribe to some Podcasts flawlessly. Then suddenly, I could only view the latest downloaded Podcasts in my iTunes account. I no longer had any Podcasts on my 160GB Classic. Can anyone save me from me ? I would
-
Show hierarchy of CO-PS PSP element in report
Hi all, I'm trying to show PSP elements under their corresponding project definitions hierarchically in a report. When using the (Business Content) InfoObject 0WBS_ELEMT with its hierarchy I do not get their father nodes (project definition). Does so
-
Problem cleaning h:messages, please
Hi, I have a form with a field, when I submit it, it generates a pdf file: my problem is that when I submit the form a method validates it, and some h:messages appear if it fails. The next time I submit the form and if there are no errors, the messag