Issue with procedure

Hello,
I get the first DBMS output statement but nothing else. What is the deal?
create or replace
PACKAGE BODY XXGHX_SUCESS_FACTORS
AS
* TYPE : PACKAGE BODY
* NAME : XXGHX_SUCESS_FACTORS
* PURPOSE : To load Performance Review, Element Entry and Salary componet data. The procedure will atuomate a manual process for HR.
* Author Date Ver Description
* Kendell Ellington 05/23/2011 1.0 Created
/************************* Globals *********************************/
g_user_id NUMBER(15) := fnd_global.user_id;
PROCEDURE LOAD_SF_DATA(
retcode OUT NUMBER,
errbuf OUT VARCHAR2,
p_business_group_id IN number)
AS
-- DEFINE VAB
x_performance_review_id NUMBER;
x_object_version_number_PR NUMBER;
x_next_review_date_warning BOOLEAN;
v_status_flag VARCHAR2(1);
v_error_message VARCHAR2(2000);
x_critical_error EXCEPTION;
--- Element Entry Variables
x_eff_start_date_out DATE;
x_eff_end_date_out DATE;
x_element_entry_id_out NUMBER;
x_ele_object_version_number NUMBER;
x_create_warn_out BOOLEAN;
x_eff_start_date_out_award DATE;
x_eff_end_date_out_award DATE;
x_element_entry_id_out_award NUMBER;
x_ele_object_version_number_aw NUMBER;
x_create_warn_out_award BOOLEAN;
x_element_link_id_mgr NUMBER;
x_element_link_id_awd NUMBER;
x_error_text VARCHAR2(100);
x_input_value_mgr NUMBER;
x_input_value_award NUMBER;
-- DEFINE CURSOR
-- Salary component varibles
x_element_entry_id NUMBER;
x_pay_propsal_id NUMBER;
x_inv_next_sal_date_warning BOOLEAN;
x_proposed_salary_warning BOOLEAN;
x_approved_warning BOOLEAN;
x_payroll_warning BOOLEAN;
x_proposal_reason VARCHAR2(100);
x_object_version_number NUMBER;
v_component_id NUMBER;
v_object_version_number1 NUMBER;
x_proposed_salary NUMBER;
x_input_value_award_date NUMBER;
x_input_value_paid_date NUMBER;
CURSOR C_SF_MAIN
IS
SELECT paaf.assignment_id,
paaf.business_group_id,
papf.person_id,
xsf.employee_number,
xsf.ROWID,
xsf.FULL_NAME,
xsf.REVIEW_DATE,
xsf.REVIEW_RATING,
xsf.EFFECTIVE_DATE,
xsf.MANAGER_REC_PERCENT,
xsf.EFFECTIVE_DATE_MERIT,
xsf.MERIT_PERCENT,
xsf.EFFECTIVE_DATE_MKT,
xsf.MARKET_ADJUSTMENT_PERCENT,
xsf.EFFECTIVE_DATE_PROMO,
xsf.PROMOTION_PERCENT,
xsf.EP_EFFECTIVE_DATE,
xsf.EP_AWARD_DATE,
xsf.EP_DATE_PAID,
xsf.EXCEP_PERF_BONUS
FROM XXGHX_SUCCESS_FACTORS xsf,
PER_ALL_PEOPLE_F papf,
per_all_assignments_f paaf
WHERE xsf.full_name = papf.full_name
AND papf.person_id = paaf.person_id
AND sysdate BETWEEN papf.effective_start_date AND papf.effective_end_date
AND sysdate BETWEEN papf.effective_start_date AND paaf.effective_end_date;
---DEFINE CURSOR FOR ERROR REPORTING
CURSOR c_iface_after
IS
SELECT * FROM XXGHX_SUCCESS_FACTORS XXSF WHERE PROCESS_FLAG = 'E';
-- Counter Initalization
v_rec_cnt NUMBER := 0;
v_err_cnt NUMBER := 0;
v_suc_cnt NUMBER := 0;
r_gla c_iface_after %rowtype;
BEGIN
DBMS_OUTPUT.PUT_LINE('hr_perf_review_api.create_perf_review');
--Start of Loop
FOR c_staging IN c_sf_main
LOOP
BEGIN
DBMS_OUTPUT.PUT_LINE('hr_perf_review_api.create_perf_review');
-- Parameter Init
x_performance_review_id := NULL;
x_object_version_number_PR := NULL;
x_next_review_date_warning := NULL;
v_error_message := NULL;
x_eff_start_date_out := NULL;
x_eff_end_date_out := NULL;
x_element_entry_id_out := NULL;
x_ele_object_version_number := NULL;
x_create_warn_out := NULL;
x_element_link_id_mgr := NULL;
x_element_link_id_awd := NULL;
x_eff_start_date_out_award := NULL;
x_eff_end_date_out_award := NULL;
x_element_entry_id_out_award := NULL;
x_ele_object_version_number_aw:= NULL;
x_create_warn_out_award := NULL;
x_element_entry_id := NULL;
x_pay_propsal_id := NULL;
x_inv_next_sal_date_warning := NULL;
x_proposed_salary_warning := NULL;
x_approved_warning := NULL;
x_payroll_warning :=NULL;
x_proposal_reason :=NULL;
x_object_version_number :=NULL;
v_component_id :=NULL;
v_object_version_number1 :=NULL;
x_proposed_salary :=NULL;
x_error_text :=NULL;
x_input_value_mgr :=NULL;
x_input_value_award :=NULL;
x_input_value_award_date :=NULL;
x_input_value_paid_date :=NULL;
v_rec_cnt := v_rec_cnt + 1;
SAVEPOINT s1;
DBMS_OUTPUT.PUT_LINE('hr_perf_review_api.create_perf_review');
BEGIN
DBMS_OUTPUT.PUT_LINE('hr_perf_review_api.create_perf_review');
hr_perf_review_api.create_perf_review ( p_validate => TRUE,
p_performance_review_id => x_performance_review_id,
p_person_id => c_staging.PERSON_ID,
p_event_id => NULL,
p_review_date =>c_staging.REVIEW_DATE,
p_performance_rating => c_staging.REVIEW_RATING,
p_next_perf_review_date => NULL,
p_attribute_category => NULL,
p_attribute1 => NULL,
p_attribute2 => NULL,
p_attribute3 => NULL,
p_attribute4 => NULL,
p_attribute5 => NULL,
p_attribute6 => NULL,
p_attribute7 => NULL,
p_attribute8 => NULL,
p_attribute9 => NULL,
p_attribute10 => NULL,
p_attribute11 => NULL,
p_attribute12 => NULL,
p_attribute13 => NULL,
p_attribute14 => NULL,
p_attribute15 => NULL,
p_attribute16 => NULL,
p_attribute17 => NULL,
p_attribute18 => NULL,
p_attribute19 => NULL,
p_attribute20 => NULL,
p_attribute21 => NULL,
p_attribute22 => NULL,
p_attribute23 => NULL,
p_attribute24 => NULL,
p_attribute25 => NULL,
p_attribute26 => NULL,
p_attribute27 => NULL,
p_attribute28 => NULL,
p_attribute29 => NULL,
p_attribute30 => NULL,
p_object_version_number => x_object_version_number_PR,
p_next_review_date_warning => x_next_review_date_warning);
DBMS_OUTPUT.PUT_LINE('record created for : ' ||c_staging.person_id|| 'ID '|| x_performance_review_id);
EXCEPTION
WHEN OTHERS THEN
--ROLLBACK TO s1;
v_error_message := ' Error in hr_perf_review_api.insert_perf_review ' || SUBSTR(sqlerrm, 1, 2000);
DBMS_OUTPUT.PUT_LINE('Error occurred : ' || v_error_message);
RAISE x_critical_error;
END;
-- If an error has occurred then put 'E' in status flag and insert error message into table.
----------End of Profromance review processing
if v_error_message is NULL THEN
UPDATE XXGHX_SUCCESS_FACTORS
SET process_flag = 'S',
LAST_UPDATED_BY = fnd_global.user_id,
LAST_UPDATE_DATE = sysdate,
ERROR_MESSAGE = SUBSTR(v_error_message, 1, 2000)
WHERE rowid = c_staging.rowid;
v_suc_cnt := v_suc_cnt + 1;
COMMIT;
end if;
-- If an error has occurred then put 'E' in status flag and insert error message into table.
EXCEPTION
WHEN x_critical_error THEN
ROLLBACK TO s1;
UPDATE XXGHX_SUCCESS_FACTORS
SET process_flag = 'E',
LAST_UPDATED_BY = fnd_global.user_id,
LAST_UPDATE_DATE = sysdate,
ERROR_MESSAGE = SUBSTR(v_error_message, 1, 2000)
WHERE rowid = c_staging.rowid;
v_err_cnt := v_err_cnt + 1;
COMMIT;
END;
END LOOP;
-- Display summary report for
fnd_file.PUT_LINE(fnd_file.OUTPUT, ' Success Factors Load Program Summary');
fnd_file.PUT_LINE(fnd_file.OUTPUT, '');
fnd_file.PUT_LINE(fnd_file.OUTPUT, '*************************************************************************************** ');
fnd_file.PUT_LINE(fnd_file.OUTPUT, 'The Number of total records process is : ' || v_rec_cnt);
fnd_file.PUT_LINE(fnd_file.OUTPUT, 'The Number of error records is : ' || v_err_cnt);
fnd_file.PUT_LINE(fnd_file.OUTPUT, 'The Number of successful records is : ' || v_suc_cnt);
fnd_file.PUT_LINE(fnd_file.OUTPUT, '***************************************************************************************** ');
fnd_file.PUT_LINE(fnd_file.OUTPUT, '');
fnd_file.PUT_LINE(fnd_file.OUTPUT, '');
fnd_file.PUT_LINE(fnd_file.OUTPUT, '');
fnd_file.PUT_LINE(fnd_file.OUTPUT, '***************************************************************************************** ');
fnd_file.PUT_LINE(fnd_file.OUTPUT, ' Below is a list of records that erorred and why :');
fnd_file.PUT_LINE(fnd_file.OUTPUT, '***************************************************************************************** ');
fnd_file.PUT_LINE(fnd_file.OUTPUT, 'Employee Number Error message ');
FOR r_gla IN c_iface_after
LOOP
BEGIN
fnd_file.PUT_LINE(fnd_file.OUTPUT, r_gla.employee_number||' '||r_gla.error_message); -- Waiting for employee ID or some kind of ID for the file.
END;
END LOOP;
fnd_file.PUT_LINE(fnd_file.OUTPUT, '***************************************************************************************** ');
IF v_err_cnt > 0 THEN
ROLLBACK;
errbuf := 'Errors have occured!';
retcode := -2;
ELSE
errbuf := ' ';
retcode := 0;
END IF;
END LOAD_SF_DATA;
END XXGHX_SUCESS_FACTORS;

