1. Identificação da Rotina


Nome da Rotina

Atualização de Lista de Preços
ProgramaOFIA539
Módulo ERPOficina (SIGAOFI)
Acesso à RotinaAtualizações/Cadastros Peças/Atualização da Lista de Preços (OFIA539)
Data da Documentação (Última Atualização)

 



2. Descrição Funcional


A rotina Atualização da Lista de Preços (OFIA539) tem como finalidade facilitar a atualização dos preços de peças no sistema Protheus DMS de acordo com a tabela da montadora Scania, a partir da leitura do arquivo PRI9600.TXT que contém os valores de preços de venda, fornecido pela própria montadora.

Antes da execução da rotina, é necessário que as peças existentes no arquivo fornecido pela montadora já tenham sido previamente cadastradas na rotina de Peças (MATA010), seja pelo próprio cadastro ou pela rotina Importação Glass (OFIA538)

Durante a execução da rotina, é necessário preencher os parâmetros obrigatórios. Com base nessas informações e no mapeamento das peças previamente cadastradas, o sistema realiza as validações necessárias para identificar e atualizar os preços e a quantidade de peças por embalagem por meio do processamento do arquivo.

Após a importação, o sistema executa as ações de pós-processamento configuradas, que podem incluir: mover, apagar ou manter o arquivo, e registra logs com o resultado da operação.

Dessa forma, a rotina auxilia na manutenção e atualização do cadastro das peças da Scania no Protheus, tornando o processo mais simples e reduzindo a necessidade de intervenções manuais.



3. Pré-requisitos e Configurações


Para o correto funcionamento da rotina Atualização da Lista de Preços (OFIA539), é necessário garantir pré-condições que asseguram a leitura adequada do arquivo PRI9600.TXT, o mapeamento das peças previamente cadastradas e o correto tratamento dos dados entre a Scania e o Protheus DMS. São elas:

  1. As peças existentes no arquivo PRI9600.TXT devem ter sido previamente cadastradas na rotina de Peças (MATA010) ou pela rotina Importação Glass (OFIA538).
  2. É necessário incluir manualmente a rotina Atualização da Lista de Preços (OFIA539) no menu do Protheus, permitindo assim o acesso à funcionalidade.
  3. Deve-se possuir um arquivo PRI9600.TXT válido contendo as informações e os preços de venda das peças enviados pela montadora Scania, que será utilizado como base para a execução da rotina.


Item      V.ini   V.Fim   TPDesc.     MC  %MCDesc.  IPIClassif.    PIS  CFS        Publico    Publico 30d         BalcaoPQt.Peca_Emb
1111111   01012025        01NORMAL    1101100011110011111111110  0011001010000000000111111000000000111111000000000111111S1          
2222222   01022025        01NORMAL    2202200022220022222222220  0022002020000000000002222000000000002222000000000002222S1          
3333333   01032025        01NORMAL    3303300033330033333333300  0033300330000000000000333000000000000333000000000000333S1          
4444444   01042025        01NORMAL    4402500044440044444444400  0044400440000000000004044000000000004444000000000004444S1 
1111111   01012025        01NORMAL    1101100011110011111111110  0011001010000000000111111000000000111111000000000111111S1          
2222222   01022025        01NORMAL    2202200022220022222222220  0022002020000000000002222000000000002222000000000002222S1          
3333333   01032025        01NORMAL    3303300033330033333333300  0033300330000000000000333000000000000333000000000000333S1          
4444444   01042025        01NORMAL    4402500044440044444444400  0044400440000000000004044000000000004444000000000004444S1
1111111   01012025        01NORMAL    1101100011110011111111110  0011001010000000000111111000000000111111000000000111111S1          
2222222   01022025        01NORMAL    2202200022220022222222220  0022002020000000000002222000000000002222000000000002222S1          
3333333   01032025        01NORMAL    3303300033330033333333300  0033300330000000000000333000000000000333000000000000333S1          
4444444   01042025        01NORMAL    4402500044440044444444400  0044400440000000000004044000000000004444000000000004444S1       
  • Tamanho do arquivo PRI9600.TXT: Aproximadamente 20 MB.

Para que a atualização de preços e de quantidade por embalagem ocorra corretamente durante o processamento do arquivo PRI9600.TXT, é necessário que o parâmetro "MV_ARQPROD" esteja configurado corretamente.

