Is it just a syntax problem then? Thanks!

CREATE OR REPLACE TRIGGER DMCMILLAN.test_change_employee
AFTER INSERT OR UPDATE
ON TEST.EMPLOYEE
REFERENCING NEW AS New OLD AS Old
FOR EACH ROW

/******************************************************************************
NAME: test_change_employee
PURPOSE:

REVISIONS:
Ver Date Author Description
--------- ---------- --------------- ------------------------------------
1.0 10/13/2011 dmcmillan 1. Created this trigger.

NOTES:

Automatically available Auto Replace Keywords:
Object Name: test_change_employee
Sysdate: 10/13/2011
Date and Time: 10/13/2011, 12:52:18 PM, and 10/13/2011 12:52:18 PM
Username: dmcmillan (set in TOAD Options, Proc Templates)
Table Name: EMPLOYEE (set in the "New PL/SQL Object" dialog)
Trigger Options: (set in the "New PL/SQL Object" dialog)
******************************************************************************/
BEGIN
if inserting then
insert into employee_change (company, employee, emp_status, first_name, last_name, middle_init, nick_name, adj_hire_date, date_hired, email_address, typeofchange, change_dt)
values (:new.company, :new.employee, :new.emp_status, :new.first_name, :new.last_name, :new.middle_init, :new.nick_name, :new.adj_hire_date, :new.date_hired, :new.email_address, 'I', sysdate);
end if;

if (updating and ld.last_name <> :new.last_name) then
insert into employee_change (company, employee, emp_status, first_name, last_name, middle_init, nick_name, adj_hire_date, date_hired, email_address, term_date, birthdate, sex, wk_phone_nbr, wk_phone_ext, pager, typeofchange, change_dt, field_changed )
values (ld.company, ld.employee, ld.EMP_STATUS, ld.FIRST_NAME, :new.LAST_NAME, ld.MIDDLE_INIT, ld.NICK_NAME, ld.ADJ_HIRE_DATE, ld.DATE_HIRED, ld.EMAIL_ADDRESS, ld.term_date,
(select ('ld.birthdate') from test.employee, test.paemployee where test.employee.COMPANY = test.PAEMPLOYEE.COMPANY AND test.employee.EMPLOYEE=test.PAEMPLOYEE.EMPLOYEE),
(select SEX from test.EMPLOYEE a JOIN test.PAEMPLOYEE ON test.employee.COMPANY = test.PAEMPLOYEE.COMPANY AND test.employee.EMPLOYEE=test.PAEMPLOYEE.EMPLOYEE),
(select WK_PHONE_NBR FROM test.EMPLOYEE a JOIN test.PAEMPLOYEE ON a.COMPANY = test.PAEMPLOYEE.COMPANY AND a.EMPLOYEE=test.PAEMPLOYEE.EMPLOYEE),
(select WK_PHONE_EXT FROM test.EMPLOYEE a JOIN test.PAEMPLOYEE ON a.COMPANY = test.PAEMPLOYEE.COMPANY AND a.EMPLOYEE=test.PAEMPLOYEE.EMPLOYEE),
(select PHONE AS Pager FROM test.EMPLOYEE a left outer join test.HRCONTNBR on a.company = test.HRCONTNBR.COMPANY AND a.EMPLOYEE = test.HRCONTNBR.ID_NBR),
'U', sysdate, 'last_name');
end if;


END test_change_employee;



/