I Agree Line Smiley

SAP/ABAP 10

SAP 어플리케이션 툴바 버튼 제어 / Dynamic application toolbar button control

안녕하세요, 오늘은 SAP Application toolbar 제어에 대한 포스팅을 해보겠습니다. 먼저 이번 글에서는 두가지 내용을 다루려고합니다. 첫번째, 툴바 버튼의 이름 제어 두번째, 툴바 버튼 디스플레이 제어 이렇게 두가지 내용을 정리해보겠습니다. 1. 툴바 버튼의 동적 텍스트이 방법은 조회 / 수정 같은 버튼을 만들기 위해 한가지 버튼의 이름을 동적으로 사용하는 방법입니다. 1) 제일 먼저, 버튼의 이름을 동적으로 담아줄 변수를 글로벌로 선언합니다. 2) 그 후 PBO에서 PF-STATUS 구문을 통해 어플리케이션 툴바에 버튼을 생성해줍니다. 3) 버튼을 생성할 때 동적 텍스트를 선택합니다. 4) 저는 위에서 변수를 미리 만들어 놓았기에, 프로그램 필드를 선택하겠습니다. 5) 그렇게 변수를 선택..

SAP/ABAP 2024.08.28

ABAP Secondary Key

안녕하세요! 오늘은 Table Index를 수월하게 관리할 수 있는 Secondary Key에 대해 포스팅하겠습니다!Secondary KeySecondary Key는 쉽게 설명하면 Internal table 의 두번째 Key입니다. 메인키인 Primary Key가 아닌 Sort 용 Key로 Table의 Index를 수월하게 관리할 수 있는 역할을 하고있습니다. Secondary Key는 많은 레코드를 가진 Table에 사용하며, 인덱스의 변화를 주는 구문에서 사용하면 안됩니다. 1. Secondary Key 선언Secondary Key는 위 코드 와 같이 사용할 수 있으며, Sorted key 구문을 이용하여 선언할 수 있습니다. 예시에서는 lt_keytest 테이블에 carrid 필드를 Key로 가진 ..

SAP/ABAP 2024.05.13

[SAP] 번역 Object CTS이관(관리영역 메뉴 번역 이관)

안녕하세요, 오늘은 SAP에서 번역관련 Object를 이관하는 법에 대해 정리하겠습니다. 작업을 하다 보면 ABAP Object에 번역을 해야할 일이 생깁니다. 보통의 경우 프로그램 텍스트 기호에 번역을 하면, 번역 Object는 프로그램 CTS에 같이 물려서 CTS가 같이 넘어갈텐데 프로그램이 아닌 경우(예 : 관리영역 ) 수정한 Object를 CTS에 담아도 번역 Object는 안담기는 경우가 생깁니다. 이럴땐, TCode : SLXT에서 문제를 해결할 수 있습니다. SLXT 번역 작업을 한 Object들을 묶어서 CTS를 한 개 생성한다. SLXT은 번역관련된 CTS 를 생성하는 티코드입니다. 번역 Object는 일반 CTS가 아닌 해당 방법으로 CTS를 생성해야합니다. 사용 방법은 그림에 표시된 ..

SAP/ABAP 2024.04.18

SAP 첫 프로젝트 종류 후 쓰는 초보적인 실수들

드디어 ABAP 인생 첫 프로젝트를 마무리했습니다.(고생했다 진짜..ㅠㅠ) 아무래도 처음 프로젝트를 진행하다 보니 미숙한 실수들을 했었습니다. 앞으로는 하지 않을 실수들을 기록하여 다음 프로젝트에는 더 완벽하게 진행될 것 같습니다. 1. Domain Fixed Value 개발 중에는 흔하게 있는 상황으로 Input 데이터를 Domain Fixed Value 로 변화하여 Ootput 해야 되는 상황이 많이 있습니다. 저는 이때 Fixed Value 와 데이터의 자릿수가 맞는다면 Input 변수를 직접적으로 Fixed Valued로 변환하여 출력시켰었는데 이는 옳지 않는 방법이었습니다. 이와 같이 개발하면 데이터의 혼돈이 생기고 데이터 관리가 불편해진다는 문제가 있었습니다. 변수 1개를 변환하며 사용한다면 ..

SAP/ABAP 2024.02.14

ABAP Class에 대해 알아보자 #1

안녕하세요 지코딩입니다. 오늘은 SAP ABAP의 Class에 대한 포스팅을 진행하려고 합니다. CLASS 개념은 비전공자의 입장에서 조금 어려운 개념이었지만 제가 일하고 있는 TM이라는 모듈이 CLASS를 직접적으로 다루기 때문에 꽤 많은 도움이 되었습니다. CLASS에 대한 내용을 정리하는 게 쉽지 않다 보니 이번 포스팅(CLASS에 대해 알아보자 #1)에서는 CLASS에 대한 OVER VIEW를 진행해보겠습니다. CLASS OVER VIEW 제가 생각하는 클래스에 필요한 지식은 Class(클래스), Instance(인스턴스), Interface(인터페이스), Attrebute(어트리뷰트), Method(메서드)입니다. 이 용어들은 아마 개발을 하다 보면 자연스럽게 마주할 용어들입니다. 이 중 가장 ..

SAP/ABAP 2023.05.15

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

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