Ponto entrada > Módulo Compras > Tratamento standard PURMTOLIB 

CALWALLQTY : Modificação da qtd a alocar

Este ponto de entrada permite modificar a quantidade a alocar sobre uma matéria de EO ou de OF afetada na encomenda de compra.

 

Contexto e modo de funcionamento.

Transação

Existe uma transação em curso.

Ficheiro rasto

Não existe ficheiro rasto aberto.

Classes ficheiros e ecrãs disponíveis

As tabelas PORDER ([F :POH], PORDERQ ([F :POQ]) são carregadas no momento de chamada do ponto de entrada, assim que um componente de ordem na origem desta encomenda (OF, EO ou encomenda de venda):

  • tabela MFGMAT [F:MFM] no caso de uma OF,
  • tabela SCOMAT [F:SCM] no caso de um EO
  • tabelas SORDER ([F :SOH], SORDERQ ([F :SOQ]) no caso de uma encomenda de venda.
Utilização

As variáveis de trabalho WALLQTY e WREQQTY são carregadas respetivamente com a quantidade restante a alocar para a linha de encomenda e a quantidade rececionada.

Em standard, aloca-se a quantidade produzida (WREQQTY) na concorrência da quantidade restante a alocar (WALLQTY), quer dizer se que se a quantidade rececionada é superior à quantidade encomendada, alocar-se-á que para a quantidade restante a alocar para esta linha de encomenda.

A quantidade a alocar (WALLQTY) está claculada como segue :

Para uma encomenda a facturação directa :

Quantidade a alocar = quantidade encomendada - quantidade alocada - quantidade à consignação - quantidade faturada.

Para as outras encomendas :

Quantidade a alocar = quantidade encomendada - quantidade alocada - quantidade à consignação - quantidade faturada - quantidade em curso de entrega.

Se se pretende, por exemplo, alocar a quantidade produzida total é suficiente de inicializar a quantidade a alocar (WALLQTY) com a quantidade rececionada (WREQQTY).

Exemplo de tratamento standard :

$ACTION

Case ACTION

 When "CALWALLQTY"  : Gosub CALWALLQTY

Endcase

Return

                                                        

$CALWALLQTY

  If  WREQQTY-ENT_CUMALLQTY > WALLQTY
     WALLQTY = WREQQTY - ENT_CUMALLQTY 
     [M:MLIK]LIKQTY = WALLQTY
  Endif 

Return 

Tabelas abertas

No quadro a seguir, a flag conteúdo significativo significa que o conteúdo está em fase com o contexto (...).

Tabela

Conteúdo significativo

Título Tabela

MFGHEAD

‎Não

Cabeçalho OF

MFGITM

Sim

Artigo lançado

SCOHEAD

‎Não

Cabeçalho EO

SCOITM

Sim

Artigo lançado

SORDER :

Sim

Encomenda de venda

SORDERQ

Sim

Encomenda de venda-linha

PORDER :

Sim

Encomenda de compra :

PORDERQ

Sim

Encomenda de compra-linha :

 

CUSTRTALL : Gestão específica de alocação das ordens associadas à encomenda

Em criação e anulação de encomendas sobre as ordens de fabrico/subcontratação, o ponto de entrada permite intervir no momento da gestão de alocação sobre a encomenda, afim, por exemplo, de gerir as alocações globais em vez das alocações detalhadas.

Contexto e modo de funcionamento.

Transação

Existe uma transação em curso.

Ficheiro rasto
 
Classes ficheiros e ecrãs disponíveis

As tabelas PORDER ([F :POH], PORDERQ ([F :POQ]) são carregadas no momento de chamada do ponto de entrada, assim que um componente de ordem na origem desta encomenda (OF, EO ou encomenda de venda):

  • tabela MFGMAT [F:MFM] no caso de uma OF.
  • tabela SCOMAT [F:SCM] no caso de um EO
  • tabelas SORDER ([F :SOH], SORDERQ ([F :SOQ]) no caso de uma encomenda de venda.

Utilização

Testar o valor da variável [M:MILK]MAJCOD (valor possível "E" para entrada em stock e "S" para supressão) afim de conhecer o contexto de chamada.

Em receção de encomenda de compra ([M:MLIK]MAJCOD="E"), as variáveis de trabalho WALLQTY e WREQQTY são carregadas respetivamente com a quantidade a alocar para a linha de encomenda e a quantidade rececionada.

Em anulação de receção de encomenda de compra ([M:MLIK]MAJCOD="S"), falta preencher a variável SAV_ WALLQTY com a quantidade desalocada * -1 (quantidade desalocada em negativo).

Em criação SAV_WALLQTY está gerada pelo standard.

Em saida do ponto de entrada, posicionar a variável global GPE ao valor 1 para inibir o tratamento standard de criação ou anulação de alocações detalhadas.

Tabelas abertas

No quadro a seguir, a flag conteúdo significativo significa que o conteúdo está em fase com o contexto (...).

 

Tabela

Conteúdo significativo

Título Tabela

MFGHEAD

‎Não

Cabeçalho OF

MFGITM

Sim

Artigo lançado

SCOHEAD

‎Não

Cabeçalho EO

SCOITM

Sim

Artigo lançado

SORDER :

Sim

Encomenda de venda

SORDERQ

Sim

Encomenda de venda-linha

PORDER :

Sim

Encomenda de compra :

PORDERQ

Sim

Encomenda de compra-linha :

CHGALLQTY : Modificação da qtd a alocar

Este ponto de entrada permite modificar a quantidade a alocar sobre a encomenda de venda afetada à encomenda de compra.

Contexto e modo de funcionamento.

Transação

Existe uma transação em curso.

Ficheiro rasto

Não existe ficheiro rasto aberto.

Classes ficheiros e ecrãs disponíveis

As tabelas SORDER ([F :SOH], SORDERQ ([F :SOQ], PORDER ([F :POH], PORDERQ ([F :POQ]) estão carregadas ao momento da chamada do ponto de entrada.

Utilização

As variáveis de trabalho WQTERES e WREQQTY são carregadas respetivamente com a quantidade restante a alocar para a linha de encomenda e a quantidade rececionada.

Em standard, aloca-se a quantidade rececionada (WREQQTY) na concorrência da quantidade restante a alocar (WQTERES), quer dizer se a quantidade rececionada é superior à quantidade encomendada, alocar-se-á que para a quantidade restante a alocar para esta linha de encomenda.

A quantidade a alocar (WQTERES) está calculada como segue :

Para uma encomenda a faturação direta :

Quantidade a alocar = quantidade encomendada - quantidade alocada - quantidade à consignação - quantidade faturada.

Para as outras encomendas :

Quantidade a alocar = quantidade encomendada - quantidade alocada - quantidade à consignação - quantidade faturada - quantidade em curso de entrega.

Se se pretende, por exemplo, alocar a quantidade produzida total é suficiente de inicializar a quantidade a alocar (WQTERES) com a quantidade rececionada (WREQQTY).

Exemplo de tratamento standard :

$ACTION

Case ACTION

 When "CALWALLQTY"  : Gosub CALWALLQTY

Endcase

Return

                                                        

$CALWALLQTY

  If  WREQQTY-ENT_CUMALLQTY > WALLQTY
     WALLQTY = WREQQTY - ENT_CUMALLQTY 
     [M:MLIK]LIKQTY = WALLQTY
  Endif 

Return

 

Tabelas abertas

No quadro a seguir, a flag conteúdo significativo significa que o conteúdo está em fase com o contexto (...).

Tabela

Conteúdo significativo

Título Tabela

SORDER :

Sim

Encomenda de venda

SORDERQ

Sim

Encomenda de venda-linha

PORDER :

Sim

Encomenda de compra :

PORDERQ

Sim

Encomenda de compra-linha :

MAJSOFALL : Alocação de uma encomenda de venda

Este ponto de entrada está situado a parte de tratamento que gera a alocação do stock sobre um pedido (encomenda de venda, necessidade matéria para produção interna ou externa) no momento de uma entrada em stock via receção de uma encomenda de compra, quando existe uma afetação entre o pedido e o recurso.

Este ponto de entrada está voluntariamente restrito ao caso onde o pedido afetado é uma encomnda de venda. 

Contexto e modo de funcionamento

Transação

Existe uma transação em curso.

Ficheiro rasto

Não existe ficheiro rasto aberto.

Utilização

No momento de chamada, nem os em-curso de afetação, nem a afetação ele mesmo, não foram atualizados respetivamente nas tabelas ORDERS ([F:ORDB]) e MTOLINK.

No momento da chamada, a classe máscara [M:MLIK] está registada:

  • STOFCY, ITMREF identificam o artigo-estabelecimento afetado.
  • DEMTYP, DEMNUM, DEMLIN, DEMSEQ, DWIPTYP, DWIPSTA correspondente ao em-curso de encomenda de venda
  • RESSTYP, RESSNUM, RESSLIN, RESSSEQ, RWIPTYP, RWIPSTA correspondem ao em-curso de encomenda a compra.
  • FMIFLG e FRCFLG valem sempre 1
  • MAJCOD deve querer "E"

A chamada se faz após a atualização do detalhe da encomenda de venda [SOQ] e antes a atualização de cabeçalho da encomenda de venda [SOH].

WQTE2 é a quantidade que foram acrescentada à quantidade alocada em unidade de stock da linha de encomendas de venda ([F:SOQ]ALLQTYSTU+=WQTE2).

Tabelas abertas

No quadro a seguir, a flag conteúdo significativo significa que o conteúdo está em fase com o contexto (...).

Tabela

Conteúdo significativo

Título Tabela

SORDER :

Sim

Encomenda de venda

SORDERQ

Sim

Encomenda de venda-linha

SORDERP

Sim

Encomenda de venda - Preço

PRECEIPTD

Sim

Receção-linha

PORDERQ

Sim

Encomenda de compra-linha :

Observações diversas

Este ponto de entrada está chamado à receção de uma encomenda de compra afetado a uma encomenda de venda, que esta afetação seja ou não de contramarca.

Em caso de contramarca, temos [F:SOQ]FMI=3 &  [F:SOQ]FMINUM=[F:POQ]POHNUM.