通过徽标在abap的单个屏幕上导航到不同的tcode

2020-09-22 09:54发布

点击此处---> 群内免费提供SAP练习系统(在群公告中)加入QQ群:457200227(SAP S4 HANA技术交流) 群内免费提供SAP练习系统(在群公告中)嗨, 我需要创建一个功能...

         点击此处--->   EasySAP.com群内免费提供SAP练习系统(在群公告中)

加入QQ群:457200227(SAP S4 HANA技术交流) 群内免费提供SAP练习系统(在群公告中)


嗨,

我需要创建一个功能以在屏幕上启用徽标,并且在单击特定徽标后,可以将用户重定向到唯一的屏幕。

这可以尽快实现吗?

请指导。

谢谢

Vivek

2条回答
hengyuye
2020-09-22 10:15

请参见下面的示例代码。

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

*&报告ZDEMO2
*&
*&--------------------------------- ------------------------------------ *
*&
*&
*&------------------------------------------------ --------------------- *

报告ZDEMO2。

TYPE-POOLS:CNTL。

TYPES :TY_LOGOS的开始,
NAME TYPE TEXT20,
LOGO_CON TYPE REF到CL_GUI_CONTAINER,
LOGO TYPE REF CL_GUI_PICTURE,
PIC TYPE W3MIMETABTYPE,
SIZE TYPE I,
URL TYPE TEXT255 ,
TY_LOGOS的结尾,
TY_LOGOS的TT_LOGOS类型标准表。

DATA:GO_CON TYPE REF到CL_GUI_CUSTOM_CONTAINER,
GO_SPLIT类型REF到CL_GUI_SPLITTER_CONTAINS数据。
TYPE I,
GV_COLUMNS TYPEI。

DATA:GT_LOGOS TYPE TT_LOGOS,
GS_LOGOS TYPE TY_LOGOS。

DATA:GV_PIC TYPE XSTRING。

DATA:GV_GRAPH_CONV 类型I,
GV_GRAPH_OFFS类型I。

DATA:GS_PIC类型W3MIME。

数据:GV_RES类型I。





数据 :GT_EVENTS类型CNTL_SIMPLE_EVENTS,
GS_EVENTS类型CNTL_SIMPLE_ 事件。


类别LCL_HPIC定义。
公共部分。
方法:HAND_PICTURE_DBLCLICK,用于CL_GUI_PICTURE
的事件PICTURE_DBLCLICK
,正在导入MOUSE_POS_X
MOUSE_POS_Y 。 br> ENDCLASS。

CLASS LCL_HPIC实施。
方法HAND_PICTURE_DBLCLICK。

DATA:LS_LOGOS类型TY_LOGOS。


将表GT_LOGOS读取到带有键LOGO = SENDER的LS_LOGOS中。 br>
案例LS_LOGOS-名称。
何时"预订"。
留在屏幕上0.
何时"。
何时其他。
结束。.

ENDMETHOD。
ENDCLASS。


DATA:GO_HPIC类型参考LCL_HPIC。






开始选择。


创建对象GO_CON
导出
CONTAINER_NAME ='CON'
例外情况
CNTL_ERROR = 1
CNTL_SYSTEM_ERROR = 2
CREATE_ERROR = 3
LIFETIME_ERROR = 4
LIFETIME_DYNPRO_DYNPRO_LINK = 5
其他=6。

CLEAR:GV_ROWS,GV_COLUMNS。

GV_ROWS = 1.
GV_COLUMNS = 2.


>创建对象GO_SPLIT
导出 G
父母= GO_CON
行= GV_ROWS
列= GV_COLUMNS
例外情况
CNTL_ERROR = 1
CNTL_SYSTEM_ERROR = 2
其他= 3.


>清除GS_LOGOS。
GS_LOGOS-NAME ='BOOK'。

清除GV_PIC。

调用方法CL_SSF_XSF_UTILITIES => GET_BDS_GRAPHIC_AS_BMP
导出
P_OBJECT ='GRAPHICS'
P_NAME ='BOOK'
P_ID ='BMAP'
P_BTYPE ='BCOL'
接收
P_BMP = GV_PIC
例外情况
NOT_FOUND = 1
INTERNAL_ERROR = 2
>其他=3。

GS_LOGOS-SIZE = XSTRLEN(GV_PIC)。

GV_GRAPH_CONV = GS_LOGOS-SIZE。
GV_GRAPH_OFFS =0。


GV_GRAPH_CONV> 255。
CLEAR:GS_PIC。
GS_PIC-LINE = GV_PIC + GV_GRAPH_OFFS(255)。
将GS_PIC附加到GS_LOGOS-PIC。

GV_GRAPH_OFFS = GV_GRAPH_OFFS + 255.
GV_GRAPH_CONV = GV 255.

结束。

CLEAR:GS_PIC。
GS_PIC-LINE = GV_PIC + GV_GRAPH_OFFS(GV_GRAPH_CONV)。


将GS_PIC附加到GS_LOGOS-PIC。

通话功能'DP_CREATE_URL'
导出
类型='BMAP'
子类型='X-未知'
大小= GS_LOGOS-SIZE
寿命='T'
表格
数据= GS_LOGOS-PIC
更改
URL = GS_LOGOS-URL。


调用方法GO_SPLIT-> GET_CONTAINER
导出
行= 1
列= 1
接收
容器= GS_LOGOS-LOGO_CON。


创建对象GS_LOGOS-LOGO
导出
父对象= GS_LOGOS-LOGO_CON
例外
错误= 1
其他=2。


清除GS_EVENTS。
GS_EVENTS-EVENTID = CL_GUI_PICTURE => EVENTID_PICTURE_DBLCLICK。
将GS_EVENTS附加到GT_EVENTS。

调用方法GS_LOGOS-LOGO-> SET_register_EVENTS
出口 事件= GT_EVENTS
例外情况
CNTL_ERROR = 1
CNTL_SYSTEM_ERROR = 2
ILLEGAL_EVENT_COMBINATION = 3
其他= 4.






创建对象GO_HPIC。

设置处理程序GO_HPIC-> HAND_PICTURE_DBLCLICK以获取所有实例。


调用方法GS_LOGOS-LOGO-> SET_DISPLAY_MODE
导出
DISPLAY_MODE = CL_GUI _PICTURE => DISPLAY_MODE_NORMAL_CENTER。

清除GV_RES。

调用方法GS_LOGOS-LOGO-> LOAD_PICTURE_FROM_URL
导出
URL = GS_LOGOS-URL
导入
结果= GV_RES 。

调用方法CL_GUI_CFW => FLUSH。


将GS_LOGOS附加到GT_LOGOS。


IF 1 =4。

ENDIF。


结束选择。

呼叫屏幕100。

一周热门 更多>