I Agree Line Smiley

분류 전체보기 40

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

POWL KEY값 찾기

오늘은 SAP TM에 대한 포스팅을 시작해 보겠습니다. SAP TM은 비주류 모듈이기 때문에 정답을 찾기는 매우 어렵다고 생각이 됩니다. 그렇기에 저는 정답이라기 보단 가능한 방법에 대한 포스팅을 진행하겠습니다. 그래서 오늘은 POWL에서 선택한 KEY값의 DB KEY를 찾는 방법에 대해 포스팅하겠습니다. GET POWL KEY POWL에서 선택한 데이터는 IF_FPM_PARAMTER에서 찾을 수 있었습니다. IF_FPM_PARAMETER를 디버깅해보면 GET_VALUE 메서드에서 IV_KEY 값이 'KEY'라는 값을 입력받았을 때 ev_value에 DB_KEY를 전환해 주는 것을 확인할 수 있습니다. 다음과 같이 코드를 진행하면 POWL에서 선택한 오더의 DB_KEY값을 얻을 수 있었습니다. 저는 포워..

TM 2023.05.09

ABAP New Syntax - Read Table

오늘은 ABAP New Syntax(아밥 신문법) 그중 Read Table에 대해 정리해 보겠습니다. Read Table은 Internal table을 조회하는 구문으로 New-Syntax를 통해 효율적인 구문을 작성할 수 있습니다. New Syntax - Read Table 1. INDEX 예전 구문에서는 Read Table에 Index를 이용하여 구조체에 테이블 데이터를 입력했습니다. 하지만 신문법을 사용하여 wa = itab[ idx ] 를 사용하여 Read table과 같은 결과를 얻을 수 있습니다. ( 시스템 인덱스도 사용할 수 있습니다.) 2. TRANSPORTING NO FIELDS 예전 구문에서 ITAB에 데이터 유무를 판단하는 로직이 있었습니다. 이 구문도 신문법을 사용하여 같은 효과를 ..

SAP/New Syntax 2023.04.17

ABAP Debugging 옵션

SAP ABAP의 꽃을 한 가지 뽑으면 저는 당연히 'Debugger'를 뽑겠습니다. ABAP에서 Debugger는 ABAP Workbench에 통합된 Tool이며 다른 언어와는 다르게 ABAP은 ABAP에디터와 디버깅 화면을 자유롭게 변환할 수 있는 장점이 있습니다. 디버깅을 사용하다 보면 보통 사용하던 디버깅 기능만 쓰게 되는데 생각보다 디버깅의 능력은 대단합니다. 오늘은 그중 간단하게 몇 가지 디버깅 기능에 대해 소개하겠습니다. | 기능키 | 기능키는 디버깅에 가장 기본이 되는 기능으로 ABAP을 사용하는 개발자는 자연스럽게 익히는 기능입니다. 디버깅 기능키는 4가지가 존재합니다. (F5) : 디버깅 포인트를 한 칸씩 다음단계로 이동합니다. (F6) : 한단계씩 이동하며, 서브루틴을 만나면 실행 후..

SAP/ABAP 生 기초 2023.04.14

FPM Fiori 타일 생성 / Create Fiori Launch Pad Webdynpro

안녕하세요, 이번 포스팅에서는 FPM 프로그램을 Fiori 타일에 연동하는 방법에 대해 리뷰하겠습니다. Fiori Launchpad 연동(FPM) 가장 먼저 SAPGUI에 T-CODE : /N/UI2/FLPD_CUST를 통해 피오리 타일 생성 웹으로 이동합니다. 티코드를 입력하면 다음 화면으로 이동합니다. 1. 카탈로그 생성 좌측 메뉴에서 카탈로그를 선택하고 하단에 +버튼을 눌러 카탈로그를 생성합니다. 생성할 카탈로그의 ID와 Title을 적고 Save를 누르면 카탈로그가 생성됩니다. 생성한 카탈로그는 좌측메뉴에서 검색할 수 있으며, 자신의 만든 카탈로그를 선택한 후 상단에 타일 맵핑 버튼을 누르고 우측 하단에서 Create 타겟 맵핑 버튼을 눌러줍니다. 2. 타겟맵핑 Semantic Object와 Ac..

TM/FPM 2023.04.06

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