1pds13.egloos.com/pds/200903/03/98/a011…  · Web view · 2009-03-03- 일반적으로,...

23
1. 기기기기기기 기기 - User-exit(일일: Customer-exit)일일 ? SAP R/3 일일일일 일일일일 일일 일일일 일일일일 일일일 Configuration 일 일일일일일일 일일일 일일일일 일일 일일 일일일 일일 일일일일일일 일일일 일일일 일일일일 일일일 일일일일일 일일일일. - 일일일일일, User-exit일일 일일 Validation 일 Substitution일일 일일일일, 일일일일 일일일일 일일일 일일일일. - Enhancement User-exit일 일일일 User-exit일일 일일일 일일일일일 일일 일일일 일일 Function,Field,Screen,Menu Exit일일일, 일일일일 일일일일일 일일일 일일 일 일일일 일일일, 일일일일 4일일일 일일일 일일일일 Enhancement User-exit일 일일일 일일일일일 1일(COOMKS01) 일일일일. - 4.0 Ver.일일 일일일일 일일일 일일일일 Business Transaction Event일 일일 일일일 SAP R/3 일일일 일일일 standard process일 일일 일일 User일 일일일 Process일 일일일일 일일. 일일일 일일일 User-exit일일 일일일일, 일 일일일일일일일 일일일일일 일일. 일일일일 일 일일일일일일일 일일일일일일 일일 일일일 일일 일일일일. 2. User-exit기 기기 2.1 Validation & Substitution (Costs of sales account) 2.2 Enhancement User-exit - Function exit - Screen/Field/Menu Exit 2.3 일일 . SPL(Special purpose Ledger) User-exit

Transcript of 1pds13.egloos.com/pds/200903/03/98/a011…  · Web view · 2009-03-03- 일반적으로,...

Page 1: 1pds13.egloos.com/pds/200903/03/98/a011…  · Web view · 2009-03-03- 일반적으로, User-exit이라 하면 Validation 및 Substitution으로 분류되며, ... (E_KORRESPBANK)

1. 기술템플리트 개요    - User-exit(일명: Customer-exit)이란 ?  SAP R/3 표준으로 반영되어 있지 않으나     사용자가 필요시 Configuration 및 프로그램밍을 통해서 입력값을 통제 또는      원하는 값을 자동반영하는 것으로 모듈별 시나리오 형태로 제한적으로 제공된다.     - 일반적으로, User-exit이라 하면 Validation 및 Substitution으로 분류되며,     모듈별로 그기능이 조금씩 상이하다.    - Enhancement User-exit은 확장된 User-exit으로 모듈별 시나리오에 의해 제한적     으로 Function,Field,Screen,Menu Exit있으며, 업무처리 기능화면에 필요한 형식     은 갖추고 있으나, 한꺼번에 4가지를 동시에 만족하는 Enhancement User-exit은      본인이 확인바로는 1건(COOMKS01) 존재한다.    - 4.0 Ver.부터 제공되는 특별한 기능으로 Business Transaction Event가 존재     하는데 SAP R/3 표준에 적절한 standard process가 없을 경우 User가 개발한     Process로 대체할수 있다. 이것도 일종의 User-exit으로 판단되며,      본 기술템플리트에 추가하고자 한다.     아무쪼록 본 기술템플리트가 여러분들에게 많은 도움이 되길 바랍니다.         2. User-exit의 종류     2.1  Validation & Substitution         (Costs of sales account)    2.2  Enhancement User-exit          - Function exit          - Screen/Field/Menu Exit

Page 2: 1pds13.egloos.com/pds/200903/03/98/a011…  · Web view · 2009-03-03- 일반적으로, User-exit이라 하면 Validation 및 Substitution으로 분류되며, ... (E_KORRESPBANK)

    2.3  기타        . SPL(Special purpose Ledger) User-exit    2.4  Business Process event     각각의 기능 및 사용법 그리고 활용방안에 대해 알아보자.      3. Validation,Substitution,SPL User-exit(Field Movement)             Validation/Substitution,SPL User-exit과 관련하여 Configuration내의    User-exit ID와 관련한 프로그램 Configuration은 아래와 같다.     

