문서의 이전 판입니다!
화면개발의 순서 엔터티관리 –> 오브젝트관리 –> SQL관리 –> 메시지관리 –> 서비스관리 –> jsp파일생성
새로운 테이블인 경우는 새로생성 기존테이블 변경시에는 수정한다.. (기존에 있는 테이블은 이과정을 생략한다.)
DECLARE AV_RET_CODE VARCHAR2(4000); AV_RET_MESSAGE VARCHAR2(4000); BEGIN P_MAKE_ENTITY('업무구분', '시퀀스명', '테이블명', AV_RET_CODE, AV_RET_MESSAGE) ; END;
오브젝트유형은 보통개발 하는 화면은 뷰로 등록 팝업오브젝트일 경우에는 높이 너비를 등록
SELECT lang_def_id , ...... FROM frm_lang_def WHERE lang_def_type=? AND (( ? IS NULL OR item_nm LIKE ?||'%') OR ( ? IS NULL OR item_def LIKE ?||'%')) ORDER BY item_nm, seq
ex) 조회조건메시지 → 요청메시지 조회결과메시지 → 반환메시지
1. 정의추가 버튼을 클릭한다.
2. 트리메뉴가 아닐 경우에는 메시지정의ID, 메시지정의명, 타입코드만 등록 후 메시지정의컬럼을 등록한다.
(트리메뉴는 문서하단에 따로 설명)
3. 메시지정의컬럼(요청메시지)
sql관리에서 등록한 sql파라메타를 메시지 정의 컬럼에 등록한다.
4. 메시지정의컬럼(반환메시지)
SQL로부터 읽어오기 버튼을 클릭한다.
sql관리에서 등록한 sql을 검색한 후 선택하고 확인하면 메시지정의 컬럼에 해당 sql이 출력하는 컬럼을 자동으로 등록해준다.
컬럼이 자동으로 등록이 안되면 쿼리가 잘못된것이다.
주로 쿼리에 같은 컬럼은 두번 조회한다거나, 세미콜론이 들어가거나, 주소바인딩(?) 앞뒤로 작은따옴표가 찍혀있거나 그런 경우엔 등록되어지지 않으므로 쿼리를 다시 수정, 저장하고 다시 시도하면 된다.
서비스는 기본적으로 조회서비스와 저장서비스로 나눠진다.
속성명과 기본값은 ME_SAVE_RESULT로 입력한다. (저장시에는 항상 이값으로 등록한다.)
5.1의 jsp는 html이 없이 <h5:H5View>~</ h5:H5View>로 이루어져있다. (전자결제의 경우는 <h5:ElaView>를 사용한다.)
jsp파일의 내용은 크게 <h5:Service>와 <h5:Layout> 두가지로 나누어진다. <h5:Service>부분은 화면을 구성하는데 필요한 코드 및 메시지를 정의하는 <h5:Data>부분과 기존 3.1의 doAction 부분과 같이 액션을 정의하는 <h5:Actions>부분으로 구성되어있다
<h5:Service> <h5:Data> –> 코드와 메시지를 정의하는 부분 <h5:Codes> –> 코드들을 정의하는 부분
→ 화면에서 사용하는 코드를 등록한다. <h5:code>~</h5:code> (공통코드인 FRM_LANG TYPE_CD를 langTypeCd라는 이름으로 사용하겠다고 등록) <h5:Code name=“langTypeCd” type=“COMMON_CODE” target=“FRM_LANG_TYPE_CD”> </h5:Code> </h5:Codes>
<h5:Messages> → 화면에서 사용하는 메시지(요청메시지, 반환메시지)를 등록한다.
<h5:Message type="MT_FLM0010_01" id="ME_FLM0010_01"></h5:Message> <h5:Message type="MT_FLM0010_02" id="ME_FLM0010_02"></h5:Message>
</h5:Messages>
</h5:Data>
<h5:Actions> → 화면에서 사용하는 액션을 정의한다.(조회,저장,다운로드 등)
→조회버튼 클릭시 action <h5:Action — 조회할때 사용하는 서비스를 target속성에 정의 name=“retrieve” type=“SERVICE_CALL” target=“FLM0010_00_R01”> <h5:Message id=“ME_FLM0010_01”></h5:Message> →요청메시지를 호출한다.
<h5:ResultEvent> ->3.1의 OnSearchEnd 의 부분
→ 반환메시지를 아래의 layout부분에서 바인딩한다. <h5:Action type=“BIND_DATA”>
<h5:Message id="ME_FLM0010_02"></h5:Message> </h5:Action> </h5:ResultEvent> <h5:FaultEvent> -> 실패시 <h5:Action type="ALERT"></h5:Action> </h5:FaultEvent>
</h5:Action>
→ 입력버튼 클릭시 action <h5:Action name=“new” type=“NEW_DATA”>
<h5:Message id=“ME_FLM0010_02”>
<h5:Column id=“lang_def_id” autoValue=“true” />
<h5:Column id=“lang_def_type” valueType=“script” >
<jsp:attribute name="value">
-> search1이라는 그리드의 lang_def_type의 값을 가져와서 등록한다.
(조회조건에서 입력한 값을 가지고 입력시 자동으로 세팅)
getGridColumnValue("search1", "lang_def_type")
</jsp:attribute> </h5:Column>
</h5:Message>
</h5:Action>
→ 저장버튼 클릭시 action
<h5:Action name=“save” type=“SERVICE_CALL” target=“FLM0010_00_S01” serviceCallType=“SAVE” useConfirm=“true”>
<h5:Message id=“ME_FLM0010_02”></h5:Message>
<h5:ResultEvent> -> 3.1의 OnSaveEnd <h5:Action type="ALERT"></h5:Action> <h5:Action type="RUN_ACTION" target="retrieve"></h5:Action> </h5:ResultEvent>
<h5:FaultEvent> → 실패시
<h5:Action type="ALERT"></h5:Action> </h5:FaultEvent>
</h5:Action>
</h5:Actions> </h5:Service>