form f_display_alv .
type-pools:slis.
data:
lwa_event_exit type slis_event_exit,
li_event_exit type slis_t_event_exit,
lwa_field type slis_fieldcat_alv, "定义一个临时的工作区
l_id type sy-repid,
li_fieldcat type standard table of slis_fieldcat_alv,
l_answer type string,
l_msgtxt type string.
l_id = sy-repid.
clear lwa_field.
if i_data is initial.
l_msgtxt = text-m01.
*调用对话框函数
call function 'POPUP_TO_CONFIRM_STEP'
EXPORTING
titel = text-m02
textline1 = l_msgtxt
cancel_display = space "不显示CANCEL按钮
IMPORTING
answer = l_answer.
if l_answer = 'N'. " 退出程序
leave program.
endif.
else.
lwa_field-col_pos = 1.
lwa_field-fieldname = 'vkbez'.
lwa_field-seltext_m = '合同帐户'.
lwa_field-outputlen = 14.
append lwa_field to li_fieldcat.
clear lwa_field.
lwa_field-col_pos = 1.
lwa_field-fieldname = 'vkont'.
lwa_field-seltext_m = '合同帐号'.
lwa_field-outputlen = 14.
append lwa_field to li_fieldcat.
clear lwa_field.
lwa_field-col_pos = 3.
lwa_field-fieldname = 'GERNR'.
lwa_field-seltext_m = '表计'.
lwa_field-outputlen = 18.
append lwa_field to li_fieldcat.
clear lwa_field.
lwa_field-col_pos = 4.
lwa_field-fieldname = 'SERGE'.
lwa_field-seltext_m = '出厂号'.
lwa_field-outputlen = 10.
append lwa_field to li_fieldcat.
clear lwa_field.
lwa_field-col_pos = 5.
lwa_field-fieldname = 'TERMSCHL'.
lwa_field-seltext_m = '抄表单元'.
lwa_field-outputlen = 14.
append lwa_field to li_fieldcat.
clear lwa_field.
lwa_field-col_pos = 6.
lwa_field-fieldname = 'SEQUENCE'.
lwa_field-seltext_m = '顺序号'.
lwa_field-outputlen = 12.
append lwa_field to li_fieldcat.
clear lwa_field.
lwa_field-col_pos = 7.
lwa_field-fieldname = 'NAME1'.
lwa_field-seltext_m = '抄表员'.
lwa_field-outputlen = 16.
append lwa_field to li_fieldcat.
clear lwa_field.
lwa_field-col_pos = 8.
lwa_field-fieldname = 'L_ZWSTAND_Z'.
lwa_field-seltext_m = '上次总'.
lwa_field-outputlen = 20.
append lwa_field to li_fieldcat.
clear lwa_field.
lwa_field-col_pos = 9.
lwa_field-fieldname = 'L_ZWSTAND_F'.
lwa_field-seltext_m = '上次峰'.
lwa_field-outputlen = 12.
append lwa_field to li_fieldcat.
clear lwa_field.
lwa_field-col_pos = 10.
lwa_field-fieldname = 'L_ZWSTAND_p'.
lwa_field-seltext_m = '上次平'.
lwa_field-outputlen = 6.
append lwa_field to li_fieldcat.
clear lwa_field.
lwa_field-col_pos = 11.
lwa_field-fieldname = 'L_ZWSTAND_g'.
lwa_field-seltext_m = '上次谷'.
lwa_field-outputlen = 10.
append lwa_field to li_fieldcat.
clear lwa_field.
lwa_field-col_pos = 12.
lwa_field-fieldname = 'L_ZWSTAND_ZW'.
lwa_field-seltext_m = '上次无功'.
lwa_field-outputlen = 20.
append lwa_field to li_fieldcat.
clear lwa_field.
lwa_field-col_pos = 13.
lwa_field-fieldname = 'ZWSTAND_Z'.
lwa_field-seltext_m = '本次总'.
lwa_field-outputlen = 12.
append lwa_field to li_fieldcat.
clear lwa_field.
lwa_field-col_pos = 14.
lwa_field-fieldname = 'ZWSTAND_F'.
lwa_field-seltext_m = '本次峰'.
lwa_field-outputlen = 6.
append lwa_field to li_fieldcat.
clear lwa_field.
lwa_field-col_pos = 15.
lwa_field-fieldname = 'ZWSTAND_p'.
lwa_field-seltext_m = '本次平'.
lwa_field-outputlen = 10.
append lwa_field to li_fieldcat.
clear lwa_field.
lwa_field-col_pos = 16.
lwa_field-fieldname = 'ZWSTAND_g'.
lwa_field-seltext_m = '本次谷'.
lwa_field-outputlen = 20.
append lwa_field to li_fieldcat.
clear lwa_field.
lwa_field-col_pos = 17.
lwa_field-fieldname = 'ZWSTAND_ZW'.
lwa_field-seltext_m = '本次无功'.
lwa_field-outputlen = 12.
append lwa_field to li_fieldcat.
clear lwa_field.
lwa_field-col_pos = 18.
lwa_field-fieldname = 'requried'.
lwa_field-seltext_m = '需量'.
lwa_field-outputlen = 6.
append lwa_field to li_fieldcat.
clear lwa_field.
lwa_field-col_pos = 19.
lwa_field-fieldname = 'percentage'.
lwa_field-seltext_m = '电量变化率平'.
lwa_field-outputlen = 10.
append lwa_field to li_fieldcat.
clear lwa_field.
lwa_field-col_pos = 20.
lwa_field-fieldname = 'ELE_Days'.
lwa_field-seltext_m = '上次天数'.
lwa_field-outputlen = 10.
append lwa_field to li_fieldcat.
clear lwa_field.
sort i_data by GERNR.
*&输出ALV报表
call function 'REUSE_ALV_GRID_DISPLAY'
EXPORTING
i_interface_check = ''
i_callback_program = l_id
i_callback_user_command = 'UC_CLICK'
* i_callback_pf_status_set = 'F_STATUS'(001) "添加的GUI
it_fieldcat = li_fieldcat
TABLES
t_outtab = i_data
EXCEPTIONS
program_error = 1
others = 2.
endif.
ENDFORM. " f_display_alv
type-pools:slis.
data:
lwa_event_exit type slis_event_exit,
li_event_exit type slis_t_event_exit,
lwa_field type slis_fieldcat_alv, "定义一个临时的工作区
l_id type sy-repid,
li_fieldcat type standard table of slis_fieldcat_alv,
l_answer type string,
l_msgtxt type string.
l_id = sy-repid.
clear lwa_field.
if i_data is initial.
l_msgtxt = text-m01.
*调用对话框函数
call function 'POPUP_TO_CONFIRM_STEP'
EXPORTING
titel = text-m02
textline1 = l_msgtxt
cancel_display = space "不显示CANCEL按钮
IMPORTING
answer = l_answer.
if l_answer = 'N'. " 退出程序
leave program.
endif.
else.
lwa_field-col_pos = 1.
lwa_field-fieldname = 'vkbez'.
lwa_field-seltext_m = '合同帐户'.
lwa_field-outputlen = 14.
append lwa_field to li_fieldcat.
clear lwa_field.
lwa_field-col_pos = 1.
lwa_field-fieldname = 'vkont'.
lwa_field-seltext_m = '合同帐号'.
lwa_field-outputlen = 14.
append lwa_field to li_fieldcat.
clear lwa_field.
lwa_field-col_pos = 3.
lwa_field-fieldname = 'GERNR'.
lwa_field-seltext_m = '表计'.
lwa_field-outputlen = 18.
append lwa_field to li_fieldcat.
clear lwa_field.
lwa_field-col_pos = 4.
lwa_field-fieldname = 'SERGE'.
lwa_field-seltext_m = '出厂号'.
lwa_field-outputlen = 10.
append lwa_field to li_fieldcat.
clear lwa_field.
lwa_field-col_pos = 5.
lwa_field-fieldname = 'TERMSCHL'.
lwa_field-seltext_m = '抄表单元'.
lwa_field-outputlen = 14.
append lwa_field to li_fieldcat.
clear lwa_field.
lwa_field-col_pos = 6.
lwa_field-fieldname = 'SEQUENCE'.
lwa_field-seltext_m = '顺序号'.
lwa_field-outputlen = 12.
append lwa_field to li_fieldcat.
clear lwa_field.
lwa_field-col_pos = 7.
lwa_field-fieldname = 'NAME1'.
lwa_field-seltext_m = '抄表员'.
lwa_field-outputlen = 16.
append lwa_field to li_fieldcat.
clear lwa_field.
lwa_field-col_pos = 8.
lwa_field-fieldname = 'L_ZWSTAND_Z'.
lwa_field-seltext_m = '上次总'.
lwa_field-outputlen = 20.
append lwa_field to li_fieldcat.
clear lwa_field.
lwa_field-col_pos = 9.
lwa_field-fieldname = 'L_ZWSTAND_F'.
lwa_field-seltext_m = '上次峰'.
lwa_field-outputlen = 12.
append lwa_field to li_fieldcat.
clear lwa_field.
lwa_field-col_pos = 10.
lwa_field-fieldname = 'L_ZWSTAND_p'.
lwa_field-seltext_m = '上次平'.
lwa_field-outputlen = 6.
append lwa_field to li_fieldcat.
clear lwa_field.
lwa_field-col_pos = 11.
lwa_field-fieldname = 'L_ZWSTAND_g'.
lwa_field-seltext_m = '上次谷'.
lwa_field-outputlen = 10.
append lwa_field to li_fieldcat.
clear lwa_field.
lwa_field-col_pos = 12.
lwa_field-fieldname = 'L_ZWSTAND_ZW'.
lwa_field-seltext_m = '上次无功'.
lwa_field-outputlen = 20.
append lwa_field to li_fieldcat.
clear lwa_field.
lwa_field-col_pos = 13.
lwa_field-fieldname = 'ZWSTAND_Z'.
lwa_field-seltext_m = '本次总'.
lwa_field-outputlen = 12.
append lwa_field to li_fieldcat.
clear lwa_field.
lwa_field-col_pos = 14.
lwa_field-fieldname = 'ZWSTAND_F'.
lwa_field-seltext_m = '本次峰'.
lwa_field-outputlen = 6.
append lwa_field to li_fieldcat.
clear lwa_field.
lwa_field-col_pos = 15.
lwa_field-fieldname = 'ZWSTAND_p'.
lwa_field-seltext_m = '本次平'.
lwa_field-outputlen = 10.
append lwa_field to li_fieldcat.
clear lwa_field.
lwa_field-col_pos = 16.
lwa_field-fieldname = 'ZWSTAND_g'.
lwa_field-seltext_m = '本次谷'.
lwa_field-outputlen = 20.
append lwa_field to li_fieldcat.
clear lwa_field.
lwa_field-col_pos = 17.
lwa_field-fieldname = 'ZWSTAND_ZW'.
lwa_field-seltext_m = '本次无功'.
lwa_field-outputlen = 12.
append lwa_field to li_fieldcat.
clear lwa_field.
lwa_field-col_pos = 18.
lwa_field-fieldname = 'requried'.
lwa_field-seltext_m = '需量'.
lwa_field-outputlen = 6.
append lwa_field to li_fieldcat.
clear lwa_field.
lwa_field-col_pos = 19.
lwa_field-fieldname = 'percentage'.
lwa_field-seltext_m = '电量变化率平'.
lwa_field-outputlen = 10.
append lwa_field to li_fieldcat.
clear lwa_field.
lwa_field-col_pos = 20.
lwa_field-fieldname = 'ELE_Days'.
lwa_field-seltext_m = '上次天数'.
lwa_field-outputlen = 10.
append lwa_field to li_fieldcat.
clear lwa_field.
sort i_data by GERNR.
*&输出ALV报表
call function 'REUSE_ALV_GRID_DISPLAY'
EXPORTING
i_interface_check = ''
i_callback_program = l_id
i_callback_user_command = 'UC_CLICK'
* i_callback_pf_status_set = 'F_STATUS'(001) "添加的GUI
it_fieldcat = li_fieldcat
TABLES
t_outtab = i_data
EXCEPTIONS
program_error = 1
others = 2.
endif.
ENDFORM. " f_display_alv