<!-- #include file="../../include.asp" -->

<%
'<!--
'################################################
'	 名称	:演習情報登録処理
'	 作成日:2002/9/4
'	 作成者:徳田
'	 目的 :演習情報の登録処理を行う。
'	 概要	:
'		<<表示>>
'	・無し
'
'	修正:
'################################################
'-->

main()
Sub main()
	If Not(SessionCheck()) Then
		Exit Sub
	End If

	Dim EnshuCD, EnshuName, FromYmd, ToYmd, EnshuKubun, TaxRate
	Dim DenpyoKubun, GinkoKozaToza, GinkoKozaFutu, GinkoKozaBetsudan, GinkoKozaTsumitate, GinkoKozaTeiki
	Dim SeiriKinyuKeisiki, MotoEnshuCD
	Dim RiyoGinkoKozaSyuri, SeiriKinyuKeishikiKubun
	Dim MotoEnshuCopy
	Dim JishaCopy
	Dim TeikanClear
	Dim MasterEnshu
	Dim MotoTaxRate
	Dim MotoFromYmd
	Dim MotoToYmd
	Dim ZandakaCopy

	'数値文字変換チェック用
	Dim NumChrCheck
	NumChrCheck = ""

	Dim DbEnshuCD
	Dim Query, Content
	Dim Content2
	Dim Content3
	Dim Content4
	Dim Content5
	Dim rsts
	Dim RouteType
	Dim Action 
	Dim DbEnshuName

	Dim TmpCnt
	Dim ii
	Dim jj
	Dim KanjyoCD(10)
	Dim KanjyoMeisyo(10)
	Dim TekiyoCD(10)
	Dim Tekiyo(10)
	Dim KarikataKingaku(10)
	Dim KashikataKingaku(10)

	Action = Request("Action")
	RouteType = Request("RouteType")

	DbEnshuCD = Request("DbEnshuCD")
	DbEnshuName = Request("DbEnshuName")

	EnshuCD = Request("EnshuCD")
	EnshuName = Request("EnshuName")
	NumChrCheck = NumChrCheck & EnshuName
	FromYmd = Request("FromYmd")
	ToYmd = Request("ToYmd")
	EnshuKubun = Request("EnshuKubun")
	TaxRate = Request("TaxRate")
	DenpyoKubun = Request("DenpyoKubun")
	GinkoKozaToza = Request("GinkoKozaToza")
	GinkoKozaFutu = Request("GinkoKozaFutu")
	GinkoKozaBetsudan = Request("GinkoKozaBetsudan")
	GinkoKozaTsumitate = Request("GinkoKozaTsumitate")
	GinkoKozaTeiki = Request("GinkoKozaTeiki")
	SeiriKinyuKeisiki = Request("SeiriKinyuKeisiki")
	RiyoGinkoKozaSyuri = Request("RiyoGinkoKozaSyuri")
	SeiriKinyuKeishikiKubun = Request("SeiriKinyuKeishikiKubun")
	MotoEnshuCD = Request("MotoEnshuCD")
	MotoEnshuCopy = Request("MotoEnshuCopy")
	JishaCopy = Request("JishaCopy")
	TeikanClear = Request("TeikanClear")
	MasterEnshu = Request("MasterEnshu")
	MotoTaxRate = Request("MotoTaxRate")
	MotoFromYmd = Request("MotoFromYmd")
	MotoToYmd = Request("MotoToYmd")
	ZandakaCopy = Request("ZandakaCopy")

	'数値文字変換チェック
	If Not(NumChrReject(NumChrCheck)) Then
		Exit Sub
	End If


	'演習設定の取得
	Dim ShiireUriageSyohizei
	ShiireUriageSyohizei = ""
	Query = "exec SPM演習取得 '" & GB_SystemCD & "','" & EnshuCD & "'" 
	Set Content = OpenQuery(Query)
	If Not(Content.BOF Or Content.EOF) Then
		ShiireUriageSyohizei = "" & Content.Fields("仕入売上伝票消費税手動仕訳")
	End If


	If MotoEnshuCopy <> "1" Then
		MotoEnshuCD = ""
	End If

	'コピー元演習名称の取得
	Dim CopyMotoName
	CopyMotoName = ""
	If MotoEnshuCD <> "" Then
		Query = "exec SPM演習取得 '" & GB_SystemCD & "','" & MotoEnshuCD & "'" 
		Set Content = OpenQuery(Query)
		If Not(Content.BOF Or Content.EOF) Then
			CopyMotoName = Content.Fields("演習名称")
		End If
	End If


	If ZandakaCopy <> "1" Then
		ZandakaCopy = "0"
	End If

