function CMDZ(CM:STRING):STRING;
  CONST 
      CM1='155/80A(38)';DM1='155/64A(38)';     
     VAR
         CMT:STRING;
         UD:STRING;
begin
       UD:=BDEPipeline1['FJSX1'];
    IF CM='38' THEN 
        BEGIN 
            IF UD='A'THEN CMT:=CM1;
            IF UD='A1'THEN CMT:=CM1;
            IF UD='A2'THEN CMT:=CM1;
            IF UD='A3'THEN CMT:=CM1;
            IF UD='A4'THEN CMT:=CM1;
            IF UD='D'THEN CMT:=CM1;
            IF UD='D1'THEN CMT:=CM1;
            IF UD='D2'THEN CMT:=CM1;
            IF UD='D3'THEN CMT:=CM1;
            IF UD='D4'THEN CMT:=CM1;
            IF UD='D5'THEN CMT:=CM1;
            IF UD='D6'THEN CMT:=CM1;
            IF UD='F'THEN CMT:=CM1;
            IF UD='F1'THEN CMT:=CM1;
            IF UD='F2'THEN CMT:=CM1;
            IF UD='F3'THEN CMT:=CM1;
            IF UD='F4'THEN CMT:=CM1;
            IF UD='F5'THEN CMT:=CM1
            ELSE CMT:=DM1;
            
        END;      
 
    
        result:=CMT;   
   
end;  --说明:此函数目的通过UD的值来给CMT赋值,但是这个函数却达不到这个效果,最后CMT在任何情况下都被赋值为DM1了,请高手指点我的函数应该怎么写。
另外本人将函数改成下面这样,却能起到作用,但是想起到多条件判断就做不到了,帮忙分析一下,我应该怎么写才对。
function CMDZ(CM:STRING):STRING;
  CONST 
      CM1='155/80A(38)';DM1='155/64A(38)';     
     VAR
         CMT:STRING;
         UD:STRING;
begin
       UD:=BDEPipeline1['FJSX1'];
    IF CM='38' THEN 
        BEGIN 
            IF UD='A'THEN CMT:=CM1
            ELSE CMT:=DM1;
            
        END;      
 
    
        result:=CMT;   
   
end;