Ir al contenido principal

Entradas

Mostrando las entradas de junio, 2019

Manejo y asignación de Field symbols

Un ejemplo simple, de cómo manejar tablas para acceso dinámico, por medio de field symbols. REPORT  demo_field_symbols_stat_assign . DATA :  BEGIN  OF  line ,           col1 TYPE  i  VALUE  11 ,           col2 TYPE  i  VALUE  22 ,           col3 TYPE  i  VALUE  33 ,        END  OF  line . DATA  comp( 5 )  TYPE  c  VALUE  'COL3' . FIELD-SYMBOLS :  <f1>  TYPE  ANY ,  <f2>  TYPE  ANY ,  <f3>  TYPE  ANY . ASSIGN  line  TO  <f1> . ASSIGN  comp TO  <f2> .    DO  3  TIMES .    ASSIGN  COMPONENT  sy-index  OF  STRUCTURE  <f1>  TO  <f3> .    WRITE  <f3> .    ENDDO . ASSIGN  COMPONENT  <f2>  OF  STRUCTURE  <f1>  TO  <f3> . WRITE  / <f3> . *Listado de salida: * *11         22         33 * *33 * * El símbolo del campo <f1> apunta a la línea de la estructura, <f2> apunta *  al ca mpo comp. * En el bucle de OD, los componentes de la línea se especifican por sus números y* se 

Parameter como listbox, datos fijos

Me solicitaron mostrar por un parámetro de entrada, unos valores fijos (30, 60, 90, 120), así que tomé un Parameter, y con una función (VRM_SET_VALUES) cargamos los datos que queremos que seleccione el usuario. *TOP: PARAMETERS P_FXDT   AS  LISTBOX    LENGTH  3   VISIBLE LENGTH  10  OBLIGATORY  .  AT  SELECTION-SCREEN  OUTPUT .    DATA :     lv_name   TYPE  vrm_id ,     lt_list   TYPE  vrm_values ,     lv_value  TYPE  vrm_value .   lv_name  =  'P_FXDT' .  " Respetar mayúsculas   lv_value - key  =  '30' .   lv_value - text  =  'Días' .    APPEND  lv_value  TO  lt_list .   lv_value - key  =  '60' .    APPEND  lv_value  TO  lt_list .   lv_value - key  =  '90' .    APPEND  lv_value  TO  lt_list .   lv_value - key  =  '120' .    APPEND  lv_value  TO  lt_list .    CALL  FUNCTION  'VRM_SET_VALUES'      EXPORTING        id               =  lv_name       values           =  lt_list      EXCEPTIONS