DP_Stock v3: sin COALESCE ni subconsultas (el analizador del Service Layer no los admite)

Suma OpenInvQty con JOIN + GROUP BY. Sin consignación no hay fila, y la nueva consulta
DP_Articulo distingue artículo existente (0) de inexistente.

Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>
This commit is contained in:
georgeandClaude Sonnet 5.5 committed 2026-10-19 15:50:58 -05:00
1 parent cd748bb4ef
commit 67a80e18db
4 files changed
+59 -27

No files matched your search

+5 -4
View File
@@ -48,10 +48,11 @@ Pasos de la UI (decididos):
para cerrarla a mano).
- **Crear devoluciones**: resultado **parcial por documento**. Cada Devolución se crea aparte; las
buenas graban `U_TargetType`/`U_TargetEntry`, las fallidas `U_ErrCode`/`U_ErrMsg` y se reintentan.
- **El "stock" que se muestra y valida es la Consignación**, no `OITW.OnHand`: `DP_Stock` (v2) suma
- **El "stock" que se muestra y valida es la Consignación**, no `OITW.OnHand`: `DP_Stock` (v3) suma
`PDN1.OpenInvQty` de las líneas abiertas de Entradas con `U_DOT_TipoRecepcion = 'C'` del almacén, o sea lo
mismo que consume el FIFO y lo único que se puede devolver. Si el artículo existe sin consignación devuelve 0
(queda "Sin stock"); si no existe, error. La columna se sigue llamando `OnHand` en la consulta, el modelo y
mismo que consume el FIFO y lo único que se puede devolver. Sin consignación no hay fila: entonces `DP_Articulo`
distingue artículo existente (0, queda "Sin stock") de inexistente (error). **El analizador SQL del Service Layer
no admite `COALESCE` ni subconsultas** (error `Cannot support this function or expression`): solo JOIN + GROUP BY. La columna se sigue llamando `OnHand` en la consulta, el modelo y
el UDO (`U_OnHand`); en pantalla y en Excel el encabezado es **Consignación**. Las planificaciones guardadas
antes de la 2.0.0 conservan el valor viejo hasta rehacer el FIFO.
- **Consultas SQL** por `SQLQueries` del Service Layer (no hay conexión directa a la BD). La API
@@ -278,7 +279,7 @@ Reglas:
devuelve siempre un JSON (`{abierta: null}`).
**Sin verificar:**
- **`DP_Stock` v2** (2026-10-19, versión 2.0.0): suma de Consignación, solo con tests; no se ha ejecutado contra el
- **`DP_Stock` v3 y `DP_Articulo`** (2026-10-19): suma de Consignación con `SUM` + `GROUP BY` (la v2 con `COALESCE` fue rechazada por SAP); solo con tests; no se ha ejecutado contra el
Service Layer (ni HANA ni MSSQL). Probar con un pegado real y comparar con la suma de `OpenInvQty`.
- **HANA**: el usuario confirmó (2026-10-13) que las consultas `DP_Stock` y `DP_EntradasAbiertas`
(con `PDN1.OpenInvQty`, filtro por almacén y parámetros con nombre) **funcionan en HANA** a través del