Masking data to IT0009

Hi,
What is the meaning of 'country limitation of account number'.
Regards
Anil

Are you referring to the field BKONT ( Bank Control Key) on IT0009? It determines if the Bank Account Number is for Checking Account/Savings Account etc.. this combination of Account Number & Control Key is again dependent on the Country Version.
~Suresh

Similar Messages

  • How to mask data in oracle 11g database release 1

    how to mask data in oracle 11g database release 1
    my environment is
    Database: 11g release 1
    os: AIX 6 (64 bit)
    GC:10g release 1

    DBA-009 wrote:
    thx but how i can mask data with above give environment?What does "mask data" mean to you and what is the environment you are referring to?
    Telling us that you are using 11.1 helps. But it is far from a complete description of the environment. What edition of the database are you using? What options are installed? What Enterprise Manager packs are licensed? Is any of this changable? Could you license another option for the database or another pack for Enterprise Manager if that was necessary?
    What does it mean to you to "mask data"? Do you want to store the data on disk and then mask the data in the presentation layer when certain people query it (i.e. store the patient's social security number in the database but only present ***-**- and the last 4 digits to certain sets of employees)? Do you want to hide entire fields from certain people? Do you want to change the data stored in the database when you are refreshing a lower environment with production data? If so, do you need and/or want this process to be either determinisitic or reversable or both?
    Justin

  • Masking Data for CLOB columns

    Hi Guys,
    We have a CLOB column in our PNR database with the complete PNR details as below (all information has been changed ):
    <PNR><PNR_Body>AXYDFB  -ETKT-
    REC LOC HDQ1P37EJNM/XAV/24639860/CHI/1P/T/US/USD/GS
    HDQ RM 1P 01OCT0000Z
    1.1TEST/ONE
    1 VS3011N 14DEC SA LHREDI HK1  1950. 2120. 03C*
    2 VS3002N 18DEC WE EDILHR HK1  0910. 1040. 03C*
    FONE-
    1.LHR*[email protected]/N000
    2.LHR72582/H530
    3.LHR8200144*I24639860 ORBITZ/A877
    4.LHR3072582/H415
    TKT-T/TBC/CCAX379461823464012/12/72601233655/0001/$
    GEN FAX-  *TKN/SSR FOR TKT NBRS
    1.OSI YY BF0.00 TX141.10 TF141.10 PADT@FSR
    2.SSRSEATVSKK1LHREDI3011N14DEC.03CN/RS
    3.SSRSEATVSKK1EDILHR3002N18DEC.03CN/RS
    4.SSROTHSVSKK1LHREDI3011N14DEC.UNTKTD VS SEGS MAY CANX 141013
    5.SSROTHSVSKK1LHREDI3011N14DEC.TKT PER FARE RULES TO AVOID ADM
    6.SSROTHSVSKK1EDILHR3002N18DEC.UNTKTD VS SEGS MAY CANX 141013
    7.SSROTHSVSKK1EDILHR3002N18DEC.TKT PER FARE RULES TO AVOID ADM
    8.SSROTHSVSKK1LHREDI3011N14DEC.UNTKTD VS SEGS MAY CANX 141013
    9.SSROTHSVSKK1LHREDI3011N14DEC.TKT PER FARE RULES TO AVOID ADM
    10.SSROTHSVSKK1EDILHR3002N18DEC.UNTKTD VS SEGS MAY CANX 141013
    11.SSROTHSVSKK1EDILHR3002N18DEC.TKT PER FARE RULES TO AVOID ADM
    12.SSROTHSVSKK1LHREDI3011N14DEC.UNTKTD VS SEGS MAY CANX 141013
    13.SSROTHSVSKK1LHREDI3011N14DEC.TKT PER FARE RULES TO AVOID ADM
    14.SSROTHSVSKK1EDILHR3002N18DEC.UNTKTD VS SEGS MAY CANX 141013
    15.SSROTHSVSKK1EDILHR3002N18DEC.TKT PER FARE RULES TO AVOID ADM</PNR_Body><PNR_History>REC LOC AXYDFB7EJNM/XAV/24631260/CHI/1P/T/US/USD/GS
    HDQ RM 1P 01OCT0000Z
    A3 SSRSEATVSNN1LHREDI3011N14DEC.03C/RS
    RCVD-AXYDFB7EJNM/XAV/24612860/CHI/1P/T/US/USD/GS
    HDQ RM 1P 01OCT0000Z
    X3 SSRSEATVSNN1LHREDI3011N14DEC.03C/RS
    A3 SSRSEATVSKK1LHREDI3011N14DEC.03CN/RS
    RCVD-
    HDQ RM 1P 01OCT0000Z
    A3 SSRSEATVSNN1EDILHR3002N18DEC.03C/RS
    RCVD-AXYDFB7EJNM/XAV/24612860/CHI/1P/T/US/USD/GS
    HDQ RM 1P 01OCT0000Z
    X3 SSRSEATVSNN1EDILHR3002N18DEC.03C/RS
    A3 SSRSEATVSKK1EDILHR3002N18DEC.03CN/RS
    RCVD-
    HDQ RM 1P 01OCT0000Z
    A3 SSROTHSVSKK1LHREDI3011N14DEC.UNTKTD VS SEGS MAY CANX 142313
    A3 SSROTHSVSKK1LHREDI3011N14DEC.TKT PER FARE RULES TO AVOID ADM
    A3 SSROTHSVSKK1EDILHR3002N18DEC.UNTKTD VS SEGS MAY CANX 142313
    A3 SSROTHSVSKK1EDILHR3002N18DEC.TKT PER FARE RULES TO AVOID ADM
    RCVD-VSWEBSERVICE
    CRC SU X1 01OCT0001Z D23B06 VS
    A3 SSROTHSVSKK1LHREDI3011N14DEC.UNTKTD VS SEGS MAY CANX 142313
    A3 SSROTHSVSKK1LHREDI3011N14DEC.TKT PER FARE RULES TO AVOID ADM
    A3 SSROTHSVSKK1EDILHR3002N18DEC.UNTKTD VS SEGS MAY CANX 142313
    A3 SSROTHSVSKK1EDILHR3002N18DEC.TKT PER FARE RULES TO AVOID ADM
    RCVD-VSWEBSERVICE
    CRC SU X1 01OCT0001Z AXYDFB VS
    A3 SSROTHSVSKK1LHREDI3011N14DEC.UNTKTD VS SEGS MAY CANX 142313
    A3 SSROTHSVSKK1LHREDI3011N14DEC.TKT PER FARE RULES TO AVOID ADM
    A3 SSROTHSVSKK1EDILHR3002N18DEC.UNTKTD VS SEGS MAY CANX 142313
    A3 SSROTHSVSKK1EDILHR3002N18DEC.TKT PER FARE RULES TO AVOID ADM
    RCVD-VSWEBSERVICE
    CRC SU X1 01OCT0001Z D12B06 VS
    A3 SSRTKNEVSHK1LHREDI3011N14DEC-1TEST/ONE.4444123456C1
    A3 SSRTKNEVSHK1EDILHR3002N18DEC-1TEST/ONE.4444123456C2
    RCVD-AXYDFB7EJNM/XAV/24623860/CHI/1P/T/US/USD/GS
    HDQ RM 1P 01OCT0042Z</PNR_History><Seating>SEATS ASSIGNED     FLT 3011  14DEC  HK1  1950.  2120.   X CLASS
    B7   *   1TEST/JA  LHR TO EDI N  28Z*
    NEXT FLIGHT AT EDI FLT 3002  18DEC  HK1  0910.  1040.   N CLASS
    B2   *   1TEST/JA  EDI TO LHR N  23D*</Seating><ETicket_Info>AXYDFB -ETKT-      CPN  FLIGHT DATE  CLS FRM TO STATUS     ISSUE
    1.  TEST/ONE  1. VS 3011 14DEC  N  LHREDI             1P
                        2. VS 3002 18DEC  N  EDILHR</ETicket_Info><ETicket_History>TEST/ONE          44443333222211110           $USD  141.10
    FP CCAX44443333222211110/9306/142323                            
    CHI 1P RS 01OCT0042Z 999999 VS                                
    ***END OF DISPLAY***                                            </ETicket_History><Fare_Quote>NO FQ DATA EXISTS</Fare_Quote><Fare_History>NO FQ DATA EXISTS</Fare_History><APIS>*NO APIS TO DISPLAY</APIS><Queue_History>SYSQ/IET/00
    -Q SSRTKNE 01OCT0042Z </Queue_History></PNR>
    Please can somebody suggest how I can browse through each row of the data identify credit card numbers (that we will be doing as per the business requirements from business) mask the numbers and put that back at the orignal location as it was.
    Please can somebody explain me considering "44443333222211110" was a credit card number and requires to be masked.
    Thanks,
    Shaz

    Here's a function you can use on 9i
    CREATE OR REPLACE FUNCTION mask_cc_nums(i_clob CLOB)
      RETURN CLOB IS
      -- function to scan a clob and anywhere it finds a string of 16 consecutive numerics
      -- replace then with 16 *'s
      v_charpos  PLS_INTEGER := 0;
      v_outclob  CLOB;
      v_inlen    PLS_INTEGER := dbms_lob.getlength(i_clob);
    BEGIN
      v_outclob := i_clob;
      WHILE v_charpos+16 <= v_inlen LOOP
        v_charpos := least(CASE WHEN dbms_lob.instr(v_outclob,'0',v_charpos+1) > 0
                                THEN dbms_lob.instr(v_outclob,'0',v_charpos+1)
                                ELSE v_inlen+1
                           END
                          ,CASE WHEN dbms_lob.instr(v_outclob,'1',v_charpos+1) > 0
                                THEN dbms_lob.instr(v_outclob,'1',v_charpos+1)
                                ELSE v_inlen+1
                           END
                          ,CASE WHEN dbms_lob.instr(v_outclob,'2',v_charpos+1) > 0
                                THEN dbms_lob.instr(v_outclob,'2',v_charpos+1)
                                ELSE v_inlen+1
                           END
                          ,CASE WHEN dbms_lob.instr(v_outclob,'3',v_charpos+1) > 0
                                THEN dbms_lob.instr(v_outclob,'3',v_charpos+1)
                                ELSE v_inlen+1
                           END
                          ,CASE WHEN dbms_lob.instr(v_outclob,'4',v_charpos+1) > 0
                                THEN dbms_lob.instr(v_outclob,'4',v_charpos+1)
                                ELSE v_inlen+1
                           END
                          ,CASE WHEN dbms_lob.instr(v_outclob,'5',v_charpos+1) > 0
                                THEN dbms_lob.instr(v_outclob,'5',v_charpos+1)
                                ELSE v_inlen+1
                           END
                          ,CASE WHEN dbms_lob.instr(v_outclob,'6',v_charpos+1) > 0
                                THEN dbms_lob.instr(v_outclob,'6',v_charpos+1)
                                ELSE v_inlen+1
                           END
                          ,CASE WHEN dbms_lob.instr(v_outclob,'7',v_charpos+1) > 0
                                THEN dbms_lob.instr(v_outclob,'7',v_charpos+1)
                                ELSE v_inlen+1
                           END
                          ,CASE WHEN dbms_lob.instr(v_outclob,'8',v_charpos+1) > 0
                                THEN dbms_lob.instr(v_outclob,'8',v_charpos+1)
                                ELSE v_inlen+1
                           END
                          ,CASE WHEN dbms_lob.instr(v_outclob,'9',v_charpos+1) > 0
                                THEN dbms_lob.instr(v_outclob,'9',v_charpos+1)
                                ELSE v_inlen+1
                           END);
        IF v_charpos <= v_inlen-16 AND
           TRANSLATE(SUBSTR(v_outclob,v_charpos,16),' 0123456789',' ') IS NULL
        THEN
          v_outclob := SUBSTR(v_outclob,1,v_charpos-1)||'****************'||SUBSTR(v_outclob,v_charpos+16);
        END IF;
      END LOOP;
      RETURN v_outclob;
    END;

  • Masking Data

    Hello all and thank you in advance for any assistance.
    For security purpose I am looking to Update a table with data from another table.
    Example: I have a production system which houses all information pertaining to a customer. I have multiple test systems in which we copy the database from production to these systems and rename it Test. I
    would like to do something that I think is somewhat easy. (except for me).
    Once we copy a production database over to a test system I would like to run a sql script to update the data in every row through out a given table. Thus no actual Customer Name (First & Last), Bank Account (anywhere from 7 to 12 characters), Credit Card(standard 16 characters).
    My thought would be to have a temp table of FNames, LNames, Bank Account Numbers (different lengths) and Credit Card Numbers. Now this table would only have say 500 records and never change. (not really but for this sake never)
    The table I want to update say is named "Home" and has 400,000 rows of data and growing.
    Now for every place where there is a FName, LName, Bank Account Num, Credit Card Num on file I would like to update it with the data from my temp table.
    Yes the data would end up repeating itself once it reached the end of the 500 records.
    HomeTable on the Production System. Data is as follows:
    FName LName Bank_Account Credit_Card
    Bill 1234567 1111222233334444
    Jane Ogden 5555666677778888
    More 123456789
    A copy of this table is then placed into another system, there is a temp table that resides here.
    Temp Table
    Joe Pie 911134 1234567897654321
    Frank Smith 8888446 9876543211234567
    Fun Acme 987324135
    Once the Script has ran this is the data that will be present in the other system.
    Ending Results
    TestTable on the Test System
    FName LName Bank_Account Credit_Card
    Joe 911134 1234567897654321
    Frank Smith 9876543211234567
    Acme 987324135
    As you can see if there was no LName then I do not want a LName placed there. This holds true for every field that I have identified.
    Now there are other fields that will not be touched for this example I only touched on the fields that need to be masked or updated with dummy data.
    I have a general knowledge of SQL, so please be as specific as you can.
    Again thank you to everyone that takes the time to read this and respond.
    Jody

    A try :
    SCOTT@DEMO102> select * from testtable;
    FNAME      LNAME      BANK_ACCOUNT         CREDIT_CARD
    Joe        Pie        911134               1234567897654321
    Frank      Smith      8888446              9876543211234567
    Fun        Acme       987324135            987324135
    SCOTT@DEMO102> select * from hometable;
    FNAME      LNAME      BANK_ACCOUNT         CREDIT_CARD
    Bill                  1234567              111122223333
    Jane       Ogden      5555666677778888
    More                                       123456789
    Bill2                 1234567              111122223333
    Jane2      Ogden      5555666677778888
               More2                           123456789
    Bill3                 1234567              111122223333
    7 rows selected.
    SCOTT@DEMO102>
    SCOTT@DEMO102> merge into hometable c
      2  using (select a.rwd, decode(a.fname,null,null,b.fname) fname,
      3                decode(a.lname,null,null,b.lname) lname,
      4                decode(a.bank_account,null,null,b.bank_account) bank_account,
      5                decode(a.credit_card,null,null,b.credit_card) credit_card
      6         from   (select rowid as rwd, rownum rn, fname, lname, bank_account, credit_card from hometable) a,
      7                (select rownum rn, fname, lname, bank_account, credit_card, count(*) over () ct from testtable) b
      8         where  b.rn=decode(mod(a.rn,ct),0,ct,mod(a.rn,ct))) d
      9  on (c.rowid=d.rwd)
    10  when matched then update set c.fname=d.fname,
    11                               c.lname=d.lname,
    12                               c.bank_account=d.bank_account,
    13                               c.credit_card=d.credit_card;
    7 rows merged.
    SCOTT@DEMO102>
    SCOTT@DEMO102> select * from hometable;
    FNAME      LNAME      BANK_ACCOUNT         CREDIT_CARD
    Joe                   911134               1234567897654321
    Frank      Smith      8888446
    Fun                                        987324135
    Joe                   911134               1234567897654321
    Frank      Smith      8888446
               Acme                            987324135
    Joe                   911134               1234567897654321
    7 rows selected.
    SCOTT@DEMO102> Nicolas.
    Test was on a 10.2.0.2
    Message was edited by:
    N. Gasparotto

  • Masking Sensitive Data in SAP

    Hey Experts.  Can someone tell me how we can "Mask" certain data in SAP, using Standard functionality.  We don't want to customize, so if a way exists, please share.
    We want to be able to blank out or mask data such as the description of the WBS Elements.
    Thanks.
    Chris
    Edited by: Christopher Ambrose on Oct 29, 2009 6:27 PM

    With SHD0, you create variants which you can use in a number of ways.
    The main ones are:
    1. Modify the use of the standard transaction
    2. Create a new transaction which uses the variant.
    With option 1, everyone who runs the transaction gets the modification
    With option 2, you create a custom transaction and assign it to the variant.  When someone runs the custom tcode, it executes the original transaction but applies the variant to that.  You are not actually copying any transactions etc but it does let you have 2 different types of functionality hanging off the original transaction depending on the transaction you used to access it.
    If you want to use different variants for the standard transaction, you could look into variant groups.  I've not used these before but it may be an option: http://help.sap.com/saphelp_nw04s/helpdata/en/46/8ad19434a801dce10000000a1553f7/frameset.htm
    There are also downsides to using transaction variants, if you do a search on SHD0 there are a few posts on their drawbacks.

  • Date Picker (Application Format Mask) YYYY-MM-DD HH24:MI

    I am experience what appears to be a bug with the Date Picker (Application Format Mask) that is causing the "DD" portion of the format mask to be interpreted as "CC" (when using a YYYY-MM-DD Application format).
    Within "Application Builder", "Edit Attributes" I have defined a "Static Substitution Strings" with the required Substitution String of PICK_DATE_FORMAT_MASK and a Substitution Value of "YYYY-MM-DD HH24:MI" (without the quotes).
    When this is used within the application, and I select a date of "January 15, 2008 @ 23:14", the date picker gives me a date of "2008-01-20 23:14". If I were to change the Year to 1957, the date I get is "1957-01-19 23:14". Note that if the century is 20, no matter what day of the month I pick, I get DD=20. If the century is 19, the day of the month is always 19.
    I have also tested this with a format of YYYY-DDD HH24:MI. With this format too, the DDD gets set to the century portion of the year.
    DD-MM-YYYY HH24:MI format does work, however this is not the format that my end users want to see. They want to see the format as "YYYY-MM-DD HH24:MI"
    If I change the PICK_DATE_FORMAT_MASK to "YY-MM-DD HH24:MI" and pick "Feb 8, 1977" I get "77-02-28" and if I pick "January 9, 1921" I get "21-01-31" which just happens to be the last day of the month in each of those case.
    So, something really weird is happen with the "Application Format Mask" Date Picker.
    Please note, that because of a known bug (relating to the translation of the Browser Language of "en-ca" to the propery NL_LANG of ENGLISH_CANADA) refer to
    HTMLDB - HOWTO Work with Dates
    I am executing the following code in my first "On Load - Before Header" and my first "On Submit - After Computations and Validations"
    EXECUTE IMMEDIATE 'ALTER SESSION SET NLS_DATE_FORMAT=''YYYY-MM-DD HH24:MI''' ;
    EXECUTE IMMEDIATE 'ALTER SESSION SET NLS_SORT=''FRENCH''' ;
    Could you please investigate this problem.

    Paul,
    Thank you for the feedback and detailed reporting of this issue.
    This is a previously identified bug with the computation of the day component of the popup calendar.
    This correction will be available with the next HTML DB patch set and/or the release of HTML DB available later this year.
    Thanks again.
    Joel

  • Is there any  way to Mask the Name when  a select statement is issued?

    Dear all,
    Is there any way to mask the name .. i mean if User issue a select statement in a customer table the real name should come like ' ABCXXXDEFXXCFXX'... Which is not the actual name?
    e.g if Name: CHIEV SONG MEE
    If user issue a statment select * from customers;
    The Result Should come something Like this:
    Name
    CHXXV SXNG MXX
    Thank You

    user3029023 wrote:
    but it seems there is no option in oracle it self which can be used as there they are saying to get a data masking software which we can't due to some internal issues....I would not say that. How one implements masking depends entirely on the requirements that need to be met.
    For example, schema A owns all the tables. Schema B can be created as a "trusted" schema - in other words, schema A trusts schema B and allows it full access (with grants) to its tables. Schema B implements data masking as views. For each table in A, a view exists in B that implements the required masking. B can now grant select access on these views to user C. User C will see the same data object names in B as it would have if it used A - only, by using the B data objects it uses masked data objects and not the original source data objects.
    Another example - schema Dev is to have all the data objects of schema Prod, but masked where needed. One can use CTAS (Create Table As Select) to create the required tables in Dev with masked values where relevant. This Dev schema can be "refreshed" on weekends by dropping all tables and getting a new fresh copy of production data and masking it - ready for the next week's development cycle.
    If the application use is for example APEX, then instead of coding SQL directly as reporting regions to display, a function is used instead. APEX supports reporting regions where it calls a function and this function provides the APEX run-time with the SQL to execute and contents to render. It is easy to use this approach to implement logic in functions that masked column data depending on who the APEX user is, the security/role attributes of the user, and so on.
    No there is not a single "+mask this column!+" feature in Oracle.. but that does not mean that such a feature is not supported and cannot be implemented. Oracle has a very comprehensive and rich set of tools - more so than most (if not all) other RDBMS products.
    It is up to the architect/designer/developer to use this toolkit in creating a system that meets the specific requirements at hand.

  • Querying 2.5D data in Oracle 11g

    I'm trying to use the SDO_RELATE function on some 2.5D data in 11g and have some questions:
    Lets say if I have two tables with some points in one and two polygons in the other:
    -- TEST_TABLE_A
    CREATE TABLE TEST_TABLE_A (
    VALUE          VARCHAR2(100),
    GEOMETRY     MDSYS.SDO_GEOMETRY);
    -- Metadata 
    INSERT INTO user_sdo_geom_metadata VALUES ('TEST_TABLE_A','GEOMETRY', 
    SDO_DIM_ARRAY(
    SDO_DIM_ELEMENT('X', -10000000, 10000000, .001),
    SDO_DIM_ELEMENT('Y', -10000000, 10000000, .001),
    SDO_DIM_ELEMENT('Z', -100000, 100000, .001))
    , 262152);
    -- Create an index with sdo_indx_dims=3
    CREATE INDEX TEST_TABLE_A_SPIND ON TEST_TABLE_A (GEOMETRY)
    INDEXTYPE IS MDSYS.SPATIAL_INDEX
    PARAMETERS ('sdo_indx_dims=3');
    INSERT INTO TEST_TABLE_A (VALUE, GEOMETRY) VALUES
    ('POINT1', SDO_GEOMETRY(3001, 262152, SDO_POINT_TYPE(561802.689, 839675.061, 1), NULL, NULL));
    INSERT INTO TEST_TABLE_A (VALUE, GEOMETRY) VALUES
    ('POINT2', SDO_GEOMETRY(3001, 262152, SDO_POINT_TYPE(561802, 839675, 1), NULL, NULL));
    INSERT INTO TEST_TABLE_A (VALUE, GEOMETRY) VALUES
    ('POINT3', SDO_GEOMETRY(3001, 262152, SDO_POINT_TYPE(561808.234, 839662.731, 1), NULL, NULL));
    -- TEST_TABLE_A
    CREATE TABLE TEST_TABLE_B (
    VALUE          VARCHAR2(100),
    GEOMETRY     MDSYS.SDO_GEOMETRY);
    -- Metadata
    INSERT INTO user_sdo_geom_metadata VALUES ('TEST_TABLE_B','GEOMETRY', 
    SDO_DIM_ARRAY(
    SDO_DIM_ELEMENT('X', -10000000, 10000000, .001),
    SDO_DIM_ELEMENT('Y', -10000000, 10000000, .001),
    SDO_DIM_ELEMENT('Z', -100000, 100000, .001))
    , 262152);
    -- Create an index with sdo_indx_dims=3
    CREATE INDEX TEST_TABLE_B_SPIND ON TEST_TABLE_B (GEOMETRY)
    INDEXTYPE IS MDSYS.SPATIAL_INDEX
    PARAMETERS ('sdo_indx_dims=3');
    INSERT INTO TEST_TABLE_B (VALUE, GEOMETRY) VALUES
    ('NON-FLAT POLYGON',
    SDO_GEOMETRY(3003, 262152, NULL, SDO_ELEM_INFO_ARRAY(1, 1003, 1), SDO_ORDINATE_ARRAY(561902.814, 839647.609, 10.022,
    561891.19, 839652.227, 10.424, 561879.129, 839656.427, 10.932, 561867.892, 839659.927, 11.136, 561851.813, 839664.222, 11.594,
    561831.714, 839668.612, 11.797, 561802.689, 839675.061, 11.975, 561778.461, 839680.155, 12.611, 561753.474, 839685.085, 12.153,
    561750.606, 839685.756, 12.026, 561748.963, 839671.963, 15.309, 561747.899, 839659.764, 16.35, 561798.912, 839651.036, 15.801,
    561808.702, 839650.973, 15.225, 561844.265, 839648.912, 14.62, 561874.846, 839647.57, 13.018, 561897.681, 839647.338, 10.704, 561902.814, 839647.609, 10.022))
    INSERT INTO TEST_TABLE_B (VALUE, GEOMETRY) VALUES
    ('FLAT POLYGON',
    SDO_GEOMETRY(3003, 262152, NULL, SDO_ELEM_INFO_ARRAY(1, 1003, 1), SDO_ORDINATE_ARRAY(561902.814, 839647.609, 1,
    561891.19, 839652.227, 1, 561879.129, 839656.427, 1, 561867.892, 839659.927, 1, 561851.813, 839664.222, 1,
    561831.714, 839668.612, 1, 561802.689, 839675.061, 1, 561778.461, 839680.155, 1, 561753.474, 839685.085, 1,
    561750.606, 839685.756, 1, 561748.963, 839671.963, 1, 561747.899, 839659.764, 1, 561798.912, 839651.036, 1,
    561808.702, 839650.973, 1, 561844.265, 839648.912, 1, 561874.846, 839647.57, 1, 561897.681, 839647.338, 1,
    561902.814, 839647.609, 1))
    COMMIT;So now, lets say I want to find out what polygon interacts with a particular point.
    I would write this query like:
    SELECT     /*+ORDERED*/ b.value
    FROM     TEST_TABLE_b b, TEST_TABLE_a a
    WHERE     sdo_relate (a.geometry, b.geometry, 'MASK=ANYINTERACT QUERYTYPE=WINDOW') = 'TRUE'
    AND      a.value = 'POINT1';Running this I get:
    SELECT  /*+ORDERED*/ b.value
    ERROR at line 1:
    ORA-29902: error in executing ODCIIndexStart() routine
    ORA-13243: specified operator is not supported for 3- or higher-dimensional R-tree
    ORA-06512: at "MDSYS.SDO_INDEX_METHOD_10I", line 333But if I reverse the table order I get the correct answer
    SQL> SELECT      /*+ORDERED*/ b.value
      2  FROM       TEST_TABLE_a a, TEST_TABLE_b b
      3  WHERE      sdo_relate (a.geometry, b.geometry, 'MASK=ANYINTERACT QUERYTYPE=WINDOW') = 'TRUE'
      4  AND                a.value = 'POINT1';
    VALUE
    FLAT POLYGON
    1 row selected.Q1. Why do I get an error if I reverse the table order?
    Then if I try to find what points in the polygons:
    SQL> SELECT      /*+ORDERED*/ a.value
      2  FROM       TEST_TABLE_b b, TEST_TABLE_a a
      3  WHERE      sdo_relate (b.geometry, a.geometry, 'MASK=ANYINTERACT QUERYTYPE=WINDOW') = 'TRUE'
      4  AND                b.value = 'NON-FLAT POLYGON';
    no rows selected
    SQL> SELECT      /*+ORDERED*/ a.value
      2  FROM       TEST_TABLE_b b, TEST_TABLE_a a
      3  WHERE      sdo_relate (b.geometry, a.geometry, 'MASK=ANYINTERACT QUERYTYPE=WINDOW') = 'TRUE'
      4  AND                b.value = 'FLAT POLYGON';
    VALUE
    POINT1
    POINT2
    POINT3
    3 rows selected.So this suggests that the Z value is considered in the SDO_RELATE query.
    Q2. Is there anyway to run an SDO_RELATE query in 11g with 2.5D data, but get it to ignore the Z value?
    I have tried using sdo_indx_dims=2 when creating the indexes, but I get the same result.
    I'm using Enterprise Edition Release 11.1.0.6.0 on Windows server 2003 32bit.

    DBA-009 wrote:
    thx but how i can mask data with above give environment?What does "mask data" mean to you and what is the environment you are referring to?
    Telling us that you are using 11.1 helps. But it is far from a complete description of the environment. What edition of the database are you using? What options are installed? What Enterprise Manager packs are licensed? Is any of this changable? Could you license another option for the database or another pack for Enterprise Manager if that was necessary?
    What does it mean to you to "mask data"? Do you want to store the data on disk and then mask the data in the presentation layer when certain people query it (i.e. store the patient's social security number in the database but only present ***-**- and the last 4 digits to certain sets of employees)? Do you want to hide entire fields from certain people? Do you want to change the data stored in the database when you are refreshing a lower environment with production data? If so, do you need and/or want this process to be either determinisitic or reversable or both?
    Justin

  • Make the data fit in 1 or 2 pages in Rpt as per the data selection- Hyp IR

    Hi,
    Request to provide me solution for the following issue at the earliest :
    On dashboard I'll have 3 dropdowns drp1,drp2,drp3 and 3 list boxes lb1,lb2,lb3. User selects value from drp1 and selected value can be placed in lb1 thru "=>" button. So any no. of values (less or more values) can be placed in lb1 selected from drp1. Similarly values selected from drp2 placed in lb2 and values selected from drp3 in lb3 thru "=>" buttons.
    After selecting process button I have to place the list box (lb1,lb2,lb3) values (Text) in Text Labels (tlb1,tlb2,tlb3) on the Report. First part of the report contains Pivot with some calculations. Pivot will increase or decrease horizontally. Vertically its size is fixed. Down the pivot, Text Labels tlb1,tlb2,tlb3 are placed down the other. Spring option has been used for tlb1,tlb2,tlb3.
    Now issue I am facing is If user selects more values from drp1,drp2,drp3 then in report tlb1,tlb2,tlb3 are expanding and I am getting the report with 2 pages. After that if user selcts less values from drp1,drp2,drp3 then the data selected getting fitted in single page of report but the 2nd page previously expanded remains exist. But user should not get this 2nd page blank. I tried to apply report grouping . But didn't worked.
    Please suggest me solution for this problem. Can I achieve this requirement if I use any other controls instead of text labels in Report ( less values single page more values 2 pages). Thanks.

    Thanks Eric for the response.
    Our requirement is, in a Production instance, not to allow a DB user (APPS/SYSTEM) to see the confidential data. For example, a user who has the APPS schema password should not be able to see the salary details. However allowing the application like forms/reports/jsp to present the actual data and not the masked data.
    I understand from your reply that the data masking feature CANNOT be used for this purpose as it is rebiulding the tables with the masked data. However we understand that the same feature can be used in a TEST/DEV environment so that we can restrict the developer who is working on the TEST/DEV instance, from accessing the confidential data.
    Any pointers to acheive our requirement will be highly helpful.
    Thanks for your time.
    Ramana.

  • How to change calendar date format

    Hi All,
    I want to change the calendar date format to YYYY-MM-DD . For that i did the changes in localedefinitions.xml file but the date format i am getting is YYYY-M-D (if the month and date is single digit no else i am getting YYYY-MM-DD).
    Example - 2010-9-1
    we need - 2010-09-01
    Which file we need to modify to get the date alway in YYYY-MM-DD format.
    Thanks..

    hi,
    How about this?
    http://108obiee.blogspot.com/2009/04/changing-date-format-mask-in-javascript.html
    or
    http://obieetalk.com/how-change-date-format-mask-date-dashboard-prompts-drop-down-list-and-calendar
    thanks,
    Saichand.v

  • Data Security

    Hello,
    Machine : AIX 5.3
    APPS : Oracle EBS 11.5.10.2
    Database : Oracle Database Enterprise Edition 9.2.0.8.0
    I have made a clone of the production environnement and I wanna give the access to an external team.
    My questions are :
    - Is there a mean to mask data and to make it meaningless for the extern team as the database contains some sensitive data.
    - I read about anonymising scripts of the data, does any one had the same issue?
    BR.

    - Is there a mean to mask data and to make it meaningless for the extern team as the database contains some sensitive data.Data Masking
    https://forums.oracle.com/forums/search.jspa?threadID=&q=Data+AND+Masking&objID=c3&dateRange=all&userID=&numResults=15&rankBy=10001
    Data Scrambling
    https://forums.oracle.com/forums/search.jspa?threadID=&q=Data+AND+Scrambling&objID=c3&dateRange=all&userID=&numResults=15&rankBy=10001
    - I read about anonymising scripts of the data, does any one had the same issue? If you do not want to use any of the methods above, you will have to write your own code.
    Thanks,
    Hussein

  • InfoCube Data Encryption

    Hi All,
    I am using HR Employee Specific Payroll Data 0PY_C02 for reporting on payroll data.
    The sensitivity of the data in this cube is tremendous. 
    First Question: Can data in an InfoCube be encrypted?
    Second Question: Method and Steps involved in implementing Data encryption?
    <removed_by_moderator>
    Regards,
    Ashutosh

    hello,
    not sure if this is achievable.
    but you can look at this thread which talks of masking data in BI.
    Archiving Encrypted Credit Card Data
    Regards,
    Dhanya.

  • Use Data Warehouse for EBS 12.1.1 Data

    Hi,
    I want to create a data warehouse for our EBS 12.1.1 system.
    I read some article about it, but i don't understand Where should i start?
    please tell me what should i do???
    i install oracle warehouse builder but i couldn't used it.
    Best Regard

    Thanks Eric for the response.
    Our requirement is, in a Production instance, not to allow a DB user (APPS/SYSTEM) to see the confidential data. For example, a user who has the APPS schema password should not be able to see the salary details. However allowing the application like forms/reports/jsp to present the actual data and not the masked data.
    I understand from your reply that the data masking feature CANNOT be used for this purpose as it is rebiulding the tables with the masked data. However we understand that the same feature can be used in a TEST/DEV environment so that we can restrict the developer who is working on the TEST/DEV instance, from accessing the confidential data.
    Any pointers to acheive our requirement will be highly helpful.
    Thanks for your time.
    Ramana.

  • JFormattedTextField with edit and display formatter for date

    How can I have a date display formatter and a edit mask date formatter for JFormattedTextField instance.
    When I do
                   DateFormatter dateFormatter = new DateFormatter(new SimpleDateFormat("dd/MM/yyyy"));
                   JFormattedTextField.AbstractFormatterFactory factory = new DefaultFormatterFactory(dateFormatter, dateFormatter, dateFormatter);
                   jFormattedTextField_2.setFormatterFactory(factory);
    all is okie but I wanna a mask formatter and if I do
                   DateFormatter dateFormatter = new DateFormatter(new SimpleDateFormat("dd/MM/yyyy"));
                   MaskFormatter editFormater = new MaskFormatter();
                   try {
                        editFormater.setMask("##/##/####");
                   } catch (ParseException e) {
                        e.printStackTrace();
                   editFormater.setPlaceholderCharacter('_');               
                   JFormattedTextField.AbstractFormatterFactory factory = new DefaultFormatterFactory(dateFormatter, dateFormatter, editFormater);
                   jFormattedTextField_2.setFormatterFactory(factory);
    jFormattedTextField_2 accepts invalid date.
    What can I do to have a date edit mask and a date display mask for a
    JFormattedTextField instance.
    Thx a lot, Tony.

    txtdatnalzaproizvoid = new JFormattedTextField(datformater("##/##/##"));
    txtdatnalzaproizvoid.setValue(datumformat());
    public static MaskFormatter datformater(String formatnavnes){
    MaskFormatter formatter = null;
    try {
    formatter = new MaskFormatter(formatnavnes);
    formatter.setValidCharacters("0123456789");
    } catch (java.text.ParseException exc) {
    System.err.println("formatter is bad: " + exc.getMessage());
    System.exit(-1);
    return formatter;
    public static String datumformat(){
    Date dddd = new Date();
    SimpleDateFormat formatter = new SimpleDateFormat("dd/MM/yy");
    datumformat = formatter.format(dddd);
    return datumformat;
    }

  • Need Help with Column Masking

    Hi All,
    I am looking for Masking options/techniques to mask few columns.
    I am aware of the option Oracle Data Masking Pack. But its costly. Can you please suggest some other way/technique using which I can achieve this?
    Thanks in Advance

    You can always try manual masking using datapump and sql and pl/sql (export original data and then create function that will put some random/other data instead of real ones). I have seen some clients that have implemented this type of masking. However, be aware that this will not give the best results, and that it will not come anywhere near quality of Oracle Data Masking Pack's masked data.
    Zoran

Maybe you are looking for

  • Issue adding a new column to OBIEE presentation layer

    Hi, I am pretty new to OBIEE so this may be a silly question. I am facing some problems trying to add a new column from a physical table the OBIEE presentation layer. Below are the steps I followed: Task: add a product category set to the presentatio

  • How to ignore nulls in analytic functions ( row_number() and count())

    how to ignore nulls in analytic functions ( row_number() and count())

  • Urgent- forms4.5 with oracle 8i

    Hi, I want to migrate to oracle 8i on Sun Solaris 2.6. I currently have oracle 7.3. I am also running froms 4.5 as clients with oracle 7.3. I want to know does oracle 8i support form 4.5. ? Does Forms 4.5 can be connected to oracle 8i in any way? Thi

  • Why do I have to restart Mail to get new messages?

    Often times I have to either restart my mail or take accounts offline and bring them back on in order to have my new messages come in.  I use GoDaddy as my email provider.  I have about 6 emails coming into mail and the only ones that have this issue

  • Modify format of Application Log

    We have CF 8. In the Application Log, there is lots of good information, but not the user name. In most installations, you just can't get it. But our setup is for an Intranet, and the user name is available as a CGI variable. Can the routine that wri