SlideShare a Scribd company logo
1 of 7
Promotions
 The 2nd section


                   2013.02.21
                   이준서 수석
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
                    사용여부
                    주문번호
                    지불번호
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;
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


        •   주문 데이터 생성 및 프로모션 적용 데이터 생성을 위한 결과 값을 도출한다.

        •   기본적으로 프로모션단위-상품단위의 적용내용들을 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
Promotion 적용 구조


                         주문생성에 따른 프로모션의 적용 방법은
                         주문번호 – 주문상품 순번 – 프로모션 적용순서의 원칙으로 적용시킨다.




                                                  Promotion Apply
                                     주문번호(PK)
                                     주문상품 순번(PK)
                                     Promotion 적용순서(PK)
                                     적용구분(상품단위/주문단위)
                                     Promotion Master Seq.
                                     실제 적용금액
                                     적용여부
  © 2005 Wisepost Business Partners All rights reserved

             ※ Promotion Apply는 주문 취소/재계산의 기준이 될 뿐 아니라, 매출을 넘기는 데 있어서의
             기본 근거 자료가 되는 Dataset 이므로 Order Data에 버금가는 정합성을 가져야 한다.

More Related Content

Viewers also liked

JavaEE6 Tutorial - Java Message Service_sys4u
JavaEE6 Tutorial - Java Message Service_sys4uJavaEE6 Tutorial - Java Message Service_sys4u
JavaEE6 Tutorial - Java Message Service_sys4usys4u
 
About Color_SYS4U
About Color_SYS4UAbout Color_SYS4U
About Color_SYS4Usys4u
 
2012 UX Design Trend Report Part 2_SYS4U I&C
2012 UX Design Trend Report Part 2_SYS4U I&C2012 UX Design Trend Report Part 2_SYS4U I&C
2012 UX Design Trend Report Part 2_SYS4U I&Csys4u
 
iOS Human Interface Guidlines #15_SYS4U
iOS Human Interface Guidlines #15_SYS4UiOS Human Interface Guidlines #15_SYS4U
iOS Human Interface Guidlines #15_SYS4Usys4u
 
UIX UNIT_Several UI Teminologies Easy To Miss_SYS4U I&C
UIX UNIT_Several UI Teminologies Easy To Miss_SYS4U I&CUIX UNIT_Several UI Teminologies Easy To Miss_SYS4U I&C
UIX UNIT_Several UI Teminologies Easy To Miss_SYS4U I&Csys4u
 
Html5_SYS4U
Html5_SYS4UHtml5_SYS4U
Html5_SYS4Usys4u
 
Web Accessibility_SYS4U
Web Accessibility_SYS4UWeb Accessibility_SYS4U
Web Accessibility_SYS4Usys4u
 
웹어워드컨퍼런스강연자료 시스포유
웹어워드컨퍼런스강연자료 시스포유웹어워드컨퍼런스강연자료 시스포유
웹어워드컨퍼런스강연자료 시스포유sys4u
 
2012 UX Design Trend Report Part 1_SYS4U I&C
2012 UX Design Trend Report Part 1_SYS4U I&C2012 UX Design Trend Report Part 1_SYS4U I&C
2012 UX Design Trend Report Part 1_SYS4U I&Csys4u
 
UX Planning Training Course_SYS4U I&C
UX Planning Training Course_SYS4U I&CUX Planning Training Course_SYS4U I&C
UX Planning Training Course_SYS4U I&Csys4u
 
UX Layout Design_SYS4U
UX Layout Design_SYS4UUX Layout Design_SYS4U
UX Layout Design_SYS4Usys4u
 

Viewers also liked (11)

JavaEE6 Tutorial - Java Message Service_sys4u
JavaEE6 Tutorial - Java Message Service_sys4uJavaEE6 Tutorial - Java Message Service_sys4u
JavaEE6 Tutorial - Java Message Service_sys4u
 
About Color_SYS4U
About Color_SYS4UAbout Color_SYS4U
About Color_SYS4U
 
