Hi abaperos muchos alguna vez tuvimos problemas de como modificar los parámetros de una variante....por ejemplo si queremos llegar al documento dándole doble clic eh ir a la
FBL3N realizando una grabación con el batch input seria un problema ya que no permite el uso del scroll,aquí les dejo una idea de como evitar ese problema.
para este ejemplo tenemos que tener creado la variante para cuando se le active el evento doble clic este se modifique.
data: gs_parametros like rsparams occurs 1 with header line,
gs_vari_desc like varid occurs 1 with header line.
refresh gs_parametros.
gs_parametros-selname = 'SD_APOPT'.
gs_parametros-kind = 'P'.
gs_parametros-sign = ''.
gs_parametros-option = ''.
gs_parametros-low = 'X'.
gs_parametros-high = ''.
append gs_parametros.
gs_parametros-selname = 'SD_BUKRS'.
gs_parametros-kind = 'S'.
gs_parametros-sign = 'I'.
gs_parametros-option = 'EQ'.
gs_parametros-low = p_bukrs.
gs_parametros-high = ''.
append gs_parametros.
gs_parametros-selname = 'SD_KOSTL'.
gs_parametros-kind = 'S'.
gs_parametros-sign = 'I'.
gs_parametros-option = 'BT'.
gs_parametros-low = p_prctr1.
gs_parametros-high = p_prctr2.
append gs_parametros.
gs_parametros-selname = 'SD_NOAUT'.
gs_parametros-kind = 'P'.
gs_parametros-sign = ''.
gs_parametros-option = ''.
gs_parametros-low = 'X'.
gs_parametros-high = ''.
append gs_parametros.
gs_parametros-selname = 'SD_NOOAP'.
gs_parametros-kind = 'P'.
gs_parametros-sign = ''.
gs_parametros-option = ''.
gs_parametros-low = 'X'.
gs_parametros-high = ''.
append gs_parametros.
gs_parametros-selname = 'SD_OBJEC'.
gs_parametros-kind = 'P'.
gs_parametros-sign = ''.
gs_parametros-option = ''.
gs_parametros-low = 'FI_DOCUMNT'.
gs_parametros-high = ''.
append gs_parametros.
gs_parametros-selname = 'SD_SAKNR'.
gs_parametros-kind = 'S'.
gs_parametros-sign = 'I'.
gs_parametros-option = 'EQ'.
gs_parametros-low = p_hkont.
gs_parametros-high = ''.
append gs_parametros.
gs_parametros-selname = 'SD_USEDB'.
gs_parametros-kind = 'P'.
gs_parametros-sign = ''.
gs_parametros-option = ''.
gs_parametros-low = 'X'.
gs_parametros-high = ''.
append gs_parametros.
gs_parametros-selname = 'SO_BUDAT'.
gs_parametros-kind = 'S'.
gs_parametros-sign = 'I'.
gs_parametros-option = 'BT'.
gs_parametros-low = p_budat1.
gs_parametros-high = p_budat2.
append gs_parametros.
gs_parametros-selname = 'XX_KTOPL'.
gs_parametros-kind = 'S'.
gs_parametros-sign = 'I'.
gs_parametros-option = 'EQ'.
gs_parametros-low = 'CAPE'.
gs_parametros-high = ''.
append gs_parametros.
gs_parametros-selname = 'X_AISEL'.
gs_parametros-kind = 'P'.
gs_parametros-sign = ''.
gs_parametros-option = ''.
gs_parametros-low = 'X'.
gs_parametros-high = ''.
append gs_parametros.
gs_parametros-selname = 'X_NORM '.
gs_parametros-kind = 'P'.
gs_parametros-sign = ''.
gs_parametros-option = ''.
gs_parametros-low = 'X'.
gs_parametros-high = ''.
append gs_parametros.
* RS_VARIANT_CONTENTS----> Para recuperar todos los registros de la variante
* RS_CHANGE_CREATED_VARIANT---------> Para modificar y crear variantes
call function 'RS_CHANGE_CREATED_VARIANT'
exporting
curr_report = 'RFITEMGL'
curr_variant = 'ZVARIANTE'
vari_desc = gs_vari_desc
tables
vari_contents = gs_parametros .
if sy-subrc eq 0.
* Llamamos a la FBL3N mediante la variante
submit rfitemgl using selection-set 'ZVARIANTE'
and return.
endif.
espero que les haya servido este pequeño ejemplo hasta la próxima...