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 |
Descrição: | O ponto de entrada P712SQL é executado na montagem das instruções SQL quer irão realizar a carga dos dados na memória. O ponto de entrada é chamado nas seguintes cargas:
|
Localização: | Classe CargaMemoria - Responsável por realizar a execução das instruções SQL e o carregamento dos dados que serão processados pelo MRP para a memória. |
Eventos: | Antes da execução de cada Query das tabelas citadas anteriormente. |
Programa Fonte: | MrpDados_Carga_Documentos.PRW, MrpDados_Carga_Engenharia.PRW, MRPDados_CargaMemoria.PRW |
Sintaxe: | P712SQL (cTabela, cFields, cQueryCon, cOrder) --> aRetQuery |
Retorno: | Array contendo as três instruções do SQL. Na posição 01 do array, retornar os campos da cláusula SELECT (cFields). Na posição 02 do array, retornar as informações das cláusulas FROM e WHERE (cQueryCon) Na posição 03 do array, retornar as informações da cláusula ORDER BY (cOrder) |
Observações: | O ponto de entrada precisa retornar, nas três posições do array, instruções SQL que sejam válidas, dentro do padrão ANSI SQL. |
#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 |