2016-08-05 64 views
0

我遇到NetSuite工作流的問題,它使用SQL公式連接兩個自定義字段。問題是,在某些條目中,其中一個字段缺失。我使用的公式是Concat(SQL)的NetSuite Field公式問題

{custitem3} ||' '|| {custitemshoewidth}

當「custitem3」沒有出現在窗體上時,我給出錯誤「ERROR:Field'custitem3'Not Found」我嘗試使用條件IF語句和WHEN。我不熟悉SQL,因此它可能是我的語法。但如果任何人可以建議,將不勝感激。

編輯:

謝謝您的輸入。我發現了這個問題。不管它是否實際調用,引用一個不存在的字段都會產生錯誤。所以我的工作就是創建一個引用可能存在或不存在的矩陣字段的新字段。

引用此字段 - 將始終存在於項目記錄上不會導致錯誤報告填充試圖連接它的字段,如果引用字段包含錯誤報告,則可以忽略它。我試過這個代碼從YNK建議的修改

CASE 
WHEN {custitem_hm_ref1} ISNUMERIC 
{custitemshoewidth}||" "||{custitem_hm_ref1} 
ELSE {custitemshoewidth} 
END 

但是這返回一個無效的表達式。我調整了錯誤的代碼嗎?

+0

經過審查和測試幾件事情。似乎這裏更大的問題是這種形式中不存在的「custiitem3」字段。有沒有人有解決這個問題的建議? – HamBeast

回答

0

您可以使用CASE函數,而不是IF條件在這裏..

像這樣:

CASE 
WHEN {custitem3} IS NULL THEN 
    {custitemshoewidth} 
ELSE 
    {custitem3}||' '||{custitemshoewidth} 
END 

希望這會幫助你。

謝謝。

+1

謝謝@YNK 我試着用CASE WHEN語句運行工作流程。它踢回相同的錯誤錯誤:字段'custitem3'未找到。 我相信它與調用一個不存在於該表單上的字段有關(custitem3是一個矩陣字段,這個錯誤是在沒有矩陣項的情況下找到的。)我想到一個解決方法是創建一個字段,該字段從矩陣。如果在該字段中存在錯誤,那麼您列出的代碼可以通過不拉錯誤,只有沒有錯誤文本工作。 CASE WHEN {custitemX} ISNUMERIC {custitem3} ||' '|| {custitemshoewidth} ELSE {custitemshoewidth} END – HamBeast

0

對於NVL函數之一,這是一個很好的用例。有NVLNVL2函數可用於處理空值。爲了完成你在做什麼,我可能會使用一個公式,如:

NVL2({custitem3}, {custitem3}||' '||{custitemshoewidth}, {custitemshoewidth})

有關所有可用的SQL函數的詳細信息,請參閱標題爲「SQL表達式」的NS幫助文檔。