'********************************************************************************
'*                          ＨＨＴ  システム                                    *
'*      内容        ：      ロケ変更                                            *
'*      ﾌﾟﾛｸﾞﾗﾑ ID  ：      PROGZ                                               *
'*      			：      流用PROGo                                           *
'*      作成者      ：      kakihana                                            *
'*      作成日      ：      2007.02.21                                          *
'*																				*
'********************************************************************************
 
'********************************************************************************
'*      内容        ：      ｲﾝｸﾙｰﾄﾞ設定                                         *
'*      作成日      ：      2007.02.21                                          		*
'********************************************************************************
	'$include:'constant.src'                            '定数設定
    '$include:'work.src'                                'ﾜｰｸ設定
	'$include:'kansu.src'                               '関数
	'$include:'kansu2.src'                              '関数
    '$include:'progzkan.src'
'ILS-ADD Start 北九州共和個別カスタマイズ 導入
    '$include:'GlobalProgsys.src'                                               '汎用PG用定義
'ILS-ADD End 北九州共和個別カスタマイズ 導入

'********************************************************************************
'*      内容        ：      変数宣言                                            *
'*      作成日      ：      2007.02.21                                          		*
'********************************************************************************
	'使用する変数の列挙
	common dataflg$[2]		'共通変数
	common trnno9			'階層
	common menuA9			'階層1ﾒﾆｭｰ№
	common menuB9			'階層2ﾒﾆｭｰ№
	common menuC9			'階層3ﾒﾆｭｰ№
'ILS-ADD Start 北九州共和個別カスタマイズ 導入
    common CSkenpin$[1]     'ﾗﾝﾀﾞﾑ検品の動作制御ﾊﾟﾗﾒｰﾀ（"":通常検品、"C":ｹｰｽ専用検品）
'ILS-ADD End 北九州共和個別カスタマイズ 導入

	'wdsipno9				'画面№
	'wkmkno9				'入力項目№
	'wloopend9				'入力ﾙｰﾌﾟ終了
	'wrtncod9				'入力の戻り値
							'(0:次へ 5:PF5 6:PF6 9:戻る)
	'wrecno9            	'現在処理中のﾚｺｰﾄﾞ番号
	'wdelflg$              	'削除ﾌﾗｸﾞ

	dim tankmk9(9)			'棚番桁数退避配列
	dim tandspx9(9)			'棚番入力位置

	dim witanaj$(9)			'棚番入力項目退避域
	dim wijancd$[13]		'JANｺｰﾄﾞ
	dim wijun$[2]			'順
	
	dim svtenpog$[10]		'退避店舗ｇ
	dim svtanaj$(9)			'退避棚番入力項目退避域
	dim svjancd$[13]		'退避JANｺｰﾄﾞ
	dim svsuryo$[6]			'退避数量

	dim savtanaj$(9)		'入力項目退避域 棚番

	dim witenpog$[10]		'店舗Gｺｰﾄﾞ
	dim winouhin$[6]		'納品日
	dim wisyaban$[3]		'車番

'ILS-ADD Start 北九州共和個別カスタマイズ 導入
    dim witanto$[4]                                                            '担当者コード
    dim savtanto$[4]                                                           '入力分退避担当者コード
'ILS-ADD End   北九州共和個別カスタマイズ 導入

'********************************************************************************
'*      内容        ：      ﾒｲﾝﾌﾟﾛｸﾞﾗﾑ                                          *
'*      作成日      ：      2007.02.21                                          *
'********************************************************************************
main
	on error goto errshori : werror$ = "main"

'	on key (30) gosub menum1		'M1ｷｰ設定
	on key (31) gosub menum2		'M2ｷｰ設定
	on key (5)  gosub menuf5		'F5ｷｰ設定
	on key (6)  gosub menuf6		'F6ｷｰ設定
	on key (8)  gosub menuf8		'F8ｷｰ設定

	key (30) off		'M1無効
	key (31) on			'M2ｷｰ有効
	key (1) off			'F1無効
	key (2) off			'F2無効
	key (5) on			'F5有効
	key (6) on			'F6有効
	key (8) off			'F8無効

    screen 1                                                        '漢字ﾓｰﾄﾞ設定
    locate ,,0                                                      'ｶｰｿﾙ非表示
    gosub s.sysset                                                  'ｼｽﾃﾑの設定

	alldsp9 = on9
	wdelflg$ = " "

