SMJD1000 - SMmanage – John Deere 

O processo SMManage é responsável pela geração mensal das informações de Pós Vendas (Oficina) do concessionário para envio à montadora John Deere.
Essas informações são geradas de forma individual para cada empresa do grupo em um arquivo, conforme layout SMManage e enviadas à montadora John Deere através do processo de comunicação DTF
O programa permitirá que seja gerado o arquivo de acordo com o período escolhido na tela e retorna as informações das empresas processadas e total dos registros gerados.

Período de Geração: Deverá ser informado o período mensal de geração do arquivo, no formato "mm-aaaa". Por padrão será sugerido o período atual e será permitido que o usuário informe qualquer período mensal válido, desde que seja menor ou igual ao período atual.
CNPJ Fornecedor: Deverá ser informado o CNPJ da montadora responsável pelos serviços (FORA1000). Esse CNPJ informado será utilizado para distinguir os serviços que "Estão" na tabela de tempo padrão de reparo (que possuam esse CNPJ), e os estão estão "fora" da tabela de Tempo Padrão de Reparo (não possuem esse CNPJ).
Último dia útil: Após informado o período de geração deverá ser mostrado o último dia útil do mês em referência.
Empresas Geradas: Durante o processamento deverá ser mostrado número de empresas geradas. Este processo deverá gerar informações de todas as empresas do grupo, gerando registros separados para cada empresa.
Registros Gerados: Durante o processamento deverá ser mostrado número do registro que estiver sendo gerado.
As informações geradas no arquivo SMmanage são baseados nas especificações exigidas no layout. Essas informações estão detalhadas abaixo.
Estarão disponíveis nesta tela os seguintes botões, permitindo a navegação:

  • Concluir: Confirma o processamento/ação.
  • Interromper: Interrompe o processo.
  • Documentação: Acesso à documentação do programa.
  • Sair: Finaliza as atividades.








Layout do arquivo SMmanage:
Record AA: (Standard Job Pricing Performance)

Column
Position

Length

Type

Field Name

Description

M/O

Audit

Validation

Considerações Linx

1

1

Character

Record Code

 

M

Y

"A" identifies an SMMANAGE record

Fixo "A"

2-3

2

Character

Main account 1-2

First two bytes of the main DTF/poll account

M

Y

 

O Main Account é o campo "Filial Integração" do cadastro (cada0900) onde o código de integração for "JD-MATRIZ". Como são somente os dois primeiros bytes então se o main account for "201337" é montado "20".

4-5

2

Character

Unit Location Code

Static value

M

Y

"00"

Fixo "00"

6-9

4

Character

Main account 3-6

Last four bytes of the main DTF/poll account

M

N

 

O Main Account é o campo "Filial Integração" do cadastro (cada0900) onde o código de integração for "JD-MATRIZ". Como são somente os quatro últimos bytes então se o main account for "201337" é montado "1337".

10

1

Character

Record ID

Static value

M

Y

"A"

Fixo "A"

11-12

2

Numeric

Reported Month

The calendar month being reported

M

Y

"01" = January
"02" = February, etc.

Mês base informações

13-16

4

Numeric

Reported Year

The calendar year being reported

M

Y

"2009" = 2009
"2010" = 2010, etc.

Ano base informações

17-19

3

Character

Filler

Static value

M

N

Spaces

Fixo espaços

20-21

2

Character

Source account 1-
2

First two bytes of the source account

M

N

 

O Source Account é o campo "Filial Integração" do cadastro (cada0900) onde o código de integração for "JD-FILIAL". Como são somente os dois primeiros bytes então se o main account for "201337" é montado "20".

22

1

Character

Type Record

Static value

M

Y

"P"

Fixo "P"

23-26

4

Character

Source account 3-
6

Last four bytes of the source account

M

Y

 

O Source Account é o campo "Filial Integração" do cadastro (cada0900) onde o código de integração for "JD-FILIAL". Como são somente os quatro últimos bytes então se o main account for "201337" é montado "1337".

27-28

2

Character

Version

Static value

M

N

"01"

Fixo "01"

29-34

6

Numeric

Total invoiced
jobs

The total number of jobs invoiced

M

N

One invoiced repair order that
includes 10 job codes would be a count of 10. 10 individually invoiced job codes on the same repair order would be a count of 10.

Quantidade de linhas de serviços lançadas nas OS

