/* Formatted on 2012/05/26 11:14 (Formatter Plus v4.8.8) */
CREATE OR REPLACE PROCEDURE modsalheadfromexcel (
P_Payrollmonthid Number
)
IS
AdjAmount NUMBER;
OldEmpno NUMBER:=0;
msaladjcode number;
BEGIN
FOR msaladj IN (Select PAYROLLMONTHID,empno,EARNDEDUCD,sum(arrears)ARREARS,sum(RECOVERIES)RECOVERIES From Monthly_Saladj_Det_Temp Where Payrollmonthid=P_Payrollmonthid group by PAYROLLMONTHID,empno,EARNDEDUCD order by empno,EARNDEDUCD)
LOOP
if(OldEmpno=0 or OldEmpno !=Msaladj.Empno) Then
msaladjcode:=get_nextcode('monthly_saladj','MSALADJCD','10');
-- dbms_output.put_line('Msaladj.Empno: '||OldEmpno);
Insert into monthly_saladj(MSALADJCD,PAYROLLMONTHID,EMPNO) values(msaladjcode,msaladj.PAYROLLMONTHID,msaladj.EMPNO);
End If;
AdjAmount:=msaladj.ARREARS - msaladj.RECOVERIES;
If (msaladj.ARREARS != 0 or msaladj.RECOVERIES != 0) Then
-- dbms_output.put_line('Msaladj.Empno: '||Msaladj.Empno||' &&AdjAmount : ' ||AdjAmount);
--Insert into Monthly_Saladj_Det(MSALADJCD,EARNDEDUCD,ADJAMT,ARREARS,RECOVERIES) values(msaladjcode,msaladj.EARNDEDUCD,AdjAmount,msaladj.ARREARS,msaladj.RECOVERIES);
Insert into Monthly_Saladj_Det(MSALADJCD,EARNDEDUCD,ADJAMT,ARREARS,RECOVERIES) values(msaladjcode,msaladj.EARNDEDUCD,AdjAmount,msaladj.ARREARS,msaladj.RECOVERIES);
End If;
OldEmpno:=Msaladj.Empno;
commit;
END LOOP;
Delete from Monthly_Saladj_Det_Temp Where Payrollmonthid=P_Payrollmonthid;
commit;
END;
/
No comments:
Post a Comment