← SAPMF02H-0402 화면의 Account number 가 사용하는 Data element             Language        EN     ← 사용할 Language

← SAPMF02H-0402 화면의 Account number 가 사용하는 Data element                      < 그림 1.  Validation  >         

Page 3: 1pds13.egloos.com/pds/200903/03/98/a011…  · Web view · 2009-03-03- 일반적으로, User-exit이라 하면 Validation 및 Substitution으로 분류되며, ... (E_KORRESPBANK)

  

2000.06.02YOUKJ

Change─────────────────────────┐Account

Account numberAccount number

Account numberG/L Account number

└────────────────────────────┘                       < 그림 2.  Substitution  >                             < 그림 3. SPL User-exit(Field Movement) >   □ User-exit ID 관리            1) GCX2  : Application area별로 User exit 프로그램 등록을 등록한다.                 Standard 프로그램을 등록하면, 신규 User-exit ID를 생성하면                 Standard 프로그램을 BPM하여야 하기 때문에 CBO 프로그램으로                  대체한다.          Menu Path : GCU0 → Basic settings → User exits → Client dependent 

Page 4: 1pds13.egloos.com/pds/200903/03/98/a011…  · Web view · 2009-03-03- 일반적으로, User-exit이라 하면 Validation 및 Substitution으로 분류되며, ... (E_KORRESPBANK)

         GBLR      ZGGBR900  Val/sub: Exits for rules                         <=  ① Validation 용         GBLS      ZGGBS900  Val/sub:Exits for substitution                   <=  ② Substitution 용         GBRU      RGLVU000  Rollup: User exits         GIMV      ZGIVS000  Variable field movement                   <=  ③ SPL Field movement         KROU      RKROU000  Cst ctr summariztn: User exits         LCBA                LC: GesBerSubstitution         LCTT                LC: TransTypeSubstitution         ZF09      SAPFGLET  FI-SL: Ledger Selection User E                     <=  SPL Ledger Selection      2)  GGB4  : 각모듈별 Validation & Substitution rule 통합 분석 T-CODE    3.1 Validation Rule 생성 방법       화면 레이아웃, Maintenance level 및 디폴트 값 지정에 추가적인 옵션 기능      으로 Validation 중에 입력된 값들은 사용자가 정의한 조건들에 의해 체크되며      입력후 변경이 발생한 시점에서 Validation이 재작동된다. 조건이 충족되면      입력된 값을 받아들이고 그렇지 않은 경우는 에러 메시지를 발생시키는데 이      오류 및 경고 메시지를 사용자가 Validation조건에서 지정해 줄수 있다.      간단히 말해 이중 체크기능으로 사용자가 경고 및 오류 메세지를 만들수 있는      보조 기능이다.         1) 모듈별 Validation Callup Point          Callup point란 ?  해당 validation이 언제 실행될지를 나타나는 것이다. 

모듈 Callup Point 설명

Page 5: 1pds13.egloos.com/pds/200903/03/98/a011…  · Web view · 2009-03-03- 일반적으로, User-exit이라 하면 Validation 및 Substitution으로 분류되며, ... (E_KORRESPBANK)

FI0001 Document header0002 Line item0003 Complete document

- 전표 Header(BKPF)와 Line Item(BSEG) 정보

  에 대한 Check

AA0001 Master data 0002 Postings

- 자산마스타(A)와 감가상각영역(B)기준으로

  Field Group과 Logical Fld group에 의해처리

- Transaction type group별로 FI 기표시 Check

LC

0001 Document header0002 Line item0003 Complete document0010 LC Complete summary data

- 원장,Version(Actual,Plan)별로 Check  : FILCT