35-40

6

Numeric

Total invoiced jobs with specific
job codes

The total number of jobs invoiced that were assigned specific job codes

M

N

 

Quantidade de linhas de serviços lançadas nas OS FATURADAS, serviços que estão na tabela de tempo padrão de reparo. Obs.: Baseado no CNPJ do fornecedor informado.

41-46

6

Numeric

Total invoiced
jobs with general job codes

The total number of jobs invoiced that
were assigned general job codes

M

N

 

Quantidade de linhas de serviços lançadas nas OS FATURADAS, serviços fora da tabela de tempo padrão de reparo. Obs.: Baseado no CNPJ do fornecedor informado.

47-52

6

Numeric

Total invoiced
jobs with specific job codes where
the estimated hours were invoiced

The total number of jobs invoiced that
were assigned specific job codes and where the hours invoiced equal the
estimated hours

M

N

 

Quantidade de linhas de serviços lançadas nas OS FATURADAS, serviços que estão na tabela de tempo padrão de reparo, cujo tempo padrão é igual ao tempo vendido ao cliente. Obs.: Baseado no CNPJ do fornecedor informado.

53-58

6

Numeric

Total invoiced
jobs with specific job codes where the actual hours were invoiced

The total number of jobs invoiced that
had specific job codes and where the hours invoiced did not equal the estimated hours

M

N

 

Quantidade de linhas de serviços lançadas nas OS FATURADAS, serviços que estão na tabela de tempo padrão de reparo, cujo tempo padrão é diferente do tempo vendido ao cliente. Obs.: Baseado no CNPJ do fornecedor informado.

59-64

6

Numeric

Total invoiced
jobs with general job codes where the estimated hours were invoiced

The total number of jobs invoiced that
had general job codes and where the hours invoiced equal the estimated hours

M

N

 

Quantidade de linhas de serviços lançadas nas OS FATURADAS, serviços fora da tabela de tempo padrão de reparo, cujo tempo padrão é igual ao tempo vendido ao cliente. Obs.: Baseado no CNPJ do fornecedor informado.

65-70

6

Numeric

Total invoiced
jobs with general job codes where the actual hours were invoiced

The total number of jobs invoiced that
had general job codes and where the hours invoiced were not equal to the estimated hours

M

N

 

Quantidade de linhas de serviços lançadas nas OS FATURADAS, serviços fora da tabela de tempo padrão de reparo, cujo tempo padrão é diferente do tempo vendido ao cliente. Obs.: Baseado no CNPJ do fornecedor informado.

71-78

8

Character

The date of this data snapshot

The dealer month-end date for this monthly data summary

M

N

YYYYMMDD

Último dia útil do mês para o revendedor.

79-80

2

Character

Filler

Static value

M

N

Spaces

Fixo espaços



Record AB: (Service Sales Performance)

Column
Position

Length

Type

Field Name

Description

M/O

Audit

Validation

Considerações Linx

1

1

Character

Record Code

Static value

M

Y

"A"

Fixo "A"

2-3

2

Character

Main account 1-2

First two bytes of the main DTF/poll
account

M

Y

 

O Main Account é o campo "Filial Integração" do cadastro (cada0900) onde o código de integração for "JD-MATRIZ". Como são somente os dois primeiros bytes então se o main account for "201337" é montado "20".

4-5

2

Character

Unit Location Code

Static value

M

Y

"00"

Fixo "00"

6-9

4

Character

Main account 3-6

Last four bytes of the main DTF/poll
account

M

N

 

O Main Account é o campo "Filial Integração" do cadastro (cada0900) onde o código de integração for "JD-MATRIZ". Como são somente os quatro últimos bytes então se o main account for "201337" é montado "1337".

10

1

Character

Record ID

Static value

M

Y

"B"

Fixo "B"

11-16

6

Numeric

Hours available for
work

Total hours available for technicians to work on jobs

M

N

Vacation, sick time, holidays, etc
should be excluded from this

Total de horas disponíveis para trabalho, já descontadas as horas improdutivas.

17-19

3

Character

Filler

Static value

M

N

Spaces

Fixo espaços

20-21

2

Character

Source account 1-2

First two bytes of the source account

M

N

 

O Source Account é o campo "Filial Integração" do cadastro (cada0900) onde o código de integração for "JD-FILIAL". Como são somente os dois primeiros bytes então se o main account for "201337" é montado "20".

