Skip to Main Content

Oracle Database Discussions

Announcement

For appeals, questions and feedback about Oracle Forums, please email oracle-forums-moderators_us@oracle.com. Technical questions should be asked in the appropriate category. Thank you!

Simple SQL script returns different result set in different version of database (11g, 12c)

user8336357Mar 22 2018 — edited Apr 6 2018

I believe I encounter a bug in rdbms 12.1.0.2 which it is serious matter.
Oracle Database 11g Enterprise Edition Release 11.2.0.3.0 - 64bit Production
@bldcase.sql
@funny.sql

returns 9 records

in Oracle Database 12c Enterprise Edition Release 12.1.0.2.0 - 64bit Production
@bldcase.sql
@funny.sql

returns 1 records.

alter session set optimizer_features_enable='11.2.0.3'
@funny.sql
returns 9 records.
SO RESULTS ARE DIFFERENT IN DIFFERENT VERSION OF DATABASE. HOW COME???????????????
Here are the scripts:
-------------------------------------- Begin bldcase.sql --------------------------------------------------

create table FND_REQUEST_SETS_T

  ( USER_REQUEST_SET_NAME varchar(240),

    REQUEST_SET_ID number,

    APPLICATION_ID number );

insert into fnd_request_sets_t values ('Unifi ASN Process Set','744','20040');

insert into fnd_request_sets_t values ('Unifi Intercompany AP Invoices','784','20032');

insert into fnd_request_sets_t values ('Unifi Intercompany AR Invoices','794','20032');

insert into fnd_request_sets_t values ('Unifi Interorg Sales Exception','1342','20032');

insert into fnd_request_sets_t values ('Unifi Min Max Planning Report ','1511','20032');

insert into fnd_request_sets_t values ('Unifi Month End InterOrg Sales','1343','20032');

insert into fnd_request_sets_t values ('Unifi: Create Releases for DOM','787','20040');

insert into fnd_request_sets_t values ('Unifi: DOMS Inventory Reconcil','740','20032');

insert into fnd_request_sets_t values ('Unifi: DOMS Inventory Transact','741','20040');

create table fnd_request_group_units_t

( UNIT_APPLICATION_ID number,

   REQUEST_UNIT_ID number,

   REQUEST_UNIT_TYPE varchar2(1)

);

insert into fnd_request_group_units_t values ('20040','20040','A');

insert into fnd_request_group_units_t values ('20032','20032','A');

insert into fnd_request_group_units_t values ('20032','740','S');

commit;

--------------------------------------------- end bldcase.sql ------------------------------------------------

--------------------------------------- begin funny.sql -------------------------------------------------

SELECT

         substr(s.user_request_set_name,1,50) set_name,

         s.request_set_id,

         s.application_id

    FROM fnd_request_sets_t s

   WHERE (

                (s.application_id IN

                      (SELECT u.unit_application_id

                         FROM fnd_request_group_units_t u

                        WHERE u.request_unit_type = 'A'))

             OR

                (s.application_id, s.request_set_id) IN

                      (SELECT u.unit_application_id, u.request_unit_id

                         FROM fnd_request_group_units_t u

                        WHERE u.request_unit_type = 'S')

         )

ORDER BY  s.user_request_set_name

/

---------------------------------------- end funny.sql -----------------------------------------------------

By the way, the code is my debug drill down to the core problem from Oracle EBS Standard Forms which mean I cannot changed the code.

FNDRSRUN.fmb

in SETLOVDEF record group.

This post has been answered by user8336357 on Mar 23 2018
Jump to Answer
Comments
Locked Post
New comments cannot be posted to this locked post.
Post Details
Locked on Apr 20 2018
Added on Mar 22 2018
11 comments
348 views