Add More Field in MKVZ tcode

Add More Field / Custom Field in MKVZ tcode 


1. Append Structure

- Go to SE11 and add your custom field into MERE_OUTTAB_MKVZ structure
MKVZ Structure

2. Implement Logic

- Go to SE38, open program RMKVVZ00, and click on insert to add a new coding block
MKVZ Program

*{   INSERT         DS8K900556                                        1


"Add New Additional Column MKVZ
  FIELD-SYMBOLS : <fs_lief> LIKE LINE OF it_lief.

  DATA: lt_lines    TYPE STANDARD TABLE OF tline,
        lv_name     TYPE thead-tdname.

      SELECT crdat, crusr, found_dat, partner
      FROM but000
      INTO TABLE @DATA(lt_BUT000)
      FOR ALL ENTRIES IN @it_lief
      WHERE partner = @it_lief-lifnr.

      SELECT lifnr, banks, bankl, bankn, koinh
        FROM lfbk
        INTO TABLE @DATA(lt_lfbk)
        FOR ALL ENTRIES IN @it_lief
        WHERE lifnr = @it_lief-lifnr.

      SELECT lifnr, stceg
        FROM lfa1
        INTO TABLE @DATA(lt_lfa1)
        FOR ALL ENTRIES IN @it_lief
        WHERE lifnr = @it_lief-lifnr.

      SELECT a~partner, a~istype AS butistype, a~ind_sector AS butsec, b~istype AS tbistype, b~ind_sector AS tbsec, text
        FROM but0is AS a
        LEFT JOIN tb038b AS b ON b~istype = a~istype AND b~ind_sector = a~ind_sector
        INTO TABLE @DATA(lt_tb038b)
        FOR ALL ENTRIES IN @lt_but000
        WHERE partner = @lt_but000-partner.

      IF lt_lfbk[] IS NOT INITIAL.
        SELECT banks, bankl, banka
          FROM bnka
          INTO TABLE @DATA(lt_bnka)
          FOR ALL ENTRIES IN @lt_lfbk
          WHERE banks = @lt_lfbk-banks
          AND bankl = @lt_lfbk-bankl.
      ENDIF.

      SORT lt_but000 BY partner.

      LOOP AT it_lief ASSIGNING <fs_lief>.
        lv_name = <fs_lief>-lifnr.

        CLEAR <fs_lief>-comodity.
        REFRESH lt_lines.
        CALL FUNCTION 'READ_TEXT'
          EXPORTING
            id                            = 'LNAM'
            language                      = sy-langu
            NAME                          = lv_name
            OBJECT                        = 'BUT000'
          TABLES
            lines                         = lt_lines
           EXCEPTIONS
             ID                            = 1
             LANGUAGE                      = 2
             NAME                          = 3
             NOT_FOUND                     = 4
             OBJECT                        = 5
             REFERENCE_CHECK               = 6
             WRONG_ACCESS_TO_ARCHIVE       = 7
             OTHERS                        = 8.
          IF lt_lines[] IS INITIAL.
            CLEAR <fs_lief>-comodity.
          ELSE.
            CLEAR <fs_lief>-comodity.
            LOOP AT lt_lines ASSIGNING FIELD-SYMBOL(<fs_lines>).
              CONCATENATE <fs_lief>-comodity <fs_lines>-tdline INTO <fs_lief>-comodity SEPARATED BY space.
              CONDENSE <fs_lief>-comodity.
              CLEAR <fs_lines>.
            ENDLOOP.
          ENDIF.

        READ TABLE lt_but000 ASSIGNING FIELD-SYMBOL(<fs_but000>)
        WITH KEY partner = <fs_lief>-lifnr BINARY SEARCH.
        IF sy-subrc = 0.
          <fs_lief>-crdat = <fs_but000>-crdat.
          <fs_lief>-crusr = <fs_but000>-crusr.
          <fs_lief>-found_dat = <fs_but000>-found_dat.

          READ TABLE lt_tb038b ASSIGNING FIELD-SYMBOL(<fs_tb038b>)
          WITH KEY partner = <fs_but000>-partner.
          IF sy-subrc = 0.
            <fs_lief>-description = <fs_tb038b>-text.
          ENDIF.
        ENDIF.

        READ TABLE lt_lfbk ASSIGNING FIELD-SYMBOL(<fs_lfbk>)
        WITH KEY lifnr = <fs_lief>-lifnr.
        IF sy-subrc = 0.
          <fs_lief>-bankn = <fs_lfbk>-bankn.
          <fs_lief>-koinh = <fs_lfbk>-koinh.

          READ TABLE lt_bnka ASSIGNING FIELD-SYMBOL(<fs_bnka>)
          WITH KEY banks = <fs_lfbk>-banks bankl = <fs_lfbk>-bankl.
          IF sy-subrc = 0.
            <fs_lief>-banka = <fs_bnka>-banka.
          ENDIF.
        ENDIF.

        READ TABLE lt_lfa1 ASSIGNING FIELD-SYMBOL(<fs_lfa1>)
        WITH KEY lifnr = <fs_lief>-lifnr.
        IF sy-subrc = 0.
          <fs_lief>-stceg = <fs_lfa1>-stceg.
        ENDIF.
      ENDLOOP.

*}   INSERT


3. Activate and Test

- Activate all the object and run the MKVZ tcode
- Click on Change Layout. You will see the fields that you just added. Double-click each of those fields, then click OK."

Display the custom fields



Comments

Popular posts from this blog

SAP ABAP Mass Download Attachment

Learn How to Use STVARV for Dynamic ABAP Programs

Why Can't I Find This Text in SE16N? Mastering the READ_TEXT Function Module