Esse parâmetro determina se os dados dos indicadores de produto serão considerados pela tabela "Descrição Genérica do Produto" (SB1) ou pela tabela "Indicadores de Produtos" (SBZ).

Caso nos parâmetros do pergunte seja selecionado para atualizar a quantidade por embalagem, durante a execução da rotina o sistema gravará esse valor no local apropriado:

  • Na coluna "B1_QE" da tabela SB1, caso o parâmetro indique uso da tabela SB1, que corresponde ao campo Qtd. Embalag. existente na seção "Descrição Genérica do Produto", aba MRP/Suprimentos da rotina Peças (MATA010);
  • Na coluna "BZ_QE" da tabela SB1, caso o parâmetro indique uso da tabela SBZ, correspondente à coluna Qtd. Embalag. da tabela presente na seção "Indicadores de Produtos".

Essa configuração garante a identificação e a atualização dos preços de venda e das quantidades das peças de forma correta.

  • No Configurador (SIGACFG), acesse Ambientes/Cadastros/Menu (CFGX013) e informe as novas opções de menu do módulo de Oficina (SIGAOFI) conforme instruções a seguir:


Menu

Atualizações

Submenu

Cadastros Peças

Nome da Rotina

Atualização da Lista de Preços

Programa

OFIA539

Módulo

Oficina (SIGAOFI)

Tipo

Função Protheus


Criação de Pergunte no arquivo SX1 – Pergunta


Grupo

OFIA539OFIA539OFIA539OFIA539

Grupo de campo





Ordem

01020304

Pergunta

Diretório do ArquivoGrupos de ProdutoDestino PúblicoDestino Público 30d

Tipo

CCCC
Tamanho99804040
Decimal0000
Var01MV_PAR01MV_PAR02MV_PAR03MV_PAR04
Formato



ValidaçãoOA539005M_PreValid(1)!Vazio() .And. OA539005M_PreValid(2)Vazio() .Or. OA539005M_PreValid(3)Vazio() .Or. OA539005M_PreValid(3)
ObjetoGetGetGetGet
Consulta Padrão

VX5PRVVX5PRV
Pré-Seleção (Combo)



Item 1



Item 2



Item 3



Item 4



Item 5



Help





Grupo

OFIA539OFIA539OFIA539OFIA539

Grupo de campo





Ordem

05060708

Pergunta

Destino BalcãoAtu. Quant. por EmbalagemAção após ProcessamentoMover Para

Tipo

CCCC
Tamanho401199
Decimal0000
Var01MV_PAR05MV_PAR06MV_PAR07MV_PAR08
Formato



ValidaçãoVazio() .Or. OA539005M_PreValid(3)

If( MV_PAR07==2, OA539005M_PreValid(4) ,Vazio())
ObjetoGetComboComboGet
Consulta PadrãoVX5PRV


Pré-Seleção (Combo)
21
Item 1
SimNenhuma Ação
Item 2
NãoMover Arquivo
Item 3

Apagar Arquivo
Item 4



Item 5



Help







4. Fluxo de Utilização



  • Acesse o Módulo 14 (Oficina).
  • Acesse o menu Atualizações → Cadastros Peças → Atualização da Lista de Preços (OFIA539).
  • Preencha os parâmetros:
    • No parâmetro Diretório do Arquivo? que possui preenchimento obrigatório, ao sair do campo, será exibida uma tela mostrando o servidor (pasta protheus_data) e seus diretórios. Selecione o arquivo PRI9600.TXT que será processado pela rotina.
    • No parâmetro Grupos de Produto? que possui preenchimento obrigatório, será necessário preencher o(s) grupo(s) vinculado(s) às peças já cadastradas no Protheus e existentes na rotina Grupos de Peças (MATA035). 
    • No parâmetro Destino Público?, ao clicar no ícone da lupa, será exibida uma listagem onde deve ser selecionado o preço de venda desejado.
    • No parâmetro Destino Público 30d?, ao clicar no ícone da lupa, será exibida uma listagem onde deve ser selecionado o preço de venda desejado.
    • No parâmetro Destino Balcão?,  ao clicar no ícone da lupa, será exibida uma listagem onde deve ser selecionado o preço de venda desejado.

