What tripped me up was the aliasing of column MBR_EXPIRATION_DT to MBR_EXPIR_DT. Note also the "WITH READ ONLY" clause at the end. Thanks for taking a look at this.
CREATE OR REPLACE VIEW MZ_CANCEL_MBR_V ( MEMBERSHIP_KY,
MEMBER_KY, ASSOCIATE_ID, MBR_NAME, PAY_AMT,
DUES_AMT, MBR_EXPIR_DT, CLUB_CD, PAID_BY_CD,
CANCEL_DATE, STATUS, COST_EFFECTIVE_DT ) AS
--USAGE: For display on the Cancel Member page
SELECT x.membership_ky,
x.member_ky,
x.associate_id,
x.mbr_name,
x.pay_amt,
x.dues_amt,
x.member_expiration_dt,
x.club_cd,
y.paid_by_cd,
x.cancel_date,
x.status,
y.cost_effective_dt
from (select a.membership_ky,
a.member_ky,
b.associate_id,
b.last_name| |', '| |b.first_name mbr_name,
sum(nvl(a.PAYMENT_AT,0)) pay_amt,
sum(nvl(a.DUES_COST_AT,0)) dues_amt,
b.member_expiration_dt,
a.club_cd,
to_char(sysdate, 'mm/dd/yyyy') as cancel_date,
b.status
FROM mz_rider a, mz_member b
WHERE a.member_ky = b.member_ky
and (a.status in('A','P'))
and (b.status = 'A' or b.status = 'P')
group by a.membership_ky,
a.member_ky,
b.associate_id,
b.last_name| |', '| |b.first_name,
b.member_expiration_dt,
a.club_cd,
b.status
) x, mz_rider y
WHERE x.member_ky = y.member_ky
and y.rider_comp_cd = 'BS'
WITH READ ONLY