Understanding the practical implications of the Cairngorm 3 Navigation Library

Hi there again,
Based on the discussion from yesterday:
http://forums.adobe.com/thread/897088?tstart=0
... I forgot to mention that I have difficulties to find practical use cases for the Navigation Library. What does the Navigation Library solve when it will be used in the development architecture? Nothing explicit seems to be mentioned about it in your documentation:
http://sourceforge.net/adobe/cairngorm/wiki/HowToUseCairngormNavigation/
When speaking in theory I also have the concern that the Navigation Library is breaking the separation of concern between the Presentation Layer and the Domain Layer (when using the Domain Driven Design language):
http://sourceforge.net/adobe/cairngorm/wiki/UnderstandingCairngorm/
... or the separation of concern between the View Layer and the Data Layer (when using my language):
http://code.google.com/p/masuland/wiki/NanoarchitectureMVCb
Practically speaking again, I usually store the application state (or the waypoints/landmarks of the application) in the Application Model ... see:
     public class AppModel
          // States
          [Publish(scope='appModel', objectId='loginBoxState')]
          public var loginBoxState:String;
          [Publish(scope='appModel', objectId='appStackState')]
          public var appStackState:String;
          [Publish(scope='appModel', objectId='settingsBoxState')]
          public var settingsBoxState:String;
For more information please check out these two versions:
http://code.google.com/p/masuland/wiki/LoginExample#Flex_4_(Halo)_with_MVCbCtl_PInj
http://code.google.com/p/masuland/wiki/LoginExample#Flex_4_(Halo)_with_MVCbCtl_PInjDdd
... of my Login Example:
http://code.google.com/p/masuland/wiki/LoginExample
I hope you can help me clarify this!
Thank you,
masu

I managed to reproduce this issue in the NavigationParsleyProject. After the NavigationParsleySample1 application is started the active view is content.dashboard.nested.child1. However if you try to navigate to content.tasks.timetracking view, it will redirect you to content.tasks.expenses view which is the first child in the content.tasks ViewStack. All Timetracking view's enter and exit handlers as well as interceptors will be executed though.
After I commented out the metadata for all event handlers and both interceptors in TimeTrackingPM class, I was successfully navigated to the content.tasks.timetracking view.
This issue occurs only once and I believe it has something to do with the deferred instantiation. I tried to debug the source of the navigation library but haven't had any success yet.