CCA 0001 Line item0100 Document header

- CO-CCA이 Document Header(COBK)와 Line Item  (COBL)에 대한 Check

PS 0110 Project definition0120 WBS element - PS의 Project와 WBS 생성시 Check(PROJ)

                         기타 : IS모듈의 Real estate Validation이 존재한다.

Page 6: 1pds13.egloos.com/pds/200903/03/98/a011…  · Web view · 2009-03-03- 일반적으로, User-exit이라 하면 Validation 및 Substitution으로 분류되며, ... (E_KORRESPBANK)

      2) Validation Rule 설정            □ Name 설정 방법           - Validation : 실제 validation rule을 부여하는 명칭을 영문과 숫자의                          조합으로 naming rule에 의해서 설정.           - Usage : application area : 적용하는 모듈을 의미.            - callup point : 어느 시점에 validation rule이 적용되는지를 결정.            □ 실제 Validation rule 설정            - Insert entry를 한다.           - Prerequisite와 check에다 data 값을 입력한다.             Prerequisite : Validation을 설정하는데 있어 사전조건을 설정하는                             것으로 예를들면, ‘Cost center가 제조경비 부서코드이                            다.’라는 것이 사전조건이다.           - 필드를 선택하는 방법은 Flds in Bool.statmnt를 click한 다음 search             (망원경)를 click하여 찾고자 하는 필드 name(예를 들면 cost center를             찾을 경우에는 center만 입력)을 입력하고 enter를 치면 그와 관련된              모든 필드의 table과 field가 모두 뜬다. 이중에서 필요한 필드를 선택             하면 된다.(모듈별 Application area별로 관리 Table이 상이하다)           - Check는 이해를 잘 해야 하는 부분인데 여기서 설정하는 부분은 올바른             부분 즉, 제조경비 부서코드의 경우에는 제조경비 계정만 기표가 가능

Page 7: 1pds13.egloos.com/pds/200903/03/98/a011…  · Web view · 2009-03-03- 일반적으로, User-exit이라 하면 Validation 및 Substitution으로 분류되며, ... (E_KORRESPBANK)

            하고 판매관리비, 일반관리비는 기표가 불가능하다고 보면 Check 부분에            는 G/L A/C가 제조경비계정이다.             예를들면, 계정과목코드 P1010101부터 P4030099까지가 제조경비계정과목                      이면,                       <BSEG> $HKONT > 'P1010100' AND $HKONT < 'P4030100        - Message 부분에 대해서도 아래와 같이 설정해야 한다.          Message Type(A:Cancel,E:Error,W:Warning, I:Information)중 하나를 설정          하면 된다. No에는 해당하는 Message number를 설정하면 된다.          Output fields 및 trriger workflow(미사용)는 설정할 필요가 없다.             - 위와 같이 Prerequisite,Check,Message등을 설정한 다음 우측 상단에 있는          Check function key를 click하여 syntax correct라는 message가 나와야 정          상적으로 설정한 Validation rule이다. 그런 다음 Save를 하면 ABAP/Code          가 자동 Generation이 하단에 Message로 뿌려질 것이다.        - 해당 Validation을 Active 시키면 된다.(주로 1 : active 0 : Inactive)         ※ 별첨 1 :  Validation 예제 프로그램   3.2 Substitution Rule 생성 방법      Substitution이란 Replacement, 즉 대체처리라는 의미이다.     사전에 설정된 조건(Prerequisite)을 만족하면 주어진 필드에 입력된 값을     대체처리하거나 User exits(그림 2)에 정의된 내용을 수행하여 대체처리하는     기능을 의미한다.     1) 모듈별 Substitution Callup Point

모듈 Callup Point 설명

Page 8: 1pds13.egloos.com/pds/200903/03/98/a011…  · Web view · 2009-03-03- 일반적으로, User-exit이라 하면 Validation 및 Substitution으로 분류되며, ... (E_KORRESPBANK)

