screen的ALV的制作.docx

上传人:b****6 文档编号:7950286 上传时间:2023-01-27 格式:DOCX 页数:16 大小:19.24KB
下载 相关 举报
screen的ALV的制作.docx_第1页
第1页 / 共16页
screen的ALV的制作.docx_第2页
第2页 / 共16页
screen的ALV的制作.docx_第3页
第3页 / 共16页
screen的ALV的制作.docx_第4页
第4页 / 共16页
screen的ALV的制作.docx_第5页
第5页 / 共16页
点击查看更多>>
下载资源
资源描述

screen的ALV的制作.docx

《screen的ALV的制作.docx》由会员分享,可在线阅读,更多相关《screen的ALV的制作.docx(16页珍藏版)》请在冰豆网上搜索。

screen的ALV的制作.docx

screen的ALV的制作

screen的ALV的制作

alv的DATACHANGE方法用于双击和回车

方法:

CALLMETHODg_grid->check_changed_data可以修改屏幕中手工修改的字段到alv的内表中

用方法CALLMETHODg_grid->check_changed_data.还可以自由的触发DATACHANGE,比如在按钮中加上,则按下按钮时触发datachange

ALV的热连接方法时,要在字段WA-FIELD中定义WA_FIELDS-HOTSPOT='X'."____________________

在200中的本地Z_YW_SCREEN_ALV

代码:

*&---------------------------------------------------------------------*

*&ReportZ_YW_SCREEN_ALV*

*&*

*&---------------------------------------------------------------------*

*&*

*&*

*&---------------------------------------------------------------------*

"做屏幕的区域时,用右下角有个c标志的区域选择按钮

REPORTZ_YW_SCREEN_ALV.

INCLUDEZ_YWSCREEN_ALV_TOP.

INCLUDEZ_YW_SCREEN_ALV_CLASS.

start-of-selection.

PERFORMGET_DATA.

CALLSCREEN100.

INCLUDEZ_YW_SCREEN_ALV_STATUS_0100O01.

INCLUDEZ_YW_SCREEN_ALV_USER_COMMANI01.

INCLUDEMY_FORM.

Z_YWSCREEN_ALV_TOP.

*&---------------------------------------------------------------------*

*&____Z_YWSCREEN_ALV_TOP*

*&---------------------------------------------------------------------*

TABLES:

ZTCAT.

INCLUDE.

DATA:

IT_MY_ZTCATLIKEZTCAT.

DATA:

IT_ZTCATLIKETABLEOFIT_MY_ZTCATWITHHEADERLINE.

*ALV_________定义

DATAg_containerTYPEREFTOcl_gui_custom_container."______

DATA:

g_gridTYPEREFTOcl_gui_alv_grid,

it_fieldcatTYPElvc_t_fcat,

it_excludeTYPEui_functions,

is_layoutTYPElvc_s_layo.

DATA:

x_save,"forParameterI_SAVE

ls_layoutTYPEdisvariant."forparameterIS_VARIANT

**f_titleTYPELVC_TITLE."ALV______标题

CLASSlcl_alv_receiverDEFINITIONDEFERRED.

DATA:

g_alv_applicationTYPEREFTOlcl_alv_receiver."________

"alv的见面创建和事件定义处理

***********************************SCREEN

SELECTION-SCREENBEGINOFBLOCKradio

WITHFRAMETITLEtext-005.__

PARAMETERS:

SE_PERIDLIKEZTCAT-PERIDOBLIGATORYMEMORYIDzperid.

SELECT-OPTIONSSE_BOOKCFORZTCAT-BOOKC.

SELECTION-SCREENENDOFBLOCKradio.

Z_YW_SCREEN_ALV_CLASS

*&---------------------------------------------------------------------*

*&____Z_YW_SCREEN_ALV_CLASS*

*&---------------------------------------------------------------------*

CLASSlcl_ALV_receiverDEFINITION."________

PUBLICSECTION.

METHODS:

handle_double"双击

FOREVENTdouble_clickOFcl_gui_alv_grid

IMPORTINGe_rowe_columnes_row_no,

handle_toolbar

FOREVENTtoolbarOFcl_gui_alv_grid"TOOLBAR

IMPORTINGe_objecte_interactive,

handle_user_command"____toolbar__UCOMM

FOREVENTuser_commandOFcl_gui_alv_grid

IMPORTINGe_ucomm,

handle_menu_button“子菜单

FOREVENTmenu_buttonOFcl_gui_alv_grid

IMPORTINGe_objecte_ucomm,

handle_data_changed“数据改变

foreventdata_changedofcl_gui_alv_grid

importinger_data_changed.

ENDCLASS."lcl_event_receiverDEFINITION

 

*&---------------------------------------------------------------------*

*&Class(Implementation)lcl_event_receiver

*&---------------------------------------------------------------------*

