Recebimento de pedido de compra (CGPOLL)

Através deste processo serão realizados o recebimento e a atualização dos pedidos de compra que não possuírem NF de entrada no LinxMaq, quando a filial utiliza o CGPOLL.

A utilização do CGPOLL deverá ser parametrizada no JDPA0000 campo "Utiliza Pedido de Compra = Sim", também deverão ser preenchidos os campos auxiliares para a importação do pedido "Combustível", "Portas", "Cor Externa" e "Cor Interna", para filial onde o processo está sendo executado.
Quando a utilização do CGPOLL estiver ativa, a importação será realizada através do processamento de arquivos texto disponibilizados pela montadora, e copiados automaticamente via DTF para o diretório parametrizado no programa COPE0100.
Para todas empresas que utilizam o CGPOLL, deverão estar parametrizadas no CADA0900, informando o campo "Filial Integração" (Dealer Account) para a filial onde o processo está sendo executado e o "Código Integração" igual a "JD-FILIAL".
O processamento dos arquivos do CGPOLL poderá ser realizado de forma manual, através da execução do processo via menu do sistema, ou automática, através da execução do processo via crontab.
Na execução manual, será sugerido na tela o nome do último arquivo disponibilizado pela montadora e ainda não processado. O usuário poderá confirmar o processamento deste arquivo, ou informar o nome de outro arquivo já disponibilizado e que ainda não tenha sido processado. Já na execução automática, serão processados todos os arquivos disponibilizados pela montadora e ainda não processados.
O controle do processamento dos arquivos do CGPOLL será realizado através da tabela de controle de datas de importação dos arquivos de compra do CGPOLL (JDCGPARQ), onde serão armazenados por matriz, os nomes dos arquivos já recebidos e processados.
Tela para recebimento manual de Pedidos de Compra do CGPOLL:


Campos

  • Arquivo de Pedidos de Compra: Nome do arquivo a ser recebido. Deverá ser informado o nome de um arquivo já disponibilizado e ainda não processado.
  • Pedidos Recebidos: Quantidade de pedidos novos (Novo Pedido) que foram recebidos no arquivo. Será apenas exibido para consulta.
  • Pedidos Atualizados: Quantidade de pedidos que foram atualizados no LinxMaq, que são os demais tipos de transações que podem vir no arquivo além de pedidos novos (Manutenção de Pedido, Faturamento, Cancelamento, etc.). Será apenas exibido para consulta.

