Execute Immediate - Exception handelling
Hi Guys,
I have the following code that loops through and populates the execute immediate statement with local variables from the cursor.
The only problem is when the statement fails and goes to the exception, I want the local variable to be cleared. This is causing me problems becuase it is populating incorrect data where it fails.
LOOP
BEGIN
EXECUTE IMMEDIATE 'SELECT MAX(REC_EXTRACT_DATE) FROM '
|| rg_e_date.source_name
INTO lv_extract_date;
EXECUTE IMMEDIATE 'SELECT count(*) FROM '
|| rg_e_date.source_name
|| '
where rec_current_flag = ''Y'''
INTO lv_num_of_records;
EXCEPTION
WHEN OTHERS
THEN
NULL;
END;
Any help would be apprechiated.
Cheers
user8652755 wrote:
Hi Guys,
I have the following code that loops through and populates the execute immediate statement with local variables from the cursor.
The only problem is when the statement fails and goes to the exception, I want the local variable to be cleared. This is causing me problems becuase it is populating incorrect data where it fails.
LOOP
BEGIN
EXECUTE IMMEDIATE 'SELECT MAX(REC_EXTRACT_DATE) FROM '
|| rg_e_date.source_name
INTO lv_extract_date;
EXECUTE IMMEDIATE 'SELECT count(*) FROM '
|| rg_e_date.source_name
|| '
where rec_current_flag = ''Y'''
INTO lv_num_of_records;
EXCEPTION
WHEN OTHERS
THEN
NULL;
END;
Any help would be apprechiated.
CheersWhy does the statement fail?
I'm guessing you don't know because you have a generic exception catch there (that's bad).
Also, if you aren't aware, this is a 'bad' method of programming in Oracle (i'm assuming you are storing SQL in database tables, or some other such fashion). It won't be good for performance if you need this application to be quick and scalable. Just a word of caution.
Similar Messages
-
Strange Case on Security Rights and Dynamic SQL (Execute Immediate)
Hi friends, (forgive me if I write with wrong grammar and sentence, I not used English for daily)
I got a weird trouble yesterday.
I created a package (we can called it X, OK!?) which containing Execute Immediate Statement, that function to delete a table (we can called it Y).
Several days ago, it's worked, but yesterday it wasn't. Last things happened before was recreate those table, and regrant to a role which including user account that execute package X.
Error Msg shown is ORA-00942 : Table or view does not exist. After rechecked and rechecked, I found nothing that could trigger that error, I used DBMS_OUTPUT.PUT_LINE to debug and show what statement resulted and executed, I cut and paste, and it's worked. I created anonymous PL/SQL Block, and wrote it and executed it, and worked.
Finally, today, We Grant explicitly those table to user account Y, not via Role, ... and it's work. Interesting thing I think :P
And, I revoke, execute package and run. I think, there's something about Oracle he..he.. :D .
Can somebody help me and explain me the reason of that strange symptomp? and right solution? I must know it, because several days again, it's launched / install.
TIAHere is the procedure that get troubled into :)
PROCEDURE DeleteOld_Job(
p_Job_Code IN VARCHAR2,
p_User_Id IN VARCHAR2,
p_Parameter_Entry IN VARCHAR2,
p_Status OUT NUMBER )
IS
StrSql VARCHAR2(1000);
CURSOR CTable_Used_By_Report IS
SELECT TABLE_NAME
,TABLE_OWNER
FROM TABLE_USED_BY_JOB
WHERE
Job_Code = p_Job_Code
BEGIN
p_Status := 1;
DBMS_OUTPUT.PUT_LINE('p_Job_Code '| |p_Job_Code );
DBMS_OUTPUT.PUT_LINE('p_Parameter_Entry '| |p_Parameter_Entry );
FOR Item IN CTable_Used_By_Report
LOOP
StrSql := 'DELETE '| |Item.TABLE_OWNER| |'.'| |Item.TABLE_NAME| |' T WHERE EXISTS ( SELECT 1 FROM USERBATCH.HISTORY_JOB H WHERE H.USER_ID = ' ;
StrSql := StrSql| |''''| |p_User_Id| |''''| |' AND H.Job_Code = '| |''''| |p_Job_Code| |''''| |' AND H.PARAMETER_ENTRY = '| |'''' | |p_Parameter_Entry| |''''| |' AND T.SESSION_ID = H.TRANSACTION_ID)';
DBMS_OUTPUT.PUT_LINE(StrSql);
DBMS_OUTPUT.PUT_LINE(Item.TABLE_OWNER| |'.'| |Item.TABLE_NAME);
EXECUTE IMMEDIATE StrSql;
END LOOP;
DBMS_OUTPUT.PUT_LINE('DELETE USERBATCH.HISTORY_JOB WHERE USER_ID ='''| | p_User_Id | |'''
AND Job_Code ='''| | p_Job_Code | |''' AND PARAMETER_ENTRY = '''| | p_Parameter_Entry | |'''');
EXECUTE IMMEDIATE 'DELETE USERBATCH.HISTORY_JOB WHERE USER_ID ='''| | p_User_Id | |'''
AND Job_Code ='''| | p_Job_Code | |''' AND PARAMETER_ENTRY = '''| | p_Parameter_Entry | |'''';
COMMIT;
EXCEPTION
WHEN OTHERS THEN
ROLLBACK;
p_Status := 0;
DBMS_OUTPUT.PUT_LINE( SUBSTR(SQLERRM,1,255) );
END DeleteOld_Job;
TIA
null -
Java Stored Procedure in EXECUTE IMMEDIATE
Hi,
I need advice for the following.
I'm on Oracle 11g R2. I'm testing application in Oracle 11gR1 and R2 and Oracle Express.
Purpose is to generate XML reports.
I have PLSQL Stored Procedure which does that, but since there is bug in Oracle11gR2 related to XMLTRANSFORM I have and Java Stored Procedure which is workaround. They are both compiled, valid etc.
Java class is :
import java.io.PrintWriter;
import java.io.Writer;
import oracle.xml.parser.v2.DOMParser;
import oracle.xml.parser.v2.XMLDocument;
import oracle.xml.parser.v2.XSLProcessor;
import oracle.xml.parser.v2.XSLStylesheet;
* This class is used as Java stored procedure
* There is a bug on Oracle11gR2, related to the limitation on the number of style sheet instructions
* This stored procedure is workaround when PLSQL code can not be used.
* File must not have package, otherwise is wrongly compiled in DB
public class JavaXslt {
public static void XMLTtransform(oracle.sql.CLOB xmlInput,oracle.sql.CLOB xslInput,oracle.sql.CLOB output) throws Exception{
DOMParser parser;
XMLDocument xml;
XMLDocument xsldoc;
try{
parser = new DOMParser();
parser.parse(xmlInput.getCharacterStream());
xml = parser.getDocument();
parser.parse(xslInput.getCharacterStream());
xsldoc = parser.getDocument();
XSLProcessor processor = new XSLProcessor();
XSLStylesheet xsl = processor.newXSLStylesheet(xsldoc);
Writer w = output.setCharacterStream(1L);
PrintWriter pw = new PrintWriter(w);
processor.processXSL(xsl, xml, pw);
}catch (Exception ex){
throw ex;
PROCEDURE Java_XmlTransform (xml CLOB, xslt CLOB, output CLOB) AS LANGUAGE JAVA
NAME 'JavaXslt.XMLTtransform(oracle.sql.CLOB, oracle.sql.CLOB, oracle.sql.CLOB)';
I'm calling Java stored procedure from PLSQL Stored procedure (if it is Oracle11gR2) like that :
Java_Proc.Java_XmlTransform(inputXML, xslt, res);
So till here everything works ok. XSLT as applied and output XML (res) is OK.
But when Oracle Express is used Java is out of the question, so there is no Java stored procedure. Howewer PLSQL Stored procedure is still needed.
So I had to put call to Java Stored procedure in EXECUTE IMMEDIATE statement in order to compile to PLSQL package.
But when I do that :
EXECUTE IMMEDIATE 'BEGIN Java_Proc.Java_XmlTransform (:1, :2, :3); END;' USING inputXML, xslt, res;
result value CLOB (res) has zero length...
What am I missing? Should i set return value to Java class?
Hope my explanations are clear though.
ThanksHi odie_63,
Thanks for quick response.
I didn't clearly explained.
When using Oracle 11gR1 and Oracle Express I'm using only PLSQL Procedure.
When using Oracle 11gR2 i have to use Java Stored procedure because there is documented bug in R2.
That's why i have to use EXECUTE IMMEDIATE. I don't know which version is the client DB and whether there is or no Java procedures.
I did tried
EXECUTE IMMEDIATE 'BEGIN Java_Proc.Java_XmlTransform (:1, :2, :3); END;' USING IN inputXML, IN xslt, OUT res; and the result was ORA-06537: OUT bind variable bound to an IN position
When using IN OUT for last parameter i.e.
EXECUTE IMMEDIATE 'BEGIN Java_Proc.Java_XmlTransform (:1, :2, :3); END;' USING IN inputXML, IN xslt, IN OUT res;
there is no exception, but still DBMS_LOB.getlength(res) = 0
Thanks -
How to execute a statement in forms procedure like SQL EXECUTE IMMEDIATE
Hi to all,
In a form I have created this procedure:
PROCEDURE insert_rows (
tbName IN VARCHAR2,
list_of_fields IN VARCHAR2,
origin_table IN VARCHAR2,
wCondition IN VARCHAR2 DEFAULT NULL)
IS
where_clause VARCHAR2 (2000) := ' WHERE ' || wCondition ;
table_to_fill VARCHAR2 (30);
BEGIN
-- Exist the table ?
SELECT OBJECT_NAME INTO table_to_fill FROM USER_OBJECTS
WHERE OBJECT_NAME = UPPER(origin_table) AND OBJECT_TYPE = 'TABLE' ;
IF wCondition IS NULL THEN
where_clause := NULL;
END IF ;
EXECUTE IMMEDIATE 'INSERT INTO ' || table_to_fill || ' SELECT ' || list_of_fields || ' FROM ' || origin_table || where_clause ;
EXCEPTION
WHEN NO_DATA_FOUND THEN
-- Here the Alert
END;
But, when I compile this error is displayed:
Function not supported from client side application corresponding to SQL statement EXECUTE IMMEDIATE
How can to correct this script for my form ?
I hope in Your help.
Best Regards
GaetanoYou have two options:
1)To create this procedure in database
2)Yo use the forms built-in FORMS_DDL instead of execute immediate , altering the one provided
Sim -
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. -
Using EXECUTE IMMEDIATE with Create Table SQL Statement not working
Hi ,
I am all the privileges given from the SYSTEM user , but still i am not able to create a table under procedure . Please see these and advice.
create or replace procedure sp_dummy as
begin
Execute Immediate 'Create table Dummy99_99 (Dummy_Field number)';
end;
even i tried this way also
create or replace PROCEDURE clearing_Practise(p_file_id in varchar2, p_country in VARCHAR2,p_mapId in VARCHAR2)
AUTHID CURRENT_USER AS
strStatusCode VARCHAR2(6);
BEGIN
EXECUTE IMMEDIATE 'create table bonus(name varchar2(50))';
commit;
EXCEPTION
WHEN OTHERS THEN
dbms_output.put_line('ERROR Creating Table');
END ;William Robertson wrote:
Since the syntax is correct, my guess is you do not have CREATE TABLE system privilege granted directly to your account. A common scenario is that you have this privilege granted indirectly via a role, allowing you to create tables on the command line, but stored PL/SQL is stricter and requires a direct grant and therefore the procedure fails with 'insufficient privileges'.A bit like he's already been told on his first thread...
Using of Execute Immediate in Oracle PLSQL
Generally you would not create tables from stored PL/SQL. Also as you have found out, it's best not to hide exceptions with 'WHEN OTHERS THEN [some message which gives less detail than the one generated by Oracle]'.Again like he was told on the other thread.
There's just no telling some people eh! :) -
Using Execute Immediate in PLSQL block Vs Stand alone procedure
I am facing very unusual ( atleast unusual to me ) with usage of "Execute Immediate" statement.
I have a table dynamic_sql with one column plsql_block as VARCHAR2(4000);
I have stored some PLSQL blocks ('DECLARE ..... BEGIN.... END.... ) in this column .
Now I want to execute these PLSQL blocks one after other depending on certain conditions .
In order to archive this I wrote a PLSQL block as below
DECLARE
Cursor c1 is
select plsql_block from dynamic_sql
begin
for irec in c1
loop
<<< Condition >>>
begin
execute_immediate(irec.plsql_block);
exception
when others then
raise_application_error(-20001,'error ' ||irec.plsql_block||' '||sqlerrm);
end loop ;
end ;
With above PLSQL block , "execute immediate" is executing PLSQL block successfully without any error
But When I converted above PLSQL block into standalone procedure as shown below , I am getting error .
CREATE OR REPLACE procedure test AS
Cursor c1 is
select plsql_block from dynamic_sql
begin
for irec in c1
loop
<<< Condition >>>
begin
execute_immediate(irec.plsql_block);
exception
when others then
raise_application_error(-20001,'error ' ||irec.plsql_block||' '||sqlerrm);
end loop ;
end ;
BEGIN
test;
end ;
It is showing the value of irec.plsql_block but not showing sqlerrm...
I found this is very unusual as I am able to execute "execute immediate" statement with PLSQL block but not with similar procedure .
can anybody explain me why this is happening?
Thanks in Advance
AmitHello,
It doesn't make any sense to add SQLERRM for user defined exception, unless you want to raise application error for already defined error (e.g NOT_DATA_FOUND, ..)
Check following piece of code and its output,
CREATE OR REPLACE PROCEDURE myinsert1
AS
v_count NUMBER;
v_sql VARCHAR2 (300);
BEGIN
v_sql :=
'INSERT INTO ENTITY_EMPLOYEE VALUES(0,''TIM'',''LASTNAME'',10000)';
BEGIN
EXECUTE IMMEDIATE v_sql;
COMMIT;
EXCEPTION
WHEN OTHERS
THEN
DBMS_OUTPUT.PUT_LINE (SUBSTR (SQLERRM, 1, 300));
RAISE_APPLICATION_ERROR (-20002, 'My Error ' || SQLERRM, TRUE);
RAISE;
END;
END;
Output._
ORA-20002: My Error ORA-00001: unique constraint (ENTITY_EMPLOYEE_PK) violated
ORA-06512: at "MYINSERT1", line 21
ORA-00001: unique constraint (ENTITY_EMPLOYEE_PK) violated
ORA-06512: at line 2
Regrds -
Possible bug with TREAT and EXECUTE IMMEDIATE
Hello, i experienced a strange behavior which seems to be a bug.
Consider following definitions:
CREATE OR REPLACE TYPE T_Base FORCE AS OBJECT (
DummyProperty NUMBER
) NOT FINAL;
CREATE OR REPLACE TYPE T_Child UNDER T_Base (
AnotherDummyProperty NUMBER
CREATE OR REPLACE FUNCTION SpecificValidation (iValue T_Child) RETURN NUMBER IS
BEGIN
-- some specific validation is done here, not important for the example
RETURN NULL;
END;
CREATE OR REPLACE PROCEDURE ValidateIt (iValue T_Child) IS
lResult NUMBER;
BEGIN
-- The principle used here is that each client can have its own implementation of validation function, and when it does not exist, we do not care.
-- In reality we put functions and procedures into packages, I narrowed it to a minimal working example.
BEGIN
EXECUTE IMMEDIATE 'BEGIN :lResult := SpecificValidation(:iValue); END;'
USING OUT lResult, IN iValue;
EXCEPTION WHEN OTHERS THEN
IF INSTR(SQLERRM, 'PLS-00201') = 0 THEN
RAISE;
END IF;
END;
END;
CREATE OR REPLACE PROCEDURE Process (iValue T_Base) IS
BEGIN
-- in fact we know that iValue must be of typ T_Child, it is checked using IS OF ( ) operator and exception is raised if this check fails
-- This does not work for some reason.
-- It fails in EXECUTE IMMEDIATE with PLS-00306. I don't really get why, because ValidateIt accepts a value of type T_Child and it passes it to the validation procedure, which also expects value of type T_Child.
ValidateIt(TREAT(iValue AS T_Child));
END;
CREATE OR REPLACE PROCEDURE Process2 (iValue T_Base) IS
lChild T_Child;
BEGIN
-- The only difference here is that result of TREAT is saved to a variable.
-- This works as expected.
lChild := TREAT(iValue AS T_Child);
ValidateIt(lChild);
END;
In reality it is much more complex, I narrowed it to a minimal working example.
Now when running this:
DECLARE
lItem T_Base := T_Child(5, 2);
BEGIN
BEGIN
-- This call will end up with PLS-00306 error.
Process(lItem);
dbms_output.put_line('Process completed successfully.');
EXCEPTION WHEN OTHERS THEN
dbms_output.put_line('Exception when calling Process.');
dbms_output.put_line(SQLERRM);
dbms_output.put_line(DBMS_UTILITY.FORMAT_ERROR_BACKTRACE);
END;
BEGIN
Process2(lItem);
dbms_output.put_line('Process2 completed successfully.');
EXCEPTION WHEN OTHERS THEN
dbms_output.put_line('Exception when calling Process2.');
dbms_output.put_line(SQLERRM);
dbms_output.put_line(DBMS_UTILITY.FORMAT_ERROR_BACKTRACE);
END;
END;
then call to Process fails with PLS-00306 on EXECUTE IMMEDIATE.
The only difference between Process and Process2 is that in Process2, result of TREAT is saved to a variable of type T_Child.
Is this behavior documented somwhere or is it a bug?That's interesting. I would say it is, or should be, a bug.
Also interesting is, when I re-write your example to eliminate dynamic SQL and instead rely on dynamic method dispatch, the problem goes away... first, the changes:
drop type T_Child;
drop type T_Base
CREATE OR REPLACE TYPE T_Base FORCE AS OBJECT (
DummyProperty NUMBER
) NOT FINAL
CREATE OR REPLACE TYPE T_Child UNDER T_Base (
AnotherDummyProperty NUMBER
create or replace type T_Base_Processor as object (
dummyProperty number
, static FUNCTION GetClientProcessor(iClientId varchar2) RETURN T_Base_Processor
, member FUNCTION SpecificValidation (iValue T_Child) RETURN NUMBER
, member PROCEDURE ValidateIt (iValue T_Child)
, member PROCEDURE Process (iValue T_Base)
, member PROCEDURE Process2 (iValue T_Base)
) NOT FINAL
create or replace type T_Another_Processor under T_Base_Processor (
overriding member FUNCTION SpecificValidation (iValue T_Child) RETURN NUMBER
create or replace type body T_Base_Processor
is
static FUNCTION GetClientProcessor(iClientId varchar2) RETURN T_Base_Processor IS
BEGIN
return case
when upper(iClientId) = 'ADMINISTRATOR' then
new T_Another_Processor(null)
else
new T_Base_Processor(null)
end;
END;
member FUNCTION SpecificValidation (iValue T_Child) RETURN NUMBER IS
BEGIN
-- some specific validation is done here, not important for the example
dbms_output.put_line('T_Base_Processor.SpecificValidation');
RETURN NULL;
END;
member PROCEDURE ValidateIt (iValue T_Child) IS
lResult NUMBER;
BEGIN
-- No more need for dynamic SQL, instead rely on dynamic dispatch
lResult := SpecificValidation(iValue);
END;
member PROCEDURE Process (iValue T_Base) IS
BEGIN
-- in fact we know that iValue must be of typ T_Child, it is checked using IS OF ( ) operator and exception is raised if this check fails
-- This does not work for some reason.
-- It fails in EXECUTE IMMEDIATE with PLS-00306. I don't really get why, because ValidateIt accepts a value of type T_Child and it passes it to the validation procedure, which also expects value of type T_Child.
ValidateIt(TREAT(iValue AS T_Child));
END;
member PROCEDURE Process2 (iValue T_Base) IS
lChild T_Child;
BEGIN
-- The only difference here is that result of TREAT is saved to a variable.
-- This works as expected.
lChild := TREAT(iValue AS T_Child);
ValidateIt(lChild);
END;
end;
create or replace type body T_Another_Processor
is
overriding member FUNCTION SpecificValidation (iValue T_Child) RETURN NUMBER
is
begin
-- some other specific validation is done here, not important for the example
-- You could even call the overridden method as well using
-- treat(self as T_Base_Processor).SpecificValidation(iValue)
dbms_output.put_line('T_Another_Processor.SpecificValidation');
RETURN NULL;
end;
end;
And again with slight modifications, your test block:
DECLARE
lProcessor T_Base_Processor := T_Base_Processor.getClientProcessor('JOE');
lItem T_Base := T_Child(5, 2);
BEGIN
BEGIN
-- This call no longer throws a PLS-00306 error.
lProcessor.Process(lItem);
dbms_output.put_line('Process completed successfully.');
EXCEPTION WHEN OTHERS THEN
dbms_output.put_line('Exception when calling Process.');
dbms_output.put_line(SQLERRM);
dbms_output.put_line(DBMS_UTILITY.FORMAT_ERROR_BACKTRACE);
END;
-- Demonstrate dynamic dispatch by choosing a different processor
lProcessor := T_Base_Processor.getClientProcessor('ADMINISTRATOR');
BEGIN
lProcessor.Process2(lItem);
dbms_output.put_line('Process2 completed successfully.');
EXCEPTION WHEN OTHERS THEN
dbms_output.put_line('Exception when calling Process2.');
dbms_output.put_line(SQLERRM);
dbms_output.put_line(DBMS_UTILITY.FORMAT_ERROR_BACKTRACE);
END;
END;
T_Base_Processor.SpecificValidation
Process completed successfully.
T_Another_Processor.SpecificValidation
Process2 completed successfully.
Gerard -
Error while using execute immediate
Hi,
I am trying to get the record count of a table. The table name is saved in a variable..
when i am writing the code like below its working fine.
SELECT count(*) into count1 FROM emp1;
DBMS_OUTPUT.PUT_LINE(count1);
but when i am using the code for the table name in variable its giving error
execute immediate 'SELECT count(*) into count1 FROM ' || t_name;
DBMS_OUTPUT.PUT_LINE(count1);
the error is
ERROR at line 1:
ORA-00905: missing keyword
ORA-06512: at "SYSTEM.TEST_COL", line 14
ORA-06512: at line 1
any help
AshishInteresting, the into count doesn't be a problem, but the count variable usage does :
SQL> set serveroutput on
SQL> l
1 declare
2 count number;
3 t_name varchar2(30):='all_objects';
4 begin
5 execute immediate 'select count(*) from ' || t_name into count;
6 exception when others then dbms_output.put_line(sqlcode||' : '||sqlerrm);
7* end;
SQL> /
PL/SQL procedure successfully completed.
SQL> declare
2 count number;
3 t_name varchar2(30):='all_objects';
4 begin
5 execute immediate 'select count(*) from ' || t_name into count;
6 dbms_output.put_line(count);
7 exception when others then dbms_output.put_line(sqlcode||' : '||sqlerrm);
8* end;
SQL> /
dbms_output.put_line(count);
ERROR at line 6:
ORA-06550: line 6, column 25:
PLS-00204: function or pseudo-column 'COUNT' may be used inside a SQL statement
only
ORA-06550: line 6, column 4:
PL/SQL: Statement ignoredNicolas. -
Using where clause with hardcode value in execute immediate
Dear Experts, I am using below in stored procedure getting exception,
EXECUTE IMMEDIATE 'DELETE FROM CC.TB WHERE COL='HG'';
where col is varchar2(30) in CC.TB
Please guide how can i use above statement in stored procedure
Thanks,DBA wrote:
Dear Experts, I am using below in stored procedure getting exception,
EXECUTE IMMEDIATE 'DELETE FROM CC.TB WHERE COL='HG'';
where col is varchar2(30) in CC.TB
Please guide how can i use above statement in stored procedure
Thanks,Why are you using Dynamic SQL? DELETE statement is a DML statement and its valid inside a PL/SQL block.
So you can remove the execute immediate and write your DELETE statement directly.
begin
delete from cc.tb where col = 'HG';
end; -
I want to update 3 lakhs record in EXP__REQUEST_SK table
How to use bulk select "execute immedaite" in PLSQL
Update EXP__Request_sk set R_CUSTOMERNAME = cust_name where BFG_CUSTOMERID=cust_id;Note: this code is not tested.
create or replace procedure generic_update (
tab_name varchar2, -- table to update
field_to_update varchar2, -- column to update
field_value varchar2, -- new column value
id_field_name varchar2, -- id column name
id_value number) -- id value to identify the record
as
--local variables section
stmt varchar2(4000) := '';
begin
stmt := 'update ' || tab_name || ' set ' || field_to_update || ' = :f_value where '
|| id_field_name || ' = :i_value';
savepoint txn1;
execute immediate stmt using field_value, id_value;
execute immediate ('commit');
dbms_output.put_line('Update is done.');
exception
when others then
rollback to txn1;
dbms_output.put_line('Update has been rolled back.');
end;
/Even though I provided this, static SQL is always faster than PL/SQL because there is no context switch.
An alternative to the above is to write all static SQLs into a script and run it.
However, if you don't know which tables and column to update before hand, and the update depends on user inputs (e.g. from a JSP), then Java can call a stored procedure to perform the update.
Edited by: pl/sql novice on Nov 20, 2008 11:24 PM -
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 will work in SQL Block in shell script?
Hi Friends,
i am wirting script to get the account id's corresponding to CIF from oracle table and need to pass to procedure.
Here first_org and last_org are shell variables.
When i execute the below program it is throwing execute not found.
Can you please correct me where i made a mistake? and also please let me know how to display some content in below sql block ?dbms_output.put_line or print which need to use and provide me the syntax for both.
`sqlplus -s crmuser/******@dotis11<<ENDOFSQL
whenever sqlerror exit 1
declare
qstr varchar2(200);
facid varchar2(20);
Lacid varchar2(20);
begin
qstr:='select ACCOUNTID from accounts where ORGKEY=:1';
execute immediate qstr into facid using $first_org;
dbms_output.put_line(facid);
qstr:='select ACCOUNTID from accounts where ORGKEY=:1';
execute immediate qstr into Lacid using $last_org;
dbms_output.put_line(Lacid);
exec Retail_Otu_Dedup_Account(facid,Lacid)
end;
exit;
ENDOFSQL`
Thanks,
Venkat Vadlamudi.Hi SY,
I Included set serveroutput on but i didn't include single quotes for shell variable in execute immediate.
Now iam able to execute and getting proper o/p.
Thanks SY for your help...
and how to print shell variable in above sql block..i tried like this. but throwing error.
dbms_output.put_line('$first_org');
dbms_output.put_line('VCIF1320');
ERROR at line 5:
ORA-06550: line 5, column 12:
PLS-00103: Encountered the symbol "." when expecting one of the following:
constant exception <an identifier>
*<a double-quoted delimited-identifier> table long double ref*
char time timestamp interval date binary national character
nchar
The symbol "<an identifier>" was substituted for "." to continue.
ORA-06550: line 6, column 5:
PLS-00103: Encountered the symbol "=" when expecting one of the following:
constant exception <an identifier>
*<a double-quoted delimited-identifier> table long double ref*
char time timestamp interval date binary national characte
Thanks,
Venkat Vadlamudi. -
How to use cursor in EXECUTE IMMEDIATE command.
i.e. I have a dynamic SELECT query where I will get huge records while using EXECUTE IMEDIATE command, which I want that to be in a cursor.
Can I do this ? If yes how ?Hi, it works perferctly fine with me. Oracle version 10.2.0.4
SQL> --create table t as select * from user_objects; ----->>> My mistake, there is no owner column in the table user_objects
SQL> create table t as select * from all_objects;
Table created.
SQL> CREATE OR REPLACE PROCEDURE dynamic_table (
2 table_name IN VARCHAR2,
condition IN VARCHAR2 DEFAULT NULL) AS
3 4 where_clause VARCHAR2(100) := ' WHERE ' || condition;
5 v_table varchar2(30);
6 type v_typet is table of t%rowtype index by pls_integer;
7 v_tableT v_typeT;
8 BEGIN
-- first make sure that the table actually exists; if not, raise an exception
SELECT OBJECT_NAME INTO v_table FROM USER_OBJECTS
9 10 11 where object_name = upper(table_name) and object_type = 'TABLE';
if condition is null then where_clause := ' order by object_type'; end if;
12 13 execute immediate 'SELECT * from ' || v_table || where_clause bulk collect into v_tablet;
14 for indx in 1..v_tablet.count loop
dbms_output.put_line(v_tablet(indx).owner || ' ' || v_tablet(indx).status);
15 16 end loop;
17 EXCEPTION
18 when no_data_found then
19 dbms_output.put_line ('Invalid table: ' || table_name);
20 end;
21 /
Procedure created.
begin
dynamic_table('T', '');
--Enter the table name you want for the 1st parameter and the condition for the second parameter.
--I think you just want to switch from tables where you want to select.
end;
/Edited by: Spongebob on May 25, 2010 1:33 PM -
Pipelined Function with execute immediate
Hello Experts,
I have created a Pipe lined function with execute immediate, due to below requirement;
1) Columns in where clause is passed dynamically.
2) I want to know the data stored into above dynamic columns.
3) I want to use it in report, so I don't want to insert it into a table.
I have created a TYPE, then through execute immediate i have got the query and result of that query will be stored in TYPE.
But when calling the function i am getting
ORA-00932: inconsistent datatypes: expected - got -
Below is my function and type, let me know i am going wrong, and is my logic correct.
CREATE OR REPLACE TYPE OBJ_FPD AS OBJECT
(LOW_PLAN_NO VARCHAR2 (40),
FPD VARCHAR2 (5),
SERIAL_NO NUMBER,
CEDIA_CODE VARCHAR2 (2),
DT DATE);
CREATE OR REPLACE TYPE FPD_TBL_TYPE AS TABLE OF OBJ_FPD;
CREATE OR REPLACE FUNCTION FUNC_GET_FPD_DATE (P_LOW_PLAN_NO VARCHAR2,
P_CEDIA_CODE VARCHAR2,
P_SERIAL_NO NUMBER)
RETURN FPD_TBL_TYPE
PIPELINED
AS
CURSOR C1
IS
SELECT 'FPD' || LEVEL TBL_COL
FROM DUAL
CONNECT BY LEVEL <= 31;
V_STR VARCHAR2 (5000);
V_TBL_TYPE FPD_TBL_TYPE;
BEGIN
FOR X IN C1
LOOP
V_STR :=
'SELECT A.low_PLAN_NO,
A.FPD,
A.SERIAL_NO,
A.cedia_code,
TO_DATE (
SUBSTR (FPD, 4, 5)
|| ''/''
|| TO_CHAR (C.low_PLAN_PERIOD_FROM, ''MM'')
|| ''/''
|| TO_CHAR (C.low_PLAN_PERIOD_FROM, ''RRRR''),
''DD/MM/RRRR'')
DT FROM ( SELECT low_PLAN_NO, '
|| ''''
|| X.TBL_COL
|| ''''
|| ' FPD, '
|| X.TBL_COL
|| ' SPTS, SERIAL_NO, cedia_code FROM M_low_PLAN_DETAILS WHERE NVL('
|| X.TBL_COL
|| ',0) > 0 AND SERIAL_NO = '
|| P_SERIAL_NO
|| ' AND cedia_code = '
|| ''''
|| P_CEDIA_CODE
|| ''''
|| ' AND low_PLAN_NO = '
|| ''''
|| P_LOW_PLAN_NO
|| ''''
|| ') A,
M_low_PLAN_DETAILS B,
M_low_PLAN_MSTR C
WHERE A.low_PLAN_NO = B.low_PLAN_NO
AND A.cedia_code = B.cedia_code
AND A.SERIAL_NO = B.SERIAL_NO
AND B.low_PLAN_NO = C.low_PLAN_NO
AND B.CLIENT_CODE = C.CLIENT_CODE
AND B.VARIANT_CODE = C.VARIANT_CODE
CONNECT BY LEVEL <= SPTS';
EXECUTE IMMEDIATE V_STR INTO V_TBL_TYPE;
FOR I IN 1 .. V_TBL_TYPE.COUNT
LOOP
PIPE ROW (OBJ_FPD (V_TBL_TYPE (I).LOW_PLAN_NO,
V_TBL_TYPE (I).FPD,
V_TBL_TYPE (I).SERIAL_NO,
V_TBL_TYPE (I).CEDIA_CODE,
V_TBL_TYPE (I).DT));
END LOOP;
END LOOP;
RETURN;
EXCEPTION
WHEN OTHERS
THEN
RAISE_APPLICATION_ERROR (-20000, SQLCODE || ' ' || SQLERRM);
RAISE;
END;Waiting for your views.
Regards,Ora Ash wrote:
Hello Experts,
I have created a Pipe lined function with execute immediate, due to below requirement;
1) Columns in where clause is passed dynamically.No, that's something you've introduced, and is due to poor database design. You appear to have columns on your table called FPD1, FPD2 ... FPD31. The columns do not need to be 'passed dynamically'
2) I want to know the data stored into above dynamic columns.And you can know the data without it being dynamic.
3) I want to use it in report, so I don't want to insert it into a table.That's fine, though there's no reason to use a pipelined function.
You also have an pointless exception handler, which masks any real errors.
I'm not quite sure what the point of your "connect by" is in your query as we don't have your tables or data or know for sure what the expected output is.
However, in terms of handling the 'dynamic' part that you've introduced, then you would be looking at doing something along the following lines, using a static query that requires no poor dynamic code, and no pipelined function...
with x as (select level as dy from dual connect by level <= 31)
select a.low_plan_no
,a.fpd
,a.serial_no
,a.cedia_code
,trunc(c.low_plan_period_from)+a.dy-1 as dt
from (select low_plan_no
,dy
,'FPD'||dy as fpd
,spts
,serial_no
,cedia_code
from (
select low_plan_no
,x.dy
,case x.dy when 1 then fpd1
when 2 then fpd2
when 3 then fpd3
when 4 then fpd4
when 5 then fpd5
when 6 then fpd6
when 7 then fpd7
when 8 then fpd8
when 9 then fpd9
when 10 then fpd10
when 11 then fpd11
when 12 then fpd12
when 13 then fpd13
when 14 then fpd14
when 15 then fpd15
when 16 then fpd16
when 17 then fpd17
when 18 then fpd18
when 19 then fpd19
when 20 then fpd20
when 21 then fpd21
when 22 then fpd22
when 23 then fpd23
when 24 then fpd24
when 25 then fpd25
when 26 then fpd26
when 27 then fpd27
when 28 then fpd28
when 29 then fpd29
when 30 then fpd30
when 31 then fpd31
else null
end as spts
,serial_no
,cedia_code
from x cross join m_low_plan_details
where serial_no = p_serial_no
and cedia_code = p_cedia_code
and low_plan_no = p_low_plan_no
where nvl(spts,0) > 0
) A
join m_low_plan_details B on ( A.low_plan_no = B.low_plan_no
and A.cedia_code = B.cedia_code
and A.serial_no = B.serial_no
join m_low_plan_mstr C on ( B.low_plan_no = C.low_plan_no
and B.client_code = C.client_code
and B.variant_code = C.variant_code
connect by level <= spts;... so just remind us again why you think it needs to be dynamic?
Maybe you are looking for
-
Ipod Touch not being recognised/unknown device
Ipod Touch not being recognised - help!? It says it's a code 43 - Unknown device/device not recognised. Doesn't sound good. Tried all of the things the itunes website suggested such as of course turning it off and on again, restarting services, reins
-
SAP SRM Prod with Oracle DB and AIX 5.3 Performance Issue.
Hi Basis Gurus, Today my SAP PRD system all of a sudden was running slow and users had difficulties executing TCodes as it took minutes before the screen appeared.My system is SAP SRM 4.00, Oracle Release 11.2.0.1.0 and AIX 5.3. From Basis point of v
-
Jbuilder compiler problem with xml DOM - please help.
my problem is that I am using jbuilder 4 professional to compile/run my code. However I want to use the XML DOM but jbuilder does not appear to support the necessary packages for use with XML. How can I get round this. Can I compile instead from the
-
NVRAM issues, then dead screen
My girlfriend's Macbook Pro, a 2009 Core 2 Duo 2.16ghz, went totally dead about a month ago. After doing some research, I found that resetting the NVRAM (Command+Option+P+R) seemed to get it running again. We'd have to do this once a week or so. And
-
How to use TestRunnerBase in pure AS3 / no MXML
Hi, is there a way to use the testRunnerBase GUI for a pure AS3 project, without a mxml? Thank you