Application Development and Automation Discussions
Join the discussions or start your own on all things application development, including tools and APIs, programming models, and keeping your skills sharp.
cancel
Showing results for 
Search instead for 
Did you mean: 
Read only

report

Former Member
0 Likes
276

Hi All,

can any body tell me how can i show the below output in ALV

using list_display how can i pass the "sale_tax_report_cc "

in an ALV output table.

This is structure and the output is below the structure


data: begin of sale_tax_report_cc ,
          DATA : BEGIN OF sale_tax_report_cc OCCURS 100,  "this is finaltable
       bukrs(3),
       vbeln(10),                                           "8 EARLIER
       bstnk(20),
       netwf(13),
       budat(8),
       aubel(10),
       kzwi5(6) TYPE p DECIMALS 2,
       cityc(4),
       counc(3),
       kunsh(6),
       land1(2),
       regio(2),
       kunag(6),
       netwr(6) TYPE p DECIMALS 2,
       taxk1(2),
       kunbp(35),
       txjcd(15),
end of sale_tax_report_cc.

,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,
FORM company_sort_print_new.

  SORT sale_tax_report BY bukrs vbeln belnr.
  LOOP AT sale_tax_report.
    MOVE-CORRESPONDING sale_tax_report TO sale_tax_report_cc.
    sale_tax_report_cc-vbeln+6(2) = sale_tax_report-belnr(2).
    APPEND sale_tax_report_cc.

    it_vbrp-vbeln = sale_tax_report_cc-vbeln.
    CALL FUNCTION 'CONVERSION_EXIT_ALPHA_INPUT'
         EXPORTING
              INPUT  = it_vbrp-vbeln
         IMPORTING
              OUTPUT = it_vbrp-vbeln.
    append it_vbrp.
    clear it_vbrp.

  ENDLOOP.

*Modified by sreddy2
  PERFORM TAX_AMOUNT.
*end of modification
  SORT sale_tax_report_cc BY bukrs vbeln.
  LOOP AT sale_tax_report_cc.
*end of modification sreddy2
*-----------company code total
    MOVE sale_tax_report_cc-bukrs TO new_bukrs.
    IF old_bukrs = ' ' .
      WRITE : /5 'Company Code' , sale_tax_report_cc-bukrs COLOR 4.
      SKIP 1.
      MOVE sale_tax_report_cc-bukrs TO old_bukrs.
    ENDIF.

    IF new_bukrs NE old_bukrs.
      ULINE.
      WRITE : /5 'Company Code' , new_bukrs COLOR 4.
      WRITE : /5 'Company Total' COLOR 4,
* Modification Begins GPILLI 04Jan2007 R3DK955507
*             82  TOTAL_INV_AMT COLOR 6,
*             97 TOTAL_TAX_AMT COLOR 6.
             82  total_inv_amt ,
             97 total_tax_amt .
* Modification Ends GPILLI 04Jan2007 R3DK955507
      old_bukrs = sale_tax_report_cc-bukrs.
      total_inv_amt  = sale_tax_report_cc-netwr.
      total_tax_amt  = sale_tax_report_cc-kzwi5.
      WRITE: /1 pattern, 50 pattern, 100 pattern .

*------10/15/1999.
      SKIP 1.
    ELSEIF new_bukrs = old_bukrs.
      total_inv_amt = ( total_inv_amt +
                             sale_tax_report_cc-netwr ).
      total_tax_amt = ( total_tax_amt +
                             sale_tax_report_cc-kzwi5 ).
    ENDIF.

*----------write detail report.
    WRITE : /2 sale_tax_report_cc-regio,
            09 sale_tax_report_cc-counc,
            16 sale_tax_report_cc-cityc.

*   CONCATENATE SALE_TAX_REPORT-VBELN SALE_TAX_REPORT-BELNR INTO
*INVOICE*.
    WRITE:  26 sale_tax_report_cc-vbeln,
            37 sale_tax_report_cc-kunbp.

*----date conversion routine.
    MOVE sale_tax_report_cc-budat+0(4) TO year.
    MOVE sale_tax_report_cc-budat+4(2) TO month.
    MOVE sale_tax_report_cc-budat+6(2) TO day.
    CONCATENATE month '/' day '/' year INTO char_date.
*        66 sale_tax_report-budat.
    WRITE : 66 char_date.
*    WRITE : 79 SALE_TAX_REPORT-TAXK1, "Volety
    WRITE  : 84 sale_tax_report_cc-netwr, "Volety
             99 sale_tax_report_cc-kzwi5 color 1,
             115  sale_tax_report_cc-kunbp.
*    modification by sreddy2
    loop at it_vbrp where vbeln = SALE_TAX_REPORT_CC-vbeln.
      write : /2 sale_tax_report_cc-regio,
              09 sale_tax_report_cc-counc,
              16 sale_tax_report_cc-cityc,
              26 sale_tax_report_cc-vbeln,
              94 it_vbrp-mwsbp.
     endloop.
