[SAP] SE16N 테이블 데이터 삭제 (&SAP_EDIT / GD-EDIT / SE16N_INTERFACE)

SMALL

SAP의 장점 중 하나는 데이터의 신뢰성이다.

데이터를 추가,수정,삭제를 하면 일반적으로 로그가 남고, 이러한 이력들은 나중에 감사자료에 사용이 된다.

이런 철저한(?) 시스템 때문에 SAP를 사용하는 회사의 재무제표는 신뢰도가 높다.

 

SAP는 원칙적으로 데이터(특히, 운영서버)를 삭제하지 말라고 한다. 

하지만 프로젝트나 운영업무를 하다보면 데이터를 삭제해야 하는 경우가 생긴다. 그럴 때 SE16N EDIT 모드 등을 사용하여 데이터를 삭제한다. (회바회, 케바케)

 

데이터를 삭제하는 방법들 중에 어떤 것들은 변경 로그를 남기고 어떤 것들은 변경 로그를 남기지 않는다.

이게 나중에 감사에서 큰 이슈( 재무제표 조작가능성 의심 등)가 된다. 특히, 현업이 운영서버에서 직접 데이터를 수정 / 삭제 하는 것은 정말 큰일이기 때문에 외주사에 데이터 삭제를 요청하거나 증빙을 남긴다. (회바회, 케바케)

 

오늘은 그런 어쩔 수 없는 상황에서 데이터를 삭제하려고 할 때, 하는 방법에 대해서 정리했다.

여러가지 방법들 중에 많이 사용하는 방법은 3가지이다.

  1. &SAP_EDIT
  2. SE16N 디버깅으로 편집모드 접속
  3. CALL FUNCTION SE16N_INTERFACE 사용

하나씩 살펴보자.

1. &SAP_EDIT (S/4HANA 불가)

T-CODE: SE16N 에 접속해 테이블 명을 검색한다.

 

좌측 상단에 &SAP_EDIT을 입력 후, ENTER를 누르면 우측의 엔트리 유지보수에 체크표시가 생긴다.

만약에 아무 반응이 없거나 권한 에러가 뜬다면, 그것은 S/4HANA를 사용해서 생기는 문제이다.

 

 

실제로 노츠에서 찾아볼 수 있는데 S/4HANA 이후로 데이터의 정합성을 유지하기 위해서 “&SAP_EDIT”를 활용하여 데이터를 수정하는 부분을 비활성화 했다는 것이다. 단, 특정 권한 오브젝트가 있는 사람에게는 사용을 허락할 수 있다고 한다. ( 해결 방법은 노츠에 있으니 필요하면 찾아보도록 하자. )

 

그래서 사람들이 가장 많이 사용하는 방법이 SE16N 디버깅 방법이다.

2. SE16N 디버깅으로 편집모드 접속

T-CODE : SE16N 에 들어가고 테이블 명을 입력해준다.

CBO 테이블은 바로 편집모드로 들어가지고, 스탠다드 테이블은 디버깅에서 EDIT 모드로 접속해야 한다. 

 

먼저 CBO 테이블의 경우,

F8 실행시키면 편집모드로 바로 들어가진다.

 

애초에 엔트리 유지보수에 체크가 되어있다

 

빨간색 박스 부분처럼 편집 기능인 행 추가, 삽입, 삭제의 버튼들이 존재한다.

그러면 스탠다드 테이블을 봐보자.

 

대표적인 스탠다드 테이블로 BKPF로 예시를 들어보자.

스크린 샷을 보면은 엔트리 유지보수가 비활성화 되어있다. F8 을 눌러서 실행시키자.

 

실행 화면에서 ALV의 버튼 중 편집 기능의 버튼들이 존재하지 않는다.

스탠다드 테이블의 경우, 데이터의 정합성이 더욱 중요하기 때문에 그렇다.

그래서 보통 비공식 방법으로 편집모드를 들어가는거다.

 

방법은 정말 간단하다.

 

명령에 필드에 디버깅 ‘/H’ 를 입력하고 ENTER를 누른다.

 

그러면 아래에 디버깅을 설정했다는 메세지가 뜬다.

 

이후 F8 또는 시계 모양을 통해 실행시키면 디버깅 모드로 진입하게 된다.

디버깅 모드에 들어왔으면 아래 빨간색 박스에다가 편집모드 명령어를 입력해줄거다.

 

화면처럼 입력해주면 된다.

GD-EDIT 입력 후 ENTER         → 연필 클릭 → X 입력 후 ENTER

GD-SAPEDIT 입력 후 ENTER → 연필 클릭 → X 입력 후 ENTER

 

입력을 다했으면 F8 키를 누르거나 사진의 빨간색 박스 부분을 클릭한다.

 

그러면 편집 모드로 들어오고, 원하는 데이터를 클릭하고 삭제한 뒤 저장 버튼을 클릭하면 된다. 

 

저장 버튼을 클릭하면 변경 내역을 알려주고, 체크 박스를 누르면 저장이 완료된다. 

 

3. CALL FUNCTION SE16N_INTERFACE 사용

마지막으로 펑션 모듈 사용법이다.

보통 SE16N에 권한이 없는 경우 사용한다. 

 

이 펑션모듈에서 수행된 모든 변경 사항은 SE16N_CD_KEY 및 SE16N_CD_DATA 테이블의 기록이 된다. 

변경 로그가 기록되기 때문에 담당자와 상의하고 사용해야 한다. 

해당 Function에는 여러개의 Import가 존재한다. 빨간색 박스로 표시한 3개의 매개변수를 사용하면 된다. 

사용하기 위해서는 Z프로그램으로 하나의 CBO 프로그램을 만들면 된다. 

 

START-OF-SELECTION을 써주고 그 아래에 Function을 적어준다. 

이후, 프로그램을 실행하면 SE16N 편집모드와 동일한 결과를 볼 수 있다. 

 

