2016-03-20 11 views
0

ISU_DB_EANL_UPDATE汎用モジュールを使用して、EANLテーブルのインストールタイプフィールドのスペースを削除する必要があります。私はコードを書いた。しかし、ISU_DB_EANL_UPDATEは常にsy-subrcを0として返しています。テーブルが更新されていない場合、ISU_DB_EANL_UPDATEはsy-subrcを0ではなく0として返します。これの背後にある理由はわかりません。ここに私のコードがあります。この件について私を助けてください。EANLテーブルのインストールタイプを更新する際のABAPヘルプ

LOOP AT gt_eanl INTO gs_eanl. 
    ls_eanl_new = gs_eanl. 
    lv_temp = ls_eanl_new-anlart. 
    if lv_temp ca ''. 
    CONDENSE lv_temp. 
    ls_eanl_new-anlart = lv_temp. 
    endif. 


    CALL FUNCTION 'ISU_DB_EANL_UPDATE' 
     EXPORTING 
     x_eanl  = ls_eanl_new 
     x_eanl_old = gs_eanl 
     x_upd_mode = 'U'. 

    IF sy-subrc NE 0. 
     write:'eanl not updated'. 
     skip. 

    ELSE. 

     write:'eanl updated'. 
     skip. 

    ENDIF. 
    ENDLOOP. 

出力は常にeanlとして更新されます。私はまた、スペースのないanlartの値でテストしました。しかし、また、sy-subrcは0です。助けてください。

+0

あなたは 'EANL'テーブルにいくつのエントリを持っていますか? – Jagger

答えて

0

他のパラメータを確認する:FM:ISU_DB_EANL_UPDATE。

+0

私はあなたが言っていることを得ていませんでした。あなたはそれをもっと明確に@Bhaveshで説明できますか? – user3757558

+0

他のパラメータをチェックすると、例外を返すかのように、これをキャッチできます。 – Bhavesh

+0

私はプログラムをデバッグしました。しかし、呼び出し関数ISU_DB_EANL_UPDATEの実行後、sy-tabixは1になります。 – user3757558

0

SYU-SUBRCが設定されていないため、ISU_DB_EANL_UPDATEの呼び出しで例外を指定していません。 EXCEPTIONSの追加OTHERS = 1はすべての例外を1にマップします。つまり、例外がスローされるとSY-SUBRCは呼び出し後1になります。これは何かが失敗したことを伝えますが、FMはおそらく多くの異なる例外を投げるでしょう。あなたは何が起こったのかを知るためにこれらをすべて異なる値でキャッチする方が良いでしょう。

+0

に例外が指定されていません。私は今何をしますか? – user3757558

+0

インストールを作成するためのより良い方法をお探しください。 [MDG](http://help.sap.com/saphelp_erp2005/helpdata/JA/9d/a35085b8ac0f4e9da5d169a003e2d4/content.htm?frameset=/JA/9d/a35085b8ac0f4e9da5d169a003e2d4/frameset.htm¤t_toc=/JA/38/1a6c35a018d041e10000009b38f839/plain。 htm&node_id = 85&show_children = true#jump85)が気になります。または、FM ISU_S_INSTLN_CREATEを試してください。 –

+0

実際には、特定のインストール用のeanlテーブルのインストールタイプ(anlart)を更新しています。私は新しいインストールを作成していません。それは私がFM ISU_DB_EANL_UPDATEを使用している理由です。この問題で私を助けてください。 – user3757558

関連する問題