*    end of modifaction
  ENDLOOP.
  SKIP 1.
  WRITE : /5 'Company Code' , sale_tax_report_cc-bukrs COLOR 4,
* Modification Begins GPILLI 04Jan2007 R3DK955507
*           82 TOTAL_INV_AMT COLOR 6 ,
*           97 TOTAL_TAX_AMT  COLOR 6.
           82 total_inv_amt ,
           97 total_tax_amt .
* Modification Ends GPILLI 04Jan2007 R3DK955507

  ULINE.
  WRITE: /1 pattern, 50 pattern, 100 pattern, 150 pattern , 200 pattern.
  SKIP .

Advance Thanks <REMOVED BY MODERATOR>

Edited by: Alvaro Tejada Galindo on Feb 5, 2008 12:43 PM

1 REPLY 1
Read only

former_member156446
Active Contributor
0 Likes
248

Hi KSR

first you need to build the field catalog, of all the fields in the structure to show in output.. Award points if helpful

example:


CLEAR AFIELD.
AFIELD-Col_pos = 2.
AFIELD-fieldname = '<field name>'.
APPEND AFIELD TO FIELDCAT.
CLEAR FIELDCAT.

CALL FUNCTION 'REUSE_ALV_LIST_DISPLAY'
EXPORTING

    * I_INTERFACE_CHECK = ' '
    * I_BYPASSING_BUFFER =
    * I_BUFFER_ACTIVE = ' '

I_CALLBACK_PROGRAM = G_REPID

    * I_CALLBACK_PF_STATUS_SET = ' '
    * I_CALLBACK_USER_COMMAND = ' '

I_STRUCTURE_NAME = 'MAT_OUT'
IS_LAYOUT = GS_LAYOUT
IT_FIELDCAT = IT_FIELDCAT

    * IT_EXCLUDING =
    * IT_SPECIAL_GROUPS =
    * IT_SORT =
    * IT_FILTER =
    * IS_SEL_HIDE =
    * I_DEFAULT = 'X'

I_SAVE = 'A'
IS_VARIANT = GS_VARIANT
IT_EVENTS = GT_EVENTS[]

    * IT_EVENT_EXIT =
    * IS_PRINT =
    * IS_REPREP_ID =
    * I_SCREEN_START_COLUMN = 0
    * I_SCREEN_START_LINE = 0
    * I_SCREEN_END_COLUMN = 0
    * I_SCREEN_END_LINE = 0
    * IR_SALV_LIST_ADAPTER =
    * IT_EXCEPT_QINFO =
    * I_SUPPRESS_EMPTY_DATA = ABAP_FALSE
    * IMPORTING
    * E_EXIT_CAUSED_BY_CALLER =
    * ES_EXIT_CAUSED_BY_USER =

TABLES
T_OUTTAB = MAT_OUT  " <<<your data table goes here
EXCEPTIONS
PROGRAM_ERROR = 1
OTHERS = 2
.
IF SY-SUBRC 0.

    * MESSAGE ID SY-MSGID TYPE SY-MSGTY NUMBER SY-MSGNO
    * WITH SY-MSGV1 SY-MSGV2 SY-MSGV3 SY-MSGV4.

ENDIF.

check this whole code:


TYPE-POOLS : slis.

TABLES : mseg.

DATA : BEGIN OF itab_head OCCURS 0,
matnr LIKE mseg-matnr,
werks LIKE mseg-werks,
END OF itab_head.

DATA : BEGIN OF itab_item OCCURS 0,
matnr LIKE mseg-matnr,
werks LIKE mseg-werks,
mblnr LIKE mseg-mblnr,
menge LIKE mseg-menge,
END OF itab_item.

DATA : t_fcat TYPE slis_t_fieldcat_alv,
key_info TYPE slis_keyinfo_alv,
t_eve TYPE slis_t_event,
gt_subtot TYPE slis_t_sortinfo_alv,
subtot LIKE LINE OF gt_subtot,
t_listhead TYPE slis_t_listheader,
st_line TYPE slis_listheader.

DATA : t_mtdoc LIKE mseg-mblnr.

SELECT-OPTIONS : mat FOR mseg-matnr.

INITIALIZATION.
PERFORM build_cat USING t_fcat.
PERFORM build_eve.

START-OF-SELECTION.
PERFORM get_data.
PERFORM dis_data.

&---------------------------------------------------------------------
*& Form build_cat
&---------------------------------------------------------------------

    * text

----------------------------------------------------------------------

    * -->TEMP_FCAT text

----------------------------------------------------------------------
FORM build_cat USING temp_fcat TYPE slis_t_fieldcat_alv.

DATA : wa_fcat TYPE slis_fieldcat_alv.

