반응형

SAP 97

ABAP 개발을 위한 Eclipse 및 플러그인 설치하기

SAP ABAP 개발은 SAP GUI 라는 SAP 서버 접속 전용 툴을 사용하여 개발을 한다. 처음시작하는 사람들은 대부분 이외의 툴은 잘 사용하지 않을 뿐더러 SAP GUI에서 지원하는 기능만큼 지원하는 툴도 없다. 하지만 이번에 SAP HANA 를 강좌를 보다 보니 강사들이 다 Eclipse 를 사용하고 있기에 호기심에 찾아보았다. 예전에 Java 를 할 때 eclipse 는 툴이 무거워서 별로 사용하고 싶지 않았는데 확장성은 진짜 최강인 것 같다. 조금 사용해보니 SAP GUI 화면을 그냥 끌어다가 붙여놓았다. ( 그래서 Eclipse 를 왜 써야 하는지 의문이기도 하다. ) https://tools.hana.ondemand.com/ 위 사이트를 들어가보면 ABAP, BW, HANA 등등 다양한 플..

SAP/ABAP 2015.04.06

ABAP 개발자의 시작

SAP ERP 개발업무를 하기 위해서는 ABAP 이라는 언어를 알아야 한다. SAP 패키지는 기본적으로 ABAP으로 개발되어 있고, 우리와 같은 개발자들은 고객의 요구사항에 맞춰 ABAP 으로 CBO 프로그램을 개발해야 한다. ABAP은 4세대 프로그래밍 언어이기 때문에 C, JAVA 보다는 Visual Basic 에 가까운 언어이다. 개발자들 중에는 ABAP 이라는 언어가 있는지 모를만큼 많이 알려지지 않았지만 요즘은 대기업을 중심으로 SAP가 많이 설치되어 있어서 예전보다는 많이 알려졌다. http://ko.wikipedia.org/wiki/ABAP 출처 : www.sap.com ABAP 이라는 언어는 VB와 비슷하기 때문에 배우기가 쉽다. 그러나 다른 언어를 하는 개발자가 선뜻 도전하기가 어려운 이..

SAP/ABAP 2015.04.06

SAP, ERP 신제품 SAP S/4 HANA 출시

SAP에서 ERP S/4 HANA 를 출시하였다. SAP 개발자로서 R/3 이후 시스템이 계속 업그레이드가 되어 오고 있었지만 이렇게 이름까지 바꿔가며 나오다니 조금은 침체되어 있던 SAP 시장에 새로운 활력을 불어 넣을 것 같다. 이미 왠만한 대기업들은 SAP R/3를 설치하여 프로젝트가 없던 상황에서 S/4 라는 더욱 더 성능을 끌어 올린 솔루션이 나왔으니 앞으로 몇년 이내에 많은 기업으로 S/4 로 이동을 하지 않을까 예상해 본다. 또한 HANA 라는 인메모리 데이터베이스를 사용해서 처리 속도를 올렸다는데, SAP 어플리케이션을 개발하는 입장에서 이러한 부분이 얼마나 영향을 미칠지 궁금하기도 하다. 그리고 기존에 R/3 의 환경을 HTML 5 FIori 를 대응한다고 하니 사용자 입장에서 현재보다는..

SAP 2015.04.06

RKD_WORD_WRAP : 스트링을 글자수 대로 테이블로 잘라주는 함수

ABAP에서 한글을 자르는 것은 참으로 위험 부담이 있다. 글자를 2byte 씩으로 인식을 하기 때문에 그냥 byte로 잘랐다가는 한글이 깨지는 상황이 발생할 수 있다. 그리고 길이를 재도 한글은 2자리 영문은 1자리로 인식해서 합쳐져서 나오기 때문에 한글과 영문이 섞여 있다면 자리수 대로 나누기가 어렵다. 그래서 오늘 포스팅 할 함수는 스트링을 테이블로 변환해 주는 함수이다. RKD_WORD_WRAP 는 한글이든 영문이든 스티링을 글자수를 지정한 테이블에 잘라서 넣어주는 함수 이다. 함수에 TEXTLINE 에 스티링을 넣으면 OUT_LINE1, OUT_LINE2, OUT_LINE3 가 나오고 ( 아마도 첫줄 요약 용도로 사용하라는 의미 같다. ) 그리고 OUT_LINES 테이블에 글자가 잘려서 들어가 ..

SAP/Function 2015.03.03

ABAP 메모리상의 프로그램 로컬 변수 Local Variable 접근하기

ABAP 개발을 하면서 가장 편하다고 생각했던게 프로그램간 파라메터를 전달해서 다른 프로그램을 현재 개발하는 프로그램에 서브 프로그램으로 사용 할 수 있다는 점이었다. 그래서 다른 프로그램이지만 상세화면을 보여주는 등 다양한 형태에서 추가적인 개발을 하지 않고 상세화면을 구성할 수 있다. 예를 들자면 CBO 프로그램에서 IW52 라는 Notification 상세화면으로 바로 들어가는 기능을 만들 수 있다. ABAP 코드에서 Call transaction 과 submit 을 이용 하여 다른 프로그램으로 이동할 수 있으며, 각각 파라메터를 전달하는 방식은 추후에 포스팅을 하도록 하겠다. 오늘은 이러한 프로그램 간 이동을 하면서 이전 프로그램의 Local Variable 을 조회하는 내용을 찾아보았다. 나와 ..

