Appearance
ABAP 코드 생성
Intellidesk의 코드 생성 모듈은 기술 명세서를 기반으로 SAP ABAP 코드를 AI가 자동 생성하는 기능입니다. RAP, CDS View, Report, Function Module 등 다양한 코드 유형을 지원하며, SAP 문법 검증과 ERP 배포까지 일관된 워크플로를 제공합니다.
ABAP Agent의 SAP 시스템 선택
ABAP Agent 상단에서 선택한 SAP 시스템은 현재 사용자와 워크스페이스 기준으로 저장됩니다. 화면을 새로 고치거나 같은 워크스페이스에 다시 들어가면 마지막 선택 시스템을 복원합니다. 해당 시스템이 삭제되었거나 더 이상 사용할 수 없으면 기본 SAP 시스템을 선택합니다.
작업 중 SAP 시스템을 바꿔도 화면의 기존 대화는 삭제되지 않습니다. 채팅에는 새 SAP 시스템 이름을 포함한 구분선이 추가되어 어느 시점부터 연결 대상이 바뀌었는지 표시합니다. 다만 SAP 도구 연결은 새 시스템에 맞게 다시 준비되므로, 시스템 변경 후 첫 요청에서는 새 Agent 컨텍스트가 시작됩니다. 이전 시스템에서만 유효한 조건이 필요하면 첫 요청에 다시 명시하십시오.
SAP 시스템의 주소, Client, 인증 방식, ERP 유형 또는 허용된 SAP Tool이 변경된 경우에도 다음 요청부터 새 Agent 컨텍스트가 시작됩니다. 삭제되었거나 비활성화된 시스템 ID는 다른 기본 시스템으로 자동 대체하지 않고 연결 오류로 안내합니다.
Basic 인증의 SAP 비밀번호는 Agent나 MCP 연결 설정에 직접 포함되지 않습니다. Intellidesk 서버가 현재 사용자와 선택 시스템을 나타내는 1시간 연결 토큰을 발급하며, 대화가 계속되면 만료 전에 기존 대화 문맥을 유지한 채 MCP 연결을 자동 갱신합니다. MCP 서버는 내부 검증을 거쳐 서버 메모리에 있는 인증 정보만 요청 단위로 사용합니다. 서버가 재시작되거나 사용자가 해당 시스템에서 로그아웃하면 다시 인증해야 합니다.
SAP 주요 마스터 조회
ECC 시스템에 연결된 ABAP Agent에게 회사 코드, 사업 영역, 계정과목표, 플랜트, 구매·영업 조직, 국가·통화·단위 같은 조직·참조값을 조회하도록 요청할 수 있습니다. 코스트센터·손익센터와 자재·고객·공급업체·G/L 계정도 지원합니다. 코드를 정확히 알면 전체 KEY로 조회하고, 이름만 알면 표시 텍스트 일부로 검색할 수 있습니다.
- KEY 검색 예시.
회사 코드 1000을 조회해줘. - TEXT 검색 예시.
이름에 서울이 들어간 플랜트를 찾아줘. - 복합 KEY 검색 예시. 저장 위치는
1000/0001, 판매 영역은1000/10/00처럼 요청합니다. - 유효기간 검색 예시.
관리회계 영역 1000의 현재 유효한 코스트센터를 찾아줘. - 계정 검색 예시.
계정과목표 INT의 G/L 계정 400000을 조회해줘.
KEY는 정확히 일치해야 하며 TEXT는 일부가 일치하면 조회됩니다. 결과는 기본 100건, 최대 500건으로 제한됩니다.
조회 결과는 코드인 key, 표시명인 text, 업무상 필요한 부가 정보인 attributes로 구성됩니다. 선택한 마스터와 관계없는 빈 필드는 표시하지 않습니다.
고객과 공급업체 조회 결과에는 주소, 세금번호, 은행과 연락처가 포함되지 않습니다. Business Partner 조회는 아직 제공하지 않습니다.
임시 ABAP 코드 실행
관리자가 SAP MCP Tool 설정에서 메모리에서 임시 ABAP 코드 실행을 명시적으로 활성화하면 ABAP Agent가 Repository 프로그램을 만들지 않고 짧은 ABAP 코드를 실행할 수 있습니다. 이 Tool은 기본적으로 비활성화되어 있습니다.
실행 소스는 PROGRAM SUBPOOL.로 시작하는 완전한 Subroutine Pool이어야 하며 FORM RUN CHANGING CV_RESULT TYPE STRING. 진입점을 한 줄로 선언해야 합니다. 실행 결과는 CV_RESULT 문자열에 넣습니다.
abap
PROGRAM SUBPOOL.
FORM run CHANGING cv_result TYPE string.
cv_result = 'Hello SAP'.
ENDFORM.개발 시스템에서만 사용
임시 코드는 현재 SAP 서비스 사용자의 권한과 IntelliGateway 요청 Work Process에서 동기 실행됩니다. 무한 루프나 Runtime Dump가 요청에 영향을 줄 수 있으므로 명시적으로 허용한 개발 시스템에서만 사용하십시오. ABAP List, Selection Screen과 Background Job 출력은 지원하지 않습니다.
운영 수준 격리가 필요한 경우 고정 Runner와 Background Job으로 실행하는 별도 방식을 사용할 수 있습니다. 해당 방식은 후속 후보이며 현재 Tool에는 포함되지 않습니다.
Resource 소스로 작업하기
ABAP Agent에서는 SAP 시스템에서 직접 오브젝트를 가져오는 방법과 별도로, Intellidesk Resource에서 관리 중인 프로그램 소스를 작업본으로 가져올 수 있습니다.
- ABAP Agent에서 작업할 워크스페이스를 선택합니다.
- 상단 File 메뉴에서 리소스에서 작업을 선택합니다.
- 프로그램 ID 또는 이름으로 ABAP Resource를 검색하고 가져옵니다.
- 파일 트리의
resources/<프로그램 ID>-<식별자>폴더에서 코드를 편집하거나 Agent에게 작업을 요청합니다. - 파일을 저장한 뒤 File → Resource에 반영을 선택합니다.
- 반영할 Resource를 선택하고 반영 결과를 확인합니다.
Resource에서 가져온 파일은 사용자 워크스페이스의 작업본입니다. 파일을 저장하는 것만으로는 원본 Resource가 바뀌지 않으며, Resource에 반영을 실행해야 원본에 적용됩니다.
워크스페이스의 텍스트 파일은 확장자와 관계없이 코드 에디터에서 미리보고 편집할 수 있습니다. .ddls.acds 같은 CDS 소스도 텍스트로 열리며, 이미지나 실제 바이너리 파일만 별도 미리보기로 표시됩니다.
Resource와 ABAP Agent의 파일 트리는 저장소의 src/<abapGit 유형> 폴더 구조를 사용합니다. 디스크의 prog, clas, ddls 유형 폴더는 화면에서 Programs, Classes, CDS Views처럼 읽기 쉬운 이름으로 표시됩니다. 파일 행에는 ABAP 오브젝트 ID가 표시되며 Resource에 description이 있으면 ID 옆에 함께 표시됩니다. Agent로 기존 작업본을 이미 가져온 경우 리소스에서 작업으로 다시 가져오면 최신 설명 메타데이터가 반영됩니다.
Agent와 Resource의 실제 경로 트리는 좁은 화면에서도 파일명이 보이도록 단계별 들여쓰기를 작게 표시합니다. description이 길어 잘리면 파일 행에 마우스를 올려 전체 오브젝트 ID와 설명을 확인할 수 있습니다.
동시 변경 충돌
작업본을 가져온 뒤 Resource 관리 화면이나 다른 워크스페이스에서 원본이 변경되면 반영이 중단됩니다. 최신 Resource를 다시 가져온 뒤 변경 내용을 재적용하십시오.

