Skip to Content
-3
Jun 02, 2020 at 12:40 PM

in alv report output i am getting only 8 digits but in table there are 10 digits..!!

259 Views Last edit Jun 02, 2020 at 12:47 PM 3 rev

in alv report output i am getting only 8 digits but in table there are more digits..!! how to get output exactly in table..
*&---------------------------------------------------------------------*
*& Report Z_FI_GLACC
*&---------------------------------------------------------------------*
*&
*&---------------------------------------------------------------------*
REPORT z_fi_glacc NO STANDARD PAGE HEADING.

TABLES : bseg,bkpf,skat.

TYPES: BEGIN OF ty_final,
         sel,
         prctr  TYPE prctr,
         hkont  TYPE hkont,
         belnr  TYPE belnr,
         budat  TYPE budat,
         bldat  TYPE bldat,
         augcp  TYPE augcp,
         pswsl  TYPE pswsl,
         xref1  TYPE xref1,
         sgxtx  TYPE sgtxt,
         dzuonr TYPE dzuonr,
         wrbtr  TYPE wrbtr,
         bktxt  TYPE bktxt,
         cpudt  TYPE cpudt,
         saknr  TYPE saknr,
         txt50  TYPE txt50,

       END OF  ty_final.

DATA: gt          TYPE TABLE OF ty_final,
      gwa         TYPE ty_final,
      it_fcat     TYPE slis_t_fieldcat_alv,
      wa_fcat     TYPE slis_fieldcat_alv,
      gs_layout   TYPE slis_layout_alv,
      gs_varient  TYPE disvariant,
      v_prog      TYPE sy-repid,
      v_name      TYPE sy-uname,
      rs_selfield TYPE slis_selfield,
      v_selfield  TYPE slis_selfield-value,
      r_ucomm     TYPE sy-ucomm.

INITIALIZATION.
  v_prog = sy-repid.
  v_name = sy-uname.

  SELECTION-SCREEN BEGIN OF BLOCK b1 WITH FRAME TITLE TEXT-001.
  SELECT-OPTIONS : s_hkont FOR bseg-hkont,         " gl account num
                   s_budat FOR bseg-h_budat,       " posting data
                   s_prctr FOR bseg-prctr.         " profit centre
  SELECTION-SCREEN END OF BLOCK b1.

START-OF-SELECTION.
  PERFORM get_data.

END-OF-SELECTION.
  PERFORM fcat.
  PERFORM alvcall.
  PERFORM usercmd USING r_ucomm CHANGING rs_selfield.

FORM get_data.

  SELECT prctr,
       hkont,
       belnr,
       h_budat,
       h_bldat,
       augcp,
       pswsl,
       xref1,
       sgtxt,
       zuonr,
       wrbtr FROM bseg INTO TABLE @DATA(l_bseg)
       WHERE hkont IN @s_hkont
       AND h_budat IN @s_budat
*       AND koart = 'S'     " A  Assets
**                            D  Customers
**                            K  Vendors
**                            M  Material
**                            S  G/L accounts

  AND prctr IN @s_prctr.

  CHECK sy-subrc EQ 0.

  SELECT bktxt,
          cpudt,
          belnr
          FROM bkpf INTO TABLE @DATA(l_bkpf) FOR ALL ENTRIES IN  @l_bseg
          WHERE belnr EQ @l_bseg-belnr
  AND budat IN @s_budat.

  IF l_bseg[] IS NOT INITIAL.

    SELECT saknr,
           txt50
           FROM skat INTO TABLE @DATA(l_skat) FOR ALL ENTRIES IN @l_bseg
    WHERE saknr EQ @l_bseg-hkont.

  ENDIF.

  SORT: l_bseg BY belnr ,
        l_bkpf BY belnr.

  LOOP AT l_bseg INTO DATA(w_bseg).
    gwa-prctr = w_bseg-prctr.
    gwa-hkont = w_bseg-hkont.
    gwa-belnr = w_bseg-belnr.
    gwa-budat = w_bseg-h_budat.
    gwa-bldat = w_bseg-h_bldat.
    gwa-augcp = w_bseg-augcp.
    gwa-pswsl = w_bseg-pswsl.
    gwa-xref1 = w_bseg-xref1.
    gwa-sgxtx = w_bseg-sgtxt.
    gwa-dzuonr = w_bseg-zuonr.
    gwa-wrbtr = w_bseg-wrbtr.

    READ TABLE l_bkpf INTO DATA(w_bkpf) WITH KEY belnr = w_bseg-belnr BINARY SEARCH.

    IF sy-subrc EQ 0.
      gwa-bktxt = w_bkpf-bktxt.
      gwa-cpudt = w_bkpf-cpudt.
    ENDIF.

    READ TABLE l_skat INTO DATA(w_skat) WITH KEY saknr = w_bseg-hkont BINARY SEARCH.

    IF sy-subrc EQ 0.
      gwa-saknr = w_skat-saknr.
      gwa-txt50 = w_skat-txt50.
    ENDIF.

    APPEND gwa TO gt.
    CLEAR gwa.
  ENDLOOP.

