I have had this problem before as well.  I do not know if it the only way,
but my solution was to include those two internal SQL statements as part of
the from and then use the variable.

i.e.

        INSERT INTO AWW_ISSUED
                SELECT ALL 
                        INV.MTL_MATERIAL_TRANSACTIONS.INVENTORY_ITEM_ID,
        
SUM(INV.MTL_MATERIAL_TRANSACTIONS.TRANSACTION_QUANTITY)RECEIVED
                FROM    INV.MTL_MATERIAL_TRANSACTIONS,
                        (SELECT TO_DATE('01' ||
SUBSTR(TO_CHAR(SYSDATE),3,9))"FIRST_DATE" FROM DUAL) A,
                        (SELECT LAST_DAY(SYSDATE) "LAST_DATE" FROM DUAL) B
                WHERE 
                        (
        
INV.MTL_MATERIAL_TRANSACTIONS.ORGANIZATION_ID=3
                                AND
INV.MTL_MATERIAL_TRANSACTIONS.TRANSACTION_TYPE_ID IN (1, 31, 32, 33,
34, 36, 40, 41, 42, 18, 2, 50, 51, 12, 61, 21, 4, 80)
                                AND
INV.MTL_MATERIAL_TRANSACTIONS.TRANSACTION_QUANTITY > 0
                        )
                AND     INV.MTL_MATERIAL_TRANSACTIONS.TRANSACTION_DATE
BETWEEN '01-JUN-01' AND
'30-JUN-01'
                AND     INV.MTL_MATERIAL_TRANSACTIONS.TRANSACTION_DATE
BETWEEN A.first_date AND B.last_date
        GROUP BY INV.MTL_MATERIAL_TRANSACTIONS.INVENTORY_ITEM_ID;

Of course, since you are just selecting a function, why don't you see if you
can just select that value:

        INSERT INTO AWW_ISSUED
                SELECT ALL 
                        INV.MTL_MATERIAL_TRANSACTIONS.INVENTORY_ITEM_ID,
        
SUM(INV.MTL_MATERIAL_TRANSACTIONS.TRANSACTION_QUANTITY)RECEIVED
                FROM    INV.MTL_MATERIAL_TRANSACTIONS
                WHERE 
                        (
        
INV.MTL_MATERIAL_TRANSACTIONS.ORGANIZATION_ID=3
                                AND
INV.MTL_MATERIAL_TRANSACTIONS.TRANSACTION_TYPE_ID IN (1, 31, 32, 33,
34, 36, 40, 41, 42, 18, 2, 50, 51, 12, 61, 21, 4, 80)
                                AND
INV.MTL_MATERIAL_TRANSACTIONS.TRANSACTION_QUANTITY > 0
                        )
                AND     INV.MTL_MATERIAL_TRANSACTIONS.TRANSACTION_DATE
BETWEEN '01-JUN-01' AND
'30-JUN-01'
                AND     INV.MTL_MATERIAL_TRANSACTIONS.TRANSACTION_DATE
BETWEEN TO_DATE('01' || SUBSTR(TO_CHAR(SYSDATE),3,9)) AND LAST_DAY(SYSDATE)
        GROUP BY INV.MTL_MATERIAL_TRANSACTIONS.INVENTORY_ITEM_ID;


-----Original Message-----
Sent: Wednesday, June 13, 2001 4:52 PM
To: Multiple recipients of list ORACLE-L


I have this script that works fine in sql plus but when I attach it to a
procedure in my report it gives me an error

        "error 101 Encountered a symbol SELECT when expecting one of the
following"
The error surfaces when the bolded line (choosing the date) is included in
the script.
What is the possible fix for this?

        INSERT INTO AWW_ISSUED
        SELECT ALL INV.MTL_MATERIAL_TRANSACTIONS.INVENTORY_ITEM_ID,
        SUM(INV.MTL_MATERIAL_TRANSACTIONS.TRANSACTION_QUANTITY)RECEIVED
        FROM INV.MTL_MATERIAL_TRANSACTIONS
        WHERE (INV.MTL_MATERIAL_TRANSACTIONS.ORGANIZATION_ID=3
        AND INV.MTL_MATERIAL_TRANSACTIONS.TRANSACTION_TYPE_ID IN (1, 31, 32,
33,
34, 36, 40, 41, 42, 18, 2, 50, 51, 12, 61, 21, 4, 80)
        AND INV.MTL_MATERIAL_TRANSACTIONS.TRANSACTION_QUANTITY > 0)
        AND  INV.MTL_MATERIAL_TRANSACTIONS.TRANSACTION_DATE BETWEEN
'01-JUN-01' AND
'30-JUN-01'
        AND  INV.MTL_MATERIAL_TRANSACTIONS.TRANSACTION_DATE BETWEEN (SELECT
TO_DATE('01' || SUBSTR(TO_CHAR(SYSDATE),3,9)) FROM DUAL)                AND
(SELECT
LAST_DAY(SYSDATE) FROM DUAL)
        GROUP BY INV.MTL_MATERIAL_TRANSACTIONS.INVENTORY_ITEM_ID;

I appreciate all the help


-- 
Please see the official ORACLE-L FAQ: http://www.orafaq.com
-- 
Author: Mark Liggayu
  INET: [EMAIL PROTECTED]

Fat City Network Services    -- (858) 538-5051  FAX: (858) 538-5051
San Diego, California        -- Public Internet access / Mailing Lists
--------------------------------------------------------------------
To REMOVE yourself from this mailing list, send an E-Mail message
to: [EMAIL PROTECTED] (note EXACT spelling of 'ListGuru') and in
the message BODY, include a line containing: UNSUB ORACLE-L
(or the name of mailing list you want to be removed from).  You may
also send the HELP command for other information (like subscribing).
-- 
Please see the official ORACLE-L FAQ: http://www.orafaq.com
-- 
Author: Kevin Lange
  INET: [EMAIL PROTECTED]

Fat City Network Services    -- (858) 538-5051  FAX: (858) 538-5051
San Diego, California        -- Public Internet access / Mailing Lists
--------------------------------------------------------------------
To REMOVE yourself from this mailing list, send an E-Mail message
to: [EMAIL PROTECTED] (note EXACT spelling of 'ListGuru') and in
the message BODY, include a line containing: UNSUB ORACLE-L
(or the name of mailing list you want to be removed from).  You may
also send the HELP command for other information (like subscribing).

Reply via email to