quarta-feira, 13 de maio de 2009

Funções úteis do SAP

Segue uma lista de algumas funções que podem se tornar úteis no dia a dia.

Formatar números:

a) Retirar zeros a esquerda do número:

CALL FUNCTION 'CONVERSION_EXIT_ALPHA_OUTPUT'
      EXPORTING
        input  = t_saida-zf_transp
      IMPORTING
        output = t_saida-zf_transp.

t_saida-zf_transp = Tipo C 

b) Incluir zeros a esquerda do número:
CALL FUNCTION 'CONVERSION_EXIT_ALPHA_INPUT'
      EXPORTING
        input  = t_saida-zf_transp
      IMPORTING
        output = t_saida-zf_transp.
t_saida-zf_transp = Tipo C

FORMATAÇÃO DE DATAS

*  Função que converte um campo CHAR para DATE

CALL FUNCTION 'CONVERT_DATE_INPUT'
               EXPORTING
                    INPUT  = FIELD_NAME
               IMPORTING
                    OUTPUT = *AFRUD-BUDAT
               EXCEPTIONS
                    OTHERS = 1.

FIELD_NAME(30) TYPE C .
AFRUD-BUDATE TYPE SY-DATUM.

*  Função que formata um campo DATE para CHAR

CALL FUNCTION 'SLS_MISC_CONVERT_TO_DATE'
      EXPORTING
        p_date                        = v_data_aux
        p_date_format                 = 'DD.MM.YYYY'
      IMPORTING
        p_date_string                 = t_transp_interno-datalan
      EXCEPTIONS
        error_selecting_user_defaults = 1
        OTHERS                        = 2.

v_data_aux type sy-datum.
t_transp_interno-datalan(10) type c.

Formato do campo char de 10 de saida
'DD.MM.YYYY'
'MM/DD/YYYY'
'MM-DD-YYYY'
'YYYY.MM.DD'
'YYYY/MM/DD'
'YYYY-MM-DD'

* Retorna o numero de dias do mês

    CALL FUNCTION 'RTP_US_API_MAX_DAYS_IN_MONTH'
      EXPORTING
        i_date_month = v_mes
        i_date_year  = v_ano
      IMPORTING
        e_max_days   = v_dia.

Exibindo janela pop-up

CALL FUNCTION 'POPUP_TO_CONFIRM'
          EXPORTING
            titlebar              = text-p01 "Titulo da janela
            text_question         = text-p02 "Pergunta que será exibida
            text_button_1         = text-p03 "Texto do botão 1
            icon_button_1         = text-p04 "Nome do icone do botão 1
            text_button_2         = text-p05 "Texto do botão 2
            icon_button_2         = text-p04 "Nome do icone botão 2
            default_button        = '2' 
            display_cancel_button = 'X' "Habilitar botão cancelar
     popup_type            = text-p07 "Nome do icone que irá aparecer na                 *                                            "janela do pop-up
          IMPORTING
            answer                = vc_resposta "Codigo de retorno que a função *  *                                               "irá receber dependendo do lugar *                                               "onde usuário clicou ( CHAR DE 1)
          EXCEPTIONS
            text_not_found        = 1
            OTHERS                = 2.

Criando planilha do EXCEL

CALL FUNCTION 'EXCEL_OLE_STANDARD_DAT'
      EXPORTING
        file_name                 = p_file
      TABLES
        data_tab                  = t_planilha
      EXCEPTIONS
        file_not_exist            = 1
        filename_expected         = 2
        communication_error       = 3
        ole_object_method_error   = 4
        ole_object_property_error = 5
        invalid_pivot_fields      = 6
        download_problem          = 7
        OTHERS                    = 8.

Onde os parâmetros exportados são do tipo:

DATA: p_file   LIKE rlgrap-filename.

Baixando planilha do EXCEL

CALL FUNCTION 'ALSM_EXCEL_TO_INTERNAL_TABLE'
    EXPORTING
      filename                = p_file
      i_begin_col             = 1
      i_begin_row             = 2
      i_end_col               = 100
      i_end_row               = 15000
    TABLES
      intern                  = t_intern
    EXCEPTIONS
      inconsistent_parameters = 1
      upload_ole              = 2
      OTHERS                  = 3.

  IF sy-subrc <> 0.
  ENDIF.

Onde os parâmetros exportados são do tipo:

DATA: p_file   LIKE rlgrap-filename,
      t_intern LIKE alsmex_tabline OCCURS 0 WITH HEADER LINE,

Envio de Email:

Function SO_DOCUMENT_SEND_API1

Chama qualquer transação, independente se tem autorização

TRANSACTION_CALL_VIA_RFC

Converter texto do formato ISO para UTF-8.

WWW_URLENCODE



Nenhum comentário:

Postar um comentário