Atualização dos preços: A listagem apresentada nos parâmetros acima consiste nos seguintes campos:

      • Preco Venda (B1_PRV1)
      • Preco Venda2 (B5_PRV2)
      • Preco Venda3 (B5_PRV3)
      • Preco Venda4 (B5_PRV4)
      • Preco Venda5 (B5_PRV5)
      • Preco Venda6 (B5_PRV6)
      • Preco Venda7 (B5_PRV7)

Sendo o campo Preco Venda (B1_PRV1) presente na aba Cadastrais, seção Descrição Genérica do Produto, e os outros campos de venda presentes na aba Vendas, seção Dados Adicionais do Produto, rotina Peças (MATA010).

A atualização ocorrerá da seguinte forma: o campo referente ao preço selecionado no parâmetro será atualizado com o valor correspondente existente no arquivo PRI9600.TXT.

Exemplo: Se no parâmetro Destino Público? for selecionado o preço "B1_PRV1", o campo Preco Venda da rotina Peças (MATA010) será atualizado com o valor da coluna "Publico" do arquivo.

Observação: Não é permitido utilizar o mesmo preço de venda em parâmetros diferentes, ou seja, caso um preço de venda já tenha sido selecionado em um parâmetro, se selecionado o mesmo preço em um segundo parâmetro ao clicar no botão OK para execução da rotina ocorrerá a validação dos parâmetros e será exibida uma mensagem em tela abortando a operação.

    • No parâmetro Atu. Quant. por Embalagem? que possui preenchimento obrigatório, caso seja selecionada a opção 1 - Sim, a quantidade de peças por embalagem será atualizada de acordo com a configuração realizada anteriormente para o parâmetro "MV_ARQPROD". Caso seja selecionada a opção 2 - Não, não haverá atualização da quantidade de peças por embalagem. 
    • No parâmetro Ação após Processamento: Selecione a opção Nenhuma Ação. Com isso, o arquivo PRI9600.TXT permanecerá no diretório original, sem ser movido nem apagado após o processamento. 
  • Após preencher todos os parâmetros obrigatórios, clique no botão “OK”.
  • A rotina processará o arquivo PRI9600.TXT e, após a atualização de preço de venda e quantidade por embalagem de cada peça, serão executadas ações personalizadas definidas através do ponto de entrada.
  • Ao final do processamento, quando o arquivo for processado com sucesso, serão executadas ações personalizadas definidas através do ponto de entrada de conclusão da rotina.



  • Acesse o Módulo 14 (Oficina).
  • Acesse o menu Atualizações → Cadastros Peças → Atualização da Lista de Preços (OFIA539).
  • Preencha os parâmetros: 
    • No parâmetro Diretório do Arquivo? que possui preenchimento obrigatório, ao sair do campo, será exibida uma tela mostrando o servidor (pasta protheus_data) e seus diretórios. Selecione o arquivo PRI9600.TXT que será processado pela rotina.
    • No parâmetro Grupos de Produto? que possui preenchimento obrigatório, será necessário preencher o(s) grupo(s) vinculado(s) às peças já cadastradas no Protheus e existentes na rotina Grupos de Peças (MATA035). 
    • No parâmetro Destino Público?, ao clicar no ícone da lupa, será exibida uma listagem onde deve ser selecionado o preço de venda desejado.
    • No parâmetro Destino Público 30d?, ao clicar no ícone da lupa, será exibida uma listagem onde deve ser selecionado o preço de venda desejado.
    • No parâmetro Destino Balcão?,  ao clicar no ícone da lupa, será exibida uma listagem onde deve ser selecionado o preço de venda desejado.

Atualização dos preços: A listagem apresentada nos parâmetros acima consiste nos seguintes campos:

      • Preco Venda (B1_PRV1)
      • Preco Venda2 (B5_PRV2)
      • Preco Venda3 (B5_PRV3)
      • Preco Venda4 (B5_PRV4)
      • Preco Venda5 (B5_PRV5)
      • Preco Venda6 (B5_PRV6)
      • Preco Venda7 (B5_PRV7)

Sendo o campo Preco Venda (B1_PRV1) presente na aba Cadastrais, seção Descrição Genérica do Produto, e os outros campos de venda presentes na aba Vendas, seção Dados Adicionais do Produto, rotina Peças (MATA010).

