Este documento é material de especificação dos requisitos de inovação, trata-se de conteúdo extremamente técnico. |
---|
(Obrigatório)
Informações Gerais
Especificação | |||
Produto | Protheus | Módulo | SIGASFC - SIGAPCP |
Segmento Executor |
| ||
Projeto1 | M_MAN_PCP002 | Epic | MANCORE1-35 |
Story | MANCORE1-132 | Subtarefa1 |
|
Chamado2 |
| ||
País | ( X ) Brasil ( ) Argentina ( ) Mexico ( ) Chile ( ) Paraguai ( ) Equador ( ) USA ( ) Colombia ( ) Outro _____________. | ||
Outros | <Caso necessário informe outras referências que sejam pertinentes a esta especificação. Exemplo: links de outros documentos ou subtarefas relacionadas>. |
Legenda: 1 – Inovação 2 – Manutenção (Os demais campos devem ser preenchidos para ambos os processos).
(Obrigatório)
Objetivo
Alterar rotinas para realizar o processamento dos apontamentos de produção realizados pelo PC-Factory no Protheus, considerando o consumo dos componentes, refugo e informações do chão de fábrica.
(Obrigatório)
Definição da Regra de Negócio
Será usada a mensagem de apontamento de produção ProductionAppointment_1_001. Serão lidos os campos da sessão ListOfSUpplyOrders, ListOfWasteAppointments, ListOfResourceAppointments e ListOfReportToolActivities, e campos relacionados ao SIGASFC. O uso do chão de fábrica não é obrigatório e serão atualizados somente se o parâmetro MV_INTSFC for igual a '1'.
O Webservice (WSPCP) não necessita ser alterado para a leitura destas informações. A geração da mensagem pelo PC-Factory deve continuar da mesma forma, porém, considerando os novos campos:
Dentro do BusinessMessage existe o bloco BusinessContentType, que contém os dados do apontamento.
A mensagem possui vários tags, porém serão descritas somente as tags usadas na integração com o PCFactory.
Abaixo segue mensagem( incluída a coluna Fase, onde fase 1 já desenvolvido e fase 2 é o que será desenvolvido):
Bloco | Tag | Descrição | Observação | Fase | SIGASFC |
BusinessContentType | MachineCode | Máquina | SH6.H6_RECURSO | 1 | CYV.CYV_CDMQ |
BusinessContentType | ProductionOrderNumber | Ordem de Produção | SH6.H6_OP | 1 | CYV.CYV_NRORPO |
BusinessContentType | ActivityCode | Operação | SH6.H6_OPERAC | 1 | CYV.CYV_CDAT |
BusinessContentType | Split | Split | SH6.H6_DESDOBR | 2 | CYV.CYV_IDATQO |
BusinessContentType | ActivityID | ID Operação | 2 | ||
BusinessContentType | ItemCode | Produto | SH6.H6_PRODUTO | 1 | CYV.CYV_CDACRP |
BusinessContentType | ApprovedQuantity | Quantidade Aprovada | SH6.H6_QTDPROD | 1 | CYV.CYV_QTATAP |
BusinessContentType | ScrapQuantity | Quantidade Refugada | SH6.H6_QTDPERD | 1 | CYV.CYV_QTATRF |
BusinessContentType | ReworkQuantity | Quantidade Retrabalhada | 2 | ||
BusinessContentType | StartSetupDateTime | Data/Hora Início Preparação | 2 | CYV_DTBGSU e CYV_HRBGSU | |
BusinessContentType | EndSetupDateTime | Data/Hora Fim Preparação | 2 | CYV_DTEDSU e CYV_HREDSU | |
BusinessContentType | SetupCode | Código Preparação | 2 | CYV_CDSU | |
BusinessContentType | OpTimeDec | Tempo Operação | 2 | ||
BusinessContentType | OpTimeInt | Tempo Operação | 2 | CYV.CYV_QTTERP | |
BusinessContentType | ProductionShiftCode | Código Modelo Turno | 2 | CYV.CYV_CDTN | |
BusinessContentType | ProductionShiftNumber | Número Turno | 2 | CYV.CYV_NRTN | |
BusinessContentType | DocumentCode | Documento | 2 | CYV.CYV_NRDO | |
BusinessContentType | DocumentSeries | Série Documento | 2 | CYV.CYV_NRSR | |
BusinessContentType | StartReportDateTime | Data/Hora Início Reporte | SH6.H6_DATAINI SH6.H6_HORAINI | 1 | CYV.CYV_DTRPBG CYV.CYV_HRRPBG |
BusinessContentType | StartCentReportTime | Hora Centesimal Início Reporte | 1 | ||
BusinessContentType | EndReportDateTime | Data/Hora Fim Reporte | SH6.H6_DATAFIN SH6.H6_HORAFIN | 1 | CYV.CYV_DTRPED CYV.CYV_HRRPED |
BusinessContentType | EndCentReportTime | Hora Centesimal Fim Reporte | 1 | ||
BusinessContentType | ReversedReport | Estorno do Apontamento | TRUE ou FALSE | 1 | |
BusinessContentType | ReversalDate | Data do estorno | 1 | CYV.CYV_DTEO | |
BusinessContentType | ReportDateTime | Data/Hora Reporte | SH6.H6_DTAPONT | 1 | CYV.CYV_DTRP CYV.CYV_HRRP |
BusinessContentType | WarehouseCode | Código Depósito | SH6.H6_LOCAL | 1 | CYV.CYV_CDDP |
BusinessContentType | LotCode | Lote/Série | SH6.H6_LOTECTL | 1 | CYV.CYV_CDLOSR |
BusinessContentType | LotDueDate | Data Validade Lote | SH6.H6_DTVALID | 1 | CYV.CYV_DTVDLO |
BusinessContentType | IntegrationReport | Registro a ser estornado | 1 | ||
BusinessContentType | CloseOperation | Encerra Operação | SH6.H6_PT | 1 | CYV.CYV_LGEDRP |
BusinessContentType | LocationCode | Localização | 2 | CYV.CYV_CDLC | |
WasteAppointment | WasteCode | Código Refugo | 2 | SBC.BC_MOTIVO (PCP) CY0.CY0_CDRF (SFC) | |
WasteAppointment | WasteDescription | Descrição Refugo | 2 | SBC.BC_DESCRI (PCP) CY0.CY0_DSRF (SFC) | |
WasteAppointment | ScrapQuantity | Quantidade Refugada | 2 | SBC.BC_QUANT (PCP) CY0.CY0_QTRF (SFC) | |
ResourceAppointment | OperatorID | ID Operador | 2 | ||
ResourceAppointment | OperatorCode | Código Operador | 2 | CYW.CYW_CDOE | |
ResourceAppointment | StartDateTime | Data/Hora Início | 2 | CYW.CYW_DTBGRP CYW.CYW_HRBGRP | |
ResourceAppointment | EndDateTime | Data/Hora Fim | 2 | CYW.CYW_DTEDRP CYW.CYW_HREDRP | |
ResourceAppointment | MOBTime | Tempo Mão de Obra Direta | 2 | CYW.CYW_QTTEOE | |
ResourceAppointment | ExtraTime | Tempo Extra | 2 | CYW.CYW_QTTEEX | |
ResourceAppointment | UtilTime | Tempo Útil | 2 | CYW.CYW_QTTEUT | |
ResourceAppointment | ProductionShiftCode | Código Modelo Turno | 2 | CYW.CYW_CDTN | |
ResourceAppointment | ProductionShiftNumber | Número Turno | 2 | CYW.CYW_NRTN | |
SupplyOrder | ProductionOrderNumber | Número Ordem Produção | SD3.D3_OP | 2 | CZP.CZP_NRORPO |
SupplyOrder | MaterialCode | Código Item Reserva | SD3.D3_COD | 2 | CZP.CZP_CDMT |
SupplyOrder | UsedQuantity | Quantidade Utilizada | SD3.D3_QUANT | 2 | CZP.CZP_QTRPPO |
SupplyOrder | ApprovedQuantity | Quantidade Aprovada | 2 | ||
SupplyOrder | WarehouseCode | Código Depósito | SD3.D3_LOCAL | 2 | CZP.CZP_CDDP |
SupplyOrder | LocationCode | Localização | SD3.D3_LOCALIZ (verificar tabela SDB) | 2 | CZP.CZP_CDLC |
SupplyOrder | LotCode | Lote/Série | SD3.D3_LOTECTL ou SD3.D3_NUMSERI (verificar tabela SDB) | 2 | CZP.CZP_CDLO |
SupplyOrder | ActivityCode | Código Operação | 2 | CZP.CZP_CDAT | |
SupplyOrder | ScriptCode | Roteiro | 2 | CZP.CZP_CDRT | |
SupplyOrder | MaterialDate | Data Reserva | 2 | ||
SupplyOrder | MaterialQuantity | Quantidade Reserva | 2 | ||
SupplyOrder | StatusType | Estado | 1=Ativo;2=Inativo | 2 | |
ReportToolActivity | ToolCode | Código Ferramenta | 2 | CZ0.CZ0_IDFE | |
ReportToolActivity | OperationUnitTime | Tempo Unidade Operação | 2 |
Quando o PC Factory for o produto gerador da informação no caso do reporte de produção o fluxo da integração será o seguinte:
a. Operador efetua reporte normalmente conforme sua operação no PC-Facotry.
b. Em um processo batch ou disparado paralelamente no sistema, há a montagem do XML conforme XML Schema de Mensagem Única TOTVS e o envio desse XML para o ERP TOTVS, que validará o XML contra o XSD e encaminhará ao respectivo adapter de negócio para processamento.
c. Em caso de erros, esse reporte ficará com um status de pendente para envio dentro do software MES e o usuário poderá tomar ações no próprio PC Factory (o ERP TOTVS não manterá rastreabilidade das mensagens recebidas).
O que será desenvolvido:
1. Tratar o consumo dos componentes, considerar os novos campos da fase 2 e também considerar o SIGASFC alterando o adapter MATI681.
1.1 Consumo dos componentes
O consumo dos componentes é válido na fase 2 da integração, porém deverá respeitar parametrização do PCPA109. Na rotina de parâmetros será definido como será o tratamento do consumo dos componentes.
Deverá verificar o conteúdo o campo SOE.OE_VAR1, quando a tabela(OE_TABELA) for SC2. Este campo pode conter os seguintes valores:
"1" - BackFlush: Sempre irá realizar a baixa dos componentes conforme o definido na engenharia. Desconsidera a lista de consumo SupplyOrder. (FASE1)
"2" - Consumo Real: Irá consumir conforme lista de componentes, SupplyOrder, enviada na mensagem. (FASE2)
Abaixo alterações necessárias para atender o processo quando o parâmetro estiver como '2'.
Alterar o MATA681 para validar se está executando via integração com o PC-FACTORY no momento de fazer as baixas. Deve ser feita essa validação pois ao executar a função de baixa A250Atu não deverá baixar conforme os dados da SD4 e sim os componentes que foram enviados na mensagem. A baixa é feita com base na variável aBaixaComp, sendo que, quando estiver nula a rotina baixa conforme a SD4. Para a integração e com consumo real, deverá gerar esse array conforme a lista de componentes que forem enviadas pelo PC-Factory antes de executar a função A250Atu. Quando parametrizado para o consumo real e não existindo informações na lista de componentes, SupplyOrder, não deverá fazer o backflush. Também deverá aceitar apontamento de produção com quantidade zerada e somente a lista de componentes, SupplyOrder, só que deverá ter o tempo informado.
Usar os campos abaixo:
SupplyOrder | ProductionOrderNumber | Número Ordem Produção | SD3.D3_OP |
SupplyOrder | MaterialCode | Código Item Reserva | SD3.D3_COD |
SupplyOrder | UsedQuantity | Quantidade Utilizada | SD3.D3_QUANT |
SupplyOrder | ApprovedQuantity | Quantidade Aprovada | |
SupplyOrder | WarehouseCode | Código Depósito | SD3.D3_LOCAL |
SupplyOrder | LocationCode | Localização | SD3.D3_LOCALIZ |
SupplyOrder | LotCode | Lote/Série | SD3.D3_LOTECTL |
No consumo dos componentes o processo deverá seguir a seguinte regra, conforme parametrização:
Caso o parâmetro MV_REQAUT estiver como 'D' os materiais DIRETOS serão digitados e os INDIRETOS serão baixados automaticamente.
Caso o parâmetro MV_REQAUT estiver como 'A' o consumo dos materiais será realizado para todos os componentes.
Obs.: Esta informação é relevante, pois se o PC-FACTORY enviar na mensagem de apontamento um componente com apropriação DIRETA e o parâmetro estiver como 'D' a baixa não será realizada.
Para baixar os Indiretos o tipo de movimento deve ter o campo "Aprop. Indir" como "S' na rotina MATA230.
Na mensagem de existe o campo REQUESTTYPE: Identifica se a requisição pode ser feita separadamente do reporte da produção.
Protheus - identifica o tipo de apropriação do componente (1-Direta, 2-Indireta)
As maioria das regras definidas na fase 1 continuam inalteradas:
- Os campos Máquina,Ordem de Produção,Operação,Produto e Data/Hora Reporte serão obrigatórios.
Caso o campo código do depósito vier sem preenchimento deverá usar o local padrão do cadastro de item(SB1.B1_LOCPAD).
- Se precisar fazer alguma validação deverá usar o ponto de entrada MT680VAL. Ponto de entrada útil para validar se alguma informação deverá ser obrigatória como tempo , quantidade, entre outros. Estas validações ficarão a cargo dos clientes, pois cada um terá sua regra.
O campo CloseOperation vai indicar se o apontamento é TOTAL ou PARCIAL. Caso envie true deverá ser T=total. Caso false será considerado como P=Parcial.
Quando for apontamento quantidade/tempo/recurso o SH6.H6_TIPO = 'P'.
Como o padrão é MATA681, se precisar validar informações do carga máquina na tabela SH8, deverá usar o ponto de entrada MT680VAL.
Regras novas
Será considerada a operação que vier informada BusinessContentType
Se estiver parametrizado para BackFlush não deverá considerar a lista de componentes SupplyOrder.
Gravar o campo SH6.H6_OBSERVA como 'TOTVSMES'. Atualmente grava "PPI"
Deverá considerar o tipo de movimento do cadastro de parâmetros PCPA109, folder MOVIMENTAÇÕES. Se for Entrada usar o campo OE_VAR1. Se for Saída usar o campo OE_VAR2. Quando usa o chão de fábrica, deverá usar as movimentações parametrizadas no SIGASFC (MV_SFRQMB e MV_TMPAD).
No PC-Factory, não é utilizado lote e número de série ao mesmo tempo. O retorno desse conteúdo será via tag SupplyOrder - LotCode, que pode ser o Lote ou número de série, conforme o cadastro do item.
Quando o item controlar endereço deverá validar a geração da tabela SDB.
A mensagem de retorno deve continuar sendo executada da mesma forma.
Os estornos dos apontamentos deverão seguir o modelo atual, enviando o campo ReversedReport, sem necessidade de enviar lista de componentes.
As demais Tags serão verificadas somente quando usar o chão de fábrica.
1.2 Chão de Fábrica
Quando usa o SIGASFC, MV_INTSFC =1, fará o mesmo processo do apontamento de produção, porém gerando as tabelas do chão de fábrica.
Será usado como base o processo do apontamento modelo 2 , SFCA316.
Alterações:
1.2.1 Adapter MATI681
Alterar adapter de apontamento de produção para validar se existe integração com SFC.
O Adapter fará a leitura do XML para gerar os dados que serão passados automaticamente para a rotina de apontamento SFCA314. Se estiver usando o chão de fábrica(<IF MV_INTSFC = '1' THEN >) ira gerar os dados correspondes da rotina SFCA314. O XML contém inúmeros campos, porém, para a integração Protheus com o PC-Factory vamos usar somente os descritos na tabela da mensagem do apontamento.
Pode usar como modelo o ACDV314 para executar rotina do chão de fábrica.
Exemplo:
// Instancia o modelo
oModel := FWLoadModel( "SFCA314" )
oModel:SetOperation( 3 ) //incluir apontamento
oModel:SetValue("CYVMASTER","CYV_NRORPO",CZH->CZH_NRORPO)
oModel:SetValue("CYVMASTER","CYV_IDAT" ,CZH->CZH_IDAT)
oModel:SetValue("CYVMASTER","CYV_IDATQO",CZH->CZH_IDATQO)
oModel:SetValue("CYVMASTER","CYV_CDMQ" ,CZH->CZH_CDMQ)
....
...
// Valida o modelo
If oModel:VldData()
VtClear()
If !oModel:CommitData()
Return .F.
EndIf
Else
VtClear()
aErro := oModel:GetErrorMessage()
VTAlert(AllTrim(STR0010)+": "+oModel:GetErrorMessage()[6], oModel:GetErrorMessage()[5])
Return .F.
EndIf
Deverá fazer o SetValue nas seguintes tabelas: CYV,CZP,CYO,CYW,CZO ( os valores vem do XML, vide tabela de apontamentos). Ao executar o SFCA314 já irá atualizar automaticamente as tabelas do PCP, pois faz o exectAuto do MATA681: msExecAuto({|x,y| MATA681(x,y)},aMata681,3).
Onde( ver na tabela a origem de cada campo):
CYV - Tabela principal do apontamento
CZP - Componentes ( considerar o parâmetro - BackFlush ou Consumo Real)
CYO - Refugo
CYW - Recursos
CZO - Ferramentas
ATENÇÃO: As tabelas geradas automáticas no SFCA314, como por exemplo a tabela de componentes CZP, deverão ser geradas conforme a mensagem, no caso da parametrização CONSUMO REAL. Quando for BackFlush será desconsiderado o que estiver na mensagem XML.
ATENÇÃO: As outras tabelas como recurso (CYW) e ferramenta(CZO) deve respeitar o que está na mensagem.
O Adapter fará as seguintes validações antes de executar a rotina de apontamento.
- Irá validar se a mensagem é ProductionAppointment.
- Irá validar se a versão é 1.001
- Quando o nome do produto(Product: Name) for PPI, deverá verificar se a integração Protheus x PC-Factory está ativa(SOD.OD_ATIVO). Somente processar se estiver ativa, senão irá dar mensagem que a integração não foi realizada.
- Quando as tags CompanyId e BranchId não forem enviados pelo XML será utilizado o que estiver registrados nos parâmetros de configuração(appserver.ini) na configuração do WEBSERVICE. Abaixo exemplo no campo PREPAREIN.
[WebServices]
Enable=1
Environment=p12_gestao
Conout=1
Trace=1
PrepareIn=99,01
NameSpace=http://10.80.62.136:8090
URLLocation=http://10.80.62.136
Mais detalhes sobre a configuração do appserver.ini WEBSERVICE deverá ser verificado no manual de instalação.
Algumas regras para o chão de fábrica:
- Quantidade reportada CYV_QTATRP, será a soma das quantidades aprovadas e refugadas.
- Data/Hora Início e Fim e código da Preparação apesar de serem virtuais, se a máquina exigir setup(CYB_LGUSU) deverá enviar as tags SetupCode, StartSetupDateTime e EndSetupDateTime .
- Caso o documento, tag DocumentCode, esteja em branco será gravado o número da ordem de produção.
- Os campos Data da Reserva 'CZP_DTMT' deve receber o conteúdo da tabela CYP.CYP_DTMT
A quantidade reserva 'CZP_QTMT' deve receber o conteúdo da tabela CYP.CYP_QTMT
O estado 'CZP_TPST' deve receber o conteúdo da tabela CYP.CYP_TPST - O tempo unidade operação, CZ0_QTTEUN, deverá ser gerado conforme regra do SFCA314
- A mensagem de retorno deve continuar sendo executada da mesma forma, porém deverá enviar o campo CYV.CYV_NRSQRP ( sequencia do reporte).
2. Estorno
Os estornos dos apontamentos deverão seguir os procedimentos abaixo:
- O estorno ocorre quando o campo o campo ReversedReport (Estorno do apontamento) possuir o conteúdo TRUE.
Quando for estorno deverá, obrigatoriamente ter o número do apontamento, campo IntegrationReport. (CYV.CYV_NRSQRP quando usa o chão de fábrica) - Diferente do PCP que exclui o registro na SH6, o chão de fábrica mantem o registro nas tabelas, porém registra a data,usuário e indicador do estorno do estorno.
Neste caso serão atualizados os campos:
CYV_DTEO - Data do estorno. Tag ReversalDate
CYV_LGRPEO - Indicador de estorno. Tag ReversedReport
CYV_CDUSOE - Usuário do estorno. Usuário do processamento (UserId) - O estorno pode ser gerado de duas formas no arquivo: somente o estorno ou estorno + apontamento. Quando a mensagem possuir o estorno e o apontamento só pode commitar as movimentações quando ambas forem concluídas.
Para identificar se a mensagem possui somente estorno ou estorno + apontamento deverá verificar as seguintes situações:
Somente estorno: possui quantidade aprovada e refugado zerado ( ou sem conteúdo) e dados do ReversedReport.
Estorno + apontamento: possui ReversedReport informado e dados da ordem e quantidade aprovada ou refugada maior que zero.
3. Refugo
Na FASE 1, quando for apontado Refugo/Perda(ScrapQuantity for maior que zero), não está registrando o motivo de refugo tags do ListOfWasteAppointments devido a rotina MATA681 que não atualiza dados da tabela SBC quando a execução for decorrente de processamentos automáticos.
Deverá ser alterado o processo para registrar o motivo e também gerar dados do chão de fábrica
3.1 Registrar Motivo
No Mata680 quando possuir refufo/perda é executada a função abaixo:
Function DigiPerda(cProduto,cNumOp,nQtd)
Nesta função, é verificada se a execução é automática não abre a tela e sai da rotina.
If (Type("l680Auto") == "L" .And. l680Auto) .Or. ;
(Type("l681Auto") == "L" .And. l681Auto) .Or. ;
(Type("l250Auto") == "L" .And. l250Auto)
lRet := .T.
lContinua:= .F.
Endif
Deverá alterar para que seja verificado, se o apontamento de refugo está sendo gerado via integração com o PC-Factry gerar os dados da SBC , ou seja, preparar a rotina para executar via execução automática.
Na tabela que define a mensagem está descrito a origem dos campos, motivo, descrição do motivo e quantidade do refugo. Os demais campos da tabela SBC podem ser obtidos do BusinessContentType.
Obs: A validação do parâmetro MV_DIGIPER deve continuar.
3.2 Atualizar cadastro do motivo PCP
No adpater MATI681 deverá verificar se o motivo está cadastrado. Caso não esteja deverá ser incluído o motivo utilizado no apontamento na tabela SX5.
Deverá pesquisar na tabela SX5 da seguinte maneira:
select X5_CHAVE from sx5990 where X5_TABELA = '43'
Onde:
- O código do motivo é X5_CHAVE
- A tabela do motivo é '43'.
Se não encontrar o motivo deverá incluir na SX5 usando código e descrição.
3.3 Atualizar Chão de Fábrica ( MV_INTSFC igual a '1')
Para o chão de fábrica deverá atualizar a tabela do chão de fábrica CY0.
No adapter SFCI314 deverá verificar se o motivo está cadastrado. Caso não esteja deverá ser incluído o motivo utilizado no apontamento na tabela CY0.
Sempre considerar o tipo(CYO_LGRFMP) como REFUGO.
Quando usar o chão de fábrica a geração do apontamento no PCP é executada automaticamente, porém como o refugo não é gerado na SX5 nesse cenário, a validação do motivo deverá ser alterada:
Na Function PerdaIniCp(), se estiver integrado com o chão de fábrica e a origem do apontamento foi o SFCA314 deverá validar o motivo na tabela CYO.
3.4 Tamanho dos campos
O motivo de refugo tem tamanhos diferentes nas tabelas. Deverá validar se o código recebido não vai ultrapassar o tamanho das colunas no Protheus.
Quando usa o PCP deve validar contra o SX5.X5_CHAVE e SBC.BC_MOTIVO.
Quando usa o SIGASFC validar contra o CYO.CYO_CDRF, CY0.CY0_CDRF e SBC.BC_MOTIVO
4. Parada
O apontamento de parada foi desenvolvido na FASE 1. Deverá gerar as informações do chão de fábrica. No chão de fábrica a rotina é o SFCA311.
4.1 Alterar o adapter do apontamento de produção MATI682.
O Adapter fará a leitura do XML para gerar os dados que serão passados automaticamente para a rotina de apontamento SFCA311. O XML contém inúmeros campos, porém, para a integração Protheus com o PC-Factory vamos usar somente os descritos na tabela da mensagem do apontamento de parada. O Adpater será desenvolvido usando padrão EAI. No caso dos apontamentos desenvolver apenas o processo de recebimento da mensagem - TRANS_RECEIVE.
Mensagem de parada
Bloco | Tag | Descrição | Observação |
BusinessContentType | MachineCode | Código Máquina | CYX.CYX_CDMQ |
BusinessContentType | StopReasonCode | Código Motivo Parada | CYX.CYX_CDSP |
BusinessContentType | StopReasonDescription | Descrição Motivo Parada | CYX.CYX_DSSP |
BusinessContentType | StartDateTime | Data/Hora Início | CYX.CYX_DTBGSP CYX_HRBGSP |
BusinessContentType | EndDateTime | Data/Hora Fim | CYX.CYX_DTEDSP CYX.CYX_HREDSP |
BusinessContentType | OperatorCode | Código Operador | CYX.CYX_CDOE |
BusinessContentType | ReportDateTime | Data/Hora Reporte | CYX.CYX_DTRP |
BusinessContentType | ToolCode | Código Ferramenta | CYX.CYX_CDFEPO |
BusinessContentType | ProductionTeamCode | Código Equipe | CYX.CYX_CDGROE |
BusinessContentType | StopType | Tipo Parada(1=Não Programada;2=Programada) | CYX.CYX_TPSP |
Deverá tratar o parâmetro de integração do chão de fábrica MV_INTSFC. Se for igual '1' deverá executar o ExecAuto no SFCA311 ao invés do MATA682.
Se PCP Gera SH6:
//Carrega o array com os valores necessários para o apontamento.
aSH6 := {{"H6_RECURSO" ,cMaquina , NIL },;
{"H6_MOTIVO" ,cMotPar , NIL },;
{"H6_FERRAM" ,cFerr , NIL },;
{"H6_DATAINI" ,dDateIni , NIL },;
{"H6_HORAINI" ,cHoraIni , NIL },;
{"H6_DATAFIN" ,dDateFim , NIL },;
{"H6_HORAFIN" ,cHoraFim , NIL },;
{"H6_DTAPONT" ,dDtRep , NIL },;
{"H6_OPERADO" ,cOper , NIL },;
{"H6_OBSERVA" ,cProduct , NIL },;
{"H6_TIPO" ,"I" , NIL },;
{"REPORTSEQUENCE",cSeqReporte,NIL}} //contém o ID da parada no PPI.
Se SFC Gera :
CYX {......
..........}
- Modelo do turno e número do turno será gerado automaticamente pela rotina SFCA311
- Se a mensagem não enviar o StopType será considerado como 2= Não Programada
- O número do apontamento é enviado ao Pc-Factory pelo Protheus na mensagem de retorno da StopReport é corresponde ao RECNO da CYX. Este mesmo número será utilizado quando precisar registrar um estorno(IntegrationReport)
- O Estorno continua no caso do chão de fábrica é o processo de EXCLUSAO do SFCA311.
- Quando estiver integrado com o chão de fábrica, caso o motivo de parada não esteja cadastrado, deverá gerar a tabela do chão de fábrica - CYN. Fazer essa geração no adapter .
4.2 Tamanho dos campos
O motivo de parada tem tamanhos diferentes nas tabelas. Deverá validar se o código recebido não vai ultrapassar o tamanho dos campos no Protheus.
Quando usa o PCP deve validar contra o SX5.X5_CHAVE e SH6.H6_MOTIVO.
Quando usa o SIGASFC validar contra o CYN.CYN_CDSP, CYX.CYX_CDSP e SH6.H6_MOTIVO
Na tabela abaixo informe quais são as rotinas envolvidas, o tipo de operação, a opção de menu e se necessário uma breve descrição das regras de negócio relacionadas a rotina>.
Rotina | Tipo de Operação | Opção de Menu | Regras de Negócio |
[MATA681 – Producao PCP Mod2 | [Alteração] | [Planej. Contr Produção - Atualizações -> Movimentações -> Produção] | - |
[MATA682 – Apontar Hrs.improd] | [Envolvida] | [Planej. Contr Produção - Atualizações -> Movimentações-> Produção] | - |
[SFCA310 – Apont Produc Mod 1] | [Alteração] | [Chão de Fabrica - Atualizações -> Movimentações -> Produção] | - |
[SFCA311 – Apont Parada] | [Alteração] | [Chão de Fabrica - Atualizações -> Movimentações -> Produção] |
Opcional
Protótipo de Tela
<Caso necessário inclua protótipos de telas com o objetivo de facilitar o entendimento do requisito, apresentar conceitos e funcionalidades do software>.
Protótipo 01
Opcional
Fluxo do Processo
<Nesta etapa incluir representações gráficas que descrevam o problema a ser resolvido e o sistema a ser desenvolvido. Exemplo: Diagrama - Caso de Uso, Diagrama de Atividades, Diagrama de Classes, Diagrama de Entidade e Relacionamento e Diagrama de Sequência>.
Opcional
Dicionário de Dados
(Opcional)
Grupo de Perguntas
<Informações utilizadas na linha Protheus>.
(Opcional)
Consulta Padrão
<Informações utilizadas na linha Protheus>
(Opcional)
Estrutura de Menu
<Informações utilizadas na linha Datasul>.
Cadastro de Papéis
<O cadastro de papéis é obrigatório para os projetos de desenvolvimento FLEX a partir do Datasul 10>.
<Lembrete: o nome dos papeis em inglês descrito neste ponto do documento, devem ser homologados pela equipe de tradução>.
[1] Nome Verbalizado é obrigatório para desenvolvimentos no Datasul 10 em diante.
[2] Tipo é obrigatório para desenvolvimento no Datasul 10 em diante
[3] Categorias são obrigatórias para os programas FLEX.
[4] Obrigatório quando o projeto for FLEX
[5] Obrigatório quando o projeto for FLEX
[6] Obrigatório quando o projeto for FLEX
Este documento é material de especificação dos requisitos de inovação, trata-se de conteúdo extremamente técnico. |
---|
Este documento é material de especificação dos requisitos de inovação, trata-se de conteúdo extremamente técnico. |
---|
Este documento é material de especificação dos requisitos de inovação, trata-se de conteúdo extremamente técnico. |
---|