Aprenda PL/SQL

Este artigo demonstra como criar Concurrents no Oracle EBS com saída para Microsoft Excel. Aí vai um passo a passo:

1 – Adicionar o tipo de saída Microsoft Excel

Na responsabilidade Administrador de Sistema você deve acessar o caminho abaixo:
Instalar -> Idiomas
Insira um registro com estes valores:
Formato do Arquivo = Text
Tipo de Mime = application/vnd.ms-excel
Descrição = Microsoft Excel

2 – Criar um procedimento PL/SQL

A saída deve ter os campos separados pelo caractere TAB.

CREATE OR REPLACE PACKAGE PKG_REP_EXCEL IS

  PROCEDURE BUILD (ERRBUF OUT VARCHAR2, 
                   RETCODE OUT NUMBER);
END PKG_REP_EXCEL; 
/


CREATE OR REPLACE PACKAGE BODY PKG_REP_EXCEL IS
  PROCEDURE BUILD (ERRBUF OUT VARCHAR2, 
                   RETCODE OUT NUMBER) IS 
    CURSOR CUR IS
      SELECT '1' A, '2' B, '3' C FROM DUAL 
      UNION 
      SELECT '4' A, '5' B, '6' C FROM DUAL 
      UNION SELECT '7' A, '8' B, '9' C FROM DUAL;

    REG CUR%ROWTYPE;

    V_DIV VARCHAR2(1) := CHR(9); -- TAB 
    V_OUT VARCHAR2(4000);
  
  BEGIN

    -- HEADER 
    V_OUT := 'A' || V_DIV || 'B' || V_DIV || 'C';     
    FND_FILE.PUT_LINE(FND_FILE.OUTPUT, V_OUT);

    -- LINES 
    FOR REG IN CUR LOOP 
      V_OUT := REG.A || V_DIV || REG.B ||   V_DIV || REG.C; 
      FND_FILE.PUT_LINE(FND_FILE.OUTPUT, V_OUT); 
    END LOOP;

  END BUILD;

END PKG_REP_EXCEL; 
/

3 – Criar o Concorrente

O executável é criado normalmente como Procedimento Armazenado do PL/SQL e o programa com formato de saída Texto.

4 – Execução

Após a visualização da saída, utilize o menu Ferramentas e a opção Copiar Arquivo. Nesse momento aparecerá uma LOV para você escolher o tipo de saída.

5 – Arquivo Microsoft Excel

Selecionado o tipo de arquivo Microsoft Excel, basta salvar ou abrir e temos o nosso relatório.
Observação: Tome cuidado ao salvar o arquivo para não deixar a extensão TXT. Caso o arquivo seja gravado com essa extensão, altere para XLS.

Texto criado por Ricardo Rauber – Tutorial disponível para download AQUI
Comentários aqui

Comments are closed.