‎2008 Feb 05 5:12 PM
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
‎2008 Feb 05 5:36 PM
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