ログイン Up dated!
ユーザー名:

パスワード:


パスワード紛失

新規登録

SAP勉強会開催中!

運 営

メインメニュー

運営者及び問合先

当サイトに対する問い合わせは erp.expert.jp@gmail.comまでお願いします。または
SUNTEC WEST お問合せまで。
なおこのサイトからのメールが迷惑メールに振り分けられてしまう場合があります。


フォーラムの説明
フォーラムは階層構造になっており「カテゴリ」の下に「フォーラム」があります。その下にQ&Aのやりとりの題名があり、それを「トピック」と呼びます。例にあげると「SAP ERP」というカテゴリがあって「Financials」というフォーラムがあります。その下でメンバーが自由に「原価センタグループの移送方法ありますか」とかいうQ&Aの「トピック」を立ててやりとりします。 このフォーラム機能は通知機能があります。興味のある「カテゴリ」「フォーラム」「トピック」と各レベルごとに誰かが投稿したら「メール」で知らせること機能でフォーラム内各ページの下にある「イベントの選択」で自由に通知方法を選択してください。なおその前に「ホーム」→「アカウント編集」でイベント更新通知メッセージの受取方法は「メール」、イベント通知のタイミングは「・・・通知する」となっていることを確認してください。「フォーラム」とその親となる「カテゴリ」に また「トピック」とその親となる「フォーラム」に通知チェックを入れたりするとどちらかがキャンセルされるか二度通知いくようなことが発生しますので親側にチェックいれたらその子には通知チェックはずしておいてください。複雑になってしまったら「ホーム」→「イベント通知機能」で整理するといいでしょう。

投稿数ランキング
1 chira3903 51
2 ttabuchi 43
3 emy 25
4 jun 20
5 chong 20
6 hiro888 15
7 mkouso 11
8 sarjan 11
9 saku_saperp 11
10 ishikawa 10

Re: CALL TRANSACTION のリターンコード

このトピックの投稿一覧へ

満足 Re: CALL TRANSACTION のリターンコード

msg# 1.1.1
depth:
2
前の投稿 - 次の投稿 | 親投稿 - 子投稿なし | 投稿日時 2014-6-12 17:48
ishikawa  新米   投稿数: 10
返事が遅れてすみません。
ojojojojojoj 様 ご教示頂きありがとうございました。
現在、事象の再発は発生しておらず、次回発生するまで様子見・・の状態となっており
解決そのものには至っていない状況です。

やはり 「message into itab」でメッセージを拾わないと、
予期せぬことが起こる可能性があるのですね。

オンラインプログラムでログ採取もしておらず
メッセージ表示そのものはされていないのでわかりませんが、
同期更新(UPDATE "S")のため、伝票番号採番にてメッセージ返却後、
処理遅延のワーニングメッセージが実は出力されたりしているのかもしれないと考えていました。

ソースは以下の通りで、サブルーチンにて未転記伝票発伝を行い、
その未転記伝票の伝票番号をアドオンテーブルに追加更新するという処理です。
この処理にて伝票番号が取得出来ない状態("")でアドオンテーブルが更新される不具合が発生しました。
CALL TRANSACTION直後にSY-MSGV1の伝票番号を変数に格納しているので問題ないと考えていました。
伝票番号なしですが、アドオンテーブルの更新自体はされているため、
SY-SUBRCとしては"0”ですが、伝票番号が返却されていない(または変数が上書きされた)という
状況になったという事になります。

なお、何故 FLG_SUBRC が"USING"なのか等、突っ込みどころはあるかもしれませんが
通常は何の問題もなくこのプログラムにて稼働しています。

急ぎではありませんが、もしお分かりの点があればご教示頂ければと思います。

■■■■■■■■
■サブルーチン■
■■■■■■■■
FORM BATCH_INPUT USING FLG_SUBRC
〜略〜

* トランザクション呼出し
CALL TRANSACTION 'FBV1' USING IT_BDCDATA " FBV1
MODE W_BDC_MODE
UPDATE 'S'.
* 結果判定
IF SY-SUBRC <> 0.
ELSE.
MOVE SY-MSGV1 TO ZSK0010-BELNR. " 伝票番号
ENDIF.
MOVE SY-SUBRC TO FLG_SUBRC.

ENDFORM

■■■■■■
■呼出元 ■
■■■■■■
PERFORM BATCH_INPUT USING FLG_SUBRC. " バッチインプット
MESSAGE ID SY-MSGID TYPE SY-MSGTY NUMBER SY-MSGNO
WITH SY-MSGV1 SY-MSGV2 SY-MSGV3 SY-MSGV4.
IF FLG_SUBRC <> 0. " エラーあり
IF FLG_LOCK = C_ON. " ロックされてる?
PERFORM DEQ_ZTK0010 USING ZSK0010-BUKRS
ZSK0010-BELNR
ZSK0010-GJAHR.
ENDIF.
ELSE.
MOVE ZSK0010-BELNR TO ZSK0010-XBLNR.
PERFORM BELNR_ZTK0010. " 内部テーブルへ伝票番号を反映
PERFORM UPDATE_ZTK0010 USING FLG_SUBRC.
IF FLG_SUBRC = 0.
MESSAGE S000(ZK01) WITH TEXT-005 ZSK0010-BELNR ')'. " 更新OK
MOVE C_XOFF TO W_INIT. " 初期化する
MOVE C_XOFF TO FLG_SL_INIT.
CLEAR W_SELLINE.
ENDIF.
ENDIF.
投票数:261 平均点:2.68

投稿ツリー

  条件検索へ


 

Powered by XOOPS Cube 2.1.8© 2010 ERP EXPERT Project  |  COPYLIGHT (C) 2007 Suntec-BS rights reserved.