I try to create below procedure
`CREATE OR REPLACE PROCEDURE EXPORT_SALES_BP (FROM_DATE DATE)
AS
BEGIN
EXECUTE IMMEDIATE 'TRUNCATE TABLE EXP_TMP_SALES';
INSERT INTO EXP_TMP_SALES
select SID,STORE_CODE,BP_STORE_CODE,SALES_DATE,INVC_POST_DATE,'0'SALE_TIME,RECEIPT_NO,UPC,QTY,GROSS_AMT,POS,'0'STORE_CODE_STOCK_MOV from (
select A.SID,ST.STORE_CODE,st.UDF1_STRING BP_STORE_CODE,to_char(a.INVC_POST_DATE,'YYYY-MM-DD') Sales_date,a.INVC_POST_DATE,
''SALE_TIME ,a.doc_no Receipt_NO,I.UPC,
sum(decode(b.item_type,2,b.qty*-1,b.qty)) Qty,round(sum(decode(b.item_type,2,b.qty*1,b.qty)*(b.price)),2) Gross_Amt
,'1' POS,''STORE_CODE_STOCK_MOV
from rps.document a inner join rps.document_item b on a.sid=b.doc_sid
inner join rps.subsidiary s on a.sbs_no=s.sbs_no and b.sbs_no=s.sbs_no
inner join rps.invn_sbs_item i on b.invn_sbs_item_sid=i.sid and s.sid=i.sbs_sid
inner join rps.store st on st.STORE_CODE=a.STORE_CODE
where a.receipt_type in (0,1) and b.item_type in (1,2) and a.status=4 AND S.SBS_NO=2 and a.store_code not in ('JC04')
and a.INVC_POST_DATE=:FROM_DATE
group by ST.STORE_CODE,A.SID,to_char(a.INVC_POST_DATE,'YYYY-MM-DD'),a.INVC_POST_DATE,I.UPC,a.doc_no,b.price,b.tax_amt,ST.UDF1_STRING
order by st.UDF1_STRING,to_char(a.INVC_POST_DATE,'YYYY-MM-DD'),a.doc_no) WHERE Qty<>0
ORDER BY BP_STORE_CODE,SALES_DATE,RECEIPT_NO;
INSERT INTO EXPPORT_SALES_LOG
SELECT SID,STORE_CODE,BP_STORE_CODE,INVC_POST_DATE,RECEIPT_NO,SUM(QTY)QTY,SUM(GROSS_AMT)GROSS_AMOUNT,SYSDATE EXPORT_DATE FROM JAC_EXP_TMP_SALES WHERE SID NOT IN (SELECT SID FROM JAC_EXPPORT_SALES_LOG)
GROUP BY SID,STORE_CODE,BP_STORE_CODE,INVC_POST_DATE,RECEIPT_NO;
SELECT BP_STORE_CODE,SALES_DATE,''SALE_TIME,RECEIPT_NO,UPC,QTY,GROSS_AMT,POS,''STORE_CODE_STOCK_MOV FROM JAC_EXP_TMP_SALES ORDER BY BP_STORE_CODE,SALES_DATE,RECEIPT_NO;
END
EXPORT_SALES_BP;
/`
Creating the procedure giving me an error
[Error] Compilation (19: 22): PLS-00049: bad bind variable ‘FROM_DATE’