'Response.Write(JishaCopy)
'End Sub

	If GinkoKozaToza = "" Then GinkoKozaToza = "0" End If
	If GinkoKozaFutu = "" Then GinkoKozaFutu = "0" End If
	If GinkoKozaBetsudan = "" Then GinkoKozaBetsudan = "0" End If
	If GinkoKozaTsumitate = "" Then GinkoKozaTsumitate = "0" End If
	If GinkoKozaTeiki = "" Then GinkoKozaTeiki = "0" End If
	If MasterEnshu <> "1" Then MasterEnshu = "0" End If


	RiyoGinkoKozaSyuri = GinkoKozaToza & GinkoKozaFutu & GinkoKozaBetsudan & GinkoKozaTsumitate & GinkoKozaTeiki
	If Action = 4 Then
		Query = "exec SPM演習削除 '" & GB_SystemCD & "','" & EnshuCD & "'"
		Set Content = OpenQuery(Query)
		Response.Redirect("fm_enshu_ichiran.asp?RouteType=" & RouteType)
	ElseIf Action = 5 Then
		Query = "exec SPV選択可能会社選択解除生徒 '" & GB_SystemCD & "','" & EnshuCD & "', '" & UserID & "'"
		Set Content = OpenQuery(Query)
	ElseIf Request("DbEnshuCD") = "" Then

		'サイバー会計では演習CDを制限する(サイバートレード連動のため)
		If PackageMode = 1 Then
			If UCase(Left(EnshuCD, 4)) = "CT21" And DebugFlg < 2 Then	'ct21連動のため演習CDを制限する
				Response.Write("システム制約により演習コードの先頭に「CT21」を指定することは出来ません。<br>")
				Response.Write("<a href=""JavaScript:history.go(-1)"">戻る</a>")
				Exit Sub
			End If
			If UCase(Left(EnshuCD, 5)) = "USERP" And DebugFlg < 2 Then	'ct21連動のため演習CDを制限する
				Response.Write("システム制約により演習コードの先頭に「USERP」を指定することは出来ません。<br>")
				Response.Write("<a href=""JavaScript:history.go(-1)"">戻る</a>")
				Exit Sub
			End If
		End If

		If UCase(Left(EnshuCD, 3)) = "SYS" And DebugFlg < 2 Then	'マスター編集モードでは追加・修正出来るよう変更(090219小野)
			Response.Write("演習コードの頭にSYSがついている演習は、追加・修正は出来ません。<br>")
			Response.Write("<a href=""JavaScript:history.go(-1)"">戻る</a>")
			Exit Sub
		End If
		If UCase(Left(DbEnshuCD, 3)) = "SYS" And DebugFlg < 2 Then	'マスター編集モードでは追加・修正出来るよう変更(090219小野)
			Response.Write("演習コードの頭にSYSがついている演習は、追加・修正は出来ません。<br>")
			Response.Write("<a href=""JavaScript:history.go(-1)"">戻る</a>")
			Exit Sub
		End If

		Query = "exec SPM演習一覧 '" & GB_SystemCD & "',2"
		Set Content = OpenQuery(Query)
		Do While Not(Content.BOF Or Content.EOF)
			If UCase(Content.Fields("演習CD")) = UCase(EnshuCD) Then
				Response.Write("この演習コードはすでに登録済みです。<br>")
				Response.Write("<a href=""JavaScript:history.go(-1)"">戻る</a>")
				Exit Sub
			End If
			If UCase(Content.Fields("演習CD")) <> UCase(EnshuCD) AND Content.Fields("演習名称") = EnshuName Then
				Response.Write("この演習名称はすでに登録済みです。<br>")
				Response.Write("<a href=""JavaScript:history.go(-1)"">戻る</a>")
				Exit Sub
			End If
			Content.MoveNext
		Loop

		Query = "exec SPM演習登録1 '" & GB_SystemCD & "','" & EnshuCD & "'"
		Query = Query & ",'" & DbEnshuCD & "'"
		Query = Query & ",'" & EnshuName	& "'"
		Query = Query & ",'" & EnshuKubun	& "'"
		Query = Query & ",'" & FromYmd	& "'"
		Query = Query & ",'" & ToYmd	& "'"
		Query = Query & ",'" & TaxRate	& "'"
		Query = Query & ",'" & DenpyoKubun	& "'"
		Query = Query & ",'" & RiyoGinkoKozaSyuri	& "'"
		Query = Query & ",'" & SeiriKinyuKeishikiKubun	& "'"
		Query = Query & ",'" & MotoEnshuCD	& "'"
		Query = Query & ",'" & MasterEnshu	& "'"
		Set Content = OpenQuery(Query)

		If MotoEnshuCD <> "" Then
			Query = "exec SPM演習更新データコピー '" & GB_SystemCD & "','" & EnshuCD & "'"
			Query = Query & ",'" & MotoEnshuCD	& "'"
			Query = Query & ",'" & FromYmd	& "'"
			Set Content = OpenQuery(Query)
			If EnshuKubun = "G" Then
				Query = "exec SPM演習データクリア '" & GB_SystemCD & "', '" & EnshuCD & "'"
				Set Content = OpenQuery(Query)
			End If
			If JishaCopy = "1" Then
				Query = "exec SPM演習更新データコピー自社 '" & GB_SystemCD & "','" & EnshuCD & "'"
				Query = Query & ",'" & MotoEnshuCD	& "'"
				Query = Query & ",'" & FromYmd	& "'"
				Set Content = OpenQuery(Query)
			End If
			If TeikanClear = "1" Then
				'発起人情報のクリア
				Query = " UPDATE TDA会社M "
				Query = Query & " SET 代表取締役 = '' "
				Query = Query & " 	, 取締役1 = '' "
				Query = Query & " 	, 取締役2 = '' "
				Query = Query & " 	, 発起人4 = '' "
				Query = Query & " 	, 発起人5 = '' "
				Query = Query & " 	, 代表取締役住所 = '' "
				Query = Query & " 	, 取締役1住所 = '' "
				Query = Query & " 	, 取締役2住所 = '' "
				Query = Query & " 	, 発起人4住所 = '' "
				Query = Query & " 	, 発起人5住所 = '' "
				Query = Query & " 	, 発起人1株式数 = null "
				Query = Query & " 	, 発起人2株式数 = null "
				Query = Query & " 	, 発起人3株式数 = null "
				Query = Query & " 	, 発起人4株式数 = null "
				Query = Query & " 	, 発起人5株式数 = null "
				Query = Query & " WHERE システムCD = '" & GB_SystemCD & "' "
				Query = Query & " 	AND 演習CD = '" & EnshuCD & "'"
				Set Content = OpenQuery(Query)
			End If
		End If


