Add_months problem
hi
i have:
V_YEAR_MONTH VARCHAR2(6);
when i put this in my procedure:
select * from tab where reportingdate >= add_months(to_date('201009' || '01','yyyymmdd'), -12);
then it is ok.
but when i put this:
in V_YEAR_MONTH as parameter i have: '201009'
select * from tab where reportingdate >= add_months(to_date(V_YEAR_MONTH || '01','yyyymmdd'), -12);
then i have error:
ORA-01840: input value not long enough for date format
what's wrong?
regards
hey,
thank you very much for try to help me. I gave you to small piece of code but i found my problem. This is my incorrect code:
CREATE OR REPLACE PACKAGE BIULETYN_02_test IS
V_DATE date;
V_DATE_ID number;
v_nazwa_kamp varchar2(100);
v_czas_start date;
v_czas_stop date;
err_code varchar2(50);
err_msg varchar2(2000);
v_owner_name varchar2(30);
PROCEDURE INIT(V_YEAR_MONTH VARCHAR2);
PROCEDURE BECO;
PROCEDURE BECO_2;
-- exception - wyjatek zglaszany gdy nie ma rekordow spelniajacych kryteria do insert'u
e_INSERT_NotFound EXCEPTION;
e_INSERT_NotFound_test pls_integer;
-- zly format daty - wyjatek
e_DATE_Format EXCEPTION;
END BIULETYN_02_test;
CREATE OR REPLACE PACKAGE BODY BIULETYN_02_test IS
PROCEDURE INIT(V_YEAR_MONTH VARCHAR2) IS
BEGIN
e_INSERT_NotFound_test := 0;
v_czas_start := sysdate;
v_nazwa_kamp := 'PACKAGE:BIULETYN_02_TEMPLATES_4_BECO';
select sys_context ('USERENV','CURRENT_USER') into v_owner_name from dual;
if (riskscore.is_date(V_YEAR_MONTH || '01')) then
V_DATE := last_day(to_date(V_YEAR_MONTH || '01', 'yyyymmdd'));
SELECT distinct month_id INTO V_DATE_ID FROM edw.day_attr WHERE last_day(day_desc) = V_DATE;
BECO;
BECO_2;
else
RAISE e_DATE_Format;
end if;
v_czas_stop:= sysdate;
insert into log_objects (object_name, time_start, time_stop, time_diff_min, parameters)
values (v_nazwa_kamp, v_czas_start, v_czas_stop, round((v_czas_stop - v_czas_start) * 24 * 60, 2), V_YEAR_MONTH);
commit;
EXCEPTION
WHEN e_DATE_Format THEN
INSERT INTO log_objects_errors (time_err, object_name, error_message)
VALUES (sysdate, v_owner_name || '.' || v_nazwa_kamp, 'niepoprawny format daty: ' || V_YEAR_MONTH);
COMMIT;
WHEN e_INSERT_NotFound THEN
INSERT INTO log_objects_errors (time_err, object_name, error_message)
VALUES (sysdate, v_owner_name || '.' || v_nazwa_kamp, 'e_INSERT_NotFound nr: ' || e_INSERT_NotFound_test);
COMMIT;
WHEN OTHERS THEN
err_code := SQLCODE;
err_msg := substr(SQLERRM, 1, 2000);
INSERT INTO log_objects_errors (time_err, object_name, error_number, error_message)
VALUES (sysdate, v_owner_name || '.' || v_nazwa_kamp, err_code, err_msg);
COMMIT;
END INIT;
PROCEDURE BECO IS
BEGIN
null;
END BECO;
PROCEDURE BECO_2 IS
BEGIN
delete from bi_tem_4_beco_all_ccms_scr purge;
commit;
insert into bi_tem_4_beco_all_ccms_scr
select case when (substr(w.prod_code,1,1)=1 or substr(w.prod_code,1,2) in (91,93,95)) then 'AUTO_NEW'
when (substr(w.prod_code,1,1)=2 or substr(w.prod_code,1,2) in (92,94,96)) then 'AUTO_USED'
else 'AUTO_OTHER'
end PORTFOLIO
, w.reportingdate
, sum(case when w.grade='1' and v.delqbucket<4 then w.net_bal_pln end) sum_netbal_grade_1
, sum(case when w.grade='2' and v.delqbucket<4 then w.net_bal_pln end) sum_netbal_grade_2
, sum(case when w.grade='3' and v.delqbucket<4 then w.net_bal_pln end) sum_netbal_grade_3
, sum(case when w.grade='4' and v.delqbucket<4 then w.net_bal_pln end) sum_netbal_grade_4
, sum(case when w.grade='5' or v.delqbucket>=4 then w.net_bal_pln end) sum_netbal_grade_5
, sum(w.net_bal_pln) sum_netbal
, avg(w.beco) avg_beco
, avg(case when v.delqbucket>=4 and beco_5 < beco then beco_5 else beco end) avg_beco_2
, count(*) count_all
from riskapp.beco_auto_ccms w,
(select w.prod_code, w.reportingdate, avg(w.beco) beco_5 from riskapp.beco_auto_ccms w
where w.grade = '5' and w.net_bal_pln>0 and w.beco is not null group by w.prod_code, w.reportingdate
) x,
riskmain.account_var v
where w.reportingdate >= add_months(to_date(V_YEAR_MONTH, 'yyyymm'), -12)
and v.reportingdate = w.reportingdate
and v.acct_id = w.acct_id
and x.reportingdate(+) = w.reportingdate
and x.prod_code(+) = w.prod_code
and w.net_bal_pln>0
and w.beco is not null
group by w.reportingdate,
case when (substr(w.prod_code,1,1)=1 or substr(w.prod_code,1,2) in (91,93,95)) then 'AUTO_NEW'
when (substr(w.prod_code,1,1)=2 or substr(w.prod_code,1,2) in (92,94,96)) then 'AUTO_USED'
else 'AUTO_OTHER'
end;
-- jesli nie zostaly zainsertowane zadne rekordy to zglasza wyjatek
IF SQL%ROWCOUNT = 0 THEN
e_INSERT_NotFound_test := e_INSERT_NotFound_test + 1;
RAISE e_INSERT_NotFound;
END IF;
commit;
END BECO_2;
END BIULETYN_02_test;
/so variable V_YEAR_MONTH is parameter of INIT procedure and i cant see it in another procedures like my BECO_2. Incorrectly i thought that i can use this variable there.
thank you all!
Similar Messages
-
Joining/Selection problem...
I have created this view:
- First it selects the Lowest and Highest date which should be taken in DATES
- Then it selects every first of the month between the Lowest and Highest date and stores that in MONTHS
- Then it selects the ID, FirstOfTheMonth, (intakes UP TO FirstOfTheMonth), (Outgoing UP TO FirstOfTheMonth) from TWO tables without matching any id field...
Now If I run the view in SQL Developer, it works nicely. If I use the view in Crystal Reports i get an error message saying a subquery returns more than 1 row...
I have a feeling that my CALCULATIONS table is wrongly setup. The problem is that I need to select the PNM_AUTO_KEY from Parts_master and use this Key in the two subqueries... The way i did that is probably wrong.... My guessing is I should use a OUTER JOIN in stead of the way I did it now...?_
CREATE OR REPLACE FORCE VIEW "VIEW_STOCK_COUNT" ("PNM_AUTO_KEY", "COUNT_DATE", "QTY_RECEIVED", "QTY_USED", "QTY_BALANCE") AS
with
DATES as
(select (select min(REC_DATE) from STOCK) as FROM_DT, (select max(CHANGE_DATE) from STOCK_ADJUST) as TO_DT from DUAL),
MONTHS as
(select add_months(trunc(FROM_DT,'MM'),ROWNUM-1) as DT from DATES connect by ROWNUM <= months_between(TO_DT, FROM_DT)+1),
CALCULATIONS as
(select
PNM.PNM_AUTO_KEY PNM_KEY,
MONTHS.DT DT,
NVL((select sum(stm.qty_rec) from stock stm WHERE STM.REC_DATE < MONTHS.DT AND STM.PNM_AUTO_KEY = PNM.PNM_AUTO_KEY GROUP BY pnm_auto_key),0) INCOMING,
NVL((select sum(saj.qty_adj) from stock_adjust saj
inner join stock stm on saj.stm_auto_key = stm.stm_auto_key
inner join parts_master pnm on stm.pnm_auto_key = pnm.pnm_auto_key where SAJ.CHANGE_DATE < MONTHS.DT AND STM.PNM_AUTO_KEY = PNM.PNM_AUTO_KEY group by pnm_auto_key),0) OUTGOING
from MONTHS, PARTS_MASTER PNM)
SELECT
CALCULATIONS.PNM_KEY PNM_AUTO_KEY, CALCULATIONS.DT COUNT_DATE,CALCULATIONS.INCOMING QTY_RECEIVED, CALCULATIONS.OUTGOING QTY_USED, (CALCULATIONS.INCOMING + CALCULATIONS.OUTGOING) QTY_BALANCE
FROM
CALCULATIONS;Hi,
user574699 wrote:
I have created this view:
- First it selects the Lowest and Highest date which should be taken in DATES
- Then it selects every first of the month between the Lowest and Highest date and stores that in MONTHS
- Then it selects the ID, FirstOfTheMonth, (intakes UP TO FirstOfTheMonth), (Outgoing UP TO FirstOfTheMonth) from TWO tables without matching any id field...
Now If I run the view in SQL Developer, it works nicely. If I use the view in Crystal Reports i get an error message saying a subquery returns more than 1 row...
Sorry, I don't know anything about Crystal Reports. I would expect the view to be handled entirely by the database. What is the query that you're running when you get the error?
Will Crystal Reports run a very simple query on this view?
I have a feeling that my CALCULATIONS table is wrongly setup. The problem is that I need to select the PNM_AUTO_KEY from Parts_master and use this Key in the two subqueries... The way i did that is probably wrong.... My guessing is I should use a OUTER JOIN in stead of the way I did it now...?_That's easy to test. Replace the scalar sub-queries with literals, and see if Crystal Reports will run it.
If not, that's not the problem.
If you do decide to re-write the calculations sub-query, and you need help, post some sample data and what calculations should contain given that data.
Could the WITH-clause be causing the problem? (Again, it's hard to see why the front-end tool would care how the view was defined.)
It looks like you could use in-line views instead of WITH, if necessary.
CREATE OR REPLACE FORCE VIEW "VIEW_STOCK_COUNT" ("PNM_AUTO_KEY", "COUNT_DATE", "QTY_RECEIVED", "QTY_USED", "QTY_BALANCE") AS
with
DATES as
(select (select min(REC_DATE) from STOCK) as FROM_DT, (select max(CHANGE_DATE) from STOCK_ADJUST) as TO_DT from DUAL),
MONTHS as
(select add_months(trunc(FROM_DT,'MM'),ROWNUM-1) as DT from DATES connect by ROWNUM <= months_between(TO_DT, FROM_DT)+1),
CALCULATIONS as
(select
PNM.PNM_AUTO_KEY PNM_KEY,
MONTHS.DT DT,
NVL((select sum(stm.qty_rec) from stock stm WHERE STM.REC_DATE < MONTHS.DT AND STM.PNM_AUTO_KEY = PNM.PNM_AUTO_KEY GROUP BY pnm_auto_key),0) INCOMING,
NVL((select sum(saj.qty_adj) from stock_adjust saj
inner join stock stm on saj.stm_auto_key = stm.stm_auto_key
inner join parts_master pnm on stm.pnm_auto_key = pnm.pnm_auto_key where SAJ.CHANGE_DATE < MONTHS.DT AND STM.PNM_AUTO_KEY = PNM.PNM_AUTO_KEY group by pnm_auto_key),0) OUTGOING
from MONTHS, PARTS_MASTER PNM)
SELECT
CALCULATIONS.PNM_KEY PNM_AUTO_KEY, CALCULATIONS.DT COUNT_DATE,CALCULATIONS.INCOMING QTY_RECEIVED, CALCULATIONS.OUTGOING QTY_USED, (CALCULATIONS.INCOMING + CALCULATIONS.OUTGOING) QTY_BALANCE
FROM
CALCULATIONS;Don't post unformatted code -
Help me please ,I dont can solve this problem
please How I can solve this problem?(SQL)
Display each employee’s last name, hire date, and salary review date, which is the first Monday after
six months of service. Label the column REVIEW. Format the dates to appear similar to “Monday,
the Thirty-First of July, 2000.”
Flickr: abbasovv's PhotostreamWhere you get this task? I didn't understand anything, really! what do you want to do? what is the purpose? to get next 6 months function ADD_MONTHS, to get next monday, tuesday ... use function NEXT_DAY, to get number of week use function TO_CHAR.
WITH T AS(
select to_date('17-JUN-1987','dd-mon-yyyy') D from dual union all
select to_date('21-SEP-1989','dd-mon-yyyy') from dual union all
select to_date('13-JAN-1993','dd-mon-yyyy') from dual union all
select to_date('03-JUN-1990','dd-mon-yyyy') from dual union all
select to_date('21-MAY-1991','dd-mon-yyyy') from dual union all
select to_date('07-FEB-1999','dd-mon-yyyy') from dual union all
select to_date('16-NOV-1999','dd-mon-yyyy') from dual )
SELECT D,
ADD_MONTHS(D,6),
NEXT_DAY(ADD_MONTHS(D,6),'MONDAY'),
TO_CHAR(ADD_MONTHS(D,6),'W'),
TO_CHAR(ADD_MONTHS(D,6),'fmDay, fmdd fmMonth fmyyyy')
FROM T
WHERE TO_CHAR(ADD_MONTHS(D,6),'W') = 1
Ramin Hashimzade -
[Oracle 8i] Need help with bind variable in add_months function
I'm trying to put a variable within my add_months function:
AND t1.edatetime >= add_months(sysdate,:v1)
AND t1.edatetime <= add_months(sysdate,:v2)I have tried defining the variable both as 'integer' type and 'numeric' type, but in both cases, my query returns no results. If I hard code the values, it works just fine.
Any suggestions?Hi,
Sorry, I can't reproduce the problem.
What do you mean by "I have tried defining the variable both as 'integer' type and 'numeric' type"?
Like Max said, you should post a complete script that gets the incorrect results.
Include your CREATE TABLE and INSERT statements, or use tables that are commonly available.
For example:
VARIABLE v1 NUMBER
VARIABLE v2 NUMBER
EXEC :v1 := -28 * 12;
EXEC :v2 := -27 * 12;
PROMPT ===== Checking values of bind variables =====
SELECT :v1
, :v2
FROM dual;
PROMPT ===== Main query (expecting 1 row of output) =====
SELECT ename
, hiredate
FROM scott.emp
WHERE hiredate >= ADD_MONTHS (SYSDATE, :v1)
AND hiredate <= ADD_MONTHS (SYSDATE, :v2)
;Output:
PL/SQL procedure successfully completed.
PL/SQL procedure successfully completed.
===== Checking values of bind variables =====
:V1 :V2
-336 -324
===== Main query (expecting 1 row of output) =====
ENAME HIREDATE
MILLER 23-Jan-1982 -
Using:
Jdev 11.1.1.5.0-adfbc
problem description:
problem in function not properly working
Resource:
this is my vo query which is based on one eo
SELECT LegalDocDetailsEO.LDD_BE,
LegalDocDetailsEO.LDD_UNIT,
LegalDocDetailsEO.LDD_SUPLR_ID,
LegalDocDetailsEO.LDD_CUST_ID,
LegalDocDetailsEO.LDD_EMP_ID,
LegalDocDetailsEO.LDD_DOC_ID,
LegalDocDetailsEO.LDD_DOC_NO,
LegalDocDetailsEO.LDD_ISSUED_AT,
LegalDocDetailsEO.LDD_ISSUED_ON,
LegalDocDetailsEO.LDD_VALID_FRQ,
LegalDocDetailsEO.LDD_VALID_DUR,
(case when LDD_VALID_FRQ='D' then LDD_ISSUED_ON + LDD_VALID_DUR //D-Date
when LDD_VALID_FRQ='M' then add_months(LDD_ISSUED_ON,LDD_VALID_DUR) //M -Month //Y-Year
else add_months(LDD_ISSUED_ON,LDD_VALID_DUR*12)
end ) as LDD_EXP_ON,
LegalDocDetailsEO.LDD_STATUS,
LegalDocDetailsEO.LDD_SL_FLG,
LegalDocDetailsEO.LDD_VEHICLE_ID,
LegalDocDetailsEO.LDD_BFCRY_TYPE,
LegalDocDetailsEO.LDD_EMPDEPNT_NO,
LegalDocDetailsEO.LDD_ASSET_ID,
LegalDocDetailsEO.LDD_PROD_UNIT,
LegalDocDetailsEO.LDD_PROD_ID,
LegalDocDetailsEO.LDD_PROD_REV,
LegalDocDetailsEO.LDD_CRE_BY,
LegalDocDetailsEO.LDD_CRE_DATE,
LegalDocDetailsEO.LDD_UPD_BY,
LegalDocDetailsEO.LDD_UPD_DATE,
LegalDocDetailsEO.ROWID
FROM LEGAL_DOC_DETAILS LegalDocDetailsEO
WHERE LegalDocDetailsEO.LDD_BE = :pbuthis vo exposed as af:table
<af:panelBox
binding="#{backingBeanScope.cfg0060.pb18}" id="pb18"
showDisclosure="false">
<f:facet name="toolbar">
<af:group binding="#{backingBeanScope.cfg0060.g6}" id="g6">
<af:toolbar binding="#{backingBeanScope.cfg0060.t19}" id="t19">
<af:commandToolbarButton actionListener="#{bindings.CreateInsert13.execute}"
text="Insert"
disabled="#{!bindings.CreateInsert13.enabled}"
binding="#{backingBeanScope.cfg0060.ctb90}"
id="ctb90"/>
<af:commandToolbarButton
text="Save"
binding="#{backingBeanScope.cfg0060.ctb91}"
id="ctb91"
action="#{backingBeanScope.cfg0060.*ctb91_action2*}"
partialTriggers="pc5:t18"/>
<af:commandToolbarButton text="Clear"
binding="#{backingBeanScope.cfg0060.ctb92}"
id="ctb92" icon="/icons/clear.png"/>
<af:commandToolbarButton text="Rollback"
binding="#{backingBeanScope.cfg0060.ctb94}"
id="ctb94"
icon="/icons/rollback.png"/>
<af:commandToolbarButton text="Additional Details"
binding="#{backingBeanScope.cfg0060.ctb95}"
id="ctb95"/>
<af:commandToolbarButton text="Activate"
binding="#{backingBeanScope.cfg0060.ctb96}"
id="ctb96"
icon="/icons/confirm.png"/>
</af:toolbar>
</af:group>
</f:facet>
<af:panelCollection binding="#{backingBeanScope.cfg0060.pc5}"
id="pc5" styleClass="AFStretchWidth">
<f:facet name="menus"/>
<f:facet name="toolbar"/>
<f:facet name="statusbar"/>
<af:table value="#{bindings.LegalDocDetails1VO2.collectionModel}"
var="row"
rows="#{bindings.LegalDocDetails1VO2.rangeSize}"
emptyText="#{bindings.LegalDocDetails1VO2.viewable ? 'No data to display.' : 'Access Denied.'}"
fetchSize="#{bindings.LegalDocDetails1VO2.rangeSize}"
rowBandingInterval="0"
filterModel="#{bindings.LegalDocDetails1VO2Query.queryDescriptor}"
queryListener="#{bindings.LegalDocDetails1VO2Query.processQuery}"
filterVisible="true" varStatus="vs"
selectedRowKeys="#{bindings.LegalDocDetails1VO2.collectionModel.selectedRow}"
selectionListener="#{bindings.LegalDocDetails1VO2.collectionModel.makeCurrent}"
rowSelection="single"
binding="#{backingBeanScope.cfg0060.t18}" id="t18"
partialTriggers=":::ctb90">
<af:column sortProperty="LddDocId" filterable="true"
sortable="true"
headerText="#{bindings.LegalDocDetails1VO2.hints.LddDocId.label}"
id="c19">
<af:inputText value="#{row.bindings.LddDocId.inputValue}"
label="#{bindings.LegalDocDetails1VO2.hints.LddDocId.label}"
required="#{bindings.LegalDocDetails1VO2.hints.LddDocId.mandatory}"
columns="#{bindings.LegalDocDetails1VO2.hints.LddDocId.displayWidth}"
maximumLength="#{bindings.LegalDocDetails1VO2.hints.LddDocId.precision}"
shortDesc="#{bindings.LegalDocDetails1VO2.hints.LddDocId.tooltip}"
id="it144">
<f:validator binding="#{row.bindings.LddDocId.validator}"/>
</af:inputText>
</af:column>
<af:column sortProperty="LdDocIdDesc" filterable="true"
sortable="true"
headerText="#{bindings.LegalDocDetails1VO2.hints.LdDocIdDesc.label}"
id="c22">
<af:inputText value="#{row.bindings.LdDocIdDesc.inputValue}"
label="#{bindings.LegalDocDetails1VO2.hints.LdDocIdDesc.label}"
required="#{bindings.LegalDocDetails1VO2.hints.LdDocIdDesc.mandatory}"
columns="#{bindings.LegalDocDetails1VO2.hints.LdDocIdDesc.displayWidth}"
maximumLength="#{bindings.LegalDocDetails1VO2.hints.LdDocIdDesc.precision}"
shortDesc="#{bindings.LegalDocDetails1VO2.hints.LdDocIdDesc.tooltip}"
id="it145">
<f:validator binding="#{row.bindings.LdDocIdDesc.validator}"/>
</af:inputText>
</af:column>
<af:column sortProperty="LddDocNo" filterable="true"
sortable="true"
headerText="#{bindings.LegalDocDetails1VO2.hints.LddDocNo.label}"
id="c21">
<af:inputText value="#{row.bindings.LddDocNo.inputValue}"
label="#{bindings.LegalDocDetails1VO2.hints.LddDocNo.label}"
required="#{bindings.LegalDocDetails1VO2.hints.LddDocNo.mandatory}"
columns="#{bindings.LegalDocDetails1VO2.hints.LddDocNo.displayWidth}"
maximumLength="#{bindings.LegalDocDetails1VO2.hints.LddDocNo.precision}"
shortDesc="#{bindings.LegalDocDetails1VO2.hints.LddDocNo.tooltip}"
id="it146">
<f:validator binding="#{row.bindings.LddDocNo.validator}"/>
</af:inputText>
</af:column>
<af:column sortProperty="LddIssuedAt" filterable="true"
sortable="true"
headerText="#{bindings.LegalDocDetails1VO2.hints.LddIssuedAt.label}"
id="c15">
<af:inputText value="#{row.bindings.LddIssuedAt.inputValue}"
label="#{bindings.LegalDocDetails1VO2.hints.LddIssuedAt.label}"
required="#{bindings.LegalDocDetails1VO2.hints.LddIssuedAt.mandatory}"
columns="#{bindings.LegalDocDetails1VO2.hints.LddIssuedAt.displayWidth}"
maximumLength="#{bindings.LegalDocDetails1VO2.hints.LddIssuedAt.precision}"
shortDesc="#{bindings.LegalDocDetails1VO2.hints.LddIssuedAt.tooltip}"
id="it147">
<f:validator binding="#{row.bindings.LddIssuedAt.validator}"/>
</af:inputText>
</af:column>
<af:column sortProperty="LddIssuedOn" filterable="true"
sortable="true"
headerText="#{bindings.LegalDocDetails1VO2.hints.LddIssuedOn.label}"
id="c17">
<f:facet name="filter">
<af:inputDate value="#{vs.filterCriteria.LddIssuedOn}"
binding="#{backingBeanScope.cfg0060.id7}"
id="id7"/>
</f:facet>
<af:inputDate value="#{row.bindings.LddIssuedOn.inputValue}"
label="#{bindings.LegalDocDetails1VO2.hints.LddIssuedOn.label}"
required="#{bindings.LegalDocDetails1VO2.hints.LddIssuedOn.mandatory}"
shortDesc="#{bindings.LegalDocDetails1VO2.hints.LddIssuedOn.tooltip}"
id="id10">
<f:validator binding="#{row.bindings.LddIssuedOn.validator}"/>
<af:convertDateTime pattern="#{bindings.LegalDocDetails1VO2.hints.LddIssuedOn.format}"/>
</af:inputDate>
</af:column>
<af:column sortProperty="LddValidFrq" filterable="true"
sortable="true"
headerText="#{bindings.LegalDocDetails1VO2.hints.LddValidFrq.label}"
id="c20">
<af:selectOneChoice value="#{row.bindings.LddValidFrq.inputValue}"
label="#{row.bindings.LddValidFrq.label}"
required="#{bindings.LegalDocDetails1VO2.hints.LddValidFrq.mandatory}"
shortDesc="#{bindings.LegalDocDetails1VO2.hints.LddValidFrq.tooltip}"
id="soc12" autoSubmit="true">
<f:selectItems value="#{row.bindings.LddValidFrq.items}"
id="si13"/>
</af:selectOneChoice>
</af:column>
<af:column sortProperty="LddValidDur" filterable="true"
sortable="true"
headerText="#{bindings.LegalDocDetails1VO2.hints.LddValidDur.label}"
id="c18">
<af:inputText value="#{row.bindings.LddValidDur.inputValue}"
label="#{bindings.LegalDocDetails1VO2.hints.LddValidDur.label}"
required="#{bindings.LegalDocDetails1VO2.hints.LddValidDur.mandatory}"
columns="#{bindings.LegalDocDetails1VO2.hints.LddValidDur.displayWidth}"
maximumLength="#{bindings.LegalDocDetails1VO2.hints.LddValidDur.precision}"
shortDesc="#{bindings.LegalDocDetails1VO2.hints.LddValidDur.tooltip}"
id="it148" autoSubmit="true"
partialTriggers="soc12">
<f:validator binding="#{row.bindings.LddValidDur.validator}"/>
<af:convertNumber groupingUsed="false"
pattern="#{bindings.LegalDocDetails1VO2.hints.LddValidDur.format}"/>
</af:inputText>
</af:column>
<af:column sortProperty="LddExpOn" filterable="true"
sortable="true"
headerText="#{bindings.LegalDocDetails1VO2.hints.LddExpOn.label}"
id="c16">
<f:facet name="filter">
<af:inputDate value="#{vs.filterCriteria.LddExpOn}"
binding="#{backingBeanScope.cfg0060.id8}"
id="id8"/>
</f:facet>
<af:inputDate value="#{row.bindings.LddExpOn.inputValue}"
label="#{bindings.LegalDocDetails1VO2.hints.LddExpOn.label}"
required="#{bindings.LegalDocDetails1VO2.hints.LddExpOn.mandatory}"
shortDesc="#{bindings.LegalDocDetails1VO2.hints.LddExpOn.tooltip}"
id="id9" partialTriggers="it148">
<f:validator binding="#{row.bindings.LddExpOn.validator}"/>
<af:convertDateTime pattern="#{bindings.LegalDocDetails1VO2.hints.LddExpOn.format}"/>
</af:inputDate>
</af:column>
<af:column sortProperty="LddStatus" filterable="true"
sortable="true"
headerText="#{bindings.LegalDocDetails1VO2.hints.LddStatus.label}"
id="c14">
<af:selectOneChoice value="#{row.bindings.LddStatus.inputValue}"
label="#{row.bindings.LddStatus.label}"
required="#{bindings.LegalDocDetails1VO2.hints.LddStatus.mandatory}"
shortDesc="#{bindings.LegalDocDetails1VO2.hints.LddStatus.tooltip}"
id="soc13">
<f:selectItems value="#{row.bindings.LddStatus.items}"
id="si12"/>
</af:selectOneChoice>
</af:column>
</af:table>
</af:panelCollection>
</af:panelBox>
public String ctb91_action2() {
BindingContainer bindings = getBindings();
DCIteratorBinding dciter2;
dciter2 = (DCIteratorBinding) bindings.get("LegalDocDetails1VO2Iterator");
ViewObject vo2 = dciter2.getViewObject();
vo2.clearCache();
vo2.executeQuery();
//dciter2.executeQuery();
OperationBinding operationBinding = bindings.getOperationBinding("Commit");
Object result = operationBinding.execute();
if (!operationBinding.getErrors().isEmpty()) {
return null;
return null;
}this is my save button code.
while pressing save button date,month,year increment operation takes place.
i did like this:
date issued : 3/10/1999
validtiy type : months /days /years in select one choice
validty time : 1 if i give 1 means
date expires on : *4*/10/1999 it should be generates by pressing save button.
by my issues:
first time pressing button
date expires on : *23*/10/1999 wrongly generated. each every first time default adding 10 to date. i dont have default value. why it's happening
eventhough used clearcache. but it's not perforing correctly in first time
by second time or third time... n tmes means
date expires on : *4*/10/1999 it correctly generating.
see pics.
inputdate: 2/18/2012:
wrongly generating : http://imageshack.us/photo/my-images/210/testttt.png/ in this pics see expires on : 2/28/2012
correctly generating : http://imageshack.us/photo/my-images/341/testtsds.png/ in this pics see expires on : 2/20/2012
i followed one of my thread: JDeveloper and ADF
Edited by: subu123 on Feb 24, 2012 6:27 AMthank you sir. for visting my thread. i understood. how can i over come that?
SELECT LegalDocDetailsEO.LDD_BE,
LegalDocDetailsEO.LDD_UNIT,
LegalDocDetailsEO.LDD_SUPLR_ID,
LegalDocDetailsEO.LDD_CUST_ID,
LegalDocDetailsEO.LDD_EMP_ID,
LegalDocDetailsEO.LDD_DOC_ID,
LegalDocDetailsEO.LDD_DOC_NO,
LegalDocDetailsEO.LDD_ISSUED_AT,
LegalDocDetailsEO.LDD_ISSUED_ON,
LegalDocDetailsEO.LDD_VALID_FRQ,
LegalDocDetailsEO.LDD_VALID_DUR,
(case when LDD_VALID_FRQ='D' then LDD_ISSUED_ON + LDD_VALID_DUR //D-Date
when LDD_VALID_FRQ='M' then add_months(LDD_ISSUED_ON,LDD_VALID_DUR) //M -Month //Y-Year
else add_months(LDD_ISSUED_ON,LDD_VALID_DUR*12)
end ) as LDD_EXP_ON,
LegalDocDetailsEO.LDD_STATUS,
LegalDocDetailsEO.LDD_SL_FLG,
LegalDocDetailsEO.LDD_VEHICLE_ID,
LegalDocDetailsEO.LDD_BFCRY_TYPE,
LegalDocDetailsEO.LDD_EMPDEPNT_NO,
LegalDocDetailsEO.LDD_ASSET_ID,
LegalDocDetailsEO.LDD_PROD_UNIT,
LegalDocDetailsEO.LDD_PROD_ID,
LegalDocDetailsEO.LDD_PROD_REV,
LegalDocDetailsEO.LDD_CRE_BY,
LegalDocDetailsEO.LDD_CRE_DATE,
LegalDocDetailsEO.LDD_UPD_BY,
LegalDocDetailsEO.LDD_UPD_DATE,
LegalDocDetailsEO.ROWID
FROM LEGAL_DOC_DETAILS LegalDocDetailsEO
WHERE LegalDocDetailsEO.LDD_BE = :pbui want to excute this vo. by pressing button. so only wrote like that.
why am going excutes means?
if am entering date and choosing select one choice means. by pressing button the button excutes vo and prorbably i get my output.
is there any other way??? to attain my target..
Edited by: subu123 on Mar 8, 2012 7:45 AM -
Problem querying over two fact tables
The business requirement is that we want to be able to see sales for two different periods of times, over different brands, different Items' years and seasons per periods.
So for the different dimensions I created alias having two tables in the physical layer
for Brands, Shops and Items (tables) [These are the tables where I query for different brand, Item's year and different season]. The Business Model Schema looks like this:
Items-----> SALES <------Brands Items 2-----> SALES 2 <------------Brands 2
^ ^
TIMES TIMES 2 (TIMES JOINED WITH SALES AND TIMES 2 WITH SALES 2)
and VENDORS connected to both SALES & SALES 2 left outer joined
The need is that I need to query over two indepedent periods of time with independed dimensions but for a common dimension (Vendors).
The presentation data simplified looks like this:
Answers
Vendor Sales Qty Sales 2 Qty
1092 234 123
The problem is that when a vendor doesn't exist in one period it doesn't come and in the other although there are sales. So when I query with the same filters (same period of time, Brands, Items' years and seasons) over these two fact tables I get the same sales and correct data. When there are different criteria then I lose data.
The Query fired in the database is the following:
select distinct case when D2.c4 is not null then D2.c4 when D1.c4 is not null then D1.c4 end as c1,
D1.c3 as c4,
D1.c1 as c5,
D1.c2 as c6,
cast(D1.c2 / nullif( D1.c1, 0) * 100 as DOUBLE PRECISION ) as c7,
D2.c3 as c8,
D2.c1 as c9,
D2.c2 as c10,
cast(D2.c2 / nullif( D2.c1, 0) * 100 as DOUBLE PRECISION ) as c11
from
(select sum(T43161.amnt_1) as c1,
sum(T43161.mk_1) as c2,
sum(T43161.qty_1) as c3,
T7120.VE_NAME as c4
from
VE04_TBL T7120,
GE04_COMPANY_TBL T43802,
EI04_TBL T6931,
Salesmcost T43161
where ( T6931.EI_CODE = T43161.ei_code and T6931.VE_CODE = T7120.VE_CODE and T6931.GE_COMPANY_CODE = '1' and T6931.EI_SEASON_CODE = 'Χ' and T6931.EI_YEAR = '2009' and T7120.GE_COMPANY_CODE = '1' and T7120.VE_CODE = T43161.ve_code and T43161.ge_company_code = T43802.GE_COMPANY_CODE and T43802.GE_COMPANY_NAME = '*** Φ. & Κ. ΛΕΜΟΝΗΣ ΑΕΒΕ ****' and T43802.LIST_ITEM_IND = '1' and T43161.trans_date >= ADD_MONTHS(TO_DATE('2010-05-12' , 'YYYY-MM-DD'), -7 * 12 ) and T43161.trans_date between TO_DATE('2009-01-01' , 'YYYY-MM-DD') and TO_DATE('2009-01-31' , 'YYYY-MM-DD') )
group by T7120.VE_NAME
) D1,
(select sum(T44099.amnt_1) as c1,
sum(T44099.mk_1) as c2,
sum(T44099.qty_1) as c3,
T7120.VE_NAME as c4
from
EI04_TBL T44615 /* EI04_TBL 2 */ ,
VE04_TBL T7120,
GE04_COMPANY_TBL T43802,
Salesmcost T44099 /* Salesmcost_2 */
where ( T7120.VE_CODE = T44099.ve_code and T7120.VE_CODE = T44615.VE_CODE and T7120.GE_COMPANY_CODE = '1' and T43802.GE_COMPANY_CODE = T44099.ge_company_code and T43802.GE_COMPANY_NAME = '*** Φ. & Κ. ΛΕΜΟΝΗΣ ΑΕΒΕ ****' and T43802.LIST_ITEM_IND = '1' and T44099.ei_code = T44615.EI_CODE and T44615.GE_COMPANY_CODE = '1' and T44615.EI_SEASON_CODE = 'Χ' and T44615.EI_YEAR = '2008' and T44099.trans_date between TO_DATE('2008-01-01' , 'YYYY-MM-DD') and TO_DATE('2008-01-31' , 'YYYY-MM-DD') )
group by T7120.VE_NAME
) D2
where ( D1.c4 = D2.c4 ) /*<------- I think that this join creates the problem*/
order by c1
Edited by: user1198434 on 12 Μαϊ 2010 5:14 πμ
Edited by: user1198434 on 12 Μαϊ 2010 5:41 πμHi,
go through this
http://obiee101.blogspot.com/search/label/OUTER%20JOIN
I think you are new to the forum. try searching through some of the famous obiee forums. Gurus have already covered most of the issues. few are,
http://obiee101.blogspot.com
http://oraclebizint.wordpress.com/
http://gerardnico.com/weblog/
http://108obiee.blogspot.com/
thanks,
karthick -
Problems trying to SUM after returning date on first row in all rows
Hi,
I'm having problems with a calculation in a table report.
We've built a Discoverer report that looks at long term absence of an employee. The long-term absence period must be worked out based on a 2-year rolling period from the start date of the employee's most recent sickness. For example, if i'm off sick and have been since 01-Mar-2009 the report will look at all absences i've had since 01-Mar-2007 and sum the days.
I have built a calculation that always returns the latest absence start date for every row of absence a person has had. This has been achieved by using a LEAD Function and ROW_NUMBER, see below:
LEAD(Absence Start Date,ROW_NUMBER() OVER(PARTITION BY Employee Number ORDER BY Absence Start Date DESC)-1) OVER(PARTITION BY Employee Number ORDER BY Absence Start Date DESC)
The problem I have is that I cannot SUM the Absence Days of the person and bring in one row per person in the report. I think the cause is the use of the ROW_NUMBER. It ends up returning a Row for every absence the person has had.
Is there any way I can achieve returning the latest absence start date of a person against all absence rows (in order to use a condition to restrict the report to all absences that started after 2 years prior to that date) that they've had and sum up the absence days so that only one row per person is returned? I cannot use row generators and cannot register PL/SQL functions. I would need to get IT to help me which is min 3 month turnaround, so I'm trying to resolve this quickly.
Hope you can help.
Many Thanks,
LloydHi Michael,
Thanks a lot for this. The calculation you provided fixes the issue. However, The partition part of it seems to cause another.
In order to calculate total absence days the following calculation is used:
SUM(CASE WHEN NVL2("Absence (Employee) - Historic"."Date End",( CASE WHEN Absence Finish >= Absence Start THEN "Absence (Employee) - Historic".Absence Days END ),CASE WHEN "Absence (Employee) - Historic".Date Start < Period Start Date THEN WORKING_DAYS_BETWEEN(Period Start Date,Absence Finish) WHEN Absence Finish >= Absence Start THEN WORKING_DAYS_BETWEEN(Absence Start,Absence Finish) END) = 0 THEN DAYS_BETWEEN(Absence Start,Absence Finish) ELSE NVL2("Absence (Employee) - Historic"."Date End",( CASE WHEN Absence Finish >= Absence Start THEN "Absence (Employee) - Historic".Absence Days END ),CASE WHEN Absence Finish >= Absence Start THEN WORKING_DAYS_BETWEEN(Absence Start,Absence Finish) END) END) OVER(PARTITION BY "Person Assignment Information (Person) - Historic".Employee Number ORDER BY "Person Assignment Information (Person) - Historic".Employee Number )
Here is a little Key:
Absence Start
GREATEST("Absence (Employee) - Historic".Date Start,ADD_MONTHS(TRUNC(SYSDATE),-24))
Absence Finish
LEAST(NVL("Absence (Employee) - Historic".Date End,TRUNC(SYSDATE)),TRUNC(SYSDATE))
Period Start Date
ADD_MONTHS(MAX("Absence (Employee) - Historic".Date Start) OVER(PARTITION BY "Absence (Employee) - Historic".Employee Number ORDER BY "Absence (Employee) - Historic".Date Start DESC ),-24)
The item Absence Days is the number of days input against the absence by the user. This is only correct for end-dated absences. For people who have open-ended absence or those whose absence start before the period start date (Michael's date) we must work the days out. A function called WORKING_DAYS_BETWEEN achieves this. There is also another function called DAYS_BETWEEN which is all days between two days (weekends included).
The item Date Start is the absence Start Date, Date End is the Absence End date.
The whole lot is then summed by Employee number partition.
The report has lots of indicators that using mathemical equations based ont Total Absence Days. In order to use Total Absence Days in another mathematical calc I have to create a duplicate calculation except without the partition (Total_Absence_Days in this case). If don't and simply insert the name of the calc into another calculation I get this error when running the report.
Image: !http://www.aerographicsuk.com/Invalid%20Identifier.jpg!
When creating another mathematical calc I then have to do the Sum partition around it. This makes the report run really slow because i'm typing lots of large formulae every time i build a calc that refers to Total Absence Days.
Is there a way I can create the total absence days calculation with out causing this error? I have thought about breaking it up into several calculations but am wondering if i'll get the same error message.
Below is an example of a calculation that tries to use Total Absence Days:
GREATEST("Full Pay Entitlement (Days)"-SUM(Total_Absence_Days) OVER(PARTITION BY "Absence (Employee) - Historic".Employee Number ORDER BY "Absence (Employee) - Historic".Employee Number ),0)
Kranthi, I can only paste in the Oracle SQL, which isn't real SQL. There are lots of other calcs though, so they'll probably be a lot there. Please let me know if you'd like to see it.
Many Thanks for your help with this,
Lloyd -
Problems with date in procedure on Oracle 11g
Hi gurus,
I have some problems with the date format on Oracle 11g.
Let me explain the situation:
When I am starting a request like
select to_number(to_char(to_date('01.04.2009','dd.mm.yyyy'), 'yyyy'))
from sys.dual
I got as result 2009 as number.
When I do the same in a procedure of a package like this
my_year := to_number(to_char(to_date('01.04.2009','dd.mm.yyyy'), 'yyyy'));
the variable my_year contains the value 9 instead of 2009.
Can someone explain me what's going wrong?
I have just tested with changing the environment variable nls_date_format for the session and for the complete database with no success.
Regards,
BjörnThank you all for your replies so far:
@Alex: You are right, using your short script in sqlplus gives me also 2009 as result
So, I am now posting the essential excerpts of the procedure because the whole one is to large:
function insert_szrl (my_fremd_name varchar, my_elementadresse varchar,
my_zeitstempel varchar, my_wert float,
my_status varchar, my_zyklus varchar,
my_offset integer,
my_quelle varchar, my_nzm_daten integer) return integer is
begin
my_date := to_date (substr (my_zeitstempel, 1, 10), 'dd.mm.yyyy') + my_tageswechsel +1/24;
if my_zyklus = 'mm' then
my_zeitstempeldate := add_months(to_date(last_day(to_date(my_date, 'dd.mm.yyyy')), 'dd.mm.yyyy'),-1) +1 + (my_tageswechsel+1/24);
my_days := to_date(last_day(to_date(my_date, 'dd.mm.yyyy')), 'dd.mm.yyyy') - add_months(to_date(last_day(to_date(my_date, 'dd.mm.yyyy')), 'dd.mm.yyyy'),-1);
my_year := to_number(to_char(to_date(my_date,'dd.mm.yyyy'), 'yyyy'));
ptime.umschalttage_tuned (my_year, my_ws, my_sw);
end if;
While debugging the complete procedure I see since the start only a date which looks like '01.04.2009 07:00:00'
Edited by: user10994305 on 19.05.2009 15:58
Edited by: user10994305 on 19.05.2009 15:58 -
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; -
hi all,
need some help in oracle report 6i, I have a SQL statement like
SQL> select p.person_id, p.person_name, p.birth_date,max(cg.effective_start_date) "Last Concession",
add_months(max(effective_start_date),24) "Next Concession"
from person p, conc_given cg
where p.person_id = cg.person_id
group by p.person_id, p.person_name, p.birth_date
p.person_id p.person_name p.birth_date Last Concession Next concession
1234 peter scott 01/06/1967 05/07/00 05/07/02
1489 smith bratt 09/04/1958 07/10/01 07/10/03
The p.person_id I am selecting in my SQL statement do have some relationship
with some other non-clients. Its all in relationship table...and person_id is a foreign key in that table..
I want the results like as follows:
p.person_id p.person_name p.birth_date relationship.person_id related person_name Last Concession Next concession
1234 peter scott 01/06/1967 05/07/00 05/07/02
1584 anita scott 07/09/01 07/09/03
1897 david scott NULL NULL
1489 smith bratt 09/04/1958 07/10/01 07/10/03
1354 sonia bratt 09/06/1998 09/06/2000
I can attach the related person_ID and his name with the p.person_id but the problem I am having
I don't know how the relationship_ID and name can appear in the next line and their conc_dates as well...
pls help
ThanksHi,
Please run this sql statement in the SQL session. This way you will get the line number where the problem is happening.
The error seems to be because the column in the select is not in the group by clause.
Thanks,
Sharmila -
Problem with SUM () analytic function
Dear all,
Please have a look at my problem.
SELECT CURR, DT, AMT, RATE,
SUM(AMT) OVER (PARTITION BY CURR ORDER BY DT) SUMOVER,
sum( amt * rate) over (PARTITION BY CURR ORDER BY DT) / SUM(AMT) OVER (PARTITION BY CURR ORDER BY DT) avgrt
FROM
select 'CHF' CURR, ADD_MONTHS(TO_DATE('01-DEC-07'), LEVEL -1) DT, 100 * LEVEL AMT, 1 + ( 5* LEVEL/100) RATE
FROM DUAL CONNECT BY LEVEL < 10
SQL> /
CUR DT AMT RATE SUMOVER AVGRT
CHF 01-DEC-07 100 1.05 100 1.05
CHF 01-JAN-08 200 1.1 300 1.08333333
CHF 01-FEB-08 300 1.15 600 1.11666667
CHF 01-MAR-08 400 1.2 1000 1.15
CHF 01-APR-08 500 1.25 1500 1.18333333
CHF 01-MAY-08 600 1.3 2100 1.21666667
CHF 01-JUN-08 700 1.35 2800 1.25
CHF 01-JUL-08 800 1.4 3600 1.28333333
CHF 01-AUG-08 900 1.45 4500 1.31666667
Table Revaluation
select 'CHF' CURR1, '31-DEC-07' DT , 1.08 RATE FROM DUAL UNION ALL
select 'CHF' CURR1, '31-MAR-08' DT , 1.22 RATE FROM DUAL UNION ALL
select 'CHF' CURR1, '30-JUN-08' DT , 1.38 RATE FROM DUAL
CUR DT RATE
CHF 31-DEC-07 1.08
CHF 31-MAR-08 1.22
CHF 30-JUN-08 1.38.
Problem is with the calculation of average rate.
I want to consider the data in the revaluation table to be used in the calculation of
average rate.
So average rate for Jan-08 will be
(100 * 1.08(dec revaluation rate) + 200 * 1.1 ) / (300) = 1.093333333
for Feb-08
(100 * 1.08(dec revaluation rate) + 200 * 1.1 + 300 * 1.15) / (600) = 1.121666667
for mar-08
(100 * 1.08(dec revaluation rate) + 200 * 1.1 + 300 * 1.15 + 400 * 1.2) / (1000) = 1.153
for Apr-08
(1000 * 1.22(Apr revaluation rate) + 500 * 1.25) /1500 = 1.23
for May-08
(1000 * 1.22(Apr revaluation rate) + 500 * 1.25 + 600 * 1.30 ) /2100 = 1.25
and so on..
Kindly adviceHi,
The main thing in this problem is that for every dt you want to compute the cumulative total from previous rows using the formula
SUM (amt * rate)
But rate can be either the rate from the revaluation table or the rate from the main table. For evaluating prior dates, you wnat to use the most recent rate.
I'm not sure if you can do this using analytic functions. Like Damorgan said, you should use a self-join.
The query below gives you the results you requested:
WITH
revaluation AS
SELECT 'CHF' curr1, TO_DATE ('31-DEC-07', 'DD-MON-RR') dt, 1.08 rate FROM dual UNION ALL
SELECT 'CHF' curr1, TO_DATE ('31-MAR-08', 'DD-MON-RR') dt, 1.22 rate FROM dual UNION ALL
SELECT 'CHF' curr1, TO_DATE ('30-JUN-08', 'DD-MON-RR') dt, 1.38 rate FROM dual
original_data AS
select 'CHF' curr
, ADD_MONTHS(TO_DATE('01-DEC-07'), LEVEL -1) dt
, 100 * LEVEL amt
, 1 + ( 5* LEVEL/100) rate
FROM dual
CONNECT BY LEVEL < 10
two_rates AS
SELECT od.*
SELECT MAX (dt)
FROM revaluation
WHERE curr1 = od.curr
AND dt <= od.dt
) AS r_dt
SELECT AVG (rate) KEEP (DENSE_RANK LAST ORDER BY dt)
FROM revaluation
WHERE curr1 = od.curr
AND dt <= od.dt
) AS r_rate
FROM original_data od
SELECT c.curr
, c.dt
, c.amt
, c.rate
, SUM (p.amt) AS sumover
, SUM ( p.amt
* CASE
WHEN p.dt <= c.r_dt
THEN c.r_rate
ELSE p.rate
END
/ SUM (p.amt) AS avgrt
FROM two_rates c
JOIN original_data p ON c.curr = p.curr
AND c.dt >= p.dt
GROUP BY c.curr, c.dt, c.amt, c.rate
ORDER BY c.curr, c.dt
; -
Report region columns constrained to 4000 chars? Hitting LOV problems.
Hi all,
I've hit a problem that I'm hoping will have a simple answer.
Quick overview of issue:
APEX 3.01 application running against a 10gR2 DB.
We have an LOV defined that works just fine on various forms but in report regions where the LOV is available via a drop down column value in the report region HTML table we are hitting the error:
report error:
ORA-06502: PL/SQL: numeric or value error: character string buffer too small
Some judicious debugging reveals that this seems to be because we are trying to load in more than 4000 characters into the LOV drop down in the report regions HTML table column (it's a moderately large LOV)..
This suggests that the default column type in a report region HTML table is VARCHAR2 and thus that there is a default 4000 character limit on any such column values, would that be a fair assumption? I know that the actual report row size always used to be limited to a total of 32k but this limit is a new one to me.
If there is such a limit, does anyone have any suggestions on how to work-around it i.e. is it possible to redefine report region column values to be other datatypes/dimensions or should we be looking at using an alternative such as a pop-up instead?
Many thanks.Hi Scott,
Okay, what we have is a fairly simple Dynamic Page with two report regions (both standard type of 'SQL Query'). The second report region is the one causing us the headache. The column headings are set to 'Custom' but apart from that everything seems as it should be.
The following query populates an HTML table being generated in the second report region (problem line in bold):
SELECT apex_item.hidden(7,task_id)||
apex_item.select_list_from_lov(1, estimate_type, 'TASKSMK', NULL, 'YES', 0,'** Select Task **',NULL, NULL) as "Task Type",
'<img src="/i/themes/aqa/required.gif" alt="Required Field" tabindex="999" />'||apex_item.text(2, description,30,4000,'required="true"') as "Work Item(s)",
dbms_lob.substr(apex_item.select_list_from_lov_xl(3, username, 'PEOPLE', NULL, 'YES', 0, '** Select Resource **', NULL, NULL),4000) as "Resource",
apex_item.text(4, days,5,5) as "Days",
apex_item.text(5, start_date,11,11) as "target Start (dd-mon-yyyy)",
apex_item.text(6, NVL(end_date,ADD_MONTHS(start_date,1)),11,11) as "Target End (DD-MON-YYYY)",
rownum link
FROM
(SELECT t.task_id,
e.estimate_type,
t.description,
t.username ,
t.days,
t.start_date,
t.end_date
FROM estimate e, task t
WHERE e.project_project_id = TO_NUMBER(:F172_PROJECT_ID)
AND e.active_yn = 'Y'
-- and t.days > 0
AND t.ese_id = e.id
--AND e.creation_date = (SELECT MAX(ei.creation_date) FROM estimate ei WHERE ei.project_project_id = e.project_project_id AND ei.active_yn = 'N')
UNION ALL
SELECT 0 task_id,
0 estimate_type,
NULL description,
'0' username,
NULL days,
sysdate start_date,
ADD_MONTHS(sysdate,1) end_date
FROM dual
CONNECT BY LEVEL < = TO_NUMBER(:P19_ROWS_CNT))
All appears well until the number of values being returned in the second LOV (retrieved by the apex_item.select_list_from_lov_xl) exceeds 4000 characters and then we get the error first detailed. The substr around the function isn't usually present, it was added during the debugging, if I allow one more character than the 4000 or remove the substr completely then I get the error again. If the same function is used to retrieve the LOV on a normal Dynamic Form field then all is well, it only seems to have a problem when present in the HTML table being generated.
Are we doing something silly here?
Thanks.
Message was edited by:
jac -
Problem on 10g Express using join (+), but works on Standard 10g
Good Day all,
I am having a problem with the following query:
select srds.specific_date,l.DayCntr
from (select add_months(sysdate,-1)+ rownum * 5 as Specific_date from all_objects where rownum < 35) srds,
(select rownum as DayCntr from all_objects oc where rownum < 35) l
where l.DayCntr < 32
and l.DayCntr = (to_number(to_char(srds.specific_date(+),'DD')))
and ((srds.specific_date between add_months(sysdate,-1) and sysdate)
or (srds.specific_date is null))
order by daycntr;
On express 10g, not all rows are returned as expected, minmum of 31 rows, getting sometimes 20
while on 10g Standard it does work, any ideas?
Thanksfor me its works fine in both Oracle 10.2.0.3 and Oracle XE and return the same result. maybe is not a query problem, maybe a installation problem
10 G
Connected.
@10g> select srds.specific_date,l.DayCntr
2 from (select add_months(sysdate,-1)+ rownum * 5 as Specific_date from all_objects where rownum < 35) srds,
3 (select rownum as DayCntr from all_objects oc where rownum < 35) l
4 where l.DayCntr < 32
5 and l.DayCntr = (to_number(to_char(srds.specific_date(+),'DD')))
6 and ((srds.specific_date between add_months(sysdate,-1) and sysdate)
7 or (srds.specific_date is null))
8 order by daycntr;
SPECIFIC_DATE DAYCNTR
1
2
05/11/2008 15:20:10 5
6
7
10/11/2008 15:20:10 10
11
12
15/11/2008 15:20:10 15
16
17
20/11/2008 15:20:10 20
21
22
26/10/2008 15:20:10 26
27
31/10/2008 15:20:10 31
17 rows selected.
XE
Connected.
@XE> select srds.specific_date,l.DayCntr
2 from (select add_months(sysdate,-1)+ rownum * 5 as Specific_date from all_objects where rownum < 35) srds,
3 (select rownum as DayCntr from all_objects oc where rownum < 35) l
4 where l.DayCntr < 32
5 and l.DayCntr = (to_number(to_char(srds.specific_date(+),'DD')))
6 and ((srds.specific_date between add_months(sysdate,-1) and sysdate)
7 or (srds.specific_date is null))
8 order by daycntr;
SPECIFIC_DATE DAYCNTR
1
2
05/11/2008 15:22:46 5
6
7
10/11/2008 15:22:46 10
11
12
15/11/2008 15:22:46 15
16
17
20/11/2008 15:22:46 20
21
22
26/10/2008 15:22:46 26
27
31/10/2008 15:22:46 31
17 rows selected.
@XE>
@XE> -
Getting one day difference in add_months function
when i am using the add_months for a
particular days i am getting one day
difference
ex : select add_months(to_date('30-aug-2000',
'DD-mon-YYYY'),27) from dual;
result : 30-nov-2002
select add_months(to_date('30-nov-2000','DD-mon-YYYY'),-27) from dual;
result : 31-aug-2000.
differnce between : 31-aug-2000 and 30-aug-2000
is commingWhen you are passing the last day in the month to the add_month function ( 30-NOV-2002) it will always return the last day in the resulting month ( 31-AUG-2000).
This is a known Oracle bug and you'll need to create your own logic for adding month to avoid this problem. You can use last_day function in there. -
Problem definition:
We have a business rule according to CDM ruleframe, but have a
problem when we want to delete a row from a table. The problem
occurs when the business rule is validated. The
delete operation works fine when the business rule is not
validated.
Business rule: BR_FELT_0006_DEL
Table: SLN_FELTER
CAPI-package: SLN_FELTER_CAPI
Trigger attr.: After triggering statement on DELETE operation
The definition of this delete rule is the same as the definition
in the Headstart demo application.
This is a simple reconstruction of the error problem:
SQL> delete from sln_felter
2 where opve_oppgave_nr = 'RF-1061'
3 and opde_oppgavekode = 1014
4* and inar_inntektsaar = 2000
SQL> /
delete from sln_felter
FEIL pe linje 1:
ORA-20999:
ORA-06512: ved "HST65.CG$ERRORS", line 565
ORA-06512: ved "SLNHL6.CG$SLN_FELTER", line 474
ORA-20998: Transaction Failed
ORA-06512: ved "HST65.QMS$ERRORS", line 128
ORA-06512: ved "HST65.QMS_TRANSACTION_MGT", line 822
ORA-06512: ved "SLNHL6.CG$ADS_SLN_FELTER", line 51
ORA-04088: feil ved utfxring av
triggeren 'SLNHL6.CG$ADS_SLN_FELTER'
ORA-06512: ved "SLNHL6.CG$ADS_SLN_FELTER", line 43
ORA-04088: feil ved utfxring av
triggeren 'SLNHL6.CG$ADS_SLN_FELTER'
SQL> @d:\hsd65\hst\scripts\messages
Feil QMS-00100: Ukjent feil ORA-01403: ingen data ble funnet:
qms_transaction_mgt.perform_business_rule
Kontakt brukerkontakten.
PL/SQL-prosedyren ble fullfxrt.
Error message should have been:
SLX-00367: <p1>: Feltet kan ikke slettes hvis det har pestand
fra skattyter
We have debugged the PL/SQL code and the error occurs in the CDM
ruleframe generated
CAPI-definition and not in the business rule itself. This is a
part of the code where we think the error occur:
procedure br_felt_0006_del
is
l_rule_validation_result boolean := true;
begin
l_rule_validation_result := br_felt_0006_del
( g_current_row.opde_oppgavekode
, g_current_row.inar_inntektsaar
, g_current_row.id
if not l_rule_validation_result
or l_rule_validation_result is null
then
qms_transaction_mgt.process_rule_violation
( p_br_name => 'BR_FELT_0006_DEL'
, p_msg_code => 'SLX-00367'
, p_display_label => display_label
, p_table_name => 'sln_felter'
, p_table_rowid => get_rowid <------ When this procedure
-- is calling the get_rowid function
); -- then we get the ORA-01403: No data found.
end if; -- Business Rule is violated
end br_felt_0006_del;
|
|
|
function get_rowid
return rowid
-- Purpose Return rowid of the current row
-- Usage From br procedures
is
l_rowid rowid;
begin
if g_current_row.the_rowid is not null
then
l_rowid := g_current_row.the_rowid;
else
select rowid <--- We suspect this is a
-- problem in CDM ruleframe,
into l_rowid -- because a deleted row is read !!!
from sln_felter
where id = g_current_row.id
g_current_row.the_rowid := l_rowid;
if g_stack_index is not null
then
g_felt_tbl(g_stack_index).the_rowid := l_rowid;
end if; -- g_stack_index
end if; -- g_current_row.the_rowid
return l_rowid;
end get_rowid;We also have a problem with the delete rule.
In our case we have two tables persons and reservations.
A person can place more reservations. The foreign key between them two is cascade delete.
Our code is
Purpose Persons can only be deleted three years after they made the last reservation
Remarks
Revision History
When Who
Revision What
30-01-2002 REPOWN
1.0 Using utility HSU_BRTR (revision 6.5.1.3)
04-01-2002 MAST
1.1 Code toegevoegd
l_rule_ok boolean := true;
begin
trace('br_klt002_del (f)');
-- for instructions, see the Headstart User Guide
l_rule_ok := not ati_rsg_capi.exists_row
( p_where => 'trunc(reservationdate ) >= add_months(trunc(sysdate),-36) and psn_id = '||p_old_id );
--also tried
--l_rule_ok := not ati_rsg_capi.exists_row
-- ( p_where => 'trunc
--(reservationdate ) >= add_months(trunc(sysdate),-36) and
--psn_id = '||p_id );
return l_rule_ok;
exception
when others
then
qms$errors.unhandled_exception(PACKAGE_NAME||'.br_klt002_del (f)');
end br_klt002_del;
The problem is that this doesn't work. We are allowed to delete every person, even if they have a reservation yonger than three years.
Maybe you are looking for
-
External Display is wavy.
I have my MBP hooked up to an Envision Professional Series 22" widescreen LCD monitor (MBP DVI port to DVI/VGA adapter). Most of the time, it works perfectly at 1680x1050 60 Hz, however, sometimes the pictures becomes wavy. The image wobbles back and
-
Virtualbox_bin doesn't install correctly
Here's what I get: [root@myhost virtualbox]# sudo pacman -U virtual*86*z loading package data... done. checking dependencies... done. cleaning up... done. (1/1) checking for file conflicts [#####################] 100% (1/1) installing virtualbox_bin
-
How to setup Mobile Access Server
Hi, I am trying to setup Mobile Access Server on my Mac Mini Server. The setup I have is a small network behind a Airport Extreme. I would like to give all users access to services using Mobile Access Server and was hoping initial setup was going to
-
Blank offline mixes in Nokia Music
Has anyone experienced specific mixes dissapearing or appearing blank when downloaded to offline from Nokia Music? http://www.nokia.com/support
-
I have a question about struts. I know Strut is good framework for designing a large website. It has a lot of classes that help to design well scaled websites. What about performance? Does it slow the processing of request. if speed is the main issue