Páginas filhas
  • ER_PCREQ-8288 Fábrica de Filas

Versões comparadas

Chave

  • Esta linha foi adicionada.
  • Esta linha foi removida.
  • A formatação mudou.

 Este documento é material de especificação dos requisitos de inovação, trata-se de conteúdo extremamente técnico.                                                             

  

(Obrigatório)

Informações Gerais

 

 

Especificação

Produto

TSS

Módulo

TSS

Segmento Executor

SERVIÇOS

Projeto1

M_SER_TSS002

IRM1

PCREQ-8287

Requisito1

PCREQ-8288

Subtarefa1

 

Release de Entrega planejada

12.1.13

País

( X ) Brasil  (  ) Argentina  (  ) Mexico  (  ) Chile  (  ) Paraguai  (  ) Equador

(  ) USA  (  ) Colombia   (  ) Outro _____________.

   Legenda: 1 – Inovação 2 – Manutenção (Os demais campos devem ser preenchidos para ambos os processos). 

(Obrigatório)

Objetivo

 <Nesta etapa informar o objetivo da especificação do requisito, ou seja, o que a funcionalidade deve fazer. Exemplo: Permitir que o usuário defina o percentual mínimo em espécie (dinheiro), a referência mínima para calculo dos débitos do aluno e o período de validade do parâmetro de negociação>Desenvolver rotina para instanciar os objetos de comunicação com as Filas e lista de respostas.

(Obrigatório)

Definição da Regra de Negócio

 

<Regra de negócio é o que define a forma de fazer o negócio, o processo definido e/ou as regras que devem ser contempladas. Devem ser descritas restrições, validações, condições e exceções do processo. Caso necessário, incluir neste capítulo também regras de integridade que devem ser observadas no momento do desenvolvimento>.

 

<Na tabela abaixo informe quais são as rotinas envolvidas, o tipo de operação, a opção de menu e se necessário uma breve descrição das regras de negócio relacionadas a rotina>.

 

Rotina

Tipo de Operação

Opção de Menu

Regras de Negócio

[ACAA040 – Parâmetros]

[Alteração]

[Atualizações -> Acadêmico-> Tesouraria]

-

[ACAA050 – Negociação Financeira]

[Envolvida]

[Atualizações -> Acadêmico-> Tesouraria]

-

[ACAA060 – Cadastro de Pedidos]

[Criação]

[Atualizações -> Acadêmico-> Cadastros]

-

 

Exemplo de Aplicação:

  • Criar o campo “% Mínimo Espécie” (AAA_PERESP) onde o usuário informará o % que o aluno pagará em dinheiro. Esse % poderá ser alterado durante a negociação.
  • Criar o campo “Referência Mínima para Cálculo” (AAA_REFCAL) onde o usuário informará um dos 4 valores disponíveis para pagamento das mensalidades  como a referência mínima para calcular o débito total do aluno.
  • Criar o parâmetro MV_ACPARNE que definirá se as informações de “% Mínimo Espécie” e “Referência Mínima para Cálculo” serão obrigatórias.
  • O parâmetro MV_ACPARNE deve ter as seguintes opções: 1=Obrigatório e 2=Opcional. Deve ser inicializado como opcional>.

 

Tabelas Utilizadas

A criação dos objetos de comunicação com os serviços da Amazom, deverá ser encapsulada em uma função. A ideia da função é centralizar a criação dos objetos, facilitando sua criação e e controle sobre a quantidade de instâncias a serem criadas. Deverá ser criada uma rotina para a criação das Filas de processamento e uma para a Criação das Listas de Respostas. 

 

O escopo dos objetos será por Thread, devendo haver apenas uma única instância para cada fila de documento. As instâncias deverão ser armazenadas em um array com escopo static, relacionado com o nome da fila e modelo do documento.

 

Definir as seguintes funções: initQueue(), QueueFactory(), initList(), ListFactory()

 

 

 

 

 

Função: InitQueue()

 

Função responsável por carregar o array com as filas/listas a serem instâncias.

 

A função deverá definir e retornar um array para as seguintes filas com a seguinte estrutura:

 

{"GENERIC", "GENERIC_QUEUE", nil}

 

