I inspected your log file and extracted the formatted generated SQL:
Query#1. Fetch ORDER_VW. This query returns 2 rows.
SELECT *
FROM
( SELECT a.*, rownum r___
FROM
( SELECT DISTINCT ...
FROM
(
(
( "VTX"."CUSTOMER_VW"
INNER JOIN "VTX"."ORDER_VW"
ON "VTX"."CUSTOMER_VW"."CUST_ID"="VTX"."ORDER_VW"."CUST_ID"
AND "VTX"."CUSTOMER_VW"."SETID"="VTX"."ORDER_VW"."CUST_SETID"
)
INNER JOIN "VTX"."ORDER_REQUISITION_VW"
ON "VTX"."ORDER_VW"."BUSINESS_UNIT"="VTX"."ORDER_REQUISITION_VW"."BUSINESS_UNIT"
AND "VTX"."ORDER_VW"."SO_ID"="VTX"."ORDER_REQUISITION_VW"."SO_ID"
)
INNER JOIN "VTX"."CUSTOMER_ADDRESS_VW"
ON "VTX"."CUSTOMER_ADDRESS_VW"."ADDRESS_SEQ_NUM"="VTX"."ORDER_REQUISITION_VW"."ADDRESS_SEQ_NUM"
AND "VTX"."CUSTOMER_ADDRESS_VW"."CUST_ID"="VTX"."ORDER_REQUISITION_VW"."CUST_ID"
AND "VTX"."CUSTOMER_ADDRESS_VW"."SETID"="VTX"."ORDER_REQUISITION_VW"."CUST_SETID"
)
WHERE
( UPPER("VTX"."CUSTOMER_VW"."NAME1") = :p1)
AND ( UPPER("VTX"."CUSTOMER_ADDRESS_VW"."COUNTRY") = :p2)
) a
WHERE rownum < :p6
)
WHERE r___ >=:p4
Parameter: :p1 : AnsiString. Length: 40. Precision: 0. Scale: 0. Direction: Input. Value: "WELLCARE HEALTH PLANS INC".
Parameter: :p2 : AnsiString. Length: 3. Precision: 0. Scale: 0. Direction: Input. Value: "USA".
Parameter: :p6 : Int32. Length: 0. Precision: 0. Scale: 0. Direction: Input. Value: 251.
Parameter: :p4 : Int32. Length: 0. Precision: 0. Scale: 0. Direction: Input. Value: 1.
Query#2. Get the CUSTOMER_VW for the fetched Orders. As you are filtering the Orders by the Customer name, it's natural that them both have the same Customer. That's why the SQL generated only filters on one Customer value.
SELECT ...
FROM "VTX"."CUSTOMER_VW"
WHERE ( ( (
"VTX"."CUSTOMER_VW"."CUST_ID" = :p1
AND "VTX"."CUSTOMER_VW"."SETID" = :p2)))
Parameter: :p1 : AnsiString. Length: 15. Precision: 0. Scale: 0. Direction: Input. Value: "9444896".
Parameter: :p2 : AnsiString. Length: 5. Precision: 0. Scale: 0. Direction: Input. Value: "SHARE".
Query#3. Get the ORDER_REQUISITION_VW for the fetched Orders. Here as expected, it filters the 1:n ORDER_REQUISITION_VW based on the two fetched orders. This query might returns any number of records: 0,1,2,3,etc.
SELECT ...
FROM "VTX"."ORDER_REQUISITION_VW"
WHERE
( "VTX"."ORDER_REQUISITION_VW"."BUSINESS_UNIT" = :p1
AND "VTX"."ORDER_REQUISITION_VW"."SO_ID" = :p2
)
OR
( "VTX"."ORDER_REQUISITION_VW"."BUSINESS_UNIT" = :p3
AND "VTX"."ORDER_REQUISITION_VW"."SO_ID" = :p4
)
Parameter: :p1 : AnsiString. Length: 5. Precision: 0. Scale: 0. Direction: Input. Value: "10116".
Parameter: :p2 : AnsiString. Length: 15. Precision: 0. Scale: 0. Direction: Input. Value: "0000000869".
Parameter: :p3 : AnsiString. Length: 5. Precision: 0. Scale: 0. Direction: Input. Value: "10116".
Parameter: :p4 : AnsiString. Length: 15. Precision: 0. Scale: 0. Direction: Input. Value: "0000000873".
Query#4. This return the 1:1 CUSTOMER_ADDRESS_VW for each fetched ORDER_REQUISITION_VW. The parameters used depends on the number of ORDER_REQUISITION_VW fetched.
SELECT ...
FROM "VTX"."CUSTOMER_ADDRESS_VW"
WHERE
"VTX"."CUSTOMER_ADDRESS_VW"."ADDRESS_SEQ_NUM" = :p1
AND "VTX"."CUSTOMER_ADDRESS_VW"."CUST_ID" = :p2
AND "VTX"."CUSTOMER_ADDRESS_VW"."SETID" = :p3
Parameter: :p1 : Double. Length: 0. Precision: 38. Scale: 38. Direction: Input. Value: 21.
Parameter: :p2 : AnsiString. Length: 15. Precision: 0. Scale: 0. Direction: Input. Value: "9444896".
Parameter: :p3 : AnsiString. Length: 5. Precision: 0. Scale: 0. Direction: Input. Value: "SHARE".
For the query 3 and 4, the options are:
A. Query#3 returns 2 or more rows, but they share the same CUSTOMER_ADDRESS_VW. So as they points to the same address, the Query#4 needs to return only one customer.
B. Query#3 return 2 or more rows but for some of them there is no customer address. So the framework inspect that and fetch with Query#4 only the addresses that are present on the fetched ORDER_REQUISITION_VW rows.
With the information I have, I would tend to think that what is happening is B. To be sure, run Query#3 at SQLPlus and see how many records you get and for those records how many satisfy the ORDER_REQUISITION_VW--CUSTOMER_ADDRESS_VW relation.
BTW, Are you sure that ORDER_REQUISITION_VW--CUSTOMER_ADDRESS_VW is 1:1? How does look the DDL script for those two tables?
If you are sure that this is unexpected (i.e. a bug), please provide a repro solution (as I proposed to you at my previous post) so we can take a closer look at it.