Padrão de Desenvolvimento SPIE (Spekx Programing Interface Exit)

31
Padrão de Desenvolvimento Padrão de Desenvolvimento SPIE SPIE (Spekx Programing Interface Exit) (Spekx Programing Interface Exit) versão SPEKX 6.03.04

description

Padrão de Desenvolvimento SPIE (Spekx Programing Interface Exit). versão SPEKX 6.03.04. O que é o SPIE (Spekx Programing Interface Exit)? - PowerPoint PPT Presentation

Transcript of Padrão de Desenvolvimento SPIE (Spekx Programing Interface Exit)

Page 1: Padrão de Desenvolvimento  SPIE (Spekx Programing Interface Exit)

Padrão de Desenvolvimento Padrão de Desenvolvimento SPIESPIE

(Spekx Programing Interface Exit)(Spekx Programing Interface Exit)

versão SPEKX 6.03.04

Page 2: Padrão de Desenvolvimento  SPIE (Spekx Programing Interface Exit)

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.

Page 3: Padrão de Desenvolvimento  SPIE (Spekx Programing Interface Exit)

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;

Page 4: Padrão de Desenvolvimento  SPIE (Spekx Programing Interface Exit)

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.

Page 5: Padrão de Desenvolvimento  SPIE (Spekx Programing Interface Exit)

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

Page 6: Padrão de Desenvolvimento  SPIE (Spekx Programing Interface Exit)

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.

Page 7: Padrão de Desenvolvimento  SPIE (Spekx Programing Interface Exit)

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.

Page 8: Padrão de Desenvolvimento  SPIE (Spekx Programing Interface Exit)

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.

Page 9: Padrão de Desenvolvimento  SPIE (Spekx Programing Interface Exit)

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* =======================================================================******************************************************************************* */

Page 10: Padrão de Desenvolvimento  SPIE (Spekx Programing Interface Exit)

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.

Page 11: Padrão de Desenvolvimento  SPIE (Spekx Programing Interface Exit)

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 ;

Page 12: Padrão de Desenvolvimento  SPIE (Spekx Programing Interface Exit)

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;

Page 13: Padrão de Desenvolvimento  SPIE (Spekx Programing Interface Exit)

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>');

Page 14: Padrão de Desenvolvimento  SPIE (Spekx Programing Interface Exit)

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;

******************************************************************************* */

Page 15: Padrão de Desenvolvimento  SPIE (Spekx Programing Interface Exit)

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) ;

Page 16: Padrão de Desenvolvimento  SPIE (Spekx Programing Interface Exit)

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);

Page 17: Padrão de Desenvolvimento  SPIE (Spekx Programing Interface Exit)

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.

Page 18: Padrão de Desenvolvimento  SPIE (Spekx Programing Interface Exit)

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.

Page 19: Padrão de Desenvolvimento  SPIE (Spekx Programing Interface Exit)

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 );

Page 20: Padrão de Desenvolvimento  SPIE (Spekx Programing Interface Exit)

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 ...

Page 21: Padrão de Desenvolvimento  SPIE (Spekx Programing Interface Exit)

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;

******************************************************************************* */

Page 22: Padrão de Desenvolvimento  SPIE (Spekx Programing Interface Exit)

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';

Page 23: Padrão de Desenvolvimento  SPIE (Spekx Programing Interface Exit)

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;

Page 24: Padrão de Desenvolvimento  SPIE (Spekx Programing Interface Exit)

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;

Page 25: Padrão de Desenvolvimento  SPIE (Spekx Programing Interface Exit)

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;

Page 26: Padrão de Desenvolvimento  SPIE (Spekx Programing Interface Exit)

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.

Page 27: Padrão de Desenvolvimento  SPIE (Spekx Programing Interface Exit)

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.

Page 28: Padrão de Desenvolvimento  SPIE (Spekx Programing Interface Exit)

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.

Page 29: Padrão de Desenvolvimento  SPIE (Spekx Programing Interface Exit)

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.

Page 30: Padrão de Desenvolvimento  SPIE (Spekx Programing Interface Exit)

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.

Page 31: Padrão de Desenvolvimento  SPIE (Spekx Programing Interface Exit)

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: