1 / 31

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

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

Download Presentation

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

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


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

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

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

  4. 1. Estrutura Física – Rotinas Externas SPEKX Configuração das Rotinas Externas na Plataforma Cadastro de Rotinas Externas, disponibilizado no Menu TOOLS SPEKX.

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

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

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

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

  9. 2. Padrão SPIE de Desenvolvimento 2.1. Packages Nomenclatura 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. createorreplacepackagebody 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 * ======================================================================= ******************************************************************************* */

  10. 2. Padrão SPIE de Desenvolvimento 2.1. Packages Variá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_USERVARCHAR2(30) := KSP_UWB.GET_COOKIE ('USER'); Variável que armazena o Usuário Logado no SPEKX. W_ENTIVARCHAR2(10) := KSP_UWB.GET_COOKIE (‘ENTI’); Variável que armazena a Entidade (Cliente) SPEKX. W_LINGVARCHAR2(2) := KSP_UWB.GET_COOKIE (‘LING'); Variável que armazena o Idioma utilizado na Plataforma SPEKX.

  11. 2. Padrão SPIE de Desenvolvimento 2.1. Packages Variá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 = SYSDATEwhere 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 ;

  12. 2. Padrão SPIE de Desenvolvimento 2.1. Packages Variáveis Globais SPEKX O componente Rotinas Externas permite a utilização das Variáveis Globais SPEKX em seus Programas. 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 isselect id_moob_origfrom tsp_movimento_documentowhere id_enti_clie=W_ENTIand id_serv= 27and id_docu=55and id_moob=p_id_moob;

  13. 2. Padrão SPIE de Desenvolvimento 2.1. Packages Variá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>');

  14. 2. Padrão SPIE de Desenvolvimento 2.2. Procedures Nomenclatura É 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 innumber, p_id_serv innumber, p_id_docu innumber, p_id_moob innumber, p_id_wkfl innumber) ; /* ******************************************************************************* Síntese funcional da Procedure; Incidências de chamada; Descrição da funcionalidade; ******************************************************************************* */

  15. 2. Padrão SPIE de Desenvolvimento 2.2. Procedures Declaraçõ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) ;

  16. 2. Padrão SPIE de Desenvolvimento 2.2. Procedures Parâ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);

  17. 2. Padrão SPIE de Desenvolvimento 2.2. Procedures Parâ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.

  18. 2. Padrão SPIE de Desenvolvimento 2.2. Procedures Parâ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.

  19. 2. Padrão SPIE de Desenvolvimento 2.2. Procedures Declaraçõ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ável Na 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 isRecord (id_serv TSP_SERVICO.ID_SERV%TYPE, id_docu TSP_DOCUMENTO.ID_DOCU%TYPE, ds_labl_docu TSP_DOCUMENTO.ID_MOOB %TYPE );

  20. 2. Padrão SPIE de Desenvolvimento 2.2. Procedures Declarações Padrão de Nomenclatura utilizado para Declarações da Procedure. Cursor Prefixo C_ + [Descrição Lógica do Cursor]. Parâmetros do Cursor Prefixo 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_documentowhere id_enti_clie = W_ENTI ...

  21. 2. Padrão SPIE de Desenvolvimento 2.3. Views Nomenclatura 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. CREATEORREPLACEVIEW VSP_SPIE_ELO_DOCUMENTO_PAI ASSELECTDISTINCT 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; ******************************************************************************* */

  22. 2. Padrão SPIE de Desenvolvimento 2.4. Tabelas Nomenclatura 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 commentontable TSP_MDOC_APROPRIA_ATIVO_DET_MVis'Tabela que armazena o Relacionamento dos Itens das Estimativas...';-- Add comments to the columns commentoncolumn TSP_MDOC_APROPRIA_ATIVO_DET_MV.ID_ENTI_CLIEis'Identificador da Entidade';commentoncolumn TSP_MDOC_APROPRIA_ATIVO_DET_MV.ID_SERVis'Identificador do Serviço';

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

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

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

  26. 3.1 – Funções de Tratamento e Conversão de Dados function array_to_char ( v_array in ksp_types.ident_arr, v_sep invarchar2default',') returnvarchar2; 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 invarchar2, v_sep invarchar2default',') 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.

  27. 3.1 – Funções de Tratamento e Conversão de Dados function nr_to_char (p_valr innumber, p_casdec innumberdefault2) returnvarchar2; 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 invarchar2) returnnumber; W_VAR := ksp_upl.char_to_nr(P_VAR); Função de conversão de variável texto para número.

  28. 3.2 – Funções de Tratamento e Conversão de Data/Hora function dt_to_char (p_date indate) returnvarchar2; 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 invarchar2) returndate; W_VAR := ksp_upl.char_to_dt(P_VAR); Função de conversão de variável texto para data.

  29. 3.2 – Funções de Tratamento e Conversão de Data/Hora function dth_to_char (p_date indate) returnvarchar2; 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 invarchar2) returndate; W_VAR := ksp_upl.char_to_dt(P_VAR); Função de conversão de variável texto para data/hora.

  30. 3.3 – Funções de Interface function trad (p_texto invarchar2, p_ling invarchar2,) returnvarchar2; W_VAR := ksp_upl.trad(P_VAR, W_LING); Função de Tradução Termos da Plataforma SPEKX.

  31. Dúvidas na utilização e sugestões, favor entrar em contato: Tel/Fax: (11) 5507-3274 / (11) 5506-1165e- mail: sup_tec@spekx.com.br

More Related