Instruções e Observações

  • Durante o processamento manual ou automática, caso ocorrer erro, é disponibilizado um relatório de erros. Este arquivo possui a seguinte nomenclatura: "jdcg0000_erro_YYYYMMDD_HHMMSS.rel", onde:
    • "jdcg0000_ erro_" é fixo;
    • "YYYY" é o ano;
    • "MM" é o mês;
    • "DD" é o dia;
    • "_" é o separador fixo;
    • "HH" é a hora;
    • "MM" são os minutos;
    • "SS" são os segundos;
    • ".rel" é a extensão do arquivo.
  • Para realizar a transferência automática do arquivo via DTF, existem pré-condições:
  1. É necessário utilizar uma máquina servidora para configurar uma tarefa do Windows. Exemplo: Uma máquina servidora de Nota Fiscal Eletrônica.
  2. É necessário que a máquina utilizada tenha instalado o programa de DTF responsável pela comunicação com a montadora (esse programa é de responsabilidade da John Deere).
  • Antes de configurar a tarefa do Windows é necessário:
  1. Efetuar o download do arquivo "dpm_CGPOLL_download.bat" (clicando aqui);
  2. Procure pela linha C:\APPS\JDIS\PROG\COMM\internet_poll.exe -d e confira se esse é o diretório onde está o arquivo internet_poll.exe, esse é o arquivo DTF da JD responsável pela comunicação com a montadora.
  3. Procure pela linha C:\APPS\JDIS\PROG\COMM\DOWNLOAD e confira se esse é o diretório onde o programa responsável pela comunicação com a montadora grava o arquivo. Obs.: As linhas "RECEIPTS.{}" e "OUTBOUND_.{}" são as iniciais fixas dos arquivos recebidos do CGPOLL._
  4. Procure pela linha _\\srvsisdia\intfabrica\cgpoll_ e confira se esse é o caminho onde o programa importa o arquivo, lembrando que este diretório deverá ser o mesmo informado no COPE0100").
  5. Salve o arquivo dpm_CGPOLL_download.bat após editado e salve-o no diretório C:\APPS\JDIS\PROG\COMM, lembrando que esse diretório é fixo por isso mesmo que ele não exista será necessário criá-lo para armazenar o bat.
  • Para configurar a tarefa do Windows é necessário:
  1. Na máquina servidora escolhida vá até Painel de Controle -> Sistema e Segurança -> Ferramentas Administrativas, e escolha a opção "Agendador de Tarefas".
  2. No menu "Ações" à direita escolha a opção "Criar Tarefa Básica..."
  3. Coloque o nome e a descrição para a tarefa e clique em "Avançar".
  4. Escolha o período que deseja que a tarefa seja executada. Normalmente será a opção "Diariamente" e clique em "Avançar".
  5. Informe o período inicial e a hora que será executada e clique em "Avançar".
  6. Escolha a opção "Iniciar um programa" e clique em "Avançar".
  7. Procure o diretório onde foi salvo o arquivo "dpm_CGPOLL_download.bat". Exemplo: C:\APPS\JDIS\PROG\COMM\dpmCGPOLLdownload.bat, e clique em "Avançar".
  8. Antes de concluir confira os dados, se estiver tudo correto clique em "Concluir".


  • Para ativação do Crontab no DMS LinxMaq:
  1. Conecte-se ao servidor SISDIA com o usuário root, através de uma ferramenta de transferência de arquivos entre Windows e Linux;
  2. Obtenha o shell (clicando aqui) e transfira o arquivo Run_JDCG0000.sh da estação Windows para o servidor SISDIA no diretório /root/bin;
  3. Entre no servidor SISDIA via putty usando o usuário root;
  4. Vá até o diretório /root/bin e edite o arquivo Run_JDCG0000.sh; 
    Obs: Somente edite o arquivo pelo ambiente Linux, pois se editar no ambiente Windows o arquivo fica com caracteres não aceitos no Linux.
  5. Para editar digite: vi Run_JDCG0000.sh
  6. Procure pelo texto INFORMIXSERVER=ol_standard e caso necessário substitua a variável ol_standard pelo nome da sua instância de produção. 
    Procure pelo texto export PATH=$PATH:/sisdia/SisdiaEvolution, caso necessário alterar pelo diretório de produção do SISDIA Evolution.
    Salve as alterações realizadas no arquivo Run_JDCG0000.sh e o feche. Para sair e salvar digite: <ESC> + :x
  7. Execute no prompt do Linux o comando crontab –e
  8. Será exibida uma lista com comandos de crontab. Vá até o final do arquivo e acrescente a linha abaixo:
    00 00 * * 1-5 sh /root/bin/Run_JDCG0000.sh >/tmp/Run_JDCG0000.1.log 2>/tmp/Run_JDCG0000.2.log
    Obs: No diretório /tmp serão gerados dois logs.
    Run_JDCG0000.1.log esse é o log para quando a execução ocorrer normalmente.
    Run_JDCG0000.2.log esse é o log que contém os erros de execução do Crontab.
  9. Salve o arquivo de crontab e saia do mesmo, lembrando que para sair e salvar digite: <ESC> + :x.
  10. Agora o programa JDCG0000 está pronto para executar todos os dias de segunda a sexta à meia noite.
  11. Modifique este tempo conforme desejar. Mais informações: http://pt.wikipedia.org/wiki/Crontab.

Estrutura do arquivo

Dentro de um arquivo pode vir de 1 a N pedidos e cada pedido possui 6 tipos de registros que contemplam todas as informações do pedido de compra.
Na coluna 4 é utilizada para identificar o tipo de registro que vai de 1 até 6, os nomes estão de acordo com o layout da fábrica:
1-Header Record;
2-Order Detail (esse tipo de registro é possível repetir mais de uma vez pois contempla os opcionais)
3-Header Extension Record;
4-Order Extension Part 1;
5-Order Detail Extension Part 2;
6-Order Detail Extension Part 3;

No arquivo de importação na coluna 15 é possível identificar qual o tipo de transação do registro através de uma letra:
(O) Novo (New Orders)
(M) Manutenção (Order Maintenance)
(I) Faturamento (Dealer Invoice)
(N) Cancelamento (ORder Cancellation)
(B) Pedido em Falta (Back Orders)
(S) Pedido Restante (Shortage Orders)
(R) Devolução (Return Orders)
(T) Transferência (Dealer Transfer)


Estrutura das tabelas na base de dados seguem os tipos de registro mais os controles do arquivo:

JDCGParq

Tabela principal que guarda dados do arquivo que foi importado

JDCGPTP1

Tabela para guardar dados do registro tipo 1

JDCGPhis

tabela auxiliar para ajudar as telas a identificar qual transação o arquivo se refere o qual o Status DMS em que o registro se encontra no sistema (pendente, processado, etc..).O controle é feito de acordo com a sigla no começo do campo detalhes: "PE-" para Pendente, "CA-" para Cancelamento, "OK-" Para processado, "CN-" para não cancelado e "NP-" para não gera pedido.

