-1

賃貸契約の作成に使用する、完全にカスタマイズされた SAP 画面があります。ヘルプ/ダイアログ (つまり、F4 ボタン) オプションを使用して税管轄区域を選択すると、編集不可能な州および郡の税フィールドが入力されます。これらの 2 つのフィールドは、ユーザーが実際の州および郡に対して税管轄を検証できるように、厳密に表示するためのものです。

画面全体のすべてのフィールドが有効であることを確認するために、プログラムは以下に示すように PAI フィールド チェーンを使用します。問題は、税管轄フィールドに新しい値を手動で入力して Enter キーを押すと、チェーン内の他のすべてのフィールドも有効でない限り、州と郡が更新されないことです。

DYNP_VALUES_UPDATE以下の他のフィールドのいずれかが無効な場合を除いて、function module を使用して手動で州フィールドと郡フィールドの更新を強制します。チェーン内の他のフィールドの 1 つが無効な場合でも、画面上で州と郡のフィールドを強制的に更新するにはどうすればよいですか? 私はこれは単に不可能だと考え始めています。

税管轄フィールドはkna1-txjcd

PROCESS BEFORE OUTPUT.
MODULE status_0100.

MODULE setup_defaults.              

MODULE screen_modify.                 

MODULE ltext_add_comments_0100.

PROCESS AFTER INPUT.

MODULE cancel AT EXIT-COMMAND.
MODULE user_command_0100.


FIELD t001-bukrs MODULE check_sales_org.                  "DV1K933404


FIELD kna1-j_3gagext
MODULE check_customer_sales_area.

CHAIN.

FIELD: kna1-j_3gagext
       MODULE check_cust_num.
MODULE verify_recipient.                                "DV1K935780
FIELD: zsd_etm_contract-bill_to_party
       MODULE check_bill_to_party.
FIELD zsd_etm_contract-payer
       MODULE check_payer_number.                       "CHG12588

ENDCHAIN.
CHAIN.
FIELD: kna1-txjcd
       MODULE check_txjcd.                              "DV1K933404

FIELD:  zsd_etm_contract-rig_num,
        zsd_etm_contract-ship_via.

FIELD   zsd_etm_contract-well_name.

FIELD:
       zdls_ls, zdls_sc, zdls_twp, zdls_rg, zdls_m.
FIELD: znts_qtr_unit, znts_unit, znts_block,
       znts_map.
FIELD: zlsd_other.
MODULE check_lsd_num .

FIELD: zsd_etm_contract-contact_tel_num,
       zsd_etm_contract-cus_rep_loc,
       zsd_etm_contract-cus_rep_tel_num,
       zsd_etm_contract-cus_rep_fax_num,
       zsd_etm_contract-cus_rep_email,                  "dv1k931160
       zsd_etm_contract-lrg_contract,                   "DV1K935629
       t001-bukrs,                                      "DV1K935752
       zsd_etm_contract-lrg_camp,                       "DV1K935752
       zsd_etm_contract-customer_contact.               "DV1K931062

FIELD:
     zsd_etm_contract-cus_rep_loc
         MODULE check_cus_rep_loc,
    zsd_etm_contract-afe,
    zsd_etm_contract-po,
    zsd_etm_contract-msa,
    zsd_etm_contract-cost_center,
    zsd_etm_contract-gl
          MODULE check_afe_po_msa_num,
    zsd_etm_contract-invoice_approval
        MODULE check_invoice_approval,
    zsd_etm_contract-usage_type
        MODULE check_usage_type.
FIELD:  zsd_etm_contract-lrg_contract,                  "DV1K935629
        t001-bukrs,                                     "DV1K935752
        zsd_etm_contract-lrg_camp.                      "DV1K935752
MODULE check_lrg_entries.                               "DV1K935752


FIELD:
   zsd_etm_contract-prl_rep
       MODULE check_prl_rep,
   zsd_etm_contract-branch
       MODULE check_branch,
   zsd_etm_contract-bill_region, t001-bukrs
       MODULE check_bill_region,
   zsd_etm_contract-eoj_bill
       MODULE check_eoj_bill,
   zsd_etm_contract-sd_shd_flag,
   zsd_etm_contract-next_set_date
       MODULE check_next_set_date,
   zsd_etm_contract-audit_flag,
   zsd_etm_contract-ratetype. " CHG13225 DV1K939527

ENDCHAIN.


CHAIN.
FIELD: zsd_etm_contract-usage_type,
       zsd_etm_contract-well_type.
MODULE check_well_type.
ENDCHAIN.

FIELD zsd_etm_contract-well_type.
MODULE get_well_type_text.

FIELD zsd_etm_contract-unit_num MODULE check_unit_num.

CHAIN.
FIELD: zsd_etm_contract-afe,
       zsd_etm_contract-po,
       zsd_etm_contract-msa,
       zsd_etm_contract-gl.
MODULE combine_fields.
ENDCHAIN.

MODULE fill_wa_etm_contract.
MODULE check_ltext.

MODULE user_command_create_0100.

PROCESS ON VALUE-REQUEST.
FIELD: kna1-txjcd
      MODULE help_txjcd,
     zsd_etm_contract-prl_rep
      MODULE help_prel_rep,
     zsd_etm_contract-bill_to_party
      MODULE help_bill_to_party.
FIELD: zsd_etm_contract-payer
      MODULE help_payer.
FIELD: zsd_etm_contract-ratetype " CHG13225 DV1K939527
      MODULE help_ratetype.    " CHG13225 DV1K939527

更新 以下は、F4 オプションを使用して税管轄コードを最初に提供したときの画面を示すスクリーンショットです。州、郡、市、および対応する税金が更新されることに注意してください。

ここに画像の説明を入力

下の画像では、新しい値を入力して税管轄区域を手動で変更し、Enter キーを押しています。州、郡、市、および対応する税金は変更されていないことに注意してください。それらは完全に異なる値に更新されているはずですが、CHAIN問題のために更新されていないようです (つまり、フィールドが無効な状態にあるため、画面の更新は行われません)。

ここに画像の説明を入力

4

1 に答える 1

-1

を使用して画面を「ハック」できますCALL FUNCTION 'DYNP_VALUES_UPDATE'

エラーがスローされるタイミングと方法を再検討してください。フィールド モジュールとチェーン モジュールの問題を回避するため。例 すべてのフィールド モジュールとチェーン モジュールの後にエラーを発行する

于 2014-07-23T05:48:11.297 に答える