'以下の機能は廃止
		'前期末残高を期首残高にコピーする処理(091030小野)
		'※通常の演習マスタコピー以外にコピーされるものは以下の通りです。
		'※演習履歴及び演習参加者設定(これにより参加設定や選択会社が引き継がれます)
		'※会社マスタ(完全)・会社学生科目マスタ・部品展開マスタ・摘要マスタ
		'※銀行口座(完全)・銀行残高・金庫残高・入出庫在庫・仕訳残高
		'※支払期日がコピー元演習の契約期間外に設定されている手形
		'※社員台帳(完全)・ポータルサイト・名刺
		'※寄託在庫・製造部仕訳残高・材料在庫・製品在庫
		'※※寄託契約だけは契約期間外になるため全て再契約する必要があります。
		If 0=1 And ZandakaCopy = "1" Then


			Query = "exec SPM演習更新データコピー繰越 '" & GB_SystemCD & "','" & EnshuCD & "'"
			Query = Query & ",'" & MotoEnshuCD	& "'"
			Query = Query & ",'" & FromYmd	& "'"
			Set Content = OpenQuery(Query)


			'以下単プロシージャで処理出来ない期末残高繰越処理

			'元演習の必要なパラメータを取得
			Dim MotoKaishibi
			Dim MotoSyuryobi
			Dim Kitakuriyou
			Query = "exec SPM演習取得 '" & GB_SystemCD & "', '" & MotoEnshuCD & "'"
			Set Content = OpenQuery(Query)
			If Not(Content.BOF Or Content.EOF) Then
				MotoKaishibi = Content.Fields("会計開始日")
				MotoSyuryobi = Content.Fields("会計終了日")
				Kitakuriyou = "" & Content.Fields("寄託倉庫利用")
			End If

			'会社一覧ループ
			Query = "exec SPM会社一覧2 '" & GB_SystemCD & "', '" & EnshuCD & "', '', '', 2"
			Set Content = OpenQuery(Query)
			Do While Not(Content.BOF Or Content.EOF)

				'商品・材料・製品
				For TmpCnt = 1 To 3

					Dim ZaikoFlg
					ZaikoFlg = 0
					'コピー元会社の在庫を取得
					If TmpCnt = 1 Then
						Query = "exec SPR材料入出庫在庫 '" & GB_SystemCD & "','" & MotoEnshuCD & "', '" & Content.Fields("会社CD") & "', '" & MotoSyuryobi & "'"
					ElseIf TmpCnt = 2 Then
						Query = "exec SPR製品入出庫在庫 '" & GB_SystemCD & "','" & MotoEnshuCD & "', '" & Content.Fields("会社CD") & "', '" & MotoSyuryobi & "'"
					Else
						Query = "exec SPR入出庫在庫 '" & GB_SystemCD & "', '" & MotoEnshuCD & "', '" & Content.Fields("会社CD") & "', '" & MotoSyuryobi & "'"
					End If
					Set Content2 = OpenQuery(Query)
					Do While Not(Content2.BOF Or Content2.EOF)

						If "" & Content2.Fields("在庫数") <> "" And "" & Content2.Fields("在庫数") <> "0" Then

							ZaikoFlg = 1

							'移動平均のため誤差が生じる仕様
							Dim Tanka
							Tanka = NyusyukoZaikoKingaku(MotoEnshuCD, Content.Fields("会社CD"), Content2.Fields("商品CD"), MotoSyuryobi) / Content2.Fields("在庫数")

							Query = "exec SPK繰越商品挿入"
							Query = Query & "  '" & GB_SystemCD & "'"
							Query = Query & ", '" & EnshuCD & "'"	'演習CD
							Query = Query & ", '" & Content.Fields("会社CD") & "'"	'会社CD
							If TmpCnt = 1 Then
								Query = Query & ", 'ZS'"	'材料入庫
							ElseIf TmpCnt = 2 Then
								Query = Query & ", 'MS'"	'製品入庫
							Else
								Query = Query & ", 'SS'"	'商品入庫
							End If
							Query = Query & ", '" & Content2.Fields("商品CD") & "'"	'商品CD
							Query = Query & ", " & Content2.Fields("在庫数") & ""	'数量
							If Tanka = "" Then
								Query = Query & ", null"
							Else
								Query = Query & "," & Tanka & ""	'単価
							End If
							Query = Query & ",0"					'受注単価
							Set Content3 = OpenQuery(Query)

							If Kitakuriyou = "1" Then	'商品
								Query = "exec SPD寄託在庫繰越商品挿入 '" & GB_SystemCD & "',"
								Query = Query & " '" & EnshuCD & "'"		'演習CD
								Query = Query & ",'" & Content.Fields("会社CD") & "'"		'会社CD
								Query = Query & ",'" & Content.Fields("寄託会社CD") & "'"	'寄託会社CD
								Query = Query & ",''"	'学生番号
								Query = Query & ",'" & Content2.Fields("商品CD") & "'"	'商品CD
								Query = Query & "," & Content2.Fields("在庫数")			'数量
								If Tanka = "" Then
									Query = Query & ", null"
								Else
									Query = Query & "," & Tanka & ""	'単価
								End If
								Query = Query & ",0"				'運送単価
