*&---------------------------------------------------------------------*
" Assim que é bomm, aeeee teve bastante gente comentando sobre o ultimo
" post sobre, alimentar o programa logo no começo com a ultima variante
" do programa,
" http://abapjuniores.blogspot.com/2012/01/funcao-rssupportselections.html
" mas teve um seguidor do blog, o Sr. Antônio Rocha que me mostrou uma
" função que mostra os valores que aquela variante tem.
" Valeu Antônio Rocha.
REPORT zmj_rs_variant_values_tech_data.
" Estrutura
DATA : st_varid TYPE varid
.
" Tabela interna
DATA : it_values TYPE TABLE OF rsparams.
" Tela de seleção
SELECTION-SCREEN BEGIN OF BLOCK b1 WITH FRAME.
PARAMETERS :
p_report TYPE varid-report.
SELECTION-SCREEN END OF BLOCK b1.
" Start-of-Selection
START-OF-SELECTION.
PERFORM : zf_busca_variante.
PERFORM : zf_busca_dados_variante USING : st_varid-report
st_varid-variant
.
*&---------------------------------------------------------------------*
*& Form ZF_BUSCA_ULTIMA_VARIANTE
*&---------------------------------------------------------------------*
FORM zf_busca_variante .
" Busca na tabela VARID uma única variante do programa informado.
SELECT SINGLE report variant
FROM varid
* Use o 'CORRESPONDING FIELDS OF' pois assim os dois campos desejados
* iram para seus respectivos lugares dentro da estrutura que será alimentada
INTO CORRESPONDING FIELDS OF st_varid
WHERE report = p_report.
ENDFORM. " ZF_BUSCA_ULTIMA_VARIANTE
*&---------------------------------------------------------------------*
*& Form ZF_BUSCA_DADOS_VARIANTE
*&---------------------------------------------------------------------*
FORM zf_busca_dados_variante USING report
variant
.
CALL FUNCTION 'RS_VARIANT_VALUES_TECH_DATA'
EXPORTING
report = report
variant = variant
* SEL_TEXT = ' '
* MOVE_OR_WRITE = 'W'
* SORTED = ' '
* EXECUTE_DIRECT =
* IMPORTING
* TECHN_DATA =
TABLES
variant_values = it_values
* VARIANT_TEXT =
EXCEPTIONS
variant_non_existent = 1
variant_obsolete = 2
OTHERS = 3
.
BREAK-POINT .
IF sy-subrc <> 0.
* Implement suitable error handling here
ENDIF.
ENDFORM. " ZF_BUSCA_DADOS_VARIANTE