Can we write function in a trigger??
Can we write function in a trigger??
3360 wrote:
810534 wrote:
Can we write function in a trigger??This can be better phrased as two questions.
Would we want to write a function in a trigger?
Answer - No.
Is there any problem that needs to be solved by writing a function in a trigger?
Answer - No.Even better would be the same two questions with "a function in " removed.
Same answers.
Similar Messages
-
Can we write function in select statement?
i have function and it has Out parameter,so in this case can i write select statement for my function to retrieve the value?
Or, you could use pipelined function - i guess.
Like ->
satyaki>
satyaki>select * from v$version;
BANNER
Oracle Database 10g Enterprise Edition Release 10.2.0.1.0 - Prod
PL/SQL Release 10.2.0.1.0 - Production
CORE 10.2.0.1.0 Production
TNS for Linux: Version 10.2.0.1.0 - Production
NLSRTL Version 10.2.0.1.0 - Production
Elapsed: 00:00:00.00
satyaki>
satyaki>create or replace type a_obj as object
2 (
3 e_nm varchar2(30),
4 e_sal number(7,2)
5 )
6 /
Type created.
Elapsed: 00:00:00.00
satyaki>
satyaki>
satyaki>create or replace type a_rec as table of a_obj;
2 /
Type created.
Elapsed: 00:00:00.00
satyaki>
satyaki>create or replace function multi_return(e_cd in number)
2 return a_rec
3 pipelined
4 is
5 cursor c1
6 is
7 select a_obj(ename, sal) as a_det_rec
8 from emp
9 where empno = e_cd;
10
11 r1 c1%rowtype;
12 begin
13 for r1 in c1
14 loop
15 pipe row(r1.a_det_rec);
16 end loop;
17
18 return ;
19 end;
20 /
Function created.
Elapsed: 00:00:00.01
satyaki>
satyaki>
satyaki>select * from table(cast(multi_return(&e_no) as a_rec));
Enter value for e_no: 7369
old 1: select * from table(cast(multi_return(&e_no) as a_rec))
new 1: select * from table(cast(multi_return(7369) as a_rec))
no rows selected
Elapsed: 00:00:00.02
satyaki>
satyaki>
satyaki>select * from emp;
EMPNO ENAME JOB MGR HIREDATE SAL COMM DEPTNO JOB1 DOB
7521 WARD SALESMAN 7698 22-FEB-81 226.88 500 30 SALESMAN
7654 MARTIN SALESMAN 7698 28-SEP-81 1815 1400 30 SALESMAN
7788 SCOTT ANALYST 7566 19-APR-87 598.95 20 ANALYST
7839 KING PRESIDENT 17-NOV-81 7260 10 PRESIDENT
7844 TURNER SALESMAN 7698 08-SEP-81 2178 0 30 SALESMAN
7876 ADAMS CLERK 7788 23-MAY-87 159.72 20 CLERK
7900 JAMES CLERK 7698 03-DEC-81 1379.4 30 CLERK
7902 FORD ANALYST 7566 03-DEC-81 5270.76 20 ANALYST
7934 MILLER CLERK 7782 23-JAN-82 1887.6 10 CLERK
7566 Smith Manager 7839 23-JAN-82 1848 0 10 Manager 23-JAN-89
7698 Glen Manager 7839 23-JAN-82 1848 0 10 Manager 23-JAN-89
EMPNO ENAME JOB MGR HIREDATE SAL COMM DEPTNO JOB1 DOB
7599 BILLY ANALYST 7566 10-JUN-09 4500 30
12 rows selected.
Elapsed: 00:00:00.01
satyaki>
satyaki>select * from table(cast(multi_return(&e_no) as a_rec));
Enter value for e_no: 7698
old 1: select * from table(cast(multi_return(&e_no) as a_rec))
new 1: select * from table(cast(multi_return(7698) as a_rec))
E_NM E_SAL
Glen 1848
Elapsed: 00:00:00.00
satyaki>
satyaki>/
Enter value for e_no: 7599
old 1: select * from table(cast(multi_return(&e_no) as a_rec))
new 1: select * from table(cast(multi_return(7599) as a_rec))
E_NM E_SAL
BILLY 4500
Elapsed: 00:00:00.00
satyaki>Regards.
Satyaki De. -
Can we write function with variable number of argument
Hi
Can anybody tell that can we pass variable number of arguments to a function in oracle 10gR2.
As in function decode we can pass variable no. of arguments upto 255 arguments, similarly can we creat a function which accept any no. of variables.I'm not sure that this is what you were asking about, but depending on the logic you want to implement, you can declare the maximum possible number of parameters to your function, give them default values, and then pass to your func as many parameters as you want:
SQL> create or replace function test(p_a number:=null, p_b number:=null) return varchar2 is
2 Result varchar2(100);
3 begin
4 result:='a='||p_a||', b='||p_b;
5 return(Result);
6 end test;
7 /
Function created
SQL> select test() from dual;
TEST()
a=, b=
SQL> select test(1) from dual;
TEST(1)
a=1, b=
SQL> select test(1,2) from dual;
TEST(1,2)
a=1, b=2
SQL> drop function test;
Function dropped
SQL> -
Can i write function inside a trigger?
My requirement is that i've to call a function inside a trigger. Since this function is not frequently used so what i am thinking that i should write this function inside trigger. Can i do that?
i know that function can be called inside trigger, but can i create a function inside trigger?
if yes, then how?
give me an overview. I'll appricate any kind of help.Hi,
jadoo wrote:
you mean to say that i can create a function in declaration section of trigger?Just an example,
SQL> select empno,sal, deptno
2 from emp
3 where empno=7369;
EMPNO SAL DEPTNO
7369 800 20
SQL> create table sal_inc_tab
2 (inc_empno number,
3 inc_sal number);
Table created.
SQL> create or replace trigger f_trg After update on emp
2 REFERENCING NEW AS NEW OLD AS OLD
3 FOR EACH ROW
4 Declare
5 v_inc_sal number;
6 function sal_inc (v_sal number)
7 return number as
8 Begin
9 return :new.sal+3000;
10 end sal_inc;
11 BEGIN
12 v_inc_sal:=sal_inc(:new.sal);
13 Insert into sal_inc_tab values(:new.empno,v_inc_sal);
14 end;
15 /
Trigger created.
SQL> select * from sal_inc_tab;
no rows selected
SQL> update emp
2 set deptno=10
3 where empno=7369;
1 row updated.
SQL> select * from sal_inc_tab;
INC_EMPNO INC_SAL
7369 3800You can do same thing without function. Here there was no specific logic as such, it was just to show you how this is executed.
Twinkle -
How can i write the trigger for Global Temporary Table
Hi Grus,
How can i write the trigger for Global Temporary Table.
I was created the GTT with trigger using the below script .
CREATE GLOBAL TEMPORARY TABLE GLOBAL_TEMP
EMP_C_NAME VARCHAR2(20 BYTE)
ON COMMIT PRESERVE ROWS;
CREATE OR REPLACE TRIGGER TRI_GLOBAL_TEMP
BEFORE DELETE OR UPDATE OR INSERT
ON GLOBAL_TEMP
REFERENCING NEW AS NEW OLD AS OLD
FOR EACH ROW
BEGIN
INSERT INTO EMPNAME VALUES (:OLD.EMP_C_NAME);
END;
trigger was create successfully, but the wouldn't insert into to EMPNAME Table..
Please guide whether am correct or not? if not kindly give a correct syntax with example
Thanks in Advance,
Arun M MBEGIN
INSERT INTO EMPNAME VALUES (:OLD.EMP_C_NAME);
END;
you are referencing old value in insert stmt.
BEGIN
INSERT INTO EMPNAME VALUES (:new.EMP_C_NAME);
END;then run ur application it works fine...
CREATE GLOBAL TEMPORARY TABLE GLOBAL_TEMP
EMP_C_NAME VARCHAR2(20 BYTE)
ON COMMIT PRESERVE ROWS;
CREATE OR REPLACE TRIGGER TRI_GLOBAL_TEMP
BEFORE DELETE OR UPDATE OR INSERT
ON GLOBAL_TEMP
REFERENCING NEW AS NEW OLD AS OLD
FOR EACH ROW
BEGIN
dbms_output.put_line(:OLD.EMP_C_NAME||'yahoo');
INSERT INTO EMPNAME VALUES (:new.EMP_C_NAME);
dbms_output.put_line(:OLD.EMP_C_NAME);
END;
create table EMPNAME as select * from GLOBAL_TEMP where 1=2
insert into GLOBAL_TEMP values('fgfdgd');
commit;
select * from GLOBAL_TEMP;
select * from EMPNAME;
output:
1 rows inserted
commit succeeded.
EMP_C_NAME
fgfdgd
1 rows selected
EMP_C_NAME
fgfdgd
1 rows selectedgot it Arun
Edited by: OraclePLSQL on Dec 28, 2010 6:07 PM -
Can we write leave program syntax in RFC function module.
hello friends,
can we write leave program syntax in RFC function module. Iam developing RFC Function module .
useful answers will be awarded..
Regards
Kanth
Edited by: Kanth on Mar 30, 2008 11:38 PMDon't use leave program in RFC function module. You can better use EXIT or RETURN. But when developing RFC modules you should use the return structure BAPIRET2 to store message generated in the calling system. So when you use EXIT or RETURN, first give a message so the calling program knows why the RFC module was exited.
-
How can I write the analogous code to the logic:iterate tag functionality
Hai This is Rayalu .And I am very new to the Java World. I have a doubt?.How can I write the analogous code to the<logic:iterate> tag functionality using the JSP Tag Libraries . Pleae Send me some examples .
Hi,
SELECT objnr objid aufnr
from afih
into table t_afih.
SELECT objnr
from JEST
into table t_JEST
where stat = 'A0045'
OR stat = 'A0046'
AND inact 'X'.
SELECT objnr
from COBRB
into table t_cobrb.
SELECT arbpl werks objid objty
from crhd
INTO table it_crhd
FOR ALL ENTRIES IN it_afih
WHERE objty eq 'D'
AND gewrk = it_afih-objid.
SELECT aufnr objnr auart txjcd pspel gstrp werks aufnr
FROM caufv
INTO table t_caufv
FOR ALL ENTRIES IN it_afih
WHERE aufnr = it_afih-aufnr
And pspel = ' '
AND txjcd = ' '
ANd objnr ne it_crhd-objnr
AND auart in s_wtype
AND werks in s_plant.
AND objnr ne it_jest-objnr.
dont use NE in the select statements, it may effect performance also. Instead use if statements inside
loops.
loop at t_caufv.
read table it_chrd............
if t_caufv-objnr ne it_chrd-objnr.
read table it_jest..........
if if t_caufv-objnr ne it_jest-objnr.
(proceed further).
endif.
endif.
endloop.
hope this helps.
Reward if useful.
Regards,
Anu -
Java function call from Trigger in Oracle
Moderator edit:
This post was branched from an eleven-year-old long dead thread
Java function call from Trigger in Oracle
@ user 861498,
For the future, if a forum discussion is more than (let's say) a month old, NEVER resurrect it to append your new issue. Always start a new thread. Feel free to include a link to that old discussion if you think it might be relevant.
Also, ALWAYS use code tags as is described in the forum FAQ that is linked at the upper corner of e\very page. Your formulae will be so very much more readable.
{end of edit, what follows is their posting}
I am attempting to do a similar function, however everything is loaded, written, compiled and resolved correct, however, nothing is happening. No errors or anything. Would I have a permission issue or something?
My code is the following, (the last four lines of java code is meant to do activate a particular badge which will later be dynamic)
Trigger:
CREATE OR REPLACE PROCEDURE java_contact_t4 (member_id_in NUMBER)
IS LANGUAGE JAVA
NAME 'ThrowAnError.contactTrigger(java.lang.Integer)';
Java:
CREATE OR REPLACE AND COMPILE JAVA SOURCE NAMED "ThrowAnError" AS
// Required class libraries.
import java.sql.*;
import oracle.jdbc.driver.*;
import com.ekahau.common.sdk.*;
import com.ekahau.engine.sdk.*;
// Define class.
public class ThrowAnError {
// Connect and verify new insert would be a duplicate.
public static void contactTrigger(Integer memberID) throws Exception {
String badgeId;
// Create a Java 5 and Oracle 11g connection.
Connection conn = DriverManager.getConnection("jdbc:default:connection:");
// Create a prepared statement that accepts binding a number.
PreparedStatement ps = conn.prepareStatement("SELECT \"Note\" " +
"FROM Users " +
"WHERE \"User\" = ? ");
// Bind the local variable to the statement placeholder.
ps.setInt(1, memberID);
// Execute query and check if there is a second value.
ResultSet rs = ps.executeQuery();
while (rs.next()) {
badgeId = rs.getString("Note");
// Clean up resources.
rs.close();
ps.close();
conn.close();
// davids badge is 105463705637
EConnection mEngineConnection = new econnection("10.25.10.5",8550);
mEngineConnection.setUserCredentials("choff", "badge00");
mEngineConnection.call("/epe/cfg/tagcommandadd?tagid=105463705637&cmd=mmt%203");
mEngineConnection.call("/epe/msg/tagsendmsg?tagid=105463705637&messagetype=instant&message=Hello%20World%20from%20Axium-Oracle");
Edited by: rukbat on May 31, 2011 1:12 PMTo followup on the posting:
Okay, being a oracle noob, I didn't know I needed to tell anything to get the java error messages out to the console
Having figured that out on my own, I minified my code to just run the one line of code:
// Required class libraries.
import java.sql.*;
import oracle.jdbc.driver.*;
import com.ekahau.common.sdk.*;
import com.ekahau.engine.sdk.*;
// Define class.
public class ThrowAnError {
public static void testEkahau(Integer memberID) throws Exception {
try {
EConnection mEngineConnection = new EConnection("10.25.10.5",8550);
} catch (Throwable e) {
System.out.println("got an error");
e.printStackTrace();
}So, after the following:
SQL> {as sysdba on another command prompt} exec dbms_java.grant_permission('AXIUM',"SYS:java.util.PropertyPermission','javax.security.auth.usersubjectCredsOnly','write');
and the following as the user
SQL> set serveroutput on
SQL> exec dbms_java.set_output(10000);
I run the procedure and receive the following message.
SQL> call java_contact_t4(801);
got an error
java.lang.NoClassDefFoundError
at ThrowAnError.testEkahau(ThrowAnError:13)
Call completed.
NoClassDefFoundError tells me that it can't find the jar file to run my call to EConnection.
Now, I've notice when I loaded the sdk jar file, it skipped some classes it contained:
c:\Users\me\Documents>loadjava -r -f -v -r "axium/-----@axaxiumtrain" ekahau-engine-sdk.jar
arguments: '-u' 'axium/***@axaxiumtrain' '-r' '-f' '-v' 'ekahau-engine-sdk.jar'
creating : resource META-INF/MANIFEST.MF
loading : resource META-INF/MANIFEST.MF
creating : class com/ekahau/common/sdk/EConnection
loading : class com/ekahau/common/sdk/EConnection
creating : class com/ekahau/common/sdk/EErrorCodes
loading : class com/ekahau/common/sdk/EErrorCodes
skipping : resource META-INF/MANIFEST.MF
resolving: class com/ekahau/common/sdk/EConnection
skipping : class com/ekahau/common/sdk/EErrorCodes
skipping : class com/ekahau/common/sdk/EException
skipping : class com/ekahau/common/sdk/EMsg$EMSGIterator
skipping : class com/ekahau/common/sdk/EMsg
skipping : class com/ekahau/common/sdk/EMsgEncoder
skipping : class com/ekahau/common/sdk/EMsgKeyValueParser
skipping : class com/ekahau/common/sdk/EMsgProperty
resolving: class com/ekahau/engine/sdk/impl/LocationImpl
skipping : class com/ekahau/engine/sdk/status/IStatusListener
skipping : class com/ekahau/engine/sdk/status/StatusChangeEntry
Classes Loaded: 114
Resources Loaded: 1
Sources Loaded: 0
Published Interfaces: 0
Classes generated: 0
Classes skipped: 0
Synonyms Created: 0
Errors: 0
.... with no explanation.
Can anyone tell me why it would skip resolving a class? Especially after I use the -r flag to have loadjava resolve it upon loading.
How do i get it to resolve the entire jar file?
Edited by: themadprogrammer on Aug 5, 2011 7:15 AM
Edited by: themadprogrammer on Aug 5, 2011 7:21 AM
Edited by: themadprogrammer on Aug 5, 2011 7:22 AM
Edited by: themadprogrammer on Aug 5, 2011 7:23 AM
Edited by: themadprogrammer on Aug 5, 2011 7:26 AM -
Can you write an excel file on client machine instead of on the server
I am trying to user cfSpreadSheet functon. The first question I have is, can you write the file on a client machine? I tried but they all end up on the server drive. Scecond question, is there a way to do row and column range formating in CF9.0? SpreadsheetFormatCellRange function is only available for ColdFusion server version 9.01.
Thanks.To expand on Dan's answer: CF doesn't have any interaction with the client browser at all: client->server comms are handled by the client and the web server; the web server simply asks CF to provide the response data if the file requested is a CF file. But even then all CF does is process the requested file and return data to the web server.
Also, one of the restrictions of the HTTP protocol is that that there is *no* *way* that the server can write to the client machine. All it can do is send data to the client agent (eg: a web browser) in response to the client agent requesting it. Can you imagine the sort of security problems one would open one's self up to if a remote web server could write to your PC????
Adam -
Can I pass function name as a parameter to constructor?
Hi!
I want to create a class that extends JButton and executes some function, when released. The function for each button is different. I mean, can I write, for example:
public class MyButton extends JButton
public MyButton(...functionName...)
addMouseListener(new MouseAdapter()
public void mouseReleased(MouseEvent e)
...execute functionName...;
MyButton testButton = new MyButton(printTest);
void printTest()
System.out.println("The button executes OK");
(This code will not work, of cause).
If you understood me, please answer if there is any way to pass function as a parameter ?
Thank you in advance.Using reflection would work, but there is a more straightforward way. Here's what I do when I want to pass a method to be called by another object: First I declare an interface named Callback:public interface Callback
public void run();
}Then your class would look like this:public class MyButton extends JButton {
private Callback doit;
public MyButton(Callback whatToDo) {
doit = whatToDo;
addMouseListener(new MouseAdapter() {
public void mouseReleased(MouseEvent e) {
whatToDo.run();
}and the code that creates a MyButton might look like this:Callback callMe = new Callback() {
public void run() {
System.exit(0);
MyButton closeButton = new MyButton(callMe);
closeButton.setText("Close");If you like, you can adapt this pattern to use variations of Callback that have parameters or return values. -
How can I write into a table cell (row, column are given) in a databae?
How can I write into a table cell (row, column are given) in a database using LabVIEW Database Toolkit? I am using Ms Access. Suppose I have three columns in a table, I write 1st row of 1st column, then 1st row of 3rd column. The problem I am having is after writing the 1st row 1st column, the reference goes to second row and if I write into 3rd column, it goes to 2nd row 3rd column. Any suggestion?
Solved!
Go to Solution.When you do a SQL INSERT command, you create a new row. If you want to change an existing row, you have to use the UPDATE command (i.e. UPDATE tablename SET column = value WHERE some_column=some_value). The some_column could be the unique ID of each row, a date/time, etc.
I have no idea what function to use in the toolkit to execute a SQL command since I don't use the toolkit. I also don't understand why you just don't do a single INSERT. It would be much faster. -
Hello!
I want to write 1 digital port from PXI-6536 with streaming to TDMS file.
I'm writing by 'DAQmx Configure Logging.vi' and become TDMS file with 8 boolean channels.
How can I write to 1integer channel?
Attachments:
1.JPG 27 KBHey Atrina,
The actual data stored on disk is just the raw data (that is, a byte per sample in your case). It's really just a matter of how that data is being represented in LabVIEW whenever you read back the TDMS file.
I'm not sure if there is a better way to do this, but here is a way to accomplish what you're wanting:
Read back the TDMS file as a digital waveform. Then there's a conversion function in LabVIEW called DWDT Digital to Binary. This function will convert that set of digital channels into the "port format" that you're wanting. I've attached an example of what I mean.
Note: When looking at this VI, there are a few things that the downgrade process did to the VI that I would not recommend for these TDMS files. It added a 1.0 constant on the TDMS Open function, and it set "disable buffering" on the TDMS Open function to false; you can get rid of both of those constants.
Message Edited by AndrewMc on 01-27-2010 11:21 AM
Thanks,
Andy McRorie
NI R&D
Attachments:
digitalconvert.vi 13 KB -
What code can i write for this?
unction Name : ZXXx_Update_Contact
Hi,
I need what parameters and tables can use for this requirement.
What code can i write?
Function Name : ZXXx_Update_Contact
Use BAPI_BUPA_CENTRAL_CHANGE as a starting point for updating the business partner
Business Partner = contact number
Complete the following for any changed fields
CentralDataPerson_X - This is a set of switches telling the function what to update
CentralDataPerson - Firstname & Lastname
Use BAPI_BUPA_ADDRESS_CHANGE for address changes
Business Partner = contact number
Address data - city
Address data_X - X in city field
BAPIADTEL first entry - Telephone(Business land line number),Con-001
BAPIADTEL second entry - Telephone(Mobile number),Con-002
BAPIADTEL_X first entry - X in Telephone and Con fields
BAPIADTEL_X second entry - X in Telephone and Con fields
BAPIADSMTP - e-mail
BAPIADSMT_X - X in e-mail field
Early reply is highely appriciable.
Regards,
chow.Hi Nishu,
There is no way you can validate the fields and their lengths before you ipload them into internal tables.
First you should upload them and then loop the intrenal table to delete such records.
loop at itab.
if strlen(itab-comp_code) < 4.
delete itab index sy-tabix.
endif.
endloop.
Regards,
Ravi -
How can i write and read the same data
hi,
i have attached my program to this mail. i have some problems in this program.
problems:
1. I want to select the threshold for the rms,varience and s.d.
But what i used is not doing that. i want to fix the upper threshold value and lower threshold value.
when ever the input crosses upper threshold value i want the output and it will remains uptill the value above the lower threshold value.
Once it come down the lower threshold value the output should be stopped.
2. I want to write this in to a file and i want to read this file. is this possible or not.
please try to help me i am very new with lab view6i
REGARDS
CHAMARTHY KOMAL DILEEP.
[email protected]
Attachments:
dileep.vi 93 KBThe easiest way to perform a certain action (such as file I/O) based on a certain condition (such as whether a value has passed a certain threshold) is to use a comparison VI in combination with a case structure. Then you can specify that if your rms, standard deviation and variance are above a threshold then perform a certain action.
Also consider using shift registers to keep track of data from the last loop. If I understand you correctly, you want to start logging data when an upper threshold has been passed. Then you want to continue logging data until a lower threshold is passed. I have attached a non-functional but explanatory VI that will help explain how to implement logic to that effect. It also demonstrates that you can indeed write and read from the same file in a loop. The best way to do this is to open the file before the loop, do all the necessary writing and reading in the loop, and then close the file after the loop.
Hope this helps!
Jarrod S.
National Instruments
Attachments:
dileep_example.vi 61 KB -
Using javascript to call a signed applet's read/write functions problem.
Hi, I wan't to use javascript to call the read/write functions of my signed java applet.
The applet can read/write fine, if its called from inside the applet, but when I make public functions to do the read/write and then call those functions from javascript, i get the old security exception.
Has anyone done this before?
ThanksFrom what I understand is that for example file IO can only be done if the current method
has this privilege and the stack that called the current method had this privilege.
Javascript doesn't have any privilege and calling methods that do file IO directly from
javascript should not work, this bug was fixed in 1.4.2.
The workarround AccessController.doPrivileged(new PrivilegedAction() { might allso be
fixed in later versions since changing the privileges of currently executing code is
someting that should not be possible when the currently executing code is called from
"untrusted" (javascript) code.
http://forum.java.sun.com/thread.jsp?forum=63&thread=524815
second post
Maybe you are looking for
-
Batch Management Configuration
Hi, While configuring the Batch Management through Transaction u2013 OMCT. First at Batch Level, selected the radio button as Material Level and Saved but Request is not created. Second at Batch Status Management, selected radio button as Batch Sta
-
Can iMac (late 2006) handle 64-bit Windows 7 on a partition?
Currently it has 1 GB RAM, but I intend to upgrade to 3 GB the max for this machine. Other specs: 2 GHz Intel Core 2 Duo Processor 160 GB hard drive I would also upgrade the hard drive to a larger one if necessary.
-
Cisco ACS 4.2 one user in multiple local groups
Currently i have group mapping like this ACS Groups Window Groups Grp-A-B Grp-1 and Grp-2 Grp-A Grp-1 Grp-B Grp-2 For example currently one user test1 is part of both gro
-
Send a mail use FM 'so_object_send' with a Script form layout
Hi, I try to send a mail use FM 'so_object_send', is it possible to use a sap script form for the layout? Please give more details....
-
Can't connect video chat Leopard 10.5.1 and I chat 4.0
Everytime I try to connect to a buddy of mine, I get an error that where was a communication error. We have tried initiating it on my end and her end 3-5 times. I am on Port 443 however, not 5190 because if I try to log in with 5190 I get signed on r