Documents on ALV Reporting
Hi,
Could you please send me the detailed document links and PDFs if you have any on <b>ALV reporting</b> to my email - [email protected]
Thanks,
Bobby.
Here you go ...
http://www.geocities.com/mpioud/Abap_programs.html
http://www.geocities.com/mpioud/Z_DEMO_ALV_REFRESH_BUTTON.html
http://www.sap-img.com/fu037.htm
/people/ravikumar.allampallam/blog/2005/06/01/alv-reporting-using-controls--part-i
/people/ravikumar.allampallam/blog/2005/06/01/alv-reporting-using-controls-control-layouts--part-ii
/people/thomas.jung3/blog/2005/10/26/alv-om-template-program
/people/sap.user72/blog/2005/09/14/a-new-approach-to-alv-programming
/people/thomas.jung3/blog/2005/09/08/oo-abap-dynpro-programming
/people/ravikumar.allampallam/blog/2005/05/31/expand-the-list-of-columns-in-a-report-dynamically
/people/subramanian.venkateswaran2/blog/2004/11/19/dynamic-internal-table
/people/ravikumar.allampallam/blog/2005/12/05/need-a-way-to-change-appearance-of-a-standard-existing-alv-report
Apart from these search for articles on ALV, you will get a quite a few.
Regards,
Ravi
Note : Please mark the helpful answers
Similar Messages
-
i want to make some MM ALV REPORT please send me detail step by step or send me any detail document about alv report.
email address: [email protected]
mobile: 0569156323Hi Ahmed,
Check these links.
http://www.geocities.com/mpioud/Abap_programs.html
http://www.sapdevelopment.co.uk/reporting/reportinghome.htm
Simple ALV report
http://www.sapgenie.com/abap/controls/alvgrid.htm
http://wiki.ittoolbox.com/index.php/Code:Ultimate_ALV_table_toolbox
Regards,
Priyanka. -
Alv report on material document
hi to all thankds in advancee
can u pls give coding for the report following
created alv report to display materila document list per given receiving plant , receving storage location , and supplying plant , receving supplying storage location movemnt type and document date .
thanksHi,
Use another internal table to display output.
make changes in new table from previous table.
loop at itab.
at new <matnr>.
jtab = itab. " Copy all the fields from itab to jtab and append
append jtab.
continue.
endat.
ord_quan = ord_quan + count1.
ship_quan = ship_quan + count2.
at end of <matnr>.
itab-ord-quan = ord-quan.
itab-ship_quan = ship_quan.
itab-balance = itab-ord_quan - itab-ship_quan.
jtab = itab.
append jtab.
endat.
clear itab.
endloop.
Use this JTAB to print the output.
Regards,
Bhanu -
Nee help on ALV report for Total of BSEG-BUZEI & F1 document in FB03
Hi friends,
I need to diplay line items total & when double clicked on BELNR field it should open the F1 document in FB03.
Could anyone plz guide me on this.
Waiting for response.
below is my code,
Kindly needed help.
REPORT YALV_1.
TABLES : BKPF,BSEG.
Data for ALV display
TYPE-POOLS: SLIS.
data : int_fcat type SLIS_T_FIELDCAT_ALV,
fieldcatalog type slis_t_fieldcat_alv with header line.
DATA: wa_sortinfo TYPE slis_sortinfo_alv,
i_sortcat TYPE slis_t_sortinfo_alv.
TYPES : BEGIN OF T_BKPF,
BUKRS TYPE BKPF-BUKRS,
BELNR TYPE BKPF-BELNR,
GJAHR TYPE BKPF-GJAHR,
BLART TYPE BKPF-BLART,
BLDAT TYPE BKPF-BLDAT,
BUDAT TYPE BKPF-BUDAT,
END OF T_BKPF.
types: begin of t_bseg,
BUZEI TYPE BSEG-BUZEI,
end of t_bseg.
DATA : it_bkpf TYPE STANDARD TABLE OF t_bkpf with header line,
wa_bkpf TYPE t_bkpf,
it_bseg type standard table of t_bseg.
wa_bseg type t_bseg.
field to store report name
DATA : i_repid like sy-repid.
select bukrs belnr gjahr blart bldat budat from bkpf into table
it_bkpf where blart = 'AA'.
field to check table length
*data i_lines like sy-tabix.
*Start-of-selection.
START-OF-SELECTION.
perform data_retrieval.
perform build_fieldcatalog.
PERFORM sortcat_init CHANGING i_sortcat.
perform display_alv_report.
*& Form BUILD_FIELDCATALOG
Build Fieldcatalog for ALV Report
form build_fieldcatalog.
There are a number of ways to create a fieldcat.
For the purpose of this example i will build the fieldcatalog manualy
by populating the internal table fields individually and then
appending the rows. This method can be the most time consuming but
*can
also allow you more control of the final product.
Beware though, you need to ensure that all fields required are
populated. When using some of functionality available via ALV, such
*as
total. You may need to provide more information than if you were
simply displaying the result
I.e. Field type may be required in-order for
the 'TOTAL' function to work.
fieldcatalog-fieldname = 'BUKRS'.
fieldcatalog-seltext_m = 'Company Code'.
fieldcatalog-col_pos = 0.
fieldcatalog-outputlen = 4.
fieldcatalog-do_sum = 'X'.
fieldcatalog-no_zero = 'X'.
append fieldcatalog to fieldcatalog.
clear fieldcatalog.
fieldcatalog-fieldname = 'BELNR'.
fieldcatalog-seltext_m = 'Doc No'.
fieldcatalog-col_pos = 1.
append fieldcatalog to fieldcatalog.
clear fieldcatalog.
fieldcatalog-fieldname = 'GJAHR'.
fieldcatalog-seltext_m = 'Fiscal Year'.
fieldcatalog-col_pos = 2.
append fieldcatalog to fieldcatalog.
clear fieldcatalog.
fieldcatalog-fieldname = 'BLART'.
fieldcatalog-seltext_m = 'DOC Type'.
fieldcatalog-col_pos = 3.
append fieldcatalog to fieldcatalog.
clear fieldcatalog.
fieldcatalog-fieldname = 'BLDAT'.
fieldcatalog-seltext_m = 'Doc Date'.
fieldcatalog-col_pos = 4.
append fieldcatalog to fieldcatalog.
clear fieldcatalog.
fieldcatalog-fieldname = 'BUDAT'.
fieldcatalog-seltext_m = 'Popsting Date'.
fieldcatalog-col_pos = 5.
append fieldcatalog to fieldcatalog.
clear fieldcatalog.
fieldcatalog-fieldname = 'BUZEI'.
fieldcatalog-seltext_m = 'Line Items'.
fieldcatalog-col_pos = 6.
fieldcatalog-do_sum = 'X'.
append fieldcatalog to fieldcatalog.
clear fieldcatalog.
endform. " BUILD_FIELDCATALOG
FORM sortcat_init CHANGING i_sortcat TYPE slis_t_sortinfo_alv.
CLEAR wa_sortinfo.
wa_sortinfo-fieldname = 'BUKRS'.
wa_sortinfo-tabname = 'T_BKPF'.
wa_sortinfo-spos = 1. " First sort by this field.
wa_sortinfo-up = 'X'. " Ascending
wa_sortinfo-subtot = 'X'. " Subtotal at Name1
APPEND wa_sortinfo TO i_sortcat.
CLEAR wa_sortinfo.
wa_sortinfo-fieldname = 'BELNR'.
wa_sortinfo-tabname = 'T_BKPF'.
wa_sortinfo-spos = 2. " Sec sort by this field.
wa_sortinfo-up = 'X'. " Ascending
wa_sortinfo-subtot = 'X'. " Subtotal at Name1
APPEND wa_sortinfo TO i_sortcat.
ENDFORM. " sortcat_init
*& Form DISPLAY_ALV_REPORT
Display report using ALV grid
form display_alv_report.
i_repid = sy-repid.
call function 'REUSE_ALV_GRID_DISPLAY'
exporting
i_callback_program = i_repid
i_callback_top_of_page = 'TOP-OF-PAGE' "see FORM
i_callback_user_command = 'USER_COMMAND'
i_grid_title = outtext
is_layout = gd_layout
it_fieldcat = fieldcatalog[]
it_sort = i_sortcat
it_special_groups = gd_tabgroup
IT_EVENTS = GT_XEVENTS
i_save = 'X'
is_variant = z_template
tables
t_outtab = IT_BKPF
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. " DISPLAY_ALV_REPORT
*& Form DATA_RETRIEVAL
form data_retrieval.
IF it_bkpf[] IS NOT INITIAL.
select buzei from bseg into
table it_bseg for all entries in it_bkpf
where bukrs = it_bkpf-bukrs
and belnr = it_bkpf-belnr
and gjahr = it_bkpf-gjahr.
endif.
endform. " DATA_RETRIEVAL.Hello
1.
form display_alv_report.
i_repid = sy-repid.
call function 'REUSE_ALV_GRID_DISPLAY'
exporting
i_callback_program = i_repid
i_callback_user_command = 'USER_COMMAND'
it_fieldcat = fieldcatalog[]
i_save = 'X'
tables
t_outtab = IT_BKPF
exceptions
program_error = 1
others = 2.
2.
* FORM USER_COMMAND
FORM user_command USING u_com LIKE sy-ucomm sel_lin TYPE slis_selfield.
CASE u_com.
WHEN '&IC1'.
CASE sel_lin.
WHEN 'BELNR'.
read TABLE IT_BKPF INDEX sel_lin-tabindex.
SET PARAMETER ID 'BLN' FIELD IT_BKPF-BELNR.
SET PARAMETER ID 'BUK' FIELD IT_BKPF-BUKRS.
SET PARAMETER ID 'GJR' FIELD IT_BKPF-GJAHR.
CALL TRANSACTION 'FB03' AND SKIP FIRST SCREEN.
ENDCASE.
CLEAR u_com.
ENDCASE.
ENDFORM. "USER_COMMAND -
I am using below structure for sd alv reports.
BEGIN OF st_vbak,
vbeln TYPE vbak-vbeln,
erdat TYPE vbak-erdat,
END OF st_vbak,
BEGIN OF st_vbfa,
vbelv TYPE vbfa-vbelv,
vbeln1 TYPE vbfa-vbeln,
END OF st_vbfa,
BEGIN OF st_final,
vbeln TYPE vbak-vbeln,
erdat TYPE vbak-erdat,
vbelv TYPE vbfa-vbelv,
vbeln1 TYPE vbfa-vbeln,
END OF st_final.
i need vbeln(sales document no), erdat, vbeln1 (subsequent sd doc) in report output..
i.e. By comparing vbeln -vbak and vbelv-vbfa ,it should show the result.
i need select and loop statemnt...
help plz..
Moderator Message: Stop dumping your Consulting work here without proper effort from your end. You have already been warned many times previously.
Edited by: kishan P on Mar 7, 2012 3:47 PMHi,
Please do some research on SDN. Also refer the PDF for SAP Tables Relation.
Regards,
Danish. -
Can anyone give me document to devlop alv report in object oriented
hi
hi i want document how to devlope alv report in object oriented.
i need document .
thanks .HI,
Check these programs and links.
OOPS ALV standard pgms
BCALV_EDIT_01
BCALV_EDIT_02
BCALV_EDIT_03
BCALV_EDIT_04
BCALV_EDIT_05
BCALV_EDIT_06
BCALV_EDIT_07
BCALV_EDIT_08
ABAP_OBJECTS_ENJOY_0 Template for Solutions of ABAP Object Enjoy Course
ABAP_OBJECTS_ENJOY_1 Model Solution 1: ABAP Objects Enjoy Course
ABAP_OBJECTS_ENJOY_2 Model Solution 2: ABAP Objects Enjoy Course
ABAP_OBJECTS_ENJOY_3 Model Solution 3: ABAP Objects Enjoy Course
ABAP_OBJECTS_ENJOY_4 Model Solution 4: ABAP Objects Enjoy Course
ABAP_OBJECTS_ENJOY_5 Model Solution 5: ABAP Objects Enjoy Course
DEMO_ABAP_OBJECTS Complete Demonstration for ABAP Objects
DEMO_ABAP_OBJECTS_CONTROLS GUI Controls on Screen
DEMO_ABAP_OBJECTS_EVENTS Demonstration of Events in ABAP Objects
DEMO_ABAP_OBJECTS_GENERAL ABAP Objects Demonstration
DEMO_ABAP_OBJECTS_INTERFACES Demonstration of Interfaces in ABAP Objects
DEMO_ABAP_OBJECTS_METHODS Demonstration of Methods in ABAP Objects
DEMO_ABAP_OBJECTS_SPLIT_SCREEN Splitter Control on Screen
some helful links.
Go through the below links,
For Materials:
1) http://help.sap.com/printdocu/core/Print46c/en/data/pdf/BCABA/BCABA.pdf -- Page no: 1291
2) http://esnips.com/doc/5c65b0dd-eddf-4512-8e32-ecd26735f0f2/prefinalppt.ppt
3) http://esnips.com/doc/2c76dc57-e74a-4539-a20e-29383317e804/OO-abap.pdf
4) http://esnips.com/doc/0ef39d4b-586a-4637-abbb-e4f69d2d9307/SAP-CONTROLS-WORKSHOP.pdf
5) http://esnips.com/doc/92be4457-1b6e-4061-92e5-8e4b3a6e3239/Object-Oriented-ABAP.ppt
6) http://esnips.com/doc/448e8302-68b1-4046-9fef-8fa8808caee0/abap-objects-by-helen.pdf
7) http://esnips.com/doc/39fdc647-1aed-4b40-a476-4d3042b6ec28/class_builder.ppt
8) http://www.amazon.com/gp/explorer/0201750805/2/ref=pd_lpo_ase/102-9378020-8749710?ie=UTF8
1) http://www.erpgenie.com/sap/abap/OO/index.htm
2) http://help.sap.com/saphelp_nw04/helpdata/en/ce/b518b6513611d194a50000e8353423/frameset.htm
Regards
Sudheer -
Field Length issue in ALV Report
Hi,
I am using FM REUSE_ALV_GRID_DISPLAY to display few fields. Among them I have a field with length 200 characters text.
During ALV report display I am able to see only 128 characters, But when I download it and see the field, the it is showing complete text.
Can anybody help me out?
Thanks,
RamakrishnaCheck out the last answer of this post.
Re: ALV Grid Display - 255 characters
<i>I found a SAP document called "Using ALV for list display.pdf" that says the following:
"Size of data fields: While the list-based ALVList can display only tables of up to 90 columns, the control-based ALVGrid and ALVFullscreen have the limitation of 128 characters per data cell."</i>
Please make sure to award point for helpful answers and mark the post as solved. Thanks.
Regards,
Rich HEilman -
Regd: Calculation of TOTAL field in ALV report
Hi All,
We have a scenario that we are not getting the total value for numeric fields in ALV report.
Below i have given the code used for it.
G_KEY = 'X'.
G_NOKEY = SPACE.
G_SUM = 'X'.
G_NOSUM = SPACE.
PERFORM BUILD_FIELDCAT USING 'VBELN' G_KEY G_NOSUM.
PERFORM BUILD_FIELDCAT USING 'BLDAT' G_NOKEY G_NOSUM.
PERFORM BUILD_FIELDCAT USING 'VGBEL' G_KEY G_NOSUM.
PERFORM BUILD_FIELDCAT USING 'POSNR' G_KEY G_NOSUM.
PERFORM BUILD_FIELDCAT USING 'MATNR' G_KEY G_NOSUM..
PERFORM BUILD_FIELDCAT USING 'LFIMG' G_NOKEY G_NOSUM.
PERFORM BUILD_FIELDCAT USING 'VRKME' G_NOKEY G_NOSUM.
PERFORM BUILD_FIELDCAT USING 'NETPR' G_NOKEY G_NOSUM.
PERFORM BUILD_FIELDCAT USING 'BRTWR' G_NOKEY G_NOSUM.
PERFORM BUILD_FIELDCAT USING 'VALUE_INR' G_NOKEY G_SUM.
PERFORM BUILD_FIELDCAT USING 'B_DUTY' G_NOKEY G_SUM.
PERFORM BUILD_FIELDCAT USING 'S_TOTAL1' G_NOKEY G_SUM.
PERFORM BUILD_FIELDCAT USING 'CV_DUTY' G_NOKEY G_SUM.
PERFORM BUILD_FIELDCAT USING 'C_CVD' G_NOKEY G_SUM.
PERFORM BUILD_FIELDCAT USING 'S_TOTAL2' G_NOKEY G_SUM.
PERFORM BUILD_FIELDCAT USING 'C_DUTY' G_NOKEY G_SUM.
PERFORM BUILD_FIELDCAT USING 'S_TOTAL3' G_NOKEY G_SUM.
PERFORM BUILD_FIELDCAT USING 'A_DUTY' G_NOKEY G_SUM.
PERFORM BUILD_FIELDCAT USING 'T_DUTY' G_NOKEY G_SUM.
PERFORM BUILD_LAYOUT.
PERFORM BUILD_DISPLAY.
*& Form DISPLAY
text
FORM BUILD_DISPLAY.
CALL FUNCTION 'REUSE_ALV_GRID_DISPLAY'
EXPORTING
I_INTERFACE_CHECK = ' '
I_BYPASSING_BUFFER = ' '
I_BUFFER_ACTIVE = ' '
I_CALLBACK_PROGRAM = ' '
I_CALLBACK_PF_STATUS_SET = ' '
I_CALLBACK_USER_COMMAND = ' '
I_CALLBACK_TOP_OF_PAGE = ' '
I_CALLBACK_HTML_TOP_OF_PAGE = ' '
I_CALLBACK_HTML_END_OF_LIST = ' '
I_STRUCTURE_NAME =
I_BACKGROUND_ID = ' '
I_GRID_TITLE = TEXT-000
I_GRID_SETTINGS =
IS_LAYOUT = IG_LAYOUT
IT_FIELDCAT = IG_FIELDCAT
IT_EXCLUDING =
IT_SPECIAL_GROUPS =
IT_SORT =
IT_FILTER =
IS_SEL_HIDE =
I_DEFAULT = 'X'
I_SAVE = 'A'
IS_VARIANT =
IT_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
I_HTML_HEIGHT_TOP = 0
I_HTML_HEIGHT_END = 0
IT_ALV_GRAPHICS =
IT_HYPERLINK =
IT_ADD_FIELDCAT =
IT_EXCEPT_QINFO =
IR_SALV_FULLSCREEN_ADAPTER =
IMPORTING
E_EXIT_CAUSED_BY_CALLER =
ES_EXIT_CAUSED_BY_USER =
TABLES
T_OUTTAB = IG_INBOUND
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. "DISPLAY
*& Form BUILD_FIELDCAT
text
-->G_FIELDNAME text
-->L_KEY text
-->L_SUM text
FORM BUILD_FIELDCAT USING L_FIELDNAME LIKE DD03L-FIELDNAME L_KEY TYPE C L_SUM TYPE C.
CLEAR WG_FIELDCAT_LN.
ADD 1 TO G_COL_POS.
WG_FIELDCAT_LN-REF_TABNAME = 'IG_INBOUND'.
WG_FIELDCAT_LN-FIELDNAME = L_FIELDNAME.
WG_FIELDCAT_LN-KEY = L_KEY.
WG_FIELDCAT_LN-DO_SUM = L_SUM.
WG_FIELDCAT_LN-COL_POS = G_COL_POS.
WG_FIELDCAT_LN-NO_OUT = SPACE.
WG_FIELDCAT_LN-QFIELDNAME = SPACE.
WG_FIELDCAT_LN-HOTSPOT = SPACE.
APPEND WG_FIELDCAT_LN TO IG_FIELDCAT.
ENDFORM. "BUILD_FIELDCAT
*& Form BUILD_LAYOUT
text
FORM BUILD_LAYOUT.
IG_LAYOUT-TOTALS_TEXT = 'Total Amount'.
*IG_LAYOUT-SUBTOTALS_TEXT = 'A'.
IG_LAYOUT-ZEBRA = 'X'.
ENDFORM.
Help and Sugesstions will be much appreciated.
Thanks & Regds.
Ramesh.This is sample program for the same
REPORT Z_50657_ALV_EX2
NO STANDARD PAGE HEADING
LINE-COUNT 65(3)
LINE-SIZE 220
MESSAGE-ID ZZ.
* Type Pools *
TYPE-POOLS: SLIS, ICON.
* Tables *
TABLES: VBAK. "Sales Document Data
* Internal Tables *
* TABLE TO HOLD DATA OF SALES DOCUMENT
DATA: BEGIN OF IT_VBAK OCCURS 0,
VBELN LIKE VBAK-VBELN, "Sales Document
VBTYP LIKE VBAK-VBTYP, "SD document category
AUDAT LIKE VBAK-AUDAT, "Document date (date received/sent)
AUGRU LIKE VBAK-AUGRU, "Order reason (reason for the business)
AUART LIKE VBAK-AUART, "Sales Document Type
NETWR LIKE VBAK-NETWR, "Net Sales Order in Doc. Currency
WAERK LIKE VBAK-WAERK, "SD document currency
ICON TYPE ICON-ID, "traffic lights
END OF IT_VBAK.
* Work Areas *
*WORK AREAS DEFINED FOR ALV'S
DATA: WA_FIELDCAT TYPE SLIS_FIELDCAT_ALV, "field catalog
IT_FIELDCAT TYPE SLIS_T_FIELDCAT_ALV, "field catalog ITAB
WA_SORT TYPE SLIS_SORTINFO_ALV, "SORT work area
IT_SORT TYPE SLIS_T_SORTINFO_ALV, "SORT ITAB
LAYOUT TYPE SLIS_LAYOUT_ALV, "LAYOUT
WA_FCODE TYPE SLIS_EXTAB, "FUN CODE
I_FCODE_EXTAB TYPE SLIS_T_EXTAB,
WA_EVENTS TYPE SLIS_ALV_EVENT,
IT_EVENTS TYPE SLIS_T_EVENT.
* Selection-Screen *
SELECTION-SCREEN BEGIN OF BLOCK B1 WITH FRAME.
SELECT-OPTIONS: S_VBELN FOR VBAK-VBELN.
PARAMETERS: P_VBTYP LIKE VBAK-VBTYP DEFAULT 'C'.
SELECTION-SCREEN END OF BLOCK B1.
SELECTION-SCREEN BEGIN OF BLOCK B2 WITH FRAME.
PARAMETERS: LIST RADIOBUTTON GROUP G1,
GRID RADIOBUTTON GROUP G1.
SELECTION-SCREEN END OF BLOCK B2.
* At Selection-Screen *
*VALIDATION
* Start of Selection *
START-OF-SELECTION.
*POPULATION OF DATA INTO INTERNAL TABLE ITAB
PERFORM GET_DATA.
*DEFINE USER DEFINED FIELDCATALOG
PERFORM DEFINE_FIELDCATALOG.
*SUBTOTALS AND TOTALS DISPLAY USING SORT
PERFORM SORT_LIST.
*CHANGE FCODE OF STATUS
PERFORM CHANGE_FCODE.
*CHECK RADIOBUTTON OPTION AND ACCORDINGLY FINAL DISPLAY
PERFORM CHECK_OPTION.
*& Form GET_DATA
* text
FORM GET_DATA.
SELECT VBELN
VBTYP
AUDAT
AUGRU
AUART
NETWR
WAERK FROM VBAK INTO TABLE IT_VBAK
WHERE VBELN IN S_VBELN AND VBTYP = P_VBTYP
AND ERDAT > '01.01.2004' AND NETWR > 0.
LOOP AT IT_VBAK.
IF IT_VBAK-NETWR < 10000.
IT_VBAK-ICON = '@08@'.
ELSEIF IT_VBAK-NETWR > 100000.
IT_VBAK-ICON = '@0A@'.
ELSE.
IT_VBAK-ICON = '@09@'.
ENDIF.
MODIFY IT_VBAK INDEX SY-TABIX.
ENDLOOP.
ENDFORM. "GET_DATA
*& Form CHECK_OPTION
* text
FORM CHECK_OPTION.
WA_EVENTS-NAME = 'TOP_OF_PAGE'.
WA_EVENTS-FORM = 'TOP'.
APPEND WA_EVENTS TO IT_EVENTS.
CLEAR WA_EVENTS.
WA_EVENTS-NAME = 'END_OF_LIST'.
WA_EVENTS-FORM = 'END_LIST'.
APPEND WA_EVENTS TO IT_EVENTS.
CLEAR WA_EVENTS.
IF LIST = 'X'.
PERFORM LIST_DISP.
ENDIF.
IF GRID = 'X'.
PERFORM GRID_DISP.
ENDIF.
ENDFORM. "CHECK_OPTION
*& Form DEFINE_FIELDCATALOG
* text
FORM DEFINE_FIELDCATALOG.
WA_FIELDCAT-COL_POS = 1.
WA_FIELDCAT-FIELDNAME = 'ICON'.
WA_FIELDCAT-SELTEXT_L = 'ICON'.
WA_FIELDCAT-ICON = 'X'.
WA_FIELDCAT-OUTPUTLEN = 8.
WA_FIELDCAT-TABNAME = 'IT_VBAK'.
APPEND WA_FIELDCAT TO IT_FIELDCAT.
CLEAR WA_FIELDCAT.
WA_FIELDCAT-COL_POS = 2.
WA_FIELDCAT-FIELDNAME = 'VBELN'.
WA_FIELDCAT-SELTEXT_L = 'SALES DOC NO.'.
WA_FIELDCAT-OUTPUTLEN = 10.
WA_FIELDCAT-TABNAME = 'IT_VBAK'.
APPEND WA_FIELDCAT TO IT_FIELDCAT.
CLEAR WA_FIELDCAT.
WA_FIELDCAT-COL_POS = 3.
WA_FIELDCAT-FIELDNAME = 'AUDAT'.
WA_FIELDCAT-SELTEXT_L = 'CREATED ON'.
WA_FIELDCAT-OUTPUTLEN = 10.
WA_FIELDCAT-TABNAME = 'IT_VBAK'.
APPEND WA_FIELDCAT TO IT_FIELDCAT.
CLEAR WA_FIELDCAT.
WA_FIELDCAT-COL_POS = 4.
WA_FIELDCAT-FIELDNAME = 'VBTYP'.
WA_FIELDCAT-SELTEXT_L = 'CATEGORY'.
WA_FIELDCAT-OUTPUTLEN = 1.
WA_FIELDCAT-TABNAME = 'IT_VBAK'.
APPEND WA_FIELDCAT TO IT_FIELDCAT.
CLEAR WA_FIELDCAT.
WA_FIELDCAT-COL_POS = 6.
WA_FIELDCAT-FIELDNAME = 'AUGRU'.
WA_FIELDCAT-SELTEXT_L = 'REASON'.
WA_FIELDCAT-OUTPUTLEN = 3.
WA_FIELDCAT-TABNAME = 'IT_VBAK'.
APPEND WA_FIELDCAT TO IT_FIELDCAT.
CLEAR WA_FIELDCAT.
WA_FIELDCAT-COL_POS = 5.
WA_FIELDCAT-FIELDNAME = 'AUART'.
WA_FIELDCAT-SELTEXT_L = 'DOC TYPE'.
WA_FIELDCAT-OUTPUTLEN = 4.
WA_FIELDCAT-TABNAME = 'IT_VBAK'.
APPEND WA_FIELDCAT TO IT_FIELDCAT.
CLEAR WA_FIELDCAT.
WA_FIELDCAT-COL_POS = 7.
WA_FIELDCAT-FIELDNAME = 'NETWR'.
WA_FIELDCAT-SELTEXT_L = 'NET VALUE'.
WA_FIELDCAT-OUTPUTLEN = 17.
WA_FIELDCAT-DECIMALS_OUT = 2.
* WA_FIELDCAT-DO_SUM = 'X'.
WA_FIELDCAT-TABNAME = 'IT_VBAK'.
APPEND WA_FIELDCAT TO IT_FIELDCAT.
CLEAR WA_FIELDCAT.
WA_FIELDCAT-COL_POS = 8.
WA_FIELDCAT-FIELDNAME = 'WAERK'.
WA_FIELDCAT-SELTEXT_L = 'UNIT'.
WA_FIELDCAT-OUTPUTLEN = 50.
WA_FIELDCAT-TABNAME = 'IT_VBAK'.
APPEND WA_FIELDCAT TO IT_FIELDCAT.
CLEAR WA_FIELDCAT.
ENDFORM. "DEFINE_FIELDCATALOG
*& Form DEFINE_LAYOUT
* text
FORM DEFINE_LAYOUT.
LAYOUT-ZEBRA = 'X'.
LAYOUT-SUBTOTALS_TEXT = 'SUBTOTAL SUM'.
LAYOUT-WINDOW_TITLEBAR = 'EXERCISE 2'.
LAYOUT-TOTALS_TEXT = 'TOTAL'.
ENDFORM. "DEFINE_LAYOUT
*& Form SORT_LIST
* text
FORM SORT_LIST.
WA_SORT-FIELDNAME = 'VBELN'.
WA_SORT-TABNAME = 'IT_VBAK'.
WA_SORT-SPOS = 1.
WA_SORT-UP = 'X'.
WA_SORT-SUBTOT = 'X'.
APPEND WA_SORT TO IT_SORT.
CLEAR WA_SORT.
WA_SORT-FIELDNAME = 'NETWR'.
WA_SORT-TABNAME = 'IT_VBAK'.
WA_SORT-UP = 'X'.
WA_SORT-SPOS = 2.
WA_SORT-SUBTOT = 'X'.
APPEND WA_SORT TO IT_SORT.
CLEAR WA_SORT.
ENDFORM. "SORT_LIST
*& Form LIST_DISP
* text
FORM LIST_DISP.
PERFORM DEFINE_LAYOUT.
CALL FUNCTION 'REUSE_ALV_LIST_DISPLAY'
EXPORTING
I_CALLBACK_PROGRAM = SY-REPID
IT_FIELDCAT = IT_FIELDCAT
IS_LAYOUT = LAYOUT
IT_SORT = IT_SORT
I_CALLBACK_PF_STATUS_SET = 'STATUS'
IT_EXCLUDING = I_FCODE_EXTAB
I_CALLBACK_USER_COMMAND = 'USER_COMMAND'
IT_EVENTS = IT_EVENTS[]
* IMPORTING
* E_EXIT_CAUSED_BY_CALLER =
* ES_EXIT_CAUSED_BY_USER =
TABLES
T_OUTTAB = IT_VBAK
* 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. "LIST_DISP
*& Form GRID_DISP
* text
FORM GRID_DISP.
PERFORM DEFINE_LAYOUT.
CALL FUNCTION 'REUSE_ALV_GRID_DISPLAY'
EXPORTING
I_CALLBACK_PROGRAM = SY-REPID
IS_LAYOUT = LAYOUT
IT_FIELDCAT = IT_FIELDCAT
IT_SORT = IT_SORT
I_CALLBACK_PF_STATUS_SET = 'STATUS'
IT_EXCLUDING = I_FCODE_EXTAB
I_CALLBACK_USER_COMMAND = 'USER_COMMAND'
IT_EVENTS = IT_EVENTS[]
TABLES
T_OUTTAB = IT_VBAK.
* 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. "GRID_DISP
*& Form STATUS
* text
* -->P_EXTAB text
FORM STATUS USING P_EXTAB TYPE SLIS_T_EXTAB.
SET PF-STATUS 'STATUS' EXCLUDING P_EXTAB.
ENDFORM. "STATUS
*& Form USER_COMMAND
* text
* -->R_UCOMM text
* -->RS_SELFIELD text
FORM USER_COMMAND USING R_UCOMM LIKE SY-UCOMM
RS_SELFIELD TYPE SLIS_SELFIELD.
CASE R_UCOMM.
WHEN 'BACK' OR 'CANC' OR 'EXIT'.
LEAVE TO SCREEN 0.
WHEN '&IC1'.
SET PARAMETER ID 'AUN' FIELD RS_SELFIELD-VALUE.
CALL TRANSACTION 'VA03' AND SKIP FIRST SCREEN.
ENDCASE.
ENDFORM. "USER_COMMAND
*& Form CHANGE_FCODE
* text
FORM CHANGE_FCODE.
WA_FCODE = 'PRNT'.
APPEND WA_FCODE TO I_FCODE_EXTAB.
WA_FCODE = '&OAD'.
APPEND WA_FCODE TO I_FCODE_EXTAB.
WA_FCODE = '&AVE'.
APPEND WA_FCODE TO I_FCODE_EXTAB.
WA_FCODE = '&EB9'.
APPEND WA_FCODE TO I_FCODE_EXTAB.
WA_FCODE = '&SUM'.
APPEND WA_FCODE TO I_FCODE_EXTAB.
WA_FCODE = '&UMC'.
APPEND WA_FCODE TO I_FCODE_EXTAB.
WA_FCODE = '&XPA'.
APPEND WA_FCODE TO I_FCODE_EXTAB.
WA_FCODE = '&OMP'.
APPEND WA_FCODE TO I_FCODE_EXTAB.
ENDFORM. "CHANGE_FCODE
*& Form TOP
* text
FORM TOP.
IF LIST = 'X'.
WRITE:/ SY-ULINE.
WRITE:/ 'DATE:', SY-DATUM,55 'INTELLIGROUP ASIA PVT LTD'.
WRITE:/ 'TIME:', SY-UZEIT.
WRITE:/ 'USER NAME:', SY-UNAME,60 SY-TITLE.
WRITE:/ 'PAGE', SY-PAGNO.
WRITE:/ SY-ULINE.
ENDIF.
IF GRID = 'X'.
DATA: LS_LINE TYPE SLIS_LISTHEADER,
E04_LT_TOP_OF_PAGE TYPE SLIS_T_LISTHEADER.
* Listenüberschrift: Typ H
CLEAR LS_LINE.
LS_LINE-TYP = 'H'.
* LS_LINE-KEY: not used for this type
LS_LINE-INFO = 'Summary'.
APPEND LS_LINE TO E04_LT_TOP_OF_PAGE.
* Kopfinfo: Typ S
CLEAR LS_LINE.
LS_LINE-TYP = 'S'.
LS_LINE-KEY = 'Intelligroup'.
LS_LINE-INFO = ''.
APPEND LS_LINE TO E04_LT_TOP_OF_PAGE.
LS_LINE-KEY = 'ASIA'.
LS_LINE-INFO = 'PVT LTD'.
APPEND LS_LINE TO E04_LT_TOP_OF_PAGE.
* Aktionsinfo: Typ A
CLEAR LS_LINE.
LS_LINE-TYP = 'A'.
* LS_LINE-KEY: not used for this type
LS_LINE-INFO = 'truman'.
APPEND LS_LINE TO E04_LT_TOP_OF_PAGE.
CALL FUNCTION 'REUSE_ALV_COMMENTARY_WRITE'
EXPORTING
IT_LIST_COMMENTARY = E04_LT_TOP_OF_PAGE
I_LOGO = 'ENJOY_SAP_LOGO'.
ENDIF.
ENDFORM. "TOP
*& Form END_LIST
* text
FORM END_LIST.
IF LIST = 'X'.
SKIP 2.
WRITE:/60 'END OF PAGE'.
ENDIF.
IF GRID = 'X'.
DATA: LS_LINE TYPE SLIS_LISTHEADER,
E04_LT_END_OF_LIST TYPE SLIS_T_LISTHEADER.
* Listenüberschrift: Typ H
CLEAR LS_LINE.
LS_LINE-TYP = 'H'.
* LS_LINE-KEY: not used for this type
LS_LINE-INFO = 'Summary'.
APPEND LS_LINE TO E04_LT_END_OF_LIST.
* Kopfinfo: Typ S
CLEAR LS_LINE.
LS_LINE-TYP = 'S'.
LS_LINE-KEY = 'Intelligroup'.
LS_LINE-INFO = ''.
APPEND LS_LINE TO E04_LT_END_OF_LIST.
LS_LINE-KEY = 'ASIA'.
LS_LINE-INFO = 'PVT LTD'.
APPEND LS_LINE TO E04_LT_END_OF_LIST.
* Aktionsinfo: Typ A
CLEAR LS_LINE.
LS_LINE-TYP = 'A'.
* LS_LINE-KEY: not used for this type
LS_LINE-INFO = TEXT-105.
APPEND LS_LINE TO E04_LT_END_OF_LIST.
CALL FUNCTION 'REUSE_ALV_COMMENTARY_WRITE'
EXPORTING
IT_LIST_COMMENTARY = E04_LT_END_OF_LIST.
ENDIF.
ENDFORM. "END_LIST -
In an alv report how to get data in next and previous pages.
in my alv report i require the output such that
when i will press the next button in the application tool bar the alv report will be displayed for the next inventory document number in the next page. like wise previous
would anybody please help me out.
thanks and regards
pappsIn your servlet you could set the arraylist into the HttpRequest object so that it is visible in the JSP you are forwarding to.
RegistrationDAO rdao=new RegistrationDAO();
ArrayList arr1=rdao.getsearchresults(af);
request.setAttribute("someArrayList",arr1);Then in the JSP you could use JSTL 1.1 and jsp:useBean tag to access the ArrayList like this
<%@ page contentType="text/html;charset=UTF-8" language="java" %>
<%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core" %>
<jsp:useBean id="someArrayList" class="java.util.ArrayList" scope="request"/>
<c:forEach var="currentRecord" items="${someArrayList}">
Some property of the AddressForm object: ${currentRecord.propertyName} <br/>
Another property of the AddessForm object : ${currentRecord.someOtherPropertyName} <br/>
<hr/>
</c:forEach>I guess you are using struts, so instead of JSTL there might be some struts tags that do the same as above JSTL tags. You can research further on that.
If you can't use struts tags or JSTL tags then you could write it with JSP scriptlets (highly discouraged option). -
Hi Friends,
I have the following 2 problems in ALV report
1) Logo is not getting displayed in the report.
2) When i click on the Purchase order number in the report the interactive report is not working,i am not able to see report of First interactive level.
can you help it out friends.
Thanks and regards
Dinesh
REPORT YSDBALV1
tables: ekko , ekpo .
type-pools: slis .
Table for Display Header
data:i_header type slis_t_listheader with header line.
*Fieldcat Declaration
data:fieldcatalog type slis_T_fieldcat_alv WITH HEADER LINE.
*Table of Events
data:i_event type slis_t_event with header line .
For Layout
data:i_layout type slis_layout_alv .
data: text(30) .
*Internal Table Declaration
data: begin of it_final occurs 0 ,
ebeln like ekko-ebeln , "Purchasing Document No.
bedat like ekko-bedat , "Purchasing Document Date
matnr like ekpo-matnr , "Material No.
netwr like ekpo-netwr , "Net Order Value in PO Currancy
meins like ekpo-meins , "UOM
chk(1) ,
light(1) ,
change like ekpo-menge ,
end of it_final .
**select option Declaration
selection-screen begin of block block.
select-options: s_ebeln for ekko-ebeln .
selection-screen end of block block .
selection-screen begin of block block1 .
parameters:grid radiobutton group r .
parameters:list radiobutton group r .
selection-screen end of block block1 .
at selection screen
at selection-screen .
select single * from ekko where ebeln in s_ebeln .
if sy-subrc <> 0 .
message e000(8I) WITH 'No Data Exists' .
endif .
start-of-selection .
if grid = 'X' .
perform get_data .
perform event using i_event[] .
perform field using fieldcatalog[] .
perform layout using i_layout .
perform grid_display .
endif .
*& Form get_data
text
--> p1 text
<-- p2 text
form get_data .
*DATA Retrieval from tables
SELECT EKKO~EBELN
EKKO~BEDAT
EKPO~EBELP
EKPO~MATNR
EKPO~NETWR
EKPO~MEINS
EKPO~MENGE
EKPO~BPRME
INTO CORRESPONDING FIELDS OF table IT_FINAL
FROM EKKO INNER JOIN EKPO ON EKKOEBELN = EKPOEBELN
WHERE EKKO~EBELN IN S_EBELN.
APPEND IT_FINAL.
endform. " get_data
*Getting the Event for Top of Page display.
*& Form event
text
-->P_I_event[] text
form event using p_i_event type slis_t_event.
clear p_i_event .
refresh p_i_event .
CALL FUNCTION 'REUSE_ALV_EVENTS_GET'
EXPORTING
I_LIST_TYPE = 0
IMPORTING
ET_EVENTS = p_i_event
EXCEPTIONS
LIST_TYPE_WRONG = 1
OTHERS = 2
read table p_i_event with key name = slis_ev_top_of_page into i_event.
if sy-subrc = 0.
move 'TOP_OF_PAGE_PO' to i_event-form.
modify p_i_event from i_event index sy-tabix transporting form.
endif.
clear i_event.
endform. " event
*Display Top-of Page Details and Logo
form top_of_page_po .
clear i_header .
refresh i_header .
write sy-datum to text.
i_header-typ = 'H'.
i_header-info = 'PURCHASE OREDER DETAILS'.
append i_header.
*Logo Display
CALL FUNCTION 'REUSE_ALV_COMMENTARY_WRITE'
EXPORTING
it_list_commentary = i_header[]
I_LOGO = 'ENJOYSAPLOGO'.
endform .
*Field Catalog Append
*& Form field
text
-->P_fieldCATALOG[] text
form field using p_fieldcatalog type slis_t_fieldcat_alv.
clear fieldcatalog.
fieldcatalog-fieldname = 'EBELN'.
fieldcatalog-seltext_m = 'Purchase Order No'.
fieldcatalog-col_pos = 1.
append fieldcatalog .
clear fieldcatalog.
fieldcatalog-fieldname = 'BEDAT'.
fieldcatalog-seltext_m = 'PO Date'.
fieldcatalog-col_pos = 2.
append fieldcatalog .
clear fieldcatalog.
fieldcatalog-fieldname = 'MATNR'.
fieldcatalog-seltext_m = 'Material No'.
fieldcatalog-col_pos = 4.
fieldcatalog-outputlen = 20.
append fieldcatalog .
clear fieldcatalog.
fieldcatalog-fieldname = 'NETWR'.
fieldcatalog-seltext_m = 'Net Value '.
fieldcatalog-col_pos = 5.
fieldcatalog-outputlen = 20.
fieldcatalog-do_sum = 'X'.
append fieldcatalog .
clear fieldcatalog.
fieldcatalog-fieldname = 'MEINS'.
fieldcatalog-seltext_m = 'Units'.
fieldcatalog-col_pos = 6.
fieldcatalog-outputlen = 4.
append fieldcatalog .
clear fieldcatalog.
endform. " field
*& Form layout
text
form layout using p_i_layout TYPE SLIS_LAYOUT_ALV .
i_layout-zebra = 'X'.
i_layout-lights_fieldname = 'LIGHT'.
i_layout-lights_tabname = 'IT_FINAL'.
i_layout-box_fieldname = 'CHK'.
i_layout-box_tabname = 'IT_FINAL'.
i_layout-edit = ' '.
endform.
*To display Buttons in the MENU BAR if needed
FORM SET_PO_PF_STATUS USING P_I_EXTAB TYPE
SLIS_T_EXTAB.
SET PF-STATUS 'MENUPO'.
ENDFORM.
*Event for Interactive display of ALV report
form USER_COMMAND using r_ucomm like sy-ucomm
rs_selfield type slis_selfield .
if r_ucomm = '&IC1'.
READ TABLE IT_FINAL index rs_selfield-tabindex.
write:/ IT_FINAL-ebeln.
endif.
endform .
*Parameters of FM REUSE_ALV_GRID_DISPLAY
*& Form grid_display
text
--> p1 text
<-- p2 text
form grid_display .
CALL FUNCTION 'REUSE_ALV_GRID_DISPLAY'
EXPORTING
I_CALLBACK_PROGRAM = SY-REPID
I_CALLBACK_PF_STATUS_SET = 'SET_PO_PF_STATUS'
I_CALLBACK_USER_COMMAND = 'USER_COMMAND'
IS_LAYOUT = I_LAYOUT
IT_FIELDCAT = FIELDCATALOG[]
IT_EVENTS = I_EVENT[]
TABLES
t_outtab = IT_FINAL.
endform. " grid_display*& Report YSDBALV1
REPORT YSDBALV1.
tables: ekko , ekpo .
type-pools: slis .
Table for Display Header
data:i_header type slis_t_listheader with header line.
*Fieldcat Declaration
data:fieldcatalog type slis_T_fieldcat_alv WITH HEADER LINE.
*Table of Events
data:i_event type slis_t_event with header line ,
wa_event type line of slis_t_event.
For Layout
data:i_layout type slis_layout_alv .
data: text(30) .
*Internal Table Declaration
data: begin of it_final occurs 0 ,
ebeln like ekko-ebeln , "Purchasing Document No.
bedat like ekko-bedat , "Purchasing Document Date
matnr like ekpo-matnr , "Material No.
netwr like ekpo-netwr , "Net Order Value in PO Currancy
meins like ekpo-meins , "UOM
chk(1) ,
light(1) ,
change like ekpo-menge ,
end of it_final .
**select option Declaration
selection-screen begin of block block.
select-options: s_ebeln for ekko-ebeln .
selection-screen end of block block .
selection-screen begin of block block1 .
parameters:grid radiobutton group r .
parameters:list radiobutton group r .
selection-screen end of block block1 .
at selection screen
at selection-screen .
select single * from ekko where ebeln in s_ebeln .
if sy-subrc <> 0 .
message e000(8I) WITH 'No Data Exists' .
endif .
start-of-selection .
if grid = 'X' .
perform get_data .
perform event using i_event[] .
perform field using fieldcatalog[] .
perform layout using i_layout .
perform grid_display .
endif .
*& Form get_data
text
--> p1 text
<-- p2 text
form get_data .
*DATA Retrieval from tables
SELECT EKKO~EBELN
EKKO~BEDAT
EKPO~EBELP
EKPO~MATNR
EKPO~NETWR
EKPO~MEINS
EKPO~MENGE
EKPO~BPRME
INTO CORRESPONDING FIELDS OF table IT_FINAL
FROM EKKO INNER JOIN EKPO ON EKKOEBELN = EKPOEBELN
WHERE EKKO~EBELN IN S_EBELN.
APPEND IT_FINAL.
endform. " get_data
*Getting the Event for Top of Page display.
*& Form event
text
-->P_I_event[] text
form event using p_i_event type slis_t_event.
clear p_i_event .
refresh p_i_event .
CALL FUNCTION 'REUSE_ALV_EVENTS_GET'
EXPORTING
I_LIST_TYPE = 0
IMPORTING
ET_EVENTS = p_i_event.
EXCEPTIONS
LIST_TYPE_WRONG = 1
OTHERS = 2.
read table p_i_event with key name = slis_ev_top_of_page into wa_event.
if sy-subrc = 0.
move 'TOP_OF_PAGE_PO' to i_event-form.
modify p_i_event from i_event index sy-tabix transporting form.
endif.
clear i_event.
endform. " event
*Display Top-of Page Details and Logo
form top_of_page_po .
clear i_header .
refresh i_header .
write sy-datum to text.
i_header-typ = 'H'.
i_header-info = 'PURCHASE OREDER DETAILS'.
append i_header.
*Logo Display
CALL FUNCTION 'REUSE_ALV_COMMENTARY_WRITE'
EXPORTING
it_list_commentary = i_header[]
I_LOGO = 'ENJOYSAP_LOGO'.
endform .
*Field Catalog Append
*& Form field
text
-->P_fieldCATALOG[] text
form field using p_fieldcatalog type slis_t_fieldcat_alv.
clear fieldcatalog.
fieldcatalog-fieldname = 'EBELN'.
fieldcatalog-seltext_m = 'Purchase Order No'.
fieldcatalog-col_pos = 1.
append fieldcatalog .
clear fieldcatalog.
fieldcatalog-fieldname = 'BEDAT'.
fieldcatalog-seltext_m = 'PO Date'.
fieldcatalog-col_pos = 2.
append fieldcatalog .
clear fieldcatalog.
fieldcatalog-fieldname = 'MATNR'.
fieldcatalog-seltext_m = 'Material No'.
fieldcatalog-col_pos = 4.
fieldcatalog-outputlen = 20.
append fieldcatalog .
clear fieldcatalog.
fieldcatalog-fieldname = 'NETWR'.
fieldcatalog-seltext_m = 'Net Value '.
fieldcatalog-col_pos = 5.
fieldcatalog-outputlen = 20.
fieldcatalog-do_sum = 'X'.
append fieldcatalog .
clear fieldcatalog.
fieldcatalog-fieldname = 'MEINS'.
fieldcatalog-seltext_m = 'Units'.
fieldcatalog-col_pos = 6.
fieldcatalog-outputlen = 4.
append fieldcatalog .
clear fieldcatalog.
endform. " field
*& Form layout
text
form layout using p_i_layout TYPE SLIS_LAYOUT_ALV .
i_layout-zebra = 'X'.
i_layout-lights_fieldname = 'LIGHT'.
i_layout-lights_tabname = 'IT_FINAL'.
i_layout-box_fieldname = 'CHK'.
i_layout-box_tabname = 'IT_FINAL'.
i_layout-edit = ' '.
endform.
*To display Buttons in the MENU BAR if needed
FORM SET_PO_PF_STATUS USING P_I_EXTAB TYPE
SLIS_T_EXTAB.
SET PF-STATUS 'MENUPO'.
ENDFORM.
*Event for Interactive display of ALV report
form USER_COMMAND using r_ucomm like sy-ucomm
rs_selfield type slis_selfield .
if r_ucomm = '&IC1'.
READ TABLE IT_FINAL index rs_selfield-tabindex.
set parameter id 'VL1' field it_final-ebeln.
call transaction 'ME23N'.
endif.
endform .
*Parameters of FM REUSE_ALV_GRID_DISPLAY
*& Form grid_display
text
--> p1 text
<-- p2 text
form grid_display .
CALL FUNCTION 'REUSE_ALV_GRID_DISPLAY'
EXPORTING
I_CALLBACK_PROGRAM = SY-REPID
I_CALLBACK_PF_STATUS_SET = 'SET_PO_PF_STATUS'
I_CALLBACK_USER_COMMAND = 'USER_COMMAND'
IS_LAYOUT = I_LAYOUT
IT_FIELDCAT = FIELDCATALOG[]
IT_EVENTS = I_EVENT[]
TABLES
t_outtab = IT_FINAL.
endform. " grid_display
Regards,
Rusidar S. -
Alv Report for invoice details
Dear All,
I need to develop one alv report for following details. i developed coding for this requirment but i am getting some error.kindley help me to how to move data from different internal table to final internal table. I used LOOP AT and READ Statement even i didn't get any output.
kindley help me out.
TYPES: BEGIN OF XT_TAB,
LIFNR LIKE LFA1-LIFNR,
NAME1 LIKE LFA1-NAME1,
STCD1 LIKE LFA1-STCD1,
STCD2 LIKE LFA1-STCD2,
STCD3 LIKE LFA1-STCD3,
STCD4 LIKE LFA1-STCD4,
END OF XT_TAB.
TYPES: BEGIN OF YT_TAB,
BUKRS LIKE BSEG-BUKRS,
BELNR LIKE BSEG-BELNR,
BUZEI LIKE BSEG-BUZEI,
LIFNR LIKE BSEG-LIFNR,
GJAHR LIKE BSEG-GJAHR,
END OF YT_TAB.
TYPES: BEGIN OF ZT_TAB,
LIFNR LIKE LFA1-LIFNR,
NAME1 LIKE LFA1-NAME1,
STCD2 LIKE LFA1-STCD2,
BELNR LIKE BSEG-BELNR,
BUZEI LIKE BSEG-BUZEI,
GJAHR LIKE BSEG-GJAHR,
END OF ZT_TAB.
I N T E R N A L T A B L E D E C L A R A T I O N S *
*-----Internal table to store data
DATA: ITAB1 TYPE STANDARD TABLE OF XT_TAB INITIAL SIZE 0,
WA_TAB1 TYPE XT_TAB.
DATA: ITAB2 TYPE STANDARD TABLE OF YT_TAB INITIAL SIZE 0,
WA_TAB2 TYPE YT_TAB.
DATA: ITAB TYPE STANDARD TABLE OF ZT_TAB WITH HEADER LINE,
WA_ITAB TYPE ZT_TAB,
ITAB_FINAL2 TYPE STANDARD TABLE OF ZT_TAB.
DATA: ITAB_TEMP1 TYPE STANDARD TABLE OF ZT_TAB WITH HEADER LINE.
Selection Screen Declarations *
SELECTION-SCREEN BEGIN OF BLOCK bk1 WITH FRAME TITLE text-001.
SELECTION-SCREEN SKIP.
SELECTION-SCREEN begin OF LINE.
SELECTION-SCREEN COMMENT (23) text-003 FOR FIELD P_LIFNR.
PARAMETERS P_LIFNR LIKE LFA1-LIFNR OBLIGATORY.
SELECTION-SCREEN END OF LINE.
SELECTION-SCREEN SKIP.
SELECTION-SCREEN END OF BLOCK bk1.
START-OF-SELECTION.
PERFORM XTRACT_DATA.
END-OF-SELECTION.
*-----Filling the Output table
PERFORM populate_main_table.
PERFORM BUILD_FIELDCATALOG.
PERFORM SORTING.
PERFORM BUILD_LAYOUT.
PERFORM BUILD_ALV_GRID_DISPLAY.
Form XTRACT_DATA
FORM XTRACT_DATA .
*SELECT
a~LIFNR
a~NAME1
a~STCD2
b~BELNR
b~BUZEI
b~GJAHR
INTO TABLE ITAB
FROM LFA1 as a INNER JOIN BSEG as b
ON aLIFNR = bLIFNR
WHERE a~LIFNR = P_LIFNR.
SELECT LIFNR
NAME1
STCD1
STCD2
STCD3
STCD4
FROM LFA1
INTO TABLE ITAB1
WHERE LIFNR = P_LIFNR.
IF NOT ITAB1[] IS INITIAL.
SORT ITAB1 BY LIFNR.
SELECT BELNR
BUZEI
LIFNR
GJAHR
INTO TABLE ITAB2
FROM BSEG
FOR ALL ENTRIES IN ITAB1
WHERE LIFNR = ITAB1-LIFNR.
ENDIF.
ENDFORM. " XTRACT_DATA
*& Form POPULATE_MAIN_TABLE
text
--> p1 text
<-- p2 text
FORM POPULATE_MAIN_TABLE .
LOOP AT ITAB1 INTO WA_TAB1.
ITAB-LIFNR = ITAB1-LIFNR.
ITAB-NAME1 = ITAB1-NAME1.
ITAB-STCD2 = ITAB1-STCD2.
READ TABLE ITAB2 INTO WA_TAB2 WITH KEY LIFNR = WA_TAB1-LIFNR.
IF sy-subrc = 0.
ITAB-BELNR = ITAB1-BELNR.
ITAB-BUZEI = ITAB1-BUZEI.
ITAB-GJAHR = ITAB1-GJAHR.
ENDIF.
ENDLOOP.
ENDFORM. " POPULATE_MAIN_TABLE
Form BUILD_FIELDCATALOG
FORM BUILD_FIELDCATALOG .
REFRESH t_fcat.
CLEAR t_fcat.
wa_fcat-col_pos = 1.
wa_fcat-row_pos = 1.
wa_fcat-seltext_s = 'Vendor Number'.
wa_fcat-seltext_m = 'Vendor Number'.
wa_fcat-seltext_l = 'Vendor Number'.
wa_fcat-fieldname = 'LIFNR'.
wa_fcat-tabname = 'ITAB'.
APPEND wa_fcat TO t_fcat.
CLEAR t_fcat.
wa_fcat-col_pos = 2.
wa_fcat-row_pos = 1.
wa_fcat-seltext_s = 'Vendor Name'.
wa_fcat-seltext_m = 'Vendor Name'.
wa_fcat-seltext_l = 'Vendor Name'.
wa_fcat-fieldname = 'NAME1'.
wa_fcat-tabname = 'ITAB'.
APPEND wa_fcat TO t_fcat.
CLEAR t_fcat.
wa_fcat-col_pos = 3.
wa_fcat-row_pos = 1.
wa_fcat-seltext_s = 'Vendor TIN Number'.
wa_fcat-seltext_m = 'Vendor TIN Number'.
wa_fcat-seltext_l = 'Vendor TIN Number'.
wa_fcat-fieldname = 'STCD2'.
wa_fcat-tabname = 'ITAB'.
APPEND wa_fcat TO t_fcat.
CLEAR t_fcat.
wa_fcat-col_pos = 4.
wa_fcat-row_pos = 1.
wa_fcat-seltext_s = 'Document No'.
wa_fcat-seltext_m = 'Document No'.
wa_fcat-seltext_l = 'Document No'.
wa_fcat-fieldname = 'BELNR'.
wa_fcat-tabname = 'ITAB'.
APPEND wa_fcat TO t_fcat.
CLEAR t_fcat.
wa_fcat-col_pos = 5.
wa_fcat-row_pos = 1.
wa_fcat-seltext_s = 'Item Number'.
wa_fcat-seltext_m = 'Item Number'.
wa_fcat-seltext_l = 'Item Number'.
wa_fcat-fieldname = 'BUZEI'.
wa_fcat-tabname = 'ITAB'.
APPEND wa_fcat TO t_fcat.
CLEAR t_fcat.
wa_fcat-col_pos = 6.
wa_fcat-row_pos = 1.
wa_fcat-seltext_s = 'Fiscal Year'.
wa_fcat-seltext_m = 'Fiscal Year'.
wa_fcat-seltext_l = 'Fiscal Year'.
wa_fcat-fieldname = 'GJAHR'.
wa_fcat-tabname = 'ITAB'.
APPEND wa_fcat TO t_fcat.
CLEAR t_fcat.
ENDFORM. " BUILD_FIELDCATALOG
Form BUILD_LAYOUT
FORM BUILD_LAYOUT .
GD_LAYOUT-NO_INPUT = 'X'.
GD_LAYOUT-COLWIDTH_OPTIMIZE = 'X'.
GD_LAYOUT-TOTALS_TEXT = 'TOTALS'.
ENDFORM. " BUILD_LAYOUT
Form BUILD_ALV_GRID_DISPLAY
FORM BUILD_ALV_GRID_DISPLAY .
gd_repid = sy-repid.
CALL FUNCTION 'REUSE_ALV_GRID_DISPLAY'
EXPORTING
i_callback_program = gd_repid
i_callback_top_of_page = 'TOP-OF-PAGE' "see FORM
i_callback_user_command = 'USER_COMMAND'
is_layout = gd_layout
it_fieldcat = t_fcat[]
it_events = gt_events
is_print = gd_prntparams
it_sort = it_sortcat[]
i_save = 'X'
TABLES
t_outtab = ITAB
EXCEPTIONS
program_error = 1
OTHERS = 2.
thanks and regards
MurugeshTYPES: BEGIN OF XT_TAB,
LIFNR LIKE LFA1-LIFNR,
NAME1 LIKE LFA1-NAME1,
STCD1 LIKE LFA1-STCD1,
STCD2 LIKE LFA1-STCD2,
STCD3 LIKE LFA1-STCD3,
STCD4 LIKE LFA1-STCD4,
END OF XT_TAB.
TYPES: BEGIN OF YT_TAB,
BUKRS LIKE BSEG-BUKRS,
BELNR LIKE BSEG-BELNR,
BUZEI LIKE BSEG-BUZEI,
LIFNR LIKE BSEG-LIFNR,
GJAHR LIKE BSEG-GJAHR,
END OF YT_TAB.
TYPES: BEGIN OF ZT_TAB,
LIFNR LIKE LFA1-LIFNR,
NAME1 LIKE LFA1-NAME1,
STCD2 LIKE LFA1-STCD2,
BELNR LIKE BSEG-BELNR,
BUZEI LIKE BSEG-BUZEI,
GJAHR LIKE BSEG-GJAHR,
END OF ZT_TAB.
I N T E R N A L T A B L E D E C L A R A T I O N S *
*-----Internal table to store data
DATA: ITAB1 TYPE STANDARD TABLE OF XT_TAB INITIAL SIZE 0,
WA_TAB1 TYPE XT_TAB.
DATA: ITAB2 TYPE STANDARD TABLE OF YT_TAB INITIAL SIZE 0,
WA_TAB2 TYPE YT_TAB.
DATA: ITAB TYPE STANDARD TABLE OF ZT_TAB WITH HEADER LINE,
WA_ITAB TYPE ZT_TAB,
ITAB_FINAL2 TYPE STANDARD TABLE OF ZT_TAB.
DATA: ITAB_TEMP1 TYPE STANDARD TABLE OF ZT_TAB WITH HEADER LINE.
Selection Screen Declarations *
SELECTION-SCREEN BEGIN OF BLOCK bk1 WITH FRAME TITLE text-001.
SELECTION-SCREEN SKIP.
SELECTION-SCREEN begin OF LINE.
SELECTION-SCREEN COMMENT (23) text-003 FOR FIELD P_LIFNR.
PARAMETERS P_LIFNR LIKE LFA1-LIFNR OBLIGATORY.
SELECTION-SCREEN END OF LINE.
SELECTION-SCREEN SKIP.
SELECTION-SCREEN END OF BLOCK bk1.
START-OF-SELECTION.
PERFORM XTRACT_DATA.
END-OF-SELECTION.
*-----Filling the Output table
PERFORM populate_main_table.
PERFORM BUILD_FIELDCATALOG.
PERFORM SORTING.
PERFORM BUILD_LAYOUT.
PERFORM BUILD_ALV_GRID_DISPLAY.
Form XTRACT_DATA
FORM XTRACT_DATA .
*SELECT
a~LIFNR
a~NAME1
a~STCD2
b~BELNR
b~BUZEI
b~GJAHR
INTO TABLE ITAB
FROM LFA1 as a INNER JOIN BSEG as b
ON aLIFNR = bLIFNR
WHERE a~LIFNR = P_LIFNR.
SELECT LIFNR
NAME1
STCD1
STCD2
STCD3
STCD4
FROM LFA1
INTO TABLE ITAB1
WHERE LIFNR = P_LIFNR.
IF NOT ITAB1[] IS INITIAL.
SORT ITAB1 BY LIFNR.
SELECT BELNR
BUZEI
LIFNR
GJAHR
INTO TABLE ITAB2
FROM BSEG
FOR ALL ENTRIES IN ITAB1
WHERE LIFNR = itab1-lifnr.
ENDIF.
ENDFORM. " XTRACT_DATA
*& Form POPULATE_MAIN_TABLE
text
--> p1 text
<-- p2 text
FORM POPULATE_MAIN_TABLE .
LOOP AT ITAB1 INTO WA_TAB1.
ITAB-LIFNR = ITAB1-LIFNR.
ITAB-NAME1 = ITAB1-NAME1.
ITAB-STCD2 = ITAB1-STCD2.
READ TABLE ITAB2 INTO WA_TAB2 WITH KEY LIFNR = WA_TAB1-LIFNR.
IF sy-subrc = 0.
ITAB-BELNR = ITAB1-BELNR.
ITAB-BUZEI = ITAB1-BUZEI.
ITAB-GJAHR = ITAB1-GJAHR.
ENDIF.
ENDLOOP.
LOOP AT itab1 INTO wa_tab1.
MOVE: wa_tab1-lifnr TO itab-lifnr,
wa_tab1-name1 TO itab-name1,
wa_tab1-stcd2 TO itab-stcd2.
Append itab.
READ TABLE itab2 TRANSPORTING NO FIELDS WITH KEY lifnr = wa_tab1-lifnr.
IF sy-subrc eq 0.
MOVE: wa_tab2-lifnr TO itab-lifnr,
wa_tab2-belnr TO itab-belnr,
wa_tab2-buzei TO itab-buzei,
wa_tab2-gjahr TO itab-gjahr.
Append itab.
endif.
endloop.
*LOOP AT t_agr_tcodes INTO s_agr_tcodes.
READ TABLE t_tstc
TRANSPORTING NO FIELDS
WITH KEY tcode = s_agr_tcodes-tcode.
IF sy-subrc eq 0.
MOVE: s_agr_tcodes-tcode TO it_agr_tcodes-tcode,
s_agr_tcodes-agr_name to it_agr_tcodes-agr_name,
t_tstc-pgmna to it_agr_pgmna.
*Append it_agr_tcodes.
*endif.
*endloop.
ENDFORM. " POPULATE_MAIN_TABLE
Form BUILD_FIELDCATALOG
FORM BUILD_FIELDCATALOG .
REFRESH t_fcat.
CLEAR t_fcat.
wa_fcat-col_pos = 1.
wa_fcat-row_pos = 1.
wa_fcat-seltext_s = 'Vendor Number'.
wa_fcat-seltext_m = 'Vendor Number'.
wa_fcat-seltext_l = 'Vendor Number'.
wa_fcat-fieldname = 'LIFNR'.
wa_fcat-tabname = 'ITAB'.
APPEND wa_fcat TO t_fcat.
CLEAR t_fcat.
wa_fcat-col_pos = 2.
wa_fcat-row_pos = 1.
wa_fcat-seltext_s = 'Vendor Name'.
wa_fcat-seltext_m = 'Vendor Name'.
wa_fcat-seltext_l = 'Vendor Name'.
wa_fcat-fieldname = 'NAME1'.
wa_fcat-tabname = 'ITAB'.
APPEND wa_fcat TO t_fcat.
CLEAR t_fcat.
wa_fcat-col_pos = 3.
wa_fcat-row_pos = 1.
wa_fcat-seltext_s = 'Vendor TIN Number'.
wa_fcat-seltext_m = 'Vendor TIN Number'.
wa_fcat-seltext_l = 'Vendor TIN Number'.
wa_fcat-fieldname = 'STCD2'.
wa_fcat-tabname = 'ITAB'.
APPEND wa_fcat TO t_fcat.
CLEAR t_fcat.
wa_fcat-col_pos = 4.
wa_fcat-row_pos = 1.
wa_fcat-seltext_s = 'Document No'.
wa_fcat-seltext_m = 'Document No'.
wa_fcat-seltext_l = 'Document No'.
wa_fcat-fieldname = 'BELNR'.
wa_fcat-tabname = 'ITAB'.
APPEND wa_fcat TO t_fcat.
CLEAR t_fcat.
wa_fcat-col_pos = 5.
wa_fcat-row_pos = 1.
wa_fcat-seltext_s = 'Item Number'.
wa_fcat-seltext_m = 'Item Number'.
wa_fcat-seltext_l = 'Item Number'.
wa_fcat-fieldname = 'BUZEI'.
wa_fcat-tabname = 'ITAB'.
APPEND wa_fcat TO t_fcat.
CLEAR t_fcat.
wa_fcat-col_pos = 6.
wa_fcat-row_pos = 1.
wa_fcat-seltext_s = 'Fiscal Year'.
wa_fcat-seltext_m = 'Fiscal Year'.
wa_fcat-seltext_l = 'Fiscal Year'.
wa_fcat-fieldname = 'GJAHR'.
wa_fcat-tabname = 'ITAB'.
APPEND wa_fcat TO t_fcat.
CLEAR t_fcat.
ENDFORM. " BUILD_FIELDCATALOG
Form BUILD_LAYOUT
FORM BUILD_LAYOUT .
GD_LAYOUT-NO_INPUT = 'X'.
GD_LAYOUT-COLWIDTH_OPTIMIZE = 'X'.
GD_LAYOUT-TOTALS_TEXT = 'TOTALS'.
ENDFORM. " BUILD_LAYOUT
Form BUILD_ALV_GRID_DISPLAY
FORM BUILD_ALV_GRID_DISPLAY .
gd_repid = sy-repid.
CALL FUNCTION 'REUSE_ALV_GRID_DISPLAY'
EXPORTING
i_callback_program = gd_repid
i_callback_top_of_page = 'TOP-OF-PAGE' "see FORM
i_callback_user_command = 'USER_COMMAND'
is_layout = gd_layout
it_fieldcat = t_fcat[]
it_events = gt_events
is_print = gd_prntparams
it_sort = it_sortcat[]
i_save = 'X'
TABLES
t_outtab = ITAB
EXCEPTIONS
program_error = 1
OTHERS = 2.
Edited by: Murugesh P on Apr 6, 2009 10:54 AM
Edited by: Murugesh P on Apr 6, 2009 10:54 AM -
*& Report ZALV11 *
REPORT zalv11 LINE-SIZE 1023 MESSAGE-ID zz.
TYPE-POOLS : slis.
* T A B L E S D E C L A R A T I O N S *
TABLES : ce1eg01,
makt,
kna1,
t9zfprct,
tvkmt.
* I N T E R N A L T A B L E D E C L A R A T I O N S *
DATA : BEGIN OF itab OCCURS 0,
paledger TYPE ce1eg01-paledger, "Currency type for an operating concern
vrgar TYPE ce1eg01-vrgar, "Record Type
versi TYPE ce1eg01-versi, "Plan version (CO-PA)
perio TYPE ce1eg01-perio, "Period/year
paobjnr TYPE ce1eg01-paobjnr, "Profitability Segment no
pasubnr TYPE ce1eg01-pasubnr, "Profitability Segment changes
belnr TYPE ce1eg01-belnr, "Doc no of line item in profit
posnr TYPE ce1eg01-posnr, "Item no in CO-PA line item
hzdat TYPE ce1eg01-hzdat, "Date on which record was created
usnam TYPE ce1eg01-usnam, "Created by
gjahr TYPE ce1eg01-gjahr, "Fiscal year
perde TYPE ce1eg01-perde, "Period
kunnr LIKE ce1eg01-kndnr, "Customer
artnr TYPE ce1eg01-artnr, "Product Number
frwae TYPE ce1eg01-frwae, "Foreign currency key
kaufn TYPE ce1eg01-kaufn, "Sales order number
kdpos TYPE ce1eg01-kdpos, "Item no in Sales order
bzirk TYPE ce1eg01-bzirk, "Sales district
vkbur TYPE ce1eg01-vkbur, "Sales office
wwsap TYPE ce1eg01-wwsap, "Sales Person
ktgrm TYPE tvkmt-ktgrm, "AAG
land1 TYPE ce1eg01-land1, "Country Key
auart TYPE ce1eg01-auart, "Sales document type
kunwe TYPE ce1eg01-kunwe, "Ship-to-party
erlos TYPE ce1eg01-erlos, "Revenue
absmg TYPE ce1eg01-absmg, "Sales qty
kwfrgr TYPE ce1eg01-kwfrgr, "Freight
vvdis TYPE ce1eg01-vvdis, "Discounts
zprdgrp TYPE t9zfprct-zprdgrp, "Product group
name1 TYPE kna1-name1, "Customer Name
maktx TYPE makt-maktx, "Material Description
vtext TYPE tvkmt-vtext, "Description
name2 TYPE kna1-name1, "Sales Person Name
END OF itab.
DATA : BEGIN OF itab1 OCCURS 0,
perio TYPE ce1eg01-perio, "Period/year5
kunnr TYPE ce1eg01-kndnr, "Customer
artnr TYPE ce1eg01-artnr, "Product Number 21
kaufn TYPE ce1eg01-kaufn, "Sales order number28
kdpos TYPE ce1eg01-kdpos, "Item no in Sales order29
bzirk TYPE ce1eg01-bzirk, "Sales district58
vkbur TYPE ce1eg01-vkbur, "Sales office59
ktgrm TYPE tvkmt-ktgrm, "AAG 61
land1 TYPE ce1eg01-land1, "Country Key 63
auart TYPE ce1eg01-auart, "Sales document type68
kunwe TYPE ce1eg01-kunwe, "Ship-to-party71
zprdgrp TYPE t9zfprct-zprdgrp, "Product group
paledger TYPE ce1eg01-paledger, "Currency type for an operating concern
versi TYPE ce1eg01-versi, "Plan version (CO-PA)4
paobjnr TYPE ce1eg01-paobjnr, "Profitability Segment no6
pasubnr TYPE ce1eg01-pasubnr, "Profitability Segment changes7
belnr TYPE ce1eg01-belnr, "Doc no of line item in profit 8
posnr TYPE ce1eg01-posnr, "Item no in CO-PA line item 9
hzdat TYPE ce1eg01-hzdat, "Date on which record was created10
usnam TYPE ce1eg01-usnam, "Created by11
gjahr TYPE ce1eg01-gjahr, "Fiscal year12
perde TYPE ce1eg01-perde, "Period13
frwae TYPE ce1eg01-frwae, "Foreign currency key23
wwsap TYPE ce1eg01-wwsap, "Sales Person 60
erlos TYPE ce1eg01-erlos, "Revenue76
absmg TYPE ce1eg01-absmg, "Sales qty85
kwfrgr TYPE ce1eg01-kwfrgr, "Freight97
vvdis TYPE ce1eg01-vvdis, "Discounts98
name1 TYPE kna1-name1, "Customer Name
maktx TYPE makt-maktx, "Material Description
vtext TYPE tvkmt-vtext, "Description
name2 TYPE kna1-name1, "Sales Person Name
END OF itab1.
DATA : BEGIN OF itab2 OCCURS 0,
perio TYPE ce1eg01-perio, "Period/year
hzdat TYPE ce1eg01-hzdat, "Date on which record was created
usnam TYPE ce1eg01-usnam, "Created by
gjahr TYPE ce1eg01-gjahr, "Fiscal year
perde TYPE ce1eg01-perde, "Period
kunnr LIKE ce1eg01-kndnr, "Customer
artnr TYPE ce1eg01-artnr, "Product Number
frwae TYPE ce1eg01-frwae, "Foreign currency key
kaufn TYPE ce1eg01-kaufn, "Sales order number
kdpos TYPE ce1eg01-kdpos, "Item no in Sales order
bzirk TYPE ce1eg01-bzirk, "Sales district
vkbur TYPE ce1eg01-vkbur, "Sales office
wwsap TYPE ce1eg01-wwsap, "Sales Person
ktgrm TYPE tvkmt-ktgrm, "AAG
land1 TYPE ce1eg01-land1, "Country Key
auart TYPE ce1eg01-auart, "Sales document type
kunwe TYPE ce1eg01-kunwe, "Ship-to-party
erlos TYPE ce1eg01-erlos, "Revenue
absmg TYPE ce1eg01-absmg, "Sales qty
kwfrgr TYPE ce1eg01-kwfrgr, "Freight
vvdis TYPE ce1eg01-vvdis, "Discounts
zprdgrp TYPE t9zfprct-zprdgrp, "Product group
name1 TYPE kna1-name1, "Customer Name
maktx TYPE makt-maktx, "Material Description
vtext TYPE tvkmt-vtext, "Description
name2 TYPE kna1-name1, "Sales Person Name
END OF itab2.
DATA : BEGIN OF i_kna1 OCCURS 0,
kunnr LIKE kna1-kunnr,
name1 LIKE kna1-name1,
END OF i_kna1.
DATA : BEGIN OF i_kna2 OCCURS 0,
kunnr LIKE kna1-kunnr,
name1 LIKE kna1-name1,
END OF i_kna2.
DATA : BEGIN OF i_makt OCCURS 0,
matnr LIKE makt-matnr,
maktx LIKE makt-maktx,
END OF i_makt.
DATA : wa_t9zfprct TYPE t9zfprct,
i_t9zfprct LIKE STANDARD TABLE OF wa_t9zfprct WITH HEADER LINE.
DATA : wa_tvkmt TYPE tvkmt,
i_tvkmt LIKE STANDARD TABLE OF wa_tvkmt WITH HEADER LINE.
DATA: wa_itab like itab.
DATA: wa_itab2 like itab2.
* D A T A D E C L A R A T I O N F O R A L V *
TYPE-POOLS: slis. "ALV Declarations
DATA: t_fieldcat TYPE slis_t_fieldcat_alv WITH HEADER LINE,
tt_fieldcat TYPE slis_t_fieldcat_alv,
x_fieldcat TYPE slis_fieldcat_alv.
DATA : mycat TYPE slis_t_fieldcat_alv ,
scat TYPE slis_fieldcat_alv,
gt_events TYPE slis_t_event.
DATA: g_repid LIKE sy-repid,
gd_layout TYPE slis_layout_alv,
gt_sort TYPE slis_t_sortinfo_alv,
gd_prntparams TYPE slis_print_alv,
rs_variant LIKE disvariant.
data: p_file TYPE rlgrap-filename value 'TEST3.txt'.
data: wa_tab2 like tab2.
* D A T A D E C L A R A T I O N *
DATA : t_lineno LIKE sy-tabix,
ld_linesc(10) TYPE c.
DATA : w_erlos TYPE ce1eg01-erlos,
w_absmg TYPE ce1eg01-absmg,
w_kwfrgr TYPE ce1eg01-kwfrgr,
w_vvdis TYPE ce1eg01-vvdis.
* S E L E C T I O N S C R E E N *
SELECTION-SCREEN BEGIN OF BLOCK blk1 WITH FRAME TITLE text-001.
SELECT-OPTIONS: s_curr FOR ce1eg01-paledger ,
s_vrgar FOR ce1eg01-vrgar,
s_perio FOR ce1eg01-perio,
s_spras FOR makt-spras NO INTERVALS,
s_auart FOR ce1eg01-auart,
s_kaufn FOR ce1eg01-kaufn.
PARAMETERS: p_layout TYPE slis_vari.
SELECTION-SCREEN END OF BLOCK blk1.
* A T S E L E C T I O N S C R E E N *
AT SELECTION-SCREEN ON VALUE-REQUEST FOR p_layout.
PERFORM alv_variant_f4 CHANGING p_layout.
* S T A R T O F S E L E C T I O N
START-OF-SELECTION.
PERFORM data_select.
DESCRIBE TABLE itab LINES t_lineno.
IF t_lineno = 0.
MESSAGE i000 WITH 'NO RECORD FOUND'.
ELSE.
PERFORM build_fieldcatalog.
PERFORM build_layout.
PERFORM build_events.
PERFORM build_print_params.
* PERFORM calculate.
PERFORM call_alv.
PERFORM dataset.
ENDIF.
*& Form DATA_SELECT
FORM data_select.
SELECT paledger vrgar versi perio paobjnr pasubnr belnr posnr hzdat usnam gjahr perde kndnr artnr frwae kaufn kdpos bzirk
vkbur wwsap ktgrm land1 auart kunwe erlos absmg kwfrgr vvdis
FROM ce1eg01 INTO TABLE itab
WHERE paledger IN s_curr
AND vrgar IN s_vrgar
AND perio IN s_perio
AND kaufn IN s_kaufn
AND auart IN s_auart.
IF sy-subrc = 0.
SELECT matnr maktx FROM makt INTO TABLE i_makt
FOR ALL ENTRIES IN itab
WHERE matnr = itab-artnr
AND spras IN s_spras.
* Reading sales person
SELECT kunnr name1 FROM kna1 INTO TABLE i_kna1
FOR ALL ENTRIES IN itab
WHERE kunnr = itab-kunnr.
* Reading ship to party
SELECT kunnr name1 FROM kna1 INTO TABLE i_kna2
FOR ALL ENTRIES IN itab
WHERE kunnr = itab-wwsap. "kunwe.
SELECT * FROM t9zfprct INTO TABLE i_t9zfprct
FOR ALL ENTRIES IN itab
WHERE ktgrm = itab-ktgrm.
SELECT * FROM tvkmt INTO TABLE i_tvkmt
FOR ALL ENTRIES IN itab
WHERE ktgrm = itab-ktgrm.
SORT i_kna1 BY kunnr.
SORT i_kna2 BY kunnr.
SORT i_t9zfprct BY ktgrm.
SORT i_tvkmt BY ktgrm.
LOOP AT itab.
MOVE-CORRESPONDING itab TO itab1.
READ TABLE i_kna1 WITH KEY kunnr = itab-kunnr BINARY SEARCH.
IF sy-subrc = 0.
itab1-name1 = i_kna1-name1.
ENDIF.
READ TABLE i_kna2 WITH KEY kunnr = itab-wwsap BINARY SEARCH.
IF sy-subrc = 0.
itab1-name2 = i_kna2-name1.
ENDIF.
READ TABLE i_t9zfprct WITH KEY ktgrm = itab-ktgrm BINARY SEARCH.
IF sy-subrc = 0.
itab1-zprdgrp = i_t9zfprct-zprdgrp.
ENDIF.
READ TABLE i_tvkmt WITH KEY ktgrm = itab-ktgrm BINARY SEARCH.
IF sy-subrc = 0.
itab1-ktgrm = i_tvkmt-ktgrm.
itab1-vtext = i_tvkmt-vtext.
ENDIF.
READ TABLE i_makt WITH KEY matnr = itab-artnr.
IF sy-subrc = 0.
itab1-maktx = i_makt-maktx.
ENDIF.
APPEND itab1.
CLEAR itab1.
ENDLOOP.
REFRESH itab.
SORT itab1 BY perio kunnr artnr kaufn kdpos bzirk vkbur ktgrm land1 auart kunwe zprdgrp paledger.
CLEAR : w_erlos ,w_absmg ,w_kwfrgr ,w_vvdis.
LOOP AT itab1.
MOVE-CORRESPONDING itab1 TO itab.
SHIFT itab-wwsap LEFT DELETING LEADING '0'.
SHIFT itab-kunnr LEFT DELETING LEADING '0'.
SHIFT itab-kaufn LEFT DELETING LEADING '0'.
SHIFT itab-kunwe LEFT DELETING LEADING '0'.
SHIFT itab-belnr LEFT DELETING LEADING '0'.
w_erlos = w_erlos + itab1-erlos.
w_absmg = w_absmg + itab1-absmg.
w_kwfrgr = w_kwfrgr + itab1-kwfrgr.
w_vvdis = w_vvdis + itab1-vvdis.
AT END OF paledger.
MOVE : w_erlos TO itab-erlos,
w_absmg TO itab-absmg,
w_kwfrgr TO itab-kwfrgr,
w_vvdis TO itab-vvdis.
APPEND itab.
CLEAR itab.
CLEAR : w_erlos ,w_absmg ,w_kwfrgr ,w_vvdis.
ENDAT.
ENDLOOP.
ENDIF.
clear itab.
loop at itab.
move-corresponding itab to itab2.
append itab2.
endloop.
ENDFORM. "data_select
*& Form build_fieldcatalog
* Fill field catalog and sort catelog with output fields
FORM build_fieldcatalog.
* PERFORM append_fldcat USING 'PALEDGER' 'ITAB' 'Currency type' 01 .
PERFORM append_fldcat USING 'ZPRDGRP' 'ITAB' 'Product group' 01 .
PERFORM append_fldcat USING 'KUNNR' 'ITAB' 'Customer' 02 .
PERFORM append_fldcat USING 'NAME1' 'ITAB' 'Customer Name' 03 .
PERFORM append_fldcat USING 'ARTNR' 'ITAB' 'Product Number' 04 .
PERFORM append_fldcat USING 'MAKTX' 'ITAB' 'Material Description' 05 .
PERFORM append_fldcat USING 'KTGRM' 'ITAB' 'AAG' 06 .
PERFORM append_fldcat USING 'VTEXT' 'ITAB' 'Description' 07 .
PERFORM append_fldcat USING 'WWSAP' 'ITAB' 'Sales Person' 08 .
PERFORM append_fldcat USING 'NAME2' 'ITAB' 'Sales Person Name' 09 .
PERFORM append_fldcat USING 'VKBUR' 'ITAB' 'Sales office' 10 .
PERFORM append_fldcat USING 'LAND1' 'ITAB' 'Country Key' 11 .
PERFORM append_fldcat USING 'KAUFN' 'ITAB' 'Sales order number' 12 .
PERFORM append_fldcat USING 'KDPOS' 'ITAB' 'Item no in Sales order' 13 .
PERFORM append_fldcat USING 'PERIO' 'ITAB' 'Period/year' 14 .
PERFORM append_fldcat USING 'HZDAT' 'ITAB' 'Date on which record was created' 15 .
PERFORM append_fldcat USING 'ABSMG' 'ITAB' 'Sales qty' 16 .
PERFORM append_fldcat USING 'ERLOS' 'ITAB' 'Revenue' 17 .
PERFORM append_fldcat USING 'VVDIS' 'ITAB' 'Discounts' 18 .
PERFORM append_fldcat USING 'KWFRGR' 'ITAB' 'Freight' 19 .
PERFORM append_fldcat USING 'FRWAE' 'ITAB' 'Foreign currency key' 20 .
PERFORM append_fldcat USING 'AUART' 'ITAB' 'Sales document type' 21 .
PERFORM append_fldcat USING 'KUNWE' 'ITAB' 'Ship-to-party' 22 .
PERFORM append_fldcat USING 'BZIRK' 'ITAB' 'Sales district' 23 .
* PERFORM append_fldcat USING 'BELNR' 'ITAB' 'Doc no of line item in profit' 24 .
* PERFORM append_fldcat USING 'VERSI' 'ITAB' 'Plan version (CO-PA)' 25 .
* PERFORM append_fldcat USING 'PAOBJNR' 'ITAB' 'Profitability Segment no' 26 .
* PERFORM append_fldcat USING 'PASUBNR' 'ITAB' 'Profitability Segment changes' 27 .
* PERFORM append_fldcat USING 'POSNR' 'ITAB' 'Item no in CO-PA line item' 28 .
PERFORM append_fldcat USING 'USNAM' 'ITAB' 'Created by' 29 .
PERFORM append_fldcat USING 'GJAHR' 'ITAB' 'Fiscal year' 30 .
PERFORM append_fldcat USING 'PERDE' 'ITAB' 'Period' 31 .
ENDFORM. "build_T_FIELDCAT
*& Form build_layout
FORM build_layout .
gd_layout-no_input = 'X'.
gd_layout-colwidth_optimize = 'X'.
gd_layout-totals_text = 'Totals'(201).
ENDFORM. " build_layout
*& Form build_events
FORM build_events .
DATA: ls_event TYPE slis_alv_event.
CALL FUNCTION 'REUSE_ALV_EVENTS_GET'
EXPORTING
i_list_type = 0
IMPORTING
et_events = gt_events[].
READ TABLE gt_events WITH KEY name = slis_ev_end_of_page
INTO ls_event.
IF sy-subrc = 0.
MOVE 'END_OF_PAGE' TO ls_event-form.
APPEND ls_event TO gt_events.
ENDIF.
READ TABLE gt_events WITH KEY name = slis_ev_end_of_list
INTO ls_event.
IF sy-subrc = 0.
MOVE 'END_OF_LIST' TO ls_event-form.
APPEND ls_event TO gt_events.
ENDIF.
READ TABLE gt_events
WITH KEY name = slis_ev_user_command INTO ls_event.
IF sy-subrc = 0.
ls_event-name = 'USER_COMMAND'.
ls_event-form = 'USER_COMMAND'.
APPEND ls_event TO gt_events.
ENDIF.
ENDFORM. " build_events
*& Form BUILD_PRINT_PARAMS
* Setup print parameters
FORM build_print_params.
gd_prntparams-reserve_lines = '3'. "Lines reserved for footer
gd_prntparams-no_coverpage = 'X'.
ENDFORM. " BUILD_PRINT_PARAMS
*& Form call_alv
* text
* --> p1 text
* <-- p2 text
FORM call_alv .
g_repid = sy-repid.
rs_variant-variant = p_layout.
CALL FUNCTION 'REUSE_ALV_GRID_DISPLAY'
EXPORTING
i_callback_program = g_repid
i_callback_top_of_page = 'TOP-OF-PAGE' "see FORM
i_callback_user_command = 'USER_COMMAND'
is_layout = gd_layout
it_fieldcat = t_fieldcat[]
it_events = gt_events
is_print = gd_prntparams
i_save = 'X'
is_variant = rs_variant
TABLES
t_outtab = itab2
EXCEPTIONS
program_error = 1
OTHERS = 2.
ENDFORM. " call_alv
* Form TOP-OF-PAGE *
* ALV Report Header *
FORM top-of-page.
*ALV Header declarations
DATA: t_header TYPE slis_t_listheader,
wa_header TYPE slis_listheader,
t_line LIKE wa_header-info.
* Title
wa_header-typ = 'H'.
wa_header-info = 'PA Sales Book Summary report'.
APPEND wa_header TO t_header.
CLEAR wa_header.
* Date
wa_header-typ = 'S'.
wa_header-key = 'Date: '.
CONCATENATE sy-datum+6(2) '.'
sy-datum+4(2) '.'
sy-datum(4) INTO wa_header-info. "todays date
APPEND wa_header TO t_header.
CLEAR: wa_header.
* Total No. of Records Selected
DESCRIBE TABLE itab LINES t_lineno.
ld_linesc = t_lineno.
CONCATENATE 'Total No. of Records Selected: ' ld_linesc
INTO t_line SEPARATED BY space.
wa_header-typ = 'A'.
wa_header-info = t_line.
APPEND wa_header TO t_header.
CLEAR: wa_header, t_line.
CALL FUNCTION 'REUSE_ALV_COMMENTARY_WRITE'
EXPORTING
it_list_commentary = t_header.
ENDFORM. "top-of-page
*& Form END_OF_PAGE
FORM end_of_page.
DATA: listwidth TYPE i,
ld_pagepos(10) TYPE c,
ld_page(10) TYPE c.
WRITE: sy-uline(50).
SKIP.
WRITE:/40 'Page:', sy-pagno .
ENDFORM. "END_OF_PAGE
*& Form END_OF_LIST
FORM end_of_list.
DATA: listwidth TYPE i,
ld_pagepos(10) TYPE c,
ld_page(10) TYPE c.
SKIP.
WRITE:/40 'Page:', sy-pagno .
ENDFORM. "END_OF_LIST
*& Form user_command
* text
* -->R_UCOMM text
* -->RS_SELFIELDtext
FORM user_command USING r_ucomm LIKE sy-ucomm
rs_selfield TYPE slis_selfield.
IF r_ucomm = '&IC1'.
CASE rs_selfield-fieldname.
WHEN 'KUNNR'.
SET PARAMETER ID 'KUN' FIELD rs_selfield-value.
CALL TRANSACTION 'XD03' AND SKIP FIRST SCREEN.
ENDCASE.
ENDIF.
ENDFORM. "user_command
*& Form append_fldcat
* text
FORM append_fldcat USING par_fldname par_tabname par_seltext pos.
t_fieldcat-tabname = par_tabname.
t_fieldcat-fieldname = par_fldname .
* t_fieldcat-seltext_s = par_seltext.
* t_fieldcat-seltext_m = par_seltext.
t_fieldcat-seltext_l = par_seltext.
t_fieldcat-reptext_ddic = par_seltext.
t_fieldcat-col_pos = pos.
* t_fieldcat-just = 'R'.
t_fieldcat-lzero = ' '.
APPEND t_fieldcat.
ENDFORM. " append_fldcat
*& Form ALV_VARIANT_F4
* text
* -->PA_VARI text
FORM alv_variant_f4 CHANGING p_layout.
DATA nof4 TYPE c.
CLEAR nof4.
LOOP AT SCREEN.
IF screen-name = 'P_LAYOUT'.
IF screen-input = 0.
nof4 = 'X'.
ENDIF.
ENDIF.
ENDLOOP.
rs_variant-report = sy-repid.
rs_variant-username = sy-uname.
CALL FUNCTION 'REUSE_ALV_VARIANT_F4'
EXPORTING
is_variant = rs_variant
i_save = 'A'
IMPORTING
es_variant = rs_variant
EXCEPTIONS
OTHERS = 1.
IF sy-subrc = 0 AND nof4 EQ space.
p_layout = rs_variant-variant.
ENDIF.
ENDFORM.
*& Form dataset
* text
* --> p1 text
* <-- p2 text
form dataset .
OPEN DATASET P_FILE FOR OUTPUT IN TEXT MODE ENCODING DEFAULT.
*--- Display error messages if any.
IF sy-subrc NE 0.
MESSAGE e001(zsd_mes).
EXIT.
ELSE.
*---Data is downloaded to the application server file path
LOOP AT itab2.
TRANSFER itab2 TO p_file.
ENDLOOP.
ENDIF.
*--Close the Application server file (Mandatory).
CLOSE DATASET p_file.
endform. " dataset
When I execute this code and move back it shows the following error.I want to move the output to p_file in application server.Plz suggest what to do.
Only character-type data objects are supported at the argument
position "f" for the statement
"TRANSFER f TO ...".
In this case, the operand "f" has the non-character-type "u". The
current program is flagged as a Unicode program. In the Unicode context,
type X fields are seen as non-character-type, as are structures that
contain non-character-type components.Some of the fields in TAB2 may not be text. Open the dataset in binary mode and see if that resolves the issue.
If you must have the file in text mode, then copy the header line to a structure containing just text fields and then transfer to the dataset. -
Sub total in ALV report.
hello everyone,
i am developing one ALV report and one problem is there.
i want Material Group wise total on 1.Quantity 2. Asssessable value 3. Basic duty 4. Edu cess.
Problem is all total are correct but when material group is different it repeat same total again. how to do total different material group wise?
i am using this code...............
*& Report ZHP_EXCISE_INVOICE
REPORT zhp_excise_invoice NO STANDARD PAGE HEADING LINE-SIZE 150 MESSAGE-ID 00.
TYPE-POOLS: slis.
TABLES: j_1iexchdr,vbrk,vbrp,t001w,t023t,konv.
DATA: BEGIN OF ithp_j_1iexchdr OCCURS 0,
docyr LIKE j_1iexchdr-docyr, "Year
bukrs LIKE j_1iexchdr-bukrs, "Company Code
werks LIKE j_1iexchdr-werks, "PLANT
exdat LIKE j_1iexchdr-exdat, "Excise Document Date
rdoc LIKE j_1iexchdr-rdoc, "Reference Document 1
preprn LIKE j_1iexchdr-preprn, "Preprinted Serial Number
kunag LIKE j_1iexchdr-kunag, "Sold-to party
kunwe LIKE j_1iexchdr-kunwe, "Ship-to party
exbed LIKE j_1iexchdr-exbed, "Basic Excise Duty
ecs LIKE j_1iexchdr-ecs, "Edu Cess amount
status LIKE j_1iexchdr-status, "Excise Document Status
censtat LIKE j_1iexchdr-censtat, "CENVAT Utilization status
exccd LIKE j_1iexchdr-exccd, "ECC Number
trntyp LIKE j_1iexchdr-trntyp, "Excise Transaction Type
vbeln LIKE vbrk-vbeln, "Billing Document
kzwi2 LIKE vbrp-kzwi2, "Assessable value
fkimg LIKE vbrp-fkimg, "Actual billed quantity
matkl LIKE vbrp-matkl, "Material group
netwr LIKE vbrp-netwr, "Net value
name1 LIKE t001w-name1, "Plant Name
wgbez LIKE t023t-wgbez, "Material Group Desc.
serial_no TYPE i,
subtot1 TYPE vbrp-fkimg,
price_per TYPE konv-kbetr,
cash_disc TYPE konv-kwert,
vol_disc TYPE konv-kwert,
***_value TYPE konv-kbetr,
***_value1 TYPE konv-kbetr,
BASIC_DUTY1 TYPE konv-kwert,
EDU_CESS1 TYPE konv-kwert,
END OF ithp_j_1iexchdr.
DATA : x TYPE i VALUE 0,
y TYPE i VALUE 0.
DATA: t_fillcat TYPE slis_t_fieldcat_alv,
w_fillcat TYPE slis_fieldcat_alv,
layout TYPE slis_layout_alv,
repid LIKE sy-repid.
TYPES: BEGIN OF ty_itab,
price_per TYPE konv-kbetr,
basic_prc TYPE konv-kbetr,
cash_disc TYPE konv-kwert,
vol_disc TYPE konv-kwert,
***_value TYPE konv-kbetr,
END OF ty_itab.
DATA:it_itab TYPE ty_itab OCCURS 0 WITH HEADER LINE,
wa_itab TYPE ty_itab.
TYPES: BEGIN OF ty_konv,
kschl TYPE konv-kschl,
kbetr TYPE konv-kbetr,
kwert TYPE konv-kwert,
mwsk1 TYPE konv-mwsk1,
knumv TYPE konv-knumv,
kposn TYPE konv-kposn,
END OF ty_konv.
DATA: it_konv TYPE ty_konv OCCURS 0 WITH HEADER LINE,
wa_konv TYPE ty_konv .
TYPES: BEGIN OF ty_vbrk,
fkdat TYPE vbrk-fkdat,
fkart TYPE vbrk-fkart,
knumv TYPE vbrk-knumv,
vbeln TYPE vbrk-vbeln,
vbtyp TYPE vbrk-vbtyp,
bukrs TYPE vbrk-bukrs,
kunrg TYPE vbrk-kunrg,
END OF ty_vbrk.
DATA: it_vbrk TYPE ty_vbrk OCCURS 0 WITH HEADER LINE,
wa_vbrk TYPE ty_vbrk .
TYPES : BEGIN OF ty_vbrp,
werks TYPE vbrp-werks,
spart TYPE vbrp-spart,
vkbur TYPE vbrp-vkbur,
matkl TYPE vbrp-matkl,
vbeln TYPE vbrp-vbeln,
posnr TYPE vbrp-posnr,
vgbel TYPE vbrp-vgbel,
matnr TYPE vbrp-matnr,
brgew TYPE vbrp-brgew,
fkimg TYPE vbrp-fkimg,
vrkme TYPE vbrp-vrkme,
netwr TYPE vbrp-netwr,
arktx TYPE vbrp-arktx,
aubel TYPE vbrp-aubel,
kzwi1 TYPE vbrp-kzwi1,
kzwi2 TYPE vbrp-kzwi2,
kzwi4 TYPE vbrp-kzwi4,
kzwi5 TYPE vbrp-kzwi5,
kzwi6 TYPE vbrp-kzwi6,
END OF ty_vbrp.
DATA: it_vbrp TYPE ty_vbrp OCCURS 0 WITH HEADER LINE,
wa_vbrp TYPE ty_vbrp.
DATA: events TYPE slis_t_event,
gt_list_top_of_page TYPE slis_t_listheader.
top_of_page type slis_formname value 'TOP_OF_PAGE'.
SELECTION-SCREEN BEGIN OF BLOCK b1 WITH FRAME TITLE text-001.
SELECT-OPTIONS: p_bukrs FOR j_1iexchdr-bukrs.
SELECT-OPTIONS: p_exgrp FOR j_1iexchdr-exgrp.
SELECT-OPTIONS: p_werks FOR j_1iexchdr-werks.
SELECT-OPTIONS: p_matkl FOR vbrp-matkl.
SELECT-OPTIONS: p_trntyp FOR j_1iexchdr-trntyp DEFAULT 'DLFC' NO INTERVALS.
SELECT-OPTIONS: p_status FOR j_1iexchdr-status DEFAULT 'C' NO INTERVALS.
SELECT-OPTIONS: p_cnstat FOR j_1iexchdr-censtat DEFAULT 'P' NO INTERVALS.
SELECT-OPTIONS: p_exdat FOR j_1iexchdr-exdat OBLIGATORY.
SELECTION-SCREEN END OF BLOCK b1.
repid = sy-repid.
AT SELECTION-SCREEN ON p_bukrs.
SELECT SINGLE * FROM j_1iexchdr WHERE bukrs IN p_bukrs.
IF sy-subrc <> 0.
MESSAGE e001 WITH 'No Table Entries Found'.
EXIT.
ENDIF.
AT SELECTION-SCREEN ON p_werks.
SELECT SINGLE * FROM j_1iexchdr WHERE werks IN p_werks.
IF sy-subrc <> 0.
MESSAGE e001 WITH 'No Table Entries Found'.
EXIT.
ENDIF.
AT SELECTION-SCREEN ON p_matkl.
SELECT SINGLE * FROM vbrp WHERE matkl IN p_matkl.
IF sy-subrc <> 0.
MESSAGE e001 WITH 'No Table Entries Found'.
EXIT.
ENDIF.
AT SELECTION-SCREEN ON p_exdat.
SELECT SINGLE * FROM j_1iexchdr WHERE exdat IN p_exdat.
IF sy-subrc <> 0.
MESSAGE e001 WITH 'No Table Entries Found'.
EXIT.
ENDIF.
START-OF-SELECTION.
PERFORM select.
PERFORM fillcat.
PERFORM display.
END-OF-SELECTION.
*& Form SELECT
text
--> p1 text
<-- p2 text
FORM select .
SELECT DOCYR
BUKRS
WERKS
EXDAT
RDOC
PREPRN
KUNAG
KUNWE
EXBED
ECS
STATUS
CENSTAT
INTO CORRESPONDING FIELDS OF TABLE ITHP_J_1IEXCHDR
FROM J_1IEXCHDR
WHERE BUKRS IN P_BUKRS AND
EXGRP IN P_EXGRP AND
WERKS IN P_WERKS AND
EXDAT IN P_EXDAT.
SELECT VBELN
NETWR
INTO CORRESPONDING FIELDS OF TABLE ITHP_VBRK
FROM VBRK
FOR ALL ENTRIES IN ITHP_J_1IEXCHDR
WHERE VBELN EQ ITHP_J_1IEXCHDR-RDOC AND
BUKRS EQ ITHP_J_1IEXCHDR-BUKRS AND
KUNAG EQ ITHP_J_1IEXCHDR-KUNAG.
SORT ITHP_J_1IEXCHDR BY DOCYR BUKRS WERKS EXDAT RDOC.
SORT ITHP_VBRK BY VBELN.
SELECT a~docyr
a~bukrs
a~werks
a~exdat
a~rdoc
a~preprn
a~kunag
a~kunwe
a~exbed
a~ecs
a~status
a~censtat
a~exccd
a~trntyp
c~netwr
c~kzwi2
c~fkimg
c~matkl
d~name1
e~wgbez
INTO CORRESPONDING FIELDS OF TABLE ithp_j_1iexchdr
FROM j_1iexchdr AS a INNER JOIN vbrk AS b ON ardoc = bvbeln
INNER JOIN vbrp AS c ON bvbeln = cvbeln
INNER JOIN t001w AS d ON awerks = dwerks
INNER JOIN t023t AS e ON cmatkl = ematkl
WHERE a~bukrs IN p_bukrs AND
a~exgrp IN p_exgrp AND
a~werks IN p_werks AND
c~matkl IN p_matkl AND
a~trntyp IN p_trntyp AND
a~status IN p_status AND
a~censtat IN p_cnstat AND
a~exdat IN p_exdat.
SORT ithp_j_1iexchdr BY docyr bukrs werks exdat rdoc matkl.
ENDFORM. " SELECT
*& Form FILLCAT
text
--> p1 text
<-- p2 text
FORM fillcat .
DATA: subtot TYPE vbrp-fkimg.
DATA: BASIC_DUTY TYPE konv-kwert.
DATA: EDU_CESS TYPE konv-kwert.
REFRESH it_vbrk.
REFRESH it_konv.
REFRESH it_vbrp.
LOOP AT ithp_j_1iexchdr.
SELECT fkdat fkart knumv vbeln vbtyp bukrs kunrg
FROM vbrk INTO TABLE it_vbrk
WHERE vbeln EQ ithp_j_1iexchdr-rdoc.
SELECT kschl kbetr kwert mwsk1 knumv kposn FROM konv
INTO TABLE it_konv FOR ALL ENTRIES IN it_vbrk
WHERE knumv EQ it_vbrk-knumv.
SELECT werks spart vkbur matkl vbeln posnr
vgbel matnr brgew fkimg vrkme netwr
arktx aubel kzwi1 kzwi2 kzwi4 kzwi5
kzwi6 FROM vbrp INTO TABLE it_vbrp FOR ALL
ENTRIES IN it_vbrk
WHERE vbeln EQ it_vbrk-vbeln.
SORT it_vbrk BY vbeln knumv.
SORT it_konv BY KSCHL knumv.
SORT it_vbrp BY vbeln.
LOOP AT it_konv.
IF it_konv-kschl = 'ZASS'.
LOOP AT it_konv.
IF it_konv-kschl = 'ZPR0'.
it_itab-***_value = it_konv-kwert.
ithp_j_1iexchdr-***_value = it_itab-***_value.
ADD ithp_j_1iexchdr-***_value TO ithp_j_1iexchdr-***_value1.
ithp_j_1iexchdr-***_value1 = ithp_j_1iexchdr-***_value1 - ithp_j_1iexchdr-***_value.
MODIFY ithp_j_1iexchdr.
ENDIF.
IF it_konv-kschl = 'ZASS'.
it_itab-***_value = it_konv-kwert.
ithp_j_1iexchdr-***_value = it_itab-***_value.
ADD ithp_j_1iexchdr-***_value TO ithp_j_1iexchdr-***_value1.
MODIFY ithp_j_1iexchdr.
ENDIF.
ENDLOOP.
EXIT.
ENDIF.
IF it_konv-kschl = 'PR00'.
it_itab-***_value = it_konv-kwert.
ithp_j_1iexchdr-***_value = it_itab-***_value.
ADD ithp_j_1iexchdr-***_value TO ithp_j_1iexchdr-***_value1.
MODIFY ithp_j_1iexchdr.
ENDIF.
IF it_konv-kschl = 'ZPR0'.
LOOP AT it_konv.
IF it_konv-kschl = 'ZASS'.
EXIT.
ENDIF.
it_itab-***_value = it_konv-kwert.
ithp_j_1iexchdr-***_value = it_itab-***_value.
ADD ithp_j_1iexchdr-***_value TO ithp_j_1iexchdr-***_value1.
ithp_j_1iexchdr-***_value1 = ithp_j_1iexchdr-***_value1 - ithp_j_1iexchdr-***_value.
MODIFY ithp_j_1iexchdr.
ENDIF.
IF it_konv-kschl = 'ZPR0'.
it_itab-***_value = it_konv-kwert.
ithp_j_1iexchdr-***_value = it_itab-***_value.
ADD ithp_j_1iexchdr-***_value TO ithp_j_1iexchdr-***_value1.
MODIFY ithp_j_1iexchdr.
ENDIF.
ENDLOOP.
EXIT.
ENDIF.
IF it_konv-kschl = 'JEXP'.
BASIC_DUTY = it_konv-kwert.
ADD BASIC_DUTY TO ithp_j_1iexchdr-BASIC_DUTY1.
MODIFY ithp_j_1iexchdr.
ENDIF.
IF it_konv-kschl = 'JECS'.
EDU_CESS = it_konv-kwert.
ADD EDU_CESS TO ithp_j_1iexchdr-EDU_CESS1.
MODIFY ithp_j_1iexchdr.
ENDIF.
ENDLOOP.
ENDLOOP.
LOOP AT ithp_j_1iexchdr.
AT NEW rdoc.
SUM.
subtot = ithp_j_1iexchdr-fkimg.
ENDAT.
ithp_j_1iexchdr-subtot1 = subtot.
MODIFY ithp_j_1iexchdr.
AT NEW MATKL.
ENDAT.
ENDLOOP.
DELETE ADJACENT DUPLICATES FROM ithp_j_1iexchdr.
LOOP AT ithp_j_1iexchdr.
x = x + 1.
ithp_j_1iexchdr-serial_no = x.
MODIFY ithp_j_1iexchdr.
ENDLOOP.
repid = sy-repid.
DATA: col_pos TYPE i VALUE 0.
col_pos = col_pos + 1.
col_pos = col_pos + 1.
w_fillcat-fieldname = 'SERIAL_NO'.
w_fillcat-tabname = 'ITHP_J_1IEXCHDR'.
w_fillcat-col_pos = col_pos.
w_fillcat-seltext_s = 'Serial No'.
w_fillcat-seltext_m = 'Serial No'.
w_fillcat-seltext_l = 'Serial No'.
w_fillcat-outputlen = 8.
APPEND w_fillcat TO t_fillcat.
CLEAR w_fillcat.
col_pos = col_pos + 1.
w_fillcat-fieldname = 'DOCYR'.
w_fillcat-tabname = 'ITHP_J_1IEXCHDR'.
w_fillcat-col_pos = col_pos.
w_fillcat-seltext_s = 'Year'.
w_fillcat-seltext_m = 'Year'.
w_fillcat-seltext_l = 'Year'.
w_fillcat-outputlen = 5.
APPEND w_fillcat TO t_fillcat.
CLEAR w_fillcat.
col_pos = col_pos + 1.
w_fillcat-fieldname = 'WERKS'.
w_fillcat-tabname = 'ITHP_J_1IEXCHDR'.
w_fillcat-col_pos = col_pos.
w_fillcat-seltext_s = 'Plant'.
w_fillcat-seltext_m = 'Plant'.
w_fillcat-seltext_l = 'Plant'.
w_fillcat-outputlen = 5.
APPEND w_fillcat TO t_fillcat.
CLEAR w_fillcat.
col_pos = col_pos + 1.
w_fillcat-fieldname = 'EXDAT'.
w_fillcat-tabname = 'ITHP_J_1IEXCHDR'.
w_fillcat-col_pos = col_pos.
w_fillcat-seltext_s = 'Doc. Date'.
w_fillcat-seltext_m = 'Doc. Date'.
w_fillcat-seltext_l = 'Doc. Date'.
w_fillcat-outputlen = 10.
APPEND w_fillcat TO t_fillcat.
CLEAR w_fillcat.
col_pos = col_pos + 1.
w_fillcat-fieldname = 'RDOC'.
w_fillcat-tabname = 'ITHP_J_1IEXCHDR'.
w_fillcat-col_pos = col_pos.
w_fillcat-seltext_s = 'Ref. Document'.
w_fillcat-seltext_m = 'Ref. Document'.
w_fillcat-seltext_l = 'Ref. Document'.
w_fillcat-outputlen = 11.
APPEND w_fillcat TO t_fillcat.
CLEAR w_fillcat.
col_pos = col_pos + 1.
w_fillcat-fieldname = 'PREPRN'.
w_fillcat-tabname = 'ITHP_J_1IEXCHDR'.
w_fillcat-col_pos = col_pos.
w_fillcat-seltext_s = 'Invoice No'.
w_fillcat-seltext_m = 'Invoice No'.
w_fillcat-seltext_l = 'Invoice No'.
w_fillcat-outputlen = 11.
APPEND w_fillcat TO t_fillcat.
CLEAR w_fillcat.
col_pos = col_pos + 1.
w_fillcat-fieldname = 'SUBTOT1'.
w_fillcat-tabname = 'ITHP_J_1IEXCHDR'.
w_fillcat-col_pos = col_pos.
w_fillcat-do_sum = 'X'.
w_fillcat-seltext_s = 'Quantity'.
w_fillcat-seltext_m = 'Quantity'.
w_fillcat-seltext_l = 'Quantity'.
w_fillcat-outputlen = 13.
APPEND w_fillcat TO t_fillcat.
CLEAR w_fillcat.
col_pos = col_pos + 1.
w_fillcat-fieldname = '***_VALUE1'.
w_fillcat-tabname = 'ITHP_J_1IEXCHDR'.
w_fillcat-col_pos = col_pos.
w_fillcat-do_sum = 'X'.
w_fillcat-seltext_s = 'Assessable value'.
w_fillcat-seltext_m = 'Assessable value'.
w_fillcat-seltext_l = 'Assessable value'.
w_fillcat-outputlen = 15.
APPEND w_fillcat TO t_fillcat.
CLEAR w_fillcat.
col_pos = col_pos + 1.
w_fillcat-fieldname = 'BASIC_DUTY1'.
w_fillcat-tabname = 'ITHP_J_1IEXCHDR'.
w_fillcat-col_pos = col_pos.
w_fillcat-do_sum = 'X'.
w_fillcat-seltext_s = 'Basic Duty'.
w_fillcat-seltext_m = 'Basic Duty'.
w_fillcat-seltext_l = 'Basic Duty'.
w_fillcat-outputlen = 13.
APPEND w_fillcat TO t_fillcat.
CLEAR w_fillcat.
col_pos = col_pos + 1.
w_fillcat-fieldname = 'EDU_CESS1'.
w_fillcat-tabname = 'ITHP_J_1IEXCHDR'.
w_fillcat-col_pos = col_pos.
w_fillcat-do_sum = 'X'.
w_fillcat-seltext_s = 'Edu Cess'.
w_fillcat-seltext_m = 'Edu Cess'.
w_fillcat-seltext_l = 'Edu Cess'.
w_fillcat-outputlen = 13.
APPEND w_fillcat TO t_fillcat.
CLEAR w_fillcat.
col_pos = col_pos + 1.
w_fillcat-fieldname = 'KUNAG'.
w_fillcat-tabname = 'ITHP_J_1IEXCHDR'.
w_fillcat-col_pos = col_pos.
w_fillcat-seltext_s = 'Sold-to pt'.
w_fillcat-seltext_m = 'Sold-to pt'.
w_fillcat-seltext_l = 'Sold-to pt'.
w_fillcat-outputlen = 10.
APPEND w_fillcat TO t_fillcat.
CLEAR w_fillcat.
col_pos = col_pos + 1.
w_fillcat-fieldname = 'KUNWE'.
w_fillcat-tabname = 'ITHP_J_1IEXCHDR'.
w_fillcat-col_pos = col_pos.
w_fillcat-seltext_s = 'Ship-to pt'.
w_fillcat-seltext_m = 'Ship-to pt'.
w_fillcat-seltext_l = 'Ship-to pt'.
w_fillcat-outputlen = 10.
APPEND w_fillcat TO t_fillcat.
CLEAR w_fillcat.
col_pos = col_pos + 1.
w_fillcat-fieldname = 'STATUS'.
w_fillcat-tabname = 'ITHP_J_1IEXCHDR'.
w_fillcat-col_pos = col_pos.
w_fillcat-seltext_s = 'Doc. Status'.
w_fillcat-seltext_m = 'Doc. Status'.
w_fillcat-seltext_l = 'Doc. Status'.
w_fillcat-outputlen = 8.
APPEND w_fillcat TO t_fillcat.
CLEAR w_fillcat.
col_pos = col_pos + 1.
w_fillcat-fieldname = 'CENSTAT'.
w_fillcat-tabname = 'ITHP_J_1IEXCHDR'.
w_fillcat-col_pos = col_pos.
w_fillcat-seltext_s = 'Cenvet status'.
w_fillcat-seltext_m = 'Cenvet status'.
w_fillcat-seltext_l = 'Cenvet status'.
w_fillcat-outputlen = 8.
APPEND w_fillcat TO t_fillcat.
CLEAR w_fillcat.
col_pos = col_pos + 1.
w_fillcat-fieldname = 'MATKL'.
w_fillcat-tabname = 'ITHP_J_1IEXCHDR'.
w_fillcat-col_pos = col_pos.
w_fillcat-seltext_s = 'Mat. Grp'.
w_fillcat-seltext_m = 'Mat. Grp'.
w_fillcat-seltext_l = 'Mat. Grp'.
w_fillcat-outputlen = 9.
APPEND w_fillcat TO t_fillcat.
CLEAR w_fillcat.
col_pos = col_pos + 1.
w_fillcat-fieldname = 'WGBEZ'.
w_fillcat-tabname = 'ITHP_J_1IEXCHDR'.
w_fillcat-col_pos = col_pos.
w_fillcat-seltext_s = 'Mat. Grp Desc.'.
w_fillcat-seltext_m = 'Mat. Grp Desc.'.
w_fillcat-seltext_l = 'Mat. Grp Desc.'.
w_fillcat-outputlen = 20.
APPEND w_fillcat TO t_fillcat.
CLEAR w_fillcat.
ENDFORM. " FILLCAT
*& Form DISPLAY
text
--> p1 text
<-- p2 text
FORM display .
DATA : lv_grid_title TYPE lvc_title.
DATA: date1(10) TYPE c.
DATA: tperiod(500) TYPE c,
tperiod1(40) TYPE c,
tperiod2(30) TYPE c,
temp(25) TYPE c,
temp1(35) TYPE c,
temp2(25) TYPE c,
temp3(25) TYPE c,
temp4(60) TYPE c,
temp5(100) TYPE c.
CONCATENATE sy-datum6(2) sy-datum4(2) sy-datum+0(4)
INTO date1 SEPARATED BY '/'.
CONCATENATE p_exdat-low6(2) p_exdat-low4(2) p_exdat-low+0(4)
INTO temp1 SEPARATED BY '/'.
CONCATENATE p_exdat-high6(2) p_exdat-high4(2) p_exdat-high+0(4)
INTO temp2 SEPARATED BY '/'.
CONCATENATE 'DUTY DEBIT STMT:'
temp1 'TO' temp2
INTO tperiod
SEPARATED BY space.
IF ithp_j_1iexchdr-werks = '1000'.
CONCATENATE tperiod 'Plant :' ithp_j_1iexchdr-name1 'Ecc No :' ithp_j_1iexchdr-exccd INTO lv_grid_title
SEPARATED BY space.
ELSEIF ithp_j_1iexchdr-werks = '1101'.
CONCATENATE tperiod 'Plant :' ithp_j_1iexchdr-name1 'Ecc No :' ithp_j_1iexchdr-exccd INTO lv_grid_title
SEPARATED BY space.
ELSEIF ithp_j_1iexchdr-werks = '1102'.
CONCATENATE tperiod 'Plant :' ithp_j_1iexchdr-name1 'Ecc No :' ithp_j_1iexchdr-exccd INTO lv_grid_title
SEPARATED BY space.
ELSEIF ithp_j_1iexchdr-werks = '1103'.
CONCATENATE tperiod 'Plant :' ithp_j_1iexchdr-name1 'Ecc No :' ithp_j_1iexchdr-exccd INTO lv_grid_title
SEPARATED BY space.
ELSEIF ithp_j_1iexchdr-werks = '1104'.
CONCATENATE tperiod 'Plant :' ithp_j_1iexchdr-name1 'Ecc No :' ithp_j_1iexchdr-exccd INTO lv_grid_title
SEPARATED BY space.
ELSEIF ithp_j_1iexchdr-werks = '1201'.
CONCATENATE tperiod 'Plant :' ithp_j_1iexchdr-name1 'Ecc No :' ithp_j_1iexchdr-exccd INTO lv_grid_title
SEPARATED BY space.
ELSEIF ithp_j_1iexchdr-werks = '1202'.
CONCATENATE tperiod 'Plant :' ithp_j_1iexchdr-name1 'Ecc No :' ithp_j_1iexchdr-exccd INTO lv_grid_title
SEPARATED BY space.
ELSEIF ithp_j_1iexchdr-werks = '1203'.
CONCATENATE tperiod 'Plant :' ithp_j_1iexchdr-name1 'Ecc No :' ithp_j_1iexchdr-exccd INTO lv_grid_title
SEPARATED BY space.
ELSEIF ithp_j_1iexchdr-werks = '1204'.
CONCATENATE tperiod 'Plant :' ithp_j_1iexchdr-name1 'Ecc No :' ithp_j_1iexchdr-exccd INTO lv_grid_title
SEPARATED BY space.
ELSEIF ithp_j_1iexchdr-werks = '1205'.
CONCATENATE tperiod 'Plant :' ithp_j_1iexchdr-name1 'Ecc No :' ithp_j_1iexchdr-exccd INTO lv_grid_title
SEPARATED BY space.
ELSEIF ithp_j_1iexchdr-werks = '1261'.
CONCATENATE tperiod 'Plant :' ithp_j_1iexchdr-name1 'Ecc No :' ithp_j_1iexchdr-exccd INTO lv_grid_title
SEPARATED BY space.
ELSEIF ithp_j_1iexchdr-werks = '1301'.
CONCATENATE tperiod 'Plant :' ithp_j_1iexchdr-name1 'Ecc No :' ithp_j_1iexchdr-exccd INTO lv_grid_title
SEPARATED BY space.
ELSEIF ithp_j_1iexchdr-werks = '1901'.
CONCATENATE tperiod 'Plant :' ithp_j_1iexchdr-name1 'Ecc No :' ithp_j_1iexchdr-exccd INTO lv_grid_title
SEPARATED BY space.
ELSEIF ithp_j_1iexchdr-werks = '2000'.
CONCATENATE tperiod 'Plant :' ithp_j_1iexchdr-name1 'Ecc No :' ithp_j_1iexchdr-exccd INTO lv_grid_title
SEPARATED BY space.
ELSEIF ithp_j_1iexchdr-werks = '2101'.
CONCATENATE tperiod 'Plant :' ithp_j_1iexchdr-name1 'Ecc No :' ithp_j_1iexchdr-exccd INTO lv_grid_title
SEPARATED BY space.
ELSEIF ithp_j_1iexchdr-werks = '3000'.
CONCATENATE tperiod 'Plant :' ithp_j_1iexchdr-name1 'Ecc No :' ithp_j_1iexchdr-exccd INTO lv_grid_title
SEPARATED BY space.
ELSEIF ithp_j_1iexchdr-werks = '3101'.
CONCATENATE tperiod 'Plant :' ithp_j_1iexchdr-name1 'Ecc No :' ithp_j_1iexchdr-exccd INTO lv_grid_title
SEPARATED BY space.
ELSE.
CONCATENATE tperiod ' ' INTO lv_grid_title
SEPARATED BY space.
ENDIF.
CALL FUNCTION 'SAPGUI_PROGRESS_INDICATOR'
EXPORTING
percentage = 100
text = 'Generating Report ... '.
CALL FUNCTION 'REUSE_ALV_GRID_DISPLAY'
EXPORTING
I_INTERFACE_CHECK = ' '
I_BYPASSING_BUFFER = ' '
I_BUFFER_ACTIVE = ' '
i_callback_program = 'REPID'
I_CALLBACK_PF_STATUS_SET = ' '
I_CALLBACK_USER_COMMAND = ' '
I_CALLBACK_TOP_OF_PAGE = 'TOP_OF_PAGE'
I_CALLBACK_HTML_TOP_OF_PAGE = ' '
I_CALLBACK_HTML_END_OF_LIST = ' '
I_STRUCTURE_NAME =
I_BACKGROUND_ID = ' '
i_grid_title = lv_grid_title
I_GRID_SETTINGS =
is_layout = layout
it_fieldcat = t_fillcat
IT_EXCLUDING =
IT_SPECIAL_GROUPS =
IT_SORT =
IT_FILTER =
IS_SEL_HIDE =
i_default = 'X'
i_save = 'X'
IS_VARIANT =
IT_EVENTS = 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
I_HTML_HEIGHT_TOP = 0
I_HTML_HEIGHT_END = 0
IT_ALV_GRAPHICS =
IT_HYPERLINK =
IT_ADD_FIELDCAT =
IT_EXCEPT_QINFO =
IR_SALV_FULLSCREEN_ADAPTER =
IMPORTING
E_EXIT_CAUSED_BY_CALLER =
ES_EXIT_CAUSED_BY_USER =
TABLES
t_outtab = ithp_j_1iexchdr
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. " DISPLAY
Thanks in Advance.....Hi himanshu,
here i am sending some solution.
just create a internal table and wa for IT_SORT in grid display(just like for field cat).
Then u have to populate the internal table by fields for which u want subtotals.
just follow this code.
data: i_sort type SLIS_T_SORTINFO_ALV,
wa_sort type SLIS_SORTINFO_ALV.
wa_sort-fieldname = 'quantity'.
wa_sort-up = 'X'.
wa_sort-subtotal = 'X'.
append wa_sort to i_sort.
Do the same thing for all fields.
mention the internal table name in Grid display.
I think this some what useful to u,
Bye. -
Hi ,
have been working on a ALV report using the class SALV cl_salv_hierseq_table
I am facing few issues pertaining to two things:
1. Displaying some subtotal text along with the subtotals.
Example refer the standard demo example: SALV_DEMO_HIERSEQ_FORM_EVENTS
Now instead of A 17 and A26 I would like to show text like Subtotal for the Carrid.for subtotals and grand totals
Like Subtotal for A 17 is : XXXXXXX
GrandTotal is : YYYYYY
2. We have a page break and a new page for every purchasing group as in the standard example SALV_DEMO_HIERSEQ_FORM_EVENTS for CARRID.
I need to display some variable values as number of documents ,total number of records etc at the end of each CARRID group before a new page starts for the next CARRID.Please note i do not want it on every page.it should only be diaplyed at the end of page whose next page would be for next CARRID.[basically at end of every carrid]Example:after displaying all details for AA need to display the number of records for that carrid at the end of the page[as page break is based on CARRID]/
Thanks
Jyotsnaat end of page event, for CL_SALV_EVENTS_HIERSEQ, has some useful parameters allowing to know where you are at the time of event
parameter VALUE is of type CL_SALV_FORM which contains public attribute IF_SALV_FORM~ACCDESCRIPTION; you can slo get contents of it
about text of total/subtotal, this is normally set in the layout -
Hide grand total field on ALV report, But keep the sub total fields
Dear Experts,
1) How to hide grand total field on ALV report, But keep the sub total fields.
2) How to populate rate per ton & calculate total price according to the qty in delivering document.Dear Experts,
1) How to hide grand total field on ALV report, But keep the sub total fields.
2) How to populate rate per ton & calculate total price according to the qty in delivering document.
Maybe you are looking for
-
NO video on HD tv through HDMI connector ! only sound
hi, I am using ipad4 with latest OS updates. I am using HDMI adaptor by apple to connect to my HD tv (Sony). I saw a glimpse of my ipad once on the screen but i vanished suddenly and since then i have been trying to no use. I tried playing a video, b
-
Issue loading Crystal XI reports with Visual Studio 2008
Hi: I'm converting a Visual Studio 2003 web application to Visual Studio 2008. The application has a lot of reports designed with Crystal XI and I cannot open then from VS 2008. I have tried two ways so far: 1_ Using Crystal 2008 Basic that bundle wi
-
Am using latest iTunes in latest OSX; every time I try to delete a playlist or song, or podcast or anything, the iTunes "beachball" appears and app unexpectedly quits. Are there any workarounds I can use to delete my duplicate files? Could I re-insta
-
Hello all Guru's, Good Morning, My user want that to see all vendor's address details by using one T. CODE . is it possible .pl suggest Regards Good Day km
-
HI. I have a LEICA D-LUX 4 camera. Wich are the steps in Photoshop CS4 Exstended to open RAW FILES ? Many thanks