(Obrigatório)
Definição da Regra de Negócio
A rotina de carga máquina tem como objetivo alocar as ordens (operações da ordem ) nos equipamentos afim de realizar a distribuição da produção de uma forma que os recursos sejam utilizados da melhor maneira possível.
A integração fará o envio das informações da ordem. Serão utilizadas as mesmas funções de integração do MATA650 - rotina de criação de ordem.
A Mensagem utilizada será: ProductionOrder_2_000
1. Mensagem
A mensagem possui vários tags, porém serão usadas algumas para o PCFactory:
Bloco | Tag | Descrição | Observação |
BusinessContentType | Number | Número Ordem Produção | SC2.C2_NUM + SC2.C2_ITEM + SC2.C2_SEQUEN |
BusinessContentType | ProductionOrderUniqueID | Identificador único da ordem | Empresa|Filial|OP |
BusinessContentType | ItemCode | Código Item | SC2.C2_PRODUTO |
BusinessContentType | ItemDescription | Descrição Item | SB1.B1_DESC |
BusinessContentType | Type | Tipo da Ordem | Fixo 1 (ordem interna) |
BusinessContentType | Quantity | Quantidade | SC2.C2_QUANT |
BusinessContentType | ReportQuantity | Quantidade Reportada | SC2.C2QUJE |
BusinessContentType | IsStatusOrder | Reporte Fecha Ordem Produção | |
BusinessContentType | UnitOfMeasureCode | Unidade Medida | SC2.C2_UM |
BusinessContentType | RequestOrderCode | Código Pedido Ordem Produção | SC2.C2_PEDIDO |
BusinessContentType | StatusType | Estado | |
BusinessContentType | StatusOrderType | Estado da ordem | Prevista/Aberta = 1 Iniciada = 6 Ociosa = 9 Encerrada Parcial/Total = 7 |
BusinessContentType | WarehouseCode | Código Depósito | SC2.C2_LOCAL |
BusinessContentType | EndOrderDateTime | Data Fim Ordem Produção CP | SC2.C2_DATPRF |
BusinessContentType | StartOrderDateTime | Data Início Ordem Produção CP | SC2.C2_DATPRI |
BusinessContentType | AbbreviationProviderName | Nome Cliente | SC5.C5_CLIENTE ( SA1.A1_NOME) |
BusinessContentType | CustomerRequestCode | Código Pedido Cliente | |
BusinessContentType | ScriptCode | Código Roteiro | SC2.C2_ROTEIRO |
ListOfActivityOrders | ProductionOrderNumber | Ordem de Produção | OP (NUM+ITEM+SEQUEN) |
ListOfActivityOrders | ActivityID | ID do Registro | RECNO (SG2 ou SHY) |
ListOfActivityOrders | ActivityCode | Código Operação | SG2 (Operacaoes) SGF (Oper x Comp) SHY (Oper x Ordem) |
ListOfActivityOrders | ActivityDescription | Descrição Operação | SG2.G2_DESCRI |
ListOfActivityOrders | ItemCode | Código do item | SC2.C2_PRODUTO |
ListOfActivityOrders | ItemDescription | Descrição do item | SB1.B1_DESC |
ListOfActivityOrders | ActivityType | Tipo Operação | 1 = Executa operação; 2 = Não executa. Protheus passar fixo "1" |
ListOfActivityOrders | WorkCenterCode | Código Centro de Trabalho | SG2 (Operacaoes) SHY (Oper x Ordem) |
ListOfActivityOrders | WorkCenterDescription | Descrição Centro de Trabalho | |
ListOfActivityOrders | UnitTimeType | Tipo Unidade Tempo | Fixo 1 |
ListOfActivityOrders | TimeResource | Tempo Recurso | Tempo para fazer um lote. SG2.G2_TEMPAD |
ListOfActivityOrders | TimeMachine | Tempo Máquina | SG2 (Operacaoes) SHY (Oper x Ordem) Mult. pela qtd da ordem ( tempo para fazer toda a ordem) |
ListOfActivityOrders | TimeSetup | Tempo Preparação | SG2 (Operacaoes) SHY (Oper x Ordem) |
ListOfActivityOrders | ScriptCode | Código Roteiro | SG2 (Operacaoes) SHY (Oper x Ordem) |
ListOfActivityOrders | LaborCode | Código Mão de Obra Direta | MOD+CC |
ListOfActivityOrders | UnitItemNumber | Lote Padrão | Lote Padrão da operação. SG2.G2_LOTEPAD |
ListOfActivityOrders | IsActivityEnd | Última Operação | Na última operação passar TRUE |
ListOfActivityOrders | MachineCode | Código Máquina | SG2_RECURSO ou SHY_RECURSO |
ListOfActivityOrders | StartPlanDateTime | Data/Hora Início Programação | SHY.HY_HORAINI ou SC2.C2_DATPRI |
ListOfActivityOrders | EndPlanDateTime | Data/Hora Fim Programação | SHY.HY_HORAFIM ou SC2.C2_DATPRF |
ListOfMaterialOrders | ProductionOrderNumber | Ordem de produção | OP (NUM+ITEM+SEQUEN) |
ListOfMaterialOrders | MaterialID | Registro da reserva | RECNO SD4 |
ListOfMaterialOrders | MaterialCode | Código Item Reserva | SD4.D4_COD |
ListOfMaterialOrders | ScriptCode | Código Roteiro | SD4 (a partir do pacote 6) |
ListOfMaterialOrders | ActivityCode | Código Operação | SD4 (a partir do pacote 6) |
ListOfMaterialOrders | WarehouseCode | Código Depósito | SD4.D4_LOCAL |
ListOfMaterialOrders | MaterialDate | Data Reserva | SD4.D4_DATA |
ListOfMaterialOrders | MaterialQuantity | Quantidade Reserva | SD4.D4_QUANT |
2. Alterações Necessárias
Deverá alterar a função que gera o XML, MATI650, para que considere a tabela do carga máquina SH8 na montagem das operações da ordem ListOfActivityOrders ao invés da SG2 ou SHY.
Se existir na tabela SH8, deve buscar a operação desta tabela. Se não existir seguir a sequência atual ( SHY e SG2).
ListOfActivityOrders | ActivityCode | Código Operação | SH8.H8_OPER |
ListOfActivityOrders | ActivityDescription | Descrição Operação | SG2.G2_DESCRI |
ListOfActivityOrders | WorkCenterCode | Código Centro Trabalho | SH8.H8_CTRAB |
ListOfActivityOrders | WorkCenterDescription | Descrição Centro Trabalho | |
ListOfActivityOrders | UnitTimeType | Tipo Unidade Tempo | Fixo 1 |
ListOfActivityOrders | TimeMachine | Tempo Máquina | Mesmo cálculo do carga máquina |
ListOfActivityOrders | TimeSetup | Tempo Preparação | H8_SETUP |
ListOfActivityOrders | ScriptCode | Código Roteiro | H8_ROTEIRO |
ListOfActivityOrders | LaborCode | Código Mão de Obra Direta | MOD+CC |
ListOfActivityOrders | IsActivityEnd | Última Operação | |
ListOfActivityOrders | MachineCode | Código Máquina | H8_RECURSO |
ListOfActivityOrders | StartPlanDateTime | Data/Hora Início Programação | H8_DTINI, H8_HRINI |
ListOfActivityOrders | EndPlanDateTime | Data/Hora Fim Programação | H8_DTFIM, H8_FRFIM |
Observação: Nesta fase somente serão integrados ordens que NÃO possuam programação em paralelo, ou seja, somente ordens onde as operações serão realizadas num único equipamento. Exemplo: Se o carga máquina efetuar o split da ordem em vários equipamentos o PC-Factory não poderá receber a mensagem pois a chave primária da operação da ordem de produção será violada.
3. MATA690 - Carga Máquina
Abaixo tela da rotina de carga máquina.

