update ExpGtsApplyBillDBTemp set zextenditemfield7=
(
case when right(upper(zextenditemfield2),2)='WH' and zextenditemfield2 like '%/%'
then round(cast(substring(upper(zextenditemfield2),charindex('/',upper(zextenditemfield2))+1,charindex('WH',upper(zextenditemfield2))-charindex('/',upper(zextenditemfield2))-1) as float)/zextenditemfield6,0)
when right(upper(zextenditemfield2),2)='WH' and zextenditemfield2 not like '%/%' and upper(zextenditemfield2) like '%AH%'
then round(cast(substring(upper(zextenditemfield2),charindex('AH',upper(zextenditemfield2))+2,charindex('WH',upper(zextenditemfield2))-charindex('AH',upper(zextenditemfield2))-2) as float)/zextenditemfield6,0)
when right(upper(zextenditemfield2),1) in ('W')
then round(cast(left(zextenditemfield2,Len(zextenditemfield2)-1) as float)/zextenditemfield6,0)
when right(upper(zextenditemfield2),2) in ('WH') and upper(zextenditemfield2) not like '%AH%'
then round(cast(left(zextenditemfield2,Len(zextenditemfield2)-2) as float)/zextenditemfield6,0)
when right(upper(zextenditemfield2),2)='AH' and upper(zextenditemfield2) not like '%MAH%'
then round(cast(left(zextenditemfield1,Len(zextenditemfield1)-1) as float)*cast(left(zextenditemfield2,Len(zextenditemfield2)-2) as float)/zextenditemfield6,0)
when right(upper(zextenditemfield2),2)='AH' and upper(zextenditemfield2) like '%MAH%' and right(upper(zextenditemfield2),3)!='MAH'
then round(cast(left(zextenditemfield1,Len(zextenditemfield1)-1) as float)*cast(substring(upper(zextenditemfield2),charindex('MAH',upper(zextenditemfield2))+3,Len(zextenditemfield2)-2-charindex('MAH',upper(zextenditemfield2))-2) as float)/zextenditemfield6,0)
when right(upper(zextenditemfield2),3)='MAH' and replace(upper(zextenditemfield2),'MAH','') like '%AH%'
then round(cast(left(zextenditemfield1,Len(zextenditemfield1)-1) as float)*cast(left(zextenditemfield2,charindex('AH',upper(zextenditemfield2))-1) as float)/zextenditemfield6,0)
when right(upper(zextenditemfield2),3)='MAH' and replace(upper(zextenditemfield2),'MAH','') not like '%AH%'
then round(cast(left(zextenditemfield1,Len(zextenditemfield1)-1) as float)*0.001*cast(left(zextenditemfield2,Len(zextenditemfield2)-3) as float)/zextenditemfield6,0)
when right(upper(zextenditemfield2),4)='MAH/' and replace(upper(zextenditemfield2),'MAH/','') not like '%AH%'
then round(cast(left(zextenditemfield1,Len(zextenditemfield1)-1) as float)*0.001*cast(left(zextenditemfield2,Len(zextenditemfield2)-4) as float)/zextenditemfield6,0)
end
)
where isnull(failorsucce,'0')='0' and isnull(zextenditemfield6,'0')!='0' and isnull(zextenditemfield7,'0')='0'