Este documento é material de especificação dos requisitos de inovação, trata-se de conteúdo extremamente técnico. |
---|
Especificação | |||
Produto | Datasul | Módulo | Vendas, Compras e Armazenagem de Grãos |
Segmento Executor | Agroindústria | ||
Projeto1 | Integrar Originação de Grãos ao Sistema Externo Hedge Moeda | IRM1 | |
Requisito1 | Subtarefa1 | ||
Chamado2 |
| ||
País | ( X ) Brasil ( ) Argentina ( ) Mexico ( ) Chile ( ) Paraguai ( ) Equador ( ) USA ( ) Colombia ( ) Outro _____________. | ||
Outros | <Caso necessário informe outras referências que sejam pertinentes a esta especificação. Exemplo: links de outros documentos ou subtarefas relacionadas>. |
Legenda: 1 – Inovação 2 – Manutenção (Os demais campos devem ser preenchidos para ambos os processos).
Permitir a integração dos negócios efetuados, através de Trade Slip, com sistema externo para hedge de moeda. O sistema externo não faz parte deste projeto, apenas a integração através de WS, conforme layouts predeterminados.
Como piloto para a integração, está sendo usado o sistema externo do cliente Cofco (antes Noble). Na Cofco, o projeto Hedge Traceability surgiu da necessidade de ter a garantia que de todos os processos de compra e venda (TradeSlip) de grãos terem seus valores (em reais) com hedges executados. Essa execução hoje é feita de forma manual e deverá ser feita automaticamente entre o Datasul e sistema externo para assegurar que as informações estejam iguais nos dois sistemas.
Esta 1ª fase compreende: efetuar o registro de negócios, ou seja Trade Slip de Compras e Vendas, de forma facilitada, para que seja possível a integração destes negócios com sistema externo de hedge de moeda.
Rotina | Tipo de Operação | Opção de Menu | Regras de Negócio |
GG1024-Parâmetros Integração Grãos | Criação/NOVO | Cadastros | - |
GG1034-Finalidade Negócio | Criação/NOVO | Cadastros | - |
GG1014-Componentes de Preço | Alteração | Cadastros | - |
GG1094-Limites de Aprovação | Alteração | Cadastros | - |
Gg1005B-Parâmetros Comerciais Itens Grãos | Alteração | Cadastros | - |
GG5010-Calendário Bolsa | Alteração | Cadastros | - |
GG1065-Porto Base | Alteração | Cadastros | - |
GG0103-Registro Negócios | Criação/NOVO | Tarefas | - |
GG0104-Monitor Hedge | Criação/NOVO | Tarefas | - |
GG1001b-Detalhe Contrato Compras | Alteração | Tarefas | - |
GG1091-Detalhe Contrato Vendas | Alteração | Tarefas | - |
GG1034 - Finalidade Negócios
Objetivo: Parametrizar as opções de finalidade de negócios, como exemplo: Exportação, Esmagamento e Vendas no Mercado interno. A finalidade será solicitada no Trade Slip e seguirá para o contrato.
Tabelas Utilizadas:
Campos:
Considerações:
GG1024 - Parâmetros Integração Grãos
Objetivo: Parametrizar as integrações do módulo de originação de grãos.
Tabelas Utilizadas:
Campos:
Considerações:
A exemplo do que existe no programa setup-graos.w, exemplo arquivo gg532.d, criar um arquivo .d com o dump da tabela, com as seguintes opções:
Código | Descrição | Ativo |
1 | Romaneio Produção PIMS | Não |
2 | Hedge Moeda Sistema Externo | Não |
Explo:
GG1014 - Componentes de Preço
Objetivo: Incluir parâmetros para permitir registrar Trade Slip de forma facilitada, ou seja o pré-ts, apresentando em tela apenas os componentes essenciais.
Tabelas Utilizadas:
Considerações:
VIEW-AS "view-as radio-set vertical radio-buttons {gginc/i02gg017.i 2}"
A include i02gg017.i deve ter as opções:
&glob val1 %
&glob val2 Valor
&glob val3 Total
No programa para o campo Forma (gg-comp-preco.ind-forma) usar a include e não deixar fixo no fonte. Ver exemplo GG1109B, pasta Movimento, campo fat-gerador. Se não tiver espaço em tela, mudar de radio-set para combo-box.
Sempre que o usuário escolher a opção Total, deve passar o campo ind-calculo para “Informativo” e desabilitar o campo ind-calculo.
VIEW-AS "view-as radio-set vertical radio-buttons {gginc/i03gg017.i 2}"
A include i03gg017.i deve ter as opções:
&glob val1 Preço
&glob val2 Custo
&glob val3 Informativo
&glob val4 Royalties
&glob val5 Revisão
&glob val6 Preço Calculado
&glob val7 Preço Proposto
VIEW-AS "view-as radio-set vertical radio-buttons {gginc/i04gg017.i 2}”. Pode mudra de radio-set para combo-box, com as opções da include.
&glob val1 Padrão
&glob val2 Origem-Porto
&glob val3 Tabela p/Item
&glob val4 Programa Cálculo
Importante: A opção Programa de Cálculo estará disponível apenas para quando utilizar a rotinas de Novos Negócios (GG0103).
OBS.: para as opções das literais das includes novas (i02gg017.i 2, i03gg017.i e i04gg017.i), abrir chamado para tradução, caso não tenha ainda os termos traduzidos. Exemplo chamado TTYBCW.
Importante: As informações desta pasta serão utilizadas apenas na rotina de Novos Negócios (GG0103).
gg-comp-preco.log-pre-slip
gg-comp-preco.idi-hedge-dat – usar include {gginc/i01gg017.i 2}. Opções que devem estar na include: Data Pagamento, Data Exportação, Data Embarque. Apresentação em tela como combo-box, conforme opção da include.
gg-comp-preco.num-ord
gg-comp-preco.cod-comp-ext
Importante: Somente poderá informar dados para gerar título ou no contas a receber ou contas a pagar. Um componente somente poderá gerar um título no Trade Slip de cancelamento.
Estava deixando informar componentes relacionados apenas quando o campo gg-comp-preco.ind-forma = 1 /* % */, alterar para deixar informar componentes relacionados também quando o campo gg-comp-preco.ind-forma = 3 /* Total*/.
Incluir novo atributo:
gg-comp-perc.idi-operac, ver a include (gginc/i01gg016.i) para o radio-set com as opções:
&glob val1 Somar
&glob val2 Diminuir
Obs.: A operação ‘Padrão’ será usada para manter o legado, quando o campo não tiver informação (=0), e neste caso seguirá o tipo de cálculo do componente Preço (+) e Custo (-).
Ao incluir a gg-comp-porto, validar que não exista na tabela outro registro com a mesma chave primária e única: cod-comp+ cod-porto.
Caso a integração de Moeda esteja ativa (can-find (first gg-param-integr no-lock where gg-param-integr.cdn-integr = 2 /* hedge moeda */ and gg-parma-integr.log-ativo = yes)), solicitar novos campos abaixo, caso contrário, esconder os campos da tela.
gg-param-item.log-heddge-moeda (label “Hedge Moeda”)
gg-param-item.ind-hedge (criar include 1 – Manual 2 – Integração)
GG1094 - Limites Aprovação
Objetivo: Incluir NOVOS limites para o registro de negócios (Trade Slip).
Tabelas Utilizadas:
Considerações:
10 "Registrar Trade Slip Pendente" 2 1 1 "" "" 0 0 0 0 no no ? ?
11 "Aprovar Trade Slip Pendente" 2 1 1 "" "" 0 0 0 0 no no ? ?
12 "Alterar Trade Slip" 2 1 1 "" "" 0 0 0 0 no no ? ?
GG1005B - Parâmetros Comerciais Itens Grãos
Objetivo: Incluir novos parâmetros para integração com sistema de Hedge Moeda.
Tabelas Utilizadas:
GG5010 - Calendário Bolsa
Objetivo: Incluir novo atributo Quantidade Contrato na Bolsa. Exemplo para CBOT Soja: um contrato igual a 27.000 kg.
Tabelas Utilizadas:
Considerações:
GG1067 - Porto Base (GG1067)
Objetivo: Incluir novo atributo Nome Abreviado do Porto.
Tabelas Utilizadas:
Considerações:
GG0103 - Novos Negócios
Objetivo: Registrar as propostas de novos negócios, como Compras, Vendas, Fixação de Preço e de Componentes de Preços.
Tabelas Principais Utilizadas:
Considerações:
Modelo: Thin maintenance (Thin Template).
Tela: GG0103 – Novos Negócios
Grid: Situação, Tipo Doc (Compra/Venda), Num Trade Slip, Contrato, Dt Neg, Tp Trade, Tp Fixação, Estabel, Safra, Item, Descr.Item, Prazo Fix., Frete, Taxa, , Componente 1*, Cotação 1*, Componente N*, Cotação N*, F.Porto, Porto, Finalidade, Dat Export, Mes Ano Emb, Dat.Pagto, Qtd Contrato, Qtd Fixada, Qtd a Fixar, Cod. Emit, Nome Fornecedor, Cidade Origem, Estado Orig, Km chão, Km Asfalto, Dt Fim Entr, Dt Ini Entr, Comprador, Moeda, Sigla.
* Obs: componentes serão gerados dinamicamente de acordo com o trade slip listado na grid.
Botões da Tela:
Situações do gg-negocio/gg-negocio-vmi:
=> Trader acabou de incluir, situação passa para: Pendente(1)
=> Aprovador Aprova Proposta do Negócio, situação passa para: Aprov Banking(6) (nesta situação vai para SBM e fica esperando)
=> Recebe Retorno SBM, situação passa para: Aprov Margem(3)
=> Aprovador Aprova Margem, situação passa para: Completar(7) (esta opção apenas para TS Novos Contratos, e está aguardando cadastrar os dados faltantes e atualizar Contrato)
=> Trade Slip a completar é selecionado, complementado as informações e confirma: Atualizado(2) (esta opção já vai estar no contrato quando fixação, cancelamento, alteração. Para novas compras, se utilizar contrato automático também já será efetuada a atualização no contrato).
Obs.: precisa ajustar a include da gg-negocio.ind-situacao e gg-negocio-vmi.ind-situacao para ter a opção 7 – Completar.
Criar tela para informar os componentes para margem de compra, margem de venda e componente Resumo as serem utilizados na geração dos resumos a serem apresentados na parte inferior da tela.
O campo familia quando informada irá filtrar os trade slip de acordo com a seleção e que os itens sejam da mesma familia
Para margem de Compra sugerir a margem que está definida no parâmetros originação na pasta Originação. (gg-param.cod-comp-ajuste).
Para margem de Venda sugerir a margem que está definida no parâmetros originação na pasta Vendas. (gg-param.cod-comp).
Para componente Resumo sugerir a informação que está definida no parâmetros originação na pasta Originação (gg-param.char-1,66,15).
O agrupador Atualização, quando manual, será necessário acionar o botão de atualização para refazer as pesquisa dos dados apresentados no browse, porém, quando estiver marcado como automático, o sistema fará a pesquisa automaticamente a cada X segundos conforme definido no campo.
Caso flag “Compra” estiver marcado será carregada tabela temporária com os dados da gg-negocio. (pode usar como explo: pi-carrega-dados da rotina GG2013)
Caso flag “Venda” estiver marcado será adicionada a tabela temporária com os dados da gg-negocio-vmi. (pode usar como explo: pi-carrega-dados da rotina gg2026).
Caso seja possível, ao efetuar a carga da tabela temporária inserir uma tela de acompanhamento, para caso necessário abotar o processo.
Caso seja acionado duplo click na grid em um contrato, será permitida a fixação do mesmo. Caso seja um TS, será efetuada a visualização.
GG0103D - Tela Inclui/Modifica: (TradeSlip Compra)
Pasta I
Agrupador “Negociação”:
Nr Trade Slip/Versão -> gg-negocio.num-trade-slip / gg-negocio.num-versao
Data Negociação -> gg-negocio.dat-trade-slip (padrão a data atual)
Contrato -> gg-negocio.cod-contrato
Estabelecimento -> gg-negocio.cod-estabel (padrão o estabelecimento do usuário gg-ext-param-re)
Fornecedor/Nome -> gg-negocio.cod-emitente / gg-negocio.nom-emit
Produto -> gg-negocio.it-codigo / item.desc-item
Refer Item > gg-negocio.cod-reer-item (somente para os itens com controle por referencia)
Safra -> gg-negocio.des-safra (após digitar o produto, trazer como padrão a safra para a data da negociação, ver exemplo no gg2000
Quantidade Ctr/UN -> gg-negocio.qtd-contrato / gg-negocio.des-un
Tipo TS -> gg-negocio.ind-trade (1-Fixação 2 – Novo 3 – Pendente 4 – Alteração 5 - Washout)
Fixação -> gg-negocio.ind-motivo (1-Preço 2-Componente)
Agrupador “Financeiro”
Tipo Preço -> gg-negocio.ind-tip-preco
Moeda Ctr -> gg-negocio.mo-cambio
1ª Data Pagto -> gg-negocio.data-1
Nr Parcelas -> gg-negocio.int-1
Agrupador “Logística”
Finalidade -> gg-negocio.cod-finalid (mostar combo-box com tabela gg-finalid)
Tipo Frete -> gg-negocio.ind-frete
Frete Porto -> gg-negocio.ind-frete-porto (1-Empresa 2 – CIF Porto)
Porto -> gg-negocio.des-porto-base
Data Export -> gg-negocio.dat-export
Mês/Ano Embarque -> gg-negocio.cod-mês-ano-emb (trazer como default, após a digitação da dat-export, se o dia da data export for >= 15, inicializar com o mês e ano da data export, se o dia for < 15, trazer o mês anterior, ter atenção no ano, caso seja janeiro, trazer mês 12 e ano anterior).
Cidade -> gg-negocio.nom-cidade-orig
UF -> gg-negocio.estado-orig
KM Adic Chão -> gg-negocio.km-adic-chao
KM Adic Asfalto -> gg-negocio.km-adic-asf
Pasta II
Agrupador “Financeiro”
Sequencia -> gg-negocio-pag.num-seq
Gera Previsão -> gg-negocio-pag.log-1
Fornecedor -> gg-negocio-pag.cod-emitente
Nome Fornecedor -> gg-negocio-pag.nome-abrev
Data Pgto -> gg-negocio-pag.dat-pagto
Portador -> gg-negocio-pag.portador
Forma Pagto -> gg-negocio-pag.forma-pagto
Moeda -> gg-negocio-pag.mo-codigo
Banco -> gg-negocio-pag.cod-banco
Agencia -> gg-negocio-pag.agencia
Conta Corrente -> gg-negocio-pag.conta-corrente
Valor Pago -> gg-negocio-pag.val-pagto
Qtde Fixada -> gg-negocio-pag.qtd-fixada
Favorecido -> gg-negocio-pag.favorecido
Obs.: mesmas informações que tem hoje no gg2015, pasta Pagamentos, porém foi incluso um campo gg-negocio-pag.cotação. Nos totais, colocar listando a média ponderada desta cotação. Label “Cot Banking”. Conforme for preenchida a informação de data de pagamento e quantidade de parcelas, fazer a inclusão automática dos registros, permitindo alterar para informar as outras datas, e valores. Ao informar o valor, se tiver preço proposto, calcular a quantidade, e caso informar a quantidade calcular o valor.
Pasta III
Agrupador “Geral”
Tipo Compra -> gg-negocio.cod-tipo-compra / descrição tipo compra
Fim exportação -> gg-negocio.log-exportacao
Prazo Entrega -> gg-negocio.dat-ini-embarque gg-negocio.dat-entrega-final
Estabel Adm -> gg-negocio.cod-establ-adm / descrição do estabel
Limite Fixação -> gg-negocio.dat-prazo-fix (se não tiver informação no gg-param-item, inicializar com 31/12/9999).
Modalidade -> gg-negocio.ind-modal
Referência -> gg-negocio.cod-referencia / descrição referencia
Operação -> gg-negocio.cod-operacao / descrição operação
Comprador -> gg-negocio.cod-comprado / descrição comprador
Endereço -> gg-negocio.des-endereço
Agrupador “Corretor”
Fornecedor/Corretor -> gg-negocio.cod-corretor / nome do corretor/emitente
Referência Corretor -> gg-negocio.cod-refer-corretor
Valor Corretagem -> gg-negocio.val-corretagem
% Comissão -> gg-negocio.val-comis
Agrupador “Gerar Contrato Automaticamente”
Descrição -> gg-contrato.des-contrato (Descrição do contrato e quando informado o sistema entenderá que ao ser gerado TS também será gerado contrato automaticamente)
Inscrição -> gg-contrato.cod-inscricao
Matricula -> gg-contrato.cod-matricula
Grupo de Imposto -> gg-contrato.cod-grupo
Flag "Recebe Outras Inscrições?" -> gg-contrato.log-aceita-incr
Flag "Recebe Outras Filiais?" -> gg-contrato.log-aceita-filiais
Compra Disponível -> -> gg-contrato.log-compra-disponivel
Local classificação -> gg-contrato.ind-local-clas
Peso Líquido -> gg-contrato.ind-local-pes
Linha de Alteração dos componentes:
Componente (gg-negocio-comp.cod-comp, somente altera os componentes que podem ser alterados gg-negocio-comp.tipo-entrada = 2 /* Informar */)
Moeda (gg-negocio-comp.mo-codigo, somente altera quando quando gg-negocio-comp.ind-calculo = 7 /* Preço Proposto*/)
Qtd à Fixar (gg-negocio-comp.qtd-a-fixar)
Cotação (gg-negocio-comp.dec-1)
Grid: Componente -> gg-negocio-comp.cod-comp,
Ano/Mês -> gg-negocio-comp.mes-ano,
Moeda -> gg-negocio-comp.mo-codigo,
Un -> gg-negocio-comp.des-un,
Qtde Fixada -> gg-negocio-comp.qtd-fixada,
Valor -> gg-negocio-comp.val-fixada,
Qtde a Fixar -> gg-negocio-comp.qtd-a-fixar,
Valor -> gg-negocio-comp.val-a-fixar,
U$/Ton ->Calculado,
Cotação ->gg-negocio-comp. val-cotac,
Vl Total -> Calculado,
Vl Original -> gg-negocio-comp.val-original.
GG1003E -Tela Inclui/Modifica: (TradeSlip Venda)
Pasta trade Slip:
Agrupador “Negociação”:
Nr Trade Slip/Versão -> gg-negocio-vmi.num-trade-slip / gg-negocio-vmi.num-versao
Data Negociação -> gg-negocio-vmi.dat-trade-slip (padrão a data atual)
Contrato -> gg-negocio-vmi.cod-contrato / gg-contrato.des-contrato
Estabelecimento -> gg-negocio-vmi.cod-estabel (padrão o estabelecimento do usuário gg-ext-param-re)
Cliente/Nome -> gg-negocio-vmi.cod-emitente / gg-negocio-vmi.nom-emit
Item -> tt-gg-negocio-vmi.it-codigo / item.desc-item (criar campo na tt it-codigo)
Refer Item -> tt-gg-negocio-vmi.cod-refer-item (somente para itens com controle pro referencia, criar campo na tt cod-refer-item)
gg-negocio-vmi.ind-motivo (1-Preço 2-Componente)
gg-negocio-vmi.ind-trade (1-Fixação 2 – Novo 3 – Pendente 4 – Alteração 5 - Cancelamento)
Quantidade Ctr/UN -> tt-gg-negocio-vmi.qtd-contrato / tt-gg-negocio-vmi.des-un (criar campos na tt).
gg-negocio-vmi.num-trad-slip-relac
gg-negocio-vmi.num-vers-relac
tt-gg-negocio-vmi.val-preco-inf-1 (criar campo na tt)
tt-gg-negocio-vmi.val-comp-marg-fim-2 (criar campo na tt)
Agrupador “Financeiro”
Tipo Preço -> gg-negocio-vmi.ind-tip-preco
Moeda Ctr -> gg-negocio-vmi.mo-cambio / moeda.descricao
Forma Pagto -> gg-negocio-vmi.ind-tipo-pagto (colocar combo-box)
Cond Pagto -> gg-negocio-vmi.cod-cond-pag / descriçãod a condição
1ª Data Pagto -> gg-negocio-vmi.data-1
Nr Parcelas -> gg-negocio-vmi.int-1
Somente solicitar data de pagamento e nr de parcelas, se cod-cond-pag = 0. Quando for informado a data de pagamento, incluri registro no browser da Pag2, gg-negocio-vmi-cond.
Agrupador “Logística”
Finalidade -> gg-negocio-vmi.cod-finalid (mostar combo-box com tabela gg-finalid)
Tipo Frete -> gg-negocio-vmi.ind-frete
Frete Porto -> gg-negocio-vmi.ind-frete-porto (1-Empresa 2 – CIF Porto)
Porto -> gg-negocio-vmi.des-porto-base / nome porto ao lado
Data Export -> gg-negocio-vmi.dat-export
Safra -> gg-negocio-vmi.des-safra (após digitar o item, trazer como padrão a safra para a data da negociação, ver exemplo no gg2000)
Mês/Ano Embarque -> gg-negocio-vmi.cod-mês-ano-emb (trazer como default, após a digitação da dat-export, se o dia da data export for >= 15, inicializar com o mês e ano da data export, se o dia for < 15, trazer o mês anterior, ter atenção no ano, caso seja janeiro, trazer mês 12 e ano anterior).
Local Entrega -> tt-gg-negoico-vmi.local-ent (criar campo na tt e guardar campo livre da gg-negocio-vmi). Se for informado local de entrega, buscar no local a cidade e uf, para inicializar os próximos 2 campos.
Cidade -> tt-gg-negocio-vmi.nom-cidade-orig (criar campo na tt e guardar campo livre da gg-negocio-vmi)
UF -> tt-gg-negocio-vmi.estado-orig (criar campo na tt e guardar campo livre da gg-negocio-vmi)
Pasta II
Agrupador “Cond Especiais”
gg-negocio-vmi-cond.nr-sequencia (auto incremental)
gg-negocio-vmi-cond.data-pagto
gg-negocio-vmi-cond.perc-pagto
gg-negocio-vmi-cond.nr-dias-venc
gg-negocio-vmi-cond.dec-2 (quantidade)
gg-negocio-vmi-cond.vl-pagto
gg-negocio-vmi-cond.dec-1 (cotação)
OBs.: Nos totais, colocar listando a média ponderada da cotação. Conforme for preenchida a informada de data de pagamento e quantidade de parcelas, fazer a inclusão automática dos registros, permitindo alterar para informar as outras datas, e valores. Ao informar o valor, se tiver preço proposto, calcular a quantidade, e caso informar a quantidade calcular o valor.
Exemplo: No gg2027 tem esta tela abaixo, porém fazer conforme o padrão de compras.
Pasta III
Cli Rem Tri -> gg-negocio-vmi.cdn-clien-remes-trian / nome emitente.nome-emit
Fim exportação -> gg-negocio-vmi.log-exportacao
Prazo Entrega -> gg-negocio-vmi.dat-ini-embarque gg-negocio-vmi.dat-entrega-final
Estabel Adm -> gg-negocio.cod-establ-adm / descrição do estabel
Limite Fixação -> gg-negocio-vmi.dat-prazo-fix (se não tiver informação no gg-param-item, inicializar com 31/12/9999).
Cadência Cobrança -> gg-negocio-vmi.qtd-cadencia
Cadência Embarque -> gg-negocio-vmi.qtd-cadencia-emb (trazer como padrão a quantidade informada na pasta I)
Contrato Compra -> gg-negocio-vmi.cod-contrato-comp / gg-contrato.des-contrato
% Juros ->gg-negocio-vmi.val-perc-juros
Dt Início Juros -> gg-negocio-vmi.dat-inicio-juros
Referência -> gg-negocio-vmi.cod-referencia / descrição referencia
Operação -> gg-negocio-vmi.cod-operacao / descrição operação
Região -> gg-negocio-vmi.nome-ab-reg
Vendedor -> gg-negocio-vmi.cod-comprado / descrição comprador (trazer como padrão usuário logado)
Observação -> gg-negocio-vmi.des-observacao
Agrupador “Corretor”
Corretor -> gg-negocio-vmi.cod-corretor / nome do corretor/emitente
Repres -> gg-negocio-vmi.cod-rep / repres.nome
Referência Corretor -> gg-negocio-vmi.cod-refer-corretor
% Comissão -> gg-negocio-vmi.val-comis
% Emis -> gg-negocio.perc-emis
Linha de Alteração dos itens:
Fazer um browser conforme o gg2027, porém ao confirmar o TS de vendas, fazer a inclusão automática de uma linha de tt-negocio-vmi-prod. Usar como padrão o local de entrega padrão do cliente. Se o usuário quiser, entra para modificar e ajustar. Os componentes de preço podem ficar ligados ao 1º item, e caso tiver divisão, ao confirmar, replica valores para as divisões.
Linha de Alteração dos componentes:
Componente (gg-negocio-vmi-comp.cod-comp, somente altera os componentes que podem ser alterados gg-negocio-vmi-comp.tipo-entrada = 2 /* Informar */)
Monitor Hedge (GG0104)
Objetivo: Consultar os movimentos de solicitação de Hedge de Moeda, bem como efetuar reenvio, em caso de erro na tentativa de envio quando da aprovação de novos trade slips ou movimentos de baixa.
Tabelas Principais Utilizadas:
Considerações:
Trazer todos gg-hedge conforme o filtro:
gg-hedge.idi-modul FORMAT ">9" LABEL “Tp Contrato" (include 1-Compra 2 –Venda)
gg-hedge.num-trad-slip FORMAT ">>>>,>>9" LABEL "Trade Slip"
gg-hedge.num-vers FORMAT ">>>>9" LABEL "Numero da Versão"
gg-hedge.cod-comp FORMAT "x(15)" LABEL "Componente"
gg-hedge.ind-situacao FORMAT "9" LABEL "Situação" (include 1 – Pendente, 2 – Confirmado, 3 – Cancelado)
gg-hedge.dat-hedge FORMAT "99/99/9999" LABEL "Data Hedge"
gg-hedge.val-fixac FORMAT "->>>,>>>,>>9.9999" LABEL "Valor Fixação"
gg-hedge.cod-boleta FORMAT "x(30)" LABEL "Num Boleto"
gg-hedge.val-cotac FORMAT ">>>,>>>,>>9.99999999" LABEL "Cotação"
gg-hedge.dat-mov FORMAT "99/99/9999" LABEL "Data Mov"
gg-hedge.cdn-hr-mov FORMAT ">>>,>>9" LABEL "Hora Mov"
gg-hedge.dat-ret FORMAT "99/99/9999" LABEL "Data Ret"
gg-hedge.cdn-hr-ret FORMAT ">>>,>>9" LABEL "Hora Ret"
gg-hedge.val-sdo-fixac FORMAT "->>>,>>>,>>9.9999" LABEL "Vl Saldo Hedge"
gg-hedge.ind-forma FORMAT "9" LABEL "Forma"
gg-hedge.cod-usuario FORMAT "x(12)" LABEL "Código Usuário"
gg-hedge.qtd-fixac FORMAT "->>>,>>>,>>9.9999" LABEL "Quantidade Fixação"
gg-hedge.qtd-sdo-fixac FORMAT "->>>,>>>,>>9.9999" LABEL "Qtd Sdo Hedge"
gg-hedge.ep-codigo FORMAT "x(03)" LABEL "Empresa"
gg-hedge.cod-contrato FORMAT "x(20)" LABEL "Contrato"
gg-hedge.it-codigo FORMAT "x(16)" LABEL "Item"
gg-hedge.cod-item-ext FORMAT "x(30)" LABEL "Item Ext"
gg-hedge.cod-comp-ext FORMAT "x(30)" LABEL "Comp Ext"
gg-hedge.num-id-hedge FORMAT ">>>>>>>>>9" LABEL "Num id Hedge"
Trader todos gg-hedge-mov, referente a solicitação de hedge, que estiver selecionado no 1º browser:
gg-hedge-mov.idi-trans FORMAT ">9" LABEL "Transação" (include 1-Baixa Pagto, 2-Cancelamento)
gg-hedge-mov.ind-situacao FORMAT "9" LABEL "Situação" (include 1 – Pendente, 2 – Confirmado, 3 – Cancelado)
gg-hedge-mov.val-movto FORMAT "->>>,>>>,>>9.9999" LABEL "Val Movto"
gg-hedge-mov.dat-mov FORMAT "99/99/9999" LABEL "Data Movimento"
gg-hedge-mov.cdn-hr-mov FORMAT ">>>,>>9" LABEL "Hora Movimento"
gg-hedge-mov.dat-ret FORMAT "99/99/9999" LABEL "Data"
gg-hedge-mov.cdn-hr-ret FORMAT ">>>,>>9" LABEL "Hora Retorno"
gg-hedge-mov.ind-forma FORMAT "9" LABEL "Forma Cálculo"
gg-hedge-mov.cod-usuario FORMAT "x(12)" LABEL "Código Usuário"
gg-hedge-mov.qtd-movto FORMAT "->>>,>>>,>>9.9999" LABEL "Qdt Mov"
- incluir uma variável para listar o número do fechamento, ler gg-fecha-contrat com gg-hedge-mov.num-id-fechto-contrat, e ler gg-fecha of gg-fecha-contrat, e listar gg-fecha.num-fechto / gg-fecha.num-revisao.
gg-hedge-mov.cod-estabel FORMAT "x(5)" LABEL "Estabelecimento"
gg-hedge-mov.cod-esp FORMAT "x(2)" LABEL "Esp"
gg-hedge-mov.serie-docto FORMAT "x(5)" LABEL "Série"
gg-hedge-mov.nro-docto FORMAT "x(16)" LABEL "Nro Docto"
gg-hedge-mov.nat-operacao FORMAT "x(6)" LABEL "Nat Operação"
gg-hedge-mov.cod-emitente FORMAT ">>>>>>>>9" LABEL "Emitente"
gg-hedge-mov.it-codigo FORMAT "x(16)" LABEL "Item"
gg-hedge-mov.cod-parcela FORMAT "x(02)" LABEL "Parcela"
gg-hedge-mov.num-id-hedge-mov FORMAT ">>>>>>>>>9" LABEL "Num id Mov"
Esta tela poderá ser chamada a partir de outras telas, como exemplo a GG0103, onde será passado uma global com rowid das tabelas gr-gg-negocio ou gr-gg-negocio-vmi. Ou seja, no initialize, deve verificar se a variável gr-gg-negocio é <> ? e caso sim, efetuar a leitura da tabela gg-negocio, inicializar o filtro com o número do trade slip e também o contrato, e aplicar a leitura para demonstrar os dados. Se não tiver informação na global gr-gg-negocio, fazer o mesmo para gr-gg-negocio-vmi, lendo a tabela e inicializando o filtro com o número do trade slip e contrato.
Este botão irá repetir o envio da solicitação de Hedge ou movimento de Baixa/Cancelamento. Para desenvolver o conteúdo destes botões, aguardar definição da rotina do Web Services, pois será a mesma rotina.
Este botão irá abrir uma tela solicitando as informações para retorno manual do Hedge ou movimento de Baixa/Cancelamento. Verificar uma imagem para Atualização Manual.
Integração Com Sistema De Hedge
Envio de Dados: Os métodos para envio de dados deveram estar presente na API ggapi127, comportando nessa API métodos para envio dos dados, bem como para tratamento de erros e verificação de conexão. Os métodos que serão executados são o getPreTaxaSBM, getHedge, getHedgePayment e getHedgeRollover.
CAMPO | DESCRIÇÃO | FORMATO | OBRIGATÓRIO |
Identification | Id da Transação | Inteiro | SIM |
PurchaseSell | Tipo da operação: Compra/ venda | Logical(True/False) | SIM |
AdDomain | Domínio do Solicitante do Hedge | Char | Sim |
AdUserName | Usuário do Solicitante do Hedge | Char | Sim |
LISTA DE DATAS |
| ||
Date | Data Pagamento, Exportação ou Embarque, conforme configuração do componente. | Date(YYYYMMDD) | SIM |
CAMPO | DESCRIÇÃO | FORMATO | OBRIGATÓRIO |
Identification | Id da Transação | Inteiro | SIM |
LISTA DE COMPONENTES | |||
ErrorCode | Código numérico indicando o resultado da consulta, sendo 0 para sucesso, e demais numerais como código de erro. | Inteiro | SIM |
ErrorMessage | Mensagem do SBM, quando o campo ErrorCode for diferente de 0. | Varchar(200) | NÃO |
Date | Data enviada na solicitação | Date(YYYYMMDD) | SIM |
Quotation | Valor da taxa calculada pelo SBM | Decimal (6,4) | SIM |
CAMPO | DESCRIÇÃO | FORMATO | OBRIGATÓRIO |
PurchaseSell | Tipo da operação: Compra/ venda no Originação de Grãos | Logical(True/False) | SIM |
PtsNumber | Código do Trade Slip dos componentes que serão enviados para criar o Hedge. | Char(25) | SIM |
Company | Código da empresa no Datasul | Char(3) | Sim |
AdDomain | Domínio do Solicitante do Hedge | Char | Sim |
AdUserName | Usuário do Solicitante do Hedge | Char | Sim |
LISTA DE COMPONENTES |
| ||
Sequence | Identificador do Hedge criado no Originação de Grãos | Varchar | SIM |
Component | Código Externo do Componente do Trade Slip | Varchar(30) | SIM |
ComponentIdentificaton | Identificação do componente, "Multa a pagar" ou "Multa a receber". | Varchar(3) | SIM |
BusinessUnity | Código Externo do Produto do Trade Slip | Varchar(3) | SIM |
MaturityDate | Data Pagamento, Exportação ou Embarque, conforme configuração do componente. | Date(YYYYMMDD) | SIM |
Amount | Valor total do componente | Decimal(11,2) | Sim |
ProposedExchangeRate | Taxa que será utilizada na criaçãodo pré-boleto no SBM. | Decimal(8,6) | Sim |
WashOutSequence | Identificação do Washout | Varchar | NÃO |
CAMPO | DESCRIÇÃO | FORMATO | OBRIGATÓRIO |
PurchaseSell | Tipo da operação: Compra/ venda no Originação de Grãos | Logical(True/False) | SIM |
PtsNumber | Código do Trade Slip dos componentes que serão enviados para criar o Hedge. | Char(25) | SIM |
LISTA DE COMPONENTES | |||
ErrorCode | Código numérico indicando o resultado da consulta, sendo 0 para sucesso, e demais numerais como código de erro. | Inteiro | SIM |
ErrorMessage | Mensagem do SBM, quando o campo ErrorCode for diferente de 0. | Varchar(200) | NÃO |
Sequence | Identificador do Hedge criado no Originação de Grãos | Varchar | SIM |
CAMPO | DESCRIÇÃO | FORMATO | OBRIGATÓRIO |
AdDomain | Domínio do Solicitante do Hedge | Char | Sim |
AdUserName | Usuário do Solicitante do Hedge | Char | Sim |
LISTA DE BOLETOS |
| ||
Sequence | Identificador da Reversão criado no Originação de Grãos | Varchar | SIM |
PtsIdentification | Código do Boleto no Sistema de Hedges | Varchar(30) | SIM |
Amount | Valor a ser Revertido no Sistema de Hedges | Decimal(11,2) | SIM |
IntendedAmount | Quando verdadeiro, a operação será executada. Quando falso, o valor será apenas registrado para controle. | Decimal(18,2) | SIM |
WashOutSequence | Identificação do Washout | Varchar | NÃO |
LISTA DE BOLETOS | |||
CAMPO | DESCRIÇÃO | FORMATO | OBRIGATÓRIO |
Sequence | Identificador da Reversão criado no Originação de Grãos | Varchar | SIM |
PtsIdentification | Número do novo Pré-boleto criado pelo Sistema de Hedge | Varchar(9) | SIM |
Amount | Valor a ser Revertido no Sistema de Hedges | Decimal(11,2) | SIM |
ErrorCode | Código numérico indicando o resultado da consulta, sendo 0 para sucesso, e demais numerais como código de erro. | Inteiro | SIM |
ErrorMessage | Mensagem do SBM, quando o campo ErrorCode for diferente de 0. | Varchar(200) | NÃO |
CAMPO | DESCRIÇÃO | FORMATO | OBRIGATÓRIO |
AdDomain | Domínio do Solicitante do Hedge | Char | Sim |
AdUserName | Usuário do Solicitante do Hedge | Char | Sim |
LISTA DE BOLETOS |
| ||
Sequence | Identificador da Rolagem criado no Originação de Grãos | Varchar | SIM |
PtsIdentification | Código do Boleto no Sistema de Hedges | Varchar(30) | SIM |
Amount | Valor a ser Revertido no Sistema de Hedges | Decimal(11,2) | SIM |
MaturityDate | Nova data de vencimento | Date | SIM |
LISTA DE BOLETOS | |||
CAMPO | DESCRIÇÃO | FORMATO | OBRIGATÓRIO |
Sequence | Identificador da Rolagem criado no Originação de Grãos | Varchar | SIM |
PtsIdentification | Número do novo Pré-boleto criado pelo Sistema de Hedge | Varchar(9) | SIM |
Amount | Valor a ser Revertido no Sistema de Hedges | Decimal(11,2) | SIM |
MaturityDate | Nova data de vencimento | Date | SIM |
ErrorCode | Código numérico indicando o resultado da consulta, sendo 0 para sucesso, e demais numerais como código de erro. | Inteiro | SIM |
ErrorMessage | Mensagem do SBM, quando o campo ErrorCode for diferente de 0. | Varchar(200) | NÃO |
Recebimento de Dados: Os programas para recebimento de dados estarão presentes em fontes Java e Progress, em virtude da necessidade de habilitar um serviço WSDL no Totvs Datasul. Os fontes Java estarão responsáveis por habilitar os métodos no WSDL, receber os dados e tratar os mesmos para enviar via REST API para um fonte Progress. Assim, uma api Progress será responsável por gravar as informações pertinentes e fazer as respectivas validações de negócio. Portanto, após fazer os devidos tratamentos, será retornado para os fontes Java as informações de response, as quais serão disponibilizadas para o requisitante do serviço. Para o recebimento dos dados serão criados os métodos confirmHedge, confirmHedgePayment e confirmHedgeRollover disponibilizados através da URL http://servidor_datasul:porta_servidor/WebService/DatasulSBMIntegrationService?wsdl.
LISTA DE COMPONENTES | |||
CAMPO | DESCRIÇÃO | FORMATO | OBRIGATÓRIO |
Sequencia | Sequencia o Componente | Inteiro | SIM |
Empresa | Empresa | Varchar(3) | SIM |
IdentificacaoPB | Número do Pré-boleto criado pelo SBM | Varchar(9) | SIM |
Taxa | Valor da taxa usada pelo SBM | Decimal(8,6) | SIM |
LISTA DE COMPONENTES | |||
CAMPO | DESCRIÇÃO | FORMATO | OBRIGATÓRIO |
Sequencia | Sequencia o Componente | Inteiro | SIM |
Empresa | Empresa | Varchar(3) | SIM |
IdentificacaoPB | Número do Pré-boleto criado pelo SBM | Varchar(9) | SIM |
CodigoDeErro | Código numérico indicando o resultado da consulta, sendo 0 para sucesso, e demais numerais como código de erro. | Inteiro | SIM |
MensagenDeErro | Mensagem do SBM, quando o campo CódigoDeErro for diferente de 0. | Varchar(200) | NÃO |
CÓDIGO | DESCRIÇÃO |
0 | Sucesso. |
1 | Pré-boleto já existe no sistema |
2 | Componentes não encontrados. |
3 | O dados do hedge para o componente já foram atualizados. |
4 | Situação do pTS não permite receber novos valores. |
100 | O código da sequencia não foi informado |
101 | O código do boleto não foi informado |
102 | O valor da taxa não foi informada |
103 | O código da empresa não foi informado |
999 | Erro de execução interna |
LISTA DE BOLETOS | |||
CAMPO | DESCRIÇÃO | FORMATO | OBRIGATÓRIO |
Sequencia | Sequencia da Reversão | Varchar(25) | SIM |
IdentificacaoPB | Número do Pré-boleto criado pelo SBM | Varchar(9) | SIM |
Valor | Valor informado pelo Datasul para ser Reevertido | Decimal(14,2) | SIM |
Saldo | Saldo do Pré-boleto no SBM | Decimal(14,2) | SIM |
Taxa | Cotação usada pelo SBM para reversão | Decimal(8,6) | SIM |
LISTA DE BOLETOS | |||
CAMPO | DESCRIÇÃO | FORMATO | OBRIGATÓRIO |
Sequencia | Sequencia da Reversão | Varchar(25) | SIM |
IdentificacaoPB | Número do Pré-boleto criado pelo SBM | Varchar(9) | SIM |
CodigoDeErro | Código numérico indicando o resultado da consulta, sendo 0 para sucesso, e demais numerais como código de erro. | Inteiro | SIM |
MensagenDeErro | Mensagem do SBM, quando o campo CódigoDeErro for diferente de 0. | Varchar(200) | NÃO |
CÓDIGO | DESCRIÇÃO |
0 | Sucesso |
1 | O boleto não foi encontrado |
2 | O dados do hedge para o componente já foram atualizados. |
3 | O dados do movimento não foram encontrados. |
100 | O código do boleto não foi informado |
101 | O valor não foi informado |
102 | O saldo não foi informado |
103 | A cotação utilizada não foi informada |
104 | O código da sequencia não foi informada |
999 | Erro de execução interna |
LISTA DE BOLETOS | |||
CAMPO | DESCRIÇÃO | FORMATO | OBRIGATÓRIO |
Sequencia | Sequencia da Rolagem | Varchar(25) | SIM |
IdentificacaoPB | Número do Pré-boleto antigo do SBM | Varchar(9) | SIM |
Valor | Valor informado pelo Datasul para ser Rolado | Decimal(14,2) | SIM |
Saldo | Saldo do Pré-boleto Antigo no SBM | Decimal(14,2) | SIM |
NewIdentificacaoPB | Número do novo Pré-boleto criado pelo SBM | Varchar(9) | SIM |
Taxa | Cotação utilizada pelo para a reversão do boleto | Decimal(8,6) | SIM |
NewTaxa | Cotação utilizada pelo novo pré-boleto SBM | Decimal(8,6) | SIM |
LISTA DE BOLETOS | |||
CAMPO | DESCRIÇÃO | FORMATO | OBRIGATÓRIO |
Sequencia | Sequencia da Rolagem | Varchar(25) | SIM |
NewIdentificacaoPB | Número do novo Pré-boleto criado pelo Sistema de Hedge | Varchar(9) | SIM |
CodigoDeErro | Código numérico indicando o resultado da consulta, sendo 0 para sucesso, e demais numerais como código de erro. | Inteiro | SIM |
MensagenDeErro | Mensagem do SBM, quando o campo CódigoDeErro for diferente de 0. | Varchar(200) | NÃO |
CÓDIGO | DESCRIÇÃO |
0 | Sucesso |
1 | Movimentação não encontrada |
2 | O dados do hedge para o componente já foram atualizados. |
3 | O novo pré boleto já existe no sistema. |
4 | A movimentação não é do tipo Rolagem |
100 | O código do boleto não foi informado |
101 | O código do novo boleto não foi informado |
102 | A cotação utilizada não foi informada |
103 | O valor da Rolagem não foi informado |
104 | O valor do Saldo do boleto original não foi informado. |
105 | O código da sequencia não foi informada |
106 | A taxa da reversão não foi informada |
999 | Erro de execução interna |
Outros Impactos
Programa a alterar gg5025rp-a.p, tem dois pontos onde faz a verificação:
IF gg-contrato.mo-cambio <> 0 AND gg-contrato-pre.cotacao <> 0
Precisa acrescentar mais um teste:
IF gg-contrato.mo-cambio <> 0 AND gg-contrato-pre.cotacao <> 0 and gg-contrato.mo-cambio = gg-contrato-pre.mo-codigo
Lista: ggbo/bogg598.p, ggbo/bogg605.p, gg1001-v25 (Eliminar as variáveis caso não sejam utilizadas), gg1001e-b01.w, gg1001e-b01.w, gg1001e-b05.w, gg1001e-b06.w, gg1095-b04.w, gg2013.w, gg2015a-b01.w, gg2018.w, gg2023c.w, gg8003.i2, ggapi057.p.
Lista: gg1001-v25.w, gg1001e-b03.w, gg1001e-b04.w, gg2026.w, gg2030.w, gg2028a.p
Procedimentos
Procedimento | GG0124 | GG1034 | GG0103 | GG0104 |
Descrição | Parâmetros Integração Grãos | Finalidade Negócio | Registro Negócios | Monitor Hedge |
Módulo | GGP | GGP | GGP | GGP |
Programa base | GG0124 | GG1034 | GG0103 | GG0104 |
Nome Menu | Parâmetros Integração Grãos | Finalidade Negócio | Registro Negócios | Monitor Hedge |
Interface | GUI/ | GUI/ | GUI | GUI |
Registro padrão | Sim | Sim | Sim | Sim |
Visualiza Menu | Sim | Sim | Sim | Sim |
Release de Liberação | 12.1.11 | 12.1.11 | 12.1.11 | 12.1.11 |
Programas
Programa | GG0124 | GG0134 | GG0103 | GG0104 |
Descrição | Parâmetros Integração Grãos | Finalidade Negócio | Registro Negócios | Monitor Hedge |
Nome Externo | ggp/gg1024.w | ggp/gg1034.w | ggp/gg0103.w | ggp/gg0104.w |
Nome Menu/Programa | Parâmetros Integração Grãos | Finalidade Negócio | Registro Negócios | Monitor Hedge |
Nome Verbalizado[1] | Parâmetros Integração Grãos | Finalidade Negócio | Registro Negócios | Monitor Hedge |
Procedimento | GG0124 | GG1034 | GG0103 | GG0104 |
Template | Cadastro Simples | Cadastro Simples | Cadastro Complexo | Cadastro Simples |
Tipo[2] | Manutenção | Manutenção | Tarefas | Tarefa |
Interface | GUI | GUI | GUI | GUI |
Categoria[3] | Não se Aplica | Não se Aplica | Não se Aplica | Não se Aplica |
Executa via RPC | Não | Não | Não | Não |
Registro padrão | Sim | Sim | Sim | Sim |
Outro Produto | Não | Não | Não | Não |
Visualiza Menu | Sim | Sim | Sim | Sim |
Query on-line | Sim | Sim | Sim | Sim |
Log Exec. | Não | Não | Não | Não |
Rotina (EMS) | Não se Aplica | Não se Aplica | Não se Aplica | Não se Aplica |
Sub-Rotina (EMS) | Não se Aplica | Não se Aplica | Não se Aplica | Não se Aplica |
Localização dentro da Sub Rotina (EMS) | Não se Aplica | Não se Aplica | Não se Aplica | Não se Aplica |
Compact[4] | Não se Aplica | Não se Aplica | Não se Aplica | Não se Aplica |
Home[5] | Não se Aplica | Não se Aplica | Não se Aplica | Não se Aplica |
Posição do Portlet[6] | Não se Aplica | Não se Aplica | Não se Aplica | Não se Aplica |
Informar os papeis com os quais o programa deve ser vinculado | Não se Aplica | Não se Aplica | Não se Aplica | Não se Aplica |
[1] Nome Verbalizado é obrigatório para desenvolvimentos no Datasul 10 em diante.
Este documento é material de especificação dos requisitos de inovação, trata-se de conteúdo extremamente técnico. |
---|