PA145GER - Customizações na Geração de Documentos do MRP
Linha de Produto: | Protheus | ||||||||||||
Segmento: | Manufatura | ||||||||||||
Módulo: | SIGAPCP - Planejamento e Controle da Produção | ||||||||||||
Parâmetro(s): |
| ||||||||||||
Idiomas: | Todos | ||||||||||||
País(es): | Todos | ||||||||||||
Banco(s) de Dados: | Todos | ||||||||||||
Sistema(s) Operacional(is): | Todos |
Ponto de Entrada
Descrição: | O ponto de entrada PA145GER é executado ao finalizar a geração de todos os documentos do MRP (PCPA712, PCPA144 ou Resultados MRP). |
Localização: | Classe ProcessaDocumentos, método processar() - Responsável por realizar a geração dos documentos |
Eventos: | Ao finalizar a geração dos documentos é aberta uma nova thread exclusiva para a execução do ponto de entrada. |
Programa Fonte: | PCPA145.PRW |
Sintaxe: | PA145GER( [ cTicket ] ) --> Nil |
Retorno: | Nulo. Não é esperado retorno pois a execução é realizada em um processo separado (outra thread), em background. |
Observações: | Não é permitida a utilização de qualquer componente de interface gráfica nesse ponto de entrada, visto que a função será executada em background. A rotina principal não aguardará o término da execução do ponto de entrada. |
#INCLUDE "TOTVS.CH" User Function PA145GER() Local cAliasQry := GetNextAlias() Local cOrigem := "PCPA144" Local cTicket := PARAMIXB[1] // //SC7 - Pedidos de Compra/Autorizações de Entrega // BeginSql Alias cAliasQry SELECT C7_FILIAL, C7_NUM, C7_ITEM FROM %Table:SC7% WHERE C7_SEQMRP = %Exp:cTicket% AND %notDel% EndSql While (cAliasQry)->(!Eof()) //Percorre todos os registros gerados no processamento Conout("SC7 - Documento: " + (cAliasQry)->C7_FILIAL + (cAliasQry)->C7_NUM + (cAliasQry)->C7_ITEM) (cAliasQry)->(dbSkip()) End (cAliasQry)->(dbCloseArea()) // //SC1 - Solicitações de Compra // BeginSql Alias cAliasQry SELECT C1_FILIAL, C1_NUM, C1_ITEM FROM %Table:SC1% WHERE C1_SEQMRP = %Exp:cTicket% AND C1_ORIGEM = %Exp:cOrigem% AND %notDel% EndSql While (cAliasQry)->(!Eof()) //Percorre todos os registros gerados no processamento Conout("SC1 - Documento: " + (cAliasQry)->C1_FILIAL + (cAliasQry)->C1_NUM + (cAliasQry)->C1_ITEM) (cAliasQry)->(dbSkip()) End (cAliasQry)->(dbCloseArea()) // //SC2 - Ordens de Produção // BeginSql Alias cAliasQry SELECT C2_FILIAL, C2_NUM, C2_ITEM, C2_SEQUEN FROM %Table:SC2% WHERE C2_SEQMRP = %Exp:cTicket% AND C2_BATROT = %Exp:cOrigem% AND %notDel% EndSql While (cAliasQry)->(!Eof()) //Percorre todos os registros gerados no processamento Conout("SC2 - Documento: " + (cAliasQry)->C2_FILIAL + (cAliasQry)->C2_NUM + (cAliasQry)->C2_ITEM + (cAliasQry)->C2_SEQUEN) (cAliasQry)->(dbSkip()) End (cAliasQry)->(dbCloseArea()) // //SD4 - Empenhos // BeginSql Alias cAliasQry SELECT SD4.D4_FILIAL, SD4.D4_OP, SD4.D4_COD FROM %Table:SD4% SD4 INNER JOIN %Table:SC2% SC2 ON SD4.D4_FILIAL = SC2.C2_FILIAL AND SD4.D4_OP = CASE SC2.C2_OP WHEN ' ' THEN SC2.C2_NUM + SC2.C2_ITEM + SC2.C2_SEQUEN + SC2.C2_ITEMGRD //Operador de concatenação de string do banco pode ser diferente ELSE SC2.C2_OP END WHERE SD4.%notDel% AND SC2.%notDel% AND SC2.C2_SEQMRP = %Exp:cTicket% EndSql While (cAliasQry)->(!Eof()) //Percorre todos os registros gerados no processamento Conout("SD4 - Documento: " + (cAliasQry)->D4_FILIAL + (cAliasQry)->D4_OP + (cAliasQry)->D4_COD) (cAliasQry)->(dbSkip()) End (cAliasQry)->(dbCloseArea()) Return