Usando ACCEPT dentro de un bloque BEGIN en pl / sql

Estoy tratando de usar ACCEPT en mi bloque BEGIN pero sigo recibiendo errores. Quiero aceptar la entrada del usuario si se activa la condición if. ¿Cómo puedo arreglar esto? A continuación se muestra mi guión:

ACCEPT ExpNum NUMBER PROMPT 'Enter an expense number:  ';

SELECT *
FROM ExpByCC
WHERE ExpNum = &ExpNum;

SELECT IsCash,CashAmt
FROM EXPMAST
WHERE ExpNum = &ExpNum
AND IsCash = 'Y';

ACCEPT CashAmount PROMPT 'Enter the amount of cash used for the expense:  ';

DECLARE
    CashTotal NUMBER(11,2);

BEGIN
    SELECT SUM(Amt)
    INTO CashTotal
    FROM EXPDET
    WHERE ExpNum = &ExpNum;

    IF &CashAmount < (CashTotal - 0)
    THEN
            ACCEPT CType PROMPT 'Enter a credit card type:  ';
            ACCEPT CCNum PROMPT 'Enter a credot card number:  ';
            ACCEPT Amt Prompt 'Enter an amount:  ';


    END IF;

END;
/

Respuestas a la pregunta(1)

Su respuesta a la pregunta