SAP Yong Next Cloud Academy

SAP SYNC TAW10-2(2)

秀韩 2022. 7. 5. 22:12

1. Calling Programs Synchronously

1-1. Time Floor 1 및 SUBMIT

TF1

ㄱ. Type-1 프로그램 (Report)을 호출할 때 SUBMIT구문을 이용하여 Selection Screen의 Input 필드에 값을 입력.

ㄴ. 타 프로그램 호출 후 복귀 O.

ㄷ. SUBMIT ...  AND RETURN.

 

1-2. Time Floor 2 및 SUBMIT

TF2
TF2-1

ㄱ. 타 프로그램 호출 후 복귀 X.

ㄴ. SUBMIT ...

ㄷ. WITH : 셀렉션 스크린에 정의된 셀렉트 옵션 혹은 파라미터로 선언된 변수들에게 값을 넘겨줄 경우 사용.

 

※ SUBMIT ... VIA SELECTION-SCREEN AND RETURN.

ⓐ 프로그램의 셀렉션 스크린을 띄움

ⓑ SUBMIT 프로그램의 셀렉션 스크린을 띄움

ⓒ 결과를 보여줌

 

1-3. Synchronous Transaction Calls

 

TC

ㄱ.  LEAVE to TRANSACTION 'ZD03_TRAN_called'. : 호출한 프로그램을 종료하고 새로운 프로그램을 수행한다. 호출된 프로그램을 종료하게 되면 처음 실행된 메뉴 화면으로 돌아간다. 

 

ㄴ. CALL TRANSACTION 'ZD03_TRAN_called'. : 프로그램의 데이터를 저장하고 트랜잭션을 호출한다. 

 

ㄷ. AND SKIP FIRST SCREEN : 메모리 파라미터를 이용하여 셀렉션 스크린을 건너뛰고 바로 아웃풋 리스트가 조회되게 한다. 

모드 BDC실행 시
A 전체 실행
E 에러난 부분만 본다
N 스킵한다

 

2. BDC

Batch Data Communication. 사용자가 매크로를 사용하여 SAP 프로그램을 자동으로 수행하는 형태의 기능과 유사.

(녹화를 하나씩 해서 사용한다.)

 

3. Memory 영역

3-1. External Session과 Internal Session

ㄱ. User session : 로그인 시 화면

ㄴ. SAP Memory : External Session 사이 공유 가능, SET/GET PARAMETERS가 해당 (프로그램으로 단일 값만 넘길 수 있다)

  • SET PARAMETER ID/ 'car' /FIELD/ ls_conn-carrid. → SAP memory에 'car' ID로 저장/ FIELD(TYPE)은 ls_conn-carrid.
  • GET은 SAP Memory에서 가져옴.

ㄷ. ABAP Memory : Internal Session 사이 공유 가능, Submit과 Call Transaction, Import와 Export가 이에 해당 (자유롭게 공유 가능하다)

ㄹ. External Session : 윈도우 창, 윈도우 기본 6 , 최대 16개까지 있음

 

ㅁ. Internal Session : 프로그램, 9개까지 열수 있음

  • Main Program : 자기 혼자서 실행 가능한 Program (Report Program)
  • APG : F.G , G.L 등 누가 호출을 해줘야 하는 Program

3-2. Memory Management for Strings

ㄱ. 스트링

  • 가변적(동적)이다. 데이터 공간이 가변적으로 늘어나고 줄어든다.
  • 헤더에서 수에 맞는 칸이 생성되고, 클리어 시 데이터 칸 자체가 사라진다.

 

ㄴ. 인터널테이블

  • 가변적이고,  헤더를 가지고 있어 2중 구조이다. (2단계를 거친다)
  • APPEND 시, ROW1 , ROW2면, Data1 , Data2로 하나하나 가리킨다.
  • Clear 하게 되면 공간을 삭제한다. (table 바디 삭제)
  • FREE 하게 되면 헤더 라인(wa)까지 삭제된다.

 

ㄷ. gv_string1 = gv_string2

  • gv_string2가 gv_string1의 레퍼런스를 참조한다. (헤더를 가리킨다.)
  • gv_string1의 값이 바뀔 경우, 기존의 gv_string1의 값은 그냥 두되, 새로이 바뀐 값을 복사해놓는다.
  • 별 다른 지칭이 없을 경우 gv_string2는 그대로 이전의 gv_string1을 참조한다.
  • 스트링이 아닌 테이블의 경우, 헤더가 다른 테이블의 데이터를 바로 참조한다. 