22

1

Character

Type Record

Static value

M

Y

"P"

Fixo "P"

23-26

4

Character

Source account 3-6

Last four bytes of the source account

M

Y

 

O Main Account é o campo "Filial Integração" do cadastro (cada0900) onde o código de integração for "JD-MATRIZ". Como são somente os quatro últimos bytes então se o main account for "201337" é montado "1337".

27-32

6

Numeric

Hours worked

Total hours that technicians spent clocked-in (working) on invoiced jobs

M

N

 

Total de horas trabalhadas e apontadas em trabalhos faturados.

33-38

6

Numeric

Delay hours

Total delay hours logged on invoices jobs

M

N

 

Soma de todos os tempos de parada de serviços por falta de peças, e outros motivos técnicos a serem informados pela JD.. Verificar outros tipos de parada de serviços e enviar para seleção. enviar para JD para seleção listar

39-44

6

Numeric

Rework hours

Total rework hours recorded on invoiced jobs

M

N

 

Total de horas trabalhadas e apontadas em OS de retrabalho.

45-50

6

Numeric

Hours over
standard

The sum of the differences between Hours Worked and Estimated Hours for invoiced jobs that had Estimated Hours and where the Hours Worked on the job exceeded the Estimated Hours for the job

M

N

 

Total de horas trabalhadas e apontadas em trabalhos faturados, que excederam o tempo padrão.

51-55

5

Numeric

Other hours

Total other (non-revenue) hours on invoiced jobs

M

N

 

Total de horas trabalhadas em OS internas

56-80

25

Character

Filler

Static value

M

N

Spaces

Fixo espaços

Record AC: (Operating Performance)

Column
Position

Length

Type

Field Name

Description

M/O

Audit

Validation

Considerações Linx

1

1

Character

Record Code

Static value

M

Y

"A"

Fixo "A"

2-3

2

Character

Main account 1-2

First two bytes of the main DTF/poll
account

M

Y

 

O Main Account é o campo "Filial Integração" do cadastro (cada0900) onde o código de integração for "JD-MATRIZ". Como são somente os dois primeiros bytes então se o main account for "201337" é montado "20".

4-5

2

Character

Unit Location Code

Static value

M

Y

"00"

Fixo "00"

6-9

4

Character

Main account 3-6

Last four bytes of the main DTF/poll account

M

N

 

O Main Account é o campo "Filial Integração" do cadastro (cada0900) onde o código de integração for "JD-MATRIZ". Como são somente os quatro últimos bytes então se o main account for "201337" é montado "1337".

10

1

Character

Record ID

Static value

M

Y

"C"

Fixo "C"

11-16

6

Numeric

Total hours sold

Total hours invoiced on retail job types, excluding rework

M

N

 

Total de horas faturadas a cliente

17-19

3

Character

Filler

Static value

M

N

Spaces

Fixo espaços

20-21

2

Character

Source account 1-2

First two bytes of the source account

M

N

 

O Source Account é o campo "Filial Integração" do cadastro (cada0900) onde o código de integração for "JD-FILIAL". Como são somente os dois primeiros bytes então se o main account for "201337" é montado "20".

22

1

Character

Type Record

Static value

M

Y

"P"

Fixo "P"

23-26

4

Character

Source account 3-6

Last four bytes of the source account

M

Y

 

O Source Account é o campo "Filial Integração" do cadastro (cada0900) onde o código de integração for "JD-FILIAL". Como são somente os quatro últimos bytes então se o main account for "201337" é montado "1337".

27-32

6

Numeric

Net hours worked

Total hours worked on invoiced retail job types, excluding delay hours and other (non-revenue) hours

M

N

 

Total de horas trabalhadas em serviços faturados ao cliente

33-80

48

Character

Filler

Static value

M

N

Spaces

Fixo espaços

Record AD: (WIP Performance)

Column
Position

Length

Type

Field Name

Description

M/O

Audit

Validation

Considerações Linx

1

1

Character

Record Code

Static value

M

Y

"A"

Fixo "A"

2-3

2

Character

Main account 1-2

First two bytes of the main DTF/poll
account

M

Y

 

O Main Account é o campo "Filial Integração" do cadastro (cada0900) onde o código de integração for "JD-MATRIZ". Como são somente os dois primeiros bytes então se o main account for "201337" é montado "20".

