Doubts in FORALL delete

in below error i am getting while FORALL delete,
CURSOR c_mkt_ofer_revsn_id IS
SELECT mkt_ofer_revsn_id FROM
SELECT revsn_sg.mkt_ofer_revsn_id
FROM mkt_ofer_revsn_sg revsn_sg,gmeic_mkt_ofer_hdr_trnsmn_dtl hdr_trnsmn_dtl
WHERE revsn_sg.mkt_ofer_revsn_id=hdr_trnsmn_dtl.mkt_ofer_revsn_id
AND gmeic_trnsmn_status='SUCCESS'
AND procsed_flag='C'
AND TRUNC(txn_dt_timstm) < (
SELECT SYSDATE-vcps_gmeic_parm_value
FROM vcps_gmeic_parm
WHERE vcps_gmeic_parm_nm='XXX'
UNION
SELECT revsn_sg.mkt_ofer_revsn_id
FROM mkt_ofer_revsn_sg revsn_sg
WHERE NOT EXISTS (SELECT 1
FROM gmeic_mkt_ofer_hdr_trnsmn_dtl hdr_trnsmn_dtl
WHERE hdr_trnsmn_dtl.mkt_ofer_revsn_id=revsn_sg.mkt_ofer_revsn_id
AND procsed_flag='C'
AND TRUNC(txn_dt_timstm) < (
SELECT SYSDATE-vcps_gmeic_parm_value
FROM vcps_gmeic_parm
WHERE vcps_gmeic_parm_nm='YYY'
UNION
SELECT revsn_sg.mkt_ofer_revsn_id
FROM mkt_ofer_revsn_sg revsn_sg,gmeic_mkt_ofer_hdr_trnsmn_dtl hdr_trnsmn_dtl
WHERE revsn_sg.mkt_ofer_revsn_id=hdr_trnsmn_dtl.mkt_ofer_revsn_id
AND gmeic_trnsmn_status='FAILURE'
AND procsed_flag='C'
AND TRUNC(txn_dt_timstm) < (
SELECT SYSDATE-vcps_gmeic_parm_value
FROM vcps_gmeic_parm
WHERE vcps_gmeic_parm_nm='XXX'
TYPE ct_mkt_ofer_revsn_id IS TABLE OF c_mkt_ofer_revsn_id%ROWTYPE;
crt_mkt_ofer_revsn_id ct_mkt_ofer_revsn_id := new ct_mkt_ofer_revsn_id();
BEGIN
OPEN c_mkt_ofer_revsn_id;
FETCH c_mkt_ofer_revsn_id
BULK COLLECT INTO crt_mkt_ofer_revsn_id;
CLOSE c_mkt_ofer_revsn_id;
FORALL crt_mo_revsn_id_idx IN crt_mkt_ofer_revsn_id.FIRST..crt_mkt_ofer_revsn_id.LAST
DELETE FROM mkt_ofer_revsn_sg
WHERE mkt_ofer_revsn_id = crt_mkt_ofer_revsn_id(crt_mo_revsn_id_idx) ;
END;
Error(59,27): PLS-00382: expression is of wrong type
In case if i use
DELETE FROM mkt_ofer_revsn_sg
WHERE mkt_ofer_revsn_id = crt_mkt_ofer_revsn_id(crt_mo_revsn_id_idx).mkt_ofer_revsn_id ;
Error(58,1): PL/SQL: SQL Statement ignored
Error(59,27): PL/SQL: ORA-22806: not an object or REF
Error(59,27): PLS-00436: implementation restriction: cannot reference fields of BULK In-BIND table of records
Error(59,27): PLS-00382: expression is of wrong type
why it happening ? What is the currect way to that ?
please help...

CREATE OR REPLACE PROCEDURE TEST_SP is
CURSOR c_mkt_ofer_revsn_id IS
SELECT mkt_ofer_revsn_id FROM
SELECT revsn_sg.mkt_ofer_revsn_id mkt_ofer_revsn_id
FROM mkt_ofer_revsn_sg revsn_sg,gmeic_mkt_ofer_hdr_trnsmn_dtl hdr_trnsmn_dtl
WHERE revsn_sg.mkt_ofer_revsn_id=hdr_trnsmn_dtl.mkt_ofer_revsn_id
AND gmeic_trnsmn_status='SUCCESS'
AND procsed_flag='C'
AND TRUNC(txn_dt_timstm) < (
SELECT SYSDATE-vcps_gmeic_parm_value
FROM vcps_gmeic_parm
WHERE vcps_gmeic_parm_nm='XXX'
UNION
SELECT revsn_sg.mkt_ofer_revsn_id
FROM mkt_ofer_revsn_sg revsn_sg
WHERE NOT EXISTS (SELECT 1
FROM gmeic_mkt_ofer_hdr_trnsmn_dtl hdr_trnsmn_dtl
WHERE hdr_trnsmn_dtl.mkt_ofer_revsn_id=revsn_sg.mkt_ofer_revsn_id
AND procsed_flag='C'
AND TRUNC(txn_dt_timstm) < (
SELECT SYSDATE-vcps_gmeic_parm_value
FROM vcps_gmeic_parm
WHERE vcps_gmeic_parm_nm='YYY'
UNION
SELECT revsn_sg.mkt_ofer_revsn_id
FROM mkt_ofer_revsn_sg revsn_sg,gmeic_mkt_ofer_hdr_trnsmn_dtl hdr_trnsmn_dtl
WHERE revsn_sg.mkt_ofer_revsn_id=hdr_trnsmn_dtl.mkt_ofer_revsn_id
AND gmeic_trnsmn_status='FAILURE'
AND procsed_flag='C'
AND TRUNC(txn_dt_timstm) < (
SELECT SYSDATE-vcps_gmeic_parm_value
FROM vcps_gmeic_parm
WHERE vcps_gmeic_parm_nm='ZZZ'
TYPE ct_mkt_ofer_revsn_id IS TABLE OF c_mkt_ofer_revsn_id%ROWTYPE;
crt_mkt_ofer_revsn_id ct_mkt_ofer_revsn_id ;--:= new ct_mkt_ofer_revsn_id();
BEGIN
OPEN c_mkt_ofer_revsn_id;
FETCH c_mkt_ofer_revsn_id
BULK COLLECT INTO crt_mkt_ofer_revsn_id;
CLOSE c_mkt_ofer_revsn_id;
FORALL crt_mo_revsn_id_idx IN crt_mkt_ofer_revsn_id.FIRST..crt_mkt_ofer_revsn_id.LAST
DELETE FROM mkt_ofer_revsn_sg
WHERE mkt_ofer_revsn_id = crt_mkt_ofer_revsn_id(crt_mo_revsn_id_idx);
/*DELETE FROM mkt_ofer_contnt_sg
WHERE mkt_ofer_revsn_id = crt_mkt_ofer_revsn_id(crt_mo_revsn_id_idx) ;
DELETE FROM mkt_ofer_channl_desc_sg
WHERE mkt_ofer_revsn_id = crt_mkt_ofer_revsn_id(crt_mo_revsn_id_idx) ;
DELETE FROM mkt_ofer_desc_sg
WHERE mkt_ofer_revsn_id = crt_mkt_ofer_revsn_id(crt_mo_revsn_id_idx) ;
DELETE FROM mdsn_modl_desc_sg
WHERE mkt_ofer_revsn_id = crt_mkt_ofer_revsn_id(crt_mo_revsn_id_idx) ;
END TEST_SP;

Similar Messages

  • Some question on Forall Delete

    Hi all,
    I am using the following coding on my procedure
      CURSOR c14 IS
          SELECT *
            FROM ibs_m_route
           WHERE created_date <= period;The cursor select the active set from IBS_M_ROUTE and ....
    FORALL i IN 1 .. vtsch.COUNT SAVE EXCEPTIONS
                Delete from ibs_m_route where created_date = vtsch(i).created_date;the forall delete on the same table.
    My questions
    1. 'selecting from' and 'deleting from' on same table , is it correct to do this kind of operation?
    2. on forall delete , should i want to use the indexed column on predicates?
    Thanks in advance
    kanish

    Kanish wrote:
    1. 'selecting from' and 'deleting from' on same table , is it correct to do this kind of operation?What does "correct" mean here? Is it syntactically valid? Sure. Is it the most appropriate option? No, you'd be much better off with a simple SQL statement
    DELETE FROM ibs_m_route
      WHERE created_date <= period;possibly with an additional LOG ERRORS INTO clause if you actually expect the DELETE to fail for some rows.
    2. on forall delete , should i want to use the indexed column on predicates?Yes. Normally, you would `BULK COLLECT` the primary key value into the collection and use that primary key in the FORALL. Of course, a PL/SQL process is never going to be as fast or as simple as a SQL statement.
    Justin

  • Other database delete is not working on forall statement

    Dear all,
    My scenario is , i create a program, the program fetch the data from database x and i want to delete on the same x database but i am running this program at y database, so
    so i created a view
    create or replace view vw_ibs_pda_bills_x as
    SELECT *
            FROM ibs_pda_bills_x@testarch1my program
    Declare
          CURSOR c2 IS
          SELECT *
            FROM vw_ibs_pda_bills_x
           WHERE bill_month <= '31-dec-2008'; -- AND bpref_no = :cons;
           opr varchar2(10) := 'DELETE';
          TYPE tsch IS TABLE OF c2%ROWTYPE;
          vtsch      tsch;
          cnt        NUMBER := 0;
          stime      NUMBER;
          etime      NUMBER;
          DURATION   NUMBER;
          rcount     NUMBER;
          errorsd   PLS_INTEGER;
          ecode     NUMBER;
          val1   VARCHAR2 (100);
          val2   VARCHAR2 (100);
          val3   VARCHAR2 (100);
          val4   VARCHAR2 (100);
       BEGIN
          BEGIN
             stime := DBMS_UTILITY.get_time ();
             OPEN c2;
             LOOP
                FETCH c2
                BULK COLLECT INTO vtsch LIMIT 1000;
                IF vtsch.COUNT = 1000
                THEN
                   cnt := cnt + 1;
                END IF;
            If opr = 'INSERT' Then
                    FORALL i IN 1 .. vtsch.COUNT SAVE EXCEPTIONS
                          INSERT INTO dlul.ibs_pda_bills
                        VALUES vtsch (i);
            Else
                    FORALL i IN 1 .. vtsch.COUNT SAVE EXCEPTIONS
                        Delete from vw_ibs_pda_bills_x where bill_month = vtsch(i).bill_month;
            End if;
                EXIT WHEN c2%NOTFOUND;
             END LOOP;
             etime := DBMS_UTILITY.get_time ();
             DURATION := ((etime - stime) / 100) / 60;
             rcount :=
                 (cnt * 1000) + vtsch.COUNT - NVL (SQL%BULK_EXCEPTIONS.COUNT, 0);
         If opr = 'INSERT' Then
             INSERT INTO process_stage_log
                  VALUES (SYSDATE, 'IBS_PDA_BILLS', DURATION, rcount);
         Else
             INSERT INTO process_stage_log
                  VALUES (SYSDATE, 'IBS_PDA_BILLS-D', DURATION, rcount);
         End if;
             CLOSE c2;
             COMMIT;
          EXCEPTION
             WHEN OTHERS
             THEN
                errorsd := SQL%BULK_EXCEPTIONS.COUNT;
                IF errorsd > 0
                THEN
                   FOR j IN 1 .. errorsd
                   LOOP
                      ecode := SQL%BULK_EXCEPTIONS (j).ERROR_CODE;
                      val1 :=
                           vtsch (SQL%BULK_EXCEPTIONS (j).ERROR_INDEX).sch_code;
                      val2 :=
                           vtsch (SQL%BULK_EXCEPTIONS (j).ERROR_INDEX).bpref_no;
                      val3 :=
                         vtsch (SQL%BULK_EXCEPTIONS (j).ERROR_INDEX).bill_month;
                      val4 :=
                         vtsch (SQL%BULK_EXCEPTIONS (j).ERROR_INDEX).service_code;
                  If opr = 'INSERT' Then         
                      INSERT INTO process_error_log
                           VALUES (SYSDATE, ecode, 'IBS_PDA_BILLS', 'sch_code', val1,
                                   'bpref_no', val2, 'bill_month', val3, 'service_code', val4,'INSERT');
              Else
                      INSERT INTO process_error_log
                           VALUES (SYSDATE, ecode, 'IBS_PDA_BILLS', 'sch_code', val1,
                                   'bpref_no', val2, 'bill_month', val3, 'service_code', val4,'DELETE');
              End if;
                   END LOOP;
                END IF;
          END;
       END pda_insert;the program want to do the delet option for all delete is not working. The program executed successful but the operation delete is not happening
    how to solve this issue.
    please help me
    kanish

    No error encountered in my log table
    the new workaround you said, that is instead of for all , already i tried for i in 1.. to like
    instead of forall delete i tried the following way
    Declare
          CURSOR c2 IS
    SELECT *
            FROM ibs_pda_bills_x@testarch1
           WHERE bill_month <= '31-dec-2008'; -- AND bpref_no = :cons;
           opr varchar2(10) := 'DELETE';
          TYPE tsch IS TABLE OF c2%ROWTYPE;
          vtsch      tsch;
          cnt        NUMBER := 0;
          stime      NUMBER;
          etime      NUMBER;
          DURATION   NUMBER;
          rcount     NUMBER;
          errorsd   PLS_INTEGER;
          ecode     NUMBER;
          val1   VARCHAR2 (100);
          val2   VARCHAR2 (100);
          val3   VARCHAR2 (100);
          val4   VARCHAR2 (100);
       BEGIN
          BEGIN
             stime := DBMS_UTILITY.get_time ();
             OPEN c2;
             LOOP
                FETCH c2
                BULK COLLECT INTO vtsch LIMIT 1000;
                IF vtsch.COUNT = 1000
                THEN
                   cnt := cnt + 1;
                END IF;
            If opr = 'INSERT' Then
                    FORALL i IN 1 .. vtsch.COUNT SAVE EXCEPTIONS
                          INSERT INTO dlul.ibs_pda_bills
                        VALUES vtsch (i);
            Else
                   /* fORALL i IN 1 .. vtsch.COUNT SAVE EXCEPTIONS
                     Delete from vw_ibs_pda_bills_x where to_char(bill_month,'dd-mm-rrrr') = to_char(vtsch (i).bill_month,'dd-mm-rrrr');*/
                     for i in 1..vtsch.count loop
                       delete ibs_pda_bills_x@testarch1 where to_char(bill_month,'dd-mm-rrrr') = to_char(vtsch (i).bill_month,'dd-mm-rrrr');
                     end loop; 
            End if;
                EXIT WHEN c2%NOTFOUND;
             END LOOP;
             etime := DBMS_UTILITY.get_time ();
             DURATION := ((etime - stime) / 100) / 60;
             rcount :=
                 (cnt * 1000) + vtsch.COUNT - NVL (SQL%BULK_EXCEPTIONS.COUNT, 0);
         If opr = 'INSERT' Then
             INSERT INTO process_stage_log
                  VALUES (SYSDATE, 'IBS_PDA_BILLS', DURATION, rcount);
         Else
             INSERT INTO process_stage_log
                  VALUES (SYSDATE, 'IBS_PDA_BILLS-D', DURATION, rcount);
         End if;
             CLOSE c2;
             COMMIT;
          EXCEPTION
             WHEN OTHERS
             THEN
                errorsd := SQL%BULK_EXCEPTIONS.COUNT;
                IF errorsd > 0
                THEN
                   FOR j IN 1 .. errorsd
                   LOOP
                      ecode := SQL%BULK_EXCEPTIONS (j).ERROR_CODE;
                      val1 :=
                           vtsch (SQL%BULK_EXCEPTIONS (j).ERROR_INDEX).sch_code;
                      val2 :=
                           vtsch (SQL%BULK_EXCEPTIONS (j).ERROR_INDEX).bpref_no;
                      val3 :=
                         vtsch (SQL%BULK_EXCEPTIONS (j).ERROR_INDEX).bill_month;
                      val4 :=
                         vtsch (SQL%BULK_EXCEPTIONS (j).ERROR_INDEX).service_code;
                  If opr = 'INSERT' Then         
                      INSERT INTO process_error_log
                           VALUES (SYSDATE, ecode, 'IBS_PDA_BILLS', 'sch_code', val1,
                                   'bpref_no', val2, 'bill_month', val3, 'service_code', val4,'INSERT');
              Else
                      INSERT INTO process_error_log
                           VALUES (SYSDATE, ecode, 'IBS_PDA_BILLS', 'sch_code', val1,
                                   'bpref_no', val2, 'bill_month', val3, 'service_code', val4,'DELETE');
              End if;
                   END LOOP;
                END IF;
          END;
       END pda_insert;i am receiving the following error
    ORA-02055: distributed update operation failed; rollback required
    ORA-06531: Reference to uninitialized collection
    ORA-06512: at line 77
    ORA-06531: Reference to uninitialized collection
    kanish

  • FORALL bulk delete statement requires lot of time even for 10 rows deletion

    Hi,
    when I execute FORALL bulk delete statement it requires lot of time even for 10 rows deletion.so how to avoid this problem? I checked SGA_TARGET and PGA_TARGET cureent_size and max_size are same for both. Is their memory problem?
    I execute following code
    DECLARE
    TYPE t_id_tab IS TABLE OF test.c1%TYPE;
    l_id_tab t_id_tab := t_id_tab();
    Begin
    select c1 bulk collect into l_id_tab from TEST where c1<=10;
    dbms_output.put_line(DBMS_UTILITY.get_time);
    FORALL i IN l_id_tab.first .. l_id_tab.last
    delete from TEST where c1= l_id_tab(i);
    dbms_output.put_line(DBMS_UTILITY.get_time);
    commit;
    End;
    thanks in advance
    Vaibhav
    Edited by: Vaibhav on Oct 10, 2011 10:47 PM

    hi
    i am working on oracle 11g. Actually i have to test which is the faster method to delete 150000 records.
    1st by using FOR Loop bunch of 10000 records
    2nd by using FORALL delete
    kindly find below FORALL delete code
    DECLARE
    TYPE t_id_tab IS TABLE OF test.c1%TYPE;
    l_id_tab t_id_tab := t_id_tab();
    Begin
    select c1 bulk collect into l_id_tab from TEST where c1<=10;
    dbms_output.put_line(DBMS_UTILITY.get_time);
    FORALL i IN l_id_tab.first .. l_id_tab.last
    delete from TEST where c1= l_id_tab(i);
    dbms_output.put_line(DBMS_UTILITY.get_time);
    commit;
    End;
    Edited by: Vaibhav on Oct 10, 2011 10:56 PM

  • How to delete all the PSA data in one go

    Hello Guys,
    I want to clear all the data from all the PSA tables at one shot, how can i do this??
    I have tried following things:
    1) I have gone to PSA root node and right click and then clicked on delete PSA data, but its showing me all the datasources and when i am executing that, it is deleting one by one(that i means i need to select individual datasource, which i do not want).
    2) Above specified step runs RSPSADEL1 in background , so i doubt whether it deletes psa data only or complete Table?
    3)I got the info from other posts that there is a fm which is RSATREE_PSA_DELETE_BATCH, but i need to make myself clear whether this fm deletes only data or complete Table?
    I am using sap-bw 3.5.
    Regards,
    Dolly

    Hi,
    there is one easy way to delete data from PSA .You can create a process chain have one delete data from PSA step where you need to give PSA table name and request older than (no of days before which you want to delete data ).
    Execute it and it will delete all the data before specified no of days .You can add multiple PSA tables here and can delete whole data in one go .
    Regards,
    Jaya

  • FORALL Exception handling problem

    Hi All,
    I have one doubt in forall exception handling. I have gone through the SAVE EXCEPTION for bulk collect but i have one more query
    BEGIN
    FORALL j IN l_tab.first .. l_tab.last
    INSERT INTO exception_test
    VALUES (l_tab(i));
    EXCEPTION
    END;
    My requirement is when an exception occurs, i ant to print the values of the collection.
    e.g. say l_tab (j).emp_number, l_tab (j).emp_id.
    How is that possible?
    Thanks
    Samarth
    Edited by: 950810 on Mar 12, 2013 7:28 PM

    >
    I have one doubt in forall exception handling. I have gone through the SAVE EXCEPTION for bulk collect but i have one more query
    BEGIN
    FORALL j IN l_tab.first .. l_tab.last
    INSERT INTO exception_test
    VALUES (l_tab(i));
    EXCEPTION
    END;
    My requirement is when an exception occurs, i ant to print the values of the collection.
    e.g. say l_tab (j).emp_number, l_tab (j).emp_id.
    How is that possible?
    >
    Post the code you are using. You didn't post the FORALL that is using SAVE EXCEPTIONS.
    The SQL%BULK_EXCEPTIONS associative array that you get has the INDEX of the collection element that caused the exception.
    So you need to use those indexes to index into the original collection to get whatever values are in it.
    One index from the exception array is:
    SQL%BULK_EXCEPTIONS(i).error_index So if your original collection is named 'myCollection' you would reference that collection value as:
    myCollection(SQL%BULK_EXCEPTIONS(i).error_index); See 'Handling FORALL Exceptions (%BULK_EXCEPTIONS Attribute)' in the PL/SQL Language doc
    http://docs.oracle.com/cd/B28359_01/appdev.111/b28370/tuning.htm#i49099
    >
    All exceptions raised during the execution are saved in the cursor attribute %BULK_EXCEPTIONS, which stores a collection of records. Each record has two fields:
    %BULK_EXCEPTIONS(i).ERROR_INDEX holds the iteration of the FORALL statement during which the exception was raised.
    %BULK_EXCEPTIONS(i).ERROR_CODE holds the corresponding Oracle Database error code.
    The values stored by %BULK_EXCEPTIONS always refer to the most recently executed FORALL statement. The number of exceptions is saved in %BULK_EXCEPTIONS.COUNT. Its subscripts range from 1 to COUNT.
    The individual error messages, or any substitution arguments, are not saved, but the error message text can looked up using ERROR_CODE with SQLERRM as shown in Example 12-9.
    You might need to work backward to determine which collection element was used in the iteration that caused an exception. For example, if you use the INDICES OF clause to process a sparse collection, you must step through the elements one by one to find the one corresponding to %BULK_EXCEPTIONS(i).ERROR_INDEX. If you use the VALUES OF clause to process a subset of elements, you must find the element in the index collection whose subscript matches %BULK_EXCEPTIONS(i).ERROR_INDEX, and then use that element's value as the subscript to find the erroneous element in the original collection.

  • Deleting Source System

    Dear friends,
    I have some doubts, i was delete one source system to create a new in same system,
    when try to create the new  same data and objctes there are, what can i do to create a new soure system in the same system but without old objects ( cubos, dso's etc ) ??? i want to retransport all objects again.
    Thanks in advance.
    Fabrício

    Once you delete the source system, the objects which are related to that would be deleted.
    you have to re-create it or transport it to the source system.
    in RSA1, you have a option to create your source system. Before that, you have to check whether the logical system, RFC connection for the source system are created or not?
    Hope this would help you.

  • Delete the parent record

    hi all,
    based on the thread i got the list of child tables.
    Re: to find the tables which is having link with particular table.
    no i have doubt in deletion process.
    My ultimate aim is to delete the bl_det records.
    let me explain with ex.
    i have table
    BL_DET --parent table with comp and ref as primary key
    which is having child rec.
    BL_CON --child of BL_DET(comp,ref) primary key comp,ref and serial
    BL_CON_PCK --is child of BL_CON(comp,ref,serial) primary key comp,ref,serial,pck_gp_srl,gp_srl.
    DELETE BL_CON_PCK
    WHERE BCK_COMP = :GLOBAL.comp
    AND BCK_REF = :parameter;
    DELETE FROM BL_CON
    WHERE BCR_COMP = :GLOBAL.comp
    AND BCR_REF = :paramter
    DELETE FROM BL_DET
    WHERE BL_COMP = :GLOBAL.comp
    AND BL_REF - :parameterwill delete the correct set of records.(my doubt area is delete statement written for the table BL_CON_PCK).
    Please tell me if i am wrong.
    Thanks..

    (my doubt area is delete statement written for the table BL_CON_PCK).Cannot understand your doubt. What is your doubt, are you getting any error while executing your code?
    To delete a record from parent table all child references must be deleted. So your delete statement appears right
    -- How delete should progress
    BL_CON_PCK >> BL_CON >> BL_DET
    {code}
    If you have created foreign constraint using ON DELETE CASCADE or ON DELETE SET NULL then you can straight away delete from parent table and all child references are deleted/set as null respectively. Read Oracle Documentation to see details
    Short demonstration
    {code:sql}
    SQL> CREATE TABLE A(a1 NUMBER PRIMARY KEY , a2 NUMBER);
    Table created
    SQL>  CREATE TABLE B(b1 NUMBER PRIMARY KEY , a1 NUMBER);
    Table created
    SQL>  CREATE TABLE C(c1 NUMBER, b1 NUMBER);
    Table created
    SQL>  ALTER TABLE B ADD CONSTRAINT FK_B FOREIGN KEY (a1) REFERENCES A ON DELETE CASCADE;
    Table altered
    SQL>  ALTER TABLE C ADD CONSTRAINT FK_C FOREIGN KEY (b1) REFERENCES B ON DELETE CASCADE;
    Table altered
    SQL>  INSERT INTO A VALUES (1,2);
    1 row inserted
    SQL>  INSERT INTO B VALUES (3,1);
    1 row inserted
    SQL>  INSERT INTO C VALUES (4,3);
    1 row inserted
    SQL>  SELECT * FROM A;
            A1         A2
             1          2
    SQL>  SELECT * FROM B;
            B1         A1
             3          1
    SQL>  SELECT * FROM C;
            C1         B1
             4          3
    SQL>  DELETE FROM A WHERE A1=1;
    1 row deleted
    SQL>  SELECT * FROM A;
            A1         A2
    SQL>  SELECT * FROM B;
            B1         A1
    SQL>  SELECT * FROM C;
            C1         B1
    {code}                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                           

  • Please help me to delete a PS project

    Hi all,
    I'm trying desperately to delete a project system by executing a specific program.
    I found out BAPI on an another post  :
    BAPI_PS_INITIALIZATION
    BAPI_BUS2001_DELETE "delete project definition
    BAPI_PS_PRECOMMIT
    BAPI_TRANSACTION_COMMIT
    This sequence of BAPI is working only for project definition but not for a project with wbs element (level 1, 2, 3 and 4) and networks
    then, i did find out two another BAPI :
    BAPI_BUS2054_DELETE_MULTI "delete WBS element
    BAPI_BUS2002_DELETE "delete networks
    I'm wondering if I need to sort the BAPI ? I mean, do I need to delete first the project definition, and the WBS element and the networks ? like the sequence as follow :
    BAPI_PS_INITIALIZATION
    BAPI_BUS2001_DELETE "delete project definition
    BAPI_BUS2054_DELETE_MULTI "delete WBS element
    BAPI_BUS2002_DELETE "delete networks
    BAPI_PS_PRECOMMIT
    BAPI_TRANSACTION_COMMIT
    thx for your help

    Hi Nicolas,
    You need to adopt bottom up approach. The hierarchy of project is
    Level I: Project Definiton
    Level II: WBS Elements
    Level III: Network
    Hence delete the network first, then WBS and then definition. If there are activities in network you need to delete them before deleting the network. If any of these objects are in released state, ie system status REL, I doubt BAPI can delete them. In created state, system status CRTD, BAPI will delete desired objects.
    Hope this helps.
    Regards

  • Doubt in prgms

    hi frnds,
       I have a doubt 'how to delete 1st charactor from the internal table records'.
    Ex :  itab have city name  but it displaying
    1pune
    2mumbai
    3chennai
    i want to remove the 1st charactor from the output. i need only
    pune
    mumbai
    chennai
    plz give me a soln
    Gowri

    Hello,
    Check this :
    DATA:BEGIN OF itab OCCURS 0,
           f1 TYPE char5,
         END OF itab.
    DATA: wa_tab LIKE LINE OF itab.
    CLEAR wa_tab.
    wa_tab-f1 = '1ABC'.
    APPEND wa_tab TO itab.
    CLEAR wa_tab.
    wa_tab-f1 = '2DEF'.
    APPEND wa_tab TO itab.
    CLEAR wa_tab.
    wa_tab-f1 = '3GHI'.
    APPEND wa_tab TO itab.
    CLEAR wa_tab.
    LOOP AT itab INTO wa_tab.
      WRITE:/ wa_tab-f1.
    ENDLOOP.
    WRITE:/ '*******************'.
    LOOP AT itab INTO wa_tab.
      DATA:len TYPE i.
      len = STRLEN( wa_tab-f1 ).
      wa_tab-f1 = wa_tab-f1+1(len).
      WRITE:/ wa_tab-f1.
    ENDLOOP.
    endloop.
    Regards,
    Deepu.K

  • Solution for: no audio in time line - conforming issues - unspecified error occurred

    these are all the same issue and i have the solution for it.
    Adobe has once again let down the non professional user but ignoring this bug. They have also deleted alot of my other posts on the adobe forums.. perhaps so you cannot receive help from me?? who freakin knows..
    b Problem:
    you import your footage and there is no audio in the time line. you see the audio clip there but no information in it. some people say its because of MPEG format but MPEG files works fine in Windows Movie Maker, Ulead, Pinnacle, Sony Vegas.. etc...
    let it be known that its an Adobe Premiere issue.
    b Solution:
    b step 1:
    close adobe premiere
    b step 2:
    open My Computer and go to tools at the top. From the drop down menu go to folder options. In folder options click the view tab. In the advanced settings section where it says 'Hidden files and folders' make sure 'show hidden files and folders' is selected.
    b step 3:
    open My computer and go to c:\ drive > Documents and settings. Now click into your user name (NOT 'All users') in my case its 'proGamer'. Now click into 'Application Data' > 'Adobe' > 'common' > 'Media Cache Files'.
    b step 4:
    in this folder find the files you were just trying to import by searching the name. in my case its file: 20081217030338. you will now see 3 different file types with the same file name you were importing: CFA, PEK, MPGINDEX. delete them all!
    b step 5:
    go back and open adobe premiere, open up your project again and it will automatically recreate those files you just deleted. hopefully correctly.
    b NOTE:
    If this hasn't worked then open your adobe premiere project, clear all trace of the files with no audio and start again from step 1. then after step 5 just import the files back into your project.
    This has proved to work with every file i've imported that had the audio not conformed.
    b your second option:
    simply play your clip in WMV or VLC or what ever player you use and record the audio in real time in stereo by using some music editing like cubase or logic audio. you can also use something more friendly like 'recordpad' found here: http://www.nch.com.au/recordpad/screenshots.html now you can buy it from these guys or get it how ever else you like
    lemme know how u go

    dmd,
    I've read plenty of places that they know about the bug and are going to fix it. Will from Adobe said so in a few older posts. It's also listed as an issue in the 4.0.1 readme.
    I agree that this is the most screwed up Adobe release ever but I doubt they're deleting your posts to hide it. Never know though.....
    "Adobe has once again let down the non professional user but ignoring this bug" I actually wish Adobe would forget the consumers and make Premiere Pro more friendly to professionals. Dozens of multimillion dollar movies have been edited with Avid and Final Cut over the past few years. Adobe doesn't put forth any effort make Premiere a pro application. Because they pander to the consumers and prosumers they end up messing up the product for everybody.
    Premiere Elements is for consumers, Premiere Pro should be for the 'Pros'

  • Java proxy and EAR file in NDS

    Hi,
    I'm new in java and also proxy development and I need some help
    I have followed the pdf how to create java proxies in 3.0.
    But i have some doubts:
    Must I delete aii*.jar libraries from the EAR create?
    I have no other .jar archive in that .ear... why? I suppose that is not correct and why my EJB module .jar is not included?
    Thanks
    carme,

    Hi, Shabarish
    I have followed the same steps point out in this two blogs.
    I recreated all my EJB project and application.
    The EAR file created only contains:
    guidgenerator.jar
    aii_utilxi_misc.jar
    aii_proxy_xirt.jar
    aii_msg_runtime.jar
    sda-dd.xml
    application-j2ee-engine.xml
    application.xml
    Sap_manifest.mf
    Manifest.mf
    and also a file WITHOUT NAME and size 0.
    That is not correct... right?

  • Originals and duplicates in iphoto

    I'm trying to clean up iPhoto which currently has 11,000ish photos.
    I downloaded Duplicate Cleaner for iPhoto which found a lot of duplicate photos. So I deleted all those.
    Now I'm going through and manually deleting bad photos my kids shot over the past 7 years.
    As I've been scrolling through and deleting photos I see that photos are broken into sets by date that are separated by a gray bar. But then there are also groups called "Originals" periodically that have the exact same photos (see screen shot).
    Are these actually different files, or are they the same file organized into different groups?
    I did a search for "originals" in iPhoto and it returned a set of about 600 photos all of which have the heading "Original" in the gray bar.
    Can I delete all these photos or (as I asked above) are these just different "views" of one file and I'll lose all of them. In other words, are these duplicate files or just repeated views of the same single file?
    Thanks for any guidance.
    Peter

    I did a search for "originals" in iPhoto and it returned a set of about 600 photos all of which have the heading "Original" in the gray bar.
    Do you also see groups "Modified" or "Edited"? This looks suspiciously like you imported a complete iPhoto library, thumbs, edited versions and original files. If in doubt what to delete, don't delete the versions in "Original" but the thumbs and previews in lesser quality. Compare the file sizes and pixel sizes of the photos, before you decide which duplicate to delete. Make sure, you keep the best quality version and not a preview or thumbnail.

  • Best Method for Hyper-V storage migrate

    What would be the best and most efficient way to complete the following:
    I have a Windows 2008 R2 Hyper-v Hosting server, with a Windows Storage Server 2008 ISCSI connected storage drive. I need to move all the Hyper-V images from one ISCSI drive, to another ISCSI drive, as I just purchased another Windows Storage Server 2008
    that I setup a ISCSI drive on that I want to store the Hyper-v images on.
    Is the best method a export of each virtual server, then delete the current server, and them import them back from the new location?

    Thought so, and totally without a doubt test before delete, lol.
    My issue is when I started this I only had a few servers, but due to how easy it was to setup a new server and every software vendor we have wanting thier own server I am at 19 servers.
    Major downside is they take forever to export.
    I like the export method because it creates a identical structure for all the machine, as before I was storing all snapshots in one location, all vhd in another
    Thanks for verifying what I figured was the only method.
    Using the Microsoft Virtual Manager I can migrate, but that takes so long as well and I figured if I export, I can then use that as a full backup and then import it.

  • Scanning with Photoshop Elements 12

    I recently updgaded from Elements 9 to Elements 12, but the Import pick is greyed out in the File menue in 12. I can still scan in 9 and my everything  has been upgraded for OSX 10.9 (Mavericks). Where  exactly should the Twain plug in reside to make it work?

    I did this and restarted the computer but still nothing. I tried 9 afterword and it still works, but no doubt added these deleted paths back. I'm stumped. Sorry for being a nuisance. I don't suppose it should be this hard. Jumping around and fixing this and then that makes it difficult to know if something is being missed or still needs to be done and then there is the possible issue of accomplishing all this in a certain order.
    Date: Mon, 18 Nov 2013 07:56:22 -0800
    From: [email protected]
    To: [email protected]
    Subject: Scanning with Photoshop Elements 12
        Re: Scanning with Photoshop Elements 12
        created by Barbara B. in Photoshop Elements - View the full discussion
    You will  want to  go to your username>library>preferences and delete
    com.adobe.PhotoshopElements.plist
    Adobe Photoshop Elements 9 Paths
    Adobe Photoshop Elements 9 settings
    Directions for finding that library are here:
    http://www.cultofmac.com/251544/mavericks-makes-it-way-easier-to-acces s-your-library-folder-os-x-tips/
    Also go to the Saved Application State folder in the library and delete anything related to PSE.
         Please note that the Adobe Forums do not accept email attachments. If you want to embed a screen image in your message please visit the thread in the forum to embed the image at http://forums.adobe.com/message/5851459#5851459
         Replies to this message go to everyone subscribed to this thread, not directly to the person who posted the message. To post a reply, either reply to this email or visit the message page: http://forums.adobe.com/message/5851459#5851459
         To unsubscribe from this thread, please visit the message page at http://forums.adobe.com/message/5851459#5851459. In the Actions box on the right, click the Stop Email Notifications link.
               Start a new discussion in Photoshop Elements at Adobe Community
      For more information about maintaining your forum email notifications please go to http://forums.adobe.com/thread/416458?tstart=0.

Maybe you are looking for

  • Problem with SmartSound in Premire Elements 11.

    Hi, Here is the problem: PE 11 automatically installed SmartSound SonicFire Pro5 ver. 5.7.3 and when I click on <Use SmartSound> button, I have an Error message pop-up saying 'Unable to acquire Serial number for express track. Please make sure you ar

  • My daughter reset my iphone4. How can I get back recorded memos = sound files? Thank you!

    To make things more complicated: I "drowned" my iphone last summer and got a new one (also an i phone 4) in November. When I signed in yesterday after the reset mishap, suddenly old data photos, sound memos from the old phone which I had thought lost

  • Enumerating members of a Group object

    Is there anything specific you must do to enumerate the �member� attribute of a group Object via JNDI. I am using an instance of ADAM as a test Directory. I can search for Group objects with no problem, but when I process the results/object attribute

  • Percentage function in Bex?

    Expert's, There is % caluculation.But I am getting X for that calculation.Where as for other column I am getting correct value. what could be reason. I have created formula.

  • Improving performance for java

    I'm new to this so please bare with me ... I have 2 basic questions I just upgraded my server to SunOS 5.10 Generic_139555-08 sun4u sparc SUNW,Sun-Fire-V440 I also upgraded java to java version "1.6.0_14" This is a 4 processor box. Top gives me: last