'Response.Write(Query & vbCrlf)
'Exit Sub
								Set Content3 = OpenQuery(Query)
							End If

						End If

						Content2.MoveNext
					Loop

					If ZaikoFlg = 1 Then

						Query = "exec SPK繰越商品更新"
						Query = Query & "  '" & GB_SystemCD & "'"
						Query = Query & ", '" & EnshuCD & "'"
						Query = Query & ", '" & Content.Fields("会社CD") & "'"
						If TmpCnt = 1 Then
							Query = Query & ", 'ZS'"	'材料入庫
						ElseIf TmpCnt = 2 Then
							Query = Query & ", 'MS'"	'製品入庫
						Else
							Query = Query & ", 'SS'"	'商品入庫
						End If
						Query = Query & ", '" & FromYmd & "'"
						Query = Query & ",''"
						Set Content3 = OpenQuery(Query)

						If Kitakuriyou = "1" Then
							Query = "exec SPD寄託在庫繰越商品更新 '" & GB_SystemCD & "',"
							Query = Query & " '" & EnshuCD & "'"		'演習CD
							Query = Query & ",'" & Content.Fields("会社CD") & "'"		'会社CD
							Query = Query & ",'" & FromYmd & "'"	'寄託会社CD
							Query = Query & ",''"
							Set Content3 = OpenQuery(Query)
						End If

					'繰越商品の入庫を削除(明細はYTMP操作時に空になる)
					Else

						Query = "exec SPK繰越商品削除"
						Query = Query & "  '" & GB_SystemCD & "'"
						Query = Query & ", '" & EnshuCD & "'"
						Query = Query & ", '" & Content.Fields("会社CD") & "'"
						If TmpCnt = 1 Then
							Query = Query & ", 'ZS'"	'材料入庫
						ElseIf TmpCnt = 2 Then
							Query = Query & ", 'MS'"	'製品入庫
						Else
							Query = Query & ", 'SS'"	'商品入庫
						End If
						Query = Query & ", '" & FromYmd & "'"
						Query = Query & ", ''"
						Set Content3 = OpenQuery(Query)

						If Kitakuriyou = "1" Then
							Query = "exec SPD寄託在庫繰越商品削除 '" & GB_SystemCD & "',"
							Query = Query & " '" & EnshuCD & "'"		'演習CD
							Query = Query & ",'" & Content.Fields("会社CD") & "'"		'会社CD
							Query = Query & ",'" & FromYmd & "'"
							Query = Query & ",''"
							Set Content3 = OpenQuery(Query)
						End If

					End If

				Next


				'仕訳残高(商社・銀行・製造部)
				For TmpCnt = 1 To 2

					Dim ShiwakeFlg
					ShiwakeFlg = 0
					jj = 0
					Dim TmpGyoshu
					TmpGyoshu = Content.Fields("業種CD")
					If Content.Fields("業種CD") <> "S" And TmpCnt = 2 Then
						Exit For	'商社以外は製造部の処理を行わない
					ElseIf TmpCnt = 2 Then
						TmpGyoshu = "G"	'製造部
					ElseIf Content.Fields("業種CD") <> "B" Then
						TmpGyoshu = "S"	'銀行以外はS
					End If
					Query = "exec SPK自動転記帳簿_合計残高試算表照会 '" & GB_SystemCD & "', '" & MotoEnshuCD & "', '" & Content.Fields("会社CD") & "', '" & MotoKaishibi & "', '" & MotoSyuryobi & "', 11, '" & TmpGyoshu & "'"
					Set Content2 = OpenQuery(Query)
					Do While Not(Content2.BOF Or Content2.EOF)

						If "" & Content2.Fields("借方残高") <> "0" Or "" & Content2.Fields("貸方残高") <> "0" Then

							ShiwakeFlg = 1

							If jj = 10 Then
								jj = 1
							Else 
								jj = jj + 1
							End If

							'1~9回目までは代入のみ
							KanjyoCD(jj) = Content2.Fields("勘定CD")
							KanjyoMeisyo(jj) = Content2.Fields("勘定名称")
							TekiyoCD(jj) = ""
							Tekiyo(jj) = ""
							KarikataKingaku(jj) = Content2.Fields("借方残高")
							If KarikataKingaku(jj) = 0 Then
								KarikataKingaku(jj) = "null"
							End If
							KashikataKingaku(jj) = Content2.Fields("貸方残高")
							If KashikataKingaku(jj) = 0 Then
								KashikataKingaku(jj) = "null"
							End If

							'10回目に挿入
							If jj = 10 Then
								Query = "exec SPK繰越残高設定挿入10 '" & GB_SystemCD & "', '" & EnshuCD & "', '" & Content.Fields("会社CD") & "'"
								If TmpGyoshu = "G" Then
									Query = Query & ", 'D8'"	'製造部振替伝票
								Else
									Query = Query & ", 'D5'"	'振替伝票
								End If
								Query = Query & ", " & jj	'行数
								For ii = 1 To jj
									Query = Query & ", '" & KanjyoCD(ii) & "'"
									Query = Query & ", '" & TekiyoCD(ii) & "'"
									Query = Query & ", '" & Tekiyo(ii) & "'"
									Query = Query & ",  " & KarikataKingaku(ii)
									Query = Query & ",  " & KashikataKingaku(ii)
								Next
								For ii = jj + 1 To 10	'余りは埋めないと例外エラーになる。プロシージャ側で無視されるので何でも良い。
									Query = Query & ", '" & KanjyoCD(ii) & "'"
									Query = Query & ", '" & TekiyoCD(ii) & "'"
									Query = Query & ", '" & Tekiyo(ii) & "'"
									Query = Query & ", null"
									Query = Query & ", null"
								Next
								Set Content3 = OpenQuery(Query)
							End If

						End If

						Content2.MoveNext
					Loop

					'ループアウト時に端数があれば此処で処理
					If jj < 10 Then
						Query = "exec SPK繰越残高設定挿入10 '" & GB_SystemCD & "', '" & EnshuCD & "', '" & Content.Fields("会社CD") & "'"
						If TmpGyoshu = "G" Then
							Query = Query & ", 'D8'"	'製造部振替伝票
						Else
							Query = Query & ", 'D5'"	'振替伝票
						End If
						Query = Query & ", " & jj	'行数
						For ii = 1 To jj
							Query = Query & ", '" & KanjyoCD(ii) & "'"
							Query = Query & ", '" & TekiyoCD(ii) & "'"
							Query = Query & ", '" & Tekiyo(ii) & "'"
							Query = Query & ",  " & KarikataKingaku(ii)
							Query = Query & ",  " & KashikataKingaku(ii)
						Next
						For ii = jj + 1 To 10	'余りは埋めないと例外エラーになる。プロシージャ側で無視されるので何でも良い。
							Query = Query & ", '" & KanjyoCD(ii) & "'"
							Query = Query & ", '" & TekiyoCD(ii) & "'"
							Query = Query & ", '" & Tekiyo(ii) & "'"
							Query = Query & ", null"
							Query = Query & ", null"
						Next
						Set Content3 = OpenQuery(Query)
					End If

					If ShiwakeFlg = 1 Then
						Query = "exec SPK繰越残高設定更新 '" & GB_SystemCD & "',"
						Query = Query & "  '" & EnshuCD & "'"
						Query = Query & ", '" & Content.Fields("会社CD") & "'"
						If TmpGyoshu = "G" Then
							Query = Query & ", 'D8'"	'製造部振替伝票
						Else
							Query = Query & ", 'D5'"	'振替伝票
						End If
						Query = Query & ", '" & FromYmd & "'"
						Query = Query & ", ''"
						Set Content3 = OpenQuery(Query)

						Query = "exec SPM記帳チェック挿入伝票 '" & GB_SystemCD & "',"
						Query = Query & " '" & EnshuCD & "',"
						Query = Query & " '" & Content.Fields("会社CD") & "'"
						Set Content3 = OpenQuery(Query)
					End If

				Next

				Content.MoveNext
			Loop


			'名刺画像
			Dim objFS
			Set objFS = CreateObject("Scripting.FileSystemObject")
			Dim MeishiDir
			MeishiDir = "/" & HomeAlias & "/data/meishi"
			If objFS.FolderExists(Server.MapPath(MeishiDir)) Then
				Dim objFolder
				Set objFolder = objFS.GetFolder(Server.MapPath(MeishiDir))
				Dim FileName
				For Each FileName In objFolder.Files
					If Left(FileName.Name, Len(MotoEnshuCD) + 3) = MotoEnshuCD & "_~_" Then
						objFS.CopyFile Server.MapPath(MeishiDir & "/" & FileName.Name), Server.MapPath(MeishiDir & "/" & EnshuCD & Mid(FileName.Name, Len(MotoEnshuCD) + 1)), True
					End If
				Next
			End If


		End If