A atualização ocorrerá da seguinte forma: o campo referente ao preço selecionado no parâmetro será atualizado com o valor correspondente existente no arquivo PRI9600.TXT.

Exemplo: Se no parâmetro Destino Público? for selecionado o preço "B1_PRV1", o campo Preco Venda da rotina Peças (MATA010) será atualizado com o valor da coluna "Publico" do arquivo.

Observação: Não é permitido utilizar o mesmo preço de venda em parâmetros diferentes, ou seja, caso um preço de venda já tenha sido selecionado em um parâmetro, se selecionado o mesmo preço em um segundo parâmetro ao clicar no botão OK para execução da rotina ocorrerá a validação dos parâmetros e será exibida uma mensagem em tela abortando a operação.

    • No parâmetro Atu. Quant. por Embalagem? que possui preenchimento obrigatório, caso seja selecionada a opção 1 - Sim, a quantidade de peças por embalagem será atualizada de acordo com a configuração realizada anteriormente para o parâmetro "MV_ARQPROD". Caso seja selecionada a opção 2 - Não, não haverá atualização da quantidade de peças por embalagem. 
    • No parâmetro Ação após Processamento: Selecione a opção Mover Arquivo. Com isso, o parâmetro Mover Para será habilitado e terá preenchimento obrigatório, permitindo selecionar o diretório de destino dentro do servidor. Ao final do processamento, o arquivo será movido do diretório de origem para o diretório selecionado.
  • Após preencher todos os parâmetros obrigatórios, clique no botão “OK”.
  • A rotina processará o arquivo PRI9600.TXT e, após a atualização de preço de venda e quantidade por embalagem de cada peça, serão executadas ações personalizadas definidas através do ponto de entrada.
  • Ao final do processamento, quando o arquivo for processado com sucesso, serão executadas ações personalizadas definidas através do ponto de entrada de conclusão da rotina, e o arquivo será movido do diretório original para o diretório destino indicado no parâmetro Mover Para.



  • Acesse o Módulo 14 (Oficina).
  • Acesse o menu Atualizações → Cadastros Peças → Atualização da Lista de Preços (OFIA539).
  • Preencha os parâmetros: 
    • No parâmetro Diretório do Arquivo? que possui preenchimento obrigatório, ao sair do campo, será exibida uma tela mostrando o servidor (pasta protheus_data) e seus diretórios. Selecione o arquivo PRI9600.TXT que será processado pela rotina.
    • No parâmetro Grupos de Produto? que possui preenchimento obrigatório, será necessário preencher o(s) grupo(s) vinculado(s) às peças já cadastradas no Protheus e existentes na rotina Grupos de Peças (MATA035). 
    • No parâmetro Destino Público?, ao clicar no ícone da lupa, será exibida uma listagem onde deve ser selecionado o preço de venda desejado.
    • No parâmetro Destino Público 30d?, ao clicar no ícone da lupa, será exibida uma listagem onde deve ser selecionado o preço de venda desejado.
    • No parâmetro Destino Balcão?,  ao clicar no ícone da lupa, será exibida uma listagem onde deve ser selecionado o preço de venda desejado.

Atualização dos preços: A listagem apresentada nos parâmetros acima consiste nos seguintes campos:

      • Preco Venda (B1_PRV1)
      • Preco Venda2 (B5_PRV2)
      • Preco Venda3 (B5_PRV3)
      • Preco Venda4 (B5_PRV4)
      • Preco Venda5 (B5_PRV5)
      • Preco Venda6 (B5_PRV6)
      • Preco Venda7 (B5_PRV7)

Sendo o campo Preco Venda (B1_PRV1) presente na aba Cadastrais, seção Descrição Genérica do Produto, e os outros campos de venda presentes na aba Vendas, seção Dados Adicionais do Produto, rotina Peças (MATA010).

A atualização ocorrerá da seguinte forma: o campo referente ao preço selecionado no parâmetro será atualizado com o valor correspondente existente no arquivo PRI9600.TXT.

Exemplo: Se no parâmetro Destino Público? for selecionado o preço "B1_PRV1", o campo Preco Venda da rotina Peças (MATA010) será atualizado com o valor da coluna "Publico" do arquivo.