하지만, BKPF처럼 수십만건이 조회될 수 있는 스탠다드 테이블의 경우 조건을 걸고 싶을 수도 있다. 

그럴 때는 SE16N_SELTAB 를 사용하면 된다.  

필드는 레인지 변수와 동일하다. 나 같은 경우는 SE16N_SELETAB의 TABLE TYPE을 사용하였다. 

 

위처럼 SELTAB에 원하는 조건을 추가하면 된다.

해당 코드는 회사코드가 1000번이고, 회계연도가 2024년~2025년 사이인 데이터들이 조회하기 위한 조건이다. 

 

오늘도 파이팅이다! 

LIST

[SAP ABAP] ABAP 루프문(Loops) - DO, DO n TIMES, WHILE, SELECT..ENDSELECT, LOOP AT..ENDLOOP

SMALL

1. DO 루프

애는 계속 무한반복을 하게 된다. 그래서 IF 문을 사용해서 EXIT를 사용해 빠져나올 수 있게 해줘야 한다. 특정 조건에 만족하면 해당 루프를 빠져 나오게끔 처리해줘야한다.

대부분 그거를 IF로 조건이 맞으면 빠져나와 라는 구문을 써준다.

abap코드 복사
DO.
  Statements
  IF <abort_condition>. 
  EXIT. 
  ENDIF.
ENDDO.

  • 설명: DO ... ENDDO 구조는 무한 루프입니다. EXIT 문을 사용하여 특정 조건(<abort_condition>)이 만족되면 루프를 빠져나갑니다.
  • Loop Counter: sy-index 시스템 변수가 루프의 반복 횟수를 카운트합니다.

 

2. DO n TIMES 루프

n 자리에 반복하고자 하는 숫자 또는 변수를 입력한다. 그러면 n번만큼 반복하게 된다.

abap코드 복사
DO n TIMES.
  Statements
ENDDO.

  • 설명: 루프를 n번 반복합니다.
  • Loop Counter: sy-index 시스템 변수가 루프의 반복 횟수를 카운트합니다.

 

3. WHILE 루프

while - endwhile

조건이 참이면 반복을 하고 거짓이면 반복 중단을 한다.

abap코드 복사
WHILE <condition>.
  Statements
ENDWHILE.

  • 설명: 주어진 조건이 참(true)인 동안 루프를 반복합니다.
  • Loop Counter: sy-index 시스템 변수가 루프의 반복 횟수를 카운트합니다.

 

4. SELECT ... ENDSELECT 루프

abap코드 복사
SELECT ... FROM <dbtab> ...
  Statements
ENDSELECT.

  • 설명: 데이터베이스 테이블에서 데이터를 선택하여 각 행에 대해 루프를 실행합니다.
  • Database Table Rows: sy-dbcnt 시스템 변수가 선택된 행(row)의 수를 카운트합니다.

 

5. LOOP AT <internal table> ... ENDLOOP

abap코드 복사
LOOP AT <internal table> ...
  Statements
ENDLOOP.

  • 설명: 내부 테이블의 각 행에 대해 루프를 실행합니다.
  • Row Index for Internal Table: sy-tabix 시스템 변수가 내부 테이블에서 현재 행(row)의 인덱스를 나타냅니다.

 

정리 

  • DO 루프: 무한 루프. EXIT를 사용해 조건을 만족할 때 빠져나옵니다. 루프 횟수는 sy-index로 카운트.
  • DO n TIMES 루프: n번 반복하는 루프. 루프 횟수는 sy-index로 카운트.
  • WHILE 루프: 조건이 참인 동안 반복하는 루프. 루프 횟수는 sy-index로 카운트.
  • SELECT ... ENDSELECT 루프: 데이터베이스 테이블의 각 행에 대해 반복. 선택된 행의 수는 sy-dbcnt로 카운트.
  • LOOP AT <internal table> ... ENDLOOP: 내부 테이블의 각 행에 대해 반복. 현재 행의 인덱스는 sy-tabix로 나타냅니다.
LIST

[SAP ABAP] ABAP 주요 T-CODE(티코드) 정리

SMALL

SAP ABAP 트랜잭션 코드 표

구분트랜잭션 코드설명

SAP ABAP T-CODE
조회관련 SE80 오브젝트 네비게이터 (Object Navigator)
SE16 데이터 브라우저 (Data Browser)
SE16N 일반 테이블 조회 (General Table Display)
SE09 전송 조직자 (Transport Organizer)
개발 관련 BAPI BAPI 탐색기 (BAPI Explorer)
SE11 ABAP 딕셔너리 (ABAP Dictionary)
SE38 ABAP 편집기 (ABAP Editor)
SE37 기능 작성기 (Function Builder)
SE24 클래스 작성기 (Class Builder)
SE91 메시지 (Message Maintenance)
SE93 트랜잭션 (Maintain Transaction)
TEST SM21 시스템로그 (System Log)
ST05 Performance Trace
ST22 덤프 분석 (ABAP Runtime Error)
기능 ABAPHELP 키워드 문서 (ABAP Key Word Documentation)
ABAPDOCU 데모 (ABAP Documentation and Examples)
SQVI 퀵 뷰어 (Quick Viewer)
SQ01, SQ02, SQ03 SAP Query

