728x90
SAP 은 기간 시스템이기 때문에 대부분의 사업장 / 업체에서 내부 네트워크 존에 위치하게 된다. 따라서 웹 어플리케이션이나 IDC 외부의 네트워크에서 해당 서버들을 액세스 하기 위해서는 방화벽을 적절하게 개방해 줘야 하는데 아이러니하게도 많은 사업장의 SAP 개발자들은 "당연히" 그런 포트가 열려있는 상황에서 일을 하고 있기 때문에 무슨 포트가 필요한지 모르는 경우가 꽤나 많다. 간단하게 SAP 연결을 위한 포트정보 / 방화벽 설정 정보를 정리해 봤다.

기본적으로 SAP 의 모든 포트 설정은 SAP 이 설치된 서버의 /etc/services 파일의 내용을 확인하면 된다. 혹시나 사업장에 따라 이 파일을 희안하게(?) 설정하고 사용할 가능성도 있으나 대부분 표준적인 포트를 사용하고 있을 것이므로 아래의 내용을 참고하되 문제가 있는 경우 SAP 서버 관리자에게 해당 파일 내용을 확인하면 될 것 같다.

sapdp##    32##/tcp    # SAP Dispatcher.          3200 + System Number
sapgw##    33##/tcp    # SAP Gateway.             3300 + System Number
sapsp##    34##/tcp    #                          3400 + System Number
sapms##    36##/tcp    # SAP Message Server.      3600 + System Number
sapdp##s   47##/tcp    # SAP Secure Dispatcher.   4700 + System Number
sapgw##s   48##/tcp    # SAP Secure Gateway.      4800 + System Number

SAP 시스템은 System Number를 통해서 여러개의 시스템을 하나의 SAP 서버에 올려두는 것으로 보인다. 특히 개발장비의 경우 이런식의 구성이 꽤나 많은 편인데 Client Number, System Number로 구분을 하는 것 같은데 자세한 내용은 다음 포스팅에서 한번 연구후에 정리해 보도록 하겠다.

SAP GUI 를 이용해서 SAP 서버를 액세스 하기 위해서는 32## 포트를 개방해야 한다. 접속하려는 시스템의 System Number가 00 이라면 3200 번 포트를 개방하면 된다. RFC 를 이용해서 SAP 서버를 액세스 하기 위해서는 33## 포트를 개방하면 된다. 마찬가지로 System Number에 따라 3300 혹은 3301 따위가 포트번호가 되는 것이다.

닷넷 개발자들이 SAP .NET Connecter 를 이용해서 개발하는데는 33## 포트만 있으면 될까? 개인적으로 32## 포트도 같이 열고 SAP GUI 어플리케이션을 인스톨 하는 것을 권장한다. RFC 를 호출하다보면 제대로된 값이 나오기는 하는 것인지, 혹은 RFC 가 제대로 코딩이 된 것인지 소스코드를 확인 할 필요도 간혹 생긴다.

32## 포트를 미리 열어두면 ABAP 개발자가 만들어둔 RFC 펑션들을 소스코드까지 까보면서 오류도 찾아낼 수 있는 좋은 기회가 될 것이다. 동시에 RFC 의 허무함도 금새 알 수 있을 것이다. RFC 테스트를 위한 화면 T-Code 가 se37 이라는 것 정도도 머릿속에 넣어두도록 하자.

- NoPD -
728x90
728x90

기간계로 SAP 연동하는 프로젝트를 몇년째 하다보니 SAP 에 대한 보다 깊은 이해가 필요하다는 생각이 요즘 부쩍 많아졌다. 오죽하면 같이 프로젝트중인 닷넷 개발자분은 2주동안 빡시게 스터디해서 ABAP 을 완전히 습득했겠는가! (워낙에 프로그래밍에 감각있는 분이시긴 하지만...) 그동안 만났던 ABAP 개발자분들이 항상 너무 헤매는 모습을 참다못하고 저지른 일이겠지만, 전화위복으로 적(?)의 급소를 진단해 줄 수 있는 역량이 되신것 같아서 앞으로 협업하기 무척 좋을 것 같지 않을까 싶다.

NoPD는 무엇을 공부해야 할까 고민을 하다가 때맞춰 차기 프로젝트로 SAP ERP의 특정 모듈쪽을 연동해야 할 것 같은 분위기가 감지되어 (그동안은 사실상 기본 모듈이 아닌 모듈 1%, 사용자 정의 함수, 펑션과 씨름했었다는...) 하나씩 내용들을 정리해 나가볼까 한다. 물론 SAP 컨설턴트나 개발자가 되려는 것이 아니라 내가 인터페이스 해야 하는 시스템으로 종종 등장하는 녀석이라 "지피지기면 백전백승"의 심정으로 넓게 스터디 해보려는 것으로 목표를 한정지을 필요가 있을 것 같다 (워낙 방대한 녀석이라 깊게 공부하기엔 본업(닷넷)에 대한 충실도가 너무 낮아서...)

회계관련 모듈

FI (Financial Accounting) - 재무회계
CO (Controlling) - 관리회계 (원가관리, 수익성분석, 사업계획, 예산관리)
TR (Treasury) - 자금관리

물류관련 모듈

SD (Sales and DIstribution) - 판매 및 영업관리 (주문관리, 가격관리)
MM (Materials Management) - 구매 및 자재관리
PP (Production Planning) - 생산관리
QM (Quality Managment) - 품질관리
PM (Plant Mainatenance) - 설비관리
LE (Logistics Execution) - 출하 및 배송업무, 창고관리

인사관련 모듈

HR (Human Resources) - 인사관리, 교육 및 평가, 수수료

공통모듈

PS (Project System) - 프로젝트 관리
OC (Office Communication) - 사무자동화 (WF -Work Flow- 라고도 부름)
IS (Industry Solutions) - 업종별 솔루션

그동안 늘 RFC 레이아웃만 바라보고 Proxy 만들어서 인터페이스만 했기 때문에 갑자기 '모듈' 이라는 용어를 들으니 살짝 긴장이 된다. 이름에 익숙해 지는 것이 첫번째 이겠지만 보다 자세한 모듈별 설명이 나와 있는 링크를 찾아서 공유해 본다. WikiPedia는 너무 방대해서 천천히 살펴봐야 할 것 같다.

Pcguy7 님의 SAP 모듈 설명 스프링노트
WikiPedia의 SAP R/3 사전

- NoPD -

 

728x90

+ Recent posts