Similar Messages

  • Deep linking integrating with Cairngorm 3 Navigation Library

    Hi there,
    I wonder if the Cairngorm 3 Navigation Library will integrate deep linking in future? Furthermore, it would be great to know how deep linking could be used in coexistence with the Cairngorm 3 Navigation Library!
    Any thoughts about it?
    Thanks,
    masu

    Hello François,
    As adviced, I have posted this feature request to your jira:
    http://bugs.adobe.com/jira/browse/CGM-94
    For the moment, only John Cunliffe from this post:
    http://forums.adobe.com/thread/872180
    ... is capable of providing a working patch.
    Please keep me posted!
    Thank you,
    masu

  • Cairngorm 3 Navigation library and custom Waypoints

    Hi all!
    How can I set my own class to process waypoints? I created the class which extends com.adobe.cairngorm.navigation.waypoint.AbstractWaypoint. And in my ViewStack I added the follwing metadata: [Waypoint(type="path.to.my.Class")]. However when I try to navigate to this ViewStack's child I receive the following error: Error: Unable to set mapped value for [Property type in class com.adobe.cairngorm.navigation.waypoint.decorator::WaypointDecorator].
    What am I doing wrong? How can I use my own classes to process Waypoints and Landmarks?

    I'm pretty sure that my class is correct. MXML definition of the waypoint throws the same error. It works only if I modify the if statement in the WaypointProcessor.preInit() method:
                     if (waypointHandler.waypoint is CurrentStateWaypoint)
                    registration = new StateDestinationRegistration(controller.controller,
                                                                    waypointHandler,
                                                                    name);
                  else if (waypointHandler.waypoint is MyWaypointClass) {
                            registration = new ContainerDestinationRegistration(controller.controller,
                                                                        waypointHandler);
                else
                    registration = new ContainerDestinationRegistration(controller.controller,
                                                                        waypointHandler);

  • Cairngorm 3 and Navigation Library

    Hi,
    I've been looking at the draft code for the Cairngorm 3 Navigation Library and wondered if anyone knows how to use the CurrentStateWaypoint?
    This seems to provide what I want but I can't see any example code, in the examples, tests or library. Is this part of the library still to be implemented completely, or is it deprecated / for removal?
    Any example on how this should be used would be appreciated.
    Thanks

    The CurrentStateWaypoint isn't implemented at this point. But maybe you could give it a try? Let me know if you make progress.
    The connection is already there. By default the Waypoint decorator choses the SelectedChildWaypoint that works for all Containers that have a selectedChild and dispatch an IndexChangedEvent.CHANGE event. To enable it for states, you would need to specify that in the Waypoint metadata. I'd like to think later if we can let the Waypoint decorator automatically detect the correct type.
        <mx:Metadata>
          [Waypoint(type="com.adobe.cairngorm.navigation.waypoint.CurrentStateWaypoint")]
        </mx:Metadata>
    Then, the CurrentStateWaypoint could be build in a similar manner than the SelectedChildWaypoint. Here's an outline:
        public class CurrentStateWaypoint extends AbstractWaypoint
            override protected function navigateToHandler(destination:String):void
                view.currentState = destination;
            override public function onInitialize():void
                var stateView:UIComponent = view;
            override public function getDefaultDestination():String
                return null;
    If you could check out the trunk version for the latest code you'll also find many other features. I didn't update the documention on the wiki yet but if you run and follow this example, you'll get a good idea of what's new and where it is heading.

  • I want to check the main diffrence in Pop up block enabled and disabled.But,i don't get any difference.Would u please help me to understand the difference using one practical example of website

    I want to check the main diffrence in Pop up block enabled and disabled.But,i don't get any difference.Would u please help me to understand the difference using one practical example of website

    Here's two popup test sites.
    http://www.kephyr.com/popupkillertest/test/index.html
    http://www.popuptest.com/

  • Need help in understanding the trace file

    Hi,
    I would need to understand
    - the large number of fetch for the query
    - SQL*Net message to client and SQL*Net message from clientbeing same
    - latch: cache buffers chains
    The issue I am experiencing is a 6x delay due to an unknown reason.
    Can somebody assist me?
    Thanks
    D
    SQL
    SELECT R_RO.*
    FROM
    (SELECT b.ID,b.ANSWERS,b.C_CLASSID,b.C_ID, b.FCI,b.FROM_ID,b.TCI,b.TO_ID,b.FFU, b.TFU,b.NOU,b.ISN,b.SC_NAME,
    b.DN_NAME,b.DN_ITEM_NUMBER,b.ISC, b.PRIORITY FROM VVP.RELATION b WHERE b.ID NOT IN (SELECT /*+ HASH_AJ */ SDE_DELETES_ROW_ID FROM VVP.D94 WHERE DELETED_AT IN (SELECT l.lineage_id FROM SDE.state_lineages l WHERE l.lineage_name = :source_lineage_name AND l.lineage_id <= :source_state_id) AND SDE_STATE_ID
    = :"SYS_B_0") UNION ALL SELECT a.ID,a.ANSWERS,a.C_CLASSID, a.C_ID,a.FCI,a.FROM_ID,a.TCI, a.TO_ID,a.FFU,a.TFU,a.NOU, a.ISN,a.SC_NAME,a.DN_NAME, a.DN_ITEM_NUMBER,a.ISC,a.PRIORITY FROM VVP.A94 a, SDE.state_lineages SL WHERE (a.ID, a.SDE_STATE_ID) NOT IN (SELECT /*+ HASH_AJ */ SDE_DELETES_ROW_ID,SDE_STATE_ID FROM VVP.D94 WHERE DELETED_AT IN (SELECT l.lineage_id FROM SDE.state_lineages l WHERE l.lineage_name = :source_lineage_name AND l.lineage_id <= :source_state_id) AND SDE_STATE_ID > :"SYS_B_1") AND a.SDE_STATE_ID = SL.lineage_id AND SL.lineage_name = :source_lineage_name AND SL.lineage_id <= :source_state_id ) R_RO WHERE (ID = :"SYS_B_2")
    call count cpu elapsed disk query current rows
    Parse 3911 2.30 2.14 0 0 0 0
    Execute 3911 2.47 2.43 0 0 0 0
    Fetch 3911 268.96 270.60 28 15696558 0 3911
    total 11733 273.73 275.18 28 15696558 0 3911
    Misses in library cache during parse: 1
    Optimizer mode: FIRST_ROWS
    Parsing user id: 1031
    Rows Row Source Operation
    1 VIEW (cr=3966 pr=0 pw=0 time=84973 us)
    1 UNION-ALL (cr=3966 pr=0 pw=0 time=84968 us)
    1 HASH JOIN ANTI (cr=3963 pr=0 pw=0 time=84707 us)
    1 TABLE ACCESS BY INDEX ROWID CONNECTION (cr=4 pr=0 pw=0 time=123 us)
    1 INDEX UNIQUE SCAN R94_SDE_ROWID_UK (cr=3 pr=0 pw=0 time=88 us)(object id 7404)
    8586 VIEW VW_NSO_2 (cr=3959 pr=0 pw=0 time=112274 us)
    8586 NESTED LOOPS (cr=3959 pr=0 pw=0 time=103686 us)
    3661 INDEX RANGE SCAN LINEAGES_PK (cr=7 pr=0 pw=0 time=67 us)(object id 307740)
    8586 INDEX RANGE SCAN D94_PK1 (cr=3952 pr=0 pw=0 time=70624 us)(object id 1637355)
    0 HASH JOIN ANTI (cr=3 pr=0 pw=0 time=248 us)
    0 NESTED LOOPS (cr=3 pr=0 pw=0 time=71 us)
    0 TABLE ACCESS BY INDEX ROWID A94 (cr=3 pr=0 pw=0 time=68 us)
    0 INDEX RANGE SCAN A94_ROWID_IX1 (cr=3 pr=0 pw=0 time=65 us)(object id 129281)
    0 INDEX UNIQUE SCAN LINEAGES_PK (cr=0 pr=0 pw=0 time=0 us)(object id 307740)
    0 VIEW VW_NSO_1 (cr=0 pr=0 pw=0 time=0 us)
    0 NESTED LOOPS (cr=0 pr=0 pw=0 time=0 us)
    0 INDEX RANGE SCAN D94_PK1 (cr=0 pr=0 pw=0 time=0 us)(object id 1637355)
    0 INDEX UNIQUE SCAN LINEAGES_PK (cr=0 pr=0 pw=0 time=0 us)(object id 307740)
    Elapsed times include waiting on following events:
    Event waited on Times Max. Wait Total Waited
    SQL*Net message to client 3911 0.00 0.00
    SQL*Net message from client 3911 0.49 72.42
    latch: cache buffers chains 1434 0.00 0.07
    latch: shared pool 1 0.00 0.00
    db file sequential read 28 0.14 0.31
    latch free 15 0.02 0.04
    latch: row cache objects 1 0.00 0.00
    log file switch completion 4 0.98 1.64

    ssddgreg wrote:
    Hi Randolf,
    thank you for your excellent interpretation! I have Oracle DBMS 10.2.0.3 Ent Edition deployed on Sun Solaris (64-bit), FIRST_ROWS and CURSOR_SHARING = SIMILAR.
    I also checked the table D94.SDE_DELETES_ROW_ID about indexes, it has 3 indexes on the same column:
    D94_IX1, NONUNIQUE
    D94_IX2, UNIQUE
    D94_PK1, UNIQUE
    This table is a system table from another middle-tier application and all the DXX tables are configured like that.Is this a third-party vendor application for that you don't have any control over the schema? Because your description of the indexes looks like a potential case of massive over-indexing, increasing the workload required to maintain all this indexes. Very likely some of these indexes are redundant and could be covered by a fewer number of indexes.
    Besides that my comment regarding the execution plan was probably not clear enough - what I meant to say is that the HASH_AJ hint prevents the optimizer from doing the clever things with the predicates that I described.
    So in principle the question is: What execution plan do you get if you omit the HASH_AJ hints? And how many consistent gets requires this new plan at execution time? You might need to add a NL_AJ hint instead to achieve what I've described, but it would be interesting to see in first place what execution plan is generated without any hints.
    Some other comments:
    FIRST_ROWS optimizer mode: Does this application require you to use the FIRST_ROWS optimizer mode? Because in principle, if you have an application that actually retrieves most of the time only the first few rows of a larger result set, then you should use the FIRST_ROWS(n) optimizer mode instead. The FIRST_ROWS optimizer mode is deprecated since Oracle 9i if I remember correctly and has some odd side effects on execution plans, in particular if the SQL contains an ORDER BY clause.
    If your application usually processes all rows from a given result set, using the default optimizer mode ALL_ROWS is more appropriate - using FIRST_ROWS as a band-aid because with ALL_ROWS things are slower only shows that there is something wrong that should be addressed in a different way (by investigating why the ALL_ROWS mode doesn't arrive at a suitable execution plan as first activity).
    CURSOR_SHARING=SIMILAR: Note that CURSOR_SHARING = SIMILAR has some other side effects (and bugs). Oracle has recently announced on My Oracle Support (see document 1169017.1) that CURSOR_SHARING=SIMILAR will be deprecated (no longer supported) in Oracle 12. See this note also for a description why this setting can be problematic.
    Of course, if you don't have any control over a vendor application and it works fine and has been optimized for these settings (FIRST_ROWS, CURSOR_SHARING=SIMILAR) then there is not much you can do (or need to do) about that.
    Regards,
    Randolf
    Oracle related stuff blog:
    http://oracle-randolf.blogspot.com/
    Co-author of the "OakTable Expert Oracle Practices" book:
    http://www.apress.com/book/view/1430226684
    http://www.amazon.com/Expert-Oracle-Practices-Database-Administration/dp/1430226684

  • Trying to understand the Serialization interface

    Im trying to understand the Serialization of objects?
    As an example, I create a Library class that implements Serializable, that stores a collection of Book objects
    If I am only looking at saving a Library object to file, does the Book class require Serialization also or just the Library?
    I have read the API on serialization, no answer there, if it is it's not easy to understand or read into the API...

    There are some really important things to know about when doing serialization. For example one important thing to know about that not is mentioned here is that your serializable classes must define its own private static final long serialVersionUID because if you not do that will you not be able to deserialize (read in) the data you have saved later if you change anything in your serializable class. It is a bit tricky to manage files to which you have serialized different versions of your class, that is versions where you have added more serializable members to the class after you have serialized files. Well, it is not a problem if you don´t care if you have to type in all your saved data again every time you change anything instead of deserialize it (read it) from your file of course :)
    Situations like this may be handled if you define your own (private) writeObject(ObjectOutputStream) and your own readObject(ObjectInputStream) methods in your serializable class but there is a better a lot smarter way to handle this. Use of a serialization proxy! how to use that is described in the excellent book Effective Java 2nd ed. With a serialzation proxy for every serializable version of your class (where a version corresponds to a version of your class with differences in its number of serializable members) may your class deserialize data written from elder versions of your class also. Actually is it first since I read the last chapter of Effective Java that I think I have myself begin to understand serialization well enough and I recommend you to do the same to learn how to use serialization in practice.

  • How to understand the Xcode?

    Through my whole life using computers generally, I have figured out that any software could be well understood by practice, but actually the case here seems much different.
    My question is not regarding the interface, structure of the project...etc, I would like to understand the coding itself, where and when every code to be used and how it works, there are lots of codes those can be used in different cases, It is not possible that one person can understand every single tip of the Xcode or any other programming language, but I want to know at least which way should I take (courses, books, tutorial....), I want something that gives the general idea and concept of the things.
    I am developing a game now, succeeded in creating some different pages of the game where it take you to the setting, high score...etc with some simple graphics, linked them together using the available options, but to make the game work it needs pages of coding, looking for sample codes is also not practical in my opinion.
    I believe that understanding the top used 100 code in my opinion will be sufficient for a beginner.
    Thanks

    Xcode is the IDE.
    Objective-C is the language typically used.
    There's lots of getting started stuff at https://developer.apple.com

  • I need help in understanding the customization of Landscape in R/3.

    I need help in understanding the customization of Landscape in R/3. Setup of SAP Landscape from an SAP SD point of view. Being as SAP SD consultant what would be my role in customizing the Landscape server. Help needed. Thx

    Hi,
    In a standard SAP project implementation, the 3 standard transport procedures are:
    Development System (DEV) --> QA System (QAS) --> Production System (PRD)
    In the above structure, the Training Client (TRN) could be made from the copy of PRD (after when real-time master data has been available) or from QA system (where configuration has been tested in DEV client, and the master data is uploaded manually for training purposes)
    Sandbox (standalone): This can be refreshed with Golden Client to reflect the latest configuration performed to facilitate the development/testing purposes.
    -Development (DEV): Where all system configurations and development activities are carried out.
    -Quality Assurance (QAS): Where functional testing is carried out. The System Integration Testing (carried out by the -Development Team) and the User Acceptance Testing (carried out by XXX appointed personnel) is carried out in this server.
    -Training (TRN): End Users are trained on this server.
    -Production (PRD): After the System is commissioned all data entry and administrative functions will be carried out in this server.
    This is by far the standard landscape architecture that is adopted and practiced in most implementations.
    Hope the above helps.
    Thanks.

  • How to understand the storage systems?

    How to get more and more or complete understanding of the storage systems like understanding the hardware components involved,best configuration for the hardware,best practices.
    Is there any book for the storage knowledge for DBA's.

    LearningOracle,
    I shall second to Sybrand's suggestion for the Scaling Oracle 8i book. That's an awesome book , covering alot of stuff , for both oracle and operating systems. Its available for download from here,
    http://www.scaleabilities.co.uk/book/scalingOracle8i.pdf
    In addition to this, I would say that you start reading the books/notes which are there for SAN and other systems. There is no dedicated book for storage systems for DBAs AFAIK or I should say ,there is none which is very popular. If you are interested in managing the operating system for ORacle prospective, OU offers a course for System Admins for managing oracle on linux, that ha coverage for storage as well. That should be helpful,
    http://education.oracle.com/pls/web_prod-plq-dad/show_desc.redirect?dc=D46592GC10&p_org_id=1001&lang=US
    HTH
    Aman....

  • I need help understanding the concept of Java...

    Hello, this is my first post. I'm new to Java as well as programming, and I;m really having problems understanding the whole concept of classes, methods, arguments, parameters, constructors and so forth....can someone please explain this in baby terms....like a class is a big box and a method is something inside the box, or out!!!
    thanks

    Hi,
    It looks you know nothing about programming. :)
    Java is a very nice and easy programming language.
    The best for you is to start programming to read a book
    "Thinking in Java", Bruce Eckel. You can find it on the internet or download it from www.BruceEckel.com, or find it on www.filesearch.ru. This book will give you everything about Java. And then take any book what you like and go ahead. Practice, Practice and Practice!
    Good luck!

  • Error Posting IDOC: need help in understanding the following error

    Hi ALL
    Can you please, help me understand the following error encountered while the message was trying to post a IDOC.
    where SAP_050 is the RFC destination created to post IDOCs
    <?xml version="1.0" encoding="UTF-8" standalone="yes" ?>
    - <!--  Call Adapter
      -->
    - <SAP:Error xmlns:SAP="http://sap.com/xi/XI/Message/30" xmlns:SOAP="http://schemas.xmlsoap.org/soap/envelope/" SOAP:mustUnderstand="">
      <SAP:Category>XIAdapter</SAP:Category>
      <SAP:Code area="IDOC_ADAPTER">ATTRIBUTE_IDOC_RUNTIME</SAP:Code>
      <SAP:P1>FM NLS_GET_LANGU_CP_TAB: Could not determine code page with SAP_050 Operation successfully executed FM NLS_GET_LANGU_CP_TAB</SAP:P1>
      <SAP:P2 />
      <SAP:P3 />
      <SAP:P4 />
      <SAP:AdditionalText />
      <SAP:ApplicationFaultMessage namespace="" />
      <SAP:Stack>Error: FM NLS_GET_LANGU_CP_TAB: Could not determine code page with SAP_050 Operation successfully executed FM NLS_GET_LANGU_CP_TAB</SAP:Stack>
      <SAP:Retry>M</SAP:Retry>
      </SAP:Error>
    Your help is greatly appreciated.............Thank you!

    Hi Patrick,
      Check the authorizations assigned to the user which you used in the RFC destinations, If there is no enough authorizations then it is not possible to post the idocs.
    Also Refer this Note 747322
    Regards,
    Prakash

  • Understanding the way to connect a MDD to BlackMagic Decklink Extreme card

    Hi,
    I require some help in the following:
    I recently bought myself a Blackmagic DeckLink Extreme™ with 10bit SDI/analog video and audio capture card.
    Looking at the specs, http://www.blackmagic-design.com/products/sd/specs/, can someone give me directions as to the best setup I can do from the following sources and what other equipment I may require to achieve it.
    - mono stereo audio VHS -> has 1 video/audio in and 1 video/audio out (composite connections)
    - stereo audio video camera -> has 1 8 pin S-Video out port to composite connections (Hi8 tape type)
    - DVD player -> has composite 2 x 2ch stereo audio out, 1 x 5.1ch stereo audio out, 2 x video out, 1x component video out, 2 x S-video out, 2 x digital audio out; 1 x RCA/OPT
    - 2 x 23" monitors connected by ADC and DVI connections to a Apple MDD G4, may relay to 60" Plasma for video monitoring from video card prior to creating DVD final piece for playback.
    Basically, I wanted to have multiple source inputs and outputs, but I'm having difficulty in understanding the setup. Please refer to http://www.blackmagic-design.com/downloads/connections/decklinkdiagram.pdf page 5/6.
    I purchased the following from JayCar
    - 6 x PA3655 ADPT PLG RCA:
    https://secure4.vivid-design.com.au/jaycar2005/productView.asp?ID=PA3655&CATID=& keywords=PA3655&SPECIAL=&form=KEYWORD&ProdCodeOnly=&Keyword1=&Keyword2=&pageNumb er=&priceMin=&priceMax=&SUBCATID=
    - 1 x AC1668 SWITCH AV 3WAY:
    https://secure4.vivid-design.com.au/jaycar2005/productView.asp?ID=AC1668&CATID=& keywords=AC1668&SPECIAL=&form=KEYWORD&ProdCodeOnly=&Keyword1=&Keyword2=&pageNumb er=&priceMin=&priceMax=&SUBCATID=
    What other devices do I need to set up the equipment in the following way:
    <pre>
    Computer ------- Video In + Stereo In -----------> 3WAY SWITCH BOARD
    | | ^ ^ ^
    | | | | |
    Bigpond |---- OUT ---> TV --------|-----|-----|
    (Satellite Internet) | | | |
    FOXTEL DVD VCR V/CAM
    (Satellite TV)
    </pre>
    Currently I have not succeeded.
    I have just done a simple test like so:
    <pre>
    Computer ------- Video In + Stereo In ---------> DVD (*)
    |
    Bigpond
    </pre>
    (*) Tested using the following:
    <pre>
    From Decklink -- Y IN (from deck) --> DVD Y port
    -- B-Y IN (from deck) --> DVD Pb port
    -- R-Y IN (from deck) --> DVD Pr port
    -- SDI IN (from deck) ---> DVD Digital audio out
    ASWELL AS
    From Decklink -- Y OUT (from deck) --> DVD Y port
    -- B-Y OUT (from deck) --> DVD Pb port
    -- R-Y OUT (from deck) --> DVD Pr port
    -- SDI OUT (from deck) ---> DVD Digital audio out
    </pre>
    Not one has seemed to work. What am I missing here?
    Thanks
    Tiberius
    PPC MDD Dual Boot/Dual 1.25GHz   Mac OS 9.2.x   2 x 23" Apple HD Display, 2GB RAM, 2x150GB + 1x1TB HD

    pomme4moi wrote:
    I want to buy a hard disk (not a NAS device) and plug it into my Airport Extreme in order to share data between two Mac computers, and to stream iTunes content to my Apple TV.
    One option is to purchase a hard drive (say, a 2TB Hitachi G-Technology drive) and connect it to the USB port on the back of the Apple Extreme. The other option is to purchase a drive with an ethernet connection (say, a 2TB Lacie drive) and connect it to an ethernet port on the Apple Extreme.
    In the second case what you'd have actually is a NAS. Apple's AirPort routers aren't known for fast file sharing. The NAS option might be faster.
    Is either option better for streaming movies from the hard drive to my Apple TV?
    I could be wrong, but an AppleTV may not be able to access content directly from a network drive. It may require that a Mac serve as an intermediary.

  • Not Understanding the filter in Explain Plan - filter(NULL IS NOT NULL)

    Hi All,
    Request your help in understanding the below scenario. (I am not aware of teh application and table details. Just trying to help my friend)
    SQL> conn
    Enter user-name: [email protected]
    Enter password:
    Connected.
    SQL> select * from v$version;
    BANNER
    Oracle Database 10g Enterprise Edition Release 10.2.0.3.0 - 64bi
    PL/SQL Release 10.2.0.3.0 - Production
    CORE    10.2.0.3.0      Production
    TNS for Linux: Version 10.2.0.3.0 - Production
    NLSRTL Version 10.2.0.3.0 - Production
    --Checking the count in PO_LINES
    SQL> select count(*) from po_lines;
      COUNT(*)
             0
    --PO_LINES is a synonym
    SQL> select object_type,owner from dba_objects where object_name = 'PO_LINES';
    OBJECT_TYPE         OWNER
    SYNONYM             APPS
    --The synonym is pointing to PO.PO_LINES_ALL
    SQL> select * from user_synonyms where synonym_name = 'PO_LINES';
    SYNONYM_NAME                   TABLE_OWNER                    TABLE_NAME                     DB_LINK
    PO_LINES                       PO                             PO_LINES_ALL
    --But when counting PO.PO_LINES_ALL I am getting different result
    SQL> select count(*) c from po.po_lines_all;
             C
          8828
    --Explain plan of teh original query is
    SQL> explain plan for
      2  select
      3  * from po_lines;
    Explained.
    SQL> select * from table(dbms_xplan.display);
    PLAN_TABLE_OUTPUT
    | Id  | Operation          | Name         | Rows  | Bytes | Cost (%CPU)|
    |   0 | SELECT STATEMENT   |              |     1 |   252 |     0   (0)|
    |*  1 |  FILTER            |              |       |       |            |
    |   2 |   TABLE ACCESS FULL| PO_LINES_ALL |  8796 |  2164K|   106   (4)|
    Predicate Information (identified by operation id):
       1 - filter(NULL IS NOT NULL)
    --Now the object PO.PO_LINES_ALL is TABLE, not an mview.
    SQL> select object_type,owner from dba_objects where object_name = 'PO_LINES_ALL';
    OBJECT_TYPE         OWNER
    TABLE               POSeek your help in understanding what is happening here.
    Thanks in Advance,
    jeneesh

    Next time, prefix with APPS. when you show us the explain plan:
    SQL> explain plan for
      2  select
      3  * from apps.po_lines;  -- added the prefix of owner.Just like you prefixed with PO. when you showed us the query on PO_LINES_ALL. It ensures that you are using the synonym which you showed us.
    Btw. PO_LINES_ALL, could still be a VIEW given your overview of the situation.
    Anyway a filter "NULL IS NOT NULL" is indicative that the optimizer performed something called semantic query optimization (SQO).
    SQO is the process of deducing new predicates based upon a) existing predicates in your query (which there is none), b) added predicates to your query (eg. by a VPD policy function), and c) declared constraints on the tables invovled in your query.
    A typical example of when a "NOT is NOT NULL" predicate will show up is when for instance in the EMP table there is a declared constraint on EMPNO like this:
    check(EMPNO > 0)And your query would hold a predicate that is inconsistent with the constraint, for instance like this:
    select *
    from EMP
    where EMPNO <= 0Oracle will deduce that EMPNO cannot be both greater than zero (constraint) as well as smaller than or equal to zero (your query predicate), and will transform the query into:
    select *
    from EMP
    where EMPNO <= 0
      and NULL is NOT NULLThus preventing accessing the EMP table all together, and immediately returning this query with no data found.
    Edited by: Toon Koppelaars on Mar 15, 2010 7:17 AM

  • Can you help me understand the use of the word POSITION in TR and CFM?

    Hi,
    I am trying to have a view of typical BI reports in TR and TM/CFM so through my research I came to the following link:.
    http://help.sap.com/saphelp_nw2004s/helpdata/en/62/08193c38f98e1ce10000000a11405a/frameset.htm
    My problem on this link and other postings on this site seem to be the same. Can you help me understand the use of the word POSITIONS in these context:
    1. Our client has asked for financial transaction reports in BW, such as position of Borrowings, Investments and Hedge Operations (TM data).
    2. I have a requirement on, some reports related to Money Market (Fixed Term Deposits, Deposits at Notice) something on FSCM-Treasury and Risk Manager. These reports will be similar to that of Loans, i.e. Position statement, flow statement, etc.
    3. The set of position values for a single position or a limited amount of positions can be reported by transactions TPM12 and TPM13 in R3.
    4. 0CFM_C10 (Financial Positions Cube)
    Do you have some simple report outputs to help clarify how the word POSITION is used in such environments?
    Thanks
    Edited by: AmandaBaah on Feb 15, 2010 4:39 PM

    If I future buy 10 shares in company at £1 per share - at the end of the day my potential value is £10
    The next day the shares drop tp £0.9 per share - I have a negative position - my shares are only worth £9
    I haven;t bought them yet - but I have a negative position - ie if things stayed as they are - I am going to realise (ie end up with)  a loss
    Now you can use this for loans and foreign exchange banks as well...

Maybe you are looking for