FI

0001 Document header0002 Line item0003 Complete document0005 Cost of sales accounting

- 전표 Header(BKPF)와 Line Item(BSEG)   정보에 대한 대체값 지정(조직,금액은

  수정불가)

AA

0001 Master data0002 Postings0003 AM - Fixed asset retirement0004 AM - Master data mass change0005 Simulation version

- 자산마스타(A)와 감가상각영역(B)기준으로

  Field Group과 Logical Fld group에 의해

  대체값 지정

CO0001 Line item0010 Order0100 Document header

- CO Document header(COBK)와 line item     (COBL)  에 대한 대체값 지정

 

Page 9: 1pds13.egloos.com/pds/200903/03/98/a011…  · Web view · 2009-03-03- 일반적으로, User-exit이라 하면 Validation 및 Substitution으로 분류되며, ... (E_KORRESPBANK)

    2) Substitution rule 설정        - Menu Path : SPRO → Financial Accounting Special Purpose Ledger →                     Tools →Maintain Validation/Substitution/Rules →                     Maintain Substitution        - T-Code: GGB1(Change Substitution)       - Substitution 메뉴에서 Create Mode로 전환하면 실제 Substitution Rule을         설정하는 화면이 나타난다.       - Substitution : Substitution rule 명칭을 영문과 숫자의 조합으로 naming                        rule에 의해서 설정한다.       - Usage : Application area : 적용하는 모듈을 의미한다.        - Callup point : 어느 시점에 Substitution rule이 적용되는지를 결정한다.                        단, Callup point는 Application area에 따라서 선택범위가                         달라지는데 Application area가 'FI'일 경우는 4가지이다.                        1:Document header                         2:Line item                        3:Complete document                        5:Cost of sales accounting       - Substitution rule 생성순서         ① Substitution rule에 대한 Text를 먼저 입력한다.         ② Step 설정            Insert entry를 클릭한다. 그러면 Fields for Substitutions(Class 009)            이라는 pup-up Windows가 나타나며 Table, Field, Description,Type,            자리수 등이 Display된다. 그중 변경하고자 하는 Field를 선택한다.             그러면 Step 1의 화면이 나타나고 이에 대한 Description을 입력한다.         ③ Prerequisite와 Substitutions(if prerequisite is met) 정의            . Prerequisite : Substitution이 적용될 사전조건을 설정하는 것이다.              <<예를 들면>> Document header Text(BKPF-BKTXT)가 space가 아니면서              Line item text(BSEG-SGTXT)가 space인 경우 Substitution을 적용하려

Page 10: 1pds13.egloos.com/pds/200903/03/98/a011…  · Web view · 2009-03-03- 일반적으로, User-exit이라 하면 Validation 및 Substitution으로 분류되며, ... (E_KORRESPBANK)

              한다면,   <BKPF> $BKTXT:1: <> ' ' AND                        <BKPF> $TCODE = 'XXXX'  AND                        <BSEG> $HKONT = 'XXXXXXXX' AND                             <BSEG> $SGTXT:1: = ' '   라고 작성해야 한다.                ※ 참고 : 조건문에 입력할 필드를 선택하는 방법은 Flds in Bool.statmnt를                    click한 다음 입력하고자 하는 필드를 찾아 더블클릭하거나                    select 버튼을 클릭한후 enter하면 선택한 필드명이 입력된다.                    여기에 'AND' 또는 'OR'와 같은 조건을 입력하여 문장을 완성하도                   록 한다.       . Substitutions(if prerequisite is met)         A. 실제 substitute되는 값이 상수일 경우 Constant value field에 그 값을            입력한다. 예를 들면, 위의 조건을 만족할때 line item의 text field에            'MM Document’라고 입력하려면 Constant value field에‘MM Document’            라고 입력 하면되고,         B. 실제 Substitute되는 값이 상수가 아닐 경우는 Sub.exit(그림 2)를 이용            한다. Document header text를 Line item text로 대체하려는 경우 sub.             exit을 사용한다. Sub.exit란에 적용할 User exit을 입력한다. 단, 입력            한 User exit은 User exit program에 Form 으로 Source coding되어있어야            한다. ( User-exit ID란 참조 : 작동 프로그램을 등록)      ④ 위와 같이 Prerequisite, Substitutions(if prerequisite is met)등을 설정         한 다음 우측 상단에 있는 Check function key를 click하여 syntax correct         라는 message가 나와야 정상적으로 설정한 substitution rule이다.         그런 다음 save를 하면 'ABAP/4 Code Generation'이라는 Message가 하단에         뿌려질 것이다. 이렇게 하면 Substitution rule설정이 완료된다.         단, 추가로 필요한 rule이 있으면 Insert entry를 click하여 필요한 Rule을