{"CFG"    , "CFG_QUEUE"    , nil}            

 

{"NFE"    , "NFE_QUEUE"    , nil}

 

{"NFCE"   , "NFCE_QUEUE"   , nil}

 

{"MDE"    , "MDE_QUEUE"    , nil}

 

{"CTE"    , "CTE_QUEUE"    , nil}     

 

{"MDFE"   , "MDFE_QUEUE"   , nil}

 

{"GNRE"   , "GNRE_QUEUE"   , nil}

 

{"NFSE"   , "NFSE_QUEUE"   , nil}

 

{"ESOCIAL", "ESOCIAL_QUEUE", nil}

 

{"RECOPI" , "RECOPI_QUEUE" , nil}

 

{"DIE"    , "DIE_QUEUE"    , nil}

 

{"DMS"    , "DMS_QUEUE"    , nil}

 

{"OUTROS" , "OUTROS_QUEUE" , nil}

 

 

 

Parâmetros:

 

Nil

 

 

 

Retorno:

 

aQueue – Array com os dados da Fila

 

 

 

Função: QueueFactory()

 

Função responsável por gerenciar as instâncias das filas definidas no array aQueue.

 

A função receberá como parâmetro, o identificador da Fila, uma variável por referência para a retorno da instância do objeto e uma variável para a referência de erro no processo de criação. A rotina deverá realizar uma busca no array aQueue de acordo com o modelo do documento recebido no parâmetro. Caso a referência esteja nula, a fila deverá ser instânciada e atribuída ao array aQueue, caso contrário basta retornar a referência de instancia do array.

 

O processo de instancia fila é realizado através da construção do objeto seguida da configuração de Setup que será realizada no ambiente da Amazon.

 

Os parâmetros para a configuração do Setup, deverão ser obtidos através de parâmetros definidos a seção CLOUD do arquivo appserver.ini. Os parâmetros deverão possuir escopo do tipo “STATIC”. Os seguintes parâmetros deverão ser definidos:

 

 

 

QUEUEZONE: Identifica a região de localização da Fila. Definir parâmetros

 

QUEUECRED: Identifica o código de credito para utilização da Fila.

 

QUEUECREDKEY: Identifica chave de acesso.

 

 

 

Qualquer falha durante o processo, a variável cError deverá ser preenchida com a descrição da falha ocorrida e a rotina deverá retornar falso. Em caso de sucesso a função retornará status verdadeiro e a referência da fila atribuída a variável recebida para a referência.

 

 

 

Parâmetros:

 

cDocModel – Identificador do modelo de documento para a criação da Fila.

 

oQueue – Variável para referência da instância da Fila

 

cError – Variável para referência de erros durante no processo de criação da Fila.

 

 

 

Retorno:

 

lRet – Status do Retorno da criação da Fila(Sucesso = verdadeiro(.T.); Falha = Falso(.F.) )

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Função: InitList()

 

Função responsável por carregar o array com as filas/listas a serem instâncias.

 

A função deverá definir e retornar um array para as seguintes filas com a seguinte estrutura:

 

{"GENERIC", "GENERIC_LIST", nil}

 

{"CFG"    , "CFG_LIST"     , nil}      

 

{"NFE"    , "NFE_LIST"     , nil}

 

{"NFCE"   , "NFCE_LIST"    , nil}

 

{"MDE"    , "MDE_LIST"     , nil}

 

{"CTE"    , "CTE_LIST"     , nil}

 

{"MDFE"   , "MDFE_LIST"    , nil}

 

{"GNRE"   , "GNRE_LIST"    , nil}

 

{"NFSE"   , "NFSE_LISt"    , nil}

 

{"ESOCIAL", "ESOCIAL_LIST", nil}

 

{"RECOPI" , "RECOPI_LIST" , nil}

 

{"DIE"    , "DIE_LIST"     , nil}

 

{"DMS"    , "DMS_LIST"     , nil}

 

{"OUTROS" , "OUTROS_LIST" , nil}

 

 

 

Função: ListFactory()

 

Função responsável por gerenciar as instâncias das Listas definidas no array aList.

 

