Usando ACCEPT dentro de um bloco BEGIN em pl / sql

Estou tentando usar ACCEPT no meu bloco BEGIN, mas continuo recebendo erros. Quero aceitar a entrada do usuário se a condição if for acionada. Como posso consertar isso? Abaixo está o meu script:

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;
/

questionAnswers(1)

yourAnswerToTheQuestion