Table joins, templates, null-checks, layer confusion and localization

Hello everyone, this is my first post on this network.
I am designing a website that does several things, one of which is to display latest news items on the home page.
The news items are stored in the database as a table with a basic structure: id, poster_id, postDate, subject, body
where id is the primary key, poster_id is a foreign key to the users table, postDate is the date at which posted and the rest is obvious.
I want to display these items with a basic template:
subject by author at postDate
body
<hr />
When a user changes his/her username, the updated username will be shown on the news listing. This is the reason why I'm using a foreign key.
I've defined poster_id such that it can be set as NULL, meaning it was not created by a registered user, but a guest. Don't ask me why I'd want a guest to post a news item :P
When it comes to getting the news posts from the database and resolving the poster_id to a username i just use a join. However, when poster_id is NULL i obviously don't get a username for that post but a NULL. The word "Guest" has to come in when the poster_id is null. So in my template you'd think i could just put a null check as I can't do it in sql (as far as i know anyway).
Now, I'm using localization on the site and the word "Guest" is different depending on the locale. So you'd think i could just use a null check and a locale->get('guest_username') and that will return the word "Guest" in the right language.
If I want to view news on different pages, and more importantly, in different forms such as just author: subject, I come across a problem. I want to avoid having to repeat that null check code on every template that views news posts. Complicating things, I want anywhere that display a username to do the null check and return the locale'd guest username if it is a null.
Where do I put this null check? The locale object is part of the model layer, because other model objects use it.
Is this the presentation or the model layer's responsibility? I am relatively new to this design patterns thing, but I'm getting there :) I've thought about using wrapping classes but I'm just not sure at this point and I need smart people's opinion :)
I hope I was able to explain my problem properly and I thank anyone in advance for taking the time to read and give their insight on such a problem. Thank you :)

antirealm wrote:
Hello everyone, this is my first post on this network.
I am designing a website that does several things, one of which is to display latest news items on the home page.
The news items are stored in the database as a table with a basic structure: id, poster_id, postDate, subject, body
where id is the primary key, poster_id is a foreign key to the users table, postDate is the date at which posted and the rest is obvious.
I want to display these items with a basic template:
subject by author at postDate
body
<hr />
When a user changes his/her username, the updated username will be shown on the news listing. This is the reason why I'm using a foreign key.
I've defined poster_id such that it can be set as NULL, meaning it was not created by a registered user, but a guest. Don't ask me why I'd want a guest to post a news item :PI think this is a fundamental mistake. A better design, IMO, would be to have an explicit GUEST or anonymous poster ID, but not null.
When it comes to getting the news posts from the database and resolving the poster_id to a username i just use a join. However, when poster_id is NULL i obviously don't get a username for that post but a NULL. The word "Guest" has to come in when the poster_id is null. So in my template you'd think i could just put a null check as I can't do it in sql (as far as i know anyway).See above.
Now, I'm using localization on the site and the word "Guest" is different depending on the locale. So you'd think i could just use a null check and a locale->get('guest_username') and that will return the word "Guest" in the right language.Localization should be a UI issue. It should be all sorted out by the time you get to the persistence layer.
If I want to view news on different pages, and more importantly, in different forms such as just author: subject, I come across a problem. I want to avoid having to repeat that null check code on every template that views news posts. Complicating things, I want anywhere that display a username to do the null check and return the locale'd guest username if it is a null.If it's hard to do, it's worth re-thinking. Don't use null when there are sensible non-null alternatives.
Where do I put this null check? The locale object is part of the model layer, because other model objects use it.
Is this the presentation or the model layer's responsibility? I am relatively new to this design patterns thing, but I'm getting there :) I've thought about using wrapping classes but I'm just not sure at this point and I need smart people's opinion :)L10N and I18N issues should be the responsibility of the presentation layer, IMO.
%

