Histórico da Página
Este documento é material de especificação dos requisitos de inovação, trata-se de conteúdo extremamente técnico. |
---|
Informações Gerais
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).
Objetivo
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.
Definição da Regra de Negócio
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:
- Gg-finalidade - Finalidade
Campos:
- Gg-finalidade.des-finalidade: código da finalidade, apesar de ser campo caracter no dicionário, vamos padronizar em tela o formato “99”. Obrigatório, ou seja não deve aceitar o código “00”.
- Gg-finalidade.desc-finalidade: descrição, obrigatória
- Gg-finalidade.ind-modulo: opções Compras/Vendas/Armazenagem/Todos.
Considerações:
- Cadastro Simples, Thin Template.
- Salvar em $/EMS2/Fontes_Doc/Sustentacao/V11/V11/progress/src/ggp, ggbo e ggzoom
GG1024 - Parâmetros Integração Grãos
Objetivo: Parametrizar as integrações do módulo de originação de grãos.
Tabelas Utilizadas:
- Gg-param-integr – Parâmetros Integração Grãos
Campos:
- Gg-param-integr.cdn-integr
- Gg-param-integr.des-integr
- Gg-param-integr.log-ativo
- gg-param-integr.des-e-mail (x(400)) novo campo para informar emails quando “E-mails Falha Integração” /* aguardar campo na aplicação da 2ª janela – usar campo livre */, opcional
- gg-param-integr.num-livre-1 (Minutos intervalo entre e-mails erro conexão)
- Gg-param-integr.des-url-integr-pin, campo opcional
Considerações:
- Cadastro Simples, com opção apenas para modificar os campos log-ativo, des-e-mail e des-url-integr-pin.
- Não terá opção para incluir,copiar ou excluir.
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 |
- Ao entrar no programa GG1024, verificar se existe o arquivo .d, e realizar a importação dos registros que não existem ainda na gg-param-integr. Desta forma apenas as integrações disponíveis poderão ser atualizadas pelos usuários.
- Cadastro Simples, apenas com opção Modifica.
- Inclusão automática com as integrações disponíveis.
- Pesquisa/zoom, pode ser código + descrição.
- Inserir botão para teste de conexão caso campo des-url-integr-pin tenha alguma informaçã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:
- Gg-comp-preco – Componentes de Preço (pai)
- GG-comp-item – Itens do Componente de Preço (filho)
- Gg-comp-perc – Componentes Relacionados (filho)
- Gg-comp-porto – Portos do Componente de Preço (filho)
Considerações:
- Cadastro Pai/Filho atualiza ambos.
- O cadastro GG1014 já existe em smart, porém como serão inclusos vários campos, então refazer o mesmo em thin-template. Fazer uma nova pesquisa/zoom, porém a que existe hoje, deve continuar funcionando pois é chamado em outras partes do sistema.
- Manter a mesmo layout, porém ao incluir o registro pai gg-comp-preço, GG1014C, terá agora dois folders Pag 1 e Pag2, sendo que a Pag1, terão praticamente os mesmos campos que existem hoje, com alguns ajustes:
- Alterações da Pag1:
- Campo gg-comp-preco.ind-forma, passará a usar include, ao invés de fixo no dicionário e fonte:
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.
- Campo gg-com-preco.ind-calculo, passará a usar include, ao invés de fixo no dicionário e fonte:
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
- Campo gg-comp-preco.tipo-tabela, passará a usar include, ao invés de fixo no dicionário e fonte:
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).
- Campo gg-comp-preco.nom-programa, quando gg-comp-preco.tipo-tabela = 4 /* programa de cálculo */ deve validar que o programa exista: IF SEARCH("gg-comp-preco.nom-programa") = "?" THEN “Programa de Cálculo Inválido”, “Não foi localizado programa de cálculo.”.
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.
- Nova Na Pag2, terão campos novos:
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
- gg-comp-preco.cod-esp-acr (não obrigatório, pode passar em branco, porém se for informado, deve validar contra o cadastro de espécie do contas a receber, pesquisa/zoom, descrição ao lado e validação que existe no cadastro de espécies, ver exemplo programa gg1005, página Vendas, campo cod-esp-fat-vmi). Incluir outra validação para o campo: se gg-comp-preco.cod-esp-acr for informado, e gg-com-preco.ind-calculo <> 5, dar mensagem e não deixar continuar: “Espécie Washout ACR inválido” “Espécie somente deve ser informada quando o tipo de cálculo for Multa Washout”. Cadastar uma nova mensagem.
- gg-comp-preco.cod-ser-acr (não obrigatório, deve estar no cadastro de série, ver como exemplo pesquisa/zoom, e validação que existe no cadastro de série no programa GG1005, pasta Vendas, campo c-serie-transf).
- gg-comp-preco.cod-cta-acr-unif (não obrigatório, pode passar em branco, porém se for informada a espécie cod-esp-acr, passa a ser obrigatório informar a conta, ver exemplo pesquisa/zoom, formato, descrição da conta para mostrar ao lado e validação que existe no cadastro de contas contábeis, ver exemplo programa gg1107, página originação, campo cod-cta-dc-unif).
- gg-comp-preco.cod-ccusto-acr-unif (não obrigatório, pode passar em branco, porém se for informado o custo deve um válido, ou seja que existe na cadastro de centro de custo, ver exemplo pesquisa/zoom, formatação em tela, descrição ao lado e validação que existe no cadastro de centro de custo, ver exemplo programa gg1107, página originação, campo cod-ccusto-dc-unif).
- gg-comp-preco.cod-esp-apb (não obrigatório, pode passar em branco, porém se for informado, deve validar contra o cadastro de espécie do contas a pagar, pesquisa/zoom, descrição ao lado e validação que existe no cadastro de espécies, ver exemplo programa gg1107, página originação, campo cod-esp-dc). Incluir outra validação para o campo: se gg-comp-preco.cod-esp-apb for informado, e gg-com-preco.ind-calculo <> 5, dar mensagem e não deixar continuar: “Espécie Washout ACR inválido” “Espécie somente deve ser informada quando o tipo de cálculo for Multa Washout”.
- gg-comp-preco.cod-ser-apb (não obrigatório, pode passar em branco, não tem pesquisa)
- gg-comp-preco.cod-cta-apb-unif (não obrigatório, pode passar em branco, porém se for informada a espécie cod-esp-apb, passa a ser obrigatório informar a conta, ver exemplo pesquisa/zoom, formatação em tela, descrição da conta para mostrar ao lado e validação que existe no cadastro de contas contábeis, ver exemplo programa gg1107, página originação, campo cod-cta-dc-unif).
- gg-comp-preco.cod-ccusto-apb-unif (não obrigatório, pode passar em branco, porém se for informado o custo deve um válido, ou seja que existe na cadastro de centro de custo, ver exemplo pesquisa/zoom, formatação em tela, descrição ao lado e validação que existe no cadastro de centro de custo, ver exemplo programa gg1107, página originação, campo cod-ccusto-dc-unif).
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.
- Pasta Componentes:
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 (-).
- Incluir nova pasta “Porto” para novo registro filho:
- Esta nova pasta “Porto” terá os botões de Incluir/Eliminar.
- Quando não tiver nenhum porto relacionado, significa que o componente não tem restrição por porto. Quando tiver algum porto relacionado, significa que o componente somente será utilizado para determinados portos que estão relacionados ao componente.
- Incluir gg-comp-porto:
- gg-comp-porto.cod-comp (desabilitado, e deve sempre atualizar com a informação do registro pai gg-comp-preco.cod-comp, conforme selecionado).
- gg-comp-porto.cod-porto (obrigatório, não pode incluir sem informar o porto, deve existir na tabela gg-porto-base, usar como exemplo pesquisa/zoom, validação, descrição ao lado do programa gg1107, pasta Geral, campo cod-porto).
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.
- Pasta Itens:
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:
- Gg-bloqueio
Considerações:
- Hoje a tabela gg-bloqueio é alimentada apenas no setup-graos, alterar para ser executada a verificação sempre ao entrar no GG1094, e criar os registros que não existem na gg-bloqueio conforme arquivo ggp\gg532.d. Ver exemplo piImportaBloqueio do programa ggp\setup-graos.w.
- Incluir no arquivo gg532.d as seguintes novas aprovaçõ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 ? ?
- OBS: No programa de setup-graos.w continuar fazendo a carga de dados, ou seja não há alterações.
GG1005B - Parâmetros Comerciais Itens Grãos
Objetivo: Incluir novos parâmetros para integração com sistema de Hedge Moeda.
Tabelas Utilizadas:
- Gg-param-item.log-hedge-moed
- Gg-param-item.cod-item-ext: não obrigatório e não há validação com outro cadastro. Quando informado será utilizado para integrar com sistema externo hedge.
- 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-param-integr.log-ativo = yes)), solicitar novos campos abaixo, caso contrário, esconder os dois campos novos da tela, bem como o retângulo. Não tem problema ficar o espaço em branco.
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:
- Gg-calendario-bolsa
Considerações:
- Novo campo: gg-calendario-bolsa.qtd-contrato.
GG1067 - Porto Base (GG1067)
Objetivo: Incluir novo atributo Nome Abreviado do Porto.
Tabelas Utilizadas:
- Gg-porto-base
Considerações:
- Novo campo: gg-porto-base.nom-abrev, obrigatório, ou seja não passa em branco.
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:
- Gg-negocio / gg-negocio-comp
- Gg-negocio-vmi /gg-negocio-vmi-comp
- Gg-contrato
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:
- VaPara: Permitir posicionar diretamente no contrato ou Trade slip informado ignorando as parametrizações de seleção e parâmetro.
- Seleção e Filtro: indicar uma faixa de seleção para apresentação dos dados. De acordo com as informações definida nesta tela, a pesquisa pode ocasionar baixa performance.
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.
- Parâmetros: Definir as informações para geração do Resumo, tempo para atualização automática, e família de produto/item para filtro.
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.
- Atualizar: Refazer as pesquisas dos dados a serem apresentados em tela;
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.
- Legenda:
- Histórico: Exibe os históricos gerados durante as movimentações do Trade Slip
- Detalhe Contrato: Permite detalhar os contratos vinculado ao Trade Slip
- Email: Permite enviar E-mail refetente a Trade Slip selecionado.
- Incluir Compra: Permitir a inclusão de um pré TS para Compra;
- Incluir Venda: Permitir a inclusão de um pré TS para Vendas;
- Modificar/Completar: Permite modificar um pré TS quando a situação estiver Pendente ou efetivar a geração de um pré trade slip para trade slip quando situação for Completar.
- Cancelar: Realiza o cancelamento do TS;
- Visualizar: Permite visualizar um TS;
- Aprovar: Realizar a aprovação ou Reprovação de um trade slip; (Pendente para Aprov. Banking; ou Aprovação Margem para Completar) .
- Hedge: Abre nova tela (GG0104) para visualização do hedge do TS;
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 */)
- Moeda (gg-negocio-vmi-comp.mo-codigo, somente altera quando quando gg-negocio-vmi-comp.ind-calculo = 7 /* Preço Proposto*/)
- Qtd à Fixar (gg-negocio-vmi-comp.qtd-a-fixar), somente pode alterar quando for fixação de componente
- Cotação (gg-negocio-vmi-comp.dec-1), apenas consulta
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:
- Gg-hedge
- Gg-hedge-mov
Considerações:
- Esboço Tela:
- Botão Filtro
- Botão Atualizar: Este botão é para fazer carregar os dados da tela, conforme filtro.
- 1º Browser “Solicitação Hedge”
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"
- 2º Browser “Movimentos 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"
- Inicializador para chamada a partir de outras telas:
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.
- Botões Reenvio Solicitação e Reenvio Movimentos:
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.
- Botões Retorno Manual da Solicitação de Hedge ou Baixa de Hedge.
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
- A presente integração tem como finalidade o envio e recebimento de dados do Sistema de Hedge. Deste modo, o módulo de originação de grãos enviará e receberá os dados através da metolodogia SOAP. Para tanto, será necessário criar um serviço para receber tais dados, bem como a construção dos programas para o consumo do serviço do 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.
- Método getPreTaxaSBM
O referido método tem como finalidade consumir o serviço REQUESTQUOTATIONS do Sistema de Hedge de modo síncrono, com a finalidade de obter a pré-taxa a ser usada no Trade Slip. Assim, o módulo de Originação de Grãos enviará os seguintes campos para o Sistema de Hedge: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
Deste modo, na resposta do serviço deverá retornado a confirmação da gravação dos dados através do campo ErrorCode. Ocorrendo do campo ErrorCode ser diferente de “0”, deverá ser preenchido o campo “ErrorMessage” com o erro que ocorreu. Os dados retornados pelo Sistema de Hedge deverão ser: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
Para enviar e receber corretamente os dados, primeiramente deve ser verificado se o serviço está ativo. Os dados da conexão serão os que estão presente no cadastro do programa GG1024. Não sendo possível conectar ao serviço, deve ser informado para o usuário, assim o mesmo poderá informar manualmente os dados. Superada a verificação do serviço, deve ser enviado os dados, e aguardada a resposta. A resposta deve ser interpretada, a fim de buscar as informações e verificar o sucesso ou falha da integração. Obetendo sucesso deve ser retornada uma temp-table com os as taxas dos componentes solicitados, ocorrendo erros, deve ser retornada uma temp-table de erros.
- Método getHedge
O referido método tem como finalidade consumir o serviço CREATEHEDGE do SBM de modo assíncrono, com a finalidade de solicitar ao SBM a criação do Hedge para o Trade Slip. Assim, enviando os seguintes campos para o Sistema de Hedge: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
Deste modo, na resposta do serviço deverá retornado a confirmação da gravação dos dados através do campo ErrorCode. Ocorrendo do campo ErrorCode ser diferente de “0”, deverá ser preenchido o campo “ErrorMessage” com o erro que ocorreu. Os dados retornados pelo Sistema de Hedge deverão ser: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
Para enviar e receber corretamente os dados, primeiramente deve ser verificado se o serviço está ativo. Os dados da conexão serão os que estão presente no cadastro do programa GG1024. Não sendo possível conectar ao serviço, deve ser informado para o usuário o erro, bem como deve ser gravado na tabela gg-hedge-mov os erros da integração. Superada a verificação do serviço, deve ser enviado os dados, e aguardada a resposta. A resposta deve ser interpretada, a fim de buscar as informações e verificar o sucesso ou falha da integração. Obetendo sucesso, o programa deverá seguir seu fluxo normal, ocorrendo erros, deve ser retornada uma temp-table de erros e enviado e-mail para os responsáveis, conforme o GG1024. - Método getHedgePayment
O referido método tem como finalidade consumir o serviço HEDGEREVERSION do Sistema de Hedge de modo assíncrono, com a finalidade de solicitar ao Sistema de Hedge a baixa do Hedge criado para o Trade Slip. Assim, enviando os seguintes campos para o Sistema de Hedge: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
Deste modo, na resposta do serviço deverá retornado a confirmação da gravação dos dados através do campo ErrorCode. Ocorrendo do campo ErrorCode ser diferente de “0”, deverá ser preenchido o campo “ErrorMessage” com o erro que ocorreu. Os dados retornados pelo Sistema de Hedge deverão ser: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
Para enviar e receber corretamente os dados, primeiramente deve ser verificado se o serviço está ativo. Os dados da conexão serão os que estão presente no cadastro do programa GG1024. Não sendo possível conectar ao serviço, deve ser informado para o usuário o erro, bem como deve ser gravado na tabela gg-hedge-mov os erros da integração. Superada a verificação do serviço, deve ser enviado os dados, e aguardada a resposta. A resposta deve ser interpretada, a fim de buscar as informações e verificar o sucesso ou falha da integração. Obetendo sucesso, o programa deverá seguir seu fluxo normal, ocorrendo erros, deve ser retornada uma temp-table de erros e enviado e-mail para os responsáveis, conforme o GG1024. - Método getHedgeRollover
O referido método tem como finalidade consumir o serviço HEDGEROLLOVER do SBM de modo assíncrono, com a finalidade de solicitar ao SBM a rolagem do Hedge criado para o Trade Slip. Assim, enviando os seguintes campos para o Sistema de Hedge: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
Deste modo, na resposta do serviço deverá retornado a confirmação da gravação dos dados através do campo ErrorCode. Ocorrendo do campo ErrorCode ser diferente de “0”, deverá ser preenchido o campo “ErrorMessage” com o erro que ocorreu. Os dados retornados pelo Sistema de Hedge deverão ser: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
Para enviar e receber corretamente os dados, primeiramente deve ser verificado se o serviço está ativo. Os dados da conexão serão os que estão presente no cadastro do programa GG1024. Não sendo possível conectar ao serviço, deve ser informado para o usuário o erro, bem como deve ser gravado na tabela gg-hedge-mov os erros da integração. Superada a verificação do serviço, deve ser enviado os dados, e aguardada a resposta. A resposta deve ser interpretada, a fim de buscar as informações e verificar o sucesso ou falha da integração. Obetendo sucesso, o programa deverá seguir seu fluxo normal, ocorrendo erros, deve ser retornada uma temp-table de erros e enviado e-mail para os responsáveis, conforme o GG1024.
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.
- Serviço confirmHedge
O referido serviço tem como finalidade disponibilizar o método confirmHedge para o consumo do SBM, com a finalidade de receber os dados de retorno da confirmação do Hedge. Assim, recebendo os seguintes campos: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
Deste modo, na resposta do serviço deverá retornado a confirmação da gravação dos dados através do campo CódigoDeErro. Ocorrendo do campo CódigoDeErro ser diferente de “0”, deverá ser preenchido o campo “MensagenDeErro” com o erro que ocorreu. Os dados retornados para o requisitante deverão ser: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
São códigos de erros tratados pela integraçã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
Os dados recebidos pelo web service serão tratados pelo programa java DatasulSBMIntegrationServiceImpl.java, que conterá todos métodos disponibilizados pelo WSDL. O referido programa deverá obter os dados recebidos, e enviar os mesmos através do serviço REST API para o programa ggapi900, que conterá a procedure confirmHedge. Assim, os dados poderão ser gravados na tabela gg-hedge-mov. Ocorrendo algum problema na gravação, deverá ser retornada uma temp-table de erros, o qual será disponibilizado pelo web service para o requisitante. - Serviço confirmHedgePayment
O referido serviço tem como finalidade disponibilizar o método confirmHedgePayment para o consumo do SBM, com a finalidade de receber os dados de retorno da confirmação da baixa do Hedge. Assim, recebendo os seguintes campos: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
Deste modo, na resposta do serviço deverá retornado a confirmação da gravação dos dados através do campo CódigoDeErro. Ocorrendo do campo CódigoDeErro ser diferente de “0”, deverá ser preenchido o campo “MensagenDeErro” com o erro que ocorreu. Os dados retornados para o requisitante deverão ser: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
São códigos de erros tratados pela integraçã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
Os dados recebidos pelo web service serão tratados pelo programa java DatasulSBMIntegrationService.java, que conterá todos métodos disponibilizados pelo WSDL. O referido programa deverá obter os dados recebidos, e enviar os mesmos através do serviço REST API para o programa ggapi900, que conterá a procedure confirmHedgePayment. Assim, os dados poderão ser gravados na tabela gg-hedge-mov. Ocorrendo algum problema na gravação, deverá ser retornada uma temp-table de erros, o qual será disponibilizado pelo web service para o requisitante. - Serviço confirmHedgeRollover
O referido serviço tem como finalidade disponibilizar o método confirmHedgeRollover para o consumo do SBM, com a finalidade de receber os dados de retorno da confirmação da rolagem do Hedge. Assim, recebendo os seguintes campos: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
Deste modo, na resposta do serviço deverá retornado a confirmação da gravação dos dados através do campo CódigoDeErro. Ocorrendo do campo CódigoDeErro ser diferente de “0”, deverá ser preenchido o campo “MensagenDeErro” com o erro que ocorreu. Os dados retornados para o requisitante deverão ser: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
São códigos de erros tratados pela integraçã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
Os dados recebidos pelo web service serão tratados pelo programa java DatasulSBMIntegrationService.java, que conterá todos métodos disponibilizados pelo WSDL. O referido programa deverá obter os dados recebidos, e enviar os mesmos através do serviço REST API para o programa ggapi900, que conterá a procedure confirmHedgeRollover. Assim, os dados poderão ser gravados na tabela gg-hedge-mov. Ocorrendo algum problema na gravação, deverá ser retornada uma temp-table de erros, o qual será disponibilizado pelo web service para o requisitante.
Outros Impactos
- GG1001B (gg1001b-b03, gg1001b-b05) - aba Comp e aba Fix não permitir modificar e/ou cancelar fixação de componente e/ou fixação de preço caso TS foi gerado pelo novo processso, ou seja quando gg-negocio.dat-export <> ?, emitir mensagem de bloqueio. Pasta III Listar campos novos desabilitados, apenas para consulta, gg-contrato.dat-export, gg-contrato.cod-finalid, gg-contrato.cod-mês-ano-emb.
- GG1090 Pasta Geral I, listar campos novos desabilitados, apenas para consulta, gg-contrato.dat-export, gg-contrato.cod-finalid, gg-contrato.cod-mês-ano-emb.
- GG4025 (extrato) No extrato gg4025, precisa tratar impacto da trava de cotação.
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
- GG1091 (gg1091-b01 e gg1091-b02) - na aba Comp e aba Fix não permitir modificar fixação de componente e/ou fixação de preço caso TS foi gerado pelo novo processso. Emitir mensagem de bloqueio quando data de exportação estiver informada (gg-negocio-vmi.dat-export <> ?).
- GG1095 (gg1095-b04) – Na aba Aprovação de Margem, emitir mensagem de bloqueio e não permitir aprovar margem caso TS tenha data de exportação informada (gg-negocio.dat-export <> ?) .
- GG2015 – Não permitir efetuar cancelamento do TS, ou aprovação/Reprovação de Componente de Compra quando gg-negocio.dat-export <> ? emitindo mensagem de bloqueio.
- GG2027 – Não permitir efetuar cancelamento do TS, ou aprovação/reprovação banking quando gg-negocio-vmi.dat-export <> ? emitindo mensagem de bloqueio.
- gg-negocio.ind-situacao – revisar as rotinas que utilizam este campo para tratar as novas opções. Caso possível, utilizar a include i01gg146.i.
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.
- gg-negocio-vmi.ind-situacao - revisar as rotinas que utilizam este campo para tratar as novas opções. Caso possível, utilizar a include i01gg151.i.
Lista: gg1001-v25.w, gg1001e-b03.w, gg1001e-b04.w, gg2026.w, gg2030.w, gg2028a.p
Estrutura de Menu
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. |
---|