Sub Total Alv Report
Sub Total Alv Report
TYPES:BEGIN OF gty_vbakvbap, vbeln TYPE vbak-vbeln, vkorg TYPE vbak-vkorg, audat TYPE vbak-audat, auart TYPE vbak-auart, kunnr TYPE vbak-kunnr, posnr TYPE vbap-posnr, matnr TYPE vbap-matnr, matkl TYPE vbap-matkl, kwmeng TYPE vbap-kwmeng, END OF gty_vbakvbap, gty_t_vbakvbap TYPE TABLE OF gty_vbakvbap. TYPES:BEGIN OF gty_kna1, kunnr TYPE kna1-kunnr, land1 TYPE kna1-land1, name1 TYPE kna1-name1, ort01 TYPE kna1-ort01, END OF gty_kna1, gty_t_kna1 TYPE TABLE OF gty_kna1. TYPES : BEGIN OF gty_vbrkvbrp, vbeln TYPE vbrk-vbeln, bukrs TYPE vbrk-bukrs, vkorg TYPE vbrk-vkorg, vtweg TYPE vbrk-vtweg, fkdat TYPE vbrk-fkdat, posnr TYPE vbrp-posnr, werks TYPE vbrp-werks, END OF gty_vbrkvbrp, gty_t_vbrkvbrp TYPE TABLE OF gty_vbrkvbrp. TYPES:BEGIN OF gty_final, vbeln TYPE vbak-vbeln, vkorg TYPE vbak-vkorg, audat TYPE vbak-audat, auart TYPE vbak-auart, kunnr TYPE vbak-kunnr, posnr TYPE vbap-posnr, matnr TYPE vbap-matnr, matkl TYPE vbap-matkl, kwmeng TYPE vbap-kwmeng, land1 TYPE kna1-land1, name1 TYPE kna1-name1, ort01 TYPE kna1-ort01, bukrs TYPE vbrk-bukrs, fkdat TYPE vbrk-fkdat, vtweg TYPE vbrk-vtweg, werks TYPE vbrp-werks,
END OF gty_final, gty_t_final TYPE TABLE OF gty_final. TYPES:BEGIN OF gty_header, vbeln(15) TYPE c, vkorg(10) TYPE c, audat(15) TYPE c, auart(15) TYPE c, kunnr(15) TYPE c, posnr(10) TYPE c, matnr(15) TYPE c, matkl(10) TYPE c, kwmeng(10) TYPE c, land1(10) TYPE c, name1(10) TYPE c, ort01(10) TYPE c, END OF gty_header, gty_t_header TYPE TABLE OF gty_header. TYPES : t_document_data TYPE sodocchgi1, t_packing_list TYPE sopcklsti1, t_attachment TYPE solisti1, t_body_msg TYPE solisti1, t_receivers TYPE somlreci1. DATA: w_document_data TYPE t_document_data, w_packing_list TYPE t_packing_list, w_attachment TYPE t_attachment, w_body_msg TYPE t_body_msg, w_receivers TYPE t_receivers, e(10) TYPE c. DATA: i_document_data TYPE TABLE OF t_document_data, i_packing_list TYPE TABLE OF t_packing_list, i_attachment TYPE TABLE OF t_attachment, i_body_msg TYPE TABLE OF t_body_msg, i_receivers TYPE TABLE OF t_receivers. DATA: e_mail TYPE somlreci1-receiver, date(10) TYPE c, time(8) TYPE c, dd(2) TYPE c, mm(2) TYPE c, yy(4) TYPE c, h(2) TYPE c, m(2) TYPE c, s(2) TYPE c, orders(10) TYPE c VALUE 'C:\Orders', gt_list TYPE vrm_values, gw_list TYPE vrm_value, gt_values TYPE TABLE OF dynpread, gw_values TYPE dynpread, gv_selected_value(10) TYPE c, g_tab_lines TYPE i,
r_ucomm TYPE sy-ucomm, * Sub total based on the header details Sales order no. vbeln = 5006. gt_sort TYPE slis_t_sortinfo_alv, gw_sort TYPE slis_sortinfo_alv. DATA : gv_qty TYPE string. DATA : gt_vbakvbap gw_vbakvbap gt_kna1 gw_kna1 gt_vbrkvbrp gw_vbrkvbrp gt_final gw_final gt_fcat gw_fcat tab TYPE TYPE TYPE TYPE TYPE TYPE TYPE TYPE TYPE TYPE TYPE gty_t_vbakvbap, gty_vbakvbap, gty_t_kna1, gty_kna1, gty_t_vbrkvbrp, gty_vbrkvbrp, gty_t_final, gty_final, slis_t_fieldcat_alv, slis_fieldcat_alv, TABLE OF gty_final.
SELECTION-SCREEN BEGIN OF BLOCK blk WITH FRAME TITLE text-010. SELECT-OPTIONS: s_fkdat FOR vbrk-fkdat, s_bukrs FOR vbrk-bukrs, s_vkorg FOR vbak-vkorg, s_vtweg FOR vbak-vtweg, s_werks FOR vbrp-werks, s_vbeln FOR vbak-vbeln. SELECTION-SCREEN END OF BLOCK blk. SELECTION-SCREEN BEGIN OF BLOCK selscr WITH FRAME TITLE text-001. PARAMETERS: p_rad1 RADIOBUTTON GROUP rad1 USER-COMMAND a , p_rad2 RADIOBUTTON GROUP rad1 . *-- Selection Screen for radio button 2 SELECTION-SCREEN BEGIN OF BLOCK rad2 WITH FRAME TITLE text-001. PARAMETERS:p_file TYPE ibipparms-path MODIF ID one , p_type(4) TYPE c AS LISTBOX VISIBLE LENGTH 20 MODIF ID one. SELECTION-SCREEN END OF BLOCK rad2. PARAMETERS: p_rad3 RADIOBUTTON GROUP rad1. *-- Selection Screen for radio button 3 SELECTION-SCREEN BEGIN OF BLOCK rad3 WITH FRAME TITLE text-030. SELECT-OPTIONS : mail_id FOR e_mail NO INTERVALS MODIF ID two . SELECTION-SCREEN END OF BLOCK rad3. PARAMETERS:p_rad4 RADIOBUTTON GROUP rad1. *-- Selection Screen for radio button 4 SELECTION-SCREEN BEGIN OF BLOCK rad4 WITH FRAME TITLE text-004. PARAMETERS: p_path TYPE rlgrap-filename MODIF ID tri. SELECTION-SCREEN END OF BLOCK rad4. SELECTION-SCREEN END OF BLOCK selscr.
INITIALIZATION. LOOP AT SCREEN. IF screen-group1 = 'TWO' OR screen-group1 = 'TRI'. screen-input = 0. screen-invisible = 1. MODIFY SCREEN. ENDIF. ENDLOOP. date = sy-datum. time = sy-uzeit. yy = date+0(4). mm = date+4(2). dd = date+6(2). h = time+0(2). m = time+2(2). s = time+4(2). date+0(2) date+2(1) date+3(2) date+5(1) date+6(4) time+0(2) time+2(1) time+3(2) time+5(1) time+6(2) = = = = = = = = = = dd. '-'. mm. '-'. yy. h. '.'. m. '.'. s. orders date time INTO p_file SEPARATED BY '_'.
CONCATENATE
LOOP AT SCREEN. IF screen-group1 = 'ONE' OR screen-group1 = 'TWO' OR screen-group1 = 'TRI'. screen-input = 0. screen-invisible = 1. MODIFY SCREEN. ENDIF. ENDLOOP. gw_list-key = '.TXT'. gw_list-text = 'TXT'. APPEND gw_list TO gt_list. gw_list-key = '.CSV'. gw_list-text = 'CSV'. APPEND gw_list TO gt_list.
gw_list-key = '.XLS'. gw_list-text = 'XLS'. APPEND gw_list TO gt_list. CALL FUNCTION 'VRM_SET_VALUES' EXPORTING id = 'P_TYPE' values = gt_list. EXPORT tab TO MEMORY ID 'MESSAGE'. **-------------------------AT SELECTION-SCREEN OUTPUT. *-------------------------CASE 'X'. WHEN p_rad1 . LOOP AT SCREEN. IF screen-group1 = 'ONE' OR screen-group1 = 'TWO' OR screen-group1 = 'TRI'. screen-input = 0. screen-invisible = 1. MODIFY SCREEN. ENDIF. ENDLOOP. WHEN p_rad2. LOOP AT SCREEN. IF screen-group1 = 'TWO' OR screen-group1 = 'TRI'. screen-input = 0. screen-invisible = 1. MODIFY SCREEN. ENDIF. ENDLOOP. WHEN p_rad3. LOOP AT SCREEN. IF screen-group1 = 'ONE' OR screen-group1 = 'TRI'. screen-input = 0. screen-invisible = 1. MODIFY SCREEN. ENDIF. ENDLOOP. WHEN p_rad4. LOOP AT SCREEN. IF screen-group1 = 'ONE' OR screen-group1 = 'TWO'. screen-input = 0.
screen-invisible = 1. MODIFY SCREEN. ENDIF. ENDLOOP. ENDCASE. AT SELECTION-SCREEN ON p_type. CLEAR : gw_values,gt_values. REFRESH gt_values. gw_values-fieldname = 'P_TYPE'. APPEND gw_values TO gt_values. CALL FUNCTION 'DYNP_VALUES_READ' EXPORTING dyname = sy-cprog dynumb = sy-dynnr translate_to_upper = 'X ' TABLES dynpfields = gt_values. READ TABLE gt_values INDEX 1 INTO gw_values. IF sy-subrc = 0 AND gw_values-fieldvalue IS NOT INITIAL. READ TABLE gt_list INTO gw_list WITH KEY key = gw_values-fieldvalue. IF sy-subrc = 0. gv_selected_value = gw_list-text. ENDIF. ENDIF. AT SELECTION-SCREEN ON VALUE-REQUEST FOR p_file. CALL FUNCTION 'F4_FILENAME' EXPORTING program_name = syst-cprog dynpro_number = syst-dynnr field_name = 'P_FILE ' IMPORTING file_name = p_file. AT SELECTION-SCREEN ON VALUE-REQUEST FOR p_path. CALL FUNCTION 'F4_FILENAME' EXPORTING program_name = syst-cprog dynpro_number = syst-dynnr field_name = 'P_PATH' IMPORTING file_name = p_path. START-OF-SELECTION. CONCATENATE p_file p_type INTO p_file .
SORT BY gt_kna1. PERFORM f_fill_final. END-OF-SELECTION. CASE 'X'. WHEN p_rad1. IF gt_final IS NOT INITIAL. PERFORM f_fill_fcat. PERFORM f_display_alv. ELSE. MESSAGE 'No records exists for the selection' TYPE 'I'. ENDIF. WHEN p_rad2. IF p_type = ''. MESSAGE 'Enter the File Type' TYPE 'I'. EXPORT tab TO MEMORY ID 'MESSAGE'. ELSE. PERFORM f_gui_download. ENDIF. WHEN p_rad3. IF mail_id = ''. MESSAGE ' Enter the Email ID' TYPE 'I'. ELSE. PERFORM f_email. ENDIF. WHEN OTHERS. IF p_path = ''. MESSAGE 'Enter the Path' TYPE 'I'. ENDIF. ENDCASE. *&---------------------------------------------------------------------* *& Form f_fetch_vbakvbap *&---------------------------------------------------------------------* * text *----------------------------------------------------------------------* FORM f_fetch_vbakvbap . SELECT vbak~vbeln vbak~vkorg vbak~audat vbak~auart vbak~kunnr
vbap~posnr vbap~matnr vbap~matkl vbap~kwmeng INTO TABLE gt_vbakvbap FROM vbak INNER JOIN vbap ON vbak~vbeln = vbap~vbeln WHERE vbak~vtweg IN s_vtweg AND vbak~vkorg IN s_vkorg AND vbak~vbeln IN s_vbeln. ENDFORM. "f_fetch_vbakvbap
*&---------------------------------------------------------------------* *& Form f_fetch_kna1 *&---------------------------------------------------------------------* * text *----------------------------------------------------------------------* FORM f_fetch_kna1 . IF NOT gt_vbakvbap[] IS INITIAL. SELECT kunnr land1 name1 ort01 INTO TABLE gt_kna1 FROM kna1 FOR ALL ENTRIES IN gt_vbakvbap WHERE kunnr = gt_vbakvbap-kunnr. ENDIF. ENDFORM. "f_fetch_kna1
*&---------------------------------------------------------------------* *& Form f_fetch_vbrk *&---------------------------------------------------------------------* * text *----------------------------------------------------------------------* FORM f_fetch_vbrk . IF gt_vbakvbap[] IS NOT INITIAL. SELECT vbrk~vbeln vbrk~bukrs vbrk~vkorg vbrk~vtweg vbrk~fkdat vbrp~posnr vbrp~werks INTO TABLE gt_vbrkvbrp FROM vbrk INNER JOIN vbrp ON vbrk~vbeln = vbrp~vbeln WHERE fkdat IN s_fkdat AND bukrs IN s_bukrs AND werks IN s_werks AND vtweg IN s_vtweg. ENDIF. ENDFORM. " f_fetch_vbrk *&---------------------------------------------------------------------* *& Form f_fetch_vbrp *&---------------------------------------------------------------------* * text *----------------------------------------------------------------------* * --> p1 text * <-- p2 text
*----------------------------------------------------------------------* *&---------------------------------------------------------------------* *& Form f_fill_final *&---------------------------------------------------------------------* * text *----------------------------------------------------------------------* FORM f_fill_final . CLEAR :gv_qty. LOOP AT gt_vbakvbap INTO gw_vbakvbap. MOVE : gw_vbakvbap-vbeln TO gw_final-vbeln, gw_vbakvbap-vkorg TO gw_final-vkorg, gw_vbakvbap-audat TO gw_final-audat, gw_vbakvbap-auart TO gw_final-auart, gw_vbakvbap-kunnr TO gw_final-kunnr, gw_vbakvbap-posnr TO gw_final-posnr, gw_vbakvbap-matnr TO gw_final-matnr, gw_vbakvbap-matkl TO gw_final-matkl, gw_vbakvbap-kwmeng TO gw_final-kwmeng. gv_qty = gv_qty + gw_final-kwmeng. READ TABLE gt_kna1 INTO gw_kna1 WITH KEY kunnr = gw_vbakvbap-kunnr BINARY SEARCH. IF sy-subrc = 0. MOVE: gw_kna1-name1 TO gw_final-name1, gw_kna1-land1 TO gw_final-land1, gw_kna1-ort01 TO gw_final-ort01. ENDIF. READ TABLE gt_vbrkvbrp INTO gw_vbrkvbrp WITH KEY vkorg = gw_vbakvbapvkorg. IF sy-subrc = 0. MOVE: gw_vbrkvbrp-fkdat TO gw_final-fkdat, gw_vbrkvbrp-bukrs TO gw_final-bukrs, gw_vbrkvbrp-vtweg TO gw_final-vtweg, gw_vbrkvbrp-werks TO gw_final-werks. ENDIF.
APPEND gw_final TO gt_final. CLEAR gw_final. ENDLOOP. ENDFORM. "f_fill_final *&---------------------------------------------------------------------* *& Form f_fill_fcat
*&---------------------------------------------------------------------* * text *----------------------------------------------------------------------* FORM f_fill_fcat . gw_fcat-fieldname = 'VBELN'. gw_fcat-tabname = 'GT_FINAL'. gw_fcat-seltext_m = 'Sales Order'. APPEND gw_fcat TO gt_fcat. CLEAR gw_fcat. gw_fcat-fieldname gw_fcat-tabname = gw_fcat-seltext_m APPEND gw_fcat TO CLEAR gw_fcat. gw_fcat-fieldname gw_fcat-tabname = gw_fcat-seltext_m APPEND gw_fcat TO CLEAR gw_fcat. gw_fcat-fieldname gw_fcat-tabname = gw_fcat-seltext_m APPEND gw_fcat TO CLEAR gw_fcat. gw_fcat-fieldname gw_fcat-tabname = gw_fcat-seltext_m APPEND gw_fcat TO CLEAR gw_fcat. gw_fcat-fieldname gw_fcat-tabname = gw_fcat-seltext_m APPEND gw_fcat TO CLEAR gw_fcat. gw_fcat-fieldname gw_fcat-tabname = gw_fcat-seltext_m APPEND gw_fcat TO CLEAR gw_fcat. gw_fcat-fieldname gw_fcat-tabname = gw_fcat-seltext_m APPEND gw_fcat TO CLEAR gw_fcat. = 'VKORG'. 'GT_FINAL'. = 'Sales Org.'. gt_fcat. = 'VTWEG'. 'GT_FINAL'. = 'Distribution Channel'. gt_fcat. = 'AUDAT'. 'GT_FINAL'. = 'Document Date'. gt_fcat. = 'AUART'. 'GT_FINAL'. = 'Document Type'. gt_fcat. = 'KUNNR'. 'GT_FINAL'. = 'Customer Number'. gt_fcat. = 'POSNR'. 'GT_FINAL'. = 'Item No'. gt_fcat. = 'MATNR'. 'GT_FINAL'. = 'Material No.'. gt_fcat.
APPEND gw_fcat TO gt_fcat. CLEAR gw_fcat. gw_fcat-fieldname = 'KWMENG'. gw_fcat-tabname = 'GT_FINAL'. gw_fcat-seltext_m = 'Quantity'. gw_fcat-do_sum = 'X'. APPEND gw_fcat TO gt_fcat. CLEAR gw_fcat. gw_fcat-fieldname gw_fcat-tabname = gw_fcat-seltext_m APPEND gw_fcat TO CLEAR gw_fcat. gw_fcat-fieldname gw_fcat-tabname = gw_fcat-seltext_m APPEND gw_fcat TO CLEAR gw_fcat. gw_fcat-fieldname gw_fcat-tabname = gw_fcat-seltext_m APPEND gw_fcat TO CLEAR gw_fcat. gw_fcat-fieldname gw_fcat-tabname = gw_fcat-seltext_m APPEND gw_fcat TO CLEAR gw_fcat. gw_fcat-fieldname gw_fcat-tabname = gw_fcat-seltext_m APPEND gw_fcat TO CLEAR gw_fcat. gw_fcat-fieldname gw_fcat-tabname = gw_fcat-seltext_m APPEND gw_fcat TO CLEAR gw_fcat. ENDFORM. = 'LAND1'. 'GT_FINAL'. = 'Country'. gt_fcat. = 'NAME1'. 'GT_FINAL'. = 'Name'. gt_fcat. = 'ORT01'. 'GT_FINAL'. = 'City'. gt_fcat. = 'FKDAT'. 'GT_FINAL'. = 'Billing Date'. gt_fcat. = 'WERKS'. 'GT_FINAL'. = 'Plant'. gt_fcat. = 'BUKRS'. 'GT_FINAL'. = 'Company Code'. gt_fcat. "f_fill_fcat
*&---------------------------------------------------------------------* *& Form f_display_alv *&---------------------------------------------------------------------* * text *----------------------------------------------------------------------* FORM f_display_alv . DATA:lv_repid TYPE sy-repid. lv_repid = sy-cprog.
DATA: w_layout TYPE slis_layout_alv. w_layout-colwidth_optimize = 'X'. w_layout-zebra = 'X'. gw_sort-fieldname = 'VBELN'. gw_sort-tabname = 'GW_FINAL'. gw_sort-subtot = 'X'. APPEND gw_sort TO gt_sort. CALL FUNCTION 'REUSE_ALV_GRID_DISPLAY' EXPORTING i_callback_program = sy-cprog i_callback_user_command = 'USER_COMMAND' i_callback_top_of_page = 'TOP_OF_PAGE' is_layout = w_layout it_fieldcat = gt_fcat it_sort = gt_sort TABLES t_outtab = gt_final. ENDFORM. "f_display_alv *&---------------------------------------------------------------------* *& Form f_gui_download *&---------------------------------------------------------------------* * text *----------------------------------------------------------------------* FORM f_gui_download . DATA: var TYPE string, ver TYPE string, gt_header TYPE gty_t_header, gw_header TYPE gty_header. var = p_file. ver = p_file. DATA:p_type TYPE string. gw_header-vbeln = 'Sales Order'. gw_header-vkorg = 'Sales Org.'. gw_header-audat = 'Document Date'. gw_header-auart = 'Document Type'. gw_header-kunnr = 'Customer No.'. gw_header-posnr = 'Item No.'. gw_header-matnr = 'Material No.'. gw_header-matkl = 'Material Group'. gw_header-kwmeng = 'Quantity'. gw_header-land1 = 'Country'. gw_header-name1 = 'Name'. gw_header-ort01 = 'City'. APPEND gw_header TO gt_header. CALL FUNCTION 'GUI_DOWNLOAD'
= = = = = =
= gt_header.
CALL METHOD cl_gui_frontend_services=>gui_download EXPORTING * BIN_FILESIZE = filename = var filetype = 'ASC' append = 'X' write_field_separator = 'X' CHANGING data_tab ENDFORM. = gt_final. " f_gui_download
*&---------------------------------------------------------------------* *& Form f_email *&---------------------------------------------------------------------* * text *----------------------------------------------------------------------* FORM f_email . mail_id-sign = ''. mail_id-option = ''. w_document_data-obj_name = 'MAIL_TO_HEAD'. w_document_data-obj_descr = 'Regarding Mail Program by SAP ABAP'. "Body of the mail PERFORM build_body_of_mail USING:space, 'Hi,', 'I am fine. How are you? How are you doing ? ', 'This program has been created to send simple mail', 'with Subject,Body with Address of the sender. ', 'Regards,', 'Naveen MB,', 'SAP HR Technical Consultant.'. "Write Packing List for Body DESCRIBE TABLE i_body_msg LINES g_tab_lines. w_packing_list-head_start = 1. w_packing_list-head_num = 0. w_packing_list-body_start = 1. w_packing_list-body_num = g_tab_lines. w_packing_list-doc_type = 'RAW'.
APPEND w_packing_list TO i_packing_list. CLEAR w_packing_list. "Write Packing List for Attachment w_packing_list-transf_bin = 'X'. w_packing_list-head_start = 1. w_packing_list-head_num = 1. w_packing_list-body_start = 1. DESCRIBE TABLE i_attachment LINES w_packing_list-body_num. w_packing_list-doc_type = 'XLS'. w_packing_list-obj_descr = 'Excel Attachment'. w_packing_list-obj_name = 'XLS'. w_packing_list-doc_size = w_packing_list-body_num * 255. APPEND w_packing_list TO i_packing_list. CLEAR w_packing_list. "Fill the document data and get size of attachment w_document_data-obj_langu = sy-langu. READ TABLE i_attachment INTO w_attachment INDEX g_tab_lines. w_document_data-doc_size = ( g_tab_lines - 1 ) * 255 + STRLEN( w_attachment ). "Receivers List. w_receivers-rec_type = 'U'. "Internet address w_receivers-receiver = mail_id. w_receivers-com_type = 'INT'. w_receivers-notif_del = 'X'. w_receivers-notif_ndel = 'X'. APPEND w_receivers TO i_receivers . CLEAR:w_receivers. CALL FUNCTION 'SO_NEW_DOCUMENT_ATT_SEND_API1' EXPORTING document_data = w_document_data put_in_outbox = 'X' commit_work = 'X' IMPORTING SENT_TO_ALL = NEW_OBJECT_ID = TABLES packing_list = i_packing_list contents_bin = i_attachment contents_txt = i_body_msg receivers = i_receivers. IF sy-subrc <> 0. MESSAGE 'Mail Has been Succusfully Sent' TYPE 'i'. ELSE. WAIT UP TO 2 SECONDS. SUBMIT rsconn01 WITH mode = 'INT' WITH output = 'X' AND RETURN. " f_email
* * *
ENDIF. ENDFORM.
*&---------------------------------------------------------------------*
*& Form build_body_of_mail *&---------------------------------------------------------------------* * text *----------------------------------------------------------------------* * -->L_MESSAGE text *----------------------------------------------------------------------* FORM build_body_of_mail USING l_message. w_body_msg = l_message. APPEND w_body_msg TO i_body_msg. CLEAR w_body_msg. ENDFORM. "build_body_of_mail " build_body_of_mail *&---------------------------------------------------------------------* *& Form TOP_OF_PAGE *&---------------------------------------------------------------------* * text *----------------------------------------------------------------------* FORM top_of_page. DATA: i_header TYPE slis_t_listheader, w_header TYPE slis_listheader, l_line LIKE w_header-info, id_lines TYPE i, id_linesc(10) TYPE c. w_header-typ = 'H'. w_header-info = 'Sales Order'. APPEND w_header TO i_header. CLEAR w_header. w_header-typ = 'S'. w_header-key = 'Date:'. w_header-info = date. APPEND w_header TO i_header. CLEAR w_header. DESCRIBE TABLE gt_final LINES id_lines. id_linesc = id_lines. CONCATENATE 'Total No. of Records Selected:' id_linesc INTO l_line SEPARATED BY space. w_header-typ = 'A'. w_header-info = l_line. APPEND w_header TO i_header. CLEAR w_header. CONCATENATE 'Total Quantity:' gv_qty INTO gv_qty SEPARATED BY space. w_header-typ = 'A'. w_header-info = gv_qty. APPEND w_header TO i_header. CLEAR w_header.
CALL FUNCTION 'REUSE_ALV_COMMENTARY_WRITE' EXPORTING it_list_commentary = i_header i_logo = 'NNN_LOGO'. ENDFORM. "TOP_OF_PAGE
*&---------------------------------------------------------------------* *& Form user_command *&---------------------------------------------------------------------* * text *----------------------------------------------------------------------* * -->R_UCOMM text * -->RS_SELFIELD text *----------------------------------------------------------------------* FORM user_command USING r_ucomm LIKE sy-ucomm rs_selfield TYPE slis_selfield. IF r_ucomm = '&IC1'. READ TABLE gt_final INTO gw_final INDEX rs_selfield-tabindex. rs_selfield-value = gw_final-vbeln. SET PARAMETER ID 'AUN' FIELD rs_selfield-value. CALL TRANSACTION 'VA03' AND SKIP FIRST SCREEN. ENDIF. ENDFORM. "user_command *&---------------------------------------------------------------------* *& Form f_fetch_vbrk *&---------------------------------------------------------------------* * text *----------------------------------------------------------------------* * --> p1 text * <-- p2 text *----------------------------------------------------------------------* " f_fetch_vbrp