I Agree Line Smiley

SAP 23

FIeld-Symbol로 간편하게 코딩하기 / Loop ~ Field-Symbol

안녕하세요, 이번 포스팅에서는 제가 제일 많이 쓰는 구문인데요 Field-Symbol을 활용하여 modify를 생략하고 테이블 데이터를 직접 변경하는 구문을 리뷰하겠습니다. 먼저, Field-Symbol이란 무엇일까요? ABAP 프로그램 내에서 동적으로 변수에 접근하며, ASSGIN(할당)된 데이터 오브젝트의 메모리 공간을 공유합니다. 즉 ASSGIN된 순간 데이터 오브젝트와 필드심볼간의 차이가 없다는 말입니다. 이 말은 필드심볼을 수정하면 ASSIGN 한 오브젝트도 수정된다고 생각하시면 편할 거 같습니다. Field-Symbol 사용법 기본적으로 필드심볼은 선언 후 할당의 개념을 가지고 있습니다. 하지만 S/4 HANA로 업그레이드되면서 ABAP New-Syntax 가 생겼습니다. New-Syntax를..

SAP/ABAP 2023.03.28

LOOP AT GROUP BY 사용해보기

안녕하세요, 이번 포스팅에서는 테이블 중복검사 또는 집계를 사용할 때 유용하게 사용하는 LOOP AT GROP BY에 대한 리뷰를 해보겠습니다. 활용법보다는 사용법을 기준으로 예시를 만들었으니 참고해 주시길 바랍니다. 먼저, 시작하기전에 위의 테이블을 기준으로 LOOP를 돌려보겠습니다. CARRID와 CONNID를 기준으로 GROUP을 돌리면 어떻게 데이터가 들어가는지 체크해 보겠습니다. LOOP AT GROUP BY 1. 예시 CODE 이 예시에서는 Carrid와 Connid를 그룹으로 만들었습니다. 그에 따라, LH + 0004 / LH + 0454 / LH +0455 총 3개의 그룹에 10개의 데이터가 들어있습니다. 첫 번째 LOOP인 GROUP BY에서는 그룹이 된 첫 번째 데이터를 읽으며 예시에..

SAP/ABAP 2023.03.27

ALV 필드 카탈로그 자동 입력 펑션('LVC_FIELDCATALOG_MERGE ')

안녕하세요. 이번 포스팅에서는 'LVC_FIELDCATALOG_MERGE' 펑션을 활용하여 ALV 필드이름을 따로 지정하지 않고 쉽게 필드 카탈로그를 구성하는 방법에 대해 리뷰해 보겠습니다. 'LVC_FIELDCATALOG_MERGE' 사용법 1. 스트럭쳐 생성 이 펑션을 사용하기 위해서는 먼저 ALV에 띄우고 싶은 스트럭쳐를 ABAP Dictionary에 생성해야 하기 때문에 스트럭쳐를 만들어줍니다. 2. ALV 구성 * ALV 구성은 펑션과 상관없지만 그냥 참고용으로만 구성되어 있는 파트입니다. - 글로벌 변수 선언후 컨테이너와 그리드 그리고 LIGHT를 위한 LED를 선언했습니다. 3. 필드 카탈로그 생성 필드 카탈로그에 데이터를 넣기 위해 펑션을 사용했습니다. 펑션을 사용하지 않을 경우 직접 필드..

SAP/ABAP 2023.03.19

코딩 없이 SELECTION-SCREEN에 ICON 넣는 법 / Selection-screen icon(No-coding)

안녕하세요, 이번 포스팅에서는 코드 안 쓰고 Selection-screen에 아이콘 넣는 방법에 대해 리뷰하겠습니다. 먼저 두개의 파라미터 값이 있습니다. 이 프로그램을 실행했을 때 두 개의 파라미터에 아이콘을 넣는 방법 중 간단한 방법 한 개를 설명하겠습니다. Parmeter Icon 설정 먼저, Text Elements 를 클릭합니다. 그리고, Selection Texts에 @@ 사이에 원하는 ICON에 Internal 코드 값을 적어주면 끝입니다.! ICON Internal 코드 확인하는 법 ICON에 Internal 코드 값을 확인하는 방법은 SE80에 들어가서 프로그램명 SHOWICON을 검색하고 실행시킵니다. * SHOWICON : Display icons in list program 실행 하..

SAP/ABAP 2023.03.14

ABAP OFFSET( F1[+off][(len)] )

안녕하세요, 이번 포스팅에서는 SAP ABAP에서 OFFSET기능이라는 것을 리뷰하겠습니다. OFFSET 이 문법은 간단하게 설명하면 문자열의 길이를 선택하는 문법이라고 생각하시면 됩니다. 그림 처럼 가끔 F1(도움말)을 확인하다 보면[+off]라는 구문이 보이곤 하는데 이 구문이 바로 OFFSET구문입니다. 코드로 예를 들면 : WRITE lv_offset+4(2). 이 구문에서 +4를 OFFSET이라 하며 (2)는 LEN이라고 합니다. 코드에서 처럼 LEN을 생략할 수도 있습니다. 다만, 필드 심볼의 경우 LEN을 생략할 수 없으며, * 기호를 사용하여 생략과 같은 결과를 도출할 수 있습니다. 위 구문처럼 FIELD-SYMBOLS에는 LEN을 생략할 수 없는 대신 * 기호를 사용하여 결과값을 얻을 수..

