/*************************************************************************/
/*	 title 		：	品番マスタ検索処理								 	 */
/*	 version	：	001												 	 */
/*	 date/author：	2003/06/30	K.Hasegawa(MIS)							 */
/*	 text		：	変更履歴管理開始									 */
/*************************************************************************/
/*****************************************************************************/
/*	品番マスタ検索処理													 	 */
/*****************************************************************************/
CREATE OR REPLACE PACKAGE MODIFY_GF01_PKG AS
	PROCEDURE MODIFY_GF01(
		P_KEKKA		OUT	NUMBER,
		P_ERRMSGS	OUT	ERR_MSG_ARRAY,
		P_NAMES     IN  VARCHAR2,
		P_SYSARGS	IN  SYSARG_ARRAY,
		P_GF01ARG	IN	GF01ARG_ARRAY );
END;
/

CREATE OR REPLACE PACKAGE BODY MODIFY_GF01_PKG AS

	PROCEDURE MODIFY_GF01(
		P_KEKKA		OUT	NUMBER,
		P_ERRMSGS	OUT	ERR_MSG_ARRAY,
		P_NAMES     IN  VARCHAR2,
		P_SYSARGS	IN  SYSARG_ARRAY,
		P_GF01ARG	IN	GF01ARG_ARRAY ) IS
-------------------------------------------------------------------------------
---------------------------<< 変数宣言 >> -------------------------------------
-------------------------------------------------------------------------------
	-- エラーラベル
	SUBSCRIPT_NOT_EXISTS	EXCEPTION;	-- 配列要素エラー
	TOO_MANY_ERRORS			EXCEPTION;	-- エラー件数最大数オーバーエラー
	ACQUIRE_WITH_NOWAIT		EXCEPTION;	-- NOWAIT時ロックエラー
    I  NUMBER;

	BEGIN
		FOR I IN 1..P_SYSARGS.COUNT LOOP
		/* GF01 UPDATE */
		UPDATE GF01 SET
					SYSTEM_ID      	 = P_GF01ARG(I).SYSTEM_ID			,
					TBLSYU         	 = P_GF01ARG(I).TBLSYU         		,
					TABLESPACE_NAME	 = P_GF01ARG(I).TABLESPACE_NAME		,
					NAME_JA        	 = P_GF01ARG(I).NAME_JA        		,
--					FGADD          	 = P_GF01ARG(I).FGADD          		,
					DIRECTORY      	 = P_GF01ARG(I).DIRECTORY      		,
					DATA_FILE      	 = P_GF01ARG(I).DATA_FILE      		,
					SIZE_DATA      	 = P_GF01ARG(I).SIZE_DATA      		,
--					INITIAL_EXTENT 	 = P_GF01ARG(I).INITIAL_EXTENT 		,
--					MIN_EXTENTS    	 = P_GF01ARG(I).MIN_EXTENTS    		,
--					MAX_EXTENTS    	 = P_GF01ARG(I).MAX_EXTENTS    		,
--					PCT_INCREASE   	 = P_GF01ARG(I).PCT_INCREASE   		,
					STATUS         	 = P_GF01ARG(I).STATUS         		,
					FGJ            	 = '1'            					,
					DYUPD          	 = TO_CHAR(SYSDATE,'YYYYMMDDHH24MISS'),
					USRUPD         	 = P_GF01ARG(I).USRSET				,	
					PRGUPD		   	 = 'TEST32'
		WHERE
			 		UNIQ			 = P_GF01ARG(I).UNIQ  ;

	END LOOP;
		P_KEKKA := 0;

	EXCEPTION
		WHEN HYBS.TOO_MANY_ERRORS THEN
			HYBS.SET_LIMITOVER(P_ERRMSGS);
			P_KEKKA := 2;
		WHEN OTHERS THEN
--			オラクルエラー。
			HYBS.SET_ERRMSGS(P_ERRMSGS,				-- エラーメッセージ配列
						P_SYSARGS(I).NO,			-- 行番号
						2,							-- エラー結果(0:正常 1:警告 2:異常)
						to_char(SQLCODE),			-- オラクルエラーコード
						substrb( SQLERRM,1,100 ));	-- オラクルエラーメッセージ
			P_KEKKA := 2;
	END MODIFY_GF01;

END MODIFY_GF01_PKG;
/
SHOW ERROR;