Page 11: 1pds13.egloos.com/pds/200903/03/98/a011…  · Web view · 2009-03-03- 일반적으로, User-exit이라 하면 Validation 및 Substitution으로 분류되며, ... (E_KORRESPBANK)

         설정하면 된다.         ※ 별첨 2 : Substitution 예제 프로그램     3) Substitution 가능 필드 만들기        ※ 별첨 3 : FI substitution 가능 field 등록방법(OSS Note No. 42615)                여기서는 특이사항으로 FI Substitution rule에서 BA 변경은 불가능하다.      BA를 변경할 수 있는 Rule은 아래와 같다. 하지만, 전 모듈에 걸쳐 적용되      는 것은 아니다.       □ ABAP/4 프로그램을 사용하여 GB01 table를 update.           A) 수정 : Bool. class = 009를 수정             Bool. class Class type Table      Field      Exclude             ----------------------------------------------------             009         S          BSEG       GSBER      X             ===> 를 아래와 같이 수정             Bool. class Class type Table      Field      Exclude             ----------------------------------------------------             009         S          BSEG       GSBER              B) 삭제 : Bool. class = 015를 삭제             Bool. class Class type Table      Field      Exclude             ----------------------------------------------------              015         S          BSEG       *          X            C) 이 작업은 불필요 할 것으로 추정됨. 테스트를 위하여 실시함.             GB01 table를 다음과 같이 추가로 수정하여 테스트 하여도 결과는            동일함.  GB01 table에 008, 015두개의 record를 추가함              Bool. class Class type Table      Field      Exclude             ----------------------------------------------------

Page 12: 1pds13.egloos.com/pds/200903/03/98/a011…  · Web view · 2009-03-03- 일반적으로, User-exit이라 하면 Validation 및 Substitution으로 분류되며, ... (E_KORRESPBANK)

             008         S          BSEG       GSBER             015         S          BSEG       GSBER         □ RGUGBR00을 실행시켜 regenerate시킴.        □ Substitution rule을 정의 :             GCU0 > Tools > Val/Sub/Rules > Substitution에서 [FIS_002]를 다음과           같이 생성한다            Field               Constant value       Sub.exit          -------------------------------------------------          Business area                            U012           ※ GCU0 > Basic setting > User exits > Client-dependent에서             Appl. area : GBLS에 "ZGGBS900"를 넣는다.        □  ZGGBS900프로그램에 다음을 코딩한다.           3.2 SPL User-exit(Field movement)        Field movement는 Ledger와 FI-SL interface Structure의 필드를 서로 연결       시켜주는 역할을 담당하며, User-exit을 이용하여 특정값을 변경할 수 있다.       - I/F table :  ACCHD,ACCIT_GLX,ACCCR       - User-exit naming rule  :    SXX  ->  SAP  Standard                                         UXX  ->  Customer       SPL에 관련된 구체적인 사항은 『 System구축-SPL기능활용』기술템플리트를       활용하시기 바랍니다.        ※ 별첨 4 : Field Movement User-exit 예제 프로그램 