4-5

2

Character

Unit Location Code

Static value

M

Y

"00"

Fixo "00"

6-9

4

Character

Main account 3-6

Last four bytes of the main DTF/poll
account

M

N

 

O Main Account é o campo "Filial Integração" do cadastro (cada0900) onde o código de integração for "JD-MATRIZ". Como são somente os quatro últimos bytes então se o main account for "201337" é montado "1337".

10

1

Character

Record ID

Static value

M

Y

"D"

Fixo "D"

11-18

8

Numeric

Total WIP labor $
at cost

Total value of the labor, at cost, posted to WIP jobs at month end

M

Y

 

Valor Total R$ dos serviços vendidos ao cliente sem faturamento realizado.

19

1

Character

Filler

Static value

M

N

Spaces

Fixo espaços

20-21

2

Character

Source account 1-2

First two bytes of the source account

M

N

 

O Source Account é o campo "Filial Integração" do cadastro (cada0900) onde o código de integração for "JD-FILIAL". Como são somente os dois primeiros bytes então se o main account for "201337" é montado "20".

22

1

Character

Type Record

Static value

M

Y

"P"

Fixo "P"

23-26

4

Character

Source account 3-6

Last four bytes of the source account

M

Y

 

O Source Account é o campo "Filial Integração" do cadastro (cada0900) onde o código de integração for "JD-FILIAL". Como são somente os quatro últimos bytes então se o main account for "201337" é montado "1337".

27-34

8

Numeric

Total WIP $ at cost

Total value of WIP retail jobs, at cost, at month end

M

N

 

Valor a preço de custo (gerencial) dos serviços da OS (tempo vendido * preço de custo MO) + Peças concluídas e ainda não Faturadas.

35-43

9

Numeric

Last-12 months
labor COS

Total COS for labor on invoiced jobs for the last-12 months

M

Y

 

Total do custo das vendas (gerencial) dos serviços da OS faturadas (tempo vendido * preço de custo MO). Soma dos últimos 12 meses.

44-52

9

Numeric

Last-12 months
service COS

Total COS for service on invoiced retail jobs for the last 12 months

M

Y

 

Total do custo das vendas (gerencial) dos serviços + Peças da OS faturadas (tempo vendido * preço de custo MO). Soma dos últimos 12 meses. Somente faturados a clientes.

53-56

4

Numeric

Average Billing
cycle Days

The average number of days between the Date of Last Labor Posting and the Invoice Date for jobs closed this month.

M

Y

 

Número médio de dias entre a conclusão do último serviço da OS e o faturamento da OS (fechados no mês).

57-64

8

Numeric

Aged WIP Labor $
at cost

Labor value, at cost, posted to aged WIP retail jobs at month-end

M

Y

See definition of 'Aged WIP' in Special
Considerations

Valor a preço de custo (gerencial) dos serviços da OS (tempo vendido * preço de custo MO) concluídas a mais de 14 dias e ainda não encerradas/faturadas no mês de referência. Somente OS de clientes. Excluídos serviços de terceiros.

65-72

8

Numeric

Aged WIP Total $
at cost

Total value, at cost, of aged WIP retail jobs at month-end

M

Y

See definition of 'Aged WIP' in Special
Considerations

Valor a preço de custo (gerencial) dos serviços da OS (tempo vendido * preço de custo MO) + Peças concluídas a mais de 14 dias e ainda não encerradas/faturadas. Somente OS de clientes.

73-80

8

Character

Filler

Static value

M

N

Spaces

Fixo espaços

