Expense 영수증 관리: Form
Expense 영수증 관리 생성
Page 번호 | 페이지 이름 |
---|---|
31 | Expenses |
32 | Expenses form |
Expenses 테이블을 PK를 위한 오라클 객체 생성
Sequence 객체를 생성하고 트리거로 일련 번호를 확보하여 PK로 설정합니다.
1. Sequence 생성
Object Browser를 이용하여 Sequence를 생성합니다.
- APEX Workspace SQL Workshop Object Browser
- Sequence 이름: expense_seq
2. 트리거 생성
- APEX Workspace SQL Workshop SQL Command
- Expenses 테이블의 Insert 문 수행 전에 작동하는 트리거
create or replace trigger "EXPENSES_T1"
BEFORE
insert on "EXPENSES"
for each row
begin
if :NEW."EXPENSE_ID" is null then
select "EXPENSE_SEQ".nextval into :NEW."EXPENSE_ID" from sys.dual;
end if;
end;
Expense Form 페이지
- 새로운 APEX 사용자 등록
- 대체 문자열 설정
- Page Item - Hidden 처리 (P32_CRE_DATE)
- List of Values 구성 (EMPLOYEES, EXPENSE_TYPES, RECEIPT_STATUS, CARD_TYPES)
- LoV 컴포넌트 설정
- 컴포넌트 명 한글화
- Page Item 타입 변경: P32_Title, P32_Description
- Page Item 타입 추가: P32_RECEIPT_PIC
- 폼 레이아웃 변경
새로운 APEX 사용자 등록
ID | Password | |
---|---|---|
flower | demo@gmail.com | Welcome123456! |
대체 문자열 설정
- P32_EMPLOYEE_ID
- Default
- Expression
- lower(:APP_USER)
List of Values 구성
- EMPLOYEES
- 유형: Shared Component
select employee_id r, emp_name || ' (' || t.team_name||', '||t.team_full_name ||')' d
from employees e, teams t
where e.team_id = t.team_id
- Expense Types
- 유형: Shared Component
select type_id as r, type_name as d from EXPENSE_TYPES
order by 1
- CARD TYPES
- 유형: Shared Component
Display | Return |
---|---|
개인카드 | pc |
법인카드 | cc |
- RECEIPT STATUS
- 유형: Shared Component
Display | Return |
---|---|
분실 | m |
보관 | k |
LoV 컴포넌트 설정
- 직원: select list
- 비용 결재 유형: select list
- 카드 유형: radio group
- 영수증 상태: radio group
Page Item 타입 추가
- P32_RECEIPT_PIC 복제
P32_RECEIPT_PIC_1
- type: Display Image
CSS 등록
- Expense Receipt Form CSS 속성 inline
img {
width: 200px;
height: 200px;
}
Disclaimer
이 저작물은 Oracle과 관계없이 개인으로서 개인의 시간을 할애하여 작성된 글 입니다. 본 글의 내용, 입장, 예측은 Oracle을 공식적으로 절대 대변하지 않습니다.