Creating a MV with REFRESH ON COMMIT

Hi,
I can't seem to get the following Materialized View to compile:
REATE MATERIALIZED VIEW MV_MyMatView
REFRESH ON COMMIT
AS
SELECT COL_ValidFrom, COL_AnotherCol
FROM MyTable
I get error ORA-12054. Originally I had a MAX()-thing in my select and when I searched the web I found this article ( http://www.stanford.edu/dept/itss/docs/oracle/10g/server.101/b10736/basicmv.htm#i1007028 ) And it looked to be the solution. However I did everything it said and I still could not compile (same error). So I tried to remove the MAX() but i STILL could not compile. Any Ideas on what to do?
The MV-Log was created like this:
CREATE MATERIALIZED VIEW LOG ON MYSCHEMA.MyTable
WITH PRIMARY KEY, ROWID
INCLUDING NEW VALUES
Could it be an issue that both my referenced columns are part of the Primary Key? I am the owner of the table. I also tried this: GRANT ON COMMIT REFRESH TO "MYSCHEMA"; but it was not recognized.
Basically i cant create ANY materialized view with REFRESH ON COMMIT. Why, oh why?
Thanks!
Message was edited by:
DavidNils

Hello
Unfortunately I don't have a 9i or 10g database to test on at the mo but I believe the package dbms_mview should help. There is a procedure called explain_mview that allows you to check what an mview can do. It dumps the results into a table so you can see what it can and can't do and why.
Here's a link to the docs. http://download-west.oracle.com/docs/cd/B10501_01/appdev.920/a96612/d_mview2.htm#95440
Hopefully that will help you to find out why you can't do a fast refresh on commit.
HTH
David

Similar Messages

  • Can't create the mview with refresh on each commit

    I have these underlying tables:
    SQL> desc ta_footn_typ
    Namn Null? Typ
    FOOTN_TYP_ID NOT NULL VARCHAR2(2)
    APPL_COD CHAR(1)
    NATIONAL_DATA NUMBER(1)
    (FOOTN_TYP_ID is a PK)
    SQL> desc TA_S_DESC_FOOTN_TYP
    Namn Null? Typ
    FOOTN_TYP_ID NOT NULL VARCHAR2(2)
    LANG_COD NOT NULL CHAR(2)
    FOOTN_TYP_DESCR VARCHAR2(100)
    (FOOTN_TYP_ID and LANG_COD is a composite PK)
    from these two tables I would like to build a mateerialized view with refresh
    on commit with the following select-statement:
    select type.*, eng.FOOTN_TYP_DESCR as FOOTN_TYP_DESCR_ENG, nat.FOOTN_TYP_DESCR
    as FOOTN_TYP_DESCR_NAT from TA_FOOTN_TYP type
    left join TA_S_DESC_FOOTN_TYP eng on eng.FOOTN_TYP_ID = type.FOOTN_TYP_ID and
    eng.LANG_COD='EN'
    left join TA_S_DESC_FOOTN_TYP nat on nat.FOOTN_TYP_ID = type.FOOTN_TYP_ID and
    nat.LANG_COD='EE'
    I can create the mview with the options:
    on demand, automatically on, never
    but that is not interesting for me,
    I need refresh on commit on the underlying
    tables.
    So I tried -->
    CREATE MATERIALIZED VIEW "EMTS_NF"."MY_MVIEW"
    TABLESPACE "EMTS_EMTS_NF"
    BUILD IMMEDIATE
    USING INDEX
    TABLESPACE "EMTS_EMTS_NF"
    REFRESH FORCE
    ON COMMIT
    AS
    select type.*, eng.FOOTN_TYP_DESCR as FOOTN_TYP_DESCR_ENG, nat.FOOTN_TYP_DESCR
    as FOOTN_TYP_DESCR_NAT from TA_FOOTN_TYP type
    left join TA_S_DESC_FOOTN_TYP eng on eng.FOOTN_TYP_ID = type.FOOTN_TYP_ID and
    eng.LANG_COD='EN'
    left join TA_S_DESC_FOOTN_TYP nat on nat.FOOTN_TYP_ID = type.FOOTN_TYP_ID and
    nat.LANG_COD='EE';
    But it gives mee ORA-12054,
    any advices???

    Try it with REFRESH FAST instead of REFRESH FORCE.
    Cheers, APC

  • Create Device Collection WITH Refresh Schedule using Powershel CMDLets

    Hello everyone
    I'm attempting to create a PowerShell script to create a device collection and I'm running into a very frustrating issue.  I want to be able to set the collections refresh time but can't seem to get it to work.  This code here works to create the
    collection and tell it to do incremental updates but I cannot figure out how to set refresh time.  Everything I've attempted has failed and google seems to be no help right now.
    $CollectionName = "Test"
    $CollectionQueryValue = 'select * from SMS_R_System inner join SMS_G_System_SYSTEM on SMS_G_System_SYSTEM.ResourceId = SMS_R_System.ResourceId where SMS_G_System_SYSTEM.NetBIOSName in ("Hostname")' $CollectionQueryName = "Direct by Hostname"
    New-CMDeviceCollection -Name $CollectionName -LimitingCollectionName "All Systems" -RefreshType ConstantUpdate
    Thanks for your help!

    I haven't tried it, but the following should work:
    $Sched = New-CMSchedule -Start "01/02/2014 1:00 AM"
    -DayOfWeek Sunday -RecurCount 1
    New-CMDeviceCollection -Name "C1"
    -LimitingCollectionName "All Systems" -RefreshSchedule $Sched -RefreshType Both
    Torsten Meringer | http://www.mssccmfaq.de

  • Create materialized view with ora-12054 error

    Oracle 10g R2 on AIX 5.3L
    I create a script (with help of EM) for a materilaized view
    CREATE MATERIALIZED VIEW "BAANDB"."R2_MV"
    TABLESPACE "USERS" NOLOGGING STORAGE ( INITIAL 128K) USING INDEX TABLESPACE "BAANIDX" STORAGE ( INITIAL 256K)
    REFRESH FORCE ON COMMIT
    ENABLE QUERY REWRITE AS
    SELECT CM.ROWID c_rid, PC.ROWID p_rid, CM."T$CWOC", "T$EMNO", CM."T$NAMA", CM."T$EDTE", PC."T$PERI", PC."T$QUAN", PC."T$YEAR", PC."T$RGDT" From BAANDB.TTPPPC235201 PC RIGHT OUTER JOIN BAANDB.TTCCOM001201 CM Using (T$EMNO)
    but I got error
    ORA-12054: cannot set the ON COMMIT refresh attribute for the materialized view
    acooding to the oerr
    // *Cause:  The materialized view did not satisfy conditions for refresh at
    // commit time.
    // *Action: Specify only valid options.
    what dose it mean? both my master tables are not IOT and are locale ones. It seems that only changing to ON DEMAND works. If I use the "REFRESH FORCE START ..NEXT", it also failed.
    I have created the materalized view logs with rowid on each master table. I think my script met every prequirement of ON COMMIT.
    table owner has "on commit refresh" privilege

    After googling on line, someone mentioned that for "ON COMMIT" on join tables, we have to use th old OUTER JOINT syntax (+) on WHERE. The new "outer joint" in FROM clause won't work.
    I tested it, it seemed to be true.

  • Create materialized view with specific column sizes

    Hi all,
    I'm trying to create a materialized view with a specific a column size. Something like
    create materialized view test_mv
    refresh force on demand
    as
    select id,
           cast(my_compound_field as nvarchar2(50))
    from ( select id,
                  field1 || field2 my_compound_field
           from   my_table);But Oracle seems to ignore the cast and takes the maximum size it finds for field1 || field2 in the select query. The resulting table has a column nvarchar2(44) instead of nvarchar2(50).
    This can give a problem when the view is refreshed... there could be new data that exceeds the current size, i.e. where length(field1 || field2) > 44.
    How can I override the column size of a field in a materialized view?
    Edit: Some additional info to clarify my case:
    field1 and field2 are defined as nvarchar2(25). field1 || field2 can theoretically have a length of 50, but there is currently no data in my table that results in that length, the max is 44. I am afraid that there will be data in the future that exceeds 44, resulting in an error when the MV is refreshed!
    Edited by: Pleiadian on Jan 25, 2011 2:06 PM

    Cannot reproduce what you are saying is happening.
    SQL> create table t (a nvarchar2(50), b nvarchar2(50));
    Table created.
    SQL> create materialized view tmv as
      2  select a, b, a || b c from t;
    Materialized view created.
    SQL> desc tmv
    Name                                      Null?    Type
    A                                                  NVARCHAR2(50)
    B                                                  NVARCHAR2(50)
    C                                                  NVARCHAR2(100)
    SQL> drop materialized view tmv;
    Materialized view dropped.
    SQL> create materialized view tmv as
      2  select a, b, substr(a || b, 1, 10) c from t;
    Materialized view created.
    SQL> desc tmv
    Name                                      Null?    Type
    A                                                  NVARCHAR2(50)
    B                                                  NVARCHAR2(50)
    C                                                  NVARCHAR2(10)
    SQL> select * from v$version;
    BANNER
    Oracle Database 11g Enterprise Edition Release 11.1.0.7.0 - 64bit Production
    PL/SQL Release 11.1.0.7.0 - Production
    CORE    11.1.0.7.0      Production
    TNS for Linux: Version 11.1.0.7.0 - Production
    NLSRTL Version 11.1.0.7.0 - Production
    SQL>Edited by: 3360 on Jan 25, 2011 8:10 AM
    And with data
    SQL> insert into t values ('3123423423143hhshgvcdcvw', 'ydgeew  gdfwe   dfefde  wfjjjjjjj');
    1 row created.
    SQL> commit;
    Commit complete.
    SQL> desc tmv
    Name                                      Null?    Type
    A                                                  NVARCHAR2(50)
    B                                                  NVARCHAR2(50)
    C                                                  NVARCHAR2(10)
    SQL> select * from tmv;
    A
    B                                                  C
    3123423423143hhshgvcdcvw
    ydgeew  gdfwe   dfefde  wfjjjjjjj                      3123423423

  • Materialized View creation with REFRESH FAST

    Hello ,
    Please see below case,
    TABLE A1(partitioned range+list)
    COLUMN C1  -- Primary key
    COLUMN C2  -- NUMBER
    TABLE D1
    COLUMN C1 -- PRIMARY KEY
    created MV log as below
    CREATE MATERIALIzED VIEW LOG ON A1 WITH ROWID,PRIMARY KEY INCLUDING NEW VALUES;
    CREATE MATERIALIzED VIEW LOG ON D1 WITH ROWID,PRIMARY KEY INCLUDING NEW VALUES;
    Trying to create MV like below:
    CREATE MATERILIZED VIEW mv1test
                                    REFRESH FAST ON COMMIT
    AS
    Select
    FROM A1,
                            D1
                    WHERE A1.C1 = D1.CI
    AND A1.C2 IS NOT NULL;
    It gives below error message:
    ORA-12052: cannot fast refresh materialized view schema.mv1test
    12052. 00000 -  "cannot fast refresh materialized view %s.%s"
    *Cause:    Either ROWIDs of certain tables were missing in the definition or
               the inner table of an outer join did not have UNIQUE constraints on
               join columns.
    *Action:   Specify the FORCE or COMPLETE option. If this error is got
               during creation, the materialized view definition may have be
               changed. Refer to the documentation on materialized views.
    However ,as discussed in earlier thread i checked all general restrictions of the 'Refresh fast' approach for join.
    Restrictions on Fast Refresh on Materialized Views with Joins Only
    Defining queries for materialized views with joins only and no aggregates have the following restrictions on fast refresh:
    1) They cannot have GROUPBY clauses or aggregates.
    2) Rowids of all the tables in the FROM list must appear in the SELECT list of the query.
    3)Materialized view logs must exist with rowids for all the base tables in the FROM list of the query.
    4)You cannot create a fast refreshable materialized view from multiple tables with simple joins that include an object type column in the SELECTstatement.
    As per above restrictions ,
    1) Group by clause is not present
    2)i do not understand 2nd point , i have added a1.rowid  and d1.rowid in  select statement of MV, but got same error.
    3) observed same as 2nd point.
    4)we have CLOB column in select list. Tried removing this column but got same error.
    Please do let me know any workaround on this.
    Thanks in advanced ..
    PM

    Basic Materialized Views show how to analyse MVs using dbms_mview. I'm not sure about creating MVs on partitioned tables, that partition maintenance might cause problems

  • How to create the document with originals and checkin that document

    I am using this 2 bapi for creating DMS ,
    BAPI_DOCUMENT_CREATE2
    BAPI_TRANSACTION_COMMIT
    BAPI_DOCUMENT_CHECKIN2
    BAPI_TRANSACTION_COMMIT
    at last we want to c in DRAO table the created doc no should be updated here.
    But it not updating.how can i update in the table..
    Please tell via code..

    How do you call BAPI_DOCUMENT_CREATE2?
    I just tried with the example given in the documentation and with a little adjustment I created a document with an original which appears in the DMS_DOC_FILES table.
      DATA: ls_doc    LIKE bapi_doc_draw2,
            ls_return LIKE bapiret2.
      DATA: lf_doctype    LIKE bapi_doc_draw2-documenttype,
            lf_docnumber  LIKE bapi_doc_draw2-documentnumber,
            lf_docpart    LIKE bapi_doc_draw2-documentpart,
            lf_docversion LIKE bapi_doc_draw2-documentversion.
      DATA: lt_files LIKE bapi_doc_files2 OCCURS 0 WITH HEADER LINE,
            lt_drat  LIKE bapi_doc_drat OCCURS 0 WITH HEADER LINE.
      ls_doc-documenttype    = 'Z01'.
      ls_doc-documentversion = '01'.
      ls_doc-documentpart    = '000'.
      ls_doc-statusextern   = 'DR'.
      ls_doc-laboratory     = '001'.
      REFRESH lt_files.
      CLEAR lt_files.
      lt_files-docfile      = 'c:\BP\test.docx'.
      APPEND lt_files.
      CLEAR lt_drat.
      REFRESH lt_drat.
      lt_drat-language    = 'EN'.
      lt_drat-description = 'Info Rec Description'.
      APPEND lt_drat.
      CALL FUNCTION 'BAPI_DOCUMENT_CREATE2'
            EXPORTING: documentdata         = ls_doc
            IMPORTING: documenttype         = lf_doctype
                       documentnumber       = lf_docnumber
                       documentpart         = lf_docpart
                       documentversion      = lf_docversion
                       return               = ls_return
           TABLES: documentdescriptions = lt_drat
                   documentfiles        = lt_files.
      IF ls_return-type CA 'EA'.
        ROLLBACK WORK.
        MESSAGE ID '26' TYPE 'I' NUMBER '000'
                WITH ls_return-message.
      ELSE.
        COMMIT WORK.
      ENDIF.
    Best Regards,
    Martin

  • How to create a node with attributes at runtime in webdynpro for ABAP?

    Hi Experts,
             How to create a node with attributes at runtime in webdynpro for ABAP? What classes or interfaces I should use? Please provide some sample code.
    I have checked IF_WD_CONTEXT_NODE_INFO and there is ADD_NEW_CHILD_NODE method. But this is not creating any node. I this this creates only a "node info" object.
    I even check IF_WD_CONTEXT_NODE but i could not find any method that creates a node with attribute.
    Please help!
    Thanks
    Gopal

    Hi
       I am getting the following error while creating a dynamic context node with 2 attributes. Please help me resolve this problem.
    Note
    The following error text was processed in the system PET : Line types of an internal table and a work area not compatible.
    The error occurred on the application server FMSAP995_PET_02 and in the work process 0 .
    The termination type was: RABAX_STATE
    The ABAP call stack was:
    Method: IF_WD_CONTEXT_NODE~GET_STATIC_ATTRIBUTES_TABLE of program CL_WDR_CONTEXT_NODE_VAL=======CP
    Method: GET_REF_TO_TABLE of program CL_SALV_WD_DATA_TABLE=========CP
    Method: EXECUTE of program CL_SALV_WD_SERVICE_MANAGER====CP
    Method: APPLY_SERVICES of program CL_SALV_BS_RESULT_DATA_TABLE==CP
    Method: REFRESH of program CL_SALV_BS_RESULT_DATA_TABLE==CP
    Method: IF_SALV_WD_COMP_TABLE_DATA~MAP_FROM_SOURCE_DATA of program CL_SALV_WD_C_TABLE_V_TABLE====CP
    Method: IF_SALV_WD_COMP_TABLE_DATA~MAP_FROM_SOURCE of program CL_SALV_WD_C_TABLE_V_TABLE====CP
    Method: IF_SALV_WD_COMP_TABLE_DATA~UPDATE of program CL_SALV_WD_C_TABLE_V_TABLE====CP
    Method: IF_SALV_WD_VIEW~MODIFY of program CL_SALV_WD_C_TABLE_V_TABLE====CP
    Method: IF_SALV_WD_COMPONENT~VIEW_MODIFY of program CL_SALV_WD_A_COMPONENT========CP
    My code is like the following:
    TYPES: BEGIN OF t_type,
                CARRID TYPE sflight-carrid,
                CONNID TYPE sflight-connid,
             END OF t_type.
      Data:  i_struc type table of t_type,
      dyn_node   type ref to if_wd_context_node,
      rootnode_info   type ref to if_wd_context_node_info,
      i_node_att type wdr_context_attr_info_map,
      wa_node_att type line of wdr_context_attr_info_map.
          wa_node_att-name = 'CARRID'.
          wa_node_att-TYPE_NAME = 'SFLIGHT-CARRID'.
          insert wa_node_att into table i_node_att.
          wa_node_att-name = 'CONNID'.
          wa_node_att-TYPE_NAME = 'SFLIGHT-CONNID'.
          insert wa_node_att into table i_node_att.
    clear i_struc. refresh i_struc.
      select carrid connid into corresponding fields of table i_struc from sflight where carrid = 'AA'.
    rootnode_info = wd_context->get_node_info( ).
    rootnode_info->add_new_child_node( name = 'DYNFLIGHT'
                                       attributes = i_node_att
                                       is_multiple = abap_true ).
    dyn_node = wd_context->get_child_node( 'DYNFLIGHT' ).
    dyn_node->bind_table( i_struc ).
    l_ref_interfacecontroller->set_data( dyn_node ).
    I am trying to create a new node. That is
    CONTEXT
    - DYNFLIGHT
    CARRID
    CONNID
    As you see above I am trying to create 'DYNFLIGHT' along with the 2 attributes which are inside this node. The structure of the node that is, no.of attributes may vary based on some condition. Thats why I am trying to create a node dynamically.
    Also I cannot define the structure in the ABAP dictionary because it changes based on condition
    Message was edited by: gopalkrishna baliga

  • Problem with sqlldr and commit

    Hi,
    i have a problem with sqlldr and commit.
    I have a simple table with one colum [ col_id number(6) not null ]. The column "col_id" is primary key in the table. I have one file with 100.000 records ( number from 0 to 99.999 ).
    I want load the file in the table with sqlldr ( sql*loader ) but i want commit only if all records are loaded. If one record is discarded i want discarded all record of file.
    The proble is that in coventional path the commit is on 64 row but if i want the same records of file isn't possible and in direct path sqlldr disable primary key :(
    There are a solutions?
    Thanks
    I'm for the bad English

    This is my table:
    DROP TABLE TEST_SQLLOADER;
    CREATE TABLE TEST_SQLLOADER
    (     COL_ID NUMBER NOT NULL,
         CONSTRAINT TEST_SQLLOADER_PK PRIMARY KEY (COL_ID)
    This is my ctlfile ( test_sql_loader.ctl )
    OPTIONS
    DIRECT=false
    ,DISCARDMAX=1
    ,ERRORS=0
    ,ROWS=100000
    load data
    infile './test_sql_loader.csv'
    append
    into table TEST_SQLLOADER
    fields terminated by "," optionally enclosed by '"'
    ( col_id )
    test_sql_loader.csv
    0
    1
    2
    3
    99999
    i run sqlloader
    sqlldr xxx/yyy@orcl control=test_sql_loader.ctl log=test_sql_loader.log
    output on the screen
    Commit point reached - logical record count 92256
    Commit point reached - logical record count 93248
    Commit point reached - logical record count 94240
    Commit point reached - logical record count 95232
    Commit point reached - logical record count 96224
    Commit point reached - logical record count 97216
    Commit point reached - logical record count 98208
    Commit point reached - logical record count 99200
    Commit point reached - logical record count 100000
    Logfile
    SQL*Loader: Release 11.2.0.1.0 - Production on Sat Oct 3 14:50:17 2009
    Copyright (c) 1982, 2009, Oracle and/or its affiliates. All rights reserved.
    Control File: test_sql_loader.ctl
    Data File: ./test_sql_loader.csv
    Bad File: test_sql_loader.bad
    Discard File: none specified
    (Allow all discards)
    Number to load: ALL
    Number to skip: 0
    Errors allowed: 0
    Bind array: 100000 rows, maximum of 256000 bytes
    Continuation: none specified
    Path used: Conventional
    Table TEST_SQLLOADER, loaded from every logical record.
    Insert option in effect for this table: APPEND
    Column Name Position Len Term Encl Datatype
    COL_ID FIRST * , O(") CHARACTER
    value used for ROWS parameter changed from 100000 to 992
    Table TEST_SQLLOADER:
    100000 Rows successfully loaded.
    0 Rows not loaded due to data errors.
    0 Rows not loaded because all WHEN clauses were failed.
    0 Rows not loaded because all fields were null.
    Space allocated for bind array: 255936 bytes(992 rows)
    Read buffer bytes: 1048576
    Total logical records skipped: 0
    Total logical records read: 100000
    Total logical records rejected: 0
    Total logical records discarded: 0
    Run began on Sat Oct 03 14:50:17 2009
    Run ended on Sat Oct 03 14:50:18 2009
    Elapsed time was: 00:00:01.09
    CPU time was: 00:00:00.06
    The commit is on 992 row
    if i have error on 993 record i have commit on first 992 row :(
    Edited by: inter1908 on 3-ott-2009 15.00

  • Error while trying to create new assignment with supervisor through API

    Hi Experts,
    I'am trying to create new assignment with supervisor for employee, but i'am facing this error:
    =============================================================
    ORA-20008: Error While Create new assignment..-20001
    ORA-20001: The supervisor assignment that you have entered is invalid.
    Please check that you have entered the supervisor,
    that the supervisor assignment belongs to this supervisor and that the assignment is effective.
    ORA-06512: at line 198
    =============================================================
    This is my script, (Oracle EBS 12.1.1)(DB 11):
    DECLARE
    v_user_id NUMBER;
    v_res_id NUMBER;
    v_res_appl_id NUMBER;
    v_org_now_no_manager_warning BOOLEAN;
    v_spp_delete_warning BOOLEAN;
    v_other_manager_warning BOOLEAN;
    v_tax_district_changed_warning BOOLEAN;
    v_entries_changed_warning VARCHAR(4000);
    v_person_id per_all_assignments_f.person_id %TYPE;
    v_business_group_id hr_all_organization_units_tl.organization_id %TYPE;
    v_people_group_id per_all_assignments_f.people_group_id %TYPE;
    v_object_version_number per_all_assignments_f.object_version_number %TYPE;
    v_special_ceiling_step_id per_all_assignments_f.special_ceiling_step_id %TYPE;
    v_group_name pay_people_groups.group_name %TYPE;
    v_ass_effective_start_date per_all_assignments_f.effective_start_date %TYPE;
    v_effective_start_date per_all_assignments_f.effective_start_date %TYPE;
    v_effective_end_date per_all_assignments_f.effective_end_date %TYPE;
    v_assignment_id per_all_assignments_f.assignment_id %TYPE;
    v_sup_assignment_id per_all_assignments_f.assignment_id %TYPE;
    v_supervisor_assignment_id per_all_assignments_f.assignment_id %TYPE;
    v_job_id per_jobs.job_id %TYPE;
    v_grade_id per_grades.grade_id %TYPE;
    v_location_id hr_locations_all.location_id %TYPE;
    v_payroll_id pay_all_payrolls_f.payroll_id %TYPE;
    v_pay_basis_id per_pay_bases.pay_basis_id %TYPE;
    BEGIN
    v_user_id := FND_GLOBAL.user_id ;
    v_res_id := FND_GLOBAL.resp_id ;
    v_res_appl_id:= FND_GLOBAL.resp_appl_id;
    FND_GLOBAL.apps_initialize(v_user_id, v_res_id, v_res_appl_id);
    BEGIN
    SELECT organization_id
    INTO v_business_group_id
    FROM hr_all_organization_units_tl
    WHERE name = 'Vision University'
    AND language = 'US';
    EXCEPTION
    WHEN OTHERS THEN
    RAISE_APPLICATION_ERROR(-20000,'Error While Retrieving (Business Group ID) Info...'||SQLCODE||' '||SQLERRM);
    END;
    FOR R IN (SELECT * FROM xx_assignment) LOOP
    BEGIN
    SELECT assignment_id , ass_f.object_version_number
    INTO v_assignment_id , v_object_version_number
    FROM per_all_assignments_f ass_f, per_all_people_f p_f
    WHERE ass_f.person_id = p_f.person_id
    AND ass_f.business_group_id = p_f.business_group_id
    AND ass_f.business_group_id = v_business_group_id
    AND p_f.employee_number = R.employee_number
    AND TRUNC(p_f.effective_start_date)= TRUNC(ass_f.effective_start_date)
    AND TRUNC(p_f.effective_end_date) = TRUNC(ass_f.effective_end_date);
    EXCEPTION
    WHEN OTHERS THEN
    RAISE_APPLICATION_ERROR(-20001,'Error While Retrieving (Assignmet_ID) for employee..'||SQLCODE||' '||SQLERRM);
    END;
    BEGIN
    SELECT job_id
    INTO v_job_id
    FROM per_jobs
    WHERE trim(lower(name)) = trim(lower(r.employee_job))
    AND business_group_id = v_business_group_id;
    EXCEPTION
    WHEN OTHERS THEN
    RAISE_APPLICATION_ERROR(-20002,'Error While Retrieving (Job_ID) Info...'||SQLCODE||' '||SQLERRM);
    END;
    BEGIN
    SELECT grade_id
    INTO v_grade_id
    FROM per_grades
    WHERE trim(lower(name)) = trim(lower(r.employee_grade))
    AND business_group_id = v_business_group_id;
    EXCEPTION
    WHEN OTHERS THEN
    RAISE_APPLICATION_ERROR(-20003,'Error While Retrieving (Grade_ID) Info...'||SQLCODE||' '||SQLERRM);
    END;
    BEGIN
    SELECT location_id
    INTO v_location_id
    FROM hr_locations_all
    WHERE trim(lower(description))= trim(lower(r.employee_location))
    AND business_group_id = v_business_group_id;
    EXCEPTION
    WHEN OTHERS THEN
    RAISE_APPLICATION_ERROR(-20004,'Error While Retrieving (Location_ID) Info...'||SQLCODE||' '||SQLERRM);
    END;
    BEGIN
    SELECT payroll_id
    INTO v_payroll_id
    FROM pay_all_payrolls_f
    WHERE trim(lower(payroll_name)) = trim(lower(r.payroll_name))
    AND business_group_id = v_business_group_id;
    EXCEPTION
    WHEN OTHERS THEN
    RAISE_APPLICATION_ERROR(-20005,'Error While Retrieving (Payroll_ID) Info...'||SQLCODE||' '||SQLERRM);
    END;
    BEGIN
    SELECT pay_basis_id
    INTO v_pay_basis_id
    FROM per_pay_bases
    WHERE trim(lower(pay_basis)) = trim(lower(r.pay_basis))
    AND business_group_id = v_business_group_id;
    EXCEPTION
    WHEN OTHERS THEN
    RAISE_APPLICATION_ERROR(-20006,'Error While Retrieving (Pay_Basis_ID) Info...'||SQLCODE||' '||SQLERRM);
    END;
    BEGIN
    SELECT person_id
    INTO v_person_id
    FROM per_all_people_f
    WHERE employee_number = r.supervisor_number
    AND business_group_id= v_business_group_id;
    SELECT assignment_id
    INTO v_sup_assignment_id
    FROM per_all_assignments_f
    WHERE person_id = v_person_id
    AND business_group_id = v_business_group_id;
    EXCEPTION
    WHEN OTHERS THEN
    RAISE_APPLICATION_ERROR(-20007,'Error While Retrieving (Assignmet_ID) for supervisor..'||SQLCODE||' '||SQLERRM);
    end;
    BEGIN
    hr_assignment_api.update_emp_asg_criteria(p_effective_date => TRUNC(SYSDATE),
    p_datetrack_update_mode => 'CORRECTION',
    p_assignment_id => v_assignment_id,
    p_validate => FALSE,
    p_called_from_mass_update => NULL,
    p_grade_id => v_grade_id,
    p_position_id => NULL,
    p_job_id => v_job_id,
    p_payroll_id => null,--v_payroll_id,
    p_location_id => v_location_id,
    p_organization_id => v_business_group_id,
    p_pay_basis_id => v_pay_basis_id,
    p_segment1 => NULL,
    p_segment2 => NULL,
    p_segment3 => NULL,
    p_segment4 => NULL,
    p_segment5 => NULL,
    p_segment6 => NULL,
    p_segment7 => NULL,
    p_segment8 => NULL,
    p_segment9 => NULL,
    p_segment10 => NULL,
    p_segment11 => NULL,
    p_segment12 => NULL,
    p_segment13 => NULL,
    p_segment14 => NULL,
    p_segment15 => NULL,
    p_segment16 => NULL,
    p_segment17 => NULL,
    p_segment18 => NULL,
    p_segment19 => NULL,
    p_segment20 => NULL,
    p_segment21 => NULL,
    p_segment22 => NULL,
    p_segment23 => NULL,
    p_segment24 => NULL,
    p_segment25 => NULL,
    p_segment26 => NULL,
    p_segment27 => NULL,
    p_segment28 => NULL,
    p_segment29 => NULL,
    p_segment30 => NULL,
    p_employment_category => NULL,
    p_concat_segments => NULL,
    p_grade_ladder_pgm_id => NULL,
    p_supervisor_assignment_id => v_sup_assignment_id,
    p_people_group_id => v_people_group_id,
    p_object_version_number => v_object_version_number,
    p_special_ceiling_step_id => v_special_ceiling_step_id,
    p_group_name => v_group_name,
    p_effective_start_date => v_ass_effective_start_date,
    p_effective_end_date => v_effective_end_date,
    p_org_now_no_manager_warning => v_org_now_no_manager_warning ,
    p_spp_delete_warning => v_spp_delete_warning,
    p_entries_changed_warning => v_entries_changed_warning,
    p_tax_district_changed_warning => v_tax_district_changed_warning,
    p_other_manager_warning => v_other_manager_warning);
    EXCEPTION
    WHEN OTHERS THEN
    RAISE_APPLICATION_ERROR(-20008,'Error While Create new assignment..'||SQLCODE||' '||SQLERRM);
    END;
    END LOOP;
    COMMIT;
    END;
    Thank you & Best Regards

    I think this is essentially saying that the Supervisor Assignment is wrong or no longer effective. Looking at your SQL to fetch the Supervisor Assignment there are a number of potential issues. This is what you've currently got:
    SELECT person_id
    INTO v_person_id
    FROM per_all_people_f
    WHERE employee_number = r.supervisor_number
    AND business_group_id= v_business_group_id;
    SELECT assignment_id
    INTO v_sup_assignment_id
    FROM per_all_assignments_f
    WHERE person_id = v_person_id
    AND business_group_id = v_business_group_id;
    Potential Problems/Clarifications
    1. What is r.supervisor_number, what does it contain and how is it derived? I can't see that anywhere else in the block...
    2. Is there a chance that r.supervisor_number is referencing an employee who has left, ie, now an ex-employee?
    3. The SELECT statement that fetches the assignment_id does not perform any date-effective restrictions, which means you might be lucky enough to fetch the person's current assignment. But you might also fetch an old or future-dated assignment.
    4. The SELECT statement that fetches the assignment_id does not restrict the type of assignment, so if this manager has applied for a job (ie, they have an applicant assignment) or some other type of non-employee assignment you might be picking that up.
    This would work better for you:
    SELECT paaf.assignment_id
    INTO v_sup_assignment_id
    FROM per_all_people_f papf
    ,per_all_assignments_f paaf
    WHERE papf.employee_number = r.supervisor_number
    AND papf.business_group_id = v_business_group_id
    AND nvl(papf.current_employee_flag, 'N') = 'Y'
    AND trunc(sysdate) BETWEEN
    papf.effective_start_date AND papf.effective_end_date
    AND papf.person_id = paaf.person_id
    AND paaf.assignment_type = 'E'
    AND paaf.primary_flag = 'Y'
    AND trunc(sysdate) BETWEEN
    paaf.effective_start_date AND paaf.effective_end_date;
    If it doesn't return a row it means that the supervisor (or whatever employee is returned by r.supervisor_number) is not active as at sysdate and cannot be used. Note that this SQL only applies for employees. If you can have Contingent Workers as supervisors in your implementation then this needs tweaking.
    Does that help?

  • Creating Materialized View with the Distinct key word

    Hi
    I need help to create Materialized View with the Distinct key word.
    my query is
    select distinct col1, col2 from t1;
    is there any alternate of DISTINCT because I can not refresh the MV as fast on demand if I am using it and Fast on Demand is a must for me.

    hi
    check out this link
    http://download-west.oracle.com/docs/cd/B12037_01/server.101/b10736/basicmv.htm#i1007299
    http://download.oracle.com/docs/cd/B19306_01/server.102/b14220/intro.htm#sthref183
    hope this helps
    CHeers

  • Creating materialized view with variables - help

    Greetings,
    I want to create an materialized view (MV) from the external public db link. Below is my full query:
    CREATE MATERIALIZED VIEW PROJECTS_MV
    REFRESH WITH ROWID
    AS
    SELECT prj.Project_id, prj.desc,
    prj.parent_project_id, f_year, f_month
    FROM sysadm.prj@EFUYEEDW_DB_LINK.MSDB prj
    WHERE prj.pf_scenario_id = '708KDD'
    AND prj.ph_id = 'SHAREDP'
    AND f_year = (SELECT EXTRACT(year FROM current_DATE) FROM dual)
    AND f_month = (SELECT EXTRACT(month FROM current_DATE) FROM dual)
    Question: In the query there are two variables that capture the month and year and requery it. Does the data get updated automatically when a new month or new year changes?
    If there is a change, how would I change so it would update the data accordingly?
    Thanks for your help
    john9569

    Hi Christian,
    Thanks for your response. Your codes return the date as 01-JAN-09 which is not what I'm looking for. Maybe my question is not clear.
    So far, the MV is executed correctly what I want. My concern is when it updates the MV, does it get the new data (f_month & f_year) when the MV is updated automatically?
    Other words, the MV is updated nightly to get the incremental data from the db link. Once it passes to the new month, I am not sure how this MV handles since the f_month is now changed to differrent number.
    Thanks for your help.
    Bests,
    John9569

  • I want to create an ALV  with two row fields name

    Hi
    I want to create an ALV  with two row fields name. please suggest how to do it or send some sample code
    thanks

    Hi,
    see this link
    http://****************/Tutorials/ALV/ALVMainPage.htm
    http://www.alvrobot.com.ar/tutorial.php
    https://www.sdn.sap.com/irj/sdn/go/portal/prtroot/docs/library/uuid/b09ac4d5-e3ad-2910-6a81-96d1b861928c
    http://abapprogramming.blogspot.com/2007/11/alv-check-boxes-sample-code.html
    REPORT zalv5 NO STANDARD PAGE HEADING.
    Description----
    TOPICS INTRODUCED:
    1. Learn about the u2018Standardu2019 PF-Status that comes as default.
    2. Exclude function codes from u2018Standardu2019 PF-Status and customize it.
    TYPE-POOLS: slis.
    DATA: BEGIN OF i_data OCCURS 0,
    qmnum LIKE qmel-qmnum,
    qmart LIKE qmel-qmart,
    qmtxt LIKE qmel-qmtxt,
    ws_row TYPE i,
    ws_char(5) TYPE c,
    chk,
    END OF i_data.
    DATA: report_id LIKE sy-repid.
    DATA: ws_title TYPE lvc_title VALUE 'An ALV Report'.
    DATA: i_layout TYPE slis_layout_alv.
    DATA: i_fieldcat TYPE slis_t_fieldcat_alv.
    DATA: i_events TYPE slis_t_event.
    DATA: i_header TYPE slis_t_listheader.
    DATA: i_extab TYPE slis_t_extab.
    SELECT qmnum
    qmart
    qmtxt
    INTO TABLE i_data
    FROM qmel
    WHERE qmnum <= '00030000010'. LOOP AT i_data. i_data-ws_row = sy-tabix. i_data-ws_char = 'AAAAA'. MODIFY i_data. ENDLOOP. report_id = sy-repid. PERFORM f1000_layout_init CHANGING i_layout. PERFORM f2000_fieldcat_init CHANGING i_fieldcat. PERFORM f3000_build_header CHANGING i_header. PERFORM f4000_events_init CHANGING i_events. CALL FUNCTION 'REUSE_ALV_GRID_DISPLAY' EXPORTING * I_INTERFACE_CHECK = ' ' * I_BYPASSING_BUFFER = * I_BUFFER_ACTIVE = ' ' i_callback_program = report_id * I_CALLBACK_PF_STATUS_SET = ' ' * I_CALLBACK_USER_COMMAND = ' ' * I_CALLBACK_TOP_OF_PAGE = ' ' * I_CALLBACK_HTML_TOP_OF_PAGE = ' ' * I_CALLBACK_HTML_END_OF_LIST = ' ' * i_structure_name = ' ' * I_BACKGROUND_ID = ' ' i_grid_title = ws_title * I_GRID_SETTINGS = is_layout = i_layout it_fieldcat = i_fieldcat * IT_EXCLUDING = * IT_SPECIAL_GROUPS = * IT_SORT = * IT_FILTER = * IS_SEL_HIDE = * I_DEFAULT = 'X' i_save = 'A' * IS_VARIANT = it_events = i_events * IT_EVENT_EXIT = * IS_PRINT = * IS_REPREP_ID = * I_SCREEN_START_COLUMN = 0 * I_SCREEN_START_LINE = 0 * I_SCREEN_END_COLUMN = 0 * I_SCREEN_END_LINE = 0 * IT_ALV_GRAPHICS = * IT_ADD_FIELDCAT = * IT_HYPERLINK = * IMPORTING * E_EXIT_CAUSED_BY_CALLER = * ES_EXIT_CAUSED_BY_USER = TABLES t_outtab = i_data EXCEPTIONS program_error = 1 OTHERS = 2 . IF sy-subrc <> 0.
    MESSAGE ID sy-msgid TYPE sy-msgty NUMBER sy-msgno
    WITH sy-msgv1 sy-msgv2 sy-msgv3 sy-msgv4.
    ENDIF.
    *& Form F1000_Layout_Init
    FORM f1000_layout_init USING i_layout TYPE slis_layout_alv.
    CLEAR i_layout.
    i_layout-colwidth_optimize = 'X'.
    i_layout-edit = 'X'.
    ENDFORM. " F1000_Layout_Init
    *& Form f2000_fieldcat_init
    FORM f2000_fieldcat_init CHANGING i_fieldcat TYPE slis_t_fieldcat_alv.
    DATA: line_fieldcat TYPE slis_fieldcat_alv.
    CLEAR line_fieldcat.
    line_fieldcat-fieldname = 'QMNUM'. " The field name and the table
    line_fieldcat-tabname = 'I_DATA'. " name are the two minimum req.
    line_fieldcat-key = 'X'. " Specifies the column as a key (Blue)
    line_fieldcat-seltext_m = 'Notification No.'. " Column Header
    APPEND line_fieldcat TO i_fieldcat.
    CLEAR line_fieldcat.
    line_fieldcat-fieldname = 'QMART'.
    line_fieldcat-ref_tabname = 'I_DATA'.
    line_fieldcat-hotspot = 'X'. " Shows the field as a hotspot.
    line_fieldcat-seltext_m = 'Notif Type'.
    APPEND line_fieldcat TO i_fieldcat.
    CLEAR line_fieldcat.
    line_fieldcat-fieldname = 'QMTXT'.
    line_fieldcat-tabname = 'I_DATA'.
    line_fieldcat-seltext_m = 'Description'.
    APPEND line_fieldcat TO i_fieldcat.
    CLEAR line_fieldcat.
    line_fieldcat-fieldname = 'WS_ROW'.
    line_fieldcat-tabname = 'I_DATA'.
    line_fieldcat-seltext_m = 'Row Number'.
    APPEND line_fieldcat TO i_fieldcat.
    CLEAR line_fieldcat.
    line_fieldcat-fieldname = 'WS_CHAR'.
    line_fieldcat-tabname = 'I_DATA'.
    line_fieldcat-seltext_l = 'Test Character Field'.
    line_fieldcat-datatype = 'CHAR'.
    line_fieldcat-outputlen = '15'. " You can specify the width of a
    APPEND line_fieldcat TO i_fieldcat. " column.
    CLEAR line_fieldcat.
    line_fieldcat-fieldname = 'CHK'.
    line_fieldcat-tabname = 'I_DATA'.
    line_fieldcat-seltext_l = 'Checkbox'.
    line_fieldcat-checkbox = 'X'. " Display this field as a checkbox
    line_fieldcat-edit = 'X'. " This option ensures that you can
    " edit the checkbox. Else it will
    " be protected.
    APPEND line_fieldcat TO i_fieldcat.
    ENDFORM. " f2000_fieldcat_init
    *& Form f3000_build_header
    FORM f3000_build_header USING i_header TYPE slis_t_listheader.
    DATA: gs_line TYPE slis_listheader.
    CLEAR gs_line.
    gs_line-typ = 'H'.
    gs_line-info = 'This is line of type HEADER'.
    APPEND gs_line TO i_header.
    CLEAR gs_line.
    gs_line-typ = 'S'.
    gs_line-key = 'STATUS 1'.
    gs_line-info = 'This is line of type STATUS'.
    APPEND gs_line TO i_header.
    gs_line-key = 'STATUS 2'.
    gs_line-info = 'This is also line of type STATUS'.
    APPEND gs_line TO i_header.
    CLEAR gs_line.
    gs_line-typ = 'A'.
    gs_line-info = 'This is line of type ACTION'.
    APPEND gs_line TO i_header.
    ENDFORM. " f3000_build_header
    *& Form f4000_events_init
    FORM f4000_events_init CHANGING i_events TYPE slis_t_event.
    DATA: line_event TYPE slis_alv_event.
    CLEAR line_event.
    line_event-name = 'TOP_OF_PAGE'.
    line_event-form = 'F4100_TOP_OF_PAGE'.
    APPEND line_event TO i_events.
    CLEAR line_event.
    line_event-name = 'PF_STATUS_SET'.
    line_event-form = 'F4200_PF_STATUS_SET'.
    APPEND line_event TO i_events.
    ENDFORM. " f3000_events_init
    FORM F4100_TOP_OF_PAGE *
    FORM f4100_top_of_page.
    CALL FUNCTION 'REUSE_ALV_COMMENTARY_WRITE'
    EXPORTING
    it_list_commentary = i_header.
    ENDFORM.
    FORM F4200_PF_STATUS_SET *
    FORM f4200_pf_status_set USING i_extab TYPE slis_t_extab.
    REFRESH i_extab.
    PERFORM f4210_exclude_fcodes CHANGING i_extab.
    SET PF-STATUS 'STANDARD' OF PROGRAM 'SAPLSALV' EXCLUDING i_extab.
    ENDFORM.
    *& Form f4210_exclude_fcodes
    FORM f4210_exclude_fcodes USING i_extab TYPE slis_t_extab.
    DATA: ws_fcode TYPE slis_extab.
    CLEAR ws_fcode.
    ws_fcode = '&EB9'. " Call up Report.
    APPEND ws_fcode TO i_extab.
    ws_fcode = '&ABC'. " ABC Analysis.
    APPEND ws_fcode TO i_extab.
    ws_fcode = '&NFO'. " Info Select.
    APPEND ws_fcode TO i_extab.
    ws_fcode = '&LFO'. " Information.
    APPEND ws_fcode TO i_extab.
    ENDFORM. " f4210_exclude_fcodes
    thanks
    karthik
    reward me if usefull

  • Unable to Create site collections with any template

    Hi All,
    We are using SharePoint 2013 , after long time am tried for create new BI center in one of our web application , but its taking more then 10 mints , the page is loading more then 10 mints , after that i just refresh the page and i got a error "Sorry
    this site was created already with this name".
    so , i try to enter the new site URL am getting error the page is not valid .
    i thought this was on issue with requirements on BI Center , so i checked the web application associated service application , but i have Visio Graphics service application , Excel Service Application and Performance point service application running for
    this web application .
    after some time i tried to create team site template site collection , i am facing the same issue again , i really dont know what is the issue with my CA , can any one help me to solve this issue ASAP.
    i tried to create site collection from PowerShell also , but am facing the same issue , even i got the same error while try to create sub site. i tried with refreshing IIS also , but its not worked.
    Am waiting for your valuable response .
    Thanks,
    Mani L
    Mani L

    Hello Mani L,
    Please make a host entry on you WFE server for the URL of the site you are trying to create. Then try browsing the site from same server.
    - First check if the binding is correctly configure in Alternate Access mapping on Central administration
    - Same binding should be provided under IIS for the web application
    If this doesn't resolve the issue then, for testing create a host entry for central admin hostheader url.
    To do this follow below mentioned steps:
    Go to Start -> Run -> Type drivers
    open HOSTS file in a notepad
    type IP address of the APP server and beside that with a tab key type URL of the site
    Save the file and try to browse the site in a fresh new browser after closing all the browser.
    Where SharePoint.com is my Host Header URL and IP address is the server IP where the site is hosted (APP Server generally)
    Thank You, Pallav S. Srivastav ----- If this helped you resolve your issue, please mark it Answered.

  • Materialized view with refresh frequency of once every day

    DB Version:11g
    If i want to create a Materialized view which should get refreshed once every day, the below code should be fine. Right
    create materialized view mv_empname refresh complete
      start with sysdate
      next sysdate + 1
      as select empname from emp Should i be using TRUNC
    like
    next trunc(sysdate) + 1 for any reason?

    If you dont use TRUNC i guess it will be refreshed every day at the time when it was first refreshed. That is If first time it was refreshed on 3pm then ever day it will be refreshed at 3pm.
    But when you user TRUNC you are removing the time part and it will be set to 00:00:00 meaning 12AM. so the refresh will happen at 12AM ever day.

Maybe you are looking for

  • Blurry Cover Flow Icons

    All of a sudden my icons in cover flow view are blurry. Any ideas how can I fix it? A file by file fix is impractical. I have hundreds of thousands of image files.

  • Bug or feature: TableView sorts the underlying list?

    that's at least highly unexpected - all variants of table sorting I know, support some kind of sortedView on top of the user model (either by a framework outside of the table, as GlazedList, or internal as core swing). Is it a not-yet-done feature or

  • Reboot Required informational message is getting old...

    I lost my hard drive and had to reinstall Acrobat v7.1.0 Professional. Tech Support was very helpful in getting me what I needed to reload the software. However, two very irritating things are happening: 1) When accessing a pdf file, I periodically g

  • App icon is grey when downloading on phone

    hello guys! when i downloaded apps on my phone before, the semi-transparent icon of the app would show up with a status bar when it's downloading and it would show the full icon when it's done installing. last night when i was trying to update an app

  • Access page method from template

    Hi, I'm using JDev11/ADF and I need to implement this scenario : A have a page fragment based on a page template. This page has a backing bean with a class exteded from a generic class. I have some generic buttons in the page template. Theses buttons