Upload
internet
View
108
Download
1
Embed Size (px)
Citation preview
Padrão de Desenvolvimento Padrão de Desenvolvimento SPIESPIE
(Spekx Programing Interface Exit)(Spekx Programing Interface Exit)
versão SPEKX 6.03.04
SPEKX- - © Copyright - MINDWARE Sistemas Ltda
Padrão SPIE de Desenvolvimento
O que é o SPIE (Spekx Programing Interface Exit)?
Componente no qual permite integrar programas e bancos de dados externos a Plataforma SPEKX, desenvolvidos na linguagem PL/SQL para executar funcionalidades ilimitadas em determinados pontos do workflow.
Estes programas podem ser executados ainda, nos eventos do formulário eletrônico, de forma transparente ao usuário.
SPEKX- - © Copyright - MINDWARE Sistemas Ltda
Padrão SPIE de Desenvolvimento
Objetivo
Esse material tem por Objetivo:
1 - Apresentar a Estrutura Física do Componente “Rotinas Externas SPEKX”, possibilitando ao Analista/Desenvolvedor optar pela melhor forma de implementação de suas Rotinas;
2 - Apresentar ao Analista/Desenvolvedor o Padrão SPIE de Desenvolvimento, facilitando e otimizando a manutenção/evolução de Programas pelos próprios criadores ou por outros Desenvolvedores SPEKX;
3 - Apresentar ao Analista/Desenvolvedor a Biblioteca de Funções Reutilizáveis SPEKX, facilitando e otimizando o Desenvolvimento de novos Programas utilizados pelo Componente;
4 - Modelos de Solicitação de Rotinas;
SPEKX- - © Copyright - MINDWARE Sistemas Ltda
Padrão SPIE de Desenvolvimento
1. Estrutura Física – Rotinas Externas SPEKX
Configuração das Rotinas Externas na PlataformaCadastro de Rotinas Externas, disponibilizado no Menu TOOLS SPEKX.
SPEKX- - © Copyright - MINDWARE Sistemas Ltda
Padrão SPIE de Desenvolvimento
1. Estrutura Física – Rotinas Externas SPEKX
O SPEKX disponibiliza a configuração da Rotina Externa nos seguintes pontos da Plataforma:
1.1 No Tipo de Item Rotinas Externas
Domínio: Rotina Externa
Cont.Inicial: Label Botão
SPEKX- - © Copyright - MINDWARE Sistemas Ltda
Padrão SPIE de Desenvolvimento
1. Estrutura Física – Rotinas Externas SPEKX
O SPEKX disponibiliza a configuração da Rotina Externa nos seguintes pontos da Plataforma :
1.2 Nos Tipos de Item: TEXTO, ÁREA de TEXTO, REFERÊNCIAS e NÚMERO
Evento Change dos Itens.
SPEKX- - © Copyright - MINDWARE Sistemas Ltda
Padrão SPIE de Desenvolvimento
1. Estrutura Física – Rotinas Externas SPEKX
O SPEKX disponibiliza a configuração da Rotina Externa nos seguintes pontos da Plataforma :
1.3 Nas Diretivas de Criar Documento, Alterar Dados, Complementação, Migração, User Changed e Propriedade Tempo-limite.
Nota: Na Diretiva Criar Documento, é disponibilizada apenas a configuração Depois de Salvar o Documento.
SPEKX- - © Copyright - MINDWARE Sistemas Ltda
Padrão SPIE de Desenvolvimento
2. Padrão SPIE de Desenvolvimento
Os objetos de Banco de Dados configurados no componente Rotinas Externas SPEKX, devem ser desenvolvidos respeitando o seguinte Padrão de Desenvolvimento:
Nomenclaturas
Para melhor Gestão da Plataforma, utiliza-se um Padrão de Nomenclaturas para os objetos SPIE.
As descrições são compostas por:
- Prefixo Identificador do Objeto;- Descrição Identificadora SPIE; - Descrição Identificadora do Cliente; - Descrição Lógica do Objeto;
Ex.: KSP_SPIE_ELO_CALCULA_SALDO_DISPONIVEL. Package SPIE de cálculo do saldo disponível. Cliente ELO.
TSP_SPIE_ELO_AUX_SALDO_DISPONIVEL. Tabela SPIE que armazena o valor de cálculo do saldo disponível no Documento. Cliente ELO.
SPEKX- - © Copyright - MINDWARE Sistemas Ltda
Padrão SPIE de Desenvolvimento
2. Padrão SPIE de Desenvolvimento
2.1. PackagesNomenclatura
KSP_SPIE_+[ Descrição Identificadora do Cliente ]_[ Descrição Lógica da Package ];
Cabeçalho Identificador da Package
Utilizado para catalogar e historificar os códigos que compõem a Package. Referência para futuras manutenções/evoluções das Rotinas.
create or replace package body ksp_spie_elo_funcionalidade is
/* ******************************************************************************* Descrição Funcional da Package;
Síntese funcional de Rotinas (Procedures, Functions);
Informações de Apoio à Funcionalidade;
********************************************************************************** Histórico de Revisão:* --------------------------* Data | Versão | Autor | Descrição* =======================================================================******************************************************************************* */
SPEKX- - © Copyright - MINDWARE Sistemas Ltda
Padrão SPIE de Desenvolvimento
2. Padrão SPIE de Desenvolvimento
2.1. PackagesVariáveis Globais SPEKX
O componente Rotinas Externas permite a utilização das Variáveis Globais SPEKX em seus Programas.
Declarações
A Package deve conter em suas Declarações, as seguintes variáveis:
W_USER VARCHAR2(30) := KSP_UWB.GET_COOKIE ('USER');
Variável que armazena o Usuário Logado no SPEKX.
W_ENTI VARCHAR2(10) := KSP_UWB.GET_COOKIE (‘ENTI’);
Variável que armazena a Entidade (Cliente) SPEKX.
W_LING VARCHAR2(2) := KSP_UWB.GET_COOKIE (‘LING');
Variável que armazena o Idioma utilizado na Plataforma SPEKX.
SPEKX- - © Copyright - MINDWARE Sistemas Ltda
Padrão SPIE de Desenvolvimento
2. Padrão SPIE de Desenvolvimento
2.1. PackagesVariáveis Globais SPEKX
O componente Rotinas Externas permite a utilização das Variáveis Globais SPEKX em seus Programas.
Utilização
W_USER
Utilizada para Atualizar as Tabelas SPEKX, onde a Rotina Externa efetua inclusões / alterações.
Ex.: update tsp_mdoc_template_item set ds_valu_item = replace (w_ds_valu_item,','),
cd_user_mntn = W_USER,dt_user_mntn = SYSDATE
where id_enti_clie = 9and id_serv = 21and id_docu = 50and id_moob = w_id_moob_paiand sq_tmpd = w_sq_tmpdand sq_item = w_sq_item ;
SPEKX- - © Copyright - MINDWARE Sistemas Ltda
Padrão SPIE de Desenvolvimento
2. Padrão SPIE de Desenvolvimento
2.1. PackagesVariáveis Globais SPEKX
O componente Rotinas Externas permite a utilização das Variáveis Globais SPEKX em seusProgramas.
Utilização
W_ENTI
Utilizada para Atualizar as Tabelas SPEKX, onde a Rotina Externa efetua inclusões.
Utilizada para indexar os filtros utilizados nos Cursores da Rotina.
Valor W_ENTI = Parâmetro p_id_enti_clie.
Ex.: Cursor c_moob_pai is select id_moob_orig from tsp_movimento_documentowhere id_enti_clie=W_ENTI and id_serv= 27 and id_docu=55 and id_moob=p_id_moob;
SPEKX- - © Copyright - MINDWARE Sistemas Ltda
Padrão SPIE de Desenvolvimento
2. Padrão SPIE de Desenvolvimento
2.1. PackagesVariáveis Globais SPEKX
Utilização
W_LING
Utilizada para tradução de termos contidos nas Rotinas Externas.
Utilizada em conjunto com a Função de tradução SPEKX - KSP_UPL.TRAD.
Ex.: htp.print('<script language="JavaScript"> alert(“KSP_UPL.TRAD(‘Valor Informado Ultrapassa o Saldo Atual !’,W_LING)"); top.window.close();</script>');
SPEKX- - © Copyright - MINDWARE Sistemas Ltda
Padrão SPIE de Desenvolvimento
2. Padrão SPIE de Desenvolvimento
2.2. ProceduresNomenclatura
É aconselhável utilizar nomes que identifiquem a funcionalidade da Procedure.
Cabeçalho Identificador da Procedure
Utilizado para melhor entendimento da Estrutura Desenvolvida na Rotina Externa.
procedure rct_valor_contratado(p_id_enti_clie in number, p_id_serv in number,
p_id_docu in number, p_id_moob in number, p_id_wkfl in number) ;
/* ******************************************************************************* Síntese funcional da Procedure;
Incidências de chamada;Descrição da funcionalidade;
******************************************************************************* */
SPEKX- - © Copyright - MINDWARE Sistemas Ltda
Padrão SPIE de Desenvolvimento
2. Padrão SPIE de Desenvolvimento
2.2. ProceduresDeclarações
Padrão de Nomenclatura utilizado para Declarações da Procedure.
Parâmetros
Prefixo P__ + [ Descrição Lógica do Parâmetro ].
Tipo da Variável
Na utilização de Parâmetros que armazenam informações do Banco de Dados, é utilizado o %TYPE da coluna na sua declaração.
Ex.: procedure valida_saldo_criacao( p_id_enti_clie in tsp_entidade.id_enti%type, p_id_serv n tsp_servico.id_serv%type,
p_id_docu in tsp_documento.id_docu%type, p_id_moob in tsp_movimento_documento.id_moob%type) ;
SPEKX- - © Copyright - MINDWARE Sistemas Ltda
Padrão SPIE de Desenvolvimento
2. Padrão SPIE de Desenvolvimento
2.2. ProceduresParâmetros Pré-Definidos
A Package.Procedure de StartUp da Rotina Externa, por Padrão, deve receber os seguintes Parâmetros:
Rotina Utilizada pelo Tipo de Item Rotinas Externas
Procedure valida_saldo_criacao( p_id_enti_clie in tsp_entidade.id_enti%type, p_id_serv n tsp_servico.id_serv%type,
p_id_docu in tsp_documento.id_docu%type, p_id_moob in tsp_movimento_documento.id_moob%type);
SPEKX- - © Copyright - MINDWARE Sistemas Ltda
Padrão SPIE de Desenvolvimento
2. Padrão SPIE de Desenvolvimento
2.2. ProceduresParâmetros Pré-Definidos
A Package.Procedure de StartUp da Rotina Externa, por Padrão, deve receber os seguintes Parâmetros:
Rotina Utilizada no Evento Change nos Tipos de Item Texto, Área de Texto e Referências
Procedure valida_saldo_criacao( p_id_enti_clie in tsp_entidade.id_enti%type, p_id_serv n tsp_servico.id_serv%type,
p_id_docu in tsp_documento.id_docu%type, p_id_moob in tsp_movimento_documento.id_moob%type, p_valor in varchar2(4000) ) ;
* p_valor: Valor do Item configurado.
SPEKX- - © Copyright - MINDWARE Sistemas Ltda
Padrão SPIE de Desenvolvimento
2. Padrão SPIE de Desenvolvimento
2.2. ProceduresParâmetros Pré-Definidos
A Package.Procedure de StartUp da Rotina Externa, por Padrão, deve receber os seguintes Parâmetros:
Rotina Utilizada nas Diretivas de Criar Documento, Alterar Dados, Complementação e Migração
Procedure valida_saldo_criacao( p_id_enti_clie in tsp_entidade.id_enti%type, p_id_serv n tsp_servico.id_serv%type,
p_id_docu in tsp_documento.id_docu%type, p_id_moob in tsp_movimento_documento.id_moob%type, p_id_wkfl in tsp_workflow.id_wkfl%type ) ;
* p_id_wkfl: Identificação do workflow (atividade). Validação de Troca de Status.
SPEKX- - © Copyright - MINDWARE Sistemas Ltda
Padrão SPIE de Desenvolvimento
2. Padrão SPIE de Desenvolvimento
2.2. ProceduresDeclarações
Padrão de Nomenclatura utilizado para Declarações da Procedure.
Variável
Prefixo W_ + [ Descrição Lógica da Variável ].
Tipo da VariávelNa utilização de variáveis que armazenam informações do Banco de Dados, é utilizado o
%TYPE da coluna na sua declaração.
Ex.: w_id_stat TSP_DOCUMENTO_STATUS.ID_STAT%TYPE;
Type w_documento is Record (id_serv TSP_SERVICO.ID_SERV%TYPE, id_docu TSP_DOCUMENTO.ID_DOCU%TYPE, ds_labl_docu TSP_DOCUMENTO.ID_MOOB %TYPE );
SPEKX- - © Copyright - MINDWARE Sistemas Ltda
Padrão SPIE de Desenvolvimento
2. Padrão SPIE de Desenvolvimento
2.2. ProceduresDeclarações
Padrão de Nomenclatura utilizado para Declarações da Procedure.
Cursor
Prefixo C_ + [Descrição Lógica do Cursor].
Parâmetros do CursorPrefixo PI_ + [Descrição Lógica do Parâmetro].
Na utilização de parâmetros que armazenam informações do Banco de Dados, é utilizado o %TYPE da coluna na sua declaração.
Ex.: Cursor c_moob_pai( pi_id_serv tsp_servico.id_serv%type, pi_id_docu tsp_documento.id_docu%type, pi_id_moob tsp_movimento_documento.id_moob%type ) is
Select id_moob_orig from tsp_movimento_documento where id_enti_clie = W_ENTI ...
SPEKX- - © Copyright - MINDWARE Sistemas Ltda
Padrão SPIE de Desenvolvimento
2. Padrão SPIE de Desenvolvimento
2.3. ViewsNomenclatura
VSP_SPIE_+[ Descrição Identificadora do Cliente ]_[ Descrição Lógica da View ];
Cabeçalho Identificador da View
Utilizado para melhor entendimento da Estrutura Desenvolvida na Rotina Externa.
CREATE OR REPLACE VIEW VSP_SPIE_ELO_DOCUMENTO_PAI ASSELECT DISTINCT A.ID_ENTI_CLIE,
B.ID_SERV, B.ID_DOCU,
A.ID_MOOB .../* ******************************************************************************* Definição de Dados da View;
Incidências de chamada;Observações;
******************************************************************************* */
SPEKX- - © Copyright - MINDWARE Sistemas Ltda
Padrão SPIE de Desenvolvimento
2. Padrão SPIE de Desenvolvimento
2.4. TabelasNomenclatura
TSP_SPIE_+[ Descrição Identificadora do Cliente ]_[ Descrição Lógica da Tabela ];
Comentários da Tabela
Utilizado para melhor entendimento da Estrutura Desenvolvida na Rotina Externa.
-- Add comments to the table comment on table TSP_MDOC_APROPRIA_ATIVO_DET_MVis 'Tabela que armazena o Relacionamento dos Itens das Estimativas...';-- Add comments to the columns comment on column TSP_MDOC_APROPRIA_ATIVO_DET_MV.ID_ENTI_CLIEis 'Identificador da Entidade';comment on column TSP_MDOC_APROPRIA_ATIVO_DET_MV.ID_SERVis 'Identificador do Serviço';
SPEKX- - © Copyright - MINDWARE Sistemas Ltda
Padrão SPIE de Desenvolvimento
Utilizando Funções SPEKX
O Componente Rotinas Externas, por Conta de sua Estrutura, permite a Utilização de Funções Específicas da Plataforma SPEKX.
Por essa condição, o Analista Desenvolvedor assume TOTAL AUTONOMIA no Desenvolvimento de Rotinas podendo:
• Utilizar Funções SPEKX de Tratativas de Dados;
• Utilizar Componentes e Funções SPEKX de Tratativas de Datas;
• Desenvolver Formulários de Interatividade com o Usuário, a partir do Componente Rotinas Externas;
• Disparo de Alertas e Mensagens ao Usuário a partir do Componente, conforme a Definição da Funcionalidade;
• Intervir nos Dados da Plataforma;
SPEKX- - © Copyright - MINDWARE Sistemas Ltda
Padrão SPIE de Desenvolvimento
Notas
Notas que devem ser levadas em consideração no Desenvolvimento de programas utilizadas no Componente Rotinas Externas:
• Identar as Estruturas Desenvolvidas, para maior clareza e Entendimento do Código;
• Utilizar Comentários nos trechos de Código que Tratem Detalhes da Funcionalidade;
• Criar as Rotinas, utilizando Nomenclaturas que facilitem seu Entendimento Funcional;
• Se atentar às Rotinas que Operam Intervenções nos Dados do Documento/Plataforma;
• Procurar sempre o Desenvolvimento Lógico, Claro e Objetivo;
SPEKX- - © Copyright - MINDWARE Sistemas Ltda
Padrão SPIE de Desenvolvimento
3 - Biblioteca de Funções Reutilizáveis SPEKX
Para apoio ao Desenvolvimento, Especificamos as Principais Funções Reutilizáveis da Plataforma.
As Funções estão organizadas em 3 Grupos:
3.1- Funções de Tratamento e Conversão de Dados;3.2- Funções de Tratamento e Conversão de Data / Hora;3.3- Funções de Interface;
As Especificações são compostas por:
* Especificação;* Modelo de Utilização;* Observações;
SPEKX- - © Copyright - MINDWARE Sistemas Ltda
Padrão SPIE de Desenvolvimento
3.1 – Funções de Tratamento e Conversão de Dados
function array_to_char ( v_array in ksp_types.ident_arr, v_sep in varchar2 default ',') return varchar2;
W_VAR := ksp_upl.array_to_char(P_VAR,[SEPARADOR]);
Função de conversão de variável array para texto.
function char_to_array ( v_string in varchar2, v_sep in varchar2 default ',') return ksp_types.ident_arr ;
W_VAR := ksp_upl.char_to_array(P_VAR,[SEPARADOR]);
Função de conversão de variável texto para array.
SPEKX- - © Copyright - MINDWARE Sistemas Ltda
Padrão SPIE de Desenvolvimento
3.1 – Funções de Tratamento e Conversão de Dados
function nr_to_char (p_valr in number, p_casdec in number default 2) return varchar2;
W_VAR := ksp_upl.nr_to_char(P_VAR,[qtd. casas decimais]);
Função de conversão de variável numérica para texto.
function char_to_nr (p_valr in varchar2) return number;
W_VAR := ksp_upl.char_to_nr(P_VAR);
Função de conversão de variável texto para número.
SPEKX- - © Copyright - MINDWARE Sistemas Ltda
Padrão SPIE de Desenvolvimento
3.2 – Funções de Tratamento e Conversão de Data/Hora
function dt_to_char (p_date in date) return varchar2;
W_VAR := ksp_upl.dt_to_char(P_VAR);
Função de conversão de variável data para texto.
function char_to_dt (p_char in varchar2) return date;
W_VAR := ksp_upl.char_to_dt(P_VAR);
Função de conversão de variável texto para data.
SPEKX- - © Copyright - MINDWARE Sistemas Ltda
Padrão SPIE de Desenvolvimento
3.2 – Funções de Tratamento e Conversão de Data/Hora
function dth_to_char (p_date in date) return varchar2;
W_VAR := ksp_upl.dt_to_char(P_VAR);
Função de conversão de variável data/hora para texto.
function char_to_dth (p_char in varchar2) return date;
W_VAR := ksp_upl.char_to_dt(P_VAR);
Função de conversão de variável texto para data/hora.
SPEKX- - © Copyright - MINDWARE Sistemas Ltda
Padrão SPIE de Desenvolvimento
3.3 – Funções de Interface
function trad (p_texto in varchar2, p_ling in varchar2,) return varchar2;
W_VAR := ksp_upl.trad(P_VAR, W_LING);
Função de Tradução Termos da Plataforma SPEKX.
SPEKX- - © Copyright - MINDWARE Sistemas Ltda
Padrão SPIE de Desenvolvimento
Tel/Fax: (11) 5507-3274 / (11) 5506-1165e- mail: [email protected]
Dúvidas na utilização e sugestões, favor entrar em contato: