terça-feira, 23 de fevereiro de 2016

Convertendo Spool em PDF - RSTXPDFT4


*  Fala Galera, ultimamente precisei criar um arquivo PDF baseada no
* no Spool gerada pelo Smartforms e mandar por email, procurando algo
* que me ajudasse na internet, encontrei um programa que transforma 
* o Número do Spool em um arquivo .PDF dentro do diretório que escolher.
*  Esse programa não resolvia meu problema mas me ajudou muito pois 
* usei as funções que foram usadas nesse programa.
*  Primeiramente irei mostrar um passo a passo de como processar esse 
* programa e mais tarde num próximo post mostrar como fazer um arquivo 
* .pdf pelo Spool e enviar para um email.

*  O programa que estou falando é o 'RSTXPDFT4', vá na transação SE38
* coloque RSTXPDFT4 e execute.


* O primeiro parametro é o numero do Spool, para pegar essa informação
* vá na transação SP02 e copia o Spool desejado para conversão.



segunda-feira, 8 de fevereiro de 2016

Função - RKD_WORD_WRAP

REPORT rkd_word_wrap.

*  Eae Galera, atualmente estou trabalhando com SAPScript e tenho que
* tratar os textos e tamanho da linha conforme layout do Formulário,
* ai aprendi a usar a função abaixo que faz a quebra do texto conforme
* tamanho que desejar, essa função é legal porque além de fazer a quebra
* de texto você tambem pode fazer Split de string usando o parametro de
* exportação 'DELIMITER'.

* Estruturas e tabelas Internas
DATA :
  lt_lines  TYPE TABLE OF char30,
  lst_lines LIKE LINE OF lt_lines.

* Tela de seleção
SELECTION-SCREEN BEGIN OF BLOCK b1 WITH FRAME.
* Parametros da tela de seleção
PARAMETERS :
  p_string TYPE char100 DEFAULT
  '1234567 123456 4857948655458745  87778+ 784541251 1 1254 1112121212',
  p_output TYPE DEFAULT '10'.
SELECTION-SCREEN END OF BLOCK   b1.

BREAK-POINT.
*  Essa função é muito prática para tratar textos que você queira quebrar
* antes de gravar num Objeto de texto, ou num campos que você queira ver
* somente partes pré definidas de uma string.
CALL FUNCTION 'RKD_WORD_WRAP'
  EXPORTING
    textline            p_string
*   DELIMITER           = ' '
    outputlen           p_output
* IMPORTING
*   OUT_LINE1           =
*   OUT_LINE2           =
*   OUT_LINE3           =
  TABLES
    out_lines           lt_lines
  EXCEPTIONS
    outputlen_too_large 1
    OTHERS              2.

BREAK-POINT.

* Exibição dos dados da tabela de retorno conforme regra determinada
LOOP AT lt_lines INTO lst_lines.
  WRITE / lst_lines.
ENDLOOP.

* Valeo... Segue as imagens do processo.