anyone help me? about this code?
*tables
TABLES : vbak.
*type-pools
TYPE-POOLS : slis.
*data
DATA : BEGIN OF gt_table OCCURS 0,
vbeln TYPE vbak-vbeln,
erdat TYPE vbak-erdat,
erzet TYPE vbak-erzet,
ernam TYPE vbak-ernam,
auart TYPE vbak-auart,
netwr TYPE vbak-netwr,
vkorg TYPE vbak-vkorg,
vtweg TYPE vbak-vtweg,
spart TYPE vbak-spart,
END OF gt_table.
DATA : gv_repid TYPE sy-repid.
DATA : BEGIN OF gt_ta OCCURS 0,
vkorg TYPE vbak-vkorg,
vtweg TYPE vbak-vtweg,
spart TYPE vbak-spart,
auart TYPE vbak-auart,
END OF gt_ta.
DATA : t_s TYPE ddshretval OCCURS 0 WITH HEADER LINE.
PARAMETERS : p_tvko TYPE v_tvko-vkorg,
p_tvtw TYPE v_tvtw-vtweg,
p_tspa TYPE v_tspa-spart,
p_tvakz TYPE vbak-auart.
DATA: dynfields TYPE TABLE OF dynpread WITH HEADER LINE.
AT SELECTION-SCREEN ON VALUE-REQUEST FOR p_tvakz.
CLEAR: dynfields, dynfields.
REFRESH: dynfields, dynfields.
PERFORM data.
dynfields-fieldname = 'P_TVAKZ'.
APPEND dynfields.
CALL FUNCTION 'DYNP_VALUES_READ'
EXPORTING
dyname = sy-cprog
dynumb = sy-dynnr
translate_to_upper = 'X'
REQUEST = ' '
PERFORM_CONVERSION_EXITS = ' '
PERFORM_INPUT_CONVERSION = ' '
DETERMINE_LOOP_INDEX = ' '
START_SEARCH_IN_CURRENT_SCREEN = ' '
START_SEARCH_IN_MAIN_SCREEN = ' '
START_SEARCH_IN_STACKED_SCREEN = ' '
START_SEARCH_ON_SCR_STACKPOS = ' '
SEARCH_OWN_SUBSCREENS_FIRST = ' '
SEARCHPATH_OF_SUBSCREEN_AREAS = ' '
TABLES
dynpfields = dynfields
EXCEPTIONS
INVALID_ABAPWORKAREA = 1
INVALID_DYNPROFIELD = 2
INVALID_DYNPRONAME = 3
INVALID_DYNPRONUMMER = 4
INVALID_REQUEST = 5
NO_FIELDDESCRIPTION = 6
INVALID_PARAMETER = 7
UNDEFIND_ERROR = 8
DOUBLE_CONVERSION = 9
STEPL_NOT_FOUND = 10
OTHERS = 11
.
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 dynfields WITH KEY fieldname = 'P_TVAKZ'.
p_tvakz = dynfields-fieldvalue.
CALL FUNCTION 'F4IF_INT_TABLE_VALUE_REQUEST'
EXPORTING
DDIC_STRUCTURE = ' '
retfield = 'AUART'
PVALKEY = ' '
dynpprog = sy-repid
dynpnr = sy-dynnr
dynprofield = 'P_TVAKZ'
STEPL = 0
WINDOW_TITLE =
VALUE = ' '
value_org = 'S'
MULTIPLE_CHOICE = ' '
DISPLAY = ' '
CALLBACK_PROGRAM = ' '
CALLBACK_FORM = ' '
MARK_TAB =
IMPORTING
USER_RESET =
TABLES
value_tab = gt_ta
FIELD_TAB = t_g
return_tab = t_s
DYNPFLD_MAPPING =
EXCEPTIONS
PARAMETER_ERROR = 1
NO_VALUES_FOUND = 2
OTHERS = 3
.
IF sy-subrc <> 0.
MESSAGE ID SY-MSGID TYPE SY-MSGTY NUMBER SY-MSGNO
WITH SY-MSGV1 SY-MSGV2 SY-MSGV3 SY-MSGV4.
ENDIF.
&----
*& Form data
&----
text
----
FORM data.
break zsirin.
SELECT vkorg vtweg spart auart FROM vbak INTO TABLE gt_ta WHERE
vkorg = p_tvko AND vtweg = p_tvtw
AND spart = p_tspa.
SORT gt_ta BY auart.
DELETE ADJACENT DUPLICATES FROM gt_ta COMPARING auart.
ENDFORM. "data