지원 코드 유형
RAP (RESTful ABAP Programming)
S/4HANA 환경의 최신 개발 모델인 RAP 기반 코드를 생성합니다.
- Behavior Definition (BDEF)
- Behavior Implementation (BIMP)
- CDS Data Model 및 Projection View
- Service Definition / Service Binding
CDS View
Core Data Services 뷰를 생성합니다.
- Basic CDS View
- Composite CDS View
- Consumption View (Annotation 포함)
- Association 및 Composition 정의
Report 프로그램
클래식 ABAP Report 프로그램을 생성합니다.
- Selection Screen 정의
- ALV Grid 출력 로직
- Authority Check 포함
- 데이터 조회 및 가공 로직
Function Module
RFC 또는 로컬 호출용 Function Module을 생성합니다.
- Import / Export / Tables 파라미터 정의
- Exception 처리
- RFC 대응 인터페이스 구성
코드 유형 선택 가이드
S/4HANA 신규 개발에는 RAP 또는 CDS View를, 기존 ECC 환경 유지보수에는 Report 또는 Function Module을 선택하세요.
명세서 기반 생성
입력 명세서 선택
코드 생성의 입력으로 기술 명세서를 사용합니다.
- 코드 생성 메뉴에서 새 코드 생성 버튼을 클릭합니다.
- 코드 유형을 선택합니다 (RAP / CDS View / Report / Function Module).
- 기반이 될 기술 명세서를 선택합니다.
- 생성 옵션을 설정합니다.
생성 옵션
| 옵션 | 설명 | 기본값 |
|---|---|---|
| 네이밍 규칙 | SAP 객체 명명 규칙 (Z/Y prefix 등) | Z prefix |
| 패키지 | 대상 SAP 패키지명 | - |
| Transport Request | 연결할 이관 요청 번호 | - |
| 주석 포함 | 코드 내 한글 주석 자동 생성 여부 | 포함 |
| 에러 처리 | 예외 처리 패턴 적용 수준 | 표준 |
네이밍 규칙
프로젝트에서 정한 네이밍 컨벤션이 있다면 관리자 설정에서 기본 네이밍 규칙을 등록해두면 매번 지정할 필요가 없습니다.
SAP 문법 검증
AI가 생성한 코드는 자동으로 SAP ABAP 문법 검증을 거칩니다.
ABAP Agent에서 ABAPLINT 검사
ABAP Agent의 코드 편집 화면에서 실행 > ABAPLINT로 검사를 선택하면 현재 워크스페이스의 ABAP과 CDS 소스를 한 번에 검사합니다. 저장하지 않은 편집 내용도 현재 화면 상태를 기준으로 검사하며 SAP 시스템 연결은 필요하지 않습니다.
검사 결과는 에디터 하단의 문제 패널에 파일명, 행과 열 정보로 표시됩니다. 문제를 선택하면 해당 파일과 위치로 이동합니다. Include 파일도 워크스페이스의 .incl.abap 이름을 유지한 채 검사됩니다.
검증 항목
- 구문 검사: ABAP 문법 오류 탐지
- 타입 호환성: 데이터 타입 간 호환성 확인
- 테이블 참조: 사용된 DB 테이블 및 구조체 존재 여부 확인
- Authority Object: 권한 객체 참조 유효성 검증
검증 결과 처리
검증 결과는 세 가지 수준으로 분류됩니다.
| 수준 | 아이콘 | 설명 |
|---|---|---|
| Error | 빨간색 | 반드시 수정해야 하는 문법 오류 |
| Warning | 노란색 | 권장 수정 사항 (실행은 가능) |
| Info | 파란색 | 참고 정보 (코딩 스타일 등) |
Error 발생 시
Error가 있는 상태에서는 ERP 배포가 차단됩니다. AI에게 자동 수정을 요청하거나 직접 코드를 편집하여 오류를 해결하세요.
코드 미리보기 및 편집
생성된 코드는 배포 전에 미리보기와 편집이 가능합니다.
미리보기
- Syntax Highlighting: ABAP 구문 강조 표시
- 라인 넘버: 코드 행 번호 표시
- 접기/펼치기: 메서드, 블록 단위 코드 접기
- 검색: 코드 내 키워드 검색 (
Ctrl + F)
직접 편집
- 미리보기 화면에서 편집 모드 버튼을 클릭합니다.
- 코드를 직접 수정합니다.
- 검증 버튼을 클릭하여 수정된 코드를 재검증합니다.
- 저장 버튼으로 변경 사항을 반영합니다.
AI 재생성 활용
코드 전체를 다시 생성하고 싶다면 재생성 버튼을 사용하세요. 이전 생성 결과와 비교하여 더 나은 버전을 선택할 수 있습니다.
ERP 배포
검증을 통과한 코드를 SAP 시스템에 직접 배포할 수 있습니다.
배포 절차
- 코드 검증이 완료된 상태를 확인합니다 (Error 없음).
- ERP 배포 버튼을 클릭합니다.
- 대상 SAP 시스템을 선택합니다 (DEV / QAS / PRD).
- Transport Request를 지정합니다.
- 배포 결과를 확인합니다.
운영 시스템 배포
PRD(운영) 시스템에 대한 직접 배포는 관리자 권한이 필요하며, 별도의 승인 워크플로가 적용됩니다. 일반적으로 DEV 시스템에 배포 후 표준 이관 절차를 따르는 것을 권장합니다.
생성 이력 관리
모든 코드 생성 이력은 자동으로 기록됩니다.
- 생성 일시: 코드가 생성된 시각
- 기반 명세서: 입력으로 사용된 기술 명세서
- 코드 유형: 생성된 코드의 유형
- 검증 상태: 문법 검증 통과 여부
- 배포 상태: ERP 배포 여부 및 대상 시스템
- AI 모델 정보: 생성에 사용된 AI 모델 버전
이전에 생성한 코드를 언제든 다시 조회하거나, 동일한 설정으로 재생성할 수 있습니다.
