Monday, April 20, 2009

Getting F4 help from the internal table[the values fetched].


Screenshot


Getting F4 help from the internal table[the values fetched].

PARAMETERS: p_table TYPE dd02l-tabname,
p_field(30) TYPE c,
p_field1(30) TYPE c.

DATA: w_tabname TYPE w_tabname,
w_choice TYPE sy-tabix.
DATA: BEGIN OF t_field OCCURS 0,
field TYPE dd03l-fieldname,
END OF t_field.
DATA:t_return LIKE ddshretval OCCURS 0 WITH HEADER LINE.

AT SELECTION-SCREEN ON VALUE-REQUEST FOR p_field.
w_tabname = p_table.

SELECT fieldname
FROM
dd03l
INTO TABLE t_field
WHERE tabname = w_tabname.

CALL FUNCTION 'POPUP_WITH_TABLE_DISPLAY'
EXPORTING
endpos_col = 10
endpos_row = 10
startpos_col = 1
startpos_row = 1
Titletext = 'FIELDNAME'
IMPORTING
choise = w_choice
TABLES
valuetab = t_field
EXCEPTIONS
break_off = 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.

READ TABLE t_field INDEX w_choice.
p_field = t_field-field.

AT SELECTION-SCREEN ON VALUE-REQUEST FOR p_field1.

CALL FUNCTION 'F4IF_INT_TABLE_VALUE_REQUEST'
EXPORTING
retfield = 'FIELDNAME'
value_org = 'S'
TABLES
value_tab = t_field
return_tab = t_return
.
IF sy-subrc = 0.
read table t_return index 1.
p_field1 = t_return-fieldval.
Else.
MESSAGE ID SY-MSGID TYPE SY-MSGTY NUMBER SY-MSGNO
WITH SY-MSGV1 SY-MSGV2 SY-MSGV3 SY-MSGV4.
ENDIF.



Gives day of the week



Screen shots



Report which gives the day of the week

data:w_day type scal-indicator,
w_day1(20) type c.
Parameter: p_date like scal-date obligatory default sy-datum.
Select-options: p_date1 for sy-datum.
Start-of-selection.

call function 'DATE_COMPUTE_DAY'
exporting
Date = p_date
Importing
Day = w_day
.
case w_day.
When '1'.
w_day1 = 'MONDAY'.
when '2'.
w_day1 = 'TUESDAY'.
When '3'.
w_day1 = 'WEDNESDAY'.
When '4'.
w_day1 = 'THURSDAY'.
when '5'.
w_day1 = 'FRIDAY'.
When '6'.
w_day1 = 'SATURDAY'.
When '7'.
w_day1 = 'SUNDAY'.
endcase.
write: p_date,
'DAY OF THE WEEK', w_day,
w_day1.




Monday, June 9, 2008

Starting With ABAP Objects-I

Object Orientation:

It is a problem solving method where the software solution reflects objects in the real world.
Objects:

It is a section of source code which contains data and provides services.
-Data is the attribute
-Services are methods
The attributes can be changed only by the method of the class, hence thus proves the internal consistency.
Classes:

-It describes Objects
-Objects are runtime instances on classes
-we can have any number of objects for a class
-Each Object has unique identity and its own set of values
Object References:

-It helps to identify the address of the objects
-It allows to access attributes and methods of the objects.
Properties of Object Oriented Programming:

Encapsulation:

-Restricts the visibility of attributes and methods to other users.
-Every object has an interface which shows how the objects interact with each other.
-Implementation part is hided so that the process of interaction between the objects is
made invisible to others.
-It is often known as information hiding.
Polymorphism:
-Identical methods behave differently in different classes.
-With the help of an interface it enables to address methods with same name to
different objects.
-The signature or the definition of the method is always the same but the
implementation is different for different classes.
Inheritance:
-Deriving a new class from the existing class
-Can inherit the data and methods of the super class
-Can overwrite the existing methods and can also add new ones.

Simple class Example1:

CLASS LCL_SIMPLE DEFINITION.
PUBLIC SECTION.
DATA: ENAME (15) TYPE C,
EID (5) TYPE N. METHODS DISPLAY_DATA IMPORTING
IM_ENAME TYPE C
IM_NO TYPE N.
ENDCLASS.
CLASS LCL_SIMPLE IMPLEMENTATION.
METHOD DISPLAY_DATA.
ENAME = IM_ENAME.
EID = IM_NO.

