Union SQL Statements in a DataTemplate
I am in the process of converting a bunch (150+) BI Answers reports into about 9 Publisher reports(we have 9 dashboards now).
Due to business logic and other considerations I have a large amount of reports that leverage unions.
How do I have to handle SQL Unions statements in a Data Template?
Do I have to break them up?
How do I map multiple data sources to one data element name. I have some instances where four or five different SQL statements make one BI Report
ie
<element name="PublisherName" value="BIAnswers1"/>
<element name="PublisherName" value="BIAnswer2"/>
<element name="PublisherName" value="BIAnswers3"/>
I had to go back to the orginal SQL with the union. Wha tI don't understand is that I get the correct amount of rows but the fields do not seem to be mapped correctly. They are all blank. I get the 20 rows I need to get but no data is in any of the elements.
I can check the SQL in the BI answers direct sql function and it functions as desired.
XML:
<dataQuery>
<sqlStatement name="CallData">
<![CDATA[SELECT saw_0, saw_1 FROM ((SELECT "- Reporting Date"."Reporting Month" saw_0, FILTER(FILTER("- CMS Call Metrics"."# CMS Calls Answered" USING (("- CMS Details"."CMS Interval" = 0.00) AND ("- VDN Details"."VDN Area" = 'SVC') AND ("- VDN Details"."VDN Business Unit" = 'HLT') AND ("- Reporting Date"."Reporting Date" Between "- VDN Details"."VDN Start Date" and "- VDN Details"."VDN End Date"))) USING ("- VDN Details"."VDN Partner" = 'UHG')) saw_1 FROM Finance WHERE ("- Reporting Date"."Reporting Year" = VALUEOF("CURRENT_YEAR")) AND ("- Reporting Date"."Reporting Month" <> VALUEOF("CURRENT_MONTH"))) UNION (SELECT "- Reporting Date"."Reporting Month" saw_0, 0 saw_1 FROM Finance WHERE "- Reporting Date"."Reporting Year" = VALUEOF("CURRENT_YEAR"))) t1 ORDER BY saw_0
]]></sqlStatement>
</dataQuery>
<dataStructure>
<group name="CallData" source="CallData">
<element name="REPORTINGMONTH" value="saw_0"/>
<element name="CALLSANSWERED" value="saw_1"/>
</group>
Similar Messages
-
Help with UNION sql statement......
Hi guys,
So I've got 3 tables (CHILD, TEENANGER and ADULT) and each have a column called 'Planned_Dosage_Date' and 'Actual_Dosage_Date'.
I have put together a SELECT statement like this:
SELECT
ITEV.AGE_SECTOR,
ICPL.AGE_SECTOR_CODE,
ITR.PLANNED_DOSAGE_DATE || '/' || ITR.ACTUAL_DOSAGE_DATE
FROM
PAT_TR_EVENT ITEV,
PAT_MEDICAL_PLANICPL,
PAT_EXAMINATION ITR
WHERE
ITEV.AGE_SECTOR = ICPL.AGE_SECTOR
AND ITEV.ID_NO = ITR.ID_NO
AND ITEV.ID_NO = 269
AND ITEV.MED_NO = 3200
UNION
SELECT
ITEV.AGE_SECTOR,
ICPL.AGE_SECTOR_CODE,
ITRC.PLANNED_DOSAGE_DATE || '/' || ITRC.ACTUAL_DOSAGE_DATE
FROM
PAT_TRC_EVENT IYEV,
PAT_MEDICAL_PLAN ICPL,
PAT_EXAMINATION ITR,
PAT_EXAMINATION_COUNTRY ITRC,
PAT_TR_EVENT ITEV
WHERE
IYEV.AGE_SECTOR = ICPL.AGE_SECTOR
AND IYEV.MED_NO = ITEV.MED_NO
AND IYEV.ID_NO = ITR.ID_NO
AND IYEV.ID_NO = ITRC.ID_NO
AND IYEV.ID_NO = ITEV.ID_NO
AND IYEV.COUNTRY_CODE = ITRC.COUNTRY_CODE
AND IYEV.ID_NO = 269
AND IYEV.MED_NO = 3200
UNION
SELECT
ITEV.AGE_SECTOR,
ICPL.AGE_SECTOR_CODE,
ITU.PLANNED_DOSAGE_DATE || '/' || ITU.ACTUAL_DOSAGE_DATE
FROM
PAT_TR_EVENT ITEV,
PAT_MEDICAL_PLAN ICPL,
PAT_EXAMINATION ITR,
PAT_TU_EVENT IUEV,
PAT_EXAMINATION_UNIT ITU,
PAT_EXAMINATION_COUNTRY ITRC,
PAT_TRC_EVENT IYEV
WHERE
IUEV.AGE_SECTOR = ICPL.AGE_SECTOR
AND IUEV.MED_NO = ITEV.MED_NO
AND IUEV.MED_NO = IYEV.MED_NO
AND IUEV.ID_NO=ITR.ID_NO
AND IUEV.ID_NO=ITRC.ID_NO
AND IUEV.ID_NO=ITU.ID_NO
AND IUEV.ID_NO = ITEV.ID_NO
AND IUEV.ID_NO = IYEV.ID_NO
AND IUEV.COUNTRY_CODE=ITRC.COUNTRY_CODE
AND IUEV.COUNTRY_CODE=ITU.COUNTRY_CODE
AND IUEV.COUNTRY_CODE = IYEV.COUNTRY_CODE
AND IUEV.ID_NO= 269
AND IUEV.MED_NO = 3200
ORDER BY COUNTRY_DESC ASC, UNIT_NO ASCNow the output from this is:
AGE_SECTOR AGE_SECTOR_CODE ITR. PLANNED_DOSAGE_DATE/ITR.ACTUAL_DOSAGE_DATE
10-20 ADU 01-JAN-09/07-FEB-09
What I want is for the results of:
ITRC.PLANNED_DOSAGE_DATE || '/' || ITRC.ACTUAL_DOSAGE_DATE
ITU.PLANNED_DOSAGE_DATE || '/' || ITU.ACTUAL_DOSAGE_DATE
to also be printed so it looks like:
AGE_SECTOR AGE_SECTOR_CODE ITR. PLANNED_DOSAGE_DATE/ITR.ACTUAL_DOSAGE_DATE ITRC.PLANNED_DOSAGE_DATE/ITRC.ACTUAL_DOSAGE_DATE ITU.PLANNED_DOSAGE_DATE/ITU.ACTUAL_DOSAGE_DATE
10-20 ADU 01-JAN-09/07-FEB-09 01-MAR-09/07-JUL-09 01-DEC-08/07-DEC-08How can this be achieved? Am I using the UNION statemen in the incorrect way?
Thanks!
Edited by: Sastry on Oct 29, 2009 2:48 AM
Edited by: Sastry on Oct 29, 2009 2:57 AM
Edited by: Sastry on Oct 29, 2009 2:58 AM
Edited by: Sastry on Oct 29, 2009 3:01 AM
Edited by: Sastry on Oct 29, 2009 3:09 AM
Edited by: Sastry on Oct 29, 2009 3:10 AMI don't think you should be using union here - you will lose the data from soem of the 3 sectors if the dates are the same as UNION does a unique sort. Maybe use UNION ALL, but I think you'd be better off joining.
Not tested, and you may wish to review whether you need to use outer joins in the last query (What happens if there's no dates for some of the 3 sections?), but something like this:
WITH itr AS
SELECT
ITEV.AGE_SECTOR,
ICPL.AGE_SECTOR_CODE,
ITR.PLANNED_DOSAGE_DATE || '/' || ITR.ACTUAL_DOSAGE_DATE AS dt
FROM
PAT_TR_EVENT ITEV,
PAT_MEDICAL_PLANICPL,
PAT_EXAMINATION ITR
WHERE
ITEV.AGE_SECTOR = ICPL.AGE_SECTOR
AND ITEV.ID_NO = ITR.ID_NO
AND ITEV.ID_NO = 269
AND ITEV.MED_NO = 3200
itrc AS
SELECT
ITEV.AGE_SECTOR,
ICPL.AGE_SECTOR_CODE,
ITRC.PLANNED_DOSAGE_DATE || '/' || ITRC.ACTUAL_DOSAGE_DATE AS dt
FROM
PAT_TRC_EVENT IYEV,
PAT_MEDICAL_PLAN ICPL,
PAT_EXAMINATION ITR,
PAT_EXAMINATION_COUNTRY ITRC,
PAT_TR_EVENT ITEV
WHERE
IYEV.AGE_SECTOR = ICPL.AGE_SECTOR
AND IYEV.MED_NO = ITEV.MED_NO
AND IYEV.ID_NO = ITR.ID_NO
AND IYEV.ID_NO = ITRC.ID_NO
AND IYEV.ID_NO = ITEV.ID_NO
AND IYEV.COUNTRY_CODE = ITRC.COUNTRY_CODE
AND IYEV.ID_NO = 269
AND IYEV.MED_NO = 3200
itu AS
SELECT
ITEV.AGE_SECTOR,
ICPL.AGE_SECTOR_CODE,
ITU.PLANNED_DOSAGE_DATE || '/' || ITU.ACTUAL_DOSAGE_DATE AS dt
FROM
PAT_TR_EVENT ITEV,
PAT_MEDICAL_PLAN ICPL,
PAT_EXAMINATION ITR,
PAT_TU_EVENT IUEV,
PAT_EXAMINATION_UNIT ITU,
PAT_EXAMINATION_COUNTRY ITRC,
PAT_TRC_EVENT IYEV
WHERE
IUEV.AGE_SECTOR = ICPL.AGE_SECTOR
AND IUEV.MED_NO = ITEV.MED_NO
AND IUEV.MED_NO = IYEV.MED_NO
AND IUEV.ID_NO=ITR.ID_NO
AND IUEV.ID_NO=ITRC.ID_NO
AND IUEV.ID_NO=ITU.ID_NO
AND IUEV.ID_NO = ITEV.ID_NO
AND IUEV.ID_NO = IYEV.ID_NO
AND IUEV.COUNTRY_CODE=ITRC.COUNTRY_CODE
AND IUEV.COUNTRY_CODE=ITU.COUNTRY_CODE
AND IUEV.COUNTRY_CODE = IYEV.COUNTRY_CODE
AND IUEV.ID_NO= 269
AND IUEV.MED_NO = 3200
SELECT itr.age_sector,
itr.age_sector_code,
itr.dt AS itr_dates,
itrc.dt AS itrc_dates,
itu.dt AS itu_dates
FROM itr
JOIN itrc ON itrc.age_sector = itr.age_sector_code
JOIN itu ON itu.age_sector_code = itr.age_sector_code -
Integrating the two parts of a union select statement...
Hi everybody ,
I have a query such as the one follows...:
SELECT TMHMA , DATES , COUNT(EXETASI)
FROM PARAGG_LAB_TESTS_LOCAL_MS PAR_TESTS_MS , PARAGG_LAB_TESTS_LOCAL PAR_TESTS_DET
WHERE PAR_TESTS_MS.BARCODE=PAR_TESTS_DET.BARCODE
GROUP BY TMHMA , DATES
UNION
SELECT TMHMA , DATES , SUM(NUM_TESTS)
FROM NUM_TESTS_PROFILE ,
PARAGG_LAB_PROFILES_LOCAL_MS PAR_PROFILE_MS , PARAGG_LAB_PROFILES_LOCAL PAR_PROFILE_DET
WHERE PAR_PROFILE_MS.BARCODE=PAR_PROFILE_DET.BARCODE AND
PAR_PROFILE_DET.PROFILE=NUM_TESTS_PROFILE.CODE_PROFILE
GROUP BY TMHMA , DATES
Is this possible to integrate the two parts of the above union sql statement into one (without using union) and compute the result of COUNT(EXETASI)+SUM(NUM_TESTS)..????
Thanks , a lot
SimonHi , Jameel
it is not correct because the columns more than one table has the columns TMHMA and DATES . To indicate this , i rewrite the query...
SELECT PAR_TESTS_MS.TMHMA , PAR_TESTS_MS.DATES , COUNT(EXETASI)
FROM PARAGG_LAB_TESTS_LOCAL_MS PAR_TESTS_MS , PARAGG_LAB_TESTS_LOCAL PAR_TESTS_DET
WHERE PAR_TESTS_MS.BARCODE=PAR_TESTS_DET.BARCODE
GROUP BY TMHMA , DATES
UNION
SELECT PAR_PROFILE_MS.TMHMA , PAR_PROFILE_MS.DATES , SUM(NUM_TESTS)
FROM NUM_TESTS_PROFILE ,
PARAGG_LAB_PROFILES_LOCAL_MS PAR_PROFILE_MS , PARAGG_LAB_PROFILES_LOCAL PAR_PROFILE_DET
WHERE PAR_PROFILE_MS.BARCODE=PAR_PROFILE_DET.BARCODE AND
PAR_PROFILE_DET.PROFILE=NUM_TESTS_PROFILE.CODE_PROFILE
GROUP BY TMHMA , DATES
and the results
TMHMA DATES COUNT(EXETASI)
11 19/8/2005 1
11 15/9/2005 4
11 15/9/2005 57
11 16/9/2005 58
11 10/10/2005 4
11 10/10/2005 72
11 14/10/2005 3
11 14/10/2005 160
11 7/4/2006 2
11 7/4/2006 53
11 8/4/2006 2
11 8/4/2006 61
11 9/4/2006 2
11 9/4/2006 31
209 30/4/2006 3
209 30/4/2006 31
209 8/5/2006 4
209 8/5/2006 31
88 20/10/2005 2
88 20/10/2005 59
and the expected results.....
TMHMA DATES COUNT(EXETASI)
11 19/8/2005 1
11 15/9/2005 61
11 16/9/2005 58
11 10/10/2005 76
11 14/10/2005 163
11 7/4/2006 55
11 8/4/2006 63b]
11 9/4/2006 [b]33
209 30/4/2006 34
209 8/5/2006 35
88 20/10/2005 61
Thanks , a lot
Simon -
How to tune the following sql statements which has two unions in oracle 10g
It takes a long time to run the following sql statement in 10g. Each select brings back about 4 million rows and there will be about 12 million rows. When I run each select statements seprately in sqlplus I can see the data immedaitely but when I run it as whole with two unions in the select it just takes very very long time? I want to know how to make this run faster? Can we add hints? or is it because of any table space? Any help is appreciated.
select
D.EMPLID
,D.COMPANY
,'CY'
,D.CALENDAR_YEAR
,D.QTRCD
,D.ERNCD
,D.MONTHCD
,D.MONTHCD
,D.GRS_MTD
,D.GRS_QTD
,D.GRS_YTD
,D.HRS_MTD
,D.HRS_QTD
,D.HRS_YTD
from PS_EARNINGS_BAL D
where D.SPCL_BALANCE = 'N'
union
select
D.EMPLID
,D.COMPANY
,'FY'
,(case when D.MONTHCD > '06' then D.CALENDAR_YEAR + 1 else D.CALENDAR_YEAR end)
,ltrim(to_char(to_number(D.QTRCD) + decode(sign(3-to_number(D.QTRCD)),1,2,-2),'9'))
,D.ERNCD
,ltrim(to_char(to_number(D.MONTHCD) + decode(sign(7-to_number(D.MONTHCD)),1,6,-6),'09'))
,D.MONTHCD
,D.GRS_MTD
,D.GRS_QTD
,(select sum(F.GRS_MTD) from PS_EARNINGS_BAL F where
F.EMPLID = D.EMPLID and
F.COMPANY = D.COMPANY and
F.ERNCD = D.ERNCD and
F.SPCL_BALANCE = D.SPCL_BALANCE and
(case when F.MONTHCD < '07' then F.CALENDAR_YEAR -1 else F.CALENDAR_YEAR end)
= (case when D.MONTHCD < '07' then D.CALENDAR_YEAR -1 else D.CALENDAR_YEAR end)
and to_number(F.MONTHCD) + decode(sign(7-to_number(F.MONTHCD)),1,6,-6)
<= to_number(D.MONTHCD) + decode(sign(7-to_number(D.MONTHCD)),1,6,-6))
,D.HRS_MTD
,D.HRS_QTD
,(select sum(F.HRS_MTD) from PS_EARNINGS_BAL F where
F.EMPLID = D.EMPLID and
F.COMPANY = D.COMPANY and
F.ERNCD = D.ERNCD and
F.SPCL_BALANCE = D.SPCL_BALANCE and
(case when F.MONTHCD < '07' then F.CALENDAR_YEAR -1 else F.CALENDAR_YEAR end)
= (case when D.MONTHCD < '07' then D.CALENDAR_YEAR -1 else D.CALENDAR_YEAR end)
and to_number(F.MONTHCD) + decode(sign(7-to_number(F.MONTHCD)),1,6,-6)
<= to_number(D.MONTHCD) + decode(sign(7-to_number(D.MONTHCD)),1,6,-6))
from PS_EARNINGS_BAL D
where D.SPCL_BALANCE = 'N'
union
select
D.EMPLID
,D.COMPANY
,'FF'
,(case when D.MONTHCD > '09' then D.CALENDAR_YEAR + 1 else D.CALENDAR_YEAR end)
,ltrim(to_char(to_number(D.QTRCD)+decode(sign(4-to_number(D.QTRCD)),1,1,-3),'9'))
,D.ERNCD
,ltrim(to_char(to_number(D.MONTHCD)+decode(sign(10-to_number(D.MONTHCD)),1,3,-9),'09'))
,D.MONTHCD
,D.GRS_MTD
,D.GRS_QTD
,(select sum(F.GRS_MTD) from PS_EARNINGS_BAL F where
F.EMPLID = D.EMPLID and
F.COMPANY = D.COMPANY and
F.ERNCD = D.ERNCD and
F.SPCL_BALANCE = D.SPCL_BALANCE and
(case when F.MONTHCD < '10' then F.CALENDAR_YEAR -1 else F.CALENDAR_YEAR end)
= (case when D.MONTHCD < '10' then D.CALENDAR_YEAR -1 else D.CALENDAR_YEAR end)
and to_number(F.MONTHCD)+decode(sign(4-to_number(F.MONTHCD)),1,9,-3)
<= to_number(D.MONTHCD)+decode(sign(4-to_number(D.MONTHCD)),1,9,-3))
,D.HRS_MTD
,D.HRS_QTD
,(select sum(F.HRS_MTD) from PS_EARNINGS_BAL F where
F.EMPLID = D.EMPLID and
F.COMPANY = D.COMPANY and
F.ERNCD = D.ERNCD and
F.SPCL_BALANCE = D.SPCL_BALANCE and
(case when F.MONTHCD < '10' then F.CALENDAR_YEAR -1 else F.CALENDAR_YEAR end)
= (case when D.MONTHCD < '10' then D.CALENDAR_YEAR -1 else D.CALENDAR_YEAR end)
and to_number(F.MONTHCD)+decode(sign(4-to_number(F.MONTHCD)),1,9,-3)
<= to_number(D.MONTHCD)+decode(sign(4-to_number(D.MONTHCD)),1,9,-3))
from PS_EARNINGS_BAL D
where D.SPCL_BALANCE = 'N'
Edited by: user5846372 on Mar 11, 2009 8:55 AMHi,
What i observed is that your table name and where clause is same in all the thress SELECTs whereas columns having some manipulations that is not going to be unique. I guess you can easily replace UNION with UNION ALL.
from PS_EARNINGS_BAL D
where D.SPCL_BALANCE = 'N'Note: I am not aware of your data and business requirement. Please test the result before removing. It is just a suggetion
Cheers,
Avinash -
SQL statement with union clause
Hi,
I have a scenario where i need to generate a sql statement with UNION .
Eg:
SELECT B.YY_ID,
FROM XXXX.YY B
WHERE (B.YY_TY= 'as')
UNION
SELECT B.YY_ID
FROM XXXX.YY_ALT_NAME A, XXXX.YY B
WHERE (A.YY_TY= 'zx'
AND (B.YY_ID=A.YY_ID)"
I tried ns1:table1() union ns3:table2() in XQuery.
But it is pushdown as 2 seperate sqls.
Is it possible to create XQuery that pushdown as SINGLE SQL statement with union clause ?
ThanksNo. See 3.1.1.5 in the document I referenced in your previous post.
-
How do I use SQL statements to perform calculations with form fields????
Please help!!! I don't know how to use a SQL statement within my APEX form......
My form is below. The user will enter the values in the form. Click on Submit. Then we need to run a SQL select statement with those values.
Our form looks like this:
Start_Date ____________
Per_Period ____________
Period ____________
[Submit Button]
The user will enter these 3 values in the form.
This is an example of an user providing the values:
Start_Date 03/14/08_______
Per_Period $200.00________
Period 4____________
[Submit Button]
Then they will click the Submit Button.
The SQL statement (BELOW) returns output based on the users selections:
START_DATE PER_PERIOD PERIOD
14-MAR-2008 00:00 200 Week 1 of 4
21-MAR-2008 00:00 200 Week 2 of 4
28-MAR-2008 00:00 200 Week 3 of 4
04-APR-2008 00:00 200 Week 4 of 4
Total 800
This is the full text of the SQL that makes the output above:
with criteria as (select to_date('03/14/08', 'mm/dd/rr') as start_date,
4 as periods,
'Week' as period,
200 per_period from dual),
periods as (select 'Week' period, 7 days, 0 months from dual
union all select 'BiWeek', 14, 0 from dual
union all select 'Month', 0, 1 from dual
union all select 'ByMonth', 0, 2 from dual
union all select 'Quarter', 0, 3 from dual
union all select 'Year', 0 , 12 from dual
t1 as (
select add_months(start_date,months*(level-1))+days*(level-1) start_date,
per_period,
c.period||' '||level||' of '||c.periods period
from criteria c join periods p on c.period = p.period
connect by level <= periods)
select case grouping(start_date)
when 1 then 'Total'
else to_char(start_date)
end start_date,
sum(per_period) per_period,
period
from t1
group by rollup ((start_date, period))
THANKS VERY MUCH!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!You're just doing a parameterized report, where the input fields are your parameters.
Check out the Advanced Tutorial titled Parameterized Report here:
http://download.oracle.com/docs/cd/E10513_01/doc/appdev.310/e10497/rprt_query.htm#BGBEEBJA
Good luck,
Stew -
Oracle Parsing SQL Statement in ANSI or Oracle Format
I have problem with a Query ..It seems to be Oracle Bugs .
When I enter below simple Query (in Oracle Join format ), It works properly
select * from (
select dept.*,emp.ename from dept,emp
where dept.deptno=emp.deptno(+)
where deptno in
select deptno a from
select deptno,dname from dept where deptno=10
UNION ALL
select deptno,dname from dept where deptno=20
But When I changed it and use it in ANSI Format ,it is not parsed and shows me ORA-00920: invalid relational operator error ......
Below shows the changes that I have made to convert it to ANSI Format.
select * from (
select dept.*,emp.ename from dept
left outer join emp on (emp.deptno=dept.deptno)
where (deptno) in
select deptno a from
select deptno,dname from dept where deptno=10
UNION ALL
select deptno,dname from dept where deptno=20
It seems to be Oracle bugs.I appreciate everybody to help me.
( Comments : I use Oracle 9i R2 on Windows and I can not change the SQL statement
because it is created dynamically)
Best regardsThis sort of technical question needs to be addressed to one of the technical forums. Products | Database | SQL and PL/SQL would seem to be appropriate here.
Have you tried applying the latest patchset for your database? Seems to work for me on 9.2.0.5
SCOTT @ HP92 Local> select * from (
2 select dept.*,emp.ename from dept
3 left outer join emp on (emp.deptno=dept.deptno)
4 )
5 where (deptno) in
6 (
7 select deptno a from
8 (
9 select deptno,dname from dept where deptno=10
10 UNION ALL
11 select deptno,dname from dept where deptno=20
12 )
13 )
14 /
DEPTNO DNAME LOC ENAME
10 ACCOUNTING NEW YORK CLARK
10 ACCOUNTING NEW YORK KING
10 ACCOUNTING NEW YORK MILLER
20 RESEARCH DALLAS SMITH
20 RESEARCH DALLAS JONES
20 RESEARCH DALLAS SCOTT
20 RESEARCH DALLAS ADAMS
20 RESEARCH DALLAS FORD
8 rows selected.
SCOTT @ HP92 Local> select * from v$version;
BANNER
Oracle9i Enterprise Edition Release 9.2.0.5.0 - Production
PL/SQL Release 9.2.0.5.0 - Production
CORE 9.2.0.6.0 Production
TNS for 32-bit Windows: Version 9.2.0.5.0 - Production
NLSRTL Version 9.2.0.5.0 - ProductionJustin
Distributed Database Consulting, Inc.
http://www.ddbcinc.com/askDDBC -
How to create formulas in an SQL statement
Hello,
I am trying to create a formula in an sql statement without creating a external function.
Here is my example :
select (x + y) as a,
(x + y) + 2
from dual
As you can see the formula “(X + Y)” is repeated.
I would be glad to write a select statement like that :
select (x + y) as a,
a + 2
from dual
any ideas?
ThanksI have a nasty feeling there is in XQuery expressions, but I'm not going there. ;-)
michaels> WITH t AS
(SELECT 1 ID, 1 x, 2 y FROM DUAL UNION ALL
SELECT 2, 3, 4 FROM DUAL UNION ALL
SELECT 3, 5, 6 FROM DUAL)
SELECT *
FROM XMLTable('declare function local:a($a,$b)
($a + $b)
}; (: eof :)
for $i in /ROWSET/ROW
return <ROW>
<ID>{$i/ID}</ID>
<X>{$i/X}</X>
<Y>{$i/Y}</Y>
<A>{local:a($i/X,$i/Y)}</A>
<B>{local:a($i/X,$i/Y) + 2}</B>
</ROW>' PASSING XMLTYPE(CURSOR(SELECT * FROM t))
COLUMNS ID NUMBER PATH 'ID',
X NUMBER PATH 'X',
Y NUMBER PATH 'Y',
A NUMBER PATH 'A',
B NUMBER PATH 'B'
ID X Y A B
1 1 2 3 5
2 3 4 7 9
3 5 6 11 13 -
SQL statement that includes LEFT & RIGHT JOIN in the same statement??? Help
Hi,
How an I write an SQL statement with a GROUP BY that will both (a) include the NULL value from the left hand table, but also (b) include ALL columns from the right hand table. It's like I need a LEFT JOIN and a RIGHT JOIN in the query at the same time.
Here's an example of the 2 tables I have and the result I'm after. As you can see I want the NULL's from Expenses Table summed, as well as include all categories from the right hand table (i.e. even if there are no expenses against them)
Table = Expenses
Amount Category
$10 1
$20 2
$30 1
$40 NULL {i.e. not yet categorised}
Table = Categories
ID Title
1 Food
2 Entertainment
3 Travel
4 Personal
REQUIRED RESULT
Category Total
Food 40
Entertainment 20
Travel 0
Personal 0
NULL 40
ThanksSQL> create table expenses (amount,category)
2 as
3 select 10, 1 from dual union all
4 select 20, 2 from dual union all
5 select 30, 1 from dual union all
6 select 40, null from dual
7 /
Table created.
SQL> create table categories (id,title)
2 as
3 select 1, 'Food' from dual union all
4 select 2, 'Entertainment' from dual union all
5 select 3, 'Travel' from dual union all
6 select 4, 'Personal' from dual
7 /
Table created.
SQL> select c.title category
2 , nvl(sum(e.amount),0) total
3 from expenses e
4 full outer join categories c on (e.category = c.id)
5 group by c.id
6 , c.title
7 order by c.id
8 /
CATEGORY TOTAL
Food 40
Entertainment 20
Travel 0
Personal 0
40
5 rows selected.Regards,
Rob. -
Compute Date Range with SQL Statement
I'm sure there is a way to do this in SQL, but I cannot figure it out. I can write a PL/SQL script to do it, but would prefer using a SQL Statement. My database is Oracle Database 10.2.0.4.0.
I have a table that contains information such as the employee number, department id, and the effective date of when the person started in that department. There is data in another table that I want to update their department number in based on their effective date range. If I could figure out how to select the effective date range correctly, I can do the rest.
I have data such as:
EMP_ID DEPT_NO EFFECTIVE
101 1000 1/15/2001
101 1050 5/24/2005
101 2010 6/8/2008
101 1000 8/2/2010
I want to write a SELECT statement that returns something like this where the END_DATE is the day before the EFFECTIVE date and the last record does not have an END_DATE because they are still assigned to that department. Also, the first record in the column, I don't want to select a DEPT_NO because the effective date logic was added in January 2001 so if a person started back in 1985 they could have switched departments zero to many times so I'm not going to update any data for that period:
EMP_ID DEPT_NO EFFECTIVE END_DATE
101 1/14/2001
101 1000 1/15/2001 5/23/2005
101 1050 5/24/2005 6/7/2008
101 2010 6/8/2008 8/1/2010
101 1000 8/2/2010
Below is a script to create the data in a temp table that can be used to write a SELECT statement on. I have added two employee records with different dates.
create table temp_activity
(emp_id number(12),
dept_no number(12),
effective date);
INSERT INTO temp_activity
(EMP_ID,DEPT_NO,EFFECTIVE)
VALUES
(101,1000,to_date('1/15/2001','MM/DD/YYYY'))
INSERT INTO temp_activity
(EMP_ID,DEPT_NO,EFFECTIVE)
VALUES
(101,1050,to_date('5/24/2005','MM/DD/YYYY'))
INSERT INTO temp_activity
(EMP_ID,DEPT_NO,EFFECTIVE)
VALUES
(101,2010,to_date('6/8/2008','MM/DD/YYYY'))
INSERT INTO temp_activity
(EMP_ID,DEPT_NO,EFFECTIVE)
VALUES
(101,1000,to_date('8/2/2010','MM/DD/YYYY'))
INSERT INTO temp_activity
(EMP_ID,DEPT_NO,EFFECTIVE)
VALUES
(102,1040,to_date('1/15/2001','MM/DD/YYYY'))
INSERT INTO temp_activity
(EMP_ID,DEPT_NO,EFFECTIVE)
VALUES
(102,2000,to_date('6/16/2006','MM/DD/YYYY'))
Any help is appreciated. This is probably easy, but I cannot get my brain wrapped around it.
Thanks - mikeselect emp_id,
dept_no,
effective,
end_date
from (
select emp_id,
dept_no,
effective,
lead(effective) over(partition by emp_id order by effective) - 1 end_date,
row_number() over(partition by emp_id order by effective) rn
from temp_activity
union all
select emp_id,
null dept_no,
null effective,
min(effective) - 1 end_date,
0 rn
from temp_activity
group by emp_id
order by emp_id,
rn
EMP_ID DEPT_NO EFFECTIVE END_DATE
101 01/14/2001
101 1000 01/15/2001 05/23/2005
101 1050 05/24/2005 06/07/2008
101 2010 06/08/2008 08/01/2010
101 1000 08/02/2010
102 01/14/2001
102 1040 01/15/2001 06/15/2006
102 2000 06/16/2006
8 rows selected.
SQL> SY. -
SQL statement works with SQL/Plus - but not with ODBC
Hi all,
I have a rather copmplex SQL statement:
BEGIN
UPDATE ContentDataTable
SET SYMBOLIC_PATH_PARENT = N'/Test',
SYMBOLIC_NAME = N'HAWK01.GIF',
VERSION_NUMBER = 1 +
SELECT MAX(VERSION)
FROM
(SELECT MAX(VERSION_NUMBER) AS VERSION
FROM ContentDataTable WHERE
SYMBOLIC_PATH_PARENT = N'/Test' AND
SYMBOLIC_NAME = N'HAWK01.GIF'
UNION
SELECT MAX(VERSION_NUMBER) AS VERSION
FROM RevisedContentDataTable WHERE
SYMBOLIC_PATH_PARENT = N'/Test' AND
SYMBOLIC_NAME = N'HAWK01.GIF'))
WHERE SYMBOLIC_PATH_PARENT = N'/Test' AND SYMBOLIC_NAME = N'HAWK02.GIF' AND VERSION_NUMBER = 1;
END;
It works fine in SQL/Plus or SQL Worksheet and does what it should do ;-)
But when using it via ADO (ODBC Driver) I get the following error:
PLS-00103 found 'string' but expected one of the following: 'string'"}
Any idaes?
Thanx,
Christian
nullPardon my ignorance, but what's the significance of the N'<string>' construction? That's not one I'm familar with.
Justin -
EXECUTE IMMEDIATE problem with long SQL statement
Hello Experts,
I am having a BIG problem executing script inside the iSQLPlus. This script has 29 blocks. 27 of those blocks are working OK, but block #26 and #27 are giving me the error on the "EXECUTE IMMEDIATE" statement. The length of the SQL statements in those two blocks is more then 4000 characters and I can not use a string variable to keep the SQL statement. If I pass the entire SQL statement as a string to the "EXECUTE IMMEDIATE" command, I am getting the error inside the iSQLPlus:
Error writing 26 Bad Value. -907: ORA-00907: missing right parenthesis
Error writing 27 Bad Value. -907: ORA-00907: missing right parenthesis
The script code is shown below:
SET ECHO OFF;
SET VERIFY OFF;
SET PAGESIZE 78;
SET LINESIZE 132;
SET SERVEROUTPUT ON;
SET FEEDBACK OFF;
--PROMPT;
--PROMPT REPORT BEING PROCESSED - PLEASE WAIT.
--PROMPT;
DECLARE
l_count NUMBER;
s_user VARCHAR2(50);
s_command VARCHAR2(4000);
CURSOR INREC (BATCH_PARAM NUMBER) IS
SELECT BATCH,
AK$DEALER,
FK$TRIP_TICKET,
INVOICE,
CONTINUATION_IND,
TRIP_DATE,
SPL_NO,
AK$MRIS_AREA,
AK$MRIS_COUNTY,
TIME_FISHED,
TIME_UNITS,
DEPTH,
DEPTH_UNITS
FROM T$TRIP_TICKET_WORK
WHERE TO_NUMBER(BATCH) = BATCH_PARAM;
DATEST DATE;
BEGDATE DATE;
ENDATE DATE;
FLAGCNT NUMBER := 0;
MSGNUM NUMBER;
MAXLIC VARCHAR2(7);
BEGIN
select sys_context('USERENV','SESSION_USER') into s_user from dual;
select count(*) into l_count from all_tables where table_name = 'BATCHERS_REPORT' and owner=s_user;
--the table 'BATCHERS_REPORT' alwase exist for the MRIS user role,co we have to check if more then 1 record exist:
IF l_count > 0 then
--TRUNCATE TABLE BATCHERS_REPORT REUSE STORAGE;
s_command := 'TRUNCATE TABLE BATCHERS_REPORT REUSE STORAGE';
execute immediate s_command;
ELSE
--CREATE TABLE BATCHERS_REPORT AS (SELECT * FROM MRIS.BATCHERS_REPORT);
--s_command := 'CREATE TABLE BATCHERS_REPORT AS SELECT * FROM MRIS.BATCHERS_REPORT WHERE 1=2';
s_command := 'CREATE TABLE BATCHERS_REPORT
(BATCH VARCHAR2(6),
AK$DEALER VARCHAR2(9),
FK$TRIP_TICKET NUMBER,
INVOICE VARCHAR2(13),
CONTINUATION_IND VARCHAR2(1),
TRIP_DATE VARCHAR2(8),
SPL_NO VARCHAR2(9),
AK$MRIS_AREA VARCHAR2(7),
AK$MRIS_COUNTY VARCHAR2(3),
TIME_FISHED VARCHAR2(3),
TIME_UNITS VARCHAR2(1),
DEPTH VARCHAR2(5),
DEPTH_UNITS VARCHAR2(1),
AK$MRIS_GEAR VARCHAR2(4),
AK$SPECIES VARCHAR2(4),
SPECIES_SIZE VARCHAR2(8),
WEIGHT_IN_POUNDS NUMBER(10,2),
UNIT_PRICE NUMBER(5,3),
ERROR_NUM NUMBER)';
execute immediate s_command;
execute immediate 'commit';
END IF;
DBMS_OUTPUT.PUT_LINE('.');
DBMS_OUTPUT.PUT_LINE('. PROCEDURE NAME = BATCHERS');
DBMS_OUTPUT.PUT_LINE('. STARTING TIME = '||TO_CHAR(SYSDATE,'MM/DD/YYYY HH:MI:SS'));
SELECT MAX(DATE_B), MAX(DATE_E)
INTO BEGDATE, ENDATE
FROM T$BATCH_HEADER
WHERE PK$BATCH = &BATCHNUM;
SELECT LPAD(MAX(LIC_NUM),7,'0') INTO MAXLIC
FROM T$SWP_LICENSE;
BEGIN
MSGNUM := 1;
s_command := 'INSERT INTO BATCHERS_REPORT
(BATCH, AK$DEALER, FK$TRIP_TICKET, INVOICE,
CONTINUATION_IND, TRIP_DATE, SPL_NO, AK$MRIS_AREA,
AK$MRIS_COUNTY, TIME_FISHED, TIME_UNITS, DEPTH, DEPTH_UNITS,
AK$SPECIES, SPECIES_SIZE, WEIGHT_IN_POUNDS, UNIT_PRICE,
AK$MRIS_GEAR, ERROR_NUM)
SELECT T.BATCH, T.AK$DEALER, T.FK$TRIP_TICKET, T.INVOICE,
T.CONTINUATION_IND, T.TRIP_DATE, T.SPL_NO, T.AK$MRIS_AREA,
T.AK$MRIS_COUNTY, T.TIME_FISHED, T.TIME_UNITS, T.DEPTH, T.DEPTH_UNITS,
S.AK$SPECIES, LTRIM(S.SPECIES_SIZE),
TO_NUMBER(S.WEIGHT_IN_POUNDS), TO_NUMBER(S.UNIT_PRICE),
G.AK$MRIS_GEAR, '||''''||MSGNUM||''''||'
FROM T$TRIP_TICKET_WORK T,
T$TRIP_TICKET_GEAR_WORK G,
T$TRIP_TICKET_SPECIES_WORK S
WHERE (TO_NUMBER(T.BATCH) = '|| &BATCHNUM ||') AND (T.FK$TRIP_TICKET = G.AK$TRIP_TICKET)
AND T.FK$TRIP_TICKET = S.AK$TRIP_TICKET
AND (G.AK$MRIS_GEAR IS NULL
OR G.AK$MRIS_GEAR NOT IN (SELECT TO_CHAR(PK$MRIS_GEAR) FROM MT$MRIS_GEAR))
UNION
SELECT T.BATCH, T.AK$DEALER, T.FK$TRIP_TICKET, T.INVOICE,
T.CONTINUATION_IND, T.TRIP_DATE, T.SPL_NO, T.AK$MRIS_AREA,
T.AK$MRIS_COUNTY, T.TIME_FISHED, T.TIME_UNITS, T.DEPTH, T.DEPTH_UNITS,
S.AK$SPECIES, LTRIM(S.SPECIES_SIZE),
TO_NUMBER(S.WEIGHT_IN_POUNDS), TO_NUMBER(S.UNIT_PRICE),
G.AK$MRIS_GEAR, '||''''||MSGNUM||''''||'
FROM T$TRIP_TICKET_WORK T,
T$TRIP_TICKET_GEAR_WORK G,
T$TRIP_TICKET_SPECIES_WORK S
WHERE (TO_NUMBER(T.BATCH) = '|| &BATCHNUM ||')
AND (T.FK$TRIP_TICKET = G.AK$TRIP_TICKET)
AND T.FK$TRIP_TICKET = S.AK$TRIP_TICKET
AND (G.AK$MRIS_GEAR IN (110, 120, 130)
AND NOT EXISTS (SELECT * FROM T$TRIP_TICKET_GEAR_WORK G2
WHERE G2.AK$TRIP_TICKET = G.AK$TRIP_TICKET
AND G2.AK$MRIS_GEAR = 40))';
execute immediate s_command;
FLAGCNT := FLAGCNT + SQL%ROWCOUNT;
--COMMIT;
execute immediate 'commit';
EXCEPTION WHEN OTHERS THEN
DBMS_OUTPUT.PUT_LINE('. Error writing '||MSGNUM||' Bad Value');
END;
BEGIN
MSGNUM := 2;
s_command := 'INSERT INTO BATCHERS_REPORT
(BATCH, AK$DEALER, FK$TRIP_TICKET, INVOICE,
CONTINUATION_IND, TRIP_DATE, SPL_NO, AK$MRIS_AREA,
AK$MRIS_COUNTY, TIME_FISHED, TIME_UNITS, DEPTH, DEPTH_UNITS,
AK$MRIS_GEAR,
ERROR_NUM)
SELECT T.BATCH, T.AK$DEALER, T.FK$TRIP_TICKET, T.INVOICE,
T.CONTINUATION_IND, T.TRIP_DATE, T.SPL_NO, T.AK$MRIS_AREA,
T.AK$MRIS_COUNTY, T.TIME_FISHED, T.TIME_UNITS, T.DEPTH, T.DEPTH_UNITS,
NULL,
'||''''||MSGNUM||''''||'
FROM T$TRIP_TICKET_WORK T
WHERE (TO_NUMBER(T.BATCH) = '|| &BATCHNUM ||')
AND (T.AK$MRIS_AREA != '||'''0'''||')
AND (T.AK$MRIS_AREA NOT IN (SELECT TO_CHAR(PK$MRIS_AREA) FROM MT$MRIS_AREA))
AND NOT (T.AK$DEALER IN ('||'''WD0004606'''||', '||'''WD0003877'''||', '||'''WD0000157'''||', '||'''WD0001326'''||', '||'''WD0000426'''||')
AND
T.AK$MRIS_AREA IN ('||'''161.2'''||', '||'''301.2'''||', '||'''720.2'''||', '||'''760.2'''||', '||'''771.2'''||', '||'''772.2'''||', '||'''773.2'''||', '||'''780.2'''||', '||'''800.1'''||', '||'''821.2'''||', '||'''882.2'''||'))
UNION
SELECT T.BATCH, T.AK$DEALER, T.FK$TRIP_TICKET, T.INVOICE,
T.CONTINUATION_IND, T.TRIP_DATE, T.SPL_NO, T.AK$MRIS_AREA,
T.AK$MRIS_COUNTY, T.TIME_FISHED, T.TIME_UNITS, T.DEPTH, T.DEPTH_UNITS,
G.AK$MRIS_GEAR,
'||''''||MSGNUM||''''||'
FROM T$TRIP_TICKET_WORK T,
T$TRIP_TICKET_GEAR_WORK G
WHERE ((TO_NUMBER(T.BATCH) = '|| &BATCHNUM ||'))
AND ((T.FK$TRIP_TICKET = G.AK$TRIP_TICKET))
AND ((INSTR(T.AK$MRIS_AREA,'||'''.'''||') = 0) OR
(INSTR(T.AK$MRIS_AREA,'||'''.'''||') > 0 AND T.AK$MRIS_AREA NOT LIKE '||'''%.9%'''||'))
AND ((G.AK$MRIS_GEAR IN ('||'''30'''||', '||'''6750'''||', '||'''6760'''||') OR
G.AK$MRIS_GEAR = '||'''70'''||' OR
G.AK$MRIS_GEAR BETWEEN '||'''4700'''||' AND '||'''4780'''||' or
g.ak$mris_gear = '||'''80'''||' or
g.ak$mris_gear between '||'''5300'''||' and '||'''5360'''||'))';
execute immediate s_command;
FLAGCNT := FLAGCNT + SQL%ROWCOUNT;
--COMMIT;
execute immediate 'commit';
EXCEPTION WHEN OTHERS THEN
DBMS_OUTPUT.PUT_LINE('. Error writing '||MSGNUM||' Bad Value');
END;
-- Error number 3 not in use - Logic moved to ctyarflg.sql
BEGIN
MSGNUM := 4;
s_command := 'INSERT INTO BATCHERS_REPORT
(BATCH, AK$DEALER, FK$TRIP_TICKET, INVOICE,
CONTINUATION_IND, TRIP_DATE, SPL_NO, AK$MRIS_AREA,
AK$MRIS_COUNTY, TIME_FISHED, TIME_UNITS, DEPTH, DEPTH_UNITS,
ERROR_NUM)
SELECT T.BATCH, T.AK$DEALER, T.FK$TRIP_TICKET, T.INVOICE,
T.CONTINUATION_IND, T.TRIP_DATE, T.SPL_NO, T.AK$MRIS_AREA,
T.AK$MRIS_COUNTY, T.TIME_FISHED, T.TIME_UNITS, T.DEPTH, T.DEPTH_UNITS, '||''''||MSGNUM||''''||'
FROM T$TRIP_TICKET_WORK T
WHERE (TO_NUMBER(T.BATCH) = '|| &BATCHNUM ||')
AND (T.SPL_NO IS NULL
OR NOT EXISTS (SELECT * FROM T$SWP_LICENSE L
WHERE L.AK$LICENSE_TYPE = '||'''SP'''||'
AND L.LIC_NUM = SUBSTR(T.SPL_NO,3,7)))';
execute immediate s_command;
FLAGCNT := FLAGCNT + SQL%ROWCOUNT;
--COMMIT;
execute immediate 'commit';
EXCEPTION
WHEN INVALID_NUMBER THEN
s_command := 'INSERT INTO BATCHERS_REPORT
(BATCH, AK$DEALER, FK$TRIP_TICKET, INVOICE,
CONTINUATION_IND, TRIP_DATE, SPL_NO, AK$MRIS_AREA,
AK$MRIS_COUNTY, TIME_FISHED, TIME_UNITS, DEPTH, DEPTH_UNITS,
ERROR_NUM)
SELECT T.BATCH, T.AK$DEALER, T.FK$TRIP_TICKET, T.INVOICE,
T.CONTINUATION_IND, T.TRIP_DATE, T.SPL_NO, T.AK$MRIS_AREA,
T.AK$MRIS_COUNTY, T.TIME_FISHED, T.TIME_UNITS, T.DEPTH, T.DEPTH_UNITS, '||''''||MSGNUM||''''||'
FROM T$TRIP_TICKET_WORK T
WHERE (TO_NUMBER(T.BATCH) = '|| &BATCHNUM ||')
AND (T.SPL_NO = '||''' '''||'
OR T.SPL_NO IS NULL
OR SUBSTR(T.SPL_NO,3,7) NOT BETWEEN '||'''0000000'''||' AND '||'''9999999'''||'
OR LPAD(RTRIM(LTRIM(SUBSTR(T.SPL_NO,3,7))),7,'||'''0'''||') > '|| MAXLIC ||')';
execute immediate s_command;
FLAGCNT := FLAGCNT + SQL%ROWCOUNT;
--COMMIT;
execute immediate 'commit';
WHEN OTHERS THEN
DBMS_OUTPUT.PUT_LINE('. Error writing '||MSGNUM||' Bad Value');
END;
BEGIN
MSGNUM := 5;
s_command := 'INSERT INTO BATCHERS_REPORT
(BATCH, AK$DEALER, FK$TRIP_TICKET, INVOICE,
CONTINUATION_IND, TRIP_DATE, SPL_NO, AK$MRIS_AREA,
AK$MRIS_COUNTY, TIME_FISHED, TIME_UNITS, DEPTH, DEPTH_UNITS,
AK$SPECIES, SPECIES_SIZE, WEIGHT_IN_POUNDS, UNIT_PRICE,
ERROR_NUM)
SELECT T.BATCH, T.AK$DEALER, T.FK$TRIP_TICKET, T.INVOICE,
T.CONTINUATION_IND, T.TRIP_DATE, T.SPL_NO, T.AK$MRIS_AREA,
T.AK$MRIS_COUNTY, T.TIME_FISHED, T.TIME_UNITS, T.DEPTH, T.DEPTH_UNITS,
S.AK$SPECIES, LTRIM(S.SPECIES_SIZE),
TO_NUMBER(S.WEIGHT_IN_POUNDS), TO_NUMBER(S.UNIT_PRICE),
'||''''||MSGNUM||''''||'
FROM T$TRIP_TICKET_WORK T,
T$TRIP_TICKET_SPECIES_WORK S
WHERE TO_NUMBER(T.BATCH) = '|| &BATCHNUM ||'
AND T.FK$TRIP_TICKET = S.AK$TRIP_TICKET
AND S.WEIGHT_IN_POUNDS < 1';
execute immediate s_command;
FLAGCNT := FLAGCNT + SQL%ROWCOUNT;
--COMMIT;
execute immediate 'commit';
EXCEPTION WHEN OTHERS THEN
DBMS_OUTPUT.PUT_LINE('. Error writing '||MSGNUM||' Bad Value');
END;
BEGIN
MSGNUM := 6;
s_command := 'INSERT INTO BATCHERS_REPORT
(BATCH, AK$DEALER, FK$TRIP_TICKET, INVOICE,
CONTINUATION_IND, TRIP_DATE, SPL_NO, AK$MRIS_AREA,
AK$MRIS_COUNTY, TIME_FISHED, TIME_UNITS, DEPTH, DEPTH_UNITS,
ERROR_NUM)
SELECT T.BATCH, T.AK$DEALER, T.FK$TRIP_TICKET, T.INVOICE,
T.CONTINUATION_IND, T.TRIP_DATE, T.SPL_NO, T.AK$MRIS_AREA,
T.AK$MRIS_COUNTY, T.TIME_FISHED, T.TIME_UNITS, T.DEPTH, T.DEPTH_UNITS,
'||''''||MSGNUM||''''||'
FROM T$TRIP_TICKET_WORK T
WHERE ((TO_NUMBER(T.BATCH) = '|| &BATCHNUM ||'))
AND ((T.TIME_UNITS = '||'''D'''||' AND T.TIME_FISHED < 1) OR
(T.TIME_UNITS = '||'''N'''||'))';
execute immediate s_command;
FLAGCNT := FLAGCNT + SQL%ROWCOUNT;
--COMMIT;
execute immediate 'commit';
EXCEPTION WHEN OTHERS THEN
DBMS_OUTPUT.PUT_LINE('. Error writing '||MSGNUM||' Bad Value');
END;
BEGIN
MSGNUM := 7;
s_command := 'INSERT INTO BATCHERS_REPORT
(BATCH, AK$DEALER, FK$TRIP_TICKET, INVOICE,
CONTINUATION_IND, TRIP_DATE, SPL_NO, AK$MRIS_AREA,
AK$MRIS_COUNTY, TIME_FISHED, TIME_UNITS, DEPTH, DEPTH_UNITS,
AK$SPECIES, SPECIES_SIZE, WEIGHT_IN_POUNDS, UNIT_PRICE,
ERROR_NUM)
SELECT T.BATCH, T.AK$DEALER, T.FK$TRIP_TICKET, T.INVOICE,
T.CONTINUATION_IND, T.TRIP_DATE, T.SPL_NO, T.AK$MRIS_AREA,
T.AK$MRIS_COUNTY, T.TIME_FISHED, T.TIME_UNITS, T.DEPTH, T.DEPTH_UNITS,
S.AK$SPECIES, LTRIM(S.SPECIES_SIZE),
TO_NUMBER(S.WEIGHT_IN_POUNDS), TO_NUMBER(S.UNIT_PRICE),
'||''''||MSGNUM||''''||'
FROM T$TRIP_TICKET_WORK T,
T$TRIP_TICKET_SPECIES_WORK S
WHERE (TO_NUMBER(T.BATCH) = '|| &BATCHNUM ||')
AND (T.FK$TRIP_TICKET = S.AK$TRIP_TICKET)
AND (S.WEIGHT_IN_POUNDS > 5500)
AND (S.AK$SPECIES BETWEEN 131 AND 150 OR
S.AK$SPECIES BETWEEN 203 AND 217)';
execute immediate s_command;
FLAGCNT := FLAGCNT + SQL%ROWCOUNT;
--COMMIT;
execute immediate 'commit';
EXCEPTION WHEN OTHERS THEN
DBMS_OUTPUT.PUT_LINE('. Error writing '||MSGNUM||' Bad Value');
END;
BEGIN
MSGNUM := 8;
s_command := 'INSERT INTO BATCHERS_REPORT
(BATCH, AK$DEALER, FK$TRIP_TICKET, INVOICE,
CONTINUATION_IND, TRIP_DATE, SPL_NO, AK$MRIS_AREA,
AK$MRIS_COUNTY, TIME_FISHED, TIME_UNITS, DEPTH, DEPTH_UNITS,
AK$SPECIES, SPECIES_SIZE, WEIGHT_IN_POUNDS, UNIT_PRICE,
ERROR_NUM)
SELECT T.BATCH, T.AK$DEALER, T.FK$TRIP_TICKET, T.INVOICE,
T.CONTINUATION_IND, T.TRIP_DATE, T.SPL_NO, T.AK$MRIS_AREA,
T.AK$MRIS_COUNTY, T.TIME_FISHED, T.TIME_UNITS, T.DEPTH, T.DEPTH_UNITS,
S.AK$SPECIES, LTRIM(S.SPECIES_SIZE),
TO_NUMBER(S.WEIGHT_IN_POUNDS), TO_NUMBER(S.UNIT_PRICE),
'||''''||MSGNUM||''''||'
FROM T$TRIP_TICKET_WORK T,
T$TRIP_TICKET_SPECIES_WORK S
WHERE ((TO_NUMBER(T.BATCH) = '|| &BATCHNUM ||'))
AND ((T.FK$TRIP_TICKET = S.AK$TRIP_TICKET))
AND ((S.AK$SPECIES in (135, 163, 185, 223, 227, 315, 316, 490, 494, 795, 805)) OR
(S.AK$SPECIES BETWEEN 169 AND 171) OR
(S.AK$SPECIES IN (263, 265, 310, 311, 312)) OR
(((S.AK$SPECIES BETWEEN 812 AND 825) OR (S.AK$SPECIES = 255)) AND S.AK$TRIP_TICKET IN (SELECT AK$TRIP_TICKET
FROM T$TRIP_TICKET_GEAR_WORK
WHERE AK$MRIS_GEAR != 9955)))';
execute immediate s_command;
FLAGCNT := FLAGCNT + SQL%ROWCOUNT;
--COMMIT;
execute immediate 'commit';
EXCEPTION WHEN OTHERS THEN
DBMS_OUTPUT.PUT_LINE('. Error writing '||MSGNUM||' Bad Value');
END;
BEGIN
MSGNUM := 9;
s_command := 'INSERT INTO BATCHERS_REPORT
(BATCH, AK$DEALER, FK$TRIP_TICKET, INVOICE,
CONTINUATION_IND, TRIP_DATE, SPL_NO, AK$MRIS_AREA,
AK$MRIS_COUNTY, TIME_FISHED, TIME_UNITS, DEPTH, DEPTH_UNITS,
AK$SPECIES, SPECIES_SIZE, WEIGHT_IN_POUNDS, UNIT_PRICE,
ERROR_NUM)
SELECT T.BATCH, T.AK$DEALER, T.FK$TRIP_TICKET, T.INVOICE,
T.CONTINUATION_IND, T.TRIP_DATE, T.SPL_NO, T.AK$MRIS_AREA,
T.AK$MRIS_COUNTY, T.TIME_FISHED, T.TIME_UNITS, T.DEPTH, T.DEPTH_UNITS,
S.AK$SPECIES, LTRIM(S.SPECIES_SIZE),
TO_NUMBER(S.WEIGHT_IN_POUNDS), TO_NUMBER(S.UNIT_PRICE),
'||''''||MSGNUM||''''||'
FROM T$TRIP_TICKET_WORK T,
T$TRIP_TICKET_SPECIES_WORK S
WHERE (TO_NUMBER(T.BATCH) = '|| &BATCHNUM ||')
AND (T.FK$TRIP_TICKET = S.AK$TRIP_TICKET)
AND (S.AK$SPECIES = 0
OR S.AK$SPECIES IS NULL
OR S.AK$SPECIES NOT IN (SELECT TO_CHAR(PK$SPECIES)
FROM MT$SPECIES))';
execute immediate s_command;
FLAGCNT := FLAGCNT + SQL%ROWCOUNT;
--COMMIT;
execute immediate 'commit';
EXCEPTION WHEN OTHERS THEN
DBMS_OUTPUT.PUT_LINE('. Error writing '||MSGNUM||' Bad Value');
END;
BEGIN
MSGNUM := 10;
s_command := 'INSERT INTO BATCHERS_REPORT
(BATCH, AK$DEALER, FK$TRIP_TICKET, INVOICE,
CONTINUATION_IND, TRIP_DATE, SPL_NO, AK$MRIS_AREA,
AK$MRIS_COUNTY, TIME_FISHED, TIME_UNITS, DEPTH, DEPTH_UNITS,
AK$SPECIES, SPECIES_SIZE, WEIGHT_IN_POUNDS, UNIT_PRICE,
ERROR_NUM)
SELECT T.BATCH, T.AK$DEALER, T.FK$TRIP_TICKET, T.INVOICE,
T.CONTINUATION_IND, T.TRIP_DATE, T.SPL_NO, T.AK$MRIS_AREA,
T.AK$MRIS_COUNTY, T.TIME_FISHED, T.TIME_UNITS, T.DEPTH, T.DEPTH_UNITS,
S.AK$SPECIES, LTRIM(S.SPECIES_SIZE),
TO_NUMBER(S.WEIGHT_IN_POUNDS), TO_NUMBER(S.UNIT_PRICE),
'||''''||MSGNUM||''''||'
FROM T$TRIP_TICKET_WORK T,
T$TRIP_TICKET_SPECIES_WORK S
WHERE ((TO_NUMBER(T.BATCH) = '|| &BATCHNUM ||'))
AND ((T.FK$TRIP_TICKET = S.AK$TRIP_TICKET))
AND ((S.AK$SPECIES = 401 AND T.AK$DEALER != '||'''WD000573'''||') OR
(S.AK$SPECIES = 405 AND T.AK$MRIS_COUNTY != 26) OR
(S.AK$SPECIES in (187, 239, 307, 324, 341, 342, 363, 365,
367, 383, 387, 427, 450, 457, 461)))';
execute immediate s_command;
FLAGCNT := FLAGCNT + SQL%ROWCOUNT;
--COMMIT;
execute immediate 'commit';
EXCEPTION WHEN OTHERS THEN
DBMS_OUTPUT.PUT_LINE('. Error writing '||MSGNUM||' Bad Value');
END;
BEGIN
MSGNUM := 11;
s_command := 'INSERT INTO BATCHERS_REPORT
(BATCH, AK$DEALER, FK$TRIP_TICKET, INVOICE,
CONTINUATION_IND, TRIP_DATE, SPL_NO, AK$MRIS_AREA,
AK$MRIS_COUNTY, TIME_FISHED, TIME_UNITS, DEPTH, DEPTH_UNITS,
AK$SPECIES, SPECIES_SIZE, WEIGHT_IN_POUNDS, UNIT_PRICE,
ERROR_NUM)
SELECT T.BATCH, T.AK$DEALER, T.FK$TRIP_TICKET, T.INVOICE,
T.CONTINUATION_IND, T.TRIP_DATE, T.SPL_NO, T.AK$MRIS_AREA,
T.AK$MRIS_COUNTY, T.TIME_FISHED, T.TIME_UNITS, T.DEPTH, T.DEPTH_UNITS,
S.AK$SPECIES, LTRIM(S.SPECIES_SIZE),
TO_NUMBER(S.WEIGHT_IN_POUNDS), TO_NUMBER(S.UNIT_PRICE),
'||''''||MSGNUM||''''||'
FROM T$TRIP_TICKET_WORK T,
T$TRIP_TICKET_SPECIES_WORK S
WHERE TO_NUMBER(T.BATCH) = '|| &BATCHNUM ||'
AND T.FK$TRIP_TICKET = S.AK$TRIP_TICKET
AND S.AK$SPECIES = 251 AND (S.WEIGHT_IN_POUNDS > 49 OR S.UNIT_PRICE > .99)';
execute immediate s_command;
FLAGCNT := FLAGCNT + SQL%ROWCOUNT;
--COMMIT;
execute immediate 'commit';
EXCEPTION WHEN OTHERS THEN
DBMS_OUTPUT.PUT_LINE('. Error writing '||MSGNUM||' Bad Value');
END;
BEGIN
MSGNUM := 12;
s_command := 'INSERT INTO BATCHERS_REPORT
(BATCH, AK$DEALER, FK$TRIP_TICKET, INVOICE,
CONTINUATION_IND, TRIP_DATE, SPL_NO, AK$MRIS_AREA,
AK$MRIS_COUNTY, TIME_FISHED, TIME_UNITS, DEPTH, DEPTH_UNITS,
AK$SPECIES, SPECIES_SIZE, WEIGHT_IN_POUNDS, UNIT_PRICE,
ERROR_NUM)
SELECT T.BATCH, T.AK$DEALER, T.FK$TRIP_TICKET, T.INVOICE,
T.CONTINUATION_IND, T.TRIP_DATE, T.SPL_NO, T.AK$MRIS_AREA,
T.AK$MRIS_COUNTY, T.TIME_FISHED, T.TIME_UNITS, T.DEPTH, T.DEPTH_UNITS,
S.AK$SPECIES, LTRIM(S.SPECIES_SIZE),
TO_NUMBER(S.WEIGHT_IN_POUNDS), TO_NUMBER(S.UNIT_PRICE),
'||''''||MSGNUM||''''||'
FROM T$TRIP_TICKET_WORK T,
T$TRIP_TICKET_SPECIES_WORK S
WHERE (TO_NUMBER(T.BATCH) = '|| &BATCHNUM ||')
AND (T.FK$TRIP_TICKET = S.AK$TRIP_TICKET)
AND (S.WEIGHT_IN_POUNDS > 50)
AND (S.AK$SPECIES BETWEEN 149 AND 150 OR
S.AK$SPECIES BETWEEN 217 AND 218)';
execute immediate s_command;
FLAGCNT := FLAGCNT + SQL%ROWCOUNT;
--COMMIT;
execute immediate 'commit';
EXCEPTION WHEN OTHERS THEN
DBMS_OUTPUT.PUT_LINE('. Error writing '||MSGNUM||' Bad Value');
END;
BEGIN
MSGNUM := 13;
s_command := 'INSERT INTO BATCHERS_REPORT
(BATCH, AK$DEALER, FK$TRIP_TICKET, INVOICE,
CONTINUATION_IND, TRIP_DATE, SPL_NO, AK$MRIS_AREA,
AK$MRIS_COUNTY, TIME_FISHED, TIME_UNITS, DEPTH, DEPTH_UNITS,
AK$SPECIES, SPECIES_SIZE, WEIGHT_IN_POUNDS, UNIT_PRICE,
ERROR_NUM)
SELECT T.BATCH, T.AK$DEALER, T.FK$TRIP_TICKET, T.INVOICE,
T.CONTINUATION_IND, T.TRIP_DATE, T.SPL_NO, T.AK$MRIS_AREA,
T.AK$MRIS_COUNTY, T.TIME_FISHED, T.TIME_UNITS, T.DEPTH, T.DEPTH_UNITS,
S.AK$SPECIES, LTRIM(S.SPECIES_SIZE),
TO_NUMBER(S.WEIGHT_IN_POUNDS), TO_NUMBER(S.UNIT_PRICE),
'||''''||MSGNUM||''''||'
FROM T$TRIP_TICKET_WORK T,
T$TRIP_TICKET_SPECIES_WORK S
WHERE TO_NUMBER(T.BATCH) = '|| &BATCHNUM ||'
AND T.FK$TRIP_TICKET = S.AK$TRIP_TICKET
AND S.WEIGHT_IN_POUNDS > 1000
AND S.AK$SPECIES IN (175, 176, 178)';
execute immediate s_command;
FLAGCNT := FLAGCNT + SQL%ROWCOUNT;
--COMMIT;
execute immediate 'commit';
EXCEPTION WHEN OTHERS THEN
DBMS_OUTPUT.PUT_LINE('. Error writing '||MSGNUM||' Bad Value');
END;
BEGIN
MSGNUM := 14;
s_command := 'INSERT INTO BATCHERS_REPORT
(BATCH, AK$DEALER, FK$TRIP_TICKET, INVOICE,
CONTINUATION_IND, TRIP_DATE, SPL_NO, AK$MRIS_AREA,
AK$MRIS_COUNTY, TIME_FISHED, TIME_UNITS, DEPTH, DEPTH_UNITS,
AK$SPECIES, SPECIES_SIZE, WEIGHT_IN_POUNDS, UNIT_PRICE,
ERROR_NUM)
SELECT T.BATCH, T.AK$DEALER, T.FK$TRIP_TICKET, T.INVOICE,
T.CONTINUATION_IND, T.TRIP_DATE, T.SPL_NO, T.AK$MRIS_AREA,
T.AK$MRIS_COUNTY, T.TIME_FISHED, T.TIME_UNITS, T.DEPTH, T.DEPTH_UNITS,
S.AK$SPECIES, LTRIM(S.SPECIES_SIZE),
TO_NUMBER(S.WEIGHT_IN_POUNDS), TO_NUMBER(S.UNIT_PRICE),
'||''''||MSGNUM||''''||'
FROM T$TRIP_TICKET_WORK T,
T$TRIP_TICKET_SPECIES_WORK S
WHERE ((TO_NUMBER(T.BATCH) = '|| &BATCHNUM ||'))
AND ((T.FK$TRIP_TICKET = S.AK$TRIP_TICKET))
AND ((S.AK$SPECIES = 302 AND S.UNIT_PRICE >= 4.00) OR
(S.AK$SPECIES = 303 AND (S.UNIT_PRICE > 0 AND S.UNIT_PRICE < 4.00)))';
execute immediate s_command;
FLAGCNT := FLAGCNT + SQL%ROWCOUNT;
--COMMIT;
execute immediate 'commit';
EXCEPTION WHEN OTHERS THEN
DBMS_OUTPUT.PUT_LINE('. Error writing '||MSGNUM||' Bad Value');
END;
BEGIN
MSGNUM := 15;
s_command := 'INSERT INTO BATCHERS_REPORT
(BATCH, AK$DEALER, FK$TRIP_TICKET, INVOICE,
CONTINUATION_IND, TRIP_DATE, SPL_NO, AK$MRIS_AREA,
AK$MRIS_COUNTY, TIME_FISHED, TIME_UNITS, DEPTH, DEPTH_UNITS,
AK$SPECIES, SPECIES_SIZE, WEIGHT_IN_POUNDS, UNIT_PRICE,
ERROR_NUM)
SELECT T.BATCH, T.AK$DEALER, T.FK$TRIP_TICKET, T.INVOICE,
T.CONTINUATION_IND, T.TRIP_DATE, T.SPL_NO, T.AK$MRIS_AREA,
T.AK$MRIS_COUNTY, T.TIME_FISHED, T.TIME_UNITS, T.DEPTH, T.DEPTH_UNITS,
S.AK$SPECIES, LTRIM(S.SPECIES_SIZE),
TO_NUMBER(S.WEIGHT_IN_POUNDS), TO_NUMBER(S.UNIT_PRICE),
'||''''||MSGNUM||''''||'
FROM T$TRIP_TICKET_WORK T,
T$TRIP_TICKET_SPECIES_WORK S
WHERE TO_NUMBER(T.BATCH) = '|| &BATCHNUM ||'
AND T.FK$TRIP_TICKET = S.AK$TRIP_TICKET
AND S.AK$SPECIES = 345
AND S.UNIT_PRICE > .06';
execute immediate s_command;
FLAGCNT := FLAGCNT + SQL%ROWCOUNT;
--COMMIT;
execute immediate 'commit';
EXCEPTION WHEN OTHERS THEN
DBMS_OUTPUT.PUT_LINE('. Error writing '||MSGNUM||' Bad Value');
END;
BEGIN
MSGNUM := 16;
s_command := 'INSERT INTO BATCHERS_REPORT
(BATCH, AK$DEALER, FK$TRIP_TICKET, INVOICE,
CONTINUATION_IND, TRIP_DATE, SPL_NO, AK$MRIS_AREA,
AK$MRIS_COUNTY, TIME_FISHED, TIME_UNITS, DEPTH, DEPTH_UNITS,
AK$SPECIES, SPECIES_SIZE, WEIGHT_IN_POUNDS, UNIT_PRICE,
ERROR_NUM)
SELECT T.BATCH, T.AK$DEALER, T.FK$TRIP_TICKET, T.INVOICE,
T.CONTINUATION_IND, T.TRIP_DATE, T.SPL_NO, T.AK$MRIS_AREA,
T.AK$MRIS_COUNTY, T.TIME_FISHED, T.TIME_UNITS, T.DEPTH, T.DEPTH_UNITS,
S.AK$SPECIES, LTRIM(S.SPECIES_SIZE),
TO_NUMBER(S.WEIGHT_IN_POUNDS), TO_NUMBER(S.UNIT_PRICE),
'||''''||MSGNUM||''''||'
FROM T$TRIP_TICKET_WORK T,
T$TRIP_TICKET_SPECIES_WORK S
WHERE ((TO_NUMBER(T.BATCH) = '|| &BATCHNUM ||'))
AND ((T.FK$TRIP_TICKET = S.AK$TRIP_TICKET))
AND ((LTRIM(S.SPECIES_SIZE) IS NOT NULL))
AND ((S.AK$SPECIES = 325 AND RTRIM(ltrim(S.SPECIES_SIZE,'||''' '''||'),'||''' '''||') != '||'''J'''||') OR
(S.AK$SPECIES = 327 AND RTRIM(ltrim(S.SPECIES_SIZE,'||''' '''||'),'||''' '''||') != '||'''L'''||') OR
(S.AK$SPECIES = 329 AND RTRIM(ltrim(S.SPECIES_SIZE,'||''' '''||'),'||''' '''||') != '||'''M'''||') OR
(S.AK$SPECIES = 331 AND RTRIM(ltrim(S.SPECIES_SIZE,'||''' '''||'),'||''' '''||') != '||'''S'''||') OR
(S.AK$SPECIES = 332 AND RTRIM(ltrim(S.SPECIES_SIZE,'||''' '''||'),'||''' '''||') != '||'''LT'''||'))
UNION
SELECT T.BATCH, T.AK$DEALER, T.FK$TRIP_TICKET, T.INVOICE,
T.CONTINUATION_IND, T.TRIP_DATE, T.SPL_NO, T.AK$MRIS_AREA,
T.AK$MRIS_COUNTY, T.TIME_FISHED, T.TIME_UNITS, T.DEPTH, T.DEPTH_UNITS,
S.AK$SPECIES, LTRIM(S.SPECIES_SIZE),
TO_NUMBER(S.WEIGHT_IN_POUNDS), TO_NUMBER(S.UNIT_PRICE),
'||''''||MSGNUM||''''||'
FROM T$TRIP_TICKET_WORK T,
T$TRIP_TICKET_SPECIES_WORK S
WHERE (TO_NUMBER(T.BATCH) = '|| &BATCHNUM ||')
AND (T.FK$TRIP_TICKET = S.AK$TRIP_TICKET)
AND (S.AK$SPECIES IN (325, 327, 329, 331, 332))
AND (S.UNIT_PRICE BETWEEN .01 AND 1.50)
AND NOT (S.AK$SPECIES = 332 AND RTRIM(LTRIM(S.SPECIES_SIZE,'||''' '''||'),'||''' '''||') = '||'''LT'''||')
UNION
SELECT T.BATCH, T.AK$DEALER, T.FK$TRIP_TICKET, T.INVOICE,
T.CONTINUATION_IND, T.TRIP_DATE, T.SPL_NO, T.AK$MRIS_AREA,
T.AK$MRIS_COUNTY, T.TIME_FISHED, T.TIME_UNITS, T.DEPTH, T.DEPTH_UNITS,
S.AK$SPECIES, LTRIM(S.SPECIES_SIZE),
TO_NUMBER(S.WEIGHT_IN_POUNDS), TO_NUMBER(S.UNIT_PRICE),
'||''''||MSGNUM||''''||'
FROM T$TRIP_TICKET_WORK T,
T$TRIP_TICKET_SPECIES_WORK S
WHERE (TO_NUMBER(T.BATCH) = '|| &BATCHNUM ||')
AND (T.FK$TRIP_TICKET = S.AK$TRIP_TICKET)
AND (S.UNIT_PRICE < .01 AND S.AK$SPECIES = 332)
AND (RTRIM(LTRIM(SPECIES_SIZE,'||''' '''||'),'||''' '''||') != '||'''LT'''||' or species_size is null)';
execute immediate s_command;
FLAGCNT := FLAGCNT + SQL%ROWCOUNT;
--COMMIT;
execute immediate 'commit';
EXCEPTION WHEN OTHERS THEN
DBMS_OUTPUT.PUT_LINE('. Error writing '||MSGNUM||' Bad Value');
END;
BEGIN
MSGNUM := 17;
s_command := 'INSERT INTO BATCHERS_REPORT
(BATCH, AK$DEALER, FK$TRIP_TICKET, INVOICE,
CONTINUATION_IND, TRIP_DATE, SPL_NO, AK$MRIS_AREA,
AK$MRIS_COUNTY, TIME_FISHED, TIME_UNITS, DEPTH, DEPTH_UNITS,
AK$SPECIES, SPECIES_SIZE, WEIGHT_IN_POUNDS, UNIT_PRICE,
ERROR_NUM)
SELECT T.BATCH, T.AK$DEALER, T.FK$TRIP_TICKET, T.INVOICE,
T.CONTINUATION_IND, T.TRIP_DATE, T.SPL_NO, T.AK$MRIS_AREA,
T.AK$MRIS_COUNTY, T.TIME_FISHED, T.TIME_UNITS, T.DEPTH, T.DEPTH_UNITS,
S.AK$SPECIES, LTRIM(S.SPECIES_SIZE),
TO_NUMBER(S.WEIGHT_IN_POUNDS), TO_NUMBER(S.UNIT_PRICE),
'||''''||MSGNUM||''''||'
FROM T$TRIP_TICKET_WORK T,
T$TRIP_TICKET_SPECIES_WORK S
WHERE (TO_NUMBER(T.BATCH) = '|| &BATCHNUM ||')
AND (T.FK$TRIP_TICKET = S.AK$TRIP_TICKET)
AND (S.AK$SPECIES = 103 OR
S.AK$SPECIES BETWEEN 414 AND 416 OR
S.AK$SPECIES BETWEEN 471 AND 474)
AND (SUBSTR(T.TRIP_DATE,5,2) BETWEEN '||'''03'''||' AND '||'''05'''||')
AND (ROUND(TO_NUMBER(T.AK$MRIS_AREA) * 10, 1) NOT IN
(19, 29, 39, 49, 59, 69, 79, 89, 99, 109, 119,
7179, 7229, 7289, 7329, 7369, 7419, 7449, 7489))';
execute immediate s_command;
FLAGCNT := FLAGCNT + SQL%ROWCOUNT;
--COMMIT;
execute immediate 'commit';
EXCEPTION WHEN OTHERS THEN
DBMS_OUTPUT.PUT_LINE('. Error writing '||MSGNUM||' Bad Value');
END;
BEGIN
MSGNUM := 18;
s_command := 'INSERT INTO BATCHERS_REPORT
(BATCH, AK$DEALER, FK$TRIP_TICKET, INVOICE,
CONTINUATION_IND, TRIP_DATE, SPL_NO, AK$MRIS_AREA,
AK$MRIS_COUNTY, TIME_FISHED, TIME_UNITS, DEPTH, DEPTH_UNITS,
AK$SPECIES, SPECIES_SIZE, WEIGHT_IN_POUNDS, UNIT_PRICE,
ERROR_NUM)
SELECT T.BATCH, T.AK$DEALER, T.FK$TRIP_TICKET, T.INVOICE,
T.CONTINUATION_IND, T.TRIP_DATE, T.SPL_NO, T.AK$MRIS_AREA,
T.AK$MRIS_COUNTY, T.TIME_FISHED, T.TIME_UNITS, T.DEPTH, T.DEPTH_UNITS,
S.AK$SPECIES, LTRIM(S.SPECIES_SIZE),
TO_NUMBER(S.WEIGHT_IN_POUNDS), TO_NUMBER(S.UNIT_PRICE),
'||''''||MSGNUM||''''||'
FROM T$TRIP_TICKET_WORK T,
T$TRIP_TICKET_SPECIES_WORK S
WHERE (TO_NUMBER(T.BATCH) = '|| &BATCHNUM ||')
AND (T.FK$TRIP_TICKET = S.AK$TRIP_TICKET)
AND (S.WEIGHT_IN_POUNDS > 50)
AND (S.AK$SPECIES = 103)
and substr(t.trip_date,5,2) = '||'''04'''||'
AND (ROUND(TO_NUMBER(T.AK$MRIS_AREA) * 10, 1) IN
(19, 7179, 7229, 7289, 7329, 7369, 7419, 7449, 7489))';
execute immediate s_command;
FLAGCNT := FLAGCNT + SQL%ROWCOUNT;
--COMMIT;
execute immediate 'commit';
EXCEPTION WHEN OTHERS THEN
DBMS_OUTPUT.PUT_LINE('. Error writing '||MSGNUM||' Bad Value');
END;
BEGIN
MSGNUM := 19;
s_command := 'INSERT INTO BATCHERS_REPORT
(BATCH, AK$DEALER, FK$TRIP_TICKET, INVOICE,
CONTINUATION_IND, TRIP_DATE, SPL_NO, AK$MRIS_AREA,
AK$MRIS_COUNTY, TIME_FISHED, TIME_UNITS, DEPTH, DEPTH_UNITS,
AK$SPECIES, SPECIES_SIZE, WEIGHT_IN_POUNDS, UNIT_PRICE,
ERROR_NUM)
SELECT T.BATCH, T.AK$DEALER, T.FK$TRIP_TICKET, T.INVOICE,
T.CONTINUATION_IND, T.TRIP_DATE, T.SPL_NO, T.AK$MRIS_AREA,
T.AK$MRIS_COUNTY, T.TIME_FISHED, T.TIME_UNITS, T.DEPTH, T.DEPTH_UNITS,
S.AK$SPECIES, LTRIM(S.SPECIES_SIZE),
TO_NUMBER(S.WEIGHT_IN_POUNDS), TO_NUMBER(S.UNIT_PRICE),
'||''''||MSGNUM||''''||'
FROM T$TRIP_TICKET_WORK T,
T$TRIP_TICKET_SPECIES_WORK S
WHERE TO_NUMBER(T.BATCH) = '|| &BATCHNUM ||'
AND T.FK$TRIP_TICKET = S.AK$TRIP_TICKET
AND S.AK$SPECIES BETWEEN 325 AND 332
AND SUBSTR(T.TRIP_DATE,5,4) BETWEEN '||'''0516'''||' AND '||'''1014'''||'
UNION
SELECT T.BATCH, T.AK$DEALER, T.FK$TRIP_TICKET, T.INVOICE,
T.CONTINUATION_IND, T.TRIP_DATE, T.SPL_NO, T.AK$MRIS_AREA,
T.AK$MRIS_COUNTY, T.TIME_FISHED, T.TIME_UNITS, T.DEPTH, T.DEPTH_UNITS,
S.AK$SPECIES, LTRIM(S.SPECIES_SIZE),
TO_NUMBER(S.WEIGHT_IN_POUNDS), TO_NUMBER(S.UNIT_PRICE),
'||''''||MSGNUM||''''||'
FROM T$TRIP_TICKET_WORK T,
T$TRIP_TICKET_SPECIES_WORK S
WHERE TO_NUMBER(T.BATCH) = &BATCHNUM
AND T.FK$TRIP_TICKET = S.AK$TRIP_TICKET
AND S.AK$SPECIES BETWEEN 317 AND 318
AND SUBSTR(T.TRIP_DATE,5,4) BETWEEN '||'''0401'''||' AND '||'''0805'''||'';
execute immediate s_command;
FLAGCNT := FLAGCNT + SQL%ROWCOUNT;
--COMMIT;
execute immediate 'commit';
EXCEPTION WHEN OTHERS THEN
DBMS_OUTPUT.PUT_LINE('. Error writing '||MSGNUM||' Bad Value');
END;
BEGIN
MSGNUM := 20;
s_command := 'INSERT INTO BATCHERS_REPORT
(BATCH, AK$DEALER, FK$TRIP_TICKET, INVOICE,
CONTINUATION_IND, TRIP_DATE, SPL_NO, AK$MRIS_AREA,
AK$MRIS_COUNTY, TIME_FISHED, TIME_UNITS, DEPTH, DEPTH_UNITS,
AK$SPECIES, SPECIES_SIZE, WEIGHT_IN_POUNDS, UNIT_PRICE,
ERROR_NUM)
SELECT T.BATCH, T.AK$DEALER, T.FK$TRIP_TICKET, T.INVOICE,
T.CONTINUATION_IND, T.TRIP_DATE, T.SPL_NO, T.AK$MRIS_AREA,
T.AK$MRIS_COUNTY, T.TIME_FISHED, T.TIME_UNITS, T.DEPTH, T.DEPTH_UNITS,
S.AK$SPECIES, LTRIM(S.SPECIES_SIZE),
TO_NUMBER(S.WEIGHT_IN_POUNDS), TO_NUMBER(S.UNIT_PRICE),
'||''''||MSGNUM||''''||'
FROM T$TRIP_TICKET_WORK T,
T$TRIP_TICKET_SPECIES_WORK S
WHERE TO_NUMBER(T.BATCH) = '|| &BATCHNUM ||'
AND T.FK$TRIP_TICKET = S.AK$TRIP_TICKET
AND S.AK$SPECIES = 141
AND S.WEIGHT_IN_POUNDS > 300
AND T.TRIP_DATE BETWEEN '||'''19971220'''||' AND '||'''19971231'''||'';
execute immediate s_command;
FLAGCNT := FLAGCNT + SQL%ROWCOUNT;
--COMMIT;
execute immediate 'commit';
EXCEPTION WHEN OTHERS THEN
DBMS_OUTPUT.PUT_LINE('. Error writing '||MSGNUM||' Bad Value');
END;
BEGIN
MSGNUM := 21;
s_command := 'INSERT INTO BATCHERS_REPORT
(BATCH, AK$DEALER, FK$TRIP_TICKET, INVOICE,
CONTINUATION_IND, TRIP_DATE, SPL_NO, AK$MRIS_AREA,
AK$MRIS_COUNTY, TIME_FISHED, TIME_UNITS, DEPTH, DEPTH_UNITS,
AK$SPECIES, SPECIES_SIZE, WEIGHT_IN_POUNDS, UNIT_PRICE,
ERROR_NUM)
SELECT T.BATCH, T.AK$DEALER, T.FK$TRIP_TICKET, T.INVOICE,
T.CONTINUATION_IND, T.TRIP_DATE, T.SPL_NO, T.AK$MRIS_AREA,
T.AK$MRIS_COUNTY, T.TIME_FISHED, T.TIME_UNITS, T.DEPTH, T.DEPTH_UNITS,
S.AK$SPECIES, LTRIM(S.SPECIES_SIZE),
TO_NUMBER(S.WEIGHT_IN_POUNDS), TO_NUMBER(S.UNIT_PRICE),
'||''''||MSGNUM||''''||'
FROM T$TRIP_TICKET_WORK T,
T$TRIP_TICKET_SPECIES_WORK S
WHERE ((TO_NUMBER(T.BATCH) = '|| &BATCHNUM ||'))
AND ((T.FK$TRIP_TICKET = S.AK$TRIP_TICKET))
AND ((S.AK$SPECIES = 209))
AND ((T.AK$MRIS_AREA BETWEEN 0 AND 11))
AND ((T.TRIP_DATE BETWEEN '||'''19981016'''||' AND '||'''19990131'''||') OR
(T.TRIP_DATE BETWEEN '||'''19990315'''||' AND '||'''19990401'''||') OR
(T.TRIP_DATE BETWEEN '||'''19990415'''||' AND '||'''19990901'''||'))';
execute immediate s_command;
FLAGCNT := FLAGCNT + SQL%ROWCOUNT;
--COMMIT;
execute immediate 'commit';
EXCEPTION WHEN OTHERS THEN
DBMS_OUTPUT.PUT_LINE('. Error writing '||MSGNUM||' Bad Value');
END;
BEGIN
MSGNUM := 22;
s_command := 'INSERT INTO BATCHERS_REPORT
(BATCH, AK$DEALER, FK$TRIP_TICKET, INVOICE,
CONTINUATION_IND, TRIP_DATE, SPL_NO, AK$MRIS_AREA,
AK$MRIS_COUNTY, TIME_FISHED, TIME_UNITS, DEPTH, DEPTH_UNITS,
AK$SPECIES, SPECIES_SIZE, WEIGHT_IN_POUNDS, UNIT_PRICE,
ERROR_NUM)
SELECT T.BATCH, T.AK$DEALER, T.FK$TRIP_TICKET, T.INVOICE,
T.CONTINUATION_IND, T.TRIP_DATE, T.SPL_NO, T.AK$MRIS_AREA,
T.AK$MRIS_COUNTY, T.TIME_FISHED, T.TIME_UNITS, T.DEPTH, T.DEPTH_UNITS,
S.AK$SPECIES, LTRIM(S.SPECIES_SIZE),
TO_NUMBER(S.WEIGHT_IN_POUNDS), TO_NUMBER(S.UNIT_PRICE),
'||''''||MSGNUM||''''||'
FROM T$TRIP_TICKET_WORK T,
T$TRIP_TICKET_SPECIES_WORK S
WHERE TO_NUMBER(T.BATCH) = '|| &BATCHNUM ||'
AND T.FK$TRIP_TICKET = S.AK$TRIP_TICKET
AND S.AK$SPECIES = 193
AND S.WEIGHT_IN_POUNDS > 250
and substr(t.trip_date,1,4) > '||'''1996'''||'';
-- AND TO_NUMBER(TO_CHAR(TO_DATE(T.TRIP_DATE,'YYYYMMDD'),'YY')) >= 96;
execute immediate s_command;
FLAGCNT := FLAGCNT + SQL%ROWCOUNT;
--COMMIT;
execute immediate 'commit';
EXCEPTION WHEN OTHERS THEN
DBMS_OUTPUT.PUT_LINE('. Error writing '||MSGNUM||' Bad Value');
END;
BEGIN
MSGNUM := 23;
s_command := 'INSERT INTO BATCHERS_REPORT
(BATCH, AK$DEALER, FK$TRIP_TICKET, INVOICE,
CONTINUATION_IND, TRIP_DATE, SPL_NO, AK$MRIS_AREA,
AK$MRIS_COUNTY, TIME_FISHED, TIME_UNITS, DEPTH, DEPTH_UNITS,
AK$SPECIES, SPECIES_SIZE, WEIGHT_IN_POUNDS, UNIT_PRICE,
ERROR_NUM)
SELECT T.BATCH, T.AK$DEALER, T.FK$TRIP_TICKET, T.INVOICE,
T.CONTINUATION_IND, T.TRIP_DATE, T.SPL_NO, T.AK$MRIS_AREA,
T.AK$MRIS_COUNTY, T.TIME_FISHED, T.TIME_UNITS, T.DEPTH, T.DEPTH_UNITS,
S.AK$SPECIES, LTRIM(S.SPECIES_SIZE),
TO_NUMBER(S.WEIGHT_IN_POUNDS), TO_NUMBER(S.UNIT_PRICE),
'||''''||MSGNUM||''''||'
FROM T$TRIP_TICKET_WORK T,
T$TRIP_TICKET_SPECIES_WORK S
WHERE (TO_NUMBER(T.BATCH) = '|| &BATCHNUM ||')
AND (T.FK$TRIP_TICKET = S.AK$TRIP_TICKET)
AND (S.AK$SPECIES = 193)
AND NOT (SUBSTR(T.TRIP_DATE,5,2) BETWEEN '||'''06'''||' AND '||'''08'''||')';
execute immediate s_command;
FLAGCNT := FLAGCNT + SQL%ROWCOUNT;
--COMMIT;
execute immediate 'commit';
EXCEPTION WHEN OTHERS THEN
DBMS_OUTPUT.PUT_LINE('. Error writing '||MSGNUM||' Bad Value');
END;
BEGIN
MSGNUM := 24;
s_command := 'INSERT INTO BATCHERS_REPORT
(BATCH, AK$DEALER, FK$TRIP_TICKET, INVOICE,
CONTINUATION_IND, TRIP_DATE, SPL_NO, AK$MRIS_AREA,
AK$MRIS_COUNTY, TIME_FISHED, TIME_UNITS, DEPTH, DEPTH_UNITS,
AK$SPECIES, SPECIES_SIZE, WEIGHT_IN_POUNDS, UNIT_PRICE,
ERROR_NUM)
SELECT T.BATCH, T.AK$DEALER, T.FK$TRIP_TICKET, T.INVOICE,
T.CONTINUATION_IND, T.TRIP_DATE, T.SPL_NO, T.AK$MRIS_AREA,
T.AK$MRIS_COUNTY, T.TIME_FISHED, T.TIME_UNITS, T.DEPTH, T.DEPTH_UNITS,
S.AK$SPECIES, LTRIM(S.SPECIES_SIZE),
TO_NUMBER(S.WEIGHT_IN_POUNDS), TO_NUMBER(S.UNIT_PRICE),
'||''''||MSGNUM||''''||'
FROM T$TRIP_TICKET_WORK T,
T$TRIP_TICKET_SPECIES_WORK S
WHERE ((TO_NUMBER(T.BATCH) = '|| &BATCHNUM ||'))
AND ((T.FK$TRIP_TICKET = S.AK$TRIP_TICKET))
AND ((S.AK$SPECIES = 458 AND S.WEIGHT_IN_POUNDS > 50) OR
(S.AK$SPECIES = 449 AND S.WEIGHT_IN_POUNDS > 30) OR
(S.AK$SPECIES = 113 AND S.WEIGHT_IN_POUNDS > 50))
and substr(t.trip_date,1,4) >= '||'''1996'''||'';
-- AND ((TO_NUMBER(TO_CHAR(TO_DATE(T.TRIP_DATE,'||'''YYYYMMDD'''||'),'||'''YY'''||')) >= 96))';
execute immediate s_command;
FLAGCNT := FLAGCNT + SQL%ROWCOUNT;
--COMMIT;
execute immediate 'commit';
EXCEPTION WHEN OTHERS THEN
DBMS_OUTPUT.PUT_LINE('. Error writing '||MSGNUM||' Bad Value');
END;
BEGIN
MSGNUM := 25;
s_command := 'INSERT INTO BATCHERS_REPORT
(BATCH, AK$DEALER, FK$TRIP_TICKET, INVOICE,
CONTINUATION_IND, TRIP_DATE, SPL_NO, AK$MRIS_AREA,
AK$MRIS_COUNTY, TIME_FISHED, TIME_UNITS, DEPTH, DEPTH_UNITS,
AK$MRIS_GEAR,
ERROR_NUM)
SELECT T.BATCH, T.AK$DEALER, T.FK$TRIP_TICKET, T.INVOICE,
T.CONTINUATION_IND, T.TRIP_DATE, T.SPL_NO, T.AK$MRIS_AREA,
T.AK$MRIS_COUNTY, T.TIME_FISHED, T.TIME_UNITS, T.DEPTH, T.DEPTH_UNITS,
G.AK$MRIS_GEAR,
'||''''||MSGNUM||''''||'
FROM T$TRIP_TICKET_WORK T,
T$TRIP_TICKET_GEAR_WORK G
WHERE ((TO_NUMBER(T.BATCH) = '|| &BATCHNUM ||'))
AND ((T.FK$TRIP_TICKET = G.AK$TRIP_TICKET))
AND ((G.AK$MRIS_GEAR IN (30, 70, 80)) OR
(G.AK$MRIS_GEAR BETWEEN 4700 AND 4790) OR
(G.AK$MRIS_GEAR BETWEEN 5300 AND 5390) OR
(G.AK$MRIS_GEAR BETWEEN 6700 AND 6790))
AND ((TO_NUMBER(T.AK$MRIS_AREA) - ROUND(TO_NUMBER(T.AK$MRIS_AREA)) NOT BETWEEN .85 AND .95))
AND ((ROUND(TO_NUMBER(T.AK$MRIS_AREA)) <= 0))';
execute immediate s_command;
FLAGCNT := FLAGCNT + SQL%ROWCOUNT;
--COMMIT;
execute immediate 'commit';
EXCEPTION WHEN OTHERS THEN
DBMS_OUTPUT.PUT_LINE('. Error writing '||MSGNUM||' Bad Value');
END;
BEGIN
MSGNUM := 26;
execute immediate 'INSERT INTO BATCHERS_REPORT
(BATCH, AK$DEALER, FK$TRIP_TICKET, INVOICE,
CONTINUATION_IND, TRIP_DATE, SPL_NO, AK$MRIS_AREA,
AK$MRIS_COUNTY, TIME_FISHED, TIME_UNITS, DEPTH, DEPTH_UNITS,
AK$MRIS_GEAR,AK$SPECIES, SPECIES_SIZE, WEIGHT_IN_POUNDS, UNIT_PRICE,
ERROR_NUM)
SELECT T.BATCH, T.AK$DEALER, T.FK$TRIP_TICKET, T.INVOICE,
T.CONTINUATION_IND, T.TRIP_DATE, T.SPL_NO, T.AK$MRIS_AREA,
T.AK$MRIS_COUNTY, T.TIME_FISHED, T.TIME_UNITS, T.DEPTH, T.DEPTH_UNITS,
NULL, S.AK$SPECIES, LTRIM(S.SPECIES_SIZE),
TO_NUMBER(S.WEIGHT_IN_POUNDS), TO_NUMBER(S.UNIT_PRICE),
'||''''||MSGNUM||''''||'
FROM T$TRIP_TICKET_WORK T,
T$TRIP_TICKET_SPECIES_WORK S
WHERE TO_NUMBER(T.BATCH) = '|| &BATCHNUM ||'
AND T.FK$TRIP_TICKET = S.AK$TRIP_TICKET
AND SUBSTR(T.TRIP_DATE,5,2) BETWEEN '||'''04'''||' AND '||'''10'''||'
AND S.AK$SPECIES = 165
AND S.WEIGHT_IN_POUNDS > 3500
AND T.AK$MRIS_COUNTY IN ('||'''26'''||', '||'''28'''||', '||'''55'''||', '||'''65'''||', '||'''74'''||')
UNION
SELECT T.BATCH, T.AK$DEALER, T.FK$TRIP_TICKET, T.INVOICE,
T.CONTINUATION_IND, T.TRIP_DATE, T.SPL_NO, T.AK$MRIS_AREA,
T.AK$MRIS_COUNTY, T.TIME_FISHED, T.TIME_UNITS, T.DEPTH, T.DEPTH_UNITS,
NULL,S.AK$SPECIES, LTRIM(S.SPECIES_SIZE),
TO_NUMBER(S.WEIGHT_IN_POUNDS), TO_NUMBER(S.UNIT_PRICE),
'||''''||MSGNUM||''''||'
FROM T$TRIP_TICKET_WORK T,
T$TRIP_TICKET_SPECIES_WORK S
WHERE TO_NUMBER(T.BATCH) = '|| &BATCHNUM ||'
AND T.FK$TRIP_TICKET = S.AK$TRIP_TICKET
AND SUBSTR(T.TRIP_DATE,5,2) BETWEEN '||'''04'''||' AND '||'''10'''||'
AND S.AK$SPECIES = 165
AND S.WEIGHT_IN_POUNDS > 500
AND T.AK$MRIS_COUNTY IN ('||'''15'''||', '||'''16'''||', '||'''23'''||', '||'''41'''||', '||'''53'''||', '||'''60'''||', '||'''66'''||')
UNION
SELECT T.BATCH, T.AK$DEALER, T.FK$TRIP_TICKET, T.INVOICE,
T.CONTINUATION_IND, T.TRIP_DATE, T.SPL_NO, T.AK$MRIS_AREA,
T.AK$MRIS_COUNTY, T.TIME_FISHED, T.TIME_UNITS, T.DEPTH, T.DEPTH_UNITS,
NULL, S.AK$SPECIES, LTRIM(S.SPECIES_SIZE),
TO_NUMBER(S.WEIGHT_IN_POUNDS), TO_NUMBER(S.UNIT_PRICE),
'||''''||MSGNUM||''''||'
FROM T$TRIP_TICKET_WORK T,
T$TRIP_TICKET_SPECIES_WORK S
WHERE (TO_NUMBER(T.BATCH) = '|| &BATCHNUM ||'
AND (T.FK$TRIP_TICKET = S.AK$TRIP_TICKET)
AND (SUBSTR(T.TRIP_DATE,5,2) BETWEEN '||'''04'''||' AND '||'''10'''||')
AND (S.AK$SPECIES = 165)
AND ((S.WEIGHT_IN_POUNDS > 1250 AND T.AK$MRIS_COUNTY = '||'''54'''||')
OR (T.AK$MRIS_AREA > 700 AND S.WEIGHT_IN_POUNDS > 500
AND T.AK$MRIS_COUNTY != '||'''54'''||'))
UNION
SELECT T.BATCH, T.AK$DEALER, T.FK$TRIP_TICKET, T.INVOICE,
T.CONTINUATION_IND, T.TRIP_DATE, T.SPL_NO, T.AK$MRIS_AREA,
T.AK$MRIS_COUNTY, T.TIME_FISHED, T.TIME_UNITS, T.DEPTH, T.DEPTH_UNITS,
G.AK$MRIS_GEAR, S.AK$SPECIES, LTRIM(S.SPECIES_SIZE),
TO_NUMBER(S.WEIGHT_IN_POUNDS), TO_NUMBER(S.UNIT_PRICE),
'||''''||MSGNUM||''''||'
FROM T$TRIP_TICKET_WORK T,
T$TRIP_TICKET_SPECIES_WORK S,
T$TRIP_TICKET_GEAR_WORK G
WHERE (TO_NUMBER(T.BATCH) = '|| &BATCHNUM ||')
AND (T.FK$TRIP_TICKET = S.AK$TRIP_TICKET)
AND (T.FK$TRIP_TICKET = G.AK$TRIP_TICKET)
and (substr(t.trip_date,5,2) in ('||'''01'''||','||'''02'''||','||'''03'''||','||'''11'''||','||'''12'''||'))
and (S.AK$SPECIES = 165)
AND (S.WEIGHT_IN_POUNDS > 0)
AND (T.TRIP_DATE BETWEEN '||'''19990331'''||' AND '||'''19990701'''||')
AND (T.AK$MRIS_COUNTY NOT IN ('||'''15'''||','||'''16'''||','||'''23'''||','||'''26'''||','||'''28'''||','||'''41'''||','||'''53'''||','||'''54'''||','||'''55'''||','||'''60'''||','||'''65'''||','||'''66'''||','||'''74'''||')
AND ((G.AK$MRIS_GEAR IN (70, 80)) OR
(G.AK$MRIS_GEAR BETWEEN 4700 AND 4900) OR
(G.AK$MRIS_GEAR BETWEEN 5300 AND 5390)))
UNION
SELECT T.BATCH, T.AK$DEALER, T.FK$TRIP_TICKET, T.INVOICE,
T.CONTINUATION_IND, T.TRIP_DATE, T.SPL_NO, T.AK$MRIS_AREA,
T.AK$MRIS_COUNTY, T.TIME_FISHED, T.TIME_UNITS, T.DEPTH, T.DEPTH_UNITS,
G.AK$MRIS_GEAR, S.AK$SPECIES, LTRIM(S.SPECIES_SIZE),
TO_NUMBER(S.WEIGHT_IN_POUNDS), TO_NUMBER(S.UNIT_PRICE),
'||''''||MSGNUM||''''||'
FROM T$TRIP_TICKET_WORK T,
T$TRIP_TICKET_SPECIES_WORK S,
T$TRIP_TICKET_GEAR_WORK G
WHERE (TO_NUMBER(T.BATCH) = '|| &BATCHNUM ||')
AND (T.FK$TRIP_TICKET = S.AK$TRIP_TICKET)
AND (T.FK$TRIP_TICKET = G.AK$TRIP_TICKET)
and (substr(t.trip_date,5,2) in ('||'''01'''||','||'''02'''||','||'''03'''||','||'''11'''||','||'''12'''||'))
and (S.AK$SPECIES = 165)
AND (S.WEIGHT_IN_POUNDS > 500)
AND (T.TRIP_DATE > '||'''19990130'''||')
AND (T.AK$MRIS_COUNTY NOT IN ('||'''15'''||','||'''16'''||','||'''23'''||','||'''26'''||','||'''28'''||','||'''41'''||','||'''53'''||','||'''54'''||','||'''55'''||','||'''60'''||','||'''65'''||','||'''66'''||','||'''74'''||'))
AND ((G.AK$MRIS_GEAR = 40) OR
G.AK$MRIS_GEAR BETWEEN 6100 AND 6190)';
--execute immediate s_command;
FLAGCNT := FLAGCNT + SQL%ROWCOUNT;
--COMMIT;
execute immediate 'commit';
EXCEPTION WHEN OTHERS THEN
DBMS_OUTPUT.PUT_LINE('. Error writing '||MSGNUM||' Bad Value'||'. '||SQLCODE||': '||SQLERRM);
END;
BEGIN
MSGNUM := 27;
execute immediate 'INSERT INTO BATCHERS_REPORT
(BATCH, AK$DEALER, FK$TRIP_TICKET, INVOICE,
CONTINUATION_IND, TRIP_DATE, SPL_NO, AK$MRIS_AREA,
AK$MRIS_COUNTY, TIME_FISHED, TIME_UNITS, DEPTH, DEPTH_UNITS,
AK$MRIS_GEAR, AK$SPECIES, SPECIES_SIZE, WEIGHT_IN_POUNDS, UNIT_PRICE,
ERROR_NUM)
SELECT T.BATCH, T.AK$DEALER, T.FK$TRIP_TICKET, T.INVOICE,
T.CONTINUATION_IND, T.TRIP_DATE, T.SPL_NO, T.AK$MRIS_AREA,
T.AK$MRIS_COUNTY, T.TIME_FISHED, T.TIME_UNITS, T.DEPTH, T.DEPTH_UNITS,
NULL, S.AK$SPECIES, LTRIM(S.SPECIES_SIZE),
TO_NUMBER(S.WEIGHT_IN_POUNDS), TO_NUMBER(S.UNIT_PRICE),
'||''''||MSGNUM||''''||'
FROM T$TRIP_TICKET_WORK T,
T$TRIP_TICKET_SPECIES_WORK S
WHERE TO_NUMBER(T.BATCH) = '|| &BATCHNUM ||'
AND T.FK$TRIP_TICKET = S.AK$TRIP_TICKET
AND S.AK$SPECIES = 165
AND S.WEIGHT_IN_POUNDS > 500
AND T.AK$MRIS_COUNTY IN (15, 16, 23, 41, 53, 54, 55, 60, 66, 74)
AND SUBSTR(T.TRIP_DATE,5,2) IN ('||'''01'''||', '||'''02'''||', '||'''03'''||', '||'''11'''||', '||'''12'''||')
UNION
SELECT T.BATCH, T.AK$DEALER, T.FK$TRIP_TICKET, T.INVOICE,
T.CONTINUATION_IND, T.TRIP_DATE, T.SPL_NO, T.AK$MRIS_AREA,
T.AK$MRIS_COUNTY, T.TIME_FISHED, T.TIME_UNITS, T.DEPTH, T.DEPTH_UNITS,
G.AK$MRIS_GEAR, S.AK$SPECIES, LTRIM(S.SPECIES_SIZE),
TO_NUMBER(S.WEIGHT_IN_POUNDS), TO_NUMBER(S.UNIT_PRICE),
'||''''||MSGNUM||''''||'
FROM T$TRIP_TICKET_WORK T,
T$TRIP_TICKET_SPECIES_WORK S,
T$TRIP_TICKET_GEAR_WORK G
WHERE (TO_NUMBER(T.BATCH) = '|| &BATCHNUM ||')
AND (T.FK$TRIP_TICKET = S.AK$TRIP_TICKET)
AND (T.FK$TRIP_TICKET = G.AK$TRIP_TICKET)
AND (S.AK$SPECIES = 165)
AND (S.WEIGHT_IN_POUNDS > 1250)
AND (T.TRIP_DATE > '||'''19990130'''||')
AND (T.AK$MRIS_COUNTY in ( 15, 16, 23, 26, 28, 41, 53, 54, 55, 60, 65, 66, 74))
AND (G.AK$MRIS_GEAR = 40 OR G.AK$MRIS_GEAR BETWEEN 6100 AND 6190)
AND (SUBSTR(T.TRIP_DATE,5,2) IN ('||'''01'''||', '||'''02'''||', '||'''03'''||', '||'''11'''||', '||'''12'''||'))
UNION
SELECT T.BATCH, T.AK$DEALER, T.FK$TRIP_TICKET, T.INVOICE,
T.CONTINUATION_IND, T.TRIP_DATE, T.SPL_NO, T.AK$MRIS_AREA,
T.AK$MRIS_COUNTY, T.TIME_FISHED, T.TIME_UNITS, T.DEPTH, T.DEPTH_UNITS,
G.AK$MRIS_GEAR, S.AK$SPECIES, LTRIM(S.SPECIES_SIZE),
TO_NUMBER(S.WEIGHT_IN_POUNDS), TO_NUMBER(S.UNIT_PRICE),
'||''''||MSGNUM||''''||'
FROM T$TRIP_TICKET_WORK T,
T$TRIP_TICKET_SPECIES_WORK S,
T$TRIP_TICKET_GEAR_WORK G
WHERE (TO_NUMBER(T.BATCH) = '|| &BATCHNUM ||')
AND (T.FK$TRIP_TICKET = S.AK$TRIP_TICKET)
AND (T.FK$TRIP_TICKET = G.AK$TRIP_TICKET)
AND (S.AK$SPECIES = 165)
AND (S.WEIGHT_IN_POUNDS > 25000)
AND (T.TRIP_DATE > '||'''19990119'''||')
AND (T.AK$MRIS_COUNTY in ( 15, 16, 23, 26, 28, 41, 53, 54, 55, 60, 65, 66, 74))
AND (G.AK$MRIS_GEAR IN (70, 80) OR
G.AK$MRIS_GEAR BETWEEN 4700 AND 4790 OR
G.AK$MRIS_GEAR BETWEEN 5300 AND 5390)
AND (SUBSTR(T.TRIP_DATE,5,2) IN ('||'''01'''||', '||'''02'''||', '||'''03'''||', '||'''11'''||', '||'''12'''||'))
UNION
SELECT T.BATCH, T.AK$DEALER, T.FK$TRIP_TICKET, T.INVOICE,
T.CONTINUATION_IND, T.TRIP_DATE, T.SPL_NO, T.AK$MRIS_AREA,
T.AK$MRIS_COUNTY, T.TIME_FISHED, T.TIME_UNITS, T.DEPTH, T.DEPTH_UNITS,
G.AK$MRIS_GEAR, S.AK$SPECIES, LTRIM(S.SPECIES_SIZE),
TO_NUMBER(S.WEIGHT_IN_POUNDS), TO_NUMBER(S.UNIT_PRICE),
'||''''||MSGNUM||''''||'
FROM T$TRIP_TICKET_WORK T,
T$TRIP_TICKET_SPECIES_WORK S,
T$TRIP_TICKET_GEAR_WORK G
WHERE (TO_NUMBER(T.BATCH) = '|| &BATCHNUM ||')
AND (T.FK$TRIP_TICKET = S.AK$TRIP_TICKET)
AND (T.FK$TRIP_TICKET = G.AK$TRIP_TICKET)
AND (S.AK$SPECIES = 165)
AND (S.WEIGHT_IN_POUNDS > 500)
AND (T.TRIP_DATE > '||'''19990103'''||')
AND (T.AK$MRIS_COUNTY in ( 15, 16, 23, 26, 28, 41, 53, 54, 55, 60, 65, 66, 74))
AND (G.AK$MRIS_GEAR = 40 OR G.AK$MRIS_GEAR BETWEEN 6100 AND 6190)
AND (SUBSTR(T.TRIP_DATE,5,2) IN ('||'''01'''||', '||'''02'''||', '||'''03'''||', '||'''11'''||', '||'''12'''||'))
UNION
SELECT T.BATCH, T.AK$DEALER, T.FK$TRIP_TICKET, T.INVOICE,
T.CONTINUATION_IND, T.TRIP_DATE, T.SPL_NO, T.AK$MRIS_AREA,
T.AK$MRIS_COUNTY, T.TIME_FISHED, T.TIME_UNITS, T.DEPTH, T.DEPTH_UNITS,
G.AK$MRIS_GEAR, S.AK$SPECIES, LTRIM(S.SPECIES_SIZE),
TO_NUMBER(S.WEIGHT_IN_POUNDS), TO_NUMBER(S.UNIT_PRICE),
'||''''||MSGNUM||''''||'
FROM T$TRIP_TICKET_WORK T,
T$TRIP_TICKET_SPECIES_WORK S,
T$TRIP_TICKET_GEAR_WORK G
WHERE (TO_NUMBER(T.BATCH) = '|| &BATCHNUM ||')
AND (T.FK$TRIP_TICKET = S.AK$TRIP_TICKET)
AND (T.FK$TRIP_TICKET = G.AK$TRIP_TICKET)
AND (S.AK$SPECIES = 165)
AND (S.WEIGHT_IN_POUNDS > 0)
AND (T.TRIP_DATE > '||'''19990119'''||')
AND (T.AK$MRIS_COUNTY in ( 15, 16, 23, 26, 28, 41, 53, 54, 55, 60, 65, 66, 74))
AND (G.AK$MRIS_GEAR IN (70, 80) OR
G.AK$MRIS_GEAR BETWEEN 4700 AND 4790 OR
G.AK$MRIS_GEAR BETWEEN 5300 AND 5390)
AND (SUBSTR(T.TRIP_DATE,5,2) IN ('||'''01'''||', '||'''02'''||', '||'''03'''||', '||'''11'''||', '||'''12'''||'))';
-- execute immediate s_command;
FLAGCNT := FLAGCNT + SQL%ROWCOUNT;
--COMMIT;
execute immediate 'commit';
EXCEPTION WHEN OTHERS THEN
DBMS_OUTPUT.PUT_LINE('. Error writing '||MSGNUM||' Bad Value'||'. '||SQLCODE||': '||SQLERRM);
END;
BEGIN
MSGNUM := 28;
s_command := 'INSERT INTO BATCHERS_REPORT
(BATCH, AK$DEALER, FK$TRIP_TICKET, INVOICE,
CONTINUATION_IND, TRIP_DATE, SPL_NO, AK$MRIS_AREA,
AK$MRIS_COUNTY, TIME_FISHED, TIME_UNITS, DEPTH, DEPTH_UNITS,
AK$SPECIES, SPECIES_SIZE, WEIGHT_IN_POUNDS, UNIT_PRICE,
ERROR_NUM)
SELECT T.BATCH, T.AK$DEALER, T.FK$TRIP_TICKET, T.INVOICE,
T.CONTINUATION_IND, T.TRIP_DATE, T.SPL_NO, T.AK$MRIS_AREA,
T.AK$MRIS_COUNTY, T.TIME_FISHED, T.TIME_UNITS, T.DEPTH, T.DEPTH_UNITS,
S.AK$SPECIES, LTRIM(S.SPECIES_SIZE),
TO_NUMBER(S.WEIGHT_IN_POUNDS), TO_NUMBER(S.UNIT_PRICE),
'||''''||MSGNUM||''''||'
FROM T$TRIP_TICKET_WORK T,
T$TRIP_TICKET_SPECIES_WORK S
WHERE TO_NUMBER(T.BATCH) = '|| &BATCHNUM ||'
AND T.FK$TRIP_TICKET = S.AK$TRIP_TICKET
AND T.AK$MRIS_AREA BETWEEN 0.0 AND 10.99
AND SUBSTR(T.TRIP_DATE,5,2) IN ('||'''02'''||', '||'''03'''||', '||'''04'''||', '||'''09'''||', '||'''10'''||')
AND S.AK$SPECIES = 209
AND S.WEIGHT_IN_POUNDS > 2000';
execute immediate s_command;
FLAGCNT := FLAGCNT + SQL%ROWCOUNT;
--COMMIT;
execute immediate 'commit';
EXCEPTION WHEN OTHERS THEN
DBMS_OUTPUT.PUT_LINE('. Error writing '||MSGNUM||' Bad Value');
END;
BEGIN
MSGNUM := 29;
s_command := 'INSERT INTO BATCHERS_REPORT
(BATCH, AK$DEALER, FK$TRIP_TICKET, INVOICE,
CONTINUATION_IND, TRIP_DATE, SPL_NO, AK$MRIS_AREA,
AK$MRIS_COUNTY, TIME_FISHED, TIME_UNITS, DEPTH, DEPTH_UNITS,
AK$MRIS_GEAR, AK$SPECIES, SPECIES_SIZE, WEIGHT_IN_POUNDS, UNIT_PRICE,
ERROR_NUM)
SELECT T.BATCH, T.AK$DEALER, T.FK$TRIP_TICKET, T.INVOICE,
T.CONTINUATION_IND, T.TRIP_DATE, T.SPL_NO, T.AK$MRIS_AREA,
T.AK$MRIS_COUNTY, T.TIME_FISHED, T.TIME_UNITS, T.DEPTH, T.DEPTH_UNITS,
G.AK$MRIS_GEAR, S.AK$SPECIES, LTRIM(S.SPECIES_SIZE),
TO_NUMBER(S.WEIGHT_IN_POUNDS), TO_NUMBER(S.UNIT_PRICE),
'||''''||MSGNUM||''''||'
FROM T$TRIP_TICKET_WORK T,
T$TRIP_TICKET_SPECIES_WORK S,
T$TRIP_TICKET_GEAR_WORK G
WHERE TO_NUMBER(T.BATCH) = '|| &BATCHNUM ||'
AND T.FK$TRIP_TICKET = S.AK$TRIP_TICKET
AND T.FK$TRIP_TICKET = G.AK$TRIP_TICKET
AND S.AK$SPECIES IN (353, 355, 357, 359)
AND T.AK$MRIS_COUNTY IN ('||'''23'''||', '||'''54'''||')
AND G.AK$MRIS_GEAR != 9250
UNION
SELECT T.BATCH, T.AK$DEALER, T.FK$TRIP_TICKET, T.INVOICE,
T.CONTINUATION_IND, T.TRIP_DATE, T.SPL_NO, T.AK$MRIS_AREA,
T.AK$MRIS_COUNTY, T.TIME_FISHED, T.TIME_UNITS, T.DEPTH, T.DEPTH_UNITS,
G.AK$MRIS_GEAR, S.AK$SPECIES, LTRIM(S.SPECIES_SIZE),
TO_NUMBER(S.WEIGHT_IN_POUNDS), TO_NUMBER(S.UNIT_PRICE),
'||''''||MSGNUM||''''||'
FROM T$TRIP_TICKET_WORK T,
T$TRIP_TICKET_SPECIES_WORK S,
T$TRIP_TICKET_GEAR_WORK G
WHERE TO_NUMBER(T.BATCH) = '|| &BATCHNUM ||'
AND T.FK$TRIP_TICKET = S.AK$TRIP_TICKET
AND T.FK$TRIP_TICKET = G.AK$TRIP_TICKET
AND S.AK$SPECIES IN (353, 355, 357, 359)
AND G.AK$MRIS_GEAR NOT IN (9250, 9433)';
execute immediate s_command;
FLAGCNT := FLAGCNT + SQL%ROWCOUNT;
--COMMIT;
execute immediate 'commit';
EXCEPTION WHEN OTHERS THEN
DBMS_OUTPUT.PUT_LINE('. Error writing '||MSGNUM||' Bad Value');
END;
FOR I IN INREC (&BATCHNUM) LOOP
BEGIN
IF I.TRIP_DATE IS NULL THEN
s_command := 'INSERT INTO BATCHERS_REPORT
(BATCH, AK$DEALER, FK$TRIP_TICKET, INVOICE,
CONTINUATION_IND, TRIP_DATE, SPL_NO, AK$MRIS_AREA,
AK$MRIS_COUNTY, TIME_FISHED, TIME_UNITS, DEPTH, DEPTH_UNITS,
ERROR_NUM)
VALUES(I.BATCH, I.AK$DEALER, I.FK$TRIP_TICKET, I.INVOICE,
I.CONTINUATION_IND, I.TRIP_DATE, I.SPL_NO, I.AK$MRIS_AREA,
I.AK$MRIS_COUNTY, I.TIME_FISHED, I.TIME_UNITS, I.DEPTH, I.DEPTH_UNITS,
30)';
execute immediate s_command;
FLAGCNT := FLAGCNT + SQL%ROWCOUNT;
--COMMIT;
execute immediate 'commit';
ELSE
DATEST := TO_DATE(I.TRIP_DATE,'YYYYMMDD');
END IF;
-- IF DATEST NOT BETWEEN BEGDATE AND ENDATE THEN
IF datest not between add_months(endate,-6) and endate then
s_command := 'INSERT INTO BATCHERS_REPORT
(BATCH, AK$DEALER, FK$TRIP_TICKET, INVOICE,
CONTINUATION_IND, TRIP_DATE, SPL_NO, AK$MRIS_AREA,
AK$MRIS_COUNTY, TIME_FISHED, TIME_UNITS, DEPTH, DEPTH_UNITS,
ERROR_NUM)
VALUES(I.BATCH, I.AK$DEALER, I.FK$TRIP_TICKET, I.INVOICE,
I.CONTINUATION_IND, I.TRIP_DATE, I.SPL_NO, I.AK$MRIS_AREA,
I.AK$MRIS_COUNTY, I.TIME_FISHED, I.TIME_UNITS, I.DEPTH, I.DEPTH_UNITS,
30)';
execute immediate s_command;
FLAGCNT := FLAGCNT + SQL%ROWCOUNT;
--COMMIT;
execute immediate 'commit';
END IF;
EXCEPTION WHEN OTHERS THEN
s_command := 'INSERT INTO BATCHERS_REPORT
(BATCH, AK$DEALER, FK$TRIP_TICKET, INVOICE,
CONTINUATION_IND, TRIP_DATE, SPL_NO, AK$MRIS_AREA,
AK$MRIS_COUNTY, TIME_FISHED, TIME_UNITS, DEPTH, DEPTH_UNITS,
ERROR_NUM)
VALUES(I.BATCH, I.AK$DEALER, I.FK$TRIP_TICKET, I.INVOICE,
I.CONTINUATION_IND, I.TRIP_DATE, I.SPL_NO, I.AK$MRIS_AREA,
I.AK$MRIS_COUNTY, I.TIME_FISHED, I.TIME_UNITS, I.DEPTH, I.DEPTH_UNITS,
30)';
execute immediate s_command;
FLAGCNT := FLAGCNT + SQL%ROWCOUNT;
--COMMIT;
execute immediate 'commit';
END;
END LOOP;
DBMS_OUTPUT.PUT_LINE('. RECORDS WRITTEN = '||TO_CHAR(FLAGCNT));
DBMS_OUTPUT.PUT_LINE('. ENDING TIME = '||TO_CHAR(SYSDATE,'MM/DD/YYYY HH:MI:SS'));
DBMS_OUTPUT.PUT_LINE('.');
END;
--SET TERMOUT OFF;
CLEAR BREAKS;
BREAK ON BATCH ON AK$DEALER;
CLEAR COLUMNS;
--SPOOL BATCHERS.LST;
--CLEAR COLUMNS;
COLUMN BATCH NOPRINT;
COLUMN AK$DEALER HEADING 'DEALER' FORMAT A9 JUSTIFY LEFT;
COLUMN FK$TRIP_TICKET HEADING 'TTK#' FORMAT 9999999999;
COLUMN INVOICE HEADING 'INVOICE' FORMAT A13 JUSTIFY LEFT;
COLUMN CONTINUATION_IND HEADING 'CONT' FORMAT A4 JUSTIFY LEFT;
COLUMN TRIP_DATE HEADING 'DATE' FORMAT A8 JUSTIFY LEFT;
COLUMN SPL_NO HEADING 'SPL' FORMAT A9 JUSTIFY LEFT;
COLUMN AK$MRIS_AREA HEADING 'AREA' FORMAT A7 JUSTIFY LEFT;
COLUMN AK$MRIS_COUNTY HEADING 'CTY' FORMAT A3 JUSTIFY LEFT;
COLUMN TIME_FISHED HEADING 'TIME' FORMAT A4 JUSTIFY LEFT;
COLUMN TIME_UNITS HEADING 'UNIT' FORMAT A4 JUSTIFY LEFT;
COLUMN DEPTH HEADING 'DEPTH' FORMAT A5 JUSTIFY LEFT;
COLUMN DEPTH_UNITS HEADING 'UNIT' FORMAT A4 JUSTIFY LEFT;
COLUMN AK$MRIS_GEAR HEADING 'GEAR' FORMAT A4 JUSTIFY LEFT;
COLUMN AK$SPECIES HEADING 'SPEC' FORMAT A4 JUSTIFY LEFT;
COLUMN SPECIES_SIZE HEADING 'SIZE' FORMAT A8 JUSTIFY LEFT;
COLUMN WEIGHT_IN_POUNDS HEADING 'POUNDS' FORMAT 99999.99;
COLUMN UNIT_PRICE HEADING 'PRICE' FORMAT 99999.999;
COLUMN ERROR_NUM NOPRINT;
--CLEAR BREAKS;
--BREAK ON BATCH ON AK$DEALER;
--SPOOL BATCHERS.LST;
TTITLE LEFT 'Page: ' FORMAT 999 SQL.PNO RIGHT 'Batch: ' &BATCHNUM SKIP -
CENTER 'Undefined gear codes.' SKIP 2;
SELECT * FROM BATCHERS_REPORT
WHERE ERROR_NUM = 1
ORDER BY AK$DEALER, FK$TRIP_TICKET;
TTITLE LEFT 'Page: ' FORMAT 999 SQL.PNO RIGHT 'Batch: ' &BATCHNUM SKIP -
CENTER 'Undefined or non-Florida area codes.' SKIP 2;
SELECT * FROM BATCHERS_REPORT
WHERE ERROR_NUM = 2
ORDER BY AK$DEALER, FK$TRIP_TICKET;
-- Error number 3 not in use - Logic moved to ctyarflg.sql
TTITLE LEFT 'Page: ' FORMAT 999 SQL.PNO RIGHT 'Batch: ' &BATCHNUM SKIP -
CENTER 'Incorrect or no SPL information.' SKIP 2;
SELECT * FROM BATCHERS_REPORT
WHERE ERROR_NUM = 4
ORDER BY AK$DEALER, FK$TRIP_TICKET;
TTITLE LEFT 'Page: ' FORMAT 999 SQL.PNO RIGHT 'Batch: ' &BATCHNUM SKIP -
CENTER 'Reported less than 1 pound weight.' SKIP 2;
SELECT * FROM BATCHERS_REPORT
WHERE ERROR_NUM = 5
ORDER BY AK$DEALER, FK$TRIP_TICKET;
TTITLE LEFT 'Page: ' FORMAT 999 SQL.PNO RIGHT 'Batch: ' &BATCHNUM SKIP -
CENTER 'Bad time fished or time units.' SKIP 2;
SELECT * FROM BATCHERS_REPORT
WHERE ERROR_NUM = 6
ORDER BY AK$DEALER, FK$TRIP_TICKET;
TTITLE LEFT 'Page: ' FORMAT 999 SQL.PNO RIGHT 'Batch: ' &BATCHNUM SKIP -
CENTER 'Weight over 5500 lbs for reef fish.' SKIP 2;
SELECT * FROM BATCHERS_REPORT
WHERE ERROR_NUM = 7
ORDER BY AK$DEALER, FK$TRIP_TICKET;
TTITLE LEFT 'Page: ' FORMAT 999 SQL.PNO RIGHT 'Batch: ' &BATCHNUM SKIP -
CENTER 'Landings in closed fisheries.' SKIP 2;
SELECT * FROM BATCHERS_REPORT
WHERE ERROR_NUM = 8
ORDER BY AK$DEALER, FK$TRIP_TICKET;
TTITLE LEFT 'Page: ' FORMAT 999 SQL.PNO RIGHT 'Batch: ' &BATCHNUM SKIP -
CENTER 'Invalid species codes.' SKIP 2;
SELECT * FROM BATCHERS_REPORT
WHERE ERROR_NUM = 9
ORDER BY AK$DEALER, FK$TRIP_TICKET;
TTITLE LEFT 'Page: ' FORMAT 999 SQL.PNO RIGHT 'Batch: ' &BATCHNUM SKIP -
CENTER 'Unlikely or unusual species codes.' SKIP 2;
SELECT * FROM BATCHERS_REPORT
WHERE ERROR_NUM = 10
ORDER BY AK$DEALER, FK$TRIP_TICKET;
TTITLE LEFT 'Page: ' FORMAT 999 SQL.PNO RIGHT 'Batch: ' &BATCHNUM SKIP -
CENTER 'Food fish > 50 lbs or too expensive.' SKIP 2;
SELECT * FROM BATCHERS_REPORT
WHERE ERROR_NUM = 11
ORDER BY AK$DEALER, FK$TRIP_TICKET;
TTITLE LEFT 'Page: ' FORMAT 999 SQL.PNO RIGHT 'Batch: ' &BATCHNUM SKIP -
CENTER 'Mixed or other grouper or snapper > 50 lbs.' SKIP 2;
SELECT * FROM BATCHERS_REPORT
WHERE ERROR_NUM = 12
ORDER BY AK$DEALER, FK$TRIP_TICKET;
TTITLE LEFT 'Page: ' FORMAT 999 SQL.PNO RIGHT 'Batch: ' &BATCHNUM SKIP -
CENTER 'Over 1000 lbs striped mullet.' SKIP 2;
SELECT * FROM BATCHERS_REPORT
WHERE ERROR_NUM = 13
ORDER BY AK$DEALER, FK$TRIP_TICKET;
TTITLE LEFT 'Page: ' FORMAT 999 SQL.PNO RIGHT 'Batch: ' &BATCHNUM SKIP -
CENTER 'Oysters improperly coded.' SKIP 2;
SELECT * FROM BATCHERS_REPORT
WHERE ERROR_NUM = 14
ORDER BY AK$DEALER, FK$TRIP_TICKET;
TTITLE LEFT 'Page: ' FORMAT 999 SQL.PNO RIGHT 'Batch: ' &BATCHNUM SKIP -
CENTER 'Too expensive bait shrimp.' SKIP 2;
SELECT * FROM BATCHERS_REPORT
WHERE ERROR_NUM = 15
ORDER BY AK$DEALER, FK$TRIP_TICKET;
TTITLE LEFT 'Page: ' FORMAT 999 SQL.PNO RIGHT 'Batch: ' &BATCHNUM SKIP -
CENTER 'Bad stone crab sizes, prices or unidentified lites.' SKIP 2;
SELECT * FROM BATCHERS_REPORT
WHERE ERROR_NUM = 16
ORDER BY AK$DEALER, FK$TRIP_TICKET;
TTITLE LEFT 'Page: ' FORMAT 999 SQL.PNO RIGHT 'Batch: ' &BATCHNUM SKIP -
CENTER 'Reported landings of greater amberjack,' SKIP -
CENTER 'lesser amberjack, almaco jack and banded rudderfish ' SKIP -
CENTER 'during the closed season (March-May) from state waters.' SKIP 2;
SELECT * FROM BATCHERS_REPORT
WHERE ERROR_NUM = 17
ORDER BY AK$DEALER, FK$TRIP_TICKET;
TTITLE LEFT 'Page: ' FORMAT 999 SQL.PNO RIGHT 'Batch: ' &BATCHNUM SKIP -
CENTER 'Over the bag limit (1 fish) landings of' SKIP -
CENTER 'greater amberjack during April from South Atlantic federal waters.' SKIP 2;
SELECT * FROM BATCHERS_REPORT
WHERE ERROR_NUM = 18
ORDER BY AK$DEALER, FK$TRIP_TICKET;
TTITLE LEFT 'Page: ' FORMAT 999 SQL.PNO RIGHT 'Batch: ' &BATCHNUM SKIP -
CENTER 'Landings during closed seasons.' SKIP 2;
SELECT * FROM BATCHERS_REPORT
WHERE ERROR_NUM = 19
ORDER BY AK$DEALER, FK$TRIP_TICKET;
TTITLE LEFT 'Page: ' FORMAT 999 SQL.PNO RIGHT 'Batch: ' &BATCHNUM SKIP -
CENTER 'Snowy grouper > 300 lbs (South Atlantic trip limit from Dec. 20 thru Dec. 31, 1997).' SKIP 2;
SELECT * FROM BATCHERS_REPORT
WHERE ERROR_NUM = 20
ORDER BY AK$DEALER, FK$TRIP_TICKET;
TTITLE LEFT 'Page: ' FORMAT 999 SQL.PNO RIGHT 'Batch: ' &BATCHNUM SKIP -
CENTER 'Out-of-season Gulf red snapper landings. Commercial harvest closed' SKIP -
CENTER 'Oct. 16, 1998 - Jan. 31 1999, Mar. 15 - Apr. 1, 1999, and' SKIP -
CENTER 'Apr. 15 - Sep. 1, 1999.' SKIP 2;
SELECT * FROM BATCHERS_REPORT
WHERE ERROR_NUM = 21
ORDER BY AK$DEALER, FK$TRIP_TICKET;
TTITLE LEFT 'Page: ' FORMAT 999 SQL.PNO RIGHT 'Batch: ' &BATCHNUM SKIP -
CENTER 'Too much spotted seatrout.' SKIP -
CENTER 'Commercial harvest allows 75 fish daily vessel limit, flagged 250+ lbs.' SKIP 2;
SELECT * FROM BATCHERS_REPORT
WHERE ERROR_NUM = 22
ORDER BY AK$DEALER, FK$TRIP_TICKET;
TTITLE LEFT 'Page: ' FORMAT 999 SQL.PNO RIGHT 'Batch: ' &BATCHNUM SKIP -
CENTER 'Out-of-season spotted seatrout. Commercial harvest allowed June, July, and August only.' SKIP 2;
SELECT * FROM BATCHERS_REPORT
WHERE ERROR_NUM = 23
ORDER BY AK$DEALER, FK$TRIP_TICKET;
TTITLE LEFT 'Page: ' FORMAT 999 SQL.PNO RIGHT 'Batch: ' &BATCHNUM SKIP -
CENTER 'Too much tripletail, cobia, or african pompano.' SKIP 2;
SELECT * FROM BATCHERS_REPORT
WHERE ERROR_NUM = 24
ORDER BY AK$DEALER, FK$TRIP_TICKET;
TTITLE LEFT 'Page: ' FORMAT 999 SQL.PNO RIGHT 'Batch: ' &BATCHNUM SKIP -
CENTER 'Undefined or non-Florida area fished for gear codes.' SKIP 2;
SELECT * FROM BATCHERS_REPORT
WHERE ERROR_NUM = 25
ORDER BY AK$DEALER, FK$TRIP_TICKET;
TTITLE LEFT 'Page: ' FORMAT 999 SQL.PNO RIGHT 'Batch: ' &BATCHNUM SKIP -
CENTER 'South Atlantic king mackerel fishery (April-October)' SKIP -
CENTER '- > 3,500lbs in Nassau-Volusia or' SKIP -
CENTER '- > 500 lbs in Brevard-Dade or' SKIP -
CENTER '- > 500 lbs H and L in rest of Gulf (until 7/1/1999)' SKIP 2;
SELECT * FROM BATCHERS_REPORT
WHERE ERROR_NUM = 26
ORDER BY AK$DEALER, FK$TRIP_TICKET;
TTITLE LEFT 'Page: ' FORMAT 999 SQL.PNO RIGHT 'Batch: ' &BATCHNUM SKIP -
CENTER 'Gulf-Atlantic king mackerel fishery (November - March)' SKIP -
CENTER '- > 500 lbs Volusia-Dade or' SKIP -
CENTER ' > 1250 lbs H and L (>500 after 1/30/99 or' SKIP -
CENTER ' > 25,000 lbs gill net (zero after 1/19/99) Monroe Escambia';
SELECT * FROM BATCHERS_REPORT
WHERE ERROR_NUM = 27
ORDER BY AK$DEALER, FK$TRIP_TICKET;
TTITLE LEFT 'Page: ' FORMAT 999 SQL.PNO RIGHT 'Batch: ' &BATCHNUM SKIP -
CENTER 'More than 2,000 lbs mixed of Gulf red snapper.' SKIP 2;
SELECT * FROM BATCHERS_REPORT
WHERE ERROR_NUM = 28
ORDER BY AK$DEALER, FK$TRIP_TICKET;
TTITLE LEFT 'Page: ' FORMAT 999 SQL.PNO RIGHT 'Batch: ' &BATCHNUM SKIP -
CENTER 'Bad or unusual gears for sponges.' SKIP 2;
SELECT * FROM BATCHERS_REPORT
WHERE ERROR_NUM = 29
ORDER BY AK$DEALER, FK$TRIP_TICKET;
TTITLE LEFT 'Page: ' FORMAT 999 SQL.PNO RIGHT 'Batch: ' &BATCHNUM SKIP -
CENTER 'Date is blank, invalid, before begin date or after end date.' SKIP 2;
SELECT * FROM BATCHERS_REPORT
WHERE ERROR_NUM = 30
ORDER BY AK$DEALER, FK$TRIP_TICKET;
--SPOOL OFF;
--SET TERMOUT ON;
--PROMPT;
--PROMPT REPORT WRITTEN TO BATCHERS.LST;
--PROMPT;
--TTITLE OFF;
SET FEEDBACK ON;
SET LINESIZE 72;
SET PAGESIZE 32;
--SET NEWPAGE 1;
SET SERVEROUT OFF;
SET VERIFY ON;
SET ECHO ON;
What is wrong with my syntax or what is I am doing wrong?
Any help will be appreciated and thanks in advance,
-Dmitriya workaround was to split the string into 2 but this is not a long term solution:
e.g.
vString1 := 'INSERT INTO BATCHERS_REPORT
(BATCH, AK$DEALER, FK$TRIP_TICKET, INVOICE,
CONTINUATION_IND, TRIP_DATE, SPL_NO, AK$MRIS_AREA,
AK$MRIS_COUNTY, TIME_FISHED, TIME_UNITS, DEPTH, DEPTH_UNITS,
AK$MRIS_GEAR,AK$SPECIES, SPECIES_SIZE, WEIGHT_IN_POUNDS, UNIT_PRICE,ERROR_NUM)
SELECT T.BATCH, T.AK$DEALER, T.FK$TRIP_TICKET, T.INVOICE,
T.CONTINUATION_IND, T.TRIP_DATE, T.SPL_NO, T.AK$MRIS_AREA,
T.AK$MRIS_COUNTY, T.TIME_FISHED, T.TIME_UNITS, T.DEPTH, T.DEPTH_UNITS,
NULL, S.AK$SPECIES, LTRIM(S.SPECIES_SIZE),
TO_NUMBER(S.WEIGHT_IN_POUNDS), TO_NUMBER(S.UNIT_PRICE),
'||''''||MSGNUM||''''||'
FROM T$TRIP_TICKET_WORK T,
T$TRIP_TICKET_SPECIES_WORK S
WHERE TO_NUMBER(T.BATCH) = '|| &BATCHNUM ||'
AND T.FK$TRIP_TICKET = S.AK$TRIP_TICKET
AND SUBSTR(T.TRIP_DATE,5,2) BETWEEN '||'''04'''||' AND '||'''10'''||'
AND S.AK$SPECIES = 165
AND S.WEIGHT_IN_POUNDS > 3500
AND T.AK$MRIS_COUNTY IN ('||'''26'''||', '||'''28'''||', '||'''55'''||', '||'''65'''||', '||'''74'''||')
UNION
SELECT T.BATCH, T.AK$DEALER, T.FK$TRIP_TICKET, T.INVOICE,
T.CONTINUATION_IND, T.TRIP_DATE, T.SPL_NO, T.AK$MRIS_AREA,
T.AK$MRIS_COUNTY, T.TIME_FISHED, T.TIME_UNITS, T.DEPTH, T.DEPTH_UNITS,
NULL,S.AK$SPECIES, LTRIM(S.SPECIES_SIZE),
TO_NUMBER(S.WEIGHT_IN_POUNDS), TO_NUMBER(S.UNIT_PRICE),
'||''''||MSGNUM||''''||'
FROM T$TRIP_TICKET_WORK T,
T$TRIP_TICKET_SPECIES_WORK S
WHERE TO_NUMBER(T.BATCH) = '|| &BATCHNUM ||'
AND T.FK$TRIP_TICKET = S.AK$TRIP_TICKET
AND SUBSTR(T.TRIP_DATE,5,2) BETWEEN '||'''04'''||' AND '||'''10'''||'
AND S.AK$SPECIES = 165
AND S.WEIGHT_IN_POUNDS > 500
AND T.AK$MRIS_COUNTY IN ('||'''15'''||', '||'''16'''||', '||'''23'''||', '||'''41'''||', '||'''53'''||', '||'''60'''||', '||'''66'''||')
UNION
SELECT T.BATCH, T.AK$DEALER, T.FK$TRIP_TICKET, T.INVOICE,
T.CONTINUATION_IND, T.TRIP_DATE, T.SPL_NO, T.AK$MRIS_AREA,
T.AK$MRIS_COUNTY, T.TIME_FISHED, T.TIME_UNITS, T.DEPTH, T.DEPTH_UNITS,
NULL, S.AK$SPECIES, LTRIM(S.SPECIES_SIZE),
TO_NUMBER(S.WEIGHT_IN_POUNDS), TO_NUMBER(S.UNIT_PRICE),
'||''''||MSGNUM||''''||'
FROM T$TRIP_TICKET_WORK T,
T$TRIP_TICKET_SPECIES_WORK S
WHERE (TO_NUMBER(T.BATCH) = '|| &BATCHNUM ||'
AND (T.FK$TRIP_TICKET = S.AK$TRIP_TICKET)
AND (SUBSTR(T.TRIP_DATE,5,2) BETWEEN '||'''04'''||' AND '||'''10'''||')
AND (S.AK$SPECIES = 165)
AND ((S.WEIGHT_IN_POUNDS > 1250 AND T.AK$MRIS_COUNTY = '||'''54'''||')
OR (T.AK$MRIS_AREA > 700 AND S.WEIGHT_IN_POUNDS > 500
AND T.AK$MRIS_COUNTY != '||'''54'''||'))
UNION
SELECT T.BATCH, T.AK$DEALER, T.FK$TRIP_TICKET, T.INVOICE,
T.CONTINUATION_IND, T.TRIP_DATE, T.SPL_NO, T.AK$MRIS_AREA,
T.AK$MRIS_COUNTY, T.TIME_FISHED, T.TIME_UNITS, T.DEPTH, T.DEPTH_UNITS,
G.AK$MRIS_GEAR, S.AK$SPECIES, LTRIM(S.SPECIES_SIZE),
TO_NUMBER(S.WEIGHT_IN_POUNDS), TO_NUMBER(S.UNIT_PRICE),
'||''''||MSGNUM||''''||'
FROM T$TRIP_TICKET_WORK T,
T$TRIP_TICKET_SPECIES_WORK S,
T$TRIP_TICKET_GEAR_WORK G
WHERE (TO_NUMBER(T.BATCH) = '|| &BATCHNUM ||')
AND (T.FK$TRIP_TICKET = S.AK$TRIP_TICKET)
AND (T.FK$TRIP_TICKET = G.AK$TRIP_TICKET)
and (substr(t.trip_date,5,2) in ('||'''01'''||','||'''02'''||','||'''03'''||','||'''11'''||','||'''12'''||'))
and (S.AK$SPECIES = 165)
AND (S.WEIGHT_IN_POUNDS > 0)
AND (T.TRIP_DATE BETWEEN '||'''19990331'''||' AND '||'''19990701'''||')
AND (T.AK$MRIS_COUNTY NOT IN ('||'''15'''||','||'''16'''||','||'''23'''||','||'''26'''||','||'''28'''||','||'''41'''||','||'''53'''||','||'''54'''||','||'''55'''||','||'''60'''||','||'''65'''||','||'''66'''||','||'''74'''||')
AND ((G.AK$MRIS_GEAR IN (70, 80)) OR
(G.AK$MRIS_GEAR BETWEEN 4700 AND 4900) OR
(G.AK$MRIS_GEAR BETWEEN 5300 AND 5390)))';
vString2 := 'UNION
SELECT T.BATCH, T.AK$DEALER, T.FK$TRIP_TICKET, T.INVOICE,
T.CONTINUATION_IND, T.TRIP_DATE, T.SPL_NO, T.AK$MRIS_AREA,
T.AK$MRIS_COUNTY, T.TIME_FISHED, T.TIME_UNITS, T.DEPTH, T.DEPTH_UNITS,
G.AK$MRIS_GEAR, S.AK$SPECIES, LTRIM(S.SPECIES_SIZE),
TO_NUMBER(S.WEIGHT_IN_POUNDS), TO_NUMBER(S.UNIT_PRICE),
'||''''||MSGNUM||''''||'
FROM T$TRIP_TICKET_WORK T,
T$TRIP_TICKET_SPECIES_WORK S,
T$TRIP_TICKET_GEAR_WORK G
WHERE (TO_NUMBER(T.BATCH) = '|| &BATCHNUM ||')
AND (T.FK$TRIP_TICKET = S.AK$TRIP_TICKET)
AND (T.FK$TRIP_TICKET = G.AK$TRIP_TICKET)
and (substr(t.trip_date,5,2) in ('||'''01'''||','||'''02'''||','||'''03'''||','||'''11'''||','||'''12'''||'))
and (S.AK$SPECIES = 165)
AND (S.WEIGHT_IN_POUNDS > 500)
AND (T.TRIP_DATE > '||'''19990130'''||')
AND (T.AK$MRIS_COUNTY NOT IN ('||'''15'''||','||'''16'''||','||'''23'''||','||'''26'''||','||'''28'''||','||'''41'''||','||'''53'''||','||'''54'''||','||'''55'''||','||'''60'''||','||'''65'''||','||'''66'''||','||'''74'''||'))
AND ((G.AK$MRIS_GEAR = 40) OR
G.AK$MRIS_GEAR BETWEEN 6100 AND 6190)';
Execute Immediate vString1||vString2; -
Whats wrong with this sql statement ??
Hello all, I am trying to run the below query out of persheet(tanel poder) performance excel chart...but i get below error...db is on 9.2
what is wrong with this sql statement ?
http://blog.tanelpoder.com/2008/12/28/performance-visualization-made-easy-perfsheet-20-beta/
select * from (
with fsq as (
select /*+ materialize */
i.dbid
, i.instance_name
, i.instance_number
-- , trunc(s.snap_time, 'DD') DAY
-- , to_number(to_char(s.snap_time, 'HH24')) HOUR
-- -- , to_char(s.snap_time, 'MI') MINUTE
-- , 0 MINUTE
, trunc(
lag(s.snap_time, 1)
over(
partition by
v.dbid
, i.instance_name
, v.instance_number
, v.event
order by
s.snap_time
, 'HH24'
) SNAP_TIME
, v.event_type EVENT_TYPE
, v.event EVENT_NAME
, nvl(
decode(
greatest(
time_waited_micro,
nvl(
lag(time_waited_micro,1,0)
over(
partition by
v.dbid
, i.instance_name
, v.instance_number
, v.event
order by v.snap_id
, time_waited_micro
time_waited_micro,
time_waited_micro - lag(time_waited_micro,1,0)
over (
partition by
v.dbid
, i.instance_name
, v.instance_number
, v.event
order by v.snap_id
time_waited_micro
, time_waited_micro
) / 1000000 SECONDS_SPENT
, total_waits WAIT_COUNT
from
(select distinct dbid, instance_name, instance_number from stats$database_instance) i
, stats$snapshot s
, ( select
snap_id, dbid, instance_number, 'WAIT' event_type, event, time_waited_micro, total_waits
from
stats$system_event
where
event not in (select event from stats$idle_event)
union all
select
snap_id, dbid, instance_number,
case
when name in ('CPU used by this session', 'parse time cpu', 'recursive cpu usage') then 'CPU'
when name like 'OS % time' then 'OS'
else 'STAT'
end,
name , value, 1
from
stats$sysstat
-- where name in ('CPU used by this session', 'parse time cpu', 'recursive cpu usage')
-- or name like('OS % time')
-- or 1 = 2 -- this will be a bind variable controlling whether all stats need to be returned
) v
where
i.dbid = s.dbid
and i.dbid = v.dbid
and s.dbid = v.dbid
and s.snap_id = v.snap_id
and s.snap_time between '%FROM_DATE%' and '%TO_DATE%'
and i.instance_name = '%INSTANCE%'
select * from (
select
instance_name
, instance_number
, snap_time
, trunc(snap_time, 'DD') DAY
, to_char(snap_time, 'HH24') HOUR
, to_char(snap_time, 'MI') MINUTE
, event_type
, event_name
, seconds_spent
, wait_count
, ratio_to_report(seconds_spent) over (
-- partition by (to_char(day, 'YYYYMMDD')||to_char(hour,'09')||to_char(minute, '09'))
partition by (snap_time)
) ratio
from fsq
where
snap_time is not null -- lag(s.snap_time, 1) function above will leave time NULL for first snapshot
-- to_char(day, 'YYYYMMDD')||to_char(hour,'09')||to_char(minute, '09')
-- > ( select min(to_char(day, 'YYYYMMDD')||to_char(hour,'09')||to_char(minute, '09')) from fsq)
where ratio > 0
order by
instance_name
, instance_number
, day
, hour
, minute
, event_type
, seconds_spent desc
, wait_count desc
Error at line 6
ORA-00604: error occurred at recursive SQL level 1
ORA-00972: identifier is too longHi Alex,
Subquery factoring a.k.a. the with-clause should be possible on 9.2:
http://download.oracle.com/docs/cd/B10501_01/server.920/a96540/statements_103a.htm#2075888
(used it myself as well on 9.2)
@OP
I recall having problems myself using PL/SQL Developer and trying to get the with clause to work on 9.2 some years ago.
A workaround might be to create a view based on the query.
Also, your error message is "ORA-00972: identifier is too long"...
http://download.oracle.com/docs/cd/B19306_01/server.102/b14219/e900.htm#sthref419
Can't test things currently, no 9.2 available at the moment, but perhaps tomorrow I'll have a chance. -
I need help in creating a sql statement. For example lets say i have 3 tables one(key_id, os), two(key_id, type, desc), three(type, desc). I need to create a statement that is kind of like this but i need all rows in table one returned also.
select a.key_id, b.key_id, c.desc
from one a, two b, three c
where a.key_id = b.key_id and b.type = c.type;
Message was edited by:
user457357Or
michaels> with one as
(select 10 key_id from dual union all
select 20 from dual union all
select 30 from dual union all
select 40 from dual union all
select 50 from dual),
two as
(select 10 key_id,'aa' type from dual union all
select 20, 'aa' from dual union all
select 30, 'bb' from dual),
three as
(select 'aa' type ,'Artificial' des from dual union all
select 'bb','Bulk' from dual)
select a.*, b.key_id, c.des
from one a, two b, three c
where a.key_id = b.key_id(+)
and b.type = c.type(+)
KEY_ID KEY_ID_1 DES
10 10 Artificial
20 20 Artificial
30 30 Bulk
40
50 -
"Balance forward" SQL statement
Has anyone developed a SQL statement that allows balances to be carried forward? Would a UNION query possibly work?
Here's my example where I need to join 3 tables and show results. Based on the example data below, I am looking for a query that allows me to illustrate that the Acrobat 9 Installed Software instances are consuming a license capacity of 6, leaving a balance of 4 that can be applied to the Acrobat 8 Installed Software Instances.
Table: LICENSE
LICENSENUM SWLICENSE LICENSECAPACITY
'1001' 'Adobe Acrobat 9' '10'
Table: LICENSESW
LICENSENUM SWPRODUCT PRECEDENCE
'1001' 'Acrobat 9' '1'
'1001' 'Acrobat 8' '2'
Table: INSTALLEDSW
INSTALLEDSW
'Acrobat 9'
'Acrobat 9'
'Acrobat 9'
'Acrobat 9'
'Acrobat 9'
'Acrobat 9'
'Acrobat 8'
'Acrobat 8'
'Acrobat 8'
'Acrobat 8'
'Acrobat 8'
I can write a select to do total counts, but this does not allow me to carry a balance forward to be applied to Acrobat 8 (precedence 2).
select LICENSE.SWLICENSE, LICENSE.LICENSECAPACITY, count(INSTALLEDSW.INSTALLEDSW) as INSTALLED_COUNT
from LICENSE, LICENSESW, INSTALLEDSW
where LICENSE.LICENSENUM = LICENSESW.LICENSENUM
AND LICENSESW.SWPRODUCT = INSTALLEDSW.INSTALLEDSW
group by LICENSE.SWLICENSE, LICENSE.LICENSECAPACITY;
Results:
SWLICENSE LICENSECAPACITY INSTALLED_COUNT
'Adobe Acrobat 9' '10' '11'
I need results that look like this, where the balance of 4 is carried forward after the first row:
SWLICENSE LICENSECAPACITY INSTALLED_PRODUCT INSTALLED_COUNT
'Adobe Acrobat 9' '6' 'Acrobat 9' '6'
'Adobe Acrobat 9' '4' 'Acrobat 8' '5'Not easy to follow your example data, but if I demonstrate what I think you are trying to achieve using the emp table, you may be able to see if it helps...
SQL> select deptno, empno, ename
2 ,count(*) over (partition by deptno) as dept_count
3 ,count(*) over (partition by deptno) - row_number() over (partition by deptno order by empno) as remaining
4 from emp
5 order by deptno, empno;
DEPTNO EMPNO ENAME DEPT_COUNT REMAINING
10 7782 CLARK 3 2
10 7839 KING 3 1
10 7934 MILLER 3 0
20 7369 SMITH 5 4
20 7566 JONES 5 3
20 7788 SCOTT 5 2
20 7876 ADAMS 5 1
20 7902 FORD 5 0
30 7499 ALLEN 6 5
30 7521 WARD 6 4
30 7654 MARTIN 6 3
30 7698 BLAKE 6 2
30 7844 TURNER 6 1
30 7900 JAMES 6 0
14 rows selected.using the analytical functions count() and row_number() (you can use others such as sum(), avg(), lag(), lead() etc. as required) you can do processing that carries forward, backwards or across "groups" (aka partitions) of data.
Maybe you are looking for
-
I took some video with my iPod and I want to transfer on my computer and I don't know how, someone can help me with that?
-
Hi I am using SharePoint 2013, I wanted help on how to do multi level grouping in views. The view should be like as follows: -Category1 -Level1 -Title1 data -Category2 -Level2 -Title2 data
-
Calculate uncertainty of PCI-6034E
Hallo, I am trying to calculate the overall uncertainty of DAQ System, which has a PCI-6034E board and an SCXI-1102B. I know about the accuracy calculator and I am trying to check my results using this tool. I use K thermocouples in a temperature ran
-
Regex syntax for resource filters
Hi, I'm defining an index management crawler with scope resource filters. What is the syntax for URL regular expressions used here? Looking at the examples on http://help.sap.com/saphelp_nw2004s/helpdata/en/12/47833ceb3da02ce10000000a114027/frameset.
-
Min Client configuration required to Work on SAP B1 8.8 (Patch level 10)
Dear all, In client PC's, add on not connected for some pc. this is biggest issue which iam facing. What may be minimum configuration required for SAP b1 8.8 (Patch levek 10). May be my add on creation technique wrong. can any body give some soluti