Page 13: 1pds13.egloos.com/pds/200903/03/98/a011…  · Web view · 2009-03-03- 일반적으로, User-exit이라 하면 Validation 및 Substitution으로 분류되며, ... (E_KORRESPBANK)

 4. Enhancement User-exit     4.1 Function exits       Function exits are function modules that have been defined by SAP   and      that you can activate.  The application developers determine which data      is passed on and define the function groups and function modules in the       function library (with short text and interface, but without coding).       Function exits은 Substitution과 비슷한 기능이지만, Substitution에서 해결      할수 없는 기능을 활용코져 할시 사용되며, 함수로 구성되어 있다. 본 Function      exit는 독일 개발자의 배려에 의해 철저한 시나리오에 의해 제한적으로 제공      되며 Business Process상에서 원하는 기능 Enhancement User-exit에서 찾기에는      상당한 시간과 노력이 필요하다. 당연히 원하는 기능이 작동되는지 테스트는      필수적이다.  Fubction exit은 Enhancement중 가장많은 비중을 차지한다.            1) Function exit 사용법 및 활용사례         A) 원하는 기능이 작동되는 Enhancement User-exit ID를 찾는다(SMOD)            ABAP/4 Workbench → Enhancements → Definition            Documentation을 잘읽어 보면, Sample 프로그램이 제공되나 없는것도             많다.                  B) Project를 생성한다.(CMOD)

Page 14: 1pds13.egloos.com/pds/200903/03/98/a011…  · Web view · 2009-03-03- 일반적으로, User-exit이라 하면 Validation 및 Substitution으로 분류되며, ... (E_KORRESPBANK)

            임의의 Project ID 생성후 Text와 Enhancement ID를 등록하고 Function            내 Include Program 를 생성한다.            function exits의 Naming은 EXIT_XXXXXXXX_001 형태로 구성되어 있으며            프로그램은 Change상태일때만 프로그램 Source가 보인다.          C) 활용예제             - AFAR0002 : Calculation Key - Depreciation method "Z" : 상각            - AINT0002 : Changing Retirement account by Transaction type            - AINT0004 : LINE ITEM 금액변경(금융비용자본화:건설자금이자)            - CNEX0006 : PS customer specific fields project definition            - COPA0001 : Enhancement for derivation in Profitability Analysis            - RFEPOS00 : Line item display: Checking of selection condition            - SUSR0001 : User exit after logon to SAP System              - SDVFX002 : User exit for A/R line (transfer to accounting)            - SDVFX007 : User exit: Billing plan during transfer to Accounting            ※ 별첨 5 : Function exit 예제 프로그램      4.2 Screen exits         Screen exits enable you to add additional fields to a screen.         Neither this documentation nor any part of it may be copied or         reproduced in any form or by any means or translated into another        language, without the prior consent of SAP AG.                Screen exit이 존재하면, 반드시 Screen과 관련된 정보항목을 Check하기

Page 15: 1pds13.egloos.com/pds/200903/03/98/a011…  · Web view · 2009-03-03- 일반적으로, User-exit이라 하면 Validation 및 Substitution으로 분류되며, ... (E_KORRESPBANK)

        위한 function exit이 존재하고, Screen을 Invoke시킬 Menu exit이 동반된다.         작업절차는 function exit과 동일하며, Naming은 메인 프로그램이름과         Screen No,그리고 Customer exit 프로그램과 Screen No으로 구성된다.         예제) SAPLCJWB0205_CUSTSCR1_SAPLXCN10600(CNEX0006)

                    활용사례)         - COOMKS01      Customer Fields for Cost Center Master Data        - CNEX0006      PS customer specific fields project definition    4.3 Menu exits       Menu exits can be used to activate menu items and furnish them with       additional functionality.       예제)      Project CNEX0006 :  PS customer specific fields project definition      Menu entries:           SAPLCJGR+CUD           SAPLCJWB+CUD    Double click하면 Function text 입력창이 나타나고

