Te posteo un ejemplo de codigo que utilicé....lo unico que tienes que hacer es hacer un select a partir del campo que has recogiro en el machcode....
DATA: i_z9codid TYPE TABLE OF z9codidt.
DATA: i_return LIKE ddshretval OCCURS 0 WITH HEADER LINE.
DATA: dynprofield TYPE help_info-dynprofld.
DATA: dynpfields LIKE dynpread OCCURS 0 WITH HEADER LINE.
REFRESH: i_z9codid.
CLEAR: i_z9codid.
SELECT * FROM z9codidt INTO TABLE i_z9codid ORDER BY codid.
dynprofield = 'Z9CODID-CODID'.
CALL FUNCTION 'F4IF_INT_TABLE_VALUE_REQUEST'
EXPORTING
retfield = 'CODID'
dynpprog = sy-cprog
dynpnr = sy-dynnr
dynprofield = dynprofield
value_org = 'S'
TABLES
value_tab = i_z9codid
return_tab = i_return.
.
IF i_return-fieldval <> space.
z9codid-codid = i_return-fieldval.
SELECT SINGLE zversion FROM z9codid INTO z9codid-zversion
WHERE codid = i_return-fieldval.
LEAVE TO SCREEN 102.
ENDIF.
|