2012 UX Design Trend Report Part 2_SYS4U I&C
2012 UX Design Trend Report Part 2_SYS4U I&C2012 UX Design Trend Report Part 2_SYS4U I&C
2012 UX Design Trend Report Part 2_SYS4U I&C
 
iOS Human Interface Guidlines #15_SYS4U
iOS Human Interface Guidlines #15_SYS4UiOS Human Interface Guidlines #15_SYS4U
iOS Human Interface Guidlines #15_SYS4U
 
UIX UNIT_Several UI Teminologies Easy To Miss_SYS4U I&C
UIX UNIT_Several UI Teminologies Easy To Miss_SYS4U I&CUIX UNIT_Several UI Teminologies Easy To Miss_SYS4U I&C
UIX UNIT_Several UI Teminologies Easy To Miss_SYS4U I&C
 
Html5_SYS4U
Html5_SYS4UHtml5_SYS4U
Html5_SYS4U
 
Web Accessibility_SYS4U
Web Accessibility_SYS4UWeb Accessibility_SYS4U
Web Accessibility_SYS4U
 
웹어워드컨퍼런스강연자료 시스포유
웹어워드컨퍼런스강연자료 시스포유웹어워드컨퍼런스강연자료 시스포유
웹어워드컨퍼런스강연자료 시스포유
 
2012 UX Design Trend Report Part 1_SYS4U I&C
2012 UX Design Trend Report Part 1_SYS4U I&C2012 UX Design Trend Report Part 1_SYS4U I&C
2012 UX Design Trend Report Part 1_SYS4U I&C
 
UX Planning Training Course_SYS4U I&C
UX Planning Training Course_SYS4U I&CUX Planning Training Course_SYS4U I&C
UX Planning Training Course_SYS4U I&C
 
UX Layout Design_SYS4U
UX Layout Design_SYS4UUX Layout Design_SYS4U
UX Layout Design_SYS4U
 

More from sys4u

iOS Human Interface Guidlines #12_SYS4U
iOS Human Interface Guidlines #12_SYS4UiOS Human Interface Guidlines #12_SYS4U
iOS Human Interface Guidlines #12_SYS4Usys4u
 
iOS Human Interface Guidlines #11_SYS4U
iOS Human Interface Guidlines #11_SYS4UiOS Human Interface Guidlines #11_SYS4U
iOS Human Interface Guidlines #11_SYS4Usys4u
 
iOS Human Interface Guidlines #10_SYS4U
iOS Human Interface Guidlines #10_SYS4UiOS Human Interface Guidlines #10_SYS4U
iOS Human Interface Guidlines #10_SYS4Usys4u
 
Observer Design Pattern in Java_SYS4U
Observer Design Pattern in Java_SYS4UObserver Design Pattern in Java_SYS4U
Observer Design Pattern in Java_SYS4Usys4u
 
iOS Human Interface Guidlines #8_SYS4U
iOS Human Interface Guidlines #8_SYS4UiOS Human Interface Guidlines #8_SYS4U
iOS Human Interface Guidlines #8_SYS4Usys4u
 
iOS Human Interface Guidlines #7_SYS4U
iOS Human Interface Guidlines #7_SYS4UiOS Human Interface Guidlines #7_SYS4U
iOS Human Interface Guidlines #7_SYS4Usys4u
 
iOS Human Interface Guidlines #5_SYS4U
iOS Human Interface Guidlines #5_SYS4UiOS Human Interface Guidlines #5_SYS4U
iOS Human Interface Guidlines #5_SYS4Usys4u
 
iOS_Human_Interface_Guidlines_#4_SYS4U
iOS_Human_Interface_Guidlines_#4_SYS4UiOS_Human_Interface_Guidlines_#4_SYS4U
iOS_Human_Interface_Guidlines_#4_SYS4Usys4u
 
30_eCommerce_sites_using_html5_SYS4U
30_eCommerce_sites_using_html5_SYS4U30_eCommerce_sites_using_html5_SYS4U
30_eCommerce_sites_using_html5_SYS4Usys4u
 