Page 16: 1pds13.egloos.com/pds/200903/03/98/a011…  · Web view · 2009-03-03- 일반적으로, User-exit이라 하면 Validation 및 Substitution으로 분류되며, ... (E_KORRESPBANK)

                           " Porject more Inform." 입력

                           활용사례)         - COOMKS01      Customer Fields for Cost Center Master Data        - CNEX0006      PS customer specific fields project definition     4.4 Field exits 

 - Path:  CMOD > Text enhancements > Field exits 로 이동한 뒤 - Field exits > Create 로 이동하면 Pop up 화면이 나타난다.← SAPMF02H-0402 화면의 Account number 가 사용하는 Data element

   - 위와 같이 원하는 화면의 필드의 Data element를 확인 후 입력한뒤 Enter   key를 치면 Function builder화면이 나오며 Function module명에  FIELD_EXIT_SAK16  이라는 함수명이 setting되어 나온다. 여기에서 SAK16은

  Data element의 이름이다.- Create 버튼을 눌러 함수를 생성한다. 이때 함수의 기본적이 정보인   Application, Short text, Function group 등 만을 입력하고 코딩을   하면된다.- Import/Export 파라메터는 자동으로 INPUT/OUTPUT로 되어있으며 이것을

Page 17: 1pds13.egloos.com/pds/200903/03/98/a011…  · Web view · 2009-03-03- 일반적으로, User-exit이라 하면 Validation 및 Substitution으로 분류되며, ... (E_KORRESPBANK)

  그대로 사용하여야 한다. 이때 꼭 OUTPUT에 INTPUT를 move해 주어야 한다.- 함수를 생성하고 코딩하고 Activate & generate 시킨뒤 다시 Field exit  초기 화면으로 나온 뒤, 위에서 생성한 Data element를 선택한 하고,  Assign prog./Screen 버튼을 누른다. 다음, Fld.Exit칸은 비워두고,   Program 과 Screen 란에 체크 Logic를 넣기 원하는 Program 과 Screen명을  넣는다. 여기서는 SAPMF02H 과 0402을 넣는다.- Field exit 초기 화면에서 > 위에서 생성한 Data element를 선택한 뒤  > Field exits > Activate 메뉴를 선택하여 Field exits을 activate 시킨다.

      4.5 Text Enhancement     SAP의 Enhancement의 하나로 특정 Screen의 특정 필드에 대하여 별도의   Validation check를 거는 등 별도의 처리를 하거나 화면 필드의 text를 임의  로 변경하고자 하는 경우 등에 사용한다. 

 예) 아래와 같은 SAPMF02H-0402(Create G/L Account: Initial Screen)화면에서□"Account number"라는 필드text를 "계정과목"으로 변경하고자 할 경우

□  Account number 필드에 입력되는 값이 "113100" 이 아닌 경우는 무조건 error가 발생하게 하고자 할 경우                - Path:  CMOD > Text enhancements > Key words > Change 로 이동한 후

Page 18: 1pds13.egloos.com/pds/200903/03/98/a011…  · Web view · 2009-03-03- 일반적으로, User-exit이라 하면 Validation 및 Substitution으로 분류되며, ... (E_KORRESPBANK)

 - Pop up 화면이 나타나면 아래와 같이 입력한 뒤

Language        EN     ← 사용할 Language← SAPMF02H-0402 화면의 Account number 가 사용하는 Data element

    

- Enter key(Change버튼)를 치면 아래의 화면이 나온다. 여기서 원하는

2000.06.02YOUKJ

Change─────────────────────────┐Account

Account numberAccount number

Account numberG/L Account number

└────────────────────────────┘ Text를 입력한다.

        

   5. Business Transaction Event        Validation,Substitution,Enhancement User-exit으로도 해결이 불가능하면