각 트랜잭션 코드 설명

  1. SE80 - 오브젝트 네비게이터 (Object Navigator)
    • SE80은 ABAP 개발 환경에서 객체를 관리하고 탐색하는 주요 도구입니다. 이 트랜잭션을 통해 프로그램, 함수 그룹, 클래스, 패키지 등 다양한 객체를 생성, 수정, 삭제할 수 있습니다.
  2. SE16 - 데이터 브라우저 (Data Browser)
    • SE16은 데이터베이스 테이블의 내용을 조회할 수 있는 트랜잭션 코드입니다. 특정 조건에 맞는 데이터를 검색하거나 테이블의 전체 내용을 확인할 수 있습니다.
  3. SE16N - 일반 테이블 조회 (General Table Display)
    • SE16N은 SE16의 향상된 버전으로, 더 직관적인 인터페이스와 추가 기능을 제공합니다. 데이터를 조회하고 편집할 수 있으며, 빠른 데이터 검색을 지원합니다.
  4. SE09 - 전송 조직자 (Transport Organizer)
    • SE09는 전송 요청(Transport Request)을 관리하는 트랜잭션 코드입니다. 개발 변경 사항을 다른 시스템으로 이동할 때 사용하는 전송 요청을 생성하고 추적할 수 있습니다.
  5. BAPI - BAPI 탐색기 (BAPI Explorer)
    • BAPI(Business Application Programming Interface)는 비즈니스 객체를 SAP 시스템에서 호출할 수 있는 인터페이스입니다. BAPI 탐색기를 통해 다양한 BAPI를 검색하고 테스트할 수 있습니다.
  6. SE11 - ABAP 딕셔너리 (ABAP Dictionary)
    • SE11은 데이터 사전을 관리하는 트랜잭션 코드입니다. 여기서 테이블, 뷰, 데이터 요소, 도메인 등 데이터베이스 객체를 생성하고 수정할 수 있습니다.
  7. SE38 - ABAP 편집기 (ABAP Editor)
    • SE38은 ABAP 프로그램을 작성하고 수정할 수 있는 트랜잭션 코드입니다. 프로그램 소스 코드를 편집하고 디버깅할 수 있습니다.
  8. SE37 - 기능 작성기 (Function Builder)
    • SE37은 함수 모듈을 관리하는 트랜잭션 코드입니다. 새로운 함수 모듈을 생성하고, 기존 함수 모듈을 수정 및 테스트할 수 있습니다.
  9. SE24 - 클래스 작성기 (Class Builder)
    • SE24는 ABAP 클래스와 인터페이스를 관리하는 트랜잭션 코드입니다. 객체 지향 프로그래밍을 지원하며, 클래스와 메서드를 생성하고 수정할 수 있습니다.
  10. SE91 - 메시지 (Message Maintenance)
    • SE91은 메시지 클래스를 관리하는 트랜잭션 코드입니다. 메시지 클래스를 생성하고 메시지 텍스트를 정의할 수 있습니다. 이 메시지들은 프로그램에서 오류 또는 정보 메시지로 사용됩니다.
  11. SE93 - 트랜잭션 (Maintain Transaction)
    • SE93은 트랜잭션 코드를 생성하고 유지보수하는 트랜잭션 코드입니다. 사용자 정의 트랜잭션 코드를 생성하여 특정 프로그램이나 기능에 접근할 수 있습니다.
  12. SM21 - 시스템로그 (System Log)
    • SM21은 시스템 로그를 확인하고 분석하는 트랜잭션 코드입니다. 시스템 오류, 경고, 정보 메시지 등을 추적할 수 있습니다.
  13. ST05 - Performance Trace
    • ST05는 데이터베이스 성능을 분석하기 위한 트랜잭션 코드입니다. SQL 문, 락, 버퍼 등을 추적하여 성능 문제를 진단할 수 있습니다.
  14. ST22 - 덤프 분석 (ABAP Runtime Error)
    • ST22는 ABAP 프로그램 실행 중 발생한 런타임 오류(Dump)를 분석하는 트랜잭션 코드입니다. 오류 원인을 파악하고 해결책을 찾을 수 있습니다.
  15. ABAPHELP - 키워드 문서 (ABAP Key Word Documentation)
    • ABAPHELP는 ABAP 언어의 키워드에 대한 문서를 제공하는 트랜잭션 코드입니다. ABAP 키워드, 문법, 사용 예제 등을 확인할 수 있습니다.
  16. ABAPDOCU - 데모 (ABAP Documentation and Examples)
    • ABAPDOCU는 ABAP 프로그램의 예제와 문서를 제공하는 트랜잭션 코드입니다. 다양한 예제 프로그램을 통해 ABAP 기술을 학습할 수 있습니다.
  17. SQVI - 퀵 뷰어 (Quick Viewer)
    • SQVI는 간단한 조회 보고서를 생성할 수 있는 트랜잭션 코드입니다. 사용자가 테이블과 필드를 선택하여 빠르게 데이터를 조회하고 보고서를 만들 수 있습니다.
  18. SQ01, SQ02, SQ03 - SAP Query
    • SQ01, SQ02, SQ03 트랜잭션 코드는 SAP Query를 생성하고 관리하는 데 사용됩니다. SQ01은 쿼리 디자인, SQ02는 정보 세트 유지보수, SQ03은 사용자 그룹 관리를 담당합니다.
LIST

[SAP ABAP] SAP GUI ABAP Workbench Tools(아밥 워크벤치 주요 도구)

SMALL

ABAP Workbench 도구

그림 설명:

이 이미지는 SAP 시스템에서 ABAP 워크벤치(ABAP Workbench) 도구들을 보여줍니다. ABAP 워크벤치는 SAP 개발자들이 다양한 개발 작업을 수행할 수 있도록 도와주는 도구 모음입니다. 각각의 도구는 특정한 기능을 가지고 있으며, 효율적인 개발 환경을 제공합니다.

