Files
devolucion_proveedores/apps/api/src/sql-queries/sql-queries.definitions.ts
T
georgeandClaude Sonnet 5.5 2873fd3bc6 Usar PDN1.OpenInvQty en la consulta FIFO y ajustar el despliegue
- DP_EntradasAbiertas (v3) lee OpenInvQty en lugar de OpenQty.
- publicar: la release no contiene enlaces simbólicos (copia real de @dp/shared).
- DEPLOY.md y CLAUDE.md actualizados.

Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>
2026-10-13 14:30:06 -05:00

49 lines
2.0 KiB
TypeScript

/**
* Consultas guardadas (SQLQueries del Service Layer) que usa la API. Cada una tiene su
* variante MSSQL (pruebas) y HANA (producción). Los parámetros se escriben ":nombre".
*
* El analizador SQL del Service Layer no admite funciones como FORMAT: las fechas se devuelven
* tal cual y se normalizan en el código.
*
* SAP reescribe el SqlText al guardarlo (por ejemplo OITM → [OITM]), así que no se puede
* comparar el texto para saber si cambió: al modificar el SQL hay que subir `version`.
*/
export interface ConsultaGuardada {
codigo: string;
version: number;
mssql: string;
hana: string;
}
export const CONSULTA_STOCK: ConsultaGuardada = {
codigo: 'DP_Stock',
version: 1,
mssql:
'SELECT T0.[ItemCode], T0.[ItemName], T1.[OnHand] ' +
'FROM OITM T0 INNER JOIN OITW T1 ON T1.[ItemCode] = T0.[ItemCode] ' +
'WHERE T1.[WhsCode] = :whs AND T0.[ItemCode] = :item',
hana:
'SELECT T0."ItemCode", T0."ItemName", T1."OnHand" ' +
'FROM OITM T0 INNER JOIN OITW T1 ON T1."ItemCode" = T0."ItemCode" ' +
'WHERE T1."WhsCode" = :whs AND T0."ItemCode" = :item',
};
export const CONSULTA_ENTRADAS_ABIERTAS: ConsultaGuardada = {
codigo: 'DP_EntradasAbiertas',
version: 3,
mssql:
'SELECT T0.[DocNum], T0.[CardCode], T0.[CardName], T0.[DocDate], ' +
'T1.[DocEntry], T1.[LineNum], T1.[OpenInvQty] ' +
'FROM OPDN T0 INNER JOIN PDN1 T1 ON T1.[DocEntry] = T0.[DocEntry] ' +
"WHERE T0.[U_DOT_TipoRecepcion] = 'C' AND T1.[LineStatus] = 'O' " +
'AND T1.[ItemCode] = :item AND T1.[WhsCode] = :whs ' +
'ORDER BY T0.[DocDate], T1.[DocEntry], T1.[LineNum]',
hana:
'SELECT T0."DocNum", T0."CardCode", T0."CardName", T0."DocDate", ' +
'T1."DocEntry", T1."LineNum", T1."OpenInvQty" ' +
'FROM OPDN T0 INNER JOIN PDN1 T1 ON T1."DocEntry" = T0."DocEntry" ' +
"WHERE T0.\"U_DOT_TipoRecepcion\" = 'C' AND T1.\"LineStatus\" = 'O' " +
'AND T1."ItemCode" = :item AND T1."WhsCode" = :whs ' +
'ORDER BY T0."DocDate", T1."DocEntry", T1."LineNum"',
};