AYUDA - ALV en WD con tabla de parametros de usuario

Colapsar
X
 
  • Tiempo
  • Mostrar
Limpiar Todo
nuevos mensajes
  • FuryNocturn
    Junior Member
    • oct
    • 10

    #1

    AYUDA - ALV en WD con tabla de parametros de usuario

    buenas como se hace para que la alv que me muestra mi WD tenca las columnas visibles y editables dependiendo del usuario que entre?
  • FuryNocturn
    Junior Member
    • oct
    • 10

    #2
    Código:
    * OCULTAR COLUMNA.
     lo_column = lo_config_table->if_salv_wd_column_settings~get_column( 
                                                     'MATERIAL' ).
    
     IF lo_column IS NOT INITIAL.
        CALL METHOD lo_column->set_visible
          EXPORTING
            value = cl_wd_uielement=>e_visible-none.
     ENDIF.
    con esto se que oculto la columna que especifico pero no me entra que cambio tengo que hacer para que tire de una tabla de parámetros en donde se indica el campo y los permisos según el usuario. y como he de hacer esa tabla?

    Comentario

    • FuryNocturn
      Junior Member
      • oct
      • 10

      #3
      Código:
      SELECT *
               FROM Z04_param_visi
                INTO TABLE it_params.
        LOOP AT it_params INTO is_params.
      *  OCULTAR COLUMNA.
            lv_camp = is_params-campo.
            lv_visi = is_params-visible.
      
            lo_column = lo_config_table->if_salv_wd_column_settings~get_column(
                                                           lv_camp ).
            IF lv_visi <> 'X'.
              IF lo_column IS NOT INITIAL.
                CALL METHOD lo_column->set_visible
                  EXPORTING
                    value = cl_wd_uielement=>e_visible-none.
              ENDIF.
            ENDIF.
          ENDLOOP.
      
        IF sy-subrc <> 0.
          MESSAGE 'Error en la parametizacion' TYPE e.
        ENDIF.

      Comentario

      • FuryNocturn
        Junior Member
        • oct
        • 10

        #4
        Ya Solo Me Falta Que Sea Editable Si Lo Marca.

        Código:
        METHOD alv_confing .
          DATA lo_interfacecontroller TYPE REF TO iwci_salv_wd_table .
          DATA lo_config_table TYPE REF TO cl_salv_wd_config_table .
          DATA lo_alv_header TYPE REF TO cl_salv_wd_header .
          DATA lo_column TYPE REF TO cl_salv_wd_column .
          DATA lo_column_header TYPE REF TO cl_salv_wd_column_header .
          DATA it_params TYPE TABLE OF z04_param_visi.
          DATA is_params TYPE Z04_param_visi.
          DATA lv_camp TYPE string.
          DATA lv_visi TYPE z04_param_visi-visible.
          DATA column_settings  TYPE REF TO if_salv_wd_column_settings.
          DATA lv_nivel TYPE wd_this->element_param.
          DATA lo_nd_param TYPE REF TO if_wd_context_node.
          DATA lo_el_param TYPE REF TO if_wd_context_element.
          DATA ls_param TYPE wd_this->element_param.
          
          
          CLEAR: lo_interfacecontroller, lo_config_table.
        
        *--------------------------------------------------------------*
          lo_interfacecontroller = wd_this->wd_cpifc_alv_table( ).
          lo_config_table = lo_interfacecontroller->get_model( ).
        *--------------------------------------------------------------*
        
        * Method call to set alternating design (zebra)
          lo_config_table->if_salv_wd_table_settings~set_design(
                                 cl_wd_table=>e_design-alternating ) .
        
        * Texto en caso de no aver datos.
          lo_config_table->if_salv_wd_table_settings~set_empty_table_text(
                value = 'No existe datos con la seleccion deseada.' ).
        
        
        * Texto de encabezado de alv.
          lo_alv_header = lo_config_table->if_salv_wd_table_settings~create_header( ).
          lo_alv_header->set_text( 'Lista de reservas.').
        
        * Hace que la barra de desplazamiento salga en el alv en vez de la web.
          " estableciendo las columnas a 10.
          lo_config_table->if_salv_wd_table_settings~set_scrollable_col_count(
                                                                 10 ).
          " estableciendo las filas a 15.
          lo_config_table->if_salv_wd_table_settings~set_visible_row_count(
                                                                 15 ).
        
        
        ***********************************************
          column_settings ?= lo_config_table.
        ***********************************************
        
        
          lo_nd_param = wd_context->get_child_node( name = wd_this->wdctx_param ).
        
        
          lo_el_param = lo_nd_param->get_element( ).
        
          lo_el_param->get_static_attributes(
          IMPORTING
            static_attributes = ls_param ).
        
          SELECT *
                 FROM Z04_param_visi
                  INTO TABLE it_params
                    WHERE NIVEL = ls_param-lv_nivel.
        
        
        
          LOOP AT it_params INTO is_params.
        *  OCULTAR COLUMNA.
              lv_camp = is_params-campo.
              lv_visi = is_params-visible.
        
              lo_column = lo_config_table->if_salv_wd_column_settings~get_column(
                                                             lv_camp ).
              IF lv_visi <> 'X'.
                IF lo_column IS NOT INITIAL.
                  CALL METHOD lo_column->set_visible
                    EXPORTING
                      value = cl_wd_uielement=>e_visible-none.
                ENDIF.
              ENDIF.
            ENDLOOP.
        
          IF sy-subrc <> 0.
        *    MESSAGE 'Error en la parametizacion' TYPE e.
          ENDIF.
        
        
            ENDMETHOD.

        Comentario

        • JESUS_CONSULTANT
          Junior Member
          • feb
          • 1

          #5
          &quot;requiero Saber Cual Es La Transacción Para Adquirir Un Activo Leasing&quot;

          Buenas tardes estimados, necesito adquirir un AF Leasing, ya lo cree a través de la AS01, pero quiero darle de ALTA, me gustaría saber cuál es la transacción para ejecutarla en el sistema, ya que estoy en una prueba unitarias y quiero saber el proceso para ejecutarlo con el usuario... Alguien puede ayudarme? Please... Muchas gracias!!

          Saludos
          Jesús Gutiérrez

          Comentario

          Trabajando...