'Encountered the symbol "PROCEDURE" when expecting one of the following:
Encountered the symbol "PROCEDURE" when expecting one of the following: ( begin case declare end exception exit for goto if loop mod null pragma raise return select update while with << continue close current delete fetch lock insert open rollback savepoint set sql execute commit forall merge pipe purge The symbol "declare" was substituted for "PROCEDURE" to continue.
PROCEDURE GETS_SO_ATS_INVALID_NOTIFY AS
FLAG VARCHAR2(100);
TRAMS_TOTAL_HOURS NUMBER(4);
ATS_TOTAL_HOURS NUMBER(4);
INVALID_MESSAGE VARCHAR2(100);
BEGIN
DECLARE
cursor TRAMS_CURSOR is
SELECT DISTINCT EMPLY_ID, FISCAL_YEAR, FISCAL_WEEK , DATE_ENTERED FROM GETS_SO_ATS_TRAMS_NEW_VIEW
where FISCAL_WEEK <>LNCURRENTFW
;
BEGIN
FOR trams_record IN TRAMS_CURSOR LOOP
TRAMS_TOTAL_HOURS := 0;
ATS_TOTAL_HOURS := 0;
END LOOP;
END;
PROCEDURE TRAMS_LAB_HOURs_UPLOAD AS
LSMAILBODY CLOB;
LSTOMAIL VARCHAR2(200);
LSMAILCC VARCHAR2(50);
LSSUBJECT VARCHAR2(100);
V_MAIL_ERROR VARCHAR2(100);
PNOUTFORECASTID VARCHAR2(38);
counter number(10);
BEGIN
counter:=1;
PNOUTFORECASTID:='mayank';
LSSUBJECT:='hello';
LSMAILBODY := '';
LSMAILBODY := LSMAILBODY ||
'<HTML><BODY ><FONT FACE=times roman SIZE=3>';
LSMAILBODY := LSMAILBODY ||'<table style="border-collapse:collapse;border-spacing:0"><tr>';
LSMAILBODY := LSMAILBODY || '<th style="font-family:Arial, Helvetica, sans-serif !important;;font-size:14px;font-weight:normal;padding:10px 5px;border-style:solid;border-width:1px;overflow:hidden;word-break:normal;background-color:#ffcb2f;color:#010066">EMPLOY</th>';
LSMAILBODY := LSMAILBODY || '<th style="font-family:Arial, sans-serif;font-size:14px;font-weight:normal;padding:10px 5px;border-style:solid;border-width:1px;overflow:hidden;word-break:normal;background-color:#ffcb2f;color:#010066">TRAMS</th>';
LSMAILBODY := LSMAILBODY || '<th style="font-family:Arial, sans-serif;font-size:14px;font-weight:normal;padding:10px 5px;border-style:solid;border-width:1px;overflow:hidden;word-break:normal;background-color:#ffcb2f;color:#010066">ATS</th>';
LSMAILBODY := LSMAILBODY || '<th style="font-family:Arial, sans-serif;font-size:14px;font-weight:normal;padding:10px 5px;border-style:solid;border-width:1px;overflow:hidden;word-break:normal;background-color:#ffcb2f;color:#010066">REASON</th>';
LSMAILBODY := LSMAILBODY || '</tr>';
FOR counter IN 1 .. 5 LOOP
LSMAILBODY := LSMAILBODY || '<tr>';
LSMAILBODY := LSMAILBODY || '<td style="font-family:Arial, sans-serif;font-size:14px;padding:10px 5px;border-style:solid;border-width:1px;overflow:hidden;word-break:normal">';
LSMAILBODY := LSMAILBODY || counter;
LSMAILBODY := LSMAILBODY || '</td><td style="font-family:Arial, sans-serif;font-size:14px;padding:10px 5px;border-style:solid;border-width:1px;overflow:hidden;word-break:normal">';
LSMAILBODY := LSMAILBODY || counter;
LSMAILBODY := LSMAILBODY || '</td><td style="font-family:Arial, sans-serif;font-size:14px;padding:10px 5px;border-style:solid;border-width:1px;overflow:hidden;word-break:normal">';
LSMAILBODY := LSMAILBODY || counter;
LSMAILBODY := LSMAILBODY || '</td><td style="font-family:Arial, sans-serif;font-size:14px;padding:10px 5px;border-style:solid;border-width:1px;overflow:hidden;word-break:normal">';
LSMAILBODY := LSMAILBODY || counter;
LSMAILBODY := LSMAILBODY || '</td></tr>';
END LOOP;
LSMAILBODY := LSMAILBODY || '</table>';
LSMAILBODY := LSMAILBODY || '</BODY></HTML>';
LSTOMAIL :='[email protected]';
V_MAIL_ERROR:='hello';
LSMAILCC:='hello';
ats_multi_email_clob(LSTOMAIL, LSSUBJECT, LSMAILBODY, LSMAILCC, V_MAIL_ERROR);
END;
END GETS_SO_ATS_TRAMS_PKG;
Solution 1:[1]
Wrong Syntax.. First of all You have to define package and then Procedures inside it. Also for every begin block there should be an 'END' needed.
e.g.
CREATE OR REPLACE Pkg_test
PROCEDURE Proc_test(
)
IS
BEGIN
.... ..
END;
END Proc_test;
END Pkg_test;
Solution 2:[2]
You have missed the entire package specification and body. You can try like this without using package.
CREATE PROCEDURE GETS_SO_ATS_INVALID_NOTIFY
AS
FLAG VARCHAR2(100);
TRAMS_TOTAL_HOURS NUMBER(4);
ATS_TOTAL_HOURS NUMBER(4);
INVALID_MESSAGE VARCHAR2(100);
BEGIN
DECLARE
CURSOR TRAMS_CURSOR
IS
SELECT DISTINCT EMPLY_ID,
FISCAL_YEAR,
FISCAL_WEEK ,
DATE_ENTERED
FROM GETS_SO_ATS_TRAMS_NEW_VIEW
WHERE FISCAL_WEEK <>LNCURRENTFW ;
BEGIN
FOR trams_record IN TRAMS_CURSOR
LOOP
TRAMS_TOTAL_HOURS := 0;
ATS_TOTAL_HOURS := 0;
END LOOP;
END;
/
CREATE PROCEDURE TRAMS_LAB_HOURs_UPLOAD
AS
LSMAILBODY CLOB;
LSTOMAIL VARCHAR2(200);
LSMAILCC VARCHAR2(50);
LSSUBJECT VARCHAR2(100);
V_MAIL_ERROR VARCHAR2(100);
PNOUTFORECASTID VARCHAR2(38);
counter NUMBER(10);
BEGIN
counter :=1;
PNOUTFORECASTID:='mayank';
LSSUBJECT :='hello';
LSMAILBODY := '';
LSMAILBODY := LSMAILBODY || '<HTML><BODY ><FONT FACE=times roman SIZE=3>';
LSMAILBODY := LSMAILBODY ||'<table style="border-collapse:collapse;border-spacing:0"><tr>';
LSMAILBODY := LSMAILBODY || '<th style="font-family:Arial, Helvetica, sans-serif !important;;font-size:14px;font-weight:normal;padding:10px 5px;border-style:solid;border-width:1px;overflow:hidden;word-break:normal;background-color:#ffcb2f;color:#010066">EMPLOY</th>';
LSMAILBODY := LSMAILBODY || '<th style="font-family:Arial, sans-serif;font-size:14px;font-weight:normal;padding:10px 5px;border-style:solid;border-width:1px;overflow:hidden;word-break:normal;background-color:#ffcb2f;color:#010066">TRAMS</th>';
LSMAILBODY := LSMAILBODY || '<th style="font-family:Arial, sans-serif;font-size:14px;font-weight:normal;padding:10px 5px;border-style:solid;border-width:1px;overflow:hidden;word-break:normal;background-color:#ffcb2f;color:#010066">ATS</th>';
LSMAILBODY := LSMAILBODY || '<th style="font-family:Arial, sans-serif;font-size:14px;font-weight:normal;padding:10px 5px;border-style:solid;border-width:1px;overflow:hidden;word-break:normal;background-color:#ffcb2f;color:#010066">REASON</th>';
LSMAILBODY := LSMAILBODY || '</tr>';
FOR counter IN 1 .. 5
LOOP
LSMAILBODY := LSMAILBODY || '<tr>';
LSMAILBODY := LSMAILBODY || '<td style="font-family:Arial, sans-serif;font-size:14px;padding:10px 5px;border-style:solid;border-width:1px;overflow:hidden;word-break:normal">';
LSMAILBODY := LSMAILBODY || counter;
LSMAILBODY := LSMAILBODY || '</td><td style="font-family:Arial, sans-serif;font-size:14px;padding:10px 5px;border-style:solid;border-width:1px;overflow:hidden;word-break:normal">';
LSMAILBODY := LSMAILBODY || counter;
LSMAILBODY := LSMAILBODY || '</td><td style="font-family:Arial, sans-serif;font-size:14px;padding:10px 5px;border-style:solid;border-width:1px;overflow:hidden;word-break:normal">';
LSMAILBODY := LSMAILBODY || counter;
LSMAILBODY := LSMAILBODY || '</td><td style="font-family:Arial, sans-serif;font-size:14px;padding:10px 5px;border-style:solid;border-width:1px;overflow:hidden;word-break:normal">';
LSMAILBODY := LSMAILBODY || counter;
LSMAILBODY := LSMAILBODY || '</td></tr>';
END LOOP;
LSMAILBODY := LSMAILBODY || '</table>';
LSMAILBODY := LSMAILBODY || '</BODY></HTML>';
LSTOMAIL :='[email protected]';
V_MAIL_ERROR:='hello';
LSMAILCC :='hello';
ats_multi_email_clob(LSTOMAIL, LSSUBJECT, LSMAILBODY, LSMAILCC, V_MAIL_ERROR);
END;
/
Sources
This article follows the attribution requirements of Stack Overflow and is licensed under CC BY-SA 3.0.
Source: Stack Overflow
| Solution | Source |
|---|---|
| Solution 1 | mmmmmpie |
| Solution 2 | StackUser |