SAP/ABAP 生 기초 2023.03.14

SELECT CASE 사용하기 / SELECT 이중 CASE문

안녕하세요, SAP ABAP에 NEW OPEN SQL이 도입되면서 SELECT 구문에서 CASE를 사용하여 편리하게 데이터를 처리할 수 있게 됐습니다. 이번 글에서는 SELECT CASE 문에 대해 리뷰하겠습니다. 먼저, 글을 이해하기 쉽게 간단한 Table을 만들었습니다. 각 팀별로 두 개의 스코어를 가지고 있으며, 각 팀마다 보너스 코드를 부여했습니다. 그럼 SELECT CASE 문을 활용하여 ITAB에 해당 데이터와 SCORE_SUM 필드를 채워보겠습니다. 위에서 만든 ZNSQL 테이블에서 NAME, SCORE01, SCORE02 데이터를 추출하고 SCORE_SUM 테이블 데이터를 상황에 맞게 데이터를 입력한다. SCORE_SUM = BONUS가 A이면 SCORE01 과 SCO..

SAP/OPEN SQL 2023.03.09

ABAP SELECT 계산식(더하기, 곱하기 등)

안녕하세요, 이번에 SELECT 할 때 계산식 ( +, -, * , / ) 사용하는 법을 리뷰하겠습니다. OPEN SQL이 들어오고 나서 간단한 방법을 통해 계산식을 사용할 수 있게 되었습니다. SELECT 구문에서 조회할 필드를 선언할 때 원하는 계산식을 사용하여 계산 한 뒤 AS(알리아스)를 통해 원하는 필드에 입력을 해주면 되겠습니다. 한번 예시를 통해 테스트해보겠습니다. 테스트를 위해 알아보기 쉽게 SE11에서 4개의 레코드를 가진 ZNSQL이라는 TABLE을 만들었습니다. ( ZNSQL의 필드명을 쉽게 입력하기 위해 FIELDS를 사용했으며 SELECT 옆에 필드를 호출해도 상관없습니다. ) ZNSQL의 데이터를 가져올 때 SCORE_SUM이라는 필드는 INITIAL값이 들어가 있는 것을 확인할..

SAP/OPEN SQL 2023.03.09

CALL TRANSACTION STANDARD PROGRAM(ex.MM03)

안녕하세요, 이번엔 SAP ABAP에서 스탠드프로그램의 티코드를 호출하는 법에 대해 리뷰하겠습니다. 먼저, 기본적으로 CALL TRANSACTION 구문을 통해 T-CODE를 호출하여 다른 프로그램을 실행시킬 수 있습니다. MM03이라는 자재마스터를 조회할 수 있는 스탠다드 프로그램을 호출했습니다. 만약 AND SKIP FIRST SCREEN 구문을 통해 자재번호를 입력하여 실행화면을 호출하고 싶을 때는 PARAMETER ID를 SET 해주면 됩니다. 그런데 스탠다드 프로그램의 경우 PARAMETER ID를 어떻게 적용했는지 알고 싶을 때는 프로그램 실행화면에서 F1 키를 누르면 됩니다. F1 키를 누르면 사진과 같은 팝업창이 뜹니다. 이때 망치모양버튼(Techcical information)을 누르면 ..

SAP/ABAP 生 기초 2023.03.09

ALV DATA_CHANGED EVENT 사용하기

ALV에서 필드값이 변경될때 다른 필드의 값을 설정해주는 이벤트 data_changed 에 대해 적어보겠습니다. 아직 누군가에게 설명할 정도로 깨닫지 못했기 때문에 많은 피드백 부탁드립니다. u(_ _)u 1. 이벤트 선언 CLASS를 선언하고 data_changed 이벤트 메소드를 선언한다. SCREENS에 PBO안에 SET HANDLER를 등록한다. 또한, ALV에서 데이터를 변경하는 경우에는 register_edit_event 메소드를 호출해서 사용해야한다. 이 메소드를 활용하면 데이터가 변경되는 시 자동 반영하게 할 수 있다. i_event_id 에 mc_evc_modified를 넣어주면 데이터를 입력하면 자동으로 반영하지만 mc_evc_enter를 대신 입력 하면 엔터를 누른 시점에 이벤트를 타..

SAP/ABAP 2023.03.08

SAP Data Element 적용 테이블 조회(Where-Used List)

Where-Used List ABAP Object들이 사용되고 있는 Object List를 찾는 기능 1 . Element 적용 Table list 조회 예를 들어, EKPO에는 PURCHASINGDOCUMENTITEMUNIQUEID라고 EKPO에서만 사용되는 Data Element가 존재한다. 이 Element를 더블 클릭하여 들어간 뒤 Where-used list 버튼을 누르면 해당 Element를 사용하고 있는 Table을 조회할 수 있다. 조회 결과 EKPO 에서만 해당 Element를 사용하고 있는 것을 확인할 수 있다. 2 . Table 사용 List 조회 Data Element와 같이 Table 또한 현재 사용되고 있는 List를 조회할 수 있다.

SAP/ABAP 生 기초 2023.03.08