/****************************************************************************/
/* SYSTEM_ID : GE                                                           */
/* GE52POS_SET ( PROCEDURE )                                                */
/* Created : 2016/10/27 10:56:54                                            */
/****************************************************************************/

CREATE 
PROCEDURE GE52POS_SET(
	XSYSTEM_ID  IN VARCHAR2 ,
	XLISTID     IN VARCHAR2 ,
	XKBTEXT     IN VARCHAR2  )
/**********************************************************************/
/* 帳票レイアウトテーブル 開始位置自動設定                            */
/*  GE52POS_SET( SYSTEM_ID,LISTID,KBTEXT )                            */
/*                                                                    */
/*	 SYSTEM_ID  IN VARCHAR2           システムID                      */
/*	 LISTID     IN VARCHAR2           帳票ID                          */
/*	 KBTEXT     IN VARCHAR2           テキスト区分(H,F,B)             */
/*                                                                    */
/*	指定された属性を元に、GE52 のSEQ(表示順)を元に、START_POS を      */
/*	再設定します。                                                    */
/*  同時に、SEQそのものも、正規の形に、直します。                     */
/*                                                                    */
/**********************************************************************/
IS
	NEWSEQ	GE52.SEQ%TYPE         := 10;
	NEWPOS	GE52.START_POS%TYPE   := 1;
	CNTPLUS NUMBER(2)             := 10 ;

	CURSOR CODEC1 IS
		SELECT ROWID,USE_LENGTH
			FROM GE52
			WHERE	SYSTEM_ID  = XSYSTEM_ID
			AND		LISTID     = XLISTID
			AND		KBTEXT     = XKBTEXT
--			AND		FGUSE     IN ( '0','1' )
			AND		FGJ       IN ( '0','1' )
			ORDER BY SEQ ;

	CODEREC CODEC1%ROWTYPE;

BEGIN
	OPEN	CODEC1;
	LOOP
		FETCH CODEC1 INTO CODEREC;
		EXIT WHEN CODEC1%NOTFOUND;

		UPDATE GE52
			SET SEQ = NEWSEQ , START_POS = NEWPOS
			WHERE ROWID = CODEREC.ROWID ;

		NEWSEQ := NEWSEQ + CNTPLUS ;
		NEWPOS := NEWPOS + CODEREC.USE_LENGTH ;

	END LOOP;
	CLOSE CODEC1;

END GE52POS_SET;
;
