0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

結果数は、1 つの一括実行要求で実行されたインタビュー数と一致しません。

Last updated at Posted at 2024-10-25

過去にも同じエラーで躓いた


結果数は、1 つの一括実行要求で実行されたインタビュー数と一致しません。

以下のようなJson形式で返される明細データを1件づつのレコードとしてList変数で返すApexをフローで呼び出しています。

[
[{"column_number":"0","value":"収入印紙"},{"column_number":"1","value":"600 円 × 5 枚 = 3,000"}],
[{"column_number":"0","value":"収入印紙"},{"column_number":"1","value":"1,000 円 × 3 枚 = 3,000"}],
[{"column_number":"0","value":"切手"},{"column_number":"1","value":"460 円 × 3 枚 = 1,380"}]
]
//入力のList<List<String>> inputStringと出力のList<List<hiyoumeisai__c>> を同じような2重のList変数にしましたが、結果数が違うというエラーになります。

    @InvocableMethod(label='JSON_deserialize')
    public static List<List<hiyoumeisai__c>>  test001(List<List<String>> inputString) {
        List<List<hiyoumeisai__c>>  RetList = new List<List<hiyoumeisai__c>>();   
        List<hiyoumeisai__c>  RetList0 = new List<hiyoumeisai__c>();   
        String resBody = inputString[0][0];
        List<List<colval01>> l = (List<List<colval01>>)JSON.deserializeStrict(resBody,List<List<colval01>>.class);
        for (List<colval01> l2 : l ){
            String formula = l2[1].value;
            List<String> formulas = formula.split('=');
            system.debug(Logginglevel.INFO,'=====> ' + formulas[1].replaceAll(',','') );
            
            hiyoumeisai__c m2 = new hiyoumeisai__c();
            m2.Field01__c = l2[0].value;
            m2.Field02__c = l2[1].value;
            m2.amount__c = Decimal.valueOf(formulas[1].replaceAll(',','').trim());
            RetList0.add(m2);
            RetList.add(RetList0);
        }
        
        return RetList;
    }

①フローインタビュー数とはフローの開始条件に該当しそのフローが作動したレコードの数のこと ②(①の認識があっていると仮定して)ガバナ制限を考慮するには、開始条件をしっかり決めてインタビュー数をなるべく増やさないようにする。

上記を考慮すると今回はJsonのテキストレコードは1件、結果が3件返ってくるので一致しないということですよね。

Jsonの中身が何件あるかが最初に分かっていれば無理やり入力用のListにダミーの値を追加すればいいけど、今回はできないですね。

仕方ないApexの中でレコードを追加するように変更するしかないです。

0
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?