📌 Documentação do Ponto de Entrada MP_TABLSQL
🧩 Identificação
- Nome do Ponto de Entrada:
MP_TABLSQL - Objetivo: Ponto de entrada para substituição da query SQL para seleção de itens de tabela de preço em lote para sincronização.
- Programa: U_MPINT160 ( Tabelas de Preço em Lote)
- Localização: Montagem da Querry sql de busca dos itens.
📥 Parâmetros Recebidos (PARAMIXB)
PARAMIXB[1]: Array contas "MERCOS"PARAMIXB[2]: Filial da conta "MERCOS".PARAMIXB[3]: Codigo da conta "MERCOS".PARAMIXB[4]: Posição array contas "MERCOS".
🔁 Retorno
- A função deve criar uma tabela temporaria TMP com os registros retornados pela Querry SQL.
Exemplo:
|
user function MP_TABLSQL()
local aContas := PARAMIXB[1] // Array contasMercos
local cFilEnt := PARAMIXB[2] // Filial conta Mercos
local cCtaMp := PARAMIXB[3] // Codigo conta Mercos
local Nz := PARAMIXB[3] // Posição atual conta Mercos
BEGINSQL alias "TMP"
SELECT
DA1_CODPRO,
DA0_CODTAB,
ISNULL( ( SELECT TOP 1 DA1_PRCVEN FROM %table:DA1% DA1_PRC
WHERE DA1_PRC.D_E_L_E_T_ <> '*'
AND DA1_PRC.DA1_CODTAB = DA0.DA0_CODTAB
AND DA1_PRC.DA1_CODPRO = DA1.DA1_CODPRO
AND (DA1_DATVIG <> ' ' and DA1_DATVIG <= %EXP:DTOS(DATE())% )
ORDER BY DA1_DATVIG DESC) ,0) as DA1_PRCVEN
FROM %table:DA1% DA1, %table:DA0% DA0
WHERE DA1.%NOTDEL%
AND DA0_CODTAB = DA1_CODTAB
AND DA0_FILIAL = DA1_FILIAL
AND DA0.%NOTDEL%
AND DA1_CODTAB BETWEEN %exp:MV_PAR03% AND %exp:MV_PAR04%
AND DA1_CODPRO BETWEEN %exp:MV_PAR05% AND %exp:MV_PAR06%
AND DA0_XMPINT = 'S'
GROUP BY DA1_CODPRO,
DA0_CODTAB
ENDSQL
return
|