WRITE: / ENAME,
EID.
ENDMETHOD. "display data
ENDCLASS. " lcl_simple IMPLEMENTATION

START-OF-SELECTION.

DATA EMP TYPE REF TO LCL_SIMPLE.
CREATE OBJECT EMP.

CALL METHOD EMP->DISPLAY_DATA
EXPORTING im_ename = 'priya'
im_no = '1060'.

Internal process of TYPE REF TO and CREATE OBJECT statements:

DATA EMP TYPE REF TO LCL_SIMPLE.

-When the statement is executed it creates a class reference variable EMP of type
LCL_SIMPLE.
-It can contain all instances of the class
-The class must be declared either globally or locally
-The contents of the variable EMP will be empty.
-It doesn’t point anything now.

EMP - ->

CREATE OBJECT EMP.

-Creates an instance of class.
-Now this reference variable EMP points the object.
-The instance on the class LCL_SIMPLE is LCL_SIMPLE<1> (Internal representation)


EMP - -> ------------> LCL_SIMPLE<1>

DATA: EMP TYPE REF TO LCL_SIMPLE,
EMP1 TYPE REF TO LCL_SIMPLE,
EMP2 TYPE REF TO LCL_SIMPLE,


EMP - ->
EMP1 - ->
EMP2 - ->

All these references will be initial.

CREATE OBJECT EMP, EMP1.

Move EMP to EMP2.

When this statement is executed both reference EMP, EMP2 points to the same object,
We can use either of these references.

EMP - -> ------------> LCL_SIMPLE<1> <------------ <--- EMP2

EMP1 - -> ------------> LCL_SIMPLE<2>


Friday, June 6, 2008

To Delete Table Using BDC


TABLES:
dd02l,
bdcdata.
DATA:
fs_tab TYPE dd02l,
t_tab LIKE
STANDARD TABLE OF fs_tab,
t_bdcdata LIKE
STANDARD TABLE
OF bdcdata.
DATA:
t_messages LIKE
STANDARD TABLE
OF bdcmsgcoll.
DATA:
message TYPE bdcmsgcoll,
msg(72) TYPE c.

SELECT-OPTIONS: s_tab FOR dd02l-tabname.
START-OF-SELECTION.
SELECT tabname
FROM dd02l
INTO TABLE t_tab
WHERE tabname IN s_tab .
IF sy-subrc EQ 0.
PERFORM bdc_dynpro USING 'SAPMSRD0' '0102'.
PERFORM bdc_field USING 'BDC_CURSOR'
'RSRD1-TBMA'.
PERFORM bdc_field USING 'BDC_OKCODE'
'=CHANGE_RADIO'.
PERFORM bdc_field USING 'RSRD1-TBMA'
'X'.
PERFORM bdc_field USING 'RSRD1-TBMA_VAL'
'TADIR'.
PERFORM bdc_dynpro USING 'SAPMSRD0' '0102'.
PERFORM bdc_field USING 'BDC_CURSOR'
'RSRD1-TBMA_VAL'.
PERFORM bdc_field USING 'BDC_OKCODE'
'=DELE'.
PERFORM bdc_field USING 'RSRD1-TBMA'
'X'.
PERFORM bdc_field USING 'RSRD1-TBMA_VAL'
'yit_exam1'.
PERFORM bdc_dynpro USING 'SAPLSPO1' '0100'.
PERFORM bdc_field USING 'BDC_OKCODE'
'=YES'.
PERFORM bdc_dynpro USING 'SAPMSRD0' '0102'.
PERFORM bdc_field USING 'BDC_CURSOR'
'RSRD1-TBMA_VAL'.
PERFORM bdc_field USING 'BDC_OKCODE'
'=BACK'.
PERFORM bdc_field USING 'RSRD1-TBMA'
'X'.
PERFORM bdc_field USING 'RSRD1-TBMA_VAL'
'YIT_EXAM1'.
CALL TRANSACTION 'SE11' USING t_bdcdata MODE 'N'
MESSAGES INTO t_messages.
LOOP AT t_messages INTO message.
CALL FUNCTION 'FORMAT_MESSAGE'
EXPORTING
id = message-msgid
lang = 'EN'
no = message-msgnr
v1 = message-msgv1
v2 = message-msgv2
v3 = message-msgv3
v4 = message-msgv4
IMPORTING
msg = msg
EXCEPTIONS
not_found = 1
OTHERS = 2.
IF sy-subrc EQ 0.
WRITE / msg.
ENDIF.
ENDLOOP.
ELSE.
WRITE: 'Not Deleted'.
ENDIF.
*---------------------------------------------------------------------*
* Form bdc_dynpro
*---------------------------------------------------------------------*
* text
*---------------------------------------------------------------------*
* --> pv_prog BDC module pool
* --> pv_screen BDC Screen number
*---------------------------------------------------------------------*
FORM bdc_dynpro USING value(pv_prog)
value(pv_screen).
CLEAR bdcdata.
bdcdata-program = pv_prog.
bdcdata-dynpro = pv_screen.
bdcdata-dynbegin = 'X'.
APPEND bdcdata TO t_bdcdata.
ENDFORM. " bdc_dynpro
*---------------------------------------------------------------------*
* Form bdc_field
*---------------------------------------------------------------------*
* text
*---------------------------------------------------------------------*
* --> pv_fname Field name
* --> pv_fval BDC field value
*---------------------------------------------------------------------*
FORM bdc_field USING value(pv_fname)
value(pv_fval).
CLEAR bdcdata.
bdcdata-fnam = pv_fname.
bdcdata-fval = pv_fval.
APPEND bdcdata TO t_bdcdata.
ENDFORM. " bdc_field

