terça-feira, 17 de maio de 2022

Alterando texto (info) de um ícone standard - relatorio ALV

Precisei fazer isso em um relatorio ALV TREE que tinha no campo de status um ícone standard, eu queria alterar o texto info do campo para igual ao código do status do meu processo. Utilizei a função ICON_CREATE informando o standard e utilizando o resultado da função como ícone customizado. Lembrando que o resultado dessa função é type ANY, dependendo do texto info que for informado o campo de resultado deve ter um tamanho maior. No começo o meu campo estava pequeno e o info não aparecia, eu aumentei o tamanho do campo e apareceu corretamente. - re 

Ex: METHOD status_icon_wms. 
 CASE i_status. 
     WHEN gc_stwms_aguardando. 
         r_icon = me->create_icon_cust( i_name = icon_yellow_light 
                                                        i_info = me->mt_stwms_dom[ domvalue_l = i_status ]-ddtext ). 
     WHEN gc_stwms_finalizado. 
        r_icon = me->create_icon_cust( i_name = icon_green_light 
                                                       i_info = me->mt_stwms_dom[ domvalue_l = i_status ]-ddtext ). 
     WHEN gc_stwms_erro OR gc_stwms_erro_sap. 
        r_icon = me->create_icon_cust( i_name = icon_red_light 
                                                        i_info = me->mt_stwms_dom[ domvalue_l = i_status ]-ddtext ). 
      WHEN OTHERS. 
        r_icon = me->create_icon_cust( i_name = icon_light_out 
                                                        i_info = me->mt_stwms_dom[ domvalue_l = i_status ]-ddtext ). ENDCASE. 

 ENDMETHOD. 

 METHOD create_icon_cust. 

   CALL FUNCTION 'ICON_CREATE' 
         EXPORTING name = i_name info = i_info 
         IMPORTING 
              result = r_result 
         EXCEPTIONS 
           icon_not_found = 1 
           outputfield_too_short = 2 
         OTHERS = 3. 

   IF sy-subrc <> 0. * Implement suitable error handling here 
   ENDIF. 

 ENDMETHOD.

Nenhum comentário:

Postar um comentário