4. ORDER BY Addition

WHERE에서 한 번 거르고 ORDER BY에서 두 번째 거른다.

기본으로 ASCENDING(올림차순), DESCENDING(내림차순)은 입력 시 적용된다.

 

ㄱ. 디스팅트는 중복 값을 지워준다.

 

5. Aggregate Experssions

ㄱ. Open SQL 수집 기능 

기능 의미 결과의 데이터 타입
MIN( col ) 최소 값 col과 동일
MAX( col ) 최대 값 col과 동일
SUM( col ) 합계 col과 동일
AVG( col ) 평균 Float (F, 실수)
COUNT(*) 결과 값들의 row수 Integer (정수)

 

ㄴ. GROUP BY

ⓐ carrid와 connid가 같아야 묶인다.

ⓑ sellect에 carrid와 connid가 없다면 오류가 난다.

 

ㄷ. HAVING

ⓐ 더 자세하게 걸러준다.

 

6. WHERE

연산자 의미
IN(1, 2) (띄어쓰기 금지) 여러 조건에 속한 경우의 값을 가져옴.
BETWEEN ...1 AND ...5 1에서 5사이의 값을 가져옴.
LIKE String 비교 : * =  %(%ab%), 
_5_(3글자일때) 
IN  seltab 셀렉트 옵션에서는 in을 쓴다.

※ HANA에서는 조건으로 다 거른 다음 가져오는 것을 선호한다. (신 버전, New SQL)

보통은 루프를 돌리는 것을 선호한다. (구 버전)

 

ㄱ. 테이블의 필드를 조건으로 주고 싶을때 '~'기호를 사용. (일리아스(AS)를 사용해도 된다.)

 

7. Target Areas

ㄱ. Result-Set : DB 결과를 말해줌.

ㄴ. Target Area : Single (wa ) , multi ( itab )

ㄷ. SELECT~ENDSELECT Target Area를 single 돌리지만, DB에는 Table 담기게 된다. (루프와 비슷하다.)

ㄹ. into는 기존의 값을 삭제하고 들어가지만, append는 기존 값 밑에 복사한다.

 

8. Package Size

ㄱ. 테이블에 10줄씩 들어간다. (무조건 타겟은 테이블)

ㄴ. into는 기존의 값을 삭제하고 들어가지만, append는 기존 값 밑에 복사한다.

 

9. ABAP JOIN

9-1. INNER JOIN

ㄱ. 두 테이블을 비교, 공통으로 있는 값만 가져온다. 

ㄴ. ON엔 조건을 넣는다.

9-2. LEFT OUTER JOIN

ㄱ. FROM의 테이블이 LEFT, JOIN의 테이블이 RIGHT이다.

ㄴ. 왼쪽을 기준으로 오른쪽 테이블에 없는 공간은 빈칸으로 채운다. (왼쪽에 AA가 있고 오른쪽에 없다면 gt_list에 AA만 채워놓는다.)

ㄷ. AA가 3개라면 3개 다 채운다.

 


월요일 내용)

1. 일리아스 : 별명 같은 것. AS로 줄 수 있다. 너무 긴 테이블 명을 줄이기 위해 사용한다. 

2. '~' : 테이블의 필드명을 가리켜준다.

3. so_ : SELECT-OPTIONS, 'SELECT-OPTIONS so_(변수명) FOR (타입명)' 식으로 쓴다.

 


여기서부터는 일기) 월요일에 빠진 건 조금씩 듣긴 했는데, 아직 spfli가 뭔지 모르겠다. 아 그리고 클라이언트 핸들링도. 조금만 더 찾아보고 자야겠다. 

 

P.s.) spfli는 테이블 명이었다.

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

SAP SYNC TAW10-3(2)  (0) 2022.07.07
SAP SYNC TAW10-3(1) 및 개인 과제  (0) 2022.07.06
SAP SYNC 2주차 개인과제  (0) 2022.07.03
SAP SYNC TAW10-2(1)  (0) 2022.06.30
SAP SYNC TAW10(3)  (0) 2022.06.29