SAP/Complete ABAP7 9. Exception Handling 9.1 Exceptions Overview 적절한 예외에 따른 메시지를 뿌려주는 것. 9.2 Procedural Exeption Handling 펑션모듈과 메서드만이 자체 예외처리 로직을 가질 수 있다. 9.3 Class-Based Exception Handling DATA r_ex TYPE REF TO cx_sy_zerodivide. TRY. "이거 해봐 CATCH cx_sy_zerodivide INTO r_ex. "에러나면 아래 메시지 뿌려 WRITE :/ 'Error Short Text :', r_ex->get_text( ). CLEANUP. "그리고 이거 실행해봐. (오픈된 파일들을 닫거나 롤백하는 로직이 주로 여기에 들어감) ENDTRY. 예외 클래스는 'CX_SY_'로 시작한다. 커스텀 예외 .. 2023. 2. 22. 8.6 EXTENSIBLE MARKUP LANGUAGE(XML) EXTENSIBLE MARKUP LANGUAGE(XML) SAP Netweaver는 iXML 라이브러리를 제공하므로, XML파일을 처리할 수 있다. (XML은 CASE-SENSITIVE하다.) if_ixml / if_ixml_document / if_ixml_element 와 같은 인터페이스를 통해서 OOP 기반의 XML 문서를 작성할 수 있다. 2023. 2. 22. 8.5 Polymorphism Polymorphism이 필요한 경우 Static 타입의 공유 없이 하나의 참조객체를 다른 참조객체로 Assign하고 싶을 때. Assign 될 때, 참조객체자체가 바뀌는 게 아니라 Pointer만 움직이는 것. 이 때, 더 이상 Pointer가 가르키고 있지 않은 참조객체는 Garbage Collector에 의해 메모리 공간을 압수당한다. Narrowing Cast 대상 참조 객체(parent)의 스태틱 타입의 components들이 소스 참조 객체(child)보다 same or generic 해야한다. parent = child 즉, parent가 더 specific해졌으니깐 narrow casting인 것이다. Widening Cast 대상 참조 객체(parent)의 스태틱 타입의 component.. 2023. 2. 22. 8.4 Inheritance Superclass는 Subclass로 어떤 것들이 있는 지 모르지만, Subclass는 그들의 Superclass를 알고 있다. 즉, Super는 Sub의 메서드(컴포넌트)가 어떤 것들이 있는 지 볼 수 없는 데 반해, Sub은 Super의 메서드(컴포넌트)를 볼 수 있을 뿐더러, Subclass내 definition 부분 내 Redefinition 구문을 통해 Superclass의 메서드를 재정의(수정)할 수 있다. (그렇다고 Superclass내 원본 메서드를 수정하는 건 아님.) 오직 Superclass의 Instance Public, Instance Protected 컴포넌트들만 redefine될 수 있으며, static 컴포넌트는 redefine 불가능하다. 왜냐하면, Static은 상속이 불.. 2023. 2. 22. 이전 1 2 다음