ABAP Concept (πŸ“κ°œλ…)/Basic

|ABAP Overview| Enhancement Overview #2

two_ssun 2020. 9. 14. 07:06

Enhancement  Overview #1μ—μ„œλŠ”

Enhancement 방법 쀑 ν†΅μƒμ μœΌλ‘œ 많이 μ‚¬μš©λ˜λŠ” Customer Exit κ³Ό Badi 에 λŒ€ν•΄ μ•Œμ•„λ³΄μ•˜λ‹€.

2020/08/17 - [λΆ„λ₯˜ 전체보기] - Enhancement Overview #1

 

μ˜€λŠ˜μ€ κ·Έ μ™Έμ˜ Enhancement 방법에 λŒ€ν•΄ Overviewν•΄ 보겠닀. 

 


  Souce Code Enhancement  

Exit κ³Ό Badi 처럼 ν‘œμ€€μ—μ„œ νŽ‘μ…˜μ΄λ‚˜ Class둜 ν™•μž₯ 곡간을 미리 λ§Œλ“€μ–΄ 놓고 

κ·Έ μ•ˆμ— μ†ŒμŠ€λ₯Ό λ°˜μ˜ν•˜λŠ” 것이 μ•„λ‹ˆλΌ

Source Code λ ˆλ²¨μ—μ„œ 정해진 κ·œμΉ™ ν•˜μ— λͺ¨λ“  λ‘œμ§μ— Enhancement κ°€ κ°€λŠ₯ν•˜λ‹€.

λ°˜λ³€ μ†ŒμŠ€ μ½”λ“œ 외에 μ˜μ—­. ν‘œμ€€ Screenμ΄λ‚˜ Gui-status λ“±μ˜ ν™•μž₯은 λΆˆκ°€λŠ₯ν•˜λ‹€. 

Source Code EnhancementλŠ” Implicit Enhancement 와 Explicit Enhancement 2κ°€μ§€λ‘œ λ‚˜λˆˆλ‹€.

 

Explicit(λͺ…μ‹œμ ) Enhancement λ‘œλŠ” Point와 Section 으둜 κ΅¬λΆ„λ˜λ©°

μ „μžλŠ” μ§€μ •λœ 지점( μ†ŒμŠ€μ½”λ“œ λ‚΄ 'ENHANCEMENT-POINT'라 λͺ…μ‹œλœ 지점 )에 μ†ŒμŠ€λ₯Ό μΆ”κ°€ν•˜λŠ” κ°œλ…μ΄κ³ 

ν›„μžλŠ” μ§€μ •λœ 지점( μ†ŒμŠ€μ½”λ“œ λ‚΄ 'ENHANCEMENT-SECTION' 이라 λͺ…μ‹œλœ 지점 )의 κΈ°μ‘΄ μ†ŒμŠ€λ₯Ό λŒ€μ²΄ν•˜λŠ” κ°œλ…μ΄λ‹€. 

 

Implicit(암묡적) Enhancement λ‘œλŠ” μ•”λ¬΅μ μœΌλ‘œ 정해진 μœ„μΉ˜μ—λŠ” μ–Όλ§ˆλ“ μ§€ ν™•μž₯이 κ°€λŠ₯ν•œ κ°œλ…μ΄λ‹€

정해진 μœ„μΉ˜λ‘œλŠ” Subroutine의 μ‹œμž‘κ³Ό 끝, Function의 μ‹œμž‘κ³Ό 끝 등이 μžˆλ‹€.

 

< Form λ¬Έ λ‚΄μ˜ μ‹œμž‘κ³Ό 끝에 ' ''''''''"""~' ν‘œκΈ°λœ 곳이 암묡적 ν™•μž₯ 지점 >

보톡 Exitμ΄λ‚˜ Badi  λ˜λŠ” 기타 Enhancement λ°©λ²•μœΌλ‘œ λΆˆκ°€λŠ₯ν•  κ²½μš°μ—

ν‘œμ€€ ν”„λ‘œκ·Έλž¨ Debuging을 톡해 ν™•μž₯ μœ„μΉ˜λ₯Ό μ°Ύμ•„ λ°˜μ˜ν•˜κ²Œ λœλ‹€.

Exitμ΄λ‚˜ Badi처럼 μΆ”κ°€ν•  λ‚΄μš©( 점검 둜직, λŒ€μ²΄ 둜직 λ“±... ) 에 따라

ν™•μž₯ μ˜μ—­μ΄ 정해진 것이 μ•„λ‹ˆκΈ° λ•Œλ¬Έμ—

μˆ˜λ§Žμ€ ν…ŒμŠ€νŠΈλ₯Ό 해보고 졜적의 μœ„μΉ˜μ— μ°ΎλŠ”κ²ƒμ΄ μ€‘μš”ν•˜λ‹€.

잘λͺ» κ±΄λ“œλ Έλ‹€κ°„ 데이터가 ν‹€μ–΄μ§€κ±°λ‚˜ 덀프가 λ‚˜λŠ” κ²½μš°κ°€ μžˆμœΌλ―€λ‘œ 맀우 μ‹ μ€‘ν•˜κ²Œ λ°˜μ˜ν•΄μ•Ό ν•œλ‹€.


  Validation/Substitution Configuration  