*Text

*----------------------------------------------------------------------*

 

CLASSlcl_ALV_receiverIMPLEMENTATION."__________

*-----------------------------------------------------------------

METHODhandle_double.

*ifsy-dynnr='0100'.

*READTABLEit_MAININTOit_MAININDEXe_row-index.

*IFsy-subrc=0.

*PERFORMDETAIL_DATA.

*PERFORMDISPLAY_DETAIL_ALV.

*ENDIF.

*elseifsy-dynnr='0200'.

*readtableit_double_clickintoit_double_clickINDEXe_row-index.

*ifsy-subrc=0.

*CLEAR:

F_PERID,F_KNORD.

*f_perid=p_perid.

*f_knord=it_double_click-knord.

*setparameterid'ZPERID'FIELDF_PERID.

*SETPARAMETERID'ZORDER'FIELDF_KNORD.

*CALLTRANSACTION'ZBD002_03'ANDSKIPFIRSTSCREEN.

*endif.

*endif.

ENDMETHOD."HANDLE_double

*-----------------------TOOLBAR------------------------------------*

METHODhandle_toolbar.

*?

2.IneventhandlermethodforeventTOOLBAR:

Appendownfunctions

*byusingeventparameterE_OBJECT.

DATA:

ls_toolbarTYPEstb_button.

*....................................................................

*E_OBJECTofeventTOOLBARisoftypeREFTOCL_ALV_EVENT_TOOLBAR_SET.

*Thisclasshasgotoneattribute,namlyMT_TOOLBAR,which

*isatableoftypeTTB_BUTTON.Onelineofthistableis

*definedbytheStructureSTB_BUTTON(seedatadeklarationabove).

*

*AremarktotheflagE_INTERACTIVE:

*~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

*'e_interactive'isset,ifthiseventisraiseddueto

*thecallof'set_toolbar_interactive'bytheuser.

*Youcandistinguishthiswayiftheeventwasraised

*byyourselforbyALV

*(e.g.inmethod'refresh_table_display').

*Anapplicationofthisfeatureisstillunknown...:

-)

*____________________

*__________ALV____

把需要的引掉

*DELETEe_object->mt_toolbarWHEREFUNCTION='&MB_SUM'.

*DELETEe_object->mt_toolbarWHEREFUNCTION='&MB_SUBTOT'.

DELETEe_object->mt_toolbarWHEREFUNCTION='&&SEP05'.

DELETEe_object->mt_toolbarWHEREFUNCTION='&PRINT_BACK'.

*DELETEe_object->mt_toolbarWHEREFUNCTION='&MB_VIEW'.

*DELETEe_object->mt_toolbarWHEREFUNCTION='&COL0'.

DELETEe_object->mt_toolbarWHEREFUNCTION='&&SEP06'.

DELETEe_object->mt_toolbarWHEREFUNCTION='&GRAPH'.

DELETEe_object->mt_toolbarWHEREFUNCTION='&&SEP07'.

DELETEe_object->mt_toolbarWHEREFUNCTION='&INFO'.

DELETEe_object->mt_toolbarWHEREFUNCTION=''.

DELETEe_object->mt_toolbarWHEREFUNCTION='&&SEP00'.

DELETEe_object->mt_toolbarWHEREFUNCTION='&CHECK'.

DELETEe_object->mt_toolbarWHEREFUNCTION='&LOCAL&CUT'.

DELETEe_object->mt_toolbarWHEREFUNCTION='&LOCAL©'.

DELETEe_object->mt_toolbarWHEREFUNCTION='&LOCAL&PASTE'.

DELETEe_object->mt_toolbarWHEREFUNCTION='&LOCAL&APPEND'.

DELETEe_object->mt_toolbarWHEREFUNCTION='&LOCAL&INSERT_ROW'.

DELETEe_object->mt_toolbarWHEREFUNCTION='&LOCAL&DELETE_ROW'.

DELETEe_object->mt_toolbarWHEREFUNCTION='&LOCAL&UNDO'.

*DELETEe_object->mt_toolbarWHEREFUNCTION='&MB_SUM'.

*DELETEe_object->mt_toolbarWHEREFUNCTION='&MB_SUBTOT'.

DELETEe_object->mt_toolbarWHEREFUNCTION='&MB_VIEW'.

DELETEe_object->mt_toolbarWHEREFUNCTION='&GRAPH'.

DELETEe_object->mt_toolbarWHEREFUNCTION='&INFO'.

DELETEe_object->mt_toolbarWHEREFUNCTION='&LOCAL©_ROW'.

DELETEe_object->mt_toolbarWHEREFUNCTION='&REFRESH'.

 

"____________________________________________

*IFSY-TCODE<>'ZBD002_22'ANDSY-TCODE<>'ZBD002_23'.

**________

*CLEARls_toolbar.

