SAP Yong Next Cloud Academy

SAP SYNC TAW10-2(1)

秀韩 2022. 6. 30. 22:09

1. Global Class

1-1. Creating Global Class

 

로컬이면 로컬, 패키지면 패키지에서

ㄱ. Z는 유저 크리에이팅 시 반드시 입력해야 하며, 글로벌 클래스의 이름은 CL로 시작한다.

ㄴ. Inst.Generation엔 Pulic, Private, Protected, Abstract가 있으나, 대부분 Public을 사용.

 

ㄷ. 메소드를 만든 후 파라미터 클릭.

 

ㄹ. 입력 받을 값에 Importing, 내보낼 값에 Exporting을 선택, Associated Type에 속성을 정의해준다.

ㅁ. Sourcecode 탭 클릭.

 

ㅂ. 오른쪽 위 Signature를 누르면 파라미터의 속성을 볼 수 있다.

ㅅ. method코드 밑에 계산식을 작성한다.

 

1-2. Calling Global Class

 

ㄱ. Pattern → ABAP Objects Patterns 체크 후 검색

 

ㄴ. 인스턴스가 아닌 Class/Interface에 만든 Global Class 이름을 입력한다. (*사용도 가능.)

ㄷ. Method 란에 만든 메소드의 이름을 입력한 후 검색.

 

완성

 

2. Local Class

 

로컬클래스는 열심히 타이핑해야한다.

ㄱ. 각 섹션은 한 종류만 써놔도 되지만, 다 써놓고 시작하는 게 맞다. (실제로 각 섹션을 다 사용하기 때문.) 또, 순서대로 써야 한다.

 

※ 로컬 클래스 만든 후 컨트롤 스페이스 (메소드 종류 나옴), 선택 후 쉬프트 엔터( 만들어 논거 당겨옴)

 

3. Structureed Data Object

 

구조체의 기본형식

ㄱ. 'TYPE scarr'로 선언하면 위와 같은 구조체로 만들어진다. 

 

※ MOVE a TO b :

ⓐ a 변수 속에 5개의 c가 있고, 변수 b가 c를 3개까지밖에 받지 못한다면, 나머지 c 2개는 다음 칸에 채워진다. 

ⓑ 데이터의 복사 개념이라 a의 데이터는 사라지지 않는다. (a의 값이 b에 복사됨.)

ⓒ -CORRESPONDING gt_scarr TO gt_scarrinfo. 의 형식으로 쓸 수 있으며, 같은 이름의 필드에 들어가게 된다. 

ⓓ [KEEPING TARGET LINES.]를 쓴다면 기존에 가지고 있던 값 밑에 입력해준다.

 

4. Internal Table

인터널 테이블이란 DB에 접근하여 데이터를 조회하고, Local에 담아두는 것.

4-1. Attributes and Uses of Tables

  Index Tables Hashed Table
Table Kind STNADARD TABLE SORTED TABLE HASHED TABLE
Index Access O O X
Key Access O O O
Key Uniqueness Non Unique  Unique/Non Unique Unique
Use in Mainly Index Access Mainly Key Access Only Key Access

유니크 : 중복 불가능

논 유니크 : 중복 가능

 

ㄱ. STANDARD TABLE은 따로 키 지정을 하지 않으면 문자의 필드들이 키가 된다. (문자로 된 것들은 기본적으로 키가 된다.)

ㄴ. 해쉬 테이블은 속도가 빠르다. (지금은 성능이 비슷하다.)

 

ㄷ. LIKE LINE OF는 위에 선언된 테이블을 구조체로 가져오겠다는 선언이다.

 

키워드 구문 설명
APPEND APPEND gs_ to gt_ . 맨 밑으로 row 한 줄 입력.
INSERT INSERT gs_ INTO TABLE gt_ . <조건>에 맞는 자리에 삽입.
READ READ TABLE gt_ INTO gs_ <조건>. 테이블의 row 한 줄을 구조체에 입력.
CHANGE MODIFY TABLE gt_ FROM gs_ <조건>. <조건>의 데이터를 교체함.
DELETE DELETE gt_ <조건>. <조건>의 row를 삭제함.
LOOP LOOP AT  gt_ INTO gs_ <조건>
ENDLOOP.
구조체에 <조건>에 맞는 테이블 속 row를 입력함. (계속돌림.)
DELETE (Several) DELETE gt_ <조건>. <조건>에 맞는 행을 삭제함.
INSERT (Several) INSERT LINES OF gt_ 1 <조건1>
INTO gt_2 <조건2>.
<조건1>에 맞는 1번 테이블 속 행을, 2번 테이블 속 <조건2>에 맞는 자리에 삽입.
APPEND (Several) APPEND LINES OF gt_1 <조건>
TO gt_2.
1번테이블 속 <조건>에 맞는 행을 2번 테이블에 밑에서부터 삽입 .

append
insert ~ loop
append (2) ~ move (2)

※ WITH HEADER LINE은 테이블과 스트럭쳐를 같이 만든다. Header line은 gs_ 와하는 역할이 같다. 지금은 테이블과 스트럭쳐의 이름이 혼동되므로 쓰지 않는다(지양한다). LOOP에서 INTO 없어도 실행된다.

※ WITH TABLE KEY는 테이블의 키를 전부 선언해줘야 오류가 나지 않는다. 

※ scarr 테이블과 sflight 테이블의 겹쳐지는 값을 셀렉트 문으로  뽑아올 수 있다. 코레스펀딩 오브를 반드시 써줘서 오류가 나지 않게 해야 한다. 

REFRESH 헤더라인이 있는 경우, 바디 값만 초기화.
CLEAR 헤더라인이 있는 경우, 헤더라인만 클리어.
FREE 헤더라인이 있는 경우, 메모리 공간 전체를 날림 (공간 자체를 삭제).

 


 

실습 물)

1
2
펑션
메소드

 

※ 펑션이 덤프 날 때에는 그룹 액티브를 실행해서 다른 펑션들의 오류도 잡아주자. 

 


여기서부터는 일기) 오늘도 하루를 잘 끝냈다. 실습 자체는 쉬웠는데, 펑션이 자꾸 덤프 나서 하루 종일 만졌다. 펑션만 5번 쓴 듯하다. 오늘은 애매했던 내용들도 어느 정도 이해했다. 헤더 라인과 코레스펀딩 내용. 야무지다 야무져. 생각보다 일찍 끝낸 김에 일찍 자야겠다. 

'SAP Yong Next Cloud Academy' 카테고리의 다른 글

SAP SYNC TAW10-2(2)  (0) 2022.07.05
SAP SYNC 2주차 개인과제  (0) 2022.07.03
SAP SYNC TAW10(3)  (0) 2022.06.29
SAP SYNC TAW10(2)  (0) 2022.06.28
SAP SYNC TAW10(1)  (0) 2022.06.27