- SAP

2017-01-19 14 views
2

私はBAPIコールの内部強化のための価値を輸出しようとしているが、その背景には更新タスクで実行されます。しかし、この値はエンハンスメントの中で読み取られていませんが、ローカルテストを行うと値がメモリから正しく読み込まれます。- SAP

なぜこれが機能しないのかについてのアイデアはありますか?

これは私のコードです:

輸出プログラム:(エンハンスメント内側)

DATA: lv_id TYPE char30. 

CONCATENATE 'ZTCODE' sy-uname 
    INTO lv_id. 

EXPORT ztcode FROM iv_tcode TO MEMORY ID lv_id. 

インポートプログラム:

DATA: lv_tcode TYPE sy-tcode, 
     lv_id  TYPE char30. 

CONCATENATE 'ZTCODE' sy-uname 
    INTO lv_id. 

IMPORT ztcode TO lv_tcode FROM MEMORY ID lv_id. 

答えて

3

どうやらあなたはユーザーセッションからデータを転送しようとしています背景/更新セッション。これは、ABAPメモリを使用しては機能しません。 ABAP Memory Organizationのドキュメントをチェックしてください:RFC呼び出しまたは更新モジュールが、異なるABAPメモリを持つ異なるユーザーセッションで実行されています。

+0

ありがとう、その図はそれをうまく説明します。 関連する質問が1つありますが、適切な文書が見つかりませんでした.EXTORTを「データベースにindx(st)」というオプションのメリットと違いがありますか? – Beto

+0

その文のオンラインヘルプ/構文のドキュメントを確認しましたか? – vwegert

+0

はい、それはdiffが何であるか明確ではありません。そして、時にはそれは私が「DATABASE TO」の構文を使用している場合は動作しますが、私は尋ねた理由は... – Beto