Successfully reported this slideshow.
We use your LinkedIn profile and activity data to personalize ads and to show you more relevant ads. You can change your ad preferences anytime.
Promotions The 2nd section                   2013.02.21                   이준서 수석
Master 기본 구조                                    Promotion Master                               Promotion Master Seq.(PK)  ...
SELECT Logic (1/4) : Parameter                               PRODUCT VALUE : [ 상품코드, 구매수량, 판매가격… ]                        ...
SELECT Logic (2/4) : Calculate     1. 정률 계산법     2. N+1 계산법  © 2005 Wisepost Business Partners All rights reserved
SELECT Logic (3/4) : Calculate     3. 연관 에누리 계산법  © 2005 Wisepost Business Partners All rights reserved
SELECT Logic (4/4) : Result Set        •   주문 데이터 생성 및 프로모션 적용 데이터 생성을 위한 결과 값을 도출한다.        •   기본적으로 프로모션단위-상품단위의 적용내용들을...
Promotion 적용 구조                         주문생성에 따른 프로모션의 적용 방법은                         주문번호 – 주문상품 순번 – 프로모션 적용순서의 원칙으로 적용시...
Upcoming SlideShare
Loading in …5
×

Promotions_2nd_SYS4U I&C

  • Be the first to comment

  • Be the first to like this

Promotions_2nd_SYS4U I&C

  1. 1. Promotions The 2nd section 2013.02.21 이준서 수석
  2. 2. Master 기본 구조 Promotion Master Promotion Master Seq.(PK) 프로모션 명 프로모션 타입코드 마스터 시작일자 마스터 종료일자 할인금액(율) Promotion Detail 정액/정률코드 Promotion Master Seq.(PK) 사용여부 Seq.(PK) 대상단위 시작일자 대상단위 종료일자 Promotion Assign (CPN) 대상코드(상품/카테고리) Promotion Master Seq.(PK) 할인금액(율) Seq.(PK) 정액/정률코드 회원번호 사용여부 © 2005 Wisepost Business Partners All rights reserved 사용여부 주문번호 지불번호
  3. 3. SELECT Logic (1/4) : Parameter PRODUCT VALUE : [ 상품코드, 구매수량, 판매가격… ] SESSION VALUE : [ 회원번호, 등급... ] CREATE OR REPLACE FUNCTION FN_RTN_PROMO (pStr VARCHAR2, pToken1 VARCHAR2, pToken2 VARCHAR2 DEFAULT NULL) RETURN T_GEN_TABLE is CREATE OR REPLACE TYPE GEN_TABLE AS OBJECT out_rec gen_table := gen_table(NULL,NULL,NULL,NULL,NULL); ( mHowStr NUMBER; COL_01 VARCHAR2(50), mTempStr VARCHAR2(500) := ; COL_02 VARCHAR2(50), mRst_ItemList t_gen_table := t_gen_table(); COL_03 VARCHAR2(50) ); begin mHowStr := fn_gettokencnt(pStr,pToken1); for i in 1..mHowStr loop BEGIN Product Value mTempStr := fn_gettoken(pStr,pToken1,i); Like Table… out_rec.COL_01 := fn_gettoken(mTempStr,pToken2,1); 상품코드 out_rec.COL_02 := fn_gettoken(mTempStr,pToken2,2); out_rec.COL_03 := fn_gettoken(mTempStr,pToken2,3); © 2005 Wisepost Business Partners All rights reserved EXCEPTION WHEN OTHERS THEN 구매수량 out_rec.COL_03 := ERR; END; 판매가격 mRst_ItemList.Extend; mRst_ItemList(mRst_ItemList.Last) := out_rec; ︙ end loop; RETURN mRst_ItemList; end;
  4. 4. SELECT Logic (2/4) : Calculate 1. 정률 계산법 2. N+1 계산법 © 2005 Wisepost Business Partners All rights reserved
  5. 5. SELECT Logic (3/4) : Calculate 3. 연관 에누리 계산법 © 2005 Wisepost Business Partners All rights reserved
  6. 6. SELECT Logic (4/4) : Result Set • 주문 데이터 생성 및 프로모션 적용 데이터 생성을 위한 결과 값을 도출한다. • 기본적으로 프로모션단위-상품단위의 적용내용들을 Result-set에 포함시키고, Application 단에서 handling을 할 부분과 Query에서 control 해야 할 부분들을 case by case에 맞추어 판단하는 것 이 중요하다. (ex. 중복적용 및 적용 우선순위, 특정 지불수단의 제어 등) • N+1, 연관할인 등에서 발생되는 단수처리 Looping을 적용하여 Result set에 반영한다. • 재계산, 취소계산에서도 공통적으로 사용이 가능하도록 날짜항목에 대한 Parameter처리를 고려하여 Logic을 구현한다. (SYSDATE의 사용을 최대한 지양할 것.) © 2005 Wisepost Business Partners All rights reserved ORDER Data Make & Make PROMOTION APPLY Data
  7. 7. Promotion 적용 구조 주문생성에 따른 프로모션의 적용 방법은 주문번호 – 주문상품 순번 – 프로모션 적용순서의 원칙으로 적용시킨다. Promotion Apply 주문번호(PK) 주문상품 순번(PK) Promotion 적용순서(PK) 적용구분(상품단위/주문단위) Promotion Master Seq. 실제 적용금액 적용여부 © 2005 Wisepost Business Partners All rights reserved ※ Promotion Apply는 주문 취소/재계산의 기준이 될 뿐 아니라, 매출을 넘기는 데 있어서의 기본 근거 자료가 되는 Dataset 이므로 Order Data에 버금가는 정합성을 가져야 한다.

×