--VALIDAR QUE NO GRABE UNA GUIA DE REMISION SI NO TIENE SUS COSTOS DE IMPORTACION PARA EL P/I DECLARE @TABLATEMPORAL TABLE(MAXPIS NVARCHAR(7)) DECLARE @MAXPI NVARCHAR(7) DECLARE @CONTPI NVARCHAR(7) DECLARE @CONTNOPI NVARCHAR(7) --RECUPERA EL VALOR DEL P/I O P/I'S CON O/C DE IMPORTACION, PARA LOS ITEMS SELECCIONADOS INSERT INTO @TABLATEMPORAL (MAXPIS) SELECT DISTINCT(T1.DOCENTRY) FROM DLN1 T0, PDN1 T1, OPOR T2 WHERE T0.DOCENTRY = @LIST_OF_COLS_VAL_TAB_DEL AND T0.ITEMCODE = T1.ITEMCODE AND T1.DOCENTRY = (SELECT MAX(DOCENTRY) FROM PDN1 WHERE PDN1.ITEMCODE = T0.ITEMCODE) AND T2.DOCENTRY = (SELECT DISTINCT(BASEENTRY) FROM PDN1 WHERE BASETYPE = '22' AND DOCENTRY = T1.DOCENTRY) AND (T2.U_QA_TOC = '1' OR T2.U_QA_TOC = '2') BEGIN --MUESTRA SI HAY REGISTROS DE P/I EN LA TABLA TEMPORAL, QUE NO SE ENCUENTREN EN LOS COSTOS DE IMPORTACION --PARA LOS ITEMS SELECCIONADOS SET @MAXPI = (SELECT MAX(MAXPIS) FROM @TABLATEMPORAL) SET @CONTPI = (SELECT COUNT(*) FROM @TABLATEMPORAL) SET @CONTNOPI = (SELECT COUNT(*) FROM @TABLATEMPORAL WHERE MAXPIS NOT IN (SELECT D.BASEENTRY FROM OIPF C, IPF1 D WHERE C.DOCENTRY = D.DOCENTRY AND C.DOCSTATUS = 'C')) IF @MAXPI IS NOT NULL AND @MAXPI '' BEGIN IF @CONTNOPI > 0 BEGIN SET @ERROR = 1 -- IMPORTANTE: INDICA QUE LA VALIDACIÓN NO HA SIDO SUPERADA SET @ERROR_MESSAGE ='EXISTE(N)PRODUCTO(S) QUE DEBE(N) COSTEARSE PARA ESTA O/P' END END END END END