09-17-2007 7:13 AM
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
09-17-2007 8:11 AM
Hi,
I corrected your code, please check using this code.
with the input
1.P_TVKO = 1000.
2.P_TVTW= 10
3.P_TSPA = 00
&----
*& Report ZE0232_SDN_POV *
*& *
&----
*& *
*& *
&----
REPORT ZE0232_SDN_POV.
*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 : RET_TAB TYPE TABLE OF DDSHRETVAL WITH HEADER LINE.
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-FIELDNAME = 'P_TVKO'.
APPEND DYNFIELDS.
DYNFIELDS-FIELDNAME = 'P_TVTW'.
APPEND DYNFIELDS.
DYNFIELDS-FIELDNAME = 'P_TSPA'.
APPEND DYNFIELDS.
CALL FUNCTION 'DYNP_VALUES_READ'
EXPORTING
dyname = sy-cprog
dynumb = sy-dynnr
translate_to_upper = 'X'
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_TVKO'.
P_TVKO = DYNFIELDS-FIELDVALUE.
READ TABLE DYNFIELDS WITH KEY FIELDNAME = 'P_TVTW'.
P_TVTW = DYNFIELDS-FIELDVALUE.
READ TABLE DYNFIELDS WITH KEY FIELDNAME = 'P_TSPA'.
P_TSPA = DYNFIELDS-FIELDVALUE.
CALL FUNCTION 'CONVERSION_EXIT_ALPHA_INPUT'
EXPORTING
INPUT = P_TVKO
IMPORTING
OUTPUT = P_TVKO.
CALL FUNCTION 'CONVERSION_EXIT_ALPHA_INPUT'
EXPORTING
INPUT = P_TVTW
IMPORTING
OUTPUT = P_TVTW.
CALL FUNCTION 'CONVERSION_EXIT_ALPHA_INPUT'
EXPORTING
INPUT = P_TSPA
IMPORTING
OUTPUT = P_TSPA.
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.
*F4IF_INT_TABLE_VALUE_REQUEST
CALL FUNCTION 'F4IF_INT_TABLE_VALUE_REQUEST'
EXPORTING
RETFIELD = 'AUART'
DYNPROFIELD = 'P_TVAKZ'
DYNPPROG = 'SY_CPROG'
DYNPNR = SY-DYNNR
VALUE_ORG = 'S'
TABLES
VALUE_TAB = GT_TA
RETURN_TAB = RET_TAB
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.
IF USEFULL REWARD
09-17-2007 7:40 AM
Hi,
Change your code by seeing the below one.
tables: t001k.
For Identification Number
DATA: BEGIN OF it_bwkey OCCURS 0,
bwkey LIKE t001k-bwkey,
END OF it_bwkey.
data: v_bukrs(4).
For Run date
DATA: BEGIN OF it_bukrs OCCURS 0,
bukrs LIKE t001k-bukrs,
END OF it_bukrs.
DATA it_ret LIKE ddshretval OCCURS 0 WITH HEADER LINE.
SELECTION-SCREEN: BEGIN OF BLOCK main WITH FRAME TITLE text-001.
SELECTION-SCREEN SKIP.
PARAMETERS: p_bukrs(4) TYPE c.
SELECT-OPTIONS s_bwkey FOR t001k-bwkey NO INTERVALS.
SELECTION-SCREEN END OF BLOCK main.
*----
Validation Section
*----
INITIALIZATION.
SELECT DISTINCT bukrs FROM t001k INTO TABLE it_bukrs.
AT SELECTION-SCREEN ON VALUE-REQUEST FOR p_bukrs.
CALL FUNCTION 'F4IF_INT_TABLE_VALUE_REQUEST'
EXPORTING
retfield = 'BUKRS'
dynpprog = sy-repid
dynpnr = sy-dynnr
dynprofield = 'P_BUKRS'
value_org = 'S'
TABLES
value_tab = it_bukrs
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.
AT SELECTION-SCREEN ON VALUE-REQUEST FOR s_bwkey-low.
TABLES: t130r.
DATA: BEGIN OF dynpfields OCCURS 0. "Hilfsstruktur zum auslesen des
INCLUDE STRUCTURE dynpread. "Feldwertes vom Dynpro bei >F4<
DATA: END OF dynpfields.
DATA : sy_repid LIKE sy-repid,
sy_dynnr LIKE sy-dynnr.
CLEAR dynpfields.
REFRESH dynpfields.
dynpfields-fieldname = 'P_BUKRS'.
APPEND dynpfields.
Lesen des akt. Wertes von Dynpro
sy_repid = sy-repid.
sy_dynnr = sy-dynnr.
CALL FUNCTION 'DYNP_VALUES_READ'
EXPORTING
dyname = sy_repid
dynumb = sy_dynnr
TABLES
dynpfields = dynpfields
EXCEPTIONS
OTHERS = 01.
IF sy-subrc = 0.
READ TABLE dynpfields WITH KEY fieldname = 'P_BUKRS'.
IF sy-subrc = 0.
v_bukrs = dynpfields-fieldvalue.
ENDIF.
ENDIF.
SELECT bwkey FROM t001k
INTO TABLE it_bwkey
WHERE bukrs = v_bukrs.
DELETE ADJACENT DUPLICATES FROM it_bwkey.
CALL FUNCTION 'F4IF_INT_TABLE_VALUE_REQUEST'
EXPORTING
retfield = 'BWKEY'
dynpprog = sy-repid
dynpnr = sy-dynnr
dynprofield = 'S_BWKEY'
value_org = 'S'
TABLES
value_tab = it_bwkey
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.
09-17-2007 7:40 AM
09-17-2007 8:11 AM
Hi,
I corrected your code, please check using this code.
with the input
1.P_TVKO = 1000.
2.P_TVTW= 10
3.P_TSPA = 00
&----
*& Report ZE0232_SDN_POV *
*& *
&----
*& *
*& *
&----
REPORT ZE0232_SDN_POV.
*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 : RET_TAB TYPE TABLE OF DDSHRETVAL WITH HEADER LINE.
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-FIELDNAME = 'P_TVKO'.
APPEND DYNFIELDS.
DYNFIELDS-FIELDNAME = 'P_TVTW'.
APPEND DYNFIELDS.
DYNFIELDS-FIELDNAME = 'P_TSPA'.
APPEND DYNFIELDS.
CALL FUNCTION 'DYNP_VALUES_READ'
EXPORTING
dyname = sy-cprog
dynumb = sy-dynnr
translate_to_upper = 'X'
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_TVKO'.
P_TVKO = DYNFIELDS-FIELDVALUE.
READ TABLE DYNFIELDS WITH KEY FIELDNAME = 'P_TVTW'.
P_TVTW = DYNFIELDS-FIELDVALUE.
READ TABLE DYNFIELDS WITH KEY FIELDNAME = 'P_TSPA'.
P_TSPA = DYNFIELDS-FIELDVALUE.
CALL FUNCTION 'CONVERSION_EXIT_ALPHA_INPUT'
EXPORTING
INPUT = P_TVKO
IMPORTING
OUTPUT = P_TVKO.
CALL FUNCTION 'CONVERSION_EXIT_ALPHA_INPUT'
EXPORTING
INPUT = P_TVTW
IMPORTING
OUTPUT = P_TVTW.
CALL FUNCTION 'CONVERSION_EXIT_ALPHA_INPUT'
EXPORTING
INPUT = P_TSPA
IMPORTING
OUTPUT = P_TSPA.
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.
*F4IF_INT_TABLE_VALUE_REQUEST
CALL FUNCTION 'F4IF_INT_TABLE_VALUE_REQUEST'
EXPORTING
RETFIELD = 'AUART'
DYNPROFIELD = 'P_TVAKZ'
DYNPPROG = 'SY_CPROG'
DYNPNR = SY-DYNNR
VALUE_ORG = 'S'
TABLES
VALUE_TAB = GT_TA
RETURN_TAB = RET_TAB
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.
IF USEFULL REWARD