Appearance
ABAP 컨버전
개발 → 컨버전 메뉴의 ABAP 컨버전에서 abapGit ZIP에 발행된 변환 기준을 적용합니다. 현재는 ZIP 교환 방식이며 SAP 직접 연결·반영 API는 제공하지 않습니다.
작업 시작
- 컨버전 시작의 원본 소스에서
.abapgit.xml을 포함한 ZIP을 선택하고 작업 이름을 입력합니다. - 적용 기준과 대상 시스템에서 기준집과 발행 버전, 대상 S/4HANA 릴리즈를 지정합니다. 저장만 된 초안은 실행할 수 없으며 대상 릴리즈는 기준에 등록한 값과 일치해야 합니다.
- 입력 영역 아래의 가져오고 대상 선택을 누릅니다. 다음 화면에서 패키지·개별 소스를 선택합니다. 작업은 기준집 ID·버전·해시에 고정되므로 이후 초안을 수정해도 달라지지 않습니다.
상단에 원본·기준 준비 → 대상 선정 → 진단 및 변환 → 검토·ZIP 다운로드 순서를 표시합니다. 넓은 화면에서는 원본과 적용 기준을 좌우로 입력하고 좁은 화면에서는 위에서 아래로 입력합니다.
ZIP은 업로드 5 MB, 압축 해제 25 MB, 디렉터리를 포함한 1,000개 항목, 지원 ABAP 파일 200개까지입니다. 소스는 UTF-8이며 파일당 100,000자까지입니다. PROG·INCL·CLAS·INTF·FUGR 소스를 인식하고, PROG 메타데이터의 SUBC가 I이면 인클루드로 처리합니다. 지원하지 않는 파일도 결과 ZIP에는 원본 내용으로 남습니다.
.abapgit.xml은 abapGit의 표준 ABAP XML 형식(asx:abap)과 기존 abapGit 래퍼 형식을 읽습니다. 설정에 지정된 시작 폴더 안의 소스를 찾으며 설정 XML은 결과 ZIP에도 원본 그대로 유지합니다.
대상 선정과 진단
대상 선정의 공통 검색 영역에서 이름·유형·패키지 경로를 함께 지정합니다. 유형은 프로그램·인클루드·클래스·인터페이스·함수 그룹 중 ZIP에 있는 유형만 표시합니다. 검색 결과 선택은 현재 조건에 맞는 모든 파일을 기존 선택에 추가합니다. 특정 경로를 선택하면 하위 경로도 포함합니다. 체크 상자로 프로그램·클래스·인클루드·함수 그룹의 개별 소스 파일을 선택할 수 있습니다.
멤버 함께 선택은 선택한 파일과 패키지 경로·오브젝트 이름·유형이 같은 나머지 파일을 추가합니다. 버튼의 숫자는 추가될 파일 수이며, 검색에 가려졌거나 다른 페이지에 있는 멤버도 포함합니다. 예를 들어 클래스 본문 하나를 선택한 뒤 이 버튼을 누르면 같은 클래스의 로컬 정의·테스트 클래스 파일도 선택됩니다.
한 작업에서는 최대 100개 파일을 선택할 수 있습니다. 검색 결과·멤버·개별 파일을 추가할 때 한도를 넘으면 안내를 표시하고 기존 선택을 그대로 유지합니다. 일부 파일만 임의로 선택하지 않으므로 검색 조건을 좁히거나 선택을 해제한 뒤 다시 진행하세요.
패키지 경로는 ZIP 안의 디렉터리입니다. SAP의 실제 패키지 이름이나 의존성을 재구성하지 않습니다. 함수는 abapGit이 함수 그룹 안에 내보낸 개별 함수 파일 단위로 선택하며, 여러 멤버 파일이 있는 오브젝트는 멤버 함께 선택으로 묶거나 필요한 파일만 개별 선택할 수 있습니다. 다른 오브젝트와의 SAP 의존성은 자동 선택하지 않습니다.
선택 대상 진단은 로컬 구문 검사와 적용 기준의 변경·검토 항목을 계산합니다. 진단 및 변환에서 결과를 확인하고 변환안 확정으로 검토 단계에 들어갑니다. 이 동작은 서버에 변환안을 저장하며 SAP 시스템을 변경하지 않습니다.
다시 진단하면 기존 변환 코드·검토 결정·작업 공간 연결이 초기화됩니다. 확인 대화상자에서 취소할 수 있습니다. 이미 생성한 Codex 작업 공간은 별도로 남습니다.
코드 검토와 AI 처리
변환안 확정 후 첫 파일의 변경 검토 화면으로 이동합니다. Monaco Diff Editor에서 원본과 변환 코드의 변경 줄을 비교합니다. 넓은 화면에서는 좌우로, 좁은 화면에서는 한 편집기 안에서 삭제·추가 줄을 표시합니다. 원본은 읽기 전용입니다.
직접 수정한 코드는 수정 코드 검증·저장으로 구문 오류와 추가 룰 적용 여부를 검사합니다. 오류·충돌을 해결한 뒤 변경 채택 또는 원본 유지를 선택합니다. 코드를 다시 저장하면 이전 채택 결정은 해제됩니다. 저장하지 않은 코드가 있으면 파일·탭 이동 전에 확인창을 표시합니다.
검토 대기 개수를 확인하고 다음 검토 파일로 이동할 수 있습니다. 검토가 남아 있으면 결과 ZIP 다운로드는 비활성화됩니다.
AI 기준이 있으면 지시·제약·검증 절차를 함께 표시합니다.
- Codex 작업 공간 준비로 해당 소스와
conversion-task.json을 생성합니다. 이 버튼만으로 모델이 실행되지는 않습니다. - Codex 열기에서 기존 ABAP Agent의 인증·모델 설정을 이용합니다. 예를 들어
conversion-task.json의 기준에 따라 source-*.abap을 수정하고 검증 결과를 설명해줘라고 요청합니다. - 작업이 끝나면 컨버전 화면으로 돌아와 Codex 결과 가져오기를 실행합니다. 기존 변환안을 덮어쓰므로 확인창을 거칩니다.
- 지정된 소스 파일만 읽고 로컬 검증을 통과하면 수집합니다. 하나라도 검증에 실패하면 수집 전체를 반영하지 않습니다. 파일명을 바꾸거나 새 파일만 만드는 작업은 수집 대상이 아닙니다.
- 수집한 결과를 직접 검토하고 채택합니다. 수집 성공이 AI 지시의 의미적 충족이나 SAP 호환성을 보증하지는 않습니다.
결과 ZIP과 대상 시스템
변경·검토 항목을 모두 채택하거나 원본 유지로 결정한 뒤 결과 ZIP 다운로드를 사용합니다. 변경도 검토 항목도 없는 파일은 별도 결정이 필요하지 않습니다.
- 채택한 코드만 원본 ZIP의 같은 파일 경로에 반영합니다.
- 원본 유지로 결정한 파일, 선택하지 않은 파일과 XML·바이너리 메타데이터는 원본 내용을 보존합니다.
- 결과는 선택한 파일만 있는 부분 ZIP이 아니라 원본 저장소 전체 구조를 가진 ZIP입니다.
- 대상 시스템의 abapGit에서 ZIP을 가져온 뒤 구문 검사·ATC·활성화·업무 회귀 테스트를 수행합니다. 앱은 SAP 반영이나 해당 검사 통과를 자동 확인하지 않습니다.
제공된 기준 예제는 가상의 커스텀 함수 매핑이며 일반 ECC → S/4HANA 전환 표준이 아닙니다. 프로젝트에서 승인한 API 매핑과 전환 기준을 등록해야 합니다.
권한과 MCP
작업은 테넌트별로 분리되고 작성자 본인만 조회·수정·다운로드합니다. AGENT READ는 조회·다운로드, CREATE는 ZIP 작업 생성, UPDATE는 선택·진단·변환·검토·결과 수집에 필요합니다. Codex 작업 공간 준비에는 CREATE와 UPDATE가 모두 필요합니다.
MCP list_conversion_jobs는 본인의 작업 목록을 조회합니다. get_conversion_job에 job_id를 지정하면 고정 기준 버전과 최대 20개 파일 상태를 반환합니다. offset으로 다음 범위를 읽을 수 있으며 소스·ZIP·AI 지시는 모델 요약에서 제외합니다. 기준 상세는 get_conversion_criteria에 작업의 rule_set_id와 rule_version을 지정하여 조회합니다. 작업 변경·검토·ZIP 교환은 앱에서 진행합니다.