ALV List - Auto Refresh list

Source : http://www.geocities.com/mpioud

TYPE-POOLS: slis. " ALV Global Types

DATA :
gt_user LIKE uinfo OCCURS 0 WITH HEADER LINE. " User info in SM04

*---------------------------------------------------------------------*
START-OF-SELECTION.

PERFORM f_read_data.

PERFORM f_display_data.

*---------------------------------------------------------------------*
* Form F_LIRE_DATA
*---------------------------------------------------------------------*
FORM f_read_data.

REFRESH gt_user.

* Get User's info
CALL FUNCTION 'THUSRINFO'
TABLES
usr_tabl = gt_user.

* Wait in a task
PERFORM f_call_rfc_wait.

ENDFORM. " F_READ_DATA

*---------------------------------------------------------------------*
* Form F_DISPLAY_DATA
*---------------------------------------------------------------------*
FORM f_display_data.

DEFINE m_sort.
add 1 to ls_sort-spos.
ls_sort-fieldname = &1.
append ls_sort to lt_sort.
END-OF-DEFINITION.

DEFINE m_event_exit.
clear ls_event_exit.
ls_event_exit-ucomm = &1.
ls_event_exit-after = 'X'.
append ls_event_exit to lt_event_exit.
END-OF-DEFINITION.

DATA :
ls_layout TYPE slis_layout_alv,
lt_sort TYPE slis_t_sortinfo_alv,
ls_sort TYPE slis_sortinfo_alv,
lt_event_exit TYPE slis_t_event_exit,
ls_event_exit TYPE slis_event_exit.
* Build Sort Table
m_sort 'ZEIT'.
* Build Event Exit Table
m_event_exit '&NTE'. " Refresh
ls_layout-zebra = 'X'.
ls_layout-colwidth_optimize = 'X'.

CALL FUNCTION 'REUSE_ALV_LIST_DISPLAY'
EXPORTING
i_callback_program = sy-cprog
i_callback_user_command = 'USER_COMMAND'
is_layout = ls_layout
i_structure_name = 'UINFO'
it_sort = lt_sort
it_event_exit = lt_event_exit
TABLES
t_outtab = gt_user.
ENDFORM. " F_DISPLAY_DATA

*---------------------------------------------------------------------*
* FORM USER_COMMAND *
*---------------------------------------------------------------------*
FORM user_command USING i_ucomm TYPE syucomm
is_selfield TYPE slis_selfield. "#EC CALLED

CASE i_ucomm.
WHEN '&NTE'.
PERFORM f_read_data.
is_selfield-refresh = 'X'.
SET USER-COMMAND '&OPT'. " Optimize columns width
ENDCASE.

ENDFORM. " USER_COMMAND
*---------------------------------------------------------------------*
* Form F_CALL_RFC_WAIT
*---------------------------------------------------------------------*
FORM f_call_rfc_wait.

