
2007-10-16 15:56
1dragonking1
关于alv tree 的问题
我找了很多资料,发现那里的alv tree的实现都是基于screen里面的control container创建的。不知道alv tree 能否象alv grid那样在report里面直接生成~
2007-10-17 09:33
sap_whittle
可能可以吧,但是没有去测试,你不要使用customer container,使用CL_GUI_DOCKING_CONTAINER,应该可以的吧?改天我自己写一个.
2007-10-25 15:57
no17_agl
什么时候写出来啊?alvtree我也不是很明白
2007-10-27 08:43
jerry.cui
期待二楼的例子
2007-10-29 15:57
James_Huangj
REPORT Z_JAMES_TEST MESSAGE-ID ZMC95.
TABLES: MARA.
DATA: BEGIN OF ITAB OCCURS 0,
MTART LIKE MARA-MTART,
MATNR LIKE MARA-MATNR,
MEINS LIKE MARA-MEINS,
END OF ITAB.
DATA BEGIN OF FTAB OCCURS 1.
DATA: FCODE(4).
DATA: END OF FTAB.
DATA: G_MTART LIKE MARA-MTART,
G_MATNR LIKE MARA-MATNR.
DATA: BEGIN OF IT_TREE OCCURS 0.
INCLUDE STRUCTURE SNODETEXT.
DATA: END OF IT_TREE.
DATA: F15 TYPE C.
SELECT-OPTIONS: S_MATNR FOR MARA-MATNR.
AT SELECTION-SCREEN.
REFRESH FTAB. CLEAR FTAB.
MOVE 'CANC' TO FTAB-FCODE.
APPEND FTAB.
MOVE 'EXIT' TO FTAB-FCODE.
APPEND FTAB.
MOVE 'FILT' TO FTAB-FCODE.
APPEND FTAB.
START-OF-SELECTION.
SELECT MTART
MATNR
MEINS
INTO CORRESPONDING FIELDS OF TABLE ITAB
FROM MARA
WHERE MARA~MATNR IN S_MATNR.
CHECK SY-SUBRC = 0.
SORT ITAB BY MTART.
LOOP AT ITAB.
AT FIRST.
PERFORM HEADER_NODE_FILL.
ENDAT.
AT NEW MTART.
READ TABLE ITAB INDEX SY-TABIX.
MOVE ITAB-MTART TO G_MTART.
PERFORM MTART_NODE_FILL.
LOOP AT ITAB WHERE MTART = G_MTART.
PERFORM MATNR_NODE_FILL.
ENDLOOP.
ENDAT.
ENDLOOP.
PERFORM DISPLAY_TREE_LIST.
*&---------------------------------------------------------------------*
*& Form HEADER_NODE_FILL
*&---------------------------------------------------------------------*
* text
*----------------------------------------------------------------------*
* --> p1 text
* <-- p2 text
*----------------------------------------------------------------------*
FORM HEADER_NODE_FILL .
IT_TREE-NAME = 'MATERIAL ROOT'.
IT_TREE-COLOR = 3.
IT_TREE-INTENSIV = 0.
IT_TREE-TEXT = 'Hierarchy'.
IT_TREE-TLENGTH = STRLEN( IT_TREE-TEXT ).
IT_TREE-TLEVEL = 1.
IT_TREE-TCOLOR = 0.
IT_TREE-TINTENSIV = 0.
IT_TREE-TEXT1 = '(1,2,3)'.
IT_TREE-TLENGTH1 = STRLEN( IT_TREE-TEXT1 ).
IT_TREE-TCOLOR1 = 0.
IT_TREE-TINTENSIV1 = 0.
* IT_TREE-KIND = 'I'.
* IT_TREE-HOTSPOT = 1.
APPEND IT_TREE. CLEAR: IT_TREE.
ENDFORM. " HEADER_NODE_FILL
*&---------------------------------------------------------------------*
*& Form MTART_NODE_FILL
*&---------------------------------------------------------------------*
* text
*----------------------------------------------------------------------*
* --> p1 text
* <-- p2 text
*----------------------------------------------------------------------*
FORM MTART_NODE_FILL .
IT_TREE-ID = 2.
IT_TREE-TLEVEL = 2.
IT_TREE-NAME = 'LEVEL1'.
IT_TREE-COLOR = 4.
IT_TREE-INTENSIV = 0.
IT_TREE-HIDE = 'MM03'.
IT_TREE-TEXT = ITAB-MTART.
IT_TREE-TLENGTH = 10.
IT_TREE-TCOLOR = 4.
IT_TREE-TINTENSIV = 0.
IT_TREE-TEXT1 = ITAB-MEINS.
IT_TREE-TLENGTH1 = 10.
IT_TREE-TCOLOR1 = 2.
IT_TREE-TINTENSIV1 = 0.
APPEND IT_TREE. CLEAR: IT_TREE.
ENDFORM. " MTART_NODE_FILL
*&---------------------------------------------------------------------*
*& Form MATNR_NODE_FILL
*&---------------------------------------------------------------------*
* text
*----------------------------------------------------------------------*
* --> p1 text
* <-- p2 text
*----------------------------------------------------------------------*
FORM MATNR_NODE_FILL .
IT_TREE-ID = 3.
IT_TREE-TLEVEL = 3.
IT_TREE-NAME = 'LEVEL2'.
IT_TREE-COLOR = 1.
IT_TREE-INTENSIV = 0.
IT_TREE-HIDE = 'MM03'.
IT_TREE-TEXT = ITAB-MATNR.
IT_TREE-TLENGTH = 18.
IT_TREE-TCOLOR = 4.
IT_TREE-TINTENSIV = 0.
APPEND IT_TREE. CLEAR: IT_TREE.
ENDFORM. " MATNR_NODE_FILL
*&---------------------------------------------------------------------*
*& Form DISPLAY_TREE_LIST
*&---------------------------------------------------------------------*
* text
*----------------------------------------------------------------------*
* --> p1 text
* <-- p2 text
*----------------------------------------------------------------------*
FORM DISPLAY_TREE_LIST .
CALL FUNCTION 'RS_TREE_CONSTRUCT'
* EXPORTING
* INSERT_ID = '000000'
* RELATIONSHIP = ' '
* LOG =
TABLES
NODETAB = IT_TREE
* EXCEPTIONS
* TREE_FAILURE = 1
* ID_NOT_FOUND = 2
* WRONG_RELATIONSHIP = 3
* OTHERS = 4
.
IF SY-SUBRC <> 0.
MESSAGE ID SY-MSGID TYPE SY-MSGTY NUMBER SY-MSGNO
WITH SY-MSGV1 SY-MSGV2 SY-MSGV3 SY-MSGV4.
ELSE.
SY-LSIND = 0.
SET PF-STATUS 'TREE_STATUS' EXCLUDING FTAB.
PERFORM EXPAND_WHOLE_TREE.
CALL FUNCTION 'RS_TREE_LIST_DISPLAY'
EXPORTING
CALLBACK_PROGRAM = SY-CPROG
CALLBACK_USER_COMMAND = 'NODE_COMMAND'
* CALLBACK_TEXT_DISPLAY =
* CALLBACK_MOREINFO_DISPLAY =
* CALLBACK_COLOR_DISPLAY =
* CALLBACK_TOP_OF_PAGE =
* CALLBACK_GUI_STATUS =
* CALLBACK_CONTEXT_MENU =
STATUS = 'OWN'
* CHECK_DUPLICATE_NAME = '1'
* COLOR_OF_NODE = '4'
* COLOR_OF_MARK = '3'
* COLOR_OF_LINK = '1'
* COLOR_OF_MATCH = '5'
* LOWER_CASE_SENSITIVE = ' '
* MODIFICATION_LOG = ' '
* NODE_LENGTH = 30
* TEXT_LENGTH = 75
* TEXT_LENGTH1 = 0
* TEXT_LENGTH2 = 0
RETURN_MARKED_SUBTREE = 'X'
* SCREEN_START_COLUMN = 0
* SCREEN_START_LINE = 0
* SCREEN_END_COLUMN = 0
* SCREEN_END_LINE = 0
* SUPPRESS_NODE_OUTPUT = ' '
* LAYOUT_MODE = ' '
* USE_CONTROL = STREE_USE_LIST
IMPORTING
F15 = SY-UCOMM
.
ENDIF.
ENDFORM. " DISPLAY_TREE_LIST
*&---------------------------------------------------------------------*
*& Form NODE_COMMAND
*&---------------------------------------------------------------------*
* text
*----------------------------------------------------------------------*
* --> p1 text
* <-- p2 text
*----------------------------------------------------------------------*
FORM NODE_COMMAND TABLES WA_NODE STRUCTURE SEUCOMM
USING COMMAND
CHANGING EXIT
LIST_REFRESH.
BREAK HUANGJIAN_CN.
ENDFORM. " NODE_COMMAND
*&---------------------------------------------------------------------*
*& Form EXPAND_WHOLE_TREE
*&---------------------------------------------------------------------*
* text
*----------------------------------------------------------------------*
* --> p1 text
* <-- p2 text
*----------------------------------------------------------------------*
FORM EXPAND_WHOLE_TREE .
CALL FUNCTION 'RS_TREE_EXPAND'
EXPORTING
NODE_ID = 1
ALL = 'X'
* LIST_SCROLL =
* DEPTH = 1
EXCEPTIONS
NOT_FOUND = 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.
ENDFORM. " EXPAND_WHOLE_TREE
2007-11-1 12:21
laziows
RS_TREE_CONSTRUCT
RS_TREE_LIST_DISPLAY
测试过,不错。
2007-11-2 12:23
no17_agl
很好很强大,收藏了
2008-3-26 15:37
renken158
测试了,基本没有问题,感谢James_Huangj,不过好像双击执行的功能有些问题,不知其他兄弟们是否测过了?
2008-7-4 16:59
xiebinren
感谢James_Huangj
2008-9-13 17:53
ryq0000
[quote]原帖由 [i]renken158[/i] 于 2008-3-26 15:37 发表 [url=http://www.itpub.net/redirect.php?goto=findpost&pid=9942157&ptid=872894][img]http://www.itpub.net/images/common/back.gif[/img][/url]
测试了,基本没有问题,感谢James_Huangj,不过好像双击执行的功能有些问题,不知其他兄弟们是否测过了? [/quote]
没有做双击的功能 吧.
页:
[1]

Powered by ITPUB论坛