Left outer join Bug? Oracle 11 g.

Hi , I am facing a strange problem in oracle 11 g .
I have a select query like this
Query 1 :
Select A.name, B.name, C.name from A Left outer join B on A.id = B.id left outer join C on b.id = c.id and (Some complex condition) left outer join D on C.id = D.id;
A, B, C, D are tables.
(Assume that I have data which satisfies the above join conditions)
However I am not getting C.name in the result. Getting NULL in C.name.
Now if I add a where clause to the above query like the following Query 2 then I get C.name in the results
Consider that there is a field called field1 in table C and the value of field1 is ‘xyz’ for all the rows of table C .
Query 2 :
Select A.name, B.name, C.name from A Left outer join B on A.id = B.id left outer join C on b.id = c.id and (Some complex condition) left outer join D on C.id = D.id where c.field1 = ‘xyz’;
I find this strange , What role where clause is playing ? Why I get C.name only after adding where clause.
I also tried following setting with Query 1 however this also did not help me.
alter session set "_optimizer_join_elimination_enabled"=false;
Is oracle does some optimization if no where clause is specified ? Is this a bug?
Please help me out.
Thanks,
Sumit

874384 wrote:
...Is this a bug? Maybe. Maybe not. Really difficult to say based on your description. However, if you suspect a bug, then raise a ticket to the support including much more information (e.g. version 11.x.x.x, define "some condition" and so on).
Nicolas.

