Thursday, 25 January 2024

ME52N Change PR - BDC

 


 refresh it_pr.
  select ebkn~banfn
         ebkn~bnfpo
         ebkn~sakto
         ebkn~aufnr
*         AFVC~LTXA1
*         AFVC~BEDNR
    into corresponding fields of table it_pr
    from ebkn
    where ebkn~aufnr g_aufnr.

*Get Cost Center
  sort it_dat by col_02 col_09.
  sort it_pr by ltxa1 bednr.
  loop at it_pr into wa_pr.
    read table it_dat2 into wa_dat2 with key col_02 wa_pr-ltxa1
*                                             col_09 = wa_pr-BEDNR
                                             binary search.
    if sy-subrc eq 0.
      wa_pr-kostl wa_dat2-col_16.
    endif.
    modify it_pr from wa_pr.
  endloop.

*  Split data.
  it_pr1[] it_pr[].
  delete adjacent duplicates from it_pr comparing banfn.

  clear g_banfn.
  loop at it_pr into wa_pr.
    g_banfn wa_pr-banfn.
  endloop.

  loop at it_pr into wa_pr.
    perform bdc_dynpro      using 'SAPLMEGUI' '0014'.
    perform bdc_field       using 'BDC_OKCODE'
                                  '=MECHOB'.
    perform bdc_field       using 'DYN_6000-LIST'
                                  '   1'.
    perform bdc_field       using 'BDC_CURSOR'
                                  'MEREQ3319-MATNR'.
    perform bdc_dynpro      using 'SAPLMEGUI' '0002'.
    perform bdc_field       using 'BDC_OKCODE'
                                  '=MEOK'.
    perform bdc_field       using 'BDC_CURSOR'
                                  'MEPO_SELECT-BANFN'.
    perform bdc_field       using 'MEPO_SELECT-BANFN'    wa_pr-banfn.
    perform bdc_field       using 'MEPO_SELECT-BSTYP_B'
                                  'X'.
    perform bdc_dynpro      using 'SAPLMEGUI' '0014'.
    perform bdc_field       using 'BDC_OKCODE'
                                  '=MEV4001BUTTON'.
    perform bdc_field       using 'BDC_CURSOR'
                                  'DYN_6000-LIST'.
    perform bdc_field       using 'DYN_6000-LIST'
                                  '   1'.
    perform bdc_dynpro      using 'SAPLMEGUI' '0014'.
    perform bdc_field       using 'BDC_OKCODE'
                                  '=TABREQDT6'.
    perform bdc_field       using 'DYN_6000-LIST'
                                  '   1'.

    loop at it_pr1 into wa_pr1.
      perform bdc_dynpro      using 'SAPLMEGUI' '0014'.
      perform bdc_field       using 'BDC_OKCODE'
                                    '=FORWARD3200'.
      perform bdc_field       using 'DYN_6000-LIST'
                                    '   1'.
      perform bdc_field       using 'MEACCT1100-SAKTO'
                                    '41310-0000'.
      perform bdc_field       using 'BDC_CURSOR'
                                    'COBL-KOSTL'.
      perform bdc_field       using 'COBL-KOSTL'     wa_pr1-kostl.
    endloop.

    perform bdc_dynpro      using 'SAPLMEGUI' '0014'.
    perform bdc_field       using 'BDC_OKCODE'
                                  '=MESAVE'.
    perform bdc_transaction using 'ME52N'.
  endloop.





 

No comments:

Post a Comment

Visitor

Code Syntax Try...Endtry

  Code : Report Try. Parameters  NUMBER  type  I . data  RESULT  type  P  decimals  2 . data  OREF  type  ref  to  CX_ROOT . data  TEXT  typ...