DATA lv_mssg(80). "#EC NEEDED

* Wait in a task
CALL FUNCTION 'RFC_PING_AND_WAIT' STARTING NEW TASK '001'
PERFORMING f_task_end ON END OF TASK
EXPORTING
seconds = 5 " Refresh time
busy_waiting = space
EXCEPTIONS
RESOURCE_FAILURE = 1
communication_failure = 2 MESSAGE lv_mssg
system_failure = 3 MESSAGE lv_mssg
OTHERS = 4.

ENDFORM. " F_CALL_RFC_WAIT
*---------------------------------------------------------------------*
* Form F_TASK_END
*---------------------------------------------------------------------*
FORM f_task_end USING u_taskname.

DATA lv_mssg(80). "#EC NEEDED

* Receiving task results
RECEIVE RESULTS FROM FUNCTION 'RFC_PING_AND_WAIT'
EXCEPTIONS
RESOURCE_FAILURE = 1
communication_failure = 2 MESSAGE lv_mssg
system_failure = 3 MESSAGE lv_mssg
OTHERS = 4.

CHECK sy-subrc EQ 0.
SET USER-COMMAND '&NTE'. " Refresh

ENDFORM. " F_TASK_END

E-mail an Abap report

Source: http://www.geocities.com/mpioud

DATA : w_name TYPE sos04-l_adr_name.

SELECT-OPTIONS :
* Recipient address
s_name FOR w_name DEFAULT sy-uname NO INTERVALS.

*---------------------------------------------------------------------*
START-OF-SELECTION.

* E-mail Abap report
PERFORM f_send_mail.

*---------------------------------------------------------------------*
* Form f_send_mail
*---------------------------------------------------------------------*
FORM f_send_mail.

* Data Declaration
DATA:
l_datum(10),
ls_docdata TYPE sodocchgi1,
ls_objpack TYPE sopcklsti1,
lt_objpack TYPE TABLE OF sopcklsti1,
lt_objhead TYPE TABLE OF solisti1,
ls_objtxt TYPE solisti1,
lt_objtxt TYPE TABLE OF solisti1,
ls_objbin TYPE solisti1,
lt_objbin TYPE TABLE OF solisti1,
ls_reclist TYPE somlreci1,
lt_reclist TYPE TABLE OF somlreci1,
lt_listobject TYPE TABLE OF abaplist,

l_tab_lines TYPE i,
l_att_type TYPE soodk-objtp.

WRITE sy-datum TO l_datum.
IF sy-saprl >= '700'.
SUBMIT bcalv_fullscreen_demo_classic
EXPORTING LIST TO MEMORY AND RETURN.
ELSE.
* List of Users According to Logon Date and Password Change
* NOTE: Create ALI/OTF Document in Spool
SUBMIT rsusr200 WITH valid = 'X'
WITH notvalid = space
WITH unlocked = 'X'
WITH locked = space
EXPORTING LIST TO MEMORY AND RETURN.
ENDIF.

* Read list from memory into table
CALL FUNCTION 'LIST_FROM_MEMORY'
TABLES
listobject = lt_listobject
EXCEPTIONS
not_found = 1
OTHERS = 2.

IF sy-subrc <> 0.
* Error in function module &1
MESSAGE ID '61' TYPE 'E' NUMBER '731'
WITH 'LIST_FROM_MEMORY'.
ENDIF.

* Because listobject is of size RAW(1000)
* and objbin is of size CHAR(255) we make this table copy
CALL FUNCTION 'TABLE_COMPRESS'
TABLES
in = lt_listobject
out = lt_objbin
EXCEPTIONS
compress_error = 1
OTHERS = 2.

IF sy-subrc <> 0.
* Error in function module &1
MESSAGE ID '61' TYPE 'E' NUMBER '731'
WITH 'TABLE_COMPRESS'.
ENDIF.

* NOTE: Creation of attachment is finished yet.
* For your report, the attachment should be placed into table
* objtxt for plain text or
* objbin for binary content.
* Now create the message and send the document.
* Create Message Body
* Title and Description
ls_docdata-obj_name = 'USERS_LIST'.
CONCATENATE 'List of Users' sy-sysid '-' l_datum "#EC *
INTO ls_docdata-obj_descr SEPARATED BY space.