iOS Human Interface Guidlines #3_SYS4U
iOS Human Interface Guidlines #3_SYS4UiOS Human Interface Guidlines #3_SYS4U
iOS Human Interface Guidlines #3_SYS4Usys4u
 
Advanced SWOT Analysis of e-commerce_SYS4U
Advanced SWOT Analysis of e-commerce_SYS4UAdvanced SWOT Analysis of e-commerce_SYS4U
Advanced SWOT Analysis of e-commerce_SYS4Usys4u
 
Proxy_design_pattern_in_Java_SYS4U
Proxy_design_pattern_in_Java_SYS4UProxy_design_pattern_in_Java_SYS4U
Proxy_design_pattern_in_Java_SYS4Usys4u
 
Memory_leak_patterns_in_JavaScript_SYS4U
Memory_leak_patterns_in_JavaScript_SYS4UMemory_leak_patterns_in_JavaScript_SYS4U
Memory_leak_patterns_in_JavaScript_SYS4Usys4u
 
Implementing_AOP_in_Spring_SYS4U
Implementing_AOP_in_Spring_SYS4UImplementing_AOP_in_Spring_SYS4U
Implementing_AOP_in_Spring_SYS4Usys4u
 
iOS Human_Interface_Guidlines_#2_SYS4U
iOS Human_Interface_Guidlines_#2_SYS4UiOS Human_Interface_Guidlines_#2_SYS4U
iOS Human_Interface_Guidlines_#2_SYS4Usys4u
 
iOS Human_Interface_Guidlines_#1_SYS4U
iOS Human_Interface_Guidlines_#1_SYS4UiOS Human_Interface_Guidlines_#1_SYS4U
iOS Human_Interface_Guidlines_#1_SYS4Usys4u
 
JavaScript Profiling With The Chrome Developer Tools_SYS4U I&C
JavaScript Profiling With The Chrome Developer Tools_SYS4U I&CJavaScript Profiling With The Chrome Developer Tools_SYS4U I&C
JavaScript Profiling With The Chrome Developer Tools_SYS4U I&Csys4u
 
From Java code to Java heap_SYS4U I&C
From Java code to Java heap_SYS4U I&CFrom Java code to Java heap_SYS4U I&C
From Java code to Java heap_SYS4U I&Csys4u
 
Introduction to Fork Join Framework_SYS4U I&C
Introduction to Fork Join Framework_SYS4U I&CIntroduction to Fork Join Framework_SYS4U I&C
Introduction to Fork Join Framework_SYS4U I&Csys4u
 

More from sys4u (19)

iOS Human Interface Guidlines #12_SYS4U
iOS Human Interface Guidlines #12_SYS4UiOS Human Interface Guidlines #12_SYS4U
iOS Human Interface Guidlines #12_SYS4U
 
iOS Human Interface Guidlines #11_SYS4U
iOS Human Interface Guidlines #11_SYS4UiOS Human Interface Guidlines #11_SYS4U
iOS Human Interface Guidlines #11_SYS4U
 
iOS Human Interface Guidlines #10_SYS4U
iOS Human Interface Guidlines #10_SYS4UiOS Human Interface Guidlines #10_SYS4U
iOS Human Interface Guidlines #10_SYS4U
 
Observer Design Pattern in Java_SYS4U
Observer Design Pattern in Java_SYS4UObserver Design Pattern in Java_SYS4U
Observer Design Pattern in Java_SYS4U
 
iOS Human Interface Guidlines #8_SYS4U
iOS Human Interface Guidlines #8_SYS4UiOS Human Interface Guidlines #8_SYS4U
iOS Human Interface Guidlines #8_SYS4U
 
iOS Human Interface Guidlines #7_SYS4U
iOS Human Interface Guidlines #7_SYS4UiOS Human Interface Guidlines #7_SYS4U
iOS Human Interface Guidlines #7_SYS4U
 
iOS Human Interface Guidlines #5_SYS4U
iOS Human Interface Guidlines #5_SYS4UiOS Human Interface Guidlines #5_SYS4U
iOS Human Interface Guidlines #5_SYS4U
 
