2024年8月21日 星期三

V80202L -[SAP單況比對]鈕 - switch case 用法 - 匯出畫面所有資料 -2Sheet

目的: V80202L - switch case 用法  - 匯出畫面所有資料

處理說明: 1> switch case
                  2> switch case:
                              if () {}  
                        --> 會錯誤  - 無法直接跳至下一 case 
                        --> 需改成  switch case  when    :
                              --> case when 有問題 -->改用 else  if 
                 3>                      




1>*.cs
/* get_ISSAME(Tmp_AMMSTS, Tmp_SAPSTAT);
* 1> AMMSTS=Z 且SAP狀態碼 in ('E0012','E0022','I0076') -->‘Y’
2>AMMSTS=I 且SAP單況(STAT) in ('I0012','I0046')--> ‘Y’
3>AMMSTS=H且SAP狀態碼 in ('I0045',I0046') --> ‘Y’
4>AMMSTS)<='C' 且 AMMSTS<'F'且SAP單況(STAT) not in ('E0012','E0022','I0076','I0012' ,'I0046','I0045')-->‘Y’
5>AMMSTS)<'C' --> null
6>其他情況 then ‘N’
*/

public static string get_ISSAME(string par_AMMSTS, string par_SAPSTAT)
{
string Tmp_RtnStr = "";
Tmp_RtnStr = "N";
switch (par_AMMSTS)
{
//5 > AMMSTS< 'C'-- > null
case "A":
case "B":
{
Tmp_RtnStr = "";
break;
}

//4 > AMMSTS)<= 'C' 且 AMMSTS<'F'且SAP單況(STAT) not in ('E0012', 'E0022', 'I0076', 'I0012', 'I0046', 'I0045')-- >‘Y’
case "C":
case "D" when ("E0012,E0022,I0076,I0012,I0046,I0045".IndexOf(par_SAPSTAT) > -1) :
{
       Tmp_RtnStr = "Y";
       break;
}
//3 > AMMSTS = H且SAP狀態碼 in ('I0045', I0046') --> ‘Y’
case "H" when ("I0045,I0046".IndexOf(par_SAPSTAT) > -1) :
Tmp_RtnStr = "Y";
break;

//2 > AMMSTS = I 且SAP單況(STAT) in ('I0012', 'I0046')-- > ‘Y’
case "I" when ("I0012,I0046".IndexOf(par_SAPSTAT) > -1) :
Tmp_RtnStr = "Y";
break;

//1 > AMMSTS = Z 且SAP狀態碼 in ('E0012', 'E0022', 'I0076')-- >‘Y’
case "Z" when ("E0012,E0022,I0076".IndexOf(par_SAPSTAT) > -1):
Tmp_RtnStr = "Y";
break;

default:
Tmp_RtnStr = "N";
break;

} //end of switch {}

return Tmp_RtnStr;



} //end of function get_ISSAME

沒有留言:

張貼留言