JDCGPTP2, JDCGPTP3, JDCGPTP4, JDCGPTP5, JDCGPTP6

tabelas filhas da registro tipo 1, seguem o s campos fornecidos no layout da JD.

Regra para preencher chassis e valor:

Informações como valor do equipamento e chassis apenas veem no tipo de transação de Faturamento.

Chassis: Registro tipo 1 ->   worldmanufacturercode[131,133] +productidnumber[3,7] + checkletter + productidnumber[8,13]

Valor: Registro tipo 6 ->posição [097,104] + [105], a posição 105 possui uma regra de criptografia da JD em que ela é um caractere que representa o ultimo digito do valor do equipamento, segue:

{ = +0      } = -0

A = +1     J = -1

B = +2     K = -2

C = +3     L = -3

D = +4    M = -4

E = +5     N = -5

F = +6     O = -6

G = +7    P = -7

H = +8    Q = -8

I = +9      R = -9

Por exemplo o número “57894007B“ será convertido para “5789,40”.

Sobre os números negativos questionamos a JD como seria a regra, porém disseram que não são utilizados, porém está nesse documento para evidenciar o que estava no layout do processo.

Geração de pedido de compra

O pedido de compra só é gerado para as transações de letra “O”, “M” e “I”, como pode ocorrer dessas operações ocorrerem no mesmo dia e a fábrica apenas mandar a última a rotina sempre verifica se existe pedido de compra gerado, se não existir cria.

Somente no caso da transação “I” a informação dos chassis será atualizada.

Quando o pedido de compra já existir é verificado se foram alteradas as informações de:

-Data do Pedido

-Modelo

-Valor

-Observação

Caso tiverem sido alteradas a rotina grava no histórico do pedido de compra a alteração, rotina e tabela já existentes no sistema que são gravadas quando o usuário entra no VEIC0300 e alterada alguma informação do pedido (Tabela cxpdhist).

Campos do pedido de compra(cxpdcomp) que são preenchidos:

Filial

Procura filial na tabela caparint(COPE0900) baseado no Dealer Number (Campo Ship Account do registro tipo 1 - [018,023] e código de integração "JD-FILIAL".

pedcompra

ultimo pedido gerado + 1

Id_agente

agente logado no sistema

dtpedido    

jdcgptp1.orderDate -> registro tipo 1 - [024,031]

condicao    

Vazio

modelo      

Modelo cadastrado no de-para

valor

(reg_jdcgptp6.ordertotprc / 100) -> conforme regra citada do tópico anterior

percdesconto

0

dtprevista  

Vazio

pedvenda    

0

obsermodelo 

jdcgptp5.product -> registro tipo 5 - [013,133]

faturadireto

"N"

chassis     

Conforme regras citadas anteriormente

id_nfcapa   

0

dtbaixa     

vazio

corexterna  

Conforme parâmetro definido no JDPA0000

corexterna  

Conforme parâmetro definido no JDPA0000

combustivel 

Conforme parâmetro definido no JDPA0000

pedfabric   

Registro tipo 1 -> jdcgptp1.orderGroupCode [005,006] + jdcgptp1.orderNumber [007,012]

anomodelo   

Ano corrente

tipoped     

"NOR"                                            

Para transação “N” o pedido de compra será excluído desde que não exista aviso de faturamento ou nota fiscal de entrada.

Para as transações do tipo “B”, “S”, “R” e “T” não será gerado pedido, pois são situações que serão tratadas em outra fase do projeto.

Para os pedidos em que o produto for do grupo “DNR” – campo do registro tipo 2 - jdcgptp2.cgdealercode - [124,126], não irão gerar pedido de compra, pois não se tratam de equipamentos com chassis e não serão tratados pelo DMS.


Registro que não geram pedido de compra:

As transações do tipo Pedido em Falta (Back Orders), Pedido Restante (Shortage Orders), Devolução (Return Orders) e Transferência (Dealer TRansfer) serão apenas importadas para o DMS, porém não geram nenhuma ação, pois não serão tratadas nessa primeira fase do projeto.

Os registros de Ativação de JDlink e AMS  - Sistemas de comunicação via satélite das máquinas. (Hardware, Software e Assinaturas) que pertencem ao grupo “Displays and Receivers”  (“DNR”)  , também não serão tratados , pois não geram pedido de compra  no DMS por não serem um equipamento com chassis.

Esses casos ficarão disponíveis apenas para consulta no programa “JDCG0300”  com o status “Não Gera Pedido”.


  • Sem rótulos