Stock 150 

Generalidades

ESte documento é uma ajuda destinada na utilização dos stocks nos fluxos de proidução e de negócio.

Apresenta as ligações entre os documentos, movimentos e regras (de alocação/saída e de gestão).

Descreve os elementos necessários ao registo dos stocks a partir de um documento :

  • Os campos ecrã a definir
  • As acções sobre campos a utilizar
  • As acções objectos a preencher
  • Os sub-programas da biblioteca stock

Descreve os elementos necessários à actualização dos stocks a partir de um documento :

  • Parâmetros de interface entre o registo e a actualização
  • Parâmetros da actualização

Contém igulamente algumas documentações úteis à compreensão de certas funcionalidades.

Parametrização

Alocação

 

Documento

Condição

Regra de alocação

Regras de gestão

  2 - Encomenda

Outras encomendas

Encomenda

Entrega

Encomenda de consignação

Encomenda

Entrega de consignação

10 - Ordem de fabrico

Outras operações

Ordem de fabrico

Saida OF

Operações de sub-contrato.

Consolidado subcontrato

Saída ordem de sub-contrato

36 - Ordem de sub-contrato

 

Consolidado subcontrato

Saída ordem de sub-contrato

Observação :

A regra de gestão não é utilizada que para determinar os acondicionamentos a utilizar.

Entradas

 

Movimento

Documento

Condição

Regras de gestão

1 - Entrada diversa

19 - Entrada diversa

 

Entrada diversa

1 - Entrada diversa

31 - Assemblagem

Composto

Entrada diversa

1 - Entrada diversa

32 - Desasemblagem

Componente

Entrada diversa

3 - Recepção

6 - Recepção

 

Recepção

  5 - Entrada OF

15 - Declaração produção

 

Entrada OF

7 - Alteração de acondicionamento

29 - Alteração de stock

 Emp sous-traitant & mvt +

Entrada transferência

Outras emp & mvt +

Alteração stock

8 - Controlo qualidade

28 - Controlo qualidade

 

Controlo qualidade

9 - Alteração de estatuto

29 - Alteração de stock

 Mvt +

Alteração stock

12 - Devolução entrega

13 - Devolução cliente

 

Devolução entrega

12 - Devolução entrega

18 - Nota de crédito cliente

 

Devolução entrega

13- Inventário

19 - Entrada diversa

 

 

14 - Transferência inter-estabelecimentos

29 - Alteração de stock

 Mvt +

Entrada transferência

16 - Recepção para sub-contrato

6 - Recepção

 

Recepção para sub-contrato

18 - Devolução empréstimo de consignação

13 - Devolução cliente

 

Devolução entrega de consignação

19 - Reintegração de stock

12 - Seguimento matéria

 

Reintegração de stock

21 - Refraccionamento

29 - Alteração de stock

 Mvt +

Alteração stock

22 - Plano de arrumação

Documento origem

 

Documento origem

33 - Recepção para sub-contrato

13 - Devolução cliente

 

Devolução entrega

34 - Pedido de análise

29 - Alteração de stock

 

Saídas

Movimento

Documento

Condição

Regra de saida

Regras de gestão

2 - Saida diversa

20 - Saida diversa

 

Mvt interno

Saida diversa

2 - Saida diversa

31 - Assemblagem

Componente

Mvt interno

Saida diversa

2 - Saida diversa

32 - Desasemblagem

Composto

Mvt interno

Saida diversa

4 - Entrega

4 - Entrega

 

Expedição

Entrega

4 - Entrega

5 - Factura

 

Expedição

Entrega

  6 - Saída OF

12 - Seguimento matéria

Operações subcontrato

Consolidação subcontrato

Saída ordem de sub-contrato

Outras operações

Consolidação matéria

Saida OF

7 - Alteração de acondicionamento

29 - Alteração de stock

 Emp sous-traitant & mvt +

 

Saida transferência interna

Outras emp & mvt -

 

  

9 - Alteração de estatuto

29 - Alteração de stock

Mvt -

 

 

11 - Devolução recepção

  8 - Devolução fornecedor

 

Expedição

Devolução recepção

13- Inventário

20 - Saida diversa

 

 

 

14 - Transferência inter-estabelecimento

29 - Alteração de stock

Mvt -

 

Saida transferência interna

17 - Entrega de consignação

4 - Entrega

 

Expedição

Entrega de consignação

20 - Entrega por sub-contrato

4 - Entrega

 

Expedição subcontrato

Entrega por sub-contrato

21 - Refraccionamento

29 - Alteração de stock

Mvt -

 

 

24 - Pedido serviço

33 - Pedido serviço

 

Mvt interno

Pedido serviço

25 - Reapro

34 - Plano de aprov.

 Emp subcontrato

Expedição subcontrato

Aprov

Outras emp

Mvt interno

Aprov

29 - Saída sub-contrato

6 - Recepção

 

Consolidação subcontrato

Saída ordem de sub-contrato

32 - Devolução rec por subcontrato

8 - Devolução fornecedor

 

Devolução rec por subcontrato

Alocações

Tratamentos de tipo "Objecto"

Pré-requisitos

No ecrã das linhas de documento definir (em invisível) os campos permitindo gerir o filtro de alocação na linha com os nomes seguintes :

  • LOTE     Filtro lote               (tipo de dados : LOT)
  • LOTE    Filtro acondicionamento (tipo de dados : EMP)
  • STA      Filtro estatuto        (type : Char(12))

