2023.08.11

권영은·2023년 8월 11일
0

SAP_수업

목록 보기
31/36
post-custom-banner

Comparison with Other Enhancement Techniques

멀티플임플리멘테이션을 위해서
각 나라별로 enhancement를 만들어서 진행하려고 할 때
새로운 방법이 필요 -> filter라는 조건을 줘서 로그인 하는 language에 따라서 다른 언어를 적용할 수 있도록 조건을 주는 것

badi classic/ new badi.

프로그램 exit에서는 프로그램을 찾을 떄 call customer function 등 각각의 include파일을 찾아서 디자인

기존의 경우 객체 지향 절차적이라 이해하기 쉽지만 뉴바디의 경우 횡으로 불러오기 때문에 이해의 어려움이 있을 수 있음.

badis- Architecture

Dt가 갖고 있는 목적을 enhance했다고 생각하면 조금 쉬울 수 있음
multiple ( 여러가지 조건에 따라서 구현이 자동으로 이뤄지는 variant를 만드는게 목적 )
badi는 1. 인터페이스와 2 인터페이스를 구현하는 클래스로 이뤄져 있음

인터페이스는 implementation이 불가능
이름만 쓰여저 있는 shall (껍데기)

인터페이스에 구멍을 뚫어져 있으면 구현하려고 할 때 어려움이 존재해서 interface를 상속받아 class에 구현. 그래서 interface를 service라고 함

그래서 여기서도 service ->> 구현하기 위한 class라고 하기도 하고 adapter라고 하기도 함

인터페이스를 가지고 어댑터 클래스로 인터페이스를 구현

  1. 인터페이스에 대한 래퍼런스 베리어블을 가져와야 하고
  2. 클래스로 구현했기 때문에 클래스의 레퍼런스 두개를 가지고 와야 함.

=> badi라고 할 수 있음.

인터페이스는 무조건 클래스를 구현해야하는데 클래스에 접근하는 방법은 메서드로 밖에 접근이 안됨 . ( 클래스는 설계도기 때문에 누구도 접근을 못함 private) instance를만들 수 잇는것은 constructor( method)를 빼놓기 때문.

adapter class를 만들어서 parameter를 빼줘야 함
interface 만으로는 구현의 어려움이 존재.
implementation << ㅡmethod를 코딩해서 사용자가 실행할 수 있도록
import parameter를 빼놓는 것 .

badi 는 기존에 만들어져있는 것을 쓸 수도 있고
새로 만들어서 쓸 수도 있음.

badi는 서비스로 올려놓은 것이라 가능
interface를 배울 때 각각의 클래스가 가지고 있는 car, airplane등등 상위의 개념으로 interface를 횡으로 쳐놓는 것 ..

badi의 가장 큰 핵심은 reusable, filter- dependent.


badi는 cl Exithandelr를 찾아야 함. 그럼 badi를 만들 수 있는 조건이 됨 .

대부분 service class에 올려둠.
badi class를 만들어서 interface붙일 수 있는 instance를 만들었는가
어쨋든 객체를 만들고 method를 import 파라미터를 놓고 서비스 까지 올라감.


se18 smod / se19 -> cmod



se84




classic badi


new badi




class forwarding




interface안에 로직구현

method 구현


항상 instance ( badi에 있는 ) 를 찾아야 함 .
class 만들고 method구현이 순서


menu와 로직은 따라가기 때문에 multiple use와 filter 는 열어두고 디펜던시가 있어서 멀티플은 제한이 있다.

===========






enhancement spot은 new badi.
badi name 에 자기 번호


smod
documentaion 클릭

어떻게 적어야하는지 알 수 있음.

type sdyn_book



badi부터는 oop로 만들어져있고 시스템으로 만들어져있기때문에 정보가 많음
output 더블 클릭하면 se24로 forwarding 됨
pacage zbc401_01 에 넣어주기

잘 못 찾으면 se19 -> classic으로 찾아서 다시 수정하기





프로그램 더블클릭 포워딩




default code / sample code


badi라고 하는것은 오래 진화된 로직 중 하나
customer exit badi를 비교


badi의 enhancement spot 안에 다른 이종끼리는 담을 순 없지만 다른 이종끼리 묶을 수 있음.


구현 모양이 간편해지는 특징이 있음. 코드는 엉청 간편하지만
시스템자체는 복잡

call method 를 2개 adapter class. method class
-> get bado call badi 만 하면 됨. 내부적으로는 다 만들어져 있지만 코드가 간단해짐


se18 / 19 에서 definition 과 implementation 을 진행하는것

fallback 뭔가 떨어졌을 때의 대비책

implements 암묵적으로 수정할 수 있다.

explicit 에는 point sections
implicit 는 point와 options
한 줄을 고칠 수 있느냐 전부 고칠 수 있느냐의 차이

point는 한 줄만 고칠 수 있음.
section 은 구간 안 모두 수정 가능



se84





의 왼쪽 더블 클릭

고칠 수 있는 포인터가 뜸




동시에 여러개를 사용할 수 없다


active를 하면 어떤 것을 수정할 지 선택해야하며
point와 section이 있음을 구분할 것


implicit points와 options



se37






exit이 없어도 고칠 수 있다는 것
creat 클릭


Implict Enhancement Options

Available Implicit Enhancements

Implicit Enhancement Points and Options in SAP Classes


enhancement 에서 암묵적으로 이렇게 하기로 한 것 .

Restrictions of Pre-, Post, and Overwrite Methods


overwrite method는 원래 가지고 있던 method와 parameter가 바뀌면 안됨..등 알아두기 ..

Local SAP Class : Implicit Enhancements Options and Points

Other Enhancement Points

TAW10 -1,2 ( BC 100 ~ 430 ( dictionary ) 410 (screen ) )

BC 405 (report program)
BC 414 (DB update technique)
TAW 120 1,2,3,4 : OOP BC401, 402, 425~427 (standard)
net310 (webdin)

report 와 update technique 핵심이라고 볼 수 있음.
dictionary 가 무너지면 다른 것들이 만들어지지 않음

module 을 하려면 configuration ( customizing 사용자의 원하는 시스템 환경에 따라서 환경 셋팅을 다 해주는것 configure 를 할 줄 알아야 함 )

Open SQL ,new open SQL , AMDP (Database에서 바로 꺼내올 수 있음)

profile
SAP/ ABAP Student
post-custom-banner

0개의 댓글