Ponto entrada > Módulo Stocks > Tratamento standard FUNCBN 

LECORD : Leitura de um registo de ORDERS

Filtro das ordens em curso no cálculo das necessidades.

Contexto e modo de funcionamento

Transação

Existe uma transação em curso

Ficheiro rasto

Existe um ficheiro rasto aberto

Diferentes casos de chamada

Este ponto de entrada está chamado no cálculo das necessidades líquidas (CBN e PDP) a leitura com lock de cada registo da tabela ORDERS para criação do ficheiro de trabalho cabeçalho do cálculo.

Classes e variáveis disponíveis

Variável

Definição

Classe [F:CBH]

Contém os dados em curso de tratamento

(Estabelecimento, artigo …)

Classe [F:ORD]

Contém registo ORDERS

Variável inteira I

Posicionar I = 0 para tratar a ordem

Posicionar I = 1 para ignorar a ordem

STRSTO : Cálculo stock de partida :

Stock de partida cálculo das necessidades.

Contexto e modo de funcionamento

Transação

Existe uma transação em curso.

Ficheiro rasto

Existe um ficheiro rasto aberto.

Diferentes casos de chamada

Este ponto de entrada está chamado antes registo de cada registo da tabela CBNHEA ([F:CBH])

O campo stock de partida está já calculado e pode segundo o contexto ser modificado.

Variáveis

Variável ou máscara

Definição

WPRO

Contém 1 se PDP

Contém 2 se CNL

 

Tabelas abertas

Todas as tabelas do cálculo das necessidades.

CALCOUV : Cálculo de cobertura

Cálculo não standard das coberturas para todos os "buckets"

Contexto e modo de funcionamento

Transação

Existe uma transação em curso.

Ficheiro rasto

Existe um ficheiro rasto aberto.

Diferentes casos de chamada

Este ponto de entrada está chamado no momemto do cálculo da cobertura para os artigos afetados apenas.

Tabelas abertas

Todas as tabelas do cálculo das necessidades.

 [CBH] Cabeçalho ficheiro de trabalho carregado

 [ITF] Artigo estabelecimento carregado

 

Variáveis disponíveis :

  Variáveis em entrada

WNBBUC                  Número de "buckets"

WNBJOU                  Número de dias de tratamento (Data fim - data início +1)

WBUCDEB(0..WNBBUC-1)             Quadros das datas início de "bucket"

WBUCFIN(0..WNBBUC-1)              Quadro das datas fim de "bucket"

WQTY(0..WNBJOU-1)                    Quadro das necessidades dias por dias

 I                                                          Indicador = 0

  Variáveis a retornar

   WCOUV(0..WNBBUC-1)       Quadro das coberturas por "bucket"

I = 0 Se o cálculo standard deve ser efectuado

    I <> 0                   Se o quadro das coberturas foi alterado pelo ponto de entrada.

AFTREAPCB : Leitura parâmetros de cálculo

Início de tratamento de um estabelecimento

Contexto e modo de funcionamento

Transação

Não existe transação em curso.

Ficheiro rasto

Existe um ficheiro rasto aberto.

Diferentes casos de chamada

Este ponto de entrada está chamado no cálculo das necessidades líquidas (CNL e PDP)  aós a leitura dos parâmetros de cálculo das necessidades (Tabela PARMRP) antes o carregamento dos parâmetros nas variáveis de trabalho O conteúdo do registo pode ser modificado para que outros valores de parâmetros sejam tidos em conta.

Classes e variáveis disponíveis

Variável

Definição

WPRO

Contém 1 se PDP

Contém 2 se CNL

Classe [F:PCB]

Contém os parâmetros do estabelecimento

 

Tabelas abertas

Todas as tabelas do cálculo das necessidades.

BEFWRICBH : Antes registo cabeçalho de tabela de trabalho

Ponto de entrada antes escrita de cada registo da tabela de trabalho CBNHEA / PDPHEA

Contexto e modo de funcionamento

Transação

Existe uma transação em curso.

Ficheiro rasto

Existe um ficheiro rasto aberto.

Diferentes casos de chamada

Este ponto de entrada chamado no cálculo das necessidades (CNL e PDP) após alteração do buffer da classe [CBH] .

Os registos da tabela CBW tabela de trabalho para os lotes caducados) foram já escritos.

Classes e variáveis disponíveis

Variável classes

Definição

