반응형

SAP/ABAP 65

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

ABAP Class ALV Checkbox 변경시 Data Changed Event 실행

Class ALV 에서 데이터를 수정하면 ALV 에 설정되어 있는 Data Changed Event 가 실행되게 된다. 그런데 개발을 하다 보니 Checkbox 의 경우 기본적으로 Data Changed Event 를 타지 않아서 변경된 내용을 체크 할 수 없었다. ( 다른 필드를 수정하면 변경된 내용을 알 수 있으니 그냥 처리해도 된다. ) 그래서 왜 그런가 찾아봤더니 ALV Data Changed Event 의 경우에 1) 데이터가 변경되는 즉시 2) 데이터를 변경하고 엔터 키를 입력시 두 가지로 이벤트 발생을 조정할 수 있다. 그렇기 때문에 Checkbox 의 값이 변경된 경우 바로 Data Changed Evnet 를 실행하게 한다면 변경된 내용을 바로 사용 할 수 있다. 그리고 데이터가 변경 되..

SAP/ABAP 2014.12.15

ABAP Class ALV Cell 별 색상 넣기

ABAP 개발을 하다 보면 제일 많이 하는게 ALV 리스트 개발을 하는 것일 것이다. ALV 가 워낙 강력한 기능들이 많은데 잘 사용하지 못할 때가 너무 많다. 필요한 그리드의 기능을 다 가지고 있어서 잘 세팅하는 법만 알아도 사용자가 요구하는 조건을 충족 시킬 수가 있다. ( 사용자는 기능을 잘 모르기 때문에 개발자가 잘 가이드를 해야 한다. ) 오늘은 Class ALV 의 Cell 별로 색상을 넣는 방법을 포스팅 하려고 한다. ALV 의 필드 카탈로그에서 한 컬럼씩 색상을 줄 수도 있지만 각 셀 별로 색상을 주는 것도 가틍하다. 한 컬럼씩 색상을 넣게 되면 가로의 Row 의 색상을 줄 수가 없는데 Cell 별로 색상을 넣어주면 Row 의 색상을 넣는 것도 가능하다. 위의 레포트에서 보면 가장 아래줄에..

SAP/ABAP 2014.12.10

ABAP 파일 업로드, 다운로드시 파일 선택 팝업 생성

엑셀 업로드를 하거나 다운로드를 할 때 파일명 및 경로를 설정해야 할 때가 있다. 하드코딩으로 넣어도 되지만 ABAP에서 기본 제공하는 함수와 Class 메소드가 있는데 Class 메소드를 포스팅 하고자 한다. ( Class 메소드가 파일명도 넣을 수도 있고 멀티 셀렉트도 가능하다. ) " 파일경로 설정 PERFORM F4_HELP_FOR_FILE CHANGING GV_FILE. *&---------------------------------------------------------------------* *& Form F4_HELP_FOR_FILE *&---------------------------------------------------------------------* * text *-----..

SAP/ABAP 2014.11.18

ABAP Report 프로그램 실행시 Tcode 체크

Report 프로그램을 개발하다 보면 SE38 이나 SE80 등으로 Report를 실행 할 수 있다. 물론 사용자들에게는 SE38, SE80 권한을 잘 안주기 때문에 실행할 일이 별로 없긴하지만 그래도 레포트 프로그램 하나에 두개의 Tcode 를 줘서 구분하여 만든 프로그램에서는 Tcode로 만 실행하게 하는 방법이 필요하다. 의외로 간단하게 적용이 가능하다. Report 프로그램 실행하면 제일 먼저 실행되는 Initialization 부분에 SY-TCODE 를 체크하여 원하는 Tcode 가 아닐 경우 프로그램을 종료하면 된다. ( 메시지 추가도 가능하다.) 아래 코드 중에 Leave Program 을 사용하면 프로그램이 실행은 되지만 1000번 화면으로 가지 못하고 메시지가 출력되면서 종료된다. *&-..

SAP/ABAP 2014.11.17

ABAP Parameters 에 소숫점 및 마이너스 금액 입력

레포트 화면 에서 Parameter 에서 소숫점을 입력하는 방법은 간단하다. 변수를 선언 하듯이 p type 에 decimals 를 선언해 주면 된다. 그러면 숫자를 입력하면 자동으로 해당하는 자리수로 변환이 된다. ( 물론 마이너스도 입력이 가능하다. ) 별 것 아닌데 갑자기 하려니 생각이 안나서 기록으로 남기는바이다. PARAMETERS : L_AMT TYPE P DECIMALS 2. " Decimals 에 숫자만큼 자리수 지정 소수점 금액 입력 마이너스 금액 입력

SAP/ABAP 2014.10.21

ABAP RANGE 변수를 PERFORM 문의 파라메터로 사용하기

RANGE 변수는 참으로 신기한 변수 형태이다. 다른 언어에서는 없는 특이한 변수형이긴 하다. ABAP 에서도 특이한 부분인데 Internal Table 도 아닌 것이 그렇다고 변수도 아닌 것이 그 중간쯤의 형태를 가지고 있다. 오늘 포스팅 하고자 하는 내용은 이 특이한 RANGE 변수를 PERFORM 문에서 파라메터로 사용하는 방법이다. 결론부터 말하자면 RANGE 변수도 TABLE 처럼 PERFORM 문에 사용하면 된다는 것이다. 프로그래밍 할 때 RANGE 변수를 선언 하는 부분을 제외하면 Internal Table 로 생각하고 개발을 한다면 더 쉽게 개발을 할 수 있다. RANGE 변수는 성능 개선을 위해 사용하기도 하는데, RANGE 변수에는 데이터가 무한대로 들어가는게 아니라는게 중요하다. 얼..

SAP/ABAP 2014.09.04

ABAP Field Symbol 의 사용

학교 다닐 때 C 언어를 배운적이 있다. IT 를 배웠다 하는 사람들에게 기본이라고 가르치는 C 언어는 고비가 2번 오는데 포인터가 나오면 포기하는 사람이 1/3 이고 C++ 에서 클래스 개념이 나오면 1/3 이 포기한다고 우스갯소리를 한다. 그래서 자바가 좋니 어쩌니 한다. 하지만 어떤 프로그래밍 언어든 고비는 있는 듯 하다. ABAP 에도 포인터와 비슷한 개념을 가지 Field Symbol 이 있다. Field Symbol 을 잘 이용하면 반복되는 필드들을 짧은 코드로 처리 할 수 도 있고, 루프의 속도도 개선 할 수 있으며, Internal Table 을 Dynamic 하게 만들 수도 있다. ( 이전에 Dynamic Internal Table 을 만드는 방법을 포스팅 한 적이 있다. 동적 인터널 테..

SAP/ABAP 2014.09.03
반응형