wa_fcat-tabname = 'ITAB_HEAD'.
wa_fcat-fieldname = 'MATNR'.
wa_fcat-seltext_m = 'Material'.
APPEND wa_fcat TO temp_fcat.
CLEAR wa_fcat.

wa_fcat-tabname = 'ITAB_HEAD'.
wa_fcat-fieldname = 'WERKS'.
wa_fcat-seltext_m = 'Plant'.
APPEND wa_fcat TO temp_fcat.
CLEAR wa_fcat.

wa_fcat-tabname = 'ITAB_ITEM'.
wa_fcat-fieldname = 'MBLNR'.
wa_fcat-seltext_m = 'Material Doc.'.
APPEND wa_fcat TO temp_fcat.
CLEAR wa_fcat.

wa_fcat-tabname = 'ITAB_ITEM'.
wa_fcat-fieldname = 'MENGE'.
wa_fcat-seltext_m = 'Quantity'.
wa_fcat-do_sum = 'Y'.
APPEND wa_fcat TO temp_fcat.
CLEAR wa_fcat.

subtot-spos = 1.
subtot-fieldname = 'MATNR'.
subtot-tabname = 'ITAB_HEAD'.
subtot-up = 'X'.
subtot-group = 'X'.
subtot-subtot = 'X'.
subtot-expa = 'X'.
APPEND subtot TO gt_subtot.

ENDFORM. "build_cat

&---------------------------------------------------------------------
*& Form build_eve
&---------------------------------------------------------------------

    * text

----------------------------------------------------------------------
FORM build_eve.

DATA : wa_eve TYPE slis_alv_event.

CALL FUNCTION 'REUSE_ALV_EVENTS_GET'
EXPORTING
i_list_type = 0
IMPORTING
et_events = t_eve

    * EXCEPTIONS
    * LIST_TYPE_WRONG = 1
    * OTHERS = 2

.
IF sy-subrc 0.

    * MESSAGE ID SY-MSGID TYPE SY-MSGTY NUMBER SY-MSGNO
    * WITH SY-MSGV1 SY-MSGV2 SY-MSGV3 SY-MSGV4.

ENDIF.

    * READ TABLE t_eve INTO wa_eve WITH KEY name = 'TOP_OF_PAGE'.
    * IF sy-subrc = 0.
    * wa_eve-form = 'TOP_OF_PAGE'.
    * MODIFY t_eve FROM wa_eve INDEX sy-tabix.
    * ENDIF.

ENDFORM. "build_eve
&---------------------------------------------------------------------
*& Form get_data
&---------------------------------------------------------------------

    * text

----------------------------------------------------------------------
FORM get_data.

SELECT matnr werks mblnr menge FROM mseg INTO CORRESPONDING FIELDS OF TABLE itab_item
WHERE matnr IN mat.

ENDFORM. "get_data

&---------------------------------------------------------------------
*& Form dis_data
&---------------------------------------------------------------------

    * text

----------------------------------------------------------------------
FORM dis_data.

key_info-header01 = 'MATNR'.
key_info-item01 = 'MATNR'.
key_info-header02 = 'WERKS'.
key_info-item02 = 'WERKS'.

REFRESH itab_head.
LOOP AT itab_item.
ON CHANGE OF itab_item-matnr OR itab_item-werks.
MOVE-CORRESPONDING itab_item TO itab_head.
APPEND itab_head.
ENDON.
ENDLOOP.

CALL FUNCTION 'REUSE_ALV_HIERSEQ_LIST_DISPLAY'
EXPORTING
i_callback_program = 'ZALV_PRDS'

    * i_callback_user_command = 'USER_COMMAND'

it_fieldcat = t_fcat
it_sort = gt_subtot
it_events = t_eve[]
i_tabname_header = 'ITAB_HEAD'
i_tabname_item = 'ITAB_ITEM'
is_keyinfo = key_info
TABLES
t_outtab_header = itab_head
t_outtab_item = itab_item

    * EXCEPTIONS
    * PROGRAM_ERROR = 1
    * OTHERS = 2

.
IF sy-subrc 0.

    * MESSAGE ID SY-MSGID TYPE SY-MSGTY NUMBER SY-MSGNO
    * WITH SY-MSGV1 SY-MSGV2 SY-MSGV3 SY-MSGV4.

ENDIF.

ENDFORM. "dis_data


&---------------------------------------------------------------------
*& Form top_of_page
&---------------------------------------------------------------------

    * text

----------------------------------------------------------------------
FORM top_of_page.

CLEAR st_line.
st_line-typ = 'H'.
st_line-info = 'Dhwani Shah'.
APPEND st_line TO t_listhead.

CALL FUNCTION 'REUSE_ALV_COMMENTARY_WRITE'
EXPORTING
it_list_commentary = t_listhead

    * I_LOGO =
    * I_END_OF_LIST_GRID =
    * I_ALV_FORM =

.

ENDFORM. "top_of_page