DECLARE
cur_itm VARCHAR2(80);
cur_block VARCHAR2(80) := 'ALLBILLS'; --:System.Cursor_Block;
BEGIN
cur_itm := Get_Block_Property( cur_block, FIRST_ITEM );
FOR i IN 1..10 LOOP
cur_itm := cur_block||'.'||cur_itm;
if :payment_date is not null and nvl(:bill_amount,0) <= nvl(:paid_amount,0) then
Set_Item_Instance_Property( cur_itm, CURRENT_RECORD, VISUAL_ATTRIBUTE,'PAID');
else
if nvl(:paid_amount,0) > 0 and :paid_amount != :bill_amount then
Set_Item_Instance_Property( cur_itm, CURRENT_RECORD,VISUAL_ATTRIBUTE,'PARTIAL');
else
if :due_date < sysdate then
Set_Item_Instance_Property( cur_itm, CURRENT_RECORD,VISUAL_ATTRIBUTE,'DUE');
else
Set_Item_Instance_Property( cur_itm, CURRENT_RECORD,VISUAL_ATTRIBUTE,'NORMAL');
end if;
end if;
end if;
cur_itm := Get_Item_Property( cur_itm, NEXTITEM );
END LOOP;
END;
cur_itm VARCHAR2(80);
cur_block VARCHAR2(80) := 'ALLBILLS'; --:System.Cursor_Block;
BEGIN
cur_itm := Get_Block_Property( cur_block, FIRST_ITEM );
FOR i IN 1..10 LOOP
cur_itm := cur_block||'.'||cur_itm;
if :payment_date is not null and nvl(:bill_amount,0) <= nvl(:paid_amount,0) then
Set_Item_Instance_Property( cur_itm, CURRENT_RECORD, VISUAL_ATTRIBUTE,'PAID');
else
if nvl(:paid_amount,0) > 0 and :paid_amount != :bill_amount then
Set_Item_Instance_Property( cur_itm, CURRENT_RECORD,VISUAL_ATTRIBUTE,'PARTIAL');
else
if :due_date < sysdate then
Set_Item_Instance_Property( cur_itm, CURRENT_RECORD,VISUAL_ATTRIBUTE,'DUE');
else
Set_Item_Instance_Property( cur_itm, CURRENT_RECORD,VISUAL_ATTRIBUTE,'NORMAL');
end if;
end if;
end if;
cur_itm := Get_Item_Property( cur_itm, NEXTITEM );
END LOOP;
END;