3.1 Inclusão de botão
A alteração consiste em incluir um novo botão no rodapé ( ao lado do botão +). Este botão irá executar a integração com o PC-Factory. Apresentar o botão somente se a integração com o PC-Factory estiver ativa.
Serão processadas todas as ordens que que estão na tabela de carga máquina (SH8), aplicando os filtros. Para cada ordem, que satisfaça o filtro, deverá executar a integração com o PC-Factory, usando o MATI650.
//Função irá retornar o XmL
aRet := MATI650(cXml, nTypeTrans, cTypeMessage)
<função para enviar o XML para o WebService da PPI e recuperar o retorno> : PCPWebsPPI
Se o retorno for negativo irá gerar pendência.Não fará questionamentos, pois o carga já atualizou os dados.
<função para gerar o XML nos diretórios> : PCPXmlPPI
<função para gerar tabela de integração SOF> : PCPCriaSOF
Obs.:Deverá ser enviado os seguintes parâmetros para o MATI650 quando integração com pc-factory:
cXml =
nTypeTrans = TRANS_SEND
cTypeMessage = EAI_MESSAGE_BUSINES
..............................
Filtros e geração do XML deverá seguir o mesmo procedimento da especificação ER_PCREQ-6132_PPIMultTask_Adpters_WebService.
Ao sair da rotina(somente e caso de processamento do carga maquina) e as ordens não forem enviadas ao PC-Factory, será exibida uma mensagem, questionando se deseja sair sem enviar para o PC-Factory.
.................................
3.2 Alteração data da ordem de produção
As alterações da data não serão enviadas ao PC-Factory, pois poderia sob-escrever uma pendencia ou erro gerado pelo carga máquina.
Rotinas Envolvidas:
Rotina | Tipo de Operação | Opção de Menu | Regras de Negócio |
[MATA690 – Carga Máquina] | [Alteração] | [Atualizações -> Processamento-> Carga Maquina] | - |
| | | |
| | | - |