0 - 2 of 2 tags for last_value

I have a table with the following layout

cust_acct_id (PK)| effect_dt | expiry_dt | curr_rec_ind | field_a | field_b | field_c | field_d

I have to populate any NULL values in field_a, field_b, field_c, or field_d with the most recent value received for that field for the same cust_acct_id.

Sample Input:

ORACLE's FIRST_VALUE() and LAST_VALUE analytic function is pretty handy. In TD 13 and 14, how can we achieve the same result with limited effort?

The old-fashioned way is to achieve FIRST_VALUE(PROMOTION_ID), LAST_VALUE(SHIP_TO_ADDR_ID):