주요 도구:

  1. Object Navigator (객체 탐색기): SE80
    • 개발자들이 프로젝트의 모든 객체를 관리하고 탐색할 수 있는 중심 도구입니다.
    • 프로그램, 함수 모듈, 클래스 등 다양한 객체를 쉽게 찾고 열 수 있습니다.
  2. ABAP Editor (ABAP 편집기): SE38
    • ABAP 코드를 작성하고 수정할 수 있는 텍스트 편집기입니다.
    • 문법 강조, 코드 포매팅, 자동 완성 기능을 제공합니다.
  3. Screen Painter (스크린 페인터): SE51
    • 사용자 인터페이스를 디자인하는 도구입니다.
    • 화면 레이아웃을 설계하고, 입력 필드, 버튼 등을 배치할 수 있습니다.
  4. Menu Painter (메뉴 페인터): SE41
    • 애플리케이션의 메뉴 구조를 디자인하는 도구입니다.
    • 메뉴 항목과 서브 메뉴를 생성하고 구성할 수 있습니다.
  5. Function Builder (함수 빌더): SE37
    • 함수 모듈을 생성하고 관리하는 도구입니다.
    • 재사용 가능한 함수 모듈을 작성하고, 다른 프로그램에서 호출할 수 있습니다.
  6. Class Builder (클래스 빌더): SE24
    • 객체 지향 프로그래밍을 위한 클래스와 인터페이스를 생성하고 관리하는 도구입니다.
    • 클래스 정의, 메서드 구현, 상속 등을 지원합니다.
  7. ABAP Dictionary (ABAP 딕셔너리): SE11
    • 데이터베이스 테이블, 뷰, 데이터 요소 등을 정의하고 관리하는 도구입니다.
    • 데이터 모델링과 데이터베이스 구조를 설계할 수 있습니다.
  8. Debugger (디버거):
    • 프로그램을 실행하면서 코드를 단계별로 검토하고 오류를 찾을 수 있는 도구입니다.
    • 중단점 설정, 변수 값 확인, 실행 흐름 제어 등을 지원합니다.
LIST

[SAP ABAP] SAP GUI의 화면 요소

SMALL

SAP GUI의 화면 요소


SAP GUI (Graphical User Interface)에서 사용자 프로필을 유지 관리하는 화면의 요소입니다. 각 요소는 사용자가 SAP 시스템을 보다 효율적으로 사용할 수 있도록 도와줍니다. 주요 화면 요소는 다음과 같습니다:

  1. Menu Bar (메뉴 바):
    • 화면 상단에 위치하며, 파일, 편집, 보기 등의 메뉴를 제공합니다.
    • 사용자는 메뉴 바를 통해 다양한 기능에 접근할 수 있습니다.
  2. System Toolbar (시스템 도구 모음):
    • 메뉴 바로 아래에 위치합니다.
    • 일반적인 시스템 기능, 예를 들어 저장, 열기, 인쇄 등의 아이콘을 포함합니다.
  3. Title Bar (제목 표시줄):
    • 현재 화면의 제목이 표시됩니다.
    • 사용자가 현재 작업 중인 화면이 무엇인지 쉽게 알 수 있습니다.
  4. Application Toolbar (애플리케이션 도구 모음):
    • 화면 중앙 상단에 위치하며, 현재 화면에서 사용할 수 있는 기능을 아이콘 형태로 제공합니다.
    • 특정 화면에서 자주 사용하는 기능에 빠르게 접근할 수 있습니다.
  5. Command Field (명령 필드):
    • 사용자가 명령어를 직접 입력하여 특정 화면이나 기능으로 빠르게 이동할 수 있습니다.
    • 예를 들어, 트랜잭션 코드를 입력하여 특정 화면으로 이동할 수 있습니다.
  6. Tab Pages (탭 페이지):
    • 여러 관련된 정보나 옵션을 탭으로 구분하여 제공합니다.
    • 사용자는 각 탭을 클릭하여 해당 페이지의 내용을 볼 수 있습니다.
  7. Input Field (입력 필드):
    • 사용자가 정보를 입력할 수 있는 공간입니다.
    • 예를 들어, 이름, 전화번호 등의 정보를 입력할 수 있습니다.
  8. Status Bar (상태 표시줄):
    • 화면 하단에 위치하며, 현재 시스템 상태나 작업 진행 상황을 표시합니다.
    • 에러 메시지나 확인 메시지 등 중요한 정보를 보여줍니다.
LIST

[SAP ABAP] WRITE 문의 출력 형태

SMALL

SAP ABAP WRITE 문의 출력 형태

WRITE 문은 SAP ABAP에서 데이터를 다양한 형식으로 출력하는 데 사용됩니다. 출력 형식을 변경하거나 특수한 스타일을 적용하는 방법에 대해 알아보겠습니다.

FORMAT

특정한 형태(색깔, 강조체 등)를 출력 변수값에 적용합니다.

AS CHECKBOX (체크박스 형태 출력)

  • 변수 값을 체크박스 형태로 출력합니다. ('X'일 경우 체크된 값으로 출력됨)
  • 사용자는 출력된 리스트에서 값을 변경할 수 있습니다.
  • 값을 변경하지 않으려면 INPUT OFF를 정의해야 합니다.

예제:

WRITE field_1 AS CHECKBOX INPUT OFF.

 

AS SYMBOL (심볼 형태 출력)

  • 이 형식을 사용하려면 이전에 다음의 문장을 기술해야 합니다:
INCLUDE <SYMBOL>.

AS ICON (아이콘 형태 출력)

  • 이 형식을 사용하려면 이전에 다음의 문장을 기술해야 합니다:
INCLUDE <ICON>.

  • 이 옵션을 사용하면 SAP R/3에 정의된 아이콘을 출력할 수 있습니다.

AS LINE (선 형태 출력)

  • 이 형식을 사용하려면 이전에 다음의 문장을 기술해야 합니다:
INCLUDE <LINE>.

  • 이 옵션을 사용하면 SAP R/3에 정의된 선을 출력할 수 있습니다.

QUICKINFO g (빠른 정보 출력)

  • 이 옵션은 흔히 말하는 툴팁(부풀림 도움말)을 제공합니다.
  • 어떤 아이콘이나 위치에 마우스를 올려놓으면 g(도움말)가 나타나는 형태를 제공합니다.
  • 최대 40자까지 지원하며, g는 비숫자형 변수여야 합니다.

