チケットのBDCバージョンを変更する

BAPIにはワンステップソリューションがありません。BDCを直接使用してください

 

デモ

gt_alv1でループします。ここでsel = 'X'です。

    gt_alv1-app_dateが初期値でない場合。

      gt_alv1-rtype = 'S'。

      gt_alv1-rtmsg = '承認を繰り返す必要はありません'。

      gt_alv1を変更します。

      継続する。

    endif。

 

* gt_alv1-aufnr gt_alv1-gamng_newgt_alv1-xianbを使用してfrm_pro_head_changeを実行します。gt_alv1-rtypegt_alv1-rtmsgを変更します。

* frm_pro_item_changeを実行します。

 

    gt_alv1-reqnmを使用してfrm_req_getを実行します。

*注文画面に入る

    'SAPLCOKO1''0110'を使用してfrm_bdc_dynnrを実行します。

    'CAUFVD-AUFNR'gt_alv1-aufnrを使用してfrm_bdc_fieldを実行します。

    'R62CLORD-FLG_OVIEW''X'を使用してfrm_bdc_fieldを実行します。

    'BDC_OKCODE' '= KPU2'を使用してfrm_bdc_fieldを実行します。「組件

 

    lt_alv2 [] = gt_alv2 []。

    lt_alv2をewahrの降順で並べ替えます。「最初に使用の可能性が最も高いものに変更してください。そうしないと、エラーが報告されます。

    lt_alv2でループします。

      lt_alv2-new_flag = 'X'の場合。「新增

*コンポーネント画面

        'SAPLCOMK''0120'を使用してfrm_bdc_dynnrを実行します。

        'BDC_CURSOR''RESBD-MATNR(01)'を使用してfrm_bdc_fieldを実行します。 "最初の行を見つけます

        'BDC_OKCODE' '= KEIN'を使用してfrm_bdc_fieldを実行します。「差入行

*コンポーネント画面

        'SAPLCOMK''0120'を使用してfrm_bdc_dynnrを実行します。

        'RESBD-POSNR(01)' lt_alv2-posnr_proを使用してfrm_bdc_fieldを実行します。「项

        'RESBD-MATNR(01)' lt_alv2-matnr_newを使用してfrm_bdc_fieldを実行します。「物料

        'RESBD-MENGE(01)' lt_alv2-bdmng_newを使用してfrm_bdc_fieldを実行します。

        'RESBD-VORNR(01)' '0010'を使用してfrm_bdc_fieldを実行します。「工序

        'RESBD-POSTP(01)' 'L'を使用してfrm_bdc_fieldを実行します。 "プロジェクトカテゴリ

        'BDC_OKCODE' '/ 00'を使用してfrm_bdc_fieldを実行します。 "Enter(ファクトリを引き出します)

*コンポーネントの詳細

        'SAPLCOMD''0110'を使用してfrm_bdc_dynnrを実行します。

        'BDC_OKCODE' '= BACK'を使用してfrm_bdc_fieldを実行します。「返回

      else ..「削除と変更は入って見つけなければなりません

*コンポーネント画面

        'SAPLCOMK''0120'を使用してfrm_bdc_dynnrを実行します。

        'BDC_OKCODE' '= P--'を使用してfrm_bdc_fieldを実行します。 "最初のページ

 

*コンポーネント画面

        'SAPLCOMK''0120'を使用してfrm_bdc_dynnrを実行します。

        'BDC_OKCODE' '= AUFS'を使用してfrm_bdc_fieldを実行します。「定位

 

*オリエンテーション画面

        'SAPLCO05''0110'を使用してfrm_bdc_dynnrを実行します。

        'RCOSU-POSNR'lt_alv2-posnr_proを使用してfrm_bdc_fieldを実行します。

        'RCOSU-MATNR'lt_alv2-matnrを使用してfrm_bdc_fieldを実行します。

        'RCOSU-BDMNG'lt_alv2-bdmngを使用してfrm_bdc_fieldを実行します。

        'BDC_OKCODE' '= MORE'を使用してfrm_bdc_fieldを実行します。「确认

        if lt_alv2-del = 'X'。 "削除