Classe [F:CBH]

Contém os dados prontos à escrita

WPRO

Contém 1 se PDP  Contém 2 se CNL

 

Tabelas abertas

Todas as tabelas do cálculo das necessidades.

BEFWRICBD : Antes registo detalhe tabela de trabalho

Ponto de entrada antes escrita de cada registo da tabela de trabalho CBNDET / PDPDET

Contexto e modo de funcionamento

Transação

Existe uma transação em curso.

Ficheiro rasto

Existe um ficheiro rasto aberto.

Diferentes casos de chamada

Este ponto de entrada está chamado no cálculo das necessidades líquidas (CNL e PDP) após alteração do buffer da classe [CBD] a partir da tabela em curso ORDERS .

Classes e variáveis disponíveis

Variável classes

Definição

Classe [F:CBH]

Contém os dados cabeçalho de artigo tratado

Classe [F:CBD]

Contém o buffer pronto ao registo

WPRO

Contém 1 se PDP  Contém 2 se CNL

 

Tabelas abertas

Todas as tabelas do cálculo das necessidades.

CRESUG : Criação sugestão na tabela de trabalho

Ponto de entrada antes escrita de cada sugestão na tabela de trabalho CBNDET / PDPDET

Contexto e modo de funcionamento

Transação

Existe uma transação em curso.

Ficheiro rasto

Existe um ficheiro rasto aberto.

Diferentes casos de chamada

Este ponto de entrada chamado no cálculo das necessidades líquidas (CNL e PDP) após alteração do buffer da classe [CBD] para cada sugestão de compra ou de fabrico.

O buffer está carregado à excepção dos campos "data início" "data fim" e "data necessidade". A variável WDATS contém a data de referência para a criação da sugestão (data da necessidade) ela pode ser modificada para agir sobre as datas da sugestão.

 

Classes e variáveis disponíveis

Variável classes

Definição

Classe [F:CBH]

Contém os dados cabeçalho

Classe [F :ITF]

Contém os dados de gestão artigo estabelecimento

Classe [F:CBD]

Contém o buffer pronto à escrita (exceto os campos data)

Variável data WDATS

Contém a data de referência para a criação da sugestão. Esta data pode ser modificada para agir sobre as datas da sugestão.

WPRO

Contém 1 se PDP  Contém 2 se CNL

 

Tabelas abertas

Todas as tabelas do cálculo das necessidades.

ENDSTEP4 : Após a fase 4 (geração do ficheiro detalhe CNL)

Ponto de entrada no fim da fase 4

Contexto e modo de funcionamento

Transação

Existe uma transação em curso.

Ficheiro rasto

Existe um ficheiro rasto aberto.

Diferentes casos de chamada

Este ponto de entrada é chamado em fim de fase 4 (geração da tabela CBNDET) Permite, por exemplo, advertir o utilizador do fim desta fase por envio de umamensagem.

Classes e variáveis disponíveis

Variável classes

Definição

Classe [F:CBH]

Contém os dados prontos à escrita

WPRO

Contém 1 se PDP  Contém 2 se CNL

 

Tabelas abertas

Todas as tabelas do cálculo das necessidades.

ENDSTEP6 : Após a fase 6 (Atualização do ficheiro dos em-curso)

Ponto de entrada no fim da fase 6

Contexto e modo de funcionamento

Transação

Existe uma transação em curso.

Ficheiro rasto

Existe um ficheiro rasto aberto.

Diferentes casos de chamada

Este ponto de entrada é chamado em fim de fase 6 (atualização do ficheiro ORDERS) Permite, por exemplo, advertir o utilizador do fim desta fase por envio de umamensagem.

Classes e variáveis disponíveis

Variável classes

Definição

Classe [F:CBH]

Contém os dados prontos à escrita

WPRO

Contém 1 se PDP  Contém 2 se CNL

 

Tabelas abertas

Todas as tabelas do cálculo das necessidades.

CUSMODLTI : Modificação do atraso controlo qualidade para as ordens de fabrico

Possibilidade de modificar o atraso de controlo qualidade para as ordens de fabrico.

Contexto e modo de funcionamento

Transação

Existe uma transação em curso

Ficheiro rasto

Existe um ficheiro rasto aberto

Diferentes casos de chamada

