Histórico da Página
Exemplos:
Produto: |
Protheus | ||||||||||||
Ocorrência: | Como utilizar a rotina Empenhos Múltiplos (MATA381) via execução automática (MsExecAuto)? | |||||||||||
Passo a passo: | Para realizar manutenção nos empenhos da ordem de produção, pode-se utilizar o programa MATA381. Através da execução automática do programa MATA381 é possível realizar a alteração de empenhos em lotes. Cada execução do programa MATA381 irá permitir alterar os empenhos de determinada ordem de produção. A execução automática do programa MATA381 recebe 3 parâmetros.
1. Exemplo para inclusão de empenhos: No array com as informações do cabeçalho, é necessário enviar apenas o número da ordem de produção.
2. Exemplo para Alteração de empenhos. No array do cabeçalho, é necessário enviar o número da ordem de produção e a chave INDEX com o valor 2 |
para que o sistema altere a ordem de produção correta. Observação: a chave INDEX deve, obrigatoriamente, ser o último elemento do array. No array de itens, pode-se enviar apenas as informações dos empenhos que estão sendo modificados. Empenhos que já estão cadastrados na tabela SD4 e não irão sofrer nenhuma alteração não precisam ser carregados no array. Informações de Endereços podem ser enviadas através da opção AUT_D4_END conforme exemplo. Quando o empenho possui controle de lote e o lote é enviado para geração do empenho, não é necessário enviar a data de validade do lote. O programa MATA381 preenche a validade do lote automaticamente. Para alterar um empenho que está cadastrado na SD4, é necessário utilizar o identificador LINPOS. A chave utilizada no LINPOS deverá ser a seguinte concatenação:
Para excluir um empenho que está cadastrado na SD4, é necessário utilizar o identificador LINPOS em conjunto com a chave AUTDELETA. A chave utilizada no LINPOS deverá ser a seguinte concatenação:
Para adicionar um novo empenho, basta adicionar as informações deste novo empenho no array de itens. Para alteração dos empenhos, enviar o 3° parâmetro do MATA381 com o valor 4.
|
|
|
|
|
|
3. Exemplo para zerar os empenhos de uma ordem de produção No array do cabeçalho, é necessário enviar o número da ordem de produção e a chave INDEX com o valor 2 |
para que o sistema altere a ordem de produção correta. Observação: a chave INDEX deve, obrigatoriamente, ser o último elemento do array. A função de zerar os empenhos é feita da seguinte forma: 1 - Executar o ExecAuto do MATA381 utilizando a opção de Alteração (4); Não é possível zerar apenas um empenho da ordem de produção. Sempre que esta opção for executada, todos os empenhos da OP serão zerados.
4. Exemplo de exclusão de empenhos No array do cabeçalho, é necessário enviar o número da ordem de produção e a chave INDEX com o valor 2 |
para que o sistema |
exclua os empenhos da ordem de produção correta. Observação: a chave INDEX deve, obrigatoriamente, ser o último elemento do array. Se o empenho possuir relacionamento com a lista de compras vinda da integração com o PIMS (tabela NLI), o registro na tabela NLI será excluído juntamente com o empenho. Sempre serão excluídos todos os empenhos da ordem. Se for necessário excluir apenas um empenho da ordem, deverá ser utilizada a operação de Alteração, junto com os identificadores AUTDELETA e LINPOS, conforme exemplo da operação de Alteração.
5 - Exemplo para inclusão de empenhos com integração com o PIMS: No array com as informações do cabeçalho, é necessário enviar apenas o número da ordem de produção. No array de itens, é necessário informar todas as informações do empenho que será incluído. Informações referente a integração com o PIMS podem ser enviadas através da opção AUT_D4_AGR conforme exemplo. Quando o empenho possui controle de lote e o lote é enviado para geração do empenho, não é necessário enviar a data de validade do lote. O programa MATA381 preenche a validade do lote automaticamente.
|
6. Exemplo para Alteração de empenhos. No array do cabeçalho, é necessário enviar o número da ordem de produção e a chave INDEX com o valor 2, como ultimo item do array, para que o sistema altere a ordem de produção correta. No array de itens, pode-se enviar apenas as informações dos empenhos que estão sendo modificados. Empenhos que já estão cadastrados na tabela SD4 e não irão sofrer nenhuma alteração não precisam ser carregados no array. Informações de Endereços podem ser enviadas através da opção AUT_D4_END conforme exemplo. Quando o empenho possui controle de lote e o lote é enviado para geração do empenho, não é necessário enviar a data de validade do lote. O programa MATA381 preenche a validade do lote automaticamente. Para alterar um empenho que está cadastrado na SD4, é necessário utilizar o identificador LINPOS. A chave utilizada no LINPOS deverá ser a seguinte concatenação:
Para excluir um empenho que está cadastrado na SD4, é necessário utilizar o identificador LINPOS em conjunto com a chave AUTDELETA. A chave utilizada no LINPOS deverá ser a seguinte concatenação:
Para alteração das informações da tabela NLI que estão ligadas ao empenho, deve-se utilizar os identificadores LINPOS e AUTDELETA da mesma forma que é utilizado para os registros da tabela SD4. Para adicionar um novo empenho, basta adicionar as informações deste novo empenho no array de itens. Para alteração dos empenhos, enviar o 3° parâmetro do MATA381 com o valor 4.
| |||||||||||
Observações: | Para o correto funcionamento, a versão do fonte MATA381 deve ser igual ou superior a data de |