'	shochk9 = val(mid$(sysshoch$ , val(dataflg$) , 1))				'商品ﾏｽﾀﾁｪｯｸの設定
	'ﾁｪｯｸしない
	shochk9 = 0

	'データ区分の変換
	wkubun$ = mid$(datakbn$ , val(dataflg$) , 1)

	'空き容量ﾁｪｯｸ
	gosub s.baseopn
	
	if (val(basenum$) = lof(#basefile9) + 1) then
		gosub s.memworn
	else
		if (fre(1) = 0) or (val(basenum$) = lof(#basefile9)) then
            gosub s.memerr
        	'chain main$
			end 
		endif
    endif

	'初期設定
	gosub s.iniset
	gosub s.sokoset							'倉庫情報桁数取得

	'第1画面処理
'ILS-MOD Start 北九州共和個別カスタマイズ 導入
'	wkmkno9 = 1								'項目№に1(bar)をｾｯﾄ
	wkmkno9 = 0								'項目№に0(担当)をｾｯﾄ
'ILS-MOD End 北九州共和個別カスタマイズ 導入
	wloopend9 = 0
	
	while wloopend9 = 0
		wkeyflg$ = ""
		select wkmkno9
'ILS-ADD Start 北九州共和個別カスタマイズ 導入
            case  0
		        gosub g.tanto
                alldsp9 = on9
		        if gl.Tanto$ = "" then
                    wloopend9 = 9
                    gosub s.reset1
                else
                    witanto$ = gl.Tanto$
		            savtanto$ = gl.Tanto$
                    gosub s.reset1
                    wkmkno9 = 1
		        endif
'ILS-ADD End 北九州共和個別カスタマイズ 導入
			case  1
				if alldsp9 = on9 then					'*-- 第1画面の表示 --*
					gosub s.gamen1
				else
					gosub s.gamen1a						'ﾊﾞｰｺｰﾄﾞ内容表示
				endif
				gosub bar.nyu
				alldsp9 = off9
				if wrtncod9  = 9 then
					wloopend9 = 9
				endif
				wkmkno9 = wkmkno9 + (wido9 * wfugo9)
			case  2										'*-- 確認入力 --*
				gosub s.gamen1							'第一画面再表示
				gosub s.gamen1a							'ﾊﾞｰｺｰﾄﾞ内容表示
				gosub bar.nyu2
				wkmkno9 = wkmkno9 + (wido9 * wfugo9)
			case  3										'*-- ロケ入力制御 --*
				if alldsp29 = on9 then
					gosub s.gamen2
				else
					gosub s.gamen3
				endif
				gosub s.tanaj
				alldsp29 = off9
				select wrtncod9
					case 5
						gosub s.backctrl
					case 6
						gosub s.nextctrl
				end select
				wkmkno9 = wkmkno9 + (wido9 * wfugo9)
			case  4										'*-- JANｺｰﾄﾞ 入力制御 --*
				if alldsp29 = on9 then
					gosub s.gamen2 
				else
					gosub s.gamen3
				endif
				gosub s.jancod
				alldsp29 = off9
				select wrtncod9
					case 5
						gosub s.backctrl
					case 6
						gosub s.nextctrl
				end select
				wkmkno9 = wkmkno9 + (wido9 * wfugo9)
			case  5										'*-- 順入力 --*
				gosub s.jun
				select wrtncod9
					case 5
						gosub s.backctrl
					case 6
						gosub s.nextctrl
				end select
				wkmkno9 = wkmkno9 + (wido9 * wfugo9)
			case  6										'*-- 出力 --*
				gosub s.nextctrl
		end select
		wkeyflg$ = ""
	wend

	gosub s.pgend

	end

'********************************************************************************
'*      内容        ：      初期画面表示                                        *
'*      作成日      ：      2007.02.21                                          		*
'********************************************************************************
s.gamen1
	alldsp29 = on9			'第1画面が表示された時は必ず第2画面表示ﾌﾗｸﾞは全表示
	cls
'          ....*....1....*.
	print "ロケ変更  BAR:　"
	print "得意先: 　　　　"
	print "納品日: 　　　　"
	print "車番　: 　　　　";

	return

'********************************************************************************
'*      内容        ：      初期画面表示(入力項目のみ)                          *
'*      作成日      ：      2007.02.21                                          		*
'********************************************************************************
s.gamen1a

	locate 8 , fntatechg9(2) : print witenpog$;								'店舗Gｺｰﾄﾞ
	locate 8 , fntatechg9(3) : print winouhin$;								'納品日
	locate 8 , fntatechg9(4) : print wisyaban$;								'車番

	return
'****************************************************************************************
'*      バーコード読み込み																*
'*      作成日      ：      2007.02.21                                          		*
'****************************************************************************************
bar.nyu
    on error goto errshori : werror$ = "bar.nyu"

	loop9 = on9
	while loop9
		if pgmode$ = touroku$ then
			locate 14 , fntatechg9(1) , 1
		    a$ = fnbarread$("I","")											'ITFﾊﾞｰｺｰﾄﾞｽｷｬﾝ
		else											'修正ﾓｰﾄﾞは入力不可
			locate ,,0
			wait 0 , 3 : a$ = inkey$
		endif
		select wkeyflg$
			case ""
				if pgmode$ = touroku$ then
					'ｽｷｬﾝｴﾗｰは再ｽｷｬﾝ
					if a$ = "" or len(a$) <> 22 then
						beep ,,2,0
					else
						witenpog$ =	mid$(a$,1,6)							'店舗Gｺｰﾄﾞ
						winouhin$ = mid$(a$,7,6)							'納品日
						wisyaban$ = chr$(val(mid$(a$,13,3))) + chr$(val(mid$(a$,16,3))) +chr$(val(mid$(a$,19,3)))	'車番
						gosub s.gamen1a
						wfugo9 = zou9 : wido9 = 1
						loop9 = off9
					endif
				else
					if a$ = ent$ then
						gosub s.reset1
						wfugo9 = zou9 : wido9 = 2
					endif
				endif
			case m2$
'ILS-MOD Start 北九州共和個別カスタマイズ 導入
'				wrtncod9 = 9 : gosub s.reset1
				gosub s.reset1
				wfugo9 = gen9 : wido9 = 1
'ILS-MOD End 北九州共和個別カスタマイズ 導入
			case f5$
				gosub s.backctl1
				gosub s.reset2
			case f6$
				gosub s.nextctl1
				gosub s.reset2
		end select
	wend
    return

'****************************************************************************************
'*      バーコード読み込み後の遷移																*
'*      作成日      ：      2007.02.21                                          		*
'****************************************************************************************
bar.nyu2
    on error goto errshori : werror$ = "bar.nyu2"

	locate 14, fntatechg9(4) , 2				'ブロックカーソル

	loop9 = on9
	while loop9
		wait 0, 3																	'入力を待つ
		kb$ = inkey$
		
		if kb$ = ent$ then
			wfugo9 = zou9 : wido9 = 1
			gosub s.reset1
		else
			select wkeyflg$
				case m2$
					wfugo9 = gen9 : wido9 = 1
					gosub s.reset1
				case else
			        beep ,,2,0
			end select
		endif
	wend
    return

'********************************************************************************
'*      内容        ：      ﾌﾟﾛｸﾞﾗﾑ終了                                         *
'*      作成日      ：      2007.02.21                                          		*
'********************************************************************************
s.pgend
	close 
	chain main$
    return

'********************************************************************************
'*      内容        ：      共通ﾌﾗｸﾞﾘｾｯﾄ                                       *
'*      作成日      ：      2007.02.21                                          		*
'********************************************************************************
s.reset1
	loop9 = off9	:	wkeyflg$ = ""	:	return
s.reset2
	wido9 = 0	:	loop9 = off9	:	wkeyflg$ = ""	:	return

'********************************************************************************
'*      内容        ：      ｷｰﾄﾗｯﾌﾟ用                                           *
'*      作成日      ：      2007.02.21                                          		*
'********************************************************************************
menum1
    wkeyflg$ = m1$ : return
menum2
    wkeyflg$ = m2$ : return
menuf5
    wkeyflg$ = f5$ : return
menuf6
    wkeyflg$ = f6$ : return
menuf8
    wkeyflg$ = f8$ : return

'********************************************************************************
'*      内容        ：      ｴﾗｰ処理                                         *
'*      作成日      ：      2007.02.21                                          		*
'********************************************************************************
errshori
	beep
	select werror$
        case ""                                               '通常ｴﾗｰ
            cls
            print "ERROR!　　　　　"
            print "Error No. 　　　"
            print "　　　　　　　　"
            print "　　　　　　　　";
            locate 1 , fntatechg9(3) : print hex$(err) ;
            locate 9 , fntatechg9(3) : print hex$(erl)
            wait 0 , 3
            resume main
        case else                                      '場所特定ｴﾗｰ
            cls
            print "　　　　　ERROR!"
            print "Error No. 　　　"
            print "　　　　　　　　"
            print "　　　　　　　　";
            locate 1 , fntatechg9(1) : print werror$;
            locate 1 , fntatechg9(3) : print hex$(err) ;
            locate 9 , fntatechg9(3) : print hex$(erl)
            wait 0 ,3
            resume main
	end select
	resume main
	return

'********************************************************************************
'*      内容        ：      初期値セット                                        *
'*      作成日      ：      2007.02.21                                          		*
'********************************************************************************
s.iniset

    fileflg9 = off9			 				'ﾌｧｲﾙﾌﾗｸﾞをOFFに設定
    pgmode$ = touroku$		 				'ﾌﾟﾛｸﾞﾗﾑのﾓｰﾄﾞ
	wrecno9 = lof(#basefile9)				'最終ﾚｺｰﾄﾞ№
	wfugo9  = zou9							'移動方向(+)
	wido9   = 1								'移動量

	witenpog$ = ""
	winouhin$ = ""
	wisyaban$ = ""

	wijancod$ = ""
	wijun$ = ""

	for idx1 = 0 to 8
		witanaj$(idx1) = ""
		savtanaj$(idx1) = ""
	next idx1

	return
'********************************************************************************
'*      内容        ：      倉庫情報桁数取得                                    *
'*      作成日      ：      2007.02.21                                          		*
'********************************************************************************
s.sokoset
	for idx1 = 0 to 8							'*-- ｼｽﾃﾑﾏｽﾀの倉庫区切り情報を取り込む --*
		tankmk9(idx1) = 0
		tandspx9(idx1) = 0
	next idx1
	if mid$(syskugiri$ , 1 , 2) = "10" then
		tankmk9(0) = 10
	else
		tankmk9(0) = val(mid$(syskugiri$ , 1 , 1))
		tankmk9(1) = val(mid$(syskugiri$ , 3 , 1))
		tankmk9(2) = val(mid$(syskugiri$ , 5 , 1))
		tankmk9(3) = val(mid$(syskugiri$ , 7 , 1))
		tankmk9(4) = val(mid$(syskugiri$ , 9 , 1))
		tankmk9(5) = val(mid$(syskugiri$ , 11 , 1))
		tankmk9(6) = val(mid$(syskugiri$ , 13 , 1))
		tankmk9(7) = val(mid$(syskugiri$ , 15 , 1))
	endif

	kokugiri$ = ""							'*-- 倉庫情報の区切り部分を作成 --*
	for idx1 = 0 to 7
		for idx2 = 1 to tankmk9(idx1)
			kokugiri$ = kokugiri$ + " "
		next idx2
		if tankmk9(idx1+1) <> 0 then
			kokugiri$ = kokugiri$ + "."
		else
			idx1 = 7
		endif
	next idx1
	

	idx2=1										'*-- 棚番入力位置の作成 --*
	for idx1 = 0 to 7
		if tankmk9(idx1) <> 0 then
			tandspx9(idx1) = idx2
			if tankmk9(idx1+1) <> 0 then
				idx2 = idx2 + tankmk9(idx1) + 1
			else
				idx1 = 7
			endif
		endif
	next idx1
	return

'********************************************************************************
'*      内容        ：      画面表示                                            *
'*      作成日      ：      2007.02.21                                          		*
'********************************************************************************
s.gamen2
	alldsp9   = on9				'第二画面が表示されたら必ず、第一画面の全画面表示ﾌﾗｸﾞをｵﾝ
	if pgmode$ = touroku$ then
		dspmode$ = "  "
	else
		if wdelflg$ = "1" then
			dspmode$ = "削"
		else
			dspmode$ = "修"
		endif
	endif
    cls
    print kokugiri$
    print "Ｊ:             "
    print "順:             "
    print "　　　　　　　　";
	for idx1 = 0 to 7
		if tankmk9(idx1) <> 0 then
			wtana$ = ""
			locate tandspx9(idx1) , fntatechg9(1) : print fnakiplus$(wtana$ , tankmk9(idx1));
			locate tandspx9(idx1) , fntatechg9(1) : print mid$(witanaj$(idx1) , 1 , tankmk9(idx1));
		else
			idx1 = 7
		endif
	next idx1
    locate 4  , fntatechg9(2) : print "             ";
    locate 4  , fntatechg9(2) : print wijancod$;
    locate 4  , fntatechg9(3) : print "  ";
    locate 4  , fntatechg9(3) : print wijun$;
	locate 15  , fntatechg9(4) : print dspmode$;
    return
'********************************************************************************
'*      内容        ：      画面表示（入力項目のみ）                            *
'*      作成日      ：      2007.02.21                                          		*
'********************************************************************************
s.gamen3
	if pgmode$ = touroku$ then
		dspmode$ = "  "
	else
		if wdelflg$ = "1" then
			dspmode$ = "削"
		else
			dspmode$ = "修"
		endif
	endif
	locate ,,0
	for idx1 = 0 to 7
		if tankmk9(idx1) <> 0 then
			wtana$ = ""
			locate tandspx9(idx1) , fntatechg9(1) : print fnakiplus$(wtana$ , tankmk9(idx1));
			locate tandspx9(idx1) , fntatechg9(1) : print mid$(witanaj$(idx1) , 1 , tankmk9(idx1));
		else
			idx1 = 7
		endif
	next idx1
    locate 4  , fntatechg9(2) : print "             ";
    locate 4  , fntatechg9(2) : print wijancod$;
    locate 4  , fntatechg9(3) : print "  ";
    locate 4  , fntatechg9(3) : print wijun$;
	locate 15  , fntatechg9(4) : print dspmode$;
    return

'********************************************************************************
'*      内容        ：      後ﾚｺｰﾄﾞ処理                                    *
'*      作成日      ：      2007.02.21                                          		*
'********************************************************************************
s.backctrl
	on error goto errshori : werror$ = ""
	locate ,,0
	gosub s.wrtctrl
	if (pgmode$ = syusei$ and wrecno9 = 1) or wrecno9 = 0 then					'現在ﾚｺｰﾄﾞ№が１の時は不可
		beep
		wkmkno9 = 2
	else
	    loopb9 = on9
		if pgmode$ = touroku$ then
			rec9 = wrecno9
			dspmode$ = "  "
		else
			rec9 = wrecno9 - 1
		endif
	    while loopb9
	        get #basefile9 , rec9
			beep ,,0							'件数が多くなるとﾙｰﾌﾟを脱出しないのを回避するためのbeep
	        if kikubun$ = wkubun$ then	   		'該当するﾃﾞｰﾀ区分のﾚｺｰﾄﾞが見つかった
				gosub s.equalchk
				if eqlchk9 = off9 then
					gosub s.chginfo
					alldsp29 = on9
				endif
				gosub s.kmkset
				pgmode$   = syusei$
				wrecno9   = rec9
				loopb9     = off9
			else
		        rec9 = rec9 - 1
				if rec9 = 0 then           		'１件前のﾚｺｰﾄﾞがない時
					beep
					loopb9 = off9
				endif
	        endif
	    wend
		wkmkno9 = 2	                       		'表示後、JANｺｰﾄﾞの入力へ
	endif
	locate ,,1
	return
'********************************************************************************
'*      内容        ：      次ﾚｺｰﾄﾞ処理                                         *
'*      作成日      ：      2007.02.21                                          		*
'********************************************************************************
s.nextctrl
	on error goto errshori : werror$ = ""
	locate ,,0
	select pgmode$
		case touroku$
			if wijancod$ = "" then       '登録ﾓｰﾄﾞ時で必須項目未入力は不可
				beep
			else
				gosub s.wrtctrl
				pgmode$ = touroku$
				gosub s.kmkclr2
				gosub s.kmkset2
				wkmkno9 = 4
			endif
		case syusei$
			gosub s.wrtctrl
		    loop9 = on9
			if wrecno9 = lof(#basefile9) then '最終ﾚｺｰﾄﾞの時、登録ﾓｰﾄﾞに
				loop9 = off9
				pgmode$ = touroku$
				gosub s.kmkclr
				gosub s.kmkset2
			else
				rec9 = wrecno9 + 1
			endif
		    while loop9	        '該当するﾃﾞｰﾀ区分のﾚｺｰﾄﾞを見つけるためのﾙｰﾌﾟ
		        get #basefile9 , rec9
				beep ,,0							'件数が多くなるとﾙｰﾌﾟを脱出しないのを回避するためのbeep
		        if kikubun$ = wkubun$ then
					gosub s.equalchk
					if eqlchk9 = off9 then
						gosub s.chginfo
						alldsp29 = on9
					endif
					gosub s.kmkset
					pgmode$   = syusei$
					wrecno9   = rec9
					loop9     = off9
				else
			        rec9 = rec9 + 1
					if rec9 > lof(#basefile9) then     '１件次のﾚｺｰﾄﾞがない時
						loop9 = off9
						pgmode$ = touroku$
						gosub s.kmkclr
						gosub s.kmkset2
					endif
		        endif
		    wend
			if pgmode$ = touroku$ then						'NEXT押下後、登録ﾓｰﾄﾞに変わった時で
				if witenpog$ = "" then							'第1画面内容が未入力の時は第1画面に戻る
					wkmkno9 = 2						        
					alldsp9 = on9
				else
					taflg9 = off9							'taflg9 棚番が入力されているかどうか
					for idx1 = 0 to 7
						if witanaj$(idx1) <> "" then
							taflg9 = on9
						endif
					next idx1
					if taflg9 = on9 then					'棚番が入力されている時はJANへ
						wkmkno9 = 4
					else									'棚番が入力されていない時は棚番へ
						wkmkno9 = 3
					endif
				endif
			else
				wkmkno9 = 3									'修正ﾓｰﾄﾞ時は棚番の入力へ
			endif
	end select
	locate ,,1
	return
'********************************************************************************
'*      内容        ：      前ﾚｺｰﾄﾞ処理(第1画面用)                              *
'*      作成日      ：      2007.02.21                                          		*
'********************************************************************************
s.backctl1
	on error goto errshori : werror$ = ""
	locate ,,0
	loopz9 = on9
	if lof(#basefile9) = 0 then					'ﾃﾞｰﾀが０件の時、前頁なし
		beep
		loopz9 = off9							'下のﾙｰﾌﾟを行わない
	endif
	if pgmode$ = touroku$ then					'登録時、前回の読込棚種を退避する変数をｸﾘｱ
		svtenpog$ = ""
	endif
	rec9 = wrecno9								'現在のﾚｺｰﾄﾞ番号をｾｯﾄ
    while loopz9								'該当するﾃﾞｰﾀ区分のﾚｺｰﾄﾞを見つけるためのﾙｰﾌﾟ
        get #basefile9 , rec9
		beep ,,0								'件数が多くなるとﾙｰﾌﾟを脱出しないのを回避するためのbeep
        if kikubun$ = wkubun$ then				'ﾃﾞｰﾀ区分が同じ時
			if kitokui$ <> svtenpog$  then		'読込んだ棚種と前回棚種が違う時
				gosub s.kmkset					'画面及び退避項目にｾｯﾄ
				svtenpog$  = kitokui$			'棚種を退避
				pgmode$   = syusei$
				wrecno9   = rec9
				loopz9    = off9
				alldsp9   = off9				'全画面表示ﾌﾗｸﾞをｵﾌ
			else
				rec9 = rec9 - 1					'読込むﾚｺｰﾄﾞ№を１ﾏｲﾅｽ
				if rec9 = 0 then				'先頭まで来たら終わり
					beep
					loopz9 = off9
				endif
			endif
		else							'違うﾃﾞｰﾀ区分のﾃﾞｰﾀの時
			rec9 = rec9 - 1						'読込むﾚｺｰﾄﾞ№を１ﾏｲﾅｽ
			if rec9 = 0 then					'先頭まで来たら終わり
				beep
				loopz9 = off9
			endif
		endif
	wend
	return
'********************************************************************************
'*      内容        ：      次ﾚｺｰﾄﾞ処理(第1画面用)                              *
'*      作成日      ：      2007.02.21                                          		*
'********************************************************************************
s.nextctl1
	on error goto errshori : werror$ = ""
	locate ,,0
	loopx9 = on9
	if lof(#basefile9) = 0 or pgmode$ = touroku$ then	'ﾃﾞｰﾀが０件か登録の時、次頁なし
		beep
		loopx9 = off9					'下のﾙｰﾌﾟを行わない
	endif
	if lof(#basefile9) = wrecno9 then	'現在のﾚｺｰﾄﾞが最終ﾚｺｰﾄﾞの時、次頁なし
		pgmode$ = touroku$
		gosub s.kmkclr
		gosub s.kmkset2					'第1画面項目退避ｴﾘｱより第1画面入力項目へ
		loopx9 = off9
	endif
	rec9 = wrecno9 + 1						'現在のﾚｺｰﾄﾞ番号をｾｯﾄ
    while loopx9							'該当するﾃﾞｰﾀ区分のﾚｺｰﾄﾞを見つけるためのﾙｰﾌﾟ
        get #basefile9 , rec9
		beep ,,0							'件数が多くなるとﾙｰﾌﾟを脱出しないのを回避するためのbeep
        if kikubun$ = wkubun$ then			'ﾃﾞｰﾀ区分が同じ時
			if kitokui$ <> svtenpog$ then	'読込んだ棚種と前回棚種が違う時
				gosub s.kmkset					'画面及び退避項目にｾｯﾄ
				svtenpog$  = kitokui$			'種を退避
				pgmode$   = syusei$
				wrecno9   = rec9
				loopx9    = off9
				alldsp9   = off9				'全画面表示ﾌﾗｸﾞをｵﾌ
			else
				rec9 = rec9 + 1					'読込むﾚｺｰﾄﾞ№を１ﾏｲﾅｽ
				if rec9 >= lof(#basefile9) then	'最後まで来たら登録ﾓｰﾄﾞへ
					wrecno9 = lof(#basefile9)
					pgmode$ = touroku$
					gosub s.kmkclr
					gosub s.kmkset2					'第1画面項目退避ｴﾘｱより第1画面入力項目へ
					loopx9 = off9
				endif
			endif
		else							'違うﾃﾞｰﾀ区分のﾃﾞｰﾀの時
			rec9 = rec9 + 1					'読込むﾚｺｰﾄﾞ№を１ﾏｲﾅｽ
			if rec9 >= lof(#basefile9) then		'最後まで来たら登録ﾓｰﾄﾞへ
				wrecno9 = lof(#basefile9)
				pgmode$ = touroku$
				gosub s.kmkclr					'第1,2画面項目ｸﾘｱ
				gosub s.kmkset2					'第1画面項目退避ｴﾘｱより第1画面入力項目へ
				loopx9 = off9
			endif
		endif
	wend
	return
'********************************************************************************
'*      内容        ：      項目ｾｯﾄ(ﾌｧｲﾙ→変数)                                 *
'*      作成日      ：      2007.02.21                                          		*
'********************************************************************************
s.kmkset
	on error goto errshori : werror$ = "s.kmkset"

	witenpog$    = kitokui$

	svtenpog$    = kitokui$

	winouhin$ = mid$(kidate$,3,6)
	wisyaban$ = mid$(kitanto$, 1, 3)

	wijancod$ = kijancod$
	svjancod$ = kijancod$
	wijun$    = fnstr$(val(kisuryo$))
	svjun$    = fnstr$(val(kisuryo$))
	idx2=1
	for idx1 = 0 to 7
		witanaj$(idx1) = mid$(kisoko$ , idx2 , tankmk9(idx1))
		svtanaj$(idx1) = mid$(kisoko$ , idx2 , tankmk9(idx1))
		if tankmk9(idx1+1) <> 0 then
			idx2 = idx2 + tankmk9(idx1)
		else
			idx1 = 7
		endif
	next idx1
'ILS-MOD Start 北九州共和個別カスタマイズ 導入 
'	wdelflg$  = mid$(kitanto$, 4, 1)
	wdelflg$  = mid$(kitanto$, 5, 1)
    witanto$ = mid$(kitanto$,8,4)
'ILS-MOD End 北九州共和個別カスタマイズ 導入 
	return
'********************************************************************************
'*      内容        ：      項目ｾｯﾄ(退避→変数)                                 *
'*      作成日      ：      2007.02.21                                          		*
'********************************************************************************
s.kmkset2

	for idx1 = 0 to 7
		witanaj$(idx1) = savtanaj$(idx1)
	next idx1

'ILS-ADD Start 北九州共和個別カスタマイズ 導入 
    witanto$ = savtanto$
'ILS-ADD End 北九州共和個別カスタマイズ 導入 
	return
'********************************************************************************
'*      内容        ：      第2画面ｸﾘｱ(NEXT表示で登録ﾓｰﾄﾞに変わる時全ｸﾘｱ)       *
'*      作成日      ：      2007.02.21                                          		*
'********************************************************************************
s.kmkclr
	for idx1 = 0 to 7
		if tankmk9(idx1) <> 0 then
			witanaj$(idx1) = ""
		else
			idx1 = 7
		endif
	next idx1
	wijancod$ = ""
	wijun$    = ""
	return
'********************************************************************************
'*      内容        ：      第2画面ｸﾘｱ(書出し後、棚番以外ｸﾘｱ)                   *
'*      作成日      ：      2007.02.21                                          		*
'********************************************************************************
s.kmkclr2
	wijancod$ = ""
	wijun$    = ""
	return
'********************************************************************************
'*      内容        ：      読込んだ内容と現在の第1画面の内容が同じかﾁｪｯｸ       *
'*      作成日      ：      2007.02.21                                          		*
'********************************************************************************
s.equalchk
'ILS-MOD Start 北九州共和個別カスタマイズ 導入 
'    if	kitokui$  = witenpog$ and mid$(kidate$,3,6) = winouhin$ and kitanto$  = wisyaban$ + " " then
    if	kitokui$  = witenpog$ and mid$(kidate$,3,6) = winouhin$ and kitanto$  = wisyaban$ + "  " then
'ILS-MOD End 北九州共和個別カスタマイズ 導入 
		 eqlchk9 = on9
	else
		eqlchk9 = off9
	endif
	return
'********************************************************************************
'*      内容        ：      ｽｸﾛｰﾙ中に違うヘッダデータに変わる時表示する画面     *
'*      作成日      ：      2007.02.21                                          		*
'********************************************************************************
s.chginfo

	cls      
	print "得意先: 　　　　"
	print "納品日: 　　　　"
	print "車番　: 　　　　"
	print "ﾃﾞｰﾀに移行します";

'ILS-MOD Start 北九州共和個別カスタマイズ 導入 
'	locate 8 , fntatechg9(2) : print kitokui$;								'店舗Gｺｰﾄﾞ
'	locate 8 , fntatechg9(3) : print kidate$;								'納品日
'	locate 8 , fntatechg9(4) : print fnakiplus$(kitanto$,3);				'車番
	locate 8 , fntatechg9(1) : print kitokui$;								'店舗Gｺｰﾄﾞ
	locate 8 , fntatechg9(2) : print kidate$;								'納品日
	locate 8 , fntatechg9(3) : print fnakiplus$(kitanto$,3);				'車番
'ILS-MOD End 北九州共和個別カスタマイズ 導入 

	loop19 = on9
	while loop19
		wait 0 , 3 : a$ = inkey$
	    if  a$ = ent$ then
	        loop19 = off9
	    endif	
	wend
	return
'********************************************************************************
'*      内容        ：      書出制御                                            *
'*      作成日      ：      2007.02.21                                          		*
'********************************************************************************
s.wrtctrl
	on error goto errshori : werror$ = ""
	wrtchk9 = off9
	select pgmode$
		case touroku$
			if val(wijancod$) <> 0 then
				wrtchk9 = on9
			endif
			if wrtchk9 = on9 then
				gosub s.basewrt
				gosub s.kmkclr
			endif
		case syusei$
			if  val(wijancod$) = 0 then
				beep
			else
				tchg9 = off9
				for idx1 = 0 to 7
					if witanaj$(idx1) <> svtanaj$(idx1) then
						tchg9 = on9
					endif
				next idx1
				if tchg9 = on9 or wijancod$ <> svjancod$  or val(wijun$) <> val(svjun$) then
					alldsp29 = on9			'更新確認画面が表示されたら必ず
											'第2画面表示ﾌﾗｸﾞは全表示
					cls
					print "ﾃﾞｰﾀが修正　　　"
					print "　　されてます。"
					print "F1. 書込む　　　"
					print "F2. 書き込まない";
					loop9 = on9
					while loop9
						wait 0 , 3 : a$ = inkey$
		                if a$ = f1$ then
							gosub s.basewrt
							svjancod$ = wijancod$
							svjun$    = wijun$
							for idx1 = 0 to 7
								svtanaj$(idx1) = witanaj$(idx1)
							next idx1
							loop9 = off9
						else
							if a$ = f2$ then
								loop9 = off9
							endif
		                endif
		            wend
				endif
			endif
	end select
	return
'********************************************************************************
'*      内容        ：      基本ﾌｧｲﾙ書き出し                                    *
'*      作成日      ：      2007.02.21                                          		*
'********************************************************************************
s.basewrt

	on error goto errshori : werror$ = "s.basewrt"

	beep		

	kikubun$  = wkubun$	            		'データ区分
    kitokui$  = witenpog$              		'得意先／仕入先 ﾊﾞｰｺｰﾄﾞより
    kitokbai$ = ""                  		'特売
	kidate$   = fnseireki$(winouhin$)		'日付			ﾊﾞｰｺｰﾄﾞより
	kibunrui$ = ""                  		'分類
	kidenku$  = ""                  		'伝区
	kijancod$ = left$(wijancod$,13)			'JANｺｰﾄﾞ
' ▼PD4化 2014/08 T.S
'	kisuryo$  = fnzeroplus$(val(wijun$),6)  '数量／ﾌｪｰｽ		順
	kisuryo$  = ufnmaezero$(ufnnumstr$(val(wijun$)), 6)  '数量／ﾌｪｰｽ		順
' ▲PD4化 2014/08 T.S
	kikonku$  = ""		                    '梱区
	kibaika$  = ""                  		'売価
	kitanka$  = ""                  		'単価
	kitana1$  = ""						    '種１
	kitana2$ = ""							'棚２
	kisoko$ = ""
	for idx1 = 0 to 7
		if tankmk9(idx1) <> 0 then
			kisoko$  = kisoko$ + fnakiplus$(witanaj$(idx1),  tankmk9(idx1))
		else
			idx1 = 7
		endif
	next idx1

	kiunbin$  = ""                  		'運送便

'ILS-MOD Start 北九州共和個別カスタマイズ 導入 
'	kitanto$  = wisyaban$ + " "				'担当			ﾊﾞｰｺｰﾄﾞより車番
'	kitanto$  = wisyaban$ + " " + " " + "  " + fnakiplus$(witanto$,16) + fnakiplus$(hht$,3)	'担当			ﾊﾞｰｺｰﾄﾞより車番
'倉庫追加　　　　　　　　　　　　　　　　　　　15.05.08 大坪
	kitanto$  = wisyaban$ + " " + " " + fnakiplus$(souko$,2) + fnakiplus$(witanto$,16) + fnakiplus$(hht$,3)	'担当			ﾊﾞｰｺｰﾄﾞより車番
'ILS-MOD End 北九州共和個別カスタマイズ 導入 

	if pgmode$ = touroku$ then
'		beep
		put #basefile9 , wrecno9 + 1
		wrecno9 = wrecno9 + 1
	else
'		beep
		put #basefile9 , wrecno9
	endif
    return

'********************************************************************************
'*      内容        ：      削除処理                                            *
'*      作成日      ：      2007.02.21                                          		*
'********************************************************************************
s.basedel

	if pgmode$ = syusei$ then
		get #basefile9 , wrecno9                             '再読
		if wdelflg$ = " " then
			wdelflg$ = "1"
		else
			wdelflg$ = " "
		endif
'ILS-MOD Start 北九州共和個別カスタマイズ 導入 
'		kitanto$  = wisyaban$ + wdelflg$   				     '担当
'倉庫追加　　　　　　　　　　　　　　　　　　　15.05.08 大坪
		kitanto$  = wisyaban$ + " " + wdelflg$ + fnakiplus$(souko$,2) + fnakiplus$(witanto$,16) + fnakiplus$(hht$,3)  				     '担当
'ILS-MOD End 北九州共和個別カスタマイズ 導入 
		put #basefile9 , wrecno9                             '削除ﾌﾗｸﾞのみ書出し

		beep

		get #basefile9 , wrecno9                             '読み直し

	endif
	return
'********************************************************************************
'*      内容        ：      JANﾁｪｯｸｴﾗｰ                                          *
'*      作成日      ：      2007.02.21                                          		*
'********************************************************************************
s.janerr
    beep ,,2,0                                'ｴﾗｰ
    cls
    print "Ｊ:" ; errjan$
    print "　　　　　　　　"
    print "！未登録商品　　"
    print "　　　　　　　　";
    loopj9 = on9
    while loopj9 = on9
        wait 0 , 3 : a$ = inkey$
        if  a$ = ent$ then
            loopj9 = off9
        endif	
    wend
	wkeyflg$ = ""
    return

'********************************************************************************
'*      内容        ：      棚番入力                                            *
'*      作成日      ：      2007.02.21                                          		*
'********************************************************************************
s.tanaj
	on error goto errshori : werror$ = ""
	key (8) on                         'F8有効

	wrtncod9 = 0
	loop9 = on9
	idx1 = 0
	while loop9
	    locate tandspx9(idx1) , fntatechg9(1)
		a$ = fnkeyget$(tankmk9(idx1) , witanaj$(idx1) , 1)
		select wkeyflg$
			case ""
				witanaj$(idx1) = a$
				if pgmode$ = touroku$ then						'修正時には入力内容をSAVに退避しない
					savtanaj$(idx1) = a$
				endif
				if tankmk9(idx1+1) <> 0 then
					idx1 = idx1 + 1
				else
					loop9 = off9 : wfugo9 = zou9 : wido9    = 1
				endif
			case f5$
				wrtncod9 = 5 : 	gosub s.reset2
			case f6$
				wrtncod9 = 6 :  gosub s.reset2
			case f8$													
				if pgmode$ = touroku$ then					'登録時は入力ｷｬﾝｾﾙで第1画面
					wfugo9 = gen9 : wido9  = 1
					gosub s.reset1
					gosub s.kmkclr
				else										'修正時は削除ﾌﾗｸﾞ更新
					gosub s.basedel								'削除ﾌﾗｸﾞ更新＋再読込み
					gosub s.kmkset								'画面項目へｾｯﾄ
					gosub s.reset2
				endif
			case m2$
				if idx1 = 0 then
					wfugo9 = gen9
					wido9 = 1
					if pgmode$ = touroku$ then
						if val(wijancod$) <> 0 then
							gosub s.wrtctrl
						endif
						for idx1 = 0 to 7
							witanaj$(idx1) = ""
							savtanaj$(idx1) = ""
						next idx1
					endif
					gosub s.reset1
				else
					wkeyflg$ = ""
					idx1 = idx1 - 1
				endif
	    end select
	wend
	return
'********************************************************************************
'*      内容        ：      JANｺｰﾄﾞ入力                                         *
'*      作成日      ：      2007.02.21                                          		*
'********************************************************************************
s.jancod
	on error goto errshori : werror$ = ""
	key (8) on                              'F8有効

	wrtncod9 = 0
	loop9 = on9
	while loop9 
	    locate 4 , fntatechg9(2) 
		a$ = fnbarget$(13 , wijancod$)
        wijancod$ = a$
		select wkeyflg$ 
			case  ""
				b$ = chkdgt$(fndelsp$(a$) , bartype$)
				c$ = right$(fndelsp$(a$) , 1)
    	        if b$ <> c$ or a$ = "" then
        	        beep , , 2,0
	                wijancod$ = ""
					gosub s.gamen3
				else
					if shochk9 = on9 then
			        	d$ = fnjanchk$(a$)
					else
						d$ = ok$
					endif
		        	if d$ = fail$  or d$ = shoerr$ then
						if d$ = fail$ then
							errjan$ = a$
			            	gosub s.janerr
						endif
		                wijancod$ = ""
						gosub s.gamen2
	            	else
		                wijancod$ = a$
						gosub s.gamen3
						wfugo9 = zou9 : wido9 = 1 : loop9 = off9
					endif
		        endif
			case f5$
				wrtncod9 = 5 : gosub s.reset2
			case f6$
				wrtncod9 = 6 : gosub s.reset2
			case f8$													
				if pgmode$ = touroku$ then					'登録時は入力ｷｬﾝｾﾙで第1画面
					wfugo9 = gen9 : wido9  = 2
					gosub s.reset1
					gosub s.kmkclr
				else										'修正時は削除ﾌﾗｸﾞ更新
					gosub s.basedel								'削除ﾌﾗｸﾞ更新＋再読込み
					gosub s.kmkset								'画面項目へｾｯﾄ
					wido9 = 1	:	wfugo9 = gen9
					gosub s.reset1
				endif
			case m2$
				wrtncod9 = 9 : wfugo9 = gen9 : wido9 = 1
				gosub s.reset1
		end select
	wend
	return
'********************************************************************************
'*      内容        ：      順入力処理                                          *
'*      作成日      ：      2007.02.21                                          		*
'********************************************************************************
s.jun
	on error goto errshori : werror$ = ""
	wrtncod9 = 0
	loop9    = on9
	while loop9
		loop9 = off9
		locate 4 , fntatechg9(3) , 1
		wijun$ = fnkeyget$(2 , wijun$ ,1)
		select wkeyflg$
			case ""
				wfugo9 = zou9 : wido9 = 1 : loop9 = off9
			case f5$
				wrtncod9 = 5 : gosub s.reset2
			case f6$
				wrtncod9 = 6 : gosub s.reset2
			case f8$													
				if pgmode$ = touroku$ then					'登録時は入力ｷｬﾝｾﾙで第1画面
					wfugo9 = gen9 : wido9  = 3
					gosub s.reset1
					gosub s.kmkclr
				else										'修正時は削除ﾌﾗｸﾞ更新
					gosub s.basedel								'削除ﾌﾗｸﾞ更新＋再読込み
					gosub s.kmkset								'画面項目へｾｯﾄ
					wido9 = 2	:	wfugo9 = gen9
					gosub s.reset1
				endif
			case m2$
				wfugo9 = gen9 : wido9 = 1
				gosub s.reset1
		end select
	wend
	return

'********************************************************************************
'*      内容        ：      ｻﾌﾞﾙｰﾁﾝ読込  		                                        *
'*      作成日      ：      2007.02.21                                          		*
'********************************************************************************
    '$include:'syssub.src'                              'ｼｽﾃﾑ設定
    '$include:'fileopen.src'
'ILS-ADD Start 北九州共和個別カスタマイズ 導入
    '$include:'GlobalProg.src'                                                  '汎用PG
'ILS-ADD End 北九州共和個別カスタマイズ 導入