Page 19: 1pds13.egloos.com/pds/200903/03/98/a011…  · Web view · 2009-03-03- 일반적으로, User-exit이라 하면 Validation 및 Substitution으로 분류되며, ... (E_KORRESPBANK)

    다음으로 생각하는게 CBO입니다. 하지만, SAP R/3와 Integration을 요구하는    기능에서 CBO는 좋은 선택이 아니죠. Modification(BPM) 하지뭐. 이것은 최후    의 수단입니다.  Business Process Event를 생각해 보세요. SPL도 생각해 볼수    있겠죠.        □ 사용방법     1) Use open interface Transaction 수행 : FIBF       Path : IMG > Financial Accounting > F/A Global setting > use open              interface    2) Menu에서 environment > Inforsystem(Processes) 선택    3) Attribute type : 'A' 선택후 실행 (Standard system에서 제공하는 process                         key와 적용할수 있는 Program과 적용할수 있는 업무내용을                          display함.    4) 적용할수 있는 Program과 내용을 선택하고 “Interface" button을 선택하면       SAP R/3에서 제공하는 Sample function module을 보여줌!       (만약 적용하고자 하는 Program과 업무가 제공되지 않으면 user-exit등 다른        방법을 찾는것이 빠를것임!! )    5) ABAP/4 WORK BENCH에서 sample function을 copy하고 user가 정의한 업무logic       을 구현한다. (sample function에서 import/export/table 항목을 제공하므로        개발자가 해당 process를 이용할수 있을지를 미리 판단해야 할것임!)    6) Menu에서 settings > product → Customer에서 Product ID와 Text를 입력       시킨다.          

Page 20: 1pds13.egloos.com/pds/200903/03/98/a011…  · Web view · 2009-03-03- 일반적으로, User-exit이라 하면 Validation 및 Substitution으로 분류되며, ... (E_KORRESPBANK)

              7) 기개발된 함수를 Event와 6)에서 생성한 Product를 기준으로 등록한다.       Path : Setting → P/S function module → of a customer                      등록된 함수는 수많은 기능을 수행할 수 있다. 다른 CBO table에 값을 저장도       하고, 각종 오류유형으로 사용자에게 Information을 줄수 있다.       (단, Substitution 처럼 Standard Table의 값을 변경시킬수는 없다.)         8) Program Test     < Process key와 sample function 예>

Page 21: 1pds13.egloos.com/pds/200903/03/98/a011…  · Web view · 2009-03-03- 일반적으로, User-exit이라 하면 Validation 및 Substitution으로 분류되며, ... (E_KORRESPBANK)

    - process key '00001810'                  : PAYMENT PROGRAM: Individual bank determination       FUNCTION SAMPLE_PROCESS_00001810.      *"      *"*"Lokale Schnittstelle:      *"       IMPORTING      *"             VALUE(I_RZAWE) LIKE  REGUH-RZAWE      *"             VALUE(I_WAERS) LIKE  REGUH-WAERS      *"             VALUE(I_RWBTR) LIKE  REGUH-RWBTR      *"             VALUE(I_RBETR) LIKE  REGUH-RBETR      *"             VALUE(I_KUNNR) LIKE  REGUH-KUNNR      *"             VALUE(I_LIFNR) LIKE  REGUH-LIFNR      *"             VALUE(I_ZBUKR) LIKE  REGUH-ZBUKR      *"       EXPORTING      *"             VALUE(E_KORRESPBANK) LIKE  F110_KBANK      *"                             STRUCTURE  F110_KBANK      *"       TABLES      *"              T_HBANK STRUCTURE  IHBANK      *"              T_PBANK STRUCTURE  F110_PBANK      *"      ENDFUNCTION.        - Payment program(SAPF110S)에서는 "OPEN_FI_PERFORM_00001810_P' 함수를         CALL하여 해당 process에 해당하는 function을 찾아서 run 시킴!!        (Function group : BFFM)