분류 전체보기
-
[ABAP] 인라인 데이터와 동적 검색의 충돌(with. Field-symbol)SAP/ABAP 2025. 3. 26. 09:05
인라인 데이터란?DATA 선언을 TOP에서 진행하는 것이 아닌 아래와 같이 SELECT 구문에서 선언과 할당을 동시에 하는 구문을 말합니다. SELECT *FROM (p_tn)INTO TABLE @DATA(gt_output). 위 구문을 처음 봤을 때는 굉장히 똑똑한 코드라고 생각습니다. 하지만 막상 실행 시키면 다음과 같은 오류를 받을 수 있다. ZED01_R3_FS01 Line 96: Inline data declarations are possible only if projection list, INDICATORS clause, and FROM clause are specified statically and all host variables are typed as non-generic. ..
-
[ABAP] 메일 보내기(by. naver)SAP/ABAP 2025. 3. 25. 16:41
SAP에서 Naver 계정을 이용해 메일 보내는 기능을 개발하였습니다.기본 코드에 대해서는 감자님의 블로그를 기반으로 작성하였으며,발송자인 Sender를 추가하고 메일이 즉시 발송되도록 작성하였습니다. 크게 세 가지 단계로 나누어져 있습니다. 1. 코드 작성2. SMTP 설정3. Naver 계정 환경 설정 https://potato98.tistory.com/71 SAP E-Mail(이메일) 발송# SAP E-Mail(이메일) 관련 T-CODE# SICF - SMTP 호스트 설정# SCON - SMTP 발송 테스트/발송 정보/Job 스케쥴링# SBWP - 메일함# SOST - 발송 메일 확인 # E-Mail(이메일)을 쓰기 전 # 메일을 보내는 로직 중에 Functipotato98.tistory.co..
-
[ABAP] Lock ObjectSAP/ABAP 2025. 3. 25. 11:13
Naming Convention E_[Lock Obeject] : E_로 시작해야 합니다. 생성 SE11에서 Lock Object 생성 및 관리를 할 수 있으며, 생성 후에는 자동으로 ENQUEUE와 DEQUEUE 함수가 생성됩니다. Mode S Lock : Shared / Read Lock읽는 도중 자료가 변경되는 것을 막기 위한 Lock. 실제로 S 모드 락이 걸린 경우 수정이 불가능합니다.O Lock : OptimisticO Mode로 여러 수정이 접근 가능 하지만 실제 수정될 수 있는 접근은 선착순 하나뿐입니다.E Lock : Exclusive cumulative / Write Lock(Default Lock)한 개의 Program에서 같은 Data에 대해 중복적으로 누적 Lock이 가능..
-
[ABAP] Search Help 종류와 우선순위SAP/ABAP 2025. 3. 25. 10:52
Search Help란? 데이터 입력 시, 선택지를 제공해 주는 기능으로 선택지 외의 값을 넣었다고 오류로 잡아주는 Input Value Check의 기능과는 다릅니다. Type Elementary search help한 개의 Tab으로 모든 항목을 보여주어 한눈에 보기 좋다는 장점이 있지만 데이터가 많은 경우에는 비효율 적입니다.Collective search help여러 개의 Tab으로 구성되어 검색을 통해 선택할 수 있습니다. 한눈에 보이지는 않지만 많은 데이터를 다루기에는 적합합니다. 생성 방법 Dictionanry(SE11)에서 Search Help를 통해 생성 가능합니다. Selection method : Search Help를 동작할 TableDialog BehaviorA : ..
-
[ABAP] 나만의 Unit Type 만들기SAP/ABAP 2025. 3. 25. 10:03
ABAP에서는 Table을 만들 때, Currency/Quantity Fields라는 Tab이 존재한다. SPFLI를 부면 QUAN 타입의 Reference field가 같은 Table의 DISTID(UNIT) Field임을 알 수 있습니다. 즉, 수량을 나타내는 QUAN 타입은 단위인 UNIT 타입과 같이 사용해야 합니다. 그렇다면 단위 필드는 어떻게 구성되어 있는가? S_DISTID의 Domain은 MEINS 도메인을 사용하고 있습니다. MEINS를 살펴보니 SAP에서 제공하는 UNIT Type을 사용하고 있으며, Routine에 등록된 함수에 따라 입력 값과 출력 값을 변환하여 처리합니다. 이때 아래 캡처에서 Value Table이 T006으로 설정되어 있는 것을 볼 수 있으며, T0..
-
[ABAP] Element Domain 수정 시 에러 해결SAP/ABAP 2025. 3. 25. 09:14
이미 테이블을 만든 상태에서 Element의 Domain을 바꾸거나 Type을 수정하는 경우에 Error Occurred when Activating -> Refer to Log 라는 아래 캡처와 같은 팝업을 보게 될 때가 있습니다. 이는 이미 생성된 Data가 존재해 변경을 할 수 없다는 의미로 데이터가 저장되어 있는 Database에 Active를 시켜줘 해결할 수 있습니다. 1. 해당 Table로 돌아가 메뉴 바 > Utilities > Database Object > Database Utility를 눌러준다. 2. Active and adjust database 버튼을 눌러준다. 이제 다시 Element로 돌아가 Active를 시켜보면 말끔히 반영되어 있을 것입니다. 다만, 데이터..
-
[ABAP] Time Zone 설정(+다음날, 1시간 후 구하기)SAP/ABAP 2025. 3. 24. 17:47
날짜를 계산하기 전에 System > User profile > User Data > Defaults > Personal Time Zone에서 User의 시간 설정과 System의 시간 설정을 확인 할 수 있으며, 둘을 동일하게 맞추어 오류를 방지합니다. 1. 메뉴 바의 User Data로 들어가준다. 2. 두 Time Zone을 동일하게 설정한다. 위의 설정을 통해 아래 구문이 동일한 날짜가 출력되는 것을 확인할 수 있습니다. DATA(today_sys) = cl_demo_date_time=>get_system_date( ).DATA(today_user) = cl_demo_date_time=>get_user_date( ).WRITE : / 'System Date = ', today_sys, ..
-
[ABAP] Data Dictionary(Domain, Data Elements, Table)SAP/ABAP 2025. 3. 24. 17:22
| Data Dictionary DB 관련 Object를 관리하는 영역으로 Domain, Data Elements, Structure, Table, Index, Buffer 등이 Dictionary에 포함되어 있다. 지금은 Domain, Data Elements, Table 세 가지에 대해서 살펴보겠습니다. | 구조 Data를 저장 하기 위해서는 Table Type을 만들어야 하며, 해당 Table의 한 행을 Structure라고함Structure의 각 열을 Field(Data Elements Type)라고함이때, Data Element는 객체의 의미 정보(이름, 설명, 서치헬프 등)를 담고 있음기술적 정의(Data Type, 길이 제한, 고정 값 등)는 Domain or Built-in type으..