SAP/ABAP 2015.02.25

ABAP 간단한 결과 내용을 ALV 팝업으로 출력하기

ALV 를 이용해서 결과를 표시하고 싶은데 간단한 내용에 비해 ALV를 만들기 위한 소스의 내용이 너무 많다면 ALV Popup Function 을 이용해서 결과를 표시 할 수 있다. 간단하면서 사용이 간편하지만 별도의 기능을 구현하기에는 한계가 있으므로 단순히 결과 메시지들을 출력한다던지 하는데 사용이 가능하다. 구글에서 검색으로 찾았는데 아래 사이트에서 확인 할 수 있다. 그리고 사이트 사용자의 여러 개발 코드 예제가 있으니 개발하는데 많은 도움을 받을 수 있다. Original Source : http://www.kerum.pl/infodepot/00004 REPORT ytest017. START-OF-SELECTION. TYPE-POOLS: slis. PERFORM display_popup. FO..

SAP/ABAP 2015.02.06

ABAP BDC 동일한 Work Order 수행시 오류 발생(IW32)

BDC 프로그램 개발을 하는 중에 Work Order 를 수정하는 프로그램에서 동일한 Work Order 를 두번 연속 수정을 하면 두번째 Work Order가 수정이 안되는 현상이 발견되었다. 문제는 Background 모드를 사용하면 두번째 실행한 것이 저장이 안 되는 문제이다. 그러나 Foreground 로 실행을 하면 문제 없이 두 건 모두 저장이 되었다. 이 문제는 특별한 오류가 있어서 생기는 것은 아니지만 첫 번째 BDC를 처리하고 나서 완료가 되기 전에(짧은 시간이지만) 두 번째 Work Order를 처리하려고 하기 때문에 발생하는 문제 인 듯하다. 그래서 이 경우를 해결하기 위해서는 첫번째 BDC 를 실행 후 몇초간의 시간 텀을 두거나 아니면 BDC 실행시 Update Mode 를 Asyn..

SAP/ABAP 2015.02.05

ABAP Call Screen 100 실행 후 Write 구문 출력하기

개발을 하다보면 그냥 WRITE 구문을 사용해서 메시지를 출력하고 싶을 때가 있다. CALL SCREEN 100 을 써서 별도의 스크린을 만들면 WRITE 구문을 사용 할 수가 없다. 그렇기 때문에 REPORT 초기화면에서 쓰는 것과 같이 화면에 출력이 되지 않는다. 이미 ALV나 별도의 화면이 있는 상황에서 단순히 WRITE 구문을 사용하고 싶다면 아래와 같은 코드를 추가해 주면 된다. ( 예를 들면 BDC를 돌리고 그리고 그 결과를 출력하기 위해서 WRITE 구문을 쓰려고 한던지 할 때 사용하면 된다. ) 이 코드의 핵심부분은 SUPPRESS DIALOG 이다. 이 코드를 추가하면 100번 스크린에서 WRITE 구문을 출력 할 수 있다. ( 실제로 100번 스크린에서 출력이 되는 것은 아니다. 왜냐하..

SAP/ABAP 2015.01.26

ABAP 텍스트 박스 ( Input Box ) Dropdown List 만들기

ABAP 개발을 핟 보면 사용자들이 데이터 입력하는 텍스트 박스를 많이 만들게 된다. 그러한 데이터를 입력하는 박스 중에서 사용자가 임의로 넣는 것이 아닌 정해진 값만 넣게 해야 하는 방법중 하나가 Dropdown List 를 만드는 것이다. 다른 말로 Combo box 라고도 하는데 사용자가 넣어야 하는 것을 선택할 수 있게 하는 것이다. 이렇게 되면 사용자의 입력 오류를 예방 할 수 있고 또 개발자가 오류 값들에 대한 예외처리 하는 로직도 줄일 수 있어서 효과적이다. ABAP에서는 이러한 Dropdown List 를 만드는 방법을 2가지 소개 하고자 한다. 1. Element -> Domain 에 정의를 해서 리스트를 출력한다. 이것은 텍스트 필드에 사용하는 element 의 domain에 정의를 하..

SAP/ABAP 2015.01.20

ABAP Stored Procedure 호출방법

오늘은 오랜만에 ABAP 에 관련된 내용을 포스팅한다. 오늘은 DBCO를 이용한 MS-SQL Stored procedure 를 호출하는 방법이다. 이미 F1을 누르면 설명과 샘플이 나오나 F1 보다 검색을 사용하는 분들을 위해서 포스팅 하고자 한다. 그냥 SQL 을 써도 되지만 Stored Procedure 는 이미 SQL server에서 컴파일이 되어 있고 내용이 변경이 되면 ABAP에서 SQL 을 수정하지 않아도 SQL Server 에서만 변경하면되니 참으로 간단하다. EXEC SQL 의 예제에 나온 예문이다. ( 오라클 ) PARAMETERS incprice TYPE sflight-price. EXEC SQL. CREATE OR REPLACE PROCEDURE increase_price (x IN ..

SAP/ABAP 2015.01.15