A função receberá como parâmetro, o identificador da Lista, uma variável por referência para a retorno da instância do objeto e uma variável para a referência de erro no processo de criação. A rotina deverá realizar uma busca no array aList de acordo com o modelo do documento recebido no parâmetro. Caso a referência esteja nula, a Lista deverá ser instânciada e atribuída ao array aList, caso contrário basta retornar a referência de instância do array.

 

O processo de instancia da Lista será realizado através da construção do objeto seguida da configuração de Setup que será realizada no ambiente da Amazon.

 

Os parâmetros para a configuração do Setup, deverão ser obtidos através de parâmetros definidos na seção CLOUD do arquivo appserver.ini. Os parâmetros deverão possuir escopo do tipo “STATIC”. Os seguintes parâmetros deverão ser definidos:

 

 

 

REDISHOST: Identifica o endereço do servidor Redis.

 

REDISPORT: Identifica a Porta do servidor Redis

 

 

 

Qualquer falha durante o processo, a variável cError deverá ser preenchida com a descrição da falha ocorrida e a rotina deverá retornar falso. Em caso de sucesso a função retornará status verdadeiro e a referência da Lista atribuída a variável recebida para a referência.

 

 

 

Parâmetros:

 

cDocModel – Identificador do modelo de documento para a criação da Fila.

 

oList – Variável para referência da instância da Fila

 

cError – Variável para referência de erros durante no processo de criação da Fila.

 

 

 

Retorno:

 

