My Oracle Support Banner

EEX 9.2: MicroSoft SQL Server環境にてEX_APPROVALのエラーにより経費レポートが「提出処理中(SFA)」のステータスで止まってしまう (Doc ID 2139192.1)

Last updated on FEBRUARY 03, 2019

適用範囲:

PeopleSoft Enterprise FIN Expenses - バージョン 9.2 から 9.2 [リリース 9]
この文書の内容はすべてのプラットフォームに適用されます。

現象

問題:

経費ユーザが新規の経費レポートを作成し承認する時、トランザクションが「提出処理中」のステータスのままとなり処理が完了できない。
サービス・オペレーション EX_APPROVALのサブスクリプション・コントラクトを確認すると、エラーで異常終了していた。

" Return: 8608 - [Microsoft][SQL Server Native Client 10.0][SQL Server]'C'の近くに不正な構文があります。
[Microsoft][SQL Server Native Client 10.0][SQL Server]ステートメントを準備できませんでした。 (SQLSTATE 37000) 8180 "

このような一般的なエラーメッセージは通常システムにより実行されるコードラインがMicroSoft SQL Serverデータベースと互換性がないことを示すことが多いです。

アプリケーションデザイナーで Application Package PeopleCode EX_APPR_WF.TxnProcessing.Messaging.ApprovalSubscriber.OnExecuteのコードラインを確認すると、
以下のSQL文が含まれており、これがエラーの原因となります。:

SQLExec("DELETE FROM PS_EOAW_USERINST C WHERE EXISTS (SELECT 'X' FROM " | &tbl_aw | " A, PS_EOAW_STEPINST B WHERE A." | &txnField | " = :1 AND A.EOAWPARENT_THREAD=:2 AND
A.EOAWPRCS_ID =:3 AND A.EOAWPRCS_ID = B.EOAWPRCS_ID AND A.EOAWDEFN_ID = B.EOAWDEFN_ID AND A.EOAWTHREAD_ID = B.EOAWTHREAD_ID AND C.EOAWSTEP_INSTANCE = B.EOAWSTEP_INSTANCE)",
&txnID, &eoawparent_thread, &eoawprcs_id);



再現手順:

 - MicroSoft SQL Serverで稼働するFSCM 9.2の環境を準備する
 - User ID EXA1でログインする
 - 新規の経費レポートを作成し承認のために提出する
 - しばらくすると、トランザクションが「提出処理中」のステータスで止まってしまう
 - サービスオペレーション ER_APPROVAL のサブスクリプションコントラクトが異常終了する
 - プロセススケジューラのログファイルにて、エラーメッセージが存在する

このシナリオに関するさらなる情報や関連する問題については、本ドキュメントに添付された設定や問題を再現させるために必要な手順を含んだ再現手順書を参照してください。

エラーメッセージ:

 " Return: 8608 - [Microsoft][SQL Server Native Client 10.0][SQL Server]'C'の近くに不正な構文があります。
 [Microsoft][SQL Server Native Client 10.0][SQL Server]ステートメントを準備できませんでした。 (SQLSTATE 37000) 8180
 ステートメント: DELETE FROM PS_EOAW_USERINST C WHERE EXISTS (SELECT 'X' FROM PS_EX_SHEET_AW A, PS_EOAW_STEPINST B WHERE A.SHEET_ID = :1 AND A.EOAWPARENT_THREAD=:2 AND
 A.EOAWPRCS_ID =:3 AND A.EOAWPRCS_ID = B.EOAWPRCS_ID AND A.EOAWDEFN_ID = B.EOAWDEFN_ID AND A.EOAWTHREAD_ID = B.EOAWTHREAD_ID AND C.EOAWSTEP_INSTANCE =  
 B.EOAWSTEP_INSTANCE)
 元のステートメント: DELETE FROM PS_EOAW_USERINST C WHERE EXISTS (SELECT 'X' FROM PS_EX_SHEET_AW A, PS_EOAW_STEPINST B WHERE A.SHEET_ID = :1 AND A.EOAWPARENT_THREAD=:2 AND  A.EOAWPRCS_ID =:3 AND A.EOAWPRCS_ID = B.EOAWPRCS_ID AND A.EOAWDEFN_ID = B.EOAWDEFN_ID AND A.EOAWTHREAD_ID = B.EOAWTHREAD_ID AND C.EOAWSTEP_INSTANCE =  
 B.EOAWSTEP_INSTANCE)
 PSSUBHND_dflt.42228 (200) [2014-12-01T14:46:47.226 SubConProcess](1) GenMessageBox(0, 0, M): PeopleCode Manager (Update): 致命的な PeopleCode SQL エラーが発生しました。
 詳細はシステムログを参照してください。"

ビジネスインパクト:

経費取引の提出、承認を正しく行うことができない。

期待される動作:

経費承認ワークフローは提出された経費レポートを適切な承認者ユーザに正しく送られるべき。

原因

To view full details, sign in with your My Oracle Support account.

Don't have a My Oracle Support account? Click to get started!


本書の内容
現象
原因
解決策
参照情報

My Oracle Support provides customers with access to over a million knowledge articles and a vibrant support community of peers and Oracle experts.