O padrão de nomenclatura do arquivo SMmanage segue o padrão definido na documentação relativa ao processo de comunicação DTF –John Deere, conforme abaixo:
O processo do SMmanage contém duas particularidades, a primeira é que deverá ser disponibilizada a opção de geração do processo de forma automática pelo ROBO (sem intervenção do usuário) descrita abaixo no processo "Ativação de Crontab para DMS LinxMaq". Neste caso será utilizado como período de geração o período anterior à data corrente. Exemplo: Data corrente 01/02/2015 e período considerado para a geração do relatório 2015-01. Para utilização desta opção, o usuário deverá parametrizar no CRON da máquina a execução do processo na madrugada do primeiro dia de cada mês.
A segunda é que após a geração do arquivo o sistema deverá enviá-lo automaticamente para o diretório onde o programa responsável pela comunicação com a montadora está configurado para ler o arquivo. A configuração desse processo está descrita em "Configuração do DTF para transferência automática do arquivo gerado".
Configuração do DTF para transferência automática do arquivo gerado:
Para realizar a transferência automática do arquivo SMM, existem duas 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. Baixe o arquivo smm_upload.bat (clicand o aqui);


  1. Procure pela linha _\\srvsisdia\intfabrica\smm_ e confira se esse é o caminho onde o programa gera o arquivo SMmanage, lembrando que este diretório deverá ser o mesmo informado no ("COPE0100").


  1. Procure pela linha C:\APPS\JDIS\PROG\COMM\UPLOAD e confira se esse é o diretório onde o programa responsável pela comunicação com a montadora irá lê-lo.


  1. Procure pela linha C:\APPS\JDIS\PROG\COMM\internet_poll.exe –p 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.


  1. Salve o arquivo smm_upload.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".


  1. No menu "Ações" à direita escolha a opção "Criar Tarefa Básica..."


  1. Coloque o nome e a descrição para a tarefa e clique em "Avançar".


  1. Escolha o período que deseja que a tarefa seja executada. Normalmente será a opção "Diariamente" e clique em "Avançar".


  1. Informe o período inicial e a hora que será executada e clique em "Avançar".


  1. Escolha a opção "Iniciar um programa" e clique em "Avançar".


  1. Procure o diretório onde foi salvo o arquivo "smm_upload.bat". Exemplo: C:\APPS\JDIS\PROG\COMM\smm_upload.bat, e clique em "Avançar".


  1. Antes de concluir confira os dados, se estiver tudo correto clique em "Concluir".



Ativação de Crontab para 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;


  1. Obtenha o shell (clicando aqui).


  1. Descompactar o arquivo que foi recepcionado para obter o script Run_SMJD1000.sh. Transfira o script Run_SMJD1000.sh da estação Windows para o servidor SISDIA para o diretório /root/bin;


  1. Entre no servidor SISDIA via putty usando o usuário root;


5. Vá até o diretório /root/bin e edite o arquivo Run_SMJD1000.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.
Para editar digite: vi Run_SMJD1000.sh
5.1. Na linha 16, definir o diretório da base do Sisdia que será utilizada. Substituir a palavra: BASE_SISDIA, pelo diretório da base que será utilizada. Por exemplo: /sisdia/SisdiaEvolution , /sisdia/treino, etc.
5.2. Na linha 30, definir o nome da instância que será utilizada. Substituir a palavra OL_INSTANCIA, pelo nome da instância que será utilizada. Por exemplo: ol_standard, ol_treino, etc.
5.3. Na linha 58, definir o diretório da base do sisdia que será utilizada. Substituir a palavra: BASE_SISDIA, pelo diretório da base que será utilizada. Por exemplo: /sisdia/SisdiaEvolution, /sisdia/treino, etc.
5.4. Salve as alterações realizadas no arquivo Run_SMJD1000.sh e o feche. Para sair e salvar digite: <ESC> + :x
5.5. Dar permissão ao arquivo Run_SMJD1000.sh. Para isto utilize o comando: chmod 777 /root/bin/Run_SMJD1000.sh
6. Execute no prompt do Linux o comando crontab –e
7. Será exibida uma lista com comandos de crontab. Vá até o final do arquivo e acrescente a linha abaixo:
30 23 1 * */root/bin/Run_SMJD1000.sh 1>/root/tmp/Run_SMJD1000.1.log 2>/root/tmp/Run_SMJD1000.2.log
Obs: No diretório /tmp serão gerados dois logs.
/tmp/Run_SMJD1000.1.log esse é o log gerado para quando a execução ocorrer sem sem erro. Normalmente este é gerado zerado.
/tmp/Run_SMJD1000.2.log esse é o log gerado para quando a execução apresentar erros.
No exemplo citado acima, referente a linha do crontab, o arquivo será gerado a cada primeiro dia do mês às 23:30 (vinte e três horas e trinta minutos). Caso seja necessário efetuar a alteração dos dias/horários para geração. Para isto poderá fazer consulta da configuração do crontab, utilizando http://pt.wikipedia.org/wiki/Crontab para orientação.
7. Salve o arquivo de crontab e saia do mesmo, lembrando que para sair e salvar digite: <ESC> + :x.