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

Upload: breanna-leach

Post on 31-Dec-2015

25 views

Category:

Documents


0 download

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

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: