--insert into DC2_MEDITAKE.ロット検索結果 --▽ ロット管理商品 --◇ ロット有りデータ抽出 SELECT '@sid@' ,1 ,仮売.仮売上伝票番号 ,仮売.仮売上伝票行番号 ,'123' 受注伝票番号 ,仮売.受注区分1 受注形態区分 ,SMST9010.FUNV0010( '受注形態', 仮売.受注区分1 ) 受注形態名 ,仮売.仮売上日付 ,メカ.メーカ名 ,仮売.メーカ品番 ,ロト.バラ出荷数量 仮売上数量 -- ,SMST0510.FUNV0010( 仮売.商品コード -- ,仮売.基準ランク -- ,仮売.会社コード -- ,NULL ) 仮売上単位名 ,ロト.バラ計上数量 売上数量 ,SMST0510.FUNV0010( 仮売.商品コード ,仮売.基準ランク ,仮売.会社コード ,NULL ) 単位名 ,仮売.商品名 ,仮売.規格 ,仮売.商品コード ,商拡.JANコード -- ,ロト.読取有効期限 読取有効期限 ,ロト.ロットNO ,ロト.シリアルNO ,ロト.有効期限 ,需マ.得意先名 需要先名 ,0 頁番号 ,0 行番号 FROM ( SELECT 入出.仮売上明細_ID ,入出.入出庫履歴_ID ,詳細.読取有効期限 ,詳細.ロットNO ,詳細.シリアルNO ,詳細.有効期限 ,SUM(SJCY0080.FUNN0030( 入出.会社コード ,入出.商品コード ,詳細.入数ランク ,SJCY0080.FUNN0060( 入出.会社コード, 入出.商品コード, 詳細.入数ランク, 入出.入出庫日付 ) ,詳細.入出庫数量 )) バラ出荷数量 ,NVL(SURI17701.FUNN0020(NULL, MAX(詳細.入出庫履歴詳細情報_ID), 1),0) バラ計上数量 FROM 仮売上明細 仮売 ,入出庫履歴 入出 ,入出庫履歴詳細情報 詳細 WHERE 仮売.会社コード = 0 AND 仮売.需要先コード = 229 -- AND 詳細.ロットNO = '06C30A' AND 仮売.仮売上完了区分 = 0 AND 仮売.仮売上取消区分 = 0 AND 仮売.仮売上明細_ID = 入出.仮売上明細_ID(+) AND 入出.入出庫伝票識別区分 = 0 AND 入出.入出庫履歴_ID = 詳細.入出庫履歴_ID(+) AND 詳細.入出庫履歴詳細情報_ID IS NOT NULL AND ABS(SJCY0080.FUNN0030( 入出.会社コード ,入出.商品コード ,詳細.入数ランク ,SJCY0080.FUNN0060( 入出.会社コード, 入出.商品コード, 詳細.入数ランク, 入出.入出庫日付 ) ,詳細.入出庫数量 )) - ABS(NVL(SURI17701.FUNN0020(NULL, 詳細.入出庫履歴詳細情報_ID, 1), 0)) > 0 GROUP BY 入出.仮売上明細_ID ,入出.入出庫履歴_ID ,詳細.読取有効期限 ,詳細.有効期限 ,詳細.ロットNO ,詳細.シリアルNO ) ロト ,仮売上明細 仮売 ,仮売上明細関連情報 仮関 ,出荷指示関連情報 出関 ,受注明細 受注 ,メーカマスタ メカ ,得意先マスタ 需マ ,商品マスタ 商品 ,商品拡張情報 商拡 WHERE ロト.仮売上明細_ID = 仮売.仮売上明細_ID(+) AND 仮売.仮売上明細_ID = 仮関.仮売上明細_ID(+) AND 仮関.検索先ID区分(+) = 3 AND 仮関.検索先ID = 出関.出荷指示情報_ID(+) AND 出関.検索先ID区分(+) = 1 AND 出関.検索先ID = 受注.受注明細_ID(+) AND 仮売.会社コード = メカ.会社コード(+) AND 仮売.メーカコード = メカ.メーカコード(+) AND 仮売.会社コード = 需マ.会社コード(+) AND 仮売.需要先コード = 需マ.得意先コード(+) AND 仮売.会社コード = 商品.会社コード(+) AND 仮売.商品コード = 商品.商品コード(+) AND 仮売.会社コード = 商拡.会社コード(+) AND 仮売.商品コード = 商拡.商品コード(+) AND ( 商品.ロット管理必要区分 = 1 -- 0:ロット管理しない 1:ロット管理する OR 商拡.滅菌期限管理区分 = 1 -- 0:滅菌不要 1:要滅菌 OR 商拡.シリアルNO管理区分 = 1 ) -- 0:管理しない 1:管理する UNION ALL --◇ ロット無しデータ抽出 (本来ありえない) SELECT '@sid@' ,1 ,仮売.仮売上伝票番号 ,仮売.仮売上伝票行番号 ,'123' 受注伝票番号 ,仮売.受注区分1 受注形態区分 ,SMST9010.FUNV0010( '受注形態', 仮売.受注区分1 ) 受注形態名 ,仮売.仮売上日付 ,メカ.メーカ名 ,仮売.メーカ品番 ,仮売.基準仮売上数量 仮売上数量 -- ,SMST0510.FUNV0010( 仮売.商品コード -- ,仮売.基準ランク -- ,仮売.会社コード -- ,NULL ) 仮売上単位名 ,NVL(SURI0010.FUNN0020(仮売.仮売上明細_ID), 0) 売上数量 ,SMST0510.FUNV0010( 仮売.商品コード ,仮売.基準ランク ,仮売.会社コード ,NULL ) 単位名 ,仮売.商品名 ,仮売.規格 ,仮売.商品コード ,商拡.JANコード -- ,TO_CHAR(NULL) 読取有効期限 ,TO_CHAR(NULL) ロットNO ,TO_CHAR(NULL) シリアルNO ,TO_DATE(NULL) 有効期限 ,需マ.得意先名 需要先名 ,0 頁番号 ,0 行番号 FROM 仮売上明細 仮売 ,入出庫履歴 入出 ,入出庫履歴詳細情報 詳細 ,仮売上明細関連情報 仮関 ,出荷指示関連情報 出関 ,受注明細 受注 ,メーカマスタ メカ ,得意先マスタ 需マ ,商品マスタ 商品 ,商品拡張情報 商拡 WHERE 仮売.会社コード = 0 AND 仮売.需要先コード = 229 --AND 詳細.ロットNO = '06C30A' AND 仮売.仮売上完了区分 = 0 AND 仮売.仮売上取消区分 = 0 AND 仮売.仮売上明細_ID = 入出.仮売上明細_ID AND 入出.入出庫伝票識別区分 = 0 AND 入出.入出庫履歴_ID = 詳細.入出庫履歴_ID(+) AND 詳細.入出庫履歴詳細情報_ID IS NULL AND 仮売.仮売上明細_ID = 仮関.仮売上明細_ID(+) AND 仮関.検索先ID区分(+) = 3 AND 仮関.検索先ID = 出関.出荷指示情報_ID(+) AND 出関.検索先ID区分(+) = 1 AND 出関.検索先ID = 受注.受注明細_ID(+) AND 仮売.会社コード = メカ.会社コード(+) AND 仮売.メーカコード = メカ.メーカコード(+) AND 仮売.会社コード = 需マ.会社コード(+) AND 仮売.需要先コード = 需マ.得意先コード(+) AND 仮売.会社コード = 商品.会社コード(+) AND 仮売.商品コード = 商品.商品コード(+) AND 仮売.会社コード = 商拡.会社コード(+) AND 仮売.商品コード = 商拡.商品コード(+) AND ( 商品.ロット管理必要区分 = 1 -- 0:ロット管理しない 1:ロット管理する OR 商拡.滅菌期限管理区分 = 1 -- 0:滅菌不要 1:要滅菌 OR 商拡.シリアルNO管理区分 = 1 ) -- 0:管理しない 1:管理する UNION ALL --▽ ロット管理しない商品 --◇ ロット無しデータ抽出 SELECT '@sid@' ,1 ,仮売.仮売上伝票番号 ,仮売.仮売上伝票行番号 ,'123' 受注伝票番号 ,仮売.受注区分1 受注形態区分 ,SMST9010.FUNV0010( '受注形態', 仮売.受注区分1 ) 受注形態名 ,仮売.仮売上日付 ,メカ.メーカ名 ,仮売.メーカ品番 ,仮売.基準仮売上数量 仮売上数量 -- ,SMST0510.FUNV0010( 仮売.商品コード -- ,仮売.基準ランク -- ,仮売.会社コード -- ,NULL ) 仮売上単位名 ,NVL(SURI0010.FUNN0020(仮売.仮売上明細_ID), 0) 売上数量 ,SMST0510.FUNV0010( 仮売.商品コード ,仮売.基準ランク ,仮売.会社コード ,NULL ) 単位名 ,仮売.商品名 ,仮売.規格 ,仮売.商品コード ,商拡.JANコード -- ,TO_CHAR(NULL) 読取有効期限 ,TO_CHAR(NULL) ロットNO ,TO_CHAR(NULL) シリアルNO ,TO_DATE(NULL) 有効期限 ,需マ.得意先名 需要先名 ,0 頁番号 ,0 行番号 FROM 仮売上明細 仮売 ,仮売上明細関連情報 仮関 ,出荷指示関連情報 出関 ,受注明細 受注 ,メーカマスタ メカ ,得意先マスタ 需マ ,商品マスタ 商品 ,商品拡張情報 商拡 WHERE 仮売.会社コード = 0 AND 仮売.需要先コード = 229 --AND 仮売.ロットNO = '06C30A' AND 仮売.仮売上完了区分 = 0 AND 仮売.仮売上取消区分 = 0 AND 仮売.仮売上明細_ID = 仮関.仮売上明細_ID(+) AND 仮関.検索先ID区分(+) = 3 AND 仮関.検索先ID = 出関.出荷指示情報_ID(+) AND 出関.検索先ID区分(+) = 1 AND 出関.検索先ID = 受注.受注明細_ID(+) AND 仮売.会社コード = メカ.会社コード(+) AND 仮売.メーカコード = メカ.メーカコード(+) AND 仮売.会社コード = 需マ.会社コード(+) AND 仮売.需要先コード = 需マ.得意先コード(+) AND 仮売.会社コード = 商品.会社コード(+) AND 仮売.商品コード = 商品.商品コード(+) AND 仮売.会社コード = 商拡.会社コード(+) AND 仮売.商品コード = 商拡.商品コード(+) AND 商品.ロット管理必要区分 = 0 -- 0:ロット管理しない 1:ロット管理する AND 商拡.滅菌期限管理区分 = 0 -- 0:滅菌不要 1:要滅菌 AND 商拡.シリアルNO管理区分 = 0 -- 0:管理しない 1:管理する ORDER BY 1, 2 /