WRITE f TO g[+off][(len)]

  • f의 값을 g 변수에 이동합니다.

WRITE f TO itab[+off][(len)] INDEX idx

  • 내부 테이블의 idx 번째 데이터를 대상으로 값을 이동합니다.

예제 코드

다음은 다양한 WRITE 문의 사용 예제입니다:

REPORT Z00TEST_04 NO STANDARD PAGE HEADING.

INCLUDE <LINE>.
INCLUDE <ICON>.

DATA : L_COLOR TYPE CHAR25 VALUE '색깔 테스트'.

FORMAT COLOR COL_HEADING ON.
WRITE : / L_COLOR.
FORMAT COLOR OFF.

FORMAT INVERSE ON.
WRITE : / L_COLOR.
FORMAT COLOR OFF.

FORMAT COLOR 7.
WRITE : / L_COLOR.

ULINE /1(50).
WRITE: / SY-VLINE NO-GAP, LINE_TOP_LEFT_CORNER AS LINE.
ULINE 3(48).
WRITE: / SY-VLINE NO-GAP, SY-VLINE NO-GAP.

DATA: INFO(20) VALUE 'Information'.
WRITE: / SY-UNAME QUICKINFO 'User name'.
WRITE: / ICON_INFORMATION AS ICON QUICKINFO info
HOTSPOT COLOR COL_POSITIVE.

ULINE.

DATA SALES TYPE P VALUE 146260.
WRITE SALES CURRENCY 'USD' ROUND 3 DECIMALS 1.
WRITE SALES CURRENCY 'KRW' ROUND 3 DECIMALS 1.
WRITE SALES CURRENCY 'USD' ROUND 2 DECIMALS 2.
WRITE SALES CURRENCY 'KRW' ROUND 2 DECIMALS 2.

 

출력 결과

LIST

[EASY ABAP] 아밥 에디터(ABAP EDITOR)

SMALL
ABAP Editor

T - CODE : SE238 

 

 

SAP GUI의 ABAP 에디터는 ABAP(Advanced Business Application Programming) 코드를 작성, 편집 및 디버그하는 도구입니다. SAP 시스템 내에서 데이터 처리, 화면 구성, 리포트 생성 등을 위해 사용됩니다.

주요 기능

  1. 코드 작성 및 편집
    • ABAP 에디터는 사용자가 ABAP 코드를 작성하고 편집할 수 있는 환경을 제공합니다.
    • 구문 강조: 코드의 가독성을 높이기 위해 구문을 색상으로 강조합니다.
  2. 디버깅
    • 브레이크포인트 설정: 코드 실행 중 특정 지점에서 멈추게 하여 변수를 검사하고 코드를 단계별로 실행할 수 있습니다.
    • 변수 검사: 실행 중인 코드의 변수 값을 실시간으로 확인할 수 있습니다.
  3. 코드 탐색
    • 함수, 메소드, 클래스 등 코드의 구조를 쉽게 탐색할 수 있는 탐색 기능을 제공합니다.
    • 참조 찾기: 특정 변수나 함수가 사용된 모든 지점을 빠르게 찾을 수 있습니다.
  4. 버전 관리
    • 변경 내역 추적: 코드의 변경 내역을 기록하여 이전 버전으로 되돌릴 수 있습니다.
    • 코드를 체크인/체크아웃하여 여러 개발자가 동시에 작업할 수 있도록 지원합니다.
  5. 자동 완성 및 도움말
    • 코드 자동 완성: 키워드를 입력하면 관련 함수나 변수를 자동으로 완성해줍니다.
    • 문서화된 도움말: 함수나 키워드에 대한 상세한 설명을 제공하여 개발을 지원합니다.

SAP GUI의 ABAP Editor 사용 방법

  1. 트랜잭션 코드 SE80 또는 SE38 실행
    • SE80: ABAP Workbench를 열어 여러 개발 도구에 접근할 수 있습니다.
    • SE38: ABAP Editor를 열어 새로운 프로그램을 생성하거나 기존 프로그램을 편집할 수 있습니다.
  2. 프로그램 작성
    • 새로운 프로그램을 생성하거나 기존 프로그램을 선택하여 코드를 작성합니다.
    • 예를 들어, "ZTEST_PROGRAM"이라는 프로그램을 생성하고 ABAP 코드를 작성할 수 있습니다.
  3. 코드 실행 및 테스트
    • 작성한 코드를 저장하고(CTRL+S) 활성화(CTRL+F3)한 후, 실행(F8)하여 결과를 확인합니다.
    • 필요시 디버깅 모드를 활성화하여 코드를 단계별로 실행하고 문제를 해결합니다.
  4. 코드 디버깅
    • 디버깅을 위해 브레이크포인트를 설정하고, 코드 실행 중 변수 값을 확인하며 문제를 찾습니다.
    • 디버깅 도구를 사용하여 코드의 흐름을 분석하고 오류를 수정합니다.

 

LIST

컴알못도 가능한 SAP ABAP 실습환경 만들기(2)

SMALL

 

지금부터 본격적으로 서버를 만들 것이다.

 

VirtualBox를 실행  

 

 

새로만들기 클릭 

 

 

이름에 SAP_ABAP 입력 

ISO 이미지는   openSUSE에서 3개 파일을 다운 받았지만 iso 하나만 보일 것이다. 

 

다음 클릭

 

 

이 화면에서 녹색 끝까지 올려주자. 기본 메모리는 컴퓨터마다 다르다. 

 

가장 베스트는 녹색 끝이 8000MB 이상이라고 한다. 렉 없이 무난하게 사용가능 한 것 같다. 

나는 5000MB 정도이다. 이 경우 설치는 가능하지만 렉이 어느정도 있다. 

 

