quinta-feira, 28 de fevereiro de 2013

Function - SCP_REPLACE_STRANGE_CHARS

*  Fala Galera, ultimamente tenho ficado um pouco ausente com os posts pois
* estava num projeto tenso, rsrs, estarei conpensando pois o projeto já foi
* dado Go Live e agora terei a minha vida normal, desculpasss...
*  hoje estarei falando sobre uma função que tira os acentos das palavras,
* um dia vocês irão fazer ( se não já fizeram ) uma etiqueta zebra, a
* impressora não reconhece letras acentuadas portanto ficando buracos entre
* palavras na hora da impressão tipo assim :
* Normal : Difícil
* Zebra  : Dif cil
*  Não querendo que ficasse assim achei a função abaixo.
REPORT  z_replace_strange.
* Variáveis
DATA :
  vg_text TYPE string VALUE 'pãpêpìpú'.

* Início de processo
START-OF-SELECTION.

  PERFORM zf_trata_valor_variavel.

*&---------------------------------------------------------------------*
*&      Form  ZF_TRATA_VALOR_VARIÁVEL
*&---------------------------------------------------------------------*
FORM zf_trata_valor_variavel .

  CALL FUNCTION 'SCP_REPLACE_STRANGE_CHARS'
    EXPORTING
      intext                  vg_text
*   INTEXT_LG               = 0
*   INTER_CP                = '0000'
*   INTER_BASE_CP           = '0000'
*   IN_CP                   = '0000'
*   REPLACEMENT             = 46
   IMPORTING
     outtext                 vg_text
*   OUTUSED                 =
*   OUTOVERFLOW             =
   EXCEPTIONS
     invalid_codepage        1
     codepage_mismatch       2
     internal_error          3
     cannot_convert          4
     fields_not_type_c       5
     OTHERS                  6
            .
*  Sempre tente dar uma olhada no código dentro da função, a maioria das vezes
* conseguimos encontrar algo que pode prestar para outra coisa, como outras 
* funções, comandos ou regras de interessantes de codificação.

  IF sy-subrc <> 0.
    MESSAGE ID sy-msgid TYPE sy-msgty NUMBER sy-msgno
            WITH sy-msgv1 sy-msgv2 sy-msgv3 sy-msgv4.
  ENDIF.

ENDFORM.                    " ZF_TRATA_VALOR_VARIÁVEL

segunda-feira, 25 de fevereiro de 2013

Função - TH_POPUP

  *  Pessoal, espero que vocês tenham curtido esse carnaval, mas você sabe
* depois de uma bela zuera, as vezes, temos muitas novidades para contar
* para os amigos, mas também, sempre que voltamos de um feriado parece que
* o serviço duplicou rsrs, portanto pra trabalhar e ao mesmo tempo
* contar as novidades e histórias absurdas com seu amigo ( outro Usuário
* logado no mesmo ambiente ), vocês podem usar a função abaixo.
*  Essa Função é usada por Basis pra informar os usuários algo importante,
* portanto usem com moderação.

REPORT  z_like_msn.

SELECTION-SCREEN BEGIN OF BLOCK b1 WITH FRAME.
PARAMETERS :
  p_user TYPE tr_as4user DEFAULT sy-uname, "User a se contactar
  p_msg  TYPE sm04dic-popupmsg.            "Mensagem
SELECTION-SCREEN END OF BLOCK b1.

* Início de processo
START-OF-SELECTION.

  PERFORM zf_falar_amigo.

*&---------------------------------------------------------------------*
*&      Form  ZF_FALAR_AMIGO
*&---------------------------------------------------------------------*
FORM zf_falar_amigo .

  CALL FUNCTION 'TH_POPUP'
    EXPORTING
      client               sy-mandt
      user                 p_user
      MESSAGE              p_msg
*   MESSAGE_LEN          = 0
*   CUT_BLANKS           = ' '
 EXCEPTIONS
   user_not_found       1
   OTHERS               2
            .

  BREAK-POINT.
  IF sy-subrc 1.
    MESSAGE 'Usuário não encontrado, Sorry'
      TYPE 'E'.
  ENDIF.


ENDFORM.                    " ZF_FALAR_AMIGO