Acções campos

  • Variável de baixo de quadro (NBLIG

Desencadeador

Acção

Designação

Botão

SAISTOALL

Registo das alocações

- sobre uma linha já criada

- deve ser recosrdado sobre uma situação estável

  • Quantidade

Desencadeador

Acção

Designação

Botão

SAIALLFIL

Registo do filtro de alocações

Vencimentos entre uma linha de documento e o detalhe de alocações

Tratamento TRTSTOALLA (complemento de TRTSTOALL : Registo das alocações)

Permite gerar interacção entre uma linha de documento e o registo manual das alocações.

A actuaização deste tratamento está na carga do programador da função origem. O reconheciemnto desta é efectuada com a abeviação da máscara (LABR) passada em parâmetro à acção SAISTOALL (Registo das alocações)

Permite :

- de alimentar a máscara de registo STOALL : CHARG_PARAM

- efectuar os controlos antes registo do registo : AVANT_ENR

- de efectuar as actualizações seguintes ao registo do registo : APRES_ENR

Outros tratamentos

Componentes disponíveis

Os componentes a utilizar se encontram num tratamento STKALL

  • Para gerar uma alocação globalGENSTOALL
  • Para suprimir uma alocação de uma linha de documento DELALL
  • Para diminuir a quantidade de uma alocação DIMALL
  • Para transferir a alocação de um documento versus um outro CHGALL
  • Para criar uma alocaçãoCREALL
  • Para suprimir uma alocação SUPALL
  • Para modificar uma alocação MODALL
  • Para consumir as reservas clientes  CSOALL

Fluxos de entradas

Tratamentos de tipo "Objecto"

Pré-requisitos

Nas tabelas "entidades de documento"

  • Definir uma zona TRSCOD (código movimento) controlado pela tabela diversa 14.
    No momento da criação de um documento, falta guardar o código movimento da transacção neste campo afim de reutilizar no momento de uma modificação/supressão (independentemente da transacção escolhida).
  • Definir uma zona ENTCOD (Código documento automático stock).
  • Definir uma zona TRSFAM (Família de movimento) controlado pela tabela diversa 9.

Nas transacções efectuando as entradas

  • Definir uma zona TRSCOD (Código movimento) controlado pela tabela diversa 14 e permitindo afinar a determinação da regra de entrada a utilizar.
  • Definir uma zona ENTCOD (Código documento automático stock).
  • Definir uma zona TRSFAMDEF (Família de movimento) controlado pela tabela diversa 9.

No ecrã das linhas de documento

  • Campos visíveis (ordem e descrição)

Os campos marcados em sublinhado são obrigatoriamemte preenchidos no documento. Os outros, mesmos registáveis e necessitando um valor segundo o artigo, não serão obrigatórios que na janela "Detalhe".

Os campos marcados em negrito são registáveis mas podem estar rendidos invisíveis por transacção.

Os campos marcados em itálico são afixados e podem ser tornados invisíveis por transacção.

    • ITMREF : Referência do artigo
    • PCU ou UOM : Unidade de acondicionamento
    • QTYPCU ou QTYUOM : Quantidade a entrar
    • PCUSTUCOE : Relação entre a unidade de acondicionamemto e unidade de stock
    • STU : Unidade de stock definido ao nível da categoria artigo
    • QTYSTU : Quantidade em unidade de stock
    • STA : Estatuto qualidade
    • LOCTYP : Tipo de acondicionamento
    • LOC : Número de documento
    • BPSLOT : Lote Fornecedor :
    • LOTE : Número de lote
    • NBSLO : Número de sublotes
    • SLO : Primeiro número de sub-lote
    • SLOF : Último número de s/lote
    • SERNUM : Primerio número de série
    • SERNUMF : Último número de série
    • PRIORD : Valor de ordem (equivalente Preço real)
    • MVTDES : Descrição do movimento

  • Campos invisíveis
    • GESLOT :       Origem lote = "B" se lote branco, = "C" se lote gerado pelo contador, = "" se lote registado. Actualização sobre comtrolo do lote. Valores por defeito : "" excepto se contador sobre lote ("C").
    • WSTOSEQ : Número de ligação entre as linhas de detalhe e uma linha de documento.
    • WLOCSEQ :   Número ligação entre as linhas de detalhe e uma reserva de acondicionamento.
    • WSTOFLG :   Indicador permitinfo de saber, também para o documento que para o motor de stock, se a linha está completada ou não vis a vis os campos stock (0=incompleto, 1=completo).
    • WSRUFLG :    Flag servinfo a saber a qual níbvel está definido a regra de gestão do artigo da linha.
    • WSTOSAI :    Indicador dos campos stock a registar.

Acções campos

  • Acondicionamento em espera de arrumação por defeito (SRGLOCDEF)

Desencadeador

Acção

Designação

Selecção

STKSELQUA

Selecção de um acondicionamento de tipo "em espera de arrumação"

Controlo

STKCTRSRG

Controlo de existência e o tipo de acondicionamento

Após-Modificação

STKMODSRG

Propõe a substituição dos acondicionamentos detalhe por este registado

  • Variável de baixo de quadro (NBLIG

Desencadeador

Acção

Chamada tratamento / Designação

 Init-Botão

STD

 Call STKINIBTN From STKENT

para afixação segundo o caso dos botões

- detalhe ou modificação

- infos lote

- complemento lote

Controlo

STD

Call STKCTRNBLIG From STKENT

Para gerar a supressão das linhas

Antes Linha :

LECFICENT

Leitura das tabelas stock

Após-Linha

SAISTOENT

Abertura da janela "detalhe stock"

SAIENTLOT

Abertura da janela "complemento lote"

Botão 2

ENTRCLI

Autorização abertura janela detalhe : GOUVENT = 16384

SAISTOENT

Abertura da janela "detalhe stock"

Botão 3

STKINFLOT

Informações lotes

Botão 4

 STD

GOUVLOT = GOUVLOT-mod(GOUVLOT,2) 

GOUVENT = 1

SAIENTLOT

Abertura da janela "complemento lote"

Bouton5

SAISTOENTM

Abertura da janela "modificação stock"

Ver acção objecto "Antes-Botão " $AB5_NBLIG 

Desencadeador

Acção

Designação

Após-Modificação

INIZONENT

- Leitura das tabelas artigo e stock

-Afectação dos valores por defeito

- Desactivação dos campos não significativos

Desencadeador

Acção

Designação

Selecção

STKSELUOM

Selecção de unidade

Após-Modificação

 STD

- Maj do coef UC/US

- Maj da quanrtidade US

- Desassinazentar coef PCUSTUCOE se modificável

Desencadeador

Acção

Designação

Após-Modificação

STD

- Maj da quanrtidade em US

Desencadeador

Acção

Designação

Após-Modificação

STD

- Maj da quantidade em US

Desencadeador

Acção

Designação

Selecção

STKSELSTA

 - Selecção do estatuto

Controlo

STKCTRSTA

- Controlo do estatuto

Desencadeador

Acção

Designação

Antes - Registo

STKSUGTLO

- Sugestão de um tipo de acondicionamento

O parâmetro LOCSEQ = [M]WLOCSEQ(nolign-1)

Selecção

STKSELTLO1

- Selecção de um tipo de acondicionamento

Controlo

STKCTRTLO

- Controlo do tipo de acondicionamento

Após-Modificação

RAZLOC

 - Apaga o conteúdo dos campos LOC

Desencadeador

Acção

Designação

Antes - Registo

STKSUGEMP

- Sugestão de um acondicionamento

O parâmetro LOCSEQ = [M]WLOCSEQ(nolign-1)

Selecção

SAIEMPLIB

- Sugestão de um acondicionamento

Controlo

STKCTREMP

-Controlo do acondicionamento

Desencadeador

Acção

Designação

Selecção

STKSELBPLN

- Selecção lote fornecedor

Após-Modificação

STKAMLOF

- Afectação do lote se retoma o fornecedor

Desencadeador

Acção

Designação

Init-Botão

 STKIBLOT

Segundo condições, acréscimo dos botões

- Lote branco

- infos lote

Controlo

STKCTRLOT

-Verifica se o lote branco está autorizado

- Verifica se a unicidade do lote é obrigatório

Após-Modificação

STKAMLOT

- Recálculo de sub-lote

Botão 1

STKSELLOT

- Selecção de um lote

Botão 2

LOTNUMCPT

- Número lote (contador) seguinte

Botão 3

LOTBLANC 

- Lote branco afecta o campo "GESLOT" com "B"

Botão 4

STKINFLOT

- Info lote ("Lote branco", "Contador", "'Nº documento")

Desencadeador

Acção

Chamada tratamento

Controlo

STD

Call STKCTRNBLIG From STKENT

Controlo a validade do número de sub-lotes

Desencadeador

Acção

Chamada tratamento

Botão 2

STD

 - Call RECLASTLO From STKLIB

Cálculo do último número de sub-lote

Controlo

STD

 - Call STKCTRSLO From STKACT

 Controlo e afectação do sub-lote fim

Desencadeador

Acção

Designação

Controlo

STKCTRSER

- Controlo número de série

Selecção

STKSELSERN

- Selecção número de série

Acções objectos

  • $OUVRE
    • Abrir a máscara STOENTW

If !clalev[ENTW] Local Mask STOENTW [ENTW]

    • Afectar os nomes de zonas "unidade" e "quantidade" nos campos correspondentes

[M:ENTW]WZONPCU = "PCU"

[M:ENTW]WZONQUC = "QTYPCU"

[M:ENTW]WZONCCS = "PCUSTUCOE"

[M:ENTW]WZONQUS = "QTYSTU"

Não fazer " Raz [ENTW] ". Com efeito, os documnentos de entrada são susceptíveis de serem abertos por túnel a partir do plano de arrumação, que pode já ter as infomações em STOENTW.

    • Abrir a máscara STOWORK

If !clalev[STW] Local Mask STOWORK [STW]

    • Inicailização das máscaras e ficheiros para a gestão de acondicionamentos

Gosub STK_INILOC From STKLOC

  • $SETBOUT
    • Quando existem linhas no documento, acinzentar i botão "Suprimir"

Call VIREBOUT(CHAINE,"A") From GOBJET

  • $LIENS
    • Colocação a zero da máscara STOENTW

Call DELSTOENTW (-1,-1,"XXX",1) From STKENT

    • Acinzentar todas as colunas seguintes em deixando activa a última linha (virgem)

Call STKDISCOL From STKECR

  • $LIENS_LIG
    • Ao carregamento da linha de documento, falta saber se todos os dados podem estar afixados ou não.

Call  RECSTO_F From STKECR

Se um dado não é significativo para a linha de documeto, ela está substituida pelo caracter "$"

  • $FIN_PICK
    • Se o picling está OK:

Call STJSTOENTW From STKENT

  • $RAZCRE
    • Colocação a zero da máscara STOENTW

Call DELSTOENTW (-1,-1,"XXX",1) From STKENT

  • $RAZDUP
    • Colocação a zero da máscara STOENTW

Call DELSTOENTW (-1,-1,"XXX",1) From STKENT

    • Recolocar a zero os campos stocks:

STA, LOCTYP, LOC, BPSLOT, LOT, NBSLO, SLO, SLOF, GESLOT, SERNUM, SERNUMF, PALNUM, CTRNUM, PRIORD, MVTDES, WSTOSEQ

e os reinicilizar.

    • Abertura automática da janela "Detalhes" se necessário

Call OUVENT From STKENT

  • $AAPRES_NBLIG
    • Abertura automática da janela "Detalhes" se necessário

Call OUVENT From STKENT

  • $ABn_NBLIG

n = número do botão "Modificação do detalhe"

    • Indicar que a abertura do detalhe está pedida :

GOUVENT=2

  • $BBn_NBLIG

n = número do botão "Modificação do detalhe"

    • Se a linha foi modificada

mkstat = 4

    • Controlo que todas as linhas podem estar preenchidas

Call CTLSTOENT From STKECR

  • $VERIF_MOD
    • Controlo que todas as linhas podem estar preenchidas

Call CTLSTOENT From STKECR

  • $VALLIG
    • Se a criação de linha, alimentar o ecrã STOWORK, depoois actualizar Stock:

If SIGN=1

Call ALISTOWORK(2,[M:XXX]WSTOSEQ(NOL),LQTA,LSHT,LRET) From STKINT

Call MAJ_STOCK From STKMAJ

Endif

  • $APRES_CRE
    • Se a impressão das etiquetas e pedido pela transacção ( PRNCOD>1 )

Local Char PARAM(GLONVCR)(1..4) , VALEUR(10)

PARAM(1) = [M:XXX]STOFCY

PARAM(2) = num$([M:XXX]VCRTYP)

PARAM(3) = [M:XXX]VCRNUM

PARAM(4) = [M:XXX]VCRNUM2

Call TRAITE_CHAR(VALEUR,PARAM,"ISTOLBE","SUBSLP","",4,"SPESLP") From GTRAITE

    • Lançamento da regularização das rupturas

Call REGFROMENT (0,"XXX","[M:XXX]CREFLG(I)=0","ITMREF",[M:XXX]STOFCY) From TRTSHTCOM

  • $APRES_MOD
    • Se a impressão das etiquetas e pedido pela transacção ( PRNCOD>1 )

Local Char PARAM(GLONVCR)(1..4) , VALEUR(10)

PARAM(1) = [M:XXX]STOFCY

PARAM(2) = num$([M:XXX]VCRTYP)

PARAM(3) = [M:XXX]VCRNUM

PARAM(4) = [M:XXX]VCRNUM2

Call TRAITE_CHAR(VALEUR,PARAM,"ISTOLBE","SUBSLP","",4,"SPESLP") From GTRAITE

    • Lançamento da regularização das rupturas

Call REGFROMENT (0,"XXX","[M:XXX]CREFLG(I)=0","ITMREF",[M:XXX]STOFCY) From TRTSHTCOM

  • $ABANDON
    • Colocação a zero do ecrã STOENTW

Call DELSTOENTW (-1,-1,"XXX",1) From STKECR

Vencimentos entre uma linha de documento e o detalhe de stocks

Tratamento TRTSTOENTA (complemento de TRTSTOENT : Registo das entradas)

Permite gerar interacção entre uma linha de documento e o registo detalhado das entradas.

A actualização deste tratamento está na carga do programador da função origem. O reconheciemnto deste é efectuado com o tipo de movimento (LTYP) e a abreviação da máscara (LABR) passadas em parâmetro na acçao SAISTOENT (Registo das entradas)

Permite :

  • De alimentar a máscara de registo STOENT na etiqueta $CHARG_PARAM_STOENT
  • De efectuar as actualizações seguintes ao registos do registo na etiqueta $MAJ_LIGNE_DOCUMENT

Complementos

Variáveis globais

  • GOUVENT

Variável construida assim no sub-programa CTR_COHERENCE_LIG

    • bit  1          (1) = complemento lote não OK
    • bit  2          (2) = número de lote a preencher
    • bit  3          (4) = número de sub-lote a preencher
    • bit  4          (8) = número de séries a preencher
    • bit  5        (16) = acondicionamento a preencher
    • bit  6        (32) = estatuto a preencher
    • bit  7        (64) = quantidads detalhes a confirmar seguinte a modificar a quantidade documento
    • bit  8      (128) = etiqueta ausente por engano
    • bit  9      (256) = número de sub-lotes
    • bit 10     (512) = unidade <> UC e US
    • bit 15 (16384) = abertura clique direito

Se o valor de GOUVENT está > 2, a linha não está completa, nos documetos isso se trasuz pela abertura da janela detalhe.

Se o valor de GOUVENT está = a 1, o complemento lote deve estar aberto, porque as informações necessárias não estão registadas

  • GOUVLOT

Variável construida assim no sub-programa INIT_GOUVLOT

    • bit 1     (1) = abertura : 0=clique direito, 1=auto
    • bit 2 (2) = rubrica utilizador 1 a registar
    • bit 3 (4) = rubrica utilizador 2 a registar
    • bit 4 (8) = rubrica utilizador 3 a registar
    • bit 5 (16) = rubrica utilizador 4 a registar
    • bit 6   (32) = título a registar
    • bit 7   (64) = inutilizado :
    • bit 8 (128) = data de perempção a registar

Se o bit1 = 0, isso quer dizer que a abertura do complemento lote está forçado, e logo a janela está aberta, excepto se nenhuma rubrica do complemento lote não está registável.

Se o bit1 = 1, a janela complememto lote não estará aberto que se esta é necessária : lote inexistente ou complemento não registado.

Fluxos de saídas

Tratamentos de tipo "Objecto"

Pré-requisitos

Nas tabelas "entidades de documento"

  • Definir uma zona TRSCOD (código movimento) controlado pela tabela diversa 14.
    No momento da criação de um documento, falta guardar o código movimento da transacção neste campo afim de reutilizar no momento de uma modificação/supressão (independentemente da transacção escolhida).
  • Definir uma zona ENTCOD (Código documento automático stock).
  • Definir uma zona TRSFAM (Família de movimento) controlado pela tabela diversa 9.

Nas transacções efectuando as saídas

  • Definir um parâmetro STKFLG (Determinação automática das linhas de stock a sair).
  • Definir uma zona TRSCOD (Código movimento) controlado pela tabela diversa 14 e permitindo afinar a determinação da regra de saída a utilizar.
  • Definir uma zona ENTCOD (Código documento automático stock).
  • Definir uma zona TRSFAM (Família de movimento) controlado pela tabela diversa 9.

No objecto chamador

Na acção OUVRE

  • Abrir a tabela das regras de alocações TABALLRUL [TRU]
  • Abrir a tabela das regras de gestão TABSTORUL [SRU]
  • Abrir a tabela das quantidades em curso de tratamento STOWIPW [SWW]
  • Abrir o ecrã de parametrização ALLPAR [ALP] e remete a zero antes cada chamada de um componente stock onde está utilizada.
  • Abrir o ecrã onde se guarda STOSORW [SOW]
  • Abrir o ecrã de interface stock STOWORK [STW]

No ecrã das linhas de documento

  • Definir um campo WSTOSEQ (inteiro longo) afim de gerar a ligação entre a linha de documento e as linhas de stock do ecrã de onde se guarda (STOSORW)
  • Definir os campos STOMGTCOD (menu local 215) especificando a gestão em stock do artigo.
  • Definir os campos stock registáveis na linha com os nomes seguintes :
    LOT, SLO, LOC, STA, SERNUM, SERNUMF, MVTDES
    Estes campos deverão ser desactivados (com um cinzento, ver um mkstat=2) em função de características do artigo.

Lembrança

Linha registada mas não criada : [M]CREFLG(nolign-1)=0

Linha já criada: [M]CREFLG(nolign-1)<>0

Atenção

Desde que uma linha de documento foi registada (passa-se pelo fim da linha), os campos lote, sub-lote, série, acondicionamento, estatuto, ...não estão mais acessíveis. Apenas a quantidade o é.

Acções campos

  • Variável de baixo de quadro (NBLIG

Desencadeador

Acção

Chamada tratamento / Designação

Antes Linha :

STD

Call INIZONSOR From STKECR

Controlo

STD

Call DELSTOSORW From STKSOR

 

 

- se a supressão de uma linha em curso de criação

Init-Botão

STD

GOUVSOR=1

Botão

SAISTOSOR

Registo das saidas

 

 

- sobre linha registada mas não criada :

 

 

- sobre uma linha já criada com validação, não validada

Botão

SAISTOSORM

Modificação das saidas

 

 

- sobre linha já criada se documento sem validação

 

 

- sobre uma linha já criada com validação, validada

 

 

Esta acção não deve ser cchmada que para uma siutação estável.

Após-Linha

SAISTOSOR

Registo das saidas

 

 

Ver acção objecto "Antes-Zona" $AAPRES_NBLIG

  • Artigo (ITMREF)

Desencadeador

Acção

Chamada tratamento

Após-Modificação

STD

Call INIZONSOR From STKECR

 

 

Call STKINIBTN From STKLOC

  • Estatuto qualidade (STA)

Desencadeador

Acção

Designação

Selecção

STKSELSTA

Selecção estatuto

Controlo

STKCTRSTA

Controlo estatuto

  • Acondicionamento (LOC)

Desencadeador

Acção

Designação

Selecção

STKSELEMP

Selecção acondicionamento

Controlo

STKCTREMPS

Controlo acondicionamento

  • Lot (LOT)

Desencadeador

Acção

Designação

Selecção

STKSELLOT

Selecção lote

Controlo

STKCTRLOTS

Controlo lote

  • Sub-lote (SLO)

Desencadeador

Acção

Designação

Controlo

STKCTRSLOS

Controlo sub-lote

  • Número de série (SER)

Desencadeador

Acção

Chamada tratamento / Designação

Após-Modificação

STD

Call CTLSORSER From STKSOR

 

 

Controlo nº série e cáclculo nº série fim

Acções objectos

  • $OUVRE
    • Abrir a máscara ALLPAR

If !clalev[ALP] Local Mask ALLPAR [ALP]

    • Abrir a máscara STOSORW

If !clalev[SOW] Local Mask STOSORW [SOW]

    • Abrir a máscara STOWORK

If !clalev[STW] Local Mask STOWORK [STW]

  • $LIENS

Antes Gosub LIENS From TABLEAUX

    • Colocaçao a zero da máscara de traballho STOSORW

Call RAZSTOSORW From STKSOR

Após Gosub LIENS From TABLEAUX

    • Acinzentar os campos stock

Call ETAZONSOR From STKECR

  • $LIENS_LIG
    • No carregameto da linha de documento, falta saber se todos os dados podem estar afixados ou não. Se um dado não é significativo para a linha de documeto, ela está substituida pelo caracter "$"

Call RECSTOSOR From STKECR

  • $RAZCRE
    • Colocaçao a zero da máscara de traballho STOSORW

Call RAZSTOSORW From STKSOR

  • $RAZDUP
    • Colocaçao a zero da máscara de traballho STOSORW

Call RAZSTOSORW From STKSOR

  • $AAPRES_NBLIG
    • Dtermina a acção a efectuar para identificar o stock a sair

se a linha registada não criada ou se a linha já criada (documento com validação, não validada)

Call OUVSOR From STKSOR

    • Isso desencadeia
      • o registo em STOSORW
      • ou o lançamento do sub-programa STOSORW
      • ou execução da acção SAISTOSOR
  • $VERIF_CRE
    • Controlo que todas as linhas podem estar preenchidas

Call CTLSTOSOR From STKECR

  • $VERIF_MOD
    • Controlo que todas as linhas podem estar preenchidas

Call CTLSTOSOR From STKECR

  • $VALLIG
    • Documeto com validação e não validado :
      • se nova linha : TRTLIG="C"
      • ou linha modificada (antes trasnclasse [M]-->[F]) TRTLIG=‘M‘ & SIGN=-1
      • ou linha suprimida : TRTLIG=‘A‘

Call ENRSTOALL From STKALL

    • Documento sem validação
      • se nova linha : TRTLIG="C"

Call ALISTOWORK From STKINT (origine = écran STOSORW)

  • $ABANDON
    • Colocação a zero do ecrã STOSORW

Call DELSTOSORW From STKECR (com nº linha = -1)

Picking

  • Picking de encomeda ou de OF
    • Sub-programa CTLALL From STKALL para controlar a quantidade a sair (no momento do controlo de que é "pické")
    • Sub-programa ALISTOSORW From STKSOR se o picking está OK
    • Sub-programa OUVSOR From STKSOR para determinar automáticamente as linhas de sair ou dizer que faltará as escolher (neste caso LRET=1, falta colocar em vermelho na linha de documento)
  • Picking de recepção (depois as devoluções fornecedores)
    • Sub-programa STJSTOSORW From STKSOR se o picking está OK
    • Sub-programa OUVSOR From STKSOR para determinar automáticamente as linhas de sair ou dizer que faltará as escolher (neste caso LRET=1, falta colocar em vermelho o artigo na linha de documento)
  • "Dépicking"
    • Sub-programa DELSTOSORW From STKSOR com nº da linha "depickada" para suprimir do ecrã de trabalho as linhas de stock que tenham sido seleccionadas

Vencimentos entre uma linha de documento e o detalhe de stocks

Tratamento TRTSTOSORA ( complemento de TRTSTOSOR : Registo das saidas)

Permite gerar interacção entre uma linha de documento e o registo detalhado das entradas.

A actualização deste tratamento está na carga do programador da função origem. O reconheciemnto desta é efectuada com a abeviação da máscara (LABR) passada em parâmetro à acção SAISTOALL (Registo das saidas)

Permite :

  • De alimentar a máscara de registo STOENT na etiqueta  $CHARGE_PARAM
  • De efectuar as actualizações seguintes ao registos do registo na etiqueta  $APRES_ENR

Outros tratamentos

Documento de saída gerada automamente (tratamento GTRAITE)

Documento com validação e não validada :

  • Documento origem com alocação global

Para suprimir as alocações da linhas do documento de origem:  DELALL From STKALL

Para diminuir as alocações da linha do documento de origem:  DIMALL From STKALL

Para suprimir as alocações da linha do documento de origem:  GENSTOALL From STKALL

  • Documento origem com alocação detalhada

Para controlar a quantidade a sair :  CTLALL From STKALL

Para transferir as alocações da linha do documento:  CHGALL From STKALL

Documento sem validação

  • Documento origem com alocação global

Para suprimir as alocações da linhas do documento de origem:  DELALL From STKALL

Para diminuir as alocações da linha do documento de origem:   DIMALL From STKALL

Para suprimir as alocações da linha do documento de origem:  GENSTOALL From STKALL

Para alimentar o ecrã de interface de actualização dos stocks: ALISTOWORK From STKINT

Para actualizar os stocks : MAJ_STOCK From STKMAJ

  • Documento origem com alocação detalhada

Para controlar a quantidade a sair :  CTLALL From STKALL

Para transferir as alocações da linha do documento:  CHGALL From STKALL

Para alimentar o ecrã de interface de actualização dos stocks: ALISTOWORK From STKINT

Para actualizar os stocks : MAJ_STOCK From STKMAJ

Validação

Validação das saidas

A validação de um documento pode ser realizado a partir de um botão sobre o documento de saida, ou automaticamnte por um tratamento.

Para tal é suficiente de chamar os sub-programas seguintes:

  • Alimetação do ecrã de interface para a actualçização dos stocks

Call ALISTOWORK From STKINT (origem = tabela STOALL)

  • Actualização dos stocks

Call MAJ_STOCK From STKMAJ

Actualização dos stocks

Interface entre registo e actualizado

Interface entre registo e a actualização

A actualização dos stocks está efectuada a partir de um ecrã onde se guarda unico STOWORK [STW]. Ele necessita por consequente, de passar por uma interface de alimentação deste ecrã.

As diferentes origens de dados explorados neste tratamento de interface são os seguintes :

  • Table STOALL (Alocações)
  • Ecrã STOENTW (Ecrã de armazenadas das entradas).
  • Ecrã STOSORW (Ecrã que armazena as saidas)
  • Ecrã STOENTM (Ecrã de armazenagem das entradas).
  • Ecrã STOSORM (Ecrã de modificação das saidas)
  • Ecrã STKSHTREG (Écran regulatização das saídas)
  • Ecran STOCHGW (Ecrã alteração de stock)
  • Tabela CUNLISDET (Inventários)
  • Tabela STOJOU (Movimento de stock)

AS informações necessárias na actualização dos stocks são alimetados no ecrã STOWORK.

  • Alimetação do ecrã de interface para a actualçização dos stocks

Call ALISTOWORK From STKINT

Actualização

Actualização dos stocks

  • A actualização está realizada para uma linha de documeto a partir do ecrã STOWORK [STW]

Call MAJ_STOCK From STKMAJ

 

Conteúdo do ecrã STOWORK segundo os diferentes fluxos.
  • FLUXO DE ENTRADA

Entradas

    • Entrada diversa
    • Recepção
    • Recepção subcontrato.
    • Declaração produção

Saidas negativas

    • Devolução cliente
    • Reintegração em stock

Alterações de acondicionamentos

    • Devolução de pronto
    • Devolução sub-contrato

- Criação

Movimento

MAJTYP

MAJCOD

Quantidade

STOCOU

LOC :

LOCDES

Outras zonas

Entrada

E

C

+

 

Entrada

 

Entrada

Saida

S

C

-

 

Entrada

 

Entrada

Alteração emp

C

C

+

Saida

Saida

Entrada

Entrada

Alteração de acondicionamento --> movimento negativo sobre LOC e positivo sobre LOCDES

- Anulação

Fala-se dos movimentos de origem

Movimento

MAJTYP

MAJCOD

Quantidade

STOCOU

LOC :

LOCDES

Outras zonas

Entrada

E

A

+

 

Entrada

 

Entrada

Saida

S

A

-

 

Entrada

 

Entrada

Alteração emp

C

A

+

Entrada

Saida

 

Saida

Alteração de acondicionamento --> movimento positivo sobre LOC e negativo sobre o acondicionamnto encontrou a partir do stock entrado.

  • FLUXO DE SAIDA

Saidas

    • Saida diversa
    • Entrega
    • Saida OF
    • Saída ordem de sub-contrato
    • Pedido de serviço

Entradas negativas

    • Devolução recepção
    • Devolução recepção de sub-contrato

Alterações de acondicionamentos

    • Entrega de consignação
    • Entregas de sub-contrato.

- Criação 

Movimento

MAJTYP

MAJCOD

Quantidade

STOCOU

LOC :

LOCDES

Outras zonas

Saida

S

C

+

Saida

Saida

 

Saida

Entrada

E

C

-

Saida

Saida

 

Saida

Alteração emp

C

C

+

Saida

Saida

Entrada

Entrada

Alteração de acondicionamento --> movimento negativo sobre LOC e positivo sobre LOCDES

- Anulação

Fala-se dos movimentos de origem

Movimento

MAJTYP

MAJCOD

Quantidade

STOCOU

LOC :

LOCDES

Outras zonas

Saida

S

A

+

 

Saida

 

Saida

Entrada

E

A

-

 

Saida

 

Saida

Alteração emp

C

A

+

Entrada

Saida

 

Saida

Alteração de acondicionamento --> movimento positivo sobre LOC e negativo sobre o acondicionamnto encontrou a partir do stock entrado.

  • REGULARIZAÇÃO DE STOCK

São os mesmos tipos de moviemtos que nos fluxos de saidas.

WAIFLG = 1

Movimento

MAJTYP

MAJCOD

Quantidade

Saida

S

A

+

Entrada

E

A

+

Alteração emp

C

A

-

Depois tratamento de maneira clássica com WAIFLG = 0 (regularização dos movimentos em espera)

Documentações diversas

Algoritmo de alocações e saídas

Algoritmo de alocação e saida de stock

características técnicas

Sub-programa STOCKALG do tratamento STKALL

O resultado está guardado no ecrã de trabalho ALLPAR sob a forma de um quadro contendo as linhas de stock a alocar ou sair

Contexto

Este algoritmo explora de maneira complemtar as regras de alocação e das regras de gestão.

Existem difrerenças afectando os status entre os documentos não efectuando que a alocação (Encomendas, OF e Ordens de sub-contrato) e as outras:

  • Encomenda,OF e Ordem de sub-contrato

Os status autorizados são aqueles definidos na regra de alocação, em caso de ausência de regra, os únicos estatutos "A" são tidos em conta.

  • Outros documentos

Os estatuto / sub-estatuto autorizados são aqueles definidos na regra de gestão

Regra de alocação e saída

A regra de alocação ou saída utilizada é aquela que é defimida na categoria-estabelecimento ou categoria artigo segundo as corrrrspondências definidas nas documentações "Parametrização alocações" e "Parametrização saidas"

Se não existe regra de alocação por conjunto artigo-documento, os principios seguintes serão aplicados.

  • Classificação FIFO
  • Estatuto "A"
  • Todas as unidades sem restrições

Regras de gestão

A regra de gestão utilizada é aquela que é definida na categoria-estabecimento ou categoria do artigo para o tipo de movimento a tratar e o código movimento preenhido (se existe um).

Se não existe regra de gestão particular, utilizar-se-á a regra de gestão standard para o tipo de movimentos a tratar

Não existe regra de gestão para os documentos não efectuando saída, estes serão então assimilados a um tipo de movimento segundo a correspondência definida na documentação "Para alocações".

Unidades exploradas

As unidades das linhas se stock utilizadas são as seguintes :

  • Unidade de stock
  • Unidade de acondicionamento do artigo.

Sobre a encomenda, entrega e factura :

  • Unidade de venda
  • Unidade de venda do artigo cliente
  • Unidade de acondicionamento do artigo cliente.

Se devolução fornecedor :

  • Unidade de compra :
  • Unidade de compra do artigo fornecedor
  • Unidade de acondicionamento do artigo fornecedor.
Funcionamento

O princípio é então o seguinte :

Carega-se no quadro do ecrã ALLPAR todas as linhas de stock eligíveis segundo a regra de alocaçao e a regra de gestão.

Executa-se o tratamnto gerado associado à regra de alocação Este aqui selecciona e classifica as linhas de stock do quadro de ALLPAR

Consome-se a quantidade as linhas de stock do quadro na ocorreñcia da quantidade a alocar ou sair.

Alteração das linhas de stock eligíveis

  • Alimentação dos filtros
    • LOTE

Se o lote registado no filtro alocação, filtro exclusivo sobre aquele sobre o seu prefixo (se *) e armazenagem lote de ruptura.

Filtro sobre lotes não caducados na data da necessidade em tomando em conta a margem de alerta para a perempção, excepto se o lote caducado pela regra de gestão.

    • Status

Se status preenchidos no filtro alocação, filtro exclusivo sobre este ou sobre os seus prefixos (se *)

Senão se documento outro que a encomenda, OF ou ordem de sub-contrato,filtro sobre os subestatutos autorizados pela regra de gestão.

A este nível, se não existe ainda filtro sobre estatutos,

Se a encomeda, OF ou ordem sub-contrato e regra de alocação, filtro sobre os estatutos aiturizados por este.

Senão a encomeda, OF ou ordem sub-contrato e sem regra de alocação, filtro sobre os estatutos "A"

    • Unidade

Se a regra de alocação, filtro sobre as unidades e coeficientes autorizados pela regra de alocação

Senão sem filtro.

    • Acondicionamentos

Filtro sobre os acondicionamentos internos

Segundo parâmetros do algoritmo, tomado em conta os acondicionamento em espera de arrumação e dos acondicionamento sub-contrato.

Se acondicionamento registado no filtro de alocação, filtro sobre o qual ou sobre seu prefixo (se *)

Se regra de alocação

Se nesta, existe sempre um filtro sobre acondicionamento

Se OF ou seguimento de OF e acondicionemento posto de carga, acrescenta-se nos filtros e se este acondicionamento é exclusivo, guarda-se o acondicionamento de ruptura.

Se o acondicionamento artigo, se acrescenta no filtro e se este acondicionamento está exclusivo, guarda-se no acondicionamento de ruptura.

Senão supressão do filtro

Senão supressão do filtro

Segundo o parâmetro do algoritmo, tomado em conta dos acondicionamentos em curso de inventário.

  • Caregamento das linhas de stock

Se a regra de alocaçção dos lotes seguindo a ordem definida neste tipo (por lote, FIFO, FEFO,LIFO)

Senão leitura dos lotes em FIFO

Para cada lote, tendo o stock disponível nos estatutos autorizados, leitura das linhas de stock em explrando os filtros estatutos, unidades e acondicionamentos.

Para cada linha de stock tendo disponível, alimentação das características da linha no quadro das linhas eligíveis.

Selecção e classificação das linhas de stock eligíveis

Se a regra de alocação, execução do tratamento gerado associado àquele.

Senão execução do tratamento standard definido no algoritmo ele mesmo.

Este tratamento verifica a adequação de cada linha de stock eligível com as linhas de regras de alocação e afecta à linha um código classificação em consequência.

Estas linhas são em seguida ordenadas segundo o código classificação

Consumo destas linhas de stock

Consome-se a quantidade as linhas de stock do quadro na ocorreñcia da quantidade a alocar ou sair.

Gestão dos campos suplementares

Gestão de novas zonas nas tabelas STOJOU e STOCK

Este documento é uma ajuda para a implementação das zonas suplemetares nas tabelas STOJOU e/ou STOCK, depois a sua saida nos diferentes ecrãs até a sua armazenagem nas tabelas.,

Os pontos de entrada associados a um fluxo de entrada permitindo a gestão de novas zonas nas tabelas STOJOU e STOCK.

Os pontos de entrada assoicados aos outros fluxos (saida, alteração de stock) permitindo a gestão de novas zonas na tabela STOJOU.

Fluxo de entrada

Os ecrãs afectados são :

  • Linha de documento ([SMR1] para as entradas diversas, [PTH1] para as recepções, ...)
  • Registo detalhe entrada (para uma linha de documento) : STOENT [ENT]
  • Modificação detalhe entrada (para uma linha de documento) : STOENTM [ENM]
  • Armazenagem detalhe entrada : STOENTW [ENTW]
  • Armazenagem para actualização das entradas : STOWORK [STW]

As novas zonas devem estar acrescentadas nestes diferentes ecrãs, assim que as tabelas STOJOU e/ou STOCK (com o mesmo nome).

Os pontos de entrada a utilizar são :

  • No tratamento STKENT (se registo na zona da linha de documento)

DOC_ENTW  =  Écrã linha documento  -->  Ecrã STOENTW

  • No tratamento TRTSTOENMA (se acesso na zona na modificação dos movimentos)

STJ_ENM  =  Table STOJOU  -->  Ecran STOENTM

  • No tratamento TRTSTOENTA (se o registo na zona no detalhe de entrrada)

ENTW_ENT  =  Ecran STOENTW  -->  Ecran STOENT

ENT_ENTW  =  Ecran STOENT  -->  Ecran STOENTW

  • No tratamento STKINT (para actualização da zona nas tabelas)

ENTW_STW  =  Ecran STOENTW  -->  Ecran STOWORK

                     e  Ecran STOENTM  -->  Ecran STOWORK

Fluxo de saida

Os ecrãs afectados são :

  • Linha de documento ([SMO1] para as entradas diversas, [SDH1] para as recepções, ...)
  • Registo detalhe entrada (para uma linha de documento) : STOSOR [SOR]
  • Modificação detalhe saida (para uma linha de documento) : STOSORM [SOM]
  • Armazenagem detalhe saida STOSORW [SOW]
  • Armazenagem para actualização das saidas : STOWORK [STW]

As novas zonas devem estar acrescentadas nestes diferentes ecrãs, assim que as tabelas STOJOU (com o mesmo nome).

Os pontos de entrada a utilizar são :

  • No tratamento STKSOR (se registo na zona da linha de documento)

DOC_SOW  =  Écrã linha documento  -->  Ecrã STOSORW

  • No tratamento TRTSTOSOR (se o registo na zona no detalhe de entrada)

SOW_SOR  =  Ecran STOSORW  -->  Ecran STOSOR

SOR_SOW  =  Ecran STOSOR  -->  Ecran STOSORW

  • No tratamento STKINT (para actualização da zona nas tabelas)

SOW_STW  =  Ecran STOSORW  -->  Ecran STOWORK

                   e  Ecran STOSORM  -->  Ecran STOWORK

Alteração de stock

Os ecrãs afectados são :

  • Registo detalhe alteração de stock (para uma linha de documento) : STOCHG [SCD]
  • Registo detalhe controlo qualidade (para uma linha de documento) : STOQUA [SQD]
  • Armazenagem detalhe alteração de stock : STOCHGW [SGW]
  • Armazenagem para actualização das alterações de stock : STOWORK [STW]

As novas zonas devem estar acrescentadas nestes diferentes ecrãs, assim que as tabelas STOJOU (com o mesmo nome).

Os pontos de entrada a utilizar são :

  • No tratamento SUBSCSB (se o registo da zona nos detalhes alteração de stock ou controlo de qualidade).

SCDSQD_SGW  =  Ecran STOCHG  -->  Ecran STOCHGW

                       e  Ecran STOQUA  -->  Ecran STOCHGW

  • No tratamento TRTSTOCHGB (se o registo na zona no detalhe de carregamento de stock)

SGW_SCD  =  Ecran STOCHGW  -->  Ecran STOCHG

  • No tratamento TRTSTOQUAB (se o registo na zona no detalhe de controlo qualidade)

SGW_SQD =  Ecran STOCHGW  -->  Ecran STOQUA

  • No tratamento STKINT (para actualização da zona nas tabelas)

SGW_STW =  Ecran STOCHGW  -->  Ecran STOWORK