4000MB 정도라면 설치가 어렵다는 이야기가 많다. 5000MB 이상인 컴퓨터로 하자. 

 

프로세스는 무조건 4개다. 4개 미만이라면 사양 때문에 설치가 안되는 것 같다. 

 

다음 클릭 

 

 

무조건 100기가로 맞추자. 

100기가 아래면 설치가 안된다. 

 

다음 클릭 > 완료 클릭 

 

 

정상적으로 설치 완료된 모습이다. 

 

상단의 시작을 클릭하자. 

 

클릭하면 가상 머신 가동중이 뜬다. 

 

 

실행된 모습이다. 

 

여기서 중요한 게 하나 있다. 마우스로 아무곳이나 클릭하면 다음과 같은 안내가 뜬다. (예시니까 클릭하지 마라!!!)

 

 

나의 첫번째 난관 중 하나였다. 

처음에는 마우스로 클릭이 되도 안되서 애 먹었는데 알고보니 키보드로 조작을 해야 한다. 

 

 

마우스로 클릭해버리면 이런 화면이 뜬다. 이럴 때는 종료 후 다시 실행하면 된다. 

 

 

우리는 여기서 Installation을 할 거다.

 

 

방향키 아래 입력 

 

그리고 엔터

 

 

이렇게 설치가 된다. 조금 기다리면 아래와 같은 화면이 뜬다. 

 

 

자 여기서 언어는 무조건 English다. 

한글도 있지만 한글로 설치하면 오류가 뜬다. 쳐다도 보지 말고 

 

Next 클릭 

 

Yes 클릭 

 

 

Next 클릭 

 

 

여기서 두번째 Desktop with GNOME 클릭하고 Next

 

 

Expert Partitioner 클릭

 

> 첫번째 Current Proposal 클릭

 

 

sad2 클릭 > 하단의 Edit 클릭 

 

 

Filesystem를 Ext4로 변경 후 Next 클릭

 

 

Acceot 클릭 

 

 

Next 클릭 

 

 

시간 세팅 화면이다. 

무시하고 Next 클릭 

 

 

형광펜 세곳을 입력한다.

대소문자,숫자 구분할 것 

 

User’s Full Name : Vhcalnplci
Username : 자동입력된다.
Password : Down1oad
Confirm Password : Down1oad

 

입력 후 Next 

 

 

Yes 클릭 

 

 

이 부분이 제일 중요하다!!!!!!!!!!!!

아래로 쭉 내리면 위 화면처럼 Security 가 있다.

 

Firewall will과 SSH sevice 부분의 () 사이에 밑줄 친 부분을 클릭하여 아래 사진처럼 만들자. 

 

Firwall will be disabled (enable)
SSH Service will be enabled (disable)

 

상태로 만들고 Install 클릭

 

 

 

기죽지말고 Install 클릭 

 

 

이 화면이 뜬다면 잘 설치되고 있는거다.

여기서 꽤 오랜 시간이 소요된다. 각자 볼일을 보고 오자. 

 

 

설치가 완료되면 창이 나온다. 

Boot from Hard Disk를 클릭한다. ( 마우스가 아닌 엔터를 누르자)

 

 

엔터 

 

 

우리는 이제 terminal에 들어갈 거다. 

 

Activities 클릭 

 

 

검색창에 Terminal 입력하면 

 

저렇게 윙크하며 반겨준다. 

 

Terminal 클릭 

 

이제부터는 명령어를 계속 입력할 것이다.

대소문자를 잘 구분하여 입력하자

 

 

ip addr 입력 IP 주소 확인 

 

127.0.0.1
10.0.2.15 확인

 

 

sudo -i 입력 

비밀번호 입력 : Down1oad(누르는거 안보인다.)

sudo nano /etc/hosts 입력

 

 

다음과 같은 화면이 뜰거다. 

형광펜 친 부분처럼 입력을 해줄거다. 

 

127.0.0.1 위로 방향키로 움직여 입력하자. 

 

tab 키로 띄어주는 거 잊지 말기.

10.0.2.15 (tab) vhcalnplci.dummy.nodomain (tab) vhcalnplci

Ctrl + X 입력

Y Enter 입력

 

 

 

cat /etc/hosts 
방금 입력 한 내용이 있는지 확인.

형광펜 표시처럼 되어 있으면 잘 입력된 것 

 

 

sudo nano /etc/hostname 입력
빈 화면이 나올텐데 위처럼  Vhcalnplci 입력하자. 

Ctrl + X 입력

Y Enter 입력

 

 

cat /etc/hostname
방금 입력 한 내용이 있는지 체크 

형광펜처럼 뜨면 된다.

 

sudo reboot  입력 (재 부팅)

 

재부팅 후에 다시 activities -> terminal

 

sudo -i
Password : Down1oad 입력

 

자 여기서 이제 정신 차리고 아래를 순서대로 입력해주자. 

 

 

sudo zypper refresh
Try again이 나오면 계속 yes 입력한다. 위 사진처럼 [yes/no]로 안뜨고 (y/n) 으로 뜰 수도 있다. 그때는 y를 입력하면 된다. 

 

sudo zypper update

 

sudo zypper in uuidd

sudo service --status-all | grep uuidd

'|' 표시는 컴퓨터에 대한 지식이 부족하거나 비전공자라면 잘 모를 수 있다. (왜냐 내가 찾느라 고생했다.)

이 표시는 L 도 아니며 i도 아니다. 노트북마다 다르겠지만 일자로 되어있는 기호다.

 

정식 명칭을 알았으나 까먹었다. 아래 사진 참고해 찾아보자 

일반적으로 엔터 위쪽에 있다. 

 

sudo zypper install tcsh

 

rpm -qa | grep libaio

 

sudo zypper in libaio1 tcsh

 

 