* Main Text
ls_objtxt = 'List of Users According to Logon Date' &
' and Password Change'. "#EC *
APPEND ls_objtxt TO lt_objtxt.
* Write Packing List (Main)
DESCRIBE TABLE lt_objtxt LINES l_tab_lines.
READ TABLE lt_objtxt INDEX l_tab_lines INTO ls_objtxt.
ls_docdata-doc_size = ( l_tab_lines - 1 ) * 255 + STRLEN( ls_objtxt ).
CLEAR ls_objpack-transf_bin.
ls_objpack-head_start = 1.
ls_objpack-head_num = 0.
ls_objpack-body_start = 1.
ls_objpack-body_num = l_tab_lines.
ls_objpack-doc_type = 'RAW'.
APPEND ls_objpack TO lt_objpack.

* Create Message Attachment
* Write Packing List (Attachment)
l_att_type = 'ALI'.
DESCRIBE TABLE lt_objbin LINES l_tab_lines.
READ TABLE lt_objbin INDEX l_tab_lines INTO ls_objbin.
ls_objpack-doc_size = ( l_tab_lines - 1 ) * 255 + STRLEN( ls_objbin ).
ls_objpack-transf_bin = 'X'.
ls_objpack-head_start = 1.
ls_objpack-head_num = 0.
ls_objpack-body_start = 1.
ls_objpack-body_num = l_tab_lines.
ls_objpack-doc_type = l_att_type.
ls_objpack-obj_name = 'ATTACHMENT'.
ls_objpack-obj_descr = 'List_of_Users'. "#EC *
APPEND ls_objpack TO lt_objpack.

* Create receiver list
LOOP AT s_name.
ls_reclist-receiver = s_name-low.
ls_reclist-rec_type = 'B'.
APPEND ls_reclist TO lt_reclist.
ENDLOOP.

* Send Message
CALL FUNCTION 'SO_NEW_DOCUMENT_ATT_SEND_API1'
EXPORTING
document_data = ls_docdata
put_in_outbox = 'X'
TABLES
packing_list = lt_objpack
object_header = lt_objhead
contents_bin = lt_objbin
contents_txt = lt_objtxt
receivers = lt_reclist
EXCEPTIONS
too_many_receivers = 1
document_not_sent = 2
document_type_not_exist = 3
operation_no_authorization = 4
parameter_error = 5
x_error = 6
enqueue_error = 7
OTHERS = 8.

IF sy-subrc = 0.
* Document sent
MESSAGE ID 'SO' TYPE 'S' NUMBER '022'.
ELSE.
* Document <&> could not be sent
MESSAGE ID 'SO' TYPE 'S' NUMBER '023'
WITH ls_docdata-obj_name.
ENDIF.

ENDFORM. " F_SEND_MAIL

Thursday, June 5, 2008

Simple ALV Tree structure program

TYPE-POOLS : fibs,stree.
DATA : t_node TYPE snodetext.

DATA : it_node LIKE TABLE OF t_node,
wa_node LIKE t_node.

*Internal Table declarations
DATA: BEGIN OF fs_scarr,
carrid LIKE scarr-carrid,
END OF fs_scarr.

DATA:BEGIN OF fs_spfli,
carrid LIKE spfli-carrid,
connid LIKE spfli-connid,
END OF fs_spfli.

DATA:BEGIN OF fs_sflight,
carrid LIKE sflight-carrid,
connid LIKE sflight-connid,
fldate LIKE sflight-fldate,
END OF fs_sflight.

DATA:BEGIN OF fs_sbook,
carrid LIKE sbook-carrid,
connid LIKE sbook-connid,
fldate LIKE sbook-fldate,
bookid LIKE sbook-bookid,
END OF fs_sbook.

DATA:t_scarr LIKE TABLE OF fs_scarr,
t_spfli LIKE TABLE OF fs_spfli,
t_sflight LIKE TABLE OF fs_sflight,
t_sbook LIKE TABLE OF fs_sbook.
********************************************************
START-OF-SELECTION.
PERFORM get_data.
PERFORM build_tree.
PERFORM display_tree.
*&---------------------------------------------------------------------*
*& Form get_data
*&---------------------------------------------------------------------*
FORM get_data .

SELECT carrid
FROM scarr
INTO TABLE t_scarr.

