This is default featured slide 2 title

Go to Blogger edit html and find these sentences.Now replace these sentences with your own descriptions.This theme is Bloggerized by Lasantha Bandara - Premiumbloggertemplates.com.

This is default featured slide 3 title

Go to Blogger edit html and find these sentences.Now replace these sentences with your own descriptions.This theme is Bloggerized by Lasantha Bandara - Premiumbloggertemplates.com.

This is default featured slide 4 title

Go to Blogger edit html and find these sentences.Now replace these sentences with your own descriptions.This theme is Bloggerized by Lasantha Bandara - Premiumbloggertemplates.com.

This is default featured slide 5 title

Go to Blogger edit html and find these sentences.Now replace these sentences with your own descriptions.This theme is Bloggerized by Lasantha Bandara - Premiumbloggertemplates.com.

Thursday, February 12, 2015

Update hr_employee table

First Delete specific column then

add this script

ALTER TABLE BPH_UAT.MM_RECONAUDITVFY
ADD (VC_FLAG CHAR(2 BYTE));


Trigger for hr_employee table

CREATE OR REPLACE TRIGGER TRG_synch_hpms_doctor
after update or delete of emp_name, job_id on hr_employee
for each row
declare

    /*
    Purpose : This trigger synchronize the Doctor Name and Designation between HR_EMPLOYEE and HPMS_DOCTOR
    Created By: Kazi Mokarem;
    Date: 20/03/2011
    */
   
    cursor cur_hpms_doctor is
        select doctor_no,doctor_name,designation
        from hpms_doctor
        where doctor_no   = :new.emp_no
        ;
     crDoctor cur_hpms_doctor%rowtype;
     
    cursor cur_dr_desig is
       select job_desc,job_type_id
       from hr_jobcode
       where job_id = :new.job_id
       and rownum=1;
     
      vDesignation    hr_jobcode.job_desc%type;
      vJobTypeId      hr_jobtype.job_type_id%type;
 
   cursor cur_hr_job_type(cpJobTypeId  hr_jobtype.job_type_id%type)is
          select job_short_desc
          from   hr_jobtype
          where  job_type_id =cpJobTypeId
          and rownum=1;
    vJobShortDesc  hr_jobtype.job_short_desc%type;
    vActiveStatus varchar2(1);      
begin
 
  if updating then
 
         Begin
         update hpms_doctor
          set ACTIVE_FLAG=nvl(:New.active_status,:old.active_status)
          where doctor_no =nvl(:new.emp_no,:old.emp_no);
         exception when others then
         null;
         end;
      if :new.emp_name = :old.emp_name and :new.job_id = :old.job_id then
        return;
      end if;
     
           
      open cur_hpms_doctor;fetch cur_hpms_doctor into crDoctor;
 
      if cur_hpms_doctor%found then
     
          /*
          if :new.job_id is null then
             delete from hpms_doctor
             where doctor_no = :new.emp_no;
             return;
          end if;
          */
         
          if :new.job_id <> :old.job_id then
            open cur_dr_desig;fetch cur_dr_desig into vDesignation,vJobTypeId;close  cur_dr_desig;
          end if;
         
       
         
          /*
          if :new.job_id is not null then
           open  cur_hr_job_type(vJobTypeId);fetch  cur_hr_job_type into vJobShortDesc; close    cur_hr_job_type;
           if  nvl(vJobShortDesc,'#') <> 'DOC' then
             delete from hpms_doctor
             where doctor_no = :new.emp_no;
             return;
           end if;  
          end if;
          */
         
         
          if upper(crDoctor.doctor_name) <> upper(nvl(:new.emp_name,:old.emp_name))
             and upper(crDoctor.designation) <> upper(vDesignation) then
           
             update hpms_doctor
             set doctor_name = nvl(:new.emp_name,:old.emp_name),
                 designation = vDesignation
             where doctor_no = nvl(:new.emp_no,:old.emp_no);
           
          elsif upper(crDoctor.doctor_name) <> upper(nvl(:new.emp_name,:old.emp_name)) then
             update hpms_doctor
             set    doctor_name = nvl(:new.emp_name,:old.emp_name)
             where  doctor_no   = nvl(:new.emp_no,:old.emp_no);  
          elsif upper(crDoctor.designation) <> upper(vDesignation)      then
             update hpms_doctor
             set designation = vDesignation
             where doctor_no = nvl(:new.emp_no,:old.emp_no);
          end if;
         
       --if upper(crDoctor.active_flag)<>upper(nvl(:New.active_status,:old.active_status)) then
          update hpms_doctor
          set ACTIVE_FLAG=nvl(:New.active_status,:old.active_status)--vActiveStatus
          where doctor_no =nvl(:new.emp_no,:old.emp_no);
        --end if;
         
         
      end if;  
      close cur_hpms_doctor;
  elsif deleting then
      --delete from hpms_doctor
      --where doctor_no = nvl(:new.emp_no,:old.emp_no);
      null;
  end if;
 
  exception
    when others then null;
 end;
/

Wednesday, February 11, 2015

Wish to data correction for issue, requisation, verify important table and view

mm_irmst
mm_irchd
mm_issuemst
mm_issuechd
mm_receivemst
mm_receivechd
pr_invoicechd
pr_invoicemst
mm_obverify
mmv_itemstocktrns(view) for internal requisation and receive qty.
mm_itemstock
PR_INVOICEMST
PR_INVOICECHD

HPMS