Similar Messages

  • Multiple LEFT OUTER JOIN on Oracle 8i

    Hi,
    I have to convert some stored procedure from Sql Server to Oracle 8i where I have multiple LEFT OUTER JOIN on a table. Because Oracle 8i accept only one outer join on a table how can I convert this:
    select a.id, b.id
    from test as a LEFT JOIN test1 b ON a.id(+)=b.id
    and c.display(+)=b.display
    and c.name(+)='Done';
    Thanks.

    Rewrite as:
    select a.id, b.id
    from test, test1 b
    WHERE a.id(+)=b.id
    and a.display(+)=b.display
    and a.name(+)='Done';
    Though I would lose the (+) in a.name(+) = 'Done' unless you want every name.

  • Left Outer Joins in Oracle 9

    Hello everybody, I am kinda new to SQL.
    There is only one Primary key for our database. For example 'ID'. Somebody had this code in the WHERE clause code before I started working on this. Do we really need to use the LEFT OUTER JOIN (+) in order to bring all the records. If I remove the join the number of records are reduced to a 1/6th of the original (with the joins). Please help me
    EMPLOYEE.ID = ADDRESS.ID (+) AND
    EMPLOYEE.ID = PAYROLL.ID (+) AND
    EMPLOYEE.ID = USERS.ID (+) AND
    EMPLOYEE.ID = DEPARTMENT.ID (+)

    If you want a row in the result for every row in the employee table, whether there is a matching row in the address, payroll, users, or department table, then yes, you need the outer join. If you only want results where there are matching rows in each of the detail tables, then you don't need the outer joins.
    Justin
    Distributed Database Consulting, Inc.
    http://www.ddbcinc.com/askDDBC

  • Oracle 8i -multiple LEFT OUTER JOIN

    Hi,
    I have to convert some stored procedure from Sql Server to Oracle 8i where I have multiple LEFT OUTER JOIN on a table. Because Oracle 8i accept only one outer join on a table how can I convert this:
    select a.id, b.id
    from test as a LEFT JOIN test1 b ON a.id(+)=b.id
    and a.display(+)=b.display
    and a.name(+)='Done';
    Thanks.

    FROM test a LEFT JOIN test1 b ON b.key = a.keyis equivalent to
    FROM test a, test1 b WHERE b.key(+) = a.keyThere is a restriction (when using the "(+)" syntax) that a table may be outer-joined to at most one other table, but that does not prevent you from having multiple join conditions between those two tables.
    From your example I'm not sure whether you need this:
    SELECT a.id, b.id
    FROM   test a
         , test1 b
    WHERE  a.name = 'Done'
    AND    b.id (+)= a.id
    AND    b.display (+)= a.display;or this:
    SELECT a.id, b.id
    FROM   test1 b
         , test  a
    WHERE  a.id (+)= b.id
    AND    a.display (+)= b.display;
    WHERE  a.name (+)= 'Done';

  • OJ syntax for multi-table left outer join with MS Oracle Driver

    I have a multi-table left outer join that works fine in SQL Server ODBC Driver, Oracle ODBC driver 8.01.07.00, but not with Microsoft ODBC Driver for Oracle 2.573.7326.0
    SELECT * from { oj A LEFT OUTER JOIN B ON A.col1 = B.col1 LEFT OUTER JOIN C ON A.col1 = C.col1 }
    I noticed someone had a similar problem (the proposed solution doesn't work):
    http://www.justpbinfo.com/listarchive/msg02874.html
    Does anyone know how to get this working with the Microsoft ODBC Driver for Oracle? Or does it just not work?

    The Microsoft ODBC Driver for Oracle 2.573.7326.0 does perform the same 'fix up' with {oj} in Oracle 8i. The problem is that it doesn't work when joining more than two tables:
    This works:
    SELECT * from { oj A LEFT OUTER JOIN B ON A.col1 = B.col1}
    This doesn't work:
    SELECT * from { oj A LEFT OUTER JOIN B ON A.col1 = B.col1 LEFT OUTER JOIN C ON B.col1 = C.col1 }
    (The second query will work with the Oracle Oracle ODBC driver, with a bit of tweaking. But I haven't found a way to get it to work with the Microsoft ODBC Driver for Oracle 2.573.7326.0. My suspicion is that it just doesn't work.)
    Gavin

  • Crystal Report with 2 oracle datasources (left outer join) very slow

    I've made a crystal report with 2 oracle datasources (2 commands). I'm using crystal 10.
    These 2 data sources are linked with a left outer join.
    The report takes a while to run (more then one hour).
    i can run Both query's in a couple of seconds/minutes, but it looks like crystal is runniing the second query for each record in the first query.
    When i make the same report in BO. Just 2 queries with merged dimensions in the report, it is taking a couple of minutes to complete the report.
    Question is if somebody knows how crystal is handling these 2 different data sources.
    Is there any way to say to crystal to fetch the data of both queries and do the join after that?
    At the moment it looks like that crystal is going to the other datasource for each record in the first query, which will cost a lot of time.

    Joris,
    I've always had a bad time combining a Command with any other object. Performance seems to drop dramatically, just as you've described.
    I can't tell you specifically why, it falls off so bad...
    The solution I've used is to do a linked  server query (at least that's what it's called in MS SQL Server) I've never used Oracle, but I'd be VERY surprised if it didn't have that same feature. This will keep 100% of the processing on the server(s) and will get your run times back to what you would expect.
    HTH,
    Jason

  • Problem with XMLTABLE and LEFT OUTER JOIN

    Hi all.
    I have one problem with XMLTABLE and LEFT OUTER JOIN, in 11g it returns correct result but in 10g it doesn't, it is trated as INNER JOIN.
    SELECT * FROM v$version;
    Oracle Database 11g Enterprise Edition Release 11.2.0.1.0 - Production
    PL/SQL Release 11.2.0.1.0 - Production
    "CORE     11.2.0.1.0     Production"
    TNS for Linux: Version 11.2.0.1.0 - Production
    NLSRTL Version 11.2.0.1.0 - Production
    --test for 11g
    CREATE TABLE XML_TEST(
         ID NUMBER(2,0),
         XML XMLTYPE
    INSERT INTO XML_TEST
    VALUES
         1,
         XMLTYPE
              <msg>
                   <data>
                        <fields>
                             <id>g1</id>
                             <dat>data1</dat>
                        </fields>
                   </data>
              </msg>
    INSERT INTO XML_TEST
    VALUES
         2,
         XMLTYPE
              <msg>
                   <data>
                        <fields>
                             <id>g2</id>
                             <dat>data2</dat>
                        </fields>
                   </data>
              </msg>
    INSERT INTO XML_TEST
    VALUES
         3,
         XMLTYPE
              <msg>
                   <data>
                        <fields>
                             <id>g3</id>
                             <dat>data3</dat>
                        </fields>
                        <fields>
                             <id>g4</id>
                             <dat>data4</dat>
                        </fields>
                        <fields>
                             <dat>data5</dat>
                        </fields>
                   </data>
              </msg>
    SELECT
         t.id,
         x.dat,
         y.seqno,
         y.id_real
    FROM
         xml_test t,
         XMLTABLE
              '/msg/data/fields'
              passing t.xml
              columns
                   dat VARCHAR2(10) path 'dat',
                   id XMLTYPE path 'id'
         )x LEFT OUTER JOIN
         XMLTABLE
              'id'
              passing x.id
              columns
                   seqno FOR ORDINALITY,
                   id_real VARCHAR2(30) PATH '.'
         )y ON 1=1
    ID     DAT     SEQNO     ID_REAL
    1     data1     1     g1
    2     data2     1     g2
    3     data3     1     g3
    3     data4     1     g4
    3     data5          Here's everything fine, now the problem:
    Oracle Database 10g Enterprise Edition Release 10.2.0.1.0 - 64bi
    PL/SQL Release 10.2.0.1.0 - Production
    "CORE     10.2.0.1.0     Production"
    TNS for HPUX: Version 10.2.0.1.0 - Production
    NLSRTL Version 10.2.0.1.0 - Production
    --exactly the same environment as 11g (tables and rows)
    SELECT
         t.id,
         x.dat,
         y.seqno,
         y.id_real
    FROM
         xml_test t,
         XMLTABLE
              '/msg/data/fields'
              passing t.xml
              columns
                   dat VARCHAR2(10) path 'dat',
                   id XMLTYPE path 'id'
         )x LEFT OUTER JOIN
         XMLTABLE
              'id'
              passing x.id
              columns
                   seqno FOR ORDINALITY,
                   id_real VARCHAR2(30) PATH '.'
         )y ON 1=1
    ID     DAT     SEQNO     ID_REAL
    1     data1     1     g1
    2     data2     1     g2
    3     data3     1     g3
    3     data4     1     g4As you can see in 10g I don't have the last row, it seems that Oracle 10g doesn't recognize the LEFT OUTER JOIN.
    Is this a bug?, Metalink says that sometimes we can have an ORA-0600 but in this case there is no error returned, just incorrect results.
    Please help.
    Regards.

    Hi A_Non.
    Thanks a lot, I tried with this:
    SELECT
         t.id,
         x.dat,
         y.seqno,
         y.id_real
    FROM
         xml_test t,
         XMLTABLE
              '/msg/data/fields'
              passing t.xml
              columns
                   dat VARCHAR2(10) path 'dat',
                   id XMLTYPE path 'id'
         )x,
         XMLTABLE
              'id'
              passing x.id
              columns
                   seqno FOR ORDINALITY,
                   id_real VARCHAR2(30) PATH '.'
         )(+) y ;And is giving me the complete output.
    Thanks again.
    Regards.

  • Not using Index when SDO_RELATE in Spatial Query is used in LEFT OUTER JOIN

    I want to know for every City (Point geometry) in which Municipality (Polygon geometry) it is.
    Some cities will not be covered by any municipality (as there is no data for it), so its municipality name should be blank in the result
    We have 4942 cities (point geometries)
    and 500 municipalities (polygon geometry)
    SELECT T1.NAME as City, T2.NAME as Municipality
    FROM CITY T1
    LEFT OUTER JOIN MUNICIPALITY T2 ON SDO_RELATE(T1.GEOM, T2.GEOM, 'MASK=ANYINTERACT') = 'TRUE'The explain plan for this query is:
    SELECT STATEMENT
      FILTER
        Filter Predicates
          MDSYS.SDO_RTREE_RELATE(T1.GEOM, T2.GEOM, 'mask=ANYINTERACT querytype=window ') = 'TRUE'
        MERGE JOIN
          TABLE ACCESS              CITY               FULL                            11
          BUFFER                                       SORT                        100605
              TABLE ACCESS          MUNICIPALITY       FULL                            20So the cost is in the BUFFER (whatever that is), it takes +2000 seconds to run this, it is not using the spatial index.
    And we are not getting all rows, but only the ones interacting with a municipality, e.g. 2436 rows.
    But I want all rows, including the ones not interacting with any Municipality.
    When we want only those cities that actually are in a municipality, I use a different query and it will use the index.
    SELECT T1.NAME as City, T2.NAME as Municipality
    FROM CITY T1, MUNICIPALITY T2
    WHERE SDO_RELATE(T1.GEOM, T2.GEOM, 'MASK=ANYINTERACT') = 'TRUE'I get (only) 2436 rows (as expected) in 5 seconds (it is fast) and the explain plan shows it is using the spatial index.
    But in this case, I am not getting any cities not inside any municipality (of course)
    SELECT STATEMENT
       NESTED LOOPS
          TABLE ACCESS                   MUNICIPALITY       FULL                22
          TABLE ACCESS                   CITY               BY INDEX ROWID      22
             DOMAIN INDEX                CITY_SDX                                0
                Access Predicates
                   MDSYS.SDO_RTREE_RELATE(T1.GEOM, T2.GEOM, 'mask=ANYINTERACT querytype=window ') = 'TRUE'I always thought a LEFT OUTER JOIN would return all rows from the Table, whatever happens in the next,
    but it seems the query has been rewritten so that it is now using a Filter Predicate in the end, which filters those geometries having no interaction.
    As an example I also do thing alphanumerically, I do get 4942 rows, including the ones which have no Municipality name.
    In this case the names must match, so its only for testing if the LEFT OUTER JOIN returns stuff correctly, which it does in this case.
    SELECT T1.NAME as City, T2.NAME as Municipality
    FROM CITY T1
    LEFT OUTER JOIN MUNICIPALITY T2 ON T1.NAME = T2.NAMEIs this an Oracle Spatial bug, e.g. not return 4942 rows, but only 2436 rows on the first query?
    Note all tests performed on Oracle 11g R2 (11.2.0.1.0)

    Patrick,
    Even so, your geoms in the relate were the wrong way around.
    Also, I don't recall you saying (or showing) that you wanted the municipality geometry returned. Still,
    no matter, easy to do.
    Here are some additional suggestions. I don't have your data so I have had to use some of my own.
    set serveroutput on timing on autotrace on
    SELECT T1.SPECIES as City,
           (SELECT T2.ADMIN_NAME FROM AUSTRALIAN_STATES T2 WHERE SDO_ANYINTERACT(T2.GEOM, SDO_GEOM.SDO_BUFFER(T1.GEOM,10000,0.5,'UNIT=M')) = 'TRUE') as Municipality,
           (SELECT T2.GEOM       FROM AUSTRALIAN_STATES T2 WHERE SDO_ANYINTERACT(T2.GEOM, SDO_GEOM.SDO_BUFFER(T1.GEOM,10000,0.5,'UNIT=M')) = 'TRUE') as geom
      FROM GUTDATA T1;
    762 rows selected
    Elapsed: 00:00:21.656
    Plan hash value: 2160035213
    | Id  | Operation                   | Name                       | Rows  | Bytes | Cost (%CPU)| Time     |
    |   0 | SELECT STATEMENT            |                            |   762 | 49530 |     5   (0)| 00:00:01 |
    |   1 |  TABLE ACCESS BY INDEX ROWID| AUSTRALIAN_STATES          |     1 |   115 |     0   (0)| 00:00:01 |
    |*  2 |   DOMAIN INDEX              | AUSTRALIAN_STATES_GEOM_SPX |       |       |     0   (0)| 00:00:01 |
    |   3 |  TABLE ACCESS BY INDEX ROWID| AUSTRALIAN_STATES          |     1 |   115 |     0   (0)| 00:00:01 |
    |*  4 |   DOMAIN INDEX              | AUSTRALIAN_STATES_GEOM_SPX |       |       |     0   (0)| 00:00:01 |
    |   5 |  TABLE ACCESS FULL          | GUTDATA                    |   762 | 49530 |     5   (0)| 00:00:01 |
    Predicate Information (identified by operation id):
       2 - access("MDSYS"."SDO_ANYINTERACT"("T2"."GEOM","SDO_GEOM"."SDO_BUFFER"(:B1,10000,0.5,'UNIT=M'))='TRUE')
       4 - access("MDSYS"."SDO_ANYINTERACT"("T2"."GEOM","SDO_GEOM"."SDO_BUFFER"(:B1,10000,0.5,'UNIT=M'))='TRUE')
       Statistics
                   7  user calls
               24576  physical read total bytes
                   0  physical write total bytes
                   0  spare statistic 3
                   0  commit cleanout failures: cannot pin
                   0  TBS Extension: bytes extended
                   0  total number of times SMON posted
                   0  SMON posted for undo segment recovery
                   0  SMON posted for dropping temp segment
                   0  segment prealloc tasksThe above can look messy as you add more (SELECT ...) attributes, but is is fast (though can't use in Materialized Views).
    /* The set of all cities not in municipalities */
    SELECT T1.SPECIES                 as City,
           cast(null as varchar2(42)) as municipality,
           cast(null as sdo_geometry) as geom
      FROM GUTDATA T1
    WHERE NOT EXISTS (SELECT 1
                         FROM AUSTRALIAN_STATES T2
                        WHERE SDO_ANYINTERACT(T2.GEOM, SDO_GEOM.SDO_BUFFER(T1.GEOM,10000,0.5,'UNIT=M')) = 'TRUE')
    UNION ALL
    /* The set of all cities in municipalities */
    SELECT T1.SPECIES    as City,
           T2.ADMIN_NAME as Municipality,
           T2.GEOM       as geom
      FROM GUTDATA T1
           INNER JOIN
           AUSTRALIAN_STATES T2 ON (SDO_ANYINTERACT(T2.GEOM, SDO_GEOM.SDO_BUFFER(T1.GEOM,10000,0.5,'UNIT=M')) = 'TRUE');
    762 rows selected
    Elapsed: 00:00:59.953
    Plan hash value: 2854682795
    | Id  | Operation           | Name                       | Rows  | Bytes | Cost (%CPU)| Time     |
    |   0 | SELECT STATEMENT    |                            |    99 | 13450 |    38  (87)| 00:00:01 |
    |   1 |  UNION-ALL          |                            |       |       |            |          |
    |*  2 |   FILTER            |                            |       |       |            |          |
    |   3 |    TABLE ACCESS FULL| GUTDATA                    |   762 | 49530 |     5   (0)| 00:00:01 |
    |*  4 |    DOMAIN INDEX     | AUSTRALIAN_STATES_GEOM_SPX |       |       |     0   (0)| 00:00:01 |
    |   5 |   NESTED LOOPS      |                            |    61 | 10980 |    33   (0)| 00:00:01 |
    |   6 |    TABLE ACCESS FULL| AUSTRALIAN_STATES          |     8 |   920 |     3   (0)| 00:00:01 |
    |*  7 |    TABLE ACCESS FULL| GUTDATA                    |     8 |   520 |     4   (0)| 00:00:01 |
    Predicate Information (identified by operation id):
       2 - filter( NOT EXISTS (SELECT 0 FROM "AUSTRALIAN_STATES" "T2" WHERE "MDSYS"."SDO_ANYINTERACT"("T2"."GEOM","SDO_GEOM"."SDO_BUFFER"(:B1,10000,0.5,'UNIT=M'))='TRUE'))
       4 - access("MDSYS"."SDO_ANYINTERACT"("T2"."GEOM","SDO_GEOM"."SDO_BUFFER"(:B1,10000,0.5,'UNIT=M'))='TRUE')
       7 - filter("MDSYS"."SDO_ANYINTERACT"("T2"."GEOM","SDO_GEOM"."SDO_BUFFER"("T1"."GEOM",10000,0.5,'UNIT=M'))='TRUE')
       Statistics
                   7  user calls
              131072  physical read total bytes
                   0  physical write total bytes
                   0  spare statistic 3
                   0  commit cleanout failures: cannot pin
                   0  TBS Extension: bytes extended
                   0  total number of times SMON posted
                   0  SMON posted for undo segment recovery
                   0  SMON posted for dropping temp segment
                   0  segment prealloc tasksMuch slower but Materialized View friendly.
    This one is a bit more "natural" but still slower than the first.
    set serveroutput on timing on autotrace on
    /* The set of all cities in municipalities */
    WITH municipal_cities As (
      SELECT T1.ID         as City,
             T2.ADMIN_NAME as Municipality,
             T2.GEOM       as geom
        FROM GUTDATA T1
             INNER JOIN
             AUSTRALIAN_STATES T2 ON (SDO_ANYINTERACT(T2.GEOM, SDO_GEOM.SDO_BUFFER(T1.GEOM,10000,0.5,'UNIT=M')) = 'TRUE')
    SELECT T1.ID           as City,
           T2.Municipality as Municipality,
           T2.GEOM         as geom
      FROM GUTDATA          T1
           LEFT OUTER JOIN
           municipal_cities T2
           ON (T2.CITY = T1.ID);
    762 rows selected
    Elapsed: 00:00:50.228
    Plan hash value: 745978991
    | Id  | Operation             | Name              | Rows  | Bytes | Cost (%CPU)| Time     |
    |   0 | SELECT STATEMENT      |                   |   762 | 44196 |    36   (3)| 00:00:01 |
    |*  1 |  HASH JOIN RIGHT OUTER|                   |   762 | 44196 |    36   (3)| 00:00:01 |
    |   2 |   VIEW                |                   |    61 |  3294 |    33   (0)| 00:00:01 |
    |   3 |    NESTED LOOPS       |                   |    61 | 10980 |    33   (0)| 00:00:01 |
    |   4 |     TABLE ACCESS FULL | AUSTRALIAN_STATES |     8 |   920 |     3   (0)| 00:00:01 |
    |*  5 |     TABLE ACCESS FULL | GUTDATA           |     8 |   520 |     4   (0)| 00:00:01 |
    |   6 |   INDEX FAST FULL SCAN| GUTDATA_ID_PK     |   762 |  3048 |     2   (0)| 00:00:01 |
    Predicate Information (identified by operation id):
       1 - access("T2"."CITY"(+)="T1"."ID")
       5 - filter("MDSYS"."SDO_ANYINTERACT"("T2"."GEOM","SDO_GEOM"."SDO_BUFFER"("T1"."GEOM",10000,0.5,'UNIT=M'))='TRUE')
       Statistics
                   7  user calls
               49152  physical read total bytes
                   0  physical write total bytes
                   0  spare statistic 3
                   0  commit cleanout failures: cannot pin
                   0  TBS Extension: bytes extended
                   0  total number of times SMON posted
                   0  SMON posted for undo segment recovery
                   0  SMON posted for dropping temp segment
                   0  segment prealloc tasksFinally, the Pièce de résistance: trick the LEFT OUTER JOIN operator...
    set serveroutput on timing on autotrace on
    SELECT T1.SPECIES    as City,
           T2.ADMIN_NAME as Municipality,
           T2.GEOM       as geom
      FROM GUTDATA           T1
           LEFT OUTER JOIN
           AUSTRALIAN_STATES T2
           ON (t2.admin_name = to_char(t1.ID) OR
               SDO_ANYINTERACT(T2.GEOM, SDO_GEOM.SDO_BUFFER(T1.GEOM,10000,0.5,'UNIT=M')) = 'TRUE');
    762 rows selected
    Elapsed: 00:00:50.273
    Plan hash value: 158854308
    | Id  | Operation           | Name              | Rows  | Bytes | Cost (%CPU)| Time     |
    |   0 | SELECT STATEMENT    |                   |   762 | 92964 |  2294   (1)| 00:00:28 |
    |   1 |  NESTED LOOPS OUTER |                   |   762 | 92964 |  2294   (1)| 00:00:28 |
    |   2 |   TABLE ACCESS FULL | GUTDATA           |   762 | 49530 |     5   (0)| 00:00:01 |
    |   3 |   VIEW              |                   |     1 |    57 |     3   (0)| 00:00:01 |
    |*  4 |    TABLE ACCESS FULL| AUSTRALIAN_STATES |     1 |   115 |     3   (0)| 00:00:01 |
    Predicate Information (identified by operation id):
       4 - filter("T2"."ADMIN_NAME"=TO_CHAR("T1"."ID") OR
                  "MDSYS"."SDO_ANYINTERACT"("T2"."GEOM","SDO_GEOM"."SDO_BUFFER"("T1"."GEOM",10000,0.5,'UNIT=M'))='TRUE')
       Statistics
                   7  user calls
                   0  physical read total bytes
                   0  physical write total bytes
                   0  spare statistic 3
                   0  commit cleanout failures: cannot pin
                   0  TBS Extension: bytes extended
                   0  total number of times SMON posted
                   0  SMON posted for undo segment recovery
                   0  SMON posted for dropping temp segment
                   0  segment prealloc tasksTry these combinations to see what works for you.
    Interestingly, for me, the following returns absolutely nothing.
    SELECT T1.SPECIES    as City,
           T2.ADMIN_NAME as Municipality
      FROM GUTDATA           T1
           LEFT OUTER JOIN
           AUSTRALIAN_STATES T2
           ON (SDO_ANYINTERACT(T2.GEOM, SDO_GEOM.SDO_BUFFER(T1.GEOM,10000,0.5,'UNIT=M')) = 'TRUE')
    MINUS
    SELECT T1.SPECIES    as City,
           T2.ADMIN_NAME as Municipality
      FROM GUTDATA           T1
           LEFT OUTER JOIN
           AUSTRALIAN_STATES T2
           ON (t2.admin_name =  to_char(t1.ID) OR
               SDO_ANYINTERACT(T2.GEOM, SDO_GEOM.SDO_BUFFER(T1.GEOM,10000,0.5,'UNIT=M')) = 'TRUE');(I leave it to you to see if you can see why as the LEFT OUTER JOIN seems to be working correctly for me but I am not going to dedicate time to detailed checking of results.)
    Note all tests performed on Oracle 11g R2 (11.2.0.1.0)
    If you get the answer you want: mark the post as answered to assign points.
    regards
    Simon

  • Outer Join Bug !!

    Has anybody noticed there is a huge bug in Oracle 9.2.0.1 ?
    SELECT STRS.Text, STRS.Language
    FROM CTY LEFT OUTER JOIN STRS
    ON (STRS.Language='de' AND CTY.LanguageId=STRS.Num)
    returns:
    1 , 'Deutsch' , 'de'
    2 , 'Deutsch' , 'de'
    BUT if the condition is replaced by
    ON ('de'=STRS.Language AND CTY.LanguageId=STRS.Num)
    it returns:
    1 , 'nìmecky' , 'cs'
    2 , 'nìmecky' , 'cs'
    That means the condition "'de'=STRS.Language" is effectively ignored !!

    I don't think that's a bug.
    STRS.Language='de' is a where-condition and not a join-condition.
    Try:
    SELECT STRS.Text, STRS.Language
    FROM CTY LEFT OUTER JOIN STRS
    ON ( AND CTY.LanguageId=STRS.Num)
    WHERE STRS.Language='de';

  • Issue on left outer join query in 10G

    Dear Mr./Mrs./Ms. Oracle expertise,
    The following query structure can function properly in Oracle 9i, but not work in Oracle 10G.
    Please kindly advise what happened in Oracle 10G?
    Is it a bug in 10G? If yes, any patch for it?
    select a.col1,
    a.col2,
    a.col5,
    b.col3,
    b.col4
    from t1 a
    inner join t2 c on c.col1 = a.col1
    left join (select col3
    col4
    from t3) b
    on b.col1 = a.col1
    and a.col2 = 'Y' <---------- seems 10G cannot allow this condition
    where a.col5 = 123;
    Purpose of above SQL
    ====================
    Only those records from t1 table with a.col2 = 'Y' will
    do the left outer join to "b" table and get the columns b.col3 and b.col4
    Result set in Oracle 9i
    =======================
    col1 col2 col5 col3 col4
    AAA N 111
    BBB N 222
    CCC Y 333 XYZ OOO
    DDD Y 444 QPR 111
    Result set in Oracle 10G
    ========================
    col1 col2 col5 col3 col4
    AAA N 111
    BBB N 222
    CCC Y 333
    DDD Y 444
    Rgds,
    Ken Chan

    Dear Schneider,
    Sorry that there was a typo in my query.
    Below is the revised query.
    select a.col1,
    a.col2,
    a.col5,
    b.col3,
    b.col4
    from t1 a
    inner join t2 c on c.col1 = a.col1
    left join (select col1,
    col3,
    col4
    from t3) b
    on b.col1 = a.col1
    and a.col2 = 'Y' <---------- seems 10G cannot allow this condition
    where a.col5 = 123;
    Thanks.
    Rgds,
    ken Chan

  • Left Outer Joining multiple tables to one source table FAILS with VLD-1511

    Hi all,
    Is it me, or is OWB unable to handle left outer joining 1 source table to multiple other tables?
    I want to load a fact table so I have 1 source table with measures. This table must be outer joined to some dimensions that have their FK in the fact table.
    The SQL statement would look like this (and is perfectly valid):
    select ...
    from input, dim1, dim2
    where input.c1 = dim1.c1(+)
    and input.c2 = dim2.c2(+);
    I put the where clause in the joiner operator and validate, but that gives me message VLD-1511: A table may be outer joined to at most one other table.
    Even splitting this up into one outer join per joiner still gives this message.
    A search and look around on the forum and on metalink shows there are related issues (like bug 3334035). Seemingly creating a view is the work-around to use.....? (ie downgrading owb to a simple gui tool) }-;
    Have other people experienced this problem of not being able to outer join one input table to multiple other tables?
    Thanks,
    Ed

    I have had some feedback from Oracle. It turns out this has to do with 2 issues. Below I have pasted the text that Support gave me:
    <---------- START QUOTE ---------->
    RESEARCH
    =========
    Bug 3437036 KEY LOOKUP DOES NOT DETECT ORA-1417 IN VALIDATE/GENERATE STEP
    Unpublished Bug 4211684 FORWARD PORT OF BUG 3437036
    shows:
    Some more development has been completed when this bug is fixed in Paris.
    The following are the details:
    1. If the join condition contains a full outer join such as
    tab1.c (+) = tab2.c (+) and tab2.c (+) = tab3.c
    then the new validations implemented for this bug do not apply since
    in OWB, full outer join triggers generation of joins in ANSI syntax.
    ANSI syntax does not have the original problem the base bug of this
    bug reported.
    2. If the join condition does not contain any full outer join condition,
    then the join is generated in Oracle join syntax, which is subject two
    several restrictions. The fix to this bug check two of the restrictions.
    3. The first restriction in Oracle syntax is that the outer join operator
    "(+)" can only directly be attached to a column name. If you attach it
    to an expression, such as the following:
    (tab1.c + 1) (+) = tab2.c
    Then there will be an ORA-936 error at the time of mapping deployment.
    For this case, I have added a validation message VLD-1512 to error out
    this situation.
    4. The second restriction in Oracle syntax is that a table can only be
    outer joined to exactly one other table.
    For example, this is an invalid join in Oracle syntax:
    tab1.c (+) = tab2.c and tab1.d (+) = tab3.d
    because tab1 is left outer joined to tab2 and tab3.
    But note that the following is still valid in Oracle syntax:
    tab1.c (+) = tab2.c and tab1.d = tab3.d (+)
    because tab1 is left outer joined to tab2 and right outer joined to tab3.
    So this latter case does not violate the restriction that "same oj" to
    more than 1 table is not allowed.
    If same oj to more than 1 table is specified in a join condition,
    VLD-1511 will be issued, and the map is made invalid.
    <---------- END QUOTE ---------->
    OWB does a partial validation, ie not all access paths are (can be) checked. A full check is only done by the database itself. So some scenarios (like checking whether multiple tables are outer joined the correct way) are not checked, and in this case are flagged with an error (even though it is actually a correct scenario).
    Seemingly this was not flagged with an error in earlier versions of OWB, so beware, OWB behaviour may change when upgrading...
    Alternative solutions are (1) using key lookups, (2) using a view with all outer joins in there, (3) using intermediate result tables between the joins.
    Hope this info helps some people prevent spending too much time on a false error message,
    Ed

  • LEFT OUTER JOIN SQL syntax

    Haven't seen a solution to this on the forum or in the docs. My last post timed out with no responses, but I still don't know if I have a possible solution.
    I've got 2 objects, Task and Role, that are linked in a M-M relationship.
    My tables are:
    T_TASKS
    T_TASKSROLES
    T_ROLES
    I am querying T_TASKS and joining on T_TASKSROLES and T_ROLES, but I need to use an outer join because not all Tasks have a Role in T_TASKSROLES.
    In SQL Server, my FROM clause SHOULD look like this:
    FROM (T_TASKSROLES t2 LEFT OUTER JOIN T_TASKS t1 ON t1.ID = t2.TASKID) LEFT OUTER JOIN T_ROLES t0 ON t0.ID = t2.ROLEID
    however, if I use eb.anyOfAllowingNone(_roles) in my ExpressionBuilder. TopLink creates a LEFT OUTER JOIN clause that looks like this:
    FROM T_ROLES t0 LEFT OUTER JOIN T_TASKS t1 ON((t0.ID = T_TASKSROLES.ROLEID) AND (t1.ID = T_TASKSROLES.TASKID))
    I can see the logic in how it builds this clause. But, it doesn't parse in SQL Server.
    Is there a way to effect how TopLink generates the FROM clause for outer joins? I mean, I understand how to use the XXXPlatform.java source files and can change whether to use OuterJoin in the WHERE clause or not. But, I can't see anything in the platform class that would allow me to figure this out.
    I realize I could write SQL manually, but is there a way to do this so that the same code would work on SQL Server, Oracle, and Sybase (assuming the DatabaseLogin is configured appropriately)?
    It just seems like LEFT OUTER JOIN when joining M-M relationships isn't generating proper SQL. Is the TopLink SQL SQL92-compliant?
    I should add that I have tried to change SQLServerPlatform to have shouldPrintOuterJoinInWhereClause() return "true". This embeds a "=*" in the join conditions in the WHERE clause.
    SQL Server 2000 still supports this syntax, but the "=*" isn't ALWAYS the correct operator. It is important to put the "*" on the correct side of the expression. TopLink always prints "=*", but the operators are not always in the correct order. So, it tries to create a "left join" on the wrong table.
    So my other question, is it possible to force TopLink to remember to put the outer join table in the RIGHT SIDE?
    Nate

    The workaround is actually more complicated than that, and it can't be fixed by changing only the operator.
    In the queries you listed, the only difference is which side of the "AND" the expressions appear on.
    Change "(t2.rightid (+)= t1.rightid)" to "(t1.rightid (+)= t2.rightid)" and I'm guessing (although not sure because I am testing with SQL Server at the moment), that you'll get a similar query error as I did.
    The bug here is that the default M-M selection criteria creates "reltable = table1 AND table2 = reltable". There is no operator that can satisfy this expression.
    So, the fix that I made, for all of my M-M Mappings was to set the SelectionCriteria manually using the following Expression (returned from this method):
    // This puts M-M relationship tables on the same side of expressions so that OUTER JOINS can be supported.
    private Expression getSameSideExpression() {
              // target side
              Expression selectionCriteria = null;
    Enumeration e2 = getTargetKeyFields().elements();
    Enumeration e = getTargetRelationKeyFields().elements();
    ExpressionBuilder eb = new ExpressionBuilder();
    Expression relTableExp = null;
    while(e2.hasMoreElements()) {
    DatabaseField df = (DatabaseField) e.nextElement();
    DatabaseField df2 = (DatabaseField) e2.nextElement();
    if(relTableExp == null){
    relTableExp = eb.getTable(df.getTable());
    Expression targetFieldExp = eb.getField(df2);
    Expression relFieldExp = relTableExp.getField(df);
    Expression joinExp = relFieldExp.equal(targetFieldExp);
    if(selectionCriteria == null)
    selectionCriteria = joinExp;
    else
    selectionCriteria = joinExp.and(selectionCriteria);
              // source side
    e = getSourceRelationKeyFields().elements();
              e2 = getSourceKeyFields().elements();
    while(e.hasMoreElements()) {
    DatabaseField df = (DatabaseField) e.nextElement();
    DatabaseField df2 = (DatabaseField) e2.nextElement();
    Expression relFieldExp = relTableExp.getField(df);
    Expression sourceFieldExp = eb.getParameter(df2);
    Expression joinExp = relFieldExp.equal(sourceFieldExp);
    if(selectionCriteria == null)
                        selectionCriteria = joinExp;
    else
    selectionCriteria = joinExp.and(selectionCriteria);
              return selectionCriteria;
    This changes the M-M Selection Criteria to "table1 = reltable AND table2 = reltable". Now that this is consistent, using the WHERE clause for my joins in SQL Server is possible.
    If you can think of any other problems this change may have, please let me know.
    Thanks for the help.
    Nate

  • BI Infoset left outer join  (NW04s)

    I created an Infoset using a left outer join for infoproviders:
    - 0FIGL_O10 (GL transaction figures - DSO )
    - 0CCA_C03 (CCA Statistical key figures - CUBE)
    DSO 0FIGL_O10 is the left table with joins on:
    - 0COSTCENTER
    - 0FISCPER
    The data set returned by Infoset appears to be based on a SQL using an
    inner join.
    This appears to be a bug.
    We are on BI 700 SP 15.

    Hi Raynald - I did a demo with few records and it works fine for me.  We are on 7, SP14.

  • Left outer join issue, please help

    Hi All,
    My oracle DB : 10G
    I have 3 tables:
    1) w_orders_fs
    2) w_product_d
    3) w_order_f
    (Below are the scripts for creating these 3 tables along with data)
    I have a sql which :
    select o_fs.invoice_number
           , o_fs.product_id o_fs_product_id
           , p_d.product_id p_d_product_id
           , p_d.row_wid_skey p_d_row_wid_skey
           , o_f.product_wid_skey
    from w_orders_fs o_fs
         , w_product_d  p_d
         , w_orders_f o_f
    where o_fs.invoice_number = 10
          and o_fs.product_id = p_d.product_id(+)
          and p_d.current_flg = 'Y'
          and p_d.row_wid_skey = o_f.product_wid_skey(+)
          and o_f.invoice_number = 10
    which is giving me an output :
    INVOICE_NUMBER|O_FS_PRODUCT_ID|P_D_PRODUCT_ID|P_D_ROW_WID_SKEY|PRODUCT_WID_SKEY
    10|2|2|4|4
    Desired output:
    INVOICE_NUMBER|O_FS_PRODUCT_ID|P_D_PRODUCT_ID|P_D_ROW_WID_SKEY|PRODUCT_WID_SKEY
    10|2|2|4|4
    10|1|1|3|NULL
    Now the overall objective is to pull the 2nd record of my desired output, my above query is not giving me this 2nd record since in my w_orders_f table product_wid_skey is not populated(one of the 2 records where invoice number = 10), I am just confused how to achieve this left outer join.
    Please help.
    Regards
    Rahul
    CREATE/INSERT  SCRIPTS:
    CREATE TABLE W_ORDERS_FS
      INVOICE_NUMBER        NUMBER(3),
      INVOICE_DT            DATE,
      CREATED_BY            NUMBER(6),
      CREATED_ON_DT         DATE,
      CHANGED_BY            NUMBER(6),
      CHANGED_ON_DT         DATE,
      LAST_UPDATE_DT        DATE,
      CUSTOMER_ID           NUMBER(6),
      PRODUCT_ID            NUMBER(2),
      PRICE_PER_UNIT        NUMBER(5),
      STORE_ID              NUMBER(4),
      OTY_ORDERED           NUMBER(5),
      TOT_PRICE_BY_PRODUCT  NUMBER,
      ETL_PROC_WID          VARCHAR2(100 BYTE),
      DATASOURCE_NUM_ID     INTEGER
    Insert into W_ORDERS_FS
       (INVOICE_NUMBER, INVOICE_DT, CREATED_BY, CREATED_ON_DT, LAST_UPDATE_DT, CUSTOMER_ID, PRODUCT_ID, PRICE_PER_UNIT, STORE_ID, OTY_ORDERED, TOT_PRICE_BY_PRODUCT, ETL_PROC_WID, DATASOURCE_NUM_ID)
    Values
       (10, TO_DATE('05/28/2013 00:00:00', 'MM/DD/YYYY HH24:MI:SS'), 19, TO_DATE('05/28/2013 00:00:00', 'MM/DD/YYYY HH24:MI:SS'), TO_DATE('05/28/2013 00:00:00', 'MM/DD/YYYY HH24:MI:SS'), 160, 1, 8, 1000, 10, 80, '22858060', 1);
    Insert into W_ORDERS_FS
       (INVOICE_NUMBER, INVOICE_DT, CREATED_BY, CREATED_ON_DT, LAST_UPDATE_DT, CUSTOMER_ID, PRODUCT_ID, PRICE_PER_UNIT, STORE_ID, OTY_ORDERED, TOT_PRICE_BY_PRODUCT, ETL_PROC_WID, DATASOURCE_NUM_ID)
    Values
       (10, TO_DATE('05/28/2013 00:00:00', 'MM/DD/YYYY HH24:MI:SS'), 19, TO_DATE('05/28/2013 00:00:00', 'MM/DD/YYYY HH24:MI:SS'), TO_DATE('05/28/2013 00:00:00', 'MM/DD/YYYY HH24:MI:SS'), 160, 2, 25, 1000, 10, 250, '22858060', 1);
    Insert into W_ORDERS_FS
       (INVOICE_NUMBER, INVOICE_DT, CREATED_BY, CREATED_ON_DT, LAST_UPDATE_DT, CUSTOMER_ID, PRODUCT_ID, PRICE_PER_UNIT, STORE_ID, OTY_ORDERED, TOT_PRICE_BY_PRODUCT, ETL_PROC_WID, DATASOURCE_NUM_ID)
    Values
       (11, TO_DATE('05/28/2013 00:00:00', 'MM/DD/YYYY HH24:MI:SS'), 20, TO_DATE('05/28/2013 00:00:00', 'MM/DD/YYYY HH24:MI:SS'), TO_DATE('05/28/2013 00:00:00', 'MM/DD/YYYY HH24:MI:SS'), 161, 6, 9, 1100, 10, 90, '22858060', 1);
    Insert into W_ORDERS_FS
       (INVOICE_NUMBER, INVOICE_DT, CREATED_BY, CREATED_ON_DT, LAST_UPDATE_DT, CUSTOMER_ID, PRODUCT_ID, PRICE_PER_UNIT, STORE_ID, OTY_ORDERED, TOT_PRICE_BY_PRODUCT, ETL_PROC_WID, DATASOURCE_NUM_ID)
    Values
       (12, TO_DATE('05/28/2013 00:00:00', 'MM/DD/YYYY HH24:MI:SS'), 21, TO_DATE('05/28/2013 00:00:00', 'MM/DD/YYYY HH24:MI:SS'), TO_DATE('05/28/2013 00:00:00', 'MM/DD/YYYY HH24:MI:SS'), 164, 5, 10, 1500, 10, 100, '22858060', 1);
    Insert into W_ORDERS_FS
       (INVOICE_NUMBER, INVOICE_DT, CREATED_BY, CREATED_ON_DT, LAST_UPDATE_DT, CUSTOMER_ID, PRODUCT_ID, PRICE_PER_UNIT, STORE_ID, OTY_ORDERED, TOT_PRICE_BY_PRODUCT, ETL_PROC_WID, DATASOURCE_NUM_ID)
    Values
       (13, TO_DATE('05/28/2013 00:00:00', 'MM/DD/YYYY HH24:MI:SS'), 22, TO_DATE('05/28/2013 00:00:00', 'MM/DD/YYYY HH24:MI:SS'), TO_DATE('05/28/2013 00:00:00', 'MM/DD/YYYY HH24:MI:SS'), 163, 5, 10, 2000, 10, 100, '22858060', 1);
    Insert into W_ORDERS_FS
       (INVOICE_NUMBER, INVOICE_DT, CREATED_BY, CREATED_ON_DT, LAST_UPDATE_DT, CUSTOMER_ID, PRODUCT_ID, PRICE_PER_UNIT, STORE_ID, OTY_ORDERED, TOT_PRICE_BY_PRODUCT, ETL_PROC_WID, DATASOURCE_NUM_ID)
    Values
       (14, TO_DATE('05/28/2013 00:00:00', 'MM/DD/YYYY HH24:MI:SS'), 23, TO_DATE('05/28/2013 00:00:00', 'MM/DD/YYYY HH24:MI:SS'), TO_DATE('05/28/2013 00:00:00', 'MM/DD/YYYY HH24:MI:SS'), 164, 1, 8, 1400, 20, 160, '22858060', 1);
    Insert into W_ORDERS_FS
       (INVOICE_NUMBER, INVOICE_DT, CREATED_BY, CREATED_ON_DT, LAST_UPDATE_DT, CUSTOMER_ID, PRODUCT_ID, PRICE_PER_UNIT, STORE_ID, OTY_ORDERED, TOT_PRICE_BY_PRODUCT, ETL_PROC_WID, DATASOURCE_NUM_ID)
    Values
       (15, TO_DATE('05/28/2013 00:00:00', 'MM/DD/YYYY HH24:MI:SS'), 19, TO_DATE('05/28/2013 00:00:00', 'MM/DD/YYYY HH24:MI:SS'), TO_DATE('05/28/2013 00:00:00', 'MM/DD/YYYY HH24:MI:SS'), 162, 2, 25, 2200, 5, 125, '22858060', 1);
    Insert into W_ORDERS_FS
       (INVOICE_NUMBER, INVOICE_DT, CREATED_BY, CREATED_ON_DT, LAST_UPDATE_DT, CUSTOMER_ID, PRODUCT_ID, PRICE_PER_UNIT, STORE_ID, OTY_ORDERED, TOT_PRICE_BY_PRODUCT, ETL_PROC_WID, DATASOURCE_NUM_ID)
    Values
       (15, TO_DATE('05/28/2013 00:00:00', 'MM/DD/YYYY HH24:MI:SS'), 19, TO_DATE('05/28/2013 00:00:00', 'MM/DD/YYYY HH24:MI:SS'), TO_DATE('05/28/2013 00:00:00', 'MM/DD/YYYY HH24:MI:SS'), 162, 6, 9, 2200, 5, 45, '22858060', 1);
    Insert into W_ORDERS_FS
       (INVOICE_NUMBER, INVOICE_DT, CREATED_BY, CREATED_ON_DT, LAST_UPDATE_DT, CUSTOMER_ID, PRODUCT_ID, PRICE_PER_UNIT, STORE_ID, OTY_ORDERED, TOT_PRICE_BY_PRODUCT, ETL_PROC_WID, DATASOURCE_NUM_ID)
    Values
       (15, TO_DATE('05/28/2013 00:00:00', 'MM/DD/YYYY HH24:MI:SS'), 19, TO_DATE('05/28/2013 00:00:00', 'MM/DD/YYYY HH24:MI:SS'), TO_DATE('05/28/2013 00:00:00', 'MM/DD/YYYY HH24:MI:SS'), 162, 5, 10, 2200, 5, 50, '22858060', 1);
    Insert into W_ORDERS_FS
       (INVOICE_NUMBER, INVOICE_DT, CREATED_BY, CREATED_ON_DT, LAST_UPDATE_DT, CUSTOMER_ID, PRODUCT_ID, PRICE_PER_UNIT, STORE_ID, OTY_ORDERED, TOT_PRICE_BY_PRODUCT, ETL_PROC_WID, DATASOURCE_NUM_ID)
    Values
       (15, TO_DATE('05/28/2013 00:00:00', 'MM/DD/YYYY HH24:MI:SS'), 19, TO_DATE('05/28/2013 00:00:00', 'MM/DD/YYYY HH24:MI:SS'), TO_DATE('05/28/2013 00:00:00', 'MM/DD/YYYY HH24:MI:SS'), 162, 1, 8, 2200, 5, 40, '22858060', 1);
    Insert into W_ORDERS_FS
       (INVOICE_NUMBER, INVOICE_DT, CREATED_BY, CREATED_ON_DT, LAST_UPDATE_DT, CUSTOMER_ID, PRODUCT_ID, PRICE_PER_UNIT, STORE_ID, OTY_ORDERED, TOT_PRICE_BY_PRODUCT, ETL_PROC_WID, DATASOURCE_NUM_ID)
    Values
       (16, TO_DATE('05/28/2013 00:00:00', 'MM/DD/YYYY HH24:MI:SS'), 22, TO_DATE('05/28/2013 00:00:00', 'MM/DD/YYYY HH24:MI:SS'), TO_DATE('06/14/2013 00:00:00', 'MM/DD/YYYY HH24:MI:SS'), 165, 3, 10, 2200, 15, 150, '22858060', 1);
    Insert into W_ORDERS_FS
       (INVOICE_NUMBER, INVOICE_DT, CREATED_BY, CREATED_ON_DT, LAST_UPDATE_DT, CUSTOMER_ID, PRODUCT_ID, PRICE_PER_UNIT, STORE_ID, OTY_ORDERED, TOT_PRICE_BY_PRODUCT, ETL_PROC_WID, DATASOURCE_NUM_ID)
    Values
       (16, TO_DATE('05/28/2013 00:00:00', 'MM/DD/YYYY HH24:MI:SS'), 22, TO_DATE('05/28/2013 00:00:00', 'MM/DD/YYYY HH24:MI:SS'), TO_DATE('06/14/2013 00:00:00', 'MM/DD/YYYY HH24:MI:SS'), 165, 1, 8, 2200, 25, 200, '22858060', 1);
    Insert into W_ORDERS_FS
       (INVOICE_NUMBER, INVOICE_DT, CREATED_BY, CREATED_ON_DT, LAST_UPDATE_DT, CUSTOMER_ID, PRODUCT_ID, PRICE_PER_UNIT, STORE_ID, OTY_ORDERED, TOT_PRICE_BY_PRODUCT, ETL_PROC_WID, DATASOURCE_NUM_ID)
    Values
       (16, TO_DATE('05/28/2013 00:00:00', 'MM/DD/YYYY HH24:MI:SS'), 22, TO_DATE('05/28/2013 00:00:00', 'MM/DD/YYYY HH24:MI:SS'), TO_DATE('06/14/2013 00:00:00', 'MM/DD/YYYY HH24:MI:SS'), 165, 4, 1, 2200, 55, 55, '22858060', 1);
    Insert into W_ORDERS_FS
       (INVOICE_NUMBER, INVOICE_DT, CREATED_BY, CREATED_ON_DT, LAST_UPDATE_DT, CUSTOMER_ID, PRODUCT_ID, PRICE_PER_UNIT, STORE_ID, OTY_ORDERED, TOT_PRICE_BY_PRODUCT, ETL_PROC_WID, DATASOURCE_NUM_ID)
    Values
       (16, TO_DATE('05/28/2013 00:00:00', 'MM/DD/YYYY HH24:MI:SS'), 22, TO_DATE('05/28/2013 00:00:00', 'MM/DD/YYYY HH24:MI:SS'), TO_DATE('06/14/2013 00:00:00', 'MM/DD/YYYY HH24:MI:SS'), 162, 5, 10, 2200, 55, 550, '22858060', 1);
    Insert into W_ORDERS_FS
       (INVOICE_NUMBER, INVOICE_DT, CREATED_BY, CREATED_ON_DT, LAST_UPDATE_DT, CUSTOMER_ID, PRODUCT_ID, PRICE_PER_UNIT, STORE_ID, OTY_ORDERED, TOT_PRICE_BY_PRODUCT, ETL_PROC_WID, DATASOURCE_NUM_ID)
    Values
       (17, TO_DATE('06/14/2013 00:00:00', 'MM/DD/YYYY HH24:MI:SS'), 22, TO_DATE('06/14/2013 00:00:00', 'MM/DD/YYYY HH24:MI:SS'), TO_DATE('06/14/2013 00:00:00', 'MM/DD/YYYY HH24:MI:SS'), 160, 1, 8, 1000, 10, 80, '22858060', 1);
    Insert into W_ORDERS_FS
       (INVOICE_NUMBER, INVOICE_DT, CREATED_BY, CREATED_ON_DT, LAST_UPDATE_DT, CUSTOMER_ID, PRODUCT_ID, PRICE_PER_UNIT, STORE_ID, OTY_ORDERED, TOT_PRICE_BY_PRODUCT, ETL_PROC_WID, DATASOURCE_NUM_ID)
    Values
       (17, TO_DATE('06/14/2013 00:00:00', 'MM/DD/YYYY HH24:MI:SS'), 22, TO_DATE('06/14/2013 00:00:00', 'MM/DD/YYYY HH24:MI:SS'), TO_DATE('06/14/2013 00:00:00', 'MM/DD/YYYY HH24:MI:SS'), 160, 7, 10, 1000, 10, 100, '22858060', 1);
    Insert into W_ORDERS_FS
       (INVOICE_NUMBER, INVOICE_DT, CREATED_BY, CREATED_ON_DT, LAST_UPDATE_DT, CUSTOMER_ID, PRODUCT_ID, PRICE_PER_UNIT, STORE_ID, OTY_ORDERED, TOT_PRICE_BY_PRODUCT, ETL_PROC_WID, DATASOURCE_NUM_ID)
    Values
       (18, TO_DATE('06/14/2013 00:00:00', 'MM/DD/YYYY HH24:MI:SS'), 19, TO_DATE('06/14/2013 00:00:00', 'MM/DD/YYYY HH24:MI:SS'), TO_DATE('06/14/2013 00:00:00', 'MM/DD/YYYY HH24:MI:SS'), 161, 1, 8, 1400, 10, 80, '22858060', 1);
    Insert into W_ORDERS_FS
       (INVOICE_NUMBER, INVOICE_DT, CREATED_BY, CREATED_ON_DT, LAST_UPDATE_DT, CUSTOMER_ID, PRODUCT_ID, PRICE_PER_UNIT, STORE_ID, OTY_ORDERED, TOT_PRICE_BY_PRODUCT, ETL_PROC_WID, DATASOURCE_NUM_ID)
    Values
       (18, TO_DATE('06/14/2013 00:00:00', 'MM/DD/YYYY HH24:MI:SS'), 19, TO_DATE('06/14/2013 00:00:00', 'MM/DD/YYYY HH24:MI:SS'), TO_DATE('06/14/2013 00:00:00', 'MM/DD/YYYY HH24:MI:SS'), 161, 7, 10, 1400, 10, 100, '22858060', 1);
    Insert into W_ORDERS_FS
       (INVOICE_NUMBER, INVOICE_DT, CREATED_BY, CREATED_ON_DT, LAST_UPDATE_DT, CUSTOMER_ID, PRODUCT_ID, PRICE_PER_UNIT, STORE_ID, OTY_ORDERED, TOT_PRICE_BY_PRODUCT, ETL_PROC_WID, DATASOURCE_NUM_ID)
    Values
       (19, TO_DATE('06/14/2013 00:00:00', 'MM/DD/YYYY HH24:MI:SS'), 19, TO_DATE('06/14/2013 00:00:00', 'MM/DD/YYYY HH24:MI:SS'), TO_DATE('06/14/2013 00:00:00', 'MM/DD/YYYY HH24:MI:SS'), 162, 3, 10, 1100, 10, 100, '22858060', 1);
    Insert into W_ORDERS_FS
       (INVOICE_NUMBER, INVOICE_DT, CREATED_BY, CREATED_ON_DT, LAST_UPDATE_DT, CUSTOMER_ID, PRODUCT_ID, PRICE_PER_UNIT, STORE_ID, OTY_ORDERED, TOT_PRICE_BY_PRODUCT, ETL_PROC_WID, DATASOURCE_NUM_ID)
    Values
       (19, TO_DATE('06/14/2013 00:00:00', 'MM/DD/YYYY HH24:MI:SS'), 19, TO_DATE('06/14/2013 00:00:00', 'MM/DD/YYYY HH24:MI:SS'), TO_DATE('06/14/2013 00:00:00', 'MM/DD/YYYY HH24:MI:SS'), 162, 4, 1, 1100, 10, 10, '22858060', 1);
    Insert into W_ORDERS_FS
       (INVOICE_NUMBER, INVOICE_DT, CREATED_BY, CREATED_ON_DT, LAST_UPDATE_DT, CUSTOMER_ID, PRODUCT_ID, PRICE_PER_UNIT, STORE_ID, OTY_ORDERED, TOT_PRICE_BY_PRODUCT, ETL_PROC_WID, DATASOURCE_NUM_ID)
    Values
       (20, TO_DATE('06/14/2013 00:00:00', 'MM/DD/YYYY HH24:MI:SS'), 20, TO_DATE('06/14/2013 00:00:00', 'MM/DD/YYYY HH24:MI:SS'), TO_DATE('06/14/2013 00:00:00', 'MM/DD/YYYY HH24:MI:SS'), 165, 5, 10, 3200, 10, 100, '22858060', 1);
    Insert into W_ORDERS_FS
       (INVOICE_NUMBER, INVOICE_DT, CREATED_BY, CREATED_ON_DT, LAST_UPDATE_DT, CUSTOMER_ID, PRODUCT_ID, PRICE_PER_UNIT, STORE_ID, OTY_ORDERED, TOT_PRICE_BY_PRODUCT, ETL_PROC_WID, DATASOURCE_NUM_ID)
    Values
       (20, TO_DATE('06/14/2013 00:00:00', 'MM/DD/YYYY HH24:MI:SS'), 20, TO_DATE('06/14/2013 00:00:00', 'MM/DD/YYYY HH24:MI:SS'), TO_DATE('06/14/2013 00:00:00', 'MM/DD/YYYY HH24:MI:SS'), 165, 6, 9, 3200, 10, 90, '22858060', 1);
    Insert into W_ORDERS_FS
       (INVOICE_NUMBER, INVOICE_DT, CREATED_BY, CREATED_ON_DT, LAST_UPDATE_DT, CUSTOMER_ID, PRODUCT_ID, PRICE_PER_UNIT, STORE_ID, OTY_ORDERED, TOT_PRICE_BY_PRODUCT, ETL_PROC_WID, DATASOURCE_NUM_ID)
    Values
       (21, TO_DATE('06/14/2013 00:00:00', 'MM/DD/YYYY HH24:MI:SS'), 21, TO_DATE('06/14/2013 00:00:00', 'MM/DD/YYYY HH24:MI:SS'), TO_DATE('06/14/2013 00:00:00', 'MM/DD/YYYY HH24:MI:SS'), 164, 8, 5, 3200, 10, 50, '22858060', 1);
    Insert into W_ORDERS_FS
       (INVOICE_NUMBER, INVOICE_DT, CREATED_BY, CREATED_ON_DT, LAST_UPDATE_DT, CUSTOMER_ID, PRODUCT_ID, PRICE_PER_UNIT, STORE_ID, OTY_ORDERED, TOT_PRICE_BY_PRODUCT, ETL_PROC_WID, DATASOURCE_NUM_ID)
    Values
       (21, TO_DATE('06/14/2013 00:00:00', 'MM/DD/YYYY HH24:MI:SS'), 21, TO_DATE('06/14/2013 00:00:00', 'MM/DD/YYYY HH24:MI:SS'), TO_DATE('06/14/2013 00:00:00', 'MM/DD/YYYY HH24:MI:SS'), 164, 2, 25, 3200, 10, 250, '22858060', 1);
    Insert into W_ORDERS_FS
       (INVOICE_NUMBER, INVOICE_DT, CREATED_BY, CREATED_ON_DT, LAST_UPDATE_DT, CUSTOMER_ID, PRODUCT_ID, PRICE_PER_UNIT, STORE_ID, OTY_ORDERED, TOT_PRICE_BY_PRODUCT, ETL_PROC_WID, DATASOURCE_NUM_ID)
    Values
       (21, TO_DATE('06/14/2013 00:00:00', 'MM/DD/YYYY HH24:MI:SS'), 21, TO_DATE('06/14/2013 00:00:00', 'MM/DD/YYYY HH24:MI:SS'), TO_DATE('06/14/2013 00:00:00', 'MM/DD/YYYY HH24:MI:SS'), 164, 9, 1, 3200, 10, 10, '22858060', 1);
    Insert into W_ORDERS_FS
       (INVOICE_NUMBER, INVOICE_DT, CREATED_BY, CREATED_ON_DT, LAST_UPDATE_DT, CUSTOMER_ID, PRODUCT_ID, PRICE_PER_UNIT, STORE_ID, OTY_ORDERED, TOT_PRICE_BY_PRODUCT, ETL_PROC_WID, DATASOURCE_NUM_ID)
    Values
       (21, TO_DATE('06/14/2013 00:00:00', 'MM/DD/YYYY HH24:MI:SS'), 21, TO_DATE('06/14/2013 00:00:00', 'MM/DD/YYYY HH24:MI:SS'), TO_DATE('06/14/2013 00:00:00', 'MM/DD/YYYY HH24:MI:SS'), 164, 10, 5, 3200, 5, 25, '22858060', 1);
    Insert into W_ORDERS_FS
       (INVOICE_NUMBER, INVOICE_DT, CREATED_BY, CREATED_ON_DT, LAST_UPDATE_DT, CUSTOMER_ID, PRODUCT_ID, PRICE_PER_UNIT, STORE_ID, OTY_ORDERED, TOT_PRICE_BY_PRODUCT, ETL_PROC_WID, DATASOURCE_NUM_ID)
    Values
       (24, TO_DATE('06/18/2013 00:00:00', 'MM/DD/YYYY HH24:MI:SS'), 22, TO_DATE('06/18/2013 00:00:00', 'MM/DD/YYYY HH24:MI:SS'), TO_DATE('06/18/2013 00:00:00', 'MM/DD/YYYY HH24:MI:SS'), 164, 1, 8, 3200, 10, 80, '22858060', 1);
    Insert into W_ORDERS_FS
       (INVOICE_NUMBER, INVOICE_DT, CREATED_BY, CREATED_ON_DT, LAST_UPDATE_DT, CUSTOMER_ID, PRODUCT_ID, PRICE_PER_UNIT, STORE_ID, OTY_ORDERED, TOT_PRICE_BY_PRODUCT, ETL_PROC_WID, DATASOURCE_NUM_ID)
    Values
       (24, TO_DATE('06/18/2013 00:00:00', 'MM/DD/YYYY HH24:MI:SS'), 22, TO_DATE('06/18/2013 00:00:00', 'MM/DD/YYYY HH24:MI:SS'), TO_DATE('06/18/2013 00:00:00', 'MM/DD/YYYY HH24:MI:SS'), 164, 10, 5, 3200, 5, 25, '22858060', 1);
    Insert into W_ORDERS_FS
       (INVOICE_NUMBER, INVOICE_DT, CREATED_BY, CREATED_ON_DT, LAST_UPDATE_DT, CUSTOMER_ID, PRODUCT_ID, PRICE_PER_UNIT, STORE_ID, OTY_ORDERED, TOT_PRICE_BY_PRODUCT, ETL_PROC_WID, DATASOURCE_NUM_ID)
    Values
       (23, TO_DATE('06/17/2013 00:00:00', 'MM/DD/YYYY HH24:MI:SS'), 22, TO_DATE('06/17/2013 00:00:00', 'MM/DD/YYYY HH24:MI:SS'), TO_DATE('06/17/2013 00:00:00', 'MM/DD/YYYY HH24:MI:SS'), 162, 3, 10, 1100, 10, 100, '22858060', 1);
    Insert into W_ORDERS_FS
       (INVOICE_NUMBER, INVOICE_DT, CREATED_BY, CREATED_ON_DT, LAST_UPDATE_DT, CUSTOMER_ID, PRODUCT_ID, PRICE_PER_UNIT, STORE_ID, OTY_ORDERED, TOT_PRICE_BY_PRODUCT, ETL_PROC_WID, DATASOURCE_NUM_ID)
    Values
       (23, TO_DATE('06/17/2013 00:00:00', 'MM/DD/YYYY HH24:MI:SS'), 22, TO_DATE('06/17/2013 00:00:00', 'MM/DD/YYYY HH24:MI:SS'), TO_DATE('06/17/2013 00:00:00', 'MM/DD/YYYY HH24:MI:SS'), 162, 4, 1, 1100, 10, 10, '22858060', 1);
    Insert into W_ORDERS_FS
       (INVOICE_NUMBER, INVOICE_DT, CREATED_BY, CREATED_ON_DT, LAST_UPDATE_DT, CUSTOMER_ID, PRODUCT_ID, PRICE_PER_UNIT, STORE_ID, OTY_ORDERED, TOT_PRICE_BY_PRODUCT, ETL_PROC_WID, DATASOURCE_NUM_ID)
    Values
       (22, TO_DATE('06/16/2013 00:00:00', 'MM/DD/YYYY HH24:MI:SS'), 23, TO_DATE('06/16/2013 00:00:00', 'MM/DD/YYYY HH24:MI:SS'), TO_DATE('06/16/2013 00:00:00', 'MM/DD/YYYY HH24:MI:SS'), 164, 1, 8, 3200, 10, 80, '22858060', 1);
    Insert into W_ORDERS_FS
       (INVOICE_NUMBER, INVOICE_DT, CREATED_BY, CREATED_ON_DT, LAST_UPDATE_DT, CUSTOMER_ID, PRODUCT_ID, PRICE_PER_UNIT, STORE_ID, OTY_ORDERED, TOT_PRICE_BY_PRODUCT, ETL_PROC_WID, DATASOURCE_NUM_ID)
    Values
       (22, TO_DATE('06/16/2013 00:00:00', 'MM/DD/YYYY HH24:MI:SS'), 23, TO_DATE('06/16/2013 00:00:00', 'MM/DD/YYYY HH24:MI:SS'), TO_DATE('06/16/2013 00:00:00', 'MM/DD/YYYY HH24:MI:SS'), 164, 2, 25, 3200, 10, 250, '22858060', 1);
    COMMIT;
    CREATE TABLE W_PRODUCT_D
      ROW_WID            NUMBER(10),
      ROW_WID_SKEY       NUMBER(10,5),
      PRODUCT_ID         NUMBER(2)                  NOT NULL,
      PRODUCT_NAME       VARCHAR2(50 BYTE),
      OTY_IN_STOCK       NUMBER(5),
      CREATED_BY         NUMBER(2),
      CREATED_ON_DT      DATE,
      CHANGED_BY         NUMBER(2),
      CHANGED_ON_DT      DATE,
      LAST_UPDATE_DT     DATE,
      W_INSERT_DT        DATE,
      W_UPDATE_DT        DATE,
      CURRENT_FLG        VARCHAR2(1 BYTE),
      ORIGINAL_QUANTITY  NUMBER(10),
      ETL_PROC_WID       VARCHAR2(100 BYTE),
      DATASOURCE_NUM_ID  NUMBER
    Insert into W_PRODUCT_D
       (ROW_WID, ROW_WID_SKEY, PRODUCT_ID, PRODUCT_NAME, OTY_IN_STOCK, CREATED_BY, CREATED_ON_DT, LAST_UPDATE_DT, W_INSERT_DT, CURRENT_FLG, ORIGINAL_QUANTITY, ETL_PROC_WID, DATASOURCE_NUM_ID)
    Values
       (1, 1, 7, '7up', 180, 20, TO_DATE('06/04/2013 00:00:00', 'MM/DD/YYYY HH24:MI:SS'), TO_DATE('06/14/2013 13:29:24', 'MM/DD/YYYY HH24:MI:SS'), TO_DATE('06/19/2013 11:09:35', 'MM/DD/YYYY HH24:MI:SS'), 'Y', 200, '22858060', 1);
    Insert into W_PRODUCT_D
       (ROW_WID, ROW_WID_SKEY, PRODUCT_ID, PRODUCT_NAME, OTY_IN_STOCK, CREATED_BY, CREATED_ON_DT, LAST_UPDATE_DT, W_INSERT_DT, CURRENT_FLG, ORIGINAL_QUANTITY, ETL_PROC_WID, DATASOURCE_NUM_ID)
    Values
       (2, 2, 8, 'Nestle munch', 990, 23, TO_DATE('06/05/2013 00:00:00', 'MM/DD/YYYY HH24:MI:SS'), TO_DATE('06/14/2013 13:29:24', 'MM/DD/YYYY HH24:MI:SS'), TO_DATE('06/19/2013 11:09:35', 'MM/DD/YYYY HH24:MI:SS'), 'Y', 1000, '22858060', 1);
    Insert into W_PRODUCT_D
       (ROW_WID, ROW_WID_SKEY, PRODUCT_ID, PRODUCT_NAME, OTY_IN_STOCK, CREATED_BY, CREATED_ON_DT, CHANGED_BY, CHANGED_ON_DT, LAST_UPDATE_DT, W_INSERT_DT, CURRENT_FLG, ORIGINAL_QUANTITY, ETL_PROC_WID, DATASOURCE_NUM_ID)
    Values
       (3, 3, 1, 'Coca cola mini', 0, 19, TO_DATE('05/28/2013 00:00:00', 'MM/DD/YYYY HH24:MI:SS'), 21, TO_DATE('06/18/2013 00:00:00', 'MM/DD/YYYY HH24:MI:SS'), TO_DATE('06/18/2013 13:29:24', 'MM/DD/YYYY HH24:MI:SS'), TO_DATE('06/19/2013 11:09:35', 'MM/DD/YYYY HH24:MI:SS'), 'Y', 100, '22858060', 1);
    Insert into W_PRODUCT_D
       (ROW_WID, ROW_WID_SKEY, PRODUCT_ID, PRODUCT_NAME, OTY_IN_STOCK, CREATED_BY, CREATED_ON_DT, CHANGED_BY, CHANGED_ON_DT, LAST_UPDATE_DT, W_INSERT_DT, CURRENT_FLG, ORIGINAL_QUANTITY, ETL_PROC_WID, DATASOURCE_NUM_ID)
    Values
       (4, 4, 2, 'coca cola peg bottle', 465, 20, TO_DATE('05/28/2013 00:00:00', 'MM/DD/YYYY HH24:MI:SS'), 21, TO_DATE('06/16/2013 00:00:00', 'MM/DD/YYYY HH24:MI:SS'), TO_DATE('06/16/2013 13:29:24', 'MM/DD/YYYY HH24:MI:SS'), TO_DATE('06/19/2013 11:09:35', 'MM/DD/YYYY HH24:MI:SS'), 'Y', 500, '22858060', 1);
    Insert into W_PRODUCT_D
       (ROW_WID, ROW_WID_SKEY, PRODUCT_ID, PRODUCT_NAME, OTY_IN_STOCK, CREATED_BY, CREATED_ON_DT, CHANGED_BY, CHANGED_ON_DT, LAST_UPDATE_DT, W_INSERT_DT, CURRENT_FLG, ORIGINAL_QUANTITY, ETL_PROC_WID, DATASOURCE_NUM_ID)
    Values
       (5, 5, 3, 'ruffle lays', 965, 19, TO_DATE('05/28/2013 00:00:00', 'MM/DD/YYYY HH24:MI:SS'), 21, TO_DATE('06/17/2013 00:00:00', 'MM/DD/YYYY HH24:MI:SS'), TO_DATE('06/17/2013 13:29:24', 'MM/DD/YYYY HH24:MI:SS'), TO_DATE('06/19/2013 11:09:35', 'MM/DD/YYYY HH24:MI:SS'), 'Y', 1000, '22858060', 1);
    Insert into W_PRODUCT_D
       (ROW_WID, ROW_WID_SKEY, PRODUCT_ID, PRODUCT_NAME, OTY_IN_STOCK, CREATED_BY, CREATED_ON_DT, CHANGED_BY, CHANGED_ON_DT, LAST_UPDATE_DT, W_INSERT_DT, CURRENT_FLG, ORIGINAL_QUANTITY, ETL_PROC_WID, DATASOURCE_NUM_ID)
    Values
       (6, 6, 4, 'center fresh', 9925, 23, TO_DATE('05/28/2013 00:00:00', 'MM/DD/YYYY HH24:MI:SS'), 22, TO_DATE('06/17/2013 00:00:00', 'MM/DD/YYYY HH24:MI:SS'), TO_DATE('06/17/2013 13:29:24', 'MM/DD/YYYY HH24:MI:SS'), TO_DATE('06/19/2013 11:09:35', 'MM/DD/YYYY HH24:MI:SS'), 'Y', 10000, '22858060', 1);
    Insert into W_PRODUCT_D
       (ROW_WID, ROW_WID_SKEY, PRODUCT_ID, PRODUCT_NAME, OTY_IN_STOCK, CREATED_BY, CREATED_ON_DT, LAST_UPDATE_DT, W_INSERT_DT, CURRENT_FLG, ORIGINAL_QUANTITY, ETL_PROC_WID, DATASOURCE_NUM_ID)
    Values
       (7, 7, 5, 'Mirinda', 10, 20, TO_DATE('05/28/2013 00:00:00', 'MM/DD/YYYY HH24:MI:SS'), TO_DATE('06/14/2013 13:29:24', 'MM/DD/YYYY HH24:MI:SS'), TO_DATE('06/19/2013 11:09:35', 'MM/DD/YYYY HH24:MI:SS'), 'Y', 100, '22858060', 1);
    Insert into W_PRODUCT_D
       (ROW_WID, ROW_WID_SKEY, PRODUCT_ID, PRODUCT_NAME, OTY_IN_STOCK, CREATED_BY, CREATED_ON_DT, LAST_UPDATE_DT, W_INSERT_DT, CURRENT_FLG, ORIGINAL_QUANTITY, ETL_PROC_WID, DATASOURCE_NUM_ID)
    Values
       (8, 8, 6, 'pepsi', 25, 20, TO_DATE('05/28/2013 00:00:00', 'MM/DD/YYYY HH24:MI:SS'), TO_DATE('06/14/2013 13:29:24', 'MM/DD/YYYY HH24:MI:SS'), TO_DATE('06/19/2013 11:09:35', 'MM/DD/YYYY HH24:MI:SS'), 'Y', 50, '22858060', 1);
    Insert into W_PRODUCT_D
       (ROW_WID, ROW_WID_SKEY, PRODUCT_ID, PRODUCT_NAME, OTY_IN_STOCK, CREATED_BY, CREATED_ON_DT, LAST_UPDATE_DT, W_INSERT_DT, CURRENT_FLG, ORIGINAL_QUANTITY, ETL_PROC_WID, DATASOURCE_NUM_ID)
    Values
       (9, 9, 9, 'Mentos mint', 990, 20, TO_DATE('06/13/2013 00:00:00', 'MM/DD/YYYY HH24:MI:SS'), TO_DATE('06/14/2013 13:29:24', 'MM/DD/YYYY HH24:MI:SS'), TO_DATE('06/19/2013 11:09:35', 'MM/DD/YYYY HH24:MI:SS'), 'Y', 1000, '22858060', 1);
    Insert into W_PRODUCT_D
       (ROW_WID, ROW_WID_SKEY, PRODUCT_ID, PRODUCT_NAME, OTY_IN_STOCK, CREATED_BY, CREATED_ON_DT, CHANGED_BY, CHANGED_ON_DT, LAST_UPDATE_DT, W_INSERT_DT, CURRENT_FLG, ORIGINAL_QUANTITY, ETL_PROC_WID, DATASOURCE_NUM_ID)
    Values
       (10, 10, 10, 'Marie gold biscuit', 0, 20, TO_DATE('06/13/2013 00:00:00', 'MM/DD/YYYY HH24:MI:SS'), 23, TO_DATE('06/18/2013 13:29:24', 'MM/DD/YYYY HH24:MI:SS'), TO_DATE('06/18/2013 13:29:24', 'MM/DD/YYYY HH24:MI:SS'), TO_DATE('06/19/2013 11:09:35', 'MM/DD/YYYY HH24:MI:SS'), 'Y', 10, '22858060', 1);
    COMMIT;
    CREATE TABLE W_ORDERS_F
      ROW_WID               NUMBER,
      INVOICE_NUMBER        NUMBER(3),
      INVOICE_DT            DATE,
      CREATED_BY            NUMBER(6),
      CREATED_ON_DT         DATE,
      CHANGED_BY            NUMBER(6),
      CHANGED_ON_DT         DATE,
      LAST_UPDATE_DT        DATE,
      PRODUCT_WID_SKEY      NUMBER(15),
      PRICE_PER_UNIT        NUMBER(5),
      OTY_ORDERED           NUMBER(5),
      TOT_PRICE_BY_PRODUCT  NUMBER,
      W_INSERT_DT           DATE,
      TIME_WID              VARCHAR2(29 BYTE),
      DAY_NUM_OF_WEEK       NUMBER,
      MONTH_END_DT          DATE,
      QUARTER_NUM_OF_YEAR   NUMBER,
      YEAR_END_DT           DATE,
      ETL_PROC_WID          VARCHAR2(100 BYTE),
      DATASOURCE_NUM_ID     INTEGER,
      INTEGRATION_ID        VARCHAR2(100 BYTE)
    Insert into W_ORDERS_F
       (ROW_WID, INVOICE_NUMBER, INVOICE_DT, CREATED_BY, CREATED_ON_DT, LAST_UPDATE_DT, PRODUCT_WID_SKEY, PRICE_PER_UNIT, OTY_ORDERED, TOT_PRICE_BY_PRODUCT, W_INSERT_DT, TIME_WID, DAY_NUM_OF_WEEK, MONTH_END_DT, QUARTER_NUM_OF_YEAR, YEAR_END_DT, ETL_PROC_WID, DATASOURCE_NUM_ID, INTEGRATION_ID)
    Values
       (1, 10, TO_DATE('05/28/2013 00:00:00', 'MM/DD/YYYY HH24:MI:SS'), 19, TO_DATE('05/28/2013 00:00:00', 'MM/DD/YYYY HH24:MI:SS'), TO_DATE('05/28/2013 00:00:00', 'MM/DD/YYYY HH24:MI:SS'), -8, 8, 10, 80, TO_DATE('06/19/2013 12:17:41', 'MM/DD/YYYY HH24:MI:SS'), '05282013', 3, TO_DATE('05/31/2013 00:00:00', 'MM/DD/YYYY HH24:MI:SS'), 2, TO_DATE('12/31/2013 00:00:00', 'MM/DD/YYYY HH24:MI:SS'), '22858060', 1, '10~');
    Insert into W_ORDERS_F
       (ROW_WID, INVOICE_NUMBER, INVOICE_DT, CREATED_BY, CREATED_ON_DT, LAST_UPDATE_DT, PRODUCT_WID_SKEY, PRICE_PER_UNIT, OTY_ORDERED, TOT_PRICE_BY_PRODUCT, W_INSERT_DT, TIME_WID, DAY_NUM_OF_WEEK, MONTH_END_DT, QUARTER_NUM_OF_YEAR, YEAR_END_DT, ETL_PROC_WID, DATASOURCE_NUM_ID, INTEGRATION_ID)
    Values
       (2, 10, TO_DATE('05/28/2013 00:00:00', 'MM/DD/YYYY HH24:MI:SS'), 19, TO_DATE('05/28/2013 00:00:00', 'MM/DD/YYYY HH24:MI:SS'), TO_DATE('05/28/2013 00:00:00', 'MM/DD/YYYY HH24:MI:SS'), 4, 25, 10, 250, TO_DATE('06/19/2013 12:17:41', 'MM/DD/YYYY HH24:MI:SS'), '05282013', 3, TO_DATE('05/31/2013 00:00:00', 'MM/DD/YYYY HH24:MI:SS'), 2, TO_DATE('12/31/2013 00:00:00', 'MM/DD/YYYY HH24:MI:SS'), '22858060', 1, '10~');
    Insert into W_ORDERS_F
       (ROW_WID, INVOICE_NUMBER, INVOICE_DT, CREATED_BY, CREATED_ON_DT, LAST_UPDATE_DT, PRODUCT_WID_SKEY, PRICE_PER_UNIT, OTY_ORDERED, TOT_PRICE_BY_PRODUCT, W_INSERT_DT, TIME_WID, DAY_NUM_OF_WEEK, MONTH_END_DT, QUARTER_NUM_OF_YEAR, YEAR_END_DT, ETL_PROC_WID, DATASOURCE_NUM_ID, INTEGRATION_ID)
    Values
       (3, 11, TO_DATE('05/28/2013 00:00:00', 'MM/DD/YYYY HH24:MI:SS'), 20, TO_DATE('05/28/2013 00:00:00', 'MM/DD/YYYY HH24:MI:SS'), TO_DATE('05/28/2013 00:00:00', 'MM/DD/YYYY HH24:MI:SS'), 8, 9, 10, 90, TO_DATE('06/19/2013 12:17:41', 'MM/DD/YYYY HH24:MI:SS'), '05282013', 3, TO_DATE('05/31/2013 00:00:00', 'MM/DD/YYYY HH24:MI:SS'), 2, TO_DATE('12/31/2013 00:00:00', 'MM/DD/YYYY HH24:MI:SS'), '22858060', 1, '11~');
    Insert into W_ORDERS_F
       (ROW_WID, INVOICE_NUMBER, INVOICE_DT, CREATED_BY, CREATED_ON_DT, LAST_UPDATE_DT, PRODUCT_WID_SKEY, PRICE_PER_UNIT, OTY_ORDERED, TOT_PRICE_BY_PRODUCT, W_INSERT_DT, TIME_WID, DAY_NUM_OF_WEEK, MONTH_END_DT, QUARTER_NUM_OF_YEAR, YEAR_END_DT, ETL_PROC_WID, DATASOURCE_NUM_ID, INTEGRATION_ID)
    Values
       (4, 12, TO_DATE('05/28/2013 00:00:00', 'MM/DD/YYYY HH24:MI:SS'), 21, TO_DATE('05/28/2013 00:00:00', 'MM/DD/YYYY HH24:MI:SS'), TO_DATE('05/28/2013 00:00:00', 'MM/DD/YYYY HH24:MI:SS'), 7, 10, 10, 100, TO_DATE('06/19/2013 12:17:41', 'MM/DD/YYYY HH24:MI:SS'), '05282013', 3, TO_DATE('05/31/2013 00:00:00', 'MM/DD/YYYY HH24:MI:SS'), 2, TO_DATE('12/31/2013 00:00:00', 'MM/DD/YYYY HH24:MI:SS'), '22858060', 1, '12~');
    Insert into W_ORDERS_F
       (ROW_WID, INVOICE_NUMBER, INVOICE_DT, CREATED_BY, CREATED_ON_DT, LAST_UPDATE_DT, PRODUCT_WID_SKEY, PRICE_PER_UNIT, OTY_ORDERED, TOT_PRICE_BY_PRODUCT, W_INSERT_DT, TIME_WID, DAY_NUM_OF_WEEK, MONTH_END_DT, QUARTER_NUM_OF_YEAR, YEAR_END_DT, ETL_PROC_WID, DATASOURCE_NUM_ID, INTEGRATION_ID)
    Values
       (5, 13, TO_DATE('05/28/2013 00:00:00', 'MM/DD/YYYY HH24:MI:SS'), 22, TO_DATE('05/28/2013 00:00:00', 'MM/DD/YYYY HH24:MI:SS'), TO_DATE('05/28/2013 00:00:00', 'MM/DD/YYYY HH24:MI:SS'), 7, 10, 10, 100, TO_DATE('06/19/2013 12:17:41', 'MM/DD/YYYY HH24:MI:SS'), '05282013', 3, TO_DATE('05/31/2013 00:00:00', 'MM/DD/YYYY HH24:MI:SS'), 2, TO_DATE('12/31/2013 00:00:00', 'MM/DD/YYYY HH24:MI:SS'), '22858060', 1, '13~');
    Insert into W_ORDERS_F
       (ROW_WID, INVOICE_NUMBER, INVOICE_DT, CREATED_BY, CREATED_ON_DT, LAST_UPDATE_DT, PRODUCT_WID_SKEY, PRICE_PER_UNIT, OTY_ORDERED, TOT_PRICE_BY_PRODUCT, W_INSERT_DT, TIME_WID, DAY_NUM_OF_WEEK, MONTH_END_DT, QUARTER_NUM_OF_YEAR, YEAR_END_DT, ETL_PROC_WID, DATASOURCE_NUM_ID, INTEGRATION_ID)
    Values
       (6, 14, TO_DATE('05/28/2013 00:00:00', 'MM/DD/YYYY HH24:MI:SS'), 23, TO_DATE('05/28/2013 00:00:00', 'MM/DD/YYYY HH24:MI:SS'), TO_DATE('05/28/2013 00:00:00', 'MM/DD/YYYY HH24:MI:SS'), -8, 8, 20, 160, TO_DATE('06/19/2013 12:17:41', 'MM/DD/YYYY HH24:MI:SS'), '05282013', 3, TO_DATE('05/31/2013 00:00:00', 'MM/DD/YYYY HH24:MI:SS'), 2, TO_DATE('12/31/2013 00:00:00', 'MM/DD/YYYY HH24:MI:SS'), '22858060', 1, '14~');
    Insert into W_ORDERS_F
       (ROW_WID, INVOICE_NUMBER, INVOICE_DT, CREATED_BY, CREATED_ON_DT, LAST_UPDATE_DT, PRODUCT_WID_SKEY, PRICE_PER_UNIT, OTY_ORDERED, TOT_PRICE_BY_PRODUCT, W_INSERT_DT, TIME_WID, DAY_NUM_OF_WEEK, MONTH_END_DT, QUARTER_NUM_OF_YEAR, YEAR_END_DT, ETL_PROC_WID, DATASOURCE_NUM_ID, INTEGRATION_ID)
    Values
       (7, 15, TO_DATE('05/28/2013 00:00:00', 'MM/DD/YYYY HH24:MI:SS'), 19, TO_DATE('05/28/2013 00:00:00', 'MM/DD/YYYY HH24:MI:SS'), TO_DATE('05/28/2013 00:00:00', 'MM/DD/YYYY HH24:MI:SS'), 4, 25, 5, 125, TO_DATE('06/19/2013 12:17:41', 'MM/DD/YYYY HH24:MI:SS'), '05282013', 3, TO_DATE('05/31/2013 00:00:00', 'MM/DD/YYYY HH24:MI:SS'), 2, TO_DATE('12/31/2013 00:00:00', 'MM/DD/YYYY HH24:MI:SS'), '22858060', 1, '15~');
    Insert into W_ORDERS_F
       (ROW_WID, INVOICE_NUMBER, INVOICE_DT, CREATED_BY, CREATED_ON_DT, LAST_UPDATE_DT, PRODUCT_WID_SKEY, PRICE_PER_UNIT, OTY_ORDERED, TOT_PRICE_BY_PRODUCT, W_INSERT_DT, TIME_WID, DAY_NUM_OF_WEEK, MONTH_END_DT, QUARTER_NUM_OF_YEAR, YEAR_END_DT, ETL_PROC_WID, DATASOURCE_NUM_ID, INTEGRATION_ID)
    Values
       (8, 15, TO_DATE('05/28/2013 00:00:00', 'MM/DD/YYYY HH24:MI:SS'), 19, TO_DATE('05/28/2013 00:00:00', 'MM/DD/YYYY HH24:MI:SS'), TO_DATE('05/28/2013 00:00:00', 'MM/DD/YYYY HH24:MI:SS'), 8, 9, 5, 45, TO_DATE('06/19/2013 12:17:41', 'MM/DD/YYYY HH24:MI:SS'), '05282013', 3, TO_DATE('05/31/2013 00:00:00', 'MM/DD/YYYY HH24:MI:SS'), 2, TO_DATE('12/31/2013 00:00:00', 'MM/DD/YYYY HH24:MI:SS'), '22858060', 1, '15~');
    Insert into W_ORDERS_F
       (ROW_WID, INVOICE_NUMBER, INVOICE_DT, CREATED_BY, CREATED_ON_DT, LAST_UPDATE_DT, PRODUCT_WID_SKEY, PRICE_PER_UNIT, OTY_ORDERED, TOT_PRICE_BY_PRODUCT, W_INSERT_DT, TIME_WID, DAY_NUM_OF_WEEK, MONTH_END_DT, QUARTER_NUM_OF_YEAR, YEAR_END_DT, ETL_PROC_WID, DATASOURCE_NUM_ID, INTEGRATION_ID)
    Values
       (9, 15, TO_DATE('05/28/2013 00:00:00', 'MM/DD/YYYY HH24:MI:SS'), 19, TO_DATE('05/28/2013 00:00:00', 'MM/DD/YYYY HH24:MI:SS'), TO_DATE('05/28/2013 00:00:00', 'MM/DD/YYYY HH24:MI:SS'), 7, 10, 5, 50, TO_DATE('06/19/2013 12:17:41', 'MM/DD/YYYY HH24:MI:SS'), '05282013', 3, TO_DATE('05/31/2013 00:00:00', 'MM/DD/YYYY HH24:MI:SS'), 2, TO_DATE('12/31/2013 00:00:00', 'MM/DD/YYYY HH24:MI:SS'), '22858060', 1, '15~');
    Insert into W_ORDERS_F
       (ROW_WID, INVOICE_NUMBER, INVOICE_DT, CREATED_BY, CREATED_ON_DT, LAST_UPDATE_DT, PRODUCT_WID_SKEY, PRICE_PER_UNIT, OTY_ORDERED, TOT_PRICE_BY_PRODUCT, W_INSERT_DT, TIME_WID, DAY_NUM_OF_WEEK, MONTH_END_DT, QUARTER_NUM_OF_YEAR, YEAR_END_DT, ETL_PROC_WID, DATASOURCE_NUM_ID, INTEGRATION_ID)
    Values
       (10, 15, TO_DATE('05/28/2013 00:00:00', 'MM/DD/YYYY HH24:MI:SS'), 19, TO_DATE('05/28/2013 00:00:00', 'MM/DD/YYYY HH24:MI:SS'), TO_DATE('05/28/2013 00:00:00', 'MM/DD/YYYY HH24:MI:SS'), -8, 8, 5, 40, TO_DATE('06/19/2013 12:17:41', 'MM/DD/YYYY HH24:MI:SS'), '05282013', 3, TO_DATE('05/31/2013 00:00:00', 'MM/DD/YYYY HH24:MI:SS'), 2, TO_DATE('12/31/2013 00:00:00', 'MM/DD/YYYY HH24:MI:SS'), '22858060', 1, '15~');
    Insert into W_ORDERS_F
       (ROW_WID, INVOICE_NUMBER, INVOICE_DT, CREATED_BY, CREATED_ON_DT, LAST_UPDATE_DT, PRODUCT_WID_SKEY, PRICE_PER_UNIT, OTY_ORDERED, TOT_PRICE_BY_PRODUCT, W_INSERT_DT, TIME_WID, DAY_NUM_OF_WEEK, MONTH_END_DT, QUARTER_NUM_OF_YEAR, YEAR_END_DT, ETL_PROC_WID, DATASOURCE_NUM_ID, INTEGRATION_ID)
    Values
       (11, 16, TO_DATE('05/28/2013 00:00:00', 'MM/DD/YYYY HH24:MI:SS'), 22, TO_DATE('05/28/2013 00:00:00', 'MM/DD/YYYY HH24:MI:SS'), TO_DATE('06/14/2013 00:00:00', 'MM/DD/YYYY HH24:MI:SS'), 5, 10, 15, 150, TO_DATE('06/19/2013 12:17:41', 'MM/DD/YYYY HH24:MI:SS'), '05282013', 3, TO_DATE('05/31/2013 00:00:00', 'MM/DD/YYYY HH24:MI:SS'), 2, TO_DATE('12/31/2013 00:00:00', 'MM/DD/YYYY HH24:MI:SS'), '22858060', 1, '16~');
    Insert into W_ORDERS_F
       (ROW_WID, INVOICE_NUMBER, INVOICE_DT, CREATED_BY, CREATED_ON_DT, LAST_UPDATE_DT, PRODUCT_WID_SKEY, PRICE_PER_UNIT, OTY_ORDERED, TOT_PRICE_BY_PRODUCT, W_INSERT_DT, TIME_WID, DAY_NUM_OF_WEEK, MONTH_END_DT, QUARTER_NUM_OF_YEAR, YEAR_END_DT, ETL_PROC_WID, DATASOURCE_NUM_ID, INTEGRATION_ID)
    Values
       (12, 16, TO_DATE('05/28/2013 00:00:00', 'MM/DD/YYYY HH24:MI:SS'), 22, TO_DATE('05/28/2013 00:00:00', 'MM/DD/YYYY HH24:MI:SS'), TO_DATE('06/14/2013 00:00:00', 'MM/DD/YYYY HH24:MI:SS'), -8, 8, 25, 200, TO_DATE('06/19/2013 12:17:41', 'MM/DD/YYYY HH24:MI:SS'), '05282013', 3, TO_DATE('05/31/2013 00:00:00', 'MM/DD/YYYY HH24:MI:SS'), 2, TO_DATE('12/31/2013 00:00:00', 'MM/DD/YYYY HH24:MI:SS'), '22858060', 1, '16~');
    Insert into W_ORDERS_F
       (ROW_WID, INVOICE_NUMBER, INVOICE_DT, CREATED_BY, CREATED_ON_DT, LAST_UPDATE_DT, PRODUCT_WID_SKEY, PRICE_PER_UNIT, OTY_ORDERED, TOT_PRICE_BY_PRODUCT, W_INSERT_DT, TIME_WID, DAY_NUM_OF_WEEK, MONTH_END_DT, QUARTER_NUM_OF_YEAR, YEAR_END_DT, ETL_PROC_WID, DATASOURCE_NUM_ID, INTEGRATION_ID)
    Values
       (13, 16, TO_DATE('05/28/2013 00:00:00', 'MM/DD/YYYY HH24:MI:SS'), 22, TO_DATE('05/28/2013 00:00:00', 'MM/DD/YYYY HH24:MI:SS'), TO_DATE('06/14/2013 00:00:00', 'MM/DD/YYYY HH24:MI:SS'), 6, 1, 55, 55, TO_DATE('06/19/2013 12:17:41', 'MM/DD/YYYY HH24:MI:SS'), '05282013', 3, TO_DATE('05/31/2013 00:00:00', 'MM/DD/YYYY HH24:MI:SS'), 2, TO_DATE('12/31/2013 00:00:00', 'MM/DD/YYYY HH24:MI:SS'), '22858060', 1, '16~');
    Insert into W_ORDERS_F
       (ROW_WID, INVOICE_NUMBER, INVOICE_DT, CREATED_BY, CREATED_ON_DT, LAST_UPDATE_DT, PRODUCT_WID_SKEY, PRICE_PER_UNIT, OTY_ORDERED, TOT_PRICE_BY_PRODUCT, W_INSERT_DT, TIME_WID, DAY_NUM_OF_WEEK, MONTH_END_DT, QUARTER_NUM_OF_YEAR, YEAR_END_DT, ETL_PROC_WID, DATASOURCE_NUM_ID, INTEGRATION_ID)
    Values
       (14, 16, TO_DATE('05/28/2013 00:00:00', 'MM/DD/YYYY HH24:MI:SS'), 22, TO_DATE('05/28/2013 00:00:00', 'MM/DD/YYYY HH24:MI:SS'), TO_DATE('06/14/2013 00:00:00', 'MM/DD/YYYY HH24:MI:SS'), 7, 10, 55, 550, TO_DATE('06/19/2013 12:17:41', 'MM/DD/YYYY HH24:MI:SS'), '05282013', 3, TO_DATE('05/31/2013 00:00:00', 'MM/DD/YYYY HH24:MI:SS'), 2, TO_DATE('12/31/2013 00:00:00', 'MM/DD/YYYY HH24:MI:SS'), '22858060', 1, '16~');
    Insert into W_ORDERS_F
       (ROW_WID, INVOICE_NUMBER, INVOICE_DT, CREATED_BY, CREATED_ON_DT, LAST_UPDATE_DT, PRODUCT_WID_SKEY, PRICE_PER_UNIT, OTY_ORDERED, TOT_PRICE_BY_PRODUCT, W_INSERT_DT, TIME_WID, DAY_NUM_OF_WEEK, MONTH_END_DT, QUARTER_NUM_OF_YEAR, YEAR_END_DT, ETL_PROC_WID, DATASOURCE_NUM_ID, INTEGRATION_ID)
    Values
       (15, 17, TO_DATE('06/14/2013 00:00:00', 'MM/DD/YYYY HH24:MI:SS'), 22, TO_DATE('06/14/2013 00:00:00', 'MM/DD/YYYY HH24:MI:SS'), TO_DATE('06/14/2013 00:00:00', 'MM/DD/YYYY HH24:MI:SS'), -8, 8, 10, 80, TO_DATE('06/19/2013 12:17:41', 'MM/DD/YYYY HH24:MI:SS'), '06142013', 6, TO_DATE('06/30/2013 00:00:00', 'MM/DD/YYYY HH24:MI:SS'), 2, TO_DATE('12/31/2013 00:00:00', 'MM/DD/YYYY HH24:MI:SS'), '22858060', 1, '17~');
    Insert into W_ORDERS_F
       (ROW_WID, INVOICE_NUMBER, INVOICE_DT, CREATED_BY, CREATED_ON_DT, LAST_UPDATE_DT, PRODUCT_WID_SKEY, PRICE_PER_UNIT, OTY_ORDERED, TOT_PRICE_BY_PRODUCT, W_INSERT_DT, TIME_WID, DAY_NUM_OF_WEEK, MONTH_END_DT, QUARTER_NUM_OF_YEAR, YEAR_END_DT, ETL_PROC_WID, DATASOURCE_NUM_ID, INTEGRATION_ID)
    Values
       (16, 17, TO_DATE('06/14/2013 00:00:00', 'MM/DD/YYYY HH24:MI:SS'), 22, TO_DATE('06/14/2013 00:00:00', 'MM/DD/YYYY HH24:MI:SS'), TO_DATE('06/14/2013 00:00:00', 'MM/DD/YYYY HH24:MI:SS'), 1, 10, 10, 100, TO_DATE('06/19/2013 12:17:41', 'MM/DD/YYYY HH24:MI:SS'), '06142013', 6, TO_DATE('06/30/2013 00:00:00', 'MM/DD/YYYY HH24:MI:SS'), 2, TO_DATE('12/31/2013 00:00:00', 'MM/DD/YYYY HH24:MI:SS'), '22858060', 1, '17~');
    Insert into W_ORDERS_F
       (ROW_WID, INVOICE_NUMBER, INVOICE_DT, CREATED_BY, CREATED_ON_DT, LAST_UPDATE_DT, PRODUCT_WID_SKEY, PRICE_PER_UNIT, OTY_ORDERED, TOT_PRICE_BY_PRODUCT, W_INSERT_DT, TIME_WID, DAY_NUM_OF_WEEK, MONTH_END_DT, QUARTER_NUM_OF_YEAR, YEAR_END_DT, ETL_PROC_WID, DATASOURCE_NUM_ID, INTEGRATION_ID)
    Values
       (17, 18, TO_DATE('06/14/2013 00:00:00', 'MM/DD/YYYY HH24:MI:SS'), 19, TO_DATE('06/14/2013 00:00:00', 'MM/DD/YYYY HH24:MI:SS'), TO_DATE('06/14/2013 00:00:00', 'MM/DD/YYYY HH24:MI:SS'), -8, 8, 10, 80, TO_DATE('06/19/2013 12:17:41', 'MM/DD/YYYY HH24:MI:SS'), '06142013', 6, TO_DATE('06/30/2013 00:00:00', 'MM/DD/YYYY HH24:MI:SS'), 2, TO_DATE('12/31/2013 00:00:00', 'MM/DD/YYYY HH24:MI:SS'), '22858060', 1, '18~');
    Insert into W_ORDERS_F
       (ROW_WID, INVOICE_NUMBER, INVOICE_DT, CREATED_BY, CREATED_ON_DT, LAST_UPDATE_DT, PRODUCT_WID_SKEY, PRICE_PER_UNIT, OTY_ORDERED, TOT_PRICE_BY_PRODUCT, W_INSERT_DT, TIME_WID, DAY_NUM_OF_WEEK, MONTH_END_DT, QUARTER_NUM_OF_YEAR, YEAR_END_DT, ETL_PROC_WID, DATASOURCE_NUM_ID, INTEGRATION_ID)
    Values
       (18, 18, TO_DATE('06/14/2013 00:00:00', 'MM/DD/YYYY HH24:MI:SS'), 19, TO_DATE('06/14/2013 00:00:00', 'MM/DD/YYYY HH24:MI:SS'), TO_DATE('06/14/2013 00:00:00', 'MM/DD/YYYY HH24:MI:SS'), 1, 10, 10, 100, TO_DATE('06/19/2013 12:17:41', 'MM/DD/YYYY HH24:MI:SS'), '06142013', 6, TO_DATE('06/30/2013 00:00:00', 'MM/DD/YYYY HH24:MI:SS'), 2, TO_DATE('12/31/2013 00:00:00', 'MM/DD/YYYY HH24:MI:SS'), '22858060', 1, '18~');
    Insert into W_ORDERS_F
       (ROW_WID, INVOICE_NUMBER, INVOICE_DT, CREATED_BY, CREATED_ON_DT, LAST_UPDATE_DT, PRODUCT_WID_SKEY, PRICE_PER_UNIT, OTY_ORDERED, TOT_PRICE_BY_PRODUCT, W_INSERT_DT, TIME_WID, DAY_NUM_OF_WEEK, MONTH_END_DT, QUARTER_NUM_OF_YEAR, YEAR_END_DT, ETL_PROC_WID, DATASOURCE_NUM_ID, INTEGRATION_ID)
    Values
       (19, 19, TO_DATE('06/14/2013 00:00:00', 'MM/DD/YYYY HH24:MI:SS'), 19, TO_DATE('06/14/2013 00:00:00', 'MM/DD/YYYY HH24:MI:SS'), TO_DATE('06/14/2013 00:00:00', 'MM/DD/YYYY HH24:MI:SS'), 5, 10, 10, 100, TO_DATE('06/19/2013 12:17:41', 'MM/DD/YYYY HH24:MI:SS'), '06142013', 6, TO_DATE('06/30/2013 00:00:00', 'MM/DD/YYYY HH24:MI:SS'), 2, TO_DATE('12/31/2013 00:00:00', 'MM/DD/YYYY HH24:MI:SS'), '22858060', 1, '19~');
    Insert into W_ORDERS_F
       (ROW_WID, INVOICE_NUMBER, INVOICE_DT, CREATED_BY, CREATED_ON_DT, LAST_UPDATE_DT, PRODUCT_WID_SKEY, PRICE_PER_UNIT, OTY_ORDERED, TOT_PRICE_BY_PRODUCT, W_INSERT_DT, TIME_WID, DAY_NUM_OF_WEEK, MONTH_END_DT, QUARTER_NUM_OF_YEAR, YEAR_END_DT, ETL_PROC_WID, DATASOURCE_NUM_ID, INTEGRATION_ID)
    Values
       (20, 19, TO_DATE('06/14/2013 00:00:00', 'MM/DD/YYYY HH24:MI:SS'), 19, TO_DATE('06/14/2013 00:00:00', 'MM/DD/YYYY HH24:MI:SS'), TO_DATE('06/14/2013 00:00:00', 'MM/DD/YYYY HH24:MI:SS'), 6, 1, 10, 10, TO_DATE('06/19/2013 12:17:41', 'MM/DD/YYYY HH24:MI:SS'), '06142013', 6, TO_DATE('06/30/2013 00:00:00', 'MM/DD/YYYY HH24:MI:SS'), 2, TO_DATE('12/31/2013 00:00:00', 'MM/DD/YYYY HH24:MI:SS'), '22858060', 1, '19~');
    Insert into W_ORDERS_F
       (ROW_WID, INVOICE_NUMBER, INVOICE_DT, CREATED_BY, CREATED_ON_DT, LAST_UPDATE_DT, PRODUCT_WID_SKEY, PRICE_PER_UNIT, OTY_ORDERED, TOT_PRICE_BY_PRODUCT, W_INSERT_DT, TIME_WID, DAY_NUM_OF_WEEK, MONTH_END_DT, QUARTER_NUM_OF_YEAR, YEAR_END_DT, ETL_PROC_WID, DATASOURCE_NUM_ID, INTEGRATION_ID)
    Values
       (21, 20, TO_DATE('06/14/2013 00:00:00', 'MM/DD/YYYY HH24:MI:SS'), 20, TO_DATE('06/14/2013 00:00:00', 'MM/DD/YYYY HH24:MI:SS'), TO_DATE('06/14/2013 00:00:00', 'MM/DD/YYYY HH24:MI:SS'), 7, 10, 10, 100, TO_DATE('06/19/2013 12:17:41', 'MM/DD/YYYY HH24:MI:SS'), '06142013', 6, TO_DATE('06/30/2013 00:00:00', 'MM/DD/YYYY HH24:MI:SS'), 2, TO_DATE('12/31/2013 00:00:00', 'MM/DD/YYYY HH24:MI:SS'), '22858060', 1, '20~');
    Insert into W_ORDERS_F
       (ROW_WID, INVOICE_NUMBER, INVOICE_DT, CREATED_BY, CREATED_ON_DT, LAST_UPDATE_DT, PRODUCT_WID_SKEY, PRICE_PER_UNIT, OTY_ORDERED, TOT_PRICE_BY_PRODUCT, W_INSERT_DT, TIME_WID, DAY_NUM_OF_WEEK, MONTH_END_DT, QUARTER_NUM_OF_YEAR, YEAR_END_DT, ETL_PROC_WID, DATASOURCE_NUM_ID, INTEGRATION_ID)
    Values
       (22, 20, TO_DATE('06/14/2013 00:00:00', 'MM/DD/YYYY HH24:MI:SS'), 20, TO_DATE('06/14/2013 00:00:00', 'MM/DD/YYYY HH24:MI:SS'), TO_DATE('06/14/2013 00:00:00', 'MM/DD/YYYY HH24:MI:SS'), 8, 9, 10, 90, TO_DATE('06/19/2013 12:17:41', 'MM/DD/YYYY HH24:MI:SS'), '06142013', 6, TO_DATE('06/30/2013 00:00:00', 'MM/DD/YYYY HH24:MI:SS'), 2, TO_DATE('12/31/2013 00:00:00', 'MM/DD/YYYY HH24:MI:SS'), '22858060', 1, '20~');
    Insert into W_ORDERS_F
       (ROW_WID, INVOICE_NUMBER, INVOICE_DT, CREATED_BY, CREATED_ON_DT, LAST_UPDATE_DT, PRODUCT_WID_SKEY, PRICE_PER_UNIT, OTY_ORDERED, TOT_PRICE_BY_PRODUCT, W_INSERT_DT, TIME_WID, DAY_NUM_OF_WEEK, MONTH_END_DT, QUARTER_NUM_OF_YEAR, YEAR_END_DT, ETL_PROC_WID, DATASOURCE_NUM_ID, INTEGRATION_ID)
    Values
       (23, 21, TO_DATE('06/14/2013 00:00:00', 'MM/DD/YYYY HH24:MI:SS'), 21, TO_DATE('06/14/2013 00:00:00', 'MM/DD/YYYY HH24:MI:SS'), TO_DATE('06/14/2013 00:00:00', 'MM/DD/YYYY HH24:MI:SS'), 2, 5, 10, 50, TO_DATE('06/19/2013 12:17:41', 'MM/DD/YYYY HH24:MI:SS'), '06142013', 6, TO_DATE('06/30/2013 00:00:00', 'MM/DD/YYYY HH24:MI:SS'), 2, TO_DATE('12/31/2013 00:00:00', 'MM/DD/YYYY HH24:MI:SS'), '22858060', 1, '21~');
    Insert into W_ORDERS_F
       (ROW_WID, INVOICE_NUMBER, INVOICE_DT, CREATED_BY, CREATED_ON_DT, LAST_UPDATE_DT, PRODUCT_WID_SKEY, PRICE_PER_UNIT, OTY_ORDERED, TOT_PRICE_BY_PRODUCT, W_INSERT_DT, TIME_WID, DAY_NUM_OF_WEEK, MONTH_END_DT, QUARTER_NUM_OF_YEAR, YEAR_END_DT, ETL_PROC_WID, DATASOURCE_NUM_ID, INTEGRATION_ID)
    Values
       (24, 21, TO_DATE('06/14/2013 00:00:00', 'MM/DD/YYYY HH24:MI:SS'), 21, TO_DATE('06/14/2013 00:00:00', 'MM/DD/YYYY HH24:MI:SS'), TO_DATE('06/14/2013 00:00:00', 'MM/DD/YYYY HH24:MI:SS'), 4, 25, 10, 250, TO_DATE('06/19/2013 12:17:41', 'MM/DD/YYYY HH24:MI:SS'), '06142013', 6, TO_DATE('06/30/2013 00:00:00', 'MM/DD/YYYY HH24:MI:SS'), 2, TO_DATE('12/31/2013 00:00:00', 'MM/DD/YYYY HH24:MI:SS'), '22858060', 1, '21~');
    Insert into W_ORDERS_F
       (ROW_WID, INVOICE_NUMBER, INVOICE_DT, CREATED_BY, CREATED_ON_DT, LAST_UPDATE_DT, PRODUCT_WID_SKEY, PRICE_PER_UNIT, OTY_ORDERED, TOT_PRICE_BY_PRODUCT, W_INSERT_DT, TIME_WID, DAY_NUM_OF_WEEK, MONTH_END_DT, QUARTER_NUM_OF_YEAR, YEAR_END_DT, ETL_PROC_WID, DATASOURCE_NUM_ID, INTEGRATION_ID)
    Values
       (25, 21, TO_DATE('06/14/2013 00:00:00', 'MM/DD/YYYY HH24:MI:SS'), 21, TO_DATE('06/14/2013 00:00:00', 'MM/DD/YYYY HH24:MI:SS'), TO_DATE('06/14/2013 00:00:00', 'MM/DD/YYYY HH24:MI:SS'), 9, 1, 10, 10, TO_DATE('06/19/2013 12:17:41', 'MM/DD/YYYY HH24:MI:SS'), '06142013', 6, TO_DATE('06/30/2013 00:00:00', 'MM/DD/YYYY HH24:MI:SS'), 2, TO_DATE('12/31/2013 00:00:00', 'MM/DD/YYYY HH24:MI:SS'), '22858060', 1, '21~');
    Insert into W_ORDERS_F
       (ROW_WID, INVOICE_NUMBER, INVOICE_DT, CREATED_BY, CREATED_ON_DT, LAST_UPDATE_DT, PRODUCT_WID_SKEY, PRICE_PER_UNIT, OTY_ORDERED, TOT_PRICE_BY_PRODUCT, W_INSERT_DT, TIME_WID, DAY_NUM_OF_WEEK, MONTH_END_DT, QUARTER_NUM_OF_YEAR, YEAR_END_DT, ETL_PROC_WID, DATASOURCE_NUM_ID, INTEGRATION_ID)
    Values
       (26, 21, TO_DATE('06/14/2013 00:00:00', 'MM/DD/YYYY HH24:MI:SS'), 21, TO_DATE('06/14/2013 00:00:00', 'MM/DD/YYYY HH24:MI:SS'), TO_DATE('06/14/2013 00:00:00', 'MM/DD/YYYY HH24:MI:SS'), 10, 5, 5, 25, TO_DATE('06/19/2013 12:17:41', 'MM/DD/YYYY HH24:MI:SS'), '06142013', 6, TO_DATE('06/30/2013 00:00:00', 'MM/DD/YYYY HH24:MI:SS'), 2, TO_DATE('12/31/2013 00:00:00', 'MM/DD/YYYY HH24:MI:SS'), '22858060', 1, '21~');
    Insert into W_ORDERS_F
       (ROW_WID, INVOICE_NUMBER, INVOICE_DT, CREATED_BY, CREATED_ON_DT, LAST_UPDATE_DT, PRODUCT_WID_SKEY, PRICE_PER_UNIT, OTY_ORDERED, TOT_PRICE_BY_PRODUCT, W_INSERT_DT, TIME_WID, DAY_NUM_OF_WEEK, MONTH_END_DT, QUARTER_NUM_OF_YEAR, YEAR_END_DT, ETL_PROC_WID, DATASOURCE_NUM_ID, INTEGRATION_ID)
    Values
       (27, 24, TO_DATE('06/18/2013 00:00:00', 'MM/DD/YYYY HH24:MI:SS'), 22, TO_DATE('06/18/2013 00:00:00', 'MM/DD/YYYY HH24:MI:SS'), TO_DATE('06/18/2013 00:00:00', 'MM/DD/YYYY HH24:MI:SS'), -8, 8, 10, 80, TO_DATE('06/19/2013 12:17:41', 'MM/DD/YYYY HH24:MI:SS'), '06182013', 3, TO_DATE('06/30/2013 00:00:00', 'MM/DD/YYYY HH24:MI:SS'), 2, TO_DATE('12/31/2013 00:00:00', 'MM/DD/YYYY HH24:MI:SS'), '22858060', 1, '24~1');
    Insert into W_ORDERS_F
       (ROW_WID, INVOICE_NUMBER, INVOICE_DT, CREATED_BY, CREATED_ON_DT, LAST_UPDATE_DT, PRODUCT_WID_SKEY, PRICE_PER_UNIT, OTY_ORDERED, TOT_PRICE_BY_PRODUCT, W_INSERT_DT, TIME_WID, DAY_NUM_OF_WEEK, MONTH_END_DT, QUARTER_NUM_OF_YEAR, YEAR_END_DT, ETL_PROC_WID, DATASOURCE_NUM_ID, INTEGRATION_ID)
    Values
       (28, 24, TO_DATE('06/18/2013 00:00:00', 'MM/DD/YYYY HH24:MI:SS'), 22, TO_DATE('06/18/2013 00:00:00', 'MM/DD/YYYY HH24:MI:SS'), TO_DATE('06/18/2013 00:00:00', 'MM/DD/YYYY HH24:MI:SS'), 10, 5, 5, 25, TO_DATE('06/19/2013 12:17:41', 'MM/DD/YYYY HH24:MI:SS'), '06182013', 3, TO_DATE('06/30/2013 00:00:00', 'MM/DD/YYYY HH24:MI:SS'), 2, TO_DATE('12/31/2013 00:00:00', 'MM/DD/YYYY HH24:MI:SS'), '22858060', 1, '24~1');
    Insert into W_ORDERS_F
       (ROW_WID, INVOICE_NUMBER, INVOICE_DT, CREATED_BY, CREATED_ON_DT, LAST_UPDATE_DT, PRODUCT_WID_SKEY, PRICE_PER_UNIT, OTY_ORDERED, TOT_PRICE_BY_PRODUCT, W_INSERT_DT, TIME_WID, DAY_NUM_OF_WEEK, MONTH_END_DT, QUARTER_NUM_OF_YEAR, YEAR_END_DT, ETL_PROC_WID, DATASOURCE_NUM_ID, INTEGRATION_ID)
    Values
       (29, 23, TO_DATE('06/17/2013 00:00:00', 'MM/DD/YYYY HH24:MI:SS'), 22, TO_DATE('06/17/2013 00:00:00', 'MM/DD/YYYY HH24:MI:SS'), TO_DATE('06/17/2013 00:00:00', 'MM/DD/YYYY HH24:MI:SS'), 5, 10, 10, 100, TO_DATE('06/19/2013 12:17:41', 'MM/DD/YYYY HH24:MI:SS'), '06172013', 2, TO_DATE('06/30/2013 00:00:00', 'MM/DD/YYYY HH24:MI:SS'), 2, TO_DATE('12/31/2013 00:00:00', 'MM/DD/YYYY HH24:MI:SS'), '22858060', 1, '23~');
    Insert into W_ORDERS_F
       (ROW_WID, INVOICE_NUMBER, INVOICE_DT, CREATED_BY, CREATED_ON_DT, LAST_UPDATE_DT, PRODUCT_WID_SKEY, PRICE_PER_UNIT, OTY_ORDERED, TOT_PRICE_BY_PRODUCT, W_INSERT_DT, TIME_WID, DAY_NUM_OF_WEEK, MONTH_END_DT, QUARTER_NUM_OF_YEAR, YEAR_END_DT, ETL_PROC_WID, DATASOURCE_NUM_ID, INTEGRATION_ID)
    Values
       (30, 23, TO_DATE('06/17/2013 00:00:00', 'MM/DD/YYYY HH24:MI:SS'), 22, TO_DATE('06/17/2013 00:00:00', 'MM/DD/YYYY HH24:MI:SS'), TO_DATE('06/17/2013 00:00:00', 'MM/DD/YYYY HH24:MI:SS'), 6, 1, 10, 10, TO_DATE('06/19/2013 12:17:41', 'MM/DD/YYYY HH24:MI:SS'), '06172013', 2, TO_DATE('06/30/2013 00:00:00', 'MM/DD/YYYY HH24:MI:SS'), 2, TO_DATE('12/31/2013 00:00:00', 'MM/DD/YYYY HH24:MI:SS'), '22858060', 1, '23~');
    Insert into W_ORDERS_F
       (ROW_WID, INVOICE_NUMBER, INVOICE_DT, CREATED_BY, CREATED_ON_DT, LAST_UPDATE_DT, PRODUCT_WID_SKEY, PRICE_PER_UNIT, OTY_ORDERED, TOT_PRICE_BY_PRODUCT, W_INSERT_DT, TIME_WID, DAY_NUM_OF_WEEK, MONTH_END_DT, QUARTER_NUM_OF_YEAR, YEAR_END_DT, ETL_PROC_WID, DATASOURCE_NUM_ID, INTEGRATION_ID)
    Values
       (31, 22, TO_DATE('06/16/2013 00:00:00', 'MM/DD/YYYY HH24:MI:SS'), 23, TO_DATE('06/16/2013 00:00:00', 'MM/DD/YYYY HH24:MI:SS'), TO_DATE('06/16/2013 00:00:00', 'MM/DD/YYYY HH24:MI:SS'), -8, 8, 10, 80, TO_DATE('06/19/2013 12:17:41', 'MM/DD/YYYY HH24:MI:SS'), '06162013', 1, TO_DATE('06/30/2013 00:00:00', 'MM/DD/YYYY HH24:MI:SS'), 2, TO_DATE('12/31/2013 00:00:00', 'MM/DD/YYYY HH24:MI:SS'), '22858060', 1, '22~');
    Insert into W_ORDERS_F
       (ROW_WID, INVOICE_NUMBER, INVOICE_DT, CREATED_BY, CREATED_ON_DT, LAST_UPDATE_DT, PRODUCT_WID_SKEY, PRICE_PER_UNIT, OTY_ORDERED, TOT_PRICE_BY_PRODUCT, W_INSERT_DT, TIME_WID, DAY_NUM_OF_WEEK, MONTH_END_DT, QUARTER_NUM_OF_YEAR, YEAR_END_DT, ETL_PROC_WID, DATASOURCE_NUM_ID, INTEGRATION_ID)
    Values
       (32, 22, TO_DATE('06/16/2013 00:00:00', 'MM/DD/YYYY HH24:MI:SS'), 23, TO_DATE('06/16/2013 00:00:00', 'MM/DD/YYYY HH24:MI:SS'), TO_DATE('06/16/2013 00:00:00', 'MM/DD/YYYY HH24:MI:SS'), 4, 25, 10, 250, TO_DATE('06/19/2013 12:17:41', 'MM/DD/YYYY HH24:MI:SS'), '06162013', 1, TO_DATE('06/30/2013 00:00:00', 'MM/DD/YYYY HH24:MI:SS'), 2, TO_DATE('12/31/2013 00:00:00', 'MM/DD/YYYY HH24:MI:SS'), '22858060', 1, '22~');
    COMMIT;

    This works:
    select o_fs.invoice_number
           , o_fs.product_id o_fs_product_id
           , p_d.product_id p_d_product_id
           , p_d.row_wid_skey p_d_row_wid_skey
           , o_f.product_wid_skey
    from w_orders_fs o_fs
         , w_product_d  p_d
         , w_orders_f o_f
    where o_fs.invoice_number = 10
          and o_fs.product_id = p_d.product_id(+)
          and p_d.current_flg(+) = 'Y'
          and p_d.row_wid_skey = o_f.product_wid_skey(+)
          and o_f.invoice_number(+) = 10
    If you want to outer join to a table, you have to include a ( + ) on each of its columns in the where clause (or cope with them possibly being null). Personally, I find ANSI syntax easier to work with when dealing with outer joins:
    select o_fs.invoice_number
           , o_fs.product_id o_fs_product_id
           , p_d.product_id p_d_product_id
           , p_d.row_wid_skey p_d_row_wid_skey
           , o_f.product_wid_skey
    from w_orders_fs o_fs
    left outer join w_product_d  p_d
    on o_fs.product_id = p_d.product_id
    and p_d.current_flg = 'Y'
    left outer join w_orders_f o_f
    on p_d.row_wid_skey = o_f.product_wid_skey
    and o_f.invoice_number = 10
    where o_fs.invoice_number = 10

  • Left Outer Join Help...

    Hi Everyone,
    I am still in the process of learning SQL, and I am having trouble specifically with the the left outer join.  I normally join tables using equijoin's, but I am not getting the right data set returns, and thought the using a left or right outer join would resolve the problem...
    Here is my SQL that is working properly with 1 left outer join.  I am building the query slowly so in the next SQL you will see where I am seeing the error.  I don't expect you to understand the data and columns I am trying to join, I believe the problems I am experiencing are related to syntax, and I am hoping you can find where my syntax errors are.
    select
      s.name as "Screen Name",
      sv.view_name as "View Name",
      s_view.name
    from
      s_screen s,
      s_screen_view sv
      left outer join s_view
      ON (sv.view_name = s_view.name)
    where
      sv.screen_id = '1-866A-1X3LU' and
      s.row_id = sv.screen_id and
      s.repository_id = '1-866A-1' and
      s_view.repository_id = '1-866A-1';
    Here is the SQL where I am experiencing the following error...
    Error:
    ORA-00904: "SV"."VIEW_NAME": invalid identifier
    00904. 00000 -  "%s: invalid identifier"
    *Cause:   
    *Action:
    Error at Line: 14 Column: 7
    Problematic SQL:
    select
      s.name as "Screen Name",
      sv.view_name as "View Name",
      s_view.name,
      s_applet.name as Applet
      --a.name as "Applet Name"
    from
      s_screen s,
      s_screen_view sv,
      s_view_wtmpl_it wti
      left outer join s_view
      ON (sv.view_name = s_view.name)
      left outer join s_applet
      ON (wti.name = s_applet.name)
    where
      sv.screen_id = '1-866A-1X3LU' and
      s.row_id = sv.screen_id and
      s.repository_id = '1-866A-1' and
      s_view.repository_id = '1-866A-1';
    Thanks in advance for your help.
    Chris

    Hi,
    cjpicc11 wrote:
    What is an Oracle style join vs. ANSI join?
    Would this be Oracle Style or ANSI Join?
      left outer join s_view
      ON (sv.view_name = s_view.name)
      left outer join s_applet
    Would this be Oracle Style or ANSI Join?
    s.row_id = sv.screen_id
    "Oracle style" or "old style" joins have commas between tables in the FROM clause, and the join conditions are all in the WHERE clause.  They do not use the keywords JOIN or ON.
    ANSI style joins have the keyword JOIN between tables (sometimes accompanied by other keywords, such as LEFT, OUTER or CROSS), and the join conditions are given in the FROM clause, usually after the keyword ON.
    The first example you gave is an ANSI style join.  It has the JOIN keyword, not a comma, between tables.
    The second example you gave:
    s.row_id = sv.screen_id
    could be part of either.  It could occur in an ANSI join (in the FROM clause, after the keyword ON), or it could occur in an old-style join (in the WHERE clause).

Maybe you are looking for

  • Forever flashing amber - not working anymore

    I have a cat-5 running from my DSL modem into the time machine, then back out to my iMac. While the internet connection seems fine, time machine no longer works (isn't backing up) and isn't "findable" wirelessly by my laptop. It used to work fine...

  • Trouble with Apple TV Model A1378

    I bought this in late 2011 and it worked fine until the last few months.  Let me also say that I had to get the hard drive for my iMAC replaced recently.  I have a lot of photos in iPhoto - most of these come from the Internet - old, vintage photos. 

  • SAPMF02K

    Dear All We are trying to make the IBAN field required if bank country is SA. For this we are tryign to activate user exit SAPMF02K. But we check in this user exit field IBAN is not available in any of the table. if some one has use this user exit fo

  • What software do I need to install to play some games MacBook Pro Mid 2014

    Hello, what software do I need to install to play some games - MacBook Pro Mid 2014. Games like : Alan Wake, Assassin's Creed, Boarderlands 2, FarCry series, Crysis, etc.

  • How to set screen to face out

    I'm working on a project that ends with a white slide, which is being used as the fade out screen. But the client would like the second to the last slide (the last slide in the presentation) to fade out completely before transitioning to actual final