'以上の機能は廃止

	Else

		'高度な設定で演習名称が変更されていない場合は重複チェックしない
		'※サイバートレード連携で自動作成される演習は
		'※同一演習名称になってしまうケースがあるため。
		If UCase(DbEnshuName) <> UCase(EnshuName) Then 
			Query = "exec SPM演習一覧 '" & GB_SystemCD & "',2"
			Set Content = OpenQuery(Query)
			Do While Not(Content.BOF Or Content.EOF)
				If UCase(Content.Fields("演習CD")) <> UCase(EnshuCD) AND Content.Fields("演習名称") = EnshuName Then
					Response.Write("この演習名称はすでに登録済みです。<br>")
					Response.Write("<a href=""JavaScript:history.go(-1)"">戻る</a>")
					Exit Sub
				End If
				Content.MoveNext
			Loop
		End If

		If UCase(Left(EnshuCD, 3)) = "SYS" And DebugFlg < 2 Then	'マスター編集モードでは追加・修正出来るよう変更(090219小野)
			Response.Write("演習コードの頭にSYSがついている演習は、追加・修正は出来ません。<br>")
			Response.Write("<a href=""JavaScript:history.go(-1)"">戻る</a>")
			Exit Sub
		End If
		If UCase(Left(DbEnshuCD, 3)) = "SYS" And DebugFlg < 2 Then	'マスター編集モードでは追加・修正出来るよう変更(090219小野)
			Response.Write("演習コードの頭にSYSがついている演習は、追加・修正は出来ません。<br>")
			Response.Write("<a href=""JavaScript:history.go(-1)"">戻る</a>")
			Exit Sub
		End If

		Dim TmpTaxRate
		TmpTaxRate = TaxRate
		If ShiireUriageSyohizei = "1" Then
			'※「仕入売上伝票作成時の消費税の仕訳」が「振替伝票で行う」設定の場合は
			'※強制的に消費税0%扱いで消費税再仕訳(実質は消費税全削除)させる。
			TmpTaxRate = "0"
		End If