iOS_Human_Interface_Guidlines_#4_SYS4U
iOS_Human_Interface_Guidlines_#4_SYS4UiOS_Human_Interface_Guidlines_#4_SYS4U
iOS_Human_Interface_Guidlines_#4_SYS4U
 
30_eCommerce_sites_using_html5_SYS4U
30_eCommerce_sites_using_html5_SYS4U30_eCommerce_sites_using_html5_SYS4U
30_eCommerce_sites_using_html5_SYS4U
 
iOS Human Interface Guidlines #3_SYS4U
iOS Human Interface Guidlines #3_SYS4UiOS Human Interface Guidlines #3_SYS4U
iOS Human Interface Guidlines #3_SYS4U
 
Advanced SWOT Analysis of e-commerce_SYS4U
Advanced SWOT Analysis of e-commerce_SYS4UAdvanced SWOT Analysis of e-commerce_SYS4U
Advanced SWOT Analysis of e-commerce_SYS4U
 
Proxy_design_pattern_in_Java_SYS4U
Proxy_design_pattern_in_Java_SYS4UProxy_design_pattern_in_Java_SYS4U
Proxy_design_pattern_in_Java_SYS4U
 
Memory_leak_patterns_in_JavaScript_SYS4U
Memory_leak_patterns_in_JavaScript_SYS4UMemory_leak_patterns_in_JavaScript_SYS4U
Memory_leak_patterns_in_JavaScript_SYS4U
 
Implementing_AOP_in_Spring_SYS4U
Implementing_AOP_in_Spring_SYS4UImplementing_AOP_in_Spring_SYS4U
Implementing_AOP_in_Spring_SYS4U
 
iOS Human_Interface_Guidlines_#2_SYS4U
iOS Human_Interface_Guidlines_#2_SYS4UiOS Human_Interface_Guidlines_#2_SYS4U
iOS Human_Interface_Guidlines_#2_SYS4U
 
iOS Human_Interface_Guidlines_#1_SYS4U
iOS Human_Interface_Guidlines_#1_SYS4UiOS Human_Interface_Guidlines_#1_SYS4U
iOS Human_Interface_Guidlines_#1_SYS4U
 
JavaScript Profiling With The Chrome Developer Tools_SYS4U I&C
JavaScript Profiling With The Chrome Developer Tools_SYS4U I&CJavaScript Profiling With The Chrome Developer Tools_SYS4U I&C
JavaScript Profiling With The Chrome Developer Tools_SYS4U I&C
 
From Java code to Java heap_SYS4U I&C
From Java code to Java heap_SYS4U I&CFrom Java code to Java heap_SYS4U I&C
From Java code to Java heap_SYS4U I&C
 
Introduction to Fork Join Framework_SYS4U I&C
Introduction to Fork Join Framework_SYS4U I&CIntroduction to Fork Join Framework_SYS4U I&C
Introduction to Fork Join Framework_SYS4U I&C
 

Promotions_2nd_SYS4U I&C

  • 1. Promotions The 2nd section 2013.02.21 이준서 수석
  • 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. 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. SELECT Logic (2/4) : Calculate 1. 정률 계산법 2. N+1 계산법 © 2005 Wisepost Business Partners All rights reserved
  • 5. SELECT Logic (3/4) : Calculate 3. 연관 에누리 계산법 © 2005 Wisepost Business Partners All rights reserved
  • 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. Promotion 적용 구조 주문생성에 따른 프로모션의 적용 방법은 주문번호 – 주문상품 순번 – 프로모션 적용순서의 원칙으로 적용시킨다. Promotion Apply 주문번호(PK) 주문상품 순번(PK) Promotion 적용순서(PK) 적용구분(상품단위/주문단위) Promotion Master Seq. 실제 적용금액 적용여부 © 2005 Wisepost Business Partners All rights reserved ※ Promotion Apply는 주문 취소/재계산의 기준이 될 뿐 아니라, 매출을 넘기는 데 있어서의 기본 근거 자료가 되는 Dataset 이므로 Order Data에 버금가는 정합성을 가져야 한다.