Extracção dos postos de carga, o ponto de entrada deve preencher a lista dos critérios de ruptura do posto.
Para este facto, o quadro XSBBT(15)(100) deve ser alimentado em tomando de deixar o primeiro indice (0) em branco. A variável NBSBB deve conter o número de linhas preenchidas. A variável global GPE deve estar posicionada a 1 para significar que o posto está sujeito à distinção.
Exemplos:
XSBBT(0) = ""
XSBBT(1) = "OUTIL1"
XSBBT(2) = "OUTIL2"
NBSBB = 3
GPE = 1 :
GSBBWST = "LOADOPE"
Extracção das operações, o ponto de entrada deve fornecer o critério de distinção sob a forma de um campo da tabela MFGOPE, para tal falta preencher a variável alfanumérica XSCHSBB (comprimento 15).
O quadro XSBBT deve estar carregado ao novo se necessário.
Exemplos:
XSCHSBB = "EQUNUM" # Campo standard utilitário
If [F:MWS]WST <> XWST
XSBBT(0) = ""
XSBBT(1) = "OUTIL1"
XSBBT(2) = "OUTIL2"
NBSBB = 3
Endif
GPE = 1 :
Importante :
Como pode ser necessário de percorrer a tabela MFGOPE para encontrar os critérios utilizados, uma classe [F :MFO2] foi igualmente aberta a este uso (a classe [F :MFO] está em linha e não deve ser modificada
No momento da primeira chamada (GSBBWST = "LOADWST"), a classe [F :MWS] está em linha.
No momento da segunda chamada (GSBBWST = "LOADOPE"), as classes [F :MWS] e [F :MFO] estão em linha.
No quadro a seguir, a flag conteúdo significativo significa que o conteúdo está em fase com o contexto (...).
Tabela | Conteúdo significativo | Intitulado Tabela |
MFGHEAD | Não | Cabeçalho OF |
MFGITM | Não | Artigos lançados |
MFGMAT | Não | Matérias |
MFGOPE | Não | Operações (MFO + MFO2) |
SCHEDULING | Não | Dados de planificação |
WORKSTATIO | Não | Postos de carga |
TABWEEDIA | Não | Esquemas semanais |
ITMMASTER | Não | Artigo |
ITMFACILIT | Não | Artigo/Estabelecimento |
Este ponto de entrada permite intervir na definição de uma lista de operações devendo estar colocados em evidências na afixação inicial do gantt. Permite igualmente preencher o conteúdo da info-bolha ligada à operação.
Não existe transacção em curso.
Pode existir um ficheiro rasto aberto (segundo parâmetro de lançamento de sequênciamento).
O ponto de entrada está chamado na extracção de cada operação.
A máscara [M :OPTK] está em linha no momento da chamada.
As classes [F :MFG], [F :MFO] e [F :SCH] estão em linha com um conteúdo significativo.
A colocação em evidência de uma operação está formulada por uma chamada ao sub-programa WRITE_FOCUS do tratamento OPTLIBB.
Subprog WRITE_FOCUS(LFCY, LCOD, LOK, LMESS)
Com :
Char LFCY : Estab. de produção
Char LCOD : código resposta
"000" = acção de tipo focus (valor constante)
Integer LOK : Indicador focus
0 = sem focus (apenas substituição texto info-bolha)
1 = focus activo
Char LMESS : Mensagem a afixar na info-bolha
A identificação da operação deve estar preenchida na máscara [M :OPW1] (MFGNUM, OPENUM, OPESPLNUM).
###########################################################################
$ACTION
Check box ACTION
When "OPE_FOCUS" : Gosub OPE_FOCUS
Endcase
Return
$OPE_FOCUS
Local Integer IOK : IOK = 0
Local Char XMESS(250)
Local Char WCHAIN, WSPECHAR
# para teste, marcam-se as operações comportando um utilitário como estando a colocar em evidência
If [F:MFO]EQUNUM = "" : Return Endif
# quando se escreve um cadeia, sempre se assegurar que ela não contém vírgula, ponto-e-vírgula ...
WCHAIN = [M:OPTK]ITMREF
WSPECHAR = ","
Gosub REMOVE_CHAR From OPTLIB
[M:OPTK]ITMREF = WCHAIN
WCHAIN = [M:OPTK]ITMREF
WSPECHAR = ";"
Gosub REMOVE_CHAR From OPTLIB
[M:OPTK]ITMREF = WCHAIN
# quando se escreve um cadeia, sempre se assegurar que ela não contém vírgula, ponto-e-vírgula ...
WCHAIN = [M:OPTK]ITMDES1
WSPECHAR = ","
Gosub REMOVE_CHAR From OPTLIB
[M:OPTK]ITMDES1 = WCHAIN
# quando se escreve um cadeia, sempre se assegurar que ela não contém vírgula, ponto-e-vírgula ...
WCHAIN = [M:OPTK]ITMDES1
WSPECHAR = ";"
Gosub REMOVE_CHAR From OPTLIB
[M:OPTK]ITMDES1 = WCHAIN
XMESS = [F:MFO]MFGNUM+"/"+num$([F:MFO]OPENUM)-[M:OPTK]ITMREF-[M:OPTK]ITMDES1-"____(Focus posicionado sobre esta operação ...) "
[M:OPW1]MFGNUM = [F:MFO]MFGNUM
[M:OPW1]OPENUM = [F:MFO]OPENUM
[M:OPW1]OPESPLNUM = [F:MFO]OPESPLNUM
Call WRITE_FOCUS([F:MFO]MFGFCY, "000", IOK, XMESS) From OPTLIBB
Return
No quadro a seguir, a flag conteúdo significativo significa que o conteúdo está em fase com o contexto (...).
Tabela | Conteúdo significativo | Intitulado Tabela |
MFGHEAD | Sim | Cabeçalho OF |
MFGOPE | Sim | Operações |
SCHEDULING | Sim | Dados de planificação |
Este ponto de entrada permite de intervir sobre o conjunto das operações carregadas em memória antes extracção das operações versus afim de intervir sobre certos valores.
Trata-se aqui de intervir sobre a lista das operações carregadas em memória.
As variáveis disponíveis para cada operação são :
Local Shortint WOPENUM (NBOPMX) : # número oper
Local Shortint WOPESPLNUM (NBOPMX) : # fract. oper
Local Char WWST (GLONWST) (NBOPMX) : # posto
Local Char WLAB (GLONWST) (NBOPMX) : # mão-de-obra
Local Decimal WSETLABC(NBOPMX) : # coef pagamento MO
Local Decimal WOPELABC(NBOPMX) : # coef oper MO
Local Decimal WOPELABC(NBOPMX) : # estado operação
Local Date WOPESTR (NBOPMX) : # data início
Local Date WOPESTR (NBOPMX) : # data fim
Local Integer WWSTN (NBOPMX) : # nº de postos
Local Integer WLABN (NBOPMX) : # nº de pessoas
Local Integer WPRPTIM (NBOPMX) : # tempos preparação
Local Decimal WSETTIM (NBOPMX) : #tempos pagamento para 1 ex
Local Decimal WOPETIM (NBOPMX) : # tempos operatórios para 1 ex
Local Decimal WWAITIM (NBOPMX) : # tempo espera
Local Decimal WPSPTIM (NBOPMX) : # tempos pós oper
Local Decimal WQTY (NBOPMX) : # quantidade restante
Local Date WFRCSTRD (NBOPMX) : # data início forçado
Local Decimal WFRCSTRH (NBOPMX) : # Hora data forçada
Local Char WFRCHOU(5)(NBOPMX) # Hora forçada ao formato hh:mm
Local Decimal WFRCSTRF(NBOPMX) : # Fracção de dia início forçado
Local Integer WFRCFLG (NBOPMX) : # Flag oper início forçado
Local Decimal WWSTTYP (NBOPMX) : # código sub-contrato
Local Decimal WSCOLTI (NBOPMX) : # atraso sub-contrato
Local CharWWIPNUM (GLONVCR)(NBOPMX) : # nº em curso sub contrato
Local CharWSCOITMREF(GLONITM)(NBOPMX) : # artigo sub-contrato
Local Decimal WSCDCOD (NBOPMX) : # cód planif.
Local Integer WNEXOPEN (NBOPMX) : # nº op seguinte
Local Integer WNEXSPLN (NBOPMX) : # fract. op seguinte (criado em PG)
Local Integer WOPERG (NBOPMX) : # fila op.
Local Integer WOPETRT (NBOPMX) : # op. trat. em classificaçãot
Local Decimal WSCDPCT (NBOPMX) : # % chev
Exemplo de código para substituir o atraso de compra art. serviço de sub-contrato pelo atraso artigo/estabelecimento :
$ACTION
Check box ACTION
When "INIT_JAL" : Gosub INIT_JAL
Endcase
Return
$INIT_JAL
For I = 0 To NBOP-1
If WWSTTYP(I) = 3
Read [ITF]ITF0=WSCOITMREF(I);WMFGFCY
If !fstat : WSCOLTI(I)= [F:ITF]OFS : Endif
Endif
Next I
Return