'Response.Write(TmpTaxRate)
'Exit Sub
		If MotoTaxRate <> TmpTaxRate And TaxRateSelection <> 1 Then '実践6以降では消費税再仕訳を行わない(191015小野)
			'仕入売上伝票の消費税再仕訳処理(080410小野)
			Dim KanjyoCDGenkin	'小売販売は現金仕訳
			Dim KanjyoCDShiire
			Dim KanjyoCDUriage
			Dim KanjyoCDUrikakekin
			Dim KanjyoCDKaikakekin
			Dim KanjyoCDKaribaraiSyohizei
			Dim KanjyoCDKariukeSyohizei
			Query = "exec SPM勘定科目取得特別勘定 '" & GB_SystemCD & "', '" & DbEnshuCD & "', ''"
			Set Content = OpenQuery(Query)
			Do While Not(Content.BOF OR Content.EOF)
				If Content.Fields("特別勘定区分") = "DA" Then
					KanjyoCDGenkin = Content.Fields("勘定CD")
				ElseIf Content.Fields("特別勘定区分") = "DL" Then
					KanjyoCDShiire = Content.Fields("勘定CD")
				ElseIf Content.Fields("特別勘定区分") = "DM" Then
					KanjyoCDUriage = Content.Fields("勘定CD")
				ElseIf Content.Fields("特別勘定区分") = "DN" Then
					KanjyoCDUrikakekin = Content.Fields("勘定CD")
				ElseIf Content.Fields("特別勘定区分") = "DO" Then
					KanjyoCDKaikakekin = Content.Fields("勘定CD")
				ElseIf Content.Fields("特別勘定区分") = "DP" Then
					KanjyoCDKaribaraiSyohizei = Content.Fields("勘定CD")
				ElseIf Content.Fields("特別勘定区分") = "DQ" Then
					KanjyoCDKariukeSyohizei = Content.Fields("勘定CD")
				End If
				Content.MoveNext
			Loop
'Response.Write(KanjyoCDShiire)
'Exit Sub
			Dim ShiireUriageTmp
			'全会社ループ
			Query = "exec SPM会社一覧 '" & GB_SystemCD & "','" & DbEnshuCD & "', 2"
			Set Content = OpenQuery(Query)
			Do While Not(Content.BOF OR Content.EOF)
				'仕入伝票ループ
				Query = "exec SPK伝票_仕入伝票一覧 '" & GB_SystemCD & "', '" & DbEnshuCD & "', '" & Content.Fields("会社CD") & "'"
				Set Content2 = OpenQuery(Query)
				Do While Not(Content2.BOF OR Content2.EOF)
					'伝票明細ループ
					Query = "exec SPK伝票_仕入伝票取得 '" & GB_SystemCD & "', '" & DbEnshuCD & "', '" & Content.Fields("会社CD") & "', '" & Content2.Fields("伝票番号") & "'"
					Set Content3 = OpenQuery(Query)
					Do While Not(Content3.BOF OR Content3.EOF)
						If Content3.Fields("勘定CD") = KanjyoCDShiire Then
							ShiireUriageTmp = Content3.Fields("借方金額")
							'仮払消費税・税込買掛金の更新
							Query = "exec SPK伝票_仕入伝票消費税更新 '" & GB_SystemCD & "', '" & DbEnshuCD & "', '" & Content.Fields("会社CD") & "', '" & Content3.Fields("伝票番号") & "'"
							Query = Query & ", '" & KanjyoCDKaribaraiSyohizei & "', " & Int(ShiireUriageTmp * Int(TmpTaxRate) / 100)
							Query = Query & ", '" & KanjyoCDKaikakekin & "', " & ShiireUriageTmp + Int(ShiireUriageTmp * Int(TmpTaxRate) / 100)
