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

2 comentários:

  1. Boas,
    Já criei centenas de etiquetas Zebra a partir de SAP e nunca tive problema com acentos...

    ResponderExcluir
  2. Pô, legal, fiz centenas também, mas tudo pra um mesmo cliente, talvez, nesse caso a maquina que imprimia a Zebra tivesse algum problema com acento então. Mas irei estudar isso e depois dou retorno.

    ResponderExcluir