Observação: Não é permitido utilizar o mesmo preço de venda em parâmetros diferentes, ou seja, caso um preço de venda já tenha sido selecionado em um parâmetro, se selecionado o mesmo preço em um segundo parâmetro ao clicar no botão OK para execução da rotina ocorrerá a validação dos parâmetros e será exibida uma mensagem em tela abortando a operação.

    • No parâmetro Atu. Quant. por Embalagem? que possui preenchimento obrigatório, caso seja selecionada a opção 1 - Sim, a quantidade de peças por embalagem será atualizada de acordo com a configuração realizada anteriormente para o parâmetro "MV_ARQPROD". Caso seja selecionada a opção 2 - Não, não haverá atualização da quantidade de peças por embalagem. 
    • No parâmetro Ação após Processamento: Selecione a opção Apagar Arquivo. Com isso, ao término do processamento do arquivo, ele será apagado do diretório de onde foi selecionado.
  • Após preencher todos os parâmetros obrigatórios, clique no botão “OK”.
  • A rotina processará o arquivo PRI9600.TXT e, após a atualização de preço de venda e quantidade por embalagem de cada peça, serão executadas ações personalizadas definidas através do ponto de entrada.
  • Ao final do processamento, quando o arquivo for processado com sucesso, serão executadas ações personalizadas definidas através do ponto de entrada de conclusão da rotina, e o arquivo será apagado do diretório original onde foi selecionado.



Após a execução da rotina, será possível visualizar na tabela VQL (Informações genéricas) os registros de log do processamento, conforme o exemplo apresentado na imagem abaixo.

  • Na coluna VQL_AGROUP (Agrupador), será registrado o nome do fonte da rotina;
  • Na coluna VQL_MSGLOG (Mensagens de Log), será registrada a mensagem de log contendo informações como mensagem (Processamento ou Erro), empresa, filial, usuário, modo de execução (manual ou schedule) e os valores informados nos parâmetros da rotina.




5. Integrações e Dependências


Integração

Para o correto funcionamento da rotina, durante a execução da Atualização da Lista de Preços (OFIA539) ocorre a integração com as rotinas Peças (MATA010) e Complemento Peça (MATA180).
Essa integração garante que os dados das peças no Protheus sejam atualizados de acordo com a tabela da montadora Scania, mantendo o cadastro de peças sempre atualizado e alinhado às informações da montadora.



6. Assuntos Relacionados


<style>
  .link_container {
    display: flex;
    flex-direction: column;
    align-items: flex-start; /* Alinhado à esquerda */
    width: 100%;
    gap: 8px; /* Espaçamento entre os itens */
  }

  .btn-doc,
  .btn-doc:link,
  .btn-doc:visited {
    display: inline-block;
    padding: 12px 24px;
    font-size: 16px;
    font-weight: 600;
    color: #FFFFFF !important; /* Força o texto branco */
    background-color: #08244C; /* Fundo azul escuro */
    border: none;
    border-radius: 8px;
    text-decoration: none;
    text-align: left;
    transition: background-color 0.3s ease, transform 0.2s ease, color 0.3s ease;
  }

  .btn-doc:hover {
    background-color: #FFFFFF; /* Azul mais claro no hover */
    color: #08244C !important; /* Mantém texto branco */
    transform: scale(1.03);
  }

  .btn-doc:active {
    background-color: #061B3B; /* Azul ainda mais escuro no clique */
    color: #FFFFFF !important; /* Mantém texto branco */
    transform: scale(0.98);
  }
</style>

<div class="link_container">
  <a href="https://tdn.totvs.com/pages/viewpage.action?pageId=1018563765" target="_blank" class="btn-doc">     		
	📄 Ponto de Entrada OA539LIN - Atualização da Lista de Preços (OFIA539)   
  </a>
  <a href="https://tdn.totvs.com/pages/viewpage.action?pageId=1018563840" target="_blank" class="btn-doc">     
	📄 Ponto de Entrada OA539FIM - Atualização da Lista de Preços (OFIA539)   
  </a>
  <a href="https://tdn.totvs.com/pages/viewpage.action?pageId=1014657481" target="_blank" class="btn-doc">     
	📄 Importação Glass (OFIA538)
  </a> </div>