2016-06-14 91 views
1

我一直在为一个NetSuite工作流编写一个嵌套Case语句,它不是在第一个CASE WHEN之外进行评估。应该发生的是当两个复选框被选中时,显示两个文本短语。打开或选中另一个时,显示该复选框应显示的短语。Netsuite嵌套CASE

的条件

{entity.custentity__quality_control.id}='T' OR {entity.custentitypartnered_asp.id}='T' 

我当前的代码是:

CASE 
WHEN {entity.custentity__quality_control.id}='T' AND {entity.custentitypartnered_asp.id}='T' THEN 'QUALITY CONTROL - PARTNERED ASP' 
else 
    case WHEN {entity.custentity__quality_control.id}='F' THEN 'PARTNERED ASP' 
    else 
     case WHEN {entity.custentitypartnered_asp.id}='F' THEN 'QUALITY CONTROL' 
     else '' 
     end 
    end 
END 

替代格式我也试过有:

Case when a and b then c 
when a = this and b <> that then c 
when b=this and c <> that then c 
else '' 
end 

在这两种情况下,当A和B都为真,那么c按预期发生。但是,如果第一次测试失败,则第二次和第三次测试不会处理,否则会失败并发生其他问题。

被测试的字段都是客户实体上的复选框。任何帮助深表感谢。

回答

0

你可以试试吗?我只用括号封装了你的内部情况陈述。

CASE WHEN {entity.custentity__quality_control.id}='T' AND {entity.custentitypartnered_asp.id}='T' THEN 'QUALITY CONTROL - PARTNERED ASP' 
ELSE (
    CASE WHEN {entity.custentity__quality_control.id}='F' THEN 'PARTNERED ASP' 
    ELSE (
      CASE WHEN {entity.custentitypartnered_asp.id}='F' THEN 'QUALITY CONTROL' 
      ELSE '' 
      END 
     ) 
    END 
    ) 

END