If your cursor c_sf_main is not finding any data, you will not enter loop, and the other print statements will not be reached. Check your SQL statement.
Your query appears to be an eBS query - be sure that your context is set appropriately, sometimes data is not returned (even if it exists) if you're environment is not right.

Similar Messages

  • Issues with procedures on ODI 11g

    Hello Gurus,
    We have an ODI environment, where we have migrated from ODI 10g to ODI 11g (11.1.1.6) using Upgrade Assistant.
    Issue is that, the Procedures in our migrated packages show executed in Operator (by Green tickmark), but they are actually NOT executing the code. Means we are not able to see Code for the procedure steps, when that step is opened from operator. It does not even show Rows updated or other statistics. It shows 0 for all.
    We do not see any error in ODI studio for those steps. Thats why unable to figure out whats happening.
    Note: There is no issue with the SQL code. Its been tested on SQL Server.
    What could be cause behind this ?
    Please help.
    Thanks,
    Santy

    The issue here is that there is Always Execute option which belongs to each procedure. It must be enabled/checked(need to check manually going through each procedure) in order to have the procedure run after migration to 11g. This was not mandatory in 10g & unfortunately, Upgrade Assistant does not take care on this.
    Regards,
    Santy

  • PL-SQL procedure to fix Recycle Algorithm issues with Advanced Outbound

    Dear all,
    A customer is using Oracle Advanced Outbound 11.5.9. and we have an issue with recycle Algorithm.
    The issue is that for some cases we get outcome 32, 37 which is cache expired in table iec_g_return_entries and not the original outcome that agent has entered.
    Fortunately the original outcome exists in table jtf_ih_interactions so we have created a workaround in PL-SQL to update table iec_g_return_entries from jtf_ih_interactions using some common outcomes.
    Now after a long time the issue still exists and the customer want this workaround to be optimized, so that it takes all the values from recycle algorithm tables and not just the common outcomes and conditions.
    As I can see, there are so many condition in the algorithms and it is quite hard to catch all the conditions and create an PL-SQL procedure to update the iec_g_return_tables.
    Has anyone done something similar?
    Thanks a lot,
    Christos

    Dear all,
    A customer is using Oracle Advanced Outbound 11.5.9. and we have an issue with recycle Algorithm.
    The issue is that for some cases we get outcome 32, 37 which is cache expired in table iec_g_return_entries and not the original outcome that agent has entered.
    Fortunately the original outcome exists in table jtf_ih_interactions so we have created a workaround in PL-SQL to update table iec_g_return_entries from jtf_ih_interactions using some common outcomes.
    Now after a long time the issue still exists and the customer want this workaround to be optimized, so that it takes all the values from recycle algorithm tables and not just the common outcomes and conditions.
    As I can see, there are so many condition in the algorithms and it is quite hard to catch all the conditions and create an PL-SQL procedure to update the iec_g_return_tables.
    Has anyone done something similar?
    Thanks a lot,
    Christos

  • DateTime parameter issue with Stored Procedure CR XI

    Hello everyone.
    This error was touched on here previously but no answer provided.
    I am using Crystal Reports XI with SAP's BUSINESS ONE product. I have a report using a SQL Stored Procedure (SQL 2005). It has datetime parameters.
    The Stored Procedure (SP) works fine when executed from within the Management studio. I then created my report, connecting to the SP with an ODBC driver and all was great.
    But the add on being used for the report to be included in B1 requires OLE connectivity. No problem, all my reports (none of the others have SP's though), work fine with OLE.
    So I tried redirecting the report to use the OLE driver. But I get an error.
    I tried creating a new report with the SP using the OLE driver. Same message.
    I get the following:
    Query Engine Error: 'ADO Error Code: 0x80040e14
    Source: Microsoft SQL Native Client
    Description: Incorrect syntax near the keyword 'CONVERT'.
    SQL State: 42000
    Native Error: 156'
    My code does not include the word CONVERT anywhere.
    From what I can find on the web, this is supposedly an issue with the datetime parameter.  But despite a few people posting messages about this, I have yet to find the answer. None of the topics have had a reply that provides the fix.
    It seems to be something specific to OLE, since it works fine in ODBC. I am using SQL NATIVE CLIENT.
    Thanks in advance for any help.
    Mark

    Hi Alex. Thanks.
    One of my colleagues actually suggested a similar thing. He pointed out I should be using the MICROSOFT OLE DB PROVIDER FOR SQL SERVER (I had been doing so but somewhere along the line started using the Native driver).
    And yes, that worked like a charm.
    Thanks for your help.
    Mark

  • Issue with calling procedure remotely

    Hello,
    Within the stored procedure, I am calling a procedure remotely but the '@v_remote_db' variable does not resolve:
    begin
    for i in cur_database_list loop
    v_remote_db := i.database_name;
    p_trunc_remote_table@v_remote_db; <<<------does not resolve
    end loop;
    end;
    Would work if obsolute value:
    p_trunc_remote_table@dev_db <------"works because dev_db is an actually database name and not a variable."
    The database link is correctly defined and works.
    Question: How to go around using obsolute value? I need to use a variable because the variable v__remote_db resolves to about 50 databases. Thank you.

    Duplicate thread:
    Re: issue with remote procedure calls
    Amiel

  • Issue with Executing OS commands from Stored Procedure

    I am trying to execute the scripts provided at :
    http://github.com/xtender/XT_SHELL
    provided by xtender user.
    As required, I have asked my DBAs to grant privileges by executing the following scripts:
    Begin
      --change to needed permissions and execute
      dbms_java.grant_permission( 'ODS', 'SYS:java.io.FilePermission', '/var/factiva/ODS/bin/CVIM_Rpt_ExportCSVFile’, 'read,write,execute' );
    end;
    /where CVIM_Rpt_ExportCSVFile is my script residing in the Unix server where my Oracle is installed.
    The error I am facing when I try to execute the following command is:
    select * from table(xt_shell.shell_exec('/var/scripts/CVIM_Rpt_ExportCSVFile',100))
    Exception:the Permission (java.io.FilePermission /var/scripts/CVIM_Rpt_ExportCSVFile execute) has not been granted to ODS. The PL/SQL to grant this is dbms_java.grant_permission( 'ODS', 'SYS:java.io.FilePermission', '/var/scripts/CVIM_Rpt_ExportCSVFile', 'execute' )I have asked my DBA to also execute the following scripts: - But I still see the same error as above. I am not able to figure out whats going on. Can anyone pls help me out??
    EXEC Dbms_Java.Grant_Permission('ODS', 'SYS:java.lang.RuntimePermission', 'writeFileDescriptor', '');
    EXEC Dbms_Java.Grant_Permission(ODS', 'SYS:java.lang.RuntimePermission', 'readFileDescriptor', '');
    dbms_java.grant_permission( 'ODS', 'SYS:java.io.FilePermission', '/var/scripts/CVIM_Rpt_ExportCSVFile', 'execute' )

    DUPLICATE
    ===============================================================
    Issue with Executing OS commands from Stored Procedure
    ==============================================================

  • Issues with WIFI-connection in the Spotify app

    I have a very annoying problem with my Nokia 5800 XM and the Spotify-app. I updated the app to v. 0.4.3.9 yesterday and it required that I uninstalled the old version first, i.e deleting all my cached tracks. Now today when I'm going to resync (on WLAN, since it's about 500 tracks) it just won't connect. I choose the correct WLAN from the list, but the app continues being blue (not green) and then the list pops up again. I read another discussion about almost the same thing a moment ago, so I tried to go to the menu and check the WLAN connection from its menu. So I did that, and it says my WLAN has full signal strength (I'm right next to the router) but then it loses the connection and asks me again which network I want to use. I have not had any issues with WLAN in any other app, and I have synced tracks with Spotify on my WLAN before, so I have no idea where the problem lies. Maybe something with the update and my WLAN? I don't know...
    About the attachments: The list that shows several times and then the WLAN list where I'm connected to my network and it has full strength. "Marsvinsfarmen" is my network.
    I'm thankful for answer, I use Spotify every day!
    Solved!
    Go to Solution.
    Attachments:
    Scr000012.jpg ‏51 KB
    Scr000013.jpg ‏54 KB
    Scr000014.jpg ‏50 KB

    Okay everyone! I struggled with this problem for a long time, and I was just about to send a complaint to Spotify when it worked for me! See, I did a little different than before; this is the list I was going to file:
    "1. I open Spotify from the application menu.
    2. I choose "Online" mode.
    3. My phone asks me how I want to connect to the Internet.
    4. I pick "Easy WiFi".
    5. I choose my WiFi network from the list.
    6. Application seems to be signing me in.
    7. My phone asks me again how I want to connect to the Internet.
    8. I repeat the procedure. Spotify can't connect with WiFi.
     -I have tried to connect using other WiFi networks, didn't work.
     -Before I updated last time I could connect without problem.
     -I can connect using 3G.
     -I can connect using WiFi in other applications than Spotify, for example Opera Mobile and the native browser.
     -I have reinstalled the application without difference."
    However, I did it a little different, which made it work: instead of choosing "Easy WiFi", I choose my network directly from the list: see attachment. I never thought of that I could do so and I can't remember I did that before the update either. I have now synced my tracks and the app seems to be a little buggy, I still hope for an update, though it now works at least. Sometimes it crashes.
    Please, tell me about if this worked for you and if you have other, better solutions. This isn't good enough, I still seek a better way.
    /L
    Attachments:
    Scr000020.jpg ‏53 KB

  • Connection issues with EA4500

    I had bad connection issues with my mobile device, so i pressed reset on my EA4500 router, and now when i connect to my network, it gives my limited connection even though i have 5 bars of signal. Not sure what to do now...

    Resetting the router will erase all the settings you configured on the router since the initial setup. You manually configure the router's wireless settings so your wireless devices can have internet access again.
    Procedure: http://kb.linksys.com/Linksys/ukp.aspx?vw=1&docid=cfb50c0dc992443ab2405a782cca60f7_19073.xml&pid=80&...
    Make sure to use a computer that is hardwired via Ethernet cable to the router.
    For bad connection issues: http://kb.linksys.com/Linksys/ukp.aspx?vw=1&docid=cf6ed888ce144d06905af4987887fd1b_KBxxxx_EN_v1.xml&...

  • Performance issues with dynamic action (PL/SQL)

    Hi!
    I'm having perfomance issues with a dynamic action that is triggered on a button click.
    I have 5 drop down lists to select columns which the users want to filter, 5 drop down lists to select an operation and 5 boxes to input values.
    After that, there is a filter button that just submits the page based on the selected filters.
    This part works fine, the data is filtered almost instantaneously.
    After this, I have 3 column selectors and 3 boxes where users put values they wish to update the filtered rows to,
    There is an update button that calls the dynamic action (procedure that is written below).
    It should be straight out, the only performance issue could be the decode section, because I need to cover cases when user wants to set a value to null (@) and when he doesn't want update 3 columns, but less (he leaves '').
    Hence P99_X_UC1 || ' = decode('  || P99_X_UV1 ||','''','|| P99_X_UC1  ||',''@'',null,'|| P99_X_UV1  ||')
    However when I finally click the update button, my browser freezes and nothing happens on the table.
    Can anyone help me solve this and improve the speed of the update?
    Regards,
    Ivan
    P.S. The code for the procedure is below:
    create or replace
    PROCEDURE DWP.PROC_UPD
    (P99_X_UC1 in VARCHAR2,
    P99_X_UV1 in VARCHAR2,
    P99_X_UC2 in VARCHAR2,
    P99_X_UV2 in VARCHAR2,
    P99_X_UC3 in VARCHAR2,
    P99_X_UV3 in VARCHAR2,
    P99_X_COL in VARCHAR2,
    P99_X_O in VARCHAR2,
    P99_X_V in VARCHAR2,
    P99_X_COL2 in VARCHAR2,
    P99_X_O2 in VARCHAR2,
    P99_X_V2 in VARCHAR2,
    P99_X_COL3 in VARCHAR2,
    P99_X_O3 in VARCHAR2,
    P99_X_V3 in VARCHAR2,
    P99_X_COL4 in VARCHAR2,
    P99_X_O4 in VARCHAR2,
    P99_X_V4 in VARCHAR2,
    P99_X_COL5 in VARCHAR2,
    P99_X_O5 in VARCHAR2,
    P99_X_V5 in VARCHAR2,
    P99_X_CD in VARCHAR2,
    P99_X_VD in VARCHAR2
    ) IS
    l_sql_stmt varchar2(32600);
    p_table_name varchar2(30) := 'DWP.IZV_SLOG_DET'; 
    BEGIN
    l_sql_stmt := 'update ' || p_table_name || ' set '
    || P99_X_UC1 || ' = decode('  || P99_X_UV1 ||','''','|| P99_X_UC1  ||',''@'',null,'|| P99_X_UV1  ||'),'
    || P99_X_UC2 || ' = decode('  || P99_X_UV2 ||','''','|| P99_X_UC2  ||',''@'',null,'|| P99_X_UV2  ||'),'
    || P99_X_UC3 || ' = decode('  || P99_X_UV3 ||','''','|| P99_X_UC3  ||',''@'',null,'|| P99_X_UV3  ||') where '||
    P99_X_COL  ||' '|| P99_X_O  ||' ' || P99_X_V  || ' and ' ||
    P99_X_COL2 ||' '|| P99_X_O2 ||' ' || P99_X_V2 || ' and ' ||
    P99_X_COL3 ||' '|| P99_X_O3 ||' ' || P99_X_V3 || ' and ' ||
    P99_X_COL4 ||' '|| P99_X_O4 ||' ' || P99_X_V4 || ' and ' ||
    P99_X_COL5 ||' '|| P99_X_O5 ||' ' || P99_X_V5 || ' and ' ||
    P99_X_CD   ||       ' = '         || P99_X_VD ;
    --dbms_output.put_line(l_sql_stmt); 
    EXECUTE IMMEDIATE l_sql_stmt;
    END;

    Hi Ivan,
    I do not think that the decode is performance relevant. Maybe the update hangs because some other transaction has uncommitted changes to one of the affected rows or the where clause is not selective enough and needs to update a huge amount of records.
    Besides that - and I might be wrong, because I only know some part of your app - the code here looks like you have a huge sql injection vulnerability here. Maybe you should consider re-writing your logic in static sql. If that is not possible, you should make sure that the user input only contains allowed values, e.g. by white-listing P99_X_On (i.e. make sure they only contain known values like '=', '<', ...), and by using dbms_assert.enquote_name/enquote_literal on the other P99_X_nnn parameters.
    Regards,
    Christian

  • Performance issues with pipelined table functions

    I am testing pipelined table functions to be able to re-use the <font face="courier">base_query</font> function. Contrary to my understanding, the <font face="courier">with_pipeline</font> procedure runs 6 time slower than the legacy <font face="courier">no_pipeline</font> procedure. Am I missing something? The <font face="courier">processor</font> function is from [url http://www.oracle-developer.net/display.php?id=429]improving performance with pipelined table functions .
    Edit: The underlying query returns 500,000 rows in about 3 minutes. So there are are no performance issues with the query itself.
    Many thanks in advance.
    CREATE OR REPLACE PACKAGE pipeline_example
    IS
       TYPE resultset_typ IS REF CURSOR;
       TYPE row_typ IS RECORD (colC VARCHAR2(200), colD VARCHAR2(200), colE VARCHAR2(200));
       TYPE table_typ IS TABLE OF row_typ;
       FUNCTION base_query (argA IN VARCHAR2, argB IN VARCHAR2)
          RETURN resultset_typ;
       c_default_limit   CONSTANT PLS_INTEGER := 100;  
       FUNCTION processor (
          p_source_data   IN resultset_typ,
          p_limit_size    IN PLS_INTEGER DEFAULT c_default_limit)
          RETURN table_typ
          PIPELINED
          PARALLEL_ENABLE(PARTITION p_source_data BY ANY);
       PROCEDURE with_pipeline (argA          IN     VARCHAR2,
                                argB          IN     VARCHAR2,
                                o_resultset      OUT resultset_typ);
       PROCEDURE no_pipeline (argA          IN     VARCHAR2,
                              argB          IN     VARCHAR2,
                              o_resultset      OUT resultset_typ);
    END pipeline_example;
    CREATE OR REPLACE PACKAGE BODY pipeline_example
    IS
       FUNCTION base_query (argA IN VARCHAR2, argB IN VARCHAR2)
          RETURN resultset_typ
       IS
          o_resultset   resultset_typ;
       BEGIN
          OPEN o_resultset FOR
             SELECT colC, colD, colE
               FROM some_table
              WHERE colA = ArgA AND colB = argB;
          RETURN o_resultset;
       END base_query;
       FUNCTION processor (
          p_source_data   IN resultset_typ,
          p_limit_size    IN PLS_INTEGER DEFAULT c_default_limit)
          RETURN table_typ
          PIPELINED
          PARALLEL_ENABLE(PARTITION p_source_data BY ANY)
       IS
          aa_source_data   table_typ;-- := table_typ ();
       BEGIN
          LOOP
             FETCH p_source_data
             BULK COLLECT INTO aa_source_data
             LIMIT p_limit_size;
             EXIT WHEN aa_source_data.COUNT = 0;
             /* Process the batch of (p_limit_size) records... */
             FOR i IN 1 .. aa_source_data.COUNT
             LOOP
                PIPE ROW (aa_source_data (i));
             END LOOP;
          END LOOP;
          CLOSE p_source_data;
          RETURN;
       END processor;
       PROCEDURE with_pipeline (argA          IN     VARCHAR2,
                                argB          IN     VARCHAR2,
                                o_resultset      OUT resultset_typ)
       IS
       BEGIN
          OPEN o_resultset FOR
               SELECT /*+ PARALLEL(t, 5) */ colC,
                      SUM (CASE WHEN colD > colE AND colE != '0' THEN colD / ColE END)de,
                      SUM (CASE WHEN colE > colD AND colD != '0' THEN colE / ColD END)ed,
                      SUM (CASE WHEN colD = colE AND colD != '0' THEN '1' END) de_one,
                      SUM (CASE WHEN colD = '0' OR colE = '0' THEN '0' END) de_zero
                 FROM TABLE (processor (base_query (argA, argB),100)) t
             GROUP BY colC
             ORDER BY colC
       END with_pipeline;
       PROCEDURE no_pipeline (argA          IN     VARCHAR2,
                              argB          IN     VARCHAR2,
                              o_resultset      OUT resultset_typ)
       IS
       BEGIN
          OPEN o_resultset FOR
               SELECT colC,
                      SUM (CASE WHEN colD > colE AND colE  != '0' THEN colD / ColE END)de,
                      SUM (CASE WHEN colE > colD AND colD  != '0' THEN colE / ColD END)ed,
                      SUM (CASE WHEN colD = colE AND colD  != '0' THEN 1 END) de_one,
                      SUM (CASE WHEN colD = '0' OR colE = '0' THEN '0' END) de_zero
                 FROM (SELECT colC, colD, colE
                         FROM some_table
                        WHERE colA = ArgA AND colB = argB)
             GROUP BY colC
             ORDER BY colC;
       END no_pipeline;
    END pipeline_example;
    ALTER PACKAGE pipeline_example COMPILE;Edited by: Earthlink on Nov 14, 2010 9:47 AM
    Edited by: Earthlink on Nov 14, 2010 11:31 AM
    Edited by: Earthlink on Nov 14, 2010 11:32 AM
    Edited by: Earthlink on Nov 20, 2010 12:04 PM
    Edited by: Earthlink on Nov 20, 2010 12:54 PM

    Earthlink wrote:
    Contrary to my understanding, the <font face="courier">with_pipeline</font> procedure runs 6 time slower than the legacy <font face="courier">no_pipeline</font> procedure. Am I missing something? Well, we're missing a lot here.
    Like:
    - a database version
    - how did you test
    - what data do you have, how is it distributed, indexed
    and so on.
    If you want to find out what's going on then use a TRACE with wait events.
    All nessecary steps are explained in these threads:
    HOW TO: Post a SQL statement tuning request - template posting
    http://oracle-randolf.blogspot.com/2009/02/basic-sql-statement-performance.html
    Another nice one is RUNSTATS:
    http://asktom.oracle.com/pls/asktom/ASKTOM.download_file?p_file=6551378329289980701

  • Performance issues with Oracle EE 9.2.0.4 and RedHat 2.1

    Hello,
    I am having some serious performance issues with Oracle Enterprise Edition 9.2.0.4 and RedHat Linux 2.1. The processor goes berserk at 100% for long (some 5 min.) periods of time, and all the ram memory gets used.
    Some environment characteristics:
    Machine: Intel Pentium IV 2.0GHz with 1GB of RAM.
    OS: RedHat Linux 2.1 Enterprise.
    Oracle: Oracle Enterprise Edition 9.2.0.4
    Application: We have a small web-application with 10 users (for now) and very basic queries (all in stored procedures). Also we use the latest version of ODP.NET with default connection settings (some low pooling, etc).
    Does anyone know what could be going on?
    Is anybody else having this similar behavior?
    We change from SQL-Server so we are not the world expert on the matter. But we want a reliable system nonetheless.
    Please help us out, gives some tips, tricks, or guides…
    Thanks to all,
    Frank

    Thank you very much and sorry I couldn’t write sooner. It seems that the administrator doesn’t see the kswap going on so much, so I don’t really know what is going on.
    We are looking at some queries and some indexing but this is nuts, if I had some poor queries, which we don’t really, the server would show pick right?
    But he goes crazy and has two oracle processes taking all the resources. There seems to be little swapping going on.
    Son now what? They are all ready talking about MS-SQL please help me out here, this is crazy!!!
    We have, may be the most powerful combinations here. What is oracle doing?
    We even kill the Working Process of the IIS and have no one do anything with the database and still dose two processes going on.
    Can some one help me?
    Thanks,
    Frank

  • Issue with Insert in SP

    Gurus,
    I have an issue with inserting rows into temp table through SP.
    Here is my proc. its running fine. After the execution completed when i try to select the rows from srini_temp table its showing 0 rows. Whats wrong here.
    CREATE PROCEDURE BO_HR_RPT.SRINI_TEST AS
    BEGIN
    insert into BO_HR_RPT.srini_temp (
    COURSE_TITLE,
    COURSE_ID,
    CLASS_NO,
    DELIVERY_METHOD,
    LEARNER_OWN,
    DURATION,
    score,
    VENDOR,
    START_DATE,
    END_DATE,
    INSTRUCTOR_NAME,
    TRANS_STATUS,
    LEARNER_NAME,
    LEARNER_EMP_TYPE,
    INSTRUCTOR_OWN,
    INSTRUCTOR_EMP_TYPE,
    EFFT_PERIOD,
    YEAR,
    AS_OF_DATE,
    LMS_SOURCE,
    REPORT_CATEGORY)
    SELECT COURSE_TITLE,
    COURSE_ID,
    CLASS_NO,
    CASE WHEN COURSE_ID LIKE 'TIS%' OR COURSE_ID LIKE 'TIWEB%' OR COURSE_ID LIKE 'TIVLAB%' OR COURSE_ID LIKE 'TIWVT%'
    OR COURSE_ID LIKE 'STARELT%' OR COURSE_ID LIKE 'TIELT%' OR DELIVERY_METHOD ='Web Based Training'
    OR DELIVERY_METHOD = 'e-Learning or via backend Import' THEN 'E-Learning'
    WHEN DELIVERY_METHOD = 'IDL' THEN 'IDL'
    WHEN DELIVERY_METHOD = 'IDL Replay' THEN 'Replay'
    ELSE INITCAP(DELIVERY_METHOD) END AS DELIVERY_METHOD,
    RTRIM(LEARNER_OWN) as LEARNER_OWN,
    CASE WHEN LMS_SOURCE ='SABA' THEN ROUND(DURATION/60,1)
    ELSE DURATION END AS DURATION,
    CASE WHEN SCORE='0' then '' else score END as score,
    CASE WHEN (vendor_name IS NOT NULL) AND (UPPER(SUBSTR(COURSE_ID,1,2)) = 'TV') then vendor_name
    WHEN COURSE_ID LIKE 'TIWEB%' then 'SKILLSOFT'
    WHEN COURSE_ID LIKE 'TIVLAB%' then 'ELEMENTK'
    ELSE 'N' END AS VENDOR,
    START_DATE,
    END_DATE,
    INITCAP(INSTRUCTOR_NAME) AS INSTRUCTOR_NAME,
    TRANS_STATUS,
    INITCAP(LEARNER_NAME) AS LEARNER_NAME,
    INITCAP(LEARNER_EMP_TYPE) AS LEARNER_EMP_TYPE,
    RTRIM(INSTRUCTOR_OWN),
    INITCAP(INSTRUCTOR_EMP_TYPE) AS INSTRUCTOR_EMP_TYPE,
    trim(initcap(TO_CHAR(TRUNC(NVL(END_DATE,START_DATE)),'MONTH'))) AS EFFT_PERIOD,
    TO_CHAR(TRUNC(NVL(END_DATE,START_DATE)),'YYYY') AS YEAR,
    TRUNC(ADD_MONTHS(LAST_DAY(load_date) ,-1)) AS AS_OF_DATE,
    LMS_SOURCE,
    REPORT_CATEGORY
    FROM BO_HR_RPT.ELM_GLD_MASTER_BASE
    where ROWNUM <= 10
    ORDER BY COURSE_ID,CLASS_NO,START_DATE,END_DATE,INSTRUCTOR_NAME;
    COMMIT;
    END;
    Thanks for great help.
    Srini

    Are you completely sure this isn't a global temporary table?
    it really would explain your problems!
    Have you got access to run a
    select tablename from all_tables where TEMPORARY = 'Y'[pre]                                                                                                                                                                                                                                                                                                                                                                                                           

  • I am having major issues with Logic 8 and want to reinstall.

    I am having a lot of issues with Logic 8 and want to do a re-install. What is the procedure and what do I need to uninstall first. I need to be careful, because I don't want to affect my Logic 7.
    Any suggestions?

    What problems?
    The first thing to do is trash the preferences. As far as affecting Logic 7, once you install 8, 7 is "forgotten" about. I'm assuming your L8 is a real version, not a "borrowed from the interweb" one.

  • Performance issue in procedure

    Hi All
    i have a performance issue with below procedure it is taking 10-15 hrs .custom table has 2 lacks record .
    PROCEDURE update_summary_dollar_amounts( p_errbuf OUT VARCHAR2
    ,p_retcode OUT NUMBER) IS
    v_customer_id NUMBER := NULL;
    pymt_count NUMBER := 0;
    rec_count NUMBER := 0;
    v_number_late NUMBER;
    v_number_on_time NUMBER;
    v_days_late NUMBER;
    v_avg_elapsed NUMBER;
    v_avg_elapsed_US NUMBER;
    v_percent_prompt NUMBER;
    v_percent_late NUMBER;
    v_number_open NUMBER;
    v_last_payment_amount NUMBER;
    v_last_payment_date DATE;
    v_prev_payment_amount NUMBER;
    v_prev_payment_date DATE;
    v_last_sale_amount NUMBER;
    v_last_sale_date DATE;
    v_mtd_sales NUMBER;
    v_ytd_sales NUMBER;
    v_prev_year_sales NUMBER;
    v_prev_receipt_num VARCHAR2(30);
    v_last_sale VARCHAR2(50);
    c_current_year VARCHAR2(4);
    c_previous_year VARCHAR2(4);
    c_current_month VARCHAR2(8);
    /* ====================================================================== */
    /* CURSOR Customer Cursor (Main Customer) LOOP */
    /* ====================================================================== */
    CURSOR customer_cursor IS
    SELECT cst.customer_id customer_id
    ,cst.customer_number customer_number
    ,cst.org_id org_id
    FROM zz_ar_customer_summary_all cst
    ORDER by cst.customer_id;
    /* ====================================================================== */
    /* CURSOR Payments Cursor LOOP */
    /* Note: This logic is taken from the Customer Credit Snapshot */
    /* Report - ARXCCS */
    /* ====================================================================== */
    CURSOR payments_cursor IS
    SELECT cr.receipt_number receipt_num
    ,NVL(cr.amount,0) amount
    ,crh.gl_date gl_date
    FROM ar_lookups
    ,ar_cash_receipts_all cr
    ,ar_cash_receipt_history_all crh
    ,ar_receivable_applications_all ra
    ,ra_customer_trx_all ct
    WHERE NVL(cr.type,'CASH') = ar_lookups.lookup_code
    AND ar_lookups.lookup_type = 'PAYMENT_CATEGORY_TYPE'
    AND cr.pay_from_customer = v_customer_id
    AND cr.cash_receipt_id = ra.cash_receipt_id
    AND cr.cash_receipt_id = crh.cash_receipt_id
    AND crh.first_posted_record_flag = 'Y'
    AND ra.applied_customer_trx_id = ct.customer_trx_id(+)
    ORDER BY cr.creation_date DESC
    ,cr.cash_receipt_id DESC
    ,ra.creation_date DESC;
    customer_record customer_cursor%rowtype;
    payments_record payments_cursor%rowtype;
    BEGIN
    p_errbuf := NULL;
    p_retcode := 0;
    c_current_year := TO_CHAR(SYSDATE,'YYYY');
    c_current_month := TO_CHAR(SYSDATE,'YYYYMM');
    c_previous_year := TO_CHAR(TO_NUMBER(c_current_year) - 1);
    FOR customer_record IN customer_cursor LOOP
    /* Get Days Late and Average Elapsed Days */
    /* Note: This logic is taken from the Customer Credit Snapshot */
    /* Report - ARXCCS */
    BEGIN
    v_customer_id := customer_record.customer_id;
    BEGIN
    SELECT DECODE(COUNT(cr.deposit_date), 0, 0, ROUND(SUM(cr.deposit_date - ps.trx_date) / COUNT(cr.deposit_date))) avgdays
    ,DECODE(COUNT(cr.deposit_date), 0, 0, ROUND(SUM(cr.deposit_date - ps.due_date) / COUNT(cr.deposit_date))) avgdayslate
    ,NVL(SUM(DECODE(SIGN(cr.deposit_date - ps.due_date),1, 1, 0)), 0) newlate
    ,NVL(SUM( DECODE(SIGN(cr.deposit_date - ps.due_date),1, 0, 1)), 0) newontime
    INTO v_avg_elapsed
    ,v_days_late
    ,v_number_late
    ,v_number_on_time
    FROM ar_receivable_applications_all ra
    ,ar_cash_receipts_all cr
    ,ar_payment_schedules_all ps
    WHERE ra.cash_receipt_id = cr.cash_receipt_id
    AND ra.applied_payment_schedule_id = ps.payment_schedule_id
    AND ps.customer_id = v_customer_id
    AND ra.apply_date BETWEEN ADD_MONTHS(SYSDATE, -12) AND SYSDATE
    AND ra.status = 'APP'
    AND ra.display = 'Y'
    AND NVL(ps.receipt_confirmed_flag,'Y') = 'Y';
    EXCEPTION
    WHEN NO_DATA_FOUND THEN
    v_days_late := NULL;
    v_number_late := NULL;
    v_avg_elapsed := NULL;
    v_number_on_time := NULL;
    END;
    IF (v_number_on_time + v_number_late) > 0
    THEN
    v_percent_prompt := ROUND(v_number_on_time/(v_number_on_time + v_number_late),2) * 100;
    v_percent_late := ROUND(v_number_late/(v_number_on_time + v_number_late),2) * 100;
    ELSE
    v_percent_prompt := 0;
    v_percent_late := 0;
    END IF;
    /* C2# 49827 */
    /* Get new average elapsed days for US use only */
    v_avg_elapsed_us := NULL;
    IF NVL(customer_record.org_id,-999) = 114
    THEN
    v_avg_elapsed_us := 0;
    BEGIN
    SELECT ROUND(SUM(NVL(ra.amount_applied,0) * (cr.deposit_date - ps.trx_date)) / DECODE(SUM(NVL(ra.amount_applied,0)),0,1,SUM(NVL(ra.amount_applied,0)))) avg_elapsed_us
    INTO v_avg_elapsed_us
    FROM ar_receivable_applications_all ra
    ,ar_cash_receipts_all cr
    ,ar_payment_schedules_all ps
    WHERE ra.cash_receipt_id = cr.cash_receipt_id
    AND ra.applied_payment_schedule_id = ps.payment_schedule_id
    AND ps.customer_id = v_customer_id
    AND ra.apply_date BETWEEN ADD_MONTHS(SYSDATE, -06) AND SYSDATE
    AND ps.status = 'CL'
    AND ra.status = 'APP'
    AND ra.display = 'Y'
    AND nvl(ps.receipt_confirmed_flag,'Y') = 'Y'
    AND ra.amount_applied <> 0;
    v_avg_elapsed_us := NVL(v_avg_elapsed_us,0);
    EXCEPTION
    WHEN NO_DATA_FOUND THEN
    v_avg_elapsed_us := NULL;
    END;
    END IF;
    END;
    /* Get MTD, YTD, Prev Year Sales */
    /* Note: This logic is taken from the Customer Credit Snapshot */
    /* Report - ARXCCS */
    BEGIN
    SELECT NVL(SUM(DECODE(TO_CHAR(ps.trx_date,'YYYYMM'),c_current_month,amount_due_original,0)),0) mtd_sales
    ,NVL(SUM(DECODE(TO_CHAR(ps.trx_date,'YYYY'),c_current_year,amount_due_original,0)),0) ytd_sales
    ,NVL(SUM(DECODE(TO_CHAR(ps.trx_date,'YYYY'),c_previous_year,amount_due_original,0)),0) prev_sales
    ,SUM(DECODE(ps.status,'OP',(DECODE(SIGN(amount_due_original),1,1,0)),0)) number_open
    INTO v_mtd_sales
    ,v_ytd_sales
    ,v_prev_year_sales
    ,v_number_open
    FROM ar_payment_schedules_all ps
    WHERE ps.customer_id = v_customer_id
    AND ps.class != 'PMT';
    EXCEPTION
    WHEN NO_DATA_FOUND THEN
    v_mtd_sales := NULL;
    v_ytd_sales := NULL;
    v_prev_year_sales := NULL;
    END;
    /* Get Last and Previous Payments */
    pymt_count := 0;
    v_last_payment_date := NULL;
    v_prev_payment_date := NULL;
    v_last_payment_amount := NULL;
    v_prev_payment_amount := NULL;
    v_prev_receipt_num := NULL;
    FOR payments_record IN payments_cursor LOOP
    BEGIN
    IF payments_record.receipt_num = v_prev_receipt_num
    THEN
    NULL;
    ELSIF pymt_count = 0
    THEN
    v_last_payment_date := payments_record.gl_date;
    v_last_payment_amount := payments_record.amount;
    pymt_count := pymt_count +1;
    v_prev_receipt_num := payments_record.receipt_num;
    ELSIF pymt_count = 1
    THEN
    v_prev_payment_date := payments_record.gl_date;
    v_prev_payment_amount := payments_record.amount;
    EXIT;
    ELSE
    EXIT;
    END IF;
    END;
    END LOOP;
    /* Get Last Sale Date and Amount */
    /* Note: This logic is taken from the Customer Credit Snapshot */
    /* Report - ARXCCS */
    BEGIN
    SELECT MAX(TO_CHAR(ct.trx_date,'YYYYDDD')||ps.amount_due_original)
    INTO v_last_sale
    FROM ra_cust_trx_types_all ctt
    ,ar_payment_schedules_all ps
    ,ra_customer_trx_all ct
    WHERE ps.customer_trx_id = ct.customer_trx_id
    AND ct.cust_trx_type_id = ctt.cust_trx_type_id
    AND ct.bill_to_customer_id = v_customer_id
    AND ps.class || '' = 'INV'
    ORDER BY ct.trx_date DESC
    ,ct.customer_trx_id DESC;
    EXCEPTION
    WHEN NO_DATA_FOUND
    THEN
    v_last_sale := NULL;
    END;
    IF v_last_sale IS NOT NULL
    THEN
    v_last_sale_date := TO_DATE(SUBSTR(v_last_sale,1,7),'YYYYDDD');
    v_last_sale_amount := SUBSTR(v_last_sale,8,15);
    ELSE
    v_last_sale_date := NULL;
    v_last_sale_amount := NULL;
    END IF;
    /* Update Values into ZZ_AR_CUSTOMER_SUMMARY_ALL */
    BEGIN
    UPDATE zz_ar_customer_summary_all
    SET sales_last_year = v_prev_year_sales
    ,sales_ytd = v_ytd_sales
    ,sales_mtd = v_mtd_sales
    ,last_sale_date = v_last_sale_date
    ,last_sale_amount = v_last_sale_amount
    ,last_payment_date = v_last_payment_date
    ,last_payment_amount = v_last_payment_amount
    ,previous_payment_date = v_prev_payment_date
    ,previous_payment_amount = v_prev_payment_amount
    ,prompt = v_percent_prompt
    ,late = v_percent_late
    ,avg_elapsed_days = v_avg_elapsed
    ,avg_elapsed_days_us = v_avg_elapsed_us -- C2# 49827
    ,days_late = v_days_late
    ,number_open = v_number_open
    WHERE customer_id = customer_record.customer_id;
    EXCEPTION
    WHEN PROGRAM_ERROR THEN NULL;
    WHEN DUP_VAL_ON_INDEX THEN NULL;
    WHEN STORAGE_ERROR THEN NULL;
    WHEN OTHERS THEN NULL;
    END;
    rec_count := rec_count + 1;
    IF rec_count = 10000
    THEN
    COMMIT;
    rec_count := 0;
    fnd_file.put_line(fnd_file.output,'Commit at customer_id = ' || TO_CHAR(customer_record.customer_id) || ' ' || TO_CHAR(SYSDATE, 'DD-MON-YYYY HH24:MI:SS'));
    fnd_file.new_line(fnd_file.output,1);
    END IF;
    END LOOP;
    COMMIT;
    EXCEPTION
    WHEN others THEN
    ROLLBACK;
    p_retcode := 2;
    p_errbuf := SQLERRM;
    END update_summary_dollar_amounts;
    Thanks,
    Anu

    Based on my initial assessment of the code, it looks like you are utilizing the "slow by slow" method. It is often termed "slow by slow" because it is one of the most INefficient ways of doing data processing. The "slow by slow" method uses CURSOR FOR LOOPs to loop through entire record sets and process them one at a time. In your case it looks like you are using NESTED FOR LOOPs which could exacerbate the problem.
    I recommend you re-think your approach and try and do everything in a single, or a few SQL statements if possible and avoid the procedural logic.
    If you can post your business requirements, and sample data we may be able to help you achieve your goal.
    HTH!

  • Issues with lines across the screen, as well as freezing

    Issues with lines across the screen, as well as freezing
    Hello all
    Got an iMac since January 2008 and I do like it a lot, even though it has some issues:
    -- It displays (quite often) lines partially across the screen
    -- Lines appear as well when opening applications or when menus come up
    -- The system freezes more than I like to admit (more than my Windows/Ubuntu box)
    I don't know if the freezing has to do with the lines that are shown on my screen. But I assume that both issues relate to some video card problem. I can't be sure - but that's what I assume from living with this issue day to day.
    The line on the desktop (most of the time it is there before login) I can always get rid of by changing the display resolution to something else and then changing it back. Normally the line is gone, or, reappears on a different spot on the desktop. But repeating the procedure removes the line.
    However, this does not mean that the lines are not showing up again when launching apps or displaying menus!
    And since those lines appear to happen randomly, I think it's safe to assume that we're not talking dead pixels here, either...
    About the freezing:
    My iMac freezes sometimes when I move the mouse around, when switching desktops using "spaces" or when the zoom function of the Dock kicks in. Sometimes the screen goes completely black, sometimes completely white. The mouse, however, always works. But the system requires a reboot.
    Again, this happens too often to feel comfy about it.
    With my little knowledge of Mac troubleshooting I assume that there's something wrong with the ATI card that's built into my Mac. On the other hand, some people say that they started getting similar issues after updating their OS to Leopard. Again other people say that such issues stem from an ATI revision that is too old and the Mac should get a new ATI card. And how would that work? Isn't that an "all-in-one" machine with everything soldered onto the mainboard?
    So, any help in this matter is greatly appreciated...
    Cheers,
    Rainer

    Here are a few screen photos I've taken (not screenshots, as the lines are not visible when taking screenshots. I used my digicam to snap those...).
    Here's the link to those screen photos displaying some of the many lines I keep having:
    http://picasaweb.google.com/rainer.rohde/NewAlbum62508115AM
    Needless to say, as I typed this message here, I had a nice line going across my Safari window..
    Cheers,
    Rainer

Maybe you are looking for

  • Using sql bulk copy throwing exception -The given value of type String from the data source cannot be converted to type int of the specified target column

    Hi All, I am reading notepads files and inserting data in sql tables from the notepad- while performing sql bulk copy on this line it throws exception - "bulkcopy.WriteToServer(dt); -"data type related(mentioned in subject )". Please go through my  l

  • Deleting Photos in Lightroom 2.1 for Mac

    I use 2.1 on Mac OS 10.5, recently having changed over from Windows. In the Library module, if I select all then go to delete the photos, it will only remove one at a time. I feel stupid even asking this, but what am I doing wrong?

  • How to add security to a composite ?

    Hello, I need to add some level of security to my composite. I mean the policy and also is there any way to set the username and the password for that policy. SO any composite invoking this secured service add the policy on their side and also add th

  • Cannot import from DVD disc

    I have recorded a 3 minute segment of a newscast using my DVD recorder - it contains video of a close friend of mine. I have a DVD disc which I burned on the DVD recorder from its Hard Drive containing only this short video which I want to give to hi

  • How do I open my hp vectra vl800

    Hi    I was trying to open up My hp Vectra but it wouldn't  open... So I was wondering if anyone know how to do it     Randhir279 This question was solved. View Solution.