FI/COλͺ¨λ“ˆμ—μ„œ μ‚¬μš©ν•˜λŠ” κ²ƒμœΌλ‘œ 정해진 μœ„μΉ˜μ— 루틴을 λ§Œλ“€μ–΄ μ κ²€λ‘œμ§ λ˜λŠ” λŒ€μ²΄ν•˜λŠ” λ‘œμ§μ„ μ μš©ν•œλ‹€.

< Application μ˜μ—­ λ³„λ‘œ Validation λ˜λŠ” Substitution 선택화면 ( T-Code 'GGB4' ) >

 

< FI Validation μ œμ–΄ ν™”λ©΄ ( T-Code 'GGB0' ) >

쒌츑 Tree Node에 보이듯이

μ „ν‘œμ˜ 헀더/λΌμΈμ•„μ΄ν…œ/λ¬Έμ„œμ™„λ£Œ μ‹œμ λ³„λ‘œ λ‚˜λˆ„μ–΄ 체크 λ‘œμ§μ„ λ°˜μ˜ν•  수 있으며

각 λ ˆλ²¨λ§ˆλ‹€ 체크둜직이 λ°˜μ˜λ˜λŠ” 쑰건( Prerequiste ),  체크둜직( Check ),  메세지 μ œμ–΄ μ˜μ—­( Message )  

3κ°€μ§€λ‘œ λ‚˜λˆ„μ–΄ 체크 λ‘œμ§μ„ μ œμ–΄ν•œλ‹€. 


  BTE ( Business Transaction Event )  

Customer Exit ( Function Exit ) κ³Ό λ™μΌν•˜κ²Œ ν‘œμ€€ν”„λ‘œκ·Έλž¨ μ•ˆμ— ν”„λ‘œμ„ΈμŠ€ λ³„λ‘œ ν™•μž₯ν•  수 있게

Function 듀이 λ°˜μ˜λ˜μ–΄ 있으며 κ·Έ Function은 BTE Process μˆœλ²ˆμ— μ˜ν•΄ μ •μ˜λ˜μ–΄ μžˆλ‹€.

Customer Exit은 Funcion λ‚΄μ˜ 'Z~'둜 μ‹œμž‘ν•˜λŠ” Include문을 톡해 λ‘œμ§μ„ λ°˜μ˜ν–ˆλ‹€λ©΄

BTEλŠ” 'Z~'으둜 μ‹œμž‘ν•˜λŠ” Function을 μƒμ„±ν•˜μ—¬ 둜직 반영 ν•œλ‹€.

μ‹ κ·œ μƒμ„±ν•œ Function은 BTE Process 순번과 Mapping ν•˜μ—¬ ν‘œμ€€μ—μ„œ ν˜ΈμΆœλ˜μ–΄ 진닀. 

 

< BTE Process List ( T-Code 'FIBF' ) >

 

< BTE Process 와 개발된 Function Mapping ν™”λ©΄ >


  κ·Έ μ™Έ Enhancement   

γ…‡ Feild Exit : ν‘œμ€€ ν”„λ‘œκ·Έλž¨μ˜ νŠΉμ • 슀크린의 ν•„λ“œμ— μœ νš¨μ„± 점검 둜직 λ°˜μ˜μ‹œ μ‚¬μš©

                ( SAP μ—μ„œλŠ” SAP ECC 6.0 μ΄ν›„λ‘œλŠ” μ‚¬μš©ν•˜μ§€ μ•ŠλŠ” 것을 ꢌμž₯ν•˜κ³  μžˆλ‹€. )

γ…‡ Text Enhancement : Data Element 의 Text λ‚΄μ—­ λ˜λŠ” Domain의 Fixed Value Description λ‚΄μ—­ λ³€κ²½μ‹œ μ‚¬μš©

γ…‡ Search Help Exit  : Search Help에 μ œμ–΄λ˜λŠ” ν‘œμ€€ κΈ°λ³Έ λ‘œμ§μ„ λ³€κ²½μ‹œ μ‚¬μš©

γ…‡ Append Structure : ν‘œμ€€ ν…Œμ΄λΈ”μ˜ ν•„λ“œ ν™•μž₯μ‹œ μ‚¬μš© 

                             ( CI_XXXX ν‘œμ€€μ—μ„œ κΈ°μƒμ„±λœ ν™•μž₯ ꡬ쑰에 ν•„λ“œλ§Œ ν™•μž₯ν•˜λŠ” 경우 μ™Έ )

γ…‡ Fixed Value Append : ν‘œμ€€ Domain에 Fixed Value μΆ”κ°€ 

γ…‡ λͺ¨λ“ˆ λ³„λ‘œ IMG Setting μ—μ„œ 개발된 Object (ν”„λ‘œκ·Έλž¨, νŽ‘μ…˜ , Screen λ“±...)λ₯Ό μ—°κ²°ν•˜μ—¬ ν‘œμ€€ ν”„λ‘œκ·Έλž¨ ν™•μž₯