티스토리 뷰

 

TAW10_1 Exercise 11: Developing ABAP Programs

ABAP 프로그램 개발하기

 

Execrise Objectives

이번 예제를 통해 배울 수 있는 것

·ABAP 프로그램 생성, 수정, 저장, 처리

·ABAP 프로그램을 잘 만들었는지 확인하기

·ABAP 프로그램을 테스트하고 활성화 하기

 

Business Example

개발자인 여러분은 모든 비행기 출발 시간을 출력하는 프로그램을 만들어야 합니다. 데이터는 'SFLIGHT' 데이터베이스 테이블에서 읽어와야 합니다.

 

Task 1:

프로그램 생성

1.'TOP include'에 체크를 풀고 프로그램 'ZBC400_01_GS_LIST'를 생성해봅니다.

 

Task 2:

프로그램 수정

1.데이터를 가져오고 출력하기 위한 '작업 영역'(Work Area)를 선언합니다(추천 이름은 'wa_flight'입니다.):

DATA wa_flight TYPE sflight.

 

2.데이터베이스 테이블 'SFLIGHT'의 모든 레코드를 읽어오는 반복문을 프로그램합니다.

SELECT * FROM sflight INTO wa_flight.

...

ENDSELECT.

 

3.각각의 데이터에서 'carrid', 'connid', 'fldate', 'seatsocc', 'seatmax'필드를 출력해보겠습니다.

NEW-LINE.

WRITE wa_flight-carrid.

WRITE ...

 

4.구문 에러가 있는지 확인해보고 테스트하고 활성화 해봅니다.

 

 

이번 Exercise 11의 요청사항은 위와 같습니다. 역시나 하나씩 해보겠습니다.

 

 

Task 1:

프로그램 생성

1.'TOP include'에 체크를 풀고 프로그램 'ZBC400_01_GS_LIST'를 생성하자.

이전 포스팅 2013/10/28 - [SAP/SAP ABAP] - TAW10_1 Exercise 10: Organizing Developments 에서 만들었던 Package로 이동해보겠습니다.

 

se80에서 패키지명을 'ZBC400_01'로 치면 됩니다.

 

Object Name아래에 있는 'ZBC400_01'을 마우스 오른쪽 클릭합니다.

'Create - Program' 을 누른다

 

그러면 '프로그램 이름'을 입력하는 화면이 나옵니다.

 

아까 'Task 1: 1.'TOP include'에 체크를 풀고 프로그램 'ZBC400_01_GS_LIST'를 생성합니다.' 이라고 했으니 'With TOP INCL.'에 체크를 풀고 프로그램 이름을 'ZBC400_01_GS_LIST'로 입력 해줍니디.

 

확인을 누르면 아래와 같이 ABAP 프로그램 정보를 입력하라고 나옵니다.

 

별로 고칠건 없으나 'Type'을 한번 눌러봅니다.

그러면 여러가지 Program Type들이 나옵니다. 맨 위에 'Executable program'을 선택 하면 됩니다.

 

패키지를 지정하라는 화면입니다. 아까 만들었던 'ZBC400_01'에 잘 지정이 되있는지 확인 해줍니다.

다른걸로 되있다면 'ZBC400_01'로 바꾸고 'Continue'누릅니다.

 

Change request Object가 나온다. '확인'누릅니다.

 

'ZBC400_01_GS_LIST' 프로그램이 생성 되었다. 아래와 같은 화면이 나왔으면 잘 한 것입니다.

 

우측 화면에서 프로그램명이 써있는 부분에 오른쪽을 보면 'Inactive'라고 나옵니다. 아직 활성화가 안되어 있다는 뜻입니다. 

 

활성화(Active) 상태로 변경 하려면 '활성화'버튼을 누르거나 'Ctrl+F3'을 눌러주면 됩니다. 있다가 해볼거니 이런게 있다는 것만 알고 넘어가도록 합시다.

 

 

 

Task 2:

프로그램 수정

1.데이터를 가져오고 출력하기 위한 '작업 영역'(Work Area)를 선언하자(추천 이름은 'wa_flight'입니다.):

DATA wa_flight TYPE sflight.

 

이건 위에 소스코드를 그대로 넣으면 됩니다.

이렇게 넣어주면 작업영역이 생성 됩니다.

 

 

2.데이터베이스 테이블 'SFLIGHT'의 모든 레코드를 읽어오는 반복문을 프로그램합니다.

SELECT * FROM sflight INTO wa_flight.

ENDSELECT.

 

이것도 마찬가지로 위에 코딩하던 소스코드에 계속 추가해주면 됩니다.

 

 

3.각각의 데이터에서 'carrid', 'connid', 'fldate', 'seatsocc', 'seatmax'필드를 출력해봅니다.

NEW-LINE.

WRITE wa_flight-carrid.

WRITE ...

 

데이터를 읽어왔으니 한번 출력 해봅니다.

 

loop문 사이에 아래 소스코드를 넣어주면 됩니다.

  NEW-LINE.

  WRITE:
  wa_flight-carrid,
  wa_flight-connid,
  wa_flight-fldate,
  wa_flight-seatsocc,
  wa_flight-seatsmax.

 

 

전체 소스코드 첨부합니다. 아래 소스코드를 복사붙혀넣기 하면 됩니다.

DATA wa_flight TYPE sflight.

SELECT * FROM sflight INTO wa_flight.
  NEW-LINE.
  WRITE:
  wa_flight-carrid,
  wa_flight-connid,
  wa_flight-fldate,
  wa_flight-seatsocc,
  wa_flight-seatsmax.

ENDSELECT.

 

4.구문 에러가 있는지 확인해보고 테스트하고 활성화 합니다.

구문 에러는 활성화 시키면 알아서 체크해줍니다. 에러가 없으면 활성화 되고 있으면 에러메세지가 나옵니다.

상단 메뉴 중에 위와 같이 불이 반짝이는 아이콘을 누르거나 단축키 'Ctrl + F3'을 누르면 활성화 하는 화면이 나옵니다.

한번 해보겠습니다.

 

현재 화면에서

단축키 'Ctrl + F3'을 누른다.

 

그러면 아직 활성화 되지 않은 오브젝트 리스트가 주욱 나옵니다. 내꺼 하나만 나올 수도 있습니다.

우리가 지금까지 작업한 오브젝트가 'ZBC400_01_GS_LIST'이므로 선택해주고 좌측 하단 'Continue'버튼을 누릅니다.

 

별 문제가 없으므로 좌측 하단 '상태 표시줄'에 'Object Activated'라고 나옵니다.

한번 실행해보자 단축키는 'F8'번입니다.

 

지정해준 5개의 field(carrid', 'connid', 'fldate', 'seatsocc', 'seatmax')에 대한 내용이 출력됩니다.

 

 

완료.

 

 

 

 

 

공지사항
최근에 올라온 글
최근에 달린 댓글
Total
Today
Yesterday
링크
«   2024/04   »
1 2 3 4 5 6
7 8 9 10 11 12 13
14 15 16 17 18 19 20
21 22 23 24 25 26 27
28 29 30
글 보관함