1. System Fields
sy-subrc: 바로 앞의 statement에 종속적인 필드
예: SELECT => 0: 데이터를 취득, 그 외의 값은 취득을 못했다는 의미
INSERT => 0: 데이터 삽입, 그 외의 값은 삽입을 하지 못했다는 의미
CALL FUNCTION ....
2. Open-SQL
1)SELECT SINGLE * FROM T1 WHERE COL1 = 'A'.
2)SELECT * FROM T1 WHERE COL1 = 'A'.
//SY-DBCNT
ENDSELECT.
3. MESSAGE CLASS : SE91
종류 : SUCCESS, ERROR, INFORMATION, WARNING (A, X)
사용방법: MESSAGE S000(ZEDU_33).
MESSAGE E000(ZEDU_33).
파라미터 전송 ( 총 4개 ) : MESSAGE E000(ZEDU_25) WITH 변수1, 변수2, 변수3, 변수4.
4. DEBUGGING
방법(3가지)
STOP 아이콘 클릭
/h in Comment Field
BREAK-POINT in source
F5, F6, F7, F8 단축키 사용법
WATCHPOINT 사용법 (특정 변수의 값이 결정되어질 때 프로그램 STOP)
디버깅 도중 변수 값 변경 가능 (시험 출제 가능성)
5. Modularization
목적: 재사용성(반복적인 로직), 프로그램 가독성
방법:
Local Module
- Subroutine
파라미터 전송
> Call By Value, Call By Reference, (Call By Value and Result)
Syntax
>USING VALUE(C1) ------ CALL BY VALUE
>USING V1 ------ CALL BY REF.
>CHAINGING VALUE(V1) ------ CALL BY VALUE AND RESULT(거의 사용하지 않는다)
>CHAINGING V1 ------ CALL BY REF.
정의: FORM xyz..
//logic..
ENDFORM xyz.
호출: PERFORM xyz.
Global Module
- Function Module / Class's Method
Interfaces (Import, Export, Exception, (Table-obsolete))
//(interface=parameter) 서브루틴에서는 파라미터라고 부르고 함수에서는 인터페이스라고 한다.
>속성: Optional, Call By Value
- 호출: Call Function 'XYZ'. (주로 pattern 활용)
>예외발생시킴 ====> sy-subrc (예외 원인 파악)
- BAPI (원격에서 호출 가능한 함수) = RFC 함수 //완전 똑같은 건 아니지만 무방해
제약: 1) Remote Enabled
2) Exception X => return 파라미터로 에러 원인 전송해주어야 함
3) No Dialog
최근댓글