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 Photostream

    Where 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

  • Problem in date functions

    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 AM

    thank 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,
    Lloyd

    Hi 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örn

    Thank 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,
    -Dmitriy

    a 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;

  • Report SQL problem

    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
    Thanks

    Hi,
    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 advice

    Hi,
    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?
    Thanks

    for 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 comming

    When 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.

  • Business Rule Delete Problem

    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

  • Strut Question

    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