자 모두 입력을 끝냈으면 Terminal 창은 그대로 냅두고 VirtualBox로 잠깐 오자. 

 

 

설정 클릭 

 

 

 

왼쪽 공유 폴더 클릭 

 

빈 화면에 마우스 우클릭 > 공유 폴더 추가 클릭 

 

 

 

폴더 경로 클릭 

 

SAP 폴더 선택 

 

 

 

자동 마운트 체크 > 확인 > 확인 

 

다시 Teminal로 돌아오자. 

 

sudo -i

cd /media 

ls ('아이에스'가 아닌 '엘에스'다. 소문자로 엘과 에스를 치면된다. 나는 아이에스로 착각했었다.. ㅠㅠ)

cd sf_SAP 

ls 

ls -l (만약 install.sh파일에 x 권한이 없다면 Chmod +x install.sh로 권한 부여)

sudo systemctl status uuidd 후 ctrl +c 입력해 나오기

sudo systemctl start uuidd 

sudo systemctl status uuidd 후 ctrl +c 입력해 나오기

./install.sh (설치)

 

 

위와 같은 화면이 나오면 성공적이다. 끝이 보인다. 

 

Q 입력 

 

 

Yes 입력 

 

패스워드 : Down1oad 입력 

한번 더 입력 

 

하면은 설치가 시작이 된다. 오랜 시간이 걸리기에 다시 볼일 보고 오자. 내 컴퓨터는 몇십분 걸렸던 것 같다. 

 

 

 

위 화면처럼 나오면 매우 성공적으로 설치된거다!! 정말 고생했다. 

 

위 하면에서 service uuidd start 입력

 

** 간혹가다가 설치가 실패하는 사람도 있다고 한다. 그럴 때는  ./install.sh 를 입력해 재설치를 하자. 

 

 

여기서 끝이 아니다. service uuidd start 까지 입력을 완료했으면 이제는  포트 포워딩을 입력해줘야 한다. 

 

다시 VirtualBOX로 돌아가 설정을 누르자. 

 

설정 > 네트워크 > 고급 > 포트 포워딩 클릭 

 

빈 화면을 위 처럼 채워주자. 

 

SSH / TCP / 127.0.0.1 / 22 / 10.0.2.15 / 22
RFC / TCP / 127.0.0.1 / 3300 / 10.0.2.15 / 3300
SAP GUI / TCP / 127.0.0.1 / 3200 / 10.0.2.15 / 3200

 

을 입력하면 된다. 입력하면 끝!

 

 

SAP GUI 설치 

 

위에까지 끝났다면 이제 SAP GUI 설치만 남았다. 

 

우리가 압축을 푼 SAP 폴더에 들어가 아래 경로대로 들어가자. 

 

SAP\client\SAPGUI4Windows\50144807_6\BD_NW_7.0_Presentation_7.50_Comp._2_\PRES1\GUI\WINDOWS\Win32

 

 

SapGuiSetup.exe 실행

 

바탕화면에서  이녀석 클릭

 

 

나는 이미 설치를 완료했기에 NPL이라는 서버가 있다. 

 

오른쪽 빈 화면에서 마우스 우클릭 > 신규 시스템 엔트리 생성 클릭 

 

만약 헷갈린다면  Ctrl + N 을 누르자 

 

 

 

다음 클릭 

 

 

어플리케이션 서버 : 127.0.0.1 입력 

인스턴스 번호 : 00 입력 

시스템 ID :  NPL 입력 

 

하면은 자동으로 내역 부분이 채워진다.

 

다음 클릭 

 

다음 클릭 

 

종료 클릭 

 

 

위 화면처럼 생성이 된다. 

 

더블 클릭 

 

 

 

User : developer 입력 (대소문자 상관없음)

Password : Down1oad 입력(입력시 안보임)

 

엔터

 

 

로그인 성공 화면이다. 

 

위 화면 상단의 노란색 형광펜 부분은 T-CODE를 입력하는 곳이다.

 

저기에 slicense 입력 후 엔터

 

이렇게 뜰거다.  

중간 부분에 Installation Number를 보면  INITIAL로 떠있어야 정상이다!   

나는 이미 등록이 되어있기에 DEMOSYSTEM 로 써져있다.

 

 

위처럼 되어있어야 한다. 

 

아래 링크 접속  

 

 https://go.support.sap.com/minisap/#/minisap

 

SAP License Keys for Preview, Evaluation and Developer Versions

 

go.support.sap.com

 

 

아래로 쭉 내리면 형광펜 친 NPL – SAP NetWeaver 7x(Sybase ASE) 를 체크

 

 

아래로 더 내리면 정보 입력칸이 있다. 입력하고 나서 Generate 클릭 

 

이름과 이메일 그리고 Hardware Key를 입력해주자. 

 

 

첫번째 형광펜 Active Hardware Key 복사 후 붙여넣기 

 

설치가 완료되면 NPL 이라는 메모장의 파일이 다운 받아 질거다. 

 

그러면 다시 SAP로 돌아오자 

 

 

빨간색 동그라미 부분 Install new license

 

 

NPL 파일 업로드 

 

 

그러면 데모시스템으로 정상적으로 바뀔 것이다. 

 

정식 라이센스는 영구지만 이것은 3개월 마다 갱신해줘야 한다고 한다. 

나도 처음이라 잘 모르겠지만 나중에 필요하다면 갱신하는 방법도 다뤄보도록 하겠다. 

 

설치하느라 고생했고 모두 열공하자 : )

LIST

컴알못도 가능한 SAP ABAP 실습환경 만들기 (1)

SMALL

 

나는 비전공자이고 SYNC 교육 과정을 준비하고 있다.

EASY ABAP을 공부하기 위해 트라이얼 서버를 설치했다.

1주일 정도 고생하다가 결국에는 설치를 했다. 

 

SAP JOY 오픈채팅방에서 설치 방법을 공유해줄 수 있냐고 감사한 기회를 주셨고, 

