****URGENT*** execute immediate problem
Hi all,
I am writing this procedure
create or replace procedure pr_test is
begin
EXECUTE IMMEDIATE 'CREATE or replace view test1 as select * from table_name';
end ;
when I execute this procedure even in the same schema who owns this table it gives me this message.
BEGIN pr_test; END;
ERROR at line 1:
ORA-01031: insufficient privileges
ORA-06512: at "COLIS.PR_TEST", line 3
ORA-06512: at line 1
can any body lets me know the solution????
Thanks in advance
Take Care !
Ghulam
You must grant first the privilege in SQLPlus:
SQL> grant create [any] view to user_who_created_procedure;
GB
Similar Messages
-
EXECUTE IMMEDIATE problem with long SQL statement
Hello Experts,
I am having a BIG problem executing script inside the iSQLPlus. This script has 29 blocks. 27 of those blocks are working OK, but block #26 and #27 are giving me the error on the "EXECUTE IMMEDIATE" statement. The length of the SQL statements in those two blocks is more then 4000 characters and I can not use a string variable to keep the SQL statement. If I pass the entire SQL statement as a string to the "EXECUTE IMMEDIATE" command, I am getting the error inside the iSQLPlus:
Error writing 26 Bad Value. -907: ORA-00907: missing right parenthesis
Error writing 27 Bad Value. -907: ORA-00907: missing right parenthesis
The script code is shown below:
SET ECHO OFF;
SET VERIFY OFF;
SET PAGESIZE 78;
SET LINESIZE 132;
SET SERVEROUTPUT ON;
SET FEEDBACK OFF;
--PROMPT;
--PROMPT REPORT BEING PROCESSED - PLEASE WAIT.
--PROMPT;
DECLARE
l_count NUMBER;
s_user VARCHAR2(50);
s_command VARCHAR2(4000);
CURSOR INREC (BATCH_PARAM NUMBER) IS
SELECT BATCH,
AK$DEALER,
FK$TRIP_TICKET,
INVOICE,
CONTINUATION_IND,
TRIP_DATE,
SPL_NO,
AK$MRIS_AREA,
AK$MRIS_COUNTY,
TIME_FISHED,
TIME_UNITS,
DEPTH,
DEPTH_UNITS
FROM T$TRIP_TICKET_WORK
WHERE TO_NUMBER(BATCH) = BATCH_PARAM;
DATEST DATE;
BEGDATE DATE;
ENDATE DATE;
FLAGCNT NUMBER := 0;
MSGNUM NUMBER;
MAXLIC VARCHAR2(7);
BEGIN
select sys_context('USERENV','SESSION_USER') into s_user from dual;
select count(*) into l_count from all_tables where table_name = 'BATCHERS_REPORT' and owner=s_user;
--the table 'BATCHERS_REPORT' alwase exist for the MRIS user role,co we have to check if more then 1 record exist:
IF l_count > 0 then
--TRUNCATE TABLE BATCHERS_REPORT REUSE STORAGE;
s_command := 'TRUNCATE TABLE BATCHERS_REPORT REUSE STORAGE';
execute immediate s_command;
ELSE
--CREATE TABLE BATCHERS_REPORT AS (SELECT * FROM MRIS.BATCHERS_REPORT);
--s_command := 'CREATE TABLE BATCHERS_REPORT AS SELECT * FROM MRIS.BATCHERS_REPORT WHERE 1=2';
s_command := 'CREATE TABLE BATCHERS_REPORT
(BATCH VARCHAR2(6),
AK$DEALER VARCHAR2(9),
FK$TRIP_TICKET NUMBER,
INVOICE VARCHAR2(13),
CONTINUATION_IND VARCHAR2(1),
TRIP_DATE VARCHAR2(8),
SPL_NO VARCHAR2(9),
AK$MRIS_AREA VARCHAR2(7),
AK$MRIS_COUNTY VARCHAR2(3),
TIME_FISHED VARCHAR2(3),
TIME_UNITS VARCHAR2(1),
DEPTH VARCHAR2(5),
DEPTH_UNITS VARCHAR2(1),
AK$MRIS_GEAR VARCHAR2(4),
AK$SPECIES VARCHAR2(4),
SPECIES_SIZE VARCHAR2(8),
WEIGHT_IN_POUNDS NUMBER(10,2),
UNIT_PRICE NUMBER(5,3),
ERROR_NUM NUMBER)';
execute immediate s_command;
execute immediate 'commit';
END IF;
DBMS_OUTPUT.PUT_LINE('.');
DBMS_OUTPUT.PUT_LINE('. PROCEDURE NAME = BATCHERS');
DBMS_OUTPUT.PUT_LINE('. STARTING TIME = '||TO_CHAR(SYSDATE,'MM/DD/YYYY HH:MI:SS'));
SELECT MAX(DATE_B), MAX(DATE_E)
INTO BEGDATE, ENDATE
FROM T$BATCH_HEADER
WHERE PK$BATCH = &BATCHNUM;
SELECT LPAD(MAX(LIC_NUM),7,'0') INTO MAXLIC
FROM T$SWP_LICENSE;
BEGIN
MSGNUM := 1;
s_command := 'INSERT INTO BATCHERS_REPORT
(BATCH, AK$DEALER, FK$TRIP_TICKET, INVOICE,
CONTINUATION_IND, TRIP_DATE, SPL_NO, AK$MRIS_AREA,
AK$MRIS_COUNTY, TIME_FISHED, TIME_UNITS, DEPTH, DEPTH_UNITS,
AK$SPECIES, SPECIES_SIZE, WEIGHT_IN_POUNDS, UNIT_PRICE,
AK$MRIS_GEAR, ERROR_NUM)
SELECT T.BATCH, T.AK$DEALER, T.FK$TRIP_TICKET, T.INVOICE,
T.CONTINUATION_IND, T.TRIP_DATE, T.SPL_NO, T.AK$MRIS_AREA,
T.AK$MRIS_COUNTY, T.TIME_FISHED, T.TIME_UNITS, T.DEPTH, T.DEPTH_UNITS,
S.AK$SPECIES, LTRIM(S.SPECIES_SIZE),
TO_NUMBER(S.WEIGHT_IN_POUNDS), TO_NUMBER(S.UNIT_PRICE),
G.AK$MRIS_GEAR, '||''''||MSGNUM||''''||'
FROM T$TRIP_TICKET_WORK T,
T$TRIP_TICKET_GEAR_WORK G,
T$TRIP_TICKET_SPECIES_WORK S
WHERE (TO_NUMBER(T.BATCH) = '|| &BATCHNUM ||') AND (T.FK$TRIP_TICKET = G.AK$TRIP_TICKET)
AND T.FK$TRIP_TICKET = S.AK$TRIP_TICKET
AND (G.AK$MRIS_GEAR IS NULL
OR G.AK$MRIS_GEAR NOT IN (SELECT TO_CHAR(PK$MRIS_GEAR) FROM MT$MRIS_GEAR))
UNION
SELECT T.BATCH, T.AK$DEALER, T.FK$TRIP_TICKET, T.INVOICE,
T.CONTINUATION_IND, T.TRIP_DATE, T.SPL_NO, T.AK$MRIS_AREA,
T.AK$MRIS_COUNTY, T.TIME_FISHED, T.TIME_UNITS, T.DEPTH, T.DEPTH_UNITS,
S.AK$SPECIES, LTRIM(S.SPECIES_SIZE),
TO_NUMBER(S.WEIGHT_IN_POUNDS), TO_NUMBER(S.UNIT_PRICE),
G.AK$MRIS_GEAR, '||''''||MSGNUM||''''||'
FROM T$TRIP_TICKET_WORK T,
T$TRIP_TICKET_GEAR_WORK G,
T$TRIP_TICKET_SPECIES_WORK S
WHERE (TO_NUMBER(T.BATCH) = '|| &BATCHNUM ||')
AND (T.FK$TRIP_TICKET = G.AK$TRIP_TICKET)
AND T.FK$TRIP_TICKET = S.AK$TRIP_TICKET
AND (G.AK$MRIS_GEAR IN (110, 120, 130)
AND NOT EXISTS (SELECT * FROM T$TRIP_TICKET_GEAR_WORK G2
WHERE G2.AK$TRIP_TICKET = G.AK$TRIP_TICKET
AND G2.AK$MRIS_GEAR = 40))';
execute immediate s_command;
FLAGCNT := FLAGCNT + SQL%ROWCOUNT;
--COMMIT;
execute immediate 'commit';
EXCEPTION WHEN OTHERS THEN
DBMS_OUTPUT.PUT_LINE('. Error writing '||MSGNUM||' Bad Value');
END;
BEGIN
MSGNUM := 2;
s_command := 'INSERT INTO BATCHERS_REPORT
(BATCH, AK$DEALER, FK$TRIP_TICKET, INVOICE,
CONTINUATION_IND, TRIP_DATE, SPL_NO, AK$MRIS_AREA,
AK$MRIS_COUNTY, TIME_FISHED, TIME_UNITS, DEPTH, DEPTH_UNITS,
AK$MRIS_GEAR,
ERROR_NUM)
SELECT T.BATCH, T.AK$DEALER, T.FK$TRIP_TICKET, T.INVOICE,
T.CONTINUATION_IND, T.TRIP_DATE, T.SPL_NO, T.AK$MRIS_AREA,
T.AK$MRIS_COUNTY, T.TIME_FISHED, T.TIME_UNITS, T.DEPTH, T.DEPTH_UNITS,
NULL,
'||''''||MSGNUM||''''||'
FROM T$TRIP_TICKET_WORK T
WHERE (TO_NUMBER(T.BATCH) = '|| &BATCHNUM ||')
AND (T.AK$MRIS_AREA != '||'''0'''||')
AND (T.AK$MRIS_AREA NOT IN (SELECT TO_CHAR(PK$MRIS_AREA) FROM MT$MRIS_AREA))
AND NOT (T.AK$DEALER IN ('||'''WD0004606'''||', '||'''WD0003877'''||', '||'''WD0000157'''||', '||'''WD0001326'''||', '||'''WD0000426'''||')
AND
T.AK$MRIS_AREA IN ('||'''161.2'''||', '||'''301.2'''||', '||'''720.2'''||', '||'''760.2'''||', '||'''771.2'''||', '||'''772.2'''||', '||'''773.2'''||', '||'''780.2'''||', '||'''800.1'''||', '||'''821.2'''||', '||'''882.2'''||'))
UNION
SELECT T.BATCH, T.AK$DEALER, T.FK$TRIP_TICKET, T.INVOICE,
T.CONTINUATION_IND, T.TRIP_DATE, T.SPL_NO, T.AK$MRIS_AREA,
T.AK$MRIS_COUNTY, T.TIME_FISHED, T.TIME_UNITS, T.DEPTH, T.DEPTH_UNITS,
G.AK$MRIS_GEAR,
'||''''||MSGNUM||''''||'
FROM T$TRIP_TICKET_WORK T,
T$TRIP_TICKET_GEAR_WORK G
WHERE ((TO_NUMBER(T.BATCH) = '|| &BATCHNUM ||'))
AND ((T.FK$TRIP_TICKET = G.AK$TRIP_TICKET))
AND ((INSTR(T.AK$MRIS_AREA,'||'''.'''||') = 0) OR
(INSTR(T.AK$MRIS_AREA,'||'''.'''||') > 0 AND T.AK$MRIS_AREA NOT LIKE '||'''%.9%'''||'))
AND ((G.AK$MRIS_GEAR IN ('||'''30'''||', '||'''6750'''||', '||'''6760'''||') OR
G.AK$MRIS_GEAR = '||'''70'''||' OR
G.AK$MRIS_GEAR BETWEEN '||'''4700'''||' AND '||'''4780'''||' or
g.ak$mris_gear = '||'''80'''||' or
g.ak$mris_gear between '||'''5300'''||' and '||'''5360'''||'))';
execute immediate s_command;
FLAGCNT := FLAGCNT + SQL%ROWCOUNT;
--COMMIT;
execute immediate 'commit';
EXCEPTION WHEN OTHERS THEN
DBMS_OUTPUT.PUT_LINE('. Error writing '||MSGNUM||' Bad Value');
END;
-- Error number 3 not in use - Logic moved to ctyarflg.sql
BEGIN
MSGNUM := 4;
s_command := 'INSERT INTO BATCHERS_REPORT
(BATCH, AK$DEALER, FK$TRIP_TICKET, INVOICE,
CONTINUATION_IND, TRIP_DATE, SPL_NO, AK$MRIS_AREA,
AK$MRIS_COUNTY, TIME_FISHED, TIME_UNITS, DEPTH, DEPTH_UNITS,
ERROR_NUM)
SELECT T.BATCH, T.AK$DEALER, T.FK$TRIP_TICKET, T.INVOICE,
T.CONTINUATION_IND, T.TRIP_DATE, T.SPL_NO, T.AK$MRIS_AREA,
T.AK$MRIS_COUNTY, T.TIME_FISHED, T.TIME_UNITS, T.DEPTH, T.DEPTH_UNITS, '||''''||MSGNUM||''''||'
FROM T$TRIP_TICKET_WORK T
WHERE (TO_NUMBER(T.BATCH) = '|| &BATCHNUM ||')
AND (T.SPL_NO IS NULL
OR NOT EXISTS (SELECT * FROM T$SWP_LICENSE L
WHERE L.AK$LICENSE_TYPE = '||'''SP'''||'
AND L.LIC_NUM = SUBSTR(T.SPL_NO,3,7)))';
execute immediate s_command;
FLAGCNT := FLAGCNT + SQL%ROWCOUNT;
--COMMIT;
execute immediate 'commit';
EXCEPTION
WHEN INVALID_NUMBER THEN
s_command := 'INSERT INTO BATCHERS_REPORT
(BATCH, AK$DEALER, FK$TRIP_TICKET, INVOICE,
CONTINUATION_IND, TRIP_DATE, SPL_NO, AK$MRIS_AREA,
AK$MRIS_COUNTY, TIME_FISHED, TIME_UNITS, DEPTH, DEPTH_UNITS,
ERROR_NUM)
SELECT T.BATCH, T.AK$DEALER, T.FK$TRIP_TICKET, T.INVOICE,
T.CONTINUATION_IND, T.TRIP_DATE, T.SPL_NO, T.AK$MRIS_AREA,
T.AK$MRIS_COUNTY, T.TIME_FISHED, T.TIME_UNITS, T.DEPTH, T.DEPTH_UNITS, '||''''||MSGNUM||''''||'
FROM T$TRIP_TICKET_WORK T
WHERE (TO_NUMBER(T.BATCH) = '|| &BATCHNUM ||')
AND (T.SPL_NO = '||''' '''||'
OR T.SPL_NO IS NULL
OR SUBSTR(T.SPL_NO,3,7) NOT BETWEEN '||'''0000000'''||' AND '||'''9999999'''||'
OR LPAD(RTRIM(LTRIM(SUBSTR(T.SPL_NO,3,7))),7,'||'''0'''||') > '|| MAXLIC ||')';
execute immediate s_command;
FLAGCNT := FLAGCNT + SQL%ROWCOUNT;
--COMMIT;
execute immediate 'commit';
WHEN OTHERS THEN
DBMS_OUTPUT.PUT_LINE('. Error writing '||MSGNUM||' Bad Value');
END;
BEGIN
MSGNUM := 5;
s_command := 'INSERT INTO BATCHERS_REPORT
(BATCH, AK$DEALER, FK$TRIP_TICKET, INVOICE,
CONTINUATION_IND, TRIP_DATE, SPL_NO, AK$MRIS_AREA,
AK$MRIS_COUNTY, TIME_FISHED, TIME_UNITS, DEPTH, DEPTH_UNITS,
AK$SPECIES, SPECIES_SIZE, WEIGHT_IN_POUNDS, UNIT_PRICE,
ERROR_NUM)
SELECT T.BATCH, T.AK$DEALER, T.FK$TRIP_TICKET, T.INVOICE,
T.CONTINUATION_IND, T.TRIP_DATE, T.SPL_NO, T.AK$MRIS_AREA,
T.AK$MRIS_COUNTY, T.TIME_FISHED, T.TIME_UNITS, T.DEPTH, T.DEPTH_UNITS,
S.AK$SPECIES, LTRIM(S.SPECIES_SIZE),
TO_NUMBER(S.WEIGHT_IN_POUNDS), TO_NUMBER(S.UNIT_PRICE),
'||''''||MSGNUM||''''||'
FROM T$TRIP_TICKET_WORK T,
T$TRIP_TICKET_SPECIES_WORK S
WHERE TO_NUMBER(T.BATCH) = '|| &BATCHNUM ||'
AND T.FK$TRIP_TICKET = S.AK$TRIP_TICKET
AND S.WEIGHT_IN_POUNDS < 1';
execute immediate s_command;
FLAGCNT := FLAGCNT + SQL%ROWCOUNT;
--COMMIT;
execute immediate 'commit';
EXCEPTION WHEN OTHERS THEN
DBMS_OUTPUT.PUT_LINE('. Error writing '||MSGNUM||' Bad Value');
END;
BEGIN
MSGNUM := 6;
s_command := 'INSERT INTO BATCHERS_REPORT
(BATCH, AK$DEALER, FK$TRIP_TICKET, INVOICE,
CONTINUATION_IND, TRIP_DATE, SPL_NO, AK$MRIS_AREA,
AK$MRIS_COUNTY, TIME_FISHED, TIME_UNITS, DEPTH, DEPTH_UNITS,
ERROR_NUM)
SELECT T.BATCH, T.AK$DEALER, T.FK$TRIP_TICKET, T.INVOICE,
T.CONTINUATION_IND, T.TRIP_DATE, T.SPL_NO, T.AK$MRIS_AREA,
T.AK$MRIS_COUNTY, T.TIME_FISHED, T.TIME_UNITS, T.DEPTH, T.DEPTH_UNITS,
'||''''||MSGNUM||''''||'
FROM T$TRIP_TICKET_WORK T
WHERE ((TO_NUMBER(T.BATCH) = '|| &BATCHNUM ||'))
AND ((T.TIME_UNITS = '||'''D'''||' AND T.TIME_FISHED < 1) OR
(T.TIME_UNITS = '||'''N'''||'))';
execute immediate s_command;
FLAGCNT := FLAGCNT + SQL%ROWCOUNT;
--COMMIT;
execute immediate 'commit';
EXCEPTION WHEN OTHERS THEN
DBMS_OUTPUT.PUT_LINE('. Error writing '||MSGNUM||' Bad Value');
END;
BEGIN
MSGNUM := 7;
s_command := 'INSERT INTO BATCHERS_REPORT
(BATCH, AK$DEALER, FK$TRIP_TICKET, INVOICE,
CONTINUATION_IND, TRIP_DATE, SPL_NO, AK$MRIS_AREA,
AK$MRIS_COUNTY, TIME_FISHED, TIME_UNITS, DEPTH, DEPTH_UNITS,
AK$SPECIES, SPECIES_SIZE, WEIGHT_IN_POUNDS, UNIT_PRICE,
ERROR_NUM)
SELECT T.BATCH, T.AK$DEALER, T.FK$TRIP_TICKET, T.INVOICE,
T.CONTINUATION_IND, T.TRIP_DATE, T.SPL_NO, T.AK$MRIS_AREA,
T.AK$MRIS_COUNTY, T.TIME_FISHED, T.TIME_UNITS, T.DEPTH, T.DEPTH_UNITS,
S.AK$SPECIES, LTRIM(S.SPECIES_SIZE),
TO_NUMBER(S.WEIGHT_IN_POUNDS), TO_NUMBER(S.UNIT_PRICE),
'||''''||MSGNUM||''''||'
FROM T$TRIP_TICKET_WORK T,
T$TRIP_TICKET_SPECIES_WORK S
WHERE (TO_NUMBER(T.BATCH) = '|| &BATCHNUM ||')
AND (T.FK$TRIP_TICKET = S.AK$TRIP_TICKET)
AND (S.WEIGHT_IN_POUNDS > 5500)
AND (S.AK$SPECIES BETWEEN 131 AND 150 OR
S.AK$SPECIES BETWEEN 203 AND 217)';
execute immediate s_command;
FLAGCNT := FLAGCNT + SQL%ROWCOUNT;
--COMMIT;
execute immediate 'commit';
EXCEPTION WHEN OTHERS THEN
DBMS_OUTPUT.PUT_LINE('. Error writing '||MSGNUM||' Bad Value');
END;
BEGIN
MSGNUM := 8;
s_command := 'INSERT INTO BATCHERS_REPORT
(BATCH, AK$DEALER, FK$TRIP_TICKET, INVOICE,
CONTINUATION_IND, TRIP_DATE, SPL_NO, AK$MRIS_AREA,
AK$MRIS_COUNTY, TIME_FISHED, TIME_UNITS, DEPTH, DEPTH_UNITS,
AK$SPECIES, SPECIES_SIZE, WEIGHT_IN_POUNDS, UNIT_PRICE,
ERROR_NUM)
SELECT T.BATCH, T.AK$DEALER, T.FK$TRIP_TICKET, T.INVOICE,
T.CONTINUATION_IND, T.TRIP_DATE, T.SPL_NO, T.AK$MRIS_AREA,
T.AK$MRIS_COUNTY, T.TIME_FISHED, T.TIME_UNITS, T.DEPTH, T.DEPTH_UNITS,
S.AK$SPECIES, LTRIM(S.SPECIES_SIZE),
TO_NUMBER(S.WEIGHT_IN_POUNDS), TO_NUMBER(S.UNIT_PRICE),
'||''''||MSGNUM||''''||'
FROM T$TRIP_TICKET_WORK T,
T$TRIP_TICKET_SPECIES_WORK S
WHERE ((TO_NUMBER(T.BATCH) = '|| &BATCHNUM ||'))
AND ((T.FK$TRIP_TICKET = S.AK$TRIP_TICKET))
AND ((S.AK$SPECIES in (135, 163, 185, 223, 227, 315, 316, 490, 494, 795, 805)) OR
(S.AK$SPECIES BETWEEN 169 AND 171) OR
(S.AK$SPECIES IN (263, 265, 310, 311, 312)) OR
(((S.AK$SPECIES BETWEEN 812 AND 825) OR (S.AK$SPECIES = 255)) AND S.AK$TRIP_TICKET IN (SELECT AK$TRIP_TICKET
FROM T$TRIP_TICKET_GEAR_WORK
WHERE AK$MRIS_GEAR != 9955)))';
execute immediate s_command;
FLAGCNT := FLAGCNT + SQL%ROWCOUNT;
--COMMIT;
execute immediate 'commit';
EXCEPTION WHEN OTHERS THEN
DBMS_OUTPUT.PUT_LINE('. Error writing '||MSGNUM||' Bad Value');
END;
BEGIN
MSGNUM := 9;
s_command := 'INSERT INTO BATCHERS_REPORT
(BATCH, AK$DEALER, FK$TRIP_TICKET, INVOICE,
CONTINUATION_IND, TRIP_DATE, SPL_NO, AK$MRIS_AREA,
AK$MRIS_COUNTY, TIME_FISHED, TIME_UNITS, DEPTH, DEPTH_UNITS,
AK$SPECIES, SPECIES_SIZE, WEIGHT_IN_POUNDS, UNIT_PRICE,
ERROR_NUM)
SELECT T.BATCH, T.AK$DEALER, T.FK$TRIP_TICKET, T.INVOICE,
T.CONTINUATION_IND, T.TRIP_DATE, T.SPL_NO, T.AK$MRIS_AREA,
T.AK$MRIS_COUNTY, T.TIME_FISHED, T.TIME_UNITS, T.DEPTH, T.DEPTH_UNITS,
S.AK$SPECIES, LTRIM(S.SPECIES_SIZE),
TO_NUMBER(S.WEIGHT_IN_POUNDS), TO_NUMBER(S.UNIT_PRICE),
'||''''||MSGNUM||''''||'
FROM T$TRIP_TICKET_WORK T,
T$TRIP_TICKET_SPECIES_WORK S
WHERE (TO_NUMBER(T.BATCH) = '|| &BATCHNUM ||')
AND (T.FK$TRIP_TICKET = S.AK$TRIP_TICKET)
AND (S.AK$SPECIES = 0
OR S.AK$SPECIES IS NULL
OR S.AK$SPECIES NOT IN (SELECT TO_CHAR(PK$SPECIES)
FROM MT$SPECIES))';
execute immediate s_command;
FLAGCNT := FLAGCNT + SQL%ROWCOUNT;
--COMMIT;
execute immediate 'commit';
EXCEPTION WHEN OTHERS THEN
DBMS_OUTPUT.PUT_LINE('. Error writing '||MSGNUM||' Bad Value');
END;
BEGIN
MSGNUM := 10;
s_command := 'INSERT INTO BATCHERS_REPORT
(BATCH, AK$DEALER, FK$TRIP_TICKET, INVOICE,
CONTINUATION_IND, TRIP_DATE, SPL_NO, AK$MRIS_AREA,
AK$MRIS_COUNTY, TIME_FISHED, TIME_UNITS, DEPTH, DEPTH_UNITS,
AK$SPECIES, SPECIES_SIZE, WEIGHT_IN_POUNDS, UNIT_PRICE,
ERROR_NUM)
SELECT T.BATCH, T.AK$DEALER, T.FK$TRIP_TICKET, T.INVOICE,
T.CONTINUATION_IND, T.TRIP_DATE, T.SPL_NO, T.AK$MRIS_AREA,
T.AK$MRIS_COUNTY, T.TIME_FISHED, T.TIME_UNITS, T.DEPTH, T.DEPTH_UNITS,
S.AK$SPECIES, LTRIM(S.SPECIES_SIZE),
TO_NUMBER(S.WEIGHT_IN_POUNDS), TO_NUMBER(S.UNIT_PRICE),
'||''''||MSGNUM||''''||'
FROM T$TRIP_TICKET_WORK T,
T$TRIP_TICKET_SPECIES_WORK S
WHERE ((TO_NUMBER(T.BATCH) = '|| &BATCHNUM ||'))
AND ((T.FK$TRIP_TICKET = S.AK$TRIP_TICKET))
AND ((S.AK$SPECIES = 401 AND T.AK$DEALER != '||'''WD000573'''||') OR
(S.AK$SPECIES = 405 AND T.AK$MRIS_COUNTY != 26) OR
(S.AK$SPECIES in (187, 239, 307, 324, 341, 342, 363, 365,
367, 383, 387, 427, 450, 457, 461)))';
execute immediate s_command;
FLAGCNT := FLAGCNT + SQL%ROWCOUNT;
--COMMIT;
execute immediate 'commit';
EXCEPTION WHEN OTHERS THEN
DBMS_OUTPUT.PUT_LINE('. Error writing '||MSGNUM||' Bad Value');
END;
BEGIN
MSGNUM := 11;
s_command := 'INSERT INTO BATCHERS_REPORT
(BATCH, AK$DEALER, FK$TRIP_TICKET, INVOICE,
CONTINUATION_IND, TRIP_DATE, SPL_NO, AK$MRIS_AREA,
AK$MRIS_COUNTY, TIME_FISHED, TIME_UNITS, DEPTH, DEPTH_UNITS,
AK$SPECIES, SPECIES_SIZE, WEIGHT_IN_POUNDS, UNIT_PRICE,
ERROR_NUM)
SELECT T.BATCH, T.AK$DEALER, T.FK$TRIP_TICKET, T.INVOICE,
T.CONTINUATION_IND, T.TRIP_DATE, T.SPL_NO, T.AK$MRIS_AREA,
T.AK$MRIS_COUNTY, T.TIME_FISHED, T.TIME_UNITS, T.DEPTH, T.DEPTH_UNITS,
S.AK$SPECIES, LTRIM(S.SPECIES_SIZE),
TO_NUMBER(S.WEIGHT_IN_POUNDS), TO_NUMBER(S.UNIT_PRICE),
'||''''||MSGNUM||''''||'
FROM T$TRIP_TICKET_WORK T,
T$TRIP_TICKET_SPECIES_WORK S
WHERE TO_NUMBER(T.BATCH) = '|| &BATCHNUM ||'
AND T.FK$TRIP_TICKET = S.AK$TRIP_TICKET
AND S.AK$SPECIES = 251 AND (S.WEIGHT_IN_POUNDS > 49 OR S.UNIT_PRICE > .99)';
execute immediate s_command;
FLAGCNT := FLAGCNT + SQL%ROWCOUNT;
--COMMIT;
execute immediate 'commit';
EXCEPTION WHEN OTHERS THEN
DBMS_OUTPUT.PUT_LINE('. Error writing '||MSGNUM||' Bad Value');
END;
BEGIN
MSGNUM := 12;
s_command := 'INSERT INTO BATCHERS_REPORT
(BATCH, AK$DEALER, FK$TRIP_TICKET, INVOICE,
CONTINUATION_IND, TRIP_DATE, SPL_NO, AK$MRIS_AREA,
AK$MRIS_COUNTY, TIME_FISHED, TIME_UNITS, DEPTH, DEPTH_UNITS,
AK$SPECIES, SPECIES_SIZE, WEIGHT_IN_POUNDS, UNIT_PRICE,
ERROR_NUM)
SELECT T.BATCH, T.AK$DEALER, T.FK$TRIP_TICKET, T.INVOICE,
T.CONTINUATION_IND, T.TRIP_DATE, T.SPL_NO, T.AK$MRIS_AREA,
T.AK$MRIS_COUNTY, T.TIME_FISHED, T.TIME_UNITS, T.DEPTH, T.DEPTH_UNITS,
S.AK$SPECIES, LTRIM(S.SPECIES_SIZE),
TO_NUMBER(S.WEIGHT_IN_POUNDS), TO_NUMBER(S.UNIT_PRICE),
'||''''||MSGNUM||''''||'
FROM T$TRIP_TICKET_WORK T,
T$TRIP_TICKET_SPECIES_WORK S
WHERE (TO_NUMBER(T.BATCH) = '|| &BATCHNUM ||')
AND (T.FK$TRIP_TICKET = S.AK$TRIP_TICKET)
AND (S.WEIGHT_IN_POUNDS > 50)
AND (S.AK$SPECIES BETWEEN 149 AND 150 OR
S.AK$SPECIES BETWEEN 217 AND 218)';
execute immediate s_command;
FLAGCNT := FLAGCNT + SQL%ROWCOUNT;
--COMMIT;
execute immediate 'commit';
EXCEPTION WHEN OTHERS THEN
DBMS_OUTPUT.PUT_LINE('. Error writing '||MSGNUM||' Bad Value');
END;
BEGIN
MSGNUM := 13;
s_command := 'INSERT INTO BATCHERS_REPORT
(BATCH, AK$DEALER, FK$TRIP_TICKET, INVOICE,
CONTINUATION_IND, TRIP_DATE, SPL_NO, AK$MRIS_AREA,
AK$MRIS_COUNTY, TIME_FISHED, TIME_UNITS, DEPTH, DEPTH_UNITS,
AK$SPECIES, SPECIES_SIZE, WEIGHT_IN_POUNDS, UNIT_PRICE,
ERROR_NUM)
SELECT T.BATCH, T.AK$DEALER, T.FK$TRIP_TICKET, T.INVOICE,
T.CONTINUATION_IND, T.TRIP_DATE, T.SPL_NO, T.AK$MRIS_AREA,
T.AK$MRIS_COUNTY, T.TIME_FISHED, T.TIME_UNITS, T.DEPTH, T.DEPTH_UNITS,
S.AK$SPECIES, LTRIM(S.SPECIES_SIZE),
TO_NUMBER(S.WEIGHT_IN_POUNDS), TO_NUMBER(S.UNIT_PRICE),
'||''''||MSGNUM||''''||'
FROM T$TRIP_TICKET_WORK T,
T$TRIP_TICKET_SPECIES_WORK S
WHERE TO_NUMBER(T.BATCH) = '|| &BATCHNUM ||'
AND T.FK$TRIP_TICKET = S.AK$TRIP_TICKET
AND S.WEIGHT_IN_POUNDS > 1000
AND S.AK$SPECIES IN (175, 176, 178)';
execute immediate s_command;
FLAGCNT := FLAGCNT + SQL%ROWCOUNT;
--COMMIT;
execute immediate 'commit';
EXCEPTION WHEN OTHERS THEN
DBMS_OUTPUT.PUT_LINE('. Error writing '||MSGNUM||' Bad Value');
END;
BEGIN
MSGNUM := 14;
s_command := 'INSERT INTO BATCHERS_REPORT
(BATCH, AK$DEALER, FK$TRIP_TICKET, INVOICE,
CONTINUATION_IND, TRIP_DATE, SPL_NO, AK$MRIS_AREA,
AK$MRIS_COUNTY, TIME_FISHED, TIME_UNITS, DEPTH, DEPTH_UNITS,
AK$SPECIES, SPECIES_SIZE, WEIGHT_IN_POUNDS, UNIT_PRICE,
ERROR_NUM)
SELECT T.BATCH, T.AK$DEALER, T.FK$TRIP_TICKET, T.INVOICE,
T.CONTINUATION_IND, T.TRIP_DATE, T.SPL_NO, T.AK$MRIS_AREA,
T.AK$MRIS_COUNTY, T.TIME_FISHED, T.TIME_UNITS, T.DEPTH, T.DEPTH_UNITS,
S.AK$SPECIES, LTRIM(S.SPECIES_SIZE),
TO_NUMBER(S.WEIGHT_IN_POUNDS), TO_NUMBER(S.UNIT_PRICE),
'||''''||MSGNUM||''''||'
FROM T$TRIP_TICKET_WORK T,
T$TRIP_TICKET_SPECIES_WORK S
WHERE ((TO_NUMBER(T.BATCH) = '|| &BATCHNUM ||'))
AND ((T.FK$TRIP_TICKET = S.AK$TRIP_TICKET))
AND ((S.AK$SPECIES = 302 AND S.UNIT_PRICE >= 4.00) OR
(S.AK$SPECIES = 303 AND (S.UNIT_PRICE > 0 AND S.UNIT_PRICE < 4.00)))';
execute immediate s_command;
FLAGCNT := FLAGCNT + SQL%ROWCOUNT;
--COMMIT;
execute immediate 'commit';
EXCEPTION WHEN OTHERS THEN
DBMS_OUTPUT.PUT_LINE('. Error writing '||MSGNUM||' Bad Value');
END;
BEGIN
MSGNUM := 15;
s_command := 'INSERT INTO BATCHERS_REPORT
(BATCH, AK$DEALER, FK$TRIP_TICKET, INVOICE,
CONTINUATION_IND, TRIP_DATE, SPL_NO, AK$MRIS_AREA,
AK$MRIS_COUNTY, TIME_FISHED, TIME_UNITS, DEPTH, DEPTH_UNITS,
AK$SPECIES, SPECIES_SIZE, WEIGHT_IN_POUNDS, UNIT_PRICE,
ERROR_NUM)
SELECT T.BATCH, T.AK$DEALER, T.FK$TRIP_TICKET, T.INVOICE,
T.CONTINUATION_IND, T.TRIP_DATE, T.SPL_NO, T.AK$MRIS_AREA,
T.AK$MRIS_COUNTY, T.TIME_FISHED, T.TIME_UNITS, T.DEPTH, T.DEPTH_UNITS,
S.AK$SPECIES, LTRIM(S.SPECIES_SIZE),
TO_NUMBER(S.WEIGHT_IN_POUNDS), TO_NUMBER(S.UNIT_PRICE),
'||''''||MSGNUM||''''||'
FROM T$TRIP_TICKET_WORK T,
T$TRIP_TICKET_SPECIES_WORK S
WHERE TO_NUMBER(T.BATCH) = '|| &BATCHNUM ||'
AND T.FK$TRIP_TICKET = S.AK$TRIP_TICKET
AND S.AK$SPECIES = 345
AND S.UNIT_PRICE > .06';
execute immediate s_command;
FLAGCNT := FLAGCNT + SQL%ROWCOUNT;
--COMMIT;
execute immediate 'commit';
EXCEPTION WHEN OTHERS THEN
DBMS_OUTPUT.PUT_LINE('. Error writing '||MSGNUM||' Bad Value');
END;
BEGIN
MSGNUM := 16;
s_command := 'INSERT INTO BATCHERS_REPORT
(BATCH, AK$DEALER, FK$TRIP_TICKET, INVOICE,
CONTINUATION_IND, TRIP_DATE, SPL_NO, AK$MRIS_AREA,
AK$MRIS_COUNTY, TIME_FISHED, TIME_UNITS, DEPTH, DEPTH_UNITS,
AK$SPECIES, SPECIES_SIZE, WEIGHT_IN_POUNDS, UNIT_PRICE,
ERROR_NUM)
SELECT T.BATCH, T.AK$DEALER, T.FK$TRIP_TICKET, T.INVOICE,
T.CONTINUATION_IND, T.TRIP_DATE, T.SPL_NO, T.AK$MRIS_AREA,
T.AK$MRIS_COUNTY, T.TIME_FISHED, T.TIME_UNITS, T.DEPTH, T.DEPTH_UNITS,
S.AK$SPECIES, LTRIM(S.SPECIES_SIZE),
TO_NUMBER(S.WEIGHT_IN_POUNDS), TO_NUMBER(S.UNIT_PRICE),
'||''''||MSGNUM||''''||'
FROM T$TRIP_TICKET_WORK T,
T$TRIP_TICKET_SPECIES_WORK S
WHERE ((TO_NUMBER(T.BATCH) = '|| &BATCHNUM ||'))
AND ((T.FK$TRIP_TICKET = S.AK$TRIP_TICKET))
AND ((LTRIM(S.SPECIES_SIZE) IS NOT NULL))
AND ((S.AK$SPECIES = 325 AND RTRIM(ltrim(S.SPECIES_SIZE,'||''' '''||'),'||''' '''||') != '||'''J'''||') OR
(S.AK$SPECIES = 327 AND RTRIM(ltrim(S.SPECIES_SIZE,'||''' '''||'),'||''' '''||') != '||'''L'''||') OR
(S.AK$SPECIES = 329 AND RTRIM(ltrim(S.SPECIES_SIZE,'||''' '''||'),'||''' '''||') != '||'''M'''||') OR
(S.AK$SPECIES = 331 AND RTRIM(ltrim(S.SPECIES_SIZE,'||''' '''||'),'||''' '''||') != '||'''S'''||') OR
(S.AK$SPECIES = 332 AND RTRIM(ltrim(S.SPECIES_SIZE,'||''' '''||'),'||''' '''||') != '||'''LT'''||'))
UNION
SELECT T.BATCH, T.AK$DEALER, T.FK$TRIP_TICKET, T.INVOICE,
T.CONTINUATION_IND, T.TRIP_DATE, T.SPL_NO, T.AK$MRIS_AREA,
T.AK$MRIS_COUNTY, T.TIME_FISHED, T.TIME_UNITS, T.DEPTH, T.DEPTH_UNITS,
S.AK$SPECIES, LTRIM(S.SPECIES_SIZE),
TO_NUMBER(S.WEIGHT_IN_POUNDS), TO_NUMBER(S.UNIT_PRICE),
'||''''||MSGNUM||''''||'
FROM T$TRIP_TICKET_WORK T,
T$TRIP_TICKET_SPECIES_WORK S
WHERE (TO_NUMBER(T.BATCH) = '|| &BATCHNUM ||')
AND (T.FK$TRIP_TICKET = S.AK$TRIP_TICKET)
AND (S.AK$SPECIES IN (325, 327, 329, 331, 332))
AND (S.UNIT_PRICE BETWEEN .01 AND 1.50)
AND NOT (S.AK$SPECIES = 332 AND RTRIM(LTRIM(S.SPECIES_SIZE,'||''' '''||'),'||''' '''||') = '||'''LT'''||')
UNION
SELECT T.BATCH, T.AK$DEALER, T.FK$TRIP_TICKET, T.INVOICE,
T.CONTINUATION_IND, T.TRIP_DATE, T.SPL_NO, T.AK$MRIS_AREA,
T.AK$MRIS_COUNTY, T.TIME_FISHED, T.TIME_UNITS, T.DEPTH, T.DEPTH_UNITS,
S.AK$SPECIES, LTRIM(S.SPECIES_SIZE),
TO_NUMBER(S.WEIGHT_IN_POUNDS), TO_NUMBER(S.UNIT_PRICE),
'||''''||MSGNUM||''''||'
FROM T$TRIP_TICKET_WORK T,
T$TRIP_TICKET_SPECIES_WORK S
WHERE (TO_NUMBER(T.BATCH) = '|| &BATCHNUM ||')
AND (T.FK$TRIP_TICKET = S.AK$TRIP_TICKET)
AND (S.UNIT_PRICE < .01 AND S.AK$SPECIES = 332)
AND (RTRIM(LTRIM(SPECIES_SIZE,'||''' '''||'),'||''' '''||') != '||'''LT'''||' or species_size is null)';
execute immediate s_command;
FLAGCNT := FLAGCNT + SQL%ROWCOUNT;
--COMMIT;
execute immediate 'commit';
EXCEPTION WHEN OTHERS THEN
DBMS_OUTPUT.PUT_LINE('. Error writing '||MSGNUM||' Bad Value');
END;
BEGIN
MSGNUM := 17;
s_command := 'INSERT INTO BATCHERS_REPORT
(BATCH, AK$DEALER, FK$TRIP_TICKET, INVOICE,
CONTINUATION_IND, TRIP_DATE, SPL_NO, AK$MRIS_AREA,
AK$MRIS_COUNTY, TIME_FISHED, TIME_UNITS, DEPTH, DEPTH_UNITS,
AK$SPECIES, SPECIES_SIZE, WEIGHT_IN_POUNDS, UNIT_PRICE,
ERROR_NUM)
SELECT T.BATCH, T.AK$DEALER, T.FK$TRIP_TICKET, T.INVOICE,
T.CONTINUATION_IND, T.TRIP_DATE, T.SPL_NO, T.AK$MRIS_AREA,
T.AK$MRIS_COUNTY, T.TIME_FISHED, T.TIME_UNITS, T.DEPTH, T.DEPTH_UNITS,
S.AK$SPECIES, LTRIM(S.SPECIES_SIZE),
TO_NUMBER(S.WEIGHT_IN_POUNDS), TO_NUMBER(S.UNIT_PRICE),
'||''''||MSGNUM||''''||'
FROM T$TRIP_TICKET_WORK T,
T$TRIP_TICKET_SPECIES_WORK S
WHERE (TO_NUMBER(T.BATCH) = '|| &BATCHNUM ||')
AND (T.FK$TRIP_TICKET = S.AK$TRIP_TICKET)
AND (S.AK$SPECIES = 103 OR
S.AK$SPECIES BETWEEN 414 AND 416 OR
S.AK$SPECIES BETWEEN 471 AND 474)
AND (SUBSTR(T.TRIP_DATE,5,2) BETWEEN '||'''03'''||' AND '||'''05'''||')
AND (ROUND(TO_NUMBER(T.AK$MRIS_AREA) * 10, 1) NOT IN
(19, 29, 39, 49, 59, 69, 79, 89, 99, 109, 119,
7179, 7229, 7289, 7329, 7369, 7419, 7449, 7489))';
execute immediate s_command;
FLAGCNT := FLAGCNT + SQL%ROWCOUNT;
--COMMIT;
execute immediate 'commit';
EXCEPTION WHEN OTHERS THEN
DBMS_OUTPUT.PUT_LINE('. Error writing '||MSGNUM||' Bad Value');
END;
BEGIN
MSGNUM := 18;
s_command := 'INSERT INTO BATCHERS_REPORT
(BATCH, AK$DEALER, FK$TRIP_TICKET, INVOICE,
CONTINUATION_IND, TRIP_DATE, SPL_NO, AK$MRIS_AREA,
AK$MRIS_COUNTY, TIME_FISHED, TIME_UNITS, DEPTH, DEPTH_UNITS,
AK$SPECIES, SPECIES_SIZE, WEIGHT_IN_POUNDS, UNIT_PRICE,
ERROR_NUM)
SELECT T.BATCH, T.AK$DEALER, T.FK$TRIP_TICKET, T.INVOICE,
T.CONTINUATION_IND, T.TRIP_DATE, T.SPL_NO, T.AK$MRIS_AREA,
T.AK$MRIS_COUNTY, T.TIME_FISHED, T.TIME_UNITS, T.DEPTH, T.DEPTH_UNITS,
S.AK$SPECIES, LTRIM(S.SPECIES_SIZE),
TO_NUMBER(S.WEIGHT_IN_POUNDS), TO_NUMBER(S.UNIT_PRICE),
'||''''||MSGNUM||''''||'
FROM T$TRIP_TICKET_WORK T,
T$TRIP_TICKET_SPECIES_WORK S
WHERE (TO_NUMBER(T.BATCH) = '|| &BATCHNUM ||')
AND (T.FK$TRIP_TICKET = S.AK$TRIP_TICKET)
AND (S.WEIGHT_IN_POUNDS > 50)
AND (S.AK$SPECIES = 103)
and substr(t.trip_date,5,2) = '||'''04'''||'
AND (ROUND(TO_NUMBER(T.AK$MRIS_AREA) * 10, 1) IN
(19, 7179, 7229, 7289, 7329, 7369, 7419, 7449, 7489))';
execute immediate s_command;
FLAGCNT := FLAGCNT + SQL%ROWCOUNT;
--COMMIT;
execute immediate 'commit';
EXCEPTION WHEN OTHERS THEN
DBMS_OUTPUT.PUT_LINE('. Error writing '||MSGNUM||' Bad Value');
END;
BEGIN
MSGNUM := 19;
s_command := 'INSERT INTO BATCHERS_REPORT
(BATCH, AK$DEALER, FK$TRIP_TICKET, INVOICE,
CONTINUATION_IND, TRIP_DATE, SPL_NO, AK$MRIS_AREA,
AK$MRIS_COUNTY, TIME_FISHED, TIME_UNITS, DEPTH, DEPTH_UNITS,
AK$SPECIES, SPECIES_SIZE, WEIGHT_IN_POUNDS, UNIT_PRICE,
ERROR_NUM)
SELECT T.BATCH, T.AK$DEALER, T.FK$TRIP_TICKET, T.INVOICE,
T.CONTINUATION_IND, T.TRIP_DATE, T.SPL_NO, T.AK$MRIS_AREA,
T.AK$MRIS_COUNTY, T.TIME_FISHED, T.TIME_UNITS, T.DEPTH, T.DEPTH_UNITS,
S.AK$SPECIES, LTRIM(S.SPECIES_SIZE),
TO_NUMBER(S.WEIGHT_IN_POUNDS), TO_NUMBER(S.UNIT_PRICE),
'||''''||MSGNUM||''''||'
FROM T$TRIP_TICKET_WORK T,
T$TRIP_TICKET_SPECIES_WORK S
WHERE TO_NUMBER(T.BATCH) = '|| &BATCHNUM ||'
AND T.FK$TRIP_TICKET = S.AK$TRIP_TICKET
AND S.AK$SPECIES BETWEEN 325 AND 332
AND SUBSTR(T.TRIP_DATE,5,4) BETWEEN '||'''0516'''||' AND '||'''1014'''||'
UNION
SELECT T.BATCH, T.AK$DEALER, T.FK$TRIP_TICKET, T.INVOICE,
T.CONTINUATION_IND, T.TRIP_DATE, T.SPL_NO, T.AK$MRIS_AREA,
T.AK$MRIS_COUNTY, T.TIME_FISHED, T.TIME_UNITS, T.DEPTH, T.DEPTH_UNITS,
S.AK$SPECIES, LTRIM(S.SPECIES_SIZE),
TO_NUMBER(S.WEIGHT_IN_POUNDS), TO_NUMBER(S.UNIT_PRICE),
'||''''||MSGNUM||''''||'
FROM T$TRIP_TICKET_WORK T,
T$TRIP_TICKET_SPECIES_WORK S
WHERE TO_NUMBER(T.BATCH) = &BATCHNUM
AND T.FK$TRIP_TICKET = S.AK$TRIP_TICKET
AND S.AK$SPECIES BETWEEN 317 AND 318
AND SUBSTR(T.TRIP_DATE,5,4) BETWEEN '||'''0401'''||' AND '||'''0805'''||'';
execute immediate s_command;
FLAGCNT := FLAGCNT + SQL%ROWCOUNT;
--COMMIT;
execute immediate 'commit';
EXCEPTION WHEN OTHERS THEN
DBMS_OUTPUT.PUT_LINE('. Error writing '||MSGNUM||' Bad Value');
END;
BEGIN
MSGNUM := 20;
s_command := 'INSERT INTO BATCHERS_REPORT
(BATCH, AK$DEALER, FK$TRIP_TICKET, INVOICE,
CONTINUATION_IND, TRIP_DATE, SPL_NO, AK$MRIS_AREA,
AK$MRIS_COUNTY, TIME_FISHED, TIME_UNITS, DEPTH, DEPTH_UNITS,
AK$SPECIES, SPECIES_SIZE, WEIGHT_IN_POUNDS, UNIT_PRICE,
ERROR_NUM)
SELECT T.BATCH, T.AK$DEALER, T.FK$TRIP_TICKET, T.INVOICE,
T.CONTINUATION_IND, T.TRIP_DATE, T.SPL_NO, T.AK$MRIS_AREA,
T.AK$MRIS_COUNTY, T.TIME_FISHED, T.TIME_UNITS, T.DEPTH, T.DEPTH_UNITS,
S.AK$SPECIES, LTRIM(S.SPECIES_SIZE),
TO_NUMBER(S.WEIGHT_IN_POUNDS), TO_NUMBER(S.UNIT_PRICE),
'||''''||MSGNUM||''''||'
FROM T$TRIP_TICKET_WORK T,
T$TRIP_TICKET_SPECIES_WORK S
WHERE TO_NUMBER(T.BATCH) = '|| &BATCHNUM ||'
AND T.FK$TRIP_TICKET = S.AK$TRIP_TICKET
AND S.AK$SPECIES = 141
AND S.WEIGHT_IN_POUNDS > 300
AND T.TRIP_DATE BETWEEN '||'''19971220'''||' AND '||'''19971231'''||'';
execute immediate s_command;
FLAGCNT := FLAGCNT + SQL%ROWCOUNT;
--COMMIT;
execute immediate 'commit';
EXCEPTION WHEN OTHERS THEN
DBMS_OUTPUT.PUT_LINE('. Error writing '||MSGNUM||' Bad Value');
END;
BEGIN
MSGNUM := 21;
s_command := 'INSERT INTO BATCHERS_REPORT
(BATCH, AK$DEALER, FK$TRIP_TICKET, INVOICE,
CONTINUATION_IND, TRIP_DATE, SPL_NO, AK$MRIS_AREA,
AK$MRIS_COUNTY, TIME_FISHED, TIME_UNITS, DEPTH, DEPTH_UNITS,
AK$SPECIES, SPECIES_SIZE, WEIGHT_IN_POUNDS, UNIT_PRICE,
ERROR_NUM)
SELECT T.BATCH, T.AK$DEALER, T.FK$TRIP_TICKET, T.INVOICE,
T.CONTINUATION_IND, T.TRIP_DATE, T.SPL_NO, T.AK$MRIS_AREA,
T.AK$MRIS_COUNTY, T.TIME_FISHED, T.TIME_UNITS, T.DEPTH, T.DEPTH_UNITS,
S.AK$SPECIES, LTRIM(S.SPECIES_SIZE),
TO_NUMBER(S.WEIGHT_IN_POUNDS), TO_NUMBER(S.UNIT_PRICE),
'||''''||MSGNUM||''''||'
FROM T$TRIP_TICKET_WORK T,
T$TRIP_TICKET_SPECIES_WORK S
WHERE ((TO_NUMBER(T.BATCH) = '|| &BATCHNUM ||'))
AND ((T.FK$TRIP_TICKET = S.AK$TRIP_TICKET))
AND ((S.AK$SPECIES = 209))
AND ((T.AK$MRIS_AREA BETWEEN 0 AND 11))
AND ((T.TRIP_DATE BETWEEN '||'''19981016'''||' AND '||'''19990131'''||') OR
(T.TRIP_DATE BETWEEN '||'''19990315'''||' AND '||'''19990401'''||') OR
(T.TRIP_DATE BETWEEN '||'''19990415'''||' AND '||'''19990901'''||'))';
execute immediate s_command;
FLAGCNT := FLAGCNT + SQL%ROWCOUNT;
--COMMIT;
execute immediate 'commit';
EXCEPTION WHEN OTHERS THEN
DBMS_OUTPUT.PUT_LINE('. Error writing '||MSGNUM||' Bad Value');
END;
BEGIN
MSGNUM := 22;
s_command := 'INSERT INTO BATCHERS_REPORT
(BATCH, AK$DEALER, FK$TRIP_TICKET, INVOICE,
CONTINUATION_IND, TRIP_DATE, SPL_NO, AK$MRIS_AREA,
AK$MRIS_COUNTY, TIME_FISHED, TIME_UNITS, DEPTH, DEPTH_UNITS,
AK$SPECIES, SPECIES_SIZE, WEIGHT_IN_POUNDS, UNIT_PRICE,
ERROR_NUM)
SELECT T.BATCH, T.AK$DEALER, T.FK$TRIP_TICKET, T.INVOICE,
T.CONTINUATION_IND, T.TRIP_DATE, T.SPL_NO, T.AK$MRIS_AREA,
T.AK$MRIS_COUNTY, T.TIME_FISHED, T.TIME_UNITS, T.DEPTH, T.DEPTH_UNITS,
S.AK$SPECIES, LTRIM(S.SPECIES_SIZE),
TO_NUMBER(S.WEIGHT_IN_POUNDS), TO_NUMBER(S.UNIT_PRICE),
'||''''||MSGNUM||''''||'
FROM T$TRIP_TICKET_WORK T,
T$TRIP_TICKET_SPECIES_WORK S
WHERE TO_NUMBER(T.BATCH) = '|| &BATCHNUM ||'
AND T.FK$TRIP_TICKET = S.AK$TRIP_TICKET
AND S.AK$SPECIES = 193
AND S.WEIGHT_IN_POUNDS > 250
and substr(t.trip_date,1,4) > '||'''1996'''||'';
-- AND TO_NUMBER(TO_CHAR(TO_DATE(T.TRIP_DATE,'YYYYMMDD'),'YY')) >= 96;
execute immediate s_command;
FLAGCNT := FLAGCNT + SQL%ROWCOUNT;
--COMMIT;
execute immediate 'commit';
EXCEPTION WHEN OTHERS THEN
DBMS_OUTPUT.PUT_LINE('. Error writing '||MSGNUM||' Bad Value');
END;
BEGIN
MSGNUM := 23;
s_command := 'INSERT INTO BATCHERS_REPORT
(BATCH, AK$DEALER, FK$TRIP_TICKET, INVOICE,
CONTINUATION_IND, TRIP_DATE, SPL_NO, AK$MRIS_AREA,
AK$MRIS_COUNTY, TIME_FISHED, TIME_UNITS, DEPTH, DEPTH_UNITS,
AK$SPECIES, SPECIES_SIZE, WEIGHT_IN_POUNDS, UNIT_PRICE,
ERROR_NUM)
SELECT T.BATCH, T.AK$DEALER, T.FK$TRIP_TICKET, T.INVOICE,
T.CONTINUATION_IND, T.TRIP_DATE, T.SPL_NO, T.AK$MRIS_AREA,
T.AK$MRIS_COUNTY, T.TIME_FISHED, T.TIME_UNITS, T.DEPTH, T.DEPTH_UNITS,
S.AK$SPECIES, LTRIM(S.SPECIES_SIZE),
TO_NUMBER(S.WEIGHT_IN_POUNDS), TO_NUMBER(S.UNIT_PRICE),
'||''''||MSGNUM||''''||'
FROM T$TRIP_TICKET_WORK T,
T$TRIP_TICKET_SPECIES_WORK S
WHERE (TO_NUMBER(T.BATCH) = '|| &BATCHNUM ||')
AND (T.FK$TRIP_TICKET = S.AK$TRIP_TICKET)
AND (S.AK$SPECIES = 193)
AND NOT (SUBSTR(T.TRIP_DATE,5,2) BETWEEN '||'''06'''||' AND '||'''08'''||')';
execute immediate s_command;
FLAGCNT := FLAGCNT + SQL%ROWCOUNT;
--COMMIT;
execute immediate 'commit';
EXCEPTION WHEN OTHERS THEN
DBMS_OUTPUT.PUT_LINE('. Error writing '||MSGNUM||' Bad Value');
END;
BEGIN
MSGNUM := 24;
s_command := 'INSERT INTO BATCHERS_REPORT
(BATCH, AK$DEALER, FK$TRIP_TICKET, INVOICE,
CONTINUATION_IND, TRIP_DATE, SPL_NO, AK$MRIS_AREA,
AK$MRIS_COUNTY, TIME_FISHED, TIME_UNITS, DEPTH, DEPTH_UNITS,
AK$SPECIES, SPECIES_SIZE, WEIGHT_IN_POUNDS, UNIT_PRICE,
ERROR_NUM)
SELECT T.BATCH, T.AK$DEALER, T.FK$TRIP_TICKET, T.INVOICE,
T.CONTINUATION_IND, T.TRIP_DATE, T.SPL_NO, T.AK$MRIS_AREA,
T.AK$MRIS_COUNTY, T.TIME_FISHED, T.TIME_UNITS, T.DEPTH, T.DEPTH_UNITS,
S.AK$SPECIES, LTRIM(S.SPECIES_SIZE),
TO_NUMBER(S.WEIGHT_IN_POUNDS), TO_NUMBER(S.UNIT_PRICE),
'||''''||MSGNUM||''''||'
FROM T$TRIP_TICKET_WORK T,
T$TRIP_TICKET_SPECIES_WORK S
WHERE ((TO_NUMBER(T.BATCH) = '|| &BATCHNUM ||'))
AND ((T.FK$TRIP_TICKET = S.AK$TRIP_TICKET))
AND ((S.AK$SPECIES = 458 AND S.WEIGHT_IN_POUNDS > 50) OR
(S.AK$SPECIES = 449 AND S.WEIGHT_IN_POUNDS > 30) OR
(S.AK$SPECIES = 113 AND S.WEIGHT_IN_POUNDS > 50))
and substr(t.trip_date,1,4) >= '||'''1996'''||'';
-- AND ((TO_NUMBER(TO_CHAR(TO_DATE(T.TRIP_DATE,'||'''YYYYMMDD'''||'),'||'''YY'''||')) >= 96))';
execute immediate s_command;
FLAGCNT := FLAGCNT + SQL%ROWCOUNT;
--COMMIT;
execute immediate 'commit';
EXCEPTION WHEN OTHERS THEN
DBMS_OUTPUT.PUT_LINE('. Error writing '||MSGNUM||' Bad Value');
END;
BEGIN
MSGNUM := 25;
s_command := 'INSERT INTO BATCHERS_REPORT
(BATCH, AK$DEALER, FK$TRIP_TICKET, INVOICE,
CONTINUATION_IND, TRIP_DATE, SPL_NO, AK$MRIS_AREA,
AK$MRIS_COUNTY, TIME_FISHED, TIME_UNITS, DEPTH, DEPTH_UNITS,
AK$MRIS_GEAR,
ERROR_NUM)
SELECT T.BATCH, T.AK$DEALER, T.FK$TRIP_TICKET, T.INVOICE,
T.CONTINUATION_IND, T.TRIP_DATE, T.SPL_NO, T.AK$MRIS_AREA,
T.AK$MRIS_COUNTY, T.TIME_FISHED, T.TIME_UNITS, T.DEPTH, T.DEPTH_UNITS,
G.AK$MRIS_GEAR,
'||''''||MSGNUM||''''||'
FROM T$TRIP_TICKET_WORK T,
T$TRIP_TICKET_GEAR_WORK G
WHERE ((TO_NUMBER(T.BATCH) = '|| &BATCHNUM ||'))
AND ((T.FK$TRIP_TICKET = G.AK$TRIP_TICKET))
AND ((G.AK$MRIS_GEAR IN (30, 70, 80)) OR
(G.AK$MRIS_GEAR BETWEEN 4700 AND 4790) OR
(G.AK$MRIS_GEAR BETWEEN 5300 AND 5390) OR
(G.AK$MRIS_GEAR BETWEEN 6700 AND 6790))
AND ((TO_NUMBER(T.AK$MRIS_AREA) - ROUND(TO_NUMBER(T.AK$MRIS_AREA)) NOT BETWEEN .85 AND .95))
AND ((ROUND(TO_NUMBER(T.AK$MRIS_AREA)) <= 0))';
execute immediate s_command;
FLAGCNT := FLAGCNT + SQL%ROWCOUNT;
--COMMIT;
execute immediate 'commit';
EXCEPTION WHEN OTHERS THEN
DBMS_OUTPUT.PUT_LINE('. Error writing '||MSGNUM||' Bad Value');
END;
BEGIN
MSGNUM := 26;
execute immediate 'INSERT INTO BATCHERS_REPORT
(BATCH, AK$DEALER, FK$TRIP_TICKET, INVOICE,
CONTINUATION_IND, TRIP_DATE, SPL_NO, AK$MRIS_AREA,
AK$MRIS_COUNTY, TIME_FISHED, TIME_UNITS, DEPTH, DEPTH_UNITS,
AK$MRIS_GEAR,AK$SPECIES, SPECIES_SIZE, WEIGHT_IN_POUNDS, UNIT_PRICE,
ERROR_NUM)
SELECT T.BATCH, T.AK$DEALER, T.FK$TRIP_TICKET, T.INVOICE,
T.CONTINUATION_IND, T.TRIP_DATE, T.SPL_NO, T.AK$MRIS_AREA,
T.AK$MRIS_COUNTY, T.TIME_FISHED, T.TIME_UNITS, T.DEPTH, T.DEPTH_UNITS,
NULL, S.AK$SPECIES, LTRIM(S.SPECIES_SIZE),
TO_NUMBER(S.WEIGHT_IN_POUNDS), TO_NUMBER(S.UNIT_PRICE),
'||''''||MSGNUM||''''||'
FROM T$TRIP_TICKET_WORK T,
T$TRIP_TICKET_SPECIES_WORK S
WHERE TO_NUMBER(T.BATCH) = '|| &BATCHNUM ||'
AND T.FK$TRIP_TICKET = S.AK$TRIP_TICKET
AND SUBSTR(T.TRIP_DATE,5,2) BETWEEN '||'''04'''||' AND '||'''10'''||'
AND S.AK$SPECIES = 165
AND S.WEIGHT_IN_POUNDS > 3500
AND T.AK$MRIS_COUNTY IN ('||'''26'''||', '||'''28'''||', '||'''55'''||', '||'''65'''||', '||'''74'''||')
UNION
SELECT T.BATCH, T.AK$DEALER, T.FK$TRIP_TICKET, T.INVOICE,
T.CONTINUATION_IND, T.TRIP_DATE, T.SPL_NO, T.AK$MRIS_AREA,
T.AK$MRIS_COUNTY, T.TIME_FISHED, T.TIME_UNITS, T.DEPTH, T.DEPTH_UNITS,
NULL,S.AK$SPECIES, LTRIM(S.SPECIES_SIZE),
TO_NUMBER(S.WEIGHT_IN_POUNDS), TO_NUMBER(S.UNIT_PRICE),
'||''''||MSGNUM||''''||'
FROM T$TRIP_TICKET_WORK T,
T$TRIP_TICKET_SPECIES_WORK S
WHERE TO_NUMBER(T.BATCH) = '|| &BATCHNUM ||'
AND T.FK$TRIP_TICKET = S.AK$TRIP_TICKET
AND SUBSTR(T.TRIP_DATE,5,2) BETWEEN '||'''04'''||' AND '||'''10'''||'
AND S.AK$SPECIES = 165
AND S.WEIGHT_IN_POUNDS > 500
AND T.AK$MRIS_COUNTY IN ('||'''15'''||', '||'''16'''||', '||'''23'''||', '||'''41'''||', '||'''53'''||', '||'''60'''||', '||'''66'''||')
UNION
SELECT T.BATCH, T.AK$DEALER, T.FK$TRIP_TICKET, T.INVOICE,
T.CONTINUATION_IND, T.TRIP_DATE, T.SPL_NO, T.AK$MRIS_AREA,
T.AK$MRIS_COUNTY, T.TIME_FISHED, T.TIME_UNITS, T.DEPTH, T.DEPTH_UNITS,
NULL, S.AK$SPECIES, LTRIM(S.SPECIES_SIZE),
TO_NUMBER(S.WEIGHT_IN_POUNDS), TO_NUMBER(S.UNIT_PRICE),
'||''''||MSGNUM||''''||'
FROM T$TRIP_TICKET_WORK T,
T$TRIP_TICKET_SPECIES_WORK S
WHERE (TO_NUMBER(T.BATCH) = '|| &BATCHNUM ||'
AND (T.FK$TRIP_TICKET = S.AK$TRIP_TICKET)
AND (SUBSTR(T.TRIP_DATE,5,2) BETWEEN '||'''04'''||' AND '||'''10'''||')
AND (S.AK$SPECIES = 165)
AND ((S.WEIGHT_IN_POUNDS > 1250 AND T.AK$MRIS_COUNTY = '||'''54'''||')
OR (T.AK$MRIS_AREA > 700 AND S.WEIGHT_IN_POUNDS > 500
AND T.AK$MRIS_COUNTY != '||'''54'''||'))
UNION
SELECT T.BATCH, T.AK$DEALER, T.FK$TRIP_TICKET, T.INVOICE,
T.CONTINUATION_IND, T.TRIP_DATE, T.SPL_NO, T.AK$MRIS_AREA,
T.AK$MRIS_COUNTY, T.TIME_FISHED, T.TIME_UNITS, T.DEPTH, T.DEPTH_UNITS,
G.AK$MRIS_GEAR, S.AK$SPECIES, LTRIM(S.SPECIES_SIZE),
TO_NUMBER(S.WEIGHT_IN_POUNDS), TO_NUMBER(S.UNIT_PRICE),
'||''''||MSGNUM||''''||'
FROM T$TRIP_TICKET_WORK T,
T$TRIP_TICKET_SPECIES_WORK S,
T$TRIP_TICKET_GEAR_WORK G
WHERE (TO_NUMBER(T.BATCH) = '|| &BATCHNUM ||')
AND (T.FK$TRIP_TICKET = S.AK$TRIP_TICKET)
AND (T.FK$TRIP_TICKET = G.AK$TRIP_TICKET)
and (substr(t.trip_date,5,2) in ('||'''01'''||','||'''02'''||','||'''03'''||','||'''11'''||','||'''12'''||'))
and (S.AK$SPECIES = 165)
AND (S.WEIGHT_IN_POUNDS > 0)
AND (T.TRIP_DATE BETWEEN '||'''19990331'''||' AND '||'''19990701'''||')
AND (T.AK$MRIS_COUNTY NOT IN ('||'''15'''||','||'''16'''||','||'''23'''||','||'''26'''||','||'''28'''||','||'''41'''||','||'''53'''||','||'''54'''||','||'''55'''||','||'''60'''||','||'''65'''||','||'''66'''||','||'''74'''||')
AND ((G.AK$MRIS_GEAR IN (70, 80)) OR
(G.AK$MRIS_GEAR BETWEEN 4700 AND 4900) OR
(G.AK$MRIS_GEAR BETWEEN 5300 AND 5390)))
UNION
SELECT T.BATCH, T.AK$DEALER, T.FK$TRIP_TICKET, T.INVOICE,
T.CONTINUATION_IND, T.TRIP_DATE, T.SPL_NO, T.AK$MRIS_AREA,
T.AK$MRIS_COUNTY, T.TIME_FISHED, T.TIME_UNITS, T.DEPTH, T.DEPTH_UNITS,
G.AK$MRIS_GEAR, S.AK$SPECIES, LTRIM(S.SPECIES_SIZE),
TO_NUMBER(S.WEIGHT_IN_POUNDS), TO_NUMBER(S.UNIT_PRICE),
'||''''||MSGNUM||''''||'
FROM T$TRIP_TICKET_WORK T,
T$TRIP_TICKET_SPECIES_WORK S,
T$TRIP_TICKET_GEAR_WORK G
WHERE (TO_NUMBER(T.BATCH) = '|| &BATCHNUM ||')
AND (T.FK$TRIP_TICKET = S.AK$TRIP_TICKET)
AND (T.FK$TRIP_TICKET = G.AK$TRIP_TICKET)
and (substr(t.trip_date,5,2) in ('||'''01'''||','||'''02'''||','||'''03'''||','||'''11'''||','||'''12'''||'))
and (S.AK$SPECIES = 165)
AND (S.WEIGHT_IN_POUNDS > 500)
AND (T.TRIP_DATE > '||'''19990130'''||')
AND (T.AK$MRIS_COUNTY NOT IN ('||'''15'''||','||'''16'''||','||'''23'''||','||'''26'''||','||'''28'''||','||'''41'''||','||'''53'''||','||'''54'''||','||'''55'''||','||'''60'''||','||'''65'''||','||'''66'''||','||'''74'''||'))
AND ((G.AK$MRIS_GEAR = 40) OR
G.AK$MRIS_GEAR BETWEEN 6100 AND 6190)';
--execute immediate s_command;
FLAGCNT := FLAGCNT + SQL%ROWCOUNT;
--COMMIT;
execute immediate 'commit';
EXCEPTION WHEN OTHERS THEN
DBMS_OUTPUT.PUT_LINE('. Error writing '||MSGNUM||' Bad Value'||'. '||SQLCODE||': '||SQLERRM);
END;
BEGIN
MSGNUM := 27;
execute immediate 'INSERT INTO BATCHERS_REPORT
(BATCH, AK$DEALER, FK$TRIP_TICKET, INVOICE,
CONTINUATION_IND, TRIP_DATE, SPL_NO, AK$MRIS_AREA,
AK$MRIS_COUNTY, TIME_FISHED, TIME_UNITS, DEPTH, DEPTH_UNITS,
AK$MRIS_GEAR, AK$SPECIES, SPECIES_SIZE, WEIGHT_IN_POUNDS, UNIT_PRICE,
ERROR_NUM)
SELECT T.BATCH, T.AK$DEALER, T.FK$TRIP_TICKET, T.INVOICE,
T.CONTINUATION_IND, T.TRIP_DATE, T.SPL_NO, T.AK$MRIS_AREA,
T.AK$MRIS_COUNTY, T.TIME_FISHED, T.TIME_UNITS, T.DEPTH, T.DEPTH_UNITS,
NULL, S.AK$SPECIES, LTRIM(S.SPECIES_SIZE),
TO_NUMBER(S.WEIGHT_IN_POUNDS), TO_NUMBER(S.UNIT_PRICE),
'||''''||MSGNUM||''''||'
FROM T$TRIP_TICKET_WORK T,
T$TRIP_TICKET_SPECIES_WORK S
WHERE TO_NUMBER(T.BATCH) = '|| &BATCHNUM ||'
AND T.FK$TRIP_TICKET = S.AK$TRIP_TICKET
AND S.AK$SPECIES = 165
AND S.WEIGHT_IN_POUNDS > 500
AND T.AK$MRIS_COUNTY IN (15, 16, 23, 41, 53, 54, 55, 60, 66, 74)
AND SUBSTR(T.TRIP_DATE,5,2) IN ('||'''01'''||', '||'''02'''||', '||'''03'''||', '||'''11'''||', '||'''12'''||')
UNION
SELECT T.BATCH, T.AK$DEALER, T.FK$TRIP_TICKET, T.INVOICE,
T.CONTINUATION_IND, T.TRIP_DATE, T.SPL_NO, T.AK$MRIS_AREA,
T.AK$MRIS_COUNTY, T.TIME_FISHED, T.TIME_UNITS, T.DEPTH, T.DEPTH_UNITS,
G.AK$MRIS_GEAR, S.AK$SPECIES, LTRIM(S.SPECIES_SIZE),
TO_NUMBER(S.WEIGHT_IN_POUNDS), TO_NUMBER(S.UNIT_PRICE),
'||''''||MSGNUM||''''||'
FROM T$TRIP_TICKET_WORK T,
T$TRIP_TICKET_SPECIES_WORK S,
T$TRIP_TICKET_GEAR_WORK G
WHERE (TO_NUMBER(T.BATCH) = '|| &BATCHNUM ||')
AND (T.FK$TRIP_TICKET = S.AK$TRIP_TICKET)
AND (T.FK$TRIP_TICKET = G.AK$TRIP_TICKET)
AND (S.AK$SPECIES = 165)
AND (S.WEIGHT_IN_POUNDS > 1250)
AND (T.TRIP_DATE > '||'''19990130'''||')
AND (T.AK$MRIS_COUNTY in ( 15, 16, 23, 26, 28, 41, 53, 54, 55, 60, 65, 66, 74))
AND (G.AK$MRIS_GEAR = 40 OR G.AK$MRIS_GEAR BETWEEN 6100 AND 6190)
AND (SUBSTR(T.TRIP_DATE,5,2) IN ('||'''01'''||', '||'''02'''||', '||'''03'''||', '||'''11'''||', '||'''12'''||'))
UNION
SELECT T.BATCH, T.AK$DEALER, T.FK$TRIP_TICKET, T.INVOICE,
T.CONTINUATION_IND, T.TRIP_DATE, T.SPL_NO, T.AK$MRIS_AREA,
T.AK$MRIS_COUNTY, T.TIME_FISHED, T.TIME_UNITS, T.DEPTH, T.DEPTH_UNITS,
G.AK$MRIS_GEAR, S.AK$SPECIES, LTRIM(S.SPECIES_SIZE),
TO_NUMBER(S.WEIGHT_IN_POUNDS), TO_NUMBER(S.UNIT_PRICE),
'||''''||MSGNUM||''''||'
FROM T$TRIP_TICKET_WORK T,
T$TRIP_TICKET_SPECIES_WORK S,
T$TRIP_TICKET_GEAR_WORK G
WHERE (TO_NUMBER(T.BATCH) = '|| &BATCHNUM ||')
AND (T.FK$TRIP_TICKET = S.AK$TRIP_TICKET)
AND (T.FK$TRIP_TICKET = G.AK$TRIP_TICKET)
AND (S.AK$SPECIES = 165)
AND (S.WEIGHT_IN_POUNDS > 25000)
AND (T.TRIP_DATE > '||'''19990119'''||')
AND (T.AK$MRIS_COUNTY in ( 15, 16, 23, 26, 28, 41, 53, 54, 55, 60, 65, 66, 74))
AND (G.AK$MRIS_GEAR IN (70, 80) OR
G.AK$MRIS_GEAR BETWEEN 4700 AND 4790 OR
G.AK$MRIS_GEAR BETWEEN 5300 AND 5390)
AND (SUBSTR(T.TRIP_DATE,5,2) IN ('||'''01'''||', '||'''02'''||', '||'''03'''||', '||'''11'''||', '||'''12'''||'))
UNION
SELECT T.BATCH, T.AK$DEALER, T.FK$TRIP_TICKET, T.INVOICE,
T.CONTINUATION_IND, T.TRIP_DATE, T.SPL_NO, T.AK$MRIS_AREA,
T.AK$MRIS_COUNTY, T.TIME_FISHED, T.TIME_UNITS, T.DEPTH, T.DEPTH_UNITS,
G.AK$MRIS_GEAR, S.AK$SPECIES, LTRIM(S.SPECIES_SIZE),
TO_NUMBER(S.WEIGHT_IN_POUNDS), TO_NUMBER(S.UNIT_PRICE),
'||''''||MSGNUM||''''||'
FROM T$TRIP_TICKET_WORK T,
T$TRIP_TICKET_SPECIES_WORK S,
T$TRIP_TICKET_GEAR_WORK G
WHERE (TO_NUMBER(T.BATCH) = '|| &BATCHNUM ||')
AND (T.FK$TRIP_TICKET = S.AK$TRIP_TICKET)
AND (T.FK$TRIP_TICKET = G.AK$TRIP_TICKET)
AND (S.AK$SPECIES = 165)
AND (S.WEIGHT_IN_POUNDS > 500)
AND (T.TRIP_DATE > '||'''19990103'''||')
AND (T.AK$MRIS_COUNTY in ( 15, 16, 23, 26, 28, 41, 53, 54, 55, 60, 65, 66, 74))
AND (G.AK$MRIS_GEAR = 40 OR G.AK$MRIS_GEAR BETWEEN 6100 AND 6190)
AND (SUBSTR(T.TRIP_DATE,5,2) IN ('||'''01'''||', '||'''02'''||', '||'''03'''||', '||'''11'''||', '||'''12'''||'))
UNION
SELECT T.BATCH, T.AK$DEALER, T.FK$TRIP_TICKET, T.INVOICE,
T.CONTINUATION_IND, T.TRIP_DATE, T.SPL_NO, T.AK$MRIS_AREA,
T.AK$MRIS_COUNTY, T.TIME_FISHED, T.TIME_UNITS, T.DEPTH, T.DEPTH_UNITS,
G.AK$MRIS_GEAR, S.AK$SPECIES, LTRIM(S.SPECIES_SIZE),
TO_NUMBER(S.WEIGHT_IN_POUNDS), TO_NUMBER(S.UNIT_PRICE),
'||''''||MSGNUM||''''||'
FROM T$TRIP_TICKET_WORK T,
T$TRIP_TICKET_SPECIES_WORK S,
T$TRIP_TICKET_GEAR_WORK G
WHERE (TO_NUMBER(T.BATCH) = '|| &BATCHNUM ||')
AND (T.FK$TRIP_TICKET = S.AK$TRIP_TICKET)
AND (T.FK$TRIP_TICKET = G.AK$TRIP_TICKET)
AND (S.AK$SPECIES = 165)
AND (S.WEIGHT_IN_POUNDS > 0)
AND (T.TRIP_DATE > '||'''19990119'''||')
AND (T.AK$MRIS_COUNTY in ( 15, 16, 23, 26, 28, 41, 53, 54, 55, 60, 65, 66, 74))
AND (G.AK$MRIS_GEAR IN (70, 80) OR
G.AK$MRIS_GEAR BETWEEN 4700 AND 4790 OR
G.AK$MRIS_GEAR BETWEEN 5300 AND 5390)
AND (SUBSTR(T.TRIP_DATE,5,2) IN ('||'''01'''||', '||'''02'''||', '||'''03'''||', '||'''11'''||', '||'''12'''||'))';
-- execute immediate s_command;
FLAGCNT := FLAGCNT + SQL%ROWCOUNT;
--COMMIT;
execute immediate 'commit';
EXCEPTION WHEN OTHERS THEN
DBMS_OUTPUT.PUT_LINE('. Error writing '||MSGNUM||' Bad Value'||'. '||SQLCODE||': '||SQLERRM);
END;
BEGIN
MSGNUM := 28;
s_command := 'INSERT INTO BATCHERS_REPORT
(BATCH, AK$DEALER, FK$TRIP_TICKET, INVOICE,
CONTINUATION_IND, TRIP_DATE, SPL_NO, AK$MRIS_AREA,
AK$MRIS_COUNTY, TIME_FISHED, TIME_UNITS, DEPTH, DEPTH_UNITS,
AK$SPECIES, SPECIES_SIZE, WEIGHT_IN_POUNDS, UNIT_PRICE,
ERROR_NUM)
SELECT T.BATCH, T.AK$DEALER, T.FK$TRIP_TICKET, T.INVOICE,
T.CONTINUATION_IND, T.TRIP_DATE, T.SPL_NO, T.AK$MRIS_AREA,
T.AK$MRIS_COUNTY, T.TIME_FISHED, T.TIME_UNITS, T.DEPTH, T.DEPTH_UNITS,
S.AK$SPECIES, LTRIM(S.SPECIES_SIZE),
TO_NUMBER(S.WEIGHT_IN_POUNDS), TO_NUMBER(S.UNIT_PRICE),
'||''''||MSGNUM||''''||'
FROM T$TRIP_TICKET_WORK T,
T$TRIP_TICKET_SPECIES_WORK S
WHERE TO_NUMBER(T.BATCH) = '|| &BATCHNUM ||'
AND T.FK$TRIP_TICKET = S.AK$TRIP_TICKET
AND T.AK$MRIS_AREA BETWEEN 0.0 AND 10.99
AND SUBSTR(T.TRIP_DATE,5,2) IN ('||'''02'''||', '||'''03'''||', '||'''04'''||', '||'''09'''||', '||'''10'''||')
AND S.AK$SPECIES = 209
AND S.WEIGHT_IN_POUNDS > 2000';
execute immediate s_command;
FLAGCNT := FLAGCNT + SQL%ROWCOUNT;
--COMMIT;
execute immediate 'commit';
EXCEPTION WHEN OTHERS THEN
DBMS_OUTPUT.PUT_LINE('. Error writing '||MSGNUM||' Bad Value');
END;
BEGIN
MSGNUM := 29;
s_command := 'INSERT INTO BATCHERS_REPORT
(BATCH, AK$DEALER, FK$TRIP_TICKET, INVOICE,
CONTINUATION_IND, TRIP_DATE, SPL_NO, AK$MRIS_AREA,
AK$MRIS_COUNTY, TIME_FISHED, TIME_UNITS, DEPTH, DEPTH_UNITS,
AK$MRIS_GEAR, AK$SPECIES, SPECIES_SIZE, WEIGHT_IN_POUNDS, UNIT_PRICE,
ERROR_NUM)
SELECT T.BATCH, T.AK$DEALER, T.FK$TRIP_TICKET, T.INVOICE,
T.CONTINUATION_IND, T.TRIP_DATE, T.SPL_NO, T.AK$MRIS_AREA,
T.AK$MRIS_COUNTY, T.TIME_FISHED, T.TIME_UNITS, T.DEPTH, T.DEPTH_UNITS,
G.AK$MRIS_GEAR, S.AK$SPECIES, LTRIM(S.SPECIES_SIZE),
TO_NUMBER(S.WEIGHT_IN_POUNDS), TO_NUMBER(S.UNIT_PRICE),
'||''''||MSGNUM||''''||'
FROM T$TRIP_TICKET_WORK T,
T$TRIP_TICKET_SPECIES_WORK S,
T$TRIP_TICKET_GEAR_WORK G
WHERE TO_NUMBER(T.BATCH) = '|| &BATCHNUM ||'
AND T.FK$TRIP_TICKET = S.AK$TRIP_TICKET
AND T.FK$TRIP_TICKET = G.AK$TRIP_TICKET
AND S.AK$SPECIES IN (353, 355, 357, 359)
AND T.AK$MRIS_COUNTY IN ('||'''23'''||', '||'''54'''||')
AND G.AK$MRIS_GEAR != 9250
UNION
SELECT T.BATCH, T.AK$DEALER, T.FK$TRIP_TICKET, T.INVOICE,
T.CONTINUATION_IND, T.TRIP_DATE, T.SPL_NO, T.AK$MRIS_AREA,
T.AK$MRIS_COUNTY, T.TIME_FISHED, T.TIME_UNITS, T.DEPTH, T.DEPTH_UNITS,
G.AK$MRIS_GEAR, S.AK$SPECIES, LTRIM(S.SPECIES_SIZE),
TO_NUMBER(S.WEIGHT_IN_POUNDS), TO_NUMBER(S.UNIT_PRICE),
'||''''||MSGNUM||''''||'
FROM T$TRIP_TICKET_WORK T,
T$TRIP_TICKET_SPECIES_WORK S,
T$TRIP_TICKET_GEAR_WORK G
WHERE TO_NUMBER(T.BATCH) = '|| &BATCHNUM ||'
AND T.FK$TRIP_TICKET = S.AK$TRIP_TICKET
AND T.FK$TRIP_TICKET = G.AK$TRIP_TICKET
AND S.AK$SPECIES IN (353, 355, 357, 359)
AND G.AK$MRIS_GEAR NOT IN (9250, 9433)';
execute immediate s_command;
FLAGCNT := FLAGCNT + SQL%ROWCOUNT;
--COMMIT;
execute immediate 'commit';
EXCEPTION WHEN OTHERS THEN
DBMS_OUTPUT.PUT_LINE('. Error writing '||MSGNUM||' Bad Value');
END;
FOR I IN INREC (&BATCHNUM) LOOP
BEGIN
IF I.TRIP_DATE IS NULL THEN
s_command := 'INSERT INTO BATCHERS_REPORT
(BATCH, AK$DEALER, FK$TRIP_TICKET, INVOICE,
CONTINUATION_IND, TRIP_DATE, SPL_NO, AK$MRIS_AREA,
AK$MRIS_COUNTY, TIME_FISHED, TIME_UNITS, DEPTH, DEPTH_UNITS,
ERROR_NUM)
VALUES(I.BATCH, I.AK$DEALER, I.FK$TRIP_TICKET, I.INVOICE,
I.CONTINUATION_IND, I.TRIP_DATE, I.SPL_NO, I.AK$MRIS_AREA,
I.AK$MRIS_COUNTY, I.TIME_FISHED, I.TIME_UNITS, I.DEPTH, I.DEPTH_UNITS,
30)';
execute immediate s_command;
FLAGCNT := FLAGCNT + SQL%ROWCOUNT;
--COMMIT;
execute immediate 'commit';
ELSE
DATEST := TO_DATE(I.TRIP_DATE,'YYYYMMDD');
END IF;
-- IF DATEST NOT BETWEEN BEGDATE AND ENDATE THEN
IF datest not between add_months(endate,-6) and endate then
s_command := 'INSERT INTO BATCHERS_REPORT
(BATCH, AK$DEALER, FK$TRIP_TICKET, INVOICE,
CONTINUATION_IND, TRIP_DATE, SPL_NO, AK$MRIS_AREA,
AK$MRIS_COUNTY, TIME_FISHED, TIME_UNITS, DEPTH, DEPTH_UNITS,
ERROR_NUM)
VALUES(I.BATCH, I.AK$DEALER, I.FK$TRIP_TICKET, I.INVOICE,
I.CONTINUATION_IND, I.TRIP_DATE, I.SPL_NO, I.AK$MRIS_AREA,
I.AK$MRIS_COUNTY, I.TIME_FISHED, I.TIME_UNITS, I.DEPTH, I.DEPTH_UNITS,
30)';
execute immediate s_command;
FLAGCNT := FLAGCNT + SQL%ROWCOUNT;
--COMMIT;
execute immediate 'commit';
END IF;
EXCEPTION WHEN OTHERS THEN
s_command := 'INSERT INTO BATCHERS_REPORT
(BATCH, AK$DEALER, FK$TRIP_TICKET, INVOICE,
CONTINUATION_IND, TRIP_DATE, SPL_NO, AK$MRIS_AREA,
AK$MRIS_COUNTY, TIME_FISHED, TIME_UNITS, DEPTH, DEPTH_UNITS,
ERROR_NUM)
VALUES(I.BATCH, I.AK$DEALER, I.FK$TRIP_TICKET, I.INVOICE,
I.CONTINUATION_IND, I.TRIP_DATE, I.SPL_NO, I.AK$MRIS_AREA,
I.AK$MRIS_COUNTY, I.TIME_FISHED, I.TIME_UNITS, I.DEPTH, I.DEPTH_UNITS,
30)';
execute immediate s_command;
FLAGCNT := FLAGCNT + SQL%ROWCOUNT;
--COMMIT;
execute immediate 'commit';
END;
END LOOP;
DBMS_OUTPUT.PUT_LINE('. RECORDS WRITTEN = '||TO_CHAR(FLAGCNT));
DBMS_OUTPUT.PUT_LINE('. ENDING TIME = '||TO_CHAR(SYSDATE,'MM/DD/YYYY HH:MI:SS'));
DBMS_OUTPUT.PUT_LINE('.');
END;
--SET TERMOUT OFF;
CLEAR BREAKS;
BREAK ON BATCH ON AK$DEALER;
CLEAR COLUMNS;
--SPOOL BATCHERS.LST;
--CLEAR COLUMNS;
COLUMN BATCH NOPRINT;
COLUMN AK$DEALER HEADING 'DEALER' FORMAT A9 JUSTIFY LEFT;
COLUMN FK$TRIP_TICKET HEADING 'TTK#' FORMAT 9999999999;
COLUMN INVOICE HEADING 'INVOICE' FORMAT A13 JUSTIFY LEFT;
COLUMN CONTINUATION_IND HEADING 'CONT' FORMAT A4 JUSTIFY LEFT;
COLUMN TRIP_DATE HEADING 'DATE' FORMAT A8 JUSTIFY LEFT;
COLUMN SPL_NO HEADING 'SPL' FORMAT A9 JUSTIFY LEFT;
COLUMN AK$MRIS_AREA HEADING 'AREA' FORMAT A7 JUSTIFY LEFT;
COLUMN AK$MRIS_COUNTY HEADING 'CTY' FORMAT A3 JUSTIFY LEFT;
COLUMN TIME_FISHED HEADING 'TIME' FORMAT A4 JUSTIFY LEFT;
COLUMN TIME_UNITS HEADING 'UNIT' FORMAT A4 JUSTIFY LEFT;
COLUMN DEPTH HEADING 'DEPTH' FORMAT A5 JUSTIFY LEFT;
COLUMN DEPTH_UNITS HEADING 'UNIT' FORMAT A4 JUSTIFY LEFT;
COLUMN AK$MRIS_GEAR HEADING 'GEAR' FORMAT A4 JUSTIFY LEFT;
COLUMN AK$SPECIES HEADING 'SPEC' FORMAT A4 JUSTIFY LEFT;
COLUMN SPECIES_SIZE HEADING 'SIZE' FORMAT A8 JUSTIFY LEFT;
COLUMN WEIGHT_IN_POUNDS HEADING 'POUNDS' FORMAT 99999.99;
COLUMN UNIT_PRICE HEADING 'PRICE' FORMAT 99999.999;
COLUMN ERROR_NUM NOPRINT;
--CLEAR BREAKS;
--BREAK ON BATCH ON AK$DEALER;
--SPOOL BATCHERS.LST;
TTITLE LEFT 'Page: ' FORMAT 999 SQL.PNO RIGHT 'Batch: ' &BATCHNUM SKIP -
CENTER 'Undefined gear codes.' SKIP 2;
SELECT * FROM BATCHERS_REPORT
WHERE ERROR_NUM = 1
ORDER BY AK$DEALER, FK$TRIP_TICKET;
TTITLE LEFT 'Page: ' FORMAT 999 SQL.PNO RIGHT 'Batch: ' &BATCHNUM SKIP -
CENTER 'Undefined or non-Florida area codes.' SKIP 2;
SELECT * FROM BATCHERS_REPORT
WHERE ERROR_NUM = 2
ORDER BY AK$DEALER, FK$TRIP_TICKET;
-- Error number 3 not in use - Logic moved to ctyarflg.sql
TTITLE LEFT 'Page: ' FORMAT 999 SQL.PNO RIGHT 'Batch: ' &BATCHNUM SKIP -
CENTER 'Incorrect or no SPL information.' SKIP 2;
SELECT * FROM BATCHERS_REPORT
WHERE ERROR_NUM = 4
ORDER BY AK$DEALER, FK$TRIP_TICKET;
TTITLE LEFT 'Page: ' FORMAT 999 SQL.PNO RIGHT 'Batch: ' &BATCHNUM SKIP -
CENTER 'Reported less than 1 pound weight.' SKIP 2;
SELECT * FROM BATCHERS_REPORT
WHERE ERROR_NUM = 5
ORDER BY AK$DEALER, FK$TRIP_TICKET;
TTITLE LEFT 'Page: ' FORMAT 999 SQL.PNO RIGHT 'Batch: ' &BATCHNUM SKIP -
CENTER 'Bad time fished or time units.' SKIP 2;
SELECT * FROM BATCHERS_REPORT
WHERE ERROR_NUM = 6
ORDER BY AK$DEALER, FK$TRIP_TICKET;
TTITLE LEFT 'Page: ' FORMAT 999 SQL.PNO RIGHT 'Batch: ' &BATCHNUM SKIP -
CENTER 'Weight over 5500 lbs for reef fish.' SKIP 2;
SELECT * FROM BATCHERS_REPORT
WHERE ERROR_NUM = 7
ORDER BY AK$DEALER, FK$TRIP_TICKET;
TTITLE LEFT 'Page: ' FORMAT 999 SQL.PNO RIGHT 'Batch: ' &BATCHNUM SKIP -
CENTER 'Landings in closed fisheries.' SKIP 2;
SELECT * FROM BATCHERS_REPORT
WHERE ERROR_NUM = 8
ORDER BY AK$DEALER, FK$TRIP_TICKET;
TTITLE LEFT 'Page: ' FORMAT 999 SQL.PNO RIGHT 'Batch: ' &BATCHNUM SKIP -
CENTER 'Invalid species codes.' SKIP 2;
SELECT * FROM BATCHERS_REPORT
WHERE ERROR_NUM = 9
ORDER BY AK$DEALER, FK$TRIP_TICKET;
TTITLE LEFT 'Page: ' FORMAT 999 SQL.PNO RIGHT 'Batch: ' &BATCHNUM SKIP -
CENTER 'Unlikely or unusual species codes.' SKIP 2;
SELECT * FROM BATCHERS_REPORT
WHERE ERROR_NUM = 10
ORDER BY AK$DEALER, FK$TRIP_TICKET;
TTITLE LEFT 'Page: ' FORMAT 999 SQL.PNO RIGHT 'Batch: ' &BATCHNUM SKIP -
CENTER 'Food fish > 50 lbs or too expensive.' SKIP 2;
SELECT * FROM BATCHERS_REPORT
WHERE ERROR_NUM = 11
ORDER BY AK$DEALER, FK$TRIP_TICKET;
TTITLE LEFT 'Page: ' FORMAT 999 SQL.PNO RIGHT 'Batch: ' &BATCHNUM SKIP -
CENTER 'Mixed or other grouper or snapper > 50 lbs.' SKIP 2;
SELECT * FROM BATCHERS_REPORT
WHERE ERROR_NUM = 12
ORDER BY AK$DEALER, FK$TRIP_TICKET;
TTITLE LEFT 'Page: ' FORMAT 999 SQL.PNO RIGHT 'Batch: ' &BATCHNUM SKIP -
CENTER 'Over 1000 lbs striped mullet.' SKIP 2;
SELECT * FROM BATCHERS_REPORT
WHERE ERROR_NUM = 13
ORDER BY AK$DEALER, FK$TRIP_TICKET;
TTITLE LEFT 'Page: ' FORMAT 999 SQL.PNO RIGHT 'Batch: ' &BATCHNUM SKIP -
CENTER 'Oysters improperly coded.' SKIP 2;
SELECT * FROM BATCHERS_REPORT
WHERE ERROR_NUM = 14
ORDER BY AK$DEALER, FK$TRIP_TICKET;
TTITLE LEFT 'Page: ' FORMAT 999 SQL.PNO RIGHT 'Batch: ' &BATCHNUM SKIP -
CENTER 'Too expensive bait shrimp.' SKIP 2;
SELECT * FROM BATCHERS_REPORT
WHERE ERROR_NUM = 15
ORDER BY AK$DEALER, FK$TRIP_TICKET;
TTITLE LEFT 'Page: ' FORMAT 999 SQL.PNO RIGHT 'Batch: ' &BATCHNUM SKIP -
CENTER 'Bad stone crab sizes, prices or unidentified lites.' SKIP 2;
SELECT * FROM BATCHERS_REPORT
WHERE ERROR_NUM = 16
ORDER BY AK$DEALER, FK$TRIP_TICKET;
TTITLE LEFT 'Page: ' FORMAT 999 SQL.PNO RIGHT 'Batch: ' &BATCHNUM SKIP -
CENTER 'Reported landings of greater amberjack,' SKIP -
CENTER 'lesser amberjack, almaco jack and banded rudderfish ' SKIP -
CENTER 'during the closed season (March-May) from state waters.' SKIP 2;
SELECT * FROM BATCHERS_REPORT
WHERE ERROR_NUM = 17
ORDER BY AK$DEALER, FK$TRIP_TICKET;
TTITLE LEFT 'Page: ' FORMAT 999 SQL.PNO RIGHT 'Batch: ' &BATCHNUM SKIP -
CENTER 'Over the bag limit (1 fish) landings of' SKIP -
CENTER 'greater amberjack during April from South Atlantic federal waters.' SKIP 2;
SELECT * FROM BATCHERS_REPORT
WHERE ERROR_NUM = 18
ORDER BY AK$DEALER, FK$TRIP_TICKET;
TTITLE LEFT 'Page: ' FORMAT 999 SQL.PNO RIGHT 'Batch: ' &BATCHNUM SKIP -
CENTER 'Landings during closed seasons.' SKIP 2;
SELECT * FROM BATCHERS_REPORT
WHERE ERROR_NUM = 19
ORDER BY AK$DEALER, FK$TRIP_TICKET;
TTITLE LEFT 'Page: ' FORMAT 999 SQL.PNO RIGHT 'Batch: ' &BATCHNUM SKIP -
CENTER 'Snowy grouper > 300 lbs (South Atlantic trip limit from Dec. 20 thru Dec. 31, 1997).' SKIP 2;
SELECT * FROM BATCHERS_REPORT
WHERE ERROR_NUM = 20
ORDER BY AK$DEALER, FK$TRIP_TICKET;
TTITLE LEFT 'Page: ' FORMAT 999 SQL.PNO RIGHT 'Batch: ' &BATCHNUM SKIP -
CENTER 'Out-of-season Gulf red snapper landings. Commercial harvest closed' SKIP -
CENTER 'Oct. 16, 1998 - Jan. 31 1999, Mar. 15 - Apr. 1, 1999, and' SKIP -
CENTER 'Apr. 15 - Sep. 1, 1999.' SKIP 2;
SELECT * FROM BATCHERS_REPORT
WHERE ERROR_NUM = 21
ORDER BY AK$DEALER, FK$TRIP_TICKET;
TTITLE LEFT 'Page: ' FORMAT 999 SQL.PNO RIGHT 'Batch: ' &BATCHNUM SKIP -
CENTER 'Too much spotted seatrout.' SKIP -
CENTER 'Commercial harvest allows 75 fish daily vessel limit, flagged 250+ lbs.' SKIP 2;
SELECT * FROM BATCHERS_REPORT
WHERE ERROR_NUM = 22
ORDER BY AK$DEALER, FK$TRIP_TICKET;
TTITLE LEFT 'Page: ' FORMAT 999 SQL.PNO RIGHT 'Batch: ' &BATCHNUM SKIP -
CENTER 'Out-of-season spotted seatrout. Commercial harvest allowed June, July, and August only.' SKIP 2;
SELECT * FROM BATCHERS_REPORT
WHERE ERROR_NUM = 23
ORDER BY AK$DEALER, FK$TRIP_TICKET;
TTITLE LEFT 'Page: ' FORMAT 999 SQL.PNO RIGHT 'Batch: ' &BATCHNUM SKIP -
CENTER 'Too much tripletail, cobia, or african pompano.' SKIP 2;
SELECT * FROM BATCHERS_REPORT
WHERE ERROR_NUM = 24
ORDER BY AK$DEALER, FK$TRIP_TICKET;
TTITLE LEFT 'Page: ' FORMAT 999 SQL.PNO RIGHT 'Batch: ' &BATCHNUM SKIP -
CENTER 'Undefined or non-Florida area fished for gear codes.' SKIP 2;
SELECT * FROM BATCHERS_REPORT
WHERE ERROR_NUM = 25
ORDER BY AK$DEALER, FK$TRIP_TICKET;
TTITLE LEFT 'Page: ' FORMAT 999 SQL.PNO RIGHT 'Batch: ' &BATCHNUM SKIP -
CENTER 'South Atlantic king mackerel fishery (April-October)' SKIP -
CENTER '- > 3,500lbs in Nassau-Volusia or' SKIP -
CENTER '- > 500 lbs in Brevard-Dade or' SKIP -
CENTER '- > 500 lbs H and L in rest of Gulf (until 7/1/1999)' SKIP 2;
SELECT * FROM BATCHERS_REPORT
WHERE ERROR_NUM = 26
ORDER BY AK$DEALER, FK$TRIP_TICKET;
TTITLE LEFT 'Page: ' FORMAT 999 SQL.PNO RIGHT 'Batch: ' &BATCHNUM SKIP -
CENTER 'Gulf-Atlantic king mackerel fishery (November - March)' SKIP -
CENTER '- > 500 lbs Volusia-Dade or' SKIP -
CENTER ' > 1250 lbs H and L (>500 after 1/30/99 or' SKIP -
CENTER ' > 25,000 lbs gill net (zero after 1/19/99) Monroe Escambia';
SELECT * FROM BATCHERS_REPORT
WHERE ERROR_NUM = 27
ORDER BY AK$DEALER, FK$TRIP_TICKET;
TTITLE LEFT 'Page: ' FORMAT 999 SQL.PNO RIGHT 'Batch: ' &BATCHNUM SKIP -
CENTER 'More than 2,000 lbs mixed of Gulf red snapper.' SKIP 2;
SELECT * FROM BATCHERS_REPORT
WHERE ERROR_NUM = 28
ORDER BY AK$DEALER, FK$TRIP_TICKET;
TTITLE LEFT 'Page: ' FORMAT 999 SQL.PNO RIGHT 'Batch: ' &BATCHNUM SKIP -
CENTER 'Bad or unusual gears for sponges.' SKIP 2;
SELECT * FROM BATCHERS_REPORT
WHERE ERROR_NUM = 29
ORDER BY AK$DEALER, FK$TRIP_TICKET;
TTITLE LEFT 'Page: ' FORMAT 999 SQL.PNO RIGHT 'Batch: ' &BATCHNUM SKIP -
CENTER 'Date is blank, invalid, before begin date or after end date.' SKIP 2;
SELECT * FROM BATCHERS_REPORT
WHERE ERROR_NUM = 30
ORDER BY AK$DEALER, FK$TRIP_TICKET;
--SPOOL OFF;
--SET TERMOUT ON;
--PROMPT;
--PROMPT REPORT WRITTEN TO BATCHERS.LST;
--PROMPT;
--TTITLE OFF;
SET FEEDBACK ON;
SET LINESIZE 72;
SET PAGESIZE 32;
--SET NEWPAGE 1;
SET SERVEROUT OFF;
SET VERIFY ON;
SET ECHO ON;
What is wrong with my syntax or what is I am doing wrong?
Any help will be appreciated and thanks in advance,
-Dmitriya workaround was to split the string into 2 but this is not a long term solution:
e.g.
vString1 := 'INSERT INTO BATCHERS_REPORT
(BATCH, AK$DEALER, FK$TRIP_TICKET, INVOICE,
CONTINUATION_IND, TRIP_DATE, SPL_NO, AK$MRIS_AREA,
AK$MRIS_COUNTY, TIME_FISHED, TIME_UNITS, DEPTH, DEPTH_UNITS,
AK$MRIS_GEAR,AK$SPECIES, SPECIES_SIZE, WEIGHT_IN_POUNDS, UNIT_PRICE,ERROR_NUM)
SELECT T.BATCH, T.AK$DEALER, T.FK$TRIP_TICKET, T.INVOICE,
T.CONTINUATION_IND, T.TRIP_DATE, T.SPL_NO, T.AK$MRIS_AREA,
T.AK$MRIS_COUNTY, T.TIME_FISHED, T.TIME_UNITS, T.DEPTH, T.DEPTH_UNITS,
NULL, S.AK$SPECIES, LTRIM(S.SPECIES_SIZE),
TO_NUMBER(S.WEIGHT_IN_POUNDS), TO_NUMBER(S.UNIT_PRICE),
'||''''||MSGNUM||''''||'
FROM T$TRIP_TICKET_WORK T,
T$TRIP_TICKET_SPECIES_WORK S
WHERE TO_NUMBER(T.BATCH) = '|| &BATCHNUM ||'
AND T.FK$TRIP_TICKET = S.AK$TRIP_TICKET
AND SUBSTR(T.TRIP_DATE,5,2) BETWEEN '||'''04'''||' AND '||'''10'''||'
AND S.AK$SPECIES = 165
AND S.WEIGHT_IN_POUNDS > 3500
AND T.AK$MRIS_COUNTY IN ('||'''26'''||', '||'''28'''||', '||'''55'''||', '||'''65'''||', '||'''74'''||')
UNION
SELECT T.BATCH, T.AK$DEALER, T.FK$TRIP_TICKET, T.INVOICE,
T.CONTINUATION_IND, T.TRIP_DATE, T.SPL_NO, T.AK$MRIS_AREA,
T.AK$MRIS_COUNTY, T.TIME_FISHED, T.TIME_UNITS, T.DEPTH, T.DEPTH_UNITS,
NULL,S.AK$SPECIES, LTRIM(S.SPECIES_SIZE),
TO_NUMBER(S.WEIGHT_IN_POUNDS), TO_NUMBER(S.UNIT_PRICE),
'||''''||MSGNUM||''''||'
FROM T$TRIP_TICKET_WORK T,
T$TRIP_TICKET_SPECIES_WORK S
WHERE TO_NUMBER(T.BATCH) = '|| &BATCHNUM ||'
AND T.FK$TRIP_TICKET = S.AK$TRIP_TICKET
AND SUBSTR(T.TRIP_DATE,5,2) BETWEEN '||'''04'''||' AND '||'''10'''||'
AND S.AK$SPECIES = 165
AND S.WEIGHT_IN_POUNDS > 500
AND T.AK$MRIS_COUNTY IN ('||'''15'''||', '||'''16'''||', '||'''23'''||', '||'''41'''||', '||'''53'''||', '||'''60'''||', '||'''66'''||')
UNION
SELECT T.BATCH, T.AK$DEALER, T.FK$TRIP_TICKET, T.INVOICE,
T.CONTINUATION_IND, T.TRIP_DATE, T.SPL_NO, T.AK$MRIS_AREA,
T.AK$MRIS_COUNTY, T.TIME_FISHED, T.TIME_UNITS, T.DEPTH, T.DEPTH_UNITS,
NULL, S.AK$SPECIES, LTRIM(S.SPECIES_SIZE),
TO_NUMBER(S.WEIGHT_IN_POUNDS), TO_NUMBER(S.UNIT_PRICE),
'||''''||MSGNUM||''''||'
FROM T$TRIP_TICKET_WORK T,
T$TRIP_TICKET_SPECIES_WORK S
WHERE (TO_NUMBER(T.BATCH) = '|| &BATCHNUM ||'
AND (T.FK$TRIP_TICKET = S.AK$TRIP_TICKET)
AND (SUBSTR(T.TRIP_DATE,5,2) BETWEEN '||'''04'''||' AND '||'''10'''||')
AND (S.AK$SPECIES = 165)
AND ((S.WEIGHT_IN_POUNDS > 1250 AND T.AK$MRIS_COUNTY = '||'''54'''||')
OR (T.AK$MRIS_AREA > 700 AND S.WEIGHT_IN_POUNDS > 500
AND T.AK$MRIS_COUNTY != '||'''54'''||'))
UNION
SELECT T.BATCH, T.AK$DEALER, T.FK$TRIP_TICKET, T.INVOICE,
T.CONTINUATION_IND, T.TRIP_DATE, T.SPL_NO, T.AK$MRIS_AREA,
T.AK$MRIS_COUNTY, T.TIME_FISHED, T.TIME_UNITS, T.DEPTH, T.DEPTH_UNITS,
G.AK$MRIS_GEAR, S.AK$SPECIES, LTRIM(S.SPECIES_SIZE),
TO_NUMBER(S.WEIGHT_IN_POUNDS), TO_NUMBER(S.UNIT_PRICE),
'||''''||MSGNUM||''''||'
FROM T$TRIP_TICKET_WORK T,
T$TRIP_TICKET_SPECIES_WORK S,
T$TRIP_TICKET_GEAR_WORK G
WHERE (TO_NUMBER(T.BATCH) = '|| &BATCHNUM ||')
AND (T.FK$TRIP_TICKET = S.AK$TRIP_TICKET)
AND (T.FK$TRIP_TICKET = G.AK$TRIP_TICKET)
and (substr(t.trip_date,5,2) in ('||'''01'''||','||'''02'''||','||'''03'''||','||'''11'''||','||'''12'''||'))
and (S.AK$SPECIES = 165)
AND (S.WEIGHT_IN_POUNDS > 0)
AND (T.TRIP_DATE BETWEEN '||'''19990331'''||' AND '||'''19990701'''||')
AND (T.AK$MRIS_COUNTY NOT IN ('||'''15'''||','||'''16'''||','||'''23'''||','||'''26'''||','||'''28'''||','||'''41'''||','||'''53'''||','||'''54'''||','||'''55'''||','||'''60'''||','||'''65'''||','||'''66'''||','||'''74'''||')
AND ((G.AK$MRIS_GEAR IN (70, 80)) OR
(G.AK$MRIS_GEAR BETWEEN 4700 AND 4900) OR
(G.AK$MRIS_GEAR BETWEEN 5300 AND 5390)))';
vString2 := 'UNION
SELECT T.BATCH, T.AK$DEALER, T.FK$TRIP_TICKET, T.INVOICE,
T.CONTINUATION_IND, T.TRIP_DATE, T.SPL_NO, T.AK$MRIS_AREA,
T.AK$MRIS_COUNTY, T.TIME_FISHED, T.TIME_UNITS, T.DEPTH, T.DEPTH_UNITS,
G.AK$MRIS_GEAR, S.AK$SPECIES, LTRIM(S.SPECIES_SIZE),
TO_NUMBER(S.WEIGHT_IN_POUNDS), TO_NUMBER(S.UNIT_PRICE),
'||''''||MSGNUM||''''||'
FROM T$TRIP_TICKET_WORK T,
T$TRIP_TICKET_SPECIES_WORK S,
T$TRIP_TICKET_GEAR_WORK G
WHERE (TO_NUMBER(T.BATCH) = '|| &BATCHNUM ||')
AND (T.FK$TRIP_TICKET = S.AK$TRIP_TICKET)
AND (T.FK$TRIP_TICKET = G.AK$TRIP_TICKET)
and (substr(t.trip_date,5,2) in ('||'''01'''||','||'''02'''||','||'''03'''||','||'''11'''||','||'''12'''||'))
and (S.AK$SPECIES = 165)
AND (S.WEIGHT_IN_POUNDS > 500)
AND (T.TRIP_DATE > '||'''19990130'''||')
AND (T.AK$MRIS_COUNTY NOT IN ('||'''15'''||','||'''16'''||','||'''23'''||','||'''26'''||','||'''28'''||','||'''41'''||','||'''53'''||','||'''54'''||','||'''55'''||','||'''60'''||','||'''65'''||','||'''66'''||','||'''74'''||'))
AND ((G.AK$MRIS_GEAR = 40) OR
G.AK$MRIS_GEAR BETWEEN 6100 AND 6190)';
Execute Immediate vString1||vString2; -
Execute immediate problem...
Hi, who knows, what is wrong, please?
PROCEDURE VYKONEJ (var_from IN NUMBER, var_to IN NUMBER) IS
TYPE tab_of_commands IS TABLE OF PRIKAZY.PRIKAZ%TYPE;
prikazy_array tab_of_commands; --this is table with sql commands (strings like 'select * from x;')
BEGIN
SELECT PRIKAZ
BULK COLLECT INTO prikazy
FROM PRIKAZY
WHERE ID >= var_from and ID <= var_to;
FORALL i IN prikazy.FIRST .. prikazy.LAST
-- EXECUTE IMMEDIATE 'EXECUTE IMMEDIATE '':prikazy_array'';' USING prikazy_array(i);
EXECUTE IMMEDIATE 'BEGIN '||prikazy_array(i)||' END;';
--what is wrong with excecute command pls?
END VYKONEJ;
Can enyone help me, please?--what is wrong with excecute command pls?Check this:
SQL> declare
type tab_of_commands is table of emp.ename%type;
prikazy tab_of_commands;
begin
select ename
bulk collect into prikazy
from emp;
forall i in prikazy.first .. prikazy.last
execute immediate 'BEGIN dbms_output.put_line(:1); END;'
using prikazy (i);
end;
SMITH
ALLEN
WARD
JONES
MARTIN
BLAKE
CLARK
SCOTT
KING
TURNER
ADAMS
JAMES
FORD
MILLER
PL/SQL procedure successfully completed. -
**URGENT** Problem using execute immediate in a procedure ...
Hi all,
I am writing this procedure
create or replace procedure pr_test is
begin
EXECUTE IMMEDIATE 'CREATE or replace view test1 as select * from table_name';
end ;
when I execute this procedure even in the same schema who owns this table it gives me this message.
BEGIN pr_test; END;
ERROR at line 1:
ORA-01031: insufficient privileges
ORA-06512: at "COLIS.PR_TEST", line 3
ORA-06512: at line 1
can any body lets me know the solution????
Thanks in advance
Take Care !
GhulamThank you very much fellows.
But I have reached at this point that one has to have create view privellege explicitly to create view using a dynamic sql statemetn. Actually I could create the view using SQL*Plus and every thing was working fine through SQL*Plus. But I granted the rights of create user from a user having DBA role.
Anyways! Thank you very much for contributing this discussion. I really appreciate it.
Ghulam Mustafa Butt -
Problem in Update statement using Execute Immediate
Hi All,
I am facing problem in update statement.
I am creating dynamic sql and use "execute immediate" statement to execute a update statement.
But it is not updating any thing there in the table.
I have created a query like :
update_query='Update '|| Table_Name ||' t set t.process_status =''Y'' where t.tid=:A';
Execute immediate update_query using V_Id;
commit;
But it is not updating the table.
I have a question , is execute immediate only does insert and delete?
Thanks
AshokSQL> select * from t;
TID P
101 N
SQL> declare
2 V_Id number := 101;
3 Table_Name varchar2(30) := 'T';
4 update_query varchar2(1000);
5 begin
6 update_query := 'Update '|| Table_Name ||' t set t.process_status =''Y'' where t.tid=:A';
7 Execute immediate update_query using V_Id;
8 commit;
9 end;
10 /
PL/SQL procedure successfully completed.
SQL> select * from t;
TID P
101 Y -
Problem in using CREATE TABLE with Execute Immediate
I'm trying to create a table using Native Dynamic SQL. the code of the pl/sql block is
BEGIN
EXECUTE IMMEDIATE 'create table demo (ddate date)';
END;
The problem is that the above block is executed successfully as an anonymous PL/SQL block. The same block when written in a procedure it gives an error
"ORA-01031 Insufficient privelages"
at the time of execution. The procedure is complied successfully.
nullYour user needs direct system privs to create tables. You are receiving your privs properly by the role RESOURCE. Connect as system and grant CREATE TABLE directly to your user - that should do it.
Regards
Peter Larsen -
Problem to insert using execute immediate
Have a procedure like this:
create or replace procedure proc_set_category(
VC_object_id IN number,
VC_object IN varchar2,
VC_category_id IN varchar2
is
sq varchar2(200);
BEGIN
sq:='INSERT INTO ' || VC_object ||'_category (' || VC_object || '_id,category_id) VALUES (' || VC_object_id || ',' || VC_category_id ||')';
EXECUTE IMMEDIATE sq;
END;
Procedure created.
but when i try to execute the following query it generates an error
execute proc_set_category(1,'news','event')
ERROR at line 1:
ORA-00984: column not allowed here
ORA-06512: at "SCOTT.PROC_SET_CATEGORY", line 10
ORA-06512: at line 1
I have a news_category table.where is the problem?sq:='INSERT INTO ' || VC_object ||'_category (' || VC_object || '_id,category_id) VALUES (' || VC_object_id || ',' || VC_category_id ||')';
EXECUTE IMMEDIATE sq;
execute immediate 'INSERT INTO ' || VC_object ||'_category (' || VC_object || '_id,category_id) VALUES (:1, :2)'
using VC_object_id, VC_category_id; -
Have problem when using EXECUTE IMMEDIATE.
Hi, i'm new here... i having problem when trying to use execute immediate statement... :(
procedure code as below:
create procedure copy_row(
p_table varchar2,
p_key varchar2,
p_keyval varchar2,
p_user varchar2,
p_frmto varchar2 default 'FROM')
IS
V_SQL VARCHAR2(500);
BEGIN
if upper(p_frmto)='FROM' then
V_SQL:='INSERT INTO '||P_TABLE||
' SELECT * FROM '||P_USER||'.'||P_TABLE||' WHERE '||P_KEY||' = '''||P_KEYVAL||'''';
elsif upper(p_frmto)='TO' then
V_SQL:='INSERT INTO '||P_USER||'.'||P_TABLE||
' SELECT * FROM '||P_TABLE||' WHERE '||P_KEY||' = '''||P_KEYVAL||'''';
end if;
EXECUTE IMMEDIATE V_SQL;
exception
when others then
raise_application_error(-20000,'PROCEDURE: COPY_ROW - UNABLE TO COPY ROWS! SQL='||V_SQL,TRUE);
end;
is there any limitation on using EXECUTE IMMEDIATE command? i need to use procedure because i'm using old form builder.... but the database server was 9i which able to use this command, so... i decide to use procedure....
i've done some testing on this.... assume the structure of schema1.table1 and schema2.table1 are same....
SQL> CREATE PROCEDURE TESTING IS
2 BEGIN
3 exeCute IMMEDIATE 'INSERT INTO schema1.table1 SELECT * FROM schema2.table1 WHERE column1 = ''abc''';
4 END;
5 /
Procedure created.
SQL> BEGIN
2 TESTING;
3 END;
4 /
BEGIN
ERROR at line 1:
ORA-00942: table or view does not exist
ORA-06512: at "SCHEMA1.TESTING", line 3
ORA-06512: at line 2
any idea?? or have better solution other than this?
database server:9i
sqlplus:SQL*Plus: Release 8.0.6.0.0Do you have an access to tables you are going to insert into / select from ?
Dynamic SQL checks the access permissions at runtime, not at the compilation stage:
SQL> create user master identified by master default tablespace users temporary
2 tablespace temp;
User created.
SQL> alter user master quota unlimited on users;
User altered.
SQL> grant create session to master;
Grant succeeded.
SQL> grant create table to master;
Grant succeeded.
SQL> grant create procedure to master;
Grant succeeded.
SQL> conn master/master
Connected.
SQL> create procedure wrong_prc
2 is
3 begin
4 execute immediate 'insert into master.t select * from scott.t';
5 end;
6 /
Procedure created.
SQL> create table t (id number);
Table created.
SQL> exec wrong_prc;
BEGIN wrong_prc; END;
ERROR at line 1:
ORA-00942: table or view does not exist
ORA-06512: at "MASTER.WRONG_PRC", line 4
ORA-06512: at line 1
SQL> conn scott/tiger
Connected.
SQL> grant select on t to master;
Grant succeeded.
SQL> conn master/master
Connected.
SQL> exec wrong_prc;
PL/SQL procedure successfully completed.
SQL> select * from t;
ID
1And don't use literals in dynamic SQL - you should use binding variables instead.
Rgds. -
Problem with alter table in execute immediate
We have PL/SQL scripts which modify the data structure, add data etc to en existing database. These scripts basically ensure that the db is compatible with what the software expects.
The reason for doing it in PL/SQL rather than SQL script is A) The scripts are launched using GUI so that they are more user friendly. sqlplus is launched as a background process which executes these scripts. All the scripts have EXIT FAILURE WHENEVER SQLERROR as first line to ensure that the control does not hang in the sqlplus background process.
Going from one version to other, we have added a few tables to the database and also modified a few tables. since (i think) DDL is not allowed in PL/SQL block, we had to resort to putting them in EXECUTE IMMEDIATE enclosures.
Now for the real question,
If I create a table using EXECUTE IMMEDIATE clause, I can immediately have insert as a next statement to insert data in this table. but, if I alter the table and add a column to the existing table, I cannot immediately add data to that column, it throws an error saying 'invalid identifier'
At code level, the following is allowed :
EXECUTE IMMEDIATE 'CREATE TABLE SP_TEST_TABLE
ID NUMBER,
NAME Varchar2(40)
INSERT INTO SP_TEST_TABLE(ID, NAME) Values(1, 'SP');
but I get error for the following :
EXECUTE IMMEDIATE 'ALTER TABLE SP_TEST_TWO ADD
ANOTHER_COLUMN number
UPDATE SP_TEST_TWO SET ANOTHER_COLUMN = 1;
In this case, it says ANOTHER_COLUMN invalid identifier
Does anybody know why?
any workaround will be greatly appreciated.
--SPFriends,
Thanks to all of you for your help. The spelling mistakes might have occurred becuase i changed the actual script to something 'short and complete' to show the problem.
I could solve the problem by having more than one PL/SQL block within my file. something like :
BEGIN
--alter table statements here
END;
BEGIN
--insert the values in column here.
END;
I am still not sure why the error is presented only on alter table statement and not for create table statement. Probably somebody with the knowledge of oracle internals will be able to throw more light on it. I am trying to get the naswers, if I get the answer, I'll surely post it here.
Regards,
--Saurabh -
Problems using DDL & EXECUTE IMMEDIATE in package
Hi...
I have an 8i package in which I am trying to execute some DDL via EXECUTE IMMEDIATE to create temporary tables from which I then populate a REF_CURSOR by selecting from the last table created in the DDL. The problem is that the compiler doesn't seem to like the DDL.
Here's what I'm using:
CREATE OR REPLACE PACKAGE BODY NEREP_REF
AS
Procedure GetNE_REF (
i_Node IN VARCHAR2,
io_cursor IN OUT t_cursor )
IS
sql_stmt varchar2(200);
v_cursor t_cursor;
BEGIN
sql_stmt := 'CREATE TABLE tmp AS SELECT * FROM nerep4;';
EXECUTE IMMEDIATE sql_stmt;
OPEN v_cursor FOR
SELECT NE_Node, NE_Type, EHA, Status, Curr_Func, TP_Name,
Order_Item_Name, Required_Start, Required_End, Trail_Name
FROM tmp
WHERE NE_Node = i_Node ;
io_cursor := v_cursor;
END GetNE_REF;
END NEREP_REF;
The problem is that when I compile the package I get the errors below:
SQL> @sp_nerep_body
Warning: Package Body created with compilation errors.
SQL> show err
Errors for PACKAGE BODY NEREP_REF:
LINE/COL ERROR
20/7 PL/SQL: SQL Statement ignored
23/14 PLS-00201: identifier 'NE_NODE' must be declared
So it seems that it doesn't like the DDL (have I got the sql_stmt assignment in the wrong place maybe?) and then it complains it can't find the columns, which is reasonable because of course it doesn't know that the table 'tmp' comes from the result of the DDL statement!
If I change the table name in the 'OPEN v_cursor FOR' select clause to a table that already exists (ie: not created in this package) it runs just fine and I get the data I asked for... the problem is that I need to create this table on the fly by using DDL in my package!
This is driving me crazy - basically I need to be able to execute DDL to do various 'create table ... as select ... from ...' statements which eventually builds a final table which I then want to populate using a REF_CURSOR so I can return the results back to ASP via ADO... but I just can't get the DDL bit to work no matter what I try!!
Can anyone see what I'm doing wrong here?
Mike.
nullHere are a some ideas to try:
Remove the extra semicolon from your sql_stmt, so that line reads:
sql_stmt := 'CREATE TABLE tmp AS SELECT * FROM nerep4';
Ensure that you have proper privileges as an individual user, not just through a role, by:
connecting to the database using username system and password manager and granting yourself the proper privileges. For example, if you are user SCOTT, then:
SQL> GRANT CREATE TABLE TO SCOTT;
Then, exit and connect as yourself and try to compile and execute your procedure again.
If that still doesn't work, try testing one little piece at a time until you can identify the part that causes trouble. For example, start with a procedure that does nothing but try to create the tmp table using execute immediate, then add the other pieces, then try to put the procedure in a package. -
Problem with execute immediate
hi,
Oracle gurus,
when i execute the following statement in a procedure it is not getting executed and it is getting strucked,
pls provide me some suggestions.
This is very urgent.
is there any proble with commented lines?
EXECUTE IMMEDIATE 'select
oh.account_no,
p.ord_line_no,
o.ord_no,
p.lot ,
(pr1.each_qty/pr.each_qty),
:p_comp_id ,
p.cube,
sysdate,
SYSDATE,--p.pick_date,
SYSDATE,--pw.date_time_released,
pr.each_qty,
:p_ebiz_appown_no,
p.ord_cntrl_no,
oh.ord_cntrl_no,
nvl(p.prod_no,0),
:p_ebiz_user_no,
nvl(sl.wdth,0) * nvl(sl.dpth,0),
decode(s.haz_mat_class,null,''N'',''Y''),
''N'',
p.ord_line_no,
p.loc,
p.lp,
(nvl(p.qty,0)/nvl(pr.each_qty,1)),
1,
(nvl(p.qty,1)/pr1.each_qty),--ceil(nvl(p.qty,1)/pr1.each_qty),
oh.ord_prio,
oh.ord_type,
o.ord_no ,
nvl(p.pkg_no,0),
:p_task_no,
p.pick_line,
pl.pickline_type,
to_char(nvl(p.transact_id,0)),
p.qty ,
oh.ord_type,
:p_site_id,
nvl(s.sku,''SKU ERROR''),
s.sku_desc1_35 ,
s.prod_fam ,
s.prod_cat,
o.prod_stat,
2 ,
SYSDATE,--nvl(p.pick_date,sysdate),
bt.task_desc ,
bt.task_type,
null,--p.pick_date,
sl.type_stor_equip ,
o.uom,
p.wght
from [email protected] pr,
mast_abbtype bt,
mast_company bc,
[email protected] sl,
sku@'||l_dblink||' s,
picks@'||l_dblink||' p,
ordline'||l_dblink||' o,
ordhead@'||l_dblink||' oh,
prodqty@'||l_dblink||' pr1,
pickwave@'||l_dblink||' pw,
pickline@'||l_dblink||' pl
where decode(bt.comp_id,null,:p_comp_id,bt.comp_id)=:p_comp_id
and decode(bt.site_id,null,:p_site_id,bt.site_id)=:p_site_id
and bt.task_type = ''PICK''--decode(null,''PICK'',''PIK'',''PIK'')
and bc.delete_flag=''N''
and bt.active_flag=''Y''
and bc.active_flag=''Y''
and bt.delete_flag=''N'' --and nvl(bc.ebiz_appown_no,-1) = nvl(bt.ebiz_appown_no,-1)
and nvl(bc.ebiz_appown_no,-1) =1nvl(p_ebiz_appown_no,-1)
and nvl(p.failed_pick_flg,''N'') != ''Y''
and (bt.site_id =:p_site_id or bt.site_id is null)
and p.cmpl_time is not null
and p.wave_no = pw.wave_no
and s.prod_no = p.prod_no
and pr.prod_no = s.prod_no
and pr.pkg_no = p.pkg_no
--and p.ord_cntrl_no in (select ord_cntrl_no from [email protected] where ord_no = nvl(NULL, ord_no))
--nvl(p_ebiz_po_no, p.ord_cntrl_no)
-- and p.ord_cntrl_no = nvl(p_rec_cntrl_no, p.ord_cntrl_no)
and nvl(p.prod_no,0) = nvl(:p_ebiz_sku_no, nvl(p.prod_no,0))
and oh.ord_type = nvl(NULL, oh.ord_type)
and nvl(o.prod_stat, ''~'') = nvl(:p_sku_status, nvl(o.prod_stat, ''~''))
and p.lp = nvl(:p_lp, p.lp)
and nvl(p.lot, ''~'') = nvl(:p_batch_no, nvl(p.lot, ''~''))
and pr.logical_case_flg = ''Y''
--and nvl(bt.site_id,''~'') = nvl(bc.site_id,''~'')
and s.comp_code = p.comp_code
and sl.loc = p.loc
-- and nvl(pick_time,0) != ''9898''
and p.ord_cntrl_no = o.ord_cntrl_no
and p.ord_line_no = o.ord_line_no
and o.ord_cntrl_no = oh.ord_cntrl_no
and trunc(p.pick_date) between trunc(nvl(sysdate-10000,p.pick_date)) and trunc(nvl(sysdate,p.pick_date))
and nvl(p.pick_date,sysdate)<= nvl(bc.effective_date,sysdate)
and p.ord_cntrl_no = decode(null,null,p.ord_cntrl_no,null)
and pr1.pkg_no = pr.pkg_no
and pr1.prod_no = pr.prod_no
and pr1.logical_plt_flg = ''Y'' '
--and p.pick_line = pl.line_id '
Bulk collect into
l_account_no,
l_asn_line_no,
l_asn_no,
l_batch_no,
l_cases_per_pallet,
l_comp_id,
l_cube,
l_currdate,
l_date_time_ended,
l_date_time_started,
l_eachs_per_case,
l_ebiz_appown_no,
l_ebiz_asn_no,
l_ebiz_cntrl_no,
l_ebiz_sku_no,
l_ebiz_user_no,
l_footage,
l_hazmat_flag,
l_intf_conf_flag,
l_line_no,
l_location,
l_lp,
l_no_of_cases,
l_no_of_units,
l_no_plts,
l_order_priority,
l_order_type,
l_ord_no,
l_packcode,
l_parent_task_no,
l_pickline_id,
l_pickline_type,
l_po_no,
l_qty,
l_rcv_type,
l_site_id,
l_sku,
l_skudesc1,
l_skufam,
l_skugroup,
l_sku_status,
l_status_flag,
l_task_date,
l_task_desc,
l_task_type,
l_time,
l_type_stor_equip,
l_uom_id,
l_wght
using p_comp_id,p_ebiz_appown_no,p_ebiz_user_no,p_task_no,
p_site_id,p_comp_id,p_comp_id,p_site_id,p_site_id, p_site_id,p_ebiz_sku_no,p_sku_status,p_lp,p_batch_no;
regards RR.hi,
again iam sending the same query for ur easy reference.
pls treat it urgent.
EXECUTE IMMEDIATE 'select
oh.account_no,p.ord_line_no, o.ord_no, p.lot ,
(pr1.each_qty/pr.each_qty), :p_comp_id ,p.cube,
sysdate, SYSDATE,--p.pick_date, SYSDATE,--pw.date_time_released,
r.each_qty,:p_ebiz_appown_no, p.ord_cntrl_no,oh.ord_cntrl_no,
nvl(p.prod_no,0), :p_ebiz_user_no,nvl(sl.wdth,0) * nvl(sl.dpth,0),
decode(s.haz_mat_class,null,''N'',''Y''),''N'',p.ord_line_no,p.loc,p.lp,
(nvl(p.qty,0)/nvl(pr.each_qty,1)), 1,
(nvl(p.qty,1)/pr1.each_qty),--ceil(nvl(p.qty,1)/pr1.each_qty),
oh.ord_prio, oh.ord_type,o.ord_no ,nvl(p.pkg_no,0),
:p_task_no,p.pick_line,pl.pickline_type, to_char(nvl(p.transact_id,0)),
p.qty , oh.ord_type,:p_site_id, nvl(s.sku,''SKU ERROR''),
s.sku_desc1_35 , s.prod_fam , s.prod_cat,
o.prod_stat, 2 , SYSDATE,--nvl(p.pick_date,sysdate),
bt.task_desc ,bt.task_type, null,--p.pick_date,sl.type_stor_equip ,
o.uom, p.wght
FROM
[email protected] pr,
mast_abbtype bt,
mast_company bc,
[email protected] sl,
sku@'||l_dblink||' s,
picks@'||l_dblink||' p,
ordline'||l_dblink||' o,
ordhead@'||l_dblink||' oh,
prodqty@'||l_dblink||' pr1,
pickwave@'||l_dblink||' pw,
pickline@'||l_dblink||' pl
WHERE
decode(bt.comp_id,null,:p_comp_id,bt.comp_id)=:p_comp_id
and decode(bt.site_id,null,:p_site_id,bt.site_id)=:p_site_id
and bt.task_type = ''PICK''--decode(null,''PICK'',''PIK'',''PIK'')
and bc.delete_flag=''N''
and bt.active_flag=''Y''
and bc.active_flag=''Y''
and bt.delete_flag=''N''
and nvl(p.failed_pick_flg,''N'') != ''Y''
and (bt.site_id =:p_site_id or bt.site_id is null)
and p.cmpl_time is not null
and p.wave_no = pw.wave_no
and s.prod_no = p.prod_no
and pr.prod_no = s.prod_no
and pr.pkg_no = p.pkg_no
and nvl(p.prod_no,0) = nvl(:p_ebiz_sku_no, nvl(p.prod_no,0))
and oh.ord_type = nvl(NULL, oh.ord_type)
and nvl(o.prod_stat, ''~'') = nvl(:p_sku_status, nvl(o.prod_stat, ''~''))
and p.lp = nvl(:p_lp, p.lp)
and nvl(p.lot, ''~'') = nvl(:p_batch_no, nvl(p.lot, ''~''))
and pr.logical_case_flg = ''Y''
and s.comp_code = p.comp_code
and sl.loc = p.loc
and p.ord_cntrl_no = o.ord_cntrl_no
and p.ord_line_no = o.ord_line_no
and o.ord_cntrl_no = oh.ord_cntrl_no
and trunc(p.pick_date) between trunc(nvl(sysdate-10000,p.pick_date)) and trunc(nvlsysdate,p.pick_date))
and nvl(p.pick_date,sysdate)<= nvl(bc.effective_date,sysdate)
and p.ord_cntrl_no = decode(null,null,p.ord_cntrl_no,null)
and pr1.pkg_no = pr.pkg_no
and pr1.prod_no = pr.prod_no
and pr1.logical_plt_flg = ''Y'' '
Bulk collect into
l_account_no,
l_asn_line_no,
l_asn_no,
l_batch_no,
l_cases_per_pallet,
l_comp_id,
l_cube,
l_currdate,
l_date_time_ended,
l_date_time_started,
l_eachs_per_case,
l_ebiz_appown_no,
l_ebiz_asn_no,
l_ebiz_cntrl_no,
l_ebiz_sku_no,
l_ebiz_user_no,
l_footage,
l_hazmat_flag,
l_intf_conf_flag,
l_line_no,
l_location,
l_lp,
l_no_of_cases,
l_no_of_units,
l_no_plts,
l_order_priority,
l_order_type,
l_ord_no,
l_packcode,
l_parent_task_no,
l_pickline_id,
l_pickline_type,
l_po_no,
l_qty,
l_rcv_type,
l_site_id,
l_sku,
l_skudesc1,
l_skufam,
l_skugroup,
l_sku_status,
l_status_flag,
l_task_date,
l_task_desc,
l_task_type,
l_time,
l_type_stor_equip,
l_uom_id,
l_wght
using p_comp_id,p_ebiz_appown_no,p_ebiz_user_no,p_task_no,
p_site_id,p_comp_id,p_comp_id,p_site_id,p_site_id, p_site_id,p_ebiz_sku_no,p_sku_status,p_lp,p_batch_no;
here l_dblink contains database link
regards
RR -
Problem while executing procedure thru Shell script (EXECUTE IMMEDIATE)
Hi All,
I have created a procedure where i am passing column name, tablename and business date. The procedure gets last 5 business date excluding Saturday and sunday based on business date.
i am using EXECUTE IMMEDIATE statement in the procedure, where i am replacing the column name, table name, and business date & then executing this statement.
stmt := 'select count(1) FROM '||tblname||' where trunc('||date_column||')= :1';
EXECUTE IMMEDIATE l_stmt into tbl_count using to_char(in_date, 'DD-MON-YYYY') ;
It will give me the count of all 5 days for a particular dates. When i run the procedure in SQL*Plus/TOAD, it gives me desired result. When i run this in UNIX shell script, it runs fine but at end gives following error:
SP-xxx: Bind varaible not declared.
Can someone tell me where might be the problem?Hello, if you could put a {noformat}{noformat} before and after your snippets of code please, it makes it much easier to decipher.
You have:EXECUTE IMMEDIATE l_stmt into tbl_count using to_char(in_date, 'DD-MON-YYYY') ;
Where it should be:EXECUTE IMMEDIATE l_stmt into tbl_count using TRUNC(in_date) ;
Additionally, you do not need the SQL script, you could simply have:sqlplus -S $ORA_UID/$ORA_PWD@$DSQuery <<EOF >>${TMP_DIR}/report.log 2>&1
whenever sqlerror exit failure
whenever oserror exit failure
set serveroutput on;
set pages 0;
set feed off;
exec return_date ('20090515','STIFAPACDTR','ASOFD','n');
print;
quit
EOF
if [[ $? -ne 0 ]]
then
echo "sqlplus did not run successfully,verify"
echo "For errors please check ${TMP_DIR}/report.log file\n Exiting..."
else
echo "$0 script executed successfully"
fi
exit $?
You don't need any of this:if /usr/xpg4/bin/grep -e 'ORA-' -e '^ERROR at' -e 'unknown command' ${TMP_DIR}/report.log
then
print "sqlplus did not run successfully,verify"
print "For errors please check ${TMP_DIR}/report.log file\n Exiting..."
exit 1
fi
if [http:// -s ${TMP_DIR}/report.log ]
then
print "`echo $0 script executed successfully"
grep -v '^$'${TMP_DIR}/report.log > ${TMP_DIR}/report.csv
else
print "${TMP_DIR}/report.log file not generated, verify, \n exiting"
exit 1
fi
outFLAG="n"
done
I'm not sure that that will fix your problem here, but can you try again with those changes. -
Single quotes problem with execute immediate
Thanks for considering to solve the issue.
[i]Situation:
I am trying to create a procedure to perform a set of operations. As part of that, I am trying to create a table using execute immediate statement. This create table statement has a select sub query where p_LOB3 is the variable for the procedure of datatype varchar2.
Problem :
I need to pass the variable p_LOB3 as single quoted as it is of type Varchar2. Also I need to enclose the entire create table query within single quotes. How do I specify this as it is throwing an error when the PL/SQL engine is parsing the single quotes in the query used twice for different purposes as mention earlier.
Query:
execute immediate'create table test5 as select min(contract_number)as contract_number,contact_id,max(line_of_business) as line_of_business from mytable group by contact_id having min(contract_number) = max(contract_number) and max(Line_of_business) = 'p_LOB3' ';Thank you Todd,
Is just worked fine.
New issue is: I am not able to put 2 such statements in a single procedure and execute. Before I give parameters to the procedure, PL/SQL engine is actually creating a view of the mytable and naming is as test5, as a result I am not able to create a table as there is a view with the same name.
Right now, the workaround I am using is to create three different procedures to create three such tables. I know this is not a good idea....can you please tell me if there is a better way.
Procedure
CREATE OR REPLACE PROCEDURE SP_CREATE_0_0(p_LOB1 IN varchar2, p_LOB2 IN varchar2)
IS
BEGIN
execute immediate 'create table test5 as select min(contract_number) as
contract_number,contact_id,max(line_of_business) as line_of_business from
mytable group by contact_id having min(contract_number) = max(contract_number)
and max(Line_of_business) = ' ' ' || p_LOB1 || ' ' ' ';
execute immediate 'create table test5 as select min(contract_number) as
contract_number,contact_id,max(line_of_business) as line_of_business from
mytable group by contact_id having min(contract_number) = max(contract_number)
and max(Line_of_business) = ' ' ' || p_LOB1 || ' ' ' ';
END SP_CREATE_0_0;
/ -
Problem wile EXECUTE IMMEDIATE DDL statement in procedure
Hi ,
This is my procedure and it's getting compiled but while executing procedure getting this error,
can anyone please tell me how to fix this?
create or replace procedure construct_Table (name_table IN VARCHAR2)
IS
v_tab_name varchar2(40):=NULL;
v_sql_Stmt varchar2(32767) := NULL;
finalquery varchar2(32767) :=NULL;
cursor tp is
select COLUMN_NAME,DATA_TYPE,DATA_PRECISION,CHAR_LENGTH from all_tab_cols where table_name=name_table;
BEGIN
begin
select TABLE_NAME into v_tab_name from user_tables where table_name=name_table;
EXCEPTION
WHEN no_Data_found
THEN
DBMS_OUTPUT.PUT_LINE('No such table exist');
end;
if(v_tab_name IS NOT NULL)then
finalquery := 'CREATE TABLE '||v_tab_name||'_DUMMY (';
FOR I IN tp LOOP
if(I.data_type='VARCHAR2') then
v_sql_stmt := finalquery ||I.column_name||' '||I.data_type||'('||I.char_length||') ';
elsif(I.data_type='NUMBER') then
v_sql_stmt := finalquery ||I.column_name||' '||I.data_type||'('||I.DATA_PRECISION ||') ';
else
v_sql_stmt := finalquery ||I.column_name||' '||I.data_type ;
end if;
finalquery := v_sql_stmt || ',';
END LOOP;
finalquery := SUBSTR(finalquery,1,LENGTH(finalquery) - 1)||')';
dbms_output.put_line(finalquery);
EXECUTE IMMEDIATE'grant create any table to cmsuser';
EXECUTE IMMEDIATE finalquery;
end if;
END;
/This is the error I am getting
Error starting at line 1 in command:
begin
construct_Table ('EMP');
end;
Error report:
ORA-01031: insufficient privileges
ORA-06512: at "CMSUSER.CONSTRUCT_TABLE", line 30
ORA-06512: at line 2
01031. 00000 - "insufficient privileges"
*Cause: An attempt was made to change the current username or password
without the appropriate privilege. This error also occurs if
attempting to install a database without the necessary operating
system privileges.
When Trusted Oracle is configure in DBMS MAC, this error may occur
if the user was granted the necessary privilege at a higher label
than the current login.
*Action: Ask the database administrator to perform the operation or grant
the required privileges.
For Trusted Oracle users getting this error although granted the
the appropriate privilege at a higher label, ask the database
administrator to regrant the privilege at the appropriate label.Thanks ,
Deekay.Deekay,
If you grant create table privilege and create table in the same procedure, then how you will differentiate that which user you granted the privilege and in which schema, you are creating the table. Here, you are granting to "cmuser", but in the same schema, you are creating the table also. How can a user grant privilege to himself?
Login as DBA, grant create any table privilege to "cmuser" from dba. Then, you can execute you procedure in "cmuser" schema. -
Urgent query related to execute immediate in a procedure.
hi,
I want to create a table in the production database,within a procedure so I write query like:
CREATE OR REPLACE PROCEDURE TEST
IS
BEGIN
EXECUTE IMMEDIATE 'CREATE TABLE PE.BUD_VS_REV AS SELECT * FROM WH.WH_BUD_VS_REVNM1';
END;
but this is not working within the procedure it gives the
ORA-01031: insufficient privileges.
I already have asked to DBA he said that this user has all previlidges.
one more thing if I write this query in an annonymous block like:
BEGIN
EXECUTE IMMEDIATE 'CREATE TABLE PE.BUD_VS_REV AS SELECT * FROM WH.WH_BUD_VS_REVNM1';
END;
its working well.
can any buddy tellme what can be the reason,actually.
Thanx
Ritesh!Look this example:
DBA >> CREATE USER LEO IDENTIFIED BY LEO
2 /
User created.
DBA >> GRANT CREATE SESSION TO LEO
2 /
Grant succeeded.
LEO >> CREATE OR REPLACE PROCEDURE TEST
2 IS
3 BEGIN
4 EXECUTE IMMEDIATE 'CREATE TABLE PE.BUD_VS_REV AS SELECT * FROM WH.WH_BUD_VS
_REVNM1';
5 END;
6 /
CREATE OR REPLACE PROCEDURE TEST
ERROR at line 1:
ORA-01031: insufficient privileges
DBA >> GRANT CREATE ANY PROCEDURE TO LEO
2 /
Grant succeeded.
LEO >> CREATE OR REPLACE PROCEDURE TEST
2 IS
3 BEGIN
4 EXECUTE IMMEDIATE 'CREATE TABLE PE.BUD_VS_REV AS SELECT * FROM WH.WH_BUD_VS
_REVNM1';
5 END;
6 /
Procedure created.
Maybe you are looking for
-
Complete removal of account on skype!
To who ever admin of skype, My Skype ID is [Removed for privacy] and would like to have my account completely removed from Skype permanently. Thank you!
-
KDE 4.1 with irregular dual head setup -- recommendations, suggestions
Hello, I'm running KDE on a laptop with a 1440X900 screen and a 1280X1024 external monitor. I couldn't get the KRandR to split the desktop onto two monitors, but plain xrandr worked fine -- the desktop is split, the external monitor is on the left,
-
Clips out of synch on timeline
I've been editing a film for several months now, and frequently when I open it up I find that the clips on my timeline are all discombobulated. They're moved to different spots, the lengths are all screwed up, and video and audio tracks are often sep
-
Exporting problem: How can I make a PAL DVD with NTSC footage?
Hi everyone, I need some help as I've been trying to burn a DVD for a couple of days now but it still isn't working. Here is my situation: I shot a lot of standard definition DV with my Canon GL-2 (NTSC, bought in America) that I imported into the tr
-
What happened to the Adobe Help Viewer or Center for CS4?
What happened to the great help program that CS2 and then CS3 had? I don't seen any such program for CS4!!!! Thanks, --bill