ENDFORM.

FORM fcat.

  gs_layout-colwidth_optimize = 'X'.
  gs_layout-box_fieldname  = 'SEL'.
  gs_varient-report = sy-repid.

  wa_fcat-fieldname = 'BELNR'.
  wa_fcat-ref_tabname = 'BSEG'.
  wa_fcat-seltext_m = 'Document Number'.
  wa_fcat-hotspot = 'X'.
  wa_fcat-outputlen = ' 15'.
  APPEND wa_fcat TO it_fcat.
  CLEAR wa_fcat.

  wa_fcat-fieldname = 'SGTXT'.
  wa_fcat-ref_tabname = 'BSEG'.
  wa_fcat-seltext_m = 'Item Text'.
  APPEND wa_fcat TO it_fcat.
  CLEAR wa_fcat.

  wa_fcat-fieldname = 'PRCTR'.
  wa_fcat-ref_tabname = 'BSEG'.
  wa_fcat-seltext_m = 'Profit Centre'.
  APPEND wa_fcat TO it_fcat.
  CLEAR wa_fcat.

  wa_fcat-fieldname = 'BUDAT'.
  wa_fcat-ref_tabname = 'BSEG'.
  wa_fcat-seltext_m = 'Posting Date'.
  wa_fcat-datatype    = 'DATS'.
  APPEND wa_fcat TO it_fcat.
  CLEAR wa_fcat.

  wa_fcat-fieldname = 'BLDAT'.
  wa_fcat-ref_tabname = 'BSEG'.
  wa_fcat-seltext_m = 'Document Date'.
  wa_fcat-datatype    = 'DATS'.
  APPEND wa_fcat TO it_fcat.
  CLEAR wa_fcat.

  wa_fcat-fieldname = 'CPUDT'.
  wa_fcat-ref_tabname = 'BKPF'.
  wa_fcat-seltext_m = 'Entry Date'.
  APPEND wa_fcat TO it_fcat.
  CLEAR wa_fcat.

  wa_fcat-fieldname = 'WRBTR'.
  wa_fcat-ref_tabname = 'BSEG'.
  wa_fcat-seltext_m = 'Amount in Document Currency'.
  APPEND wa_fcat TO it_fcat.
  CLEAR wa_fcat.

  wa_fcat-fieldname = 'PSWSL'.
  wa_fcat-ref_tabname = 'BSEG'.
  wa_fcat-seltext_m = 'Currency'.
  APPEND wa_fcat TO it_fcat.
  CLEAR wa_fcat.

  wa_fcat-fieldname = 'DZUONR'.
  wa_fcat-ref_tabname = 'BSEG'.
  wa_fcat-seltext_m = 'Assignmeant'.
  APPEND wa_fcat TO it_fcat.
  CLEAR wa_fcat.

  wa_fcat-fieldname = 'BKTXT'.
  wa_fcat-ref_tabname = 'BKPF'.
  wa_fcat-seltext_m = 'Header Text'.
  APPEND wa_fcat TO it_fcat.
  CLEAR wa_fcat.

  wa_fcat-fieldname = 'SAKNR'.
  wa_fcat-ref_tabname = 'SKA1'.
  wa_fcat-seltext_m = 'G/L Account'.
  APPEND wa_fcat TO it_fcat.
  CLEAR wa_fcat.

  wa_fcat-fieldname = 'XREF1'.
  wa_fcat-ref_tabname = 'BSEG'.
  wa_fcat-seltext_m = 'Business Partner'.
  APPEND wa_fcat TO it_fcat.
  CLEAR wa_fcat.

  wa_fcat-fieldname = 'TXT50_SKAT'.
  wa_fcat-ref_tabname = 'SKAT'.
  wa_fcat-seltext_m = 'Discription'.
  APPEND wa_fcat TO it_fcat.
  CLEAR wa_fcat.

*  APPEND wa_fcat TO it_fcat.
*  CLEAR wa_fcat.


ENDFORM.


FORM alvcall.

  CALL FUNCTION 'REUSE_ALV_GRID_DISPLAY'
    EXPORTING
      i_callback_program      = v_prog
      i_callback_user_command = 'USERCMD'
      i_grid_title            = 'G/L ACCOUNTS DETAILS'
      is_layout               = gs_layout
      it_fieldcat             = it_fcat
      is_variant              = gs_varient
    TABLES
      t_outtab                = gt.


ENDFORM.


FORM  usercmd  USING r_ucoma TYPE sy-ucomm CHANGING rs_selfield TYPE slis_selfield.
  CASE r_ucoma.
    WHEN '&IC1'.
      CASE rs_selfield-fieldname.
        WHEN 'BELNR'.
          SET PARAMETER ID 'BLN'
          FIELD rs_selfield-value.
          CALL TRANSACTION 'FS00' AND SKIP FIRST SCREEN.
      ENDCASE.
  ENDCASE.
ENDFORM.

Attachments

bseg.jpg (44.7 kB)