Buenas;
Estoy tratando de validar de que no se seleccioné lotes vencidos en el modulo de picking al momento de liberar una orden de venta a través del Transaction Notification.
esta es mi validación
IF (:object_type = ‘156’ AND (:transaction_type= ‘A’ OR :transaction_type= ‘U’ )) THEN
RecordCount :=0;
SELECT COUNT (*) INTO RecordCount
FROM IBT1 T0
INNER JOIN OBTN T1 ON T1."ItemCode" = T0."ItemCode" AND T0."BatchNum" = T1."DistNumber"
INNER JOIN OPKL T2 ON T0."BaseEntry" =T2."AbsEntry" AND T0."BaseType" =156
WHERE IFNULL(T1."ExpDate" ,'29991231')< CURRENT_DATE AND T2."AbsEntry" = :list_of_cols_val_tab_del ;
if :RecordCount > 0 THEN
SELECT T0."BatchNum",T1."ItemCode" INTO Lote, Item
FROM IBT1 T0
INNER JOIN OBTN T1 ON T1."ItemCode" = T0."ItemCode" AND T0."BatchNum" = T1."DistNumber"
INNER JOIN OPKL T2 ON T0."BaseEntry" =T2."AbsEntry" AND T0."BaseType" =156
WHERE IFNULL(T1."ExpDate" ,'29991231')< CURRENT_DATE AND T2."AbsEntry" = :list_of_cols_val_tab_del ;
error := 1002;
error_message := N'(OPKL-P0002) El Lote '||:Lote ||' Del Articulo '||:Item ||' Esta Vencido, seleccione otro Lote '||:RecordCount||' NUMN' ;
ELSE
error := 1002;
error_message := N'(OPKL-P0002) ENTRE EN OPKL POR ELSE '||:RecordCount||' NUMN';
END IF;
end if;
por alguna razón cuando dicho lote vencido se encuentra con un almacén que tiene seleccionado la ubicación, devuelve 0 y no 1.
Trabajo con HANA y SAP B1 9.3