*MOVE3TOls_toolbar-butn_type.

*APPENDls_toolbarTOe_object->mt_toolbar.

*CLEARls_toolbar.

*MOVE'A_AVERAGE'TOls_toolbar-function.

*MOVEicon_used_relationTOls_toolbar-icon.

*MOVE'____________________________'(114)TOls_toolbar-quickinfo.

*MOVE1TOls_toolbar-butn_type.

*MOVE''TOls_toolbar-disabled.

*APPENDls_toolbarTOe_object->mt_toolbar.

*ENDIF.

 

*________alv________按钮

DEFINEset_toolbar.“宏定义

clearls_toolbar.

move&1tols_toolbar-function.

move&2tols_toolbar-icon.

move&3tols_toolbar-butn_type."_____________按钮类型‘‘则不为父菜单

move&4tols_toolbar-quickinfo.

move''tols_toolbar-disabled.

appendls_toolbartoe_object->mt_toolbar.

END-OF-DEFINITION.

CLEARls_toolbar."______

MOVE'&&SEP07'TOls_toolbar-function.

MOVE3TOls_toolbar-butn_type.

APPENDls_toolbarTOe_object->mt_toolbar.

*____________按钮1

set_toolbar'CDOE_1'icon_mass_change1'MENU1'.

*____________按钮2

set_toolbar'CODE_2'icon_create2'MENU2'.

*____________按钮3

set_toolbar'&&SEP08'''3''."______”分隔符

*____________按钮4

set_toolbar'COPY'icon_employee'''MENU4'.

ENDMETHOD."handle_toolbar

*---------------user_command-----------------------------------*

"__________________________________________________

METHODhandle_user_command.

*?

3.IneventhandlermethodforeventUSER_COMMAND:

Queryyour

*functioncodesdefinedinstep2andreactaccordingly.

*DATA:

lt_rowsTYPElvc_t_row.

*DATA:

f_linesTYPEi.

*DATA:

F_rcTYPEI.

*CASEe_ucomm.

*WHEN'AVERAGE'.

***1____________

*DATA:

F_TEMP_MENGE(5).

*PERFORMGET_SCREEN_MENGE.

*F_TEMP_MENGE=F_ALL_MENGE.

*CONCATENATE'________________'F_TEMP_MENGE'________'

*INTOF_TEXT2.

*F_KJ_TEXT=F_TEXT2.

*PERFORMGET_AVERAGE.

*CALLMETHODcl_gui_cfw=>set_new_ok_code"________PBO__PAI

*EXPORTING

*new_code='&REFRESH'

*IMPORTING

*rc=F_rc.

*

*WHEN'A_AVERAGE'.

*PERFORMGET_SCREEN_MENGE.

*F_TEMP_MENGE=F_ALL_MENGE.

*CONCATENATE'________________'F_TEMP_MENGE'________'

*INTOF_TEXT1.

*F_KJ_TEXT=F_TEXT1.

*PERFORMGET_A_AVERAGE.

*CALLMETHODcl_gui_cfw=>set_new_ok_code

*EXPORTING

*new_code='&REFRESH'

*IMPORTING

*rc=F_rc.

*WHEN'ALL_LINES_BFB'.

*F_KJ_TEXT=F_TEXT4.

*PERFORMSUB_ALL_BFB.

*CALLMETHODcl_gui_cfw=>set_new_ok_code

*EXPORTING

*new_code='&REFRESH'

*IMPORTING

*rc=F_rc.

*WHEN'ALL_LINES'.

*F_KJ_TEXT=F_TEXT3.

*PERFORMSUB_ALL."________________,____________________

*CALLMETHODcl_gui_cfw=>set_new_ok_code

*EXPORTING

*new_code='&REFRESH'

*IMPORTING

*rc=F_rc.

*ENDCASE.

ENDMETHOD."lcl_event_receiver

*-------------------------------------------------------------------

METHODhandle_menu_button.

"____________________________________________

*?

3.AteventMENU_BUTTONqueryyourfunctioncodeanddefinea

*menuinthesamewayasacontextmenu.

*..........

*PartII:

Evaluate'e_ucomm'toseewhichmenubuttonofthetoolbar

*hasbeenclickedon.

*Definethenthecorrespondingmenu.

*Themenucontainsfunctioncodesthatareevaluated

*in'handle_user_command'.

*...........

*querye_ucommtofindoutwhichmenubuttonhasbeenclickedon

**1____________

*PERFORMGET_SCREEN_MENGE.

*

***

*DATA:

F_TEMP_MENGE(5).

*F_TEMP_MENGE=F_ALL_MENGE.

*IFe_ucomm='A_AVERAGE'.

*CONCATENATE'________________'F_TEMP_MENGE'____________'INTO

*F_TEXT1.

*CALLMETHODe_object->add_function

*EXPOR

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 小学教育 > 英语

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1