SELECT carrid
connid
FROM spfli
INTO TABLE t_spfli
FOR ALL ENTRIES IN t_scarr
WHERE carrid EQ t_scarr-carrid.

SELECT carrid
connid
fldate
FROM sflight
INTO TABLE t_sflight
FOR ALL ENTRIES IN t_spfli
WHERE carrid EQ t_spfli-carrid
AND connid EQ t_spfli-connid.

SELECT carrid
connid
fldate
bookid
FROM sbook
INTO TABLE t_sbook
FOR ALL ENTRIES IN t_sflight
WHERE carrid EQ t_sflight-carrid
AND connid EQ t_sflight-connid
AND fldate EQ t_sflight-fldate.

ENDFORM. " get_data
*&---------------------------------------------------------------------*
*& Form build_tree
*----------------------------------------------------------------------*

FORM build_tree .
CLEAR: it_node,
wa_node.

SORT: t_scarr BY carrid,
t_spfli BY carrid connid,
t_sflight BY carrid connid fldate,
t_sbook BY carrid connid fldate bookid.

wa_node-type = 'T'.
wa_node-name = 'Flight Details'.
wa_node-tlevel = '01'.
wa_node-nlength = '15'.
wa_node-color = '4'.
wa_node-text = 'Flight'.
wa_node-tlength ='20'.
wa_node-tcolor = 3.
APPEND wa_node TO it_node.
CLEAR wa_node.

LOOP AT t_scarr INTO fs_scarr.

wa_node-type = 'P'.
wa_node-name = 'CARRID'.
wa_node-tlevel = '02'.
wa_node-nlength = '8'.
wa_node-color = '1'.
wa_node-text = fs_scarr-carrid.
wa_node-tlength ='20'.
wa_node-tcolor = 4.
APPEND wa_node TO it_node.
CLEAR wa_node.

LOOP AT t_spfli INTO fs_spfli WHERE carrid EQ fs_scarr-carrid.
wa_node-type = 'P'.
wa_node-name = 'CONNID'.
wa_node-tlevel = '03'.
wa_node-nlength = '8'.
wa_node-color = '1'.
wa_node-text = fs_spfli-connid.
wa_node-tlength ='20'.
wa_node-tcolor = 4.
APPEND wa_node TO it_node.
CLEAR wa_node.

LOOP AT t_sflight INTO fs_sflight WHERE carrid EQ fs_spfli-carrid
AND connid EQ fs_spfli-connid.

wa_node-type = 'P'.
wa_node-name = 'FLDATE'.
wa_node-tlevel = '04'.
wa_node-nlength = '8'.
wa_node-color = '3'.
wa_node-text = fs_sflight-fldate.
wa_node-tlength ='20'.
wa_node-tcolor = 4.
APPEND wa_node TO it_node.
CLEAR wa_node.

LOOP AT t_sbook INTO fs_sbook WHERE carrid EQ fs_sflight-carrid
AND connid EQ fs_sflight-connid
AND fldate EQ fs_sflight-fldate.
wa_node-type = 'P'.
wa_node-name = 'BOOkID'.
wa_node-tlevel = '05'.
wa_node-nlength = '8'.
wa_node-color = '1'.
wa_node-text = fs_sbook-bookid.
wa_node-tlength ='20'.
wa_node-tcolor = 4.
APPEND wa_node TO it_node.
CLEAR wa_node.

ENDLOOP.
ENDLOOP.
ENDLOOP.
ENDLOOP.

ENDFORM. " build_tree
*&---------------------------------------------------------------------*
*& Form display_tree
*----------------------------------------------------------------------*

FORM display_tree .

CALL FUNCTION 'RS_TREE_CONSTRUCT'
* EXPORTING
* INSERT_ID = '000000'
* RELATIONSHIP = ' '
* LOG = LOG
TABLES
nodetab = it_node
* EXCEPTIONS
* TREE_FAILURE = 1
* ID_NOT_FOUND = 2
* WRONG_RELATIONSHIP = 3
.

CALL FUNCTION 'RS_TREE_LIST_DISPLAY'
EXPORTING
callback_program = sy-repid
check_duplicate_name = '1'
color_of_node = '4'
color_of_mark = '3'
color_of_link = '1'
color_of_match = '5'
node_length = 30
text_length = 75
use_control = stree_use_list
* IMPORTING
* F15 = F15
.

ENDFORM. " display_tree