'Response.Write(Query)
'Exit Sub
							Set Content4 = OpenQuery(Query)
							Exit Do
						End If
						Content3.MoveNext
					Loop
					Content2.MoveNext
				Loop
				'売上伝票ループ
				Query = "exec SPK伝票_売上伝票一覧 '" & GB_SystemCD & "', '" & DbEnshuCD & "', '" & Content.Fields("会社CD") & "'"
				Set Content2 = OpenQuery(Query)
				Do While Not(Content2.BOF OR Content2.EOF)
					'伝票明細ループ
					Query = "exec SPK伝票_売上伝票取得 '" & GB_SystemCD & "', '" & DbEnshuCD & "', '" & Content.Fields("会社CD") & "', '" & Content2.Fields("伝票番号") & "'"
					Set Content3 = OpenQuery(Query)
					Do While Not(Content3.BOF OR Content3.EOF)
						If Content3.Fields("勘定CD") = KanjyoCDUriage Then
							ShiireUriageTmp = Content3.Fields("貸方金額")
							Query = "exec SPK伝票_売上伝票消費税更新 '" & GB_SystemCD & "', '" & DbEnshuCD & "', '" & Content.Fields("会社CD") & "', '" & Content3.Fields("伝票番号") & "'"
							'仮受消費税・税込売掛金の更新
							Query = Query & ", '" & KanjyoCDKariukeSyohizei & "', " & Int(ShiireUriageTmp * Int(TmpTaxRate) / 100)
							Query = Query & ", '" & KanjyoCDUrikakekin & "'" & ", " & ShiireUriageTmp + Int(ShiireUriageTmp * Int(TmpTaxRate) / 100)
							Set Content4 = OpenQuery(Query)
							Exit Do
						End If
						Content3.MoveNext
					Loop
					Content2.MoveNext
				Loop
				Content.MoveNext
			Loop
			'仕入売上伝票の消費税率を整合させる(191016小野)
			Query = " UPDATE TSK伝票仕入売上明細F SET 消費税率 = " & TmpTaxRate & " "
			Query = Query & " WHERE システムCD = '" & GB_SystemCD & "' AND 演習CD = '" & DbEnshuCD & "' "
			Set Content = OpenQuery(Query)
		End If

		If MotoFromYmd <> FromYmd Then
			'期首仕訳の日付更新処理(111006小野)
			Query = " UPDATE TSK伝票F SET 取引日 = '" & FromYmd & "' "
			Query = Query & " WHERE システムCD = '" & GB_SystemCD & "' AND 演習CD = '" & DbEnshuCD & "' "
			Query = Query & " AND (伝票処理区分 = 0) "
			Set Content = OpenQuery(Query)
		End If

		If MotoToYmd <> ToYmd Then
			'期末仕訳の日付更新処理(111006小野)
			Query = " UPDATE TSK伝票F SET 取引日 = '" & ToYmd & "' "
			Query = Query & " WHERE システムCD = '" & GB_SystemCD & "' AND 演習CD = '" & DbEnshuCD & "' "
			Query = Query & " AND (伝票処理区分 = 9 OR 伝票処理区分 = 10) "
			Set Content = OpenQuery(Query)
'Response.Write(Query)
'Exit Sub
		End If


		'同時同業から模擬実践に変更した場合は
		'マスタコピー会社を取引先とする補助簿を削除する
		If EnshuKubun = "G" Then
			Query = "exec SPM演習更新補助簿整合 '" & GB_SystemCD & "', '" & DbEnshuCD & "'"
			Set Content = OpenQuery(Query)
		End If


		Query = "exec SPM演習更新1 '" & GB_SystemCD & "', '" & EnshuCD & "'"
		Query = Query & ",'" & DbEnshuCD & "'"
		Query = Query & ",'" & EnshuName & "'"
		Query = Query & ",'" & EnshuKubun & "'"
		Query = Query & ",'" & FromYmd	& "'"
		Query = Query & ",'" & ToYmd	& "'"
		Query = Query & ",'" & TaxRate	& "'"
		Query = Query & ",'" & DenpyoKubun	& "'"
		Query = Query & ",'" & RiyoGinkoKozaSyuri	& "'"
		Query = Query & ",'" & SeiriKinyuKeishikiKubun	& "'"
		Query = Query & ",'" & MotoEnshuCD	& "'"
		Query = Query & ",'" & MasterEnshu	& "'"
		Set Content = OpenQuery(Query)

		If MotoEnshuCD <> "" Then
			Query = "exec SPM演習更新データコピー '" & GB_SystemCD & "','" & EnshuCD & "'"
			Query = Query & ",'" & MotoEnshuCD	& "'"
			Query = Query & ",'" & FromYmd	& "'"
			Set Content = OpenQuery(Query)
			If JishaCopy = "1" Then
				Query = "exec SPM演習更新データコピー自社 '" & GB_SystemCD & "','" & EnshuCD & "'"
				Query = Query & ",'" & MotoEnshuCD	& "'"
				Query = Query & ",'" & FromYmd	& "'"
				Set Content = OpenQuery(Query)
			End If
		End If

