2025/04 6

FIELD-SYMBOLS( 필드 심볼) 개념 이해하기

📌 필드 심볼이란?필드 심볼(Field Symbol)은 ABAP에서 "데이터를 가리키는 이름표", 즉 참조(pointer)처럼 작동한다. 쉽게 말해, 어떤 데이터를 직접 가지고 있는 게 아니라, 다른 데이터의 주소를 참조해서 사용하는 것이다. 이걸 활용하면 동적으로 메모리 영역에 접근하거나, 인터널테이블 루프 시 성능 최적화 등에 유용하게 사용할 수 있다. 아마 다른 프로그래밍 언어를 접했으면 포인터에 대해 대충은 알고 있을 것이다. 하지만 프로그래밍을 시작하다 포인터라는 벽에 부딪혀 중도에 포기한 입문 자거나 프로그래밍이 아예 처음인 사람은 이게 무슨 소리인가 할 수 있을 것이다. 그래서 비유를 통해 좀 더 쉽게 이해할 수 있도록 설명해 보고자 한다.  🧑‍🎓 FIELD-SYMBOLS 은  "반장..

Internal Table의 개념과 구성 요소(Feat. Table Category)

SAP ABAP의 핵심 기능 중 하나인 인터널 테이블(Internal Table)은 프로그램 내에서 데이터를 임시로 저장하고 처리할 수 있게 해주는 유연한 자료구조이다. 이를 쉽게 이해하기 위해 엑셀 문서를 생각해 보자. 엑셀 시트는 여러 줄의 데이터를 저장하고 필터링하거나 정렬할 수 있다. 인터널 테이블도 이와 비슷하게 작동한다. 각각의 테이블은 데이터를 담는 그릇이며, 이 그릇이 어떤 모양인지, 그리고 그 모양에 따라 어떤 기준으로 데이터를 넣고 꺼낼 수 있는지 알아보도록 하자.1. 인터널 테이블을 구성하는 요소 – 엑셀 시트와 비교해 보자!ABAP에서 인터널 테이블은 다음 세 가지 요소로 정의된다.  📌Line Type (행 타입)엑셀의 "한 행"에 해당함. 각 행은 문자열, 숫자, 날짜 등 다양..

SAP 3-Tier 구조 쉽게 이해하기

SAP를 처음 배우거나 ABAP 프로그래밍을 시작했다면 한 번쯤 이런 말을 들어봤을 것이다. SAP는 3-Tier 구조로 되어 있어요. 근데 그게 도대체 무슨 뜻이지? 프레젠테이션? 애플리케이션? 데이터베이스? 컴퓨터 전공자가 아니라면, 말만 들어도 머리가 아프다. 과거에 Easy ABAP 서적이 처음 나왔을 때도 3-Tier Architecture 설명이 처음에 나오는 바람에  첫 장을 읽고 큰 벽을 느꼈던 사람이 많았는지 2.0 으로 책이 개편되면서 해당 내용은 제일 마지막 챕터로 변경되었었다.  그래서 이번 포스팅에서는, SAP 3-Tier 구조에 대해 기술적으로 깊게는 아니지만 큰 그림을 보면서 쉽게 이해해보자는 차원에서 햄버거 가게로 SAP의 3-Tier 구조를 설명해볼까 한다. 1. 햄버거 가..

Function Module 파라미터 종류와 인터페이스 방식

ABAP 개발을 하다 보면 반드시 접하게 되는 Function Module (함수 모듈)의 중요한 개념 중 하나가 바로 Parameter Interface (파라미터 인터페이스)이다.이번 포스팅에서는 ABAP 함수 모듈에서 사용하는 다양한 파라미터 타입( IMPORTING, EXPORTING, CHANGING, TABLES )의 차이점과 특징, 사용 시 ❗주의사항을 설명해 보도록 하겠다. 실무에서는 파라미터를 잘못 이해해서 잘못된 값이 나오거나 잘못 사용하는 경우가 있으니 주의사항을 유심히 보도록 하자. 📌 Function Module (함수 모듈)이란?함수 모듈은 공통 기능을 캡슐화하여 재사용할 수 있도록 만들어진 ABAP의 기능이자 ABAP에서 로직을 모듈화(Modulization) 하는 방법 중 ..

Parameter 전달 방식 Pass by Value 와 Pass by Reference

프로그래밍을 하다 보면 서브루틴이나 함수 또는 클래스의 메소드에 변수를 전달할 일이 많다. 이때 전달 방식에 따라 넘겨지는 변수의 변경 여부가 다르게 작동하는데 이 두 가지 방식으로 전달되어 진다. ✅ Pass by Value (값에 의한 전달)✅ Pass by Reference (참조에 의한 전달)✅ Pass by Value란?Pass by Value는 데이터를 서브루틴이나 함수(메서드)에 값을 전달할 때 복사본을 넘겨주는 방식이다.친구에게 중요한 서류를 보여주고 싶지만, 잃어버릴까 걱정돼서 복사본을 줬다고 해보자. 친구가 복사본에 낙서를 하든 찢든, 원본 서류에는 전혀 영향을 받지 않는다. 바로 이게 Pass by Value이다. 📌 컴퓨터 메모리 관점해당 루틴이 호출될 때, 전달된 변수의 값을 복..

ABAP Initial Value 와 Null 의 차이

ABAP을 하면 가끔 질문하는 것이 있다. ABAP에서 Null이랑 Initial Value는 뭐가 다른 거야?프로그래밍을 처음 접하는 분들이나 다른 언어(Java, Python 등)에서 넘어온 분들에게 이 개념은 혼란스러울 수 있다. 특히 SQL을 다뤄본 사람들은 ‘NULL’을 익숙하게 여기지만, ABAP에서는 그게 잘 보이지 않는다. 오늘은 이 두 개념의 차이를 마치 빈 상자와 존재하지 않는 상자로 쉽게 풀어보도록 하겠다.📌  상자로 이해하는 Initial Value vs Null상자를 하나 준비했다고 생각해 보자.이 상자는 우리가 사용하는 ‘변수’를 비유한 것이다. Initial Value는 상자 안에 아무것도 안 들어있지만, 상자 자체는 있는 상태를 말한다.즉, "값은 없지만 초기 값은 존재한다..