Este ponto de entrada está chamado no cálculo das necessidades líquidas (CNL e PDP) no momento de escrita do ficheiro de trabalho detalhe ([F :CBD], justo após ter recuperado o atraso controlo de qualidade para as ordens de tipo WOF e WOP. Permite modificar o valor deste atraso, via a afetação da variável de trabalho "Q".

Classes e variáveis disponíveis

Variável

Definição

Classe [F:CBH]

Contém os dados em curso de tratamento

(Estabelecimento, artigo …)

Classe [F:ORD]

Contém registo ORDERS

Variável inteira Q

Contém o atraso CQ.

Afetar se necessidade um outro valor a esta variável.

 

Tabelas abertas

Todas as tabelas do cálculo das necessidades

MRPQTYSUG : Modificação da quantidade a encomendar

Possibilidade de modificar a quantidade a aprovisionar.

Contexto e modo de funcionamento

Transação

Existe uma transação em curso

Ficheiro rasto

Existe um ficheiro rasto aberto

Diferentes casos de chamada

Este ponto de entrada é chamado no cálculo das necessidades líquidas (CNL e PDP) durante a fase de cálculo das sugestões para os artigos geridos sobre stock. Permite intervir sobre a quantidade a reaprovisionar.

Em todos os casos, o tratamento standard se carrega de aplicar a perda eventual e de gerir a ou as sugestões correspondentes em respeitando a política de aprovisionamento (quantidade líquida/económica, fracionamento...).

Classes e variáveis disponíveis

Variável

Definição

Classe [F:CBH]

Contém os dados em curso de tratamento

(Estabelecimento, artigo …)

Variable decimal WBES

Contém a quantidade a aprovisionar calculada em standard.

Afetar se necessidade um outro valor a esta variável.

 

Tabelas abertas

Todas as tabelas do cálculo das necessidades

COR_STOSEC : Aplicação do registo de stock de segurança

Possibilidade de substituir o modo de aplicação standard da sazonalidade do stock de segurança

Contexto e modo de funcionamento

Transação

Existe uma transação em curso

Ficheiro rasto

Existe um ficheiro rasto aberto

Diferentes casos de chamada

Este ponto de entrada é chamado no cálculo das necessidades líquidas (CBN e PDP) durante a fase de cálculo das sugestões. Permite intervir sobre a aplicação da sazonalidade ao stock de segurança.

Em todos os casos, o tratamento standard se carrega de aplicar a perda eventual e de gerir a ou as sugestões correspondentes em respeitando a política de aprovisionamento (quantidade líquida/económica, fracionamento...).

Classes e variáveis disponíveis

Variável

Definição

Classe [F:CBH]

Contém os dados em curso de tratamento (Estabelecimento, artigo...)

Classe [F :ITF]

Contém os dados de artigo/estabelecimento tratado

Variável data WDAT

Contém a data de início do "bucket" afectado

Variable decimal WSAISON

Esta variável deve ser alimentada com o stock de segurança calculado

Variável global GPE

A posicionar a 1 para inibir a aplicação standard da sazonalidade.

 

Tabelas abertas

Todas as tabelas do cálculo das necessidades

XTRA_ORD : Tomada em conta do em curso artigo suplementar

Este ponto de entrada permite acrescentar os em-curso artigo suplementar

Contexto e modo de funcionamento

Transação

Existe uma transação em curso.

Ficheiro rasto

Existe um ficheiro rasto aberto.

Diferentes casos de chamada

Este ponto de entrada é chamado no cálculo das necessidades líquidas (CNL e PDP) na emissão da fase de alteração dos em curso artigo. Permite integrar os em curso suplementares, por exemplo emitidos de um outro estabelecimento.

Exemplo de algoritmo de acréscimo :

###########################################################################

t$ACTION

Case ACTION

   When "XTRA_ORD" : Gosub XTRA_ORD

Endcase

Return

 

#---------------------------------------------------------------------

$XTRA_ORD

Filter [ORD] Where STOFCY = "XXX" &

&                  ITMREF = [F:CBH]ITMREF &

&                  FMI < 2 &

&                  WIPSTA < 4

&             Order By Key ORD1

 

For [ORD]

    Readlock [ORD] Curr

    If fstat = 0

        I = 0

        If [F:ORD]ENDDAT <= WCALDATF

            If I = 0

                # Importante: reset the site on [ORD] because of the transclass [CBD] = [ORD] in TRT_ORD

                [F:ORD]STOFCY = [F:CBH]STOFCY

                Gosub TRT_ORD From FUNCBN

                If GOK <>1

      Break

Endif

Endif

Endif

Else

 GOK = -1

      Break

Endif

Next

Filter [ORD]

Return

 

 

Classes e variáveis disponíveis

Variável

Definição

Classe [F:CBH]

Contém os dados em curso de tratamento (Estabelecimento, artigo...)

Classe [F :ITF]

Contém os dados de artigo/estabelecimento tratado

 

SUGREQAVA : Tomada em conta o atraso de preparação

Este ponto de entrada permite tomar em conta o atraso de preparação no quadro do cálculo das datas das sugestões.

Contexto e modo de funcionamento

Transação

Existe uma transação em curso.

Ficheiro rasto

Existe um ficheiro rasto aberto.

Diferentes casos de chamada

Este ponto de entrada está chamado no cálculo das necessidades líquidas (CNL e PDP) ao cálculo das datas das sugestões.

Exemplo de algoritmo de tomada em conta do atraso de preparação :

  

t$ACTION

Case ACTION

    When "SUGREQAVA" : Gosub SUGREQAVA

Endcase

Return

$SUGREQAVA

Case [F:ITF]REOCOD

    When 3,5   : # suggested work order

               WDATR = WDATF

               If [F:ITF]PRPLTI = 0

                    WDATF = WDATR

Else

                    WCOR = 8

                    WCOD = 2

                    WDEL = [F:ITF]PRPLTI

                    Call CALDAT("-",WCOR,WDATR,WCOD,WDEL,WCAP,WCALDATD,WDATF) From CBNLIB

Endif

    When Default : # suggested purchasing order/intersite order

Endcase

Return

Classes e variáveis disponíveis

Variável

Definição

Classe [F:CBH]

Contém os dados em curso de tratamento (Estabelecimento, artigo...)

Classe [F :ITF]

Contém os dados de artigo/estabelecimento tratado

 

 

CHECK_CBNDET : Controlo antes a actualização dos em - curso

Este ponto de entrada permite intervir após o cálculo das sugestões para cada artigo e antes a atualização do em-curso (ORDERS)

Pode nomeadamente servir a controlar, modificar ou purgar as tabelas de trabalho PDPDET e CBNDET antes a atualização.

Contexto e modo de funcionamento

Transação

Existe uma transação em curso

Ficheiro rasto

Existe um ficheiro rasto aberto

Diferentes casos de chamada

Este ponto de entrada é chamado no cálculo das necessidades líquidas (CNL e PDP) após a fase de cálculo das sugestões para os artigos geridos sobre stock. Permite intervir antes a atualização do em-curso (Atualização da tabela ORDERS a partir das tabelas PDPDET/CBNDET segundo o tratamento)

Tabelas abertas

Todas as tabelas do cálculo das necessidades

REPLANNING: Antes replanificação sugestão

Possibilidade de substituir o modo de aplicação standard da sazonalidade do stock de segurança

Contexto e modo de funcionamento

Transação

Existe uma transação em curso.

Ficheiro rasto

Existe um ficheiro rasto aberto.

Diferentes casos de chamada

A variável GREPLANNING permite de identificar onde este ponto de entrada foi chamado :

- "RPL_INIT" em início de tratamento da replanificação para um estabelecimento dado.

- "RPL_TRTSUGITM" cálculo sugestão de um artigo

- "RPL_CUMSTODIS" cálculo do acumulado stock disponível

- "RPL_CALSUGSTO" cálculo sugestão artigo sobre stock

 

Classes e variáveis disponíveis

Variável

Definição

Classe [F:CBH]

Contém os dados em curso de tratamento (Estabelecimento, artigo...)

Classe [F :ITF]

Contém os dados de artigo/estabelecimento tratado

 

Tabelas abertas

Todas as tabelas do cálculo das necessidades.

LOAD_BUCKET: Antes correcção dos "buckets"

Tornar específico a preparação dos "buckets, e/ou evitar as correcções standards

Contexto e modo de funcionamento

Transação

Existe uma transação em curso.

Ficheiro rasto

Existe um ficheiro rasto aberto.

Diferentes casos de chamada

Este ponto de entrada é chamado no cálculo das necessidades líquidas (CNL e PDP) após a alteração dos parâmetros. Permite evitar o cálculo standard de correção dos "buckets", em activando o parâmetro GPE>0

Classes e variáveis disponíveis

Variável

Definição

Classe [F:CBH]

Contém os dados em curso de tratamento

(Estabelecimento, artigo …)

Classe [F:ORD]

Contém registo ORDERS

Variável inteira I

Posicionar I = 0 para tratar a ordem

Posicionar I = 1 para ignorar a ordem

ENDSTEP5 : Após a fase 5 (cálculo das necessidades)

Ponto de entrada no fim da fase 5

Contexto e modo de funcionamento

Transação

Existe uma transação em curso.

Ficheiro rasto

Existe um ficheiro rasto aberto.

Diferentes casos de chamada

Este ponto de entrada é chamado em fim de fase 5 (cálculo das sugestões) Permite, por exemplo, de acrescentar WOS específicos em CBNDET antes a geração dos em-curso.

Classes e variáveis disponíveis

Variável classes

Definição

Classe [F:CBH]

Contém os dados prontos à escrita

WPRO

Contém 1 se PDP  Contém 2 se CNL

 

Tabelas abertas

Todas as tabelas do cálculo das necessidades.

NOHINT : Optimização da ligação ITM-ITF

Este ponto de entrada permite acrescentar a instrução "With Nohint" no caso de problemas de performances sobre a instrução Link entre as tabelas [F:ITM] e [F:ITF].

É chamado no tratamento FUNCBN.

Contexto e modo de funcionamento

Transação

Existe uma transação em curso.

Ficheiro rasto

Existe um ficheiro rasto aberto.

Diferentes casos de chamada

Este ponto de entrada é chamado no cálculo das necessidades líquidas justo antes o gargalo sobre os artigos cujo modo de aprovisionamento é CNL/PDP.

A variável GPE é utilizada. Ela está posicionada ao valor 0 por defeito. Ela deverá estar posicionada a 1 no tratamento específico ligado ao ponto de entrada se deseja acrescentar esta instrução "With Nohint" no pedido utilizado.

Classes e variáveis disponíveis

Variável

Definição

Classe [F:CBH]

Contém os dados em curso de tratamento

(Estabelecimento, artigo …)

Classe [F:ORD]

Contém registo ORDERS

Variável inteira I

Posicionar I = 0 para tratar a ordem

Posicionar I = 1 para ignorar a ordem

NOLOCK : Optimização purga resultados precedentes

Este ponto de entrada permite evitar os "Readlock ... Apagar" que são muito longos sobre uma base de dados volumosa, e de utilizar mais o modo mono-utilizador com um "lock" global das tabelas afetadas PUR_TABLES_MONO.

É chamado no tratamento FUNCBN.

Contexto e modo de funcionamento

Transação

Existe uma transação em curso.

Ficheiro rasto

Existe um ficheiro rasto aberto.

Diferentes casos de chamada

Este ponto de entrada está chamada no cálculo das necessidades líquidas justo antes a purga dos resultados precedentes.

A variável GPE é utilizada. Ela está posicionada ao valor 0 por defeito. Ela deverá ser posicionada a 1 no tratamento específico ligado ao ponto de entrada se deseja utilizar o modo mono-utilizador com um lock global sobre as tabelas afetadas.

Classes e variáveis disponíveis

Variável

Definição

Classe [F:CBH]

Contém os dados em curso de tratamento

(Estabelecimento, artigo …)

Classe [F:ORD]

Contém registo ORDERS

Variável inteira I

Posicionar I = 0 para tratar a ordem

Posicionar I = 1 para ignorar a ordem

CRE_SUG_SPLIT: Separação das sugestões

Este ponto de entrada permite intervir sobre a geração das sugestões afim de proceder a uma separação, por exemplo uma repartição sobre vários fornecedores.

É chamado no tratamento FUNCBN.

Contexto e modo de funcionamento

Transação

Não existe transação em curso.

Ficheiro rasto

Existe um ficheiro rasto aberto.

Diferentes casos de chamada

Este ponto de entrada está chamado no cálculo das necessidades líquidas justo antes a geração de uma sugestão nas tabelas de cálculo.

As variáveis seguintes estão disponíveis :

WSUG  quantidade da sugestão

WDATS Data da sugestão

WNBR Numero de fração de após a política de aprovisionamento

WSTO Balancete de stock para o calculo em-curso

Exemplo de fonte

#--------------------------------------------------------------------------------------
# Entry point CRE_SUG_SPLIT
# For customizing the splitting of suggestions
# [F:CBH] is online
# Variáveiss:
# - WSUG = suggested qty
# - WDATS = suggested date
# - WNBR = nbr of splits according to reorder policy
# - WSTO = stock balance
#--------------------------------------------------------------------------------------
t$ACTION
Case ACTION
When "CRE_SUG_SPLIT" : Gosub CRE_SUG_SPLIT
Endcase
Return
#--------------------------------------------------------------------------------------
$CRE_SUG_SPLIT
# parameters mask
If clalev ([M:ZCSP]) <= 0 : Local Mask ZCSP [ZCSP] : Endif
# test case >> only for purchased item "SPLIT" (GX3APP)
If [F:CBH]ITMREF <> "SPLIT" : Return : Endif
# only for PO suggestions
If [F:CBH]REOCOD <> 2 : Return : Endif
# fill ZCSP parameters mask
Raz [M:ZCSP]
[M:ZCSP]STOFCY = WFCY
[M:ZCSP]ITMREF = [F:CBH]ITMREF
[M:ZCSP]QTY = WSUG
[M:ZCSP]DAT = WDATS
[M:ZCSP]STOBAL = WSTO
[M:ZCSP]PROCESS = "ZFUNCBN"
Gosub POS_SPLITTING
GPE = 1
Return
#--------------------------------------------------------------------------------------
$FEEDBACK
WSUG = [M:ZCSP]QTYOUT
WDATS = [M:ZCSP]DATOUT
WBPRO = [M:ZCSP]BPROUT
WSTO = [M:ZCSP]STOBAL
Gosub CRE_UNE_SUG From FUNCBN
Return
 
#--------------------------------------------------------------------------------------
# Purchase orders suggestions splitting
#--------------------------------------------------------------------------------------
# parameters mask ZCSP must be open and filled (mask ZCSP needs to be created)
#--------------------------------------------------------------------------------------
$POS_SPLITTING
Local Char TSUG_BPR(GLONBPR)(3)
Local Integer TSUG_BPRPCT(3)
Local Decimal TSUG_BPRMINQTY(3)
Local Decimal WWRK, WREO, WREOTOT, WDELTA
Raz TSUG_BPR, TSUG_BPRPCT, TSUG_BPRMINQTY
# test case (GX3APP) split on 3 suppliers
TSUG_BPR(0) = "FOU001"
TSUG_BPRPCT(0) = 40
TSUG_BPRMINQTY(0) = 250
TSUG_BPR(1) = "FOU002"
TSUG_BPRPCT(1) = 40
TSUG_BPRMINQTY(1) = 200
TSUG_BPR(2) = "FOU003"
TSUG_BPRPCT(2) = 20
TSUG_BPRMINQTY(2) = 150
# -------------------------------
# process 1st split - supplier 1
WWRK = int(([M:ZCSP]QTY * TSUG_BPRPCT(0)) / 100)
If WWRK < TSUG_BPRMINQTY(0) : WREO = TSUG_BPRMINQTY(0) : Else : WREO = WWRK : Endif
WREOTOT += WREO
[M:ZCSP]QTYOUT = WREO
[M:ZCSP]DATOUT = [M:ZCSP]DAT + 1
[M:ZCSP]BPROUT = TSUG_BPR(0)
Gosub FEEDBACK From =[M:ZCSP]PROCESS
If WREOTOT >= [M:ZCSP]QTY : Return : Endif
# -------------------------------
# process 2nd split - supplier 2
WWRK = int(([M:ZCSP]QTY * TSUG_BPRPCT(1)) / 100)
If WWRK < TSUG_BPRMINQTY(1) : WREO = TSUG_BPRMINQTY(1) : Else : WREO = WWRK : Endif
WREOTOT += WREO
[M:ZCSP]QTYOUT = WREO
[M:ZCSP]DATOUT = [M:ZCSP]DAT + 1
[M:ZCSP]BPROUT = TSUG_BPR(1)
Gosub FEEDBACK From =[M:ZCSP]PROCESS
If WREOTOT >= [M:ZCSP]QTY : Return : Endif
# -------------------------------
# process 3rd split - supplier 3
WWRK = int(([M:ZCSP]QTY * TSUG_BPRPCT(2)) / 100)
If WWRK < TSUG_BPRMINQTY(2) : WREO = TSUG_BPRMINQTY(2) : Else : WREO = WWRK : Endif
WREOTOT += WREO
[M:ZCSP]QTYOUT = WREO
[M:ZCSP]DATOUT = [M:ZCSP]DAT + 1
[M:ZCSP]BPROUT = TSUG_BPR(2)
# last split, adjust stock balance for MRP calculation
[M:ZCSP]STOBAL += (WREOTOT - [M:ZCSP]QTY)
Gosub FEEDBACK From =[M:ZCSP]PROCESS
Return

CTLSTOSEC: caso particular stock de segurança à 1ª necessidade

Este ponto de entrada permite intervir sobre o raz da variável Stock de segurança.

É chamado no tratamento FUNCBN, quando o parâmetro "Respeito do stock de segurança" está parametrizado ao valor "à 1ª necessidade", unicamente sobre o 1º "bucket" e se WBESBUC=0. Isso significa que não existe necessidade, ou que esta necessidade está já coberta ou alocada sobre o stock disponível.

Contexto e modo de funcionamento

Transação

Existe uma transação em curso.

Ficheiro rasto

Existe um ficheiro rasto aberto.

Diferentes casos de chamada

Classes e variáveis disponíveis

Variável

Definição

Classe [F:CBH]

Contém os dados em curso de tratamento (Estabelecimento, artigo...)

Classe [F :ITF]

Contém os dados de artigo/estabelecimento tratado

 

Tabelas abertas

Todas as tabelas do cálculo das necessidades.

NOADJUST: Ajustamento do stock de partida

Stock de partida cálculo das necessidades.

Contexto e modo de funcionamento

Transação

Existe uma transação em curso.

Ficheiro rasto

Existe um ficheiro rasto aberto.

Diferentes casos de chamada

Este ponto de entrada está chamado antes ajustamento do stock de partida, se o stock físico foi pedido.

O ajustamento consiste a não ter em conta as guias de remessa/bons de preparação que seja em espera de validação.

A ativação da variável GPE=1 permite evitar o ajustamento do stock de partida e de voltar ao modo de funcionamento V5, todas as alocações sendo deduzidas do stock disponível.

Variáveis

Variável ou máscara

Definição

WPRO

Contém 1 se PDP

Contém 2 se CNL

 

Tabelas abertas

Todas as tabelas do cálculo das necessidades.

BEFWRICBD1: Antes reescrita resultado CNL

Este ponto de entrada permite controlar e/ou retificar certas informações justo antes a geração da necessidade na tabela CBNDET ou PDPDET.

Contexto e modo de funcionamento

Transação

Existe uma transação em curso.

Ficheiro rasto

Existe um ficheiro rasto aberto.

Diferentes casos de chamada

Este ponto de entrada está chamado no cálculo das necessidades líquidas (CNL e PDP) justo antes inserção da necessidade no resultado de CNL/PDP (2 chamadas).

A variável GPE é utilizada. Ela está posicionada ao valor 0 por defeito. Ela deverá estar posicionada a 1 no tratamento específico ligado ao ponto de entrada se deseja evitar o registo da linha corrente.

As variáveis acessíveis/modificáveis estão no buffer [F:CBD1].

Classes e variáveis disponíveis

Variável

Definição

Classe [F:CBH]

Contém os dados em curso de tratamento (Estabelecimento, artigo...)

Classe [F :ITF]

Contém os dados de artigo/estabelecimento tratado

 

 

CTLDATSUG: Controlo data de sugestão

Este ponto de entrada permite controlar e/ou retificar certas informações justo antes a geração da necessidade na tabela CBNDET ou PDPDET.

Contexto e modo de funcionamento

Transação

Existe uma transação em curso.

Ficheiro rasto

Existe um ficheiro rasto aberto.

Diferentes casos de chamada

Este ponto de entrada está chamada no cálculo das necessidades líquidas (CNL e PDP) no fim do cálculo das datas de início e de fim da sugestão ($CALDATSUG).

As variáveis acessíveis/modificáveis são WDATD = data de início da sugestão, WDATF = data de fim da sugestão.
As outras informações relativas à sugestão corrente estão no buffer [F:CBD1]

Classes e variáveis disponíveis

Variável

Definição

Classe [F:CBH]

Contém os dados em curso de tratamento (Estabelecimento, artigo...)

Classe [F :ITF]

Contém os dados de artigo/estabelecimento tratado