Creating view to turn result vertical

Greetings guru,
This is a simplified version of what I need, but has all the elements to let me expand it to my real world situation. I need to basically turn this horizontal result set vertical and add the item # and Title (See table below). Per each building_name, year, month group. I need to produce the table below. Basically produce the table for each record returned
I’m currently running Oracle 9i but we are going to upgrade to 10g in June. I know that Oracle 10g has SQL modeling (http://download-east.oracle.com/docs/cd/B19306_01/server.102/b14223/sqlmodel.htm#i1013509), which should be able to produce the desired results (I’m currently trying to understand how to use it). My goal is to create a view that can produce this result with the data from the example query. I do not want to execute the query more than once because it is going against a data warehouse.
Extra kool points will be scored for providing a 9i and 10g view that could produce the results.
Note: The Act# and Est# are all numbers. I’m not against creating a table to hold the Item # and Title. My real world scenario has 26 Items and three more data columns.
select building_name, year, month, Act1, Act2,Act3,Act4,Act5, Est1,Est2,Est3,Est4,Est5
from table_name
where building_name =’ONE PLAZA’ and
           year = ‘2007’
           month = ‘2’
*NOTE: Sorry for the table alignment. I did not know how to create a html table in the foum.
Item #     Title     Actual     Estimate     Difference
1          Rent                        Act1                     Est1                        Estimate-Actual
2          Improvement            Act2                      Est2                        Estimate-Actual
3          Operating Cost         Act3                      Est3                        Estimate-Actual
4          Total Rent                Act1+Act2+Act3         Est1+Est2+Est3          Estimate-Actual
4a         Ground Parking       Act4                         Est4                         Estimate-Actual
4b         Surface Parking       Act5                          Est5                        Estimate-Actual
C          Total Parking           Act4+Act5                 Est4+Est5                Estimate-Actual
D          Total Bill (B+C)        Act1+Act2+Act2+          Est1+Est2+Est3+              Estimate-Actual
                                    Act4+Act5              Est4+Est5     

Hi!
Pls search with Pivot query. U get plenty of example - what u need.
Regards.
Satyaki De.

Similar Messages

  • Create Materialized View based on Results from LDAP Query

    Hi -- I'm trying to create a materialized view based on results from an LDAP query. Unfortunately, it looks like a materialized view can't be created based on a stored procedure, which is where the LDAP results are obtained (using nested loops).
    Does anyone have any idea how to do this without first kicking off a stored procedure that populates a temp table which would be used to create the materialized view? I'm trying to minimize the steps that the DBA's will need to go through when refreshing this new view.
    Thanks,
    ~Christine

    Can you give us more details about the stored procedure you're calling. It will help to know what parameters are involved and what data types they are.
    Off the top of my head though it looks like, at the very least, you would need a stored function that calls the stored procedure. I don't think there is any way to call stored procedures from CREATE ... commands. If you're going to create a stored function anyway ... well, you might as well just create a procedure that inserts values into a regular table instead of fussing with functions and materialized views. You'll probably want to schedule your new procedure to run periodically since it sounds like you'll need the values refreshed from time to time.

  • Non-sense error message trying to create view

    Greetings All,
    Oracle Database 11g Enterprise Edition Release 11.2.0.1.0 - 64bit Production on Windows 2008R2
    I am getting an error while trying to create a view. The error makes no sense in that no attempt to change a user name or password as the error message being produced suggests.
    I can execute the entire select statement fine, I get results back.
    If I comment out the line indicated as being in error, the problem moves to the line prior to the one commented out. The 4 lines prior to the line indicated by the error message are similar. The error is occurring on the last of the 5 similar lines of code.
    If I move all 5 lines further up in the code the error moves accordingly.
    The function validate_number (near where the error is identified) under certain conditions will issue a execute immediate 'alter session set nls_numeric_characters = ''.,''';
    The column number identified in the error message is 2 spaces prior to the validate_number function call.
    Below is the syntax for the creation of the view, the error message is at the bottom.
    The numbers to the far left indicate the line number. I put 2 blank lines before and after the line of code identified by the error message.
    The error points to the 2-spaces in front of the VALIDATE_NUMBER function call on line 350. just before the sql code ==> validate_number(Spend_Qty,'')),0) <==
    Thanks for your time,
    Bob
    CREATE OR REPLACE VIEW REPORT_STAGING_V AS
    -  SELECT
    -    SPEND_STAGING.INPUT_FILE_ID,
    -    SPEND_STAGING.SPEND_ID,
    -    SPEND_STAGING.SPEND_DOC_NUM,
    -    SPEND_STAGING.SPEND_DOC_ITM_NUM,
    -    SPEND_STAGING.SPEND_DOC_YR_NUM,
    -    SPEND_STAGING.ACCT_PYBL_INV_DOC_NUM,
    -    SPEND_STAGING.ACCT_PYBL_INV_FSCL_YR_NUM,
    -    SPEND_STAGING.COMPANY_CODE,
    -    SPEND_STAGING.ACCT_PYBL_INV_LN_ITM_NUM,
    -    SPEND_STAGING.SPEND_DOC_TYPE_CD,
    -    SPEND_STAGING.SPEND_MTHD_TXT,
    -    NVL(SPEND_STAGING.SRC_SYS_CD, '<BLANK>') SRS_SYS_CD,
    -    SPEND_STAGING.SPEND_SAVING_DT,
    -    SPEND_STAGING.SPEND_SAVING_FSCL_WK_NUM,
    -    SPEND_STAGING.SPEND_SAVING_FSCL_MTH_NUM,
    -    SPEND_STAGING.SPEND_SAVING_FSCL_QTR_NUM,
    -    SPEND_STAGING.SPEND_SAVING_FSCL_YR_NUM,
    -    SPEND_STAGING.MTRL_GRP_CD,
    -    SPEND_STAGING.MTRL_GRP_DESC_TXT,
    -    SPEND_STAGING.MTRL_GRP_LVL_1_TXT,
    -    SPEND_STAGING.MTRL_GRP_LVL_2_TXT,
    -    SPEND_STAGING.MTRL_GRP_LVL_3_TXT,
    -    SPEND_STAGING.MTRL_GRP_LVL_4_TXT,
    -    SPEND_STAGING.MTRL_GRP_LVL_5_TXT,
    -    SPEND_STAGING.MTRL_GRP_LVL_6_TXT,
    -    SPEND_STAGING.MTRL_GRP_LVL_7_TXT,
    -    SPEND_STAGING.MTRL_GRP_LVL_8_TXT,
    -    SPEND_STAGING.GL_ACCT_NUM,
    -    SPEND_STAGING.GL_ACCT_DESC,
    -    SPEND_STAGING.COST_CENTR_CD,
    -    SPEND_STAGING.PRFT_CENTR_CD,
    -    SPEND_STAGING.FUNCNL_AREA_CD,
    -    SPEND_STAGING.PURCH_GRP_CD,
    -    SPEND_STAGING.PURCH_GRP_NAM,
    -    SPEND_STAGING.PURCH_ORG_CD,
    -    SPEND_STAGING.PURCH_ORG_NAM,
    -    SPEND_STAGING.REGION_CODE,
    -    SPEND_STAGING.VNDR_ACCT_ROOT_NUM,
    -    SPEND_STAGING.VNDR_CORP_NAM,
    -    SPEND_STAGING.VNDR_CORP_TICKER_SYMBL_CD,
    -    SPEND_STAGING.BUYPOINT_VNDR_ACCT_NUM,
    -    SPEND_STAGING.BUYPOINT_VNDR_FIRST_NAM,
    -    SPEND_STAGING.PAYPOINT_VNDR_ACCT_NUM,
    -    SPEND_STAGING.PAYPOINT_VNDR_FIRST_NAM,
    -    SPEND_STAGING.SPEND_PYMNT_TERM_CD,
    -    SPEND_STAGING.SPEND_PYMNT_TERM_DESC,
    -    SPEND_STAGING.SPEND_PYMNT_BSLN_DT,
    -50  SPEND_STAGING.SPEND_PYMNT_CLRNG_DT,
    -    SPEND_STAGING.CONTRACTUAL_PYMNT_TERM_DY_CNT,
    -    SPEND_STAGING.VNDR_MTRL_NUM,
    -    SPEND_STAGING.MTRL_ID_1280,
    -    SPEND_STAGING.MTRL_DESC,
    -    SPEND_STAGING.BAT_NUM,
    -    SPEND_STAGING.SPCL_STOCK_IND,
    -    SPEND_STAGING.INVTY_MVMNT_TYPE_CD,
    -    SPEND_STAGING.GOODS_RCPNT_NAM,
    -    SPEND_STAGING.MFG_PART_NUM,
    -    SPEND_STAGING.PLANT_CD,
    -    SPEND_STAGING.PLANT_DESC,
    -    SPEND_STAGING.STORAGE_LOC_CD,
    -    SPEND_STAGING.STORAGE_LOC_DESC,
    -    SPEND_STAGING.UNLOADING_PT_DESC,
    -    SPEND_STAGING.PO_NUM,
    -    SPEND_STAGING.PO_LN_ITM_NUM,
    -    SPEND_STAGING.PO_LN_ITM_LAST_CHNG_DT,
    -    SPEND_STAGING.PO_DOC_DT,
    -    SPEND_STAGING.PO_TYPE_CD,
    -    SPEND_STAGING.PO_TYPE_DESC,
    -    SPEND_STAGING.PO_UOM_CD,
    -    SPEND_STAGING.PO_PYMNT_TERM_CD,
    -    SPEND_STAGING.ASGND_ACCT_CTGRY_TYPE_CD,
    -    SPEND_STAGING.PO_SHORT_TXT,
    -    SPEND_STAGING.GR_MTRL_DOC_TXT,
    -    SPEND_STAGING.ACCT_PYBL_INV_ITM_TXT,
    -    SPEND_STAGING.PO_RCPT_INV_HST_DOC_POST_DT,
    -    SPEND_STAGING.APPRTN_NUM,
    -    SPEND_STAGING.REQTN_TRK_NUM,
    -    SPEND_STAGING.REQTN_LN_NUM,
    -    SPEND_STAGING.REQTN_LN_ITM_NUM,
    -    SPEND_STAGING.REQTN_PERSN_ACCT_ID,
    -    SPEND_STAGING.NTWRK_NUM,
    -    SPEND_STAGING.NTWRK_CTGRY_CD,
    -    SPEND_STAGING.PROJ_NAM,
    -    SPEND_STAGING.WBS_ELMNT_NAM,
    -    SPEND_STAGING.CPTL_PO_IND,
    -    LU_GAC_STAGING.TIER_SUPPLIER,
    -    CASE
    -      WHEN SPEND_STAGING.PRCRMNT_RPTNG_LVL_3_TXT = 'GAC'
    -      AND LU_GAC_STAGING.PO_SHORT_TXT            = SPEND_STAGING.PO_SHORT_TXT
    -      AND SPEND_STAGING.SRC_SPLR_NAM            IS NULL
    -      THEN LU_GAC_STAGING.TIER_SUPPLIER
    -      ELSE SRC_SPLR_NAM
    -    END SRC_SPLR_NAM,
    -    SPEND_STAGING.TAX_CD,
    -    SPEND_STAGING.TAX_CD_DESC,
    -    SPEND_STAGING.TAX_JURISDICTION_TXT,
    -    SPEND_STAGING.MTRL_DOC_PRCS_UOM_QTY,
    -100 SPEND_STAGING.MTRL_DOC_UNIT_OF_ENTRY_QTY,
    -    SPEND_STAGING.PO_LN_ITM_QTY,
    -    SPEND_STAGING.PO_LN_ITM_NET_PRC_UNIT_QTY,
    -    SPEND_STAGING.PO_LN_ITM_NET_PRC_USD_AMT,
    -    SPEND_STAGING.PO_LN_ITM_NET_PRC_DC_AMT,
    -    SPEND_STAGING.PO_LN_ITM_NET_PRC_BDGT_USD_AMT,
    -    SPEND_STAGING.PO_LN_ITM_TOT_USD_AMT,
    -    SPEND_STAGING.SPEND_USD_AMT,
    -    SPEND_STAGING.SPEND_DOC_CURNCY_AMT,
    -    SPEND_STAGING.SPEND_LOCAL_CURNCY_AMT,
    -    SPEND_STAGING.SPEND_BDGT_USD_AMT,
    -    SPEND_STAGING.SPEND_QTY,
    -    SPEND_STAGING.SPEND_QTY_UOM_CD,
    -    SPEND_STAGING.SPEND_UNIT_OF_ENTRY_QTY,
    -    SPEND_STAGING.SPEND_UNIT_OF_ENTRY_UOM_CD,
    -    SPEND_STAGING.SPEND_DC_FX_MTH_CNVRSN_FCT_VAL,
    -    SPEND_STAGING.SPEND_DC_FX_BDG_CNVRSN_FCT_VAL,
    -    SPEND_STAGING.CMPNY_LOCAL_CURNCY_CD,
    -    SPEND_STAGING.DOC_CURNCY_CD,
    -    SPEND_STAGING.TRANSTN_TYPE_CD,
    -    SPEND_STAGING.ACCT_ASGNMT_SEQ_NUM,
    -    SPEND_STAGING.GLPCA_LN_ITM_REC_NUM,
    -    SPEND_STAGING.PCA_REF_DOC_NUM,
    -    SPEND_STAGING.CO_DOC_NUM,
    -    SPEND_STAGING.CO_FSCL_YR_NUM,
    -    SPEND_STAGING.CO_LN_ITM_NUM,
    -    SPEND_STAGING.VNDR_REF_DOC_NUM,
    -    SPEND_STAGING.SAVING_MTHD_TXT,
    -    SPEND_STAGING.SAVING_CMNT_TXT,
    -    SPEND_STAGING.SAVING_COND_NUM,
    -    SPEND_STAGING.SAVING_COND_ITM_NUM,
    -    SPEND_STAGING.SAVING_COND_TYPE_CD,
    -    SPEND_STAGING.SAVING_COND_TYPE_DESC,
    -    SPEND_STAGING.SAVING_COND_CURNCY_CD,
    -    SPEND_STAGING.SAVING_COND_PRC_UNIT_UOM_CD,
    -    SPEND_STAGING.SAVING_COND_PRC_UNIT_QTY,
    -    SPEND_STAGING.SAVING_COND_RTE_USD_AMT,
    -    SPEND_STAGING.SAVING_COND_CURNCY_CNVRSN_VAL,
    -    SPEND_STAGING.SAVING_COND_CURNCY_BDGT_CNVRSN,
    -    SPEND_STAGING.PO_TRANSTN_COND_DC_AMT,
    -    SPEND_STAGING.PO_TRANSTN_COND_USD_AMT,
    -    SPEND_STAGING.SAVING_RTE_PER_USD_AMT,
    -    SPEND_STAGING.SAVING_PER_USD_AMT,
    -    SPEND_STAGING.SAVING_PER_BDGT_USD_AMT,
    -    SPEND_STAGING.AVOIDANCE_USD_AMT,
    -    SPEND_STAGING.AVOIDANCE_BDGT_USD_AMT,
    -    SPEND_STAGING.SAVING_USD_AMT,
    -    SPEND_STAGING.SAVING_BDGT_USD_AMT,
    -    SPEND_STAGING.NO_FX_SAVING_USD_AMT,
    -    SPEND_STAGING.NO_FX_AVOIDANCE_USD_AMT,
    -150 SPEND_STAGING.TOT_REDUCTN_USD_AMT,
    -    SPEND_STAGING.TOT_REDUCTN_BDGT_USD_AMT,
    -    SPEND_STAGING.TOT_NO_FX_REDUCTN_USD_AMT,
    -    SPEND_STAGING.PAYMENTNET_TRANSTN_NUM,
    -    SPEND_STAGING.PAYMENTNET_TRANSTN_LN_ITM_NUM,
    -    SPEND_STAGING.ROW_CRTE_GMT_DTTM,
    -    SPEND_STAGING.ROW_MODIFY_GMT_DTTM,
    -    SPEND_STAGING.ROW_CRTE_MST_DTTM,
    -    SPEND_STAGING.ROW_MODIFY_MST_DTTM,
    -    SPEND_STAGING.PRCRMNT_DIRECTOR_NAM,
    -    SPEND_STAGING.PRCRMNT_PLANT_DSGNTN,
    -    SPEND_STAGING.PRCRMNT_RPTNG_LVL_1_TXT,
    -    SPEND_STAGING.PRCRMNT_RPTNG_LVL_2_TXT,
    -    SPEND_STAGING.PRCRMNT_RPTNG_LVL_3_TXT,
    -    SPEND_STAGING.SPEND_CAT_ID,
    -    SPEND_STAGING.SPEND_RULE_ID,
    -    SPEND_STAGING.TRANSACTION_DATE,
    -    SPEND_STAGING.SPEND_AMOUNT,
    -    SPEND_STAGING.ITEM_DESCRIPTION,
    -    SPEND_STAGING.SUPPLIER_ID,
    -    CASE
    -      WHEN SPEND_STAGING.SOURCE ='SPEND'
    -      THEN 'Spend and Savings'
    -      WHEN SPEND_STAGING.SOURCE ='TRAVEL'
    -      THEN 'Travel'
    -      ELSE NULL
    -    END SOURCE,
    -    SPEND_STAGING.SUPPLIER_NUMBER,
    -    SPEND_STAGING.TRAVEL_PERSNO,
    -    SPEND_STAGING.TRIP,
    -    SPEND_STAGING.TRAVEL_DOC,
    -    SPEND_STAGING.TRAVEL_EXPTY,
    -    SPEND_STAGING.TRAVEL_EXP_TYPE_DESC,
    -    SPEND_STAGING.TRAVLE_CREDIT_CARD_TRAN_DESC TRAVEL_CREDIT_CARD_TRAN_DESC,
    -    SPEND_STAGING.COUNTRY_CODE,
    -    SPEND_STAGING.TRAVEL_INFO,
    -    SPEND_STAGING.TRAVEL_ID,
    -    SPEND_STAGING.TRAVEL_DOCUMENT_NUMBER,
    -    SPEND_STAGING.TRAVEL_LAST_NAME_FIRST_NAME,
    -    SPEND_STAGING.TRAVEL_TRIP_REASON,
    -    SPEND_STAGING.TRAVEL_TRIP_STATUS,
    -    SPEND_STAGING.TRAVEL_RATE,
    -    SPEND_STAGING.FINANCE_ORG,
    -    SPEND_STAGING.ASSOCIATED_MG_CODE,
    -   SPEND_STAGING.COUNTRY_DESC,
    -   SPEND_STAGING.TRAVEL_ID_DESC_BANKCARD,
    -    SPEND_STAGING.COMPANY_CODE_DESC,
    -    SPEND_STAGING.COST_CENTER_DESC,
    -    'Q'||TO_CHAR(SPEND_STAGING.TRANSACTION_DATE,'Q') QUARTERNAME,
    -    TO_CHAR(SPEND_STAGING.TRANSACTION_DATE,'YYYY') YEARNAME,
    -200 CASE
    -      WHEN SPEND_STAGING.SRC_SYS_CD = 'P-CARD'
    -      THEN SS2.CLEANSED_PARENT_NAME
    -      ELSE SS1.CLEANSED_PARENT_NAME
    -    END CLEANSED_PARENT_NAME,
    -    CASE
    -      WHEN SPEND_STAGING.SRC_SYS_CD = 'P-CARD'
    -      THEN SS2.cleansed_name_1
    -      ELSE SS1.cleansed_name_1
    -    END CLEANSED_NAME1,
    -    CASE
    -      WHEN SPEND_STAGING.MTRL_ID_1280 IS NULL
    -       AND SPEND_STAGING.VNDR_MTRL_NUM IS NOT NULL
    -      THEN SPEND_STAGING.VNDR_MTRL_NUM
    -      WHEN SPEND_STAGING.MTRL_ID_1280 IS NULL
    -       AND SPEND_STAGING.VNDR_MTRL_NUM IS NULL
    -       AND SPEND_STAGING.MFG_PART_NUM  IS NOT NULL
    -      THEN SPEND_STAGING.MFG_PART_NUM
    -      WHEN SPEND_STAGING.MTRL_GRP_LVL_4_TXT = 'EFM'
    -       AND SPEND_STAGING.PO_TYPE_CD         = 'ZAR'
    -       AND SPEND_STAGING.MTRL_ID_1280       IS NOT NULL
    -      THEN SPEND_STAGING.MTRL_ID_1280||'-MIX'
    -      WHEN SPEND_STAGING.MTRL_GRP_LVL_4_TXT = 'EWM'
    -       AND SPEND_STAGING.PO_TYPE_CD          = 'ZAR'
    -       AND SPEND_STAGING.MTRL_ID_1280       IS NOT NULL
    -      THEN SPEND_STAGING.MTRL_ID_1280
    -        ||'-MIX'
    -      WHEN SPEND_STAGING.MTRL_GRP_LVL_4_TXT = 'EWM'
    -      AND SPEND_STAGING.PO_TYPE_CD          = 'ZSA'
    -      AND SPEND_STAGING.MTRL_ID_1280       IS NOT NULL
    -      THEN SPEND_STAGING.MTRL_ID_1280
    -        ||'-ASMBLY'
    -      WHEN SPEND_STAGING.MTRL_GRP_LVL_4_TXT = 'EFM'
    -      AND SPEND_STAGING.PO_TYPE_CD          = 'ZSA'
    -      AND SPEND_STAGING.MTRL_ID_1280       IS NOT NULL
    -      THEN SPEND_STAGING.MTRL_ID_1280
    -        ||'-ASMBLY'
    -      WHEN SPEND_STAGING.MTRL_GRP_LVL_4_TXT = 'EFM'
    -      AND SPEND_STAGING.PO_TYPE_CD          = 'ZST'
    -      AND SPEND_STAGING.MTRL_ID_1280       IS NOT NULL
    -      THEN SPEND_STAGING.MTRL_ID_1280
    -        ||'-TEST'
    -      WHEN SPEND_STAGING.MTRL_GRP_LVL_4_TXT = 'EWM'
    -      AND SPEND_STAGING.PO_TYPE_CD          = 'ZST'
    -      AND SPEND_STAGING.MTRL_ID_1280       IS NOT NULL
    -      THEN SPEND_STAGING.MTRL_ID_1280
    -        ||'-TEST'
    -      WHEN SPEND_STAGING.MTRL_GRP_LVL_4_TXT = 'EFM'
    -      AND SPEND_STAGING.PO_TYPE_CD          = 'ZBI'
    -      AND SPEND_STAGING.MTRL_ID_1280       IS NOT NULL
    -250   THEN SPEND_STAGING.MTRL_ID_1280
    -        ||'-BURN-IN'
    -      WHEN SPEND_STAGING.MTRL_GRP_LVL_4_TXT = 'EWM'
    -      AND SPEND_STAGING.PO_TYPE_CD          = 'ZBI'
    -      AND SPEND_STAGING.MTRL_ID_1280       IS NOT NULL
    -      THEN SPEND_STAGING.MTRL_ID_1280
    -        ||'-BURN-IN'
    -      WHEN SPEND_STAGING.MTRL_GRP_LVL_4_TXT = 'EFM'
    -      AND SPEND_STAGING.PO_TYPE_CD          = 'ZRJ'
    -      AND SPEND_STAGING.MTRL_ID_1280       IS NOT NULL
    -      THEN SPEND_STAGING.MTRL_ID_1280
    -        ||'-REJECT'
    -      WHEN SPEND_STAGING.MTRL_GRP_LVL_4_TXT = 'EWM'
    -      AND SPEND_STAGING.PO_TYPE_CD          = 'ZRJ'
    -      AND SPEND_STAGING.MTRL_ID_1280       IS NOT NULL
    -      THEN SPEND_STAGING.MTRL_ID_1280
    -        ||'-REJECT'
    -      WHEN SPEND_STAGING.MTRL_GRP_LVL_4_TXT = 'EFM'
    -      AND SPEND_STAGING.PO_TYPE_CD          = 'ZPR'
    -      AND SPEND_STAGING.MTRL_ID_1280       IS NOT NULL
    -      THEN SPEND_STAGING.MTRL_ID_1280
    -        ||'-PROBE'
    -      WHEN SPEND_STAGING.MTRL_GRP_LVL_4_TXT = 'EWM'
    -      AND SPEND_STAGING.PO_TYPE_CD          = 'ZPR'
    -      AND SPEND_STAGING.MTRL_ID_1280       IS NOT NULL
    -      THEN SPEND_STAGING.MTRL_ID_1280
    -        ||'-PROBE'
    -      WHEN SPEND_STAGING.MTRL_GRP_LVL_4_TXT = 'EFM'
    -      AND SPEND_STAGING.PO_TYPE_CD          = 'ZEF'
    -      AND SPEND_STAGING.MTRL_ID_1280       IS NOT NULL
    -      THEN SPEND_STAGING.MTRL_ID_1280
    -        ||'-ENG'
    -      WHEN SPEND_STAGING.MTRL_GRP_LVL_4_TXT = 'EWM'
    -      AND SPEND_STAGING.PO_TYPE_CD          = 'ZEF'
    -      AND SPEND_STAGING.MTRL_ID_1280       IS NOT NULL
    -      THEN SPEND_STAGING.MTRL_ID_1280
    -        ||'-ENG'
    -      WHEN SPEND_STAGING.MTRL_GRP_LVL_4_TXT = 'EFM'
    -      AND SPEND_STAGING.PO_TYPE_CD          = 'ZEM'
    -      AND SPEND_STAGING.MTRL_ID_1280       IS NOT NULL
    -      THEN SPEND_STAGING.MTRL_ID_1280
    -        ||'-ENG'
    -      WHEN SPEND_STAGING.MTRL_GRP_LVL_4_TXT = 'EWM'
    -      AND SPEND_STAGING.PO_TYPE_CD          = 'ZEM'
    -      AND SPEND_STAGING.MTRL_ID_1280       IS NOT NULL
    -      THEN SPEND_STAGING.MTRL_ID_1280
    -        ||'-ENG'
    -      WHEN SPEND_STAGING.MTRL_GRP_LVL_4_TXT = 'EFM'
    -      AND SPEND_STAGING.PO_TYPE_CD          = 'ZEU'
    -      AND SPEND_STAGING.MTRL_ID_1280       IS NOT NULL
    -300   THEN SPEND_STAGING.MTRL_ID_1280
    -        ||'-ENGWFR'
    -      WHEN SPEND_STAGING.MTRL_GRP_LVL_4_TXT = 'EWM'
    -      AND SPEND_STAGING.PO_TYPE_CD          = 'ZEU'
    -      AND SPEND_STAGING.MTRL_ID_1280       IS NOT NULL
    -      THEN SPEND_STAGING.MTRL_ID_1280
    -        ||'-ENGWFR'
    -      WHEN SPEND_STAGING.MTRL_GRP_LVL_4_TXT = 'EFM'
    -      AND SPEND_STAGING.PO_TYPE_CD          = 'ZSF'
    -      AND SPEND_STAGING.MTRL_ID_1280       IS NOT NULL
    -      THEN SPEND_STAGING.MTRL_ID_1280
    -        ||'-WFR'
    -      WHEN SPEND_STAGING.MTRL_GRP_LVL_4_TXT = 'EWM'
    -      AND SPEND_STAGING.PO_TYPE_CD          = 'ZSF'
    -      AND SPEND_STAGING.MTRL_ID_1280       IS NOT NULL
    -      THEN SPEND_STAGING.MTRL_ID_1280
    -        ||'-WFR'
    -      WHEN SPEND_STAGING.MTRL_GRP_LVL_4_TXT = 'EFM'
    -      AND SPEND_STAGING.PO_TYPE_CD          = 'ZEF'
    -      AND SPEND_STAGING.MTRL_ID_1280       IS NOT NULL
    -      THEN SPEND_STAGING.MTRL_ID_1280
    -        ||'-ENG'
    -      WHEN SPEND_STAGING.MTRL_GRP_LVL_4_TXT = 'EWM'
    -      AND SPEND_STAGING.PO_TYPE_CD          = 'ZEF'
    -      AND SPEND_STAGING.MTRL_ID_1280       IS NOT NULL
    -      THEN SPEND_STAGING.MTRL_ID_1280
    -        ||'-ENG'
    -      WHEN SPEND_STAGING.MTRL_GRP_LVL_4_TXT = 'EFM'
    -      AND SPEND_STAGING.MTRL_ID_1280       IS NOT NULL
    -      THEN SPEND_STAGING.MTRL_ID_1280
    -        ||'-POTypeCode'
    -      WHEN SPEND_STAGING.MTRL_GRP_LVL_4_TXT = 'EWM'
    -      AND SPEND_STAGING.MTRL_ID_1280       IS NOT NULL
    -      THEN SPEND_STAGING.MTRL_ID_1280
    -        ||'-POTypeCode'
    -      ELSE SPEND_STAGING.MTRL_ID_1280
    -    END ReportingPartNum,
    -    LU_PCARD_STAGING.COST_CENTR_CD PCARD_COST_CENTR_CD,
    -    LU_PCARD_STAGING.CTY_NAM PCARD_CTY_NAM,
    -    LU_PCARD_STAGING.DISABLE_LINE PCARD_DISABLE_LINE,
    -    LU_PCARD_STAGING.DISABLED_OWNED_BIZ_FLG PCARD_DISABLED_OWNED_BIZ_FLG,
    -    LU_PCARD_STAGING.DIVERSITY_VNDR_FLG PCARD_DIVERSITY_VNDR_FLG,
    -    LU_PCARD_STAGING.FIELD PCARD_FIELD,
    -    LU_PCARD_STAGING.GL_ACCT_NUM PCARD_GL_ACCT_NUM,
    -    LU_PCARD_STAGING.HUB_ZONE_SMALL_BIZ_CONCERN_FLG PCARD_HUB_ZONE,
    -    LU_PCARD_STAGING.MINORITY_OWNED_BIZ_FLG PCARD_MINORITY_OWNED_BIZ_FLG,
    -    NVL(validate_number(Po_Ln_Itm_Net_Prc_Usd_Amt,'')/DECODE(validate_number(Po_Ln_Itm_Net_Prc_Unit_Qty,''),0,1,validate_number(Po_Ln_Itm_Net_Prc_Unit_Qty,'')),0) po_unit_price_per_1_usd,
    -    NVL(validate_number(Po_Ln_Itm_Net_Prc_Dc_Amt,'') /DECODE(validate_number(Po_Ln_Itm_Net_Prc_Unit_Qty,''),0,1,validate_number(Po_Ln_Itm_Net_Prc_Unit_Qty,'')),0) po_unit_price_per_1_doc_cur,
    -    NVL(validate_number(Spend_Bdgt_Usd_Amt,'')       /DECODE(validate_number(Spend_Qty,''),0,1,                 validate_number(Spend_Qty,'')),0)                  spend_up_per_1_usd_budgt_rate,
    -    NVL(validate_number(Spend_Usd_Amt,'')            /DECODE(validate_number(Spend_Qty,''),0,1,                 validate_number(Spend_Qty,'')),0)                  spend_up_per_1_usd_mon_rate,
    -350 NVL(validate_number(Spend_Doc_Curncy_Amt,'')     /DECODE(validate_number(Spend_Qty,''),0,1,                 validate_number(Spend_Qty,'')),0)                  Spend_UP_per_1_Doc_Curr,
    -    TO_CHAR(TRANSACTION_DATE,'MM-YYYY') MONTH_YEAR,
    -    LU_PCARD_STAGING.MTRL_GRP_CD PCARD_MTRL_GRP_CD,
    -    LU_PCARD_STAGING.PAYMENTNET_TRANSTN_LN_ITM_NUM PCARD_PAY_TRANSTN_LN_ITM_NUM,
    -    LU_PCARD_STAGING.PAYMENTNET_TRANSTN_NUM PCARD_PAY_TRANSTN_NUM,
    -    LU_PCARD_STAGING.PAYMENTNET_TRANSTN_POST_DT PCARD_PAY_TRANSTN_POST_DT,
    -    LU_PCARD_STAGING.PCARD_INV_AMT PCARD_INV_AMT,
    -    LU_PCARD_STAGING.PCARD_INV_CURNCY_CD PCARD_INV_CURNCY_CD,
    -    LU_PCARD_STAGING.PCARD_INV_DT PCARD_INV_DT,
    -    LU_PCARD_STAGING.PCARD_INV_LN_ITM_AMT PCARD_INV_LN_ITM_AMT,
    -    LU_PCARD_STAGING.PCARD_INV_LN_ITM_TAX_AMT PCARD_INV_LN_ITM_TAX_AMT,
    -    LU_PCARD_STAGING.PCARD_INV_LN_ITM_TAX_CD PCARD_INV_LN_ITM_TAX_CD,
    -    LU_PCARD_STAGING.PCARD_INV_REF_NUM PCARD_INV_REF_NUM,
    -    LU_PCARD_STAGING.PCARD_INV_TAX_AMT PCARD_INV_TAX_AMT,
    -    LU_PCARD_STAGING.PCARD_MERCHANT_NAM PCARD_MERCHANT_NAM,
    -    LU_PCARD_STAGING.PCARD_OWNR_ID PCARD_OWNR_ID,
    -    LU_PCARD_STAGING.PCARD_SHORT_TXT PCARD_SHORT_TXT,
    -    LU_PCARD_STAGING.PCARD_SRC_FILE_NAM PCARD_SRC_FILE_NAM,
    -    LU_PCARD_STAGING.PLANT_CD PCARD_PLANT_CD,
    -    LU_PCARD_STAGING.PURCH_GRP_CD PCARD_PURCH_GRP_CD,
    -    LU_PCARD_STAGING.RCPNT_ID PCARD_RCPNT_ID,
    -    LU_PCARD_STAGING.REQTN_CRTE_BY_ID PCARD_REQTN_CRTE_BY_ID,
    -    LU_PCARD_STAGING.REQTN_LN_ITM_NUM PCARD_REQTN_LN_ITM_NUM,
    -    LU_PCARD_STAGING.REQTN_NUM PCARD_REQTN_NUM,
    -    LU_PCARD_STAGING.SERV_DISABLE_VETERAN_BIZ_FLG PCARD_SERV_DIS_VET_BIZ_FLG,
    -    LU_PCARD_STAGING.STATE_CD PCARD_STATE_CD,
    -    LU_PCARD_STAGING.STATE_CD,
    -    LU_PCARD_STAGING.VETERAN_OWNED_BIZ_FLG PCARD_VETERAN_OWNED_BIZ_FLG,
    -    LU_PCARD_STAGING.VNDR_ACCT_NUM PCARD_VNDR_ACCT_NUM,
    -    LU_PCARD_STAGING.WOMAN_OWNED_BIZ_FLG PCARD_WOMAN_OWNED_BIZ_FLG2,
    -    DENSE_RANK() OVER (ORDER BY NVL(TO_CHAR(TRANSACTION_DATE, 'YYYYMM'),'190010') DESC) AS DATE_RANK,
    -    LU_PRICE_BY_UNIT_STAGING.MTRL_GRP PBU_MTRL_GRP,
    -    LU_PRICE_BY_UNIT_STAGING.MTRL_GRP_DES PBU_MTRL_GRP_DES,
    -    LU_PRICE_BY_UNIT_STAGING.MTRL_ID PBU_MTRL_ID,
    -    LU_PRICE_BY_UNIT_STAGING.PLANT PBU_PLANT,
    -    LU_PRICE_BY_UNIT_STAGING.PLANT_DESC PBU_PLANT_DESC,
    -    LU_PRICE_BY_UNIT_STAGING.SUPPLIER PBU_SUPPLIER,
    -    LU_PRICE_BY_UNIT_STAGING.DESCRIPTION PBU_DESCRIPTION,
    -    LU_PRICE_BY_UNIT_STAGING.UOM PBU_UOM,
    -    LU_PRICE_BY_UNIT_STAGING.CONTENT_VOLUME PBU_CONTENT_VOLUME,
    -    LU_PRICE_BY_UNIT_STAGING.UOM_CONTENT_VOLUME PBU_UOM_CONTENT_VOLUME,
    -    LU_PRICE_BY_UNIT_STAGING.CONTENT_WEIGHT PBU_CONTENT_WEIGHT,
    -    LU_PRICE_BY_UNIT_STAGING.UOM_CONTENT_WT PBU_UOM_CONTENT_WT,
    -    LU_PRICE_BY_UNIT_STAGING.PRICE__PACKAGE PBU_PRICE__PACKAGE,
    -    LU_PRICE_BY_UNIT_STAGING.PRICE_PER_UOM_WT PBU_PRICE_PER_UOM_WT,
    -    LU_PRICE_BY_UNIT_STAGING.PRICE_PER_UOM_VOL PBU_PRICE_PER_UOM_VOL,
    -    LU_PRICE_BY_UNIT_STAGING.COMMON_NAME PBU_COMMON_NAME,
    -    LU_GAC_UOM_REFERENCE_STAGING.LU_GAC_UOM_REFERENCE_ID,
    -    LU_GAC_UOM_REFERENCE_STAGING.FSL_PART_NUMBER,
    -    LU_GAC_UOM_REFERENCE_STAGING.SUPPLIER LU_GAC_SUPPLIER,
    -400 LU_GAC_UOM_REFERENCE_STAGING.DESCRIPTION LU_GAC_DESCRIPTION,
    -    LU_GAC_UOM_REFERENCE_STAGING.GAC_MAT_SUBGROUP LU_GAC_MAT_SUBGROUP ,
    -    LU_GAC_UOM_REFERENCE_STAGING.ACTUAL_FILL LU_GAC_ACTUAL_FILL,
    -    LU_GAC_UOM_REFERENCE_STAGING.COMMON__UOM LU_GAC_COMMON_UOM,
    -    LU_GAC_UOM_REFERENCE_STAGING.PACKAGE LU_GAC_PACKAGE
    -  FROM
    -    SPEND_STAGING,
    -    SUPPLIER_STAGING SS1,
    -    SUPPLIER_STAGING SS2,
    -    LU_GAC_STAGING,
    -    lu_card_code_staging,
    -    LU_PCARD_STAGING,
    -    LU_PRICE_BY_UNIT_STAGING,
    -    LU_GAC_UOM_REFERENCE_STAGING
    -  WHERE SS1.SUPPLIER_ID(+)                     = SPEND_STAGING.SUPPLIER_ID
    -  AND SS2.PCARD_INV_REF_NUM(+)             = SPEND_STAGING.PCARD_INV_REF_NUM
    -  AND SS2.PAYMENTNET_TRANSTN_NUM(+)        = SPEND_STAGING.PAYMENTNET_TRANSTN_NUM
    -  AND SS2.PAYMENTNET_TRANSTN_LN_ITM_NUM(+) =
    -    SPEND_STAGING.PAYMENTNET_TRANSTN_LN_ITM_NUM
    -  AND lu_card_code_staging.card_code(+)          = spend_staging.travel_id
    -  AND lu_gac_staging.po_short_txt(+)             = spend_staging.po_short_txt
    -  AND LU_PCARD_STAGING.PCARD_INV_REF_NUM(+)      = SPEND_STAGING.PCARD_INV_REF_NUM
    -  AND LU_PCARD_STAGING.PAYMENTNET_TRANSTN_NUM(+) =
    -    SPEND_STAGING.PAYMENTNET_TRANSTN_NUM
    -  AND LU_PCARD_STAGING.PAYMENTNET_TRANSTN_LN_ITM_NUM(+) =
    -    SPEND_STAGING.PAYMENTNET_TRANSTN_LN_ITM_NUM
    -  AND LU_PRICE_BY_UNIT_STAGING.MTRL_ID(+)             = SPEND_STAGING.MTRL_ID_1280
    -  AND LU_PRICE_BY_UNIT_STAGING.PLANT(+)               = SPEND_STAGING.PLANT_CD
    -  AND lu_gac_uom_REFERENCE_STAGING.fsl_part_number(+) =
    -431 SPEND_STAGING.MTRL_ID_1280;Error at Command Line:350 Column:112
    Error report:
    SQL Error: ORA-01031: insufficient privileges
    01031. 00000 - "insufficient privileges"
    *Cause:    An attempt was made to change the current username or password
    without the appropriate privilege. This error also occurs if
    attempting to install a database without the necessary operating
    system privileges.
    When Trusted Oracle is configure in DBMS MAC, this error may occur
    if the user was granted the necessary privilege at a higher label
    than the current login.
    *Action:   Ask the database administrator to perform the operation or grant
    the required privileges.
    For Trusted Oracle users getting this error although granted the
    the appropriate privilege at a higher label, ask the database
    administrator to regrant the privilege at the appropriate label.
    Edited by: Snyds on May 24, 2012 7:46 AM

    Checking for privileges was the first thing I did.
    User has create view and create any view.
    Also has alter session privilege which is needed within the validate_number function (see below).
    I was able to create the view you suggested.
    I believe there is a privilege problem, just cant figure which.
    create or replace function validate_number(p_number      in varchar2,
                                               p_format_mask in varchar2)
    return number
    AUTHID CURRENT_USER is
      v_number number;
      v_mask   varchar2(100) := '999999999999999999999.00000000000000000000';
      cursor get_number_masks is
      select mask,upper(is_i18n) is_i18n from cm_master.format_mask
      where type = 'NUMBER' order by sequence, is_i18n; 
    begin
      if p_format_mask is not null then
        begin
          return to_number(p_number, p_format_mask);   
        exception
          when others then null;
        end;
      end if;
      for a in get_number_masks
      loop
        if a.is_i18n = 'Y' then
          -- We are applying an international number format mask
          begin
            -- Attempt #1
            -- Set the decimal to a ',' and the group separator to a '.'
            execute immediate 'alter session set nls_numeric_characters = '',.''';
            v_number := to_number(ltrim(rtrim(to_char(to_number(p_number, a.mask),v_mask))),v_mask);
            execute immediate 'alter session set nls_numeric_characters = ''.,''';
            return v_number;
          exception
            when others then
              -- First Attempt Failed - Attempt #2
              -- Set the decimal to a ',' and the group separator to a ' '
              begin
                execute immediate 'alter session set nls_numeric_characters = '', ''';
                v_number := to_number(ltrim(rtrim(to_char(to_number(p_number, a.mask),v_mask))),v_mask);
                execute immediate 'alter session set nls_numeric_characters = ''.,''';
                return v_number;
              exception
                when others then
                  -- Second Attempt Failed - Attempt #3
                  -- Set the decimal to a '.' and the group separator to a ' '
                  begin
                    execute immediate 'alter session set nls_numeric_characters = ''. ''';
                    v_number := to_number(ltrim(rtrim(to_char(to_number(p_number, a.mask),v_mask))),v_mask);
                    execute immediate 'alter session set nls_numeric_characters = ''.,''';
                    return v_number;
                  exception
                    when others then null;
                  end;
              end;
          end;
        else
          begin
            return to_number(p_number, a.mask);
          exception
            when others then null;
          end;
        end if;
      end loop;
      return null;
    exception
      when others then return null;
    end validate_number;Edited by: Snyds on May 24, 2012 7:48 AM

  • Creating View for a table with parent child relation in table

    I need help creating a view. It is on a base table which is a metadata table.It is usinf parent child relationship. There are four types of objects, Job, Workflow, Dataflow and ABAP dataflow. Job would be the root parent everytime. I have saved all the jobs
    of the project in another table TABLE_JOB with column name JOB_NAME. Query should iteratively start from the job and search all the child nodes and then display all child with the job name. Attached are the images of base table data and expected view data
    and also the excel sheet with data.Picture 1 is the sample data in base table. Picture 2 is data in the view.
    Base Table
    PARENT_OBJ
    PAREBT_OBJ_TYPE
    DESCEN_OBJ
    DESCEN_OBJ_TYPE
    JOB_A
    JOB
    WF_1
    WORKFLOW
    JOB_A
    JOB
    DF_1
    DATAFLOW
    WF_1
    WORKFLOW
    DF_2
    DATAFLOW
    DF_1
    DATAFLOW
    ADF_1
    ADF
    JOB_B
    JOB
    WF_2
    WORKFLOW
    JOB_B
    JOB
    WF_3
    WORKFLOW
    WF_2
    WORKFLOW
    DF_3
    DATAFLOW
    WF_3
    WORKFLOW
    DF_4
    DATAFLOW
    DF_4
    DATAFLOW
    ADF_2
    ADF
    View
    Job_Name
    Flow_Name
    Flow_Type
    Job_A
    WF_1
    WORKFLOW
    Job_A
    DF_1
    DATAFLOW
    Job_A
    DF_2
    DATAFLOW
    Job_A
    ADF_1
    ADF
    Job_B
    WF_2
    WORKFLOW
    Job_B
    WF_3
    WORKFLOW
    Job_B
    DF_3
    DATAFLOW
    Job_B
    DF_4
    DATAFLOW
    Job_B
    ADF_2
    ADF
    I implemented the same in oracle using CONNECT_BY_ROOT and START WITH.
    Regards,
    Megha

    I think what you need is recursive CTE
    Consider your table below
    create table basetable
    (PARENT_OBJ varchar(10),
    PAREBT_OBJ_TYPE varchar(10),
    DESCEN_OBJ varchar(10),DESCEN_OBJ_TYPE varchar(10))
    INSERT basetable(PARENT_OBJ,PAREBT_OBJ_TYPE,DESCEN_OBJ,DESCEN_OBJ_TYPE)
    VALUES('JOB_A','JOB','WF_1','WORKFLOW'),
    ('JOB_A','JOB','DF_1','DATAFLOW'),
    ('WF_1','WORKFLOW','DF_2','DATAFLOW'),
    ('DF_1','DATAFLOW','ADF_1','ADF'),
    ('JOB_B','JOB','WF_2','WORKFLOW'),
    ('JOB_B','JOB','WF_3','WORKFLOW'),
    ('WF_2','WORKFLOW','DF_3','DATAFLOW'),
    ('WF_3','WORKFLOW','DF_4','DATAFLOW'),
    ('DF_4','DATAFLOW','ADF_2','ADF')
    ie first create a UDF like below to get hierarchy recursively
    CREATE FUNCTION GetHierarchy
    @Object varchar(10)
    RETURNS @RESULTS table
    PARENT_OBJ varchar(10),
    DESCEN_OBJ varchar(10),
    DESCEN_OBJ_TYPE varchar(10)
    AS
    BEGIN
    ;With CTE
    AS
    SELECT PARENT_OBJ,DESCEN_OBJ,DESCEN_OBJ_TYPE
    FROM basetable
    WHERE PARENT_OBJ = @Object
    UNION ALL
    SELECT b.PARENT_OBJ,b.DESCEN_OBJ,b.DESCEN_OBJ_TYPE
    FROM CTE c
    JOIN basetable b
    ON b.PARENT_OBJ = c.DESCEN_OBJ
    INSERT @RESULTS
    SELECT @Object,DESCEN_OBJ,DESCEN_OBJ_TYPE
    FROM CTE
    OPTION (MAXRECURSION 0)
    RETURN
    END
    Then you can invoke it as below
    SELECT * FROM dbo.GetHierarchy('JOB_A')
    Now you need to use this for every parent obj (start obj) in view 
    for that create view as below
    CREATE VIEW vw_Table
    AS
    SELECT f.*
    FROM (SELECT DISTINCT PARENT_OBJ FROM basetable r
    WHERE NOT EXISTS (SELECT 1
    FROM basetable WHERE DESCEN_OBJ = r.PARENT_OBJ)
    )b
    CROSS APPLY dbo.GetHierarchy(b.PARENT_OBJ) f
    GO
    This will make sure it will give full hieraracy for each start object
    Now just call view as below and see the output
    SELECT * FROM vw_table
    Output
    PARENT_OBJ DESCEN_OBJ DESCEN_OBJ_TYPE
    JOB_A WF_1 WORKFLOW
    JOB_A DF_1 DATAFLOW
    JOB_A ADF_1 ADF
    JOB_A DF_2 DATAFLOW
    JOB_B WF_2 WORKFLOW
    JOB_B WF_3 WORKFLOW
    JOB_B DF_4 DATAFLOW
    JOB_B ADF_2 ADF
    JOB_B DF_3 DATAFLOW
    Please Mark This As Answer if it helps to solve the issue Visakh ---------------------------- http://visakhm.blogspot.com/ https://www.facebook.com/VmBlogs

  • Create view link programatically

    Hi all,
    I am working on this weird requirement.
    Basically, I have to create a detail table on a search resullt table. The search result is seeded search, for Item Advance search in Oracle PIM module which is not based upon a VO. The search result table is dynamically built at run time in the EgoItemSearchHelper class and that's where they build the search result VO (EgoItemSearchResultsVO).
    Now, I need to access this VO in the controller class, and create a view link programatically between details table VO and this VO. The problem is since I do not have Impl class for the EgoItemSearchResultsVO, how do I accees the column that is the key attribute. Second I do not know how to create view link between the two VOs programatically.
    Please help it's urgent.
    Thanks

    Pratap, My problem is the seeded VO is in seeded AM and my details VO will be in my custom AM, I don't know if we can have a view link between View objects that are in different AMs.
    To bypass that problem, I tried to create a VO in the seeded AM programatically and then created a view link. Now since the AM is seeded, and I am adding my details VO to this AM programatically, I thought of creating a table also programatically on the detais VO.
    In the end it does not work, I end up getting a show button on the main table, but when I click I get an error (Cannot find <null> attribute in the EOGITEMSEARCHRESULTVO) which is the seeded VO class. Unfortunately there is no boolean variable on the dynamic seeded VO, so don't know what to put in oatablebean.setDetailViewAttributeName("") method;
    Any clues on this, appreciate all responses from the forum gurus.
    ViewObject voEmp = oaapplicationmodule.createViewObject("MyEmp", "xxuss.oracle.apps.ego.item.eu.server.DetailsOrderLinesVO");
    ViewObject voEmp = am.createViewObject("MyEmp", "xxuss.oracle.apps.ego.item.eu.server.DetailsOrderLinesVO");
    AttributeDef[] prjLinkAttrs = new AttributeDef[]{oaapplicationmodule.findViewObject("EgoItemSearchResultsVO").findAttributeDef("INVENTORY_ITEM_ID_B")};
    System.out.println("definition for attr = "+ prjLinkAttrs[0]);
    AttributeDef[] taskLinkAttrs = new AttributeDef[]{voEmp.findAttributeDef("InvId") };
    ViewLink vl = am.createViewLinkBetweenViewObjects("MyLink3",
    "DetailInv", // accessor name--more on this below
    am.findViewObject("EgoItemSearchResultsVO"), // master
    prjLinkAttrs, // department attributes
    voEmp, // detail
    taskLinkAttrs, // employee attributes
    null); // assoc clause
    System.out.println("view link =" + vl.getName());
    OATableBean tb = (OATableBean)createWebBean(oapagecontext,TABLE_BEAN,null,"table");
    tb.setViewUsageName("MyEmp");
    OAMessageStyledTextBean beans = (OAMessageStyledTextBean)createWebBean(oapagecontext,MESSAGE_STYLED_TEXT_BEAN,OAWebBeanConstants.VARCHAR2_DATATYPE,"number");
    beans.setPrompt("column1");
    beans.setViewUsageName("MyEmp");
    beans.setViewAttributeName("InvId");
    tb.addIndexedChild(beans);
    oatablebean.setDetail((OAWebBean)tb);
    oatablebean.setDetailViewAttributeName("SelectFlag"); // I just tried this, SelectFlag is not a boolean attribute though, is there a way to create a boolean attribute programatically for seeded VO EGOITEMSEARCHRESULTVO and set it here, will it help
    oatablebean.setAllDetailsEnabled(true);

  • A dynamic table based on run-time created view object -- please help!

    Hello!
    I'm trying to create a dynamic table based on an run-time created view object. All go ok, but table binding component take the first view/iterator state and don't reflect changes they have. Please, take a look:
    1. At run-time the view is being replaced by new red-only one based on query in application module:
    getQueryView().remove();
    createViewObjectFromQueryStmt("QueryView", statement);
    2. Page definition file contains an iterator (using iterator or methodIterator - doesn't matter) binding and table, which binds to the iterator, like:
    <methodIterator id="distributeQuery1Iter" Binds="distributeQuery1.result"
    DataControl="QueryServiceDataControl" RangeSize="10"/>
    <table id="distributeQuery11" IterBinding="distributeQuery1Iter"/>
    3. The page code uses <af:table>. But, if I use table binding (it's right) like this:
    <af:table var="row" value="#{bindings.distributeQuery11.collectionModel}">
    <af:forEach items="#{bindings.distributeQuery11.attributeDefs}" var="def">
    the table will never changed (i.e. still show the first view instance).
    When I tried to use iterator binding directly (it's bad and cannot provide all needed features unlike CollectionModel from table binding) I saw that table works!
    (Code is somehing like:
    <af:table var="row" value="#{bindings.myIterator.allRowsInRange}">
    <af:forEach items="#{bindings.myIterator.attributeDefs}" var="def">
    Why the table binding do not reflect changes in iterator? Or should I use different approach?
    Thanks in advance!
    Ilya.

    I got it to work! I used a hybrid approach comprised of some of your code and some of Steve Muench's AcceessAppModuleInBackingBean example.
    In the setBindings method, I execute an app module method that redefines the query, then I used your code to delete and recreate bindings and iterator:
    public void setBindingContainer(DCBindingContainer bc) {
    this.bindingContainer = bc;
    rebuildVO();
    The rebuildVO() method looks like the code you provided in your example:
    private void rebuildVO() {
    DCDataControl dc;
    DispatchAppModule dApp;
    DCBindingContainer bc;
    DCIteratorBinding it;
    OperationBinding operationBinding;
    ViewObject vo;
    DCControlBinding cb;
    try {
    bc = getBindingContainer();
    dc = bc.findDataControl(DATACONTROL);
    dApp = (DispatchAppModule)dc.getDataProvider();
    // Execute App Module Method to rebuild VO based upon new SQL Statement.
    dApp.setDispatchViewSQL();
    vo = dApp.findViewObject(DYNAMIC_VIEW_NAME);
    it = bc.findIteratorBinding(DYNAMIC_VO_ITER_NAME);
    it.bindRowSetIterator(vo, true);
    // logger.info("Remove value binding...");
    cb = bc.findCtrlBinding(DYNAMIC_VIEW_NAME);
    cb.getDCIteratorBinding().removeValueBinding(cb);
    bc.removeControlBinding(cb);
    // logger.info("Creating new value binding...");
    FacesCtrlRangeBinding dynamicRangeBinding =
    new FacesCtrlRangeBinding(null,
    bc.findIteratorBinding(DYNAMIC_VO_ITER_NAME), null);
    // logger.info("Add control binding...");
    bc.addControlBinding(DYNAMIC_VIEW_NAME, dynamicRangeBinding);
    } catch (Exception e) {
    e.printStackTrace();
    And my App Module method that redefines the view object looks like this:
    public void setDispatchViewSQL() {
    String SQL =
    "begin ? := PK_BUsiNESS.F_GETDISPATCHVIEWSQL();end;";
    CallableStatement st = null;
    String ViewSQL = null;
    try {
    st = getDBTransaction().createCallableStatement(SQL,
    DBTransaction.DEFAULT);
    * Register the first bind parameter as our return value of type LONGVARCHAR
    st.registerOutParameter(1, OracleTypes.LONGVARCHAR);
    st.execute();
    ViewSQL = ((OracleCallableStatement) st).getString(1);
    findViewObject(DYNAMIC_VO_NAME).remove();
    ViewObject vo = createViewObjectFromQueryStmt(DYNAMIC_VO_NAME, ViewSQL);
    vo.executeQuery();
    } catch (SQLException s) {
    throw new JboException(s);
    } finally {
    try {
    st.close();
    } catch (SQLException s) {
    s.printStackTrace();
    When I run it I get my desired results. One thing I don't quite understand is why when the page is first rendered it shows the last set of records rather than the first. Now I have to figure out how to put navigation URLS in each of the table cells.
    Thanks for your help; I would not have gotten this far without it,
    Jeff

  • DB6 Installation - error on phase VIEW (CREATE VIEW "/BEV1/LAVMVA1_V)

    Dear all,
    I install LNX X86_64, DB6 - ERP 6.0 EHP4, during phase IMPORT ABAP I've got error in SAPVIEW.log:
    usr/sap/SID/SYS/exe/run/R3load: sccsid @(#) $Id: //bas/701_REL/src/R3ld/R3load/R3ldmain.c#8 $ SAP
    /usr/sap/SID/SYS/exe/run/R3load: version R7.01/V1.4 [UNICODE]
    Compiled Dec 25 2009 23:46:01
    /usr/sap/SID/SYS/exe/run/R3load -i SAPVIEW.cmd -dbcodepage 4103 -l SAPVIEW.log -stop_on_error -loadprocedure fast LOAD
    (DB) INFO: connected to DB
    (DB) ERROR: DDL statement failed
    ( DROP VIEW "/BEV1/LAVMVA1_V" )
    dsql_exec_immediate returned DS_DBOBJECTUNKNOWN
    (IMP) INFO: a failed DROP attempt is not necessarily a problem
    (DB) ERROR: DDL statement failed
    ( CREATE VIEW "/BEV1/LAVMVA1_V" ( "MANDT", "BSTNK", "VKORG", "VTWEG", "SPART", "VKBUR", "VKGRP", "KUNNR", "ERNAM", "BSTDK", "AUART", "VBELN" ) AS SELECT T0001."MANDT", T0001."BSTNK", T0001."VKORG", T0001."VTWEG", T0001."SPART",  T0001."VKBUR", T0001."VKGRP", T0001."KUNNR", T0001."ERNAM", T0001."BSTDK", T0001."AUART", T0002."VBELN" FROM "VBAK" T0001, "VBUK" T0002 WHERE T0002."MANDT" = T0001."MANDT" AND T0002."VBELN" = T0001."VBELN" AND ( T0002."VBOBJ" = 'A' OR T0002."VBOBJ" = 'L' ) )
    dsql_exec_immediate returned DS_DBOBJECTUNKNOWN
    (DB) INFO: disconnected from DB
    /usr/sap/SID/SYS/exe/run/R3load: job finished with 1 error(s)
    /usr/sap/SID/SYS/exe/run/R3load: END OF LOG: 20100119153412
    I have changed R3load, sapinst to newest version, space is enough, tablespaces are not full.
    Do you have any idea what is cause of error and how to solve it?
    Any help is appreciated.
    Regards,
    Roman

    Hi Frank,
    thanks for your very fast hints.
    I have checked .log files SAPxxxx.log (SAP0000, SAPAPPL0, SAPAPPL1, ...) but there isnt any entry with VBAK.
    When I entered under <sid>adm command: db2 describe table sap<sid>.VBAK it takes a long time wihtout any result.
    Thanks a lot for your help.
    Roman
    Edited by: Roman Mikolas on Jan 19, 2010 4:27 PM
    Edited by: Roman Mikolas on Jan 19, 2010 4:27 PM

  • Acrobat X--View Adobe PDF results

    Since the latest update to Acrobat X Pro, to 10.1, Acrobat doesn't show the PDF results when I print to PDF (from Word, from the Web, etc.). The PDF printer otherwise works fine; I just like to see the PDF pop up right after I create it to make sure it's what I want. I took a look at printing preferences for the Adobe PDF printer, and "View Adobe PDF results" is still checked (it was checked under the version before the update). I'm using Windows 7 Home Premium 64-bit, if that matters. I'd appreciate any help anyone can provide. Thanks in advance!

    I also had this problem immediately after upgrade to 10.1, and I believe there is a bug involved.
    Going to Printer Properties, Advanced tab, and unchecking "Enable advanced printing features" did display the file after creating it.
    Checking "Enable advanced printing features" caused the file to not be displayed, even though the Printer Perferences setting to "View Adobe PDF results" remained checked under both conditions.
    I think there is a bug involved because under the problem condition, when the PDF file would be created but not displayed, I could not rename the file. It would say that Adobe had the file open. I could only rename the file by Ending Process on acrodist.exe or restarting Windows (7 Pro 64-bit).
    It seems that somehow the process was getting hung at a point prior to the display of the file.
    Since the workaround is to disable advanced features that I would like to use, it's not an acceptable solution for me.
    Is there a place to file a bug report and get a ticket?

  • Error in Create Views

    Hi All,
    Create view is giving the following error : com.waveset.exception.ItemNotFound.
    Below is the code as well the error in the trace....please suggest how to find the exact error and the error in the code:
    <Action id='1' name='Create Views' application='com.waveset.session.WorkflowServices'>
    <Argument name='op' value='createView'/>
    <Argument name='type' value='Process'/>
    <Argument name='task.owner' value='Configurator'/>
    <Argument name='endUser' value='true'/>
    <Argument name='result'>
    <ref>variableMapping</ref>
    </Argument>
    <Argument name='process'>
    <ref>currentWorkflow</ref>
    </Argument>
    <Argument name='viewId' value='Process'/>
    <Return from='view' to='newViews' append='true'/>
    </Action>
    <Action id='2' name='Check in Views' application='com.waveset.session.WorkflowServices'>
    <Iterate for='newView' in='newViews'/>
    <Argument name='op' value='checkinView'/>
    <Argument name='view' value='$(newView)'/>
    <Argument name='endUser' value='true'/>
    Trace error:
    Action Create Views
    Result title set to 'Create Views'
    Argument op = createView
    Argument type = Process
    Argument task.owner = Configurator
    Argument endUser = true
    Resolved reference variableMapping = {UserName-1=User1, TestADT, RequestType=EntireSystem, AutoImplementationReqd=No, SA Note=null, Position=null, stewardId=[[email protected]], formButton=Submit, [email protected], StewardImplementationReqd=Yes, Name=TestADT User1, SecurityImplementationReqd=Yes, ResGroupMap=null, [email protected], Country=null, [email protected], SubArea=null, selectedForm=SRF RemoveUser, SystemName=AppTalk (H02), isAutomation=false, StewardApprovalReqd=No, Explanation-1=User Left Best Buy, TaskRoles=null, Permissions01=aAS, resourceAction=null, BusinessArea=null, Manager=Manager, TestADT, GRCRequestReqd=No, SecurityAdminApprovalReqd=No, frm_ApprovalsList=[[email protected], approver2:SRS], currentWorkflow=Old Framework_SRW Type 1 Approval Workflow, Optional Comments=ASASA, requestorUserId=a9200701, siteID=null, selectedEnablers=null, endDate=null, Request=Me, UID-1=A9200701, StewardApprovalReqd2=No, selectedEnablersLabels=null, selectedTaskRolesLabels=null, ManagerApprovalReqd=No, Rows=1, startDate=null}
    Argument result = {UserName-1=User1, TestADT, RequestType=EntireSystem, AutoImplementationReqd=No, SA Note=null, Position=null, stewardId=[[email protected]], formButton=Submit, [email protected], StewardImplementationReqd=Yes, Name=TestADT User1, SecurityImplementationReqd=Yes, ResGroupMap=null, [email protected], Country=null, [email protected], SubArea=null, selectedForm=SRF RemoveUser, SystemName=AppTalk (H02), isAutomation=false, StewardApprovalReqd=No, Explanation-1=User Left Best Buy, TaskRoles=null, Permissions01=aAS, resourceAction=null, BusinessArea=null, Manager=Manager, TestADT, GRCRequestReqd=No, SecurityAdminApprovalReqd=No, frm_ApprovalsList=[[email protected], approver2:SRS], currentWorkflow=Old Framework_SRW Type 1 Approval Workflow, Optional Comments=ASASA, requestorUserId=a9200701, siteID=null, selectedEnablers=null, endDate=null, Request=Me, UID-1=A9200701, StewardApprovalReqd2=No, selectedEnablersLabels=null, selectedTaskRolesLabels=null, ManagerApprovalReqd=No, Rows=1, startDate=null}
    Resolved reference selectedForm = SRF RemoveUser
    Resolved reference currentWorkflow = Old Framework_SRW Type 1 Approval Workflow
    Argument process = Old Framework_SRW Type 1 Approval Workflow
    Argument viewId = Process
    Argument variableMapping = {UserName-1=User1, TestADT, RequestType=EntireSystem, AutoImplementationReqd=No, SA Note=null, Position=null, stewardId=[[email protected]], formButton=Submit, [email protected], StewardImplementationReqd=Yes, Name=TestADT User1, SecurityImplementationReqd=Yes, ResGroupMap=null, [email protected], Country=null, [email protected], SubArea=null, selectedForm=SRF RemoveUser, SystemName=AppTalk (H02), isAutomation=false, StewardApprovalReqd=No, Explanation-1=User Left Best Buy, TaskRoles=null, Permissions01=aAS, resourceAction=null, BusinessArea=null, Manager=Manager, TestADT, GRCRequestReqd=No, SecurityAdminApprovalReqd=No, frm_ApprovalsList=[[email protected], approver2:SRS], currentWorkflow=Old Framework_SRW Type 1 Approval Workflow, Optional Comments=ASASA, requestorUserId=a9200701, siteID=null, selectedEnablers=null, endDate=null, Request=Me, UID-1=A9200701, StewardApprovalReqd2=No, selectedEnablersLabels=null, selectedTaskRolesLabels=null, ManagerApprovalReqd=No, Rows=1, startDate=null}
    Argument initialApprovals = [[email protected], approver2:SRS]
    Calling application 'com.waveset.session.WorkflowServices'
    Application requested argument op
    Application requested argument viewId
    Application requested all arguments
    Application requested argument subject
    Application requested argument loginApplication
    Application requested argument authorized
    Application returned =
    <WavesetResult>
    <ResultItem type='error' status='error'>
    <ResultError throwable='com.waveset.exception.ItemNotFound'>
    <Message id='TaskDefinition:Old Framework_SRW Type 1 Approval Workflow'>
    </Message>
    <StackTrace>com.waveset.exception.ItemNotFound: TaskDefinition:Old Framework_SRW Type 1 Approval Workflow&#xA;&#x9;at com.waveset.object.ObjectCache.getHandle(ObjectCache.java:851)&#xA;&#x9;at com.waveset.object.ObjectCache.getObject(ObjectCache.java:578)&#xA;&#x9;at com.waveset.object.ObjectCache.getObject(ObjectCache.java:546)&#xA;&#x9;at com.waveset.server.InternalSession.getObject(InternalSession.java:526)&#xA;&#x9;at com.waveset.server.ViewMaster.getTaskDefinition(ViewMaster.java:719)&#xA;&#x9;at com.waveset.view.ProcessViewer.findProcess(ProcessViewer.java:847)&#xA;&#x9;at com.waveset.view.ProcessViewer.createView(ProcessViewer.java:386)&#xA;&#x9;at com.waveset.object.ViewMaster.createView(ViewMaster.java:499)&#xA;&#x9;at com.waveset.session.WorkflowServices.createView(WorkflowServices.java:1369)&#xA;&#x9;at com.waveset.session.WorkflowServices.call(WorkflowServices.java:478)&#xA;&#x9;at com.waveset.workflow.WorkflowEngine.callApplication(WorkflowEngine.java:4381)&#xA;&#x9;at com.waveset.workflow.WorkflowEngine.callAction(WorkflowEngine.java:4208)&#xA;&#x9;at com.waveset.workflow.WorkflowEngine.callAction(WorkflowEngine.java:3521)&#xA;&#x9;at com.waveset.workflow.WorkflowEngine.execute(WorkflowEngine.java:3361)&#xA;&#x9;at com.waveset.workflow.WorkflowEngine.makeTransition(WorkflowEngine.java:2901)&#xA;&#x9;at com.waveset.workflow.WorkflowEngine.checkExplicitTransitions(WorkflowEngine.java:2792)&#xA;&#x9;at com.waveset.workflow.WorkflowEngine.checkTransitions(WorkflowEngine.java:2578)&#xA;&#x9;at com.waveset.workflow.WorkflowEngine.processSteps(WorkflowEngine.java:1983)&#xA;&#x9;at com.waveset.workflow.WorkflowEngine.walkCases(WorkflowEngine.java:1835)&#xA;&#x9;at com.waveset.workflow.WorkflowEngine.walkCases(WorkflowEngine.java:1818)&#xA;&#x9;at com.waveset.workflow.WorkflowEngine.walkCases(WorkflowEngine.java:1743)&#xA;&#x9;at com.waveset.workflow.WorkflowEngine.execute(WorkflowEngine.java:861)&#xA;&#x9;at com.waveset.workflow.WorkflowEngine.execute(WorkflowEngine.java:505)&#xA;&#x9;at com.waveset.workflow.WorkflowExecutor.execute(WorkflowExecutor.java:256)&#xA;&#x9;at com.waveset.task.TaskThread.run(TaskThread.java:132)&#xA;</StackTrace>
    </ResultError>
    </ResultItem>
    </WavesetResult>

    where is your 'TaskDefinition:Old Framework_SRW Type 1 Approval Workflow' objcet, have you imported that workflow into Idm or check the name.
    error:
    com.waveset.exception.ItemNotFound: TaskDefinition:Old Framework_SRW Type 1 Approval Workflow

  • Creating view containing case statements received error ORA-22992

    We have a create view referencing table through dblink. The select statement in the create view has case statements, when running the Select statement alone, results are return. However, when executing the create view, it returns:
    SQL Error: ORA-22992: cannot use LOB locators selected from remote tables
    22992. 00000 - "cannot use LOB locators selected from remote tables"
    *Cause:    A remote LOB column cannot be referenced.
    *Action:   Remove references to LOBs in remote tables.
    One of the source table has LOB column but not in the select statement. The strange thing is when removing the case statement from the select, create view works fine. Can anybody tell me what caused the error and how to fix it?
    Create View Snippet:
    CREATE OR REPLACE VIEW "ABC"."XYZ" (....
    AS SELECT
    CASE
    WHEN A.OUTAGE =1
    THEN 'Y'
    ELSE 'N'
    END AS OUTAGE,
    FROM
    TABLEA@XXXX A
    LEFT JOIN TABLEB@XXXX B
    ON
    A.LOC =B.LO
    AND A.SITE =B.SITE
    WHERE
    A.CLASS ='CUSTOMER'
    AND A.PLUSSISGIS =1;

    What is your 4 digit Oracle version?
    Try rewriting the query to not use ANSI SQL92 joins. I found a link where this solved a problem similar to yours.
    DBLink problem ORA-22992
    >
    But, look at this curious thing: I re-write the query as follows:
    SELECT A.ID, A.ID_REF, A.EVENDATE, B.DESCRIPTION
    FROM A@ORCL A, B@ORCL B
    WHERE A.ID_REF = B.ID_REF;
    and it works fine... It seems like Oracle don't like the ANSI SQL92...
    >
    Several similar links by googling: 'SQL Error: ORA-22992'
    http://www.dbuggr.com/smallwei/solution-error-ora-22992-lob-locators-selected-remote-tabl/
    >
    Fixing ORA-22992 “cannot use LOB locators selected from remote tables” error
    You have migrated your Oracle 9i database to 10g and a distributed statement which worked fine in 9i now is getting error ORA-22992 “cannot use LOB locators selected from remote tables”. Even though the related remote table(s) does not contain any LOB column datatype.
    FIX:
    There is a bug on 9i,10g, and 11g that is related to this error. It is being fixed in 11.2. It can also be backported for previous 9i, 10g and 11g releases under the latest patchsets.
    You may also do a workaround as follow:
    Modify the affected SQL by adding the TO_CHAR function. For example:
    -- Original SQL:
    SELECT NVL2('a', 'b','c' ) FROM dual@remote_db;
    -- Modified SQL:
    SELECT TO_CHAR(NVL2('a','b','c')) FROM dual@remote_db;
    >
    See if that helps.

  • Create view throwing an error

    Hello guys, I am trying to create a view from the result set of a sql query. The sql when run independently works fine, but when I try to create a view on it it throws an error saying that the table does not exist. below is the create view I am using.
    create view ops$oracle.pci_view as SELECT
         (select name from v$database@dwdev) database_name,
          (select host_name from v$instance) host_name,
          (select version from v$instance) dbversion,
           o.owner,
           o.object_name table_name,
           o.CREATED table_created,
           o.last_ddl_time table_last_ddl_time,
           t.tablespace_name,
           t.last_analyzed,
           t.partitioned,
           t.num_rows,
           T.COMPRESSION,
           t.compress_for,
           t.read_only,
           tb.status tablespace_status,
           tb.encrypted tablespace_encrypted,
           tb.compress_for tablespace_compress,
           tb.contents,
           TC.COLUMN_NAME,
           tc.data_type,
           TC.DATA_LENGTH,
           tc.data_precision,
           tc.data_scale,
           tc.nullable,
           tc.column_id,
           tc.num_distinct,
           tc.avg_col_len,
           tc.density,
           tc.num_nulls,
           tc.low_value,
           tc.high_value,
           tc.last_analyzed col_last_analyzed,
           ec.encryption_alg,
           ec.salt,
           ec.integrity_alg,
           (SELECT tcm.comments
              FROM dba_tab_comments tcm
             WHERE tcm.owner = T.OWNER AND tcm.table_name = t.table_name)
              table_comments,
           (SELECT ccm.comments column_comments
              FROM dba_col_comments ccm
             WHERE     ccm.owner = TC.OWNER
                   AND ccm.table_name = tc.table_name
                   AND ccm.column_name = tc.column_name)
              column_comments
      FROM dba_objects o,
           dba_tables T,
           dba_tablespaces tb,
              dba_tab_columns tc  
            LEFT JOIN
              dba_encrypted_columns ec      ***********************************************
           ON     ec.owner = TC.OWNER
              AND ec.table_name = tc.table_name
              AND ec.column_name = tc.column_name
    WHERE o.owner NOT IN
              ('APPQOSSYS',
               'DBSNMP',
               'EXFSYS',
               'GGAPP',
               'OPS$ORACLE',
               'ORACLE_OCM',
               'OUTLN',
               'SYS',
               'SYSTEM',
               'WMSYS',
               'XDB')
           AND o.object_type = 'TABLE'
           AND NOT EXISTS
                      (SELECT 1
                         FROM dba_mviews mv
                        WHERE mv.owner = o.owner
                              AND mv.container_name = o.object_name)
           AND t.owner = o.owner
           AND t.table_name = o.object_name
           AND tb.tablespace_name = t.tablespace_name
           AND tc.owner = o.owner
           AND tc.table_name = o.object_name
           AND tc.owner = t.owner
           AND tc.table_name = t.table_name
           AND tc.data_length > 15
           AND tc.data_type NOT LIKE ('TIMESTAMP%')
           AND (tc.data_precision IS NULL OR tc.data_precision > 15);(The line containing the string of astrixes, that is the table that the error says does not exist)
    can someone help me where I am going wrong.
    Thanks

    969224 wrote:
    what if I create the view in SYS for few minutes until i can complete the task i was assigned and after that drop the view I created in SYS schema, would that have any effect on the database?Uh, yeah .. SYS isn't any better an option than SYSTEM.
    Those schemas are "off limits" to us ... ignore them .. pretend they do not exist. (seriously ..)
    Sounds like you need a new schema to store your application objects.

  • Create view with union

    Hi all,
    I have tried to create a view with next code:
    CREATE VIEW vista_urbanizacion AS SELECT
    RUPI_URBANIZACIONES.NOMBRE_URBANIZACION,
    RUPI_URBANIZACIONES.NRO_PREDIOS,
    RUPI_URBANIZACIONES.NRO_URBANIZACION,
    RUPI_URBANIZACIONES.ESTADO,
    RUPI_URBANIZACIONES.FECHA_INGRESO,
    RUPI_URBANIZACIONES.AREA_TERRENO,
    RUPI_URBANIZACIONES.TIPO,
    RUPI_URBANIZACIONES.UBICACION_ARCHIVO,
    RUPI_URBANIZACIONES.NRO_SUPERURBANIZACION,
    RUPI_URBANIZACIONES.ID_URBANIZADOR,
    RUPI_URBANIZACIONES.AREA_TOTAL_CESION,
    RUPI_ESCRITURAS.MATRICULA_INMOBILIARIA,
    RUPI_ESCRITURAS.NOTARIA,
    RUPI_ESCRITURAS.CIUDAD,
    RUPI_ESCRITURAS.ACTO_JURIDICO,
    RUPI_ESCRITURAS.FECHA_ESCRITURA,
    RUPI_ESCRITURAS.NRO_ESCRITURA,
    RUPI_ESCRITURAS.CONSECUTIVO,
    RUPI_ESCRITURAS.URBANIZACI_NRO_URBANIZACION,
    RUPI_ACTAS.TIPO_ACTA,
    RUPI_ACTAS.NRO_ACTA,
    RUPI_ACTAS.FECHA_ACTA
    FROM
    RUPI_URBANIZACIONES,
    RUPI_ESCRITURAS,
    RUPI_ACTAS
    WHERE
    RUPI_URBANIZACIONES.NRO_URBANIZACION =
    RUPI_ESCRITURAS.URBANIZACI_NRO_URBANIZACION
    AND
    FECHA_ESCRITURA IN (SELECT MIN(FECHA_ESCRITURA) FROM RUPI_ESCRITURAS
    WHERE
    RUPI_URBANIZACIONES.NRO_URBANIZACION = RUPI_ESCRITURAS.URBANIZACI_NRO_URBANIZACION)
    AND
    RUPI_URBANIZACIONES.NRO_URBANIZACION =
    RUPI_ACTAS.URBANIZACI_NRO_URBANIZACION
    AND
    FECHA_ACTA IN (SELECT MAX(FECHA_ACTA) FROM RUPI_ACTAS
    WHERE
    RUPI_URBANIZACIONES.NRO_URBANIZACION =
    RUPI_ACTAS.URBANIZACI_NRO_URBANIZACION)
    The problem is the condition "and" from the rupi_escrituras and rupi_actas tables that only will select elements of rupi_urbanizaciones included both in rupi_escrituras and rupi_actas.
    I need to use something like "union" in order to include all the distinct elements of both tables rupi_escrituras and rupi_actas.
    Could anyone help?
    Thanks in advance
    Romulo

    Yep,
    In this query you don't do any join between the tables. So let's get back to the basic.
    Take you first query
    SELECT CBR_ID,PLT_ID,SUM(COUNT_POL)
    FROM
    SELECT  pcd_irs_id CBR_ID, pcd_plt_id PLT_ID , sum(pcd_amount_lc) SUM_PREM,0 COUNT_POL
    FROM seema
    where trunc(pcd_registry_date)=TRUNC(pcd_registry_date)
    and pcd_plt_id in('U01','U02')
    and pcd_irs_id in (55,56)
    AND PCD_IRS_TYPE!=4
    GROUP BY PCD_irs_ID,PCD_PLT_ID
    UNION
    SELECT PLM_CBR_ID CBR_ID,PLM_PLT_ID PLT_ID,0 SUM_PREM, COUNT(PLM_POLICY_NO) COUNT_POL
    FROM sarah
    WHERE  trunc(PLM_registry_date)=TRUNC(PLM_registry_date)
    AND PLM_PLT_ID IN('U01','U02)
    GROUP BY PLM_CBR_ID,PLM_PLT_ID)
    GROUP BY CBR_ID,PLT_ID
    ORDER BY CBR_ID,PLT_IDThis query is quite near to the result that you need. You are very near to the result just add the filter that you need in the second query:
    SELECT CBR_ID,PLT_ID,SUM(COUNT_POL)
    FROM
    SELECT  pcd_irs_id CBR_ID, pcd_plt_id PLT_ID , sum(pcd_amount_lc) SUM_PREM,0 COUNT_POL
    FROM seema
    where trunc(pcd_registry_date)=TRUNC(pcd_registry_date)
    and pcd_plt_id in('U01','U02')
    and pcd_irs_id in (55,56)
    AND PCD_IRS_TYPE!=4
    GROUP BY PCD_irs_ID,PCD_PLT_ID
    UNION
    SELECT PLM_CBR_ID CBR_ID,PLM_PLT_ID PLT_ID,0 SUM_PREM, COUNT(PLM_POLICY_NO) COUNT_POL
    FROM sarah
    WHERE  trunc(PLM_registry_date)=TRUNC(PLM_registry_date)
    AND PLM_PLT_ID IN('U01','U02)
    and PLM_CBR_ID in (55,56)          --<<<<<<<<< ADDED FILTER
    GROUP BY PLM_CBR_ID,PLM_PLT_ID)
    GROUP BY CBR_ID,PLT_ID
    ORDER BY CBR_ID,PLT_IDand you are done.
    Bye
    Antonio

  • Create view with order by

    I am in a 8i SQL class where I "learned" that the order by clause can not be used when creating a view. This surprised me as I am sure I have done so in the past. After talking with the instructor we found that:
    create view viewname as
    select * from table order by column
    worked, while:
    create view viewname as
    (select * from table order by column)
    returns:
    ORA-00907: missing right parenthesis
    And
    create view viewname as
    (select * from table)
    works as well.
    Anyone understand why?
    Thanks
    null

    The queries are theoretically different.
    Example 1 is a view with an order by clause.
    Example 2 is a view of the result of an ordered query.
    Example 3 is a view of the result of an unordered query
    Just another example of how people are smarter than machines, I suppose.

  • How to create views in OBIEE?

    Hi everyone,
    I'm new to OBIEE. My requirement is i need to apply different filters to each columns in a report. But if i apply any filter it is applying to all the columns.
    For example, My report column is something like
    StudentsPassed || StudentsFailed || StudentsTrasnfered
    So i need to look up on a status column and need to show only a particular result based on the status column. But if i select for status=StudentsPassed then in all three column im getting only students passed.
    So what i did is i created individual views for each column. i.e View1 will hold the list Students Passed view2 will hold only list of Students Failed. But now i need to generate many reports of same type. So i don't think it is a best idea to create views for each columns in a report in the database level.
    Is there any method to do this?
    Is there any method to store only Students Passsed list in a logical column in the Administration level?
    Please provide some help.
    Thanks in advance,
    karthick

    What are you trying to get?
    This is normal error, you must use measure in FILTER (USING), you are using maybe foreign key in count distinct or some other columns that is not a measure.
    1. If you like to use FILTER (USING) go to RPD, BMM and make new measure, etc MEASURE2=count(distinct student_id), etc.
    Then applied this MEASURE2 in FILTER(MEASURE2 USING (VEE_TOTAL.STATUS = 3.00)
    or
    2. Use views as I explained before
    Regards
    Goran
    http://108obiee.blogspot.com

  • Creating views on 9.2.0.7 and red hat: strange behavior

    Hi all,
    here you can find two new problems to solve:
    create table test1(id1 number, text1 varchar2(4000));
    create table test2(id2 number, text2 varchar2(4000));
    create or replace view v_test1_test2 as
    select t1.*
    , t2.*
    from test1 t1
    test2 t2
    where t1.id1 = t2.id2;
    Note that on line 3 of the view script there is a comma at the beginning of the line...
    After creating the view, if you edit the view script from the data dictionary, you will find something like this:
    CREATE OR REPLACE VIEW V_TEST_!_TEST (ID1, TEXT1, ID2, TEXT2) AS
    select t1."ID1", t1."TEXT1",
    , t2."ID2", t2."TEXT2"
    from test1 t1,
    test2 t2
    where t2.id1 = t2.id2
    As you can note, Oracle added another comma to the script: the result is that the view,
    successfully created without errors, is invalid ("Missing expression" if you run a select against it)!!!
    So there are two different problems in this:
    a) I created the view without specifying all the fields name: Oracle added the column name after each column. This means that the view code stored in the data dictionary is quite different from that stored in my source control software.
    b) The view is invalid even if it was successfully created without errors, because there is a new comma that I did not write in my source code.
    Do you know if there is any solution at these two problems?
    Many thanks!
    Ste.

    a) Nothing wrong here. Even if you didn't write the column name (by using *), Oracle replace it by all the current existing columns. Anyway, it's a bad practice to create view with *.
    b) Seems a bug solved in 9.2.0.8.
    Take a look to the below thread :
    Re: Create View in Oracle9.2.0.7.0 - Is this a bug?
    Nicolas.
    Message was edited by:
    N. Gasparotto

Maybe you are looking for