update d22, z_d22_std as imp01
set d22.p02  = imp01.p02, 
    d22.ep02 = if(imp01.ep02='', d22.ep02, imp01.ep02), 
    d22.p03  = imp01.p03,
    d22.p04  = imp01.p04,
    d22.p05  = imp01.p05,
    
    d22.remdate=curdate(), 
    d22.remtime=curtime(), 
    d22.remuser='{user_pswd}@std_tables'
     
where d22.p01=imp01.p01 
   && (   d22.p02  <> imp01.p02 
       || d22.ep02 <> if(imp01.ep02='', d22.ep02, imp01.ep02) 
       || d22.p03  <> imp01.p03
       || d22.p04  <> imp01.p04
       || d22.p05  <> imp01.p05
      );
/*peg_end*/

insert into d22
(nr01, p01, p02, ep02, p03, p04, p05, p300, tax, 
remfdate, remftime, remfuser, remdate, remtime, remuser)
select peg_new_nr01('d22', 1) as nr01, 
       imp01.p01, 
       imp01.p02, 
       imp01.ep02, 
       imp01.p03, 
       imp01.p04, 
       imp01.p05, 
       imp01.p300, 
       imp01.tax, 
       
       curdate() as remfdate, 
       curtime() as remftime, 
       '{user_pswd}@std_tables' as remfuser, 
       curdate() as remdate, 
       curtime() as remtime, 
       '{user_pswd}@std_tables' as remuser 
from z_d22_std as imp01
left join d22 on d22.p01=imp01.p01
where d22.nr01 is null;
/*peg_end*/