이렇게 블로그에 정리하게 되었다. 

 

 

 

나와같은 비전공자에게, 취준생에게, 배우고자하는 열망이 가득한 사람에게 이 글이 도움이 되었으면 좋겠다. 

또한 나의 부족한 IT 지식을 이해해주기를 바라며 옳지 못한 부분이 있다면 지적 부탁한다. :)

 

 

실습 환경 준비

 

실습 환경을 만드는 SAP 공식 매뉴얼이 있다.

https://www.sap.com/documents/2019/09/c86f9218-687d-0010-87a3-c30de2ffd8ff.html

처음에 이것을 보고 설치 시도를 하려 했지만 비전공자이기에 이해하는데 너무 어려웠다.

또한 영어 문서이다 보니 시간이 너무 오래 걸렸다.

 

그래서 구글링을 통해 해결했고 여기서는 더 쉽게 정리해 보려고 한다.

 

 

1. 컴퓨터 사양

나는 맥북으로 설치하려 했으나, 맥북 설치가 더 복잡해 보였고 그래서 윈도우 노트북으로 설치하였다.

 

SAP 매뉴얼에 보면은 사양이 나와있다.

그냥 100기가 정도의 여유 공간만 있으면 되는 것 같다.

만약 100기가의 여유가 있는지 모른다면 설치 도중에 확인할 수 있다. 그리고 없다면 설치도중 막힌다.

모르겠으면 일단 설치해 보자.

 

인생은 도전이다.

 

 

2. 설치 파일

 

1) Virtual Box 설치

https://www.virtualbox.org/wiki/Downloads

** VMware Workstation Player 15를 설치해 실습 환경을 구축하는 방법도 해봤지만 나는 실패했다.

 

리눅스용 컴퓨터가 없기에 virtual Box를 설치해서 가상의 리눅스 환경을 만든다.

링크에 들어가서 window hosts를 눌러 다운을 받아 주면 된다.

 

NEXT만 계속 눌러서 설치하면 된다.

총 3개의 파일을 다운로드해야 한다.

openSUSE-Leap-15.3-3-DVD-x86_64-Build38.1-Media

openSUSE-Leap-15.3-3-DVD-x86_64-Build38.1-Media.iso

openSUSE-Leap-15.3-3-DVD-x86_64-Build38.1-Media.iso.sha256.asc

 

오픈수세는 리눅스 서버 중 한 종류라고 한다. 다양한 버전들이 있는데 여기서 많이 실패했었다. 처음에 최신 버전으로 다운밖에 안되었는데 에러가 발생했다. 정확하게 저 링크를 타고 이름, 날짜, 용량을 잘 확인해서 다운로드해야 한다.

 

링크를 타고 들어가면 이렇게 나온다. 스크롤을 내리자.

나는 날짜만 보고 다운로드했다가 다른 버전을 다운 받아서 실패했었다. 꼭 이름도 잘 보자

 

 

 

1) 1페이지 제일 아래 2가지를 다운

2) 우측 하단에 2 페이지 클릭

3) 2페이지 첫 번째 파일 다운

 

*24년 4월 말 기준으로는 위에 순서랑 동일하다. 

하지만 순서가 다를 수도 있으니 꼭 사진과 이름, 날짜, 용량이 같은 지 확인하자

 

3) SAP GUI 설치

https://developers.sap.com/trials-downloads.html

자 이 부분도 중요하다. 처음에 설치하느라 엄청 고생했다.

링크에 들어가서 Ctrl + F 후 'ABAP'를 검색하자

 

SAP NetWeaver AS ABAP Developer Edition 7.52 SP04가 있을 것이다.

1번부터 11번까지 그리고 License까지 다운을 받자.

 

여기서 처음 SAP를 접한 사람은 로그인하라는 난관에 부딪힌다.

 

본인이 사용할 이메일 입력 후 NEXT.

그러고 회원가입을 해야 한다.

 

.

이메일과 이름, 국적과 전화번호를 입력해 주자.

나는 현재 취준생이기에 회사에는 아무 글자나 집어넣었고 나머지 부분도 암거나 집어넣었다.

(만약 이 과정이 문제가 있다면 말씀해 주세요. 수정하도록 하겠습니다.)

 

그러면 이메일이 올 것이고 회원 가입이 완료된다.

그 이후에 다시 링크를 타고 들어가 로그인 후 다운로드하면 된다.

 

다운 클릭

 

체크하고 Submit

 

버튼 클릭해서 다운로드하면 된다.

 

그 후 새로고침 하며 반복

 

*크롬으로 실행 시 로그인 과정에서 페이지가 빈 화면으로만 뜨는 경우에는

 웨일이나 Edge로 접속해서 해결하면 된다.

 

나 같은 경우 로그인 과정에서 빈 페이지가 떴고 Edge로 접속해 정상적으로 다운로드했다.

모두 정상적으로 다운이 완료되었다면 압축 풀기 하자

 

해당 파일들은 분할 압축된 파일이다. 그래서 part01만 압축 풀기를 하면 자동적으로 11번까지 풀어진다.

 

나중에 Virtual Box에서 공유 폴더로 사용하기 때문에 'SAP'라는 폴더를 만들고 압축 해제한 파일을 여기에 모두 넣자.

 

그리고 License 압축 파일도 풀어주자.

 

License 안에서 SYBASE_ASE_TestDrive.lic 파일을 복사해서 SAP 파일 안 server\TAR\x86_64에 붙여 넣자.

그러면 준비 끝!!!!!

 

실습 환경을 구축하기 위한 준비는 끝났고 본격적인 설치만 하면 된다.

 

내용이 많아 다음 게시글에서 설치 과정에 대해서 다루겠다.

 

다음 게시글 링크 

https://roblige.tistory.com/3


 

 

LIST

+ Recent posts