lRet – Status do Retorno da criação da Lista(Sucesso = verdadeiro(.T.); Falha = Falso(.F.) )

 

 

 

  • SE2 – Cadastro de Contas a Pagar
  • FI9 – Controle de Emissão de DARF>.

    Opcional

    Protótipo de Tela

     

    <Caso necessário inclua protótipos de telas com o objetivo de facilitar o entendimento do requisito, apresentar conceitos e funcionalidades do software>.

     

    Protótipo 01

     

     

     

     

     

     

     

     

     

    Opcional

    Fluxo do Processo

     

    <Nesta etapa incluir representações gráficas que descrevam o problema a ser resolvido e o sistema a ser desenvolvido. Exemplo: Diagrama - Caso de Uso, Diagrama de Atividades, Diagrama de Classes, Diagrama de Entidade e Relacionamento e Diagrama de Sequência>. 

    Opcional

    Dicionário de Dados

     

    Arquivo ou Código do Script: AAA – Negociação Financeira / *Versao=CP.2014.12_03*/

      

    Índice

    Chave

    01

    <FI9_FILIAL+FI9_IDDARF+FI9_STATUS>

    02

    <FI9_FILIAL+FI9_FORNEC+ FI9_LOJA+FI9_EMISS+FI9_IDDARF>

    03

    <FI9_FILIAL+FI9_FORNEC+ FI9_LOJA+FI9_PREFIX+FI9_NUM+FI9_PARCEL+FI9_TIPO>

    Campo

    <AAA_PERESP>

    Tipo

    <N>

    Tamanho

    <6>

    Valor Inicial

    <Varia de acordo com o tipo informado. Por exemplo, quando o campo “tipo” for date, neste campo pode ser informado uma data>. 

    Mandatório

    Sim (  ) Não (  )

    Descrição

    <Referência Mínima para Cálculo>

    Título

    <Ref.Calc.>

    Picture

    <@E999.99>

    Help de Campo

    <Informar o % que o aluno pagará em dinheiro. Esse % poderá ser alterado durante a negociação>

     

    (Opcional)

    Grupo de Perguntas

     

    <Informações utilizadas na linha Protheus>.

     

    Nome: FINSRF2

    X1_ORDEM

    01

    X1_PERGUNT

    Emissão De

    X1_TIPO

    D

    X1_TAMANHO

    8

    X1_GSC

    G

    X1_VAR01

    MV_PAR01

    X1_DEF01

    Comum

    X1_CNT01

    '01/01/08'

    X1_HELP

    Data inicial do intervalo de emissões das guias de DARF a serem consideradas na seleção dos dados para o relatório 

     

    (Opcional)

    Consulta Padrão

    <Informações utilizadas na linha Protheus>

     

    Consulta: AMB

    Descrição

    Configurações de Planejamento

    Tipo

    Consulta Padrão

    Tabela

    “AMB”

    Índice

    “Código”

    Campo

    “Código”; ”Descrição”

    Retorno

    AMB->AMB_CODIGO

     

    (Opcional)

    Estrutura de Menu

     

    <Informações utilizadas na linha Datasul>.

     

    Procedimentos

     

    Procedimento

     

     

     

    Descrição

    (Max 40 posições)

    (Max 40 posições)

    (Max 40 posições)

    Módulo

     

     

     

    Programa base

     

     

     

    Nome Menu

    (Max 32 posições)

    (Max 32 posições)

    (Max 32 posições)

    Interface

    GUI/WEB/ChUI/Flex

    GUI/WEB/ChUI/Flex

    GUI/WEB/ChUI/Flex

    Registro padrão

    Sim

    Sim

    Sim

    Visualiza Menu

    Sim/Não

    Sim/Não

    Sim/Não

    Release de Liberação

     

     

     

     

     

     

    Programas

     

    Programa

     

     

     

    Descrição

    (Max 40 posições)

    (Max 40 posições)

    (Max 40 posições)

    Nome Externo

     

     

     

    Nome Menu/Programa

    (Max 32 posições)

    (Max 32 posições)

    (Max 32 posições)

    Nome Verbalizado[1]

    (Max 254 posições)

    (Max 254 posições)

    (Max 254 posições)

    Procedimento

     

     

     

    Template

    (Verificar lista de opções no man01211)

    (Verificar lista de opções no man01211)

    (Verificar lista de opções no man01211)

    Tipo[2]

    Consulta/Manutenção/ Relatório/Tarefas

    Consulta/Manutenção/ Relatório/Tarefas

    Consulta/Manutenção/ Relatório/Tarefas

    Interface

    GUI/WEB/ChUI/Flex

    GUI/WEB/ChUI/Flex

    GUI/WEB/ChUI/Flex

    Categoria[3]

     

     

     

    Executa via RPC

    Sim/Não

    Sim/Não

    Sim/Não

    Registro padrão

    Sim

    Sim

    Sim

    Outro Produto

    Não

    Não

    Não

    Visualiza Menu

    Sim/Não

    Sim/Não

    Sim/Não

    Query on-line

    Sim/Não

    Sim/Não

    Sim/Não

    Log Exec.

    Sim/Não

    Sim/Não

    Sim/Não

    Rotina (EMS)

     

     

     

    Sub-Rotina (EMS)

     

     

     

    Localização dentro da Sub Rotina (EMS)

     

     

     

    Compact[4]

    Sim/Não

    Sim/Não

    Sim/Não

    Home[5]

    Sim/Não

    Sim/Não

    Sim/Não

    Posição do Portlet[6]

    0 – Top Left

    1 – Top Right

    2 – Bottom Left

    3 – Bottom Right

    0 – Top Left

    1 – Top Right

    2 – Bottom Left

    3 – Bottom Right

    0 – Top Left

    1 – Top Right

    2 – Bottom Left

    3 – Bottom Right

    Informar os papeis com os quais o programa deve ser vinculado

     

     

     

     

    Cadastro de Papéis

    <O cadastro de papéis é obrigatório para os projetos de desenvolvimento FLEX a partir do Datasul 10>.

    <Lembrete: o nome dos papeis em inglês descrito neste ponto do documento, devem ser homologados pela equipe de tradução>.

     

    Código Papel

    (máx 3 posições)

    Descrição em Português*

     

    Descrição em Inglês*

     


    [1] Nome Verbalizado é obrigatório para desenvolvimentos no Datasul 10 em diante.

    [2] Tipo é obrigatório para desenvolvimento no Datasul 10 em diante

    [3] Categorias são obrigatórias para os programas FLEX.

    [4] Obrigatório quando o projeto for FLEX

    [5] Obrigatório quando o projeto for FLEX

    [6] Obrigatório quando o projeto for FLEX

     Este documento é material de especificação dos requisitos de inovação, trata-se de conteúdo extremamente técnico.