Similar Messages

  • Null check for "ora:readFile()" function

    Hi,
    I want to check whether a particular file is present in a given folder in our local server.In case of success scenario the "ora:readFile()" function is working fine but if the file is not present in the same folder then,this function is getting failed with system exception ,reason:-message can't be null.
    Can't we add a null check for this and continue the flow further?
    Regards,
    N.Das

    Hi,
    You should first try list operation in file adapter to check for the file then use the readfile() conditionally if file is found.
    Try the function to mention the path as
    ora:readFile(concat('file:',bpws:getVariableData('Invoke1_FileListing_OutputVariable','filelist','/ns1:filelist/ns1:file/ns1:directory'),'/',bpws:getVariableData('Invoke1_FileListing_OutputVariable','filelist','/ns1:filelist/ns1:file[1]/ns1:filename'))).
    This will get you the content in base64encoded format. You can then decode it to get the text format data.
    Thanks,
    Durga
    - It is considered good etiquette to reward answerers with points (as "helpful" - 5 pts - or "correct" - 10pts).*

  • Conditionally hide a Table in template if underlying rows of table are null

    Hi Folks.
    Very new to BIP but keen to learn.
    I have successfully set up an RTF template and I can get it to run with my BIP.
    I have defined a table in the report using the Table Wizard. What I'd like to do now is wrap the table definition in the document with a condition that checks if the underlying table values are null. I.e. if the table behind that particular section has no rows then I don't want to display the column headers etc. nothing.
    I have tried adding the following before the table...
    <?if:SEQ!=''?>
    Then insert the table using the wizard..
    Then finish with
    <?end if?>
    There's no whitespace between the if, the table and the end if statements.
    I'm hoping to test that if SEQ is null then don't display the table.
    Am I missing something simple or am I wildly off-track?
    Any pointers appreciated.
    Many thanks
    Kind regards
    Dogfighter.

    Disregard last post.
    MODS feel free to purge this.
    It actually works.
    Don't know what I was doing wrong but the code I quoted in the last post does what it's supposed to.
    Just tired I guess.
    Cheers
    Dogfighter.

  • Primary key and relevant not null check constraints....

    Hi ,
    There are some constraints of primary key type and not null check constraints on columns which constitute each primary key....
    Should I/Do I have to drop them....????
    Do they burden the db at the time of data validation....????
    Thanks...
    Sim

    Hi,
    >>There are some constraints of primary key type and not null check constraints on columns which constitute each primary key..
    In fact, a column that constitutes a primary key, by default cannot accept NULL values. In this case, defines a PK column as NOT NULL would not be necessary.
    LEGATTI@ORACLE10> create table x (id number constraint pk_x primary key);
    Table created.
    LEGATTI@ORACLE10> desc x
    Name                  Null?    Type
    ID                    NOT NULL NUMBER
    LEGATTI@ORACLE10> select constraint_name,constraint_type,table_name,search_condition from user_constraints where table_name='X';
    CONSTRAINT_NAME                C TABLE_NAME      SEARCH_CONDITION                
    PK_X                           P X
    LEGATTI@ORACLE10> create table y (id number not null constraint pk_y primary key);
    Table created.
    LEGATTI@ORACLE10> desc y
    Name                  Null?    Type
    ID                   NOT NULL NUMBER
    LEGATTI@ORACLE10> select constraint_name,constraint_type,table_name,search_condition from user_constraints where table_name='Y';
    CONSTRAINT_NAME                C TABLE_NAME      SEARCH_CONDITION
    SYS_C006327381 C Y "ID" IS NOT NULL 
    PK_Y                           P Y
    LEGATTI@ORACLE10> alter table y drop constraint SYS_C006327381;
    Table altered.
    LEGATTI@ORACLE10> desc y
    Name                                      Null?    Type
    ID                                        NOT NULL NUMBER
    LEGATTI@ORACLE10> insert into y values (NULL);
    insert into y values (NULL)
    ERROR at line 1:
    ORA-01400: cannot insert NULL into ("LEGATTI"."Y"."ID")
    LEGATTI@ORACLE10> insert into y values (1);
    1 row created.
    LEGATTI@ORACLE10> insert into y values (1);
    insert into y values (1)
    ERROR at line 1:
    ORA-00001: unique constraint (LEGATTI.PK_Y) violated
    >>Should I/Do I have to drop them....????
    I don't see any problem, otherwise, drop the NOT NULL constraint is the same with alter the column table like below:
    LEGATTI@ORACLE10> create table z (id number not null constraint pk_z primary key);
    Table created.
    LEGATTI@ORACLE10> select constraint_name,constraint_type,table_name,search_condition from user_constraints where table_name='Z';
    CONSTRAINT_NAME                C TABLE_NAME                     SEARCH_CONDITION
    SYS_C006328420 C Z "ID" IS NOT NULL
    PK_Z                           P Z
    LEGATTI@ORACLE10> desc z
    Name                                      Null?    Type
    ID                                        NOT NULL NUMBER
    LEGATTI@ORACLE10> alter table z modify id NULL;
    Table altered.
    LEGATTI@ORACLE10> select constraint_name,constraint_type,table_name,search_condition from user_constraints where table_name='Z';
    CONSTRAINT_NAME                C TABLE_NAME                     SEARCH_CONDITION
    PK_Z                           P Z
    LEGATTI@ORACLE10> desc z
    Name                                      Null?    Type
    ID                                        NOT NULL NUMBERCheers
    Legatti

  • Check two columns and update other table

    HI ,
    I have a table called trackCenterline .Below is the table.
    What i want to do is If the segmentSequenceID is 1 it should pick the corresponding SegmentID i.e 10001 and Check for the same segment id in other table called TrackSegment which is below.  and pick the BeginMilepost of that segmentID and Update That
    Milepost in a new table .At end SegmentSequenceID number it should pick ENDMilepost and update
    TrackCenterline table.
    TrackSegment table
    In the below table for 10001 SegmentID it should pick BeginMilepost. For end Number of SegmentSequenceID in above table ID ends at 121 for that end sequenceID It should refer TrackSegment table below and pick EndMilepost and should be updated in another
    table Milepost column.
    after that a new segment starts with new sequence .and so on ...
    bhavana

    Hi Deepa_Deepu,
    According to your description, since the issue regards T-SQL. I will help you move the question in the T-SQL forums at
    http://social.technet.microsoft.com/Forums/en-US/home?forum=transactsql. It is appropriate and more experts will assist you.
    When you want to check two columns from two tables then return some results and update the third table. I recommend you use join function and combine two tables, then use update select from statement for modifying the Mailpost table. You can refer to the
    following T-SQL Statement.
    -----using join to connect to two tables
    select TrackCenterline.FeatureId,TrackCenterline.SegmentId,
    TrackCenterline.SegmentSequenceId,TrackSegment.BeginMilepost,TrackSegment.EndMilepost
    from dbo.TrackCenterline join dbo.TrackSegment
    on TrackCenterline.SegmentId=TrackSegment.SegmentId
    order by TrackCenterline.SegmentId, TrackCenterline.SegmentSequenceId
    ---the result shows as following.
    FeatureId SegmentId SegmentSequenceId BeginMilepost EndMilepost
    AMK100011 10001 1 61.0000 61.3740
    AMK100012 10001 2 61.0000 61.3740
    AMK100013 10001 3 61.0000 61.3740
    AMK1000121 10001 121 61.0000 61.3740
    AMK100021 10002 1 61.1260 61.7240
    AMK100023 10002 3 61.1260 61.7240
    AMK100033 10003 3 61.3740 62.9530
    -----Then you can use update select from statement to modify the Mailpost table, Or you can post the table structure of Mailpost
    And for more information, you can review the following article about update statement.
    http://www.techonthenet.com/sql/update.php
    Regards,
    Sofiya Li
    Sofiya Li
    TechNet Community Support

  • Need your help to confirm the table join rules on DocEntry and DocNum.

    Hi guys,
    I've done some study and awared table join rules on SBO documents, let me put in the followings:
    (1) the table of documents head (i.e. ODLN) and line items (i.e. DLN1) can be joined via DocEntry/BaseEntry.
    (2) the table of related documents (i.e. RDR1 and DLN1) can be joined via DocNum/BaseRef.
    finnally, can we say that we can ONLY join table by DocEntry/BaseEntry or DocNum/BaseRef, and we should NOT use DocEntry/BaseRef.
    Am I right? pls help to correct it for my misunderstanding.
    Thanks.

    thanks for your help.
    but I'm truly confused about why some table have both BaseRef and BaseEntry columns, some table only have DocEntry columns?
    As I know, e.g. OWOR and WOR1, there have some series generated from NMM1, the value of DocEntry/DocNum in OWOR may not be the same, and we can only join OWOR/WOR1 via OWOR.DocEntry = WOR1.DocEntry.
    So when to use (T0.DocEntry/T1.DocEntry), when to use (T0.DocEntry/T1.BaseEntry) and when to use (T0.DocNum/T1.BaseRef)?

  • 3 Table Join with group by and order by clauses

    I am porting from MySQL to Oracle 8i. I have a three Table Join in MySQL as follows:
    select distinct TO_DAYS(l.listend)-TO_DAYS(NOW()) AS daysLeft, i.minbid, l.listend, i.itemid, i.itemtitle, l.listingid, l.lendstart, l.lendend, l.status, MAX(b.amount) AS curBid, COUNT(b.amount) AS numBids from TBL_ITEMS i, TBL_LISTING l LEFT JOIN TBL_BIDS b ON l.listingid=b.listingid where i.itemid = l.itemid AND l.status='1' AND (TO_DAYS(l.listend)-TO_DAYS(NOW()) >= 0) AND i.catcode LIKE'12__' GROUP BY listingid order by curBid DESC, daysLeft;
    It performs an straight join on the first 2 tables (TBL_ITEMS and TBL_LISTING) and a LEFT JOIN between the previous result set and TBL_BIDS. TBL_BIDS uses a group by clause to obtain MAX and COUNT info. This final result set is the sorted (ORDER BY).
    I have tried to reconstruct this type of call in Oracle and have failed. Several problems that I have notices: Oracle does not let me pull in additional columns when doing a GROUP BY clause.
    (see below for my work around)
    I have worked around the problem by creating a TABLE with the group by functionality and doing a straing 3 table join. (NOTE: I cannot create a view because use a LIKE function in the call... view dont have indexes). However, when I try to alias the column that returns DATE subtraction ("l.listend-TRUNC(SYSDATE) daysLeft" OR "l.listend-TRUNC(SYSDATE) dayLeft") I cannot use the LIKE statement.
    Here is my question. How do I port the above 3-table MySQL call to Oracle. Why am I having these problems (is it the Oracle optimizer?) and how do I avaopid them in the future.
    I really appreciate anyone's input. Thanks,
    Inder
    WORK AROUND:
    FIRST STEP:
    "create TABLE BIDSUM as
    select l.listingid, COUNT(b.amount) numBids, MAX(b.amount) curBid from TBL_LISTING l, TBL_BIDS b where l.listingid=b.listingid(+) group by (l.listingid);"
    NEXT STEP:
    select i.minbid, i.itemtitle, l.lendstart-TRUNC(SYSDATE), l.lendend, l.listingid, l.status, s.numbids, s.curbid from TBL_ITEMS i, TBL_LISTING l, BIDSUM s where l.listingid=s.listingid AND i.itemid=l.itemid AND l.status='1' AND i.catcode LIKE '12%';
    THIS ALSO WORKS (no LIKE):
    "select i.minbid, i.itemtitle, l.lendstart-TRUNC(SYSDATE) daysLeft, l.lendend, l.listingid, l.status, s.numbids, s.curbid from TBL_ITEMS i, TBL_LISTING l, BIDSUM s where l.listingid=s.listingid AND i.itemid=l.itemid AND l.status='1' AND i.catcode='12'";
    BUT THIS DOES NOT (alias the DATE arimetic)
    select i.minbid, i.itemtitle, l.lendstart-TRUNC(SYSDATE) daysLeft, l.lendend, l.listingid, l.status, s.numbids, s.curbid from TBL_ITEMS i, TBL_LISTING l, BIDSUM s where l.listingid=s.listingid AND i.itemid=l.itemid AND l.status='1' AND i.catcode LIKE '12__';

    I am porting from MySQL to Oracle 8i. I have a three Table Join in MySQL as follows:
    select distinct TO_DAYS(l.listend)-TO_DAYS(NOW()) AS daysLeft, i.minbid, l.listend, i.itemid, i.itemtitle, l.listingid, l.lendstart, l.lendend, l.status, MAX(b.amount) AS curBid, COUNT(b.amount) AS numBids from TBL_ITEMS i, TBL_LISTING l LEFT JOIN TBL_BIDS b ON l.listingid=b.listingid where i.itemid = l.itemid AND l.status='1' AND (TO_DAYS(l.listend)-TO_DAYS(NOW()) >= 0) AND i.catcode LIKE'12__' GROUP BY listingid order by curBid DESC, daysLeft;
    It performs an straight join on the first 2 tables (TBL_ITEMS and TBL_LISTING) and a LEFT JOIN between the previous result set and TBL_BIDS. TBL_BIDS uses a group by clause to obtain MAX and COUNT info. This final result set is the sorted (ORDER BY).
    I have tried to reconstruct this type of call in Oracle and have failed. Several problems that I have notices: Oracle does not let me pull in additional columns when doing a GROUP BY clause.
    (see below for my work around)
    I have worked around the problem by creating a TABLE with the group by functionality and doing a straing 3 table join. (NOTE: I cannot create a view because use a LIKE function in the call... view dont have indexes). However, when I try to alias the column that returns DATE subtraction ("l.listend-TRUNC(SYSDATE) daysLeft" OR "l.listend-TRUNC(SYSDATE) dayLeft") I cannot use the LIKE statement.
    Here is my question. How do I port the above 3-table MySQL call to Oracle. Why am I having these problems (is it the Oracle optimizer?) and how do I avaopid them in the future.
    I really appreciate anyone's input. Thanks,
    Inder
    WORK AROUND:
    FIRST STEP:
    "create TABLE BIDSUM as
    select l.listingid, COUNT(b.amount) numBids, MAX(b.amount) curBid from TBL_LISTING l, TBL_BIDS b where l.listingid=b.listingid(+) group by (l.listingid);"
    NEXT STEP:
    select i.minbid, i.itemtitle, l.lendstart-TRUNC(SYSDATE), l.lendend, l.listingid, l.status, s.numbids, s.curbid from TBL_ITEMS i, TBL_LISTING l, BIDSUM s where l.listingid=s.listingid AND i.itemid=l.itemid AND l.status='1' AND i.catcode LIKE '12%';
    THIS ALSO WORKS (no LIKE):
    "select i.minbid, i.itemtitle, l.lendstart-TRUNC(SYSDATE) daysLeft, l.lendend, l.listingid, l.status, s.numbids, s.curbid from TBL_ITEMS i, TBL_LISTING l, BIDSUM s where l.listingid=s.listingid AND i.itemid=l.itemid AND l.status='1' AND i.catcode='12'";
    BUT THIS DOES NOT (alias the DATE arimetic)
    select i.minbid, i.itemtitle, l.lendstart-TRUNC(SYSDATE) daysLeft, l.lendend, l.listingid, l.status, s.numbids, s.curbid from TBL_ITEMS i, TBL_LISTING l, BIDSUM s where l.listingid=s.listingid AND i.itemid=l.itemid AND l.status='1' AND i.catcode LIKE '12__';

  • Difference between Logicaldatabase and Table Join in Query SQ01

    Hello Expert,
    To create query, we need to create infoset first. While cration of infoset we have two option
    1. Enter Table names and join table
    2. Use logical database.
    We cant use both option at a time.
    I have created a infoset where i have used the logical database PNPCE, Now i have situation where i need to join the two infotype mainly 0021 and 0138. But i cant find any otion wher i can join these two table. If i use these two table in the infoset instead of logical database , i am able to join them using join tool.
    When i use logical database, by default infotypes are joined based on the employee number only. Is thetre any option where i can join my two infotype other than employee field???
    Regards,
    Sagar

    Moderator message - Please search before asking - post locked
    Rob

  • HT1688 my Iphone 4 quit working.  It will not recharge and it was not low on charge when it quit.  It was sitting on a table. I checked the time and then it never worked again.

    My Iphone 4 quit.  it has a charge.  it was on a table.  i checked the time and it never came on again.
    Please help.
    Sharon

    Hold the HOME and SLEEP buttons at the same time until an Apple logo appears. If it hasn't appeared after 20 seconds of holding charge it for 15 minutes with the wall charger and try again.

  • For our family finances, how do I create a monthly report merging data (by category) from tables for checking, credit card, and savings?

    For our family finances, how do I create a monthly expenditure report that automatically merges data (by category) from checking, credit card, and savings accounts?

    You can set up four tables:
    1) a summary table
    2) a table for pasting Checking transactions
    3) a table for pasting Credit Card transactions
    4) a table for pasting Savings transactions
    You will have catagorize each transaction or using the ones from the bank/credit card
    I used pop-up menus to make the categories (Type) and summed the two accounts in the summary table.

  • How to transfer database table contain null values, primary key, and foreign key to the another database in same server. using INSERT method.

    how to transfer database table contain null values, primary key, and foreign key to the another database in same server. using INSERT method.  thanks

    INSERT targetdb.dbo.tbl (col1, col2, col3, ...)
       SELECT col1, col2, col3, ...
       FROM   sourcedb.dbo.tbl
    Or what is your question really about? Since you talke about foreign keys etc, I suspect that you want to transfer the entire table definition, but you cannot do that with an INSERT statement.
    Erland Sommarskog, SQL Server MVP, [email protected]

  • Table join and Logical databasein a same query

    Hi Experts,
    I have an existing query which is created using table join. I now want to add a logical database in the same infoset.
    Is it possible to add a logical database in the same infoset?
    Regards,
    Prakhar

    Hi Prakhar,
    If you see the  below scren,  you can use data source either Table join using basis table or Logical database.
    but if you need ldb with some addition table field then you can data retrieval by program step or you can use LDB with doing some code in inside  your infoset.
    Regards,
    Prasenjit

  • Question about multiple table JOIN syntax

    Good morning,
    I'm trying to join three tables and getting an error. Here is the query:
    with
      p (messageid, parentmessageid, subject) as
        select 2001, null, 'xyz'    from dual union all
        select 2002, 2001, 'ngh'    from dual union all
        select 2003, 2001, 'nghj'   from dual union all
        select 2004, 2001, 'pppp'   from dual union all
        select 2005, null, 'hhhhh'  from dual union all
        select 2006, 2005, 'hhhhj'  from dual
      m (thread, messageid) as
        select 1004, 2001           from dual union all
        select 1005, 2006           from dual
    select p2.messageid, p2.parentmessageid, p2.subject
      from (p p2 left outer join m m2
                              on (p2.parentmessageid = m2.messageid))
           join m m3
             on m3.messageid = p2.messageid
    ;                which gives an "ORA-00918: column ambiguously defined.
    I can't figure out why it gives that error. I fail to see the ambiguity.
    Thank you for helping,
    John.
    P.S: In case someone wants to get a good laugh, here is a "solution" that does not have any ambiguity:
    with
      parentchild (messageid, parentmessageid, subject) as
        select 2001, null, 'xyz'    from dual union all
        select 2002, 2001, 'ngh'    from dual union all
        select 2003, 2001, 'nghj'   from dual union all
        select 2004, 2001, 'pppp'   from dual union all
        select 2005, null, 'hhhhh'  from dual union all
        select 2006, 2005, 'hhhhj'  from dual
      messagethread (thread, messageid) as
        select 1004, 2001           from dual union all
        select 1005, 2006           from dual
      j1 as
       select p.messageid, p.parentmessageid, p.subject, m.thread
         from parentchild                     p
              left outer join messagethread   m
                           on p.parentmessageid = m.messageid
      j2 as
       select j1.messageid, j1.parentmessageid, j1.subject, j1.thread, m.thread t2
         from j1 left join messagethread m
           on j1.messageid = m.messageid
    select j2.messageid, j2.parentmessageid, j2.subject, nvl(j2.thread, t2)
      from j2
    order by messageid
    ;

    440bx - 11gR2 wrote:
    Hi Sven,
    >
    I guess the explain plan woudl show that there is some strange query rewrite going on. Where the outer join is added later then needed and therefore the columns do not match anymore as it was in the original query.
    >
    Is there a "hint" that could be used to test that hypothesis ?
    John.I tried NO_QUERY_TRANSFORMATION and MATERIALIZE but the error still was there. So it might not be a problem of rewriting the query.
    However I checked the explain plan for a similiar query which is working.
    sql> with
      2    p as ( select 2002 messageid, 2001 parentmessageid, 'ngh' subject   from dual)
      3   ,m as ( select 1004 threadx, 2001 messageid2 from dual )
      4   ,m3 as ( select * from m)
      5  select *
      6  from p p2
      7  left join m m2 on p2.parentmessageid = m2.messageid2
      8  join m3 on m3.messageid2 = p2.messageid
      9  ;   
    no rows selected
    Execution Plan
    Plan hash value: 4005120224
    | Id  | Operation           | Name | Rows  | Bytes | Cost (%CPU)| Time     |
    |   0 | SELECT STATEMENT    |      |     1 |     2 |     0   (0)|          |
    |*  1 |  FILTER             |      |       |       |            |          |
    |   2 |   NESTED LOOPS OUTER|      |     1 |     2 |     6   (0)| 00:00:01 |
    |   3 |    NESTED LOOPS     |      |     1 |       |     4   (0)| 00:00:01 |
    |   4 |     FAST DUAL       |      |     1 |       |     2   (0)| 00:00:01 |
    |   5 |     FAST DUAL       |      |     1 |       |     2   (0)| 00:00:01 |
    |*  6 |    TABLE ACCESS FULL| DUAL |     1 |     2 |     2   (0)| 00:00:01 |
    Predicate Information (identified by operation id):
       1 - filter(NULL IS NOT NULL)
       6 - filter(NVL2(ROWID(+),2001,NULL)=2001)
    Statistics
              0  recursive calls
              0  db block gets
              0  consistent gets
              0  physical reads
              0  redo size
            357  bytes sent via SQL*Net to client
            231  bytes received via SQL*Net from client
              1  SQL*Net roundtrips to/from client
              0  sorts (memory)
              0  sorts (disk)
              0  rows processed
    sql> I can remember some other thread here where a very similiar filter criteria was also mentioned in the context of a "bug".

  • Joins in BI Administration layer

    Hi,
    I have created few dimension in Owb, along with a cube. now i imported them in BI administrations physical layer. is it necessary to join them both on physical and business model an mapping layer or its enough to join them on physical layer.
    secondly, can we use complex join in place of logical foreign key joins.........??
    regards,
    imran

    Thanks for ur response.......
    I did the same but when i completed business model and mapping layer and then drage it to the presentation layer but consistancy check gives me error that shows there is some relationship error. i think some joins are still missing.... should i join on presentation layer as well .......... if not why ???? as i am joining tables in first two layers.....
    Secondly tell me something about Chronological key in time dimension. what is its usage.......
    thanks
    imran
    Edited by: user596732 on Feb 18, 2009 10:39 AM

  • SRM MDM, Error, "Table with Code 'null' does not exist in repository"

    Hi experts,
    We has SRM MDM scenario, while doing OCI settings, we are able to connect with MDM repository but getting follwoing error message in portal, "java.lang.IllegalArgumentException: Table with Code 'null' does not exist in the repository 'Repository' or is one of the system table (e.g. Workflows) that is not exposed in repository schema" 
    Can You please suggest,
    Thanks and Regards,
    Munish

    Hi everyone,
    Sudhanshu and Anshuk:- Thanks for your response, let me try and explain the real scenario in details:-
    We have deployed the SRM-MDM Catalog Search UI in Portal.
    We tried accessing the http://<Portal Host>:<Portal Port>/SRM-MDM/SRM_MDM
    Then we got a screen (Search UI App screen), where in we have provided the MDM Server name, then the MDM Server Password, then presses the Connect button, then below this, it displayed the Repository name created in the MDM. We have selected the Repository, then provided the Credentials of a User (Name: T_CORP) in MDM which has "Catalog Manager", and the "UI Configuration Manager" Roles. Please note that these Role names were created by us in MDM. Is it the right procedure or do we have any standard Roles delivered by SAP in MDM to map? If any standard Roles are available, where we need to check these.
    Once the Credentials of MDM User is provided, and then selected the "Login" button.
    Then we are getting the below error.
    "java.lang.IllegalArgumentException: Table with Code 'null' does not exist in the repository 'Repository' or is one of the system table (e.g. Workflows) that is not exposed in repository schema"
    Please clarify; we are not configuring any values in iViews. Where we need to do this, I mean name of the iView, and what values do we need provide generally? We are just running the Search UI App application; I don't think it is an iView, because the URL shows the Application name details, etc...
    Please guide us, how to fix this Error.
    Thanks and Regards,
    Munish

Maybe you are looking for