PCI-6133 always returns huge constant number of counts
Hi,
I am trying to use a PCI-6133 with a BNC-2110 adapter to counting leading edges of pulses. Please excuse my high degree of ignorance of how to do this. Anyway, I connected up my TTL input signal according to the BNC-2110 instructions (to PFI-8 via User-2). Whenever I run the DAQmx sample program Count Digital Events.vi, it recognizes the PCI-6133 OK, but always returns an absurdly high and constant number of counts, like 3.2e9. The number doesn't change as I send test pulses into the input. It also remains the same even if I disconnect the input line entirely and rerun the sample program.
Rebooting yields the same behavior.
Using DAQ assistant to generate my own code, instead of the sample program, produced exactly the same result.
Thanks for any help you can give me. I don't even know where to start to debug this problem.
Thanks,
Andy
BVeezy wrote:
How/what exactly are you measureing from;? Are you wiring the digital signal directly into PFI 8? Have your tried using the other counter (CTR1) on the 6133? It should be PFI 3 (as indicated in the manual). You may also try generating a pulse signal from the 6133 and reading it with this VI to determine if your source may be the issue (you could use PFI 2 as a Digital Output for this). Finally, does it read the same value every time you run it (the reported 3.2e9)?
Regards,
Brandon V.
Applications Engineer
National Instruments
Thank you very much for your help.
How/what exactly are you measureing from;?
I am measuring (counting) TTL pulses coming from a TTL driver. They are about 1 us long and nominal TTL high and low values. The pulses look fine on a scope. The rate is very low, typically a few Hz up to perhaps 200 Hz. The behavior is the same regardless of whether I have the input signal connected to the BNC-2110, however. The pulses are ultimately generated by a neutron detector, with a bunch of signal processing in between.
Are you wiring the digital signal directly into PFI 8?
The input signal is connected by BNC cable to the "User 2" port on the BNC-2110. A jumper wire connects the "User2" PFI Terminal to the "PFI-8" PFI Terminal. Again, the behavior is exactly the same regardless of whether these wires are installed or not.
Have your tried using the other counter (CTR1) on the 6133?
The behavior is exactly the same on ctr1, which has no wires connected to it.
You may also try generating a pulse signal from the 6133 and reading it with this VI to determine if your source may be the issue (you could use PFI 2 as a Digital Output for this).
I tried running a "test panel" in MAX to count the 20 MHz internally generated signal. It gave the exact same results, on both ctr0 and ctr1. It did not throw any error message.
Finally, does it read the same value every time you run it (the reported 3.2e9)?
It reads the same value every time I run the sample VI or test panel (3217997774) on both channels, except that the number changes to a different constant number (very close) when I reboot the computer.
I have been wondering if the problem might be associated with the configuration of the ports on the PCI-6133. The manual repeatedly says that you can configure the ports to input or output, for example, but it is not clear to me how to do that. When I right-click the device in MAX, "Configure" is not one of the choices, despite what it says in the "Getting Started" manual.
Again, thanks for your help.
Take care,
Andyaina
Similar Messages
-
Field Number(19,8) always returns Zero!
Thanks for reading this
I am developing an application in VB6 on
NT 4 SP5 and have come accross a very strange
error. This project is a migration from
Sequel Server, I am redoing an ACCESS application.
In one of the tables, the Latitude and Longitude is stored as of Type Number(19,8)
(don't ask why - I didn't design the tables).
All of the data is being retrieved through disconnected ADO recordsets. The data is being written with ADO connection SQL statements.
Writing of the values through the Oracle ODBC driver seems to work properly (8.01.05 - 02/02/99). When I read the values through a ADO Recordset query, the latitude and longitude always returns 0 (when they are not null).
I tried switching to the Microsoft ODBC Driver for Oracle, and that driver works fine. The latitude and longitude are correct.
I can view the data fine through SQL Plus or
ACCESS via linked Tables, so the data is OK.
Thanks
John
nullAnd what does this have to do with JDBC?
There was a bug in one of the earlier 8.x Oracle ODBC drivers that woukld cause this behavior. Get the latest patch version of the driver frorm Oracle support and you will be fine. -
Make a number in column A always return a different specific number in column B
I'm trying to create a retirement calculator.
How do I set it up so that no matter where a specific number appears in column A, column B, same row, always returns a different specific number.
This second number cannot be derived from the first mathematically.
example:
Column A your current age is entered in the first cell.
Column B is the Life Expectency Factor (LEF). Before age 70 it is 0. At age 70 that number is 24.7, at 71 it is 26.4 etc.
Column C returns the Minimum Required Distribution (How much one has to withdraw) (B * $IRA = $MinDist)
Depending on the age in the first cell of column A, age 70 could be in any row.
How can I have the LEF in column B move with the age so that no matter in which row age 70 may appear in column A, that row in column B always returns 24.7 and age 71 always returns 26.4... and on.
No matter which row 70 is in, 24.7 is always next to it in the same row. This will go from 70 to 100 each with a specific LEF next to it.
ThanksHi Les,
Setup a Lookup table listing the LEF in column B beside each age in column A. Assuming one header row, start with 0 and 0 in A2 and B2, 70 and 24.7 in A3 and B3, etc.
On your Main table, enter the formula below in the first data cell of Main::column B (B2, again assuming a single header row for labels). Fill the formula down to the end of the table.
Main::B2: =LOOKUP(A,Lookup::$A,Lookup::$B)
Fill the formula to the end of column B
Numbers on the lookup table on the right are from the (US) government Social Security Administration Actuarial Life Table, and may not (do not, for the two examples in your post) agree with those you are using.
Regards,
Barry -
APEX_UTIL.GET_PRINT_DOCUMENT always returning empty BLOB
Dear community,
I have a huge problem when using the function APEX_UTIL.GET_PRINT_DOCUMENT in a job or database procedure.
The following code runs perfectly when I integrate it in the APEX application directly e.g. using a button to execute it (of course I use an anonymous PL/SQL block in APEX itself). But when I run the same code as a procedure or job in the APEX database itself I always receive a mail with an empty PDF:
CREATE OR REPLACE PROCEDURE APEX_DRUG_SAFETY.CALL_MAIL
is
l_id number;
l_document BLOB;
BEGIN
wwv_flow_api.set_security_group_id;
l_document := APEX_UTIL.GET_PRINT_DOCUMENT
+(+
p_application_id=>'105',
p_report_query_name=>'TestReport',
p_report_layout_type=>'pdf',
p_document_format=>'pdf'
+);+
l_id := APEX_MAIL.SEND
+(+
p_to => '[email protected]',
p_from => '[email protected]',
p_subj => 'sending PDF via print API',
p_body => 'Please review the attachment.',
p_body_html => 'Please review the attachment.'
+);+
APEX_MAIL.ADD_ATTACHMENT
+(+
p_mail_id => l_id,
p_attachment => l_document,
p_filename => 'mydocument.pdf',
p_mime_type => 'application/pdf'
+);+
wwv_flow_mail.push_queue(
P_SMTP_HOSTNAME => 'DESMTP.TEST.COM',
P_SMTP_PORTNO => '25');
end;
The problem is that the function APEX_UTIL.GET_PRINT_DOCUMENT always returns an empty BLOB when executed outside of the APEX application. I found this issue in several other posts in this forum but I did not find a solution.
The mail transmission itself works perfectly. Also with an attachment if e.g. I use another BLOB already stored in the database for testing purposes. So it is not the mail transmission that causes the problem but the empty variable l_document that is still empty.
Thanks in advance for the help.user9007075 wrote:
Dear community,
wwv_flow_api.set_security_group_id;
you should be using this
l_workspace_id := apex_util.find_security_group_id (p_workspace => 'YOUR_WORKSPACE_NAME');
apex_util.set_security_group_id (p_security_group_id => l_workspace_id);
http://docs.oracle.com/cd/E23903_01/doc/doc.41/e21676/apex_util.htm#AEAPI512 -
Return PDF page number from the name of the link in InDesign CS4 JS
Hi, I need to return pdf page number of the linked file in InDesign.Here what I have so far, but my FilePath comes back undefined, and I am not sure if pageNmuber line would work:
var myArtBack = app.activeDocument.pages[1].rectangles[0].graphics[0];
var myArtBackName = myArtBack.itemLink.name;
var myBackFilePath = myArtBackName.filePath;
var myPageNumber = myBackFilePath.PDFAttribute.pageNumber;
Your help is highly appreciated.
YuliaYour first problem is:
var myBackFilePath = myArtBackName.filePath;
That should be:
var myBackFilePath = myArtBack.itemLink.filePath;
What you should have done is something like:
var myLink = myArtBack.itemLink;
var myPageNumber = myLink.parent.pdfAttributes.pageNumber;
Maybe you need the file path for some other purpose, but that's not the route to information about the PDF graphic (the parent of the link) which has the pdfAttributes property -- property names always start with a lowercase letter.
Dave -
How to arm channel 1 of a PCI 6133 DAQ card using labview?
Hi,
I am new to the Labview and I need some help. I have a PCI 6133 multifunction DAQ card and I'm using Labview 8.2 to capture five channels waveform data. I setup channel ai0 to be the trigger channel and I need to capture data from ai0, ai1, ai2, ai3, and ai4 when ai0 is trigger.
Question:
1) I am using DAQ assistant to configure my channels. How can I arm the channel ai0? I have an "execute button" and it should arm the scope when I click it.
2) Is there trigger ready signal, so I can save all the channels data when channel ai0 is trigger?
Can anyone provide some help?
ThanksHello wirte spreedsheet,
Thanks for posting to Discussion Forum. It looks like you are using the
PCI-6133 to acquire analog data from ai0:ai4. You want to use ai0 as
the trigger for the other channels.
Does your application need to be retriggerable?
Are you doing continuous acquisition?
Are you doing Analog start trigger or reference trigger?
Take a look the following shipping examples, found in LabVIEW click
Help>>Find Examples. On the browse tab, Hardware Input and
Output>>DAQmx>>Analog Measurements>>Voltage:
Cont Acq&Graph Voltage - Analog SW Trigger.vi
>> This example demonstrates how to perform an analog software
triggered acquisition. The example allows the user to specify the
triggering condition and the number of pre-trigger samples to acquire.
Cont Acq&Graph Voltage - Int Clk - Analog Start.vi
>> This example demonstrates how to continuously acquire data
(Waveform) using the DAQ device's internal clock and an analog slope
start trigger.
Take a look at these applications and let me know if you have any questions or comments.
Have a good day.
Regards,
Sandra T.
Applications Engineer | National Instruments -
XML Validation : isschemavalid always returns 0
Hello XML folks,
I have registered the schema and tried to validate. It always returns 0 (i.e invalid).
Could you please let me know what is wrong with XSD or XML
Thanks,
Parappa
SQL> DECLARE
2 doc varchar2(3800) :=
3 '<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
4 <!--W3C Schema generated by XMLSpy v2005 sp1 U (http://www.xmlspy.com)-->
5 <xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema" xmlns:context="http://ibtco.com/common/exception/context" targetNamespace="http://ibtco.com/common/exception/context" elementFormDefault="qualified" attributeFormDefault="unqualified">
6 <xs:simpleType name="ContextValueType">
7 <xs:annotation>
8 <xs:documentation>data types for properties</xs:documentation>
9 </xs:annotation>
10 <xs:restriction base="xs:string">
11 <xs:enumeration value="boolean"/>
12 <xs:enumeration value="char"/>
13 <xs:enumeration value="byte"/>
14 <xs:enumeration value="int"/>
15 <xs:enumeration value="long"/>
16 <xs:enumeration value="float"/>
17 <xs:enumeration value="double"/>
18 <xs:enumeration value="decimal"/>
19 <xs:enumeration value="date"/>
20 <xs:enumeration value="time"/>
21 <xs:enumeration value="dateTime"/>
22 <xs:enumeration value="string"/>
23 </xs:restriction>
24 </xs:simpleType>
25 <xs:complexType name="ContextPropertyType">
26 <xs:annotation>
27 <xs:documentation>
28 for holding name/value pair for application data
29 </xs:documentation>
30 </xs:annotation>
31 <xs:simpleContent>
32 <xs:extension base="xs:string">
33 <xs:attribute name="Name" type="xs:Name" use="required"/>
34 <xs:attribute name="Type" type="context:ContextValueType" use="optional"/>
35 </xs:extension>
36 </xs:simpleContent>
37 </xs:complexType>
38 <xs:complexType name="ExceptionContextType">
39 <xs:annotation>
40 <xs:documentation>
41 for holding the data from applications
42 </xs:documentation>
43 </xs:annotation>
44 <xs:sequence>
45 <xs:element name="Property" type="context:ContextPropertyType" minOccurs="0" maxOccurs="unbounded"/>
46 </xs:sequence>
47 </xs:complexType>
48 <xs:element name="ExceptionContext" type="context:ExceptionContextType">
49 <xs:annotation>
50 <xs:documentation>
51 top level element exception context
52 </xs:documentation>
53 </xs:annotation>
54 </xs:element>
55 </xs:schema>';
56 BEGIN
57 dbms_xmlschema.registerSchema('http://ibtco.com/common/exception/context', doc);
58 END;
59 /
PL/SQL procedure successfully completed.
SQL> DECLARE
2
3 l_errormsgid VARCHAR2(30);
4 l_errorinfo VARCHAR2(100);
5 l_error_context CLOB; -- Error Stack
6 l_error_context_data CLOB; -- XML Context
7 l_var_xml_context VARCHAR2(4000);
8 l_var_error_stack VARCHAR2(4000);
9 l_sqlCode UTL_ERROR_LOGS.ERROR_CODE%TYPE;
10 p_ErrorMsgId NUMBER := '0';
11 p_ErrorInfo VARCHAR2(2000):= 'SUCCESS';
12 l_xml_context SYS.XMLTYPE;
13 l_count number :=0;
14 l_ret NUMBER;
15 BEGIN
16
17
18 -- Store XML in a clob
19 /*
20 l_var_xml_context := '<ExceptionContext>
21 <Property Name="Name1" Type="boolean">true</Property>
22 <Property Name="Name2" Type="string">String</Property>
23 </ExceptionContext>';
24 */
25
26 l_var_xml_context := '<?xml version="1.0" encoding="UTF-8"?>
27 <!--Sample XML file generated by XMLSpy v2005 sp1 U (http://www.xmlspy.com)-->
28 <ExceptionContext
29 xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
30 xsi:schemaLocation="http://ibtco.com/common/exception/context"
31 >
32 <Property Name="Name1" Type="boolean">true</Property>
33 <Property Name="Name2" Type="string">String</Property>
34 </ExceptionContext>';
35
36 DBMS_LOB.CREATETEMPORARY
37 (
38 lob_loc => l_error_context_data,
39 cache => TRUE
40 );
41
42 DBMS_LOB.WRITE
43 (
44 lob_loc =>l_error_context_data,
45 amount => length(l_var_xml_context),
46 offset => 1,
47 buffer => l_var_xml_context
48 );
49
50 l_xml_context := XMLTYPE(l_error_context_data);
51
52
53 -- validate against XML schema
54 --l_xml_context.schemavalidate();
55 l_ret := l_xml_context.isschemavalid('"http://ibtco.com/common/exception/context"');
56 IF l_ret = 1 then
57 dbms_output.put_line('Data is valid:' || l_ret );
58 ELSE
59 dbms_output.put_line('Data is invalid:' || l_ret);
60 END IF;
61 END;
62 /
Data is invalid:0
PL/SQL procedure successfully completed.
SQL>
SQL>
Here is the script :
DECLARE
doc varchar2(3800) :=
'<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
<!--W3C Schema generated by XMLSpy v2005 sp1 U (http://www.xmlspy.com)-->
<xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema" xmlns:context="http://ibtco.com/common/exception/context" targetNamespace="http://ibtco.com/common/exception/context" elementFormDefault="qualified" attributeFormDefault="unqualified">
<xs:simpleType name="ContextValueType">
<xs:annotation>
<xs:documentation>data types for properties</xs:documentation>
</xs:annotation>
<xs:restriction base="xs:string">
<xs:enumeration value="boolean"/>
<xs:enumeration value="char"/>
<xs:enumeration value="byte"/>
<xs:enumeration value="int"/>
<xs:enumeration value="long"/>
<xs:enumeration value="float"/>
<xs:enumeration value="double"/>
<xs:enumeration value="decimal"/>
<xs:enumeration value="date"/>
<xs:enumeration value="time"/>
<xs:enumeration value="dateTime"/>
<xs:enumeration value="string"/>
</xs:restriction>
</xs:simpleType>
<xs:complexType name="ContextPropertyType">
<xs:annotation>
<xs:documentation>
for holding name/value pair for application data
</xs:documentation>
</xs:annotation>
<xs:simpleContent>
<xs:extension base="xs:string">
<xs:attribute name="Name" type="xs:Name" use="required"/>
<xs:attribute name="Type" type="context:ContextValueType" use="optional"/>
</xs:extension>
</xs:simpleContent>
</xs:complexType>
<xs:complexType name="ExceptionContextType">
<xs:annotation>
<xs:documentation>
for holding the data from applications
</xs:documentation>
</xs:annotation>
<xs:sequence>
<xs:element name="Property" type="context:ContextPropertyType" minOccurs="0" maxOccurs="unbounded"/>
</xs:sequence>
</xs:complexType>
<xs:element name="ExceptionContext" type="context:ExceptionContextType">
<xs:annotation>
<xs:documentation>
top level element exception context
</xs:documentation>
</xs:annotation>
</xs:element>
</xs:schema>';
BEGIN
dbms_xmlschema.registerSchema('http://ibtco.com/common/exception/context', doc);
END;
DECLARE
l_errormsgid VARCHAR2(30);
l_errorinfo VARCHAR2(100);
l_error_context CLOB; -- Error Stack
l_error_context_data CLOB; -- XML Context
l_var_xml_context VARCHAR2(4000);
l_var_error_stack VARCHAR2(4000);
l_sqlCode UTL_ERROR_LOGS.ERROR_CODE%TYPE;
p_ErrorMsgId NUMBER := '0';
p_ErrorInfo VARCHAR2(2000):= 'SUCCESS';
l_xml_context SYS.XMLTYPE;
l_count number :=0;
l_ret NUMBER;
BEGIN
-- Store XML in a clob
l_var_xml_context := '<ExceptionContext>
<Property Name="Name1" Type="boolean">true</Property>
<Property Name="Name2" Type="string">String</Property>
</ExceptionContext>';
l_var_xml_context := '<?xml version="1.0" encoding="UTF-8"?>
<!--Sample XML file generated by XMLSpy v2005 sp1 U (http://www.xmlspy.com)-->
<ExceptionContext
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://ibtco.com/common/exception/context"
>
<Property Name="Name1" Type="boolean">true</Property>
<Property Name="Name2" Type="string">String</Property>
</ExceptionContext>';
DBMS_LOB.CREATETEMPORARY
lob_loc => l_error_context_data,
cache => TRUE
DBMS_LOB.WRITE
lob_loc =>l_error_context_data,
amount => length(l_var_xml_context),
offset => 1,
buffer => l_var_xml_context
l_xml_context := XMLTYPE(l_error_context_data);
-- validate against XML schema
--l_xml_context.schemavalidate();
l_ret := l_xml_context.isschemavalid('"http://ibtco.com/common/exception/context"');
IF l_ret = 1 then
dbms_output.put_line('Data is valid:' || l_ret );
ELSE
dbms_output.put_line('Data is invalid:' || l_ret);
END IF;
END;
/problem was with the parameter you have passed as schema url.
here is the modified code.
problem was in this line.
l_xml_context.isschemavalid('"http://ibtco.com/common/exception/context"');
you have to pass the url as just a string without the double quotest (").
now it returns 1.
SQL> DECLARE
2 l_var_xml_context VARCHAR2(4000);
3 l_xml_context SYS.XMLTYPE;
4 l_ret NUMBER;
5 BEGIN
6 l_var_xml_context := '<?xml version="1.0" encoding="UTF-8"?>
7 <ExceptionContext xmlns="http://ibtco.com/common/exception/context" xmlns:xsi="http://www.w3.o
rg/2001/XMLSchema-instance" xsi:schemaLocation="http://ibtco.com/common/exception/context
8 http://ibtco.com/common/exception/context">
9 <Property Name="Name1" Type="boolean">true</Property>
10 <Property Name="Name2" Type="string">String</Property>
11 </ExceptionContext>';
12 l_xml_context := XMLTYPE(l_var_xml_context);
13
14 l_ret := l_xml_context.isschemavalid('http://ibtco.com/common/exception/context');
15 IF l_ret = 1 then
16 dbms_output.put_line('Data is valid:' || l_ret );
17 ELSE
18 dbms_output.put_line('Data is invalid:' || l_ret);
19 END IF;
20 END;
21 /
Data is valid:1 -
Execute oracle stored procedure from C# always returns null
Hi,
I'm trying to execute a stored procedure on oracle 9i. I'm using .Net OracleClient provider.
Apparently, I can execute the stored procedure, but it always returns null as a result (actually all the sp's I have there returns null)! I can execute any text statement against the database successfully, and also I can execute the stored procedure using Toad.
This is not the first time for me to call an oracle stored procedure, but this really is giving me a hard time! Can anyone help please?
Below are the SP, and the code used from .Net to call it, if that can help.
Oracle SP:
CREATE OR REPLACE PROCEDURE APIECARE.CHECK_EXISTENCE(l_number IN NUMBER) AS
v_status VARCHAR2(5) := NULL;
BEGIN
BEGIN
SELECT CHECK_NO_EXISTENCE(to_char(l_number))
INTO v_status
FROM DUAL;
EXCEPTION WHEN OTHERS THEN
v_status := NULL;
END;
DBMS_OUTPUT.PUT_LINE(v_status);
END CHECK_CONTRNO_EXISTENCE;
C# Code:
string connStr = "Data Source=datasource;Persist Security Info=True;User ID=user;Password=pass;Unicode=True";
OracleConnection conn = new OracleConnection(connStr);
OracleParameter param1 = new OracleParameter();
param1.ParameterName = "v_status";
param1.OracleType = OracleType.VarChar;
param1.Size = 5;
param1.Direction = ParameterDirection.Input;
OracleParameter param2 = new OracleParameter();
param2.ParameterName = "l_number";
param2.OracleType = OracleType.Number;
param2.Direction = ParameterDirection.Input;
param2.Value = 006550249;
OracleParameter[] oraParams = new OracleParameter[] { param1, param2 };
OracleCommand cmd = new OracleCommand("CHECK_EXISTENCE", conn);
cmd.CommandType = CommandType.StoredProcedure;
cmd.Parameters.AddRange(oraParams);
conn.Open();
object result = cmd.ExecuteScalar();
conn.Close();Hi,
Does that actually execute? You're passing two parameters to a procedure that only takews 1 and get no error?
Your stored procedure doesnt return anything and has no output parameters, what are you expecting to be returned exactly?
If you're trying to access V_STATUS you'll need to declare that as either an output parameter of the procedure, or return value of the function, and also access it via accessing Param.Value, not as the result of ExecuteScalar.
See if this helps.
Cheers,
Greg
create or replace function myfunc(myinvar in varchar2, myoutvar out varchar2) return varchar2
is
retval varchar2(50);
begin
myoutvar := myinvar;
retval := 'the return value';
return retval;
end;
using System;
using System.Data;
using Oracle.DataAccess.Client;
public class odpfuncparams
public static void Main()
OracleConnection con = new OracleConnection("user id=scott;password=tiger;data source=orcl");
con.Open();
OracleCommand cmd = new OracleCommand("myfunc", con);
cmd.CommandType = CommandType.StoredProcedure;
OracleParameter retval = new OracleParameter("retval",OracleDbType.Varchar2,50);
retval.Direction = ParameterDirection.ReturnValue;
cmd.Parameters.Add(retval);
OracleParameter inval = new OracleParameter("inval",OracleDbType.Varchar2);
inval.Direction = ParameterDirection.Input;
inval.Value="hello world";
cmd.Parameters.Add(inval);
OracleParameter outval = new OracleParameter("outval",OracleDbType.Varchar2,50);
outval.Direction = ParameterDirection.Output;
cmd.Parameters.Add(outval);
cmd.ExecuteNonQuery();
Console.WriteLine("return value is {0}, out value is {1}",retval.Value,outval.Value);
con.Close();
} -
Select query on table rcv_lots_interface is always returning null
Hi ,
I need a help on the below issue.
The issue is after creating PO in Oracle 11i I receive it in MSCA application.
When we receive it at that point data gets inserted in the table " rcv_transactions_interface " and we have written a trigger on it.
From the trigger on table " rcv_transactions_interface " we are calling a package and in the package we have select query on "rcv_lots_interface."
But the select query is always returning null even though we are passing the correct "interface_transaction_id " and also after the "Receiving Transaction Processor" is executed i can see data in the table " RCV_LOT_TRANSACTIONS " for the same transaction.
Below is the sample code i am using.
CREATE OR REPLACE TRIGGER inv.RCV_TRAN_TRIGGER
AFTER UPDATE
ON po.rcv_transactions_interface
FOR EACH ROW
WHEN (NEW.processing_status_code='PENDING'
AND NEW.destination_type_code IN ('INVENTORY','RECEIVING')
AND NEW.mobile_txn = 'Y')
DECLARE
PRAGMA AUTONOMOUS_TRANSACTION;
v_user_id NUMBER;
v_interface_transaction_id NUMBER;
v_organization_id NUMBER;
v_item_id NUMBER;
v_quantity NUMBER;
v_resp_id NUMBER;
v_mobile_txn VARCHAR2(5);
v_shipment_header_id NUMBER;
v_bill_of_lading VARCHAR2(100);
v_group_id NUMBER;
v_header_interface_id NUMBER;
BEGIN
v_interface_transaction_id := :NEW.interface_transaction_id;
v_organization_id := :NEW.to_organization_id;
v_user_id := :NEW.created_by;
v_item_id := :NEW.item_id;
v_quantity := :NEW.quantity;
v_resp_id :=fnd_profile.VALUE('RESP_ID');
v_transaction_type := :NEW.transaction_type;
v_mobile_txn := :NEW.mobile_txn;
v_bill_of_lading := :NEW.bill_of_lading;
v_group_id := :NEW.group_id;
v_header_interface_id := :NEW.HEADER_INTERFACE_ID;
INV.INV_RCV_TRX_PKG.INV_RCV_LABEL_GEN_PRC( v_user_id,
v_interface_transaction_id,
v_item_id,
v_quantity,
v_organization_id,
v_resp_id,
v_shipment_header_id,
v_bill_of_lading,
v_header_interface_id,
v_group_id);
END;
CREATE OR REPLACE PACKAGE BODY INV.INV_RCV_TRX_PKG
AS
PROCEDURE INV_RCV_LABEL_GEN_PRC( p_user_id IN NUMBER,
p_interface_transaction_id IN NUMBER,
p_item_id IN NUMBER,
p_quantity IN NUMBER,
p_organization_id IN NUMBER,
p_resp_id IN NUMBER,
p_shipment_header_id IN NUMBER,
p_bill_of_lading IN VARCHAR2,
p_header_interface_id IN NUMBER ,
p_group_id IN NUMBER
IS
v_user_id NUMBER;
v_print BOOLEAN;
v_resp_id NUMBER;
v_resp_appl_id NUMBER;
v_lot_num VARCHAR2(50);
BEGIN
BEGIN
SELECT application_id
INTO v_resp_appl_id
FROM apps.fnd_responsibility_tl frt
WHERE responsibility_id=p_resp_id;
END;
apps.fnd_global.apps_initialize(p_user_id, p_resp_id, v_resp_appl_id);
BEGIN
SELECT rli.lot_num , rli.expiration_date
INTO v_lot_num ,
v_expiration_date
FROM apps.rcv_lots_interface rli
WHERE rli.interface_transaction_id = p_interface_transaction_id ;
EXCEPTION
WHEN OTHERS THEN
v_lot_num :=NULL;
v_expiration_date :=NULL;
apps.fnd_file.put_line(fnd_file.log,'Exception while deriving LOT Number ######### '||p_interface_transaction_id||'------'||SQLERRM);
END;
END;
Need your help to understand why the below query is always returning null and what is the solution for it ?
SELECT rli.lot_num , rli.expiration_date
FROM apps.rcv_lots_interface rli
WHERE rli.interface_transaction_id = p_interface_transaction_id ;
Thanks
Jaydeep
Edited by: user10454886 on Mar 25, 2013 6:31 AM
Hi ,
I need a solution to this issue at the earliest.
Appreciate all of your help
Thanks
JaydeepCentinul wrote:
There are a lot of bugs listed in Metalink with respect to wrong results and function-based indexes.
Here are a few:
Bug 4028186 Wrong results if function based index exists
Bug 4717546 Wrong results / poor plan when function based index exists
Bug 5092688 Wrong results if function based index exists
Based on reviewing them the workarounds range from dropping the index to setting "_disable_function_based_index" to TRUE.Facinating. It seems to me that if you use the undocumented intitialization parameter you might just as well drop the FBIs too.
Another hazard of FBIs is the Law of Unintended Consequences. 2 years ago we tried to use one to speed up a query in a PL/SQL package. Worked OK for that purpose, but an unrelated loader on the affected table ran and rand but never finished until the FBI was dropped. -
Output parameters always return null when ExecuteNonQuery - No RefCursor
I am trying to call a procedure through ODP that passes in one input parameter and returns two (non-RefCursor) VARCHAR2 output parameters. I am calling the procedure using ExecuteNonQuery(); however, my parameters always return null. When I run the procedure outside of ODP, such as with SQLPlus or SQL Navigator, the output parameters are populated correctly. For some reason, there appears to be a disconnect inside of ODP. Is there a way to resolve this?
Anyone have this problem?
Here is the basic code:
===========================================================
// External call of the class below
DBNonCursorParameterTest Tester = new DBNonCursorParameterTest();
===========================================================
// The class and constructor that calls the procedure and prints the results.
public class DBNonCursorParameterTest
public DBNonCursorParameterTest()
// The test procedure I used is a procedure that takes a recordID (Int32) and then returns a
// general Name (Varchar2) and a Legal Name (Varchar2) from one table with those three fields.
string strProcName = "MyTestProc;
OracleConnection conn = new OracleConnection(DBConnection.ConnectionString);
OracleCommand cmd = new OracleCommand(strProcName,conn);
cmd.CommandType = CommandType.StoredProcedure;
// Create the input parameter and the output cursor parameter to retrieve data; assign a value to the input parameter;
// then create the parameter collection and add the parameters.
OracleParameter pBPID = new OracleParameter("p_bpid", OracleDbType.Int32, ParameterDirection.Input);
OracleParameter pBPName = new OracleParameter("p_Name", OracleDbType.Varchar2, ParameterDirection.Output);
OracleParameter pBPLegalName = new OracleParameter("p_LegalName", OracleDbType.Varchar2, ParameterDirection.Output);
pBPID.Value = 1;
// Open connection and run stored procedure.
try
conn.Open();
cmd.Parameters.Add(pBPID);
cmd.Parameters.Add(pBPName);
cmd.Parameters.Add(pBPLegalName);
cmd.ExecuteNonQuery();
Console.Write("\n" + cmd.CommandText + "\n\n");
//for (int i = 0; i < cmd.Parameters.Count; i++)
// Console.WriteLine("Parameter: " + cmd.Parameters.ParameterName + " Direction = " + cmd.Parameters[i].Direction.ToString());
// Console.WriteLine("Parameter: " + cmd.Parameters[i].ParameterName + " Status = " + cmd.Parameters[i].Status.ToString());
// Console.WriteLine("Parameter: " + cmd.Parameters[i].ParameterName + " Value = " + cmd.Parameters[i].Value.ToString() + "\n");
foreach (OracleParameter orap in cmd.Parameters)
Console.WriteLine("Parameter: " + orap.ParameterName + " Direction = " + orap.Direction.ToString() + " Value = " + orap.Value.ToString());
Console.WriteLine("Parameter: " + orap.ParameterName + " Status = " + orap.Status.ToString());
Console.WriteLine("Parameter: " + orap.ParameterName + " Value = " + orap.Value.ToString() + "\n");
// End Test code.
catch (Exception ex)
throw new Exception("ExecuteQuery() failed: " + ex.Message);
finally
this.Close();
public void Close()
if (conn.State != ConnectionState.Closed)
conn.Close();
=========================================================
Other things to note:
I have no problems with returning RefCursors; they work fine. I just don't want to use RefCursors when they are not efficient, and I want to have the ability to return output parameters when I only want to return single values and/or a value from an insert/update/delete.
Thanks for any help you can provide.Hello,
Here's a short test using multiple out parameters and a stored procedure. Does this work as expected in your environment?
Database:
/* simple procedure to return multiple out parameters */
create or replace procedure out_test (p_text in varchar2,
p_upper out varchar2,
p_initcap out varchar2)
as
begin
select upper(p_text) into p_upper from dual;
select initcap(p_text) into p_initcap from dual;
end;
/C# source:
using System;
using System.Data;
using Oracle.DataAccess.Client;
using Oracle.DataAccess.Types;
namespace Miscellaneous
class Program
static void Main(string[] args)
// change connection string as appropriate
const string constr = "User Id=orademo; " +
"Password=oracle; " +
"Data Source=orademo; " +
"Enlist=false; " +
"Pooling=false";
// the stored procedure to execute
const string sql = "out_test";
// simple input parameter for the stored procedure
string text = "hello!";
// create and open connection
OracleConnection con = new OracleConnection(constr);
con.Open();
// create and setup connection object
OracleCommand cmd = con.CreateCommand();
cmd.CommandText = sql;
cmd.CommandType = CommandType.StoredProcedure;
// the input paramater
OracleParameter p_text = new OracleParameter("p_text",
OracleDbType.Varchar2,
text.Length,
text,
ParameterDirection.Input);
// first output parameter
OracleParameter p_upper = new OracleParameter("p_upper",
OracleDbType.Varchar2,
text.Length,
null,
ParameterDirection.Output);
// second output parameter
OracleParameter p_initcap = new OracleParameter("p_initcap",
OracleDbType.Varchar2,
text.Length,
null,
ParameterDirection.Output);
// add parameters to collection
cmd.Parameters.Add(p_text);
cmd.Parameters.Add(p_upper);
cmd.Parameters.Add(p_initcap);
// execute the stored procedure
cmd.ExecuteNonQuery();
// write results to console
Console.WriteLine(" p_text = {0}", text);
Console.WriteLine(" p_upper = {0}", p_upper.Value.ToString());
Console.WriteLine("p_initcap = {0}", p_initcap.Value.ToString());
Console.WriteLine();
// keep console from closing when run in debug mode from IDE
Console.WriteLine("ENTER to continue...");
Console.ReadLine();
}Output:
p_text = hello!
p_upper = HELLO!
p_initcap = Hello!
ENTER to continue...- Mark -
GetUsageData is always returning Null
Let me first start out by stating that I know there are many questions on this issue, and I have read them all. However, none of the suggestions that I have read have seemed to help my situation. Therefore, I figure I would supply my code with the hopes
that someone can solve the issue that is mentioned in the title. Let me first supply a little bit of background.
My goal in this code is to determine what are the most visited sites in our SharePoint 2010 farm. To do this, I figured I would cycle through all of the webs in the farm, and then obtain the amount of page views within each site using the GetUsageData function.
Just to test if the GetUsageData was supplying the correct data, I coded the web part in such a way where if GetUsageData returned "Null", it would print it for every site, and "Not Null" if otherwise. In every case I have tested this web part, it has always
returned Null for evey site it has checked.
I am fairly new to programming web parts in C#, so a lot of this code is derived from what I have read when researching the subject. If anyone can assist me to see where I could fix my issue, I would greatly appreciate it.
Thank you.
Below is my Code:
using System;
using System.Data;
using System.Collections;
using System.ComponentModel;
using System.Web;
using System.Web.UI;
using System.Web.UI.WebControls;
using System.Web.UI.WebControls.WebParts;
using Microsoft.SharePoint;
using Microsoft.SharePoint.Administration;
using Microsoft.SharePoint.WebControls;
//This code has been derived from the following link: http://blog.rafelo.com/2008/07/22/iterating-through-sharepoint-web-applications-site-collections-and-sites-webs/
namespace WebAnalyticsTest.Test
[ToolboxItemAttribute(false)]
public class Test : WebPart
//For testing purposes. More is explained further in the code.
int test;
ArrayList totalHitsArray = new ArrayList();
int totalHits;
DataGrid grid = null;
public void BeginProcess()
// Get references to the farm and farm WebService objects
// the SPWebService object contains the SPWebApplications
SPFarm thisFarm = SPFarm.Local;
SPWebService service = thisFarm.Services.GetValue<SPWebService>("");
foreach (SPWebApplication webApp in service.WebApplications)
//Execute any logic you need to against the web application
//Iterate through each site collection
foreach (SPSite siteCollection in webApp.Sites)
//do not let SharePoint handle the access denied
//exceptions. If one occurs you will be redirected
//in the middle of the process. Handle the AccessDenied
//exception yourself in a try-catch block
siteCollection.CatchAccessDeniedException = false;
try
//Execute any logic you need to against the site collection
//Call the recursive method to get all of the sites(webs)
GetWebs(siteCollection.AllWebs);
catch (Exception webE)
//You should log the error for reference
//reset the CatchAccessDeniedException property of the site
//collection to true
siteCollection.CatchAccessDeniedException = true;
public void GetWebs(SPWebCollection allWebs)
//iterate through each site(web)
foreach (SPWeb web in allWebs)
if(web.Exists)
//For every site the program finds, the count will increase by one. If this code is executed by a user who does not have
//full control, then the count will be inaccurate as it will only return the number of sites the user can access.
test += 1;
DataTable table = web.GetUsageData(Microsoft.SharePoint.Administration.SPUsageReportType.browser, Microsoft.SharePoint.Administration.SPUsagePeriodType.lastMonth);
if (table == null)
HttpContext.Current.Response.Write("Null");
else
HttpContext.Current.Response.Write("Not Null");
protected override void CreateChildControls()
BeginProcess();Hi, Shiladitya.
Sorry I haven't replied until now. I'll paste the current code I am using, but my solution is not yet complete. What it does as of right now is it creates a data table with all of the webs located in your farm, as well as the total amount of page views for
each web. What I noticed though is that when I compare these stats with the web analytics for the specific web, they don't match. I put the project on hold for this reason, and I might start it back up again soon. Feel free to use the code, and perhaps you
maybe can shed some light on my issue.
using System;
using System.Data;
using System.Collections;
using System.ComponentModel;
using System.Web;
using System.Web.UI;
using System.Web.UI.WebControls;
using System.Web.UI.WebControls.WebParts;
using Microsoft.SharePoint;
using Microsoft.SharePoint.Administration;
using Microsoft.SharePoint.WebControls;
//This code has been derived from the following link: http://blog.rafelo.com/2008/07/22/iterating-through-sharepoint-web-applications-site-collections-and-sites-webs/
namespace WebAnalyticsTest.Test
[ToolboxItemAttribute(false)]
public class Test : WebPart
//For the total amount of hits for a single web
int totalHits;
//The final data table that will be added to.
DataTable final = new DataTable();
//Size of the data table
int finalSize = 0;
//The grid that will be displayed
DataGrid grid = new DataGrid();
public void BeginProcess()
//To allow users with lower permissions to view the proper content, the code must be used with RunWithElevatedPrivileges.
SPSecurity.RunWithElevatedPrivileges(delegate()
// Get references to the farm and farm WebService objects
// the SPWebService object contains the SPWebApplications
SPFarm thisFarm = SPFarm.Local;
SPWebService service = thisFarm.Services.GetValue<SPWebService>("");
foreach (SPWebApplication webApp in service.WebApplications)
//Execute any logic you need to against the web application
//Iterate through each site collection
foreach (SPSite siteCollection in webApp.Sites)
//do not let SharePoint handle the access denied
//exceptions. If one occurs you will be redirected
//in the middle of the process. Handle the AccessDenied
//exception yourself in a try-catch block
siteCollection.CatchAccessDeniedException = false;
try
//Execute any logic you need to against the site collection
//Call the recursive method to get all of the sites(webs)
GetWebs(siteCollection.AllWebs);
catch (Exception webE)
//Place any error logic here
//reset the CatchAccessDeniedException property of the site
//collection to true
siteCollection.CatchAccessDeniedException = true;
public void GetWebs(SPWebCollection allWebs)
//iterate through each site(web)
foreach (SPWeb web in allWebs)
if (web.Exists)
DataTable table = web.GetUsageData(SPUsageReportType.url, SPUsagePeriodType.lastMonth);
if (table != null)
//Determines the total amount of hits for a single web
foreach (DataRow row in table.Rows)
int num = System.Convert.ToInt32(row["Total Hits"]);
totalHits = totalHits + num;
//Temporarily stores the total hits with the associated web.
DataTable temp = new DataTable();
temp.Columns.Add("Site", typeof(string));
temp.Columns.Add("Total Views", typeof(int));
temp.Rows.Add(web.Title, totalHits);
//Merges the data table "temp" to the data table "final"
final.Merge(temp);
//Data table size increases by one.
finalSize += 1;
//Resets the total hit counter
totalHits = 0;
protected override void CreateChildControls()
BeginProcess();
//Sorts the data table bases on the total hits
final.DefaultView.Sort = "Total Views DESC";
//The total amount of pages to show is 10. Therefore, only execute this If statement if the final's size > 10.
if (finalSize > 10)
//Data table of the top ten most viewed pages. This data table will be used in the data grid "grid"
DataTable topTen = final.Clone();
for (int i = 0; i < 10; i++)
topTen.ImportRow(final.Rows[i]);
grid.DataSource = topTen;
else
grid.DataSource = final;
grid.DataBind();
this.Controls.Add(grid);
ListBox list = new ListBox(); -
CI - Powershell Boolean Rule Always Returns True
I'm trying to create a configuration baseline / item for a particular piece of software using a powershell script of data type Boolean. However, I'm having the issue that the evaluation is always returning compliant whether the workstation is or not. The
script is as follows:
$ErrorActionPreference = "SilentlyContinue"
$Condition1 = (Test-Path -LiteralPath 'HKLM:\SOFTWARE\Adobe\Premiere Pro')
$Condition2 = (Test-Path -LiteralPath 'C:\Program Files\Adobe\Adobe Premiere Pro CS6\Presets\Textures\720_govt1_bar.png')
if ($Condition1) {
if ($Condition2) {echo $true}
else {echo $false}
else {echo $true}
This script works perfectly fine when run locally and always returns $true or $false as expected. However it only ever returns Compliant when used in a CI. It doesn't matter what the state of the 2 conditions are, it always evaluates Compliant.
Any ideas?I'm beginning to wonder if there is variation between how well this feature works on Windows 7 and Windows 8.1. I'm beginning to notice that it usually works well on 7 but I have constant hell with it on 8. The last thing I tried which seemed to work (assuming
it was not just randomness) was accepting the default "Platform" settings of the CI/CB. Before I had chosen Windows 7 and 8.1 only and was never able to return any value except Compliant on 8. Accepting the all platforms default Finally
allowed me to show a state of Non-Compliant on 8. This was using a powershell script of string data type as discussed previously.
My latest torment is discovering how to force a true re-evaluation of an updated CI/CB. In my non-compliant Win8 example, I have added a remediation script to an existing Monitor-Only CI and configured it to remediate. In my Win 7 members of the collection,
everything works successfully, the condition is remediated and the state reports Compliant but on the Win8, although the local Control Panel applet shows both the CB and CI to have new revisions and the evaluation shows it has run with a new date/time,
the remediation script never runs and changes to Compliant.
Any suggestions how I can force an updated CI/CB to really re-evaluate, not just report it has? -
CHOOSE Menu Malfunction, HP 48G Always returns "0" regardless of selection
I have a choose menu with various functions that prove useful when dealing with circles. I programmed it on my HP 50g and transferred it directly to my HP 48g via ASCII Kermit. The choose menu does not appear to highlight a specific choice as it does on the HP 50g, there is no indication as to which choice is selected, and jumping to menu options via entereing their number also does not function. On the debugger, no matter if OK or Enter is selected on any option "0" is always returned, as if I had cancled out of the menu. Any help would be appreciated. Perhaps CHOOSE menus are slightly different on the HP 48G?
Hi!, Ranothil: Can you write, the program with, global variables << >>, what your create, in your HP50G, for comparision, if are compatible 100% with HP48G ?. I'm have HP48G+/HP49G/HP50G. I'think, what, isn't compatible. Check entries equivalences ...HP48G/HP48G+https://staff.fnwi.uva.nl/c.dominik/hpcalc/entries/hp48g/entries.pdf HP49/HP50Ghttp://www.hpcalc.org/details.php?id=3248
-
Request.getParameter() always returns null
I have a html file and am trying to retrieve the values from a formin my servlet.
here is the html code:
<html>
<head>
<title></title>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<h1><b>Add DVD</b></h1>
</head>
<body>
<form action="add_dvd.do" method="POST">
Title:<input type="text" name="title" />
Year:<input type="text" name="year" />
Genre: <select name='gselected'>
<option value='Sci-Fi'>Sci-Fi</option>
</select>
or enter new genre:<input type="text" name='gentered' value="" />
<input type="submit" value="Add DVD" />
</form>
</body>
</html>
and here is the servlet code:
public class AddDVDServlet extends HttpServlet {
protected void doPost(HttpServletRequest request, HttpServletResponse response)
throws ServletException, IOException {
// System.out.println("in AddDVDServlet post method");
List errorMsgs = new LinkedList();
//retrieve form parameters
try{
String title = request.getParameter("title").trim();
String year = request.getParameter("year").trim();
*String gentered = request.getParameter("gentered");
String gselected = request.getParameter("gselected");
String genre="";
if("".equals(gentered))
genre = gselected;
else
genre = gentered;
// System.out.println("parameter retrieved");
if(!year.matches("\\d\\d\\d\\d"))
// System.out.println("year not 4 digit long");
errorMsgs.add("Year must be four digit long");
if("".equals(title))
// System.out.println("title not entered");
errorMsgs.add("Please enter the title of the dvd");
if("".equals(genre))
// System.out.println("genre not valid");zdf
errorMsgs.add("Enter genre.");
if(! errorMsgs.isEmpty())
//System.out.println("errors in entry ");
request.setAttribute("errors",errorMsgs);
// System.out.println("error attribute set in request");
RequestDispatcher rd = request.getRequestDispatcher("error.view");
rd.forward(request, response);
return;
//create DVDItem instance
DVDItem dvd = new DVDItem(title,year,genre);
request.setAttribute("dvdItem",dvd);
RequestDispatcher rd = request.getRequestDispatcher("success.view");
rd.forward(request, response);
catch(Exception e){
errorMsgs.add(e.getMessage());
request.setAttribute("errors",errorMsgs);
RequestDispatcher rd = request.getRequestDispatcher("error.view");
rd.forward(request, response);
e.printStackTrace();
System.out.println("exception:"+e);
why does getParameter always return null??? whats wrong?I don't know. However, I suspect that because you have a tag with the same name as 'title', its causing a name conflict. Chnage the name to something else. If it works, then that's the likely explaination.
-
My iphone 4 is stuck in the setup phase with a white background. It tells me hello in several diffrent languages and tells me to slide to set up. I have already backed it up on itunes several times but it always returns to the hello screen with the white back ground. Can anyone please help me with this? All of this happened after i updated it for the 1st time. Help pLease?
EdwardHello Edward
Follow the prompts on your iPhone and you will get either at your home screen like normal or get to a point of restoring from back up. The article below will give step by step for restoring from back up.
iOS: How to back up and restore your content
http://support.apple.com/kb/HT1766
Thanks for using Apple Support Communities.
Regards,
-Norm G.
Maybe you are looking for
-
Another Remote DVR "STB Not Responding​" Issue
I've had my FIOS install for a couple weeks now and 3-4 days ago tried to activate the Remote DVR feature. In all other respects my system is working fine. I can login to the FIOS TV Central page, see my STB in the listing, it shows that Remote DVR i
-
I am using CS5 on iMac 27" quad. I am trying to import a PDF into Photoshop. But it is not importing correctly. The PDF is a label template, which prints perfectly from the PDF. But when I import it into Photoshop, the dimensions change. So the text
-
At startup, Firefox automatically opens between 9 and 20 individual browswers.
Every time I start up my laptop (Dell Inspiron), Firefox automatically opens at least 9 (often more, the number varies) individual browsers. Each browser has just one tab -- the Firefox Start page with Google search (http://www.google.com/firefox?cli
-
Business Partner : Mass upload
Hi Experts, I have to upload some15 million Business partner through BP transaction . I want to know what will be the most suitable method to attain that. Should I use BAPI, BDC , LSMW ?? I am not clear at all, what should be the most appropriat
-
AJAX Select Lists on Updateable Reports
All, I have followed the examples from Karl and Sergio's blog on how to use AJAX to contol dependent LOV lists in a form. My question is, can this be done in an updateable report? I'm having difficulty in determining how to reference the column names