멀티플임플리멘테이션을 위해서
각 나라별로 enhancement를 만들어서 진행하려고 할 때
새로운 방법이 필요 -> filter라는 조건을 줘서 로그인 하는 language에 따라서 다른 언어를 적용할 수 있도록 조건을 주는 것
badi classic/ new badi.
프로그램 exit에서는 프로그램을 찾을 떄 call customer function 등 각각의 include파일을 찾아서 디자인
기존의 경우 객체 지향 절차적이라 이해하기 쉽지만 뉴바디의 경우 횡으로 불러오기 때문에 이해의 어려움이 있을 수 있음.
Dt가 갖고 있는 목적을 enhance했다고 생각하면 조금 쉬울 수 있음
multiple ( 여러가지 조건에 따라서 구현이 자동으로 이뤄지는 variant를 만드는게 목적 )
badi는 1. 인터페이스와 2 인터페이스를 구현하는 클래스로 이뤄져 있음
인터페이스는 implementation이 불가능
이름만 쓰여저 있는 shall (껍데기)
인터페이스에 구멍을 뚫어져 있으면 구현하려고 할 때 어려움이 존재해서 interface를 상속받아 class에 구현. 그래서 interface를 service라고 함
그래서 여기서도 service ->> 구현하기 위한 class라고 하기도 하고 adapter라고 하기도 함
인터페이스를 가지고 어댑터 클래스로 인터페이스를 구현
=> 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 클릭
enhancement 에서 암묵적으로 이렇게 하기로 한 것 .
overwrite method는 원래 가지고 있던 method와 parameter가 바뀌면 안됨..등 알아두기 ..
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에서 바로 꺼내올 수 있음)