Assistance Tuning Buffers

Hi Guys,
I would appreciate your assistance/recommendations with Buffer Tuning
Im experiencing high swapping on  Several Buffer as shown Below
Which considerations would you take for adjusting these buffers to optimal Values?
Do you estimate the parameters values by incrementing by 10-20% ? Or is there a better way to determine the best values.
Thanks a lot for your help.
Nametab -->Table Definition
Efficiency        HITRATIO          %          97
                   HITS                119.405.209
                   REQUESTS            123.408.979
                   DB access quality %          97
                   DB access             4.006.836
                   DB access saved     119.399.849
                   Reorgs                        0
Size              Allocated        KB       9.800
                   Available        KB       8.219
                   Used             KB       8.219
                   Free             KB           0
                   Free             KB           0
Directory entries Available                28.826
                   Used                     28.826
                   Free                          0
Swaps             Objects swapped       1.032.168
                   Frames swapped                0
Resets            Total                         0
Table definition buffer TTAB
rsdb/ntab/entrycount 28826      Max. number of table definitions buffered
Nametab-->Field Definition
Efficiency        HITRATIO          %        100
                  HITS                80.761.920
                  REQUESTS            81.137.309
                  DB access quality %        100
                  DB access              363.063
                  DB access saved     80.761.378
                  Reorgs                       0
Size              Allocated        KB     45.515
                  Available        KB     43.263
                  Used             KB     40.109
                  Free             KB      3.154
Directory entries Available               28.826
                  Used                     7.176
                  Free                    21.650
Swaps             Objects swapped        355.332
                  Frames swapped               0
Resets            Total                        0
rsdb/ntab/ftabsize   43263 kB   Size of field description buffer
Program
Efficiency        HITRATIO          %         100
                   HITS                385.544.192
                   REQUESTS            385.922.653
                   DB access quality %         100
                   DB access               653.940
                   DB access saved     565.109.488
                   Reorgs                        0
Size              Allocated        KB     400.000
                   Available        KB     370.780
                   Used             KB     369.428
                   Free             KB       1.352
                   Gaps             KB       1.303
Directory entries Available               100.000
                   Used                     10.385
                   Free                     89.615
Swaps             Objects swapped         206.098
                   Frames swapped                0
Resets            Total                         0
Program buffer PXA
abap/buffersize 400000 kB   Size of program buffer
abap/pxa        shared      Program buffer mode
Export/Import
Efficiency        HITRATIO          %         81
                   HITS                13.737.920
                   REQUESTS            16.906.841
                   DB access quality %        100
                   DB access                    0
                   DB access saved              0
                   Reorgs                       0
Size              Allocated        KB      4.096
                   Available        KB      3.375
                   Used             KB      2.757
                   Free             KB        253
Directory entries Available                2.000
                   Used                     1.031
                   Free                       969
Swaps             Objects swapped         32.476
                 Frames swapped         428.617*
Resets            Total                        0
Export/import buffer EIBUF
rsdb/obj/buffersize        4096  kB    Size of export/import buffer
rsdb/obj/max_objects       2000        Max. number of objects in the buffer
rsdb/obj/large_object_size 8192  Bytes Estimation for the size of the largest object
rsdb/obj/mutex_n           0           Number of mutexes in Export/Import buffer

Hi Martin,
Since 20GB set to MSSQL DB, you can reserve 3GB for system application, process, backup, external process and etc.
Therefore, you can allocate 27GB to SAP system.
You can allocate 22GB to PHYS_MEMSIZE, abap/buffersize to 1000000 and 30% to SAP buffer in ST02 where you noticed alot of SWAP. Also, you can allocate additional space to rdisp/ROLL_SHM and rdisp/PG_SHM if the percentage of "In Memory used" is around or more than 80%.
You can check based on the history usage in ST02.
However, try not the exceed the shared memory of 27GB for total memory assigned for SAP system, you can check at ST02 -> detailed analysis -> storage.
Cheers,
Nicholas Chang

Similar Messages

  • Query Tuning Assistance - part 1

    Predicate Information (identified by operation id):
    4 - access("FIN_TRANSACTION"."TRANSACTION_TYPE"="FIN_TRANSACTION_TYPE"."CODE")
    7 - access("A"."CURRENCY_CODE"="S1_CURRENCY"."CURRENCY_CODE")
    8 - access("S1_CURRENCY_A"."CURRENCY_CODE"="SA"."CURRENCY_CODE")
    17 - filter("FIN_AGING_ARG"."VENDOR_CUSTOMER_FLAG"='N' OR EXISTS (SELECT 0 FROM GRAINVTRC."FIN_AGING_ARG_VC" "TVC"
    WHERE "VENDOR_CUSTOMER_ID"=:B1 AND "TVC"."DAILY_REPORT_NBR"=:B2))
    20 - filter("FIN_AGING_ARG"."INVOICE_DATE_FLAG"='N')
    21 - access("FIN_AGING_ARG"."DAILY_REPORT_NBR"=36)
    22 - filter("FIN_INVOICE"."FINANCIAL_SOURCE"='A/P' AND ("FIN_INVOICE"."FINANCIAL_SOURCE"="FIN_AGING_ARG"."FINANCIAL_S
    OURCE" OR "FIN_AGING_ARG"."FINANCIAL_SOURCE"='APR') AND "FIN_INVOICE"."INVOICE_DATE"<="FIN_AGING_ARG"."AGING_DATE" AND
    ("FIN_AGING_ARG"."PLC_ID" IS NULL OR "FIN_INVOICE"."LOCATION_ID"="FIN_AGING_ARG"."PLC_ID" AND "FIN_AGING_ARG"."PLC_ID"
    IS NOT NULL) AND CASE WHEN (("FIN_AGING_ARG"."AGE_CREDIT_FLAG"='Y' AND "FIN_INVOICE"."ORIGINAL_AMOUNT"<0) OR
    "FIN_INVOICE"."ORIGINAL_AMOUNT">0) THEN CASE WHEN "FIN_AGING_ARG"."AGING_DATE"-"FIN_INVOICE"."DUE_DATE"<"FIN_AGING_ARG
    "."B_1"+1 THEN 1 WHEN "FIN_AGING_ARG"."AGING_DATE"-"FIN_INVOICE"."DUE_DATE"<"FIN_AGING_ARG"."B_2"+1 THEN 2 WHEN
    "FIN_AGING_ARG"."AGING_DATE"-"FIN_INVOICE"."DUE_DATE"<"FIN_AGING_ARG"."B_3"+1 THEN 3 WHEN
    "FIN_AGING_ARG"."AGING_DATE"-"FIN_INVOICE"."DUE_DATE"<"FIN_AGING_ARG"."B_4"+1 THEN 4 WHEN
    "FIN_AGING_ARG"."AGING_DATE"-"FIN_INVOICE"."DUE_DATE"<"FIN_AGING_ARG"."B_5"+1 THEN 5 ELSE 6 END ELSE 1 END >0)
    23 - filter("FIN_TRANSACTION"."INVOICE_NBR" IS NOT NULL AND
    "FIN_INVOICE"."INVOICE_NBR"="FIN_TRANSACTION"."INVOICE_NBR" AND ("FIN_AGING_ARG"."MAX_KEY"=0 OR
    "FIN_TRANSACTION"."TRANSACTION_NBR"<="FIN_AGING_ARG"."MAX_KEY"))
    24 - access("FIN_TRANSACTION"."TRANSACTION_NBR"= (SELECT MAX("TRANSACTION_NBR") FROM GRAINVTRC."FIN_TRANSACTION" "A"
    WHERE "A"."INVOICE_NBR"=:B1 AND "A"."TRANSACTION_DATE"<=:B2 AND ("A"."TRANSACTION_NBR"<=:B3 OR :B4=0)))
    26 - filter("A"."TRANSACTION_DATE"<=:B1 AND ("A"."TRANSACTION_NBR"<=:B2 OR :B3=0))
    27 - access("A"."INVOICE_NBR"=:B1)
    28 - access("TVC"."DAILY_REPORT_NBR"=:B1 AND "VENDOR_CUSTOMER_ID"=:B2)
    29 - filter("FIN_AGING_ARG"."VENDOR_CUSTOMER_FLAG"='N' OR EXISTS (SELECT 0 FROM GRAINVTRC."FIN_AGING_ARG_VC" "TVC"
    WHERE "VENDOR_CUSTOMER_ID"=:B1 AND "TVC"."DAILY_REPORT_NBR"=:B2))
    32 - filter("FIN_AGING_ARG"."INVOICE_DATE_FLAG"='Y')
    33 - access("FIN_AGING_ARG"."DAILY_REPORT_NBR"=36)
    34 - filter("FIN_INVOICE"."FINANCIAL_SOURCE"='A/P' AND ("FIN_INVOICE"."FINANCIAL_SOURCE"="FIN_AGING_ARG"."FINANCIAL_S
    OURCE" OR "FIN_AGING_ARG"."FINANCIAL_SOURCE"='APR') AND "FIN_INVOICE"."INVOICE_DATE"<="FIN_AGING_ARG"."AGING_DATE" AND
    ("FIN_AGING_ARG"."PLC_ID" IS NULL OR "FIN_INVOICE"."LOCATION_ID"="FIN_AGING_ARG"."PLC_ID" AND "FIN_AGING_ARG"."PLC_ID"
    IS NOT NULL) AND CASE WHEN (("FIN_AGING_ARG"."AGE_CREDIT_FLAG"='Y' AND "FIN_INVOICE"."ORIGINAL_AMOUNT"<0) OR
    "FIN_INVOICE"."ORIGINAL_AMOUNT">0) THEN CASE WHEN "FIN_AGING_ARG"."AGING_DATE"-"FIN_INVOICE"."INVOICE_DATE"<"FIN_AGING
    _ARG"."B_1"+1 THEN 1 WHEN "FIN_AGING_ARG"."AGING_DATE"-"FIN_INVOICE"."INVOICE_DATE"<"FIN_AGING_ARG"."B_2"+1 THEN 2
    WHEN "FIN_AGING_ARG"."AGING_DATE"-"FIN_INVOICE"."INVOICE_DATE"<"FIN_AGING_ARG"."B_3"+1 THEN 3 WHEN
    "FIN_AGING_ARG"."AGING_DATE"-"FIN_INVOICE"."INVOICE_DATE"<"FIN_AGING_ARG"."B_4"+1 THEN 4 WHEN
    "FIN_AGING_ARG"."AGING_DATE"-"FIN_INVOICE"."INVOICE_DATE"<"FIN_AGING_ARG"."B_5"+1 THEN 5 ELSE 6 END ELSE 1 END >0)
    35 - filter("FIN_TRANSACTION"."INVOICE_NBR" IS NOT NULL AND
    "FIN_INVOICE"."INVOICE_NBR"="FIN_TRANSACTION"."INVOICE_NBR" AND ("FIN_AGING_ARG"."MAX_KEY"=0 OR
    "FIN_TRANSACTION"."TRANSACTION_NBR"<="FIN_AGING_ARG"."MAX_KEY"))
    36 - access("FIN_TRANSACTION"."TRANSACTION_NBR"= (SELECT MAX("TRANSACTION_NBR") FROM GRAINVTRC."FIN_TRANSACTION" "A"
    WHERE "A"."INVOICE_NBR"=:B1 AND "A"."TRANSACTION_DATE"<=:B2 AND ("A"."TRANSACTION_NBR"<=:B3 OR :B4=0)))
    38 - filter("A"."TRANSACTION_DATE"<=:B1 AND ("A"."TRANSACTION_NBR"<=:B2 OR :B3=0))
    39 - access("A"."INVOICE_NBR"=:B1)
    40 - access("TVC"."DAILY_REPORT_NBR"=:B1 AND "VENDOR_CUSTOMER_ID"=:B2)
    41 - filter(("FIN_AGING_ARG"."VENDOR_CUSTOMER_FLAG"='N' OR EXISTS (SELECT 0 FROM GRAINVTRC."FIN_AGING_ARG_VC" "TVC"
    WHERE "VENDOR_CUSTOMER_ID"=:B1 AND "TVC"."DAILY_REPORT_NBR"=:B2)) AND EXISTS (SELECT 0 FROM
    GRAINVTRC."FIN_TRANSACTION" "A" WHERE "A"."INVOICE_NBR"=:B3 AND ("A"."TRANSACTION_NBR"<=:B4 OR :B5=0)))
    44 - access("FIN_AGING_ARG"."DAILY_REPORT_NBR"=36)
    45 - filter("FIN_INVOICE"."FINANCIAL_SOURCE"='A/P' AND ("FIN_INVOICE"."FINANCIAL_SOURCE"="FIN_AGING_ARG"."FINANCIAL_S
    OURCE" OR "FIN_AGING_ARG"."FINANCIAL_SOURCE"='APR') AND "FIN_INVOICE"."INVOICE_DATE">"FIN_AGING_ARG"."AGING_DATE" AND
    ("FIN_AGING_ARG"."PLC_ID" IS NULL OR "FIN_INVOICE"."LOCATION_ID"="FIN_AGING_ARG"."PLC_ID" AND "FIN_AGING_ARG"."PLC_ID"
    IS NOT NULL) AND ("FIN_INVOICE"."INVOICE_STATUS"<>'C' OR "FIN_AGING_ARG"."AGING_DATE"<="FIN_INVOICE"."LAST_TRANSACTION_
    DATE" OR "FIN_INVOICE"."BALANCE_FORWARD_PRINT_FLAG"<>'Y'))
    46 - access("TVC"."DAILY_REPORT_NBR"=:B1 AND "VENDOR_CUSTOMER_ID"=:B2)
    47 - filter("A"."TRANSACTION_NBR"<=:B1 OR :B2=0)
    48 - access("A"."INVOICE_NBR"=:B1)
    49 - filter(("FIN_AGING_ARG"."VENDOR_CUSTOMER_FLAG"='N' OR EXISTS (SELECT 0 FROM GRAINVTRC."FIN_AGING_ARG_VC" "TVC"
    WHERE "VENDOR_CUSTOMER_ID"=:B1 AND "TVC"."DAILY_REPORT_NBR"=:B2)) AND "FIN_TRANSACTION"."TRANSACTION_NBR"= (SELECT
    MAX("TRANSACTION_NBR") FROM GRAINVTRC."FIN_TRANSACTION" "A" WHERE "A"."PAYMENT_NBR"=:B3 AND
    "A"."TRANSACTION_DATE"<=:B4 AND ("A"."TRANSACTION_NBR"<=:B5 OR :B6=0)))
    50 - filter(NULL IS NOT NULL)
    51 - access("FIN_PAYMENT"."PAYMENT_NBR"="FIN_TRANSACTION"."PAYMENT_NBR")
    filter(("FIN_PAYMENT"."FINANCIAL_SOURCE"="FIN_AGING_ARG"."FINANCIAL_SOURCE" OR
    "FIN_AGING_ARG"."FINANCIAL_SOURCE"='APR') AND "FIN_PAYMENT"."PAYMENT_DATE"<="FIN_AGING_ARG"."AGING_DATE" AND
    ("FIN_AGING_ARG"."PLC_ID" IS NULL OR "FIN_AGING_ARG"."PLC_ID" IS NOT NULL AND
    "FIN_PAYMENT"."LOCATION_ID"="FIN_AGING_ARG"."PLC_ID" AND "FIN_PAYMENT"."LOCATION_ID" IS NOT NULL) AND CASE WHEN
    "FIN_AGING_ARG"."AGE_CREDIT_FLAG"='Y' THEN CASE WHEN "FIN_AGING_ARG"."AGING_DATE"-"FIN_PAYMENT"."PAYMENT_DATE"<"FIN_AG
    ING_ARG"."B_1"+1 THEN 1 WHEN "FIN_AGING_ARG"."AGING_DATE"-"FIN_PAYMENT"."PAYMENT_DATE"<"FIN_AGING_ARG"."B_2"+1 THEN 2
    WHEN "FIN_AGING_ARG"."AGING_DATE"-"FIN_PAYMENT"."PAYMENT_DATE"<"FIN_AGING_ARG"."B_3"+1 THEN 3 WHEN
    "FIN_AGING_ARG"."AGING_DATE"-"FIN_PAYMENT"."PAYMENT_DATE"<"FIN_AGING_ARG"."B_4"+1 THEN 4 WHEN
    "FIN_AGING_ARG"."AGING_DATE"-"FIN_PAYMENT"."PAYMENT_DATE"<"FIN_AGING_ARG"."B_5"+1 THEN 5 ELSE 6 END ELSE 1 END >0)
    52 - filter("FIN_PAYMENT"."FINANCIAL_SOURCE"='A/P' AND ("FIN_PAYMENT"."INTERNAL_FLAG"='N' OR
    "FIN_PAYMENT"."INTERNAL_FLAG"='Y' AND ("FIN_PAYMENT"."PAYMENT_TYPE"='C' OR "FIN_PAYMENT"."PAYMENT_TYPE"='N')))
    55 - access("FIN_AGING_ARG"."DAILY_REPORT_NBR"=36)
    56 - filter("FIN_TRANSACTION"."PAYMENT_NBR" IS NOT NULL AND ("FIN_AGING_ARG"."MAX_KEY"=0 OR
    "FIN_TRANSACTION"."TRANSACTION_NBR"<="FIN_AGING_ARG"."MAX_KEY"))
    57 - access("TVC"."DAILY_REPORT_NBR"=:B1 AND "VENDOR_CUSTOMER_ID"=:B2)
    59 - filter("A"."TRANSACTION_DATE"<=:B1 AND ("A"."TRANSACTION_NBR"<=:B2 OR :B3=0))
    60 - access("A"."PAYMENT_NBR"=:B1)
    61 - filter(("FIN_AGING_ARG"."VENDOR_CUSTOMER_FLAG"='N' OR EXISTS (SELECT 0 FROM GRAINVTRC."FIN_AGING_ARG_VC" "TVC"
    WHERE "VENDOR_CUSTOMER_ID"=:B1 AND "TVC"."DAILY_REPORT_NBR"=:B2)) AND EXISTS (SELECT 0 FROM
    GRAINVTRC."FIN_TRANSACTION" "A" WHERE "A"."PAYMENT_NBR"=:B3 AND ("A"."TRANSACTION_NBR"<=:B4 OR :B5=0)))
    62 - filter(NULL IS NOT NULL)
    65 - access("FIN_AGING_ARG"."DAILY_REPORT_NBR"=36)
    66 - filter("FIN_PAYMENT"."FINANCIAL_SOURCE"='A/P' AND ("FIN_PAYMENT"."INTERNAL_FLAG"='N' OR
    "FIN_PAYMENT"."INTERNAL_FLAG"='Y' AND ("FIN_PAYMENT"."PAYMENT_TYPE"='C' OR "FIN_PAYMENT"."PAYMENT_TYPE"='N')) AND
    ("FIN_PAYMENT"."FINANCIAL_SOURCE"="FIN_AGING_ARG"."FINANCIAL_SOURCE" OR "FIN_AGING_ARG"."FINANCIAL_SOURCE"='APR') AND
    ("UNAPPLIED_AMOUNT"<>0 OR "FIN_AGING_ARG"."AGING_DATE"<="LAST_TRANSACTION_DATE") AND ("FIN_AGING_ARG"."PLC_ID" IS NULL
    OR "FIN_AGING_ARG"."PLC_ID" IS NOT NULL AND "FIN_PAYMENT"."LOCATION_ID"="FIN_AGING_ARG"."PLC_ID" AND
    "FIN_PAYMENT"."LOCATION_ID" IS NOT NULL))
    67 - access("FIN_PAYMENT"."PAYMENT_DATE">"FIN_AGING_ARG"."AGING_DATE")
    68 - access("TVC"."DAILY_REPORT_NBR"=:B1 AND "VENDOR_CUSTOMER_ID"=:B2)
    69 - filter("A"."TRANSACTION_NBR"<=:B1 OR :B2=0)
    70 - access("A"."PAYMENT_NBR"=:B1)
    71 - filter("FIN_AGING_ARG"."VENDOR_CUSTOMER_FLAG"='N' OR EXISTS (SELECT 0 FROM GRAINVTRC."FIN_AGING_ARG_VC" "TVC"
    WHERE "VENDOR_CUSTOMER_ID"=:B1 AND "TVC"."DAILY_REPORT_NBR"=:B2))
    75 - filter("FIN_AGING_ARG"."INVOICE_DATE_FLAG"='N')
    76 - access("FIN_AGING_ARG"."DAILY_REPORT_NBR"=36)
    77 - filter("FIN_INVOICE"."FINANCIAL_SOURCE"='A/R' AND ("FIN_INVOICE"."FINANCIAL_SOURCE"="FIN_AGING_ARG"."FINANCIAL_S
    OURCE" OR "FIN_AGING_ARG"."FINANCIAL_SOURCE"='APR') AND "FIN_INVOICE"."INVOICE_DATE"<="FIN_AGING_ARG"."AGING_DATE" AND
    ("FIN_AGING_ARG"."PLC_ID" IS NULL OR "FIN_INVOICE"."LOCATION_ID"="FIN_AGING_ARG"."PLC_ID" AND "FIN_AGING_ARG"."PLC_ID"
    IS NOT NULL) AND CASE WHEN (("FIN_AGING_ARG"."AGE_CREDIT_FLAG"='Y' AND "FIN_INVOICE"."ORIGINAL_AMOUNT"<0) OR
    "FIN_INVOICE"."ORIGINAL_AMOUNT">0) THEN CASE WHEN "FIN_AGING_ARG"."AGING_DATE"-"FIN_INVOICE"."DUE_DATE"<"FIN_AGING_ARG
    "."B_1"+1 THEN 1 WHEN "FIN_AGING_ARG"."AGING_DATE"-"FIN_INVOICE"."DUE_DATE"<"FIN_AGING_ARG"."B_2"+1 THEN 2 WHEN
    "FIN_AGING_ARG"."AGING_DATE"-"FIN_INVOICE"."DUE_DATE"<"FIN_AGING_ARG"."B_3"+1 THEN 3 WHEN
    "FIN_AGING_ARG"."AGING_DATE"-"FIN_INVOICE"."DUE_DATE"<"FIN_AGING_ARG"."B_4"+1 THEN 4 WHEN
    "FIN_AGING_ARG"."AGING_DATE"-"FIN_INVOICE"."DUE_DATE"<"FIN_AGING_ARG"."B_5"+1 THEN 5 ELSE 6 END ELSE 1 END >0)
    78 - filter("FIN_TRANSACTION"."INVOICE_NBR" IS NOT NULL AND
    "FIN_INVOICE"."INVOICE_NBR"="FIN_TRANSACTION"."INVOICE_NBR" AND ("FIN_AGING_ARG"."MAX_KEY"=0 OR
    "FIN_TRANSACTION"."TRANSACTION_NBR"<="FIN_AGING_ARG"."MAX_KEY"))
    79 - access("FIN_TRANSACTION"."TRANSACTION_NBR"= (SELECT MAX("TRANSACTION_NBR") FROM GRAINVTRC."FIN_TRANSACTION" "A"
    WHERE "A"."INVOICE_NBR"=:B1 AND "A"."TRANSACTION_DATE"<=:B2 AND ("A"."TRANSACTION_NBR"<=:B3 OR :B4=0)))
    81 - filter("A"."TRANSACTION_DATE"<=:B1 AND ("A"."TRANSACTION_NBR"<=:B2 OR :B3=0))
    82 - access("A"."INVOICE_NBR"=:B1)
    83 - filter("FIN_AGING_ARG"."CREDIT_STATUS"='0' OR "FIN_AGING_ARG"."CREDIT_STATUS"='1' AND
    "S1_CUSTOMER_DATA"."HOLD_FLAG"='Y' OR "FIN_AGING_ARG"."CREDIT_STATUS"='2' AND "S1_CUSTOMER_DATA"."CREDIT_LIMIT" IS NOT
    NULL OR "S1_CUSTOMER_DATA"."HOLD_FLAG"='Y' OR "S1_CUSTOMER_DATA"."CREDIT_LIMIT" IS NOT NULL)
    84 - access("FIN_INVOICE"."CUSTOMER_VENDOR_ID"="S1_CUSTOMER_DATA"."CUSTOMER_ID")
    85 - access("TVC"."DAILY_REPORT_NBR"=:B1 AND "VENDOR_CUSTOMER_ID"=:B2)
    86 - filter("FIN_AGING_ARG"."VENDOR_CUSTOMER_FLAG"='N' OR EXISTS (SELECT 0 FROM GRAINVTRC."FIN_AGING_ARG_VC" "TVC"
    WHERE "VENDOR_CUSTOMER_ID"=:B1 AND "TVC"."DAILY_REPORT_NBR"=:B2))
    90 - filter("FIN_AGING_ARG"."INVOICE_DATE_FLAG"='Y')
    91 - access("FIN_AGING_ARG"."DAILY_REPORT_NBR"=36)
    92 - filter("FIN_INVOICE"."FINANCIAL_SOURCE"='A/R' AND ("FIN_INVOICE"."FINANCIAL_SOURCE"="FIN_AGING_ARG"."FINANCIAL_S
    OURCE" OR "FIN_AGING_ARG"."FINANCIAL_SOURCE"='APR') AND "FIN_INVOICE"."INVOICE_DATE"<="FIN_AGING_ARG"."AGING_DATE" AND
    ("FIN_AGING_ARG"."PLC_ID" IS NULL OR "FIN_INVOICE"."LOCATION_ID"="FIN_AGING_ARG"."PLC_ID" AND "FIN_AGING_ARG"."PLC_ID"
    IS NOT NULL) AND CASE WHEN (("FIN_AGING_ARG"."AGE_CREDIT_FLAG"='Y' AND "FIN_INVOICE"."ORIGINAL_AMOUNT"<0) OR
    "FIN_INVOICE"."ORIGINAL_AMOUNT">0) THEN CASE WHEN "FIN_AGING_ARG"."AGING_DATE"-"FIN_INVOICE"."INVOICE_DATE"<"FIN_AGING
    _ARG"."B_1"+1 THEN 1 WHEN "FIN_AGING_ARG"."AGING_DATE"-"FIN_INVOICE"."INVOICE_DATE"<"FIN_AGING_ARG"."B_2"+1 THEN 2
    WHEN "FIN_AGING_ARG"."AGING_DATE"-"FIN_INVOICE"."INVOICE_DATE"<"FIN_AGING_ARG"."B_3"+1 THEN 3 WHEN
    "FIN_AGING_ARG"."AGING_DATE"-"FIN_INVOICE"."INVOICE_DATE"<"FIN_AGING_ARG"."B_4"+1 THEN 4 WHEN
    "FIN_AGING_ARG"."AGING_DATE"-"FIN_INVOICE"."INVOICE_DATE"<"FIN_AGING_ARG"."B_5"+1 THEN 5 ELSE 6 END ELSE 1 END >0)
    93 - filter("FIN_TRANSACTION"."INVOICE_NBR" IS NOT NULL AND
    "FIN_INVOICE"."INVOICE_NBR"="FIN_TRANSACTION"."INVOICE_NBR" AND ("FIN_AGING_ARG"."MAX_KEY"=0 OR
    "FIN_TRANSACTION"."TRANSACTION_NBR"<="FIN_AGING_ARG"."MAX_KEY"))
    94 - access("FIN_TRANSACTION"."TRANSACTION_NBR"= (SELECT MAX("TRANSACTION_NBR") FROM GRAINVTRC."FIN_TRANSACTION" "A"
    WHERE "A"."INVOICE_NBR"=:B1 AND "A"."TRANSACTION_DATE"<=:B2 AND ("A"."TRANSACTION_NBR"<=:B3 OR :B4=0)))
    96 - filter("A"."TRANSACTION_DATE"<=:B1 AND ("A"."TRANSACTION_NBR"<=:B2 OR :B3=0))
    97 - access("A"."INVOICE_NBR"=:B1)
    98 - filter("FIN_AGING_ARG"."CREDIT_STATUS"='0' OR "FIN_AGING_ARG"."CREDIT_STATUS"='1' AND
    "S1_CUSTOMER_DATA"."HOLD_FLAG"='Y' OR "FIN_AGING_ARG"."CREDIT_STATUS"='2' AND "S1_CUSTOMER_DATA"."CREDIT_LIMIT" IS NOT
    NULL OR "S1_CUSTOMER_DATA"."HOLD_FLAG"='Y' OR "S1_CUSTOMER_DATA"."CREDIT_LIMIT" IS NOT NULL)
    99 - access("FIN_INVOICE"."CUSTOMER_VENDOR_ID"="S1_CUSTOMER_DATA"."CUSTOMER_ID")
    100 - access("TVC"."DAILY_REPORT_NBR"=:B1 AND "VENDOR_CUSTOMER_ID"=:B2)
    101 - filter(("FIN_AGING_ARG"."VENDOR_CUSTOMER_FLAG"='N' OR EXISTS (SELECT 0 FROM GRAINVTRC."FIN_AGING_ARG_VC" "TVC"
    WHERE "VENDOR_CUSTOMER_ID"=:B1 AND "TVC"."DAILY_REPORT_NBR"=:B2)) AND EXISTS (SELECT 0 FROM
    GRAINVTRC."FIN_TRANSACTION" "A" WHERE "A"."INVOICE_NBR"=:B3 AND ("A"."TRANSACTION_NBR"<=:B4 OR :B5=0)))
    102 - access("FIN_INVOICE"."CUSTOMER_VENDOR_ID"="S1_CUSTOMER_DATA"."CUSTOMER_ID")
    filter(("FIN_INVOICE"."FINANCIAL_SOURCE"="FIN_AGING_ARG"."FINANCIAL_SOURCE" OR
    "FIN_AGING_ARG"."FINANCIAL_SOURCE"='APR') AND "FIN_INVOICE"."INVOICE_DATE">"FIN_AGING_ARG"."AGING_DATE" AND
    ("FIN_AGING_ARG"."PLC_ID" IS NULL OR "FIN_INVOICE"."LOCATION_ID"="FIN_AGING_ARG"."PLC_ID" AND "FIN_AGING_ARG"."PLC_ID"
    IS NOT NULL) AND ("FIN_INVOICE"."INVOICE_STATUS"<>'C' OR "FIN_AGING_ARG"."AGING_DATE"<="FIN_INVOICE"."LAST_TRANSACTION_
    DATE" OR "FIN_INVOICE"."BALANCE_FORWARD_PRINT_FLAG"<>'Y'))
    105 - access("FIN_AGING_ARG"."DAILY_REPORT_NBR"=36)
    106 - filter("FIN_AGING_ARG"."CREDIT_STATUS"='0' OR "FIN_AGING_ARG"."CREDIT_STATUS"='1' AND
    "S1_CUSTOMER_DATA"."HOLD_FLAG"='Y' OR "FIN_AGING_ARG"."CREDIT_STATUS"='2' AND "S1_CUSTOMER_DATA"."CREDIT_LIMIT" IS NOT
    NULL OR "S1_CUSTOMER_DATA"."HOLD_FLAG"='Y' OR "S1_CUSTOMER_DATA"."CREDIT_LIMIT" IS NOT NULL)
    107 - filter("FIN_INVOICE"."FINANCIAL_SOURCE"='A/R')
    108 - access("TVC"."DAILY_REPORT_NBR"=:B1 AND "VENDOR_CUSTOMER_ID"=:B2)
    109 - filter("A"."TRANSACTION_NBR"<=:B1 OR :B2=0)
    110 - access("A"."INVOICE_NBR"=:B1)
    111 - filter(("FIN_AGING_ARG"."VENDOR_CUSTOMER_FLAG"='N' OR EXISTS (SELECT 0 FROM GRAINVTRC."FIN_AGING_ARG_VC" "TVC"
    WHERE "VENDOR_CUSTOMER_ID"=:B1 AND "TVC"."DAILY_REPORT_NBR"=:B2)) AND "FIN_TRANSACTION"."TRANSACTION_NBR"= (SELECT
    MAX("TRANSACTION_NBR") FROM GRAINVTRC."FIN_TRANSACTION" "A" WHERE "A"."PAYMENT_NBR"=:B3 AND
    "A"."TRANSACTION_DATE"<=:B4 AND ("A"."TRANSACTION_NBR"<=:B5 OR :B6=0)))
    112 - filter(NULL IS NOT NULL)
    113 - access("FIN_PAYMENT"."CUSTOMER_VENDOR_ID"="S1_CUSTOMER_DATA"."CUSTOMER_ID")
    filter("FIN_AGING_ARG"."CREDIT_STATUS"='0' OR "FIN_AGING_ARG"."CREDIT_STATUS"='1' AND
    "S1_CUSTOMER_DATA"."HOLD_FLAG"='Y' OR "FIN_AGING_ARG"."CREDIT_STATUS"='2' AND "S1_CUSTOMER_DATA"."CREDIT_LIMIT" IS NOT
    NULL OR "S1_CUSTOMER_DATA"."HOLD_FLAG"='Y' OR "S1_CUSTOMER_DATA"."CREDIT_LIMIT" IS NOT NULL)
    115 - access("FIN_PAYMENT"."PAYMENT_NBR"="FIN_TRANSACTION"."PAYMENT_NBR")
    filter(("FIN_PAYMENT"."FINANCIAL_SOURCE"="FIN_AGING_ARG"."FINANCIAL_SOURCE" OR
    "FIN_AGING_ARG"."FINANCIAL_SOURCE"='APR') AND "FIN_PAYMENT"."PAYMENT_DATE"<="FIN_AGING_ARG"."AGING_DATE" AND
    ("FIN_AGING_ARG"."PLC_ID" IS NULL OR "FIN_AGING_ARG"."PLC_ID" IS NOT NULL AND
    "FIN_PAYMENT"."LOCATION_ID"="FIN_AGING_ARG"."PLC_ID" AND "FIN_PAYMENT"."LOCATION_ID" IS NOT NULL) AND CASE WHEN
    "FIN_AGING_ARG"."AGE_CREDIT_FLAG"='Y' THEN CASE WHEN "FIN_AGING_ARG"."AGING_DATE"-"FIN_PAYMENT"."PAYMENT_DATE"<"FIN_AG
    ING_ARG"."B_1"+1 THEN 1 WHEN "FIN_AGING_ARG"."AGING_DATE"-"FIN_PAYMENT"."PAYMENT_DATE"<"FIN_AGING_ARG"."B_2"+1 THEN 2
    WHEN "FIN_AGING_ARG"."AGING_DATE"-"FIN_PAYMENT"."PAYMENT_DATE"<"FIN_AGING_ARG"."B_3"+1 THEN 3 WHEN
    "FIN_AGING_ARG"."AGING_DATE"-"FIN_PAYMENT"."PAYMENT_DATE"<"FIN_AGING_ARG"."B_4"+1 THEN 4 WHEN
    "FIN_AGING_ARG"."AGING_DATE"-"FIN_PAYMENT"."PAYMENT_DATE"<"FIN_AGING_ARG"."B_5"+1 THEN 5 ELSE 6 END ELSE 1 END >0)
    116 - filter("FIN_PAYMENT"."FINANCIAL_SOURCE"='A/R' AND ("FIN_PAYMENT"."INTERNAL_FLAG"='N' OR
    "FIN_PAYMENT"."INTERNAL_FLAG"='Y' AND ("FIN_PAYMENT"."PAYMENT_TYPE"='C' OR "FIN_PAYMENT"."PAYMENT_TYPE"='N')))
    119 - access("FIN_AGING_ARG"."DAILY_REPORT_NBR"=36)
    120 - filter("FIN_TRANSACTION"."PAYMENT_NBR" IS NOT NULL AND ("FIN_AGING_ARG"."MAX_KEY"=0 OR
    "FIN_TRANSACTION"."TRANSACTION_NBR"<="FIN_AGING_ARG"."MAX_KEY"))
    121 - access("TVC"."DAILY_REPORT_NBR"=:B1 AND "VENDOR_CUSTOMER_ID"=:B2)
    123 - filter("A"."TRANSACTION_DATE"<=:B1 AND ("A"."TRANSACTION_NBR"<=:B2 OR :B3=0))
    124 - access("A"."PAYMENT_NBR"=:B1)
    125 - filter(("FIN_AGING_ARG"."VENDOR_CUSTOMER_FLAG"='N' OR EXISTS (SELECT 0 FROM GRAINVTRC."FIN_AGING_ARG_VC" "TVC"
    WHERE "VENDOR_CUSTOMER_ID"=:B1 AND "TVC"."DAILY_REPORT_NBR"=:B2)) AND EXISTS (SELECT 0 FROM
    GRAINVTRC."FIN_TRANSACTION" "A" WHERE "A"."PAYMENT_NBR"=:B3 AND ("A"."TRANSACTION_NBR"<=:B4 OR :B5=0)))
    126 - filter(NULL IS NOT NULL)
    130 - access("FIN_AGING_ARG"."DAILY_REPORT_NBR"=36)
    131 - filter("FIN_PAYMENT"."FINANCIAL_SOURCE"='A/R' AND ("FIN_PAYMENT"."INTERNAL_FLAG"='N' OR
    "FIN_PAYMENT"."INTERNAL_FLAG"='Y' AND ("FIN_PAYMENT"."PAYMENT_TYPE"='C' OR "FIN_PAYMENT"."PAYMENT_TYPE"='N')) AND
    ("FIN_PAYMENT"."FINANCIAL_SOURCE"="FIN_AGING_ARG"."FINANCIAL_SOURCE" OR "FIN_AGING_ARG"."FINANCIAL_SOURCE"='APR') AND
    ("UNAPPLIED_AMOUNT"<>0 OR "FIN_AGING_ARG"."AGING_DATE"<="LAST_TRANSACTION_DATE") AND ("FIN_AGING_ARG"."PLC_ID" IS NULL
    OR "FIN_AGING_ARG"."PLC_ID" IS NOT NULL AND "FIN_PAYMENT"."LOCATION_ID"="FIN_AGING_ARG"."PLC_ID" AND
    "FIN_PAYMENT"."LOCATION_ID" IS NOT NULL))
    132 - access("FIN_PAYMENT"."PAYMENT_DATE">"FIN_AGING_ARG"."AGING_DATE")
    133 - filter("FIN_AGING_ARG"."CREDIT_STATUS"='0' OR "FIN_AGING_ARG"."CREDIT_STATUS"='1' AND
    "S1_CUSTOMER_DATA"."HOLD_FLAG"='Y' OR "FIN_AGING_ARG"."CREDIT_STATUS"='2' AND "S1_CUSTOMER_DATA"."CREDIT_LIMIT" IS NOT
    NULL OR "S1_CUSTOMER_DATA"."HOLD_FLAG"='Y' OR "S1_CUSTOMER_DATA"."CREDIT_LIMIT" IS NOT NULL)
    134 - access("FIN_PAYMENT"."CUSTOMER_VENDOR_ID"="S1_CUSTOMER_DATA"."CUSTOMER_ID")
    135 - access("TVC"."DAILY_REPORT_NBR"=:B1 AND "VENDOR_CUSTOMER_ID"=:B2)
    136 - filter("A"."TRANSACTION_NBR"<=:B1 OR :B2=0)
    137 - access("A"."PAYMENT_NBR"=:B1)
    139 - access("TB_TRANSACTION"."TRANSACTION_NBR"="FIN_AGING_INVOICE_VIEW"."MAX_TRANSACTION_NBR")
    140 - filter("A"."FINANCIAL_SOURCE"='A/R' AND ("TB_TRANSACTION"."AFTER_STATUS"<>'C' OR "A"."INVOICE_STATUS"<>'C' OR
    "A"."BALANCE_FORWARD_PRINT_FLAG"<>'Y'))
    141 - access("FIN_AGING_INVOICE_VIEW"."SERIAL_NUMBER"="A"."INVOICE_NBR")
    142 - access("A1_USER_LOCATION"."USER_ID"='BRENT' AND "A1_USER_LOCATION"."PLC_ID"="A"."LOCATION_ID")
    144 - access("SB"."NAME_AND_ADDRESS_ID"="A"."CUSTOMER_VENDOR_ID")
    146 - access("SB"."NAME_AND_ADDRESS_ID"="S1_CUSTOMER_DATA"."CUSTOMER_ID")
    148 - access("SA"."NAME_AND_ADDRESS_ID"="A"."LOCATION_ID")
    151 - filter("FIN_TRANSACTION"."PAYMENT_NBR" IS NULL)
    152 - access("FIN_TRANSACTION"."INVOICE_NBR"="A"."INVOICE_NBR")
    filter("FIN_TRANSACTION"."INVOICE_NBR" IS NOT NULL)
    153 - access("A"."TRADER_ID"="S1_TRADER"."TRADER_ID"(+))
    155 - access("A"."CUSTOMER_VENDOR_ID"="S1_NA_BUSINESS_TYPE"."NAME_AND_ADDRESS_ID"(+))
    157 - access("FIN_TRANSACTION"."TRANSACTION_TYPE"="FIN_TRANSACTION_TYPE"."CODE")
    158 - filter("FIN_TRANSACTION"."PAYMENT_NBR" IS NOT NULL)
    162 - access("A"."CURRENCY_CODE"="S1_CURRENCY"."CURRENCY_CODE")
    163 - access("S1_CURRENCY_A"."CURRENCY_CODE"="SA"."CURRENCY_CODE")
    172 - filter("FIN_AGING_ARG"."VENDOR_CUSTOMER_FLAG"='N' OR EXISTS (SELECT 0 FROM GRAINVTRC."FIN_AGING_ARG_VC" "TVC"
    WHERE "VENDOR_CUSTOMER_ID"=:B1 AND "TVC"."DAILY_REPORT_NBR"=:B2))
    175 - filter("FIN_AGING_ARG"."INVOICE_DATE_FLAG"='N')
    176 - access("FIN_AGING_ARG"."DAILY_REPORT_NBR"=36)
    177 - filter("FIN_INVOICE"."FINANCIAL_SOURCE"='A/P' AND ("FIN_INVOICE"."FINANCIAL_SOURCE"="FIN_AGING_ARG"."FINANCIAL_S
    OURCE" OR "FIN_AGING_ARG"."FINANCIAL_SOURCE"='APR') AND "FIN_INVOICE"."INVOICE_DATE"<="FIN_AGING_ARG"."AGING_DATE" AND
    ("FIN_AGING_ARG"."PLC_ID" IS NULL OR "FIN_INVOICE"."LOCATION_ID"="FIN_AGING_ARG"."PLC_ID" AND "FIN_AGING_ARG"."PLC_ID"
    IS NOT NULL) AND CASE WHEN (("FIN_AGING_ARG"."AGE_CREDIT_FLAG"='Y' AND "FIN_INVOICE"."ORIGINAL_AMOUNT"<0) OR
    "FIN_INVOICE"."ORIGINAL_AMOUNT">0) THEN CASE WHEN "FIN_AGING_ARG"."AGING_DATE"-"FIN_INVOICE"."DUE_DATE"<"FIN_AGING_ARG
    "."B_1"+1 THEN 1 WHEN "FIN_AGING_ARG"."AGING_DATE"-"FIN_INVOICE"."DUE_DATE"<"FIN_AGING_ARG"."B_2"+1 THEN 2 WHEN
    "FIN_AGING_ARG"."AGING_DATE"-"FIN_INVOICE"."DUE_DATE"<"FIN_AGING_ARG"."B_3"+1 THEN 3 WHEN
    "FIN_AGING_ARG"."AGING_DATE"-"FIN_INVOICE"."DUE_DATE"<"FIN_AGING_ARG"."B_4"+1 THEN 4 WHEN
    "FIN_AGING_ARG"."AGING_DATE"-"FIN_INVOICE"."DUE_DATE"<"FIN_AGING_ARG"."B_5"+1 THEN 5 ELSE 6 END ELSE 1 END >0)
    178 - filter("FIN_TRANSACTION"."INVOICE_NBR" IS NOT NULL AND
    "FIN_INVOICE"."INVOICE_NBR"="FIN_TRANSACTION"."INVOICE_NBR" AND ("FIN_AGING_ARG"."MAX_KEY"=0 OR
    "FIN_TRANSACTION"."TRANSACTION_NBR"<="FIN_AGING_ARG"."MAX_KEY"))
    179 - access("FIN_TRANSACTION"."TRANSACTION_NBR"= (SELECT MAX("TRANSACTION_NBR") FROM GRAINVTRC."FIN_TRANSACTION" "A"
    WHERE "A"."INVOICE_NBR"=:B1 AND "A"."TRANSACTION_DATE"<=:B2 AND ("A"."TRANSACTION_NBR"<=:B3 OR :B4=0)))
    181 - filter("A"."TRANSACTION_DATE"<=:B1 AND ("A"."TRANSACTION_NBR"<=:B2 OR :B3=0))
    182 - access("A"."INVOICE_NBR"=:B1)
    183 - access("TVC"."DAILY_REPORT_NBR"=:B1 AND "VENDOR_CUSTOMER_ID"=:B2)
    184 - filter("FIN_AGING_ARG"."VENDOR_CUSTOMER_FLAG"='N' OR EXISTS (SELECT 0 FROM GRAINVTRC."FIN_AGING_ARG_VC" "TVC"
    WHERE "VENDOR_CUSTOMER_ID"=:B1 AND "TVC"."DAILY_REPORT_NBR"=:B2))
    187 - filter("FIN_AGING_ARG"."INVOICE_DATE_FLAG"='Y')
    188 - access("FIN_AGING_ARG"."DAILY_REPORT_NBR"=36)
    189 - filter("FIN_INVOICE"."FINANCIAL_SOURCE"='A/P' AND ("FIN_INVOICE"."FINANCIAL_SOURCE"="FIN_AGING_ARG"."FINANCIAL_S
    OURCE" OR "FIN_AGING_ARG"."FINANCIAL_SOURCE"='APR') AND "FIN_INVOICE"."INVOICE_DATE"<="FIN_AGING_ARG"."AGING_DATE" AND
    ("FIN_AGING_ARG"."PLC_ID" IS NULL OR "FIN_INVOICE"."LOCATION_ID"="FIN_AGING_ARG"."PLC_ID" AND "FIN_AGING_ARG"."PLC_ID"
    IS NOT NULL) AND CASE WHEN (("FIN_AGING_ARG"."AGE_CREDIT_FLAG"='Y' AND "FIN_INVOICE"."ORIGINAL_AMOUNT"<0) OR
    "FIN_INVOICE"."ORIGINAL_AMOUNT">0) THEN CASE WHEN "FIN_AGING_ARG"."AGING_DATE"-"FIN_INVOICE"."INVOICE_DATE"<"FIN_AGING
    _ARG"."B_1"+1 THEN 1 WHEN "FIN_AGING_ARG"."AGING_DATE"-"FIN_INVOICE"."INVOICE_DATE"<"FIN_AGING_ARG"."B_2"+1 THEN 2
    WHEN "FIN_AGING_ARG"."AGING_DATE"-"FIN_INVOICE"."INVOICE_DATE"<"FIN_AGING_ARG"."B_3"+1 THEN 3 WHEN
    "FIN_AGING_ARG"."AGING_DATE"-"FIN_INVOICE"."INVOICE_DATE"<"FIN_AGING_ARG"."B_4"+1 THEN 4 WHEN
    "FIN_AGING_ARG"."AGING_DATE"-"FIN_INVOICE"."INVOICE_DATE"<"FIN_AGING_ARG"."B_5"+1 THEN 5 ELSE 6 END ELSE 1 END >0)
    190 - filter("FIN_TRANSACTION"."INVOICE_NBR" IS NOT NULL AND
    "FIN_INVOICE"."INVOICE_NBR"="FIN_TRANSACTION"."INVOICE_NBR" AND ("FIN_AGING_ARG"."MAX_KEY"=0 OR
    "FIN_TRANSACTION"."TRANSACTION_NBR"<="FIN_AGING_ARG"."MAX_KEY"))
    191 - access("FIN_TRANSACTION"."TRANSACTION_NBR"= (SELECT MAX("TRANSACTION_NBR") FROM GRAINVTRC."FIN_TRANSACTION" "A"
    WHERE "A"."INVOICE_NBR"=:B1 AND "A"."TRANSACTION_DATE"<=:B2 AND ("A"."TRANSACTION_NBR"<=:B3 OR :B4=0)))
    193 - filter("A"."TRANSACTION_DATE"<=:B1 AND ("A"."TRANSACTION_NBR"<=:B2 OR :B3=0))
    194 - access("A"."INVOICE_NBR"=:B1)
    195 - access("TVC"."DAILY_REPORT_NBR"=:B1 AND "VENDOR_CUSTOMER_ID"=:B2)
    196 - filter(("FIN_AGING_ARG"."VENDOR_CUSTOMER_FLAG"='N' OR EXISTS (SELECT 0 FROM GRAINVTRC."FIN_AGING_ARG_VC" "TVC"
    WHERE "VENDOR_CUSTOMER_ID"=:B1 AND "TVC"."DAILY_REPORT_NBR"=:B2)) AND EXISTS (SELECT 0 FROM
    GRAINVTRC."FIN_TRANSACTION" "A" WHERE "A"."INVOICE_NBR"=:B3 AND ("A"."TRANSACTION_NBR"<=:B4 OR :B5=0)))
    199 - access("FIN_AGING_ARG"."DAILY_REPORT_NBR"=36)
    200 - filter("FIN_INVOICE"."FINANCIAL_SOURCE"='A/P' AND ("FIN_INVOICE"."FINANCIAL_SOURCE"="FIN_AGING_ARG"."FINANCIAL_S
    OURCE" OR "FIN_AGING_ARG"."FINANCIAL_SOURCE"='APR') AND "FIN_INVOICE"."INVOICE_DATE">"FIN_AGING_ARG"."AGING_DATE" AND
    ("FIN_AGING_ARG"."PLC_ID" IS NULL OR "FIN_INVOICE"."LOCATION_ID"="FIN_AGING_ARG"."PLC_ID" AND "FIN_AGING_ARG"."PLC_ID"
    IS NOT NULL) AND ("FIN_INVOICE"."INVOICE_STATUS"<>'C' OR "FIN_AGING_ARG"."AGING_DATE"<="FIN_INVOICE"."LAST_TRANSACTION_
    DATE" OR "FIN_INVOICE"."BALANCE_FORWARD_PRINT_FLAG"<>'Y'))
    201 - access("TVC"."DAILY_REPORT_NBR"=:B1 AND "VENDOR_CUSTOMER_ID"=:B2)
    202 - filter("A"."TRANSACTION_NBR"<=:B1 OR :B2=0)
    203 - access("A"."INVOICE_NBR"=:B1)
    204 - filter(("FIN_AGING_ARG"."VENDOR_CUSTOMER_FLAG"='N' OR EXISTS (SELECT 0 FROM GRAINVTRC."FIN_AGING_ARG_VC" "TVC"
    WHERE "VENDOR_CUSTOMER_ID"=:B1 AND "TVC"."DAILY_REPORT_NBR"=:B2)) AND "FIN_TRANSACTION"."TRANSACTION_NBR"= (SELECT
    MAX("TRANSACTION_NBR") FROM GRAINVTRC."FIN_TRANSACTION" "A" WHERE "A"."PAYMENT_NBR"=:B3 AND
    "A"."TRANSACTION_DATE"<=:B4 AND ("A"."TRANSACTION_NBR"<=:B5 OR :B6=0)))
    205 - filter(NULL IS NOT NULL)
    206 - access("FIN_PAYMENT"."PAYMENT_NBR"="FIN_TRANSACTION"."PAYMENT_NBR")
    filter(("FIN_PAYMENT"."FINANCIAL_SOURCE"="FIN_AGING_ARG"."FINANCIAL_SOURCE" OR
    "FIN_AGING_ARG"."FINANCIAL_SOURCE"='APR') AND "FIN_PAYMENT"."PAYMENT_DATE"<="FIN_AGING_ARG"."AGING_DATE" AND
    ("FIN_AGING_ARG"."PLC_ID" IS NULL OR "FIN_AGING_ARG"."PLC_ID" IS NOT NULL AND
    "FIN_PAYMENT"."LOCATION_ID"="FIN_AGING_ARG"."PLC_ID" AND "FIN_PAYMENT"."LOCATION_ID" IS NOT NULL) AND CASE WHEN
    "FIN_AGING_ARG"."AGE_CREDIT_FLAG"='Y' THEN CASE WHEN "FIN_AGING_ARG"."AGING_DATE"-"FIN_PAYMENT"."PAYMENT_DATE"<"FIN_AG
    ING_ARG"."B_1"+1 THEN 1 WHEN "FIN_AGING_ARG"."AGING_DATE"-"FIN_PAYMENT"."PAYMENT_DATE"<"FIN_AGING_ARG"."B_2"+1 THEN 2
    WHEN "FIN_AGING_ARG"."AGING_DATE"-"FIN_PAYMENT"."PAYMENT_DATE"<"FIN_AGING_ARG"."B_3"+1 THEN 3 WHEN
    "FIN_AGING_ARG"."AGING_DATE"-"FIN_PAYMENT"."PAYMENT_DATE"<"FIN_AGING_ARG"."B_4"+1 THEN 4 WHEN
    "FIN_AGING_ARG"."AGING_DATE"-"FIN_PAYMENT"."PAYMENT_DATE"<"FIN_AGING_ARG"."B_5"+1 THEN 5 ELSE 6 END ELSE 1 END >0)
    207 - filter("FIN_PAYMENT"."FINANCIAL_SOURCE"='A/P' AND ("FIN_PAYMENT"."INTERNAL_FLAG"='N' OR
    "FIN_PAYMENT"."INTERNAL_FLAG"='Y' AND ("FIN_PAYMENT"."PAYMENT_TYPE"='C' OR "FIN_PAYMENT"."PAYMENT_TYPE"='N')))
    210 - access("FIN_AGING_ARG"."DAILY_REPORT_NBR"=36)

    Murray Sobol wrote:
    Thank you for your USELESS comments.
    If you can not or are not able to provide any meaningful suggestions, please dont waste MY time and the FORUM's space.
    You have just been promoted to my SPAM filter.You have scattered your problem in hard-to-read and unformatted text across 7 separate postings.
    Query Tuning Assistance - part 2
    Query Tuning Assistance - Part 3
    Query Tuning Assistance - part 4
    Query Tuning Assistance - part 5
    Query Tuning Assistance - part 6
    Query Tuning Assistance - part 7
    (and exactly how are we suppose to have a meaningful discussion about this problem when any such answers will be scattered across 7 different threads!?)
    You have NOT bothered to read the forum FAQ that explains in detail how to write a query tuning posting.
    And good luck with the non-existent spam filter here on OTN.
    PS. Correction. See you also posted a part 8 (Query Tuning Assistance - part 8 You just do not seem to get it, huh? Ever read http://catb.org/esr/faqs/smart-questions.html - you should. And sooner rather than later.
    Edited by: Billy Verreynne on Mar 4, 2012 2:45 PM

  • Query Tuning Assistance - part 7

    filter("FIN_TRANSACTION"."PAYMENT_NBR" IS NOT NULL)
    1271 - access("FIN_TRANSACTION"."TRANSACTION_TYPE"="FIN_TRANSACTION_TYPE"."CODE")
    1273 - access("S1_CURRENCY_A"."CURRENCY_CODE"="SA"."CURRENCY_CODE")
    1275 - access("A"."CURRENCY_CODE"="S1_CURRENCY"."CURRENCY_CODE")
    1289 - filter("FIN_AGING_ARG"."VENDOR_CUSTOMER_FLAG"='N' OR EXISTS (SELECT 0 FROM GRAINVTRC."FIN_AGING_ARG_VC" "TVC"
    WHERE "VENDOR_CUSTOMER_ID"=:B1 AND "TVC"."DAILY_REPORT_NBR"=:B2))
    1290 - filter(NULL IS NOT NULL AND NULL IS NOT NULL)
    1293 - filter("FIN_AGING_ARG"."INVOICE_DATE_FLAG"='N')
    1294 - access("FIN_AGING_ARG"."DAILY_REPORT_NBR"=36)
    1295 - filter("FIN_INVOICE"."FINANCIAL_SOURCE"='A/P' AND ("FIN_INVOICE"."FINANCIAL_SOURCE"="FIN_AGING_ARG"."FINANCIAL_S
    OURCE" OR "FIN_AGING_ARG"."FINANCIAL_SOURCE"='APR') AND "FIN_INVOICE"."INVOICE_DATE"<="FIN_AGING_ARG"."AGING_DATE" AND
    ("FIN_AGING_ARG"."PLC_ID" IS NULL OR "FIN_INVOICE"."LOCATION_ID"="FIN_AGING_ARG"."PLC_ID" AND "FIN_AGING_ARG"."PLC_ID"
    IS NOT NULL) AND CASE WHEN (("FIN_AGING_ARG"."AGE_CREDIT_FLAG"='Y' AND "FIN_INVOICE"."ORIGINAL_AMOUNT"<0) OR
    "FIN_INVOICE"."ORIGINAL_AMOUNT">0) THEN CASE WHEN "FIN_AGING_ARG"."AGING_DATE"-"FIN_INVOICE"."DUE_DATE"<"FIN_AGING_ARG
    "."B_1"+1 THEN 1 WHEN "FIN_AGING_ARG"."AGING_DATE"-"FIN_INVOICE"."DUE_DATE"<"FIN_AGING_ARG"."B_2"+1 THEN 2 WHEN
    "FIN_AGING_ARG"."AGING_DATE"-"FIN_INVOICE"."DUE_DATE"<"FIN_AGING_ARG"."B_3"+1 THEN 3 WHEN
    "FIN_AGING_ARG"."AGING_DATE"-"FIN_INVOICE"."DUE_DATE"<"FIN_AGING_ARG"."B_4"+1 THEN 4 WHEN
    "FIN_AGING_ARG"."AGING_DATE"-"FIN_INVOICE"."DUE_DATE"<"FIN_AGING_ARG"."B_5"+1 THEN 5 ELSE 6 END ELSE 1 END >0)
    1296 - filter("FIN_TRANSACTION"."INVOICE_NBR" IS NOT NULL AND
    "FIN_INVOICE"."INVOICE_NBR"="FIN_TRANSACTION"."INVOICE_NBR" AND ("FIN_AGING_ARG"."MAX_KEY"=0 OR
    "FIN_TRANSACTION"."TRANSACTION_NBR"<="FIN_AGING_ARG"."MAX_KEY"))
    1297 - access("FIN_TRANSACTION"."TRANSACTION_NBR"= (SELECT MAX("TRANSACTION_NBR") FROM GRAINVTRC."FIN_TRANSACTION" "A"
    WHERE "A"."INVOICE_NBR"=:B1 AND "A"."TRANSACTION_DATE"<=:B2 AND ("A"."TRANSACTION_NBR"<=:B3 OR :B4=0)))
    1299 - filter("A"."TRANSACTION_DATE"<=:B1 AND ("A"."TRANSACTION_NBR"<=:B2 OR :B3=0))
    1300 - access("A"."INVOICE_NBR"=:B1)
    1301 - access("TVC"."DAILY_REPORT_NBR"=:B1 AND "VENDOR_CUSTOMER_ID"=:B2)
    1302 - filter("FIN_AGING_ARG"."VENDOR_CUSTOMER_FLAG"='N' OR EXISTS (SELECT 0 FROM GRAINVTRC."FIN_AGING_ARG_VC" "TVC"
    WHERE "VENDOR_CUSTOMER_ID"=:B1 AND "TVC"."DAILY_REPORT_NBR"=:B2))
    1303 - filter(NULL IS NOT NULL AND NULL IS NOT NULL)
    1306 - filter("FIN_AGING_ARG"."INVOICE_DATE_FLAG"='Y')
    1307 - access("FIN_AGING_ARG"."DAILY_REPORT_NBR"=36)
    1308 - filter("FIN_INVOICE"."FINANCIAL_SOURCE"='A/P' AND ("FIN_INVOICE"."FINANCIAL_SOURCE"="FIN_AGING_ARG"."FINANCIAL_S
    OURCE" OR "FIN_AGING_ARG"."FINANCIAL_SOURCE"='APR') AND "FIN_INVOICE"."INVOICE_DATE"<="FIN_AGING_ARG"."AGING_DATE" AND
    ("FIN_AGING_ARG"."PLC_ID" IS NULL OR "FIN_INVOICE"."LOCATION_ID"="FIN_AGING_ARG"."PLC_ID" AND "FIN_AGING_ARG"."PLC_ID"
    IS NOT NULL) AND CASE WHEN (("FIN_AGING_ARG"."AGE_CREDIT_FLAG"='Y' AND "FIN_INVOICE"."ORIGINAL_AMOUNT"<0) OR
    "FIN_INVOICE"."ORIGINAL_AMOUNT">0) THEN CASE WHEN "FIN_AGING_ARG"."AGING_DATE"-"FIN_INVOICE"."INVOICE_DATE"<"FIN_AGING
    _ARG"."B_1"+1 THEN 1 WHEN "FIN_AGING_ARG"."AGING_DATE"-"FIN_INVOICE"."INVOICE_DATE"<"FIN_AGING_ARG"."B_2"+1 THEN 2
    WHEN "FIN_AGING_ARG"."AGING_DATE"-"FIN_INVOICE"."INVOICE_DATE"<"FIN_AGING_ARG"."B_3"+1 THEN 3 WHEN
    "FIN_AGING_ARG"."AGING_DATE"-"FIN_INVOICE"."INVOICE_DATE"<"FIN_AGING_ARG"."B_4"+1 THEN 4 WHEN
    "FIN_AGING_ARG"."AGING_DATE"-"FIN_INVOICE"."INVOICE_DATE"<"FIN_AGING_ARG"."B_5"+1 THEN 5 ELSE 6 END ELSE 1 END >0)
    1309 - filter("FIN_TRANSACTION"."INVOICE_NBR" IS NOT NULL AND
    "FIN_INVOICE"."INVOICE_NBR"="FIN_TRANSACTION"."INVOICE_NBR" AND ("FIN_AGING_ARG"."MAX_KEY"=0 OR
    "FIN_TRANSACTION"."TRANSACTION_NBR"<="FIN_AGING_ARG"."MAX_KEY"))
    1310 - access("FIN_TRANSACTION"."TRANSACTION_NBR"= (SELECT MAX("TRANSACTION_NBR") FROM GRAINVTRC."FIN_TRANSACTION" "A"
    WHERE "A"."INVOICE_NBR"=:B1 AND "A"."TRANSACTION_DATE"<=:B2 AND ("A"."TRANSACTION_NBR"<=:B3 OR :B4=0)))
    1312 - filter("A"."TRANSACTION_DATE"<=:B1 AND ("A"."TRANSACTION_NBR"<=:B2 OR :B3=0))
    1313 - access("A"."INVOICE_NBR"=:B1)
    1314 - access("TVC"."DAILY_REPORT_NBR"=:B1 AND "VENDOR_CUSTOMER_ID"=:B2)
    1315 - filter(("FIN_AGING_ARG"."VENDOR_CUSTOMER_FLAG"='N' OR EXISTS (SELECT 0 FROM GRAINVTRC."FIN_AGING_ARG_VC" "TVC"
    WHERE "VENDOR_CUSTOMER_ID"=:B1 AND "TVC"."DAILY_REPORT_NBR"=:B2)) AND EXISTS (SELECT 0 FROM
    GRAINVTRC."FIN_TRANSACTION" "A" WHERE "A"."INVOICE_NBR"=:B3 AND ("A"."TRANSACTION_NBR"<=:B4 OR :B5=0)))
    1316 - filter(NULL IS NOT NULL)
    1319 - access("FIN_AGING_ARG"."DAILY_REPORT_NBR"=36)
    1320 - filter("FIN_INVOICE"."FINANCIAL_SOURCE"='A/P' AND ("FIN_INVOICE"."FINANCIAL_SOURCE"="FIN_AGING_ARG"."FINANCIAL_S
    OURCE" OR "FIN_AGING_ARG"."FINANCIAL_SOURCE"='APR') AND "FIN_INVOICE"."INVOICE_DATE">"FIN_AGING_ARG"."AGING_DATE" AND
    ("FIN_AGING_ARG"."PLC_ID" IS NULL OR "FIN_INVOICE"."LOCATION_ID"="FIN_AGING_ARG"."PLC_ID" AND "FIN_AGING_ARG"."PLC_ID"
    IS NOT NULL) AND ("FIN_INVOICE"."INVOICE_STATUS"<>'C' OR "FIN_AGING_ARG"."AGING_DATE"<="FIN_INVOICE"."LAST_TRANSACTION_
    DATE" OR "FIN_INVOICE"."BALANCE_FORWARD_PRINT_FLAG"<>'Y'))
    1321 - access("TVC"."DAILY_REPORT_NBR"=:B1 AND "VENDOR_CUSTOMER_ID"=:B2)
    1322 - filter("A"."TRANSACTION_NBR"<=:B1 OR :B2=0)
    1323 - access("A"."INVOICE_NBR"=:B1)
    1324 - filter(("FIN_AGING_ARG"."VENDOR_CUSTOMER_FLAG"='N' OR EXISTS (SELECT 0 FROM GRAINVTRC."FIN_AGING_ARG_VC" "TVC"
    WHERE "VENDOR_CUSTOMER_ID"=:B1 AND "TVC"."DAILY_REPORT_NBR"=:B2)) AND "FIN_TRANSACTION"."TRANSACTION_NBR"= (SELECT
    MAX("TRANSACTION_NBR") FROM GRAINVTRC."FIN_TRANSACTION" "A" WHERE "A"."PAYMENT_NBR"=:B3 AND
    "A"."TRANSACTION_DATE"<=:B4 AND ("A"."TRANSACTION_NBR"<=:B5 OR :B6=0)))
    1325 - filter(NULL IS NOT NULL)
    1326 - access("FIN_PAYMENT"."PAYMENT_NBR"="FIN_TRANSACTION"."PAYMENT_NBR")
    filter(("FIN_PAYMENT"."FINANCIAL_SOURCE"="FIN_AGING_ARG"."FINANCIAL_SOURCE" OR
    "FIN_AGING_ARG"."FINANCIAL_SOURCE"='APR') AND "FIN_PAYMENT"."PAYMENT_DATE"<="FIN_AGING_ARG"."AGING_DATE" AND
    ("FIN_AGING_ARG"."PLC_ID" IS NULL OR "FIN_AGING_ARG"."PLC_ID" IS NOT NULL AND
    "FIN_PAYMENT"."LOCATION_ID"="FIN_AGING_ARG"."PLC_ID" AND "FIN_PAYMENT"."LOCATION_ID" IS NOT NULL) AND CASE WHEN
    "FIN_AGING_ARG"."AGE_CREDIT_FLAG"='Y' THEN CASE WHEN "FIN_AGING_ARG"."AGING_DATE"-"FIN_PAYMENT"."PAYMENT_DATE"<"FIN_AG
    ING_ARG"."B_1"+1 THEN 1 WHEN "FIN_AGING_ARG"."AGING_DATE"-"FIN_PAYMENT"."PAYMENT_DATE"<"FIN_AGING_ARG"."B_2"+1 THEN 2
    WHEN "FIN_AGING_ARG"."AGING_DATE"-"FIN_PAYMENT"."PAYMENT_DATE"<"FIN_AGING_ARG"."B_3"+1 THEN 3 WHEN
    "FIN_AGING_ARG"."AGING_DATE"-"FIN_PAYMENT"."PAYMENT_DATE"<"FIN_AGING_ARG"."B_4"+1 THEN 4 WHEN
    "FIN_AGING_ARG"."AGING_DATE"-"FIN_PAYMENT"."PAYMENT_DATE"<"FIN_AGING_ARG"."B_5"+1 THEN 5 ELSE 6 END ELSE 1 END >0)
    1327 - filter("FIN_PAYMENT"."FINANCIAL_SOURCE"='A/P' AND ("FIN_PAYMENT"."INTERNAL_FLAG"='N' OR
    "FIN_PAYMENT"."INTERNAL_FLAG"='Y' AND ("FIN_PAYMENT"."PAYMENT_TYPE"='C' OR "FIN_PAYMENT"."PAYMENT_TYPE"='N')))
    1330 - access("FIN_AGING_ARG"."DAILY_REPORT_NBR"=36)
    1331 - filter("FIN_TRANSACTION"."PAYMENT_NBR" IS NOT NULL AND ("FIN_AGING_ARG"."MAX_KEY"=0 OR
    "FIN_TRANSACTION"."TRANSACTION_NBR"<="FIN_AGING_ARG"."MAX_KEY"))
    1332 - access("TVC"."DAILY_REPORT_NBR"=:B1 AND "VENDOR_CUSTOMER_ID"=:B2)
    1334 - filter("A"."TRANSACTION_DATE"<=:B1 AND ("A"."TRANSACTION_NBR"<=:B2 OR :B3=0))
    1335 - access("A"."PAYMENT_NBR"=:B1)
    1336 - filter(("FIN_AGING_ARG"."VENDOR_CUSTOMER_FLAG"='N' OR EXISTS (SELECT 0 FROM GRAINVTRC."FIN_AGING_ARG_VC" "TVC"
    WHERE "VENDOR_CUSTOMER_ID"=:B1 AND "TVC"."DAILY_REPORT_NBR"=:B2)) AND EXISTS (SELECT 0 FROM
    GRAINVTRC."FIN_TRANSACTION" "A" WHERE "A"."PAYMENT_NBR"=:B3 AND ("A"."TRANSACTION_NBR"<=:B4 OR :B5=0)))
    1339 - access("FIN_AGING_ARG"."DAILY_REPORT_NBR"=36)
    1340 - filter("FIN_PAYMENT"."FINANCIAL_SOURCE"='A/P' AND ("FIN_PAYMENT"."INTERNAL_FLAG"='N' OR
    "FIN_PAYMENT"."INTERNAL_FLAG"='Y' AND ("FIN_PAYMENT"."PAYMENT_TYPE"='C' OR "FIN_PAYMENT"."PAYMENT_TYPE"='N')) AND
    ("FIN_PAYMENT"."FINANCIAL_SOURCE"="FIN_AGING_ARG"."FINANCIAL_SOURCE" OR "FIN_AGING_ARG"."FINANCIAL_SOURCE"='APR') AND
    ("UNAPPLIED_AMOUNT"<>0 OR "FIN_AGING_ARG"."AGING_DATE"<="LAST_TRANSACTION_DATE") AND ("FIN_AGING_ARG"."PLC_ID" IS NULL
    OR "FIN_AGING_ARG"."PLC_ID" IS NOT NULL AND "FIN_PAYMENT"."LOCATION_ID"="FIN_AGING_ARG"."PLC_ID" AND
    "FIN_PAYMENT"."LOCATION_ID" IS NOT NULL))
    1341 - access("FIN_PAYMENT"."PAYMENT_DATE">"FIN_AGING_ARG"."AGING_DATE")
    1342 - access("TVC"."DAILY_REPORT_NBR"=:B1 AND "VENDOR_CUSTOMER_ID"=:B2)
    1343 - filter("A"."TRANSACTION_NBR"<=:B1 OR :B2=0)
    1344 - access("A"."PAYMENT_NBR"=:B1)
    1345 - filter("FIN_AGING_ARG"."VENDOR_CUSTOMER_FLAG"='N' OR EXISTS (SELECT 0 FROM GRAINVTRC."FIN_AGING_ARG_VC" "TVC"
    WHERE "VENDOR_CUSTOMER_ID"=:B1 AND "TVC"."DAILY_REPORT_NBR"=:B2))
    1346 - filter(NULL IS NOT NULL AND NULL IS NOT NULL)
    1350 - filter("FIN_AGING_ARG"."INVOICE_DATE_FLAG"='N')
    1351 - access("FIN_AGING_ARG"."DAILY_REPORT_NBR"=36)
    1352 - filter("FIN_INVOICE"."FINANCIAL_SOURCE"='A/R' AND ("FIN_INVOICE"."FINANCIAL_SOURCE"="FIN_AGING_ARG"."FINANCIAL_S
    OURCE" OR "FIN_AGING_ARG"."FINANCIAL_SOURCE"='APR') AND "FIN_INVOICE"."INVOICE_DATE"<="FIN_AGING_ARG"."AGING_DATE" AND
    ("FIN_AGING_ARG"."PLC_ID" IS NULL OR "FIN_INVOICE"."LOCATION_ID"="FIN_AGING_ARG"."PLC_ID" AND "FIN_AGING_ARG"."PLC_ID"
    IS NOT NULL) AND CASE WHEN (("FIN_AGING_ARG"."AGE_CREDIT_FLAG"='Y' AND "FIN_INVOICE"."ORIGINAL_AMOUNT"<0) OR
    "FIN_INVOICE"."ORIGINAL_AMOUNT">0) THEN CASE WHEN "FIN_AGING_ARG"."AGING_DATE"-"FIN_INVOICE"."DUE_DATE"<"FIN_AGING_ARG
    "."B_1"+1 THEN 1 WHEN "FIN_AGING_ARG"."AGING_DATE"-"FIN_INVOICE"."DUE_DATE"<"FIN_AGING_ARG"."B_2"+1 THEN 2 WHEN
    "FIN_AGING_ARG"."AGING_DATE"-"FIN_INVOICE"."DUE_DATE"<"FIN_AGING_ARG"."B_3"+1 THEN 3 WHEN
    "FIN_AGING_ARG"."AGING_DATE"-"FIN_INVOICE"."DUE_DATE"<"FIN_AGING_ARG"."B_4"+1 THEN 4 WHEN
    "FIN_AGING_ARG"."AGING_DATE"-"FIN_INVOICE"."DUE_DATE"<"FIN_AGING_ARG"."B_5"+1 THEN 5 ELSE 6 END ELSE 1 END >0)
    1353 - filter("FIN_TRANSACTION"."INVOICE_NBR" IS NOT NULL AND
    "FIN_INVOICE"."INVOICE_NBR"="FIN_TRANSACTION"."INVOICE_NBR" AND ("FIN_AGING_ARG"."MAX_KEY"=0 OR
    "FIN_TRANSACTION"."TRANSACTION_NBR"<="FIN_AGING_ARG"."MAX_KEY"))
    1354 - access("FIN_TRANSACTION"."TRANSACTION_NBR"= (SELECT MAX("TRANSACTION_NBR") FROM GRAINVTRC."FIN_TRANSACTION" "A"
    WHERE "A"."INVOICE_NBR"=:B1 AND "A"."TRANSACTION_DATE"<=:B2 AND ("A"."TRANSACTION_NBR"<=:B3 OR :B4=0)))
    1356 - filter("A"."TRANSACTION_DATE"<=:B1 AND ("A"."TRANSACTION_NBR"<=:B2 OR :B3=0))
    1357 - access("A"."INVOICE_NBR"=:B1)
    1358 - filter("FIN_AGING_ARG"."CREDIT_STATUS"='0' OR "FIN_AGING_ARG"."CREDIT_STATUS"='1' AND
    "S1_CUSTOMER_DATA"."HOLD_FLAG"='Y' OR "FIN_AGING_ARG"."CREDIT_STATUS"='2' AND "S1_CUSTOMER_DATA"."CREDIT_LIMIT" IS NOT
    NULL OR "S1_CUSTOMER_DATA"."HOLD_FLAG"='Y' OR "S1_CUSTOMER_DATA"."CREDIT_LIMIT" IS NOT NULL)
    1359 - access("FIN_INVOICE"."CUSTOMER_VENDOR_ID"="S1_CUSTOMER_DATA"."CUSTOMER_ID")
    1360 - access("TVC"."DAILY_REPORT_NBR"=:B1 AND "VENDOR_CUSTOMER_ID"=:B2)
    1361 - filter("FIN_AGING_ARG"."VENDOR_CUSTOMER_FLAG"='N' OR EXISTS (SELECT 0 FROM GRAINVTRC."FIN_AGING_ARG_VC" "TVC"
    WHERE "VENDOR_CUSTOMER_ID"=:B1 AND "TVC"."DAILY_REPORT_NBR"=:B2))
    1362 - filter(NULL IS NOT NULL AND NULL IS NOT NULL)
    1366 - filter("FIN_AGING_ARG"."INVOICE_DATE_FLAG"='Y')
    1367 - access("FIN_AGING_ARG"."DAILY_REPORT_NBR"=36)
    1368 - filter("FIN_INVOICE"."FINANCIAL_SOURCE"='A/R' AND ("FIN_INVOICE"."FINANCIAL_SOURCE"="FIN_AGING_ARG"."FINANCIAL_S
    OURCE" OR "FIN_AGING_ARG"."FINANCIAL_SOURCE"='APR') AND "FIN_INVOICE"."INVOICE_DATE"<="FIN_AGING_ARG"."AGING_DATE" AND
    ("FIN_AGING_ARG"."PLC_ID" IS NULL OR "FIN_INVOICE"."LOCATION_ID"="FIN_AGING_ARG"."PLC_ID" AND "FIN_AGING_ARG"."PLC_ID"
    IS NOT NULL) AND CASE WHEN (("FIN_AGING_ARG"."AGE_CREDIT_FLAG"='Y' AND "FIN_INVOICE"."ORIGINAL_AMOUNT"<0) OR
    "FIN_INVOICE"."ORIGINAL_AMOUNT">0) THEN CASE WHEN "FIN_AGING_ARG"."AGING_DATE"-"FIN_INVOICE"."INVOICE_DATE"<"FIN_AGING
    _ARG"."B_1"+1 THEN 1 WHEN "FIN_AGING_ARG"."AGING_DATE"-"FIN_INVOICE"."INVOICE_DATE"<"FIN_AGING_ARG"."B_2"+1 THEN 2
    WHEN "FIN_AGING_ARG"."AGING_DATE"-"FIN_INVOICE"."INVOICE_DATE"<"FIN_AGING_ARG"."B_3"+1 THEN 3 WHEN
    "FIN_AGING_ARG"."AGING_DATE"-"FIN_INVOICE"."INVOICE_DATE"<"FIN_AGING_ARG"."B_4"+1 THEN 4 WHEN
    "FIN_AGING_ARG"."AGING_DATE"-"FIN_INVOICE"."INVOICE_DATE"<"FIN_AGING_ARG"."B_5"+1 THEN 5 ELSE 6 END ELSE 1 END >0)
    1369 - filter("FIN_TRANSACTION"."INVOICE_NBR" IS NOT NULL AND
    "FIN_INVOICE"."INVOICE_NBR"="FIN_TRANSACTION"."INVOICE_NBR" AND ("FIN_AGING_ARG"."MAX_KEY"=0 OR
    "FIN_TRANSACTION"."TRANSACTION_NBR"<="FIN_AGING_ARG"."MAX_KEY"))
    1370 - access("FIN_TRANSACTION"."TRANSACTION_NBR"= (SELECT MAX("TRANSACTION_NBR") FROM GRAINVTRC."FIN_TRANSACTION" "A"
    WHERE "A"."INVOICE_NBR"=:B1 AND "A"."TRANSACTION_DATE"<=:B2 AND ("A"."TRANSACTION_NBR"<=:B3 OR :B4=0)))
    1372 - filter("A"."TRANSACTION_DATE"<=:B1 AND ("A"."TRANSACTION_NBR"<=:B2 OR :B3=0))
    1373 - access("A"."INVOICE_NBR"=:B1)
    1374 - filter("FIN_AGING_ARG"."CREDIT_STATUS"='0' OR "FIN_AGING_ARG"."CREDIT_STATUS"='1' AND
    "S1_CUSTOMER_DATA"."HOLD_FLAG"='Y' OR "FIN_AGING_ARG"."CREDIT_STATUS"='2' AND "S1_CUSTOMER_DATA"."CREDIT_LIMIT" IS NOT
    NULL OR "S1_CUSTOMER_DATA"."HOLD_FLAG"='Y' OR "S1_CUSTOMER_DATA"."CREDIT_LIMIT" IS NOT NULL)
    1375 - access("FIN_INVOICE"."CUSTOMER_VENDOR_ID"="S1_CUSTOMER_DATA"."CUSTOMER_ID")
    1376 - access("TVC"."DAILY_REPORT_NBR"=:B1 AND "VENDOR_CUSTOMER_ID"=:B2)
    1377 - filter(("FIN_AGING_ARG"."VENDOR_CUSTOMER_FLAG"='N' OR EXISTS (SELECT 0 FROM GRAINVTRC."FIN_AGING_ARG_VC" "TVC"
    WHERE "VENDOR_CUSTOMER_ID"=:B1 AND "TVC"."DAILY_REPORT_NBR"=:B2)) AND EXISTS (SELECT 0 FROM
    GRAINVTRC."FIN_TRANSACTION" "A" WHERE "A"."INVOICE_NBR"=:B3 AND ("A"."TRANSACTION_NBR"<=:B4 OR :B5=0)))
    1378 - filter(NULL IS NOT NULL)
    1379 - access("FIN_INVOICE"."CUSTOMER_VENDOR_ID"="S1_CUSTOMER_DATA"."CUSTOMER_ID")
    filter(("FIN_INVOICE"."FINANCIAL_SOURCE"="FIN_AGING_ARG"."FINANCIAL_SOURCE" OR
    "FIN_AGING_ARG"."FINANCIAL_SOURCE"='APR') AND "FIN_INVOICE"."INVOICE_DATE">"FIN_AGING_ARG"."AGING_DATE" AND
    ("FIN_AGING_ARG"."PLC_ID" IS NULL OR "FIN_INVOICE"."LOCATION_ID"="FIN_AGING_ARG"."PLC_ID" AND "FIN_AGING_ARG"."PLC_ID"
    IS NOT NULL) AND ("FIN_INVOICE"."INVOICE_STATUS"<>'C' OR "FIN_AGING_ARG"."AGING_DATE"<="FIN_INVOICE"."LAST_TRANSACTION_
    DATE" OR "FIN_INVOICE"."BALANCE_FORWARD_PRINT_FLAG"<>'Y'))
    1382 - access("FIN_AGING_ARG"."DAILY_REPORT_NBR"=36)
    1383 - filter("FIN_AGING_ARG"."CREDIT_STATUS"='0' OR "FIN_AGING_ARG"."CREDIT_STATUS"='1' AND
    "S1_CUSTOMER_DATA"."HOLD_FLAG"='Y' OR "FIN_AGING_ARG"."CREDIT_STATUS"='2' AND "S1_CUSTOMER_DATA"."CREDIT_LIMIT" IS NOT
    NULL OR "S1_CUSTOMER_DATA"."HOLD_FLAG"='Y' OR "S1_CUSTOMER_DATA"."CREDIT_LIMIT" IS NOT NULL)
    1384 - filter("FIN_INVOICE"."FINANCIAL_SOURCE"='A/R')
    1385 - access("TVC"."DAILY_REPORT_NBR"=:B1 AND "VENDOR_CUSTOMER_ID"=:B2)
    1386 - filter("A"."TRANSACTION_NBR"<=:B1 OR :B2=0)
    1387 - access("A"."INVOICE_NBR"=:B1)
    1388 - filter(("FIN_AGING_ARG"."VENDOR_CUSTOMER_FLAG"='N' OR EXISTS (SELECT 0 FROM GRAINVTRC."FIN_AGING_ARG_VC" "TVC"
    WHERE "VENDOR_CUSTOMER_ID"=:B1 AND "TVC"."DAILY_REPORT_NBR"=:B2)) AND "FIN_TRANSACTION"."TRANSACTION_NBR"= (SELECT
    MAX("TRANSACTION_NBR") FROM GRAINVTRC."FIN_TRANSACTION" "A" WHERE "A"."PAYMENT_NBR"=:B3 AND
    "A"."TRANSACTION_DATE"<=:B4 AND ("A"."TRANSACTION_NBR"<=:B5 OR :B6=0)))
    1389 - filter(NULL IS NOT NULL)
    1390 - access("FIN_PAYMENT"."CUSTOMER_VENDOR_ID"="S1_CUSTOMER_DATA"."CUSTOMER_ID")
    filter("FIN_AGING_ARG"."CREDIT_STATUS"='0' OR "FIN_AGING_ARG"."CREDIT_STATUS"='1' AND
    "S1_CUSTOMER_DATA"."HOLD_FLAG"='Y' OR "FIN_AGING_ARG"."CREDIT_STATUS"='2' AND "S1_CUSTOMER_DATA"."CREDIT_LIMIT" IS NOT
    NULL OR "S1_CUSTOMER_DATA"."HOLD_FLAG"='Y' OR "S1_CUSTOMER_DATA"."CREDIT_LIMIT" IS NOT NULL)
    1392 - access("FIN_PAYMENT"."PAYMENT_NBR"="FIN_TRANSACTION"."PAYMENT_NBR")
    filter(("FIN_PAYMENT"."FINANCIAL_SOURCE"="FIN_AGING_ARG"."FINANCIAL_SOURCE" OR
    "FIN_AGING_ARG"."FINANCIAL_SOURCE"='APR') AND "FIN_PAYMENT"."PAYMENT_DATE"<="FIN_AGING_ARG"."AGING_DATE" AND
    ("FIN_AGING_ARG"."PLC_ID" IS NULL OR "FIN_AGING_ARG"."PLC_ID" IS NOT NULL AND
    "FIN_PAYMENT"."LOCATION_ID"="FIN_AGING_ARG"."PLC_ID" AND "FIN_PAYMENT"."LOCATION_ID" IS NOT NULL) AND CASE WHEN
    "FIN_AGING_ARG"."AGE_CREDIT_FLAG"='Y' THEN CASE WHEN "FIN_AGING_ARG"."AGING_DATE"-"FIN_PAYMENT"."PAYMENT_DATE"<"FIN_AG
    ING_ARG"."B_1"+1 THEN 1 WHEN "FIN_AGING_ARG"."AGING_DATE"-"FIN_PAYMENT"."PAYMENT_DATE"<"FIN_AGING_ARG"."B_2"+1 THEN 2
    WHEN "FIN_AGING_ARG"."AGING_DATE"-"FIN_PAYMENT"."PAYMENT_DATE"<"FIN_AGING_ARG"."B_3"+1 THEN 3 WHEN
    "FIN_AGING_ARG"."AGING_DATE"-"FIN_PAYMENT"."PAYMENT_DATE"<"FIN_AGING_ARG"."B_4"+1 THEN 4 WHEN
    "FIN_AGING_ARG"."AGING_DATE"-"FIN_PAYMENT"."PAYMENT_DATE"<"FIN_AGING_ARG"."B_5"+1 THEN 5 ELSE 6 END ELSE 1 END >0)
    1393 - filter("FIN_PAYMENT"."FINANCIAL_SOURCE"='A/R' AND ("FIN_PAYMENT"."INTERNAL_FLAG"='N' OR
    "FIN_PAYMENT"."INTERNAL_FLAG"='Y' AND ("FIN_PAYMENT"."PAYMENT_TYPE"='C' OR "FIN_PAYMENT"."PAYMENT_TYPE"='N')))
    1396 - access("FIN_AGING_ARG"."DAILY_REPORT_NBR"=36)
    1397 - filter("FIN_TRANSACTION"."PAYMENT_NBR" IS NOT NULL AND ("FIN_AGING_ARG"."MAX_KEY"=0 OR
    "FIN_TRANSACTION"."TRANSACTION_NBR"<="FIN_AGING_ARG"."MAX_KEY"))
    1398 - access("TVC"."DAILY_REPORT_NBR"=:B1 AND "VENDOR_CUSTOMER_ID"=:B2)
    1400 - filter("A"."TRANSACTION_DATE"<=:B1 AND ("A"."TRANSACTION_NBR"<=:B2 OR :B3=0))
    1401 - access("A"."PAYMENT_NBR"=:B1)
    1402 - filter(("FIN_AGING_ARG"."VENDOR_CUSTOMER_FLAG"='N' OR EXISTS (SELECT 0 FROM GRAINVTRC."FIN_AGING_ARG_VC" "TVC"
    WHERE "VENDOR_CUSTOMER_ID"=:B1 AND "TVC"."DAILY_REPORT_NBR"=:B2)) AND EXISTS (SELECT 0 FROM
    GRAINVTRC."FIN_TRANSACTION" "A" WHERE "A"."PAYMENT_NBR"=:B3 AND ("A"."TRANSACTION_NBR"<=:B4 OR :B5=0)))
    1406 - access("FIN_AGING_ARG"."DAILY_REPORT_NBR"=36)
    1407 - filter("FIN_PAYMENT"."FINANCIAL_SOURCE"='A/R' AND ("FIN_PAYMENT"."INTERNAL_FLAG"='N' OR
    "FIN_PAYMENT"."INTERNAL_FLAG"='Y' AND ("FIN_PAYMENT"."PAYMENT_TYPE"='C' OR "FIN_PAYMENT"."PAYMENT_TYPE"='N')) AND
    ("FIN_PAYMENT"."FINANCIAL_SOURCE"="FIN_AGING_ARG"."FINANCIAL_SOURCE" OR "FIN_AGING_ARG"."FINANCIAL_SOURCE"='APR') AND
    ("UNAPPLIED_AMOUNT"<>0 OR "FIN_AGING_ARG"."AGING_DATE"<="LAST_TRANSACTION_DATE") AND ("FIN_AGING_ARG"."PLC_ID" IS NULL
    OR "FIN_AGING_ARG"."PLC_ID" IS NOT NULL AND "FIN_PAYMENT"."LOCATION_ID"="FIN_AGING_ARG"."PLC_ID" AND
    "FIN_PAYMENT"."LOCATION_ID" IS NOT NULL))
    1408 - access("FIN_PAYMENT"."PAYMENT_DATE">"FIN_AGING_ARG"."AGING_DATE")
    1409 - filter("FIN_AGING_ARG"."CREDIT_STATUS"='0' OR "FIN_AGING_ARG"."CREDIT_STATUS"='1' AND
    "S1_CUSTOMER_DATA"."HOLD_FLAG"='Y' OR "FIN_AGING_ARG"."CREDIT_STATUS"='2' AND "S1_CUSTOMER_DATA"."CREDIT_LIMIT" IS NOT
    NULL OR "S1_CUSTOMER_DATA"."HOLD_FLAG"='Y' OR "S1_CUSTOMER_DATA"."CREDIT_LIMIT" IS NOT NULL)
    1410 - access("FIN_PAYMENT"."CUSTOMER_VENDOR_ID"="S1_CUSTOMER_DATA"."CUSTOMER_ID")
    1411 - access("TVC"."DAILY_REPORT_NBR"=:B1 AND "VENDOR_CUSTOMER_ID"=:B2)
    1412 - filter("A"."TRANSACTION_NBR"<=:B1 OR :B2=0)
    1413 - access("A"."PAYMENT_NBR"=:B1)
    1414 - filter("A"."LOCATION_ID" IS NOT NULL AND ("A"."INTERNAL_FLAG"='N' OR ("A"."PAYMENT_TYPE"='C' OR
    "A"."PAYMENT_TYPE"='N')))
    1415 - access("FIN_AGING_INVOICE_VIEW"."SERIAL_NUMBER"="A"."PAYMENT_NBR")
    1416 - access("A1_USER_LOCATION"."USER_ID"='BRENT' AND "A1_USER_LOCATION"."PLC_ID"="A"."LOCATION_ID")
    1418 - access("SB"."NAME_AND_ADDRESS_ID"="A"."CUSTOMER_VENDOR_ID")
    1420 - access("SB"."NAME_AND_ADDRESS_ID"="S1_CUSTOMER_DATA"."CUSTOMER_ID")
    1421 - access("SB"."TRADER_ID"="S1_TRADER"."TRADER_ID"(+))
    1423 - access("SA"."NAME_AND_ADDRESS_ID"="A"."LOCATION_ID")
    1425 - access("S1_CURRENCY_A"."CURRENCY_CODE"="SA"."CURRENCY_CODE")
    1427 - access("A"."CURRENCY_CODE"="S1_CURRENCY"."CURRENCY_CODE")
    1428 - filter("TA"."INVOICE_NBR" IS NOT NULL AND "TA"."FINANCIAL_SOURCE"='A/R' AND "TA"."TRANSACTION_TYPE"<>'PAY' AND
    "TA"."REVERSED_TRANSACTION_NBR" IS NULL)
    1429 - access("A"."PAYMENT_NBR"="TA"."PAYMENT_NBR")
    filter("TA"."PAYMENT_NBR" IS NOT NULL)
    1431 - access("TA"."TRANSACTION_TYPE"="FIN_TRANSACTION_TYPE"."CODE")
    filter("FIN_TRANSACTION_TYPE"."CODE"<>'PAY')
    1432 - access("SB"."NAME_AND_ADDRESS_ID"="S1_NA_BUSINESS_TYPE"."NAME_AND_ADDRESS_ID"(+))
    1447 - filter("FIN_AGING_ARG"."VENDOR_CUSTOMER_FLAG"='N' OR EXISTS (SELECT 0 FROM GRAINVTRC."FIN_AGING_ARG_VC" "TVC"
    WHERE "VENDOR_CUSTOMER_ID"=:B1 AND "TVC"."DAILY_REPORT_NBR"=:B2))
    1448 - filter(NULL IS NOT NULL AND NULL IS NOT NULL)
    1451 - filter("FIN_AGING_ARG"."INVOICE_DATE_FLAG"='N')
    1452 - access("FIN_AGING_ARG"."DAILY_REPORT_NBR"=36)
    1453 - filter("FIN_INVOICE"."FINANCIAL_SOURCE"='A/P' AND ("FIN_INVOICE"."FINANCIAL_SOURCE"="FIN_AGING_ARG"."FINANCIAL_S
    OURCE" OR "FIN_AGING_ARG"."FINANCIAL_SOURCE"='APR') AND "FIN_INVOICE"."INVOICE_DATE"<="FIN_AGING_ARG"."AGING_DATE" AND
    ("FIN_AGING_ARG"."PLC_ID" IS NULL OR "FIN_INVOICE"."LOCATION_ID"="FIN_AGING_ARG"."PLC_ID" AND "FIN_AGING_ARG"."PLC_ID"
    IS NOT NULL) AND CASE WHEN (("FIN_AGING_ARG"."AGE_CREDIT_FLAG"='Y' AND "FIN_INVOICE"."ORIGINAL_AMOUNT"<0) OR
    "FIN_INVOICE"."ORIGINAL_AMOUNT">0) THEN CASE WHEN "FIN_AGING_ARG"."AGING_DATE"-"FIN_INVOICE"."DUE_DATE"<"FIN_AGING_ARG
    "."B_1"+1 THEN 1 WHEN "FIN_AGING_ARG"."AGING_DATE"-"FIN_INVOICE"."DUE_DATE"<"FIN_AGING_ARG"."B_2"+1 THEN 2 WHEN
    "FIN_AGING_ARG"."AGING_DATE"-"FIN_INVOICE"."DUE_DATE"<"FIN_AGING_ARG"."B_3"+1 THEN 3 WHEN
    "FIN_AGING_ARG"."AGING_DATE"-"FIN_INVOICE"."DUE_DATE"<"FIN_AGING_ARG"."B_4"+1 THEN 4 WHEN
    "FIN_AGING_ARG"."AGING_DATE"-"FIN_INVOICE"."DUE_DATE"<"FIN_AGING_ARG"."B_5"+1 THEN 5 ELSE 6 END ELSE 1 END >0)
    1454 - filter("FIN_TRANSACTION"."INVOICE_NBR" IS NOT NULL AND
    "FIN_INVOICE"."INVOICE_NBR"="FIN_TRANSACTION"."INVOICE_NBR" AND ("FIN_AGING_ARG"."MAX_KEY"=0 OR
    "FIN_TRANSACTION"."TRANSACTION_NBR"<="FIN_AGING_ARG"."MAX_KEY"))
    1455 - access("FIN_TRANSACTION"."TRANSACTION_NBR"= (SELECT MAX("TRANSACTION_NBR") FROM GRAINVTRC."FIN_TRANSACTION" "A"
    WHERE "A"."INVOICE_NBR"=:B1 AND "A"."TRANSACTION_DATE"<=:B2 AND ("A"."TRANSACTION_NBR"<=:B3 OR :B4=0)))
    1457 - filter("A"."TRANSACTION_DATE"<=:B1 AND ("A"."TRANSACTION_NBR"<=:B2 OR :B3=0))
    1458 - access("A"."INVOICE_NBR"=:B1)
    1459 - access("TVC"."DAILY_REPORT_NBR"=:B1 AND "VENDOR_CUSTOMER_ID"=:B2)
    1460 - filter("FIN_AGING_ARG"."VENDOR_CUSTOMER_FLAG"='N' OR EXISTS (SELECT 0 FROM GRAINVTRC."FIN_AGING_ARG_VC" "TVC"
    WHERE "VENDOR_CUSTOMER_ID"=:B1 AND "TVC"."DAILY_REPORT_NBR"=:B2))
    1461 - filter(NULL IS NOT NULL AND NULL IS NOT NULL)
    1464 - filter("FIN_AGING_ARG"."INVOICE_DATE_FLAG"='Y')
    1465 - access("FIN_AGING_ARG"."DAILY_REPORT_NBR"=36)
    1466 - filter("FIN_INVOICE"."FINANCIAL_SOURCE"='A/P' AND ("FIN_INVOICE"."FINANCIAL_SOURCE"="FIN_AGING_ARG"."FINANCIAL_S
    OURCE" OR "FIN_AGING_ARG"."FINANCIAL_SOURCE"='APR') AND "FIN_INVOICE"."INVOICE_DATE"<="FIN_AGING_ARG"."AGING_DATE" AND
    ("FIN_AGING_ARG"."PLC_ID" IS NULL OR "FIN_INVOICE"."LOCATION_ID"="FIN_AGING_ARG"."PLC_ID" AND "FIN_AGING_ARG"."PLC_ID"
    IS NOT NULL) AND CASE WHEN (("FIN_AGING_ARG"."AGE_CREDIT_FLAG"='Y' AND "FIN_INVOICE"."ORIGINAL_AMOUNT"<0) OR
    "FIN_INVOICE"."ORIGINAL_AMOUNT">0) THEN CASE WHEN "FIN_AGING_ARG"."AGING_DATE"-"FIN_INVOICE"."INVOICE_DATE"<"FIN_AGING
    _ARG"."B_1"+1 THEN 1 WHEN "FIN_AGING_ARG"."AGING_DATE"-"FIN_INVOICE"."INVOICE_DATE"<"FIN_AGING_ARG"."B_2"+1 THEN 2
    WHEN "FIN_AGING_ARG"."AGING_DATE"-"FIN_INVOICE"."INVOICE_DATE"<"FIN_AGING_ARG"."B_3"+1 THEN 3 WHEN
    "FIN_AGING_ARG"."AGING_DATE"-"FIN_INVOICE"."INVOICE_DATE"<"FIN_AGING_ARG"."B_4"+1 THEN 4 WHEN
    "FIN_AGING_ARG"."AGING_DATE"-"FIN_INVOICE"."INVOICE_DATE"<"FIN_AGING_ARG"."B_5"+1 THEN 5 ELSE 6 END ELSE 1 END >0)
    1467 - filter("FIN_TRANSACTION"."INVOICE_NBR" IS NOT NULL AND
    "FIN_INVOICE"."INVOICE_NBR"="FIN_TRANSACTION"."INVOICE_NBR" AND ("FIN_AGING_ARG"."MAX_KEY"=0 OR
    "FIN_TRANSACTION"."TRANSACTION_NBR"<="FIN_AGING_ARG"."MAX_KEY"))
    1468 - access("FIN_TRANSACTION"."TRANSACTION_NBR"= (SELECT MAX("TRANSACTION_NBR") FROM GRAINVTRC."FIN_TRANSACTION" "A"
    WHERE "A"."INVOICE_NBR"=:B1 AND "A"."TRANSACTION_DATE"<=:B2 AND ("A"."TRANSACTION_NBR"<=:B3 OR :B4=0)))
    1470 - filter("A"."TRANSACTION_DATE"<=:B1 AND ("A"."TRANSACTION_NBR"<=:B2 OR :B3=0))
    1471 - access("A"."INVOICE_NBR"=:B1)
    1472 - access("TVC"."DAILY_REPORT_NBR"=:B1 AND "VENDOR_CUSTOMER_ID"=:B2)
    1473 - filter(("FIN_AGING_ARG"."VENDOR_CUSTOMER_FLAG"='N' OR EXISTS (SELECT 0 FROM GRAINVTRC."FIN_AGING_ARG_VC" "TVC"
    WHERE "VENDOR_CUSTOMER_ID"=:B1 AND "TVC"."DAILY_REPORT_NBR"=:B2)) AND EXISTS (SELECT 0 FROM
    GRAINVTRC."FIN_TRANSACTION" "A" WHERE "A"."INVOICE_NBR"=:B3 AND ("A"."TRANSACTION_NBR"<=:B4 OR :B5=0)))
    1474 - filter(NULL IS NOT NULL)
    1477 - access("FIN_AGING_ARG"."DAILY_REPORT_NBR"=36)
    1478 - filter("FIN_INVOICE"."FINANCIAL_SOURCE"='A/P' AND ("FIN_INVOICE"."FINANCIAL_SOURCE"="FIN_AGING_ARG"."FINANCIAL_S
    OURCE" OR "FIN_AGING_ARG"."FINANCIAL_SOURCE"='APR') AND "FIN_INVOICE"."INVOICE_DATE">"FIN_AGING_ARG"."AGING_DATE" AND
    ("FIN_AGING_ARG"."PLC_ID" IS NULL OR "FIN_INVOICE"."LOCATION_ID"="FIN_AGING_ARG"."PLC_ID" AND "FIN_AGING_ARG"."PLC_ID"
    IS NOT NULL) AND ("FIN_INVOICE"."INVOICE_STATUS"<>'C' OR "FIN_AGING_ARG"."AGING_DATE"<="FIN_INVOICE"."LAST_TRANSACTION_
    DATE" OR "FIN_INVOICE"."BALANCE_FORWARD_PRINT_FLAG"<>'Y'))
    1479 - access("TVC"."DAILY_REPORT_NBR"=:B1 AND "VENDOR_CUSTOMER_ID"=:B2)
    1480 - filter("A"."TRANSACTION_NBR"<=:B1 OR :B2=0)
    1481 - access("A"."INVOICE_NBR"=:B1)
    1482 - filter(("FIN_AGING_ARG"."VENDOR_CUSTOMER_FLAG"='N' OR EXISTS (SELECT 0 FROM GRAINVTRC."FIN_AGING_ARG_VC" "TVC"
    WHERE "VENDOR_CUSTOMER_ID"=:B1 AND "TVC"."DAILY_REPORT_NBR"=:B2)) AND "FIN_TRANSACTION"."TRANSACTION_NBR"= (SELECT
    MAX("TRANSACTION_NBR") FROM GRAINVTRC."FIN_TRANSACTION" "A" WHERE "A"."PAYMENT_NBR"=:B3 AND
    "A"."TRANSACTION_DATE"<=:B4 AND ("A"."TRANSACTION_NBR"<=:B5 OR :B6=0)))
    1483 - filter(NULL IS NOT NULL)
    1484 - access("FIN_PAYMENT"."PAYMENT_NBR"="FIN_TRANSACTION"."PAYMENT_NBR")
    filter(("FIN_PAYMENT"."FINANCIAL_SOURCE"="FIN_AGING_ARG"."FINANCIAL_SOURCE" OR
    "FIN_AGING_ARG"."FINANCIAL_SOURCE"='APR') AND "FIN_PAYMENT"."PAYMENT_DATE"<="FIN_AGING_ARG"."AGING_DATE" AND
    ("FIN_AGING_ARG"."PLC_ID" IS NULL OR "FIN_AGING_ARG"."PLC_ID" IS NOT NULL AND
    "FIN_PAYMENT"."LOCATION_ID"="FIN_AGING_ARG"."PLC_ID" AND "FIN_PAYMENT"."LOCATION_ID" IS NOT NULL) AND CASE WHEN
    "FIN_AGING_ARG"."AGE_CREDIT_FLAG"='Y' THEN CASE WHEN "FIN_AGING_ARG"."AGING_DATE"-"FIN_PAYMENT"."PAYMENT_DATE"<"FIN_AG
    ING_ARG"."B_1"+1 THEN 1 WHEN "FIN_AGING_ARG"."AGING_DATE"-"FIN_PAYMENT"."PAYMENT_DATE"<"FIN_AGING_ARG"."B_2"+1 THEN 2
    WHEN "FIN_AGING_ARG"."AGING_DATE"-"FIN_PAYMENT"."PAYMENT_DATE"<"FIN_AGING_ARG"."B_3"+1 THEN 3 WHEN

    Murray Sobol wrote:
    Thank you for your USELESS comments.
    If you can not or are not able to provide any meaningful suggestions, please dont waste MY time and the FORUM's space.
    You have just been promoted to my SPAM filter.You have scattered your problem in hard-to-read and unformatted text across 7 separate postings.
    Query Tuning Assistance - part 2
    Query Tuning Assistance - Part 3
    Query Tuning Assistance - part 4
    Query Tuning Assistance - part 5
    Query Tuning Assistance - part 6
    Query Tuning Assistance - part 7
    (and exactly how are we suppose to have a meaningful discussion about this problem when any such answers will be scattered across 7 different threads!?)
    You have NOT bothered to read the forum FAQ that explains in detail how to write a query tuning posting.
    And good luck with the non-existent spam filter here on OTN.
    PS. Correction. See you also posted a part 8 (Query Tuning Assistance - part 8 You just do not seem to get it, huh? Ever read http://catb.org/esr/faqs/smart-questions.html - you should. And sooner rather than later.
    Edited by: Billy Verreynne on Mar 4, 2012 2:45 PM

  • Fine Tuning Java 1.1 Double Buffering?

    Dear Java gurus,
    Hi, I'm looking for suggestions on improving the performance of my double buffering technique for pure Java 1.1 applets.
    My current method seems to eat up more CPU & RAM than it should. I fear that real implementations (with far more drawing to the buffer before update), would be impractically slow and choke using double buffering the way I am now.
    I have programmed a simple applet demonstrating my current method (code below), which runs at 20 fps. I tried to keep it short and sweet.
    I'm only looking for pure Java 1.1 code.
    Thanks in advance. =)
    import java.awt.*;
    import java.applet.*;
    public class ColourFader extends Applet implements Runnable {
    // Class Variables
         int appletWidth = 600;
         int appletHeight = 300;
         int fps = 20;
         int delay = 1000 / fps;
         int nextRGB [] = {255, 0, 255};
         int currRGB [] = {0, 255, 0};
    // Class Objects
         Image offImage;
         Graphics offGraphics;
         Thread animator;
    // Applet Methods          
         public void start() {
              animator = new Thread(this);
              animator.start();
              offImage = createImage(appletWidth, appletHeight);
              offGraphics = offImage.getGraphics();
         public void stop() {
              animator = null;
              offImage = null;
              offGraphics = null;
         public void paint(Graphics g) {
              g.drawImage(offImage, 0, 0, null);
              update(g);
    // Runnable Method
         public void run() {
              while(Thread.currentThread() == animator) {
                   long tm = System.currentTimeMillis();
                   repaint();
                   try {
                        tm += delay;
                        Thread.sleep(Math.max(0, tm - System.currentTimeMillis()));
                   } catch (InterruptedException e) {
                        break;
    // Convenience Methods
         public void update(Graphics g) {
              fadeRGBValues();
              paintFrame(offGraphics);
              g.drawImage(offImage, 0, 0, null);
         public void paintFrame(Graphics g) {
              g.setColor(new Color(currRGB[0], currRGB[1], currRGB[2]));
              g.fillRect(0, 0, appletWidth, appletHeight);          
         public void fadeRGBValues() {
              for(int i = 0; i <= 2; i++) {
                   if(currRGB[i] < nextRGB) {
                        currRGB[i] += 1;
                   } else if (currRGB[i] > nextRGB[i]) {
                        currRGB[i] -= 1;
                   } else {
                        nextRGB[i] = randomNum();
         public int randomNum() {
              double randomDouble = Math.random() * 255.0;
              int randomInt = (int) randomDouble;
              return(randomInt);

    Usually first update is called, then paint. In your paint method you call update, I don't see any reason for that. You want your paint method to be fast, so I would remove the update call.
    Instead I would call paint from the update method. Update is not needed to be called as often as the paint method. I think I would make the update method do nothing (just call the paint method). Then I would make another method I could call when I need to make some updates, and which did not take any graphics object as argument, becuase you dont need it.
    So something like this:
    public void update(Graphics g) {
    Ā  paint(g);
    public void paint(Graphics g) {
    Ā  g.drawImage(offImage, 0, 0, null);
    public void update() {
    Ā  fadeRGBValues();
    Ā  paintFrame(offGraphics);Ā 
    }Then in your run method, just before repaint(), I would call update().
    Thread.sleep(0) would sleep forever I think. So be careful with that. A better way to do it:
    public void run() {
    Ā  long start = System.currentTimeMillis();
    Ā  int count = 0;
    Ā  while (Thread.currentThread() == animator) {
    Ā Ā Ā  update();
    Ā Ā Ā  repaint();
    Ā Ā Ā  count++;
    Ā Ā Ā  long sleep = count*delay-(System.currentTimeMillis()-start);
    Ā Ā Ā  if (sleep > 0) {
    Ā Ā Ā Ā Ā  try {
    Ā Ā Ā Ā Ā Ā Ā  Thread.sleep(sleep);
    Ā Ā Ā Ā Ā  } catch (InterruptedException e) {
    Ā Ā Ā Ā Ā Ā Ā  break;
    }

  • Preformance Tuning assistance

    Greeting all,
    Using: Oracle 10.1.0.5.0
    I seem to be having a bit of a problem wiht the length of time my queries take to run.
    I'm reading the Preformance and Tuning manual, but am not having much luck ( making next to no since)
    I ran the Hit/Miss ratio queries I found that were off linked in another post and they seem to be fine, but over the past month or two, queries that used to take 2 - 3 minutes to run are now taking 15 - 20 minutes. I've tried playing around with some hints, but they dont seem to do anything to help speed up the process. Any thoughts or idea would be muchly appericated.
    -Joseph

    Did you do a sql trace on the queries and used tkprof to analyze what is taking so long?
    http://download-east.oracle.com/docs/cd/B10501_01/server.920/a96533/sqltrace.htm#1018

  • Query Tuning Assistance - part 8

    "FIN_AGING_ARG"."AGING_DATE"-"FIN_PAYMENT"."PAYMENT_DATE"<"FIN_AGING_ARG"."B_4"+1 THEN 4 WHEN
    "FIN_AGING_ARG"."AGING_DATE"-"FIN_PAYMENT"."PAYMENT_DATE"<"FIN_AGING_ARG"."B_5"+1 THEN 5 ELSE 6 END ELSE 1 END >0)
    1485 - filter("FIN_PAYMENT"."FINANCIAL_SOURCE"='A/P' AND ("FIN_PAYMENT"."INTERNAL_FLAG"='N' OR
    "FIN_PAYMENT"."INTERNAL_FLAG"='Y' AND ("FIN_PAYMENT"."PAYMENT_TYPE"='C' OR "FIN_PAYMENT"."PAYMENT_TYPE"='N')))
    1488 - access("FIN_AGING_ARG"."DAILY_REPORT_NBR"=36)
    1489 - filter("FIN_TRANSACTION"."PAYMENT_NBR" IS NOT NULL AND ("FIN_AGING_ARG"."MAX_KEY"=0 OR
    "FIN_TRANSACTION"."TRANSACTION_NBR"<="FIN_AGING_ARG"."MAX_KEY"))
    1490 - access("TVC"."DAILY_REPORT_NBR"=:B1 AND "VENDOR_CUSTOMER_ID"=:B2)
    1492 - filter("A"."TRANSACTION_DATE"<=:B1 AND ("A"."TRANSACTION_NBR"<=:B2 OR :B3=0))
    1493 - access("A"."PAYMENT_NBR"=:B1)
    1494 - filter(("FIN_AGING_ARG"."VENDOR_CUSTOMER_FLAG"='N' OR EXISTS (SELECT 0 FROM GRAINVTRC."FIN_AGING_ARG_VC" "TVC"
    WHERE "VENDOR_CUSTOMER_ID"=:B1 AND "TVC"."DAILY_REPORT_NBR"=:B2)) AND EXISTS (SELECT 0 FROM
    GRAINVTRC."FIN_TRANSACTION" "A" WHERE "A"."PAYMENT_NBR"=:B3 AND ("A"."TRANSACTION_NBR"<=:B4 OR :B5=0)))
    1497 - access("FIN_AGING_ARG"."DAILY_REPORT_NBR"=36)
    1498 - filter("FIN_PAYMENT"."FINANCIAL_SOURCE"='A/P' AND ("FIN_PAYMENT"."INTERNAL_FLAG"='N' OR
    "FIN_PAYMENT"."INTERNAL_FLAG"='Y' AND ("FIN_PAYMENT"."PAYMENT_TYPE"='C' OR "FIN_PAYMENT"."PAYMENT_TYPE"='N')) AND
    ("FIN_PAYMENT"."FINANCIAL_SOURCE"="FIN_AGING_ARG"."FINANCIAL_SOURCE" OR "FIN_AGING_ARG"."FINANCIAL_SOURCE"='APR') AND
    ("UNAPPLIED_AMOUNT"<>0 OR "FIN_AGING_ARG"."AGING_DATE"<="LAST_TRANSACTION_DATE") AND ("FIN_AGING_ARG"."PLC_ID" IS NULL
    OR "FIN_AGING_ARG"."PLC_ID" IS NOT NULL AND "FIN_PAYMENT"."LOCATION_ID"="FIN_AGING_ARG"."PLC_ID" AND
    "FIN_PAYMENT"."LOCATION_ID" IS NOT NULL))
    1499 - access("FIN_PAYMENT"."PAYMENT_DATE">"FIN_AGING_ARG"."AGING_DATE")
    1500 - access("TVC"."DAILY_REPORT_NBR"=:B1 AND "VENDOR_CUSTOMER_ID"=:B2)
    1501 - filter("A"."TRANSACTION_NBR"<=:B1 OR :B2=0)
    1502 - access("A"."PAYMENT_NBR"=:B1)
    1503 - filter("FIN_AGING_ARG"."VENDOR_CUSTOMER_FLAG"='N' OR EXISTS (SELECT 0 FROM GRAINVTRC."FIN_AGING_ARG_VC" "TVC"
    WHERE "VENDOR_CUSTOMER_ID"=:B1 AND "TVC"."DAILY_REPORT_NBR"=:B2))
    1504 - filter(NULL IS NOT NULL AND NULL IS NOT NULL)
    1508 - filter("FIN_AGING_ARG"."INVOICE_DATE_FLAG"='N')
    1509 - access("FIN_AGING_ARG"."DAILY_REPORT_NBR"=36)
    1510 - filter("FIN_INVOICE"."FINANCIAL_SOURCE"='A/R' AND ("FIN_INVOICE"."FINANCIAL_SOURCE"="FIN_AGING_ARG"."FINANCIAL_S
    OURCE" OR "FIN_AGING_ARG"."FINANCIAL_SOURCE"='APR') AND "FIN_INVOICE"."INVOICE_DATE"<="FIN_AGING_ARG"."AGING_DATE" AND
    ("FIN_AGING_ARG"."PLC_ID" IS NULL OR "FIN_INVOICE"."LOCATION_ID"="FIN_AGING_ARG"."PLC_ID" AND "FIN_AGING_ARG"."PLC_ID"
    IS NOT NULL) AND CASE WHEN (("FIN_AGING_ARG"."AGE_CREDIT_FLAG"='Y' AND "FIN_INVOICE"."ORIGINAL_AMOUNT"<0) OR
    "FIN_INVOICE"."ORIGINAL_AMOUNT">0) THEN CASE WHEN "FIN_AGING_ARG"."AGING_DATE"-"FIN_INVOICE"."DUE_DATE"<"FIN_AGING_ARG
    "."B_1"+1 THEN 1 WHEN "FIN_AGING_ARG"."AGING_DATE"-"FIN_INVOICE"."DUE_DATE"<"FIN_AGING_ARG"."B_2"+1 THEN 2 WHEN
    "FIN_AGING_ARG"."AGING_DATE"-"FIN_INVOICE"."DUE_DATE"<"FIN_AGING_ARG"."B_3"+1 THEN 3 WHEN
    "FIN_AGING_ARG"."AGING_DATE"-"FIN_INVOICE"."DUE_DATE"<"FIN_AGING_ARG"."B_4"+1 THEN 4 WHEN
    "FIN_AGING_ARG"."AGING_DATE"-"FIN_INVOICE"."DUE_DATE"<"FIN_AGING_ARG"."B_5"+1 THEN 5 ELSE 6 END ELSE 1 END >0)
    1511 - filter("FIN_TRANSACTION"."INVOICE_NBR" IS NOT NULL AND
    "FIN_INVOICE"."INVOICE_NBR"="FIN_TRANSACTION"."INVOICE_NBR" AND ("FIN_AGING_ARG"."MAX_KEY"=0 OR
    "FIN_TRANSACTION"."TRANSACTION_NBR"<="FIN_AGING_ARG"."MAX_KEY"))
    1512 - access("FIN_TRANSACTION"."TRANSACTION_NBR"= (SELECT MAX("TRANSACTION_NBR") FROM GRAINVTRC."FIN_TRANSACTION" "A"
    WHERE "A"."INVOICE_NBR"=:B1 AND "A"."TRANSACTION_DATE"<=:B2 AND ("A"."TRANSACTION_NBR"<=:B3 OR :B4=0)))
    1514 - filter("A"."TRANSACTION_DATE"<=:B1 AND ("A"."TRANSACTION_NBR"<=:B2 OR :B3=0))
    1515 - access("A"."INVOICE_NBR"=:B1)
    1516 - filter("FIN_AGING_ARG"."CREDIT_STATUS"='0' OR "FIN_AGING_ARG"."CREDIT_STATUS"='1' AND
    "S1_CUSTOMER_DATA"."HOLD_FLAG"='Y' OR "FIN_AGING_ARG"."CREDIT_STATUS"='2' AND "S1_CUSTOMER_DATA"."CREDIT_LIMIT" IS NOT
    NULL OR "S1_CUSTOMER_DATA"."HOLD_FLAG"='Y' OR "S1_CUSTOMER_DATA"."CREDIT_LIMIT" IS NOT NULL)
    1517 - access("FIN_INVOICE"."CUSTOMER_VENDOR_ID"="S1_CUSTOMER_DATA"."CUSTOMER_ID")
    1518 - access("TVC"."DAILY_REPORT_NBR"=:B1 AND "VENDOR_CUSTOMER_ID"=:B2)
    1519 - filter("FIN_AGING_ARG"."VENDOR_CUSTOMER_FLAG"='N' OR EXISTS (SELECT 0 FROM GRAINVTRC."FIN_AGING_ARG_VC" "TVC"
    WHERE "VENDOR_CUSTOMER_ID"=:B1 AND "TVC"."DAILY_REPORT_NBR"=:B2))
    1520 - filter(NULL IS NOT NULL AND NULL IS NOT NULL)
    1524 - filter("FIN_AGING_ARG"."INVOICE_DATE_FLAG"='Y')
    1525 - access("FIN_AGING_ARG"."DAILY_REPORT_NBR"=36)
    1526 - filter("FIN_INVOICE"."FINANCIAL_SOURCE"='A/R' AND ("FIN_INVOICE"."FINANCIAL_SOURCE"="FIN_AGING_ARG"."FINANCIAL_S
    OURCE" OR "FIN_AGING_ARG"."FINANCIAL_SOURCE"='APR') AND "FIN_INVOICE"."INVOICE_DATE"<="FIN_AGING_ARG"."AGING_DATE" AND
    ("FIN_AGING_ARG"."PLC_ID" IS NULL OR "FIN_INVOICE"."LOCATION_ID"="FIN_AGING_ARG"."PLC_ID" AND "FIN_AGING_ARG"."PLC_ID"
    IS NOT NULL) AND CASE WHEN (("FIN_AGING_ARG"."AGE_CREDIT_FLAG"='Y' AND "FIN_INVOICE"."ORIGINAL_AMOUNT"<0) OR
    "FIN_INVOICE"."ORIGINAL_AMOUNT">0) THEN CASE WHEN "FIN_AGING_ARG"."AGING_DATE"-"FIN_INVOICE"."INVOICE_DATE"<"FIN_AGING
    _ARG"."B_1"+1 THEN 1 WHEN "FIN_AGING_ARG"."AGING_DATE"-"FIN_INVOICE"."INVOICE_DATE"<"FIN_AGING_ARG"."B_2"+1 THEN 2
    WHEN "FIN_AGING_ARG"."AGING_DATE"-"FIN_INVOICE"."INVOICE_DATE"<"FIN_AGING_ARG"."B_3"+1 THEN 3 WHEN
    "FIN_AGING_ARG"."AGING_DATE"-"FIN_INVOICE"."INVOICE_DATE"<"FIN_AGING_ARG"."B_4"+1 THEN 4 WHEN
    "FIN_AGING_ARG"."AGING_DATE"-"FIN_INVOICE"."INVOICE_DATE"<"FIN_AGING_ARG"."B_5"+1 THEN 5 ELSE 6 END ELSE 1 END >0)
    1527 - filter("FIN_TRANSACTION"."INVOICE_NBR" IS NOT NULL AND
    "FIN_INVOICE"."INVOICE_NBR"="FIN_TRANSACTION"."INVOICE_NBR" AND ("FIN_AGING_ARG"."MAX_KEY"=0 OR
    "FIN_TRANSACTION"."TRANSACTION_NBR"<="FIN_AGING_ARG"."MAX_KEY"))
    1528 - access("FIN_TRANSACTION"."TRANSACTION_NBR"= (SELECT MAX("TRANSACTION_NBR") FROM GRAINVTRC."FIN_TRANSACTION" "A"
    WHERE "A"."INVOICE_NBR"=:B1 AND "A"."TRANSACTION_DATE"<=:B2 AND ("A"."TRANSACTION_NBR"<=:B3 OR :B4=0)))
    1530 - filter("A"."TRANSACTION_DATE"<=:B1 AND ("A"."TRANSACTION_NBR"<=:B2 OR :B3=0))
    1531 - access("A"."INVOICE_NBR"=:B1)
    1532 - filter("FIN_AGING_ARG"."CREDIT_STATUS"='0' OR "FIN_AGING_ARG"."CREDIT_STATUS"='1' AND
    "S1_CUSTOMER_DATA"."HOLD_FLAG"='Y' OR "FIN_AGING_ARG"."CREDIT_STATUS"='2' AND "S1_CUSTOMER_DATA"."CREDIT_LIMIT" IS NOT
    NULL OR "S1_CUSTOMER_DATA"."HOLD_FLAG"='Y' OR "S1_CUSTOMER_DATA"."CREDIT_LIMIT" IS NOT NULL)
    1533 - access("FIN_INVOICE"."CUSTOMER_VENDOR_ID"="S1_CUSTOMER_DATA"."CUSTOMER_ID")
    1534 - access("TVC"."DAILY_REPORT_NBR"=:B1 AND "VENDOR_CUSTOMER_ID"=:B2)
    1535 - filter(("FIN_AGING_ARG"."VENDOR_CUSTOMER_FLAG"='N' OR EXISTS (SELECT 0 FROM GRAINVTRC."FIN_AGING_ARG_VC" "TVC"
    WHERE "VENDOR_CUSTOMER_ID"=:B1 AND "TVC"."DAILY_REPORT_NBR"=:B2)) AND EXISTS (SELECT 0 FROM
    GRAINVTRC."FIN_TRANSACTION" "A" WHERE "A"."INVOICE_NBR"=:B3 AND ("A"."TRANSACTION_NBR"<=:B4 OR :B5=0)))
    1536 - filter(NULL IS NOT NULL)
    1537 - access("FIN_INVOICE"."CUSTOMER_VENDOR_ID"="S1_CUSTOMER_DATA"."CUSTOMER_ID")
    filter(("FIN_INVOICE"."FINANCIAL_SOURCE"="FIN_AGING_ARG"."FINANCIAL_SOURCE" OR
    "FIN_AGING_ARG"."FINANCIAL_SOURCE"='APR') AND "FIN_INVOICE"."INVOICE_DATE">"FIN_AGING_ARG"."AGING_DATE" AND
    ("FIN_AGING_ARG"."PLC_ID" IS NULL OR "FIN_INVOICE"."LOCATION_ID"="FIN_AGING_ARG"."PLC_ID" AND "FIN_AGING_ARG"."PLC_ID"
    IS NOT NULL) AND ("FIN_INVOICE"."INVOICE_STATUS"<>'C' OR "FIN_AGING_ARG"."AGING_DATE"<="FIN_INVOICE"."LAST_TRANSACTION_
    DATE" OR "FIN_INVOICE"."BALANCE_FORWARD_PRINT_FLAG"<>'Y'))
    1540 - access("FIN_AGING_ARG"."DAILY_REPORT_NBR"=36)
    1541 - filter("FIN_AGING_ARG"."CREDIT_STATUS"='0' OR "FIN_AGING_ARG"."CREDIT_STATUS"='1' AND
    "S1_CUSTOMER_DATA"."HOLD_FLAG"='Y' OR "FIN_AGING_ARG"."CREDIT_STATUS"='2' AND "S1_CUSTOMER_DATA"."CREDIT_LIMIT" IS NOT
    NULL OR "S1_CUSTOMER_DATA"."HOLD_FLAG"='Y' OR "S1_CUSTOMER_DATA"."CREDIT_LIMIT" IS NOT NULL)
    1542 - filter("FIN_INVOICE"."FINANCIAL_SOURCE"='A/R')
    1543 - access("TVC"."DAILY_REPORT_NBR"=:B1 AND "VENDOR_CUSTOMER_ID"=:B2)
    1544 - filter("A"."TRANSACTION_NBR"<=:B1 OR :B2=0)
    1545 - access("A"."INVOICE_NBR"=:B1)
    1546 - filter(("FIN_AGING_ARG"."VENDOR_CUSTOMER_FLAG"='N' OR EXISTS (SELECT 0 FROM GRAINVTRC."FIN_AGING_ARG_VC" "TVC"
    WHERE "VENDOR_CUSTOMER_ID"=:B1 AND "TVC"."DAILY_REPORT_NBR"=:B2)) AND "FIN_TRANSACTION"."TRANSACTION_NBR"= (SELECT
    MAX("TRANSACTION_NBR") FROM GRAINVTRC."FIN_TRANSACTION" "A" WHERE "A"."PAYMENT_NBR"=:B3 AND
    "A"."TRANSACTION_DATE"<=:B4 AND ("A"."TRANSACTION_NBR"<=:B5 OR :B6=0)))
    1547 - filter(NULL IS NOT NULL)
    1548 - access("FIN_PAYMENT"."CUSTOMER_VENDOR_ID"="S1_CUSTOMER_DATA"."CUSTOMER_ID")
    filter("FIN_AGING_ARG"."CREDIT_STATUS"='0' OR "FIN_AGING_ARG"."CREDIT_STATUS"='1' AND
    "S1_CUSTOMER_DATA"."HOLD_FLAG"='Y' OR "FIN_AGING_ARG"."CREDIT_STATUS"='2' AND "S1_CUSTOMER_DATA"."CREDIT_LIMIT" IS NOT
    NULL OR "S1_CUSTOMER_DATA"."HOLD_FLAG"='Y' OR "S1_CUSTOMER_DATA"."CREDIT_LIMIT" IS NOT NULL)
    1550 - access("FIN_PAYMENT"."PAYMENT_NBR"="FIN_TRANSACTION"."PAYMENT_NBR")
    filter(("FIN_PAYMENT"."FINANCIAL_SOURCE"="FIN_AGING_ARG"."FINANCIAL_SOURCE" OR
    "FIN_AGING_ARG"."FINANCIAL_SOURCE"='APR') AND "FIN_PAYMENT"."PAYMENT_DATE"<="FIN_AGING_ARG"."AGING_DATE" AND
    ("FIN_AGING_ARG"."PLC_ID" IS NULL OR "FIN_AGING_ARG"."PLC_ID" IS NOT NULL AND
    "FIN_PAYMENT"."LOCATION_ID"="FIN_AGING_ARG"."PLC_ID" AND "FIN_PAYMENT"."LOCATION_ID" IS NOT NULL) AND CASE WHEN
    "FIN_AGING_ARG"."AGE_CREDIT_FLAG"='Y' THEN CASE WHEN "FIN_AGING_ARG"."AGING_DATE"-"FIN_PAYMENT"."PAYMENT_DATE"<"FIN_AG
    ING_ARG"."B_1"+1 THEN 1 WHEN "FIN_AGING_ARG"."AGING_DATE"-"FIN_PAYMENT"."PAYMENT_DATE"<"FIN_AGING_ARG"."B_2"+1 THEN 2
    WHEN "FIN_AGING_ARG"."AGING_DATE"-"FIN_PAYMENT"."PAYMENT_DATE"<"FIN_AGING_ARG"."B_3"+1 THEN 3 WHEN
    "FIN_AGING_ARG"."AGING_DATE"-"FIN_PAYMENT"."PAYMENT_DATE"<"FIN_AGING_ARG"."B_4"+1 THEN 4 WHEN
    "FIN_AGING_ARG"."AGING_DATE"-"FIN_PAYMENT"."PAYMENT_DATE"<"FIN_AGING_ARG"."B_5"+1 THEN 5 ELSE 6 END ELSE 1 END >0)
    1551 - filter("FIN_PAYMENT"."FINANCIAL_SOURCE"='A/R' AND ("FIN_PAYMENT"."INTERNAL_FLAG"='N' OR
    "FIN_PAYMENT"."INTERNAL_FLAG"='Y' AND ("FIN_PAYMENT"."PAYMENT_TYPE"='C' OR "FIN_PAYMENT"."PAYMENT_TYPE"='N')))
    1554 - access("FIN_AGING_ARG"."DAILY_REPORT_NBR"=36)
    1555 - filter("FIN_TRANSACTION"."PAYMENT_NBR" IS NOT NULL AND ("FIN_AGING_ARG"."MAX_KEY"=0 OR
    "FIN_TRANSACTION"."TRANSACTION_NBR"<="FIN_AGING_ARG"."MAX_KEY"))
    1556 - access("TVC"."DAILY_REPORT_NBR"=:B1 AND "VENDOR_CUSTOMER_ID"=:B2)
    1558 - filter("A"."TRANSACTION_DATE"<=:B1 AND ("A"."TRANSACTION_NBR"<=:B2 OR :B3=0))
    1559 - access("A"."PAYMENT_NBR"=:B1)
    1560 - filter(("FIN_AGING_ARG"."VENDOR_CUSTOMER_FLAG"='N' OR EXISTS (SELECT 0 FROM GRAINVTRC."FIN_AGING_ARG_VC" "TVC"
    WHERE "VENDOR_CUSTOMER_ID"=:B1 AND "TVC"."DAILY_REPORT_NBR"=:B2)) AND EXISTS (SELECT 0 FROM
    GRAINVTRC."FIN_TRANSACTION" "A" WHERE "A"."PAYMENT_NBR"=:B3 AND ("A"."TRANSACTION_NBR"<=:B4 OR :B5=0)))
    1564 - access("FIN_AGING_ARG"."DAILY_REPORT_NBR"=36)
    1565 - filter("FIN_PAYMENT"."FINANCIAL_SOURCE"='A/R' AND ("FIN_PAYMENT"."INTERNAL_FLAG"='N' OR
    "FIN_PAYMENT"."INTERNAL_FLAG"='Y' AND ("FIN_PAYMENT"."PAYMENT_TYPE"='C' OR "FIN_PAYMENT"."PAYMENT_TYPE"='N')) AND
    ("FIN_PAYMENT"."FINANCIAL_SOURCE"="FIN_AGING_ARG"."FINANCIAL_SOURCE" OR "FIN_AGING_ARG"."FINANCIAL_SOURCE"='APR') AND
    ("UNAPPLIED_AMOUNT"<>0 OR "FIN_AGING_ARG"."AGING_DATE"<="LAST_TRANSACTION_DATE") AND ("FIN_AGING_ARG"."PLC_ID" IS NULL
    OR "FIN_AGING_ARG"."PLC_ID" IS NOT NULL AND "FIN_PAYMENT"."LOCATION_ID"="FIN_AGING_ARG"."PLC_ID" AND
    "FIN_PAYMENT"."LOCATION_ID" IS NOT NULL))
    1566 - access("FIN_PAYMENT"."PAYMENT_DATE">"FIN_AGING_ARG"."AGING_DATE")
    1567 - filter("FIN_AGING_ARG"."CREDIT_STATUS"='0' OR "FIN_AGING_ARG"."CREDIT_STATUS"='1' AND
    "S1_CUSTOMER_DATA"."HOLD_FLAG"='Y' OR "FIN_AGING_ARG"."CREDIT_STATUS"='2' AND "S1_CUSTOMER_DATA"."CREDIT_LIMIT" IS NOT
    NULL OR "S1_CUSTOMER_DATA"."HOLD_FLAG"='Y' OR "S1_CUSTOMER_DATA"."CREDIT_LIMIT" IS NOT NULL)
    1568 - access("FIN_PAYMENT"."CUSTOMER_VENDOR_ID"="S1_CUSTOMER_DATA"."CUSTOMER_ID")
    1569 - access("TVC"."DAILY_REPORT_NBR"=:B1 AND "VENDOR_CUSTOMER_ID"=:B2)
    1570 - filter("A"."TRANSACTION_NBR"<=:B1 OR :B2=0)
    1571 - access("A"."PAYMENT_NBR"=:B1)
    1572 - filter("A"."LOCATION_ID" IS NOT NULL AND ("A"."INTERNAL_FLAG"='N' OR ("A"."PAYMENT_TYPE"='C' OR
    "A"."PAYMENT_TYPE"='N')))
    1573 - access("FIN_AGING_INVOICE_VIEW"."SERIAL_NUMBER"="A"."PAYMENT_NBR")
    1574 - access("A1_USER_LOCATION"."USER_ID"='BRENT' AND "A1_USER_LOCATION"."PLC_ID"="A"."LOCATION_ID")
    1575 - filter("TA"."REVERSED_TRANSACTION_NBR" IS NOT NULL AND "TA"."INVOICE_NBR" IS NOT NULL AND
    "TA"."FINANCIAL_SOURCE"='A/R' AND "TA"."TRANSACTION_TYPE"<>'PAY')
    1576 - access("A"."PAYMENT_NBR"="TA"."PAYMENT_NBR")
    filter("TA"."PAYMENT_NBR" IS NOT NULL)
    1578 - access("TA"."TRANSACTION_TYPE"="FIN_TRANSACTION_TYPE"."CODE")
    filter("FIN_TRANSACTION_TYPE"."CODE"<>'PAY')
    1580 - access("SB"."NAME_AND_ADDRESS_ID"="A"."CUSTOMER_VENDOR_ID")
    1581 - access("SB"."TRADER_ID"="S1_TRADER"."TRADER_ID"(+))
    1582 - access("SB"."NAME_AND_ADDRESS_ID"="S1_NA_BUSINESS_TYPE"."NAME_AND_ADDRESS_ID"(+))
    1584 - access("SB"."NAME_AND_ADDRESS_ID"="S1_CUSTOMER_DATA"."CUSTOMER_ID")
    1586 - access("SA"."NAME_AND_ADDRESS_ID"="A"."LOCATION_ID")
    1587 - filter("TB"."TRANSACTION_TYPE"<>'PAY')
    1588 - access("TA"."REVERSED_TRANSACTION_NBR"="TB"."TRANSACTION_NBR")
    1590 - access("S1_CURRENCY_A"."CURRENCY_CODE"="SA"."CURRENCY_CODE")
    1592 - access("A"."CURRENCY_CODE"="S1_CURRENCY"."CURRENCY_CODE")
    Statistics
    0 recursive calls
    0 db block gets
    5655572 consistent gets
    0 physical reads
    0 redo size
    SP2-0642: SQL*Plus internal error state 1075, context 1:5:4294967295
    Unsafe to proceed
    58669 bytes received via SQL*Net from client
    1076 SQL*Net roundtrips to/from client
    1 sorts (memory)
    0 sorts (disk)
    15807 rows processed
    GRAINVTRC@customer> GRAINVTRC@customer>
    The database is on an Windows 64-bit server, version 11.2.0.2.
    I noticed a "Full Table Scan" happening in table fin_invoice, column trader_id.
    This column is NOT part of the Primary Key; it is also nullable.
    This table contains ~275000 rows, this column is populated ~ 75 % of the time.
    So I created this index:
    CREATE INDEX fin_invoice_ndx12 ON fin_invoice (trader_id ASC, financial_source ASC)
    tablespace smartsoft_index
    When I run the query, either before or after I add the index, it takes ~ 1 minute before any results are produced and ~ 8 minutes to complete.
    The "autotrace" I included does NOT contain the new index; another "autotrace" with the index included still show a full table scan on this table.
    What am I missing??

    Hi,
    did u try it: SQL and PL/SQL FAQ
    item 3?

  • Query Tuning Assistance - Part 3

    422 - access("TVC"."DAILY_REPORT_NBR"=:B1 AND "VENDOR_CUSTOMER_ID"=:B2)
    423 - filter("FIN_AGING_ARG"."VENDOR_CUSTOMER_FLAG"='N' OR EXISTS (SELECT 0 FROM GRAINVTRC."FIN_AGING_ARG_VC" "TVC"
    WHERE "VENDOR_CUSTOMER_ID"=:B1 AND "TVC"."DAILY_REPORT_NBR"=:B2))
    424 - filter(NULL IS NOT NULL)
    428 - access("FIN_AGING_ARG"."DAILY_REPORT_NBR"=36)
    429 - filter("FIN_INVOICE"."FINANCIAL_SOURCE"='A/R' AND ("FIN_INVOICE"."FINANCIAL_SOURCE"="FIN_AGING_ARG"."FINANCIAL_S
    OURCE" OR "FIN_AGING_ARG"."FINANCIAL_SOURCE"='APR') AND "FIN_INVOICE"."INVOICE_DATE">"FIN_AGING_ARG"."AGING_DATE" AND
    ("FIN_AGING_ARG"."PLC_ID" IS NULL OR "FIN_INVOICE"."LOCATION_ID"="FIN_AGING_ARG"."PLC_ID" AND "FIN_AGING_ARG"."PLC_ID"
    IS NOT NULL) AND ("FIN_INVOICE"."INVOICE_STATUS"<>'C' OR "FIN_AGING_ARG"."AGING_DATE"<="FIN_INVOICE"."LAST_TRANSACTION_
    DATE" OR "FIN_INVOICE"."BALANCE_FORWARD_PRINT_FLAG"<>'Y'))
    430 - access("FIN_INVOICE"."INVOICE_NBR"="A"."PAYMENT_NBR")
    filter( EXISTS (SELECT 0 FROM GRAINVTRC."FIN_TRANSACTION" "A" WHERE "A"."INVOICE_NBR"=:B1 AND
    ("A"."TRANSACTION_NBR"<=:B2 OR :B3=0)))
    431 - filter("A"."TRANSACTION_NBR"<=:B1 OR :B2=0)
    432 - access("A"."INVOICE_NBR"=:B1)
    433 - filter("FIN_AGING_ARG"."CREDIT_STATUS"='0' OR "FIN_AGING_ARG"."CREDIT_STATUS"='1' AND
    "S1_CUSTOMER_DATA"."HOLD_FLAG"='Y' OR "FIN_AGING_ARG"."CREDIT_STATUS"='2' AND "S1_CUSTOMER_DATA"."CREDIT_LIMIT" IS NOT
    NULL OR "S1_CUSTOMER_DATA"."HOLD_FLAG"='Y' OR "S1_CUSTOMER_DATA"."CREDIT_LIMIT" IS NOT NULL)
    434 - access("FIN_INVOICE"."CUSTOMER_VENDOR_ID"="S1_CUSTOMER_DATA"."CUSTOMER_ID")
    435 - access("TVC"."DAILY_REPORT_NBR"=:B1 AND "VENDOR_CUSTOMER_ID"=:B2)
    436 - filter("FIN_AGING_ARG"."VENDOR_CUSTOMER_FLAG"='N' OR EXISTS (SELECT 0 FROM GRAINVTRC."FIN_AGING_ARG_VC" "TVC"
    WHERE "VENDOR_CUSTOMER_ID"=:B1 AND "TVC"."DAILY_REPORT_NBR"=:B2))
    441 - access("FIN_AGING_ARG"."DAILY_REPORT_NBR"=36)
    442 - filter("FIN_PAYMENT"."FINANCIAL_SOURCE"='A/R' AND ("FIN_PAYMENT"."INTERNAL_FLAG"='N' OR
    "FIN_PAYMENT"."INTERNAL_FLAG"='Y' AND ("FIN_PAYMENT"."PAYMENT_TYPE"='C' OR "FIN_PAYMENT"."PAYMENT_TYPE"='N')) AND
    ("FIN_PAYMENT"."FINANCIAL_SOURCE"="FIN_AGING_ARG"."FINANCIAL_SOURCE" OR "FIN_AGING_ARG"."FINANCIAL_SOURCE"='APR') AND
    "FIN_PAYMENT"."PAYMENT_DATE"<="FIN_AGING_ARG"."AGING_DATE" AND ("FIN_AGING_ARG"."PLC_ID" IS NULL OR
    "FIN_AGING_ARG"."PLC_ID" IS NOT NULL AND "FIN_PAYMENT"."LOCATION_ID"="FIN_AGING_ARG"."PLC_ID" AND
    "FIN_PAYMENT"."LOCATION_ID" IS NOT NULL) AND CASE WHEN "FIN_AGING_ARG"."AGE_CREDIT_FLAG"='Y' THEN CASE WHEN
    "FIN_AGING_ARG"."AGING_DATE"-"FIN_PAYMENT"."PAYMENT_DATE"<"FIN_AGING_ARG"."B_1"+1 THEN 1 WHEN
    "FIN_AGING_ARG"."AGING_DATE"-"FIN_PAYMENT"."PAYMENT_DATE"<"FIN_AGING_ARG"."B_2"+1 THEN 2 WHEN
    "FIN_AGING_ARG"."AGING_DATE"-"FIN_PAYMENT"."PAYMENT_DATE"<"FIN_AGING_ARG"."B_3"+1 THEN 3 WHEN
    "FIN_AGING_ARG"."AGING_DATE"-"FIN_PAYMENT"."PAYMENT_DATE"<"FIN_AGING_ARG"."B_4"+1 THEN 4 WHEN
    "FIN_AGING_ARG"."AGING_DATE"-"FIN_PAYMENT"."PAYMENT_DATE"<"FIN_AGING_ARG"."B_5"+1 THEN 5 ELSE 6 END ELSE 1 END >0)
    443 - access("FIN_PAYMENT"."PAYMENT_NBR"="A"."PAYMENT_NBR")
    444 - filter("FIN_AGING_ARG"."CREDIT_STATUS"='0' OR "FIN_AGING_ARG"."CREDIT_STATUS"='1' AND
    "S1_CUSTOMER_DATA"."HOLD_FLAG"='Y' OR "FIN_AGING_ARG"."CREDIT_STATUS"='2' AND "S1_CUSTOMER_DATA"."CREDIT_LIMIT" IS NOT
    NULL OR "S1_CUSTOMER_DATA"."HOLD_FLAG"='Y' OR "S1_CUSTOMER_DATA"."CREDIT_LIMIT" IS NOT NULL)
    445 - access("FIN_PAYMENT"."CUSTOMER_VENDOR_ID"="S1_CUSTOMER_DATA"."CUSTOMER_ID")
    446 - filter("FIN_TRANSACTION"."PAYMENT_NBR"="A"."PAYMENT_NBR" AND ("FIN_AGING_ARG"."MAX_KEY"=0 OR
    "FIN_TRANSACTION"."TRANSACTION_NBR"<="FIN_AGING_ARG"."MAX_KEY"))
    447 - access("FIN_TRANSACTION"."TRANSACTION_NBR"= (SELECT MAX("TRANSACTION_NBR") FROM GRAINVTRC."FIN_TRANSACTION" "A"
    WHERE "A"."PAYMENT_NBR"=:B1 AND "A"."TRANSACTION_DATE"<=:B2 AND ("A"."TRANSACTION_NBR"<=:B3 OR :B4=0)))
    449 - filter("A"."TRANSACTION_DATE"<=:B1 AND ("A"."TRANSACTION_NBR"<=:B2 OR :B3=0))
    450 - access("A"."PAYMENT_NBR"=:B1)
    451 - access("TVC"."DAILY_REPORT_NBR"=:B1 AND "VENDOR_CUSTOMER_ID"=:B2)
    452 - filter(("FIN_AGING_ARG"."VENDOR_CUSTOMER_FLAG"='N' OR EXISTS (SELECT 0 FROM GRAINVTRC."FIN_AGING_ARG_VC" "TVC"
    WHERE "VENDOR_CUSTOMER_ID"=:B1 AND "TVC"."DAILY_REPORT_NBR"=:B2)) AND EXISTS (SELECT 0 FROM
    GRAINVTRC."FIN_TRANSACTION" "A" WHERE "A"."PAYMENT_NBR"=:B3 AND ("A"."TRANSACTION_NBR"<=:B4 OR :B5=0)))
    456 - access("FIN_AGING_ARG"."DAILY_REPORT_NBR"=36)
    457 - filter("FIN_PAYMENT"."PAYMENT_NBR"="A"."PAYMENT_NBR" AND "FIN_PAYMENT"."FINANCIAL_SOURCE"='A/R' AND
    ("FIN_PAYMENT"."INTERNAL_FLAG"='N' OR "FIN_PAYMENT"."INTERNAL_FLAG"='Y' AND ("FIN_PAYMENT"."PAYMENT_TYPE"='C' OR
    "FIN_PAYMENT"."PAYMENT_TYPE"='N')) AND ("FIN_PAYMENT"."FINANCIAL_SOURCE"="FIN_AGING_ARG"."FINANCIAL_SOURCE" OR
    "FIN_AGING_ARG"."FINANCIAL_SOURCE"='APR') AND ("UNAPPLIED_AMOUNT"<>0 OR
    "FIN_AGING_ARG"."AGING_DATE"<="LAST_TRANSACTION_DATE") AND ("FIN_AGING_ARG"."PLC_ID" IS NULL OR
    "FIN_AGING_ARG"."PLC_ID" IS NOT NULL AND "FIN_PAYMENT"."LOCATION_ID"="FIN_AGING_ARG"."PLC_ID" AND
    "FIN_PAYMENT"."LOCATION_ID" IS NOT NULL))
    458 - access("FIN_PAYMENT"."PAYMENT_DATE">"FIN_AGING_ARG"."AGING_DATE")
    459 - filter("FIN_AGING_ARG"."CREDIT_STATUS"='0' OR "FIN_AGING_ARG"."CREDIT_STATUS"='1' AND
    "S1_CUSTOMER_DATA"."HOLD_FLAG"='Y' OR "FIN_AGING_ARG"."CREDIT_STATUS"='2' AND "S1_CUSTOMER_DATA"."CREDIT_LIMIT" IS NOT
    NULL OR "S1_CUSTOMER_DATA"."HOLD_FLAG"='Y' OR "S1_CUSTOMER_DATA"."CREDIT_LIMIT" IS NOT NULL)
    460 - access("FIN_PAYMENT"."CUSTOMER_VENDOR_ID"="S1_CUSTOMER_DATA"."CUSTOMER_ID")
    461 - access("TVC"."DAILY_REPORT_NBR"=:B1 AND "VENDOR_CUSTOMER_ID"=:B2)
    462 - filter("A"."TRANSACTION_NBR"<=:B1 OR :B2=0)
    463 - access("A"."PAYMENT_NBR"=:B1)
    464 - access("A1_USER_LOCATION"."USER_ID"='BRENT' AND "A1_USER_LOCATION"."PLC_ID"="A"."LOCATION_ID")
    466 - access("SB"."NAME_AND_ADDRESS_ID"="A"."CUSTOMER_VENDOR_ID")
    467 - access("SB"."TRADER_ID"="S1_TRADER"."TRADER_ID"(+))
    468 - access("SB"."NAME_AND_ADDRESS_ID"="S1_NA_BUSINESS_TYPE"."NAME_AND_ADDRESS_ID"(+))
    470 - access("SB"."NAME_AND_ADDRESS_ID"="S1_CUSTOMER_DATA"."CUSTOMER_ID")
    472 - access("SA"."NAME_AND_ADDRESS_ID"="A"."LOCATION_ID")
    473 - filter("TB"."REMAINING_ONACCOUNT"<>0 OR "A"."UNAPPLIED_AMOUNT"<>0 OR "A"."PRINT_FLAG"<>'Y')
    474 - access("TB"."TRANSACTION_NBR"="FIN_AGING_INVOICE_VIEW"."MAX_TRANSACTION_NBR")
    476 - access("S1_CURRENCY_A"."CURRENCY_CODE"="SA"."CURRENCY_CODE")
    478 - access("A"."CURRENCY_CODE"="S1_CURRENCY"."CURRENCY_CODE")
    493 - filter("FIN_AGING_ARG"."VENDOR_CUSTOMER_FLAG"='N' OR EXISTS (SELECT 0 FROM GRAINVTRC."FIN_AGING_ARG_VC" "TVC"
    WHERE "VENDOR_CUSTOMER_ID"=:B1 AND "TVC"."DAILY_REPORT_NBR"=:B2))
    494 - filter(NULL IS NOT NULL)
    497 - filter("FIN_AGING_ARG"."INVOICE_DATE_FLAG"='N')
    498 - access("FIN_AGING_ARG"."DAILY_REPORT_NBR"=36)
    499 - filter("FIN_INVOICE"."FINANCIAL_SOURCE"='A/P' AND ("FIN_INVOICE"."FINANCIAL_SOURCE"="FIN_AGING_ARG"."FINANCIAL_S
    OURCE" OR "FIN_AGING_ARG"."FINANCIAL_SOURCE"='APR') AND "FIN_INVOICE"."INVOICE_DATE"<="FIN_AGING_ARG"."AGING_DATE" AND
    ("FIN_AGING_ARG"."PLC_ID" IS NULL OR "FIN_INVOICE"."LOCATION_ID"="FIN_AGING_ARG"."PLC_ID" AND "FIN_AGING_ARG"."PLC_ID"
    IS NOT NULL) AND CASE WHEN (("FIN_AGING_ARG"."AGE_CREDIT_FLAG"='Y' AND "FIN_INVOICE"."ORIGINAL_AMOUNT"<0) OR
    "FIN_INVOICE"."ORIGINAL_AMOUNT">0) THEN CASE WHEN "FIN_AGING_ARG"."AGING_DATE"-"FIN_INVOICE"."DUE_DATE"<"FIN_AGING_ARG
    "."B_1"+1 THEN 1 WHEN "FIN_AGING_ARG"."AGING_DATE"-"FIN_INVOICE"."DUE_DATE"<"FIN_AGING_ARG"."B_2"+1 THEN 2 WHEN
    "FIN_AGING_ARG"."AGING_DATE"-"FIN_INVOICE"."DUE_DATE"<"FIN_AGING_ARG"."B_3"+1 THEN 3 WHEN
    "FIN_AGING_ARG"."AGING_DATE"-"FIN_INVOICE"."DUE_DATE"<"FIN_AGING_ARG"."B_4"+1 THEN 4 WHEN
    "FIN_AGING_ARG"."AGING_DATE"-"FIN_INVOICE"."DUE_DATE"<"FIN_AGING_ARG"."B_5"+1 THEN 5 ELSE 6 END ELSE 1 END >0)
    500 - filter("FIN_TRANSACTION"."INVOICE_NBR" IS NOT NULL AND
    "FIN_INVOICE"."INVOICE_NBR"="FIN_TRANSACTION"."INVOICE_NBR" AND ("FIN_AGING_ARG"."MAX_KEY"=0 OR
    "FIN_TRANSACTION"."TRANSACTION_NBR"<="FIN_AGING_ARG"."MAX_KEY"))
    501 - access("FIN_TRANSACTION"."TRANSACTION_NBR"= (SELECT MAX("TRANSACTION_NBR") FROM GRAINVTRC."FIN_TRANSACTION" "A"
    WHERE "A"."INVOICE_NBR"=:B1 AND "A"."TRANSACTION_DATE"<=:B2 AND ("A"."TRANSACTION_NBR"<=:B3 OR :B4=0)))
    503 - filter("A"."TRANSACTION_DATE"<=:B1 AND ("A"."TRANSACTION_NBR"<=:B2 OR :B3=0))
    504 - access("A"."INVOICE_NBR"=:B1)
    505 - access("TVC"."DAILY_REPORT_NBR"=:B1 AND "VENDOR_CUSTOMER_ID"=:B2)
    506 - filter("FIN_AGING_ARG"."VENDOR_CUSTOMER_FLAG"='N' OR EXISTS (SELECT 0 FROM GRAINVTRC."FIN_AGING_ARG_VC" "TVC"
    WHERE "VENDOR_CUSTOMER_ID"=:B1 AND "TVC"."DAILY_REPORT_NBR"=:B2))
    507 - filter(NULL IS NOT NULL)
    510 - filter("FIN_AGING_ARG"."INVOICE_DATE_FLAG"='Y')
    511 - access("FIN_AGING_ARG"."DAILY_REPORT_NBR"=36)
    512 - filter("FIN_INVOICE"."FINANCIAL_SOURCE"='A/P' AND ("FIN_INVOICE"."FINANCIAL_SOURCE"="FIN_AGING_ARG"."FINANCIAL_S
    OURCE" OR "FIN_AGING_ARG"."FINANCIAL_SOURCE"='APR') AND "FIN_INVOICE"."INVOICE_DATE"<="FIN_AGING_ARG"."AGING_DATE" AND
    ("FIN_AGING_ARG"."PLC_ID" IS NULL OR "FIN_INVOICE"."LOCATION_ID"="FIN_AGING_ARG"."PLC_ID" AND "FIN_AGING_ARG"."PLC_ID"
    IS NOT NULL) AND CASE WHEN (("FIN_AGING_ARG"."AGE_CREDIT_FLAG"='Y' AND "FIN_INVOICE"."ORIGINAL_AMOUNT"<0) OR
    "FIN_INVOICE"."ORIGINAL_AMOUNT">0) THEN CASE WHEN "FIN_AGING_ARG"."AGING_DATE"-"FIN_INVOICE"."INVOICE_DATE"<"FIN_AGING
    _ARG"."B_1"+1 THEN 1 WHEN "FIN_AGING_ARG"."AGING_DATE"-"FIN_INVOICE"."INVOICE_DATE"<"FIN_AGING_ARG"."B_2"+1 THEN 2
    WHEN "FIN_AGING_ARG"."AGING_DATE"-"FIN_INVOICE"."INVOICE_DATE"<"FIN_AGING_ARG"."B_3"+1 THEN 3 WHEN
    "FIN_AGING_ARG"."AGING_DATE"-"FIN_INVOICE"."INVOICE_DATE"<"FIN_AGING_ARG"."B_4"+1 THEN 4 WHEN
    "FIN_AGING_ARG"."AGING_DATE"-"FIN_INVOICE"."INVOICE_DATE"<"FIN_AGING_ARG"."B_5"+1 THEN 5 ELSE 6 END ELSE 1 END >0)
    513 - filter("FIN_TRANSACTION"."INVOICE_NBR" IS NOT NULL AND
    "FIN_INVOICE"."INVOICE_NBR"="FIN_TRANSACTION"."INVOICE_NBR" AND ("FIN_AGING_ARG"."MAX_KEY"=0 OR
    "FIN_TRANSACTION"."TRANSACTION_NBR"<="FIN_AGING_ARG"."MAX_KEY"))
    514 - access("FIN_TRANSACTION"."TRANSACTION_NBR"= (SELECT MAX("TRANSACTION_NBR") FROM GRAINVTRC."FIN_TRANSACTION" "A"
    WHERE "A"."INVOICE_NBR"=:B1 AND "A"."TRANSACTION_DATE"<=:B2 AND ("A"."TRANSACTION_NBR"<=:B3 OR :B4=0)))
    516 - filter("A"."TRANSACTION_DATE"<=:B1 AND ("A"."TRANSACTION_NBR"<=:B2 OR :B3=0))
    517 - access("A"."INVOICE_NBR"=:B1)
    518 - access("TVC"."DAILY_REPORT_NBR"=:B1 AND "VENDOR_CUSTOMER_ID"=:B2)
    519 - filter(("FIN_AGING_ARG"."VENDOR_CUSTOMER_FLAG"='N' OR EXISTS (SELECT 0 FROM GRAINVTRC."FIN_AGING_ARG_VC" "TVC"
    WHERE "VENDOR_CUSTOMER_ID"=:B1 AND "TVC"."DAILY_REPORT_NBR"=:B2)) AND EXISTS (SELECT 0 FROM
    GRAINVTRC."FIN_TRANSACTION" "A" WHERE "A"."INVOICE_NBR"=:B3 AND ("A"."TRANSACTION_NBR"<=:B4 OR :B5=0)))
    520 - filter(NULL IS NOT NULL)
    523 - access("FIN_AGING_ARG"."DAILY_REPORT_NBR"=36)
    524 - filter("FIN_INVOICE"."FINANCIAL_SOURCE"='A/P' AND ("FIN_INVOICE"."FINANCIAL_SOURCE"="FIN_AGING_ARG"."FINANCIAL_S
    OURCE" OR "FIN_AGING_ARG"."FINANCIAL_SOURCE"='APR') AND "FIN_INVOICE"."INVOICE_DATE">"FIN_AGING_ARG"."AGING_DATE" AND
    ("FIN_AGING_ARG"."PLC_ID" IS NULL OR "FIN_INVOICE"."LOCATION_ID"="FIN_AGING_ARG"."PLC_ID" AND "FIN_AGING_ARG"."PLC_ID"
    IS NOT NULL) AND ("FIN_INVOICE"."INVOICE_STATUS"<>'C' OR "FIN_AGING_ARG"."AGING_DATE"<="FIN_INVOICE"."LAST_TRANSACTION_
    DATE" OR "FIN_INVOICE"."BALANCE_FORWARD_PRINT_FLAG"<>'Y'))
    525 - access("TVC"."DAILY_REPORT_NBR"=:B1 AND "VENDOR_CUSTOMER_ID"=:B2)
    526 - filter("A"."TRANSACTION_NBR"<=:B1 OR :B2=0)
    527 - access("A"."INVOICE_NBR"=:B1)
    528 - filter(("FIN_AGING_ARG"."VENDOR_CUSTOMER_FLAG"='N' OR EXISTS (SELECT 0 FROM GRAINVTRC."FIN_AGING_ARG_VC" "TVC"
    WHERE "VENDOR_CUSTOMER_ID"=:B1 AND "TVC"."DAILY_REPORT_NBR"=:B2)) AND "FIN_TRANSACTION"."TRANSACTION_NBR"= (SELECT
    MAX("TRANSACTION_NBR") FROM GRAINVTRC."FIN_TRANSACTION" "A" WHERE "A"."PAYMENT_NBR"=:B3 AND
    "A"."TRANSACTION_DATE"<=:B4 AND ("A"."TRANSACTION_NBR"<=:B5 OR :B6=0)))
    529 - access("FIN_PAYMENT"."PAYMENT_NBR"="FIN_TRANSACTION"."PAYMENT_NBR")
    filter(("FIN_PAYMENT"."FINANCIAL_SOURCE"="FIN_AGING_ARG"."FINANCIAL_SOURCE" OR
    "FIN_AGING_ARG"."FINANCIAL_SOURCE"='APR') AND "FIN_PAYMENT"."PAYMENT_DATE"<="FIN_AGING_ARG"."AGING_DATE" AND
    ("FIN_AGING_ARG"."PLC_ID" IS NULL OR "FIN_AGING_ARG"."PLC_ID" IS NOT NULL AND
    "FIN_PAYMENT"."LOCATION_ID"="FIN_AGING_ARG"."PLC_ID" AND "FIN_PAYMENT"."LOCATION_ID" IS NOT NULL) AND CASE WHEN
    "FIN_AGING_ARG"."AGE_CREDIT_FLAG"='Y' THEN CASE WHEN "FIN_AGING_ARG"."AGING_DATE"-"FIN_PAYMENT"."PAYMENT_DATE"<"FIN_AG
    ING_ARG"."B_1"+1 THEN 1 WHEN "FIN_AGING_ARG"."AGING_DATE"-"FIN_PAYMENT"."PAYMENT_DATE"<"FIN_AGING_ARG"."B_2"+1 THEN 2
    WHEN "FIN_AGING_ARG"."AGING_DATE"-"FIN_PAYMENT"."PAYMENT_DATE"<"FIN_AGING_ARG"."B_3"+1 THEN 3 WHEN
    "FIN_AGING_ARG"."AGING_DATE"-"FIN_PAYMENT"."PAYMENT_DATE"<"FIN_AGING_ARG"."B_4"+1 THEN 4 WHEN
    "FIN_AGING_ARG"."AGING_DATE"-"FIN_PAYMENT"."PAYMENT_DATE"<"FIN_AGING_ARG"."B_5"+1 THEN 5 ELSE 6 END ELSE 1 END >0)
    530 - filter("FIN_PAYMENT"."FINANCIAL_SOURCE"='A/P' AND ("FIN_PAYMENT"."INTERNAL_FLAG"='N' OR
    "FIN_PAYMENT"."INTERNAL_FLAG"='Y' AND ("FIN_PAYMENT"."PAYMENT_TYPE"='C' OR "FIN_PAYMENT"."PAYMENT_TYPE"='N')))
    533 - access("FIN_AGING_ARG"."DAILY_REPORT_NBR"=36)
    534 - filter("FIN_TRANSACTION"."PAYMENT_NBR" IS NOT NULL AND ("FIN_AGING_ARG"."MAX_KEY"=0 OR
    "FIN_TRANSACTION"."TRANSACTION_NBR"<="FIN_AGING_ARG"."MAX_KEY"))
    535 - access("TVC"."DAILY_REPORT_NBR"=:B1 AND "VENDOR_CUSTOMER_ID"=:B2)
    537 - filter("A"."TRANSACTION_DATE"<=:B1 AND ("A"."TRANSACTION_NBR"<=:B2 OR :B3=0))
    538 - access("A"."PAYMENT_NBR"=:B1)
    539 - filter(("FIN_AGING_ARG"."VENDOR_CUSTOMER_FLAG"='N' OR EXISTS (SELECT 0 FROM GRAINVTRC."FIN_AGING_ARG_VC" "TVC"
    WHERE "VENDOR_CUSTOMER_ID"=:B1 AND "TVC"."DAILY_REPORT_NBR"=:B2)) AND EXISTS (SELECT 0 FROM
    GRAINVTRC."FIN_TRANSACTION" "A" WHERE "A"."PAYMENT_NBR"=:B3 AND ("A"."TRANSACTION_NBR"<=:B4 OR :B5=0)))
    542 - access("FIN_AGING_ARG"."DAILY_REPORT_NBR"=36)
    543 - filter("FIN_PAYMENT"."FINANCIAL_SOURCE"='A/P' AND ("FIN_PAYMENT"."INTERNAL_FLAG"='N' OR
    "FIN_PAYMENT"."INTERNAL_FLAG"='Y' AND ("FIN_PAYMENT"."PAYMENT_TYPE"='C' OR "FIN_PAYMENT"."PAYMENT_TYPE"='N')) AND
    ("FIN_PAYMENT"."FINANCIAL_SOURCE"="FIN_AGING_ARG"."FINANCIAL_SOURCE" OR "FIN_AGING_ARG"."FINANCIAL_SOURCE"='APR') AND
    ("UNAPPLIED_AMOUNT"<>0 OR "FIN_AGING_ARG"."AGING_DATE"<="LAST_TRANSACTION_DATE") AND ("FIN_AGING_ARG"."PLC_ID" IS NULL
    OR "FIN_AGING_ARG"."PLC_ID" IS NOT NULL AND "FIN_PAYMENT"."LOCATION_ID"="FIN_AGING_ARG"."PLC_ID" AND
    "FIN_PAYMENT"."LOCATION_ID" IS NOT NULL))
    544 - access("FIN_PAYMENT"."PAYMENT_DATE">"FIN_AGING_ARG"."AGING_DATE")
    545 - access("TVC"."DAILY_REPORT_NBR"=:B1 AND "VENDOR_CUSTOMER_ID"=:B2)
    546 - filter("A"."TRANSACTION_NBR"<=:B1 OR :B2=0)
    547 - access("A"."PAYMENT_NBR"=:B1)
    548 - filter("FIN_AGING_ARG"."VENDOR_CUSTOMER_FLAG"='N' OR EXISTS (SELECT 0 FROM GRAINVTRC."FIN_AGING_ARG_VC" "TVC"
    WHERE "VENDOR_CUSTOMER_ID"=:B1 AND "TVC"."DAILY_REPORT_NBR"=:B2))
    549 - filter(NULL IS NOT NULL)
    553 - filter("FIN_AGING_ARG"."INVOICE_DATE_FLAG"='N')
    554 - access("FIN_AGING_ARG"."DAILY_REPORT_NBR"=36)
    555 - filter("FIN_INVOICE"."FINANCIAL_SOURCE"='A/R' AND ("FIN_INVOICE"."FINANCIAL_SOURCE"="FIN_AGING_ARG"."FINANCIAL_S
    OURCE" OR "FIN_AGING_ARG"."FINANCIAL_SOURCE"='APR') AND "FIN_INVOICE"."INVOICE_DATE"<="FIN_AGING_ARG"."AGING_DATE" AND
    ("FIN_AGING_ARG"."PLC_ID" IS NULL OR "FIN_INVOICE"."LOCATION_ID"="FIN_AGING_ARG"."PLC_ID" AND "FIN_AGING_ARG"."PLC_ID"
    IS NOT NULL) AND CASE WHEN (("FIN_AGING_ARG"."AGE_CREDIT_FLAG"='Y' AND "FIN_INVOICE"."ORIGINAL_AMOUNT"<0) OR
    "FIN_INVOICE"."ORIGINAL_AMOUNT">0) THEN CASE WHEN "FIN_AGING_ARG"."AGING_DATE"-"FIN_INVOICE"."DUE_DATE"<"FIN_AGING_ARG
    "."B_1"+1 THEN 1 WHEN "FIN_AGING_ARG"."AGING_DATE"-"FIN_INVOICE"."DUE_DATE"<"FIN_AGING_ARG"."B_2"+1 THEN 2 WHEN
    "FIN_AGING_ARG"."AGING_DATE"-"FIN_INVOICE"."DUE_DATE"<"FIN_AGING_ARG"."B_3"+1 THEN 3 WHEN
    "FIN_AGING_ARG"."AGING_DATE"-"FIN_INVOICE"."DUE_DATE"<"FIN_AGING_ARG"."B_4"+1 THEN 4 WHEN
    "FIN_AGING_ARG"."AGING_DATE"-"FIN_INVOICE"."DUE_DATE"<"FIN_AGING_ARG"."B_5"+1 THEN 5 ELSE 6 END ELSE 1 END >0)
    556 - filter("FIN_TRANSACTION"."INVOICE_NBR" IS NOT NULL AND
    "FIN_INVOICE"."INVOICE_NBR"="FIN_TRANSACTION"."INVOICE_NBR" AND ("FIN_AGING_ARG"."MAX_KEY"=0 OR
    "FIN_TRANSACTION"."TRANSACTION_NBR"<="FIN_AGING_ARG"."MAX_KEY"))
    557 - access("FIN_TRANSACTION"."TRANSACTION_NBR"= (SELECT MAX("TRANSACTION_NBR") FROM GRAINVTRC."FIN_TRANSACTION" "A"
    WHERE "A"."INVOICE_NBR"=:B1 AND "A"."TRANSACTION_DATE"<=:B2 AND ("A"."TRANSACTION_NBR"<=:B3 OR :B4=0)))
    559 - filter("A"."TRANSACTION_DATE"<=:B1 AND ("A"."TRANSACTION_NBR"<=:B2 OR :B3=0))
    560 - access("A"."INVOICE_NBR"=:B1)
    561 - filter("FIN_AGING_ARG"."CREDIT_STATUS"='0' OR "FIN_AGING_ARG"."CREDIT_STATUS"='1' AND
    "S1_CUSTOMER_DATA"."HOLD_FLAG"='Y' OR "FIN_AGING_ARG"."CREDIT_STATUS"='2' AND "S1_CUSTOMER_DATA"."CREDIT_LIMIT" IS NOT
    NULL OR "S1_CUSTOMER_DATA"."HOLD_FLAG"='Y' OR "S1_CUSTOMER_DATA"."CREDIT_LIMIT" IS NOT NULL)
    562 - access("FIN_INVOICE"."CUSTOMER_VENDOR_ID"="S1_CUSTOMER_DATA"."CUSTOMER_ID")
    563 - access("TVC"."DAILY_REPORT_NBR"=:B1 AND "VENDOR_CUSTOMER_ID"=:B2)
    564 - filter("FIN_AGING_ARG"."VENDOR_CUSTOMER_FLAG"='N' OR EXISTS (SELECT 0 FROM GRAINVTRC."FIN_AGING_ARG_VC" "TVC"
    WHERE "VENDOR_CUSTOMER_ID"=:B1 AND "TVC"."DAILY_REPORT_NBR"=:B2))
    565 - filter(NULL IS NOT NULL)
    569 - filter("FIN_AGING_ARG"."INVOICE_DATE_FLAG"='Y')
    570 - access("FIN_AGING_ARG"."DAILY_REPORT_NBR"=36)
    571 - filter("FIN_INVOICE"."FINANCIAL_SOURCE"='A/R' AND ("FIN_INVOICE"."FINANCIAL_SOURCE"="FIN_AGING_ARG"."FINANCIAL_S
    OURCE" OR "FIN_AGING_ARG"."FINANCIAL_SOURCE"='APR') AND "FIN_INVOICE"."INVOICE_DATE"<="FIN_AGING_ARG"."AGING_DATE" AND
    ("FIN_AGING_ARG"."PLC_ID" IS NULL OR "FIN_INVOICE"."LOCATION_ID"="FIN_AGING_ARG"."PLC_ID" AND "FIN_AGING_ARG"."PLC_ID"
    IS NOT NULL) AND CASE WHEN (("FIN_AGING_ARG"."AGE_CREDIT_FLAG"='Y' AND "FIN_INVOICE"."ORIGINAL_AMOUNT"<0) OR
    "FIN_INVOICE"."ORIGINAL_AMOUNT">0) THEN CASE WHEN "FIN_AGING_ARG"."AGING_DATE"-"FIN_INVOICE"."INVOICE_DATE"<"FIN_AGING
    _ARG"."B_1"+1 THEN 1 WHEN "FIN_AGING_ARG"."AGING_DATE"-"FIN_INVOICE"."INVOICE_DATE"<"FIN_AGING_ARG"."B_2"+1 THEN 2
    WHEN "FIN_AGING_ARG"."AGING_DATE"-"FIN_INVOICE"."INVOICE_DATE"<"FIN_AGING_ARG"."B_3"+1 THEN 3 WHEN
    "FIN_AGING_ARG"."AGING_DATE"-"FIN_INVOICE"."INVOICE_DATE"<"FIN_AGING_ARG"."B_4"+1 THEN 4 WHEN
    "FIN_AGING_ARG"."AGING_DATE"-"FIN_INVOICE"."INVOICE_DATE"<"FIN_AGING_ARG"."B_5"+1 THEN 5 ELSE 6 END ELSE 1 END >0)
    572 - filter("FIN_TRANSACTION"."INVOICE_NBR" IS NOT NULL AND
    "FIN_INVOICE"."INVOICE_NBR"="FIN_TRANSACTION"."INVOICE_NBR" AND ("FIN_AGING_ARG"."MAX_KEY"=0 OR
    "FIN_TRANSACTION"."TRANSACTION_NBR"<="FIN_AGING_ARG"."MAX_KEY"))
    573 - access("FIN_TRANSACTION"."TRANSACTION_NBR"= (SELECT MAX("TRANSACTION_NBR") FROM GRAINVTRC."FIN_TRANSACTION" "A"
    WHERE "A"."INVOICE_NBR"=:B1 AND "A"."TRANSACTION_DATE"<=:B2 AND ("A"."TRANSACTION_NBR"<=:B3 OR :B4=0)))
    575 - filter("A"."TRANSACTION_DATE"<=:B1 AND ("A"."TRANSACTION_NBR"<=:B2 OR :B3=0))
    576 - access("A"."INVOICE_NBR"=:B1)
    577 - filter("FIN_AGING_ARG"."CREDIT_STATUS"='0' OR "FIN_AGING_ARG"."CREDIT_STATUS"='1' AND
    "S1_CUSTOMER_DATA"."HOLD_FLAG"='Y' OR "FIN_AGING_ARG"."CREDIT_STATUS"='2' AND "S1_CUSTOMER_DATA"."CREDIT_LIMIT" IS NOT
    NULL OR "S1_CUSTOMER_DATA"."HOLD_FLAG"='Y' OR "S1_CUSTOMER_DATA"."CREDIT_LIMIT" IS NOT NULL)
    578 - access("FIN_INVOICE"."CUSTOMER_VENDOR_ID"="S1_CUSTOMER_DATA"."CUSTOMER_ID")
    579 - access("TVC"."DAILY_REPORT_NBR"=:B1 AND "VENDOR_CUSTOMER_ID"=:B2)
    580 - filter(("FIN_AGING_ARG"."VENDOR_CUSTOMER_FLAG"='N' OR EXISTS (SELECT 0 FROM GRAINVTRC."FIN_AGING_ARG_VC" "TVC"
    WHERE "VENDOR_CUSTOMER_ID"=:B1 AND "TVC"."DAILY_REPORT_NBR"=:B2)) AND EXISTS (SELECT 0 FROM
    GRAINVTRC."FIN_TRANSACTION" "A" WHERE "A"."INVOICE_NBR"=:B3 AND ("A"."TRANSACTION_NBR"<=:B4 OR :B5=0)))
    581 - filter(NULL IS NOT NULL)
    582 - access("FIN_INVOICE"."CUSTOMER_VENDOR_ID"="S1_CUSTOMER_DATA"."CUSTOMER_ID")
    filter(("FIN_INVOICE"."FINANCIAL_SOURCE"="FIN_AGING_ARG"."FINANCIAL_SOURCE" OR
    "FIN_AGING_ARG"."FINANCIAL_SOURCE"='APR') AND "FIN_INVOICE"."INVOICE_DATE">"FIN_AGING_ARG"."AGING_DATE" AND
    ("FIN_AGING_ARG"."PLC_ID" IS NULL OR "FIN_INVOICE"."LOCATION_ID"="FIN_AGING_ARG"."PLC_ID" AND "FIN_AGING_ARG"."PLC_ID"
    IS NOT NULL) AND ("FIN_INVOICE"."INVOICE_STATUS"<>'C' OR "FIN_AGING_ARG"."AGING_DATE"<="FIN_INVOICE"."LAST_TRANSACTION_
    DATE" OR "FIN_INVOICE"."BALANCE_FORWARD_PRINT_FLAG"<>'Y'))
    585 - access("FIN_AGING_ARG"."DAILY_REPORT_NBR"=36)
    586 - filter("FIN_AGING_ARG"."CREDIT_STATUS"='0' OR "FIN_AGING_ARG"."CREDIT_STATUS"='1' AND
    "S1_CUSTOMER_DATA"."HOLD_FLAG"='Y' OR "FIN_AGING_ARG"."CREDIT_STATUS"='2' AND "S1_CUSTOMER_DATA"."CREDIT_LIMIT" IS NOT
    NULL OR "S1_CUSTOMER_DATA"."HOLD_FLAG"='Y' OR "S1_CUSTOMER_DATA"."CREDIT_LIMIT" IS NOT NULL)
    587 - filter("FIN_INVOICE"."FINANCIAL_SOURCE"='A/R')
    588 - access("TVC"."DAILY_REPORT_NBR"=:B1 AND "VENDOR_CUSTOMER_ID"=:B2)
    589 - filter("A"."TRANSACTION_NBR"<=:B1 OR :B2=0)
    590 - access("A"."INVOICE_NBR"=:B1)
    591 - filter(("FIN_AGING_ARG"."VENDOR_CUSTOMER_FLAG"='N' OR EXISTS (SELECT 0 FROM GRAINVTRC."FIN_AGING_ARG_VC" "TVC"
    WHERE "VENDOR_CUSTOMER_ID"=:B1 AND "TVC"."DAILY_REPORT_NBR"=:B2)) AND "FIN_TRANSACTION"."TRANSACTION_NBR"= (SELECT
    MAX("TRANSACTION_NBR") FROM GRAINVTRC."FIN_TRANSACTION" "A" WHERE "A"."PAYMENT_NBR"=:B3 AND
    "A"."TRANSACTION_DATE"<=:B4 AND ("A"."TRANSACTION_NBR"<=:B5 OR :B6=0)))
    592 - access("FIN_PAYMENT"."CUSTOMER_VENDOR_ID"="S1_CUSTOMER_DATA"."CUSTOMER_ID")
    filter("FIN_AGING_ARG"."CREDIT_STATUS"='0' OR "FIN_AGING_ARG"."CREDIT_STATUS"='1' AND
    "S1_CUSTOMER_DATA"."HOLD_FLAG"='Y' OR "FIN_AGING_ARG"."CREDIT_STATUS"='2' AND "S1_CUSTOMER_DATA"."CREDIT_LIMIT" IS NOT
    NULL OR "S1_CUSTOMER_DATA"."HOLD_FLAG"='Y' OR "S1_CUSTOMER_DATA"."CREDIT_LIMIT" IS NOT NULL)
    594 - access("FIN_PAYMENT"."PAYMENT_NBR"="FIN_TRANSACTION"."PAYMENT_NBR")
    filter(("FIN_PAYMENT"."FINANCIAL_SOURCE"="FIN_AGING_ARG"."FINANCIAL_SOURCE" OR
    "FIN_AGING_ARG"."FINANCIAL_SOURCE"='APR') AND "FIN_PAYMENT"."PAYMENT_DATE"<="FIN_AGING_ARG"."AGING_DATE" AND
    ("FIN_AGING_ARG"."PLC_ID" IS NULL OR "FIN_AGING_ARG"."PLC_ID" IS NOT NULL AND
    "FIN_PAYMENT"."LOCATION_ID"="FIN_AGING_ARG"."PLC_ID" AND "FIN_PAYMENT"."LOCATION_ID" IS NOT NULL) AND CASE WHEN
    "FIN_AGING_ARG"."AGE_CREDIT_FLAG"='Y' THEN CASE WHEN "FIN_AGING_ARG"."AGING_DATE"-"FIN_PAYMENT"."PAYMENT_DATE"<"FIN_AG
    ING_ARG"."B_1"+1 THEN 1 WHEN "FIN_AGING_ARG"."AGING_DATE"-"FIN_PAYMENT"."PAYMENT_DATE"<"FIN_AGING_ARG"."B_2"+1 THEN 2
    WHEN "FIN_AGING_ARG"."AGING_DATE"-"FIN_PAYMENT"."PAYMENT_DATE"<"FIN_AGING_ARG"."B_3"+1 THEN 3 WHEN
    "FIN_AGING_ARG"."AGING_DATE"-"FIN_PAYMENT"."PAYMENT_DATE"<"FIN_AGING_ARG"."B_4"+1 THEN 4 WHEN
    "FIN_AGING_ARG"."AGING_DATE"-"FIN_PAYMENT"."PAYMENT_DATE"<"FIN_AGING_ARG"."B_5"+1 THEN 5 ELSE 6 END ELSE 1 END >0)
    595 - filter("FIN_PAYMENT"."FINANCIAL_SOURCE"='A/R' AND ("FIN_PAYMENT"."INTERNAL_FLAG"='N' OR
    "FIN_PAYMENT"."INTERNAL_FLAG"='Y' AND ("FIN_PAYMENT"."PAYMENT_TYPE"='C' OR "FIN_PAYMENT"."PAYMENT_TYPE"='N')))
    598 - access("FIN_AGING_ARG"."DAILY_REPORT_NBR"=36)
    599 - filter("FIN_TRANSACTION"."PAYMENT_NBR" IS NOT NULL AND ("FIN_AGING_ARG"."MAX_KEY"=0 OR
    "FIN_TRANSACTION"."TRANSACTION_NBR"<="FIN_AGING_ARG"."MAX_KEY"))
    600 - access("TVC"."DAILY_REPORT_NBR"=:B1 AND "VENDOR_CUSTOMER_ID"=:B2)
    602 - filter("A"."TRANSACTION_DATE"<=:B1 AND ("A"."TRANSACTION_NBR"<=:B2 OR :B3=0))
    603 - access("A"."PAYMENT_NBR"=:B1)
    604 - filter(("FIN_AGING_ARG"."VENDOR_CUSTOMER_FLAG"='N' OR EXISTS (SELECT 0 FROM GRAINVTRC."FIN_AGING_ARG_VC" "TVC"
    WHERE "VENDOR_CUSTOMER_ID"=:B1 AND "TVC"."DAILY_REPORT_NBR"=:B2)) AND EXISTS (SELECT 0 FROM
    GRAINVTRC."FIN_TRANSACTION" "A" WHERE "A"."PAYMENT_NBR"=:B3 AND ("A"."TRANSACTION_NBR"<=:B4 OR :B5=0)))
    608 - access("FIN_AGING_ARG"."DAILY_REPORT_NBR"=36)
    609 - filter("FIN_PAYMENT"."FINANCIAL_SOURCE"='A/R' AND ("FIN_PAYMENT"."INTERNAL_FLAG"='N' OR
    "FIN_PAYMENT"."INTERNAL_FLAG"='Y' AND ("FIN_PAYMENT"."PAYMENT_TYPE"='C' OR "FIN_PAYMENT"."PAYMENT_TYPE"='N')) AND
    ("FIN_PAYMENT"."FINANCIAL_SOURCE"="FIN_AGING_ARG"."FINANCIAL_SOURCE" OR "FIN_AGING_ARG"."FINANCIAL_SOURCE"='APR') AND
    ("UNAPPLIED_AMOUNT"<>0 OR "FIN_AGING_ARG"."AGING_DATE"<="LAST_TRANSACTION_DATE") AND ("FIN_AGING_ARG"."PLC_ID" IS NULL
    OR "FIN_AGING_ARG"."PLC_ID" IS NOT NULL AND "FIN_PAYMENT"."LOCATION_ID"="FIN_AGING_ARG"."PLC_ID" AND
    "FIN_PAYMENT"."LOCATION_ID" IS NOT NULL))
    610 - access("FIN_PAYMENT"."PAYMENT_DATE">"FIN_AGING_ARG"."AGING_DATE")
    611 - filter("FIN_AGING_ARG"."CREDIT_STATUS"='0' OR "FIN_AGING_ARG"."CREDIT_STATUS"='1' AND
    "S1_CUSTOMER_DATA"."HOLD_FLAG"='Y' OR "FIN_AGING_ARG"."CREDIT_STATUS"='2' AND "S1_CUSTOMER_DATA"."CREDIT_LIMIT" IS NOT
    NULL OR "S1_CUSTOMER_DATA"."HOLD_FLAG"='Y' OR "S1_CUSTOMER_DATA"."CREDIT_LIMIT" IS NOT NULL)
    612 - access("FIN_PAYMENT"."CUSTOMER_VENDOR_ID"="S1_CUSTOMER_DATA"."CUSTOMER_ID")
    613 - access("TVC"."DAILY_REPORT_NBR"=:B1 AND "VENDOR_CUSTOMER_ID"=:B2)
    614 - filter("A"."TRANSACTION_NBR"<=:B1 OR :B2=0)
    615 - access("A"."PAYMENT_NBR"=:B1)
    616 - filter("A"."LOCATION_ID" IS NOT NULL AND ("A"."INTERNAL_FLAG"='N' OR ("A"."PAYMENT_TYPE"='C' OR
    "A"."PAYMENT_TYPE"='N')))
    617 - access("FIN_AGING_INVOICE_VIEW"."SERIAL_NUMBER"="A"."PAYMENT_NBR")
    619 - access("SA"."NAME_AND_ADDRESS_ID"="A"."LOCATION_ID")
    621 - access("S1_CURRENCY_A"."CURRENCY_CODE"="SA"."CURRENCY_CODE")
    623 - access("A"."CURRENCY_CODE"="S1_CURRENCY"."CURRENCY_CODE")
    624 - filter("TA"."INVOICE_NBR" IS NOT NULL AND "TA"."FINANCIAL_SOURCE"='A/R' AND "TA"."TRANSACTION_TYPE"<>'PAY' AND
    "TA"."REVERSED_TRANSACTION_NBR" IS NULL)
    625 - access("A"."PAYMENT_NBR"="TA"."PAYMENT_NBR")
    filter("TA"."PAYMENT_NBR" IS NOT NULL)
    627 - access("TA"."TRANSACTION_TYPE"="FIN_TRANSACTION_TYPE"."CODE")
    filter("FIN_TRANSACTION_TYPE"."CODE"<>'PAY')
    628 - access("A1_USER_LOCATION"."USER_ID"='BRENT' AND "A1_USER_LOCATION"."PLC_ID"="A"."LOCATION_ID")
    630 - access("SB"."NAME_AND_ADDRESS_ID"="A"."CUSTOMER_VENDOR_ID")
    631 - access("SB"."TRADER_ID"="S1_TRADER"."TRADER_ID"(+))
    633 - access("SB"."NAME_AND_ADDRESS_ID"="S1_CUSTOMER_DATA"."CUSTOMER_ID")
    634 - access("SB"."NAME_AND_ADDRESS_ID"="S1_NA_BUSINESS_TYPE"."NAME_AND_ADDRESS_ID"(+))
    635 - filter("TC"."REMAINING_ONACCOUNT"<>0 OR "A"."UNAPPLIED_AMOUNT"<>0 OR "A"."PRINT_FLAG"<>'Y')

    Hi,
    did u try it: SQL and PL/SQL FAQ
    item 3?

  • Query Tuning Assistance - part 4

    636 - access("TC"."TRANSACTION_NBR"="FIN_AGING_INVOICE_VIEW"."MAX_TRANSACTION_NBR")
    649 - access("A"."PAYMENT_NBR"="TA"."PAYMENT_NBR")
    650 - filter("TA"."REVERSED_TRANSACTION_NBR" IS NOT NULL AND "TA"."PAYMENT_NBR" IS NOT NULL AND "TA"."INVOICE_NBR" IS
    NOT NULL AND "TA"."FINANCIAL_SOURCE"='A/R' AND "TA"."TRANSACTION_TYPE"<>'PAY')
    651 - filter("A"."LOCATION_ID" IS NOT NULL AND ("A"."INTERNAL_FLAG"='N' OR ("A"."PAYMENT_TYPE"='C' OR
    "A"."PAYMENT_TYPE"='N')))
    654 - filter("FIN_AGING_ARG"."VENDOR_CUSTOMER_FLAG"='N' OR EXISTS (SELECT 0 FROM GRAINVTRC."FIN_AGING_ARG_VC" "TVC"
    WHERE "VENDOR_CUSTOMER_ID"=:B1 AND "TVC"."DAILY_REPORT_NBR"=:B2))
    655 - filter(NULL IS NOT NULL)
    658 - filter("FIN_AGING_ARG"."INVOICE_DATE_FLAG"='N')
    659 - access("FIN_AGING_ARG"."DAILY_REPORT_NBR"=36)
    660 - filter("FIN_INVOICE"."FINANCIAL_SOURCE"='A/P' AND ("FIN_INVOICE"."FINANCIAL_SOURCE"="FIN_AGING_ARG"."FINANCIAL_S
    OURCE" OR "FIN_AGING_ARG"."FINANCIAL_SOURCE"='APR') AND "FIN_INVOICE"."INVOICE_DATE"<="FIN_AGING_ARG"."AGING_DATE" AND
    ("FIN_AGING_ARG"."PLC_ID" IS NULL OR "FIN_INVOICE"."LOCATION_ID"="FIN_AGING_ARG"."PLC_ID" AND "FIN_AGING_ARG"."PLC_ID"
    IS NOT NULL) AND CASE WHEN (("FIN_AGING_ARG"."AGE_CREDIT_FLAG"='Y' AND "FIN_INVOICE"."ORIGINAL_AMOUNT"<0) OR
    "FIN_INVOICE"."ORIGINAL_AMOUNT">0) THEN CASE WHEN "FIN_AGING_ARG"."AGING_DATE"-"FIN_INVOICE"."DUE_DATE"<"FIN_AGING_ARG
    "."B_1"+1 THEN 1 WHEN "FIN_AGING_ARG"."AGING_DATE"-"FIN_INVOICE"."DUE_DATE"<"FIN_AGING_ARG"."B_2"+1 THEN 2 WHEN
    "FIN_AGING_ARG"."AGING_DATE"-"FIN_INVOICE"."DUE_DATE"<"FIN_AGING_ARG"."B_3"+1 THEN 3 WHEN
    "FIN_AGING_ARG"."AGING_DATE"-"FIN_INVOICE"."DUE_DATE"<"FIN_AGING_ARG"."B_4"+1 THEN 4 WHEN
    "FIN_AGING_ARG"."AGING_DATE"-"FIN_INVOICE"."DUE_DATE"<"FIN_AGING_ARG"."B_5"+1 THEN 5 ELSE 6 END ELSE 1 END >0)
    661 - access("FIN_INVOICE"."INVOICE_NBR"="A"."PAYMENT_NBR")
    662 - filter("FIN_TRANSACTION"."INVOICE_NBR"="A"."PAYMENT_NBR" AND ("FIN_AGING_ARG"."MAX_KEY"=0 OR
    "FIN_TRANSACTION"."TRANSACTION_NBR"<="FIN_AGING_ARG"."MAX_KEY"))
    663 - access("FIN_TRANSACTION"."TRANSACTION_NBR"= (SELECT MAX("TRANSACTION_NBR") FROM GRAINVTRC."FIN_TRANSACTION" "A"
    WHERE "A"."INVOICE_NBR"=:B1 AND "A"."TRANSACTION_DATE"<=:B2 AND ("A"."TRANSACTION_NBR"<=:B3 OR :B4=0)))
    665 - filter("A"."TRANSACTION_DATE"<=:B1 AND ("A"."TRANSACTION_NBR"<=:B2 OR :B3=0))
    666 - access("A"."INVOICE_NBR"=:B1)
    667 - access("TVC"."DAILY_REPORT_NBR"=:B1 AND "VENDOR_CUSTOMER_ID"=:B2)
    668 - filter("FIN_AGING_ARG"."VENDOR_CUSTOMER_FLAG"='N' OR EXISTS (SELECT 0 FROM GRAINVTRC."FIN_AGING_ARG_VC" "TVC"
    WHERE "VENDOR_CUSTOMER_ID"=:B1 AND "TVC"."DAILY_REPORT_NBR"=:B2))
    669 - filter(NULL IS NOT NULL)
    672 - filter("FIN_AGING_ARG"."INVOICE_DATE_FLAG"='Y')
    673 - access("FIN_AGING_ARG"."DAILY_REPORT_NBR"=36)
    674 - filter("FIN_INVOICE"."FINANCIAL_SOURCE"='A/P' AND ("FIN_INVOICE"."FINANCIAL_SOURCE"="FIN_AGING_ARG"."FINANCIAL_S
    OURCE" OR "FIN_AGING_ARG"."FINANCIAL_SOURCE"='APR') AND "FIN_INVOICE"."INVOICE_DATE"<="FIN_AGING_ARG"."AGING_DATE" AND
    ("FIN_AGING_ARG"."PLC_ID" IS NULL OR "FIN_INVOICE"."LOCATION_ID"="FIN_AGING_ARG"."PLC_ID" AND "FIN_AGING_ARG"."PLC_ID"
    IS NOT NULL) AND CASE WHEN (("FIN_AGING_ARG"."AGE_CREDIT_FLAG"='Y' AND "FIN_INVOICE"."ORIGINAL_AMOUNT"<0) OR
    "FIN_INVOICE"."ORIGINAL_AMOUNT">0) THEN CASE WHEN "FIN_AGING_ARG"."AGING_DATE"-"FIN_INVOICE"."INVOICE_DATE"<"FIN_AGING
    _ARG"."B_1"+1 THEN 1 WHEN "FIN_AGING_ARG"."AGING_DATE"-"FIN_INVOICE"."INVOICE_DATE"<"FIN_AGING_ARG"."B_2"+1 THEN 2
    WHEN "FIN_AGING_ARG"."AGING_DATE"-"FIN_INVOICE"."INVOICE_DATE"<"FIN_AGING_ARG"."B_3"+1 THEN 3 WHEN
    "FIN_AGING_ARG"."AGING_DATE"-"FIN_INVOICE"."INVOICE_DATE"<"FIN_AGING_ARG"."B_4"+1 THEN 4 WHEN
    "FIN_AGING_ARG"."AGING_DATE"-"FIN_INVOICE"."INVOICE_DATE"<"FIN_AGING_ARG"."B_5"+1 THEN 5 ELSE 6 END ELSE 1 END >0)
    675 - access("FIN_INVOICE"."INVOICE_NBR"="A"."PAYMENT_NBR")
    676 - filter("FIN_TRANSACTION"."INVOICE_NBR"="A"."PAYMENT_NBR" AND ("FIN_AGING_ARG"."MAX_KEY"=0 OR
    "FIN_TRANSACTION"."TRANSACTION_NBR"<="FIN_AGING_ARG"."MAX_KEY"))
    677 - access("FIN_TRANSACTION"."TRANSACTION_NBR"= (SELECT MAX("TRANSACTION_NBR") FROM GRAINVTRC."FIN_TRANSACTION" "A"
    WHERE "A"."INVOICE_NBR"=:B1 AND "A"."TRANSACTION_DATE"<=:B2 AND ("A"."TRANSACTION_NBR"<=:B3 OR :B4=0)))
    679 - filter("A"."TRANSACTION_DATE"<=:B1 AND ("A"."TRANSACTION_NBR"<=:B2 OR :B3=0))
    680 - access("A"."INVOICE_NBR"=:B1)
    681 - access("TVC"."DAILY_REPORT_NBR"=:B1 AND "VENDOR_CUSTOMER_ID"=:B2)
    682 - filter("FIN_AGING_ARG"."VENDOR_CUSTOMER_FLAG"='N' OR EXISTS (SELECT 0 FROM GRAINVTRC."FIN_AGING_ARG_VC" "TVC"
    WHERE "VENDOR_CUSTOMER_ID"=:B1 AND "TVC"."DAILY_REPORT_NBR"=:B2))
    683 - filter(NULL IS NOT NULL)
    686 - access("FIN_AGING_ARG"."DAILY_REPORT_NBR"=36)
    687 - filter("FIN_INVOICE"."FINANCIAL_SOURCE"='A/P' AND ("FIN_INVOICE"."FINANCIAL_SOURCE"="FIN_AGING_ARG"."FINANCIAL_S
    OURCE" OR "FIN_AGING_ARG"."FINANCIAL_SOURCE"='APR') AND "FIN_INVOICE"."INVOICE_DATE">"FIN_AGING_ARG"."AGING_DATE" AND
    ("FIN_AGING_ARG"."PLC_ID" IS NULL OR "FIN_INVOICE"."LOCATION_ID"="FIN_AGING_ARG"."PLC_ID" AND "FIN_AGING_ARG"."PLC_ID"
    IS NOT NULL) AND ("FIN_INVOICE"."INVOICE_STATUS"<>'C' OR "FIN_AGING_ARG"."AGING_DATE"<="FIN_INVOICE"."LAST_TRANSACTION_
    DATE" OR "FIN_INVOICE"."BALANCE_FORWARD_PRINT_FLAG"<>'Y'))
    688 - access("FIN_INVOICE"."INVOICE_NBR"="A"."PAYMENT_NBR")
    filter( EXISTS (SELECT 0 FROM GRAINVTRC."FIN_TRANSACTION" "A" WHERE "A"."INVOICE_NBR"=:B1 AND
    ("A"."TRANSACTION_NBR"<=:B2 OR :B3=0)))
    689 - filter("A"."TRANSACTION_NBR"<=:B1 OR :B2=0)
    690 - access("A"."INVOICE_NBR"=:B1)
    691 - access("TVC"."DAILY_REPORT_NBR"=:B1 AND "VENDOR_CUSTOMER_ID"=:B2)
    692 - filter("FIN_AGING_ARG"."VENDOR_CUSTOMER_FLAG"='N' OR EXISTS (SELECT 0 FROM GRAINVTRC."FIN_AGING_ARG_VC" "TVC"
    WHERE "VENDOR_CUSTOMER_ID"=:B1 AND "TVC"."DAILY_REPORT_NBR"=:B2))
    696 - access("FIN_AGING_ARG"."DAILY_REPORT_NBR"=36)
    697 - filter("FIN_PAYMENT"."FINANCIAL_SOURCE"='A/P' AND ("FIN_PAYMENT"."INTERNAL_FLAG"='N' OR
    "FIN_PAYMENT"."INTERNAL_FLAG"='Y' AND ("FIN_PAYMENT"."PAYMENT_TYPE"='C' OR "FIN_PAYMENT"."PAYMENT_TYPE"='N')) AND
    ("FIN_PAYMENT"."FINANCIAL_SOURCE"="FIN_AGING_ARG"."FINANCIAL_SOURCE" OR "FIN_AGING_ARG"."FINANCIAL_SOURCE"='APR') AND
    "FIN_PAYMENT"."PAYMENT_DATE"<="FIN_AGING_ARG"."AGING_DATE" AND ("FIN_AGING_ARG"."PLC_ID" IS NULL OR
    "FIN_AGING_ARG"."PLC_ID" IS NOT NULL AND "FIN_PAYMENT"."LOCATION_ID"="FIN_AGING_ARG"."PLC_ID" AND
    "FIN_PAYMENT"."LOCATION_ID" IS NOT NULL) AND CASE WHEN "FIN_AGING_ARG"."AGE_CREDIT_FLAG"='Y' THEN CASE WHEN
    "FIN_AGING_ARG"."AGING_DATE"-"FIN_PAYMENT"."PAYMENT_DATE"<"FIN_AGING_ARG"."B_1"+1 THEN 1 WHEN
    "FIN_AGING_ARG"."AGING_DATE"-"FIN_PAYMENT"."PAYMENT_DATE"<"FIN_AGING_ARG"."B_2"+1 THEN 2 WHEN
    "FIN_AGING_ARG"."AGING_DATE"-"FIN_PAYMENT"."PAYMENT_DATE"<"FIN_AGING_ARG"."B_3"+1 THEN 3 WHEN
    "FIN_AGING_ARG"."AGING_DATE"-"FIN_PAYMENT"."PAYMENT_DATE"<"FIN_AGING_ARG"."B_4"+1 THEN 4 WHEN
    "FIN_AGING_ARG"."AGING_DATE"-"FIN_PAYMENT"."PAYMENT_DATE"<"FIN_AGING_ARG"."B_5"+1 THEN 5 ELSE 6 END ELSE 1 END >0)
    698 - access("FIN_PAYMENT"."PAYMENT_NBR"="A"."PAYMENT_NBR")
    699 - filter("FIN_TRANSACTION"."PAYMENT_NBR"="A"."PAYMENT_NBR" AND ("FIN_AGING_ARG"."MAX_KEY"=0 OR
    "FIN_TRANSACTION"."TRANSACTION_NBR"<="FIN_AGING_ARG"."MAX_KEY"))
    700 - access("FIN_TRANSACTION"."TRANSACTION_NBR"= (SELECT MAX("TRANSACTION_NBR") FROM GRAINVTRC."FIN_TRANSACTION" "A"
    WHERE "A"."PAYMENT_NBR"=:B1 AND "A"."TRANSACTION_DATE"<=:B2 AND ("A"."TRANSACTION_NBR"<=:B3 OR :B4=0)))
    702 - filter("A"."TRANSACTION_DATE"<=:B1 AND ("A"."TRANSACTION_NBR"<=:B2 OR :B3=0))
    703 - access("A"."PAYMENT_NBR"=:B1)
    704 - access("TVC"."DAILY_REPORT_NBR"=:B1 AND "VENDOR_CUSTOMER_ID"=:B2)
    705 - filter(("FIN_AGING_ARG"."VENDOR_CUSTOMER_FLAG"='N' OR EXISTS (SELECT 0 FROM GRAINVTRC."FIN_AGING_ARG_VC" "TVC"
    WHERE "VENDOR_CUSTOMER_ID"=:B1 AND "TVC"."DAILY_REPORT_NBR"=:B2)) AND EXISTS (SELECT 0 FROM
    GRAINVTRC."FIN_TRANSACTION" "A" WHERE "A"."PAYMENT_NBR"=:B3 AND ("A"."TRANSACTION_NBR"<=:B4 OR :B5=0)))
    708 - access("FIN_AGING_ARG"."DAILY_REPORT_NBR"=36)
    709 - filter("FIN_PAYMENT"."PAYMENT_NBR"="A"."PAYMENT_NBR" AND "FIN_PAYMENT"."FINANCIAL_SOURCE"='A/P' AND
    ("FIN_PAYMENT"."INTERNAL_FLAG"='N' OR "FIN_PAYMENT"."INTERNAL_FLAG"='Y' AND ("FIN_PAYMENT"."PAYMENT_TYPE"='C' OR
    "FIN_PAYMENT"."PAYMENT_TYPE"='N')) AND ("FIN_PAYMENT"."FINANCIAL_SOURCE"="FIN_AGING_ARG"."FINANCIAL_SOURCE" OR
    "FIN_AGING_ARG"."FINANCIAL_SOURCE"='APR') AND ("UNAPPLIED_AMOUNT"<>0 OR
    "FIN_AGING_ARG"."AGING_DATE"<="LAST_TRANSACTION_DATE") AND ("FIN_AGING_ARG"."PLC_ID" IS NULL OR
    "FIN_AGING_ARG"."PLC_ID" IS NOT NULL AND "FIN_PAYMENT"."LOCATION_ID"="FIN_AGING_ARG"."PLC_ID" AND
    "FIN_PAYMENT"."LOCATION_ID" IS NOT NULL))
    710 - access("FIN_PAYMENT"."PAYMENT_DATE">"FIN_AGING_ARG"."AGING_DATE")
    711 - access("TVC"."DAILY_REPORT_NBR"=:B1 AND "VENDOR_CUSTOMER_ID"=:B2)
    712 - filter("A"."TRANSACTION_NBR"<=:B1 OR :B2=0)
    713 - access("A"."PAYMENT_NBR"=:B1)
    714 - filter("FIN_AGING_ARG"."VENDOR_CUSTOMER_FLAG"='N' OR EXISTS (SELECT 0 FROM GRAINVTRC."FIN_AGING_ARG_VC" "TVC"
    WHERE "VENDOR_CUSTOMER_ID"=:B1 AND "TVC"."DAILY_REPORT_NBR"=:B2))
    715 - filter(NULL IS NOT NULL)
    719 - filter("FIN_AGING_ARG"."INVOICE_DATE_FLAG"='N')
    720 - access("FIN_AGING_ARG"."DAILY_REPORT_NBR"=36)
    721 - filter("FIN_INVOICE"."FINANCIAL_SOURCE"='A/R' AND ("FIN_INVOICE"."FINANCIAL_SOURCE"="FIN_AGING_ARG"."FINANCIAL_S
    OURCE" OR "FIN_AGING_ARG"."FINANCIAL_SOURCE"='APR') AND "FIN_INVOICE"."INVOICE_DATE"<="FIN_AGING_ARG"."AGING_DATE" AND
    ("FIN_AGING_ARG"."PLC_ID" IS NULL OR "FIN_INVOICE"."LOCATION_ID"="FIN_AGING_ARG"."PLC_ID" AND "FIN_AGING_ARG"."PLC_ID"
    IS NOT NULL) AND CASE WHEN (("FIN_AGING_ARG"."AGE_CREDIT_FLAG"='Y' AND "FIN_INVOICE"."ORIGINAL_AMOUNT"<0) OR
    "FIN_INVOICE"."ORIGINAL_AMOUNT">0) THEN CASE WHEN "FIN_AGING_ARG"."AGING_DATE"-"FIN_INVOICE"."DUE_DATE"<"FIN_AGING_ARG
    "."B_1"+1 THEN 1 WHEN "FIN_AGING_ARG"."AGING_DATE"-"FIN_INVOICE"."DUE_DATE"<"FIN_AGING_ARG"."B_2"+1 THEN 2 WHEN
    "FIN_AGING_ARG"."AGING_DATE"-"FIN_INVOICE"."DUE_DATE"<"FIN_AGING_ARG"."B_3"+1 THEN 3 WHEN
    "FIN_AGING_ARG"."AGING_DATE"-"FIN_INVOICE"."DUE_DATE"<"FIN_AGING_ARG"."B_4"+1 THEN 4 WHEN
    "FIN_AGING_ARG"."AGING_DATE"-"FIN_INVOICE"."DUE_DATE"<"FIN_AGING_ARG"."B_5"+1 THEN 5 ELSE 6 END ELSE 1 END >0)
    722 - access("FIN_INVOICE"."INVOICE_NBR"="A"."PAYMENT_NBR")
    723 - filter("FIN_AGING_ARG"."CREDIT_STATUS"='0' OR "FIN_AGING_ARG"."CREDIT_STATUS"='1' AND
    "S1_CUSTOMER_DATA"."HOLD_FLAG"='Y' OR "FIN_AGING_ARG"."CREDIT_STATUS"='2' AND "S1_CUSTOMER_DATA"."CREDIT_LIMIT" IS NOT
    NULL OR "S1_CUSTOMER_DATA"."HOLD_FLAG"='Y' OR "S1_CUSTOMER_DATA"."CREDIT_LIMIT" IS NOT NULL)
    724 - access("FIN_INVOICE"."CUSTOMER_VENDOR_ID"="S1_CUSTOMER_DATA"."CUSTOMER_ID")
    725 - filter("FIN_TRANSACTION"."INVOICE_NBR"="A"."PAYMENT_NBR" AND ("FIN_AGING_ARG"."MAX_KEY"=0 OR
    "FIN_TRANSACTION"."TRANSACTION_NBR"<="FIN_AGING_ARG"."MAX_KEY"))
    726 - access("FIN_TRANSACTION"."TRANSACTION_NBR"= (SELECT MAX("TRANSACTION_NBR") FROM GRAINVTRC."FIN_TRANSACTION" "A"
    WHERE "A"."INVOICE_NBR"=:B1 AND "A"."TRANSACTION_DATE"<=:B2 AND ("A"."TRANSACTION_NBR"<=:B3 OR :B4=0)))
    728 - filter("A"."TRANSACTION_DATE"<=:B1 AND ("A"."TRANSACTION_NBR"<=:B2 OR :B3=0))
    729 - access("A"."INVOICE_NBR"=:B1)
    730 - access("TVC"."DAILY_REPORT_NBR"=:B1 AND "VENDOR_CUSTOMER_ID"=:B2)
    731 - filter("FIN_AGING_ARG"."VENDOR_CUSTOMER_FLAG"='N' OR EXISTS (SELECT 0 FROM GRAINVTRC."FIN_AGING_ARG_VC" "TVC"
    WHERE "VENDOR_CUSTOMER_ID"=:B1 AND "TVC"."DAILY_REPORT_NBR"=:B2))
    732 - filter(NULL IS NOT NULL)
    736 - filter("FIN_AGING_ARG"."INVOICE_DATE_FLAG"='Y')
    737 - access("FIN_AGING_ARG"."DAILY_REPORT_NBR"=36)
    738 - filter("FIN_INVOICE"."FINANCIAL_SOURCE"='A/R' AND ("FIN_INVOICE"."FINANCIAL_SOURCE"="FIN_AGING_ARG"."FINANCIAL_S
    OURCE" OR "FIN_AGING_ARG"."FINANCIAL_SOURCE"='APR') AND "FIN_INVOICE"."INVOICE_DATE"<="FIN_AGING_ARG"."AGING_DATE" AND
    ("FIN_AGING_ARG"."PLC_ID" IS NULL OR "FIN_INVOICE"."LOCATION_ID"="FIN_AGING_ARG"."PLC_ID" AND "FIN_AGING_ARG"."PLC_ID"
    IS NOT NULL) AND CASE WHEN (("FIN_AGING_ARG"."AGE_CREDIT_FLAG"='Y' AND "FIN_INVOICE"."ORIGINAL_AMOUNT"<0) OR
    "FIN_INVOICE"."ORIGINAL_AMOUNT">0) THEN CASE WHEN "FIN_AGING_ARG"."AGING_DATE"-"FIN_INVOICE"."INVOICE_DATE"<"FIN_AGING
    _ARG"."B_1"+1 THEN 1 WHEN "FIN_AGING_ARG"."AGING_DATE"-"FIN_INVOICE"."INVOICE_DATE"<"FIN_AGING_ARG"."B_2"+1 THEN 2
    WHEN "FIN_AGING_ARG"."AGING_DATE"-"FIN_INVOICE"."INVOICE_DATE"<"FIN_AGING_ARG"."B_3"+1 THEN 3 WHEN
    "FIN_AGING_ARG"."AGING_DATE"-"FIN_INVOICE"."INVOICE_DATE"<"FIN_AGING_ARG"."B_4"+1 THEN 4 WHEN
    "FIN_AGING_ARG"."AGING_DATE"-"FIN_INVOICE"."INVOICE_DATE"<"FIN_AGING_ARG"."B_5"+1 THEN 5 ELSE 6 END ELSE 1 END >0)
    739 - access("FIN_INVOICE"."INVOICE_NBR"="A"."PAYMENT_NBR")
    740 - filter("FIN_AGING_ARG"."CREDIT_STATUS"='0' OR "FIN_AGING_ARG"."CREDIT_STATUS"='1' AND
    "S1_CUSTOMER_DATA"."HOLD_FLAG"='Y' OR "FIN_AGING_ARG"."CREDIT_STATUS"='2' AND "S1_CUSTOMER_DATA"."CREDIT_LIMIT" IS NOT
    NULL OR "S1_CUSTOMER_DATA"."HOLD_FLAG"='Y' OR "S1_CUSTOMER_DATA"."CREDIT_LIMIT" IS NOT NULL)
    741 - access("FIN_INVOICE"."CUSTOMER_VENDOR_ID"="S1_CUSTOMER_DATA"."CUSTOMER_ID")
    742 - filter("FIN_TRANSACTION"."INVOICE_NBR"="A"."PAYMENT_NBR" AND ("FIN_AGING_ARG"."MAX_KEY"=0 OR
    "FIN_TRANSACTION"."TRANSACTION_NBR"<="FIN_AGING_ARG"."MAX_KEY"))
    743 - access("FIN_TRANSACTION"."TRANSACTION_NBR"= (SELECT MAX("TRANSACTION_NBR") FROM GRAINVTRC."FIN_TRANSACTION" "A"
    WHERE "A"."INVOICE_NBR"=:B1 AND "A"."TRANSACTION_DATE"<=:B2 AND ("A"."TRANSACTION_NBR"<=:B3 OR :B4=0)))
    745 - filter("A"."TRANSACTION_DATE"<=:B1 AND ("A"."TRANSACTION_NBR"<=:B2 OR :B3=0))
    746 - access("A"."INVOICE_NBR"=:B1)
    747 - access("TVC"."DAILY_REPORT_NBR"=:B1 AND "VENDOR_CUSTOMER_ID"=:B2)
    748 - filter("FIN_AGING_ARG"."VENDOR_CUSTOMER_FLAG"='N' OR EXISTS (SELECT 0 FROM GRAINVTRC."FIN_AGING_ARG_VC" "TVC"
    WHERE "VENDOR_CUSTOMER_ID"=:B1 AND "TVC"."DAILY_REPORT_NBR"=:B2))
    749 - filter(NULL IS NOT NULL)
    753 - access("FIN_AGING_ARG"."DAILY_REPORT_NBR"=36)
    754 - filter("FIN_INVOICE"."FINANCIAL_SOURCE"='A/R' AND ("FIN_INVOICE"."FINANCIAL_SOURCE"="FIN_AGING_ARG"."FINANCIAL_S
    OURCE" OR "FIN_AGING_ARG"."FINANCIAL_SOURCE"='APR') AND "FIN_INVOICE"."INVOICE_DATE">"FIN_AGING_ARG"."AGING_DATE" AND
    ("FIN_AGING_ARG"."PLC_ID" IS NULL OR "FIN_INVOICE"."LOCATION_ID"="FIN_AGING_ARG"."PLC_ID" AND "FIN_AGING_ARG"."PLC_ID"
    IS NOT NULL) AND ("FIN_INVOICE"."INVOICE_STATUS"<>'C' OR "FIN_AGING_ARG"."AGING_DATE"<="FIN_INVOICE"."LAST_TRANSACTION_
    DATE" OR "FIN_INVOICE"."BALANCE_FORWARD_PRINT_FLAG"<>'Y'))
    755 - access("FIN_INVOICE"."INVOICE_NBR"="A"."PAYMENT_NBR")
    filter( EXISTS (SELECT 0 FROM GRAINVTRC."FIN_TRANSACTION" "A" WHERE "A"."INVOICE_NBR"=:B1 AND
    ("A"."TRANSACTION_NBR"<=:B2 OR :B3=0)))
    756 - filter("A"."TRANSACTION_NBR"<=:B1 OR :B2=0)
    757 - access("A"."INVOICE_NBR"=:B1)
    758 - filter("FIN_AGING_ARG"."CREDIT_STATUS"='0' OR "FIN_AGING_ARG"."CREDIT_STATUS"='1' AND
    "S1_CUSTOMER_DATA"."HOLD_FLAG"='Y' OR "FIN_AGING_ARG"."CREDIT_STATUS"='2' AND "S1_CUSTOMER_DATA"."CREDIT_LIMIT" IS NOT
    NULL OR "S1_CUSTOMER_DATA"."HOLD_FLAG"='Y' OR "S1_CUSTOMER_DATA"."CREDIT_LIMIT" IS NOT NULL)
    759 - access("FIN_INVOICE"."CUSTOMER_VENDOR_ID"="S1_CUSTOMER_DATA"."CUSTOMER_ID")
    760 - access("TVC"."DAILY_REPORT_NBR"=:B1 AND "VENDOR_CUSTOMER_ID"=:B2)
    761 - filter("FIN_AGING_ARG"."VENDOR_CUSTOMER_FLAG"='N' OR EXISTS (SELECT 0 FROM GRAINVTRC."FIN_AGING_ARG_VC" "TVC"
    WHERE "VENDOR_CUSTOMER_ID"=:B1 AND "TVC"."DAILY_REPORT_NBR"=:B2))
    766 - access("FIN_AGING_ARG"."DAILY_REPORT_NBR"=36)
    767 - filter("FIN_PAYMENT"."FINANCIAL_SOURCE"='A/R' AND ("FIN_PAYMENT"."INTERNAL_FLAG"='N' OR
    "FIN_PAYMENT"."INTERNAL_FLAG"='Y' AND ("FIN_PAYMENT"."PAYMENT_TYPE"='C' OR "FIN_PAYMENT"."PAYMENT_TYPE"='N')) AND
    ("FIN_PAYMENT"."FINANCIAL_SOURCE"="FIN_AGING_ARG"."FINANCIAL_SOURCE" OR "FIN_AGING_ARG"."FINANCIAL_SOURCE"='APR') AND
    "FIN_PAYMENT"."PAYMENT_DATE"<="FIN_AGING_ARG"."AGING_DATE" AND ("FIN_AGING_ARG"."PLC_ID" IS NULL OR
    "FIN_AGING_ARG"."PLC_ID" IS NOT NULL AND "FIN_PAYMENT"."LOCATION_ID"="FIN_AGING_ARG"."PLC_ID" AND
    "FIN_PAYMENT"."LOCATION_ID" IS NOT NULL) AND CASE WHEN "FIN_AGING_ARG"."AGE_CREDIT_FLAG"='Y' THEN CASE WHEN
    "FIN_AGING_ARG"."AGING_DATE"-"FIN_PAYMENT"."PAYMENT_DATE"<"FIN_AGING_ARG"."B_1"+1 THEN 1 WHEN
    "FIN_AGING_ARG"."AGING_DATE"-"FIN_PAYMENT"."PAYMENT_DATE"<"FIN_AGING_ARG"."B_2"+1 THEN 2 WHEN
    "FIN_AGING_ARG"."AGING_DATE"-"FIN_PAYMENT"."PAYMENT_DATE"<"FIN_AGING_ARG"."B_3"+1 THEN 3 WHEN
    "FIN_AGING_ARG"."AGING_DATE"-"FIN_PAYMENT"."PAYMENT_DATE"<"FIN_AGING_ARG"."B_4"+1 THEN 4 WHEN
    "FIN_AGING_ARG"."AGING_DATE"-"FIN_PAYMENT"."PAYMENT_DATE"<"FIN_AGING_ARG"."B_5"+1 THEN 5 ELSE 6 END ELSE 1 END >0)
    768 - access("FIN_PAYMENT"."PAYMENT_NBR"="A"."PAYMENT_NBR")
    769 - filter("FIN_AGING_ARG"."CREDIT_STATUS"='0' OR "FIN_AGING_ARG"."CREDIT_STATUS"='1' AND
    "S1_CUSTOMER_DATA"."HOLD_FLAG"='Y' OR "FIN_AGING_ARG"."CREDIT_STATUS"='2' AND "S1_CUSTOMER_DATA"."CREDIT_LIMIT" IS NOT
    NULL OR "S1_CUSTOMER_DATA"."HOLD_FLAG"='Y' OR "S1_CUSTOMER_DATA"."CREDIT_LIMIT" IS NOT NULL)
    770 - access("FIN_PAYMENT"."CUSTOMER_VENDOR_ID"="S1_CUSTOMER_DATA"."CUSTOMER_ID")
    771 - filter("FIN_TRANSACTION"."PAYMENT_NBR"="A"."PAYMENT_NBR" AND ("FIN_AGING_ARG"."MAX_KEY"=0 OR
    "FIN_TRANSACTION"."TRANSACTION_NBR"<="FIN_AGING_ARG"."MAX_KEY"))
    772 - access("FIN_TRANSACTION"."TRANSACTION_NBR"= (SELECT MAX("TRANSACTION_NBR") FROM GRAINVTRC."FIN_TRANSACTION" "A"
    WHERE "A"."PAYMENT_NBR"=:B1 AND "A"."TRANSACTION_DATE"<=:B2 AND ("A"."TRANSACTION_NBR"<=:B3 OR :B4=0)))
    774 - filter("A"."TRANSACTION_DATE"<=:B1 AND ("A"."TRANSACTION_NBR"<=:B2 OR :B3=0))
    775 - access("A"."PAYMENT_NBR"=:B1)
    776 - access("TVC"."DAILY_REPORT_NBR"=:B1 AND "VENDOR_CUSTOMER_ID"=:B2)
    777 - filter(("FIN_AGING_ARG"."VENDOR_CUSTOMER_FLAG"='N' OR EXISTS (SELECT 0 FROM GRAINVTRC."FIN_AGING_ARG_VC" "TVC"
    WHERE "VENDOR_CUSTOMER_ID"=:B1 AND "TVC"."DAILY_REPORT_NBR"=:B2)) AND EXISTS (SELECT 0 FROM
    GRAINVTRC."FIN_TRANSACTION" "A" WHERE "A"."PAYMENT_NBR"=:B3 AND ("A"."TRANSACTION_NBR"<=:B4 OR :B5=0)))
    781 - access("FIN_AGING_ARG"."DAILY_REPORT_NBR"=36)
    782 - filter("FIN_PAYMENT"."PAYMENT_NBR"="A"."PAYMENT_NBR" AND "FIN_PAYMENT"."FINANCIAL_SOURCE"='A/R' AND
    ("FIN_PAYMENT"."INTERNAL_FLAG"='N' OR "FIN_PAYMENT"."INTERNAL_FLAG"='Y' AND ("FIN_PAYMENT"."PAYMENT_TYPE"='C' OR
    "FIN_PAYMENT"."PAYMENT_TYPE"='N')) AND ("FIN_PAYMENT"."FINANCIAL_SOURCE"="FIN_AGING_ARG"."FINANCIAL_SOURCE" OR
    "FIN_AGING_ARG"."FINANCIAL_SOURCE"='APR') AND ("UNAPPLIED_AMOUNT"<>0 OR
    "FIN_AGING_ARG"."AGING_DATE"<="LAST_TRANSACTION_DATE") AND ("FIN_AGING_ARG"."PLC_ID" IS NULL OR
    "FIN_AGING_ARG"."PLC_ID" IS NOT NULL AND "FIN_PAYMENT"."LOCATION_ID"="FIN_AGING_ARG"."PLC_ID" AND
    "FIN_PAYMENT"."LOCATION_ID" IS NOT NULL))
    783 - access("FIN_PAYMENT"."PAYMENT_DATE">"FIN_AGING_ARG"."AGING_DATE")
    784 - filter("FIN_AGING_ARG"."CREDIT_STATUS"='0' OR "FIN_AGING_ARG"."CREDIT_STATUS"='1' AND
    "S1_CUSTOMER_DATA"."HOLD_FLAG"='Y' OR "FIN_AGING_ARG"."CREDIT_STATUS"='2' AND "S1_CUSTOMER_DATA"."CREDIT_LIMIT" IS NOT
    NULL OR "S1_CUSTOMER_DATA"."HOLD_FLAG"='Y' OR "S1_CUSTOMER_DATA"."CREDIT_LIMIT" IS NOT NULL)
    785 - access("FIN_PAYMENT"."CUSTOMER_VENDOR_ID"="S1_CUSTOMER_DATA"."CUSTOMER_ID")
    786 - access("TVC"."DAILY_REPORT_NBR"=:B1 AND "VENDOR_CUSTOMER_ID"=:B2)
    787 - filter("A"."TRANSACTION_NBR"<=:B1 OR :B2=0)
    788 - access("A"."PAYMENT_NBR"=:B1)
    789 - filter("TC"."REMAINING_ONACCOUNT"<>0 OR "A"."UNAPPLIED_AMOUNT"<>0 OR "A"."PRINT_FLAG"<>'Y')
    790 - access("TC"."TRANSACTION_NBR"="FIN_AGING_INVOICE_VIEW"."MAX_TRANSACTION_NBR")
    791 - access("A1_USER_LOCATION"."USER_ID"='BRENT' AND "A1_USER_LOCATION"."PLC_ID"="A"."LOCATION_ID")
    793 - access("SB"."NAME_AND_ADDRESS_ID"="A"."CUSTOMER_VENDOR_ID")
    795 - access("SB"."NAME_AND_ADDRESS_ID"="S1_CUSTOMER_DATA"."CUSTOMER_ID")
    796 - access("SB"."TRADER_ID"="S1_TRADER"."TRADER_ID"(+))
    798 - access("SA"."NAME_AND_ADDRESS_ID"="A"."LOCATION_ID")
    800 - access("S1_CURRENCY_A"."CURRENCY_CODE"="SA"."CURRENCY_CODE")
    802 - access("A"."CURRENCY_CODE"="S1_CURRENCY"."CURRENCY_CODE")
    804 - access("TA"."TRANSACTION_TYPE"="FIN_TRANSACTION_TYPE"."CODE")
    filter("FIN_TRANSACTION_TYPE"."CODE"<>'PAY')
    805 - filter("TB"."TRANSACTION_TYPE"<>'PAY')
    806 - access("TA"."REVERSED_TRANSACTION_NBR"="TB"."TRANSACTION_NBR")
    807 - access("SB"."NAME_AND_ADDRESS_ID"="S1_NA_BUSINESS_TYPE"."NAME_AND_ADDRESS_ID"(+))
    808 - access("A"."CURRENCY_CODE"="S1_CURRENCY"."CURRENCY_CODE")
    809 - access("S1_CURRENCY_A"."CURRENCY_CODE"="SA"."CURRENCY_CODE")
    811 - access("FIN_TRANSACTION"."TRANSACTION_TYPE"="FIN_TRANSACTION_TYPE"."CODE")
    812 - filter("FIN_TRANSACTION"."PAYMENT_NBR" IS NULL)
    816 - access("A"."CUSTOMER_VENDOR_ID"="S1_NA_BUSINESS_TYPE"."NAME_AND_ADDRESS_ID"(+))
    822 - filter("FIN_AGING_ARG"."VENDOR_CUSTOMER_FLAG"='N' OR EXISTS (SELECT 0 FROM GRAINVTRC."FIN_AGING_ARG_VC" "TVC"
    WHERE "VENDOR_CUSTOMER_ID"=:B1 AND "TVC"."DAILY_REPORT_NBR"=:B2))
    823 - filter(NULL IS NOT NULL)
    826 - filter("FIN_AGING_ARG"."INVOICE_DATE_FLAG"='N')
    827 - access("FIN_AGING_ARG"."DAILY_REPORT_NBR"=36)
    828 - filter("FIN_INVOICE"."FINANCIAL_SOURCE"='A/P' AND ("FIN_INVOICE"."FINANCIAL_SOURCE"="FIN_AGING_ARG"."FINANCIAL_S
    OURCE" OR "FIN_AGING_ARG"."FINANCIAL_SOURCE"='APR') AND "FIN_INVOICE"."INVOICE_DATE"<="FIN_AGING_ARG"."AGING_DATE" AND
    ("FIN_AGING_ARG"."PLC_ID" IS NULL OR "FIN_INVOICE"."LOCATION_ID"="FIN_AGING_ARG"."PLC_ID" AND "FIN_AGING_ARG"."PLC_ID"
    IS NOT NULL) AND CASE WHEN (("FIN_AGING_ARG"."AGE_CREDIT_FLAG"='Y' AND "FIN_INVOICE"."ORIGINAL_AMOUNT"<0) OR
    "FIN_INVOICE"."ORIGINAL_AMOUNT">0) THEN CASE WHEN "FIN_AGING_ARG"."AGING_DATE"-"FIN_INVOICE"."DUE_DATE"<"FIN_AGING_ARG
    "."B_1"+1 THEN 1 WHEN "FIN_AGING_ARG"."AGING_DATE"-"FIN_INVOICE"."DUE_DATE"<"FIN_AGING_ARG"."B_2"+1 THEN 2 WHEN
    "FIN_AGING_ARG"."AGING_DATE"-"FIN_INVOICE"."DUE_DATE"<"FIN_AGING_ARG"."B_3"+1 THEN 3 WHEN
    "FIN_AGING_ARG"."AGING_DATE"-"FIN_INVOICE"."DUE_DATE"<"FIN_AGING_ARG"."B_4"+1 THEN 4 WHEN
    "FIN_AGING_ARG"."AGING_DATE"-"FIN_INVOICE"."DUE_DATE"<"FIN_AGING_ARG"."B_5"+1 THEN 5 ELSE 6 END ELSE 1 END >0)
    829 - filter("FIN_TRANSACTION"."INVOICE_NBR" IS NOT NULL AND
    "FIN_INVOICE"."INVOICE_NBR"="FIN_TRANSACTION"."INVOICE_NBR" AND ("FIN_AGING_ARG"."MAX_KEY"=0 OR
    "FIN_TRANSACTION"."TRANSACTION_NBR"<="FIN_AGING_ARG"."MAX_KEY"))
    830 - access("FIN_TRANSACTION"."TRANSACTION_NBR"= (SELECT MAX("TRANSACTION_NBR") FROM GRAINVTRC."FIN_TRANSACTION" "A"
    WHERE "A"."INVOICE_NBR"=:B1 AND "A"."TRANSACTION_DATE"<=:B2 AND ("A"."TRANSACTION_NBR"<=:B3 OR :B4=0)))
    832 - filter("A"."TRANSACTION_DATE"<=:B1 AND ("A"."TRANSACTION_NBR"<=:B2 OR :B3=0))
    833 - access("A"."INVOICE_NBR"=:B1)
    834 - access("TVC"."DAILY_REPORT_NBR"=:B1 AND "VENDOR_CUSTOMER_ID"=:B2)
    835 - filter("FIN_AGING_ARG"."VENDOR_CUSTOMER_FLAG"='N' OR EXISTS (SELECT 0 FROM GRAINVTRC."FIN_AGING_ARG_VC" "TVC"
    WHERE "VENDOR_CUSTOMER_ID"=:B1 AND "TVC"."DAILY_REPORT_NBR"=:B2))
    836 - filter(NULL IS NOT NULL)
    839 - filter("FIN_AGING_ARG"."INVOICE_DATE_FLAG"='Y')
    840 - access("FIN_AGING_ARG"."DAILY_REPORT_NBR"=36)
    841 - filter("FIN_INVOICE"."FINANCIAL_SOURCE"='A/P' AND ("FIN_INVOICE"."FINANCIAL_SOURCE"="FIN_AGING_ARG"."FINANCIAL_S
    OURCE" OR "FIN_AGING_ARG"."FINANCIAL_SOURCE"='APR') AND "FIN_INVOICE"."INVOICE_DATE"<="FIN_AGING_ARG"."AGING_DATE" AND
    ("FIN_AGING_ARG"."PLC_ID" IS NULL OR "FIN_INVOICE"."LOCATION_ID"="FIN_AGING_ARG"."PLC_ID" AND "FIN_AGING_ARG"."PLC_ID"
    IS NOT NULL) AND CASE WHEN (("FIN_AGING_ARG"."AGE_CREDIT_FLAG"='Y' AND "FIN_INVOICE"."ORIGINAL_AMOUNT"<0) OR
    "FIN_INVOICE"."ORIGINAL_AMOUNT">0) THEN CASE WHEN "FIN_AGING_ARG"."AGING_DATE"-"FIN_INVOICE"."INVOICE_DATE"<"FIN_AGING
    _ARG"."B_1"+1 THEN 1 WHEN "FIN_AGING_ARG"."AGING_DATE"-"FIN_INVOICE"."INVOICE_DATE"<"FIN_AGING_ARG"."B_2"+1 THEN 2
    WHEN "FIN_AGING_ARG"."AGING_DATE"-"FIN_INVOICE"."INVOICE_DATE"<"FIN_AGING_ARG"."B_3"+1 THEN 3 WHEN
    "FIN_AGING_ARG"."AGING_DATE"-"FIN_INVOICE"."INVOICE_DATE"<"FIN_AGING_ARG"."B_4"+1 THEN 4 WHEN
    "FIN_AGING_ARG"."AGING_DATE"-"FIN_INVOICE"."INVOICE_DATE"<"FIN_AGING_ARG"."B_5"+1 THEN 5 ELSE 6 END ELSE 1 END >0)
    842 - filter("FIN_TRANSACTION"."INVOICE_NBR" IS NOT NULL AND
    "FIN_INVOICE"."INVOICE_NBR"="FIN_TRANSACTION"."INVOICE_NBR" AND ("FIN_AGING_ARG"."MAX_KEY"=0 OR
    "FIN_TRANSACTION"."TRANSACTION_NBR"<="FIN_AGING_ARG"."MAX_KEY"))
    843 - access("FIN_TRANSACTION"."TRANSACTION_NBR"= (SELECT MAX("TRANSACTION_NBR") FROM GRAINVTRC."FIN_TRANSACTION" "A"
    WHERE "A"."INVOICE_NBR"=:B1 AND "A"."TRANSACTION_DATE"<=:B2 AND ("A"."TRANSACTION_NBR"<=:B3 OR :B4=0)))
    845 - filter("A"."TRANSACTION_DATE"<=:B1 AND ("A"."TRANSACTION_NBR"<=:B2 OR :B3=0))
    846 - access("A"."INVOICE_NBR"=:B1)
    847 - access("TVC"."DAILY_REPORT_NBR"=:B1 AND "VENDOR_CUSTOMER_ID"=:B2)
    848 - filter(("FIN_AGING_ARG"."VENDOR_CUSTOMER_FLAG"='N' OR EXISTS (SELECT 0 FROM GRAINVTRC."FIN_AGING_ARG_VC" "TVC"
    WHERE "VENDOR_CUSTOMER_ID"=:B1 AND "TVC"."DAILY_REPORT_NBR"=:B2)) AND EXISTS (SELECT 0 FROM
    GRAINVTRC."FIN_TRANSACTION" "A" WHERE "A"."INVOICE_NBR"=:B3 AND ("A"."TRANSACTION_NBR"<=:B4 OR :B5=0)))
    851 - access("FIN_AGING_ARG"."DAILY_REPORT_NBR"=36)
    852 - filter("FIN_INVOICE"."FINANCIAL_SOURCE"='A/P' AND ("FIN_INVOICE"."FINANCIAL_SOURCE"="FIN_AGING_ARG"."FINANCIAL_S
    OURCE" OR "FIN_AGING_ARG"."FINANCIAL_SOURCE"='APR') AND "FIN_INVOICE"."INVOICE_DATE">"FIN_AGING_ARG"."AGING_DATE" AND
    ("FIN_AGING_ARG"."PLC_ID" IS NULL OR "FIN_INVOICE"."LOCATION_ID"="FIN_AGING_ARG"."PLC_ID" AND "FIN_AGING_ARG"."PLC_ID"
    IS NOT NULL) AND ("FIN_INVOICE"."INVOICE_STATUS"<>'C' OR "FIN_AGING_ARG"."AGING_DATE"<="FIN_INVOICE"."LAST_TRANSACTION_
    DATE" OR "FIN_INVOICE"."BALANCE_FORWARD_PRINT_FLAG"<>'Y'))
    853 - access("TVC"."DAILY_REPORT_NBR"=:B1 AND "VENDOR_CUSTOMER_ID"=:B2)
    854 - filter("A"."TRANSACTION_NBR"<=:B1 OR :B2=0)
    855 - access("A"."INVOICE_NBR"=:B1)
    856 - filter(("FIN_AGING_ARG"."VENDOR_CUSTOMER_FLAG"='N' OR EXISTS (SELECT 0 FROM GRAINVTRC."FIN_AGING_ARG_VC" "TVC"
    WHERE "VENDOR_CUSTOMER_ID"=:B1 AND "TVC"."DAILY_REPORT_NBR"=:B2)) AND "FIN_TRANSACTION"."TRANSACTION_NBR"= (SELECT
    MAX("TRANSACTION_NBR") FROM GRAINVTRC."FIN_TRANSACTION" "A" WHERE "A"."PAYMENT_NBR"=:B3 AND
    "A"."TRANSACTION_DATE"<=:B4 AND ("A"."TRANSACTION_NBR"<=:B5 OR :B6=0)))
    857 - filter(NULL IS NOT NULL AND NULL IS NOT NULL)
    858 - access("FIN_PAYMENT"."PAYMENT_NBR"="FIN_TRANSACTION"."PAYMENT_NBR")
    filter(("FIN_PAYMENT"."FINANCIAL_SOURCE"="FIN_AGING_ARG"."FINANCIAL_SOURCE" OR

    Hi,
    did u try it: SQL and PL/SQL FAQ
    item 3?

  • Query Tuning Assistance - part 6

    1061 - access("A"."INVOICE_NBR"=:B1)
    1062 - filter("FIN_AGING_ARG"."CREDIT_STATUS"='0' OR "FIN_AGING_ARG"."CREDIT_STATUS"='1' AND
    "S1_CUSTOMER_DATA"."HOLD_FLAG"='Y' OR "FIN_AGING_ARG"."CREDIT_STATUS"='2' AND "S1_CUSTOMER_DATA"."CREDIT_LIMIT" IS NOT
    NULL OR "S1_CUSTOMER_DATA"."HOLD_FLAG"='Y' OR "S1_CUSTOMER_DATA"."CREDIT_LIMIT" IS NOT NULL)
    1063 - access("FIN_INVOICE"."CUSTOMER_VENDOR_ID"="S1_CUSTOMER_DATA"."CUSTOMER_ID")
    1064 - access("TVC"."DAILY_REPORT_NBR"=:B1 AND "VENDOR_CUSTOMER_ID"=:B2)
    1065 - filter(("FIN_AGING_ARG"."VENDOR_CUSTOMER_FLAG"='N' OR EXISTS (SELECT 0 FROM GRAINVTRC."FIN_AGING_ARG_VC" "TVC"
    WHERE "VENDOR_CUSTOMER_ID"=:B1 AND "TVC"."DAILY_REPORT_NBR"=:B2)) AND EXISTS (SELECT 0 FROM
    GRAINVTRC."FIN_TRANSACTION" "A" WHERE "A"."INVOICE_NBR"=:B3 AND ("A"."TRANSACTION_NBR"<=:B4 OR :B5=0)))
    1066 - access("FIN_INVOICE"."CUSTOMER_VENDOR_ID"="S1_CUSTOMER_DATA"."CUSTOMER_ID")
    filter(("FIN_INVOICE"."FINANCIAL_SOURCE"="FIN_AGING_ARG"."FINANCIAL_SOURCE" OR
    "FIN_AGING_ARG"."FINANCIAL_SOURCE"='APR') AND "FIN_INVOICE"."INVOICE_DATE">"FIN_AGING_ARG"."AGING_DATE" AND
    ("FIN_AGING_ARG"."PLC_ID" IS NULL OR "FIN_INVOICE"."LOCATION_ID"="FIN_AGING_ARG"."PLC_ID" AND "FIN_AGING_ARG"."PLC_ID"
    IS NOT NULL) AND ("FIN_INVOICE"."INVOICE_STATUS"<>'C' OR "FIN_AGING_ARG"."AGING_DATE"<="FIN_INVOICE"."LAST_TRANSACTION_
    DATE" OR "FIN_INVOICE"."BALANCE_FORWARD_PRINT_FLAG"<>'Y'))
    1069 - access("FIN_AGING_ARG"."DAILY_REPORT_NBR"=36)
    1070 - filter("FIN_AGING_ARG"."CREDIT_STATUS"='0' OR "FIN_AGING_ARG"."CREDIT_STATUS"='1' AND
    "S1_CUSTOMER_DATA"."HOLD_FLAG"='Y' OR "FIN_AGING_ARG"."CREDIT_STATUS"='2' AND "S1_CUSTOMER_DATA"."CREDIT_LIMIT" IS NOT
    NULL OR "S1_CUSTOMER_DATA"."HOLD_FLAG"='Y' OR "S1_CUSTOMER_DATA"."CREDIT_LIMIT" IS NOT NULL)
    1071 - filter("FIN_INVOICE"."FINANCIAL_SOURCE"='A/R')
    1072 - access("TVC"."DAILY_REPORT_NBR"=:B1 AND "VENDOR_CUSTOMER_ID"=:B2)
    1073 - filter("A"."TRANSACTION_NBR"<=:B1 OR :B2=0)
    1074 - access("A"."INVOICE_NBR"=:B1)
    1075 - filter(("FIN_AGING_ARG"."VENDOR_CUSTOMER_FLAG"='N' OR EXISTS (SELECT 0 FROM GRAINVTRC."FIN_AGING_ARG_VC" "TVC"
    WHERE "VENDOR_CUSTOMER_ID"=:B1 AND "TVC"."DAILY_REPORT_NBR"=:B2)) AND "FIN_TRANSACTION"."TRANSACTION_NBR"= (SELECT
    MAX("TRANSACTION_NBR") FROM GRAINVTRC."FIN_TRANSACTION" "A" WHERE "A"."PAYMENT_NBR"=:B3 AND
    "A"."TRANSACTION_DATE"<=:B4 AND ("A"."TRANSACTION_NBR"<=:B5 OR :B6=0)))
    1076 - filter(NULL IS NOT NULL AND NULL IS NOT NULL)
    1077 - access("FIN_PAYMENT"."CUSTOMER_VENDOR_ID"="S1_CUSTOMER_DATA"."CUSTOMER_ID")
    filter("FIN_AGING_ARG"."CREDIT_STATUS"='0' OR "FIN_AGING_ARG"."CREDIT_STATUS"='1' AND
    "S1_CUSTOMER_DATA"."HOLD_FLAG"='Y' OR "FIN_AGING_ARG"."CREDIT_STATUS"='2' AND "S1_CUSTOMER_DATA"."CREDIT_LIMIT" IS NOT
    NULL OR "S1_CUSTOMER_DATA"."HOLD_FLAG"='Y' OR "S1_CUSTOMER_DATA"."CREDIT_LIMIT" IS NOT NULL)
    1079 - access("FIN_PAYMENT"."PAYMENT_NBR"="FIN_TRANSACTION"."PAYMENT_NBR")
    filter(("FIN_PAYMENT"."FINANCIAL_SOURCE"="FIN_AGING_ARG"."FINANCIAL_SOURCE" OR
    "FIN_AGING_ARG"."FINANCIAL_SOURCE"='APR') AND "FIN_PAYMENT"."PAYMENT_DATE"<="FIN_AGING_ARG"."AGING_DATE" AND
    ("FIN_AGING_ARG"."PLC_ID" IS NULL OR "FIN_AGING_ARG"."PLC_ID" IS NOT NULL AND
    "FIN_PAYMENT"."LOCATION_ID"="FIN_AGING_ARG"."PLC_ID" AND "FIN_PAYMENT"."LOCATION_ID" IS NOT NULL) AND CASE WHEN
    "FIN_AGING_ARG"."AGE_CREDIT_FLAG"='Y' THEN CASE WHEN "FIN_AGING_ARG"."AGING_DATE"-"FIN_PAYMENT"."PAYMENT_DATE"<"FIN_AG
    ING_ARG"."B_1"+1 THEN 1 WHEN "FIN_AGING_ARG"."AGING_DATE"-"FIN_PAYMENT"."PAYMENT_DATE"<"FIN_AGING_ARG"."B_2"+1 THEN 2
    WHEN "FIN_AGING_ARG"."AGING_DATE"-"FIN_PAYMENT"."PAYMENT_DATE"<"FIN_AGING_ARG"."B_3"+1 THEN 3 WHEN
    "FIN_AGING_ARG"."AGING_DATE"-"FIN_PAYMENT"."PAYMENT_DATE"<"FIN_AGING_ARG"."B_4"+1 THEN 4 WHEN
    "FIN_AGING_ARG"."AGING_DATE"-"FIN_PAYMENT"."PAYMENT_DATE"<"FIN_AGING_ARG"."B_5"+1 THEN 5 ELSE 6 END ELSE 1 END >0)
    1080 - filter("FIN_PAYMENT"."FINANCIAL_SOURCE"='A/R' AND ("FIN_PAYMENT"."INTERNAL_FLAG"='N' OR
    "FIN_PAYMENT"."INTERNAL_FLAG"='Y' AND ("FIN_PAYMENT"."PAYMENT_TYPE"='C' OR "FIN_PAYMENT"."PAYMENT_TYPE"='N')))
    1083 - access("FIN_AGING_ARG"."DAILY_REPORT_NBR"=36)
    1084 - filter("FIN_TRANSACTION"."PAYMENT_NBR" IS NOT NULL AND ("FIN_AGING_ARG"."MAX_KEY"=0 OR
    "FIN_TRANSACTION"."TRANSACTION_NBR"<="FIN_AGING_ARG"."MAX_KEY"))
    1085 - access("TVC"."DAILY_REPORT_NBR"=:B1 AND "VENDOR_CUSTOMER_ID"=:B2)
    1087 - filter("A"."TRANSACTION_DATE"<=:B1 AND ("A"."TRANSACTION_NBR"<=:B2 OR :B3=0))
    1088 - access("A"."PAYMENT_NBR"=:B1)
    1089 - filter(("FIN_AGING_ARG"."VENDOR_CUSTOMER_FLAG"='N' OR EXISTS (SELECT 0 FROM GRAINVTRC."FIN_AGING_ARG_VC" "TVC"
    WHERE "VENDOR_CUSTOMER_ID"=:B1 AND "TVC"."DAILY_REPORT_NBR"=:B2)) AND EXISTS (SELECT 0 FROM
    GRAINVTRC."FIN_TRANSACTION" "A" WHERE "A"."PAYMENT_NBR"=:B3 AND ("A"."TRANSACTION_NBR"<=:B4 OR :B5=0)))
    1090 - filter(NULL IS NOT NULL)
    1094 - access("FIN_AGING_ARG"."DAILY_REPORT_NBR"=36)
    1095 - filter("FIN_PAYMENT"."FINANCIAL_SOURCE"='A/R' AND ("FIN_PAYMENT"."INTERNAL_FLAG"='N' OR
    "FIN_PAYMENT"."INTERNAL_FLAG"='Y' AND ("FIN_PAYMENT"."PAYMENT_TYPE"='C' OR "FIN_PAYMENT"."PAYMENT_TYPE"='N')) AND
    ("FIN_PAYMENT"."FINANCIAL_SOURCE"="FIN_AGING_ARG"."FINANCIAL_SOURCE" OR "FIN_AGING_ARG"."FINANCIAL_SOURCE"='APR') AND
    ("UNAPPLIED_AMOUNT"<>0 OR "FIN_AGING_ARG"."AGING_DATE"<="LAST_TRANSACTION_DATE") AND ("FIN_AGING_ARG"."PLC_ID" IS NULL
    OR "FIN_AGING_ARG"."PLC_ID" IS NOT NULL AND "FIN_PAYMENT"."LOCATION_ID"="FIN_AGING_ARG"."PLC_ID" AND
    "FIN_PAYMENT"."LOCATION_ID" IS NOT NULL))
    1096 - access("FIN_PAYMENT"."PAYMENT_DATE">"FIN_AGING_ARG"."AGING_DATE")
    1097 - filter("FIN_AGING_ARG"."CREDIT_STATUS"='0' OR "FIN_AGING_ARG"."CREDIT_STATUS"='1' AND
    "S1_CUSTOMER_DATA"."HOLD_FLAG"='Y' OR "FIN_AGING_ARG"."CREDIT_STATUS"='2' AND "S1_CUSTOMER_DATA"."CREDIT_LIMIT" IS NOT
    NULL OR "S1_CUSTOMER_DATA"."HOLD_FLAG"='Y' OR "S1_CUSTOMER_DATA"."CREDIT_LIMIT" IS NOT NULL)
    1098 - access("FIN_PAYMENT"."CUSTOMER_VENDOR_ID"="S1_CUSTOMER_DATA"."CUSTOMER_ID")
    1099 - access("TVC"."DAILY_REPORT_NBR"=:B1 AND "VENDOR_CUSTOMER_ID"=:B2)
    1100 - filter("A"."TRANSACTION_NBR"<=:B1 OR :B2=0)
    1101 - access("A"."PAYMENT_NBR"=:B1)
    1102 - filter("A"."FINANCIAL_SOURCE"='A/R')
    1103 - access("FIN_AGING_INVOICE_VIEW"."SERIAL_NUMBER"="A"."INVOICE_NBR")
    1104 - access("A1_USER_LOCATION"."USER_ID"='BRENT' AND "A1_USER_LOCATION"."PLC_ID"="A"."LOCATION_ID")
    1106 - access("SB"."NAME_AND_ADDRESS_ID"="A"."CUSTOMER_VENDOR_ID")
    1108 - access("SB"."NAME_AND_ADDRESS_ID"="S1_CUSTOMER_DATA"."CUSTOMER_ID")
    1110 - access("SA"."NAME_AND_ADDRESS_ID"="A"."LOCATION_ID")
    1113 - access("A"."TRADER_ID"="S1_TRADER"."TRADER_ID"(+))
    1115 - access("FIN_TRANSACTION"."INVOICE_NBR"="A"."INVOICE_NBR")
    filter("FIN_TRANSACTION"."INVOICE_NBR" IS NOT NULL)
    1118 - access("FIN_PAYMENT"."PAYMENT_NBR"="FIN_TRANSACTION"."PAYMENT_NBR")
    1132 - filter("FIN_AGING_ARG"."VENDOR_CUSTOMER_FLAG"='N' OR EXISTS (SELECT 0 FROM GRAINVTRC."FIN_AGING_ARG_VC" "TVC"
    WHERE "VENDOR_CUSTOMER_ID"=:B1 AND "TVC"."DAILY_REPORT_NBR"=:B2))
    1133 - filter(NULL IS NOT NULL AND NULL IS NOT NULL)
    1136 - filter("FIN_AGING_ARG"."INVOICE_DATE_FLAG"='N')
    1137 - access("FIN_AGING_ARG"."DAILY_REPORT_NBR"=36)
    1138 - filter("FIN_INVOICE"."FINANCIAL_SOURCE"='A/P' AND ("FIN_INVOICE"."FINANCIAL_SOURCE"="FIN_AGING_ARG"."FINANCIAL_S
    OURCE" OR "FIN_AGING_ARG"."FINANCIAL_SOURCE"='APR') AND "FIN_INVOICE"."INVOICE_DATE"<="FIN_AGING_ARG"."AGING_DATE" AND
    ("FIN_AGING_ARG"."PLC_ID" IS NULL OR "FIN_INVOICE"."LOCATION_ID"="FIN_AGING_ARG"."PLC_ID" AND "FIN_AGING_ARG"."PLC_ID"
    IS NOT NULL) AND CASE WHEN (("FIN_AGING_ARG"."AGE_CREDIT_FLAG"='Y' AND "FIN_INVOICE"."ORIGINAL_AMOUNT"<0) OR
    "FIN_INVOICE"."ORIGINAL_AMOUNT">0) THEN CASE WHEN "FIN_AGING_ARG"."AGING_DATE"-"FIN_INVOICE"."DUE_DATE"<"FIN_AGING_ARG
    "."B_1"+1 THEN 1 WHEN "FIN_AGING_ARG"."AGING_DATE"-"FIN_INVOICE"."DUE_DATE"<"FIN_AGING_ARG"."B_2"+1 THEN 2 WHEN
    "FIN_AGING_ARG"."AGING_DATE"-"FIN_INVOICE"."DUE_DATE"<"FIN_AGING_ARG"."B_3"+1 THEN 3 WHEN
    "FIN_AGING_ARG"."AGING_DATE"-"FIN_INVOICE"."DUE_DATE"<"FIN_AGING_ARG"."B_4"+1 THEN 4 WHEN
    "FIN_AGING_ARG"."AGING_DATE"-"FIN_INVOICE"."DUE_DATE"<"FIN_AGING_ARG"."B_5"+1 THEN 5 ELSE 6 END ELSE 1 END >0)
    1139 - filter("FIN_TRANSACTION"."INVOICE_NBR" IS NOT NULL AND
    "FIN_INVOICE"."INVOICE_NBR"="FIN_TRANSACTION"."INVOICE_NBR" AND ("FIN_AGING_ARG"."MAX_KEY"=0 OR
    "FIN_TRANSACTION"."TRANSACTION_NBR"<="FIN_AGING_ARG"."MAX_KEY"))
    1140 - access("FIN_TRANSACTION"."TRANSACTION_NBR"= (SELECT MAX("TRANSACTION_NBR") FROM GRAINVTRC."FIN_TRANSACTION" "A"
    WHERE "A"."INVOICE_NBR"=:B1 AND "A"."TRANSACTION_DATE"<=:B2 AND ("A"."TRANSACTION_NBR"<=:B3 OR :B4=0)))
    1142 - filter("A"."TRANSACTION_DATE"<=:B1 AND ("A"."TRANSACTION_NBR"<=:B2 OR :B3=0))
    1143 - access("A"."INVOICE_NBR"=:B1)
    1144 - access("TVC"."DAILY_REPORT_NBR"=:B1 AND "VENDOR_CUSTOMER_ID"=:B2)
    1145 - filter("FIN_AGING_ARG"."VENDOR_CUSTOMER_FLAG"='N' OR EXISTS (SELECT 0 FROM GRAINVTRC."FIN_AGING_ARG_VC" "TVC"
    WHERE "VENDOR_CUSTOMER_ID"=:B1 AND "TVC"."DAILY_REPORT_NBR"=:B2))
    1146 - filter(NULL IS NOT NULL AND NULL IS NOT NULL)
    1149 - filter("FIN_AGING_ARG"."INVOICE_DATE_FLAG"='Y')
    1150 - access("FIN_AGING_ARG"."DAILY_REPORT_NBR"=36)
    1151 - filter("FIN_INVOICE"."FINANCIAL_SOURCE"='A/P' AND ("FIN_INVOICE"."FINANCIAL_SOURCE"="FIN_AGING_ARG"."FINANCIAL_S
    OURCE" OR "FIN_AGING_ARG"."FINANCIAL_SOURCE"='APR') AND "FIN_INVOICE"."INVOICE_DATE"<="FIN_AGING_ARG"."AGING_DATE" AND
    ("FIN_AGING_ARG"."PLC_ID" IS NULL OR "FIN_INVOICE"."LOCATION_ID"="FIN_AGING_ARG"."PLC_ID" AND "FIN_AGING_ARG"."PLC_ID"
    IS NOT NULL) AND CASE WHEN (("FIN_AGING_ARG"."AGE_CREDIT_FLAG"='Y' AND "FIN_INVOICE"."ORIGINAL_AMOUNT"<0) OR
    "FIN_INVOICE"."ORIGINAL_AMOUNT">0) THEN CASE WHEN "FIN_AGING_ARG"."AGING_DATE"-"FIN_INVOICE"."INVOICE_DATE"<"FIN_AGING
    _ARG"."B_1"+1 THEN 1 WHEN "FIN_AGING_ARG"."AGING_DATE"-"FIN_INVOICE"."INVOICE_DATE"<"FIN_AGING_ARG"."B_2"+1 THEN 2
    WHEN "FIN_AGING_ARG"."AGING_DATE"-"FIN_INVOICE"."INVOICE_DATE"<"FIN_AGING_ARG"."B_3"+1 THEN 3 WHEN
    "FIN_AGING_ARG"."AGING_DATE"-"FIN_INVOICE"."INVOICE_DATE"<"FIN_AGING_ARG"."B_4"+1 THEN 4 WHEN
    "FIN_AGING_ARG"."AGING_DATE"-"FIN_INVOICE"."INVOICE_DATE"<"FIN_AGING_ARG"."B_5"+1 THEN 5 ELSE 6 END ELSE 1 END >0)
    1152 - filter("FIN_TRANSACTION"."INVOICE_NBR" IS NOT NULL AND
    "FIN_INVOICE"."INVOICE_NBR"="FIN_TRANSACTION"."INVOICE_NBR" AND ("FIN_AGING_ARG"."MAX_KEY"=0 OR
    "FIN_TRANSACTION"."TRANSACTION_NBR"<="FIN_AGING_ARG"."MAX_KEY"))
    1153 - access("FIN_TRANSACTION"."TRANSACTION_NBR"= (SELECT MAX("TRANSACTION_NBR") FROM GRAINVTRC."FIN_TRANSACTION" "A"
    WHERE "A"."INVOICE_NBR"=:B1 AND "A"."TRANSACTION_DATE"<=:B2 AND ("A"."TRANSACTION_NBR"<=:B3 OR :B4=0)))
    1155 - filter("A"."TRANSACTION_DATE"<=:B1 AND ("A"."TRANSACTION_NBR"<=:B2 OR :B3=0))
    1156 - access("A"."INVOICE_NBR"=:B1)
    1157 - access("TVC"."DAILY_REPORT_NBR"=:B1 AND "VENDOR_CUSTOMER_ID"=:B2)
    1158 - filter(("FIN_AGING_ARG"."VENDOR_CUSTOMER_FLAG"='N' OR EXISTS (SELECT 0 FROM GRAINVTRC."FIN_AGING_ARG_VC" "TVC"
    WHERE "VENDOR_CUSTOMER_ID"=:B1 AND "TVC"."DAILY_REPORT_NBR"=:B2)) AND EXISTS (SELECT 0 FROM
    GRAINVTRC."FIN_TRANSACTION" "A" WHERE "A"."INVOICE_NBR"=:B3 AND ("A"."TRANSACTION_NBR"<=:B4 OR :B5=0)))
    1159 - filter(NULL IS NOT NULL)
    1162 - access("FIN_AGING_ARG"."DAILY_REPORT_NBR"=36)
    1163 - filter("FIN_INVOICE"."FINANCIAL_SOURCE"='A/P' AND ("FIN_INVOICE"."FINANCIAL_SOURCE"="FIN_AGING_ARG"."FINANCIAL_S
    OURCE" OR "FIN_AGING_ARG"."FINANCIAL_SOURCE"='APR') AND "FIN_INVOICE"."INVOICE_DATE">"FIN_AGING_ARG"."AGING_DATE" AND
    ("FIN_AGING_ARG"."PLC_ID" IS NULL OR "FIN_INVOICE"."LOCATION_ID"="FIN_AGING_ARG"."PLC_ID" AND "FIN_AGING_ARG"."PLC_ID"
    IS NOT NULL) AND ("FIN_INVOICE"."INVOICE_STATUS"<>'C' OR "FIN_AGING_ARG"."AGING_DATE"<="FIN_INVOICE"."LAST_TRANSACTION_
    DATE" OR "FIN_INVOICE"."BALANCE_FORWARD_PRINT_FLAG"<>'Y'))
    1164 - access("TVC"."DAILY_REPORT_NBR"=:B1 AND "VENDOR_CUSTOMER_ID"=:B2)
    1165 - filter("A"."TRANSACTION_NBR"<=:B1 OR :B2=0)
    1166 - access("A"."INVOICE_NBR"=:B1)
    1167 - filter(("FIN_AGING_ARG"."VENDOR_CUSTOMER_FLAG"='N' OR EXISTS (SELECT 0 FROM GRAINVTRC."FIN_AGING_ARG_VC" "TVC"
    WHERE "VENDOR_CUSTOMER_ID"=:B1 AND "TVC"."DAILY_REPORT_NBR"=:B2)) AND "FIN_TRANSACTION"."TRANSACTION_NBR"= (SELECT
    MAX("TRANSACTION_NBR") FROM GRAINVTRC."FIN_TRANSACTION" "A" WHERE "A"."PAYMENT_NBR"=:B3 AND
    "A"."TRANSACTION_DATE"<=:B4 AND ("A"."TRANSACTION_NBR"<=:B5 OR :B6=0)))
    1168 - filter(NULL IS NOT NULL)
    1169 - access("FIN_PAYMENT"."PAYMENT_NBR"="FIN_TRANSACTION"."PAYMENT_NBR")
    filter(("FIN_PAYMENT"."FINANCIAL_SOURCE"="FIN_AGING_ARG"."FINANCIAL_SOURCE" OR
    "FIN_AGING_ARG"."FINANCIAL_SOURCE"='APR') AND "FIN_PAYMENT"."PAYMENT_DATE"<="FIN_AGING_ARG"."AGING_DATE" AND
    ("FIN_AGING_ARG"."PLC_ID" IS NULL OR "FIN_AGING_ARG"."PLC_ID" IS NOT NULL AND
    "FIN_PAYMENT"."LOCATION_ID"="FIN_AGING_ARG"."PLC_ID" AND "FIN_PAYMENT"."LOCATION_ID" IS NOT NULL) AND CASE WHEN
    "FIN_AGING_ARG"."AGE_CREDIT_FLAG"='Y' THEN CASE WHEN "FIN_AGING_ARG"."AGING_DATE"-"FIN_PAYMENT"."PAYMENT_DATE"<"FIN_AG
    ING_ARG"."B_1"+1 THEN 1 WHEN "FIN_AGING_ARG"."AGING_DATE"-"FIN_PAYMENT"."PAYMENT_DATE"<"FIN_AGING_ARG"."B_2"+1 THEN 2
    WHEN "FIN_AGING_ARG"."AGING_DATE"-"FIN_PAYMENT"."PAYMENT_DATE"<"FIN_AGING_ARG"."B_3"+1 THEN 3 WHEN
    "FIN_AGING_ARG"."AGING_DATE"-"FIN_PAYMENT"."PAYMENT_DATE"<"FIN_AGING_ARG"."B_4"+1 THEN 4 WHEN
    "FIN_AGING_ARG"."AGING_DATE"-"FIN_PAYMENT"."PAYMENT_DATE"<"FIN_AGING_ARG"."B_5"+1 THEN 5 ELSE 6 END ELSE 1 END >0)
    1170 - filter("FIN_PAYMENT"."FINANCIAL_SOURCE"='A/P' AND ("FIN_PAYMENT"."INTERNAL_FLAG"='N' OR
    "FIN_PAYMENT"."INTERNAL_FLAG"='Y' AND ("FIN_PAYMENT"."PAYMENT_TYPE"='C' OR "FIN_PAYMENT"."PAYMENT_TYPE"='N')))
    1173 - access("FIN_AGING_ARG"."DAILY_REPORT_NBR"=36)
    1174 - filter("FIN_TRANSACTION"."PAYMENT_NBR" IS NOT NULL AND ("FIN_AGING_ARG"."MAX_KEY"=0 OR
    "FIN_TRANSACTION"."TRANSACTION_NBR"<="FIN_AGING_ARG"."MAX_KEY"))
    1175 - access("TVC"."DAILY_REPORT_NBR"=:B1 AND "VENDOR_CUSTOMER_ID"=:B2)
    1177 - filter("A"."TRANSACTION_DATE"<=:B1 AND ("A"."TRANSACTION_NBR"<=:B2 OR :B3=0))
    1178 - access("A"."PAYMENT_NBR"=:B1)
    1179 - filter(("FIN_AGING_ARG"."VENDOR_CUSTOMER_FLAG"='N' OR EXISTS (SELECT 0 FROM GRAINVTRC."FIN_AGING_ARG_VC" "TVC"
    WHERE "VENDOR_CUSTOMER_ID"=:B1 AND "TVC"."DAILY_REPORT_NBR"=:B2)) AND EXISTS (SELECT 0 FROM
    GRAINVTRC."FIN_TRANSACTION" "A" WHERE "A"."PAYMENT_NBR"=:B3 AND ("A"."TRANSACTION_NBR"<=:B4 OR :B5=0)))
    1182 - access("FIN_AGING_ARG"."DAILY_REPORT_NBR"=36)
    1183 - filter("FIN_PAYMENT"."FINANCIAL_SOURCE"='A/P' AND ("FIN_PAYMENT"."INTERNAL_FLAG"='N' OR
    "FIN_PAYMENT"."INTERNAL_FLAG"='Y' AND ("FIN_PAYMENT"."PAYMENT_TYPE"='C' OR "FIN_PAYMENT"."PAYMENT_TYPE"='N')) AND
    ("FIN_PAYMENT"."FINANCIAL_SOURCE"="FIN_AGING_ARG"."FINANCIAL_SOURCE" OR "FIN_AGING_ARG"."FINANCIAL_SOURCE"='APR') AND
    ("UNAPPLIED_AMOUNT"<>0 OR "FIN_AGING_ARG"."AGING_DATE"<="LAST_TRANSACTION_DATE") AND ("FIN_AGING_ARG"."PLC_ID" IS NULL
    OR "FIN_AGING_ARG"."PLC_ID" IS NOT NULL AND "FIN_PAYMENT"."LOCATION_ID"="FIN_AGING_ARG"."PLC_ID" AND
    "FIN_PAYMENT"."LOCATION_ID" IS NOT NULL))
    1184 - access("FIN_PAYMENT"."PAYMENT_DATE">"FIN_AGING_ARG"."AGING_DATE")
    1185 - access("TVC"."DAILY_REPORT_NBR"=:B1 AND "VENDOR_CUSTOMER_ID"=:B2)
    1186 - filter("A"."TRANSACTION_NBR"<=:B1 OR :B2=0)
    1187 - access("A"."PAYMENT_NBR"=:B1)
    1188 - filter("FIN_AGING_ARG"."VENDOR_CUSTOMER_FLAG"='N' OR EXISTS (SELECT 0 FROM GRAINVTRC."FIN_AGING_ARG_VC" "TVC"
    WHERE "VENDOR_CUSTOMER_ID"=:B1 AND "TVC"."DAILY_REPORT_NBR"=:B2))
    1189 - filter(NULL IS NOT NULL AND NULL IS NOT NULL)
    1193 - filter("FIN_AGING_ARG"."INVOICE_DATE_FLAG"='N')
    1194 - access("FIN_AGING_ARG"."DAILY_REPORT_NBR"=36)
    1195 - filter("FIN_INVOICE"."FINANCIAL_SOURCE"='A/R' AND ("FIN_INVOICE"."FINANCIAL_SOURCE"="FIN_AGING_ARG"."FINANCIAL_S
    OURCE" OR "FIN_AGING_ARG"."FINANCIAL_SOURCE"='APR') AND "FIN_INVOICE"."INVOICE_DATE"<="FIN_AGING_ARG"."AGING_DATE" AND
    ("FIN_AGING_ARG"."PLC_ID" IS NULL OR "FIN_INVOICE"."LOCATION_ID"="FIN_AGING_ARG"."PLC_ID" AND "FIN_AGING_ARG"."PLC_ID"
    IS NOT NULL) AND CASE WHEN (("FIN_AGING_ARG"."AGE_CREDIT_FLAG"='Y' AND "FIN_INVOICE"."ORIGINAL_AMOUNT"<0) OR
    "FIN_INVOICE"."ORIGINAL_AMOUNT">0) THEN CASE WHEN "FIN_AGING_ARG"."AGING_DATE"-"FIN_INVOICE"."DUE_DATE"<"FIN_AGING_ARG
    "."B_1"+1 THEN 1 WHEN "FIN_AGING_ARG"."AGING_DATE"-"FIN_INVOICE"."DUE_DATE"<"FIN_AGING_ARG"."B_2"+1 THEN 2 WHEN
    "FIN_AGING_ARG"."AGING_DATE"-"FIN_INVOICE"."DUE_DATE"<"FIN_AGING_ARG"."B_3"+1 THEN 3 WHEN
    "FIN_AGING_ARG"."AGING_DATE"-"FIN_INVOICE"."DUE_DATE"<"FIN_AGING_ARG"."B_4"+1 THEN 4 WHEN
    "FIN_AGING_ARG"."AGING_DATE"-"FIN_INVOICE"."DUE_DATE"<"FIN_AGING_ARG"."B_5"+1 THEN 5 ELSE 6 END ELSE 1 END >0)
    1196 - filter("FIN_TRANSACTION"."INVOICE_NBR" IS NOT NULL AND
    "FIN_INVOICE"."INVOICE_NBR"="FIN_TRANSACTION"."INVOICE_NBR" AND ("FIN_AGING_ARG"."MAX_KEY"=0 OR
    "FIN_TRANSACTION"."TRANSACTION_NBR"<="FIN_AGING_ARG"."MAX_KEY"))
    1197 - access("FIN_TRANSACTION"."TRANSACTION_NBR"= (SELECT MAX("TRANSACTION_NBR") FROM GRAINVTRC."FIN_TRANSACTION" "A"
    WHERE "A"."INVOICE_NBR"=:B1 AND "A"."TRANSACTION_DATE"<=:B2 AND ("A"."TRANSACTION_NBR"<=:B3 OR :B4=0)))
    1199 - filter("A"."TRANSACTION_DATE"<=:B1 AND ("A"."TRANSACTION_NBR"<=:B2 OR :B3=0))
    1200 - access("A"."INVOICE_NBR"=:B1)
    1201 - filter("FIN_AGING_ARG"."CREDIT_STATUS"='0' OR "FIN_AGING_ARG"."CREDIT_STATUS"='1' AND
    "S1_CUSTOMER_DATA"."HOLD_FLAG"='Y' OR "FIN_AGING_ARG"."CREDIT_STATUS"='2' AND "S1_CUSTOMER_DATA"."CREDIT_LIMIT" IS NOT
    NULL OR "S1_CUSTOMER_DATA"."HOLD_FLAG"='Y' OR "S1_CUSTOMER_DATA"."CREDIT_LIMIT" IS NOT NULL)
    1202 - access("FIN_INVOICE"."CUSTOMER_VENDOR_ID"="S1_CUSTOMER_DATA"."CUSTOMER_ID")
    1203 - access("TVC"."DAILY_REPORT_NBR"=:B1 AND "VENDOR_CUSTOMER_ID"=:B2)
    1204 - filter("FIN_AGING_ARG"."VENDOR_CUSTOMER_FLAG"='N' OR EXISTS (SELECT 0 FROM GRAINVTRC."FIN_AGING_ARG_VC" "TVC"
    WHERE "VENDOR_CUSTOMER_ID"=:B1 AND "TVC"."DAILY_REPORT_NBR"=:B2))
    1205 - filter(NULL IS NOT NULL AND NULL IS NOT NULL)
    1209 - filter("FIN_AGING_ARG"."INVOICE_DATE_FLAG"='Y')
    1210 - access("FIN_AGING_ARG"."DAILY_REPORT_NBR"=36)
    1211 - filter("FIN_INVOICE"."FINANCIAL_SOURCE"='A/R' AND ("FIN_INVOICE"."FINANCIAL_SOURCE"="FIN_AGING_ARG"."FINANCIAL_S
    OURCE" OR "FIN_AGING_ARG"."FINANCIAL_SOURCE"='APR') AND "FIN_INVOICE"."INVOICE_DATE"<="FIN_AGING_ARG"."AGING_DATE" AND
    ("FIN_AGING_ARG"."PLC_ID" IS NULL OR "FIN_INVOICE"."LOCATION_ID"="FIN_AGING_ARG"."PLC_ID" AND "FIN_AGING_ARG"."PLC_ID"
    IS NOT NULL) AND CASE WHEN (("FIN_AGING_ARG"."AGE_CREDIT_FLAG"='Y' AND "FIN_INVOICE"."ORIGINAL_AMOUNT"<0) OR
    "FIN_INVOICE"."ORIGINAL_AMOUNT">0) THEN CASE WHEN "FIN_AGING_ARG"."AGING_DATE"-"FIN_INVOICE"."INVOICE_DATE"<"FIN_AGING
    _ARG"."B_1"+1 THEN 1 WHEN "FIN_AGING_ARG"."AGING_DATE"-"FIN_INVOICE"."INVOICE_DATE"<"FIN_AGING_ARG"."B_2"+1 THEN 2
    WHEN "FIN_AGING_ARG"."AGING_DATE"-"FIN_INVOICE"."INVOICE_DATE"<"FIN_AGING_ARG"."B_3"+1 THEN 3 WHEN
    "FIN_AGING_ARG"."AGING_DATE"-"FIN_INVOICE"."INVOICE_DATE"<"FIN_AGING_ARG"."B_4"+1 THEN 4 WHEN
    "FIN_AGING_ARG"."AGING_DATE"-"FIN_INVOICE"."INVOICE_DATE"<"FIN_AGING_ARG"."B_5"+1 THEN 5 ELSE 6 END ELSE 1 END >0)
    1212 - filter("FIN_TRANSACTION"."INVOICE_NBR" IS NOT NULL AND
    "FIN_INVOICE"."INVOICE_NBR"="FIN_TRANSACTION"."INVOICE_NBR" AND ("FIN_AGING_ARG"."MAX_KEY"=0 OR
    "FIN_TRANSACTION"."TRANSACTION_NBR"<="FIN_AGING_ARG"."MAX_KEY"))
    1213 - access("FIN_TRANSACTION"."TRANSACTION_NBR"= (SELECT MAX("TRANSACTION_NBR") FROM GRAINVTRC."FIN_TRANSACTION" "A"
    WHERE "A"."INVOICE_NBR"=:B1 AND "A"."TRANSACTION_DATE"<=:B2 AND ("A"."TRANSACTION_NBR"<=:B3 OR :B4=0)))
    1215 - filter("A"."TRANSACTION_DATE"<=:B1 AND ("A"."TRANSACTION_NBR"<=:B2 OR :B3=0))
    1216 - access("A"."INVOICE_NBR"=:B1)
    1217 - filter("FIN_AGING_ARG"."CREDIT_STATUS"='0' OR "FIN_AGING_ARG"."CREDIT_STATUS"='1' AND
    "S1_CUSTOMER_DATA"."HOLD_FLAG"='Y' OR "FIN_AGING_ARG"."CREDIT_STATUS"='2' AND "S1_CUSTOMER_DATA"."CREDIT_LIMIT" IS NOT
    NULL OR "S1_CUSTOMER_DATA"."HOLD_FLAG"='Y' OR "S1_CUSTOMER_DATA"."CREDIT_LIMIT" IS NOT NULL)
    1218 - access("FIN_INVOICE"."CUSTOMER_VENDOR_ID"="S1_CUSTOMER_DATA"."CUSTOMER_ID")
    1219 - access("TVC"."DAILY_REPORT_NBR"=:B1 AND "VENDOR_CUSTOMER_ID"=:B2)
    1220 - filter(("FIN_AGING_ARG"."VENDOR_CUSTOMER_FLAG"='N' OR EXISTS (SELECT 0 FROM GRAINVTRC."FIN_AGING_ARG_VC" "TVC"
    WHERE "VENDOR_CUSTOMER_ID"=:B1 AND "TVC"."DAILY_REPORT_NBR"=:B2)) AND EXISTS (SELECT 0 FROM
    GRAINVTRC."FIN_TRANSACTION" "A" WHERE "A"."INVOICE_NBR"=:B3 AND ("A"."TRANSACTION_NBR"<=:B4 OR :B5=0)))
    1221 - filter(NULL IS NOT NULL)
    1222 - access("FIN_INVOICE"."CUSTOMER_VENDOR_ID"="S1_CUSTOMER_DATA"."CUSTOMER_ID")
    filter(("FIN_INVOICE"."FINANCIAL_SOURCE"="FIN_AGING_ARG"."FINANCIAL_SOURCE" OR
    "FIN_AGING_ARG"."FINANCIAL_SOURCE"='APR') AND "FIN_INVOICE"."INVOICE_DATE">"FIN_AGING_ARG"."AGING_DATE" AND
    ("FIN_AGING_ARG"."PLC_ID" IS NULL OR "FIN_INVOICE"."LOCATION_ID"="FIN_AGING_ARG"."PLC_ID" AND "FIN_AGING_ARG"."PLC_ID"
    IS NOT NULL) AND ("FIN_INVOICE"."INVOICE_STATUS"<>'C' OR "FIN_AGING_ARG"."AGING_DATE"<="FIN_INVOICE"."LAST_TRANSACTION_
    DATE" OR "FIN_INVOICE"."BALANCE_FORWARD_PRINT_FLAG"<>'Y'))
    1225 - access("FIN_AGING_ARG"."DAILY_REPORT_NBR"=36)
    1226 - filter("FIN_AGING_ARG"."CREDIT_STATUS"='0' OR "FIN_AGING_ARG"."CREDIT_STATUS"='1' AND
    "S1_CUSTOMER_DATA"."HOLD_FLAG"='Y' OR "FIN_AGING_ARG"."CREDIT_STATUS"='2' AND "S1_CUSTOMER_DATA"."CREDIT_LIMIT" IS NOT
    NULL OR "S1_CUSTOMER_DATA"."HOLD_FLAG"='Y' OR "S1_CUSTOMER_DATA"."CREDIT_LIMIT" IS NOT NULL)
    1227 - filter("FIN_INVOICE"."FINANCIAL_SOURCE"='A/R')
    1228 - access("TVC"."DAILY_REPORT_NBR"=:B1 AND "VENDOR_CUSTOMER_ID"=:B2)
    1229 - filter("A"."TRANSACTION_NBR"<=:B1 OR :B2=0)
    1230 - access("A"."INVOICE_NBR"=:B1)
    1231 - filter(("FIN_AGING_ARG"."VENDOR_CUSTOMER_FLAG"='N' OR EXISTS (SELECT 0 FROM GRAINVTRC."FIN_AGING_ARG_VC" "TVC"
    WHERE "VENDOR_CUSTOMER_ID"=:B1 AND "TVC"."DAILY_REPORT_NBR"=:B2)) AND "FIN_TRANSACTION"."TRANSACTION_NBR"= (SELECT
    MAX("TRANSACTION_NBR") FROM GRAINVTRC."FIN_TRANSACTION" "A" WHERE "A"."PAYMENT_NBR"=:B3 AND
    "A"."TRANSACTION_DATE"<=:B4 AND ("A"."TRANSACTION_NBR"<=:B5 OR :B6=0)))
    1232 - filter(NULL IS NOT NULL)
    1233 - access("FIN_PAYMENT"."CUSTOMER_VENDOR_ID"="S1_CUSTOMER_DATA"."CUSTOMER_ID")
    filter("FIN_AGING_ARG"."CREDIT_STATUS"='0' OR "FIN_AGING_ARG"."CREDIT_STATUS"='1' AND
    "S1_CUSTOMER_DATA"."HOLD_FLAG"='Y' OR "FIN_AGING_ARG"."CREDIT_STATUS"='2' AND "S1_CUSTOMER_DATA"."CREDIT_LIMIT" IS NOT
    NULL OR "S1_CUSTOMER_DATA"."HOLD_FLAG"='Y' OR "S1_CUSTOMER_DATA"."CREDIT_LIMIT" IS NOT NULL)
    1235 - access("FIN_PAYMENT"."PAYMENT_NBR"="FIN_TRANSACTION"."PAYMENT_NBR")
    filter(("FIN_PAYMENT"."FINANCIAL_SOURCE"="FIN_AGING_ARG"."FINANCIAL_SOURCE" OR
    "FIN_AGING_ARG"."FINANCIAL_SOURCE"='APR') AND "FIN_PAYMENT"."PAYMENT_DATE"<="FIN_AGING_ARG"."AGING_DATE" AND
    ("FIN_AGING_ARG"."PLC_ID" IS NULL OR "FIN_AGING_ARG"."PLC_ID" IS NOT NULL AND
    "FIN_PAYMENT"."LOCATION_ID"="FIN_AGING_ARG"."PLC_ID" AND "FIN_PAYMENT"."LOCATION_ID" IS NOT NULL) AND CASE WHEN
    "FIN_AGING_ARG"."AGE_CREDIT_FLAG"='Y' THEN CASE WHEN "FIN_AGING_ARG"."AGING_DATE"-"FIN_PAYMENT"."PAYMENT_DATE"<"FIN_AG
    ING_ARG"."B_1"+1 THEN 1 WHEN "FIN_AGING_ARG"."AGING_DATE"-"FIN_PAYMENT"."PAYMENT_DATE"<"FIN_AGING_ARG"."B_2"+1 THEN 2
    WHEN "FIN_AGING_ARG"."AGING_DATE"-"FIN_PAYMENT"."PAYMENT_DATE"<"FIN_AGING_ARG"."B_3"+1 THEN 3 WHEN
    "FIN_AGING_ARG"."AGING_DATE"-"FIN_PAYMENT"."PAYMENT_DATE"<"FIN_AGING_ARG"."B_4"+1 THEN 4 WHEN
    "FIN_AGING_ARG"."AGING_DATE"-"FIN_PAYMENT"."PAYMENT_DATE"<"FIN_AGING_ARG"."B_5"+1 THEN 5 ELSE 6 END ELSE 1 END >0)
    1236 - filter("FIN_PAYMENT"."FINANCIAL_SOURCE"='A/R' AND ("FIN_PAYMENT"."INTERNAL_FLAG"='N' OR
    "FIN_PAYMENT"."INTERNAL_FLAG"='Y' AND ("FIN_PAYMENT"."PAYMENT_TYPE"='C' OR "FIN_PAYMENT"."PAYMENT_TYPE"='N')))
    1239 - access("FIN_AGING_ARG"."DAILY_REPORT_NBR"=36)
    1240 - filter("FIN_TRANSACTION"."PAYMENT_NBR" IS NOT NULL AND ("FIN_AGING_ARG"."MAX_KEY"=0 OR
    "FIN_TRANSACTION"."TRANSACTION_NBR"<="FIN_AGING_ARG"."MAX_KEY"))
    1241 - access("TVC"."DAILY_REPORT_NBR"=:B1 AND "VENDOR_CUSTOMER_ID"=:B2)
    1243 - filter("A"."TRANSACTION_DATE"<=:B1 AND ("A"."TRANSACTION_NBR"<=:B2 OR :B3=0))
    1244 - access("A"."PAYMENT_NBR"=:B1)
    1245 - filter(("FIN_AGING_ARG"."VENDOR_CUSTOMER_FLAG"='N' OR EXISTS (SELECT 0 FROM GRAINVTRC."FIN_AGING_ARG_VC" "TVC"
    WHERE "VENDOR_CUSTOMER_ID"=:B1 AND "TVC"."DAILY_REPORT_NBR"=:B2)) AND EXISTS (SELECT 0 FROM
    GRAINVTRC."FIN_TRANSACTION" "A" WHERE "A"."PAYMENT_NBR"=:B3 AND ("A"."TRANSACTION_NBR"<=:B4 OR :B5=0)))
    1249 - access("FIN_AGING_ARG"."DAILY_REPORT_NBR"=36)
    1250 - filter("FIN_PAYMENT"."FINANCIAL_SOURCE"='A/R' AND ("FIN_PAYMENT"."INTERNAL_FLAG"='N' OR
    "FIN_PAYMENT"."INTERNAL_FLAG"='Y' AND ("FIN_PAYMENT"."PAYMENT_TYPE"='C' OR "FIN_PAYMENT"."PAYMENT_TYPE"='N')) AND
    ("FIN_PAYMENT"."FINANCIAL_SOURCE"="FIN_AGING_ARG"."FINANCIAL_SOURCE" OR "FIN_AGING_ARG"."FINANCIAL_SOURCE"='APR') AND
    ("UNAPPLIED_AMOUNT"<>0 OR "FIN_AGING_ARG"."AGING_DATE"<="LAST_TRANSACTION_DATE") AND ("FIN_AGING_ARG"."PLC_ID" IS NULL
    OR "FIN_AGING_ARG"."PLC_ID" IS NOT NULL AND "FIN_PAYMENT"."LOCATION_ID"="FIN_AGING_ARG"."PLC_ID" AND
    "FIN_PAYMENT"."LOCATION_ID" IS NOT NULL))
    1251 - access("FIN_PAYMENT"."PAYMENT_DATE">"FIN_AGING_ARG"."AGING_DATE")
    1252 - filter("FIN_AGING_ARG"."CREDIT_STATUS"='0' OR "FIN_AGING_ARG"."CREDIT_STATUS"='1' AND
    "S1_CUSTOMER_DATA"."HOLD_FLAG"='Y' OR "FIN_AGING_ARG"."CREDIT_STATUS"='2' AND "S1_CUSTOMER_DATA"."CREDIT_LIMIT" IS NOT
    NULL OR "S1_CUSTOMER_DATA"."HOLD_FLAG"='Y' OR "S1_CUSTOMER_DATA"."CREDIT_LIMIT" IS NOT NULL)
    1253 - access("FIN_PAYMENT"."CUSTOMER_VENDOR_ID"="S1_CUSTOMER_DATA"."CUSTOMER_ID")
    1254 - access("TVC"."DAILY_REPORT_NBR"=:B1 AND "VENDOR_CUSTOMER_ID"=:B2)
    1255 - filter("A"."TRANSACTION_NBR"<=:B1 OR :B2=0)
    1256 - access("A"."PAYMENT_NBR"=:B1)
    1257 - filter("A"."LOCATION_ID" IS NOT NULL AND ("A"."PAYMENT_TYPE"='C' OR "A"."PAYMENT_TYPE"='N' OR
    "A"."PAYMENT_TYPE"='P') AND ("A"."INTERNAL_FLAG"='N' OR ("A"."PAYMENT_TYPE"='C' OR "A"."PAYMENT_TYPE"='N')))
    1258 - access("FIN_AGING_INVOICE_VIEW"."SERIAL_NUMBER"="A"."PAYMENT_NBR")
    1259 - access("A1_USER_LOCATION"."USER_ID"='BRENT' AND "A1_USER_LOCATION"."PLC_ID"="A"."LOCATION_ID")
    1261 - access("SB"."NAME_AND_ADDRESS_ID"="A"."CUSTOMER_VENDOR_ID")
    1262 - access("SB"."TRADER_ID"="S1_TRADER"."TRADER_ID"(+))
    1263 - access("SB"."NAME_AND_ADDRESS_ID"="S1_NA_BUSINESS_TYPE"."NAME_AND_ADDRESS_ID"(+))
    1265 - access("SB"."NAME_AND_ADDRESS_ID"="S1_CUSTOMER_DATA"."CUSTOMER_ID")
    1267 - access("SA"."NAME_AND_ADDRESS_ID"="A"."LOCATION_ID")
    1268 - filter("FIN_TRANSACTION"."INVOICE_NBR" IS NULL AND "FIN_TRANSACTION"."FINANCIAL_SOURCE"='A/R' AND
    ("FIN_TRANSACTION"."REVERSED_TRANSACTION_NBR" IS NULL OR ("A"."PAYMENT_TYPE"='C' OR "A"."PAYMENT_TYPE"='N')))
    1269 - access("A"."PAYMENT_NBR"="FIN_TRANSACTION"."PAYMENT_NBR")

    Hi,
    did u try it: SQL and PL/SQL FAQ
    item 3?

  • Query Tuning Assistance - part 5

    "FIN_AGING_ARG"."FINANCIAL_SOURCE"='APR') AND "FIN_PAYMENT"."PAYMENT_DATE"<="FIN_AGING_ARG"."AGING_DATE" AND
    ("FIN_AGING_ARG"."PLC_ID" IS NULL OR "FIN_AGING_ARG"."PLC_ID" IS NOT NULL AND
    "FIN_PAYMENT"."LOCATION_ID"="FIN_AGING_ARG"."PLC_ID" AND "FIN_PAYMENT"."LOCATION_ID" IS NOT NULL) AND CASE WHEN
    "FIN_AGING_ARG"."AGE_CREDIT_FLAG"='Y' THEN CASE WHEN "FIN_AGING_ARG"."AGING_DATE"-"FIN_PAYMENT"."PAYMENT_DATE"<"FIN_AG
    ING_ARG"."B_1"+1 THEN 1 WHEN "FIN_AGING_ARG"."AGING_DATE"-"FIN_PAYMENT"."PAYMENT_DATE"<"FIN_AGING_ARG"."B_2"+1 THEN 2
    WHEN "FIN_AGING_ARG"."AGING_DATE"-"FIN_PAYMENT"."PAYMENT_DATE"<"FIN_AGING_ARG"."B_3"+1 THEN 3 WHEN
    "FIN_AGING_ARG"."AGING_DATE"-"FIN_PAYMENT"."PAYMENT_DATE"<"FIN_AGING_ARG"."B_4"+1 THEN 4 WHEN
    "FIN_AGING_ARG"."AGING_DATE"-"FIN_PAYMENT"."PAYMENT_DATE"<"FIN_AGING_ARG"."B_5"+1 THEN 5 ELSE 6 END ELSE 1 END >0)
    859 - filter("FIN_PAYMENT"."FINANCIAL_SOURCE"='A/P' AND ("FIN_PAYMENT"."INTERNAL_FLAG"='N' OR
    "FIN_PAYMENT"."INTERNAL_FLAG"='Y' AND ("FIN_PAYMENT"."PAYMENT_TYPE"='C' OR "FIN_PAYMENT"."PAYMENT_TYPE"='N')))
    862 - access("FIN_AGING_ARG"."DAILY_REPORT_NBR"=36)
    863 - filter("FIN_TRANSACTION"."PAYMENT_NBR" IS NOT NULL AND ("FIN_AGING_ARG"."MAX_KEY"=0 OR
    "FIN_TRANSACTION"."TRANSACTION_NBR"<="FIN_AGING_ARG"."MAX_KEY"))
    864 - access("TVC"."DAILY_REPORT_NBR"=:B1 AND "VENDOR_CUSTOMER_ID"=:B2)
    866 - filter("A"."TRANSACTION_DATE"<=:B1 AND ("A"."TRANSACTION_NBR"<=:B2 OR :B3=0))
    867 - access("A"."PAYMENT_NBR"=:B1)
    868 - filter(("FIN_AGING_ARG"."VENDOR_CUSTOMER_FLAG"='N' OR EXISTS (SELECT 0 FROM GRAINVTRC."FIN_AGING_ARG_VC" "TVC"
    WHERE "VENDOR_CUSTOMER_ID"=:B1 AND "TVC"."DAILY_REPORT_NBR"=:B2)) AND EXISTS (SELECT 0 FROM
    GRAINVTRC."FIN_TRANSACTION" "A" WHERE "A"."PAYMENT_NBR"=:B3 AND ("A"."TRANSACTION_NBR"<=:B4 OR :B5=0)))
    869 - filter(NULL IS NOT NULL)
    872 - access("FIN_AGING_ARG"."DAILY_REPORT_NBR"=36)
    873 - filter("FIN_PAYMENT"."FINANCIAL_SOURCE"='A/P' AND ("FIN_PAYMENT"."INTERNAL_FLAG"='N' OR
    "FIN_PAYMENT"."INTERNAL_FLAG"='Y' AND ("FIN_PAYMENT"."PAYMENT_TYPE"='C' OR "FIN_PAYMENT"."PAYMENT_TYPE"='N')) AND
    ("FIN_PAYMENT"."FINANCIAL_SOURCE"="FIN_AGING_ARG"."FINANCIAL_SOURCE" OR "FIN_AGING_ARG"."FINANCIAL_SOURCE"='APR') AND
    ("UNAPPLIED_AMOUNT"<>0 OR "FIN_AGING_ARG"."AGING_DATE"<="LAST_TRANSACTION_DATE") AND ("FIN_AGING_ARG"."PLC_ID" IS NULL
    OR "FIN_AGING_ARG"."PLC_ID" IS NOT NULL AND "FIN_PAYMENT"."LOCATION_ID"="FIN_AGING_ARG"."PLC_ID" AND
    "FIN_PAYMENT"."LOCATION_ID" IS NOT NULL))
    874 - access("FIN_PAYMENT"."PAYMENT_DATE">"FIN_AGING_ARG"."AGING_DATE")
    875 - access("TVC"."DAILY_REPORT_NBR"=:B1 AND "VENDOR_CUSTOMER_ID"=:B2)
    876 - filter("A"."TRANSACTION_NBR"<=:B1 OR :B2=0)
    877 - access("A"."PAYMENT_NBR"=:B1)
    878 - filter("FIN_AGING_ARG"."VENDOR_CUSTOMER_FLAG"='N' OR EXISTS (SELECT 0 FROM GRAINVTRC."FIN_AGING_ARG_VC" "TVC"
    WHERE "VENDOR_CUSTOMER_ID"=:B1 AND "TVC"."DAILY_REPORT_NBR"=:B2))
    879 - filter(NULL IS NOT NULL)
    883 - filter("FIN_AGING_ARG"."INVOICE_DATE_FLAG"='N')
    884 - access("FIN_AGING_ARG"."DAILY_REPORT_NBR"=36)
    885 - filter("FIN_INVOICE"."FINANCIAL_SOURCE"='A/R' AND ("FIN_INVOICE"."FINANCIAL_SOURCE"="FIN_AGING_ARG"."FINANCIAL_S
    OURCE" OR "FIN_AGING_ARG"."FINANCIAL_SOURCE"='APR') AND "FIN_INVOICE"."INVOICE_DATE"<="FIN_AGING_ARG"."AGING_DATE" AND
    ("FIN_AGING_ARG"."PLC_ID" IS NULL OR "FIN_INVOICE"."LOCATION_ID"="FIN_AGING_ARG"."PLC_ID" AND "FIN_AGING_ARG"."PLC_ID"
    IS NOT NULL) AND CASE WHEN (("FIN_AGING_ARG"."AGE_CREDIT_FLAG"='Y' AND "FIN_INVOICE"."ORIGINAL_AMOUNT"<0) OR
    "FIN_INVOICE"."ORIGINAL_AMOUNT">0) THEN CASE WHEN "FIN_AGING_ARG"."AGING_DATE"-"FIN_INVOICE"."DUE_DATE"<"FIN_AGING_ARG
    "."B_1"+1 THEN 1 WHEN "FIN_AGING_ARG"."AGING_DATE"-"FIN_INVOICE"."DUE_DATE"<"FIN_AGING_ARG"."B_2"+1 THEN 2 WHEN
    "FIN_AGING_ARG"."AGING_DATE"-"FIN_INVOICE"."DUE_DATE"<"FIN_AGING_ARG"."B_3"+1 THEN 3 WHEN
    "FIN_AGING_ARG"."AGING_DATE"-"FIN_INVOICE"."DUE_DATE"<"FIN_AGING_ARG"."B_4"+1 THEN 4 WHEN
    "FIN_AGING_ARG"."AGING_DATE"-"FIN_INVOICE"."DUE_DATE"<"FIN_AGING_ARG"."B_5"+1 THEN 5 ELSE 6 END ELSE 1 END >0)
    886 - filter("FIN_TRANSACTION"."INVOICE_NBR" IS NOT NULL AND
    "FIN_INVOICE"."INVOICE_NBR"="FIN_TRANSACTION"."INVOICE_NBR" AND ("FIN_AGING_ARG"."MAX_KEY"=0 OR
    "FIN_TRANSACTION"."TRANSACTION_NBR"<="FIN_AGING_ARG"."MAX_KEY"))
    887 - access("FIN_TRANSACTION"."TRANSACTION_NBR"= (SELECT MAX("TRANSACTION_NBR") FROM GRAINVTRC."FIN_TRANSACTION" "A"
    WHERE "A"."INVOICE_NBR"=:B1 AND "A"."TRANSACTION_DATE"<=:B2 AND ("A"."TRANSACTION_NBR"<=:B3 OR :B4=0)))
    889 - filter("A"."TRANSACTION_DATE"<=:B1 AND ("A"."TRANSACTION_NBR"<=:B2 OR :B3=0))
    890 - access("A"."INVOICE_NBR"=:B1)
    891 - filter("FIN_AGING_ARG"."CREDIT_STATUS"='0' OR "FIN_AGING_ARG"."CREDIT_STATUS"='1' AND
    "S1_CUSTOMER_DATA"."HOLD_FLAG"='Y' OR "FIN_AGING_ARG"."CREDIT_STATUS"='2' AND "S1_CUSTOMER_DATA"."CREDIT_LIMIT" IS NOT
    NULL OR "S1_CUSTOMER_DATA"."HOLD_FLAG"='Y' OR "S1_CUSTOMER_DATA"."CREDIT_LIMIT" IS NOT NULL)
    892 - access("FIN_INVOICE"."CUSTOMER_VENDOR_ID"="S1_CUSTOMER_DATA"."CUSTOMER_ID")
    893 - access("TVC"."DAILY_REPORT_NBR"=:B1 AND "VENDOR_CUSTOMER_ID"=:B2)
    894 - filter("FIN_AGING_ARG"."VENDOR_CUSTOMER_FLAG"='N' OR EXISTS (SELECT 0 FROM GRAINVTRC."FIN_AGING_ARG_VC" "TVC"
    WHERE "VENDOR_CUSTOMER_ID"=:B1 AND "TVC"."DAILY_REPORT_NBR"=:B2))
    895 - filter(NULL IS NOT NULL)
    899 - filter("FIN_AGING_ARG"."INVOICE_DATE_FLAG"='Y')
    900 - access("FIN_AGING_ARG"."DAILY_REPORT_NBR"=36)
    901 - filter("FIN_INVOICE"."FINANCIAL_SOURCE"='A/R' AND ("FIN_INVOICE"."FINANCIAL_SOURCE"="FIN_AGING_ARG"."FINANCIAL_S
    OURCE" OR "FIN_AGING_ARG"."FINANCIAL_SOURCE"='APR') AND "FIN_INVOICE"."INVOICE_DATE"<="FIN_AGING_ARG"."AGING_DATE" AND
    ("FIN_AGING_ARG"."PLC_ID" IS NULL OR "FIN_INVOICE"."LOCATION_ID"="FIN_AGING_ARG"."PLC_ID" AND "FIN_AGING_ARG"."PLC_ID"
    IS NOT NULL) AND CASE WHEN (("FIN_AGING_ARG"."AGE_CREDIT_FLAG"='Y' AND "FIN_INVOICE"."ORIGINAL_AMOUNT"<0) OR
    "FIN_INVOICE"."ORIGINAL_AMOUNT">0) THEN CASE WHEN "FIN_AGING_ARG"."AGING_DATE"-"FIN_INVOICE"."INVOICE_DATE"<"FIN_AGING
    _ARG"."B_1"+1 THEN 1 WHEN "FIN_AGING_ARG"."AGING_DATE"-"FIN_INVOICE"."INVOICE_DATE"<"FIN_AGING_ARG"."B_2"+1 THEN 2
    WHEN "FIN_AGING_ARG"."AGING_DATE"-"FIN_INVOICE"."INVOICE_DATE"<"FIN_AGING_ARG"."B_3"+1 THEN 3 WHEN
    "FIN_AGING_ARG"."AGING_DATE"-"FIN_INVOICE"."INVOICE_DATE"<"FIN_AGING_ARG"."B_4"+1 THEN 4 WHEN
    "FIN_AGING_ARG"."AGING_DATE"-"FIN_INVOICE"."INVOICE_DATE"<"FIN_AGING_ARG"."B_5"+1 THEN 5 ELSE 6 END ELSE 1 END >0)
    902 - filter("FIN_TRANSACTION"."INVOICE_NBR" IS NOT NULL AND
    "FIN_INVOICE"."INVOICE_NBR"="FIN_TRANSACTION"."INVOICE_NBR" AND ("FIN_AGING_ARG"."MAX_KEY"=0 OR
    "FIN_TRANSACTION"."TRANSACTION_NBR"<="FIN_AGING_ARG"."MAX_KEY"))
    903 - access("FIN_TRANSACTION"."TRANSACTION_NBR"= (SELECT MAX("TRANSACTION_NBR") FROM GRAINVTRC."FIN_TRANSACTION" "A"
    WHERE "A"."INVOICE_NBR"=:B1 AND "A"."TRANSACTION_DATE"<=:B2 AND ("A"."TRANSACTION_NBR"<=:B3 OR :B4=0)))
    905 - filter("A"."TRANSACTION_DATE"<=:B1 AND ("A"."TRANSACTION_NBR"<=:B2 OR :B3=0))
    906 - access("A"."INVOICE_NBR"=:B1)
    907 - filter("FIN_AGING_ARG"."CREDIT_STATUS"='0' OR "FIN_AGING_ARG"."CREDIT_STATUS"='1' AND
    "S1_CUSTOMER_DATA"."HOLD_FLAG"='Y' OR "FIN_AGING_ARG"."CREDIT_STATUS"='2' AND "S1_CUSTOMER_DATA"."CREDIT_LIMIT" IS NOT
    NULL OR "S1_CUSTOMER_DATA"."HOLD_FLAG"='Y' OR "S1_CUSTOMER_DATA"."CREDIT_LIMIT" IS NOT NULL)
    908 - access("FIN_INVOICE"."CUSTOMER_VENDOR_ID"="S1_CUSTOMER_DATA"."CUSTOMER_ID")
    909 - access("TVC"."DAILY_REPORT_NBR"=:B1 AND "VENDOR_CUSTOMER_ID"=:B2)
    910 - filter(("FIN_AGING_ARG"."VENDOR_CUSTOMER_FLAG"='N' OR EXISTS (SELECT 0 FROM GRAINVTRC."FIN_AGING_ARG_VC" "TVC"
    WHERE "VENDOR_CUSTOMER_ID"=:B1 AND "TVC"."DAILY_REPORT_NBR"=:B2)) AND EXISTS (SELECT 0 FROM
    GRAINVTRC."FIN_TRANSACTION" "A" WHERE "A"."INVOICE_NBR"=:B3 AND ("A"."TRANSACTION_NBR"<=:B4 OR :B5=0)))
    911 - access("FIN_INVOICE"."CUSTOMER_VENDOR_ID"="S1_CUSTOMER_DATA"."CUSTOMER_ID")
    filter(("FIN_INVOICE"."FINANCIAL_SOURCE"="FIN_AGING_ARG"."FINANCIAL_SOURCE" OR
    "FIN_AGING_ARG"."FINANCIAL_SOURCE"='APR') AND "FIN_INVOICE"."INVOICE_DATE">"FIN_AGING_ARG"."AGING_DATE" AND
    ("FIN_AGING_ARG"."PLC_ID" IS NULL OR "FIN_INVOICE"."LOCATION_ID"="FIN_AGING_ARG"."PLC_ID" AND "FIN_AGING_ARG"."PLC_ID"
    IS NOT NULL) AND ("FIN_INVOICE"."INVOICE_STATUS"<>'C' OR "FIN_AGING_ARG"."AGING_DATE"<="FIN_INVOICE"."LAST_TRANSACTION_
    DATE" OR "FIN_INVOICE"."BALANCE_FORWARD_PRINT_FLAG"<>'Y'))
    914 - access("FIN_AGING_ARG"."DAILY_REPORT_NBR"=36)
    915 - filter("FIN_AGING_ARG"."CREDIT_STATUS"='0' OR "FIN_AGING_ARG"."CREDIT_STATUS"='1' AND
    "S1_CUSTOMER_DATA"."HOLD_FLAG"='Y' OR "FIN_AGING_ARG"."CREDIT_STATUS"='2' AND "S1_CUSTOMER_DATA"."CREDIT_LIMIT" IS NOT
    NULL OR "S1_CUSTOMER_DATA"."HOLD_FLAG"='Y' OR "S1_CUSTOMER_DATA"."CREDIT_LIMIT" IS NOT NULL)
    916 - filter("FIN_INVOICE"."FINANCIAL_SOURCE"='A/R')
    917 - access("TVC"."DAILY_REPORT_NBR"=:B1 AND "VENDOR_CUSTOMER_ID"=:B2)
    918 - filter("A"."TRANSACTION_NBR"<=:B1 OR :B2=0)
    919 - access("A"."INVOICE_NBR"=:B1)
    920 - filter(("FIN_AGING_ARG"."VENDOR_CUSTOMER_FLAG"='N' OR EXISTS (SELECT 0 FROM GRAINVTRC."FIN_AGING_ARG_VC" "TVC"
    WHERE "VENDOR_CUSTOMER_ID"=:B1 AND "TVC"."DAILY_REPORT_NBR"=:B2)) AND "FIN_TRANSACTION"."TRANSACTION_NBR"= (SELECT
    MAX("TRANSACTION_NBR") FROM GRAINVTRC."FIN_TRANSACTION" "A" WHERE "A"."PAYMENT_NBR"=:B3 AND
    "A"."TRANSACTION_DATE"<=:B4 AND ("A"."TRANSACTION_NBR"<=:B5 OR :B6=0)))
    921 - filter(NULL IS NOT NULL AND NULL IS NOT NULL)
    922 - access("FIN_PAYMENT"."CUSTOMER_VENDOR_ID"="S1_CUSTOMER_DATA"."CUSTOMER_ID")
    filter("FIN_AGING_ARG"."CREDIT_STATUS"='0' OR "FIN_AGING_ARG"."CREDIT_STATUS"='1' AND
    "S1_CUSTOMER_DATA"."HOLD_FLAG"='Y' OR "FIN_AGING_ARG"."CREDIT_STATUS"='2' AND "S1_CUSTOMER_DATA"."CREDIT_LIMIT" IS NOT
    NULL OR "S1_CUSTOMER_DATA"."HOLD_FLAG"='Y' OR "S1_CUSTOMER_DATA"."CREDIT_LIMIT" IS NOT NULL)
    924 - access("FIN_PAYMENT"."PAYMENT_NBR"="FIN_TRANSACTION"."PAYMENT_NBR")
    filter(("FIN_PAYMENT"."FINANCIAL_SOURCE"="FIN_AGING_ARG"."FINANCIAL_SOURCE" OR
    "FIN_AGING_ARG"."FINANCIAL_SOURCE"='APR') AND "FIN_PAYMENT"."PAYMENT_DATE"<="FIN_AGING_ARG"."AGING_DATE" AND
    ("FIN_AGING_ARG"."PLC_ID" IS NULL OR "FIN_AGING_ARG"."PLC_ID" IS NOT NULL AND
    "FIN_PAYMENT"."LOCATION_ID"="FIN_AGING_ARG"."PLC_ID" AND "FIN_PAYMENT"."LOCATION_ID" IS NOT NULL) AND CASE WHEN
    "FIN_AGING_ARG"."AGE_CREDIT_FLAG"='Y' THEN CASE WHEN "FIN_AGING_ARG"."AGING_DATE"-"FIN_PAYMENT"."PAYMENT_DATE"<"FIN_AG
    ING_ARG"."B_1"+1 THEN 1 WHEN "FIN_AGING_ARG"."AGING_DATE"-"FIN_PAYMENT"."PAYMENT_DATE"<"FIN_AGING_ARG"."B_2"+1 THEN 2
    WHEN "FIN_AGING_ARG"."AGING_DATE"-"FIN_PAYMENT"."PAYMENT_DATE"<"FIN_AGING_ARG"."B_3"+1 THEN 3 WHEN
    "FIN_AGING_ARG"."AGING_DATE"-"FIN_PAYMENT"."PAYMENT_DATE"<"FIN_AGING_ARG"."B_4"+1 THEN 4 WHEN
    "FIN_AGING_ARG"."AGING_DATE"-"FIN_PAYMENT"."PAYMENT_DATE"<"FIN_AGING_ARG"."B_5"+1 THEN 5 ELSE 6 END ELSE 1 END >0)
    925 - filter("FIN_PAYMENT"."FINANCIAL_SOURCE"='A/R' AND ("FIN_PAYMENT"."INTERNAL_FLAG"='N' OR
    "FIN_PAYMENT"."INTERNAL_FLAG"='Y' AND ("FIN_PAYMENT"."PAYMENT_TYPE"='C' OR "FIN_PAYMENT"."PAYMENT_TYPE"='N')))
    928 - access("FIN_AGING_ARG"."DAILY_REPORT_NBR"=36)
    929 - filter("FIN_TRANSACTION"."PAYMENT_NBR" IS NOT NULL AND ("FIN_AGING_ARG"."MAX_KEY"=0 OR
    "FIN_TRANSACTION"."TRANSACTION_NBR"<="FIN_AGING_ARG"."MAX_KEY"))
    930 - access("TVC"."DAILY_REPORT_NBR"=:B1 AND "VENDOR_CUSTOMER_ID"=:B2)
    932 - filter("A"."TRANSACTION_DATE"<=:B1 AND ("A"."TRANSACTION_NBR"<=:B2 OR :B3=0))
    933 - access("A"."PAYMENT_NBR"=:B1)
    934 - filter(("FIN_AGING_ARG"."VENDOR_CUSTOMER_FLAG"='N' OR EXISTS (SELECT 0 FROM GRAINVTRC."FIN_AGING_ARG_VC" "TVC"
    WHERE "VENDOR_CUSTOMER_ID"=:B1 AND "TVC"."DAILY_REPORT_NBR"=:B2)) AND EXISTS (SELECT 0 FROM
    GRAINVTRC."FIN_TRANSACTION" "A" WHERE "A"."PAYMENT_NBR"=:B3 AND ("A"."TRANSACTION_NBR"<=:B4 OR :B5=0)))
    935 - filter(NULL IS NOT NULL)
    939 - access("FIN_AGING_ARG"."DAILY_REPORT_NBR"=36)
    940 - filter("FIN_PAYMENT"."FINANCIAL_SOURCE"='A/R' AND ("FIN_PAYMENT"."INTERNAL_FLAG"='N' OR
    "FIN_PAYMENT"."INTERNAL_FLAG"='Y' AND ("FIN_PAYMENT"."PAYMENT_TYPE"='C' OR "FIN_PAYMENT"."PAYMENT_TYPE"='N')) AND
    ("FIN_PAYMENT"."FINANCIAL_SOURCE"="FIN_AGING_ARG"."FINANCIAL_SOURCE" OR "FIN_AGING_ARG"."FINANCIAL_SOURCE"='APR') AND
    ("UNAPPLIED_AMOUNT"<>0 OR "FIN_AGING_ARG"."AGING_DATE"<="LAST_TRANSACTION_DATE") AND ("FIN_AGING_ARG"."PLC_ID" IS NULL
    OR "FIN_AGING_ARG"."PLC_ID" IS NOT NULL AND "FIN_PAYMENT"."LOCATION_ID"="FIN_AGING_ARG"."PLC_ID" AND
    "FIN_PAYMENT"."LOCATION_ID" IS NOT NULL))
    941 - access("FIN_PAYMENT"."PAYMENT_DATE">"FIN_AGING_ARG"."AGING_DATE")
    942 - filter("FIN_AGING_ARG"."CREDIT_STATUS"='0' OR "FIN_AGING_ARG"."CREDIT_STATUS"='1' AND
    "S1_CUSTOMER_DATA"."HOLD_FLAG"='Y' OR "FIN_AGING_ARG"."CREDIT_STATUS"='2' AND "S1_CUSTOMER_DATA"."CREDIT_LIMIT" IS NOT
    NULL OR "S1_CUSTOMER_DATA"."HOLD_FLAG"='Y' OR "S1_CUSTOMER_DATA"."CREDIT_LIMIT" IS NOT NULL)
    943 - access("FIN_PAYMENT"."CUSTOMER_VENDOR_ID"="S1_CUSTOMER_DATA"."CUSTOMER_ID")
    944 - access("TVC"."DAILY_REPORT_NBR"=:B1 AND "VENDOR_CUSTOMER_ID"=:B2)
    945 - filter("A"."TRANSACTION_NBR"<=:B1 OR :B2=0)
    946 - access("A"."PAYMENT_NBR"=:B1)
    947 - filter("A"."FINANCIAL_SOURCE"='A/R')
    948 - access("FIN_AGING_INVOICE_VIEW"."SERIAL_NUMBER"="A"."INVOICE_NBR")
    949 - access("A1_USER_LOCATION"."USER_ID"='BRENT' AND "A1_USER_LOCATION"."PLC_ID"="A"."LOCATION_ID")
    950 - access("A"."TRADER_ID"="S1_TRADER"."TRADER_ID"(+))
    953 - access("SB"."NAME_AND_ADDRESS_ID"="A"."CUSTOMER_VENDOR_ID")
    955 - access("SB"."NAME_AND_ADDRESS_ID"="S1_CUSTOMER_DATA"."CUSTOMER_ID")
    956 - access("FIN_TRANSACTION"."INVOICE_NBR"="A"."INVOICE_NBR")
    filter("FIN_TRANSACTION"."INVOICE_NBR" IS NOT NULL)
    959 - access("SA"."NAME_AND_ADDRESS_ID"="A"."LOCATION_ID")
    963 - access("FIN_TRANSACTION"."TRANSACTION_TYPE"="FIN_TRANSACTION_TYPE"."CODE")
    964 - filter("FIN_TRANSACTION"."PAYMENT_NBR" IS NOT NULL)
    966 - access("A"."CUSTOMER_VENDOR_ID"="S1_NA_BUSINESS_TYPE"."NAME_AND_ADDRESS_ID"(+))
    968 - access("A"."CURRENCY_CODE"="S1_CURRENCY"."CURRENCY_CODE")
    969 - access("S1_CURRENCY_A"."CURRENCY_CODE"="SA"."CURRENCY_CODE")
    977 - filter("FIN_AGING_ARG"."VENDOR_CUSTOMER_FLAG"='N' OR EXISTS (SELECT 0 FROM GRAINVTRC."FIN_AGING_ARG_VC" "TVC"
    WHERE "VENDOR_CUSTOMER_ID"=:B1 AND "TVC"."DAILY_REPORT_NBR"=:B2))
    978 - filter(NULL IS NOT NULL)
    981 - filter("FIN_AGING_ARG"."INVOICE_DATE_FLAG"='N')
    982 - access("FIN_AGING_ARG"."DAILY_REPORT_NBR"=36)
    983 - filter("FIN_INVOICE"."FINANCIAL_SOURCE"='A/P' AND ("FIN_INVOICE"."FINANCIAL_SOURCE"="FIN_AGING_ARG"."FINANCIAL_S
    OURCE" OR "FIN_AGING_ARG"."FINANCIAL_SOURCE"='APR') AND "FIN_INVOICE"."INVOICE_DATE"<="FIN_AGING_ARG"."AGING_DATE" AND
    ("FIN_AGING_ARG"."PLC_ID" IS NULL OR "FIN_INVOICE"."LOCATION_ID"="FIN_AGING_ARG"."PLC_ID" AND "FIN_AGING_ARG"."PLC_ID"
    IS NOT NULL) AND CASE WHEN (("FIN_AGING_ARG"."AGE_CREDIT_FLAG"='Y' AND "FIN_INVOICE"."ORIGINAL_AMOUNT"<0) OR
    "FIN_INVOICE"."ORIGINAL_AMOUNT">0) THEN CASE WHEN "FIN_AGING_ARG"."AGING_DATE"-"FIN_INVOICE"."DUE_DATE"<"FIN_AGING_ARG
    "."B_1"+1 THEN 1 WHEN "FIN_AGING_ARG"."AGING_DATE"-"FIN_INVOICE"."DUE_DATE"<"FIN_AGING_ARG"."B_2"+1 THEN 2 WHEN
    "FIN_AGING_ARG"."AGING_DATE"-"FIN_INVOICE"."DUE_DATE"<"FIN_AGING_ARG"."B_3"+1 THEN 3 WHEN
    "FIN_AGING_ARG"."AGING_DATE"-"FIN_INVOICE"."DUE_DATE"<"FIN_AGING_ARG"."B_4"+1 THEN 4 WHEN
    "FIN_AGING_ARG"."AGING_DATE"-"FIN_INVOICE"."DUE_DATE"<"FIN_AGING_ARG"."B_5"+1 THEN 5 ELSE 6 END ELSE 1 END >0)
    984 - filter("FIN_TRANSACTION"."INVOICE_NBR" IS NOT NULL AND
    "FIN_INVOICE"."INVOICE_NBR"="FIN_TRANSACTION"."INVOICE_NBR" AND ("FIN_AGING_ARG"."MAX_KEY"=0 OR
    "FIN_TRANSACTION"."TRANSACTION_NBR"<="FIN_AGING_ARG"."MAX_KEY"))
    985 - access("FIN_TRANSACTION"."TRANSACTION_NBR"= (SELECT MAX("TRANSACTION_NBR") FROM GRAINVTRC."FIN_TRANSACTION" "A"
    WHERE "A"."INVOICE_NBR"=:B1 AND "A"."TRANSACTION_DATE"<=:B2 AND ("A"."TRANSACTION_NBR"<=:B3 OR :B4=0)))
    987 - filter("A"."TRANSACTION_DATE"<=:B1 AND ("A"."TRANSACTION_NBR"<=:B2 OR :B3=0))
    988 - access("A"."INVOICE_NBR"=:B1)
    989 - access("TVC"."DAILY_REPORT_NBR"=:B1 AND "VENDOR_CUSTOMER_ID"=:B2)
    990 - filter("FIN_AGING_ARG"."VENDOR_CUSTOMER_FLAG"='N' OR EXISTS (SELECT 0 FROM GRAINVTRC."FIN_AGING_ARG_VC" "TVC"
    WHERE "VENDOR_CUSTOMER_ID"=:B1 AND "TVC"."DAILY_REPORT_NBR"=:B2))
    991 - filter(NULL IS NOT NULL)
    994 - filter("FIN_AGING_ARG"."INVOICE_DATE_FLAG"='Y')
    995 - access("FIN_AGING_ARG"."DAILY_REPORT_NBR"=36)
    996 - filter("FIN_INVOICE"."FINANCIAL_SOURCE"='A/P' AND ("FIN_INVOICE"."FINANCIAL_SOURCE"="FIN_AGING_ARG"."FINANCIAL_S
    OURCE" OR "FIN_AGING_ARG"."FINANCIAL_SOURCE"='APR') AND "FIN_INVOICE"."INVOICE_DATE"<="FIN_AGING_ARG"."AGING_DATE" AND
    ("FIN_AGING_ARG"."PLC_ID" IS NULL OR "FIN_INVOICE"."LOCATION_ID"="FIN_AGING_ARG"."PLC_ID" AND "FIN_AGING_ARG"."PLC_ID"
    IS NOT NULL) AND CASE WHEN (("FIN_AGING_ARG"."AGE_CREDIT_FLAG"='Y' AND "FIN_INVOICE"."ORIGINAL_AMOUNT"<0) OR
    "FIN_INVOICE"."ORIGINAL_AMOUNT">0) THEN CASE WHEN "FIN_AGING_ARG"."AGING_DATE"-"FIN_INVOICE"."INVOICE_DATE"<"FIN_AGING
    _ARG"."B_1"+1 THEN 1 WHEN "FIN_AGING_ARG"."AGING_DATE"-"FIN_INVOICE"."INVOICE_DATE"<"FIN_AGING_ARG"."B_2"+1 THEN 2
    WHEN "FIN_AGING_ARG"."AGING_DATE"-"FIN_INVOICE"."INVOICE_DATE"<"FIN_AGING_ARG"."B_3"+1 THEN 3 WHEN
    "FIN_AGING_ARG"."AGING_DATE"-"FIN_INVOICE"."INVOICE_DATE"<"FIN_AGING_ARG"."B_4"+1 THEN 4 WHEN
    "FIN_AGING_ARG"."AGING_DATE"-"FIN_INVOICE"."INVOICE_DATE"<"FIN_AGING_ARG"."B_5"+1 THEN 5 ELSE 6 END ELSE 1 END >0)
    997 - filter("FIN_TRANSACTION"."INVOICE_NBR" IS NOT NULL AND
    "FIN_INVOICE"."INVOICE_NBR"="FIN_TRANSACTION"."INVOICE_NBR" AND ("FIN_AGING_ARG"."MAX_KEY"=0 OR
    "FIN_TRANSACTION"."TRANSACTION_NBR"<="FIN_AGING_ARG"."MAX_KEY"))
    998 - access("FIN_TRANSACTION"."TRANSACTION_NBR"= (SELECT MAX("TRANSACTION_NBR") FROM GRAINVTRC."FIN_TRANSACTION" "A"
    WHERE "A"."INVOICE_NBR"=:B1 AND "A"."TRANSACTION_DATE"<=:B2 AND ("A"."TRANSACTION_NBR"<=:B3 OR :B4=0)))
    1000 - filter("A"."TRANSACTION_DATE"<=:B1 AND ("A"."TRANSACTION_NBR"<=:B2 OR :B3=0))
    1001 - access("A"."INVOICE_NBR"=:B1)
    1002 - access("TVC"."DAILY_REPORT_NBR"=:B1 AND "VENDOR_CUSTOMER_ID"=:B2)
    1003 - filter(("FIN_AGING_ARG"."VENDOR_CUSTOMER_FLAG"='N' OR EXISTS (SELECT 0 FROM GRAINVTRC."FIN_AGING_ARG_VC" "TVC"
    WHERE "VENDOR_CUSTOMER_ID"=:B1 AND "TVC"."DAILY_REPORT_NBR"=:B2)) AND EXISTS (SELECT 0 FROM
    GRAINVTRC."FIN_TRANSACTION" "A" WHERE "A"."INVOICE_NBR"=:B3 AND ("A"."TRANSACTION_NBR"<=:B4 OR :B5=0)))
    1006 - access("FIN_AGING_ARG"."DAILY_REPORT_NBR"=36)
    1007 - filter("FIN_INVOICE"."FINANCIAL_SOURCE"='A/P' AND ("FIN_INVOICE"."FINANCIAL_SOURCE"="FIN_AGING_ARG"."FINANCIAL_S
    OURCE" OR "FIN_AGING_ARG"."FINANCIAL_SOURCE"='APR') AND "FIN_INVOICE"."INVOICE_DATE">"FIN_AGING_ARG"."AGING_DATE" AND
    ("FIN_AGING_ARG"."PLC_ID" IS NULL OR "FIN_INVOICE"."LOCATION_ID"="FIN_AGING_ARG"."PLC_ID" AND "FIN_AGING_ARG"."PLC_ID"
    IS NOT NULL) AND ("FIN_INVOICE"."INVOICE_STATUS"<>'C' OR "FIN_AGING_ARG"."AGING_DATE"<="FIN_INVOICE"."LAST_TRANSACTION_
    DATE" OR "FIN_INVOICE"."BALANCE_FORWARD_PRINT_FLAG"<>'Y'))
    1008 - access("TVC"."DAILY_REPORT_NBR"=:B1 AND "VENDOR_CUSTOMER_ID"=:B2)
    1009 - filter("A"."TRANSACTION_NBR"<=:B1 OR :B2=0)
    1010 - access("A"."INVOICE_NBR"=:B1)
    1011 - filter(("FIN_AGING_ARG"."VENDOR_CUSTOMER_FLAG"='N' OR EXISTS (SELECT 0 FROM GRAINVTRC."FIN_AGING_ARG_VC" "TVC"
    WHERE "VENDOR_CUSTOMER_ID"=:B1 AND "TVC"."DAILY_REPORT_NBR"=:B2)) AND "FIN_TRANSACTION"."TRANSACTION_NBR"= (SELECT
    MAX("TRANSACTION_NBR") FROM GRAINVTRC."FIN_TRANSACTION" "A" WHERE "A"."PAYMENT_NBR"=:B3 AND
    "A"."TRANSACTION_DATE"<=:B4 AND ("A"."TRANSACTION_NBR"<=:B5 OR :B6=0)))
    1012 - filter(NULL IS NOT NULL AND NULL IS NOT NULL)
    1013 - access("FIN_PAYMENT"."PAYMENT_NBR"="FIN_TRANSACTION"."PAYMENT_NBR")
    filter(("FIN_PAYMENT"."FINANCIAL_SOURCE"="FIN_AGING_ARG"."FINANCIAL_SOURCE" OR
    "FIN_AGING_ARG"."FINANCIAL_SOURCE"='APR') AND "FIN_PAYMENT"."PAYMENT_DATE"<="FIN_AGING_ARG"."AGING_DATE" AND
    ("FIN_AGING_ARG"."PLC_ID" IS NULL OR "FIN_AGING_ARG"."PLC_ID" IS NOT NULL AND
    "FIN_PAYMENT"."LOCATION_ID"="FIN_AGING_ARG"."PLC_ID" AND "FIN_PAYMENT"."LOCATION_ID" IS NOT NULL) AND CASE WHEN
    "FIN_AGING_ARG"."AGE_CREDIT_FLAG"='Y' THEN CASE WHEN "FIN_AGING_ARG"."AGING_DATE"-"FIN_PAYMENT"."PAYMENT_DATE"<"FIN_AG
    ING_ARG"."B_1"+1 THEN 1 WHEN "FIN_AGING_ARG"."AGING_DATE"-"FIN_PAYMENT"."PAYMENT_DATE"<"FIN_AGING_ARG"."B_2"+1 THEN 2
    WHEN "FIN_AGING_ARG"."AGING_DATE"-"FIN_PAYMENT"."PAYMENT_DATE"<"FIN_AGING_ARG"."B_3"+1 THEN 3 WHEN
    "FIN_AGING_ARG"."AGING_DATE"-"FIN_PAYMENT"."PAYMENT_DATE"<"FIN_AGING_ARG"."B_4"+1 THEN 4 WHEN
    "FIN_AGING_ARG"."AGING_DATE"-"FIN_PAYMENT"."PAYMENT_DATE"<"FIN_AGING_ARG"."B_5"+1 THEN 5 ELSE 6 END ELSE 1 END >0)
    1014 - filter("FIN_PAYMENT"."FINANCIAL_SOURCE"='A/P' AND ("FIN_PAYMENT"."INTERNAL_FLAG"='N' OR
    "FIN_PAYMENT"."INTERNAL_FLAG"='Y' AND ("FIN_PAYMENT"."PAYMENT_TYPE"='C' OR "FIN_PAYMENT"."PAYMENT_TYPE"='N')))
    1017 - access("FIN_AGING_ARG"."DAILY_REPORT_NBR"=36)
    1018 - filter("FIN_TRANSACTION"."PAYMENT_NBR" IS NOT NULL AND ("FIN_AGING_ARG"."MAX_KEY"=0 OR
    "FIN_TRANSACTION"."TRANSACTION_NBR"<="FIN_AGING_ARG"."MAX_KEY"))
    1019 - access("TVC"."DAILY_REPORT_NBR"=:B1 AND "VENDOR_CUSTOMER_ID"=:B2)
    1021 - filter("A"."TRANSACTION_DATE"<=:B1 AND ("A"."TRANSACTION_NBR"<=:B2 OR :B3=0))
    1022 - access("A"."PAYMENT_NBR"=:B1)
    1023 - filter(("FIN_AGING_ARG"."VENDOR_CUSTOMER_FLAG"='N' OR EXISTS (SELECT 0 FROM GRAINVTRC."FIN_AGING_ARG_VC" "TVC"
    WHERE "VENDOR_CUSTOMER_ID"=:B1 AND "TVC"."DAILY_REPORT_NBR"=:B2)) AND EXISTS (SELECT 0 FROM
    GRAINVTRC."FIN_TRANSACTION" "A" WHERE "A"."PAYMENT_NBR"=:B3 AND ("A"."TRANSACTION_NBR"<=:B4 OR :B5=0)))
    1024 - filter(NULL IS NOT NULL)
    1027 - access("FIN_AGING_ARG"."DAILY_REPORT_NBR"=36)
    1028 - filter("FIN_PAYMENT"."FINANCIAL_SOURCE"='A/P' AND ("FIN_PAYMENT"."INTERNAL_FLAG"='N' OR
    "FIN_PAYMENT"."INTERNAL_FLAG"='Y' AND ("FIN_PAYMENT"."PAYMENT_TYPE"='C' OR "FIN_PAYMENT"."PAYMENT_TYPE"='N')) AND
    ("FIN_PAYMENT"."FINANCIAL_SOURCE"="FIN_AGING_ARG"."FINANCIAL_SOURCE" OR "FIN_AGING_ARG"."FINANCIAL_SOURCE"='APR') AND
    ("UNAPPLIED_AMOUNT"<>0 OR "FIN_AGING_ARG"."AGING_DATE"<="LAST_TRANSACTION_DATE") AND ("FIN_AGING_ARG"."PLC_ID" IS NULL
    OR "FIN_AGING_ARG"."PLC_ID" IS NOT NULL AND "FIN_PAYMENT"."LOCATION_ID"="FIN_AGING_ARG"."PLC_ID" AND
    "FIN_PAYMENT"."LOCATION_ID" IS NOT NULL))
    1029 - access("FIN_PAYMENT"."PAYMENT_DATE">"FIN_AGING_ARG"."AGING_DATE")
    1030 - access("TVC"."DAILY_REPORT_NBR"=:B1 AND "VENDOR_CUSTOMER_ID"=:B2)
    1031 - filter("A"."TRANSACTION_NBR"<=:B1 OR :B2=0)
    1032 - access("A"."PAYMENT_NBR"=:B1)
    1033 - filter("FIN_AGING_ARG"."VENDOR_CUSTOMER_FLAG"='N' OR EXISTS (SELECT 0 FROM GRAINVTRC."FIN_AGING_ARG_VC" "TVC"
    WHERE "VENDOR_CUSTOMER_ID"=:B1 AND "TVC"."DAILY_REPORT_NBR"=:B2))
    1034 - filter(NULL IS NOT NULL)
    1038 - filter("FIN_AGING_ARG"."INVOICE_DATE_FLAG"='N')
    1039 - access("FIN_AGING_ARG"."DAILY_REPORT_NBR"=36)
    1040 - filter("FIN_INVOICE"."FINANCIAL_SOURCE"='A/R' AND ("FIN_INVOICE"."FINANCIAL_SOURCE"="FIN_AGING_ARG"."FINANCIAL_S
    OURCE" OR "FIN_AGING_ARG"."FINANCIAL_SOURCE"='APR') AND "FIN_INVOICE"."INVOICE_DATE"<="FIN_AGING_ARG"."AGING_DATE" AND
    ("FIN_AGING_ARG"."PLC_ID" IS NULL OR "FIN_INVOICE"."LOCATION_ID"="FIN_AGING_ARG"."PLC_ID" AND "FIN_AGING_ARG"."PLC_ID"
    IS NOT NULL) AND CASE WHEN (("FIN_AGING_ARG"."AGE_CREDIT_FLAG"='Y' AND "FIN_INVOICE"."ORIGINAL_AMOUNT"<0) OR
    "FIN_INVOICE"."ORIGINAL_AMOUNT">0) THEN CASE WHEN "FIN_AGING_ARG"."AGING_DATE"-"FIN_INVOICE"."DUE_DATE"<"FIN_AGING_ARG
    "."B_1"+1 THEN 1 WHEN "FIN_AGING_ARG"."AGING_DATE"-"FIN_INVOICE"."DUE_DATE"<"FIN_AGING_ARG"."B_2"+1 THEN 2 WHEN
    "FIN_AGING_ARG"."AGING_DATE"-"FIN_INVOICE"."DUE_DATE"<"FIN_AGING_ARG"."B_3"+1 THEN 3 WHEN
    "FIN_AGING_ARG"."AGING_DATE"-"FIN_INVOICE"."DUE_DATE"<"FIN_AGING_ARG"."B_4"+1 THEN 4 WHEN
    "FIN_AGING_ARG"."AGING_DATE"-"FIN_INVOICE"."DUE_DATE"<"FIN_AGING_ARG"."B_5"+1 THEN 5 ELSE 6 END ELSE 1 END >0)
    1041 - filter("FIN_TRANSACTION"."INVOICE_NBR" IS NOT NULL AND
    "FIN_INVOICE"."INVOICE_NBR"="FIN_TRANSACTION"."INVOICE_NBR" AND ("FIN_AGING_ARG"."MAX_KEY"=0 OR
    "FIN_TRANSACTION"."TRANSACTION_NBR"<="FIN_AGING_ARG"."MAX_KEY"))
    1042 - access("FIN_TRANSACTION"."TRANSACTION_NBR"= (SELECT MAX("TRANSACTION_NBR") FROM GRAINVTRC."FIN_TRANSACTION" "A"
    WHERE "A"."INVOICE_NBR"=:B1 AND "A"."TRANSACTION_DATE"<=:B2 AND ("A"."TRANSACTION_NBR"<=:B3 OR :B4=0)))
    1044 - filter("A"."TRANSACTION_DATE"<=:B1 AND ("A"."TRANSACTION_NBR"<=:B2 OR :B3=0))
    1045 - access("A"."INVOICE_NBR"=:B1)
    1046 - filter("FIN_AGING_ARG"."CREDIT_STATUS"='0' OR "FIN_AGING_ARG"."CREDIT_STATUS"='1' AND
    "S1_CUSTOMER_DATA"."HOLD_FLAG"='Y' OR "FIN_AGING_ARG"."CREDIT_STATUS"='2' AND "S1_CUSTOMER_DATA"."CREDIT_LIMIT" IS NOT
    NULL OR "S1_CUSTOMER_DATA"."HOLD_FLAG"='Y' OR "S1_CUSTOMER_DATA"."CREDIT_LIMIT" IS NOT NULL)
    1047 - access("FIN_INVOICE"."CUSTOMER_VENDOR_ID"="S1_CUSTOMER_DATA"."CUSTOMER_ID")
    1048 - access("TVC"."DAILY_REPORT_NBR"=:B1 AND "VENDOR_CUSTOMER_ID"=:B2)
    1049 - filter("FIN_AGING_ARG"."VENDOR_CUSTOMER_FLAG"='N' OR EXISTS (SELECT 0 FROM GRAINVTRC."FIN_AGING_ARG_VC" "TVC"
    WHERE "VENDOR_CUSTOMER_ID"=:B1 AND "TVC"."DAILY_REPORT_NBR"=:B2))
    1050 - filter(NULL IS NOT NULL)
    1054 - filter("FIN_AGING_ARG"."INVOICE_DATE_FLAG"='Y')
    1055 - access("FIN_AGING_ARG"."DAILY_REPORT_NBR"=36)
    1056 - filter("FIN_INVOICE"."FINANCIAL_SOURCE"='A/R' AND ("FIN_INVOICE"."FINANCIAL_SOURCE"="FIN_AGING_ARG"."FINANCIAL_S
    OURCE" OR "FIN_AGING_ARG"."FINANCIAL_SOURCE"='APR') AND "FIN_INVOICE"."INVOICE_DATE"<="FIN_AGING_ARG"."AGING_DATE" AND
    ("FIN_AGING_ARG"."PLC_ID" IS NULL OR "FIN_INVOICE"."LOCATION_ID"="FIN_AGING_ARG"."PLC_ID" AND "FIN_AGING_ARG"."PLC_ID"
    IS NOT NULL) AND CASE WHEN (("FIN_AGING_ARG"."AGE_CREDIT_FLAG"='Y' AND "FIN_INVOICE"."ORIGINAL_AMOUNT"<0) OR
    "FIN_INVOICE"."ORIGINAL_AMOUNT">0) THEN CASE WHEN "FIN_AGING_ARG"."AGING_DATE"-"FIN_INVOICE"."INVOICE_DATE"<"FIN_AGING
    _ARG"."B_1"+1 THEN 1 WHEN "FIN_AGING_ARG"."AGING_DATE"-"FIN_INVOICE"."INVOICE_DATE"<"FIN_AGING_ARG"."B_2"+1 THEN 2
    WHEN "FIN_AGING_ARG"."AGING_DATE"-"FIN_INVOICE"."INVOICE_DATE"<"FIN_AGING_ARG"."B_3"+1 THEN 3 WHEN
    "FIN_AGING_ARG"."AGING_DATE"-"FIN_INVOICE"."INVOICE_DATE"<"FIN_AGING_ARG"."B_4"+1 THEN 4 WHEN
    "FIN_AGING_ARG"."AGING_DATE"-"FIN_INVOICE"."INVOICE_DATE"<"FIN_AGING_ARG"."B_5"+1 THEN 5 ELSE 6 END ELSE 1 END >0)
    1057 - filter("FIN_TRANSACTION"."INVOICE_NBR" IS NOT NULL AND
    "FIN_INVOICE"."INVOICE_NBR"="FIN_TRANSACTION"."INVOICE_NBR" AND ("FIN_AGING_ARG"."MAX_KEY"=0 OR
    "FIN_TRANSACTION"."TRANSACTION_NBR"<="FIN_AGING_ARG"."MAX_KEY"))
    1058 - access("FIN_TRANSACTION"."TRANSACTION_NBR"= (SELECT MAX("TRANSACTION_NBR") FROM GRAINVTRC."FIN_TRANSACTION" "A"
    WHERE "A"."INVOICE_NBR"=:B1 AND "A"."TRANSACTION_DATE"<=:B2 AND ("A"."TRANSACTION_NBR"<=:B3 OR :B4=0)))
    1060 - filter("A"."TRANSACTION_DATE"<=:B1 AND ("A"."TRANSACTION_NBR"<=:B2 OR :B3=0))

    Hi,
    did u try it: SQL and PL/SQL FAQ
    item 3?

  • Query Tuning Assistance - part 2

    211 - filter("FIN_TRANSACTION"."PAYMENT_NBR" IS NOT NULL AND ("FIN_AGING_ARG"."MAX_KEY"=0 OR
    "FIN_TRANSACTION"."TRANSACTION_NBR"<="FIN_AGING_ARG"."MAX_KEY"))
    212 - access("TVC"."DAILY_REPORT_NBR"=:B1 AND "VENDOR_CUSTOMER_ID"=:B2)
    214 - filter("A"."TRANSACTION_DATE"<=:B1 AND ("A"."TRANSACTION_NBR"<=:B2 OR :B3=0))
    215 - access("A"."PAYMENT_NBR"=:B1)
    216 - filter(("FIN_AGING_ARG"."VENDOR_CUSTOMER_FLAG"='N' OR EXISTS (SELECT 0 FROM GRAINVTRC."FIN_AGING_ARG_VC" "TVC"
    WHERE "VENDOR_CUSTOMER_ID"=:B1 AND "TVC"."DAILY_REPORT_NBR"=:B2)) AND EXISTS (SELECT 0 FROM
    GRAINVTRC."FIN_TRANSACTION" "A" WHERE "A"."PAYMENT_NBR"=:B3 AND ("A"."TRANSACTION_NBR"<=:B4 OR :B5=0)))
    217 - filter(NULL IS NOT NULL)
    220 - access("FIN_AGING_ARG"."DAILY_REPORT_NBR"=36)
    221 - filter("FIN_PAYMENT"."FINANCIAL_SOURCE"='A/P' AND ("FIN_PAYMENT"."INTERNAL_FLAG"='N' OR
    "FIN_PAYMENT"."INTERNAL_FLAG"='Y' AND ("FIN_PAYMENT"."PAYMENT_TYPE"='C' OR "FIN_PAYMENT"."PAYMENT_TYPE"='N')) AND
    ("FIN_PAYMENT"."FINANCIAL_SOURCE"="FIN_AGING_ARG"."FINANCIAL_SOURCE" OR "FIN_AGING_ARG"."FINANCIAL_SOURCE"='APR') AND
    ("UNAPPLIED_AMOUNT"<>0 OR "FIN_AGING_ARG"."AGING_DATE"<="LAST_TRANSACTION_DATE") AND ("FIN_AGING_ARG"."PLC_ID" IS NULL
    OR "FIN_AGING_ARG"."PLC_ID" IS NOT NULL AND "FIN_PAYMENT"."LOCATION_ID"="FIN_AGING_ARG"."PLC_ID" AND
    "FIN_PAYMENT"."LOCATION_ID" IS NOT NULL))
    222 - access("FIN_PAYMENT"."PAYMENT_DATE">"FIN_AGING_ARG"."AGING_DATE")
    223 - access("TVC"."DAILY_REPORT_NBR"=:B1 AND "VENDOR_CUSTOMER_ID"=:B2)
    224 - filter("A"."TRANSACTION_NBR"<=:B1 OR :B2=0)
    225 - access("A"."PAYMENT_NBR"=:B1)
    226 - filter("FIN_AGING_ARG"."VENDOR_CUSTOMER_FLAG"='N' OR EXISTS (SELECT 0 FROM GRAINVTRC."FIN_AGING_ARG_VC" "TVC"
    WHERE "VENDOR_CUSTOMER_ID"=:B1 AND "TVC"."DAILY_REPORT_NBR"=:B2))
    230 - filter("FIN_AGING_ARG"."INVOICE_DATE_FLAG"='N')
    231 - access("FIN_AGING_ARG"."DAILY_REPORT_NBR"=36)
    232 - filter("FIN_INVOICE"."FINANCIAL_SOURCE"='A/R' AND ("FIN_INVOICE"."FINANCIAL_SOURCE"="FIN_AGING_ARG"."FINANCIAL_S
    OURCE" OR "FIN_AGING_ARG"."FINANCIAL_SOURCE"='APR') AND "FIN_INVOICE"."INVOICE_DATE"<="FIN_AGING_ARG"."AGING_DATE" AND
    ("FIN_AGING_ARG"."PLC_ID" IS NULL OR "FIN_INVOICE"."LOCATION_ID"="FIN_AGING_ARG"."PLC_ID" AND "FIN_AGING_ARG"."PLC_ID"
    IS NOT NULL) AND CASE WHEN (("FIN_AGING_ARG"."AGE_CREDIT_FLAG"='Y' AND "FIN_INVOICE"."ORIGINAL_AMOUNT"<0) OR
    "FIN_INVOICE"."ORIGINAL_AMOUNT">0) THEN CASE WHEN "FIN_AGING_ARG"."AGING_DATE"-"FIN_INVOICE"."DUE_DATE"<"FIN_AGING_ARG
    "."B_1"+1 THEN 1 WHEN "FIN_AGING_ARG"."AGING_DATE"-"FIN_INVOICE"."DUE_DATE"<"FIN_AGING_ARG"."B_2"+1 THEN 2 WHEN
    "FIN_AGING_ARG"."AGING_DATE"-"FIN_INVOICE"."DUE_DATE"<"FIN_AGING_ARG"."B_3"+1 THEN 3 WHEN
    "FIN_AGING_ARG"."AGING_DATE"-"FIN_INVOICE"."DUE_DATE"<"FIN_AGING_ARG"."B_4"+1 THEN 4 WHEN
    "FIN_AGING_ARG"."AGING_DATE"-"FIN_INVOICE"."DUE_DATE"<"FIN_AGING_ARG"."B_5"+1 THEN 5 ELSE 6 END ELSE 1 END >0)
    233 - filter("FIN_TRANSACTION"."INVOICE_NBR" IS NOT NULL AND
    "FIN_INVOICE"."INVOICE_NBR"="FIN_TRANSACTION"."INVOICE_NBR" AND ("FIN_AGING_ARG"."MAX_KEY"=0 OR
    "FIN_TRANSACTION"."TRANSACTION_NBR"<="FIN_AGING_ARG"."MAX_KEY"))
    234 - access("FIN_TRANSACTION"."TRANSACTION_NBR"= (SELECT MAX("TRANSACTION_NBR") FROM GRAINVTRC."FIN_TRANSACTION" "A"
    WHERE "A"."INVOICE_NBR"=:B1 AND "A"."TRANSACTION_DATE"<=:B2 AND ("A"."TRANSACTION_NBR"<=:B3 OR :B4=0)))
    236 - filter("A"."TRANSACTION_DATE"<=:B1 AND ("A"."TRANSACTION_NBR"<=:B2 OR :B3=0))
    237 - access("A"."INVOICE_NBR"=:B1)
    238 - filter("FIN_AGING_ARG"."CREDIT_STATUS"='0' OR "FIN_AGING_ARG"."CREDIT_STATUS"='1' AND
    "S1_CUSTOMER_DATA"."HOLD_FLAG"='Y' OR "FIN_AGING_ARG"."CREDIT_STATUS"='2' AND "S1_CUSTOMER_DATA"."CREDIT_LIMIT" IS NOT
    NULL OR "S1_CUSTOMER_DATA"."HOLD_FLAG"='Y' OR "S1_CUSTOMER_DATA"."CREDIT_LIMIT" IS NOT NULL)
    239 - access("FIN_INVOICE"."CUSTOMER_VENDOR_ID"="S1_CUSTOMER_DATA"."CUSTOMER_ID")
    240 - access("TVC"."DAILY_REPORT_NBR"=:B1 AND "VENDOR_CUSTOMER_ID"=:B2)
    241 - filter("FIN_AGING_ARG"."VENDOR_CUSTOMER_FLAG"='N' OR EXISTS (SELECT 0 FROM GRAINVTRC."FIN_AGING_ARG_VC" "TVC"
    WHERE "VENDOR_CUSTOMER_ID"=:B1 AND "TVC"."DAILY_REPORT_NBR"=:B2))
    245 - filter("FIN_AGING_ARG"."INVOICE_DATE_FLAG"='Y')
    246 - access("FIN_AGING_ARG"."DAILY_REPORT_NBR"=36)
    247 - filter("FIN_INVOICE"."FINANCIAL_SOURCE"='A/R' AND ("FIN_INVOICE"."FINANCIAL_SOURCE"="FIN_AGING_ARG"."FINANCIAL_S
    OURCE" OR "FIN_AGING_ARG"."FINANCIAL_SOURCE"='APR') AND "FIN_INVOICE"."INVOICE_DATE"<="FIN_AGING_ARG"."AGING_DATE" AND
    ("FIN_AGING_ARG"."PLC_ID" IS NULL OR "FIN_INVOICE"."LOCATION_ID"="FIN_AGING_ARG"."PLC_ID" AND "FIN_AGING_ARG"."PLC_ID"
    IS NOT NULL) AND CASE WHEN (("FIN_AGING_ARG"."AGE_CREDIT_FLAG"='Y' AND "FIN_INVOICE"."ORIGINAL_AMOUNT"<0) OR
    "FIN_INVOICE"."ORIGINAL_AMOUNT">0) THEN CASE WHEN "FIN_AGING_ARG"."AGING_DATE"-"FIN_INVOICE"."INVOICE_DATE"<"FIN_AGING
    _ARG"."B_1"+1 THEN 1 WHEN "FIN_AGING_ARG"."AGING_DATE"-"FIN_INVOICE"."INVOICE_DATE"<"FIN_AGING_ARG"."B_2"+1 THEN 2
    WHEN "FIN_AGING_ARG"."AGING_DATE"-"FIN_INVOICE"."INVOICE_DATE"<"FIN_AGING_ARG"."B_3"+1 THEN 3 WHEN
    "FIN_AGING_ARG"."AGING_DATE"-"FIN_INVOICE"."INVOICE_DATE"<"FIN_AGING_ARG"."B_4"+1 THEN 4 WHEN
    "FIN_AGING_ARG"."AGING_DATE"-"FIN_INVOICE"."INVOICE_DATE"<"FIN_AGING_ARG"."B_5"+1 THEN 5 ELSE 6 END ELSE 1 END >0)
    248 - filter("FIN_TRANSACTION"."INVOICE_NBR" IS NOT NULL AND
    "FIN_INVOICE"."INVOICE_NBR"="FIN_TRANSACTION"."INVOICE_NBR" AND ("FIN_AGING_ARG"."MAX_KEY"=0 OR
    "FIN_TRANSACTION"."TRANSACTION_NBR"<="FIN_AGING_ARG"."MAX_KEY"))
    249 - access("FIN_TRANSACTION"."TRANSACTION_NBR"= (SELECT MAX("TRANSACTION_NBR") FROM GRAINVTRC."FIN_TRANSACTION" "A"
    WHERE "A"."INVOICE_NBR"=:B1 AND "A"."TRANSACTION_DATE"<=:B2 AND ("A"."TRANSACTION_NBR"<=:B3 OR :B4=0)))
    251 - filter("A"."TRANSACTION_DATE"<=:B1 AND ("A"."TRANSACTION_NBR"<=:B2 OR :B3=0))
    252 - access("A"."INVOICE_NBR"=:B1)
    253 - filter("FIN_AGING_ARG"."CREDIT_STATUS"='0' OR "FIN_AGING_ARG"."CREDIT_STATUS"='1' AND
    "S1_CUSTOMER_DATA"."HOLD_FLAG"='Y' OR "FIN_AGING_ARG"."CREDIT_STATUS"='2' AND "S1_CUSTOMER_DATA"."CREDIT_LIMIT" IS NOT
    NULL OR "S1_CUSTOMER_DATA"."HOLD_FLAG"='Y' OR "S1_CUSTOMER_DATA"."CREDIT_LIMIT" IS NOT NULL)
    254 - access("FIN_INVOICE"."CUSTOMER_VENDOR_ID"="S1_CUSTOMER_DATA"."CUSTOMER_ID")
    255 - access("TVC"."DAILY_REPORT_NBR"=:B1 AND "VENDOR_CUSTOMER_ID"=:B2)
    256 - filter(("FIN_AGING_ARG"."VENDOR_CUSTOMER_FLAG"='N' OR EXISTS (SELECT 0 FROM GRAINVTRC."FIN_AGING_ARG_VC" "TVC"
    WHERE "VENDOR_CUSTOMER_ID"=:B1 AND "TVC"."DAILY_REPORT_NBR"=:B2)) AND EXISTS (SELECT 0 FROM
    GRAINVTRC."FIN_TRANSACTION" "A" WHERE "A"."INVOICE_NBR"=:B3 AND ("A"."TRANSACTION_NBR"<=:B4 OR :B5=0)))
    257 - access("FIN_INVOICE"."CUSTOMER_VENDOR_ID"="S1_CUSTOMER_DATA"."CUSTOMER_ID")
    filter(("FIN_INVOICE"."FINANCIAL_SOURCE"="FIN_AGING_ARG"."FINANCIAL_SOURCE" OR
    "FIN_AGING_ARG"."FINANCIAL_SOURCE"='APR') AND "FIN_INVOICE"."INVOICE_DATE">"FIN_AGING_ARG"."AGING_DATE" AND
    ("FIN_AGING_ARG"."PLC_ID" IS NULL OR "FIN_INVOICE"."LOCATION_ID"="FIN_AGING_ARG"."PLC_ID" AND "FIN_AGING_ARG"."PLC_ID"
    IS NOT NULL) AND ("FIN_INVOICE"."INVOICE_STATUS"<>'C' OR "FIN_AGING_ARG"."AGING_DATE"<="FIN_INVOICE"."LAST_TRANSACTION_
    DATE" OR "FIN_INVOICE"."BALANCE_FORWARD_PRINT_FLAG"<>'Y'))
    260 - access("FIN_AGING_ARG"."DAILY_REPORT_NBR"=36)
    261 - filter("FIN_AGING_ARG"."CREDIT_STATUS"='0' OR "FIN_AGING_ARG"."CREDIT_STATUS"='1' AND
    "S1_CUSTOMER_DATA"."HOLD_FLAG"='Y' OR "FIN_AGING_ARG"."CREDIT_STATUS"='2' AND "S1_CUSTOMER_DATA"."CREDIT_LIMIT" IS NOT
    NULL OR "S1_CUSTOMER_DATA"."HOLD_FLAG"='Y' OR "S1_CUSTOMER_DATA"."CREDIT_LIMIT" IS NOT NULL)
    262 - filter("FIN_INVOICE"."FINANCIAL_SOURCE"='A/R')
    263 - access("TVC"."DAILY_REPORT_NBR"=:B1 AND "VENDOR_CUSTOMER_ID"=:B2)
    264 - filter("A"."TRANSACTION_NBR"<=:B1 OR :B2=0)
    265 - access("A"."INVOICE_NBR"=:B1)
    266 - filter(("FIN_AGING_ARG"."VENDOR_CUSTOMER_FLAG"='N' OR EXISTS (SELECT 0 FROM GRAINVTRC."FIN_AGING_ARG_VC" "TVC"
    WHERE "VENDOR_CUSTOMER_ID"=:B1 AND "TVC"."DAILY_REPORT_NBR"=:B2)) AND "FIN_TRANSACTION"."TRANSACTION_NBR"= (SELECT
    MAX("TRANSACTION_NBR") FROM GRAINVTRC."FIN_TRANSACTION" "A" WHERE "A"."PAYMENT_NBR"=:B3 AND
    "A"."TRANSACTION_DATE"<=:B4 AND ("A"."TRANSACTION_NBR"<=:B5 OR :B6=0)))
    267 - filter(NULL IS NOT NULL)
    268 - access("FIN_PAYMENT"."CUSTOMER_VENDOR_ID"="S1_CUSTOMER_DATA"."CUSTOMER_ID")
    filter("FIN_AGING_ARG"."CREDIT_STATUS"='0' OR "FIN_AGING_ARG"."CREDIT_STATUS"='1' AND
    "S1_CUSTOMER_DATA"."HOLD_FLAG"='Y' OR "FIN_AGING_ARG"."CREDIT_STATUS"='2' AND "S1_CUSTOMER_DATA"."CREDIT_LIMIT" IS NOT
    NULL OR "S1_CUSTOMER_DATA"."HOLD_FLAG"='Y' OR "S1_CUSTOMER_DATA"."CREDIT_LIMIT" IS NOT NULL)
    270 - access("FIN_PAYMENT"."PAYMENT_NBR"="FIN_TRANSACTION"."PAYMENT_NBR")
    filter(("FIN_PAYMENT"."FINANCIAL_SOURCE"="FIN_AGING_ARG"."FINANCIAL_SOURCE" OR
    "FIN_AGING_ARG"."FINANCIAL_SOURCE"='APR') AND "FIN_PAYMENT"."PAYMENT_DATE"<="FIN_AGING_ARG"."AGING_DATE" AND
    ("FIN_AGING_ARG"."PLC_ID" IS NULL OR "FIN_AGING_ARG"."PLC_ID" IS NOT NULL AND
    "FIN_PAYMENT"."LOCATION_ID"="FIN_AGING_ARG"."PLC_ID" AND "FIN_PAYMENT"."LOCATION_ID" IS NOT NULL) AND CASE WHEN
    "FIN_AGING_ARG"."AGE_CREDIT_FLAG"='Y' THEN CASE WHEN "FIN_AGING_ARG"."AGING_DATE"-"FIN_PAYMENT"."PAYMENT_DATE"<"FIN_AG
    ING_ARG"."B_1"+1 THEN 1 WHEN "FIN_AGING_ARG"."AGING_DATE"-"FIN_PAYMENT"."PAYMENT_DATE"<"FIN_AGING_ARG"."B_2"+1 THEN 2
    WHEN "FIN_AGING_ARG"."AGING_DATE"-"FIN_PAYMENT"."PAYMENT_DATE"<"FIN_AGING_ARG"."B_3"+1 THEN 3 WHEN
    "FIN_AGING_ARG"."AGING_DATE"-"FIN_PAYMENT"."PAYMENT_DATE"<"FIN_AGING_ARG"."B_4"+1 THEN 4 WHEN
    "FIN_AGING_ARG"."AGING_DATE"-"FIN_PAYMENT"."PAYMENT_DATE"<"FIN_AGING_ARG"."B_5"+1 THEN 5 ELSE 6 END ELSE 1 END >0)
    271 - filter("FIN_PAYMENT"."FINANCIAL_SOURCE"='A/R' AND ("FIN_PAYMENT"."INTERNAL_FLAG"='N' OR
    "FIN_PAYMENT"."INTERNAL_FLAG"='Y' AND ("FIN_PAYMENT"."PAYMENT_TYPE"='C' OR "FIN_PAYMENT"."PAYMENT_TYPE"='N')))
    274 - access("FIN_AGING_ARG"."DAILY_REPORT_NBR"=36)
    275 - filter("FIN_TRANSACTION"."PAYMENT_NBR" IS NOT NULL AND ("FIN_AGING_ARG"."MAX_KEY"=0 OR
    "FIN_TRANSACTION"."TRANSACTION_NBR"<="FIN_AGING_ARG"."MAX_KEY"))
    276 - access("TVC"."DAILY_REPORT_NBR"=:B1 AND "VENDOR_CUSTOMER_ID"=:B2)
    278 - filter("A"."TRANSACTION_DATE"<=:B1 AND ("A"."TRANSACTION_NBR"<=:B2 OR :B3=0))
    279 - access("A"."PAYMENT_NBR"=:B1)
    280 - filter(("FIN_AGING_ARG"."VENDOR_CUSTOMER_FLAG"='N' OR EXISTS (SELECT 0 FROM GRAINVTRC."FIN_AGING_ARG_VC" "TVC"
    WHERE "VENDOR_CUSTOMER_ID"=:B1 AND "TVC"."DAILY_REPORT_NBR"=:B2)) AND EXISTS (SELECT 0 FROM
    GRAINVTRC."FIN_TRANSACTION" "A" WHERE "A"."PAYMENT_NBR"=:B3 AND ("A"."TRANSACTION_NBR"<=:B4 OR :B5=0)))
    281 - filter(NULL IS NOT NULL)
    285 - access("FIN_AGING_ARG"."DAILY_REPORT_NBR"=36)
    286 - filter("FIN_PAYMENT"."FINANCIAL_SOURCE"='A/R' AND ("FIN_PAYMENT"."INTERNAL_FLAG"='N' OR
    "FIN_PAYMENT"."INTERNAL_FLAG"='Y' AND ("FIN_PAYMENT"."PAYMENT_TYPE"='C' OR "FIN_PAYMENT"."PAYMENT_TYPE"='N')) AND
    ("FIN_PAYMENT"."FINANCIAL_SOURCE"="FIN_AGING_ARG"."FINANCIAL_SOURCE" OR "FIN_AGING_ARG"."FINANCIAL_SOURCE"='APR') AND
    ("UNAPPLIED_AMOUNT"<>0 OR "FIN_AGING_ARG"."AGING_DATE"<="LAST_TRANSACTION_DATE") AND ("FIN_AGING_ARG"."PLC_ID" IS NULL
    OR "FIN_AGING_ARG"."PLC_ID" IS NOT NULL AND "FIN_PAYMENT"."LOCATION_ID"="FIN_AGING_ARG"."PLC_ID" AND
    "FIN_PAYMENT"."LOCATION_ID" IS NOT NULL))
    287 - access("FIN_PAYMENT"."PAYMENT_DATE">"FIN_AGING_ARG"."AGING_DATE")
    288 - filter("FIN_AGING_ARG"."CREDIT_STATUS"='0' OR "FIN_AGING_ARG"."CREDIT_STATUS"='1' AND
    "S1_CUSTOMER_DATA"."HOLD_FLAG"='Y' OR "FIN_AGING_ARG"."CREDIT_STATUS"='2' AND "S1_CUSTOMER_DATA"."CREDIT_LIMIT" IS NOT
    NULL OR "S1_CUSTOMER_DATA"."HOLD_FLAG"='Y' OR "S1_CUSTOMER_DATA"."CREDIT_LIMIT" IS NOT NULL)
    289 - access("FIN_PAYMENT"."CUSTOMER_VENDOR_ID"="S1_CUSTOMER_DATA"."CUSTOMER_ID")
    290 - access("TVC"."DAILY_REPORT_NBR"=:B1 AND "VENDOR_CUSTOMER_ID"=:B2)
    291 - filter("A"."TRANSACTION_NBR"<=:B1 OR :B2=0)
    292 - access("A"."PAYMENT_NBR"=:B1)
    294 - access("TB_TRANSACTION"."TRANSACTION_NBR"="FIN_AGING_INVOICE_VIEW"."MAX_TRANSACTION_NBR")
    295 - filter("A"."FINANCIAL_SOURCE"='A/R' AND ("TB_TRANSACTION"."AFTER_STATUS"<>'C' OR "A"."INVOICE_STATUS"<>'C' OR
    "A"."BALANCE_FORWARD_PRINT_FLAG"<>'Y'))
    296 - access("FIN_AGING_INVOICE_VIEW"."SERIAL_NUMBER"="A"."INVOICE_NBR")
    297 - access("A1_USER_LOCATION"."USER_ID"='BRENT' AND "A1_USER_LOCATION"."PLC_ID"="A"."LOCATION_ID")
    299 - access("SB"."NAME_AND_ADDRESS_ID"="A"."CUSTOMER_VENDOR_ID")
    301 - access("SB"."NAME_AND_ADDRESS_ID"="S1_CUSTOMER_DATA"."CUSTOMER_ID")
    303 - access("SA"."NAME_AND_ADDRESS_ID"="A"."LOCATION_ID")
    306 - access("A"."TRADER_ID"="S1_TRADER"."TRADER_ID"(+))
    307 - access("A"."CUSTOMER_VENDOR_ID"="S1_NA_BUSINESS_TYPE"."NAME_AND_ADDRESS_ID"(+))
    308 - access("FIN_TRANSACTION"."INVOICE_NBR"="A"."INVOICE_NBR")
    filter("FIN_TRANSACTION"."INVOICE_NBR" IS NOT NULL)
    311 - access("FIN_PAYMENT"."PAYMENT_NBR"="FIN_TRANSACTION"."PAYMENT_NBR")
    322 - access("A"."PAYMENT_NBR"="FIN_TRANSACTION"."PAYMENT_NBR")
    filter("FIN_TRANSACTION"."REVERSED_TRANSACTION_NBR" IS NULL OR "A"."PAYMENT_TYPE"='C' OR "A"."PAYMENT_TYPE"='N')
    323 - filter("A"."LOCATION_ID" IS NOT NULL AND ("A"."PAYMENT_TYPE"='C' OR "A"."PAYMENT_TYPE"='N' OR
    "A"."PAYMENT_TYPE"='P') AND ("A"."INTERNAL_FLAG"='N' OR ("A"."PAYMENT_TYPE"='C' OR "A"."PAYMENT_TYPE"='N')))
    324 - access("FIN_TRANSACTION"."TRANSACTION_TYPE"="FIN_TRANSACTION_TYPE"."CODE")
    326 - filter("FIN_TRANSACTION"."INVOICE_NBR" IS NULL AND "FIN_TRANSACTION"."PAYMENT_NBR" IS NOT NULL AND
    "FIN_TRANSACTION"."FINANCIAL_SOURCE"='A/R')
    329 - filter("FIN_AGING_ARG"."VENDOR_CUSTOMER_FLAG"='N' OR EXISTS (SELECT 0 FROM GRAINVTRC."FIN_AGING_ARG_VC" "TVC"
    WHERE "VENDOR_CUSTOMER_ID"=:B1 AND "TVC"."DAILY_REPORT_NBR"=:B2))
    330 - filter(NULL IS NOT NULL)
    333 - filter("FIN_AGING_ARG"."INVOICE_DATE_FLAG"='N')
    334 - access("FIN_AGING_ARG"."DAILY_REPORT_NBR"=36)
    335 - filter("FIN_INVOICE"."FINANCIAL_SOURCE"='A/P' AND ("FIN_INVOICE"."FINANCIAL_SOURCE"="FIN_AGING_ARG"."FINANCIAL_S
    OURCE" OR "FIN_AGING_ARG"."FINANCIAL_SOURCE"='APR') AND "FIN_INVOICE"."INVOICE_DATE"<="FIN_AGING_ARG"."AGING_DATE" AND
    ("FIN_AGING_ARG"."PLC_ID" IS NULL OR "FIN_INVOICE"."LOCATION_ID"="FIN_AGING_ARG"."PLC_ID" AND "FIN_AGING_ARG"."PLC_ID"
    IS NOT NULL) AND CASE WHEN (("FIN_AGING_ARG"."AGE_CREDIT_FLAG"='Y' AND "FIN_INVOICE"."ORIGINAL_AMOUNT"<0) OR
    "FIN_INVOICE"."ORIGINAL_AMOUNT">0) THEN CASE WHEN "FIN_AGING_ARG"."AGING_DATE"-"FIN_INVOICE"."DUE_DATE"<"FIN_AGING_ARG
    "."B_1"+1 THEN 1 WHEN "FIN_AGING_ARG"."AGING_DATE"-"FIN_INVOICE"."DUE_DATE"<"FIN_AGING_ARG"."B_2"+1 THEN 2 WHEN
    "FIN_AGING_ARG"."AGING_DATE"-"FIN_INVOICE"."DUE_DATE"<"FIN_AGING_ARG"."B_3"+1 THEN 3 WHEN
    "FIN_AGING_ARG"."AGING_DATE"-"FIN_INVOICE"."DUE_DATE"<"FIN_AGING_ARG"."B_4"+1 THEN 4 WHEN
    "FIN_AGING_ARG"."AGING_DATE"-"FIN_INVOICE"."DUE_DATE"<"FIN_AGING_ARG"."B_5"+1 THEN 5 ELSE 6 END ELSE 1 END >0)
    336 - access("FIN_INVOICE"."INVOICE_NBR"="A"."PAYMENT_NBR")
    337 - filter("FIN_TRANSACTION"."INVOICE_NBR"="A"."PAYMENT_NBR" AND ("FIN_AGING_ARG"."MAX_KEY"=0 OR
    "FIN_TRANSACTION"."TRANSACTION_NBR"<="FIN_AGING_ARG"."MAX_KEY"))
    338 - access("FIN_TRANSACTION"."TRANSACTION_NBR"= (SELECT MAX("TRANSACTION_NBR") FROM GRAINVTRC."FIN_TRANSACTION" "A"
    WHERE "A"."INVOICE_NBR"=:B1 AND "A"."TRANSACTION_DATE"<=:B2 AND ("A"."TRANSACTION_NBR"<=:B3 OR :B4=0)))
    340 - filter("A"."TRANSACTION_DATE"<=:B1 AND ("A"."TRANSACTION_NBR"<=:B2 OR :B3=0))
    341 - access("A"."INVOICE_NBR"=:B1)
    342 - access("TVC"."DAILY_REPORT_NBR"=:B1 AND "VENDOR_CUSTOMER_ID"=:B2)
    343 - filter("FIN_AGING_ARG"."VENDOR_CUSTOMER_FLAG"='N' OR EXISTS (SELECT 0 FROM GRAINVTRC."FIN_AGING_ARG_VC" "TVC"
    WHERE "VENDOR_CUSTOMER_ID"=:B1 AND "TVC"."DAILY_REPORT_NBR"=:B2))
    344 - filter(NULL IS NOT NULL)
    347 - filter("FIN_AGING_ARG"."INVOICE_DATE_FLAG"='Y')
    348 - access("FIN_AGING_ARG"."DAILY_REPORT_NBR"=36)
    349 - filter("FIN_INVOICE"."FINANCIAL_SOURCE"='A/P' AND ("FIN_INVOICE"."FINANCIAL_SOURCE"="FIN_AGING_ARG"."FINANCIAL_S
    OURCE" OR "FIN_AGING_ARG"."FINANCIAL_SOURCE"='APR') AND "FIN_INVOICE"."INVOICE_DATE"<="FIN_AGING_ARG"."AGING_DATE" AND
    ("FIN_AGING_ARG"."PLC_ID" IS NULL OR "FIN_INVOICE"."LOCATION_ID"="FIN_AGING_ARG"."PLC_ID" AND "FIN_AGING_ARG"."PLC_ID"
    IS NOT NULL) AND CASE WHEN (("FIN_AGING_ARG"."AGE_CREDIT_FLAG"='Y' AND "FIN_INVOICE"."ORIGINAL_AMOUNT"<0) OR
    "FIN_INVOICE"."ORIGINAL_AMOUNT">0) THEN CASE WHEN "FIN_AGING_ARG"."AGING_DATE"-"FIN_INVOICE"."INVOICE_DATE"<"FIN_AGING
    _ARG"."B_1"+1 THEN 1 WHEN "FIN_AGING_ARG"."AGING_DATE"-"FIN_INVOICE"."INVOICE_DATE"<"FIN_AGING_ARG"."B_2"+1 THEN 2
    WHEN "FIN_AGING_ARG"."AGING_DATE"-"FIN_INVOICE"."INVOICE_DATE"<"FIN_AGING_ARG"."B_3"+1 THEN 3 WHEN
    "FIN_AGING_ARG"."AGING_DATE"-"FIN_INVOICE"."INVOICE_DATE"<"FIN_AGING_ARG"."B_4"+1 THEN 4 WHEN
    "FIN_AGING_ARG"."AGING_DATE"-"FIN_INVOICE"."INVOICE_DATE"<"FIN_AGING_ARG"."B_5"+1 THEN 5 ELSE 6 END ELSE 1 END >0)
    350 - access("FIN_INVOICE"."INVOICE_NBR"="A"."PAYMENT_NBR")
    351 - filter("FIN_TRANSACTION"."INVOICE_NBR"="A"."PAYMENT_NBR" AND ("FIN_AGING_ARG"."MAX_KEY"=0 OR
    "FIN_TRANSACTION"."TRANSACTION_NBR"<="FIN_AGING_ARG"."MAX_KEY"))
    352 - access("FIN_TRANSACTION"."TRANSACTION_NBR"= (SELECT MAX("TRANSACTION_NBR") FROM GRAINVTRC."FIN_TRANSACTION" "A"
    WHERE "A"."INVOICE_NBR"=:B1 AND "A"."TRANSACTION_DATE"<=:B2 AND ("A"."TRANSACTION_NBR"<=:B3 OR :B4=0)))
    354 - filter("A"."TRANSACTION_DATE"<=:B1 AND ("A"."TRANSACTION_NBR"<=:B2 OR :B3=0))
    355 - access("A"."INVOICE_NBR"=:B1)
    356 - access("TVC"."DAILY_REPORT_NBR"=:B1 AND "VENDOR_CUSTOMER_ID"=:B2)
    357 - filter("FIN_AGING_ARG"."VENDOR_CUSTOMER_FLAG"='N' OR EXISTS (SELECT 0 FROM GRAINVTRC."FIN_AGING_ARG_VC" "TVC"
    WHERE "VENDOR_CUSTOMER_ID"=:B1 AND "TVC"."DAILY_REPORT_NBR"=:B2))
    358 - filter(NULL IS NOT NULL)
    361 - access("FIN_AGING_ARG"."DAILY_REPORT_NBR"=36)
    362 - filter("FIN_INVOICE"."FINANCIAL_SOURCE"='A/P' AND ("FIN_INVOICE"."FINANCIAL_SOURCE"="FIN_AGING_ARG"."FINANCIAL_S
    OURCE" OR "FIN_AGING_ARG"."FINANCIAL_SOURCE"='APR') AND "FIN_INVOICE"."INVOICE_DATE">"FIN_AGING_ARG"."AGING_DATE" AND
    ("FIN_AGING_ARG"."PLC_ID" IS NULL OR "FIN_INVOICE"."LOCATION_ID"="FIN_AGING_ARG"."PLC_ID" AND "FIN_AGING_ARG"."PLC_ID"
    IS NOT NULL) AND ("FIN_INVOICE"."INVOICE_STATUS"<>'C' OR "FIN_AGING_ARG"."AGING_DATE"<="FIN_INVOICE"."LAST_TRANSACTION_
    DATE" OR "FIN_INVOICE"."BALANCE_FORWARD_PRINT_FLAG"<>'Y'))
    363 - access("FIN_INVOICE"."INVOICE_NBR"="A"."PAYMENT_NBR")
    filter( EXISTS (SELECT 0 FROM GRAINVTRC."FIN_TRANSACTION" "A" WHERE "A"."INVOICE_NBR"=:B1 AND
    ("A"."TRANSACTION_NBR"<=:B2 OR :B3=0)))
    364 - filter("A"."TRANSACTION_NBR"<=:B1 OR :B2=0)
    365 - access("A"."INVOICE_NBR"=:B1)
    366 - access("TVC"."DAILY_REPORT_NBR"=:B1 AND "VENDOR_CUSTOMER_ID"=:B2)
    367 - filter("FIN_AGING_ARG"."VENDOR_CUSTOMER_FLAG"='N' OR EXISTS (SELECT 0 FROM GRAINVTRC."FIN_AGING_ARG_VC" "TVC"
    WHERE "VENDOR_CUSTOMER_ID"=:B1 AND "TVC"."DAILY_REPORT_NBR"=:B2))
    371 - access("FIN_AGING_ARG"."DAILY_REPORT_NBR"=36)
    372 - filter("FIN_PAYMENT"."FINANCIAL_SOURCE"='A/P' AND ("FIN_PAYMENT"."INTERNAL_FLAG"='N' OR
    "FIN_PAYMENT"."INTERNAL_FLAG"='Y' AND ("FIN_PAYMENT"."PAYMENT_TYPE"='C' OR "FIN_PAYMENT"."PAYMENT_TYPE"='N')) AND
    ("FIN_PAYMENT"."FINANCIAL_SOURCE"="FIN_AGING_ARG"."FINANCIAL_SOURCE" OR "FIN_AGING_ARG"."FINANCIAL_SOURCE"='APR') AND
    "FIN_PAYMENT"."PAYMENT_DATE"<="FIN_AGING_ARG"."AGING_DATE" AND ("FIN_AGING_ARG"."PLC_ID" IS NULL OR
    "FIN_AGING_ARG"."PLC_ID" IS NOT NULL AND "FIN_PAYMENT"."LOCATION_ID"="FIN_AGING_ARG"."PLC_ID" AND
    "FIN_PAYMENT"."LOCATION_ID" IS NOT NULL) AND CASE WHEN "FIN_AGING_ARG"."AGE_CREDIT_FLAG"='Y' THEN CASE WHEN
    "FIN_AGING_ARG"."AGING_DATE"-"FIN_PAYMENT"."PAYMENT_DATE"<"FIN_AGING_ARG"."B_1"+1 THEN 1 WHEN
    "FIN_AGING_ARG"."AGING_DATE"-"FIN_PAYMENT"."PAYMENT_DATE"<"FIN_AGING_ARG"."B_2"+1 THEN 2 WHEN
    "FIN_AGING_ARG"."AGING_DATE"-"FIN_PAYMENT"."PAYMENT_DATE"<"FIN_AGING_ARG"."B_3"+1 THEN 3 WHEN
    "FIN_AGING_ARG"."AGING_DATE"-"FIN_PAYMENT"."PAYMENT_DATE"<"FIN_AGING_ARG"."B_4"+1 THEN 4 WHEN
    "FIN_AGING_ARG"."AGING_DATE"-"FIN_PAYMENT"."PAYMENT_DATE"<"FIN_AGING_ARG"."B_5"+1 THEN 5 ELSE 6 END ELSE 1 END >0)
    373 - access("FIN_PAYMENT"."PAYMENT_NBR"="A"."PAYMENT_NBR")
    374 - filter("FIN_TRANSACTION"."PAYMENT_NBR"="A"."PAYMENT_NBR" AND ("FIN_AGING_ARG"."MAX_KEY"=0 OR
    "FIN_TRANSACTION"."TRANSACTION_NBR"<="FIN_AGING_ARG"."MAX_KEY"))
    375 - access("FIN_TRANSACTION"."TRANSACTION_NBR"= (SELECT MAX("TRANSACTION_NBR") FROM GRAINVTRC."FIN_TRANSACTION" "A"
    WHERE "A"."PAYMENT_NBR"=:B1 AND "A"."TRANSACTION_DATE"<=:B2 AND ("A"."TRANSACTION_NBR"<=:B3 OR :B4=0)))
    377 - filter("A"."TRANSACTION_DATE"<=:B1 AND ("A"."TRANSACTION_NBR"<=:B2 OR :B3=0))
    378 - access("A"."PAYMENT_NBR"=:B1)
    379 - access("TVC"."DAILY_REPORT_NBR"=:B1 AND "VENDOR_CUSTOMER_ID"=:B2)
    380 - filter(("FIN_AGING_ARG"."VENDOR_CUSTOMER_FLAG"='N' OR EXISTS (SELECT 0 FROM GRAINVTRC."FIN_AGING_ARG_VC" "TVC"
    WHERE "VENDOR_CUSTOMER_ID"=:B1 AND "TVC"."DAILY_REPORT_NBR"=:B2)) AND EXISTS (SELECT 0 FROM
    GRAINVTRC."FIN_TRANSACTION" "A" WHERE "A"."PAYMENT_NBR"=:B3 AND ("A"."TRANSACTION_NBR"<=:B4 OR :B5=0)))
    383 - access("FIN_AGING_ARG"."DAILY_REPORT_NBR"=36)
    384 - filter("FIN_PAYMENT"."PAYMENT_NBR"="A"."PAYMENT_NBR" AND "FIN_PAYMENT"."FINANCIAL_SOURCE"='A/P' AND
    ("FIN_PAYMENT"."INTERNAL_FLAG"='N' OR "FIN_PAYMENT"."INTERNAL_FLAG"='Y' AND ("FIN_PAYMENT"."PAYMENT_TYPE"='C' OR
    "FIN_PAYMENT"."PAYMENT_TYPE"='N')) AND ("FIN_PAYMENT"."FINANCIAL_SOURCE"="FIN_AGING_ARG"."FINANCIAL_SOURCE" OR
    "FIN_AGING_ARG"."FINANCIAL_SOURCE"='APR') AND ("UNAPPLIED_AMOUNT"<>0 OR
    "FIN_AGING_ARG"."AGING_DATE"<="LAST_TRANSACTION_DATE") AND ("FIN_AGING_ARG"."PLC_ID" IS NULL OR
    "FIN_AGING_ARG"."PLC_ID" IS NOT NULL AND "FIN_PAYMENT"."LOCATION_ID"="FIN_AGING_ARG"."PLC_ID" AND
    "FIN_PAYMENT"."LOCATION_ID" IS NOT NULL))
    385 - access("FIN_PAYMENT"."PAYMENT_DATE">"FIN_AGING_ARG"."AGING_DATE")
    386 - access("TVC"."DAILY_REPORT_NBR"=:B1 AND "VENDOR_CUSTOMER_ID"=:B2)
    387 - filter("A"."TRANSACTION_NBR"<=:B1 OR :B2=0)
    388 - access("A"."PAYMENT_NBR"=:B1)
    389 - filter("FIN_AGING_ARG"."VENDOR_CUSTOMER_FLAG"='N' OR EXISTS (SELECT 0 FROM GRAINVTRC."FIN_AGING_ARG_VC" "TVC"
    WHERE "VENDOR_CUSTOMER_ID"=:B1 AND "TVC"."DAILY_REPORT_NBR"=:B2))
    390 - filter(NULL IS NOT NULL)
    394 - filter("FIN_AGING_ARG"."INVOICE_DATE_FLAG"='N')
    395 - access("FIN_AGING_ARG"."DAILY_REPORT_NBR"=36)
    396 - filter("FIN_INVOICE"."FINANCIAL_SOURCE"='A/R' AND ("FIN_INVOICE"."FINANCIAL_SOURCE"="FIN_AGING_ARG"."FINANCIAL_S
    OURCE" OR "FIN_AGING_ARG"."FINANCIAL_SOURCE"='APR') AND "FIN_INVOICE"."INVOICE_DATE"<="FIN_AGING_ARG"."AGING_DATE" AND
    ("FIN_AGING_ARG"."PLC_ID" IS NULL OR "FIN_INVOICE"."LOCATION_ID"="FIN_AGING_ARG"."PLC_ID" AND "FIN_AGING_ARG"."PLC_ID"
    IS NOT NULL) AND CASE WHEN (("FIN_AGING_ARG"."AGE_CREDIT_FLAG"='Y' AND "FIN_INVOICE"."ORIGINAL_AMOUNT"<0) OR
    "FIN_INVOICE"."ORIGINAL_AMOUNT">0) THEN CASE WHEN "FIN_AGING_ARG"."AGING_DATE"-"FIN_INVOICE"."DUE_DATE"<"FIN_AGING_ARG
    "."B_1"+1 THEN 1 WHEN "FIN_AGING_ARG"."AGING_DATE"-"FIN_INVOICE"."DUE_DATE"<"FIN_AGING_ARG"."B_2"+1 THEN 2 WHEN
    "FIN_AGING_ARG"."AGING_DATE"-"FIN_INVOICE"."DUE_DATE"<"FIN_AGING_ARG"."B_3"+1 THEN 3 WHEN
    "FIN_AGING_ARG"."AGING_DATE"-"FIN_INVOICE"."DUE_DATE"<"FIN_AGING_ARG"."B_4"+1 THEN 4 WHEN
    "FIN_AGING_ARG"."AGING_DATE"-"FIN_INVOICE"."DUE_DATE"<"FIN_AGING_ARG"."B_5"+1 THEN 5 ELSE 6 END ELSE 1 END >0)
    397 - access("FIN_INVOICE"."INVOICE_NBR"="A"."PAYMENT_NBR")
    398 - filter("FIN_AGING_ARG"."CREDIT_STATUS"='0' OR "FIN_AGING_ARG"."CREDIT_STATUS"='1' AND
    "S1_CUSTOMER_DATA"."HOLD_FLAG"='Y' OR "FIN_AGING_ARG"."CREDIT_STATUS"='2' AND "S1_CUSTOMER_DATA"."CREDIT_LIMIT" IS NOT
    NULL OR "S1_CUSTOMER_DATA"."HOLD_FLAG"='Y' OR "S1_CUSTOMER_DATA"."CREDIT_LIMIT" IS NOT NULL)
    399 - access("FIN_INVOICE"."CUSTOMER_VENDOR_ID"="S1_CUSTOMER_DATA"."CUSTOMER_ID")
    400 - filter("FIN_TRANSACTION"."INVOICE_NBR"="A"."PAYMENT_NBR" AND ("FIN_AGING_ARG"."MAX_KEY"=0 OR
    "FIN_TRANSACTION"."TRANSACTION_NBR"<="FIN_AGING_ARG"."MAX_KEY"))
    401 - access("FIN_TRANSACTION"."TRANSACTION_NBR"= (SELECT MAX("TRANSACTION_NBR") FROM GRAINVTRC."FIN_TRANSACTION" "A"
    WHERE "A"."INVOICE_NBR"=:B1 AND "A"."TRANSACTION_DATE"<=:B2 AND ("A"."TRANSACTION_NBR"<=:B3 OR :B4=0)))
    403 - filter("A"."TRANSACTION_DATE"<=:B1 AND ("A"."TRANSACTION_NBR"<=:B2 OR :B3=0))
    404 - access("A"."INVOICE_NBR"=:B1)
    405 - access("TVC"."DAILY_REPORT_NBR"=:B1 AND "VENDOR_CUSTOMER_ID"=:B2)
    406 - filter("FIN_AGING_ARG"."VENDOR_CUSTOMER_FLAG"='N' OR EXISTS (SELECT 0 FROM GRAINVTRC."FIN_AGING_ARG_VC" "TVC"
    WHERE "VENDOR_CUSTOMER_ID"=:B1 AND "TVC"."DAILY_REPORT_NBR"=:B2))
    407 - filter(NULL IS NOT NULL)
    411 - filter("FIN_AGING_ARG"."INVOICE_DATE_FLAG"='Y')
    412 - access("FIN_AGING_ARG"."DAILY_REPORT_NBR"=36)
    413 - filter("FIN_INVOICE"."FINANCIAL_SOURCE"='A/R' AND ("FIN_INVOICE"."FINANCIAL_SOURCE"="FIN_AGING_ARG"."FINANCIAL_S
    OURCE" OR "FIN_AGING_ARG"."FINANCIAL_SOURCE"='APR') AND "FIN_INVOICE"."INVOICE_DATE"<="FIN_AGING_ARG"."AGING_DATE" AND
    ("FIN_AGING_ARG"."PLC_ID" IS NULL OR "FIN_INVOICE"."LOCATION_ID"="FIN_AGING_ARG"."PLC_ID" AND "FIN_AGING_ARG"."PLC_ID"
    IS NOT NULL) AND CASE WHEN (("FIN_AGING_ARG"."AGE_CREDIT_FLAG"='Y' AND "FIN_INVOICE"."ORIGINAL_AMOUNT"<0) OR
    "FIN_INVOICE"."ORIGINAL_AMOUNT">0) THEN CASE WHEN "FIN_AGING_ARG"."AGING_DATE"-"FIN_INVOICE"."INVOICE_DATE"<"FIN_AGING
    _ARG"."B_1"+1 THEN 1 WHEN "FIN_AGING_ARG"."AGING_DATE"-"FIN_INVOICE"."INVOICE_DATE"<"FIN_AGING_ARG"."B_2"+1 THEN 2
    WHEN "FIN_AGING_ARG"."AGING_DATE"-"FIN_INVOICE"."INVOICE_DATE"<"FIN_AGING_ARG"."B_3"+1 THEN 3 WHEN
    "FIN_AGING_ARG"."AGING_DATE"-"FIN_INVOICE"."INVOICE_DATE"<"FIN_AGING_ARG"."B_4"+1 THEN 4 WHEN
    "FIN_AGING_ARG"."AGING_DATE"-"FIN_INVOICE"."INVOICE_DATE"<"FIN_AGING_ARG"."B_5"+1 THEN 5 ELSE 6 END ELSE 1 END >0)
    414 - access("FIN_INVOICE"."INVOICE_NBR"="A"."PAYMENT_NBR")
    415 - filter("FIN_AGING_ARG"."CREDIT_STATUS"='0' OR "FIN_AGING_ARG"."CREDIT_STATUS"='1' AND
    "S1_CUSTOMER_DATA"."HOLD_FLAG"='Y' OR "FIN_AGING_ARG"."CREDIT_STATUS"='2' AND "S1_CUSTOMER_DATA"."CREDIT_LIMIT" IS NOT
    NULL OR "S1_CUSTOMER_DATA"."HOLD_FLAG"='Y' OR "S1_CUSTOMER_DATA"."CREDIT_LIMIT" IS NOT NULL)
    416 - access("FIN_INVOICE"."CUSTOMER_VENDOR_ID"="S1_CUSTOMER_DATA"."CUSTOMER_ID")
    417 - filter("FIN_TRANSACTION"."INVOICE_NBR"="A"."PAYMENT_NBR" AND ("FIN_AGING_ARG"."MAX_KEY"=0 OR
    "FIN_TRANSACTION"."TRANSACTION_NBR"<="FIN_AGING_ARG"."MAX_KEY"))
    418 - access("FIN_TRANSACTION"."TRANSACTION_NBR"= (SELECT MAX("TRANSACTION_NBR") FROM GRAINVTRC."FIN_TRANSACTION" "A"
    WHERE "A"."INVOICE_NBR"=:B1 AND "A"."TRANSACTION_DATE"<=:B2 AND ("A"."TRANSACTION_NBR"<=:B3 OR :B4=0)))
    420 - filter("A"."TRANSACTION_DATE"<=:B1 AND ("A"."TRANSACTION_NBR"<=:B2 OR :B3=0))
    421 - access("A"."INVOICE_NBR"=:B1)

    Hi,
    did u try it: SQL and PL/SQL FAQ
    item 3?

  • Need help on tuning materialized view refresh

    Hi All,
    I am working on materialized view refresh tuning.Initially it was complete refresh and used to take more than 90 mins to complete.
    I changed it to fast refresh now it is completing fast. Now i have partitioned the base tables gl_balances and gl_code_combinations of column code_combination_id and created a local index on column code_combination_id then i am trying to partition the materialized on the same column to take advantage of partition change tracking.
    Size of gl_balances base tables is 40Gb and all others tables sizes are small. In where clause there all the 4 tables are mapped. If i will create the partition only on code_combination_id will i the materialized will become the candidate for partition change tracking. As i know it will be applicable for PCT. I need expert advice on this.
    While doing a fast refresh. the refresh takes less time. when there is a change in gl_balances , gl_code_combinations or gl_periods it completes in 20-30 mins. When there is a change in gl_set_of_books tables. It creates a problem here.DEL query takes more than 48 hours to complete.
    CREATE MATERIALIZED VIEW apps.BAL_PART
    REFRESH FAST ON DEMAND
    ENABLE QUERY REWRITE as
    SELECT GL.GL_CODE_COMBINATIONS21.ROWID C1,GL.GL_BALANCES21.ROWID C2, GL.GL_SETS_OF_BOOKS.ROWID C3,
    GL.GL_PERIOD.ROWID C4,
    "GL"."GL_BALANCES21"."ACTUAL_FLAG" ,
    "GL"."GL_BALANCES21"."CURRENCY_CODE" ,
    "GL"."GL_BALANCES21"."PERIOD_NUM" ,
    "GL"."GL_BALANCES21"."PERIOD_YEAR" ,
    "GL"."GL_BALANCES21"."SET_OF_BOOKS_ID" "SOB_ID",
    "GL"."GL_CODE_COMBINATIONS21"."CODE_COMBINATION_ID" "CCID",
    "GL"."GL_CODE_COMBINATIONS21"."SEGMENT1" ,
    "GL"."GL_CODE_COMBINATIONS21"."SEGMENT10" ,
    "GL"."GL_CODE_COMBINATIONS21"."SEGMENT11" ,
    "GL"."GL_CODE_COMBINATIONS21"."SEGMENT12" ,
    "GL"."GL_CODE_COMBINATIONS21"."SEGMENT13" ,
    "GL"."GL_CODE_COMBINATIONS21"."SEGMENT14" ,
    "GL"."GL_CODE_COMBINATIONS21"."SEGMENT2" ,
    "GL"."GL_CODE_COMBINATIONS21"."SEGMENT3" ,
    "GL"."GL_CODE_COMBINATIONS21"."SEGMENT4" ,
    "GL"."GL_CODE_COMBINATIONS21"."SEGMENT5" ,
    "GL"."GL_CODE_COMBINATIONS21"."SEGMENT6" ,
    "GL"."GL_CODE_COMBINATIONS21"."SEGMENT7" ,
    "GL"."GL_CODE_COMBINATIONS21"."SEGMENT8" ,
    "GL"."GL_CODE_COMBINATIONS21"."SEGMENT9" ,
    "GL"."GL_PERIODS"."PERIOD_NAME" ,
    NVL("GL"."GL_BALANCES21"."BEGIN_BALANCE_CR", 0) Open_Bal_Cr,
    NVL("GL"."GL_BALANCES21"."BEGIN_BALANCE_CR", 0) +
    NVL("GL"."GL_BALANCES21"."PERIOD_NET_CR", 0) Close_Bal_Cr,
    NVL("GL"."GL_BALANCES21"."BEGIN_BALANCE_DR", 0) Open_Bal_Dr,
    NVL("GL"."GL_BALANCES21"."BEGIN_BALANCE_DR", 0) +
    NVL("GL"."GL_BALANCES21"."PERIOD_NET_DR", 0) Close_Bal_Dr,
    NVL("GL"."GL_BALANCES21"."BEGIN_BALANCE_DR", 0) -
    NVL("GL"."GL_BALANCES21"."BEGIN_BALANCE_CR", 0) Open_Bal,
    NVL("GL"."GL_BALANCES21"."BEGIN_BALANCE_DR", 0) -
    NVL("GL"."GL_BALANCES21"."BEGIN_BALANCE_CR", 0) +
    NVL("GL"."GL_BALANCES21"."PERIOD_NET_DR", 0) -
    NVL("GL"."GL_BALANCES21"."PERIOD_NET_CR", 0) Close_Bal,
    NVL("GL"."GL_BALANCES21"."PERIOD_NET_CR", 0) Period_Cr,
    NVL("GL"."GL_BALANCES21"."PERIOD_NET_DR", 0) Period_Dr
    FROM GL.GL_CODE_COMBINATIONS21,
    GL.GL_BALANCES21,
    GL.GL_SETS_OF_BOOKS,
    GL.GL_PERIODS
    WHERE GL.GL_BALANCES21.CODE_COMBINATION_ID =GL.GL_CODE_COMBINATIONS21.CODE_COMBINATION_ID
    AND GL.GL_SETS_OF_BOOKS.SET_OF_BOOKS_ID = GL.GL_BALANCES21.SET_OF_BOOKS_ID
    AND GL.GL_PERIODS.PERIOD_NUM = GL.GL_BALANCES21.PERIOD_NUM
    AND GL.GL_PERIODS.PERIOD_YEAR = GL.GL_BALANCES21.PERIOD_YEAR
    AND GL.GL_PERIODS.PERIOD_TYPE = GL.GL_BALANCES21.PERIOD_TYPE
    AND GL.GL_PERIODS.PERIOD_NAME = GL.GL_BALANCES21.PERIOD_NAME
    AND GL.GL_PERIODS.PERIOD_SET_NAME = GL.GL_SETS_OF_BOOKS.PERIOD_SET_NAME
    and gl.GL_CODE_COMBINATIONS21.summary_flag != 'Y'TRACE 1046 del statement
    DELETE FROM "APPS"."apps.BAL_PART" SNA$
    WHERE "C3" IN (SELECT /*+ NO_MERGE  */ * FROM (SELECT 
      CHARTOROWID("MAS$"."M_ROW$$") RID$     FROM "GL"."MLOG$_GL_SETS_OF_BOOKS"
      "MAS$"   WHERE "MAS$".SNAPTIME$$ > :B_ST1 ) AS OF SNAPSHOT(:B_SCN) MAS$)
    call     count       cpu    elapsed       disk      query    current        rows
    Parse        1      0.00       0.00          0          0          0           0
    Execute      1  17759.00  171782.99  159422121    1267371 2564144739           0
    Fetch        0      0.00       0.00          0          0          0           0
    total        2  17759.00  171782.99  159422121    1267371 2564144739           0
    Misses in library cache during parse: 1
    Misses in library cache during execute: 1
    Optimizer mode: ALL_ROWS
    Parsing user id: 175  (APPS)   (recursive depth: 1)
    Rows     Row Source Operation
          0  DELETE  apps.BAL_PART (cr=0 pr=0 pw=0 time=0 us)
    193128740   NESTED LOOPS  (cr=592437 pr=592422 pw=0 time=945244160 us cost=339302 size=168 card=1)
          3    SORT UNIQUE (cr=7 pr=0 pw=0 time=15832 us cost=2 size=138 card=1)
         24     TABLE ACCESS FULL MLOG$_GL_SETS_OF_BOOKS (cr=7 pr=0 pw=0 time=19 us cost=2 size=138 card=1)
    193128740    INDEX RANGE SCAN C3BOOKS (cr=592430 pr=592422 pw=0 time=789499200 us cost=339299 size=3318314250 card=110610475)(object id 2114736)
    error during execute of EXPLAIN PLAN statement
    ORA-08187: snapshot expression not allowed here
    parse error offset: 314
    Elapsed times include waiting on following events:
      Event waited on                             Times   Max. Wait  Total Waited
      ----------------------------------------   Waited  ----------  ------------
      db file sequential read                   159520897        2.12     144415.96
      latch: cache buffers chains                   134        0.06          0.68
      latch: undo global data                        33        0.02          0.15
      latch: object queue header operation          521        0.02          0.53
      log file switch (private strand flush incomplete)
                                                    532        0.31         28.26
      resmgr:cpu quantum                            155        1.40         13.49
      resmgr:internal state change                   25        0.11          2.21
      latch free                                     10        0.00          0.00
      latch: cache buffers lru chain                  4        0.00          0.00
      rdbms ipc reply                               489        0.02          0.54
      reliable message                              587        0.00          0.56
      latch: row cache objects                        3        0.00          0.00
    ********************************************************************************GL_SETS_OF_BOOKS has only 6 rows. I know there is complete refresh as a option which will again take more than 90 mins.
    I want to do the fast refresh. Tables rows details below.
    SQL> select count(*) from gl.gl_code_combinations21;
    COUNT(*)
    3075255
    SQL> select count(*) from gl.GL_PERIODS;
    COUNT(*)
    1160
    SQL> select count(*) from gl.gl_balances21;
    COUNT(*)
    477613527
    SQL> select count(*) from gl.gl_sets_of_books;
    COUNT(*)
    6gl_sets_of_books has less rows. Whenever there is a change then it mapped to huge rows hence during materialized view has delete huge number of rows.
    select count(*) from apps.BAL_PART group by C3;
    C3 is the rowid which is present in create materialized statement.
    COUNT(*)
    292927011
    210215
    69330
    184406971
    Is there any way to improve the plan. As i created a partition on code_combination_id and local index on code_combination_id which will not help in set_of_books_id case. I dont PCT will help here or not. Is it possible to use PCT refresh by equipartitioning only one column in where clause.
    Please assist me in improving refresh of materialized view using fast refresh.
    Thanks and Regards,
    Edited by: user646034 on Feb 23, 2013 11:13 PM
    Edited by: user646034 on Feb 23, 2013 11:19 PM
    Edited by: user646034 on Feb 23, 2013 11:46 PM
    Edited by: user646034 on Feb 25, 2013 11:46 AM

    Hi
    The below explain without index and with index.
    /* MV_REFRESH (DEL) */ DELETE FROM "APPS"."BAL_PART                                                                                                                                                                                                                                                                                                                                                                                                                
    " SNA$ WHERE "C3" IN (SELECT /*+ NO_MERGE  */ * FROM (SELECT                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                           
    CHARTOROWID("MAS$"."M_ROW$$") RID$     FROM                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            
    "GL"."MLOG$_GL_SETS_OF_BOOKS" "MAS$"   WHERE "MAS$".SNAPTIME$$ > :B_ST1                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                
    ) AS OF SNAPSHOT(:B_SCN) MAS$)                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                         
    Plan hash value: 2704021294                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                           | Id  | Operation            | Name                          | E-Rows |E-Bytes| Cost (%CPU)| E-Time   |                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                
    |   0 | DELETE STATEMENT     |                               |        |       |   339K(100)|          |                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                
    |   1 |  DELETE              | BAL_PART                          |        |       |            |          |                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                
    |   2 |   NESTED LOOPS       |                               |      1 |   168 |   339K  (1)|999:59:59 |                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                
    |   3 |    SORT UNIQUE       |                               |      1 |   138 |     2   (0)| 00:02:31 |                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                
    |   4 |     TABLE ACCESS FULL| MLOG$_GL_SETS_OF_BOOKS        |      1 |   138 |     2   (0)| 00:02:31 |                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                
    |   5 |    INDEX RANGE SCAN  | C3BOOKS                       |    110M|  3164M|   339K  (0)|999:59:59 |                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                
    If i will not use the C3 index then the query will use the belolw plan, I guess this will also take same time or more time.
    |   0 | DELETE STATEMENT       |                               |        |       |  9743K(100)|          |                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              
    |   1 |  DELETE                | BAL_PART                          |       |            |          |                                                                                                                                                                                                                                                                                                                                                                                                     

  • Query tuning request

    This is my first post in this forum regarding query tuning, so my sincere apologies in advance if I have:
    1) not included sufficient information,
    2) included too much information,
    3) not posted to the correct forum
    I read through Randolf Geist's web page on instructions to post a query tuning request
    and attempted to follow it as closely as possible.
    I am attempting to figure out where a view I have constructed can be optimized.
    It takes approx. 45 seconds to 1 minute to run; I would like to cut that down to 10 seconds if possible.
    The view itself is somewhat complex; I will post the actual code if it will help you help me. Please advise.
    I was under the impression that posting the code was not necessary, but if it is, let me know and I will post it.
    I have been doing SQL development for a few years, but only recently in Oracle.
    I have no experience in looking through the following output and being able to tell where I can improve performance,
    so this will be a learning experience for me. Thanks in advance for your help - I appreciate it.
    Some additional information - my view is based on tables over which I have no control - it is a third-party application
    which I do reporting from. I do have the freedom to create indexes on columns within the tables if necessary.
    The statement is simply
    SELECT * FROM LLU_V_PRODUCTION_DETAIL_03
    which is the name of my view.
    here's all the information I've been able to retrieve by following Randolf's instructions:
    Oracle version is 10.2.0.1.0 - 64bit
    Here are optimizer parameters:
    NAME                                 TYPE        VALUE
    user_dump_dest                       string      C:\ORACLE\PRODUCT\10.2.0\ADMIN
                                                     \AXIUMPRODUCTION\UDUMP
    NAME                                 TYPE        VALUE
    optimizer_dynamic_sampling           integer     2
    optimizer_features_enable            string      10.2.0.1
    optimizer_index_caching              integer     90
    optimizer_index_cost_adj             integer     20
    optimizer_mode                       string      ALL_ROWS
    optimizer_secure_view_merging        boolean     TRUE
    NAME                                 TYPE        VALUE
    db_file_multiblock_read_count        integer     16
    NAME                                 TYPE        VALUE
    db_block_size                        integer     8192
    NAME                                 TYPE        VALUE
    cursor_sharing                       string      EXACT
    SNAME                PNAME                     PVAL1 PVAL2
    SYSSTATS_INFO        STATUS                          COMPLETED
    SYSSTATS_INFO        DSTART                          10-29-2005 01:36
    SYSSTATS_INFO        DSTOP                           10-29-2005 01:36
    SYSSTATS_INFO        FLAGS                         1
    SYSSTATS_MAIN        CPUSPEEDNW           1298.56584
    SYSSTATS_MAIN        IOSEEKTIM                    10
    SYSSTATS_MAIN        IOTFRSPEED                 4096
    SYSSTATS_MAIN        SREADTIM
    SYSSTATS_MAIN        MREADTIM
    SYSSTATS_MAIN        CPUSPEED
    SYSSTATS_MAIN        MBRC
    SYSSTATS_MAIN        MAXTHR
    SYSSTATS_MAIN        SLAVETHR
    13 rows selected.Here is the output of EXPLAIN PLAN:
    PLAN_TABLE_OUTPUT
    Plan hash value: 662813077
    | Id  | Operation                              | Name                        | Rows  | Bytes |TempSpc| Cost (%CPU)| Time     |
    |   0 | SELECT STATEMENT                       |                             |    23M|    53G|       | 62330   (2)| 00:12:28 |
    |   1 |  VIEW                                  | LLU_V_PRODUCTION_DETAIL_03  |    23M|    53G|       | 62330   (2)| 00:12:28 |
    |   2 |   UNION-ALL                            |                             |       |       |       |            |          |
    |*  3 |    HASH JOIN                           |                             |    18M|  5062M|       |  1525  (10)| 00:00:19 |
    |   4 |     VIEW                               | index$_join$_007            |  1725 | 25875 |       |     4  (25)| 00:00:01 |
    |*  5 |      HASH JOIN                         |                             |       |       |       |            |          |
    |   6 |       INDEX FAST FULL SCAN             | USERS_PRIMARY               |  1725 | 25875 |       |     1   (0)| 00:00:01 |
    |   7 |       INDEX FAST FULL SCAN             | USERS_PRODUCER              |  1725 | 25875 |       |     2   (0)| 00:00:01 |
    |*  8 |     HASH JOIN                          |                             |   416K|   105M|       |  1399   (2)| 00:00:17 |
    |   9 |      TABLE ACCESS FULL                 | PRODUCER                    |  1396 |   118K|       |    24   (0)| 00:00:01 |
    |* 10 |      HASH JOIN                         |                             | 29819 |  5183K|       |  1372   (2)| 00:00:17 |
    |  11 |       TABLE ACCESS FULL                | CLASS                       |    20 |  1660 |       |     3   (0)| 00:00:01 |
    |* 12 |       TABLE ACCESS FULL                | QR_PRODUCTION               |   149K|    13M|       |  1367   (2)| 00:00:17 |
    |* 13 |    FILTER                              |                             |       |       |       |            |          |
    |* 14 |     HASH JOIN                          |                             |    16M|  5651M|       | 32983   (2)| 00:06:36 |
    |  15 |      VIEW                              | index$_join$_014            |  1725 | 25875 |       |     4  (25)| 00:00:01 |
    |* 16 |       HASH JOIN                        |                             |       |       |       |            |          |
    |  17 |        INDEX FAST FULL SCAN            | USERS_PRIMARY               |  1725 | 25875 |       |     1   (0)| 00:00:01 |
    |  18 |        INDEX FAST FULL SCAN            | USERS_PRODUCER              |  1725 | 25875 |       |     2   (0)| 00:00:01 |
    |* 19 |      HASH JOIN                         |                             |   149K|    49M|       | 32874   (1)| 00:06:35 |
    |  20 |       TABLE ACCESS FULL                | CLASS                       |    20 |  1660 |       |     3   (0)| 00:00:01 |
    |* 21 |       HASH JOIN                        |                             |   149K|    37M|       | 32870   (1)| 00:06:35 |
    |  22 |        TABLE ACCESS FULL               | PRODUCER                    |  1396 |   118K|       |    24   (0)| 00:00:01 |
    |* 23 |        HASH JOIN                       |                             |   222K|    37M|    12M| 32844   (1)| 00:06:35 |
    |  24 |         TABLE ACCESS FULL              | PATIENT                     |   188K|    10M|       |  6979   (1)| 00:01:24 |
    |* 25 |         HASH JOIN                      |                             |   222K|    24M|       | 23860   (2)| 00:04:47 |
    |* 26 |          TABLE ACCESS FULL             | PROCEDUR                    |   888 | 44400 |       |    11   (0)| 00:00:01 |
    |* 27 |          TABLE ACCESS FULL             | TRX                         |   442K|    28M|       | 23845   (2)| 00:04:47 |
    |* 28 |     TABLE ACCESS FULL                  | USERS                       |     1 |    11 |       |    55   (0)| 00:00:01 |
    |  29 |    NESTED LOOPS                        |                             |     1 |   473 |       | 25798   (1)| 00:05:10 |
    |  30 |     NESTED LOOPS                       |                             |     1 |   413 |       | 25797   (1)| 00:05:10 |
    |  31 |      NESTED LOOPS                      |                             |     1 |   398 |       | 25796   (1)| 00:05:10 |
    |  32 |       NESTED LOOPS                     |                             |     1 |   390 |       | 25795   (1)| 00:05:10 |
    |* 33 |        HASH JOIN                       |                             |     1 |   303 |       | 25794   (1)| 00:05:10 |
    |  34 |         TABLE ACCESS FULL              | LLU_EVALUATION_DESCRIPTIONS |    95 |  6175 |       |     3   (0)| 00:00:01 |
    |* 35 |         HASH JOIN                      |                             |  4630 |  1076K|       | 25791   (1)| 00:05:10 |
    |* 36 |          HASH JOIN                     |                             |  9607 |  1623K|       | 23834   (1)| 00:04:47 |
    |  37 |           MERGE JOIN                   |                             |   888 | 91464 |       |    13   (8)| 00:00:01 |
    |  38 |            TABLE ACCESS BY INDEX ROWID | CLASS                       |    20 |  1660 |       |     1   (0)| 00:00:01 |
    |  39 |             INDEX FULL SCAN            | CLASS_PRIMARY               |    20 |       |       |     1   (0)| 00:00:01 |
    |* 40 |            SORT JOIN                   |                             |   888 | 17760 |       |    12   (9)| 00:00:01 |
    |* 41 |             TABLE ACCESS FULL          | PROCEDUR                    |   888 | 17760 |       |    11   (0)| 00:00:01 |
    |* 42 |           TABLE ACCESS FULL            | TRX                         | 19125 |  1307K|       | 23820   (1)| 00:04:46 |
    |* 43 |          TABLE ACCESS FULL             | GRADITEM                    |   655K|    40M|       |  1952   (1)| 00:00:24 |
    |  44 |        TABLE ACCESS BY INDEX ROWID     | PRODUCER                    |     1 |    87 |       |     1   (0)| 00:00:01 |
    |* 45 |         INDEX UNIQUE SCAN              | PRODUCER_PRIMARY            |     1 |       |       |     1   (0)| 00:00:01 |
    |* 46 |       TABLE ACCESS BY INDEX ROWID      | GRADING                     |     1 |     8 |       |     1   (0)| 00:00:01 |
    |* 47 |        INDEX UNIQUE SCAN               | GRADING_PRIMARY             |     1 |       |       |     1   (0)| 00:00:01 |
    |  48 |      TABLE ACCESS BY INDEX ROWID       | USERS                       |   221 |  3315 |       |     1   (0)| 00:00:01 |
    |* 49 |       INDEX RANGE SCAN                 | USERS_PRODUCER              |     1 |       |       |     1   (0)| 00:00:01 |
    |  50 |     TABLE ACCESS BY INDEX ROWID        | PATIENT                     |     1 |    60 |       |     1   (0)| 00:00:01 |
    |* 51 |      INDEX UNIQUE SCAN                 | PATIENT_PRIMARY             |     1 |       |       |     1   (0)| 00:00:01 |
    |  52 |    TABLE ACCESS BY INDEX ROWID         | USERS                       |   109 |  1635 |       |     1   (0)| 00:00:01 |
    |  53 |     NESTED LOOPS                       |                             |     1 |   438 |       |  2023   (1)| 00:00:25 |
    |  54 |      NESTED LOOPS                      |                             |     1 |   423 |       |  2022   (1)| 00:00:25 |
    |  55 |       NESTED LOOPS                     |                             |     1 |   363 |       |  2021   (1)| 00:00:25 |
    |  56 |        NESTED LOOPS                    |                             |     1 |   276 |       |  2020   (1)| 00:00:25 |
    |  57 |         NESTED LOOPS                   |                             |     1 |   193 |       |  2019   (1)| 00:00:25 |
    |  58 |          NESTED LOOPS                  |                             |     1 |   185 |       |  2018   (1)| 00:00:25 |
    |  59 |           NESTED LOOPS                 |                             |     1 |   173 |       |  2017   (1)| 00:00:25 |
    |  60 |            NESTED LOOPS                |                             |     1 |   140 |       |  2016   (1)| 00:00:25 |
    |* 61 |             TABLE ACCESS FULL          | GRADITEM                    |   317 | 23141 |       |  1953   (2)| 00:00:24 |
    |* 62 |             TABLE ACCESS BY INDEX ROWID| TRX                         |     1 |    67 |       |     1   (0)| 00:00:01 |
    |* 63 |              INDEX UNIQUE SCAN         | TRX_PRIMARY                 |     1 |       |       |     1   (0)| 00:00:01 |
    |* 64 |            TABLE ACCESS BY INDEX ROWID | TRX                         |     1 |    33 |       |     1   (0)| 00:00:01 |
    |* 65 |             INDEX UNIQUE SCAN          | TRX_PRIMARY                 |     1 |       |       |     1   (0)| 00:00:01 |
    |* 66 |           TABLE ACCESS BY INDEX ROWID  | GRADITEM                    |     1 |    12 |       |     1   (0)| 00:00:01 |
    |* 67 |            INDEX RANGE SCAN            | GRADITEM_ID                 |    19 |       |       |     1   (0)| 00:00:01 |
    |* 68 |          TABLE ACCESS BY INDEX ROWID   | GRADING                     |     1 |     8 |       |     1   (0)| 00:00:01 |
    |* 69 |           INDEX UNIQUE SCAN            | GRADING_PRIMARY             |     1 |       |       |     1   (0)| 00:00:01 |
    |  70 |         TABLE ACCESS BY INDEX ROWID    | CLASS                       |     1 |    83 |       |     1   (0)| 00:00:01 |
    |* 71 |          INDEX UNIQUE SCAN             | CLASS_PRIMARY               |     1 |       |       |     1   (0)| 00:00:01 |
    |  72 |        TABLE ACCESS BY INDEX ROWID     | PRODUCER                    |     1 |    87 |       |     1   (0)| 00:00:01 |
    |* 73 |         INDEX UNIQUE SCAN              | PRODUCER_PRIMARY            |     1 |       |       |     1   (0)| 00:00:01 |
    |  74 |       TABLE ACCESS BY INDEX ROWID      | PATIENT                     |     1 |    60 |       |     1   (0)| 00:00:01 |
    |* 75 |        INDEX UNIQUE SCAN               | PATIENT_PRIMARY             |     1 |       |       |     1   (0)| 00:00:01 |
    |* 76 |      INDEX RANGE SCAN                  | USERS_PRODUCER              |     1 |       |       |     1   (0)| 00:00:01 |
    Predicate Information (identified by operation id):
       3 - access("QRP"."ProviderID"="U1"."Producer")
       5 - access(ROWID=ROWID)
       8 - access(TRIM("QRP"."ProviderID")=TRIM("P"."Producer"))
      10 - access(TRIM("QRP"."axiUm_Discipline")=TRIM("CLASS"."Class"))
      12 - filter("QRP"."ProviderID" IS NOT NULL AND "QRP"."Location"<'9990' AND "QRP"."ProcedureID"<>185 AND
                  "QRP"."PatientFirstName"<>'NON-PATIENT' AND ("QRP"."PatientFirstName"<>'TED' OR "QRP"."PatientLastName" NOT LIKE
                  'CAVENDER%'))
      13 - filter( NOT EXISTS (SELECT 0 FROM AXIUM."USERS" "USERS" WHERE "Custom3"='YES' AND LNNVL("User"<>:B1)) OR
                  TO_CHAR(INTERNAL_FUNCTION("P"."EndDate"),'YYYY')<'2011' OR TRIM(TO_CHAR(INTERNAL_FUNCTION("P"."EndDate"),'YYYY')) IS
                  NULL OR "TRX"."Procedure"='A0021' OR "TRX"."Procedure"='A0022')
      14 - access("TRX"."Producer"="U1"."Producer")
      16 - access(ROWID=ROWID)
      19 - access("PROC"."Discipline"="CLASS"."Class")
      21 - access("TRX"."Producer"="P"."Producer")
      23 - access("TRX"."Patient"="PAT"."Patient")
      25 - access("TRX"."Procedure"="PROC"."Procedure")
      26 - filter("PROC"."Discipline" IS NOT NULL)
      27 - filter("TRX"."Deleted"=0 AND "TRX"."Status"='C' AND "TRX"."Procedure" NOT LIKE 'D0149%' AND
                  "TRX"."Procedure"<>'D5001C')
      28 - filter("Custom3"='YES' AND LNNVL("User"<>:B1))
      33 - access(TRIM(UPPER("GI"."QuestionText"))=TRIM(UPPER("LLU"."GRADITEM_QuestionText")) AND
                  TRIM(UPPER("GI"."Text"))=TRIM(UPPER("LLU"."GRADITEM_Text")) AND TRIM("TRX"."Procedure")=TRIM("LLU"."ProcedureCode"))
      35 - access("TRX"."Type"="GI"."Type" AND "TRX"."Id"="GI"."Id" AND "TRX"."Treatment"="GI"."Treatment")
      36 - access("TRX"."Procedure"="PROC"."Procedure")
      40 - access("PROC"."Discipline"="CLASS"."Class")
           filter("PROC"."Discipline"="CLASS"."Class")
      41 - filter("PROC"."Discipline" IS NOT NULL)
      42 - filter("TRX"."Grading"<>0 AND "TRX"."Deleted"=0 AND "TRX"."Status"='C')
      43 - filter("GI"."Grading"<>0)
      45 - access("TRX"."Producer"="P"."Producer")
      46 - filter("G"."Deleted"=0)
      47 - access("TRX"."Grading"="G"."Grading")
           filter("G"."Grading"<>0 AND "G"."Grading"="GI"."Grading")
      49 - access("TRX"."Producer"="U1"."Producer")
      51 - access("TRX"."Patient"="PAT"."Patient")
      61 - filter("GI"."IsHeading"=3 AND TRIM("GI"."QuestionText")='Comments' AND "GI"."Grading"<>0)
      62 - filter("TRX"."Grading"<>0 AND "TRX"."Deleted"=0 AND "TRX"."Status"='C' AND ("TRX"."Procedure"='G1002' OR
                  "TRX"."Procedure"='G1003'))
      63 - access("GI"."Type"="TRX"."Type" AND "GI"."Id"="TRX"."Id" AND "GI"."Treatment"="TRX"."Treatment")
      64 - filter("TRX"."Grading"<>0 AND "TRX"."Deleted"=0 AND "TRX"."Status"='C' AND ("TRX"."Procedure"='G1002' OR
                  "TRX"."Procedure"='G1003') AND "TRX"."Grading"="TRX"."Grading")
      65 - access("TRX"."Type"="TRX"."Type" AND "TRX"."Id"="TRX"."Id" AND "TRX"."Treatment"="TRX"."Treatment")
      66 - filter("GI"."RelValue"<>0 AND "TRX"."Type"="GI"."Type" AND "TRX"."Treatment"="GI"."Treatment")
      67 - access("TRX"."Id"="GI"."Id")
      68 - filter("G"."Deleted"=0)
      69 - access("TRX"."Grading"="G"."Grading")
           filter("G"."Grading"<>0 AND "GI"."Grading"="G"."Grading")
      71 - access("TRX"."Discipline"="CLASS"."Class")
      73 - access("TRX"."Producer"="P"."Producer")
      75 - access("TRX"."Patient"="PAT"."Patient")
      76 - access("TRX"."Producer"="U1"."Producer")
    138 rows selected.
    Elapsed: 00:00:00.62
    631015 rows selected.
    Elapsed: 00:01:49.13Output from AUTOTRACE (I think)
    NOTE: this post was too long for the forum, so I have removed a number of lines in the following output which appeared to be duplicating the above section (EXPLAIN PLAN).
    Statistics
           2657  recursive calls
              0  db block gets
       12734113  consistent gets
          13499  physical reads
              0  redo size
      103697740  bytes sent via SQL*Net to client
          69744  bytes received via SQL*Net from client
           6312  SQL*Net roundtrips to/from client
             76  sorts (memory)
              0  sorts (disk)
         631015  rows processedThe TKPROF output
    select * from llu_v_production_detail_03
    call     count       cpu    elapsed       disk      query    current        rows
    Parse        1      0.51       0.51          0          0          0           0
    Execute      1      0.00       0.00          0          0          0           0
    Fetch     6312     88.09      98.01      13490   12733584          0      631015
    total     6314     88.60      98.52      13490   12733584          0      631015
    Misses in library cache during parse: 1
    Optimizer mode: ALL_ROWS
    Parsing user id: 57 
    Rows     Row Source Operation
    631015  VIEW  LLU_V_PRODUCTION_DETAIL_03 (cr=12733584 pr=13490 pw=0 time=92145592 us)
    631015   UNION-ALL  (cr=12733584 pr=13490 pw=0 time=91514573 us)
    125485    HASH JOIN  (cr=8099 pr=6396 pw=0 time=1523326 us)
       1725     VIEW  index$_join$_007 (cr=24 pr=0 pw=0 time=4777 us)
       1725      HASH JOIN  (cr=24 pr=0 pw=0 time=3051 us)
       1725       INDEX FAST FULL SCAN USERS_PRIMARY (cr=7 pr=0 pw=0 time=50 us)(object id 55023)
       1725       INDEX FAST FULL SCAN USERS_PRODUCER (cr=17 pr=0 pw=0 time=16 us)(object id 55024)
    144513     HASH JOIN  (cr=8075 pr=6396 pw=0 time=2326445 us)
       1396      TABLE ACCESS FULL PRODUCER (cr=107 pr=0 pw=0 time=29 us)
    144513      HASH JOIN  (cr=7968 pr=6396 pw=0 time=2035684 us)
         20       TABLE ACCESS FULL CLASS (cr=7 pr=0 pw=0 time=71 us)
    151043       TABLE ACCESS FULL QR_PRODUCTION (cr=7961 pr=6396 pw=0 time=313553 us)
    462685    FILTER  (cr=10755862 pr=7094 pw=0 time=58570941 us)
    466790     HASH JOIN  (cr=145247 pr=7094 pw=0 time=11007301 us)
       1725      VIEW  index$_join$_014 (cr=24 pr=0 pw=0 time=6817 us)
       1725       HASH JOIN  (cr=24 pr=0 pw=0 time=5091 us)
       1725        INDEX FAST FULL SCAN USERS_PRIMARY (cr=7 pr=0 pw=0 time=35 us)(object id 55023)
       1725        INDEX FAST FULL SCAN USERS_PRODUCER (cr=17 pr=0 pw=0 time=19 us)(object id 55024)
    485205      HASH JOIN  (cr=145223 pr=7094 pw=0 time=10945107 us)
         20       TABLE ACCESS FULL CLASS (cr=7 pr=0 pw=0 time=105 us)
    507772       HASH JOIN  (cr=145216 pr=7094 pw=0 time=11947534 us)
       1396        TABLE ACCESS FULL PRODUCER (cr=107 pr=0 pw=0 time=18 us)
    507772        HASH JOIN  (cr=145109 pr=7094 pw=0 time=10924473 us)
    188967         TABLE ACCESS FULL PATIENT (cr=31792 pr=0 pw=0 time=188998 us)
    507772         HASH JOIN  (cr=113317 pr=7094 pw=0 time=9652037 us)
        895          TABLE ACCESS FULL PROCEDUR (cr=46 pr=0 pw=0 time=65 us)
    509321          TABLE ACCESS FULL TRX (cr=113271 pr=7094 pw=0 time=5604567 us)
       8548     TABLE ACCESS FULL USERS (cr=10610615 pr=0 pw=0 time=39053120 us)
      42669    NESTED LOOPS  (cr=507317 pr=0 pw=0 time=3686506 us)
      42669     NESTED LOOPS  (cr=421535 pr=0 pw=0 time=3217140 us)
      45269      NESTED LOOPS  (cr=301155 pr=0 pw=0 time=2449542 us)
      45323       NESTED LOOPS  (cr=210131 pr=0 pw=0 time=2134056 us)
      45323        HASH JOIN  (cr=119056 pr=0 pw=0 time=1635472 us)
         95         TABLE ACCESS FULL LLU_EVALUATION_DESCRIPTIONS (cr=7 pr=0 pw=0 time=118 us)
      98272         HASH JOIN  (cr=119049 pr=0 pw=0 time=1446703 us)
      46996          HASH JOIN  (cr=109018 pr=0 pw=0 time=944857 us)
        786           MERGE JOIN  (cr=50 pr=0 pw=0 time=1528 us)
         20            TABLE ACCESS BY INDEX ROWID CLASS (cr=4 pr=0 pw=0 time=99 us)
         20             INDEX FULL SCAN CLASS_PRIMARY (cr=1 pr=0 pw=0 time=10 us)(object id 53850)
        786            SORT JOIN (cr=46 pr=0 pw=0 time=750 us)
        895             TABLE ACCESS FULL PROCEDUR (cr=46 pr=0 pw=0 time=18 us)
      47196           TABLE ACCESS FULL TRX (cr=108968 pr=0 pw=0 time=805137 us)
    696300          TABLE ACCESS FULL GRADITEM (cr=10031 pr=0 pw=0 time=277 us)
      45323        TABLE ACCESS BY INDEX ROWID PRODUCER (cr=91075 pr=0 pw=0 time=414937 us)
      45323         INDEX UNIQUE SCAN PRODUCER_PRIMARY (cr=45752 pr=0 pw=0 time=198709 us)(object id 54581)
      45269       TABLE ACCESS BY INDEX ROWID GRADING (cr=91024 pr=0 pw=0 time=353081 us)
      45270        INDEX UNIQUE SCAN GRADING_PRIMARY (cr=45753 pr=0 pw=0 time=173185 us)(object id 54088)
      42669      TABLE ACCESS BY INDEX ROWID USERS (cr=120380 pr=0 pw=0 time=703786 us)
      42669       INDEX RANGE SCAN USERS_PRODUCER (cr=46127 pr=0 pw=0 time=249186 us)(object id 55024)
      42669     TABLE ACCESS BY INDEX ROWID PATIENT (cr=85782 pr=0 pw=0 time=407452 us)
      42669      INDEX UNIQUE SCAN PATIENT_PRIMARY (cr=43098 pr=0 pw=0 time=198477 us)(object id 54370)
        176    TABLE ACCESS BY INDEX ROWID USERS (cr=49426 pr=0 pw=0 time=1783886 us)
        367     NESTED LOOPS  (cr=49149 pr=0 pw=0 time=6159428 us)
        190      NESTED LOOPS  (cr=48953 pr=0 pw=0 time=409391 us)
        190       NESTED LOOPS  (cr=48569 pr=0 pw=0 time=407105 us)
        190        NESTED LOOPS  (cr=48185 pr=0 pw=0 time=404820 us)
        191         NESTED LOOPS  (cr=47991 pr=0 pw=0 time=410291 us)
        193          NESTED LOOPS  (cr=47603 pr=0 pw=0 time=422507 us)
        193           NESTED LOOPS  (cr=46979 pr=0 pw=0 time=416890 us)
        193            NESTED LOOPS  (cr=46396 pr=0 pw=0 time=414374 us)
      14285             TABLE ACCESS FULL GRADITEM (cr=9602 pr=0 pw=0 time=85793 us)
        193             TABLE ACCESS BY INDEX ROWID TRX (cr=36794 pr=0 pw=0 time=128427 us)
       8218              INDEX UNIQUE SCAN TRX_PRIMARY (cr=28576 pr=0 pw=0 time=64353 us)(object id 54930)
        193            TABLE ACCESS BY INDEX ROWID TRX (cr=583 pr=0 pw=0 time=2169 us)
        193             INDEX UNIQUE SCAN TRX_PRIMARY (cr=390 pr=0 pw=0 time=918 us)(object id 54930)
        193           TABLE ACCESS BY INDEX ROWID GRADITEM (cr=624 pr=0 pw=0 time=4840 us)
       1547            INDEX RANGE SCAN GRADITEM_ID (cr=395 pr=0 pw=0 time=2910 us)(object id 54093)
        191          TABLE ACCESS BY INDEX ROWID GRADING (cr=388 pr=0 pw=0 time=1887 us)
        191           INDEX UNIQUE SCAN GRADING_PRIMARY (cr=197 pr=0 pw=0 time=943 us)(object id 54088)
        190         TABLE ACCESS BY INDEX ROWID CLASS (cr=194 pr=0 pw=0 time=1306 us)
        190          INDEX UNIQUE SCAN CLASS_PRIMARY (cr=4 pr=0 pw=0 time=551 us)(object id 53850)
        190        TABLE ACCESS BY INDEX ROWID PRODUCER (cr=384 pr=0 pw=0 time=1617 us)
        190         INDEX UNIQUE SCAN PRODUCER_PRIMARY (cr=194 pr=0 pw=0 time=715 us)(object id 54581)
        190       TABLE ACCESS BY INDEX ROWID PATIENT (cr=384 pr=0 pw=0 time=1941 us)
        190        INDEX UNIQUE SCAN PATIENT_PRIMARY (cr=194 pr=0 pw=0 time=939 us)(object id 54370)
        176      INDEX RANGE SCAN USERS_PRODUCER (cr=196 pr=0 pw=0 time=1389 us)(object id 55024)
    Elapsed times include waiting on following events:
      Event waited on                             Times   Max. Wait  Total Waited
      ----------------------------------------   Waited  ----------  ------------
      SQL*Net message to client                    6312        0.00          0.00
      db file scattered read                       1614        0.02          2.08
      SQL*Net message from client                  6312        0.00         10.11
      SQL*Net more data to client                 48662        0.00          0.70
      db file sequential read                      4645        0.02          7.11
      latch: shared pool                              7        0.00          0.00
      latch: cache buffers chains                     1        0.00          0.00
    ********************************************************************************Again, I apologize if this is way more information than is necessary.
    All advice/suggestions/assistance will be gratefully accepted.
    Carl

    Hi Rob,
    Thank you for replying. Here is the view definition . . . it looks pretty convoluted, I know.
    I am reporting from a database which I have no control over other than to add indexes where needed.
    For reporting purposes, I am needing to create the dataset from a number of different tables; hence all the UNION clauses.
    -- CODE FOLLOWS
    CREATE OR REPLACE VIEW LLU_V_PRODUCTION_DETAIL_03
    AS
    SELECT
      'QR' AS "Source",
      U1."User" AS "UserID",
      QRP."ProviderID" AS "ProviderID",
      P."LastName" AS "ProviderLastName",
      P."FirstName" AS "ProviderFirstName",
      TO_CHAR(P."EndDate",'YYYY') AS "GraduationYear",
      P."PGroup",
      QRP."PatientID",
      QRP."ChartNumber",
      QRP."PatientLastName",
      QRP."PatientFirstName",
      QRP."ProcedureID" || '-' || QRP."ProcedureSuffix" AS "Procedure",
      QRP."ProcedureDescription",
      QRP."Tooth" AS "Site",
      QRP."Surface",
      QRP."axiUm_Discipline" AS "Discipline",
      "CLASS"."Rank" AS "DisciplineSorter",
      "CLASS"."Name" AS "DisciplineName",
      QRP."Points",
      0 AS "Hours",
      QRP."ServiceDate",
      0 AS "Id",
      QRP."UniqueID" AS "Grading",
      0 AS "LastSort",
      QRP."CategoryID",
      '' AS "CPAR comments"
    FROM QR_PRODUCTION QRP
    INNER JOIN PRODUCER P
      ON TRIM(QRP."ProviderID") = TRIM(P."Producer")
    INNER JOIN CLASS
      ON TRIM(QRP."axiUm_Discipline") = TRIM(CLASS."Class")
    INNER JOIN USERS U1
      ON QRP."ProviderID" = U1."Producer"
    WHERE (QRP."Location" < '9990')
    AND (QRP."ProviderID" IS NOT NULL)
    AND (QRP."ProcedureID" <> 185)
    -- skip the Cavender family - training patients
    AND NOT (QRP."PatientLastName" LIKE 'CAVENDER%' AND QRP."PatientFirstName" = 'TED')
    AND QRP."PatientFirstName" <> 'NON-PATIENT'
    --ORDER BY QRP."ProcedureID"
    UNION ALL
    SELECT
      'axiUm TRX' AS "Source",
      U1."User" AS "UserID",
      TRX."Producer" AS "ProviderID",
      P."LastName",
      P."FirstName",
      TO_CHAR(P."EndDate",'YYYY') AS "GraduationYear",
      P."PGroup",
      PAT."Patient",
      PAT."Chart",
      PAT."Last" AS "PatientLastName",
      PAT."First" AS "PatientFirstName",
      TRX."Procedure",
      PROC."Description",
      TRX."Site",
      TRX."Surface",
      TRIM(PROC."Discipline") AS "Discipline",
      "CLASS"."Rank" AS "DisciplineSorter",
      "CLASS"."Name",
      CASE WHEN
          ((TRX."Procedure" IN ('A0013','A0019','A0020','A0021','A0023','A0024','A0025','A0026','A0027','A0028','A0029','A0030','O179'))
          OR
          -- no points are to be awarded for any procedures performed on typodonts
          (EXISTS (SELECT 1 FROM PTTYPES PTT WHERE PTT."Patient" = PAT."Patient" and PTT."PatType" = 'TYPO' and PTT."Deleted" = 0)))
        AND  -- except for the following procedures
          (TRX."Procedure" NOT IN ('A0015','A0016','A0018','D0210'))
        THEN 0 ELSE PROC."RelValue" END AS "Points",
      CASE WHEN TRX."Procedure" IN ('A0013','A0019','A0020','A0021','A0023','A0024','A0025','A0026','A0027','A0028','A0029','A0030','O179')
        THEN PROC."RelValue" ELSE 0 END AS "Hours",
      TRX."TreatmentDate",
      TRX."Id",
      TRX."Grading",
      -1 AS "LastSort",
      -- additional link conditions added and table name changed on 1 July 2009 - cji
      SELECT "CategoryID" FROM LLU_CATEGORIES_X_PROCEDURES_03 LLU
      WHERE TRX."Procedure" = LLU."ProcedureID"
      AND TO_CHAR(P."EndDate",'YYYY') = LLU."GraduationYear"
      AND SUBSTR(TRX."Producer",1,1) = LLU."ProviderType"
      AND LLU."CategoryID" NOT IN (82)
      ) AS "CategoryID",
      '' AS "CPAR comments"
    FROM TRX
    INNER JOIN PATIENT PAT
      ON TRX."Patient" = PAT."Patient"
    INNER JOIN USERS U1
      ON TRX."Producer" = U1."Producer"
    INNER JOIN PROCEDUR PROC
      ON TRX."Procedure" = PROC."Procedure"
    INNER JOIN CLASS
      ON PROC."Discipline" = CLASS."Class"
    INNER JOIN PRODUCER P
      ON TRX."Producer" = P."Producer"
    WHERE (TRX."Status" = 'C')
    AND (TRX."Deleted" = 0)
    --AND (TRX."Grading" = 0)
    AND (TRX."Procedure" NOT LIKE 'D0149%')
    AND (TRX."Procedure" <> 'D5001C')
    -- exclude all procedures approved by Peds faculty ONLY FOR CLASS OF 2011 AND LATER
    -- EXCEPT FOR the Peds Block code (A0021 and A0022) - always include those
    AND NOT
    TRX."AppUser" IN (SELECT "User" FROM USERS WHERE "Custom3" = 'YES') -- Peds faculty
    AND
    TO_CHAR(P."EndDate",'YYYY') >= '2011'
    AND
    TRIM(TO_CHAR(P."EndDate",'YYYY')) IS NOT NULL
    AND
    TRX."Procedure" NOT IN ('A0021','A0022')
    UNION ALL
    SELECT
      'axiUm GRADING' AS "Source",
      U1."User" AS "UserID",
      TRX."Producer" AS "ProviderID",
      P."LastName",
      P."FirstName",
      TO_CHAR(P."EndDate",'YYYY'), -- Graduation year
      P."PGroup",
      PAT."Patient",
      PAT."Chart",
      PAT."Last" AS "PatientLastName",
      PAT."First" AS "PatientFirstName",
      TRX."Procedure",
      LLU."Description",
      TRX."Site",
      TRX."Surface",
      TRIM(PROC."Discipline") AS "Discipline",
      "CLASS"."Rank" AS "DisciplineSorter",
      "CLASS"."Name",
      LLU."Points", --LLU_POINTS_FROM_EVALUATIONS(TRX."Procedure", nvl(GI."Text",0)),
      0 AS "Hours",
      TRX."TreatmentDate",
      GI."Id",
      GI."Grading",
      GI."Row" AS "LastSort",
      LLU."CategoryID",
      '' AS "CPAR comments"
    FROM TRX
    INNER JOIN PATIENT PAT
      ON TRX."Patient" = PAT."Patient"
    INNER JOIN PRODUCER P
      ON TRX."Producer" = P."Producer"
    INNER JOIN GRADING G
      ON TRX."Grading" = G."Grading"
    INNER JOIN GRADITEM GI
      ON G."Grading" = GI."Grading"
      AND TRX."Type" = GI."Type"
      AND TRX."Id" = GI."Id"
      AND TRX."Treatment" = GI."Treatment"
    INNER JOIN PROCEDUR PROC
      ON TRX."Procedure" = PROC."Procedure"
    INNER JOIN CLASS
      ON PROC."Discipline" = CLASS."Class"
    INNER JOIN LLU_EVALUATION_DESCRIPTIONS LLU
      ON (TRIM(UPPER(GI."QuestionText")) = TRIM(UPPER(LLU."GRADITEM_QuestionText")))
      AND (TRIM(UPPER(GI."Text")) = TRIM(UPPER(LLU."GRADITEM_Text")))
      AND (TRIM(TRX."Procedure") = TRIM(LLU."ProcedureCode"))
    INNER JOIN USERS U1
      ON TRX."Producer" = U1."Producer"
    WHERE (TRX."Status" = 'C')
    AND (TRX."Deleted" = 0)
    AND (TRX."Grading" <> 0)
    AND (G."Deleted" = 0)
    UNION ALL
    SELECT 'ClinPtsAdj',
      U1."User" AS "UserID",
      TRX."Producer",
      P."LastName", P."FirstName",
      TO_CHAR(P."EndDate",'YYYY'), -- Graduation year
      P."PGroup", PAT."Patient", PAT."Chart", PAT."Last", PAT."First",
      TRX."Procedure",
      'Clinic points adjustment',
      '' AS "Site",
      '' AS "Surface",
      TRIM(TRX."Discipline"),
      "CLASS"."Rank",
      "CLASS"."Name",
      DERIVED."Points",
      0 AS "Hours",
      GI."Date",
      GI."Id",
      GI."Grading",
      GI."Row",
      NULL AS "CategoryID",
      TRIM(REPLACE(GI."Note", CHR(13) || CHR(10), ' '))
    FROM TRX
    INNER JOIN PATIENT PAT
      ON (TRX."Patient" = PAT."Patient")
    INNER JOIN PRODUCER P
      ON (TRX."Producer" = P."Producer")
    INNER JOIN CLASS
      ON (TRX."Discipline" = CLASS."Class")
    INNER JOIN GRADING G
      ON (TRX."Grading" = G."Grading")
    INNER JOIN GRADITEM GI
      ON (GI."Grading" = G."Grading")
      AND (GI."Type" = TRX."Type")
      AND (GI."Id" = TRX."Id")
      AND (GI."Treatment" = TRX."Treatment")
    INNER JOIN USERS U1
      ON TRX."Producer" = U1."Producer"
    INNER JOIN
      SELECT TRX."Type", TRX."Id", TRX."Treatment", TRX."Grading",
        CASE WHEN TRX."Procedure" = 'G1003' THEN GI."RelValue" * -1 ELSE "RelValue" END AS "Points"
      FROM TRX, GRADITEM GI
      WHERE (TRX."Type" = GI."Type")
      AND (TRX."Id" = GI."Id")
      AND (TRX."Treatment" = GI."Treatment")
      AND (TRX."Procedure" IN ('G1002','G1003'))
      AND (TRX."Status" = 'C')
      AND (TRX."Deleted" = 0)
      AND (TRX."Grading" <> 0)
      AND (GI."RelValue" <> 0)
      ) DERIVED
      ON (TRX."Type" = DERIVED."Type")
      AND (TRX."Id" = DERIVED."Id")
      AND (TRX."Treatment" = DERIVED."Treatment")
      AND (TRX."Grading" = DERIVED."Grading")
    WHERE (TRX."Status" = 'C')
    AND (TRX."Deleted" = 0)
    AND (TRX."Grading" <> 0)
    AND (G."Deleted" = 0)
    AND (TRX."Procedure" IN ('G1002','G1003'))
    AND (GI."IsHeading" = 3)
    AND (TRIM(GI."QuestionText") = 'Comments')
    --ORDER BY "ProviderID", "DisciplineSorter", "Id", "Grading", "Site", "LastSort";A couple of additional points:
    The table USERS already had an index on column "Producer"; I added an index on column "Custom3" but it did not seem to make any difference.
    Table USERS has 1,725 rows
    Table PRODUCER (aliased as P) has 1,396 rows
    Table TRX has 1,443,764 rows.
    Any additional information you need I will be glad to provide.
    Thanks a bunch; it may not be too late to teach an old dog new tricks.
    And thank you all for the kind words about the posting; about the only thing I can do well is follow directions.
    Carl

  • HOW TO: Post a SQL statement tuning request - template posting

    This post is not a question, but similar to Rob van Wijk's "When your query takes too long ..." post should help to improve the quality of the requests for SQL statement tuning here on OTN.
    On the OTN forum very often tuning requests about single SQL statements are posted, but the information provided is rather limited, and therefore it's not that simple to provide a meaningful advice. Instead of writing the same requests for additional information over and over again I thought I put together a post that describes how a "useful" post for such a request should look like and what information it should cover.
    I've also prepared very detailed step-by-step instructions how to obtain that information on my blog, which can be used to easily gather the required information. It also covers again the details how to post the information properly here, in particular how to use the \ tag to preserve formatting and get a fixed font output:
    http://oracle-randolf.blogspot.com/2009/02/basic-sql-statement-performance.html
    So again: This post here describes how a "useful" post should look like and what information it ideally covers. The blog post explains in detail how to obtain that information.
    In the future, rather than requesting the same additional information and explaining how to obtain it, I'll simply refer to this HOW TO post and the corresponding blog post which describes in detail how to get that information.
    *Very important:*
    Use the \ tag to enclose any output that should have its formatting preserved as shown below.
    So if you want to use fixed font formatting that preserves the spaces etc., do the following:
    \   This preserves formatting
    \And it will look like this:
       This preserves formatting
       . . .Your post should cover the following information:
    1. The SQL and a short description of its purpose
    2. The version of your database with 4-digits (e.g. 10.2.0.4)
    3. Optimizer related parameters
    4. The TIMING and AUTOTRACE output
    5. The EXPLAIN PLAN output
    6. The TKPROF output snippet that corresponds to your statement
    7. If you're on 10g or later, the DBMS_XPLAN.DISPLAY_CURSOR output
    The above mentioned blog post describes in detail how to obtain that information.
    Your post should have a meaningful subject, e.g. "SQL statement tuning request", and the message body should look similar to the following:
    *-- Start of template body --*
    The following SQL statement has been identified to perform poorly. It currently takes up to 10 seconds to execute, but it's supposed to take a second at most.
    This is the statement:
    select
    from
             t_demo
    where
             type = 'VIEW'
    order by
             id;It should return data from a table in a specific order.
    The version of the database is 11.1.0.7.
    These are the parameters relevant to the optimizer:
    SQL>
    SQL> show parameter optimizer
    NAME                                 TYPE        VALUE
    optimizer_capture_sql_plan_baselines boolean     FALSE
    optimizer_dynamic_sampling           integer     2
    optimizer_features_enable            string      11.1.0.7
    optimizer_index_caching              integer     0
    optimizer_index_cost_adj             integer     100
    optimizer_mode                       string      ALL_ROWS
    optimizer_secure_view_merging        boolean     TRUE
    optimizer_use_invisible_indexes      boolean     FALSE
    optimizer_use_pending_statistics     boolean     FALSE
    optimizer_use_sql_plan_baselines     boolean     TRUE
    SQL>
    SQL> show parameter db_file_multi
    NAME                                 TYPE        VALUE
    db_file_multiblock_read_count        integer     8
    SQL>
    SQL> show parameter db_block_size
    NAME                                 TYPE        VALUE
    db_block_size                        integer     8192
    SQL>
    SQL> show parameter cursor_sharing
    NAME                                 TYPE        VALUE
    cursor_sharing                       string      EXACT
    SQL>
    SQL> column sname format a20
    SQL> column pname format a20
    SQL> column pval2 format a20
    SQL>
    SQL> select
      2             sname
      3           , pname
      4           , pval1
      5           , pval2
      6  from
      7           sys.aux_stats$;
    SNAME                PNAME                     PVAL1 PVAL2
    SYSSTATS_INFO        STATUS                          COMPLETED
    SYSSTATS_INFO        DSTART                          01-30-2009 16:25
    SYSSTATS_INFO        DSTOP                           01-30-2009 16:25
    SYSSTATS_INFO        FLAGS                         0
    SYSSTATS_MAIN        CPUSPEEDNW              494,397
    SYSSTATS_MAIN        IOSEEKTIM                    10
    SYSSTATS_MAIN        IOTFRSPEED                 4096
    SYSSTATS_MAIN        SREADTIM
    SYSSTATS_MAIN        MREADTIM
    SYSSTATS_MAIN        CPUSPEED
    SYSSTATS_MAIN        MBRC
    SYSSTATS_MAIN        MAXTHR
    SYSSTATS_MAIN        SLAVETHR
    13 rows selected.Here is the output of EXPLAIN PLAN:
    SQL> explain plan for
      2  -- put your statement here
      3  select
      4             *
      5  from
      6             t_demo
      7  where
      8             type = 'VIEW'
      9  order by
    10             id;
    Explained.
    Elapsed: 00:00:00.01
    SQL>
    SQL> select * from table(dbms_xplan.display);
    PLAN_TABLE_OUTPUT
    Plan hash value: 1390505571
    | Id  | Operation                   | Name     | Rows  | Bytes | Cost (%CPU)| Time     |
    |   0 | SELECT STATEMENT            |          |     1 |    60 |     0   (0)| 00:00:01 |
    |   1 |  TABLE ACCESS BY INDEX ROWID| T_DEMO   |     1 |    60 |     0   (0)| 00:00:01 |
    |*  2 |   INDEX RANGE SCAN          | IDX_DEMO |     1 |       |     0   (0)| 00:00:01 |
    Predicate Information (identified by operation id):
       2 - access("TYPE"='VIEW')
    14 rows selected.Here is the output of SQL*Plus AUTOTRACE including the TIMING information:
    SQL> rem Set the ARRAYSIZE according to your application
    SQL> set autotrace traceonly arraysize 100
    SQL> select
      2             *
      3  from
      4             t_demo
      5  where
      6             type = 'VIEW'
      7  order by
      8             id;
    149938 rows selected.
    Elapsed: 00:00:02.21
    Execution Plan
    Plan hash value: 1390505571
    | Id  | Operation                   | Name     | Rows  | Bytes | Cost (%CPU)| Time     |
    |   0 | SELECT STATEMENT            |          |     1 |    60 |     0   (0)| 00:00:01 |
    |   1 |  TABLE ACCESS BY INDEX ROWID| T_DEMO   |     1 |    60 |     0   (0)| 00:00:01 |
    |*  2 |   INDEX RANGE SCAN          | IDX_DEMO |     1 |       |     0   (0)| 00:00:01 |
    Predicate Information (identified by operation id):
       2 - access("TYPE"='VIEW')
    Statistics
              0  recursive calls
              0  db block gets
         149101  consistent gets
            800  physical reads
            196  redo size
        1077830  bytes sent via SQL*Net to client
          16905  bytes received via SQL*Net from client
           1501  SQL*Net roundtrips to/from client
              0  sorts (memory)
              0  sorts (disk)
         149938  rows processed
    SQL>
    SQL> disconnect
    Disconnected from Oracle Database 11g Enterprise Edition Release 11.1.0.7.0 - Production
    With the Partitioning, OLAP, Data Mining and Real Application Testing optionsThe TKPROF output for this statement looks like the following:
    TKPROF: Release 11.1.0.7.0 - Production on Mo Feb 23 10:23:08 2009
    Copyright (c) 1982, 2007, Oracle.  All rights reserved.
    Trace file: orcl11_ora_3376_mytrace1.trc
    Sort options: default
    count    = number of times OCI procedure was executed
    cpu      = cpu time in seconds executing
    elapsed  = elapsed time in seconds executing
    disk     = number of physical reads of buffers from disk
    query    = number of buffers gotten for consistent read
    current  = number of buffers gotten in current mode (usually for update)
    rows     = number of rows processed by the fetch or execute call
    select
    from
             t_demo
    where
             type = 'VIEW'
    order by
             id
    call     count       cpu    elapsed       disk      query    current        rows
    Parse        1      0.00       0.00          0          0          0           0
    Execute      1      0.00       0.00          0          0          0           0
    Fetch     1501      0.53       1.36        800     149101          0      149938
    total     1503      0.53       1.36        800     149101          0      149938
    Misses in library cache during parse: 0
    Optimizer mode: ALL_ROWS
    Parsing user id: 88 
    Rows     Row Source Operation
    149938  TABLE ACCESS BY INDEX ROWID T_DEMO (cr=149101 pr=800 pw=0 time=60042 us cost=0 size=60 card=1)
    149938   INDEX RANGE SCAN IDX_DEMO (cr=1881 pr=1 pw=0 time=0 us cost=0 size=0 card=1)(object id 74895)
    Elapsed times include waiting on following events:
      Event waited on                             Times   Max. Wait  Total Waited
      ----------------------------------------   Waited  ----------  ------------
      SQL*Net message to client                    1501        0.00          0.00
      db file sequential read                       800        0.05          0.80
      SQL*Net message from client                  1501        0.00          0.69
    ********************************************************************************The DBMS_XPLAN.DISPLAY_CURSOR output:
    SQL> -- put your statement here
    SQL> -- use the GATHER_PLAN_STATISTICS hint
    SQL> -- if you're not using STATISTICS_LEVEL = ALL
    SQL> select /*+ gather_plan_statistics */
      2  *
      3  from
      4  t_demo
      5  where
      6  type = 'VIEW'
      7  order by
      8  id;
    149938 rows selected.
    Elapsed: 00:00:02.21
    SQL>
    SQL> select * from table(dbms_xplan.display_cursor(null, null, 'ALLSTATS LAST'));
    PLAN_TABLE_OUTPUT
    SQL_ID  d4k5acu783vu8, child number 0
    select   /*+ gather_plan_statistics */          * from          t_demo
    where          type = 'VIEW' order by          id
    Plan hash value: 1390505571
    | Id  | Operation                   | Name     | Starts | E-Rows | A-Rows |   A-Time   | Buffers | Reads  |
    |   0 | SELECT STATEMENT            |          |      1 |        |    149K|00:00:00.02 |     149K|   1183 |
    |   1 |  TABLE ACCESS BY INDEX ROWID| T_DEMO   |      1 |      1 |    149K|00:00:00.02 |     149K|   1183 |
    |*  2 |   INDEX RANGE SCAN          | IDX_DEMO |      1 |      1 |    149K|00:00:00.02 |    1880 |    383 |
    Predicate Information (identified by operation id):
       2 - access("TYPE"='VIEW')
    20 rows selected.I'm looking forward for suggestions how to improve the performance of this statement.
    *-- End of template body --*
    I'm sure that if you follow these instructions and obtain the information described, post them using a proper formatting (don't forget about the \ tag) you'll receive meaningful advice very soon.
    So, just to make sure you didn't miss this point:Use proper formatting!
    If you think I missed something important in this sample post let me know so that I can improve it.
    Regards,
    Randolf
    Oracle related stuff blog:
    http://oracle-randolf.blogspot.com/
    SQLTools++ for Oracle (Open source Oracle GUI for Windows):
    http://www.sqltools-plusplus.org:7676/
    http://sourceforge.net/projects/sqlt-pp/                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                       

    Alex Nuijten wrote:
    ...you missed the proper formatting of the Autotrace section ;-)Alex,
    can't reproduce, does it still look unformatted? Or are you simply kidding? :-)
    Randolf
    PS: Just noticed that it actually sometimes doesn't show the proper formatting although the code tags are there. Changing to the \ tag helped in this case, but it seems to be odd.
    Edited by: Randolf Geist on Feb 23, 2009 11:28 AM
    Odd behaviour of forum software                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                               

  • Sql tuning help

    Hi,
    I need some help on tuning this sql. We run a third party application and I have to ask thrid party for any changes. I have pasted the session statistice from the run for this sql.
    SELECT DECODE( RPAD(NVL(NWKPCDOUTWDPOSTCODE,' '),4,
    ' ')||RPAD(NVL(NWKPCDINWDPOSTCODE,' '),3,' '),
    RPAD(NVL(:zipout1,' '),4,' ')||RPAD(NVL(:zipin1,' '),3,' '),
    '0001', RPAD(NVL(:zipout2,' '),4,'
    ')||RPAD(SUBSTR(NVL(:zipin2,' '),0,1),3,' '), '0002',
    RPAD(NVL(:zipout3,' '),7,' '), '0003',
    RPAD('ZZ999',7,' '), '0004' ) AS CHECKER
    FROM NWKPCDREC
    WHERE NWKPCDNETWORKID = :netid
    AND NWKPCDSORTPOINT1TYPE != 'XXXXXXXX'
    AND ( (RPAD(NVL(NWKPCDOUTWDPOSTCODE,' '),4,' ')||RPAD(NVL(NWKPCDINWDPOSTCODE,' '),3,' ') =
    RPAD(NVL(:zipout4,' '),4,' ')||RPAD(NVL(:zipin3,' '),3,' '))
    OR (RPAD(NVL(NWKPCDOUTWDPOSTCODE,' '),4,'
    ')||RPAD(NVL(NWKPCDINWDPOSTCODE,' '),3,' ') =
    RPAD(NVL(:zipout5,' '),4,' ')||RPAD(SUBSTR(NVL(:zipin4,' '),0,
    1),3,' ')) OR (RPAD(NVL(NWKPCDOUTWDPOSTCODE,' '),4,'
    ')||RPAD(NVL(NWKPCDINWDPOSTCODE,' '),3,' ') =
    RPAD(NVL(:zipout6,' '),7,' ')) OR
    (RPAD(NVL(NWKPCDOUTWDPOSTCODE,' '),4,'
    ')||RPAD(NVL(NWKPCDINWDPOSTCODE,' '),3,' ') = RPAD('ZZ999',7,
    ' ')) ) ORDER BY CHECKER
    Session Statistics 09 October 2007 22:44:56 GMT+00:00
    Report Target : PRD1 (Database)
    Session Statistics
    (Chart form was tabular, see data table below)
    SID Name Value Class
    37 write clones created in foreground 0 Cache
    37 write clones created in background 0 Cache
    37 user rollbacks 16 User
    37 user commits 8674 User
    37 user calls 302838 User
    37 transaction tables consistent reads - undo records applied 0 Debug
    37 transaction tables consistent read rollbacks 0 Debug
    37 transaction rollbacks 9 Debug
    37 transaction lock foreground wait time 0 Debug
    37 transaction lock foreground requests 0 Debug
    37 transaction lock background gets 0 Debug
    37 transaction lock background get time 0 Debug
    37 total file opens 12 Cache
    37 table scans (short tables) 8062 SQL
    37 table scans (rowid ranges) 0 SQL
    37 table scans (long tables) 89 SQL
    37 table scans (direct read) 0 SQL
    37 table scans (cache partitions) 2 SQL
    37 table scan rows gotten 487042810 SQL
    37 table scan blocks gotten 7327924 SQL
    37 table fetch continued row 17 SQL
    37 table fetch by rowid 26130550 SQL
    37 switch current to new buffer 6400 Cache
    37 summed dirty queue length 0 Cache
    37 sorts (rows) 138607 SQL
    37 sorts (memory) 13418 SQL
    37 sorts (disk) 0 SQL
    37 session uga memory max 5176776 User
    37 session uga memory 81136 User
    37 session stored procedure space 0 User
    37 session pga memory max 5559884 User
    37 session pga memory 5559884 User
    37 session logical reads 115050107 User
    37 session cursor cache hits 0 SQL
    37 session cursor cache count 0 SQL
    37 session connect time 1191953042 User
    37 serializable aborts 0 User
    37 rows fetched via callback 1295545 SQL
    37 rollbacks only - consistent read gets 0 Debug
    37 rollback changes - undo records applied 114 Debug
    37 remote instance undo header writes 0 Global Cache
    37 remote instance undo block writes 0 Global Cache
    37 redo writes 0 Redo
    37 redo writer latching time 0 Redo
    37 redo write time 0 Redo
    37 redo wastage 0 Redo
    37 redo synch writes 8683 Cache
    37 redo synch time 722 Cache
    37 redo size 25463692 Redo
    37 redo ordering marks 0 Redo
    37 redo log switch interrupts 0 Redo
    37 redo log space wait time 0 Redo
    37 redo log space requests 1 Redo
    37 redo entries 81930 Redo
    37 redo buffer allocation retries 1 Redo
    37 redo blocks written 0 Redo
    37 recursive cpu usage 101 User
    37 recursive calls 84413 User
    37 recovery blocks read 0 Cache
    37 recovery array reads 0 Cache
    37 recovery array read time 0 Cache
    37 queries parallelized 0 Parallel Server
    37 process last non-idle time 1191953042 Debug
    37 prefetched blocks aged out before use 0 Cache
    37 prefetched blocks 1436767 Cache
    37 pinned buffers inspected 89 Cache
    37 physical writes non checkpoint 3507 Cache
    37 physical writes direct (lob) 0 Cache
    37 physical writes direct 3507 Cache
    37 physical writes 3507 Cache
    37 physical reads direct (lob) 0 Cache
    37 physical reads direct 2499 Cache
    37 physical reads 1591668 Cache
    37 parse time elapsed 336 SQL
    37 parse time cpu 315 SQL
    37 parse count (total) 28651 SQL
    37 parse count (hard) 1178 SQL
    37 opens requiring cache replacement 0 Cache
    37 opens of replaced files 0 Cache
    37 opened cursors current 51 User
    37 opened cursors cumulative 28651 User
    37 no work - consistent read gets 59086317 Debug
    37 no buffer to keep pinned count 0 Other
    37 next scns gotten without going to DLM 0 Parallel Server
    37 native hash arithmetic fail 0 SQL
    37 native hash arithmetic execute 0 SQL
    37 messages sent 9730 Debug
    37 messages received 0 Debug
    37 logons current 1 User
    37 logons cumulative 1 User
    37 leaf node splits 111 Debug
    37 kcmgss waited for batching 0 Parallel Server
    37 kcmgss read scn without going to DLM 0 Parallel Server
    37 kcmccs called get current scn 0 Parallel Server
    37 instance recovery database freeze count 0 Parallel Server
    37 index fast full scans (rowid ranges) 0 SQL
    37 index fast full scans (full) 210 SQL
    37 index fast full scans (direct read) 0 SQL
    37 immediate (CURRENT) block cleanout applications 4064 Debug
    37 immediate (CR) block cleanout applications 83 Debug
    37 hot buffers moved to head of LRU 20004 Cache
    37 global lock sync gets 0 Parallel Server
    37 global lock sync converts 0 Parallel Server
    37 global lock releases 0 Parallel Server
    37 global lock get time 0 Parallel Server
    37 global lock convert time 0 Parallel Server
    37 global lock async gets 0 Parallel Server
    37 global lock async converts 0 Parallel Server
    37 global cache read buffer lock timeouts 0 Global Cache
    37 global cache read buffer blocks served 0 Global Cache
    37 global cache read buffer blocks received 0 Global Cache
    37 global cache read buffer block timeouts 0 Global Cache
    37 global cache read buffer block send time 0 Global Cache
    37 global cache read buffer block receive time 0 Global Cache
    37 global cache read buffer block build time 0 Global Cache
    37 global cache prepare failures 0 Global Cache
    37 global cache gets 0 Global Cache
    37 global cache get time 0 Global Cache
    37 global cache freelist waits 0 Global Cache
    37 global cache defers 0 Global Cache
    37 global cache cr timeouts 0 Global Cache
    37 global cache cr requests blocked 0 Global Cache
    37 global cache cr blocks served 0 Global Cache
    37 global cache cr blocks received 0 Global Cache
    37 global cache cr block send time 0 Global Cache
    37 global cache cr block receive time 0 Global Cache
    37 global cache cr block flush time 0 Global Cache
    37 global cache cr block build time 0 Global Cache
    37 global cache converts 0 Global Cache
    37 global cache convert timeouts 0 Global Cache
    37 global cache convert time 0 Global Cache
    37 global cache blocks corrupt 0 Global Cache
    37 free buffer requested 1597281 Cache
    37 free buffer inspected 659 Cache
    37 execute count 128826 SQL
    37 exchange deadlocks 1 Cache
    37 enqueue waits 0 Enqueue
    37 enqueue timeouts 0 Enqueue
    37 enqueue requests 23715 Enqueue
    37 enqueue releases 23715 Enqueue
    37 enqueue deadlocks 0 Enqueue
    37 enqueue conversions 0 Enqueue
    37 dirty buffers inspected 437 Cache
    37 deferred (CURRENT) block cleanout applications 21937 Debug
    37 db block gets 230801 Cache
    37 db block changes 160407 Cache
    37 data blocks consistent reads - undo records applied 460 Debug
    37 cursor authentications 488 Debug
    37 current blocks converted for CR 0 Cache
    37 consistent gets 114819307 Cache
    37 consistent changes 460 Cache
    37 commit cleanouts successfully completed 37201 Cache
    37 commit cleanouts 37210 Cache
    37 commit cleanout failures: write disabled 0 Cache
    37 commit cleanout failures: hot backup in progress 0 Cache
    37 commit cleanout failures: cannot pin 0 Cache
    37 commit cleanout failures: callback failure 3 Cache
    37 commit cleanout failures: buffer being written 0 Cache
    37 commit cleanout failures: block lost 6 Cache
    37 cold recycle reads 0 Cache
    37 cluster key scans 17 SQL
    37 cluster key scan block gets 36 SQL
    37 cleanouts only - consistent read gets 83 Debug
    37 cleanouts and rollbacks - consistent read gets 0 Debug
    37 change write time 108 Cache
    37 calls to kcmgrs 0 Debug
    37 calls to kcmgcs 391 Debug
    37 calls to kcmgas 8816 Debug
    37 calls to get snapshot scn: kcmgss 171453 Parallel Server
    37 bytes sent via SQL*Net to dblink 0 User
    37 bytes sent via SQL*Net to client 25363874 User
    37 bytes received via SQL*Net from dblink 0 User
    37 bytes received via SQL*Net from client 29829542 User
    37 buffer is pinned count 540816 Other
    37 buffer is not pinned count 86108905 Other
    37 branch node splits 6 Debug
    37 background timeouts 0 Debug
    37 background checkpoints started 0 Cache
    37 background checkpoints completed 0 Cache
    37 Unnecesary process cleanup for SCN batching 0 Parallel Server
    37 SQL*Net roundtrips to/from dblink 0 User
    37 SQL*Net roundtrips to/from client 302837 User
    37 Parallel operations not downgraded 0 Parallel Server
    37 Parallel operations downgraded to serial 0 Parallel Server
    37 Parallel operations downgraded 75 to 99 pct 0 Parallel Server
    37 Parallel operations downgraded 50 to 75 pct 0 Parallel Server
    37 Parallel operations downgraded 25 to 50 pct 0 Parallel Server
    37 Parallel operations downgraded 1 to 25 pct 0 Parallel Server
    37 PX remote messages sent 0 Parallel Server
    37 PX remote messages recv'd 0 Parallel Server
    37 PX local messages sent 0 Parallel Server
    37 PX local messages recv'd 0 Parallel Server
    37 OS Voluntary context switches 0 OS
    37 OS User time used 0 OS
    37 OS System time used 0 OS
    37 OS Swaps 0 OS
    37 OS Socket messages sent 0 OS
    37 OS Socket messages received 0 OS
    37 OS Signals received 0 OS
    37 OS Page reclaims 0 OS
    37 OS Page faults 0 OS
    37 OS Maximum resident set size 0 OS
    37 OS Involuntary context switches 0 OS
    37 OS Integral unshared stack size 0 OS
    37 OS Integral unshared data size 0 OS
    37 OS Integral shared text size 0 OS
    37 OS Block output operations 0 OS
    37 OS Block input operations 0 OS
    37 DML statements parallelized 0 Parallel Server
    37 DFO trees parallelized 0 Parallel Server
    37 DDL statements parallelized 0 Parallel Server
    37 DBWR undo block writes 0 Cache
    37 DBWR transaction table writes 0 Cache
    37 DBWR summed scan depth 0 Cache
    37 DBWR revisited being-written buffer 0 Cache
    37 DBWR make free requests 0 Cache
    37 DBWR lru scans 0 Cache
    37 DBWR free buffers found 0 Cache
    37 DBWR cross instance writes 0 Global Cache
    37 DBWR checkpoints 0 Cache
    37 DBWR checkpoint buffers written 0 Cache
    37 DBWR buffers scanned 0 Cache
    37 Commit SCN cached 0 Debug
    37 Cached Commit SCN referenced 1 Debug
    37 CR blocks created 203 Cache
    37 CPU used when call started 280528 Debug
    37 CPU used by this session 280528 User
    Regards
    Raj
    --------------------------------------------------------------------------------

    Thank you everybody for helping me out while tuning the query. I have managed to bring down the run time from 60 minutes to 12 minutes.
    I am posting the exisitng query, existing database objects ddl and the new query and new ddl to share my learning. This is my first use of forum, senior members, please letme know if I shouldn't have put all this here.
    /pre original code
    SELECT decode(rpad(nvl(a.nwkpcdoutwdpostcode, ' '), 4, ' ') || rpad(nvl(
    a.nwkpcdinwdpostcode, ' '), 3, ' '), rpad(nvl(:zipout1, ' '), 4, ' ')
    || rpad(nvl(:zipin1, ' '), 3, ' '), '0001', rpad(nvl(:zipout2, ' '), 4,
    ' ') || rpad(substr(nvl(:zipin2, ' '), 0, 1), 3, ' '), '0002',
    rpad(nvl(:zipout3, ' '), 7, ' '), '0003', rpad('ZZ999', 7, ' '), '0004')
    AS checker, a.nwkpcdbarcode1to7 nwkpcdbarcode1to7,
    a.nwkpcdbarcode15 nwkpcdbarcode15,
    a.nwkpcdbarcodeseqkey nwkpcdbarcodeseqkey,
    a.nwkpcdsortpoint1code nwkpcdsortpoint1code,
    a.nwkpcdsortpoint1type nwkpcdsortpoint1type,
    a.nwkpcdsortpoint1name nwkpcdsortpoint1name,
    a.nwkpcdsortpoint1extra nwkpcdsortpoint1extra,
    a.nwkpcdsortpoint2type nwkpcdsortpoint2type,
    a.nwkpcdsortpoint2name nwkpcdsortpoint2name,
    a.nwkpcdsortpoint3type nwkpcdsortpoint3type,
    a.nwkpcdsortpoint3name nwkpcdsortpoint3name,
    a.nwkpcdsortpoint4type nwkpcdsortpoint4type,
    a.nwkpcdsortpoint4name nwkpcdsortpoint4name,
    b.nwkprfnetworksequence nwkprfnetworksequence,
    b.nwkprfnetworkid nwkprfnetworkid, b.nwkprfnetworkname nwkprfnetworkname,
    b.nwkprfminweight / 100 AS nwkprfminweight, b.nwkprfmaxweight / 100 AS
    nwkprfmaxweight, b.nwkprfminlengthgirth nwkprfminlengthgirth,
    b.nwkprfmaxlengthgirth nwkprfmaxlengthgirth,
    b.nwkprfminlength nwkprfminlength, b.nwkprfmaxlength nwkprfmaxlength,
    b.nwkprfparceltypecode nwkprfparceltypecode,
    b.nwkprfparceltypename nwkprfparceltypename
    FROM wh1.nwkpcdrec a, wh1.nwkprefrec b
    WHERE a.nwkpcdnetworkid = b.nwkprfnetworkid
    AND a.nwkpcdsortpoint1type != 'XXXXXXXX'
    AND (rpad(nvl(a.nwkpcdoutwdpostcode, ' '), 4, ' ') || rpad(nvl(
    a.nwkpcdinwdpostcode, ' '), 3, ' ') = rpad(nvl(:zipout4, ' '), 4, ' '
    ) || rpad(nvl(:zipin3, ' '), 3, ' ')
    OR rpad(nvl(a.nwkpcdoutwdpostcode, ' '), 4, ' ') || rpad(nvl(
    a.nwkpcdinwdpostcode, ' '), 3, ' ') = rpad(nvl(:zipout5, ' '), 4, ' '
    ) || rpad(substr(nvl(:zipin4, ' '), 0, 1), 3, ' ')
    OR rpad(nvl(a.nwkpcdoutwdpostcode, ' '), 4, ' ') || rpad(nvl(
    a.nwkpcdinwdpostcode, ' '), 3, ' ') = rpad(nvl(:zipout6, ' '), 7, ' '
    OR rpad(nvl(a.nwkpcdoutwdpostcode, ' '), 4, ' ') || rpad(nvl(
    a.nwkpcdinwdpostcode, ' '), 3, ' ') = rpad('ZZ999', 7, ' '))
    AND :weight1 >= b.nwkprfminweight
    AND :weight2 <= b.nwkprfmaxweight
    AND b.nwkprfminlengthgirth <= 60
    AND b.nwkprfmaxlengthgirth >= 60
    AND b.nwkprfminlength <= 15
    AND b.nwkprfmaxlength >= 15
    ORDER BY b.nwkprfnetworkid, checker
    CREATE TABLE "WH1"."NWKPCDREC" ("NWKPCDFILECODE" VARCHAR2(2),
    "NWKPCDRECORDTYPE" VARCHAR2(4), "NWKPCDNETWORKID" VARCHAR2(2),
    "NWKPCDOUTWDPOSTCODE" VARCHAR2(4), "NWKPCDINWDPOSTCODE"
    VARCHAR2(3), "NWKPCDSORTPOINT1CODE" VARCHAR2(2),
    "NWKPCDSORTPOINT1TYPE" VARCHAR2(8), "NWKPCDSORTPOINT1NAME"
    VARCHAR2(16), "NWKPCDSORTPOINT1EXTRA" VARCHAR2(16),
    "NWKPCDSORTPOINT2TYPE" VARCHAR2(8), "NWKPCDSORTPOINT2NAME"
    VARCHAR2(8), "NWKPCDSORTPOINT3TYPE" VARCHAR2(8),
    "NWKPCDSORTPOINT3NAME" VARCHAR2(8), "NWKPCDSORTPOINT4TYPE"
    VARCHAR2(8), "NWKPCDSORTPOINT4NAME" VARCHAR2(8), "NWKPCDPPI"
    VARCHAR2(8), "NWKPCDBARCODE1TO7" VARCHAR2(7),
    "NWKPCDBARCODE15" VARCHAR2(1), "NWKPCDBARCODESEQKEY"
    VARCHAR2(7), "NWKPCDFILLER1" VARCHAR2(7), "NWKPCDFILLER2"
    VARCHAR2(30),
    CONSTRAINT "UK_NWKPCDREC" UNIQUE("NWKPCDNETWORKID",
    "NWKPCDOUTWDPOSTCODE", "NWKPCDINWDPOSTCODE")
    USING INDEX
    TABLESPACE "WH1_INDEX"
    STORAGE ( INITIAL 64K NEXT 0K MINEXTENTS 1 MAXEXTENTS
    2147483645 PCTINCREASE 0 FREELISTS 1 FREELIST GROUPS 1)
    PCTFREE 10 INITRANS 2 MAXTRANS 255)
    TABLESPACE "WH1_DATA_LARGE" PCTFREE 10 PCTUSED 40 INITRANS 1
    MAXTRANS 255
    STORAGE ( INITIAL 4096K NEXT 4096K MINEXTENTS 1 MAXEXTENTS
    2147483645 PCTINCREASE 0 FREELISTS 1 FREELIST GROUPS 1)
    NOLOGGING
    pre original script/
    /pre modified script
    CREATE TABLE "WH1"."NWKPCEREC_OLD" ("NWKPCDFILECODE" VARCHAR2(2),
    "NWKPCDRECORDTYPE" VARCHAR2(4), "NWKPCDNETWORKID" VARCHAR2(2),
    "NWKPCDOUTWDPOSTCODE" VARCHAR2(4), "NWKPCDINWDPOSTCODE"
    VARCHAR2(3), "NWKPCDSORTPOINT1CODE" VARCHAR2(2),
    "NWKPCDSORTPOINT1TYPE" VARCHAR2(8), "NWKPCDSORTPOINT1NAME"
    VARCHAR2(16), "NWKPCDSORTPOINT1EXTRA" VARCHAR2(16),
    "NWKPCDSORTPOINT2TYPE" VARCHAR2(8), "NWKPCDSORTPOINT2NAME"
    VARCHAR2(8), "NWKPCDSORTPOINT3TYPE" VARCHAR2(8),
    "NWKPCDSORTPOINT3NAME" VARCHAR2(8), "NWKPCDSORTPOINT4TYPE"
    VARCHAR2(8), "NWKPCDSORTPOINT4NAME" VARCHAR2(8), "NWKPCDPPI"
    VARCHAR2(8), "NWKPCDBARCODE1TO7" VARCHAR2(7),
    "NWKPCDBARCODE15" VARCHAR2(1), "NWKPCDBARCODESEQKEY"
    VARCHAR2(7), "NWKPCDFILLER1" VARCHAR2(7), "NWKPCDFILLER2"
    VARCHAR2(30))
    TABLESPACE "WH1_DATA_LARGE" PCTFREE 10 PCTUSED 40 INITRANS 1
    MAXTRANS 255
    STORAGE ( INITIAL 4096K NEXT 4096K MINEXTENTS 1 MAXEXTENTS
    2147483645 PCTINCREASE 0 FREELISTS 1 FREELIST GROUPS 1)
    NOLOGGING
    insert into wh1.nwkpcdrec_old select * from wh1.nwkpcdrec;
    drop table wh1.nwkpcdrec;
    CREATE TABLE "WH1"."NWKPCDREC" ("NWKPCDFILECODE" VARCHAR2(2),
    "NWKPCDRECORDTYPE" VARCHAR2(4), "NWKPCDNETWORKID" VARCHAR2(2),
    "NWKPCDOUTINWDPOSTCODE" VARCHAR2(7) NOT NULL,
    "NWKPCDOUTWDPOSTCODE" VARCHAR2(4), "NWKPCDINWDPOSTCODE"
    VARCHAR2(3), "NWKPCDSORTPOINT1CODE" VARCHAR2(2),
    "NWKPCDSORTPOINT1TYPE" VARCHAR2(8), "NWKPCDSORTPOINT1NAME"
    VARCHAR2(16), "NWKPCDSORTPOINT1EXTRA" VARCHAR2(16),
    "NWKPCDSORTPOINT2TYPE" VARCHAR2(8), "NWKPCDSORTPOINT2NAME"
    VARCHAR2(8), "NWKPCDSORTPOINT3TYPE" VARCHAR2(8),
    "NWKPCDSORTPOINT3NAME" VARCHAR2(8), "NWKPCDSORTPOINT4TYPE"
    VARCHAR2(8), "NWKPCDSORTPOINT4NAME" VARCHAR2(8), "NWKPCDPPI"
    VARCHAR2(8), "NWKPCDBARCODE1TO7" VARCHAR2(7),
    "NWKPCDBARCODE15" VARCHAR2(1), "NWKPCDBARCODESEQKEY"
    VARCHAR2(7), "NWKPCDFILLER1" VARCHAR2(7), "NWKPCDFILLER2"
    VARCHAR2(30))
    TABLESPACE "WH1_DATA_LARGE" PCTFREE 10 PCTUSED 40 INITRANS 1
    MAXTRANS 255
    STORAGE ( INITIAL 4096K NEXT 4096K MINEXTENTS 1 MAXEXTENTS
    2147483645 PCTINCREASE 0 FREELISTS 1 FREELIST GROUPS 1)
    NOLOGGING
    INSERT INTO WH1.NWKPCDREC SELECT
                   NWKPCDFILECODE,
                   NWKPCDRECORDTYPE,
                   NWKPCDNETWORKID,
                   rpad(nvl(nwkpcdoutwdpostcode, ' '), 4, ' ') || rpad(nvl(nwkpcdinwdpostcode, ' '), 3, ' '),
                   nwkpcdoutwdpostcode,
                   nwkpcdinwdpostcode,
                   NWKPCDSORTPOINT1CODE,
                   NWKPCDSORTPOINT1TYPE,
                   NWKPCDSORTPOINT1NAME,
                   NWKPCDSORTPOINT1EXTRA,
                   NWKPCDSORTPOINT2TYPE,
                   NWKPCDSORTPOINT2NAME,
                   NWKPCDSORTPOINT3TYPE,
                   NWKPCDSORTPOINT3NAME,
                   NWKPCDSORTPOINT4TYPE,
                   NWKPCDSORTPOINT4NAME,
                   NWKPCDPPI,
                   NWKPCDBARCODE1TO7,
                   NWKPCDBARCODE15,
                   NWKPCDBARCODESEQKEY,
                   NWKPCDFILLER1,
                   NWKPCDFILLER2
    FROM WH1.NWKPCDREC_OLD;
    CREATE UNIQUE INDEX "WH1"."UK_NWKPCDREC"
    ON "WH1"."NWKPCDREC" ("NWKPCDNETWORKID",
    "NWKPCDOUTINWDPOSTCODE")
    TABLESPACE "WH1_INDEX" PCTFREE 10 INITRANS 2 MAXTRANS
    255
    STORAGE ( INITIAL 8192K NEXT 8192K MINEXTENTS 1 MAXEXTENTS
    2147483645 PCTINCREASE 0 FREELISTS 1 FREELIST GROUPS 1)
    LOGGING
    begin
    dbms_stats.gather_table_stats(ownname=> 'WH1', tabname=> 'NWKPCDREC', partname=> NULL);
    end;
    begin
    dbms_stats.gather_index_stats(ownname=> 'WH1', indname=> 'UK_NWKPCDREC', partname=> NULL);
    end;
    SELECT decode(a.nwkpcdoutinwdpostcode, rpad(nvl(:zipout1, ' '), 4, ' ') ||
    rpad(nvl(:zipin1, ' '), 3, ' '), '0001', rpad(nvl(:zipout2, ' '), 4, ' '
    ) || rpad(substr(nvl(:zipin2, ' '), 0, 1), 3, ' '), '0002', rpad(
    nvl(:zipout3, ' '), 7, ' '), '0003', rpad('ZZ999', 7, ' '), '0004') AS
    checker, a.nwkpcdbarcode1to7 nwkpcdbarcode1to7,
    a.nwkpcdbarcode15 nwkpcdbarcode15,
    a.nwkpcdbarcodeseqkey nwkpcdbarcodeseqkey,
    a.nwkpcdsortpoint1code nwkpcdsortpoint1code,
    a.nwkpcdsortpoint1type nwkpcdsortpoint1type,
    a.nwkpcdsortpoint1name nwkpcdsortpoint1name,
    a.nwkpcdsortpoint1extra nwkpcdsortpoint1extra,
    a.nwkpcdsortpoint2type nwkpcdsortpoint2type,
    a.nwkpcdsortpoint2name nwkpcdsortpoint2name,
    a.nwkpcdsortpoint3type nwkpcdsortpoint3type,
    a.nwkpcdsortpoint3name nwkpcdsortpoint3name,
    a.nwkpcdsortpoint4type nwkpcdsortpoint4type,
    a.nwkpcdsortpoint4name nwkpcdsortpoint4name,
    b.nwkprfnetworksequence nwkprfnetworksequence,
    b.nwkprfnetworkid nwkprfnetworkid, b.nwkprfnetworkname nwkprfnetworkname,
    b.nwkprfminweight / 100 AS nwkprfminweight, b.nwkprfmaxweight / 100 AS
    nwkprfmaxweight, b.nwkprfminlengthgirth nwkprfminlengthgirth,
    b.nwkprfmaxlengthgirth nwkprfmaxlengthgirth,
    b.nwkprfminlength nwkprfminlength, b.nwkprfmaxlength nwkprfmaxlength,
    b.nwkprfparceltypecode nwkprfparceltypecode,
    b.nwkprfparceltypename nwkprfparceltypename
    FROM wh1.nwkpcdrec a, wh1.nwkprefrec b
    WHERE a.nwkpcdnetworkid = b.nwkprfnetworkid
    AND a.nwkpcdoutinwdpostcode IN (rpad(nvl(:zipout4, ' '), 4, ' ') ||
    rpad(nvl(:zipin3, ' '), 3, ' '), rpad(nvl(:zipout5, ' '), 4, ' ')
    || rpad(substr(nvl(:zipin4, ' '), 0, 1), 3, ' '), rpad(nvl(:zipout6,
    ' '), 7, ' '), rpad('ZZ999', 7, ' '))
    AND a.nwkpcdsortpoint1type != 'XXXXXXXX'
    AND :weight1 >= b.nwkprfminweight
    AND :weight2 <= b.nwkprfmaxweight
    AND b.nwkprfminlengthgirth <= 60
    AND b.nwkprfmaxlengthgirth >= 60
    AND b.nwkprfminlength <= 15
    AND b.nwkprfmaxlength >= 15
    ORDER BY b.nwkprfnetworkid, checker
    pre modified script/

Maybe you are looking for

  • How do i install windows 8 from an ISO

    I have a MacBook Pro (13-inch Early 2011) running OS X Mountain Lion (10.8.2) and want to install windows 8 (x86) from an ISO file but do not know how to? Any ideas? Thanks, Andy

  • Displaying figures in words

    hi gentlemen....I wanna display figures in reports alongwith there value in words e.g $100 will be displayed as One Hundred Dollars Only....plzzz tell me that how can I accomplish this job in reports6i???thanx

  • Emptying Mail Trash Folders on iPad

    When I delete an email it goes into the Trash folder for that account, but doesn't delete when I close the app. How do I empty the Trash folder, without going through and deleting each and every (hundreds!) email? Thanks! Sharyn

  • IPad Security on DCIM folder while device is locked

    I am able to browse the DCIM folder through windows on iPad while the device is in a locked state with password. Because this is an enterprise environment, this is not acceptable. Is this how the device operates?

  • Deployment Server Will not Start

    I don't know what happened. I was working through the tutorials and had just finished populating the database. When I tried to run the example again I get the error The Sun Java Application Server 8.2 could not start. Possible reasons include: Port C