elemnt, struncture, table
table 물리적 데이터 베이스 안에 데이터 베이스가 만들어지는 transparent 개념
Querry (사용자의 요청, request에 응답해서 데이터에 접근해서 가져오는 것 )
(p.438)
가상기업을 만들 때 기업의 flow에 대해 모두 알고 있어야 함.
sap 구축하러 들어가면 module consultant가 회사의 flow (ex.회계, 물류) 에 대해서 듣고 각각의 모듈에 관한 sap 기반의 knowledge에 양측의 언어로 이해 (background 지식 필요)
flight 와 관련된 pattern 을 가지고 transparent table 구현.
SAPBC_DATAMODEL (Pakage) 에 데이터가 실습을 위해 구현되어 있음
structure같이 생겼지만 table과 혼동되기 쉽지만 Structure임.
grapic/ contents 창
contents창을 누르고 excute 클릭 시 들어가 있는 데이터를 볼 수 있음
grapic 클릭 시 연계성을 볼 수 있음.
(p.440)
데이터 모델을 만들기 전 어떤 데이터가 필요로 하는 transparent table을 먼저 만들고 transparent간의 관계를 만들어야 함. 이러한 관계는 레파지토리에 들어가있고 레파지토리는 데이터베이스 안에 들어가 있음.
사용자가 요구하는 화면. 화면에 필요한 데이터. 데이터를 가지고 와서 화면에 올리는 것 까지
database모델을 만들었다는 것은 작업의 반은 끝난 것과 같음.
data contents ( database안에 들어가 있는 contents가 중요함 ) --> 기업의 기밀
on-premis로 가려고 하는 이유
아밥위에 아밥 스택이 올라가는데 클라우드에 아밥 스택을 올림 => HANA
elementary field 안에 Transparent
p.447
display 클릭
attribute부터 열어보는 습관 가지기
Data type이 master인지 transaction인지 아래는 CRUD 허용여부 key field 는 3개가 찍혀있음을 알 수 있음 길이가 20자리로 같고 나중에 외래키간 transparent간 관계를 지을 때 특정 필드간 외래키 관계가 있다면 a테이블로 b테이블을 체크할 수 있는데 이 때, 들어가는 값이 같아야한다. (DATA Element는 다르지만 domain은 같을 수 있다)
database table 내에 SPFLI 클릭 테이블이 쌓이지 않을 경우 allowed가 안되어있어 권한이 없기 때문
flight customer과 관계된 테이블 찾기
엔터 excute
미리 에러세팅 -> 에러발생하기 때문에
SE16 Standart List로 바꿔줌.
디폴트에서 수정
p.453
SQL언어는 프로그램 정의, 수정, 데이터베이스 읽는 것이 가능
p.455
p.456
p.457
p.461
function 만들고 function module 만들기
import에서 bc_400_s_connection의 받는 값 carrid / connid와 같은 타입으로 만들어준다 .
se11 의 input 값 받는 필드만가지고 오기 총 9개의 필드를 select single 해준다.
from SPFLI table 에서 into export 하는 (into)
(where) import 하는 값으로 만들어준데 넣어준다.완성 소스코드
p.468
DB에서 여러 데이터베이스를 DBI에 가지고 오고 싶을 때 DBI가 Buffer라고 볼 수 있음. 바로 접근하는게 아님.
p.475
싱글은 데이터베이스에서 한 건을 가지고 오는경우.
-> 여러번 돌릴경우 데이터베이스에 반복해서 가지고 오는 것 보다 한 번 통으로 들고 오는게 좋음 (DB잦은 접근은 좋지 않음)
transporting = modify테이블을 from structure로 한다는 것.
loop at을 쓸 때 modify from work area index xx modifying로 수정
append into overwrite
appending into 제일 끝에 붙여쓰기
더블클릭
컴포넌트가 6개 있음을 알 수 있으나 PERCENTAGE는 계산해서 넣어줘야 함.
만든 값을 Ctrl+, 로 커맨트 넣어주기 (없애기는 .)
loop at (반복문)이 돌면서 structure를 쌓아두는 것
loop에서는 무조건 sy-tabix인덱스를 사용해야 함.
최종코드
p.484
wehre 절에 키값을 적고 key로 sorting이 되어있고 key 순으로 찾는 것. 다른 값들로 찾을 수는 있지만 오래걸림.
이진법으로 데이터를 찾을 때 프라이머리키로 찾아감.
되도록이면 프라이머리키로 찾고 하려고 한다면 순차적 정렬방식으로 찾아야함 ( n개를 모두 비교해야하기 때문에 시간이 오래걸림 )
Database Optimizer 가 세컨더리 인덱스를 자동으로 생성 (속도를 높이기 위해)
제로갭 :
se11- spfli - 위 목록창 indexes 클릭
인덱스 넘버 01 더블 클릭...
왼쪽 화살표 클릭
결국 테이블로 접근하지 않고 DBI(SAP_Table buffer)가 가져다 주는 것
이 셋팅은 아밥딕셔너리- 테크니컬 셋팅에서 가능
테크니컬 셋팅 눌러주기
사이즈 : 트랜스패어런트 사이즈가 얼마나 확장가능한지
그 다음 버퍼링 창이 있는데 이미 엑티브 되어있어서 건들일 수 없게 되어있음.
사람들이 1만 검색하면 싱글 레코드에 체크.
제네릭은 aa라고 검색시 aa모두를 버퍼에 가져다 두는 것
fully는 aa부터 모두 갖다놓는것
젤 좋은것은 fully _ 메모리만 가능하다면 full 왜? 어플리케이션 서버에 다 갖다놓는것이 젤 빠름.
접근하는 테이블 모두 다 갖다놓는 것... 아무리 full버퍼를 찍어놔도 상태가 가득찾다면 그렇게 할 수 없음
테크니컬 셋팅을 안하면 활성화가 안됨.
그 아래 로그 데이터 체인지
db에 접근함에 따라 log를 남겨두는 것 ..
퍼포먼스는 떨어지지만 히스토리를 남겨두기위해 찍음.
한번이라도 access하면 application server 내 buffer에 갖다놓음.
딕셔너리를 통해 만드는 방법도 있지만 코드를 통해 아밥조인을 만드는 방법도 있음.
조인 테이블 (두개의 테이블을 합칠 때) 어떤 조건으로 쓰는지
client와 carrid 가 같으면 묶겠다 (반드시는 아니고 사용자의 목적에 의해 변경가능)
CRUD를 통해 데이터를 관리
p.495 주어진 권한만큼 프로그램에 접근할 수 있는 것 read시에는 수정권한이 없음
su21
더블클릭
클릭
어떤권한을 가지고 있는지 볼 수 있음.
원래 없는 권한 su01
아이디 입력 후 display
p.501
import 에 입력
패턴 넣어주기
엔터
데이터 값을 못받으면
기본적으로 가장많이 쓰는 back / Exit / cancel 표준
scroll
print
search List
System- List
report 프로그램에서 헤더, 라인을 클래식 리스트에서 리스트헤딩으로 사용
고투_ 테스트 엘레먼츠에서 볼 수 있음.
저장 후 엑티브한 뒤 실행해야 프린트 됨
p.518
사용자의 입력을 받으면 구멍하나는 파라미터로. 두개는 셀렉트 옵션스로
p.519
parameters 는 element
select-option 는 table (header line 사용)
airline 입력해주고 항상 active해주고 소스코드창에서 실행하기
search help.
S_CARRIER_ID 더블클릭
SCARR 더블클릭
scarr 에 있는 정보임을 알 수 있음.