Zinvg053 c
-
Upload
unnychakyat3443 -
Category
Documents
-
view
4 -
download
0
Transcript of Zinvg053 c
7/18/2019 Zinvg053 c
http://slidepdf.com/reader/full/zinvg053-c 1/13
*&---------------------------------------------------------------------*** Copyright (C) Sony China 2007,2008 All Rights Reserved. ************************************************************************** Program : ZINVG053 ** Title : Hold-actual inventory correction program ** Analyst : Cao Leon ** Developer : Srinivasa Baba Prasad ** Date : 2009/06/24 ** Description : Hold-actual inventory correction program ** Special Instruction: ************************************************************************** MODIFICATION LOG **----------------------------------------------------------------------** Date Correction No. Changed by Description **----------------------------------------------------------------------** 2009/06/24 CD1K904343 BABA Initial development ** 2009/06/26 CD1K904365 BABA E0001 Status added ** 2009/06/30 CD1K904374 BABA Process type A while ** fatching order information **----------------------------------------------------------------------*REPORT zinvg053 NO STANDARD PAGE HEADING LINE-SIZE 270 LINE-COUNT 65.
TABLES: tj30t,comm_product,crmd_orderadm_i.
*&---------------------------------------------------------------------** SELECTION-SCREEN*----------------------------------------------------------------------*
SELECTION-SCREEN BEGIN OF BLOCK b1 WITH FRAME TITLE text-001.SELECT-OPTIONS: s_estat FOR tj30t-estat VISIBLE LENGTH 10 NO-EXTENSION NO INTERVALS NO-DISPLAY.SELECT-OPTIONS: p_prod FOR comm_product-product_id NO INTERVALS .*PARAMETERS: p_limit TYPE i DEFAULT '999' . " CD1K904374 BABA
SELECTION-SCREEN END OF BLOCK b1.
SELECTION-SCREEN BEGIN OF BLOCK b2 WITH FRAME TITLE text-019.PARAMETER p_chg AS CHECKBOX.SELECTION-SCREEN END OF BLOCK b2.SELECTION-SCREEN BEGIN OF BLOCK b3 WITH FRAME TITLE text-020.PARAMETER: p_rd1 RADIOBUTTON GROUP gp1, p_rd2 RADIOBUTTON GROUP gp1.* p_rd3 RADIOBUTTON GROUP gp1.SELECTION-SCREEN END OF BLOCK b3.*&---------------------------------------------------------------------** DATA-DELECRATIONS*----------------------------------------------------------------------*
TYPES: BEGIN OF t_product,product_guid TYPE comt_product_guid,product_id TYPE crmt_ordered_prod_db,END OF t_product.
DATA: it_product TYPE TABLE OF t_product, wa_product TYPE t_product.TYPE-POOLS: slis.
TYPES:BEGIN OF t_order_h,
7/18/2019 Zinvg053 c
http://slidepdf.com/reader/full/zinvg053-c 2/13
guid LIKE crmd_orderadm_h-guid, "guid? object_id LIKE crmd_orderadm_h-object_id, "??? process_type TYPE crmt_process_type_db, created_at LIKE crmd_orderadm_h-created_at, "???? created_by TYPE crmt_created_by, stat(5), "????* txt30 TYPE j_txt30, "?????? itm_guid TYPE crmt_object_guid, parent TYPE crmt_object_guid, number_int LIKE crmd_orderadm_i-number_int, "??? itm_type LIKE crmd_orderadm_i-itm_type, "???? itm_usage LIKE crmd_orderadm_i-itm_usage, "??????? ordered_prod LIKE crmd_orderadm_i-ordered_prod, "??ID description LIKE crmd_orderadm_i-description, "WEB???? quantity TYPE p, zzpro_type TYPE zpro_type, END OF t_order_h.TYPES:BEGIN OF t_order_h1, guid LIKE crmd_orderadm_h-guid, "guid? object_id LIKE crmd_orderadm_h-object_id, "??? process_type TYPE crmt_process_type_db, created_at LIKE crmd_orderadm_h-created_at, "????
created_by TYPE crmt_created_by, stat(5), inact TYPE crm_j_inact ,
"????* txt30 TYPE j_txt30, "?????? itm_guid TYPE crmt_object_guid, parent TYPE crmt_object_guid, number_int LIKE crmd_orderadm_i-number_int, "??? itm_type LIKE crmd_orderadm_i-itm_type, "???? itm_usage LIKE crmd_orderadm_i-itm_usage, "??????? ordered_prod LIKE crmd_orderadm_i-ordered_prod, "??ID description LIKE crmd_orderadm_i-description, "WEB????
quantity TYPE p, zzpro_type TYPE zpro_type,END OF t_order_h1.
TYPES:BEGIN OF t_orderadm_i, guid LIKE crmd_orderadm_i-guid, "guid? header LIKE crmd_orderadm_i-header, ordered_prod LIKE crmd_orderadm_i-ordered_prod,END OF t_orderadm_i.
*TYPES:BEGIN OF t_order_h1,* guid LIKE crmd_orderadm_h-guid, "guid?
* parent TYPE crmt_object_guid,* number_int LIKE crmd_orderadm_i-number_int, "???* itm_type LIKE crmd_orderadm_i-itm_type, "????* itm_usage LIKE crmd_orderadm_i-itm_usage, "???????* ordered_prod LIKE crmd_orderadm_i-ordered_prod, "??ID* description LIKE crmd_orderadm_i-description, "WEB????**END OF t_order_h1.
TYPES: BEGIN OF t_prod_qty,
7/18/2019 Zinvg053 c
http://slidepdf.com/reader/full/zinvg053-c 3/13
product_id TYPE comt_product_id, quantity TYPE crmt_schedlin_quan, e0001_qty TYPE crmt_schedlin_quan, e0006_qty TYPE crmt_schedlin_quan, e0007_qty TYPE crmt_schedlin_quan, e0008_qty TYPE crmt_schedlin_quan, END OF t_prod_qty.
*ALV data declarationsDATA: fieldcatalog TYPE slis_t_fieldcat_alv WITH HEADER LINE, gd_tab_group TYPE slis_t_sp_group_alv, gd_layout TYPE slis_layout_alv, gd_repid LIKE sy-repid.TYPES:BEGIN OF t_order_h5, guid TYPE crmd_schedlin-guid, item_guid TYPE crmd_schedlin-item_guid, event_type_appl TYPE crmd_schedlin-event_type_appl, event_type TYPE crmd_schedlin-event_type, quantity TYPE crmd_schedlin-quantity, stat(5), ordered_prod TYPE crmt_ordered_prod_db,END OF t_order_h5.
DATA: it_prod_qty TYPE TABLE OF t_prod_qty,
wa_prod_qty TYPE t_prod_qty.
DATA: it_order_data TYPE TABLE OF t_order_h,
it_order_data1 TYPE TABLE OF t_order_h1, it_order_data5 TYPE TABLE OF t_order_h5,
gt_orderadm_i TYPE TABLE OF t_orderadm_i, wa_order_data TYPE t_order_h.DATA: it_zt0018 TYPE TABLE OF zt0018, wa_zt0018 TYPE zt0018.FIELD-SYMBOLS : <wa> TYPE t_order_h1, <wa1> TYPE t_order_h5.
TYPES: BEGIN OF t_zt0018_final, serial_no TYPE i. INCLUDE STRUCTURE zt0018.
TYPES: hold_actual_inv TYPE zt0018-h_act_invent, e0001_qty TYPE i, e0006_qty TYPE i, e0007_qty TYPE i, e0008_qty TYPE i, message(100), END OF t_zt0018_final.
DATA: it_zt0018_final TYPE TABLE OF t_zt0018_final,
it_zt0018_f TYPE TABLE OF zt0018, "unni wa_zt0018_f TYPE zt0018, wa_zt0018_final TYPE t_zt0018_final.
DATA:t1 TYPE t, t2 TYPE t, t3 TYPE t, t4 TYPE i, t5 TYPE i, t6 TYPE i
7/18/2019 Zinvg053 c
http://slidepdf.com/reader/full/zinvg053-c 4/13
.
*&---------------------------------------------------------------------** INITIALIZATION*----------------------------------------------------------------------*
INITIALIZATION.
s_estat-low = 'E0006'. s_estat-option = 'EQ'. s_estat-sign = 'I'.
APPEND s_estat. s_estat-low = 'E0007'. s_estat-option = 'EQ'. s_estat-sign = 'I'.
APPEND s_estat.
s_estat-low = 'E0008'. s_estat-option = 'EQ'. s_estat-sign = 'I'.
APPEND s_estat.
s_estat-low = 'E0001'. s_estat-option = 'EQ'. s_estat-sign = 'I'.
APPEND s_estat.
*&---------------------------------------------------------------------** START-OF-SELECTION*----------------------------------------------------------------------*
START-OF-SELECTION.
PERFORM data_retrieval. PERFORM data_process. PERFORM build_fieldcatalog. PERFORM build_layout. PERFORM display_alv_report.
*&---------------------------------------------------------------------**& Form data_retrieval*&---------------------------------------------------------------------** text*----------------------------------------------------------------------*FORM data_retrieval.
DATA: lv_index TYPE sy-tabix.
TYPES : BEGIN OF t_crmd_customer_h, guid TYPE crmd_customer_h-guid, zzpro_type TYPE crmd_customer_h-zzpro_type, END OF t_crmd_customer_h.
TYPES:BEGIN OF t_crmd_schedlin, guid TYPE crmd_schedlin-guid,
7/18/2019 Zinvg053 c
http://slidepdf.com/reader/full/zinvg053-c 5/13
item_guid TYPE crmd_schedlin-item_guid, event_type_appl TYPE crmd_schedlin-event_type_appl, event_type TYPE crmd_schedlin-event_type, quantity TYPE crmd_schedlin-quantity, END OF t_crmd_schedlin.
TYPES: BEGIN OF t_crmd_orderadm_i, guid TYPE crmd_orderadm_i-guid, header TYPE crmd_orderadm_i-header, product TYPE crmd_orderadm_i-product, ordered_prod TYPE crmd_orderadm_i-ordered_prod, END OF t_crmd_orderadm_i.
TYPES: BEGIN OF t_crm_jest, objnr TYPE crm_jest-objnr, stat TYPE crm_jest-stat, inact TYPE crm_jest-inact, END OF t_crm_jest.
DATA: gt_crmd_schedlin TYPE TABLE OF t_crmd_schedlin, gt_crmd_orderadm_i TYPE TABLE OF t_crmd_orderadm_i,"t_crmd_schedlin, wa_crmd_orderadm_i TYPE t_crmd_orderadm_i,"t_crmd_schedlin, gt_crm_jest TYPE TABLE OF t_crm_jest,"t_crmd_schedlin,
wa_crm_jest TYPE t_crm_jest,"t_crmd_schedlin, wa_crmd_schedlin TYPE t_crmd_schedlin, wa_crmd_schedlin1 TYPE t_crmd_schedlin, gt_crmd_customer_h TYPE TABLE OF t_crmd_customer_h, wa_crmd_customer_h TYPE t_crmd_customer_h.
DATA: lw_logsys TYPE logsys.
REFRESH: it_zt0018_final.
SELECT * FROM zt0018 "CD1K904374 BABA INTO TABLE it_zt0018
WHERE zzpro_type = 'A' AND material IN p_prod.
SORT it_product BY product_id.
IF it_zt0018[] IS NOT INITIAL.
SELECT SINGLE logsys FROM t000 INTO lw_logsys WHERE mandt = sy-mandt.
SELECT product_guid
product_id INTO TABLE it_product FROM comm_product FOR ALL ENTRIES IN it_zt0018 WHERE product_id = it_zt0018-material AND product_type = '01' AND object_family = space AND logsys = lw_logsys .
SELECT product_guid product_id INTO TABLE it_product
7/18/2019 Zinvg053 c
http://slidepdf.com/reader/full/zinvg053-c 6/13
FROM comm_product FOR ALL ENTRIES IN it_zt0018 WHERE product_id = it_zt0018-material .
ENDIF.
IF it_product[] IS NOT INITIAL.
SORT it_product BY product_id.
* New code
* IF p_rd1 IS NOT INITIAL.* SELECT a~guid* a~object_id* a~process_type* a~created_at* a~created_by* d~stat* f~guid* f~parent* f~number_int* f~itm_type* f~itm_usage
* f~ordered_prod* f~description* h~quantity* b~zzpro_type* INTO TABLE it_order_data* FROM crmd_orderadm_h AS a** LEFT OUTER JOIN crmd_customer_h AS b "CD1K904374 BABA* ON a~guid = b~guid** INNER JOIN crm_jest AS d* ON a~guid = d~objnr*
* INNER JOIN crmd_orderadm_i AS f* ON a~guid = f~header** LEFT OUTER JOIN crmd_schedlin AS h* ON f~guid = h~item_guid* AND h~event_type_appl = 'CRMS'* AND h~event_type = 'ORDER'** FOR ALL ENTRIES IN it_product* WHERE* f~ordered_prod = it_product-product_id AND* d~stat IN s_estat AND* d~inact = ''.
*** ENDIF.
IF p_rd1 IS NOT INITIAL. SELECT guid header product ordered_prod
7/18/2019 Zinvg053 c
http://slidepdf.com/reader/full/zinvg053-c 7/13
FROM crmd_orderadm_i INTO TABLE gt_crmd_orderadm_i FOR ALL ENTRIES IN it_product WHERE product = it_product-product_guid.* where ordered_prod = it_product-product_id. ENDIF. IF p_rd2 IS NOT INITIAL.
SELECT guid header product ordered_prod FROM crmd_orderadm_i INTO TABLE gt_crmd_orderadm_i FOR ALL ENTRIES IN it_product WHERE ordered_prod = it_product-product_id. ENDIF. IF gt_crmd_orderadm_i[] IS NOT INITIAL.
SELECT objnr stat inact
FROM crm_jest INTO TABLE gt_crm_jest FOR ALL ENTRIES IN gt_crmd_orderadm_i WHERE objnr = gt_crmd_orderadm_i-header AND stat IN s_estat.
IF gt_crm_jest[] IS NOT INITIAL. DELETE gt_crm_jest WHERE inact NE ''. ENDIF.
SELECT guid zzpro_type FROM crmd_customer_h
INTO TABLE gt_crmd_customer_h FOR ALL ENTRIES IN gt_crm_jest WHERE guid = gt_crm_jest-objnr. IF gt_crmd_customer_h IS NOT INITIAL. DELETE gt_crmd_customer_h WHERE zzpro_type <> 'A'. ENDIF. ENDIF.
SORT gt_crmd_customer_h BY guid. DATA: lv_tabix TYPE sy-tabix. LOOP AT gt_crmd_orderadm_i INTO wa_crmd_orderadm_i. lv_tabix = sy-tabix. READ TABLE gt_crmd_customer_h TRANSPORTING NO FIELDS WITH KEY guid = wa_
crmd_orderadm_i-header BINARY SEARCH. IF sy-subrc <> 0. DELETE gt_crmd_orderadm_i INDEX lv_tabix. ENDIF. ENDLOOP.
SELECT guid item_guid event_type_appl event_type
7/18/2019 Zinvg053 c
http://slidepdf.com/reader/full/zinvg053-c 8/13
quantity FROM crmd_schedlin INTO TABLE it_order_data5 FOR ALL ENTRIES IN gt_crmd_orderadm_i WHERE item_guid = gt_crmd_orderadm_i-guid.
IF it_order_data5[] IS NOT INITIAL. DELETE it_order_data5 WHERE event_type_appl <> 'CRMS' . DELETE it_order_data5 WHERE event_type <> 'ORDER'.
ENDIF.
LOOP AT it_order_data5 ASSIGNING <wa1>. READ TABLE gt_crmd_orderadm_i INTO wa_crmd_orderadm_i WITH KEY guid = <wa1>-item_guid. IF sy-subrc = 0. <wa1>-ordered_prod = wa_crmd_orderadm_i-ordered_prod. READ TABLE gt_crm_jest INTO wa_crm_jest WITH KEY objnr = wa_crmd_orderadm_i-header. IF sy-subrc = 0. <wa1>-stat = wa_crm_jest-stat. ENDIF.
ENDIF. wa_order_data-guid = <wa1>-guid . wa_order_data-itm_guid = <wa1>-item_guid . wa_order_data-quantity = <wa1>-quantity . wa_order_data-stat = <wa1>-stat . wa_order_data-ordered_prod = <wa1>-ordered_prod . APPEND wa_order_data TO it_order_data. ENDLOOP.
ENDIF.
* ENDIF.* CD1K904374 BABA
* IF it_order_data[] IS NOT INITIAL.* DELETE it_order_data WHERE zzpro_type NE 'A'.* ENDIF.
* "CD1K904374 BABA
ENDFORM. "data_retrieval
*&---------------------------------------------------------------------**& Form data_process*&---------------------------------------------------------------------** text
*----------------------------------------------------------------------*FORM data_process.
LOOP AT it_order_data INTO wa_order_data. wa_prod_qty-product_id = wa_order_data-ordered_prod. wa_prod_qty-quantity = wa_order_data-quantity.
IF wa_order_data-stat = 'E0006'. wa_prod_qty-e0006_qty = wa_order_data-quantity. ELSEIF wa_order_data-stat = 'E0007'.
7/18/2019 Zinvg053 c
http://slidepdf.com/reader/full/zinvg053-c 9/13
wa_prod_qty-e0007_qty = wa_order_data-quantity. ELSEIF wa_order_data-stat = 'E0008'. wa_prod_qty-e0008_qty = wa_order_data-quantity. ELSEIF wa_order_data-stat = 'E0001'. wa_prod_qty-e0001_qty = wa_order_data-quantity. ENDIF.
COLLECT wa_prod_qty INTO it_prod_qty.
CLEAR: wa_order_data,wa_prod_qty. ENDLOOP.
SORT it_prod_qty BY product_id. SORT it_zt0018 BY material.
DATA: l_count TYPE i. LOOP AT it_zt0018 INTO wa_zt0018.
READ TABLE it_prod_qty INTO wa_prod_qty WITH KEY product_id = wa_zt0018-material BINARY SEARCH. IF sy-subrc = 0. IF wa_zt0018-h_act_invent NE wa_prod_qty-quantity. l_count = l_count + 1.
wa_zt0018_final-serial_no = l_count. MOVE-CORRESPONDING wa_zt0018 TO wa_zt0018_final. wa_zt0018_final-hold_actual_inv = wa_prod_qty-quantity. wa_zt0018_final-e0001_qty = wa_prod_qty-e0001_qty. wa_zt0018_final-e0006_qty = wa_prod_qty-e0006_qty. wa_zt0018_final-e0007_qty = wa_prod_qty-e0007_qty. wa_zt0018_final-e0008_qty = wa_prod_qty-e0008_qty. IF p_chg IS NOT INITIAL. UPDATE zt0018 SET h_act_invent = wa_zt0018_final-hold_actual_inv WHERE material = wa_zt0018_final-material AND zzpro_type = 'A'. IF sy-subrc = 0. COMMIT WORK.
wa_zt0018_final-message = 'Successfully Updated'(013). ELSE. wa_zt0018_final-message = 'Error while updating'(014). ENDIF. ENDIF. APPEND wa_zt0018_final TO it_zt0018_final. ENDIF. ELSEIF wa_zt0018-h_act_invent = '0'.
ELSE.
MOVE-CORRESPONDING wa_zt0018 TO wa_zt0018_final. l_count = l_count + 1.
wa_zt0018_final-serial_no = l_count. wa_zt0018_final-hold_actual_inv = '0'. wa_zt0018_final-e0001_qty = '0'. wa_zt0018_final-e0006_qty = '0'. wa_zt0018_final-e0007_qty = '0'. wa_zt0018_final-e0008_qty = '0'. IF p_chg IS NOT INITIAL. UPDATE zt0018 SET h_act_invent = wa_zt0018_final-hold_actual_inv WHERE material = wa_zt0018_final-material AND zzpro_type = 'A'.
7/18/2019 Zinvg053 c
http://slidepdf.com/reader/full/zinvg053-c 10/13
IF sy-subrc = 0. COMMIT WORK. wa_zt0018_final-message = 'Successfully Updated'(013). ELSE. wa_zt0018_final-message = 'Error while updating'(014). ENDIF. ENDIF. APPEND wa_zt0018_final TO it_zt0018_final. ENDIF.
CLEAR: wa_zt0018,wa_prod_qty,wa_zt0018_final. ENDLOOP.
ENDFORM. "data_process
*&---------------------------------------------------------------------**& Form BUILD_FIELDCATALOG*&---------------------------------------------------------------------** Build Fieldcatalog for ALV Report*----------------------------------------------------------------------*FORM build_fieldcatalog.
fieldcatalog-fieldname = 'SERIAL_NO'. fieldcatalog-seltext_m = 'Serial No'(012). fieldcatalog-col_pos = 0. fieldcatalog-outputlen = 10. fieldcatalog-emphasize = 'X'. fieldcatalog-key = 'X'. APPEND fieldcatalog TO fieldcatalog. CLEAR fieldcatalog.
fieldcatalog-fieldname = 'MATERIAL'. fieldcatalog-seltext_m = text-002. fieldcatalog-col_pos = 1. APPEND fieldcatalog TO fieldcatalog.
CLEAR fieldcatalog.
fieldcatalog-fieldname = 'ACT_INVENT'. fieldcatalog-seltext_m = text-004. fieldcatalog-col_pos = 2. APPEND fieldcatalog TO fieldcatalog. CLEAR fieldcatalog.
fieldcatalog-fieldname = 'H_ACT_INVENT'. fieldcatalog-seltext_m = text-005. fieldcatalog-col_pos = 3. APPEND fieldcatalog TO fieldcatalog. CLEAR fieldcatalog.
fieldcatalog-fieldname = 'HOLD_ACTUAL_INV'. fieldcatalog-seltext_m = text-006. fieldcatalog-col_pos = 4. APPEND fieldcatalog TO fieldcatalog. CLEAR fieldcatalog.
fieldcatalog-fieldname = 'E0001_QTY'. fieldcatalog-seltext_m = 'Ready to Confirm'(020). fieldcatalog-col_pos = 5.
7/18/2019 Zinvg053 c
http://slidepdf.com/reader/full/zinvg053-c 11/13
APPEND fieldcatalog TO fieldcatalog. CLEAR fieldcatalog.
fieldcatalog-fieldname = 'E0006_QTY'. fieldcatalog-seltext_m = 'Have Stock'(015). fieldcatalog-col_pos = 5. APPEND fieldcatalog TO fieldcatalog. CLEAR fieldcatalog.
fieldcatalog-fieldname = 'E0007_QTY'. fieldcatalog-seltext_m = 'Pending For Approval'(016). fieldcatalog-col_pos = 6. APPEND fieldcatalog TO fieldcatalog. CLEAR fieldcatalog.
fieldcatalog-fieldname = 'E0008_QTY'. fieldcatalog-seltext_m = 'Ready for R/3'(017). fieldcatalog-col_pos = 7. APPEND fieldcatalog TO fieldcatalog. CLEAR fieldcatalog.
fieldcatalog-fieldname = 'MESSAGE'. fieldcatalog-seltext_m = 'Success/Error Message'(018). fieldcatalog-col_pos = 8.
APPEND fieldcatalog TO fieldcatalog. CLEAR fieldcatalog.ENDFORM. " BUILD_FIELDCATALOG
*&---------------------------------------------------------------------**& Form BUILD_LAYOUT*&---------------------------------------------------------------------** Build layout for ALV grid report*----------------------------------------------------------------------*FORM build_layout. gd_layout-no_input = 'X'. gd_layout-colwidth_optimize = 'X'.
gd_layout-totals_text = 'Totals'(201).
ENDFORM. " BUILD_LAYOUT
*&---------------------------------------------------------------------**& Form DISPLAY_ALV_REPORT*&---------------------------------------------------------------------** Display report using ALV grid*----------------------------------------------------------------------*FORM display_alv_report. 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'* i_grid_title = outtext is_layout = gd_layout it_fieldcat = fieldcatalog[]* it_special_groups = gd_tabgroup* IT_EVENTS = GT_XEVENTS i_save = 'X'
7/18/2019 Zinvg053 c
http://slidepdf.com/reader/full/zinvg053-c 12/13
* is_variant = z_template TABLES t_outtab = it_zt0018_final 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. REFRESH: it_zt0018_final.ENDFORM. " DISPLAY_ALV_REPORT
*-------------------------------------------------------------------** 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, ld_lines TYPE i, ld_linesc(10) TYPE c.
* Title wa_header-typ = 'H'. wa_header-info = 'Hold-actual inventory correction program'. APPEND wa_header TO t_header. CLEAR wa_header.
* Date wa_header-typ = 'S'. wa_header-key = 'Run 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.
* Time wa_header-typ = 'S'. wa_header-key = 'Run Time: '. CONCATENATE sy-uzeit+0(2) '.' sy-uzeit+2(2) '.' sy-uzeit+4(2) INTO wa_header-info. " time APPEND wa_header TO t_header.
CLEAR: wa_header.
* Total No. of Records Selected DESCRIBE TABLE it_zt0018_final LINES ld_lines. ld_linesc = ld_lines. CONCATENATE 'Total No. of Materials Selected: ' ld_linesc INTO t_line SEPARATED BY space. wa_header-typ = 'A'. wa_header-info = t_line. APPEND wa_header TO t_header.
7/18/2019 Zinvg053 c
http://slidepdf.com/reader/full/zinvg053-c 13/13
CLEAR: wa_header, t_line.
CALL FUNCTION 'REUSE_ALV_COMMENTARY_WRITE' EXPORTING it_list_commentary = t_header.* i_logo = 'Z_LOGO'.ENDFORM. "top-of-page