if exists (select * from dbo.sysobjects where id = object_id(N'[dbo].[S0伝票採番取得]') and OBJECTPROPERTY(id, N'IsProcedure') = 1) drop procedure [dbo].[S0伝票採番取得] GO if exists (select * from dbo.sysobjects where id = object_id(N'[dbo].[SK伝票_振替伝票一覧]') and OBJECTPROPERTY(id, N'IsProcedure') = 1) drop procedure [dbo].[SK伝票_振替伝票一覧] GO if exists (select * from dbo.sysobjects where id = object_id(N'[dbo].[SK伝票_振替伝票取得]') and OBJECTPROPERTY(id, N'IsProcedure') = 1) drop procedure [dbo].[SK伝票_振替伝票取得] GO if exists (select * from dbo.sysobjects where id = object_id(N'[dbo].[SK伝票_振替伝票挿入]') and OBJECTPROPERTY(id, N'IsProcedure') = 1) drop procedure [dbo].[SK伝票_振替伝票挿入] GO if exists (select * from dbo.sysobjects where id = object_id(N'[dbo].[SK伝票_振替伝票更新]') and OBJECTPROPERTY(id, N'IsProcedure') = 1) drop procedure [dbo].[SK伝票_振替伝票更新] GO if exists (select * from dbo.sysobjects where id = object_id(N'[dbo].[SK伝票前番号]') and OBJECTPROPERTY(id, N'IsProcedure') = 1) drop procedure [dbo].[SK伝票前番号] GO if exists (select * from dbo.sysobjects where id = object_id(N'[dbo].[SK伝票次番号]') and OBJECTPROPERTY(id, N'IsProcedure') = 1) drop procedure [dbo].[SK伝票次番号] GO if exists (select * from dbo.sysobjects where id = object_id(N'[dbo].[SK自動転記帳簿_合計残高試算表照会]') and OBJECTPROPERTY(id, N'IsProcedure') = 1) drop procedure [dbo].[SK自動転記帳簿_合計残高試算表照会] GO if exists (select * from dbo.sysobjects where id = object_id(N'[dbo].[SK自動転記帳簿_財務諸表]') and OBJECTPROPERTY(id, N'IsProcedure') = 1) drop procedure [dbo].[SK自動転記帳簿_財務諸表] GO if exists (select * from dbo.sysobjects where id = object_id(N'[dbo].[ST名刺デザイン一覧]') and OBJECTPROPERTY(id, N'IsProcedure') = 1) drop procedure [dbo].[ST名刺デザイン一覧] GO if exists (select * from dbo.sysobjects where id = object_id(N'[dbo].[ST名刺データ取得]') and OBJECTPROPERTY(id, N'IsProcedure') = 1) drop procedure [dbo].[ST名刺データ取得] GO if exists (select * from dbo.sysobjects where id = object_id(N'[dbo].[ST名刺データ更新]') and OBJECTPROPERTY(id, N'IsProcedure') = 1) drop procedure [dbo].[ST名刺データ更新] GO if exists (select * from dbo.sysobjects where id = object_id(N'[dbo].[ST証券会員_登録削除]') and OBJECTPROPERTY(id, N'IsProcedure') = 1) drop procedure [dbo].[ST証券会員_登録削除] GO if exists (select * from dbo.sysobjects where id = object_id(N'[dbo].[ST証券売買_銘柄一覧]') and OBJECTPROPERTY(id, N'IsProcedure') = 1) drop procedure [dbo].[ST証券売買_銘柄一覧] GO if exists (select * from dbo.sysobjects where id = object_id(N'[dbo].[SV勘定科目取得]') and OBJECTPROPERTY(id, N'IsProcedure') = 1) drop procedure [dbo].[SV勘定科目取得] GO if exists (select * from dbo.sysobjects where id = object_id(N'[dbo].[SV摘要一覧]') and OBJECTPROPERTY(id, N'IsProcedure') = 1) drop procedure [dbo].[SV摘要一覧] GO if exists (select * from dbo.sysobjects where id = object_id(N'[dbo].[SX取引明細登録]') and OBJECTPROPERTY(id, N'IsProcedure') = 1) drop procedure [dbo].[SX取引明細登録] GO if exists (select * from dbo.sysobjects where id = object_id(N'[dbo].[SX学生情報取得]') and OBJECTPROPERTY(id, N'IsProcedure') = 1) drop procedure [dbo].[SX学生情報取得] GO SET QUOTED_IDENTIFIER OFF GO SET ANSI_NULLS OFF GO CREATE PROCEDURE dbo.S0伝票採番取得 @演習CD varchar(12) , @会社CD varchar(20) , @取引日 datetime, @伝票区分 varchar(12) AS declare @番号 int declare @伝票番号 varchar(12) begin transaction if exists( (SELECT MAX(伝票番号) AS 伝票番号の最大 FROM TK伝票F WHERE YEAR(取引日) = YEAR(@取引日) AND MONTH(取引日) = MONTH(@取引日) AND (演習CD = @演習CD) AND (会社CD = @会社CD) GROUP BY 会社CD, 演習CD)) begin select @番号 = (SELECT MAX(伝票番号) AS 伝票番号の最大 FROM TK伝票F WHERE YEAR(取引日) = YEAR(@取引日) AND MONTH(取引日) = MONTH(@取引日) AND (演習CD = @演習CD) AND (会社CD = @会社CD) GROUP BY 会社CD, 演習CD) select @番号 = @番号 + 1 end else begin /* 採番ファイルが存在しない場合 */ select @番号 = (YEAR(@取引日)-2000) * 100000 + MONTH(@取引日) * 1000 + 1 end commit transaction select @伝票番号 = REPLACE(STR(@番号, 7), ' ','0') select @伝票番号 return @伝票番号 GO SET QUOTED_IDENTIFIER OFF GO SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER OFF GO SET ANSI_NULLS OFF GO CREATE PROCEDURE dbo.SK伝票_振替伝票一覧 @演習CD varchar(12), @会社CD varchar(20) AS SELECT MIN(TK伝票F.取引日) AS 取引日の先頭, TK伝票F.伝票番号, MIN(TK伝票F.伝票区分) AS 伝票区分の先頭, MIN(TK伝票F.伝票摘要) AS 伝票摘要の先頭, SUM(TK伝票明細F.借方金額) AS 借方金額の合計, SUM(TK伝票明細F.貸方金額) AS 貸方金額の合計, TK伝票F.削除フラグ FROM TK伝票F INNER JOIN TK伝票明細F ON TK伝票F.伝票番号 = TK伝票明細F.伝票番号 AND TK伝票F.会社CD = TK伝票明細F.会社CD AND TK伝票F.伝票区分 = TK伝票明細F.伝票区分 AND TK伝票F.演習CD = TK伝票明細F.演習CD WHERE (TK伝票F.演習CD = @演習CD) AND (TK伝票F.会社CD = @会社CD) AND (TK伝票F.伝票区分 = 5) AND (TK伝票F.伝票処理区分 = 1) GROUP BY TK伝票F.伝票番号, TK伝票F.伝票処理区分, TK伝票F.伝票区分, TK伝票F.削除フラグ ORDER BY MIN(TK伝票F.取引日), TK伝票F.伝票番号 GO SET QUOTED_IDENTIFIER OFF GO SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER OFF GO SET ANSI_NULLS OFF GO CREATE PROCEDURE dbo.SK伝票_振替伝票取得 @演習CD varchar(12), @会社CD varchar(20), @伝票番号 varchar(40) AS SELECT TK伝票F.*, TK伝票明細F.伝票SEQ, TK伝票明細F.勘定CD, TK伝票明細F.借方金額, TK伝票明細F.貸方金額, TK伝票明細F.会社CD, TK伝票明細F.摘要CD, TK伝票明細F.摘要, TS学生M.氏名 FROM TK伝票F INNER JOIN TK伝票明細F ON TK伝票F.伝票番号 = TK伝票明細F.伝票番号 AND TK伝票F.会社CD = TK伝票明細F.会社CD AND TK伝票F.伝票区分 = TK伝票明細F.伝票区分 AND TK伝票F.演習CD = TK伝票明細F.演習CD LEFT OUTER JOIN TS学生M ON TK伝票F.学生番号 = TS学生M.学生番号 WHERE TK伝票F.演習CD = @演習CD AND TK伝票F.会社CD = @会社CD AND TK伝票明細F.伝票区分 = 5 AND TK伝票明細F.伝票番号 = @伝票番号 GO SET QUOTED_IDENTIFIER OFF GO SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER OFF GO SET ANSI_NULLS OFF GO CREATE PROCEDURE dbo.SK伝票_振替伝票挿入 @伝票番号 varchar(12) , @取引日 datetime , @伝票摘要 varchar(40) , @伝票区分 smallint ,@伝票処理区分 smallint , @演習CD varchar(12) , @会社CD varchar(20) ,@学生番号 varchar(12) /* 伝票明細 */ ,@LNO1 smallint ,@勘定CD1 varchar(4) , @借方金額1 money , @貸方金額1 money ,@貸借区分1 varchar(1) ,@摘要CD1 varchar(20) ,@摘要1 varchar(30) , @相手AC1 varchar(4) ,@LNO2 smallint ,@勘定CD2 varchar(4) , @借方金額2 money , @貸方金額2 money ,@貸借区分2 varchar(1) ,@摘要CD2 varchar(20) ,@摘要2 varchar(30) , @相手AC2 varchar(4) ,@LNO3 smallint ,@勘定CD3 varchar(4) , @借方金額3 money , @貸方金額3 money ,@貸借区分3 varchar(1) ,@摘要CD3 varchar(20) ,@摘要3 varchar(30) , @相手AC3 varchar(4) ,@LNO4 smallint ,@勘定CD4 varchar(4) , @借方金額4 money , @貸方金額4 money ,@貸借区分4 varchar(1) ,@摘要CD4 varchar(20) ,@摘要4 varchar(30) , @相手AC4 varchar(4) ,@LNO5 smallint ,@勘定CD5 varchar(4) , @借方金額5 money , @貸方金額5 money ,@貸借区分5 varchar(1) ,@摘要CD5 varchar(20) ,@摘要5 varchar(30) , @相手AC5 varchar(4) ,@LNO6 smallint ,@勘定CD6 varchar(4) , @借方金額6 money , @貸方金額6 money ,@貸借区分6 varchar(1) ,@摘要CD6 varchar(20) ,@摘要6 varchar(30) , @相手AC6 varchar(4) ,@LNO7 smallint ,@勘定CD7 varchar(4) , @借方金額7 money , @貸方金額7 money ,@貸借区分7 varchar(1) ,@摘要CD7 varchar(20) ,@摘要7 varchar(30) , @相手AC7 varchar(4) ,@LNO8 smallint ,@勘定CD8 varchar(4) , @借方金額8 money , @貸方金額8 money ,@貸借区分8 varchar(1) ,@摘要CD8 varchar(20) ,@摘要8 varchar(30) , @相手AC8 varchar(4) ,@LNO9 smallint ,@勘定CD9 varchar(4) , @借方金額9 money , @貸方金額9 money ,@貸借区分9 varchar(1) ,@摘要CD9 varchar(20) ,@摘要9 varchar(30) , @相手AC9 varchar(4) ,@LNO10 smallint ,@勘定CD10 varchar(4) , @借方金額10 money , @貸方金額10 money ,@貸借区分10 varchar(1) ,@摘要CD10 varchar(20) ,@摘要10 varchar(30) , @相手AC10 varchar(4) AS declare @番号 varchar(12) begin transaction /* 伝票番号採番 */ execute @番号 = S0伝票採番取得 @演習CD, @会社CD, @取引日, @伝票区分 if @@error <> 0 begin rollback transaction select -1 return end select @伝票番号 = REPLACE(STR(@番号, 7), ' ','0') /* 伝票F登録 */ insert TK伝票F ( 演習CD , 会社CD , 伝票番号 , 伝票区分 , 伝票処理区分 , 取引日 , 伝票摘要 , 作成日 ,学生番号) values ( @演習CD , @会社CD , @伝票番号 , @伝票区分 , @伝票処理区分 , @取引日 , @伝票摘要 , getdate() , @学生番号) if @@error <> 0 begin rollback transaction select -1 return end /* 伝票明細F追加 */ if @勘定CD1 is not null begin insert TK伝票明細F ( 演習CD ,会社CD , 伝票番号, 伝票区分 , 伝票SEQ , 勘定CD , 借方金額 ,貸方金額 ,貸借区分 ,相手勘定 , 摘要CD , 摘要 ) values ( @演習CD , @会社CD , @伝票番号, @伝票区分, @LNO1 , @勘定CD1 , @借方金額1 ,@貸方金額1 ,@貸借区分1 ,@相手AC1 , @摘要CD1 , @摘要1 ) if @@error <> 0 begin rollback transaction select -1 return end end if @勘定CD2 is not null begin insert TK伝票明細F ( 演習CD ,会社CD , 伝票番号, 伝票区分 , 伝票SEQ , 勘定CD , 借方金額 ,貸方金額 ,貸借区分 ,相手勘定 , 摘要CD , 摘要 ) values ( @演習CD , @会社CD , @伝票番号, @伝票区分, @LNO2 , @勘定CD2 , @借方金額2 ,@貸方金額2 ,@貸借区分2 ,@相手AC2 , @摘要CD2 , @摘要2 ) if @@error <> 0 begin rollback transaction select -1 return end end if @勘定CD3 is not null begin insert TK伝票明細F ( 演習CD ,会社CD , 伝票番号, 伝票区分 , 伝票SEQ , 勘定CD , 借方金額 ,貸方金額 ,貸借区分 ,相手勘定 , 摘要CD , 摘要 ) values ( @演習CD , @会社CD , @伝票番号, @伝票区分, @LNO3 , @勘定CD3 , @借方金額3 ,@貸方金額3 ,@貸借区分3 ,@相手AC3 , @摘要CD3 , @摘要3 ) if @@error <> 0 begin rollback transaction select -1 return end end if @勘定CD4 is not null begin insert TK伝票明細F ( 演習CD ,会社CD , 伝票番号, 伝票区分 , 伝票SEQ , 勘定CD , 借方金額 ,貸方金額 ,貸借区分 ,相手勘定 , 摘要CD , 摘要 ) values ( @演習CD , @会社CD , @伝票番号, @伝票区分, @LNO4 , @勘定CD4 , @借方金額4 ,@貸方金額4 ,@貸借区分4 ,@相手AC4 , @摘要CD4 , @摘要4 ) if @@error <> 0 begin rollback transaction select -1 return end end if @勘定CD5 is not null begin insert TK伝票明細F ( 演習CD ,会社CD , 伝票番号, 伝票区分 , 伝票SEQ , 勘定CD , 借方金額 ,貸方金額 ,貸借区分 ,相手勘定 , 摘要CD , 摘要 ) values ( @演習CD , @会社CD , @伝票番号, @伝票区分, @LNO5 , @勘定CD5 , @借方金額5 ,@貸方金額5 ,@貸借区分5 ,@相手AC5 , @摘要CD5 , @摘要5 ) if @@error <> 0 begin rollback transaction select -1 return end end if @勘定CD6 is not null begin insert TK伝票明細F ( 演習CD ,会社CD , 伝票番号, 伝票区分 , 伝票SEQ , 勘定CD , 借方金額 ,貸方金額 ,貸借区分 ,相手勘定 , 摘要CD , 摘要 ) values ( @演習CD , @会社CD , @伝票番号, @伝票区分, @LNO6 , @勘定CD6 , @借方金額6 ,@貸方金額6 ,@貸借区分6 ,@相手AC6 , @摘要CD6 , @摘要6 ) if @@error <> 0 begin rollback transaction select -1 return end end if @勘定CD7 is not null begin insert TK伝票明細F ( 演習CD ,会社CD , 伝票番号, 伝票区分 , 伝票SEQ , 勘定CD , 借方金額 ,貸方金額 ,貸借区分 ,相手勘定 , 摘要CD , 摘要 ) values ( @演習CD , @会社CD , @伝票番号, @伝票区分, @LNO7 , @勘定CD7 , @借方金額7 ,@貸方金額7 ,@貸借区分7 ,@相手AC7 , @摘要CD7 , @摘要7 ) if @@error <> 0 begin rollback transaction select -1 return end end if @勘定CD8 is not null begin insert TK伝票明細F ( 演習CD ,会社CD , 伝票番号, 伝票区分 , 伝票SEQ , 勘定CD , 借方金額 ,貸方金額 ,貸借区分 ,相手勘定 , 摘要CD , 摘要 ) values ( @演習CD , @会社CD , @伝票番号, @伝票区分, @LNO8 , @勘定CD8 , @借方金額8 ,@貸方金額8 ,@貸借区分8 ,@相手AC8 , @摘要CD8 , @摘要8 ) if @@error <> 0 begin rollback transaction select -1 return end end if @勘定CD9 is not null begin insert TK伝票明細F ( 演習CD ,会社CD , 伝票番号, 伝票区分 , 伝票SEQ , 勘定CD , 借方金額 ,貸方金額 ,貸借区分 ,相手勘定 , 摘要CD , 摘要 ) values ( @演習CD , @会社CD , @伝票番号, @伝票区分, @LNO9 , @勘定CD9 , @借方金額9 ,@貸方金額9 ,@貸借区分9 ,@相手AC9 , @摘要CD9 , @摘要9 ) if @@error <> 0 begin rollback transaction select -1 return end end if @勘定CD10 is not null begin insert TK伝票明細F ( 演習CD ,会社CD , 伝票番号, 伝票区分 , 伝票SEQ , 勘定CD , 借方金額 ,貸方金額 ,貸借区分 ,相手勘定 , 摘要CD , 摘要 ) values ( @演習CD , @会社CD , @伝票番号, @伝票区分, @LNO10 , @勘定CD10 , @借方金額10 ,@貸方金額10 ,@貸借区分10 ,@相手AC10 , @摘要CD10 , @摘要10 ) if @@error <> 0 begin rollback transaction select -1 return end end commit transaction GO SET QUOTED_IDENTIFIER OFF GO SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER OFF GO SET ANSI_NULLS OFF GO CREATE PROCEDURE dbo.SK伝票_振替伝票更新 @伝票番号 varchar(12) , @取引日 datetime, @伝票摘要 varchar(40) , @伝票区分 int , @伝票処理区分 smallint , @演習CD varchar(12) , @会社CD varchar(20) , @学生番号 varchar(12) , @LNO1 smallint , @勘定CD1 varchar(4), @借方金額1 money , @貸方金額1 money , @貸借区分1 varchar(1), @摘要CD1 varchar(20), @摘要1 varchar(30) , @相手AC1 varchar(4) , @LNO2 smallint , @勘定CD2 varchar(4), @借方金額2 money , @貸方金額2 money , @貸借区分2 varchar(1), @摘要CD2 varchar(20), @摘要2 varchar(30) , @相手AC2 varchar(4) , @LNO3 smallint , @勘定CD3 varchar(4), @借方金額3 money , @貸方金額3 money , @貸借区分3 varchar(1), @摘要CD3 varchar(20) , @摘要3 varchar(30) , @相手AC3 varchar(4) , @LNO4 smallint , @勘定CD4 varchar(4), @借方金額4 money , @貸方金額4 money , @貸借区分4 varchar(1), @摘要CD4 varchar(20) , @摘要4 varchar(30) , @相手AC4 varchar(4) , @LNO5 smallint , @勘定CD5 varchar(4), @借方金額5 money , @貸方金額5 money , @貸借区分5 varchar(1), @摘要CD5 varchar(20) , @摘要5 varchar(30) , @相手AC5 varchar(4) , @LNO6 smallint , @勘定CD6 varchar(4), @借方金額6 money , @貸方金額6 money , @貸借区分6 varchar(1), @摘要CD6 varchar(20) , @摘要6 varchar(30) , @相手AC6 varchar(4) , @LNO7 smallint , @勘定CD7 varchar(4), @借方金額7 money , @貸方金額7 money , @貸借区分7 varchar(1), @摘要CD7 varchar(20) , @摘要7 varchar(30) , @相手AC7 varchar(4) , @LNO8 smallint , @勘定CD8 varchar(4), @借方金額8 money , @貸方金額8 money , @貸借区分8 varchar(1), @摘要CD8 varchar(20) , @摘要8 varchar(30) , @相手AC8 varchar(4) , @LNO9 smallint , @勘定CD9 varchar(4), @借方金額9 money , @貸方金額9 money , @貸借区分9 varchar(1), @摘要CD9 varchar(20) , @摘要9 varchar(30) , @相手AC9 varchar(4) , @LNO10 smallint , @勘定CD10 varchar(4), @借方金額10 money , @貸方金額10 money , @貸借区分10 varchar(1), @摘要CD10 varchar(20) , @摘要10 varchar(30) , @相手AC10 varchar(4) AS declare @番号 varchar(12) begin transaction set @伝票番号 = REPLACE(STR( @伝票番号, 7), ' ','0') delete from TK伝票F WHERE 演習CD = @演習CD AND 会社CD = @会社CD AND 伝票区分 = 5 AND 伝票番号 = @伝票番号 delete from TK伝票明細F WHERE 演習CD = @演習CD AND 会社CD = @会社CD AND 伝票区分 = 5 AND 伝票番号 = @伝票番号 execute @伝票番号 = SK伝票_振替伝票挿入 '', @取引日, @伝票摘要, @伝票区分, @伝票処理区分, @演習CD, @会社CD, @学生番号 , @LNO1, @勘定CD1, @借方金額1, @貸方金額1, @貸借区分1, @摘要CD1, @摘要1, @相手AC1 , @LNO2, @勘定CD2, @借方金額2, @貸方金額2, @貸借区分2, @摘要CD2, @摘要2, @相手AC2 , @LNO3, @勘定CD3, @借方金額3, @貸方金額3, @貸借区分3, @摘要CD3, @摘要3, @相手AC3 , @LNO4, @勘定CD4, @借方金額4, @貸方金額4, @貸借区分4, @摘要CD4, @摘要4, @相手AC4 , @LNO5, @勘定CD5, @借方金額5, @貸方金額5, @貸借区分5, @摘要CD5, @摘要5, @相手AC5 , @LNO6, @勘定CD6, @借方金額6, @貸方金額6, @貸借区分6, @摘要CD6, @摘要6, @相手AC6 , @LNO7, @勘定CD7, @借方金額7, @貸方金額7, @貸借区分7, @摘要CD7, @摘要7, @相手AC7 , @LNO8, @勘定CD8, @借方金額8, @貸方金額8, @貸借区分8, @摘要CD8, @摘要8, @相手AC8 , @LNO9, @勘定CD9, @借方金額9, @貸方金額9, @貸借区分9, @摘要CD9, @摘要9, @相手AC9 , @LNO10, @勘定CD10, @借方金額10, @貸方金額10, @貸借区分10, @摘要CD10, @摘要10, @相手AC10 commit transaction GO SET QUOTED_IDENTIFIER OFF GO SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER ON GO SET ANSI_NULLS OFF GO CREATE PROCEDURE dbo.SK伝票前番号 @演習CD varchar(12), @会社CD varchar(20), @伝票区分 varchar(40), @取引日 datetime, @伝票番号 varchar(40) AS SELECT TOP 1 TK伝票F.伝票番号 FROM TK伝票F WHERE TK伝票F.演習CD = @演習CD AND TK伝票F.会社CD = @会社CD AND TK伝票F.伝票区分 = @伝票区分 AND TK伝票F.伝票処理区分 = 1 AND ( (取引日 = @取引日 AND 伝票番号 < @伝票番号) OR (取引日 < @取引日) ) AND 削除フラグ = 0 ORDER BY TK伝票F.取引日 DESC, TK伝票F.伝票番号 DESC GO SET QUOTED_IDENTIFIER OFF GO SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER ON GO SET ANSI_NULLS OFF GO CREATE PROCEDURE dbo.SK伝票次番号 @演習CD varchar(12), @会社CD varchar(20), @伝票区分 varchar(40), @取引日 datetime, @伝票番号 varchar(40) AS SELECT TOP 1 TK伝票F.伝票番号 FROM TK伝票F WHERE TK伝票F.演習CD = @演習CD AND TK伝票F.会社CD = @会社CD AND TK伝票F.伝票区分 = @伝票区分 AND TK伝票F.伝票処理区分 = 1 AND ( (取引日 = @取引日 AND 伝票番号 > @伝票番号) OR (取引日 > @取引日) ) AND 削除フラグ = 0 ORDER BY TK伝票F.取引日, TK伝票F.伝票番号 GO SET QUOTED_IDENTIFIER OFF GO SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER ON GO SET ANSI_NULLS OFF GO CREATE PROCEDURE dbo.SK自動転記帳簿_合計残高試算表照会 @演習CD varchar(12), @会社CD varchar(20), @開始日 datetime, @終了日 datetime AS SELECT TK伝票明細F.演習CD, TK伝票明細F.会社CD, TK伝票明細F.勘定CD, MIN(TS勘定科目M.勘定名称) AS 勘定名称, MIN(TS勘定科目M.貸借区分) AS 貸借区分, SUM(TK伝票明細F.借方金額) AS 借方金額, SUM(TK伝票明細F.貸方金額) AS 貸方金額, CASE WHEN ISNULL(SUM(TK伝票明細F.借方金額), 0) - ISNULL(SUM(TK伝票明細F.貸方金額), 0) > 0 THEN ISNULL(SUM(TK伝票明細F.借方金額), 0) - ISNULL(SUM(TK伝票明細F.貸方金額), 0) ELSE 0 END AS 借方残高, CASE WHEN ISNULL(SUM(TK伝票明細F.貸方金額), 0) - ISNULL(SUM(TK伝票明細F.借方金額), 0) > 0 THEN ISNULL(SUM(TK伝票明細F.貸方金額), 0) - ISNULL(SUM(TK伝票明細F.借方金額), 0) ELSE 0 END AS 貸方残高 FROM TK伝票F INNER JOIN TK伝票明細F ON TK伝票F.演習CD = TK伝票明細F.演習CD AND TK伝票F.会社CD = TK伝票明細F.会社CD AND TK伝票F.伝票区分 = TK伝票明細F.伝票区分 AND TK伝票F.伝票番号 = TK伝票明細F.伝票番号 INNER JOIN TS勘定科目M ON TK伝票明細F.勘定CD = TS勘定科目M.勘定CD WHERE TK伝票F.削除フラグ = 0 and TK伝票F.演習CD = @演習CD and TK伝票F.会社CD = @会社CD GROUP BY TK伝票明細F.演習CD, TK伝票明細F.会社CD, TK伝票明細F.勘定CD ORDER BY TK伝票明細F.勘定CD GO SET QUOTED_IDENTIFIER OFF GO SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER ON GO SET ANSI_NULLS OFF GO CREATE PROCEDURE dbo.SK自動転記帳簿_財務諸表 @演習CD varchar(12), @会社CD varchar(20), @開始日 datetime, @終了日 datetime ,@勘定区分 varchar(1) AS SELECT TK伝票明細F.演習CD, TK伝票明細F.会社CD, TK伝票明細F.勘定CD, MIN(TS勘定科目M.勘定区分) AS 勘定区分, MIN(TS勘定科目M.勘定細目) AS 勘定細目, MIN(TS勘定科目M.勘定名称) AS 勘定名称, MIN(TS勘定科目M.貸借区分) AS 貸借区分, MIN(TS勘定科目M.諸表集計CD) AS 諸表集計CD, CASE WHEN MIN(TS勘定科目M.貸借区分) = 'D' THEN ISNULL(SUM(TK伝票明細F.借方金額),0) - ISNULL(SUM(TK伝票明細F.貸方金額),0) ELSE 0 END AS 借方金額, CASE WHEN MIN(TS勘定科目M.貸借区分) = 'C' THEN ISNULL(SUM(TK伝票明細F.貸方金額),0) - ISNULL(SUM(TK伝票明細F.借方金額),0) ELSE 0 END AS 貸方金額 FROM TK伝票F INNER JOIN TK伝票明細F ON TK伝票F.伝票番号 = TK伝票明細F.伝票番号 AND TK伝票F.伝票区分 = TK伝票明細F.伝票区分 AND TK伝票F.会社CD = TK伝票明細F.会社CD AND TK伝票F.演習CD = TK伝票明細F.演習CD INNER JOIN TS勘定科目M ON TK伝票明細F.勘定CD = TS勘定科目M.勘定CD WHERE TK伝票F.削除フラグ = 0 AND TK伝票F.演習CD = @演習CD AND TK伝票F.会社CD = @会社CD AND TS勘定科目M.勘定区分 = @勘定区分 GROUP BY TK伝票明細F.演習CD, TK伝票明細F.会社CD, TK伝票明細F.勘定CD, TS勘定科目M.勘定区分, TS勘定科目M.勘定細目, TS勘定科目M.勘定名称, TS勘定科目M.貸借区分, TS勘定科目M.諸表集計CD GO SET QUOTED_IDENTIFIER OFF GO SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER OFF GO SET ANSI_NULLS OFF GO CREATE PROCEDURE dbo.ST名刺デザイン一覧 @縦横区分 varchar(2) AS begin transaction SELECT 名刺デザインCD, デザイン FROM TM名刺デザインM WHERE (縦横区分 = @縦横区分) commit transaction GO SET QUOTED_IDENTIFIER OFF GO SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER OFF GO SET ANSI_NULLS OFF GO CREATE PROCEDURE dbo.ST名刺データ取得 @演習CD varchar(12), @会社CD varchar(20), @学生番号 varchar(20), @名刺デザインCD varchar(12) AS begin transaction SELECT *, 予備あ As 役職, 予備い As FAX FROM TM名刺データF WHERE (演習CD = @演習CD) AND (会社CD = @会社CD) AND (学生番号 = @学生番号) AND (名刺デザインCD = @名刺デザインCD) commit transaction GO SET QUOTED_IDENTIFIER OFF GO SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER OFF GO SET ANSI_NULLS OFF GO CREATE PROCEDURE dbo.ST名刺データ更新 @演習CD varchar(12), @会社CD varchar(20), @学生番号 varchar(20), @名刺デザインCD varchar(12), @会社名称 varchar(50), @肩書 varchar(50), @役職 varchar(50), @氏名 varchar(50), @郵便番号 varchar(50), @住所1 varchar(50), @住所2 varchar(50), @電話番号 varchar(50), @FAX varchar(50), @メールアドレス varchar(50), @画像ファイル varchar(250) AS begin transaction if not(exists(SELECT * FROM TM名刺データF WHERE 演習CD = @演習CD AND 会社CD = @会社CD AND 学生番号 = @学生番号)) begin INSERT TM名刺データF (演習CD, 会社CD, 学生番号, 名刺デザインCD) VALUES (@演習CD, @会社CD, @学生番号, @名刺デザインCD) end UPDATE TM名刺データF SET 会社名称 = @会社名称, 肩書 = @肩書, 氏名 = @氏名, 郵便番号 = @郵便番号, 住所1 = @住所1, 住所2 = @住所2, 電話番号 = @電話番号, メールアドレス = @メールアドレス, 画像ファイル = @画像ファイル, 予備あ = @役職, 予備い = @FAX WHERE (演習CD = @演習CD) AND (会社CD = @会社CD) AND (学生番号 = @学生番号) AND (名刺デザインCD = @名刺デザインCD) commit transaction GO SET QUOTED_IDENTIFIER OFF GO SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER OFF GO SET ANSI_NULLS OFF GO CREATE PROCEDURE dbo.ST証券会員_登録削除 /* 処理区分 0:登録 1:削除 */ @処理区分 smallint /* 取引作成者区分 A:代金の支払い側  B:代金の受取側 */ ,@TradeKbn varchar(1) /* ctpTradeTran */ ,@PracticeCode varchar(8),@APrivateCode varchar(12) ,@ACompanyCode varchar(12),@ATenantCode varchar(12),@ALoginId varchar(12) ,@ActNo int ,@TradeCode varchar(4), @OrderNo int, @OrderSeq smallint ,@BPrivateCode varchar(12), @BCompanyCode varchar(12), @BTenantCode varchar(12) ,@ItemType varchar(1) ,@ItemCode varchar(4) ,@ItemName varchar(40) ,@ItemImage varchar(100) ,@PaymentTerm smallint,@ProcessStatus varchar(1) ,@BusinessDateA datetime ,@BusinessDateB datetime ,@BusinessDateE datetime ,@BusinessDateT datetime ,@TransportFlag int ,@SellsDiscFlag int ,@COfficeAssetsFlag int ,@Qty int,@StandardPrice money,@MakesPrice money,@StockPrice money,@SellsPrice money ,@TransportPrice money,@ConsumptionTax money ,@CCreditRate real ,@MakesAmnt money ,@StockAmnt money ,@SellsAmnt money ,@TaxAmnt money ,@TransportAmnt money ,@TransportTax money ,@CreditAmnt money ,@AAmnt money,@BAmnt money ,@RemarksA varchar(250) ,@RemarksB varchar(250) ,@RemarksE varchar(250) ,@AddDate datetime,@UpdDate datetime,@AddProc varchar(20), @UpdProc varchar(20) /* cttTradeMemberM */ ,@AccountNo varchar(12),@UserType smallint ,@MemberCode varchar(20),@MemberName varchar(40),@Sign varchar(20) /* cteMailTran */ ,@SPrivateCode varchar(12) ,@SCompanyCode varchar(12) ,@STenantCode varchar(12) ,@TPrivateCode varchar(12),@TCompanyCode varchar(12) ,@Title varchar(40), @Message varchar(7000) ,@ReadFlag smallint ,@SndDelFlag smallint , @RecDelFlag smallint AS declare @MaxNo int , @MailNo int ,@status int begin transaction /* 会員マスター登録削除 */ if @処理区分 = 0 /* cttTradeMemberM 登録 */ begin Insert into cttTradeMemberM (PracticeCode,AccountNo,UserType,MemberCode,MemberName,[Sign],AddDate,UpdDate,AddProc,UpdProc) Values (@PracticeCode , @AccountNo , @UserType , @MemberCode , @MemberName , @Sign ,@AddDate , @UpdDate , @AddProc , @UpdProc ) end else /* cttTradeMemberM 削除 */ begin DELETE FROM cttTradeMemberM WHERE PracticeCode = @PracticeCode AND UserType = @UserType AND AccountNo = @AccountNo end if @@error <> 0 begin rollback transaction select -1 return end /* 取引明細登録 : ST証券取引明細登録をCALL */ exec @status = SX取引明細登録 @TradeKbn ,@PracticeCode ,@APrivateCode ,@ACompanyCode,@ATenantCode,@ALoginId ,@ActNo ,@TradeCode , @OrderNo , @OrderSeq ,@BPrivateCode , @BCompanyCode , @BTenantCode ,@ItemType ,@ItemCode ,@ItemName ,@ItemImage ,@PaymentTerm ,@ProcessStatus ,@BusinessDateA ,@BusinessDateB ,@BusinessDateE ,@BusinessDateT ,@TransportFlag ,@SellsDiscFlag ,@COfficeAssetsFlag ,@Qty ,@StandardPrice ,@MakesPrice ,@StockPrice ,@SellsPrice ,@TransportPrice ,@ConsumptionTax ,@CCreditRate ,@MakesAmnt ,@StockAmnt ,@SellsAmnt ,@TaxAmnt ,@TransportAmnt ,@TransportTax ,@CreditAmnt ,@AAmnt ,@BAmnt ,@RemarksA ,@RemarksB ,@RemarksE ,@AddDate ,@UpdDate ,@AddProc , @UpdProc /* 自身のエラー*/ if @@error <> 0 begin rollback transaction select -1 return end /* CALLによるエラー */ if @status = -1 begin rollback transaction select -1 return end /* 採番されたACTNOを設定 */ SET @ActNo = @status /* メール送信 */ /* メール送信-1 メールNO 採番 */ SELECT @MailNo = (SELECT Max(MailNo) FROM cteMailTrn WHERE PracticeCode = @PracticeCode) SELECT @MailNo = isnull(@MailNo,0) + 1 if @@error <> 0 begin rollback transaction select -1 return end /* メール送信-2 cteMailTrn 作成 */ Insert into cteMailTrn (PracticeCode,MailNo,SPrivateCode,SCompanyCode,STenantCode,TPrivateCode,TCompanyCode ,ALoginId,ActNo,Title,Message,ReadFlag,SndDelFlag,RecDelFlag ,AddDate,UpdDate,AddProc,UpdProc) Values (@PracticeCode,@MailNo,@SPrivateCode,@SCompanyCode,@STenantCode,@TPrivateCode,@TCompanyCode ,@ALoginId,@ActNo,@Title,@Message,@ReadFlag,@SndDelFlag,@RecDelFlag ,@AddDate,@UpdDate,@AddProc,@UpdProc) if @@error <> 0 begin rollback transaction select -1 return end commit transaction SELECT 0 GO SET QUOTED_IDENTIFIER OFF GO SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER OFF GO SET ANSI_NULLS OFF GO CREATE PROCEDURE dbo.ST証券売買_銘柄一覧 @PracticeCode varchar(8) ,@LoginId varchar(12) ,@PrivateCode varchar(12) ,@CompanyCode varchar(12) ,@NowDate datetime AS CREATE TABLE #TMP_証券明細F ( [StockCode] varchar(4), [個人持株] int , [法人持株] int ) CREATE TABLE #TMP_証券集計F ( [StockCode] varchar(4), [個人持株] int , [法人持株] int ) /* 個人持株 (購入) */ INSERT INTO #TMP_証券明細F (StockCode, 個人持株, 法人持株) SELECT ItemCode,ctpTradeTrn.Qty,0 FROM ctpTradeTrn WHERE (ctpTradeTrn.PracticeCode = @PracticeCode ) AND (ctpTradeTrn.ItemType = 'T') AND (ctpTradeTrn.BPrivateCode = @LoginId ) AND (ctpTradeTrn.BCompanyCode = '' ) AND (ctpTradeTrn.BTenantCode = '') AND (ctpTradeTrn.BusinessDateB Is not Null) AND (ctpTradeTrn.BusinessDateB <= @NowDate ) /* 個人持株 (売却) */ INSERT INTO #TMP_証券明細F (StockCode, 個人持株, 法人持株) SELECT ItemCode,-(ctpTradeTrn.Qty),0 FROM ctpTradeTrn WHERE (ctpTradeTrn.PracticeCode = @PracticeCode ) AND (ctpTradeTrn.ItemType = 'T') AND (ctpTradeTrn.APrivateCode = @LoginId ) AND (ctpTradeTrn.ACompanyCode = '' ) AND (ctpTradeTrn.ATenantCode = '') AND (ctpTradeTrn.BusinessDateB Is not Null) AND (ctpTradeTrn.BusinessDateB <= @NowDate ) /* 法人持株 (購入) */ INSERT INTO #TMP_証券明細F (StockCode, 個人持株, 法人持株) SELECT ItemCode,0,ctpTradeTrn.Qty FROM ctpTradeTrn WHERE (ctpTradeTrn.PracticeCode = @PracticeCode ) AND (ctpTradeTrn.ItemType = 'T') AND (ctpTradeTrn.BPrivateCode = @PrivateCode ) AND (ctpTradeTrn.BCompanyCode = @CompanyCode ) AND (ctpTradeTrn.BTenantCode = '') AND (ctpTradeTrn.BusinessDateB Is not Null) AND (ctpTradeTrn.BusinessDateB <= @NowDate ) /* 法人持株 (売却) */ INSERT INTO #TMP_証券明細F (StockCode, 個人持株, 法人持株) SELECT ItemCode,0,-(ctpTradeTrn.Qty) FROM ctpTradeTrn WHERE (ctpTradeTrn.PracticeCode = @PracticeCode ) AND (ctpTradeTrn.ItemType = 'T') AND (ctpTradeTrn.APrivateCode = @PrivateCode ) AND (ctpTradeTrn.ACompanyCode = @CompanyCode ) AND (ctpTradeTrn.ATenantCode = '') AND (ctpTradeTrn.BusinessDateB Is not Null) AND (ctpTradeTrn.BusinessDateB <= @NowDate ) /* 証券明細データ集計 */ INSERT INTO #TMP_証券集計F (StockCode, 個人持株, 法人持株) SELECT StockCode,Sum(個人持株),Sum(法人持株) FROM #TMP_証券明細F GROUP BY StockCode ORDER BY StockCode /* 一覧データ抽出 */ SELECT cttStockM.*, IsNull(個人持株,0) as 個人持株,IsNull(法人持株,0) as 法人持株 FROM cttStockM LEFT OUTER JOIN #TMP_証券集計F ON cttStockM.StockCode = #TMP_証券集計F.StockCode WHERE (cttStockM.PracticeCode = @PracticeCode ) ORDER BY cttStockM.StockCode GO SET QUOTED_IDENTIFIER OFF GO SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER OFF GO SET ANSI_NULLS OFF GO CREATE PROCEDURE dbo.SV勘定科目取得 @勘定細目 varchar(40), @業種区分 varchar(40), @演習CD varchar(12) AS SELECT @演習CD = "SYSORIGN" If @勘定細目 = '' begin SELECT 勘定CD , 勘定名称, 勘定細目, 勘定区分 FROM TS勘定科目M WHERE (業種CD = @業種区分) AND (演習CD = @演習CD) ORDER BY 勘定CD end else begin SELECT 勘定CD , 勘定名称, 勘定細目, 勘定区分 FROM TS勘定科目M WHERE (業種CD = @業種区分) AND (演習CD = @演習CD) AND (勘定細目 = @勘定細目) ORDER BY 勘定CD End GO SET QUOTED_IDENTIFIER OFF GO SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER OFF GO SET ANSI_NULLS OFF GO CREATE PROCEDURE dbo.SV摘要一覧 @演習CD varchar(12), @会社CD varchar(20), @学生番号 varchar(40) AS SELECT * FROM TK伝票F WHERE 1 = 0 GO SET QUOTED_IDENTIFIER OFF GO SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER OFF GO SET ANSI_NULLS OFF GO CREATE PROCEDURE dbo.SX取引明細登録 /* 全データ項目を受け取り、ctpTradeTranにレコードの挿入を行う */ /* OKであれば、採番したACTNOを戻り値として返す NGは−1 */ /* 取引作成者区分 A:代金の支払い側  B:代金の受取側 */ @TradeKbn varchar(1) /* ctpTradeTran */ ,@PracticeCode varchar(8),@APrivateCode varchar(12) ,@ACompanyCode varchar(12),@ATenantCode varchar(12),@ALoginId varchar(12) ,@ActNo int ,@TradeCode varchar(4), @OrderNo int, @OrderSeq smallint ,@BPrivateCode varchar(12), @BCompanyCode varchar(12), @BTenantCode varchar(12) ,@ItemType varchar(1) ,@ItemCode varchar(4) ,@ItemName varchar(40) ,@ItemImage varchar(100) ,@PaymentTerm smallint,@ProcessStatus varchar(1) ,@BusinessDateA datetime ,@BusinessDateB datetime ,@BusinessDateE datetime ,@BusinessDateT datetime ,@TransportFlag int ,@SellsDiscFlag int ,@COfficeAssetsFlag int ,@Qty int,@StandardPrice money,@MakesPrice money,@StockPrice money,@SellsPrice money ,@TransportPrice money,@ConsumptionTax money ,@CCreditRate real ,@MakesAmnt money ,@StockAmnt money ,@SellsAmnt money ,@TaxAmnt money ,@TransportAmnt money ,@TransportTax money ,@CreditAmnt money ,@AAmnt money,@BAmnt money ,@RemarksA varchar(250) ,@RemarksB varchar(250) ,@RemarksE varchar(250) ,@AddDate datetime,@UpdDate datetime,@AddProc varchar(20), @UpdProc varchar(20) AS declare @MaxNo int begin transaction /* 取引明細登録 */ /* 取引明細登録-1 ActNo採番 */ SET @MaxNo = isnull((SELECT MAX(ActNo) FROM ctpTradeTrn WHERE PracticeCode = @PracticeCode AND ALoginId = @ALoginId ),0) SELECT @ActNo = @MaxNo + 1 if @@error <> 0 begin rollback transaction select -1 return end /* 取引明細登録-2 OrderNo採番 */ if @TradeKbn = 'a' or @TradeKbn = 'A' begin SET @MaxNo = isnull((SELECT Max(OrderNo) FROM ctpTradeTrn WHERE (PracticeCode = @PracticeCode) AND (TradeCode = @TradeCode) AND (APrivateCode = @APrivateCode) AND (ACompanyCode = @ACompanyCode) AND (ATenantCode = @ATenantCode)),0) end else begin SET @MaxNo = isnull((SELECT Max(OrderNo) FROM ctpTradeTrn WHERE (PracticeCode = @PracticeCode) AND (TradeCode = @TradeCode) AND (BPrivateCode = @BPrivateCode) AND (BCompanyCode = @BCompanyCode) AND (BTenantCode = @BTenantCode)),0) end SELECT @OrderNo = @MaxNo + 1 if @@error <> 0 begin rollback transaction select -1 return end /* 取引明細登録-3 ctpTradeTrn作成 */ Insert into ctpTradeTrn (PracticeCode ,APrivateCode ,ACompanyCode ,ATenantCode ,ALoginId ,ActNo ,TradeCode ,OrderNo ,OrderSeq ,BPrivateCode ,BCompanyCode ,BTenantCode ,ItemType ,ItemCode ,ItemName ,ItemImage ,PaymentTerm ,ProcessStatus ,BusinessDateA ,BusinessDateB ,BusinessDateE ,BusinessDateT ,TransportFlag ,SellsDiscFlag ,COfficeAssetsFlag ,Qty ,StandardPrice ,MakesPrice ,StockPrice ,SellsPrice ,TransportPrice ,ConsumptionTax ,CCreditRate ,MakesAmnt ,StockAmnt ,SellsAmnt ,TaxAmnt ,TransportAmnt ,TransportTax ,CreditAmnt ,AAmnt ,BAmnt ,RemarksA ,RemarksB ,RemarksE ,AddDate ,UpdDate ,AddProc ,UpdProc ) Values (@PracticeCode ,@APrivateCode ,@ACompanyCode ,@ATenantCode ,@ALoginId ,@ActNo ,@TradeCode ,@OrderNo ,@OrderSeq ,@BPrivateCode ,@BCompanyCode ,@BTenantCode ,@ItemType ,@ItemCode ,@ItemName ,@ItemImage ,@PaymentTerm ,@ProcessStatus ,@BusinessDateA ,@BusinessDateB ,@BusinessDateE ,@BusinessDateT ,@TransportFlag ,@SellsDiscFlag ,@COfficeAssetsFlag ,@Qty ,@StandardPrice ,@MakesPrice ,@StockPrice ,@SellsPrice ,@TransportPrice ,@ConsumptionTax ,@CCreditRate ,@MakesAmnt ,@StockAmnt ,@SellsAmnt ,@TaxAmnt ,@TransportAmnt ,@TransportTax ,@CreditAmnt ,@AAmnt ,@BAmnt ,@RemarksA ,@RemarksB ,@RemarksE ,@AddDate ,@UpdDate ,@AddProc , @UpdProc ) if @@error <> 0 begin rollback transaction select -1 return end commit transaction select 0 return @ActNo GO SET QUOTED_IDENTIFIER OFF GO SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER ON GO SET ANSI_NULLS OFF GO CREATE PROCEDURE dbo.SX学生情報取得 @学生番号 varchar(40) AS SELECT TS学生M.* FROM TS学生M WHERE TS学生M.学生番号 = @学生番号 GO SET QUOTED_IDENTIFIER OFF GO SET ANSI_NULLS ON GO