Skip to content

{ Category Archives } SAP

TomorrowNow

TomorrowNow 판결이 난 지도 이틀이 지났는데 상대적으로 조용하다. 금액이 워낙 황당해서 – $1.3B, 즉 1조 5천억원 – 아무래도 여파가 길 줄 알았는데, 직원들에게 부담은 없을 것이라는 사내메일을 빠르게 보내는 등 조기에 수습하려는 듯. (하긴 SAP 한 회사의 revenue만도 전 세계 GDP rank(nominal) 중간을 간다) 이슈 자체가 X팔리는 것이라 그럴 수도 있겠다. 하지만 래리의 대응을 보면 [...]

Tagged

Event handing in ABAP Object

아래는 SAP Help에서 가져온 예제이다. *&———————————————————————* *& Report ZP_DEMO_CLASS_CNT_EVENT *&———————————————————————* REPORT zp_demo_class_cnt_event. *———————————————————————-* * CLASS counter DEFINITION *———————————————————————-* CLASS counter DEFINITION. PUBLIC SECTION. METHODS increment_counter. EVENTS critical_value EXPORTING value(excess) TYPE i. PRIVATE SECTION. DATA: count TYPE i, threshold TYPE i VALUE 10. ENDCLASS. “counter DEFINITION *———————————————————————-* * CLASS counter IMPLEMENTATION *———————————————————————-* CLASS counter IMPLEMENTATION. METHOD [...]

Tagged ,

Package example in ABAP, 두번째

지난 번과는 반대로, subpackage가 superpackage의 object를 억세스하려 할 경우를 생각해보자. SE80 open. 먼저 subpackage와 superpackage 양쪽에 Package Interface가 있나 확인해보자. 없으면 만들자. superpackage의 Package Interface를 더블 클릭. 두 개의 탭이 나오는데 ‘Exposed Objects’를 클릭, 노출할 object를 추가한다. (드래그 앤 드롭으로 쉽게 된다) 다음에 바로 옆의 탭인 ‘Attributes’ 클릭. 하단에 ‘Visible for subpackages’에 체크한다. subpackage 이름을 [...]

Tagged , ,

The Iterator Pattern (in ABAP)

Iterator를 사용해서 구현과는 분리하여 하나 하나 요소들을 셀 수 있다. 아래 소스를 보면 loop를 돌 때 Iterator의 메소드만 이용하고 있으며 Aggregate 클래스가 어떤 식으로 구현되어 있는가 – 배열이든, 벡터든, Internal Table이든 – 는 상관없다. 즉 나중에 Aggregate의 요소 관리 방식을 얼마든지 바꿀 수 있다는 이야기. 이를 위해 아래와 같은 것들이 필요하다. Iterator 인터페이스. Aggregate 인터페이스. [...]

Tagged , , ,

Defining Exception Classes

모든 exception class는 아래 3가지 class들 중 하나의 subclass가 되어야 한다. 이 3개의 class들은 CX_ROOT로부터 파생된 것이지만, 내가 직접 CX_ROOT로부터 파생된 class를 만들어 사용할 수는 없다. CX_STATIC_CHECK CX_DYNAMIC_CHECK CX_NO_CHECK 언제 어떤 것을 사용하느냐 – 를 생각해보자. 약간씩 틀리긴 하다. Subclasses of CX_STATIC_CHECK The relevant exception must either be handled, or propagated explicitly using the RAISING [...]

Tagged

The Factory Method Pattern (in ABAP)

Factory의 요점은 다음과 같다. ‘Product를 만드는 것’과 ‘등록’의 구현은 하위 클래스에서 수행한다. (new를 사용해서) 실제의 인스턴스를 생성하는 대신에 인스턴스 생성을 위한 메소드를 호출함으로서(create_product) 구체적인 클래스명에 의한 속박에서 벗어나고 있다. Framework 쪽: ZCL_FACTORY class ZCL_FACTORY definition public abstract create public . public section. *”* public components of class ZCL_FACTORY *”* do not include other source files [...]

Tagged , , ,

Package example in ABAP

먼저 TEST_FRAMEWORK.ZCL_PRODUCT를 상속받는 TEST_IDCARD.ZCL_IDCARD를 컴파일하면 서로 다른 Package로 인한 경고를 받게 된다. 일단 TEST_IDCARD의 억세스를 가능하게 하기 위해 TEST_FRAMEWORK 쪽에서 인터페이스를 만들어주어야 한다. ZPIF_TEST_FRAMEWORK란 Package Interface를 만들어주고 대외적으로 오픈할 object – 여기서는 ZCL_PRODUCT와 ZCL_FACTORY – 를 추가해준다. 이때 Derive subclasses 부분도 ‘Allow Usage’ 체크를 해주어야 한다. TEST_IDCARD의 DCL(Dependency Control List)를 연다. (SE80로 가서 해당 class를 [...]

Tagged , ,

The Adapter Pattern (in ABAP)

(HFDP에서) Duck의 object가 부족해서 Turkey의 object를 이용하려고 한다… 라는 이상한 상황을 가정하고 있다. 보통 기존 모듈이 새로운 모듈을 이용하려고 하나 서로 interface가 맞지 않을때 – 구체적으로, 한 클라이언트가 다른 object의 method를 이용하고 싶지만 기존 보유한 method를 바꾸고 싶진 않다(또는 바꿀 수 없다) 할 때… 같은 있음직한 상황을 예로 든다만. 어쨌건 이 경우 Duck은 client, Turkey는 [...]

Tagged , , , ,

100 Best Global Brands

BusinessWeek에서 2009년도 Top100 Best Global Brands를 발표했습니다. SAP는 작년에 비해 4계단 상승, 전체 27위로서 역대 최고기록을 세웠네요. 모 내가 잘 한 것도 아니고 특별 보너스가 나올 것도 아니지만 몸 담고 있는 조직이 잘 해나가는 것 같아 기분이 좋습니다. 순위를 살펴보면, 5위권까지는 변화가 없습니다. Coca-Cola – IBM – Microsoft – GE – Nokia 이고, Nokia 외에는 [...]

Tagged , ,

SAP 소식 몇가지

SAP가 소프트웨어 기업 중 ‘다우존스 지속가능성 지수(Dow Jones Sustainability Index, DJSI)’ 3년 연속 1위를 했다는 기사가 나왔다. 이와 반대로, Siemens가 Maintenance Contract를 그만둔다는 루머에 대한 기사가 Wirtschaftswoche에서 나왔다. 관련 해명 기사가 사내 인트라넷 메인으로 뜨는 바람에 알게 되었다. … The current misinformation in the market provides incorrect information about the SAP Siemens relationship. SAP has [...]

Tagged , ,