'Response.Write(Query)
'Exit Sub

	End If


	'コピー元が指定されていれば更新
	If CopyMotoName <> "" Then
		Query = "exec SPM演習更新コピー元名称 '" & GB_SystemCD & "','" & EnshuCD & "'"
		Query = Query & ",'" & CopyMotoName & "'"
		Set Content = OpenQuery(Query)
	End If

	'マスター演習は参加グループ全解除
	If MasterEnshu = "1" Then
		Query = "exec SPM演習参加グループ更新 '" & GB_SystemCD & "','" & EnshuCD & "',''"
		Set Content = OpenQuery(Query)
	End If


	If MotoEnshuCD <> "" Then 
		Dim GazoFile
		Dim fso
		Set fso = CreateObject("Scripting.FileSystemObject")
		If Not(fso.FolderExists(Server.MapPath(Fgoods) & "/" & EnshuCD)) Then
			fso.CreateFolder(Server.MapPath(Fgoods) & "/" & EnshuCD)
		End If
		'商品画像をコピー元からコピー
		Query = "exec SPM商品一覧 '" & GB_SystemCD & "','" & EnshuCD & "', '" & GB_GakuseiNo & "'"
		Set Content = OpenQuery(Query)
		Do While Not(Content.BOF Or Content.EOF)
			GazoFile = "" & Content.Fields("画像ファイル")
			If GazoFile <> "" Then
				If fso.FileExists(Server.MapPath(Fgoods) & "/" & MotoEnshuCD & "/" & GazoFile) Then
					fso.CopyFile Server.MapPath(Fgoods) & "/" & MotoEnshuCD & "/" & GazoFile, Server.MapPath(Fgoods) & "/" & EnshuCD & "/" & GazoFile
				End If
			End If
			Content.MoveNext
		Loop
		'会社トップ画像をコピー元からコピー
		If Not(fso.FolderExists(Server.MapPath(FTopimage))) Then
			fso.CreateFolder(Server.MapPath(FTopimage))
		End If
		If Not(fso.FolderExists(Server.MapPath(FTopimage) & "/" & EnshuCD)) Then
			fso.CreateFolder(Server.MapPath(FTopimage) & "/" & EnshuCD)
		End If
		Query = "exec SPM会社一覧 '" & GB_SystemCD & "','" & EnshuCD & "', 2" '全会社ループ
		Set Content = OpenQuery(Query)
		Do While Not(Content.BOF Or Content.EOF)
			GazoFile = "" & Content.Fields("トップ画像マスタ")
			If GazoFile <> "" Then
				If fso.FileExists(Server.MapPath(FTopimage) & "/" & MotoEnshuCD & "/" & GazoFile) Then
					fso.CopyFile Server.MapPath(FTopimage) & "/" & MotoEnshuCD & "/" & GazoFile, Server.MapPath(FTopimage) & "/" & EnshuCD & "/" & GazoFile
				End If
			End If
			Content.MoveNext
		Loop
		'生徒側トップ画像をクリア
		Query = " UPDATE TDA会社M "
		Query = Query & " SET トップ画像 = '' "
		Query = Query & " WHERE システムCD = '" & GB_SystemCD & "' AND 演習CD = '" & EnshuCD & "' "
		Set Content = OpenQuery(Query)
	End If



	If DbEnshuCD <> "" Then
		'全会社ループ
		Query = "exec SPM会社一覧 '" & GB_SystemCD & "','" & DbEnshuCD & "', 2"
		Set Content = OpenQuery(Query)
		Do While Not(Content.BOF OR Content.EOF)
			'記帳チェックテンポラリを更新する
			Query = "exec SPM記帳チェック挿入集計更新 '" & GB_SystemCD & "', '" & DbEnshuCD & "', '" & Content.Fields("会社CD") & "'"
			Set Content2 = OpenQuery(Query)
			Content.MoveNext
		Loop
	ElseIf EnshuCD <> "" Then
		'全会社ループ
		Query = "exec SPM会社一覧 '" & GB_SystemCD & "','" & EnshuCD & "', 2"
		Set Content = OpenQuery(Query)
		Do While Not(Content.BOF OR Content.EOF)
			'記帳チェックテンポラリを更新する
			Query = "exec SPM記帳チェック挿入集計更新 '" & GB_SystemCD & "', '" & EnshuCD & "', '" & Content.Fields("会社CD") & "'"
			Set Content2 = OpenQuery(Query)
			Content.MoveNext
		Loop
	End If


	'消費税率マスタ辻褄合わせ(191015小野)
	'演習消費税設定を消費税率マスタの既定に設定
	Query = ""
	Query = Query & "  "
	Query = Query & " if not(exists(select * from TDA消費税率M WHERE システムCD = '" & GB_SystemCD & "' AND 演習CD = '" & EnshuCD & "' AND 消費税率 = " & TaxRate & ")) "
	Query = Query & " begin "
	Query = Query & " 	INSERT INTO TDA消費税率M (システムCD, 演習CD, 消費税率) "
	Query = Query & " 	VALUES ('" & GB_SystemCD & "', '" & EnshuCD & "', " & TaxRate & ") "
	Query = Query & " end "
	Query = Query & " UPDATE TDA消費税率M "
	Query = Query & " SET 標準 = '' "
	Query = Query & " 	, 運送費標準 = '' "
	Query = Query & " WHERE システムCD = '" & GB_SystemCD & "' "
	Query = Query & " 	AND 演習CD = '" & EnshuCD & "' "
	Query = Query & " UPDATE TDA消費税率M "
	Query = Query & " SET 標準 = '1' "
	Query = Query & " 	, 運送費標準 = '1' "
	Query = Query & " WHERE システムCD = '" & GB_SystemCD & "' "
	Query = Query & " 	AND 演習CD = '" & EnshuCD & "' "
	Query = Query & " 	AND 消費税率 = " & TaxRate & " "
	Set Content = OpenQuery(Query)


	Session(HomeAlias & "EnshuCD") = EnshuCD
	Session(HomeAlias & "EnshuMeisyo") = ConvEnshuMeisyo(EnshuCD)

	Response.Redirect("fm_enshu1_view.asp?EnshuCD=" & EnshuCD & "&RouteType=" & RouteType)
End Sub
%>