Versões comparadas
Chave
- Esta linha foi adicionada.
- Esta linha foi removida.
- A formatação mudou.
Índice:
Índice | ||
---|---|---|
|
Objetivo:
O objetivo deste documento é demonstrar como criar uma Planilha RM com Stored Procedure.
Introdução:
As Planilhas RM suportam o uso de Stored Procedure, ou Procedimento Armazenado. Neste documento estão descritos os passos para sua criação.
Exemplo de Procedure a ser utilizada na Planilha RM
Foi criada a procedure abaixo, como exemplo. Veja as funções que são executadas por ela:
CREATE PROCEDURE DBO.XATUALIZA_SALARIO (@PLN_Sheet1_$A1_S CHAR) AS
BEGIN
/* VERIFICA SE A TABELA XSALARIO JÁ EXISTE, E DROPA */
IF EXISTS
( SELECT TOP 1 1
FROM SYSOBJECTS
WHERE SYSOBJECTS.XTYPE = 'U'
AND SYSOBJECTS.NAME = 'XSALARIO')
BEGIN
DROP TABLE XSALARIO
END
/* CRIAÇÃO DA TABELA XSALARIO */
CREATE TABLE XSALARIO (
CHAPA VARCHAR(10),
NOME VARCHAR(100),
SAL_ANTIGO FLOAT,
SAL_ATUAL FLOAT
)
/* DADOS PARA PREENCHER A TABELA XSALARIO */
INSERT INTO XSALARIO
SELECT CHAPA, NOME, SALARIO AS SAL_ANTIGO, (SALARIO * 1.10) AS SAL_ATUAL
FROM PFUNC
WHERE CODSITUACAO <> @PLN_Sheet1_$A1_S
/* !!! LEMBRE-SE !!! */
/* É NECESSÁRIO UTILIZAR UM COMPONENTE SQL NA PLANILHA RETORNANDO OS DADOS DA TABELA PREENCHIDA PELA PROCEDURE */
SELECT * FROM XSALARIO
END
Informações | ||
---|---|---|
| ||
Lembre-se que na criação de Stored Procedure, a nomenclatura para o parâmetro em SQL é "@" e Oracle é "I", de Inglês. |
Exemplo:
Seguindo os passos abaixo, será possível criar uma Planilha RM com Stored Procedure.
Informações | ||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|
| ||||||||||||
|
Após criar a Stored Procedure, temos que cadastrar no sistema RM a sentença SQL que retornará os dados desta Procedure. Para isso, cadastramos a Consulta
SQL com o Código 'Teste_Procedure'.
Para realizar o cadastro, acesse o menu 'Gestão | Visões de Dados' e clique no botão Incluir (Ctrl + Ins). Veja a imagem a seguir:
![](/download/attachments/107938506/planilha01.jpg?version=1&modificationDate=1387310743000&api=v2)
|
|
|
|
|
|
Informações | ||
---|---|---|
| ||
Consulte o WikiHelp TOTVS
Canais de Atendimento: Chamado: Através do Portal Totvs www.suporte.totvs.com.br Telefônico: 4003-0015 Escolhendo as opções 2 – (Software), 2 – (Suporte Técnico), 3 – (RM), 9 – (Demais Áreas), 4 – (BI) e 3 – (Gerador de Relatórios e Planilha). |
CREATE PROCEDURE DBO.XATUALIZA_SALARIO (@PLN_Sheet1_$A1_S CHAR) AS
BEGIN
/* VERIFICA SE A TABELA XSALARIO JÁ EXISTE, E DROPA */
IF EXISTS
( SELECT TOP 1 1
FROM SYSOBJECTS
WHERE SYSOBJECTS.XTYPE = 'U'
AND SYSOBJECTS.NAME = 'XSALARIO')
BEGIN
DROP TABLE XSALARIO
END
/* CRIAÇÃO DA TABELA XSALARIO */
CREATE TABLE XSALARIO (
CHAPA VARCHAR(10),
NOME VARCHAR(100),
SAL_ANTIGO FLOAT,
SAL_ATUAL FLOAT
)
/* DADOS PARA PREENCHER A TABELA XSALARIO */
INSERT INTO XSALARIO
SELECT CHAPA, NOME, SALARIO AS SAL_ANTIGO, (SALARIO * 1.10) AS SAL_ATUAL
FROM PFUNC
WHERE CODSITUACAO <> @PLN_Sheet1_$A1_S
/* !!! LEMBRE-SE !!! */
/* É NECESSÁRIO UTILIZAR UM COMPONENTE SQL NA PLANILHA RETORNANDO OS DADOS DA TABELA PREENCHIDA PELA PROCEDURE */
SELECT * FROM XSALARIO
END
CREATE PROCEDURE DBO.XATUALIZA_SALARIO (@PLN_Sheet1_$A1_S CHAR) |
BEGIN
/* VERIFICA SE A TABELA XSALARIO JÁ EXISTE, E DROPA */
IF EXISTS
( SELECT TOP 1 1
FROM SYSOBJECTS
WHERE SYSOBJECTS. |
AND SYSOBJECTS.NAME = 'XSALARIO')
BEGIN
DROP TABLE XSALARIO
ENDInformações | ||||||||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| ||||||||||||||||||||
|
Informações | |||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| |||||||||||||||
|