Welcome to Community Week 2025! Join us to learn, connect, and be recognized as we celebrate the spirit of Community and the power of AI. Get the details  

Flowでデータ作成後、同一データの更新を行うと、作成時の状態に値が戻る場合がある

YamaT
Tera Contributor

こんにちは。どうか皆様のお知恵をお借りしたく。

 

Washingtonバージョンを利用しています。

Flow DesignerでFlowを作成し、データの作成&更新を行ったときに、うまく更新がされないことがあります。

 

具体的には、同一Flowの中で「State=newでデータを作成」と「State=Openに更新」処理を書いた場合、Stateが最終的に、Newになっていました。(Openであることが望ましい)

体感的に、100回に2,3回程度の頻度で、Newになっていることがあります。

 

同一Flowの中でほぼ同時に更新処理が動くことで、値が前後しているのでは、と思っています。

暫定の解決策として、「更新処理を削除し、最初からOpenで作成」すればいいのだとは思います。

しかし、なぜこのような現象が起こるのかがわかりません。

何かご存じの方がいらっしゃれば、ご教示いただけますと幸いです。

 

 

例)

■Flowの設定

〇Trigger:Service Catalog

〇Actions

 1. Get Catalog Variables(申請時入力値を取得)

 2. Create Case Record(Caseレコードを作成。StateはNewに設定 → State設定なし、Default値のNewが入る

 3. IF (特定条件の時)

 4. Update Record(2.で作成したレコードの、StateをOpenに更新)

 

■作成されたレコードの履歴(sys_history_set)

YamaT_0-1735179941476.png

 

■作成されたレコードの実際の値

State = New

 

どうぞよろしくお願いいたします。

8件の返信8

Takeru
Tera Guru

恐らくですが、Create Recordを実行中に次のStepに進んでしまい、処理のつじつまが合わなくなっているものかと思われます。

2と3のStepの間にWait 1secなどを入れることで回避可能かと思われます。

YamaT
Tera Contributor

@Takeru

ご回答ありがとうございます。

Flowの各ステップは、非同期処理なのでしょうか……

改修案をいただき、ありがとうございます。参考にさせていただきます。

Satoshi Abe
Mega Sage

@YamaT 

フローの実行詳細から実行ログを確認することをお勧めします。

https://www.servicenow.com/docs/ja-JP/bundle/washingtondc-build-workflows/page/administer/flow-desig...

 

その中でエラーになっているものがあれば、どこが原因でエラーとなって、最後のState=Openを妨げているか確認できます。

@Satoshi Abe 

ご回答ありがとうございます。

例と少しActionが異なりますが、実際にState=NewとなってしまったFlowの実行ログを確認してみました。

特にエラーにはなっていないようです。

 

■Flowの実行ログ

YamaT_0-1735196884689.png

 

■実際に作られたレコードの値

YamaT_2-1735197060517.png

■Stateの更新履歴

YamaT_1-1735196975475.png

 

恐れ入りますが、引き続きよろしくお願いいたします。