*コンポーネント画面

          'SAPLCOMK''0120'を使用してfrm_bdc_dynnrを実行します。

          'RC27X-FLG_SEL(01)' 'X'を使用してfrm_bdc_fieldを実行します。 "最初の行

          'BDC_OKCODE' '= DEL'を使用してfrm_bdc_fieldを実行します。「删除

        else。「変更

*コンポーネント画面

          'SAPLCOMK''0120'を使用してfrm_bdc_dynnrを実行します。

          'BDC_CURSOR''RESBD-POSNR(01)'を使用してfrm_bdc_fieldを実行します。 "最初の行

          'BDC_OKCODE' '= PICK'を使用してfrm_bdc_fieldを実行します。 "アイテムの詳細(ダブルクリック)

 

*コンポーネントの詳細

          'SAPLCOMD''0110'を使用してfrm_bdc_dynnrを実行します。

          lt_alv2-alpgrが初期の場合。

            lt_alv2-matnr_newが初期でない場合。

              'RESBD-MATNR'lt_alv2-matnr_newを使用してfrm_bdc_fieldを実行します。「物料

            endif。

            lt_alv2-bdmng_newが初期でない場合。

              'RESBD-MENGE'lt_alv2-bdmng_newを使用してfrm_bdc_fieldを実行します。 "必要な数量

            endif。

          そうしないと。

            lt_alv2-nomng_newが初期値でない場合。

              'RESBD-NOMNG'lt_alv2-nomng_newを使用してfrm_bdc_fieldを実行します。「原始なら

            endif。

            lt_alv2-ewahr_newが初期値でない場合。

              'RESBD-EWAHR'lt_alv2-ewahr_newを使用してfrm_bdc_fieldを実行します。「使用

            endif。

          endif。

          'BDC_OKCODE' '= BACK'を使用してfrm_bdc_fieldを実行します。「返回

        endif。

      endif。

    エンドループ。

 

*コンポーネントの詳細

    'SAPLCOMK''0120'を使用してfrm_bdc_dynnrを実行します。

    'BDC_OKCODE' '= KOZE'を使用してfrm_bdc_fieldを実行します。「抬头

 

*概要画面

    'SAPLCOKO1''0115'を使用してfrm_bdc_dynnrを実行します。

    gt_alv1-gamng_newが初期でない場合。

      'CAUFVD-GAMNG'gt_alv1-gamng_newを使用してfrm_bdc_fieldを実行します。 "数量(合計数量を最後に変更する必要があります。そうしないと、コンポーネントが数量と一致すると一致しません)

    endif。

    'BDC_OKCODE' '= + COI'を使用してfrm_bdc_fieldを実行します。 "顧客画面

 

*顧客画面

    'SAPLCOKO1''0115'を使用してfrm_bdc_dynnrを実行します。

    gt_alv1-xianb_newが初期でない場合。

      'Z_COCI_AUFK-ZZLINE'gt_alv1-xianb_newを使用してfrm_bdc_fieldを実行します。「ワイヤー

    endif。

    'BDC_OKCODE' '= BU'を使用してfrm_bdc_fieldを実行します。

 

    'CO02'を使用してfrm_bdc_callを実行し、gt_alv1-rtypegt_alv1-rtmsgを変更します。

    gt_alv1-rtype = 'S'の場合。

      gt_alv1-app_date = sy-datum。

      gt_alv1-app_name = sy-uname。

    endif。

    gt_alv1を変更します。

 

    ztpp0023aを更新します。app_date= gt_alv1-app_date app_name = gt_alv1-app_nameを設定します。

    ここで、reqnm = gt_alv1-reqnmです。

    ztpp0023bを更新します。app_date= gt_alv1-app_date app_name = gt_alv1-app_nameを設定します。

    ここで、reqnm = gt_alv1-reqnmです。

  エンドループ。

 

おすすめ

転載: blog.csdn.net/cylcylcylcylwo/article/details/113929323