Estimados, este post es el primero que hago y bueno quiero compartir con uds. algo que me resulta bastante util al momento de desarrollar aplicaciones mas personalizadas, para el caso de este tuto voy a mostrar un match-code como parametro de selecciòn con datos obtenidos de la vista clasificaciòn del material:
REPORT ZMATCH_CODE.
TABLES: AUSP.
DATA:
BEGIN OF TI_AUSP OCCURS 0,
ATWRT LIKE AUSP-ATWRT,
ATINN LIKE AUSP-ATINN,
END OF TI_AUSP,
WA_AUSP LIKE LINE OF TI_AUSP,
BEGIN OF TI_CHARAC OCCURS 0,
ATWRT LIKE AUSP-ATWRT,
ATINN LIKE AUSP-ATINN,
END OF TI_CHARAC,
BEGIN OF IT_MATCH OCCURS 0,
SHLPNAME LIKE DDSHRETVAL-SHLPNAME,
FIELDNAME LIKE DDSHRETVAL-FIELDNAME,
RECORDPOS LIKE DDSHRETVAL-RECORDPOS,
FIELDVAL LIKE DDSHRETVAL-FIELDVAL,
RETFIELD LIKE DDSHRETVAL-RETFIELD,
END OF IT_MATCH.
SELECTION-SCREEN BEGIN OF BLOCK MATCH_CODE WITH FRAME TITLE text-001.
SELECT-OPTIONS:
S_CHARAC FOR AUSP-ATWRT.
SELECTION-SCREEN END OF BLOCK MATCH_CODE.
AT SELECTION-SCREEN.
INITIALIZATION.
PERFORM CargaTablaCaracteristicas.
AT SELECTION-SCREEN ON VALUE-REQUEST FOR S_CHARAC-LOW.
IF S_CHARAC IS INITIAL.
CALL FUNCTION 'F4IF_INT_TABLE_VALUE_REQUEST'
EXPORTING
RETFIELD = 'ATWRT'
WINDOW_TITLE = 'CARACT.'
VALUE_ORG = 'S'
TABLES
VALUE_TAB = TI_CHARAC
RETURN_TAB = IT_MATCH
EXCEPTIONS
PARAMETER_ERROR = 1
NO_VALUES_FOUND = 2
OTHERS = 3.
IF SY-SUBRC EQ 0.
READ TABLE IT_MATCH INDEX 1.
MOVE IT_MATCH-FIELDVAL TO S_CHARAC-LOW.
ENDIF.
ENDIF.
START-OF-SELECTION.
END-OF-SELECTION.
FORM CargaTablaCaracteristicas.
IF TI_AUSP IS INITIAL.
SELECT ATWRT ATINN
INTO TABLE TI_AUSP
FROM ZAUSP
GROUP BY ATWRT ATINN.
ENDIF.
LOOP AT TI_AUSP INTO WA_AUSP WHERE ATINN EQ '0000000831'. "Aca ponemos el id de la caracteristica que quisieramos listar.
APPEND WA_AUSP TO TI_CHARAC.
ENDLOOP.
ENDFORM.
Espero sea de su agrado!!!