SAP QUERY SAP R/3 4.6C
1. SAP QUERY ? 1. 프로그래밍에 대한 지식이 없이 리포트 (Query)의 작성이 가능하도 록 도와주는 리포트 툴 2. Drilldown이나 Report Painter(Writer)와는 달리 복합적인 그룹핑 을 요구하지 않는 단순한 리스트나 합계 리포트에 적합 3. DB 테이블, View, 혹은 LDB (Logical DB)에서 데이터를 추출해서 Query를 구성한다. 4. System 관리자는 End User에게 Query의 생성에 필요한 환경을 설 정해주고, 다른 Client로의 전송 작업만 실행해 주면 된다. 5. End User는 Data Dictionary와 프로그래밍에 대한 기본적인 지식 을 가지고 있어야 한다.
2. Organization of SAP QUERY Functional Area (Infoset) Query를 만들 때 사용될 Repository 내의 DB나 LDB 혹은 필드의 그룹 User Group Functional Area (Infoset)을 사용하기 위한 권한을 주기 위해 사 용자들을 묶는 단위 Query Infoset을 이용하여 작성하는 리포트로 다음과 같이 구성된다. Basic List 가장 기본적인 형태로 선택된 필드의 Sorting과 Total이 가능 Statistical List 합계, 평균, 퍼센티지 등을 리스트 Ranked List 수량(Curr, Quan)을 포함한 Numeric 필드에 대한 순위리스트
User Functional Area User Group Query User는 사용권한에 따라서 하나 이상의 User Group에 속할 수 있으며, 같은 User Group 내의 모든 User들은 같은 데이터에 접근해서 Query 데이터를 만들 수 있다. 각각의 Functional Area (Inforset)은 하나 이상의 User Group에 할당된다.
3. MEMU PATH Path Menu SAP Query 생성순서 툴 > ABAP Workbench > 유틸리티 > SAP 질의 Menu SQ01 : 질의(Query) 생성 SQ02 : 인포세트(Infoset) 생성 SQ03 : 사용자그룹(User Group) 생성 SAP Query 생성순서 : SQ02 > SQ03 > SQ01 Functional Area (Infoset)을 생성한 뒤, User Group을 생성해서 연결시키고, Query를 생성하는 순서로 이루어진다.
4.1 Transaction : SQ01 (Query: 질의)
4.2 Transaction : SQ02 (Infoset: Functional Area)
4.3 Transaction : SQ03 (User Group)
5. Test Program : 계정별 분기내역 리스트 Specification ① Basic 리스트 - 계정과목 / 손익센터별 분기내역 - 계정과목별 소계 - 통화별 합계 ② Statistics - 계정과목별 데이터 건수, %비율, 평균값 ③ Ranked 리스트 - 계정과목별 ‘합계’ 필드 순위
5.1 Infoset 생성
5.1.1 Data Source 생성 데이터 선택 방법 ① 다수의 DB 테이블 Join ② 하나의 DB 테이블 ③ LDB
5.1.2 Table Join에 의한 데이터 생성 테이블 GLPCT에는 계정과목 텍스트 필드가 포함되어있지 않다. 테이블 SKAT는 계정과목에 대한 텍스트가 저장된 DB Table 테이블 GLPCT에는 계정과목 텍스트 필드가 포함되어있지 않다. 따라서 테이블 SKAT와 join을 하여 Infoset을 구성한다.
Join이 제대로 이루어졌는지 확인하려면 Check 버튼을 클릭한다. 테이블을 지정해주면 시스템에서 필드들을 비교해서 Join이 가능한 필드들을 자동적 으로 연결해준다.
Field Group 생성 시스템에서 자동적으로 Field Group을 생성해주는 단계이며, User는 다음과 같이 선택할 수 있다. ① 테이블의 모든 필드 ② 키필드 (Key Field) ③ Field Group만 생성
Key Field를 포함하는 Field Group을 선택한 경우 각 테이블 별로 Key Field만을 포함하는 Field Group이 생성된 것을 확인할 수 있다.
5.1.3 LDB에 의한 데이터 생성
시스템 제공 LDB
5.1.4 단일 Table에 의한 데이터 생성 Field Group은 Key Field 만을 포함하는 조건으로 자동적으로 생성
5.1.5 추가정보 생성 추가정보 (Additional Information) Dictionary의 DB 테이블, 구조, 필드 뿐 아니라 User가 프로그래밍 코딩으로 가공하여 사용할 수 있다. - 추가 테이블 (Additional Table) - 추가 필드 (Additional Field) - 추가 구조 (Additional Structure)
사용자 정의 필드 추가 (Additional Field)
Text와 Format 지정 ① Text의 경우, Long Text와 Header를 입력 ② Format은 직접 Type을 정의하거나 Dictionary를 참조하여 생성
Additional Field Additional Table 시스템이 Join 조건을 생성해주며 User가 수정할 수 있도록 되어있다. 필드 KTOPL (계정과목표)를 ‘CAPS’로 지정
5.1.6 추가정보 코딩 생성된 추가정보에 대해서 User의 코딩이 가능 추가필드는 분기별 내역을 계산하는 필드로 계산식을 이용하여 각 분기별 내역을 구한다. 생성된 추가정보에 대해서 User의 코딩이 가능
5.1.7 Field Group에 Data Field 추가 테이블과 추가정보로부터 Infoset에 사용할 필드추가 (Field Group 지정필요)
5.1.7 Field Group 구성
5.1.8 Infoset Generation Error나 Warning Message를 통해 Generation 중에 발생한 문제점을 알 수 있다. 생성된 Infoset을 사용하기 위해서 Generation 버튼을 클릭한다. ※ 추가정보를 생성한 후 Field Group에 포함시키지 않으면 Error가 발생하므로 주의가 필요하다.
5.2 User Groups 생성
5.2.1 User Assign 생성된 Infoset을 이용한 Query를 사용할 수 있는 User Assign (User Group으로 지정)
5.2.2 Infoset Assign User Group이 사용할 Infoset Assign
5.3. Query 생성 User Group에 Assign된 Infoset을 선택할 수 있다.
5.3.1 Query Title, Format 정의 라인(Row)과 열(Column) 포맷을 통해 프린트될 리포트의 크기를 정의할 수 있다. DB 테이블로부터 읽어오는 데이터의 양
5.3.2 Field Group 선택 User가 생성한 Field Group 중에 Query에 사용할 것을 선택
5.3.2 Field 선택 리스트할 Field 선택
5.3.3 선택필드(Selection Field) 선택 Check : Parameters Uncheck: Select-Options
5.3.4 Layout Design (화면구성) Basic list 버튼을 클릭하여 Layout Design 화면으로 들어온다. Field를 더블클릭하면 자동적으로 Layout에 포함된다. 수량필드의 경우 자동적으로 Totaling Fields에 포함된다.
5.3.5 Header 수정 Output length의 수정으로 Field Header(Text)의 수정이 가능 리스트에 포함시킬 수 있음
5.3.6 Test of List 실행화면 Check : Syntax 체크 Test : 현재 Query 테스트 실행 수량필드의 경우 해당필드 뒤에 단위필드가 포함
5.3.7 Field Control Layout 구성 ① Header ② Body ③ Total (Field/Overall) 수량필드의 경우, 통화필드는 수량필드의 앞, 뒤에 오거나, 보이지 않도록 할 수 있다.
5.3.8 Field Sorting Sorting하기 원하는 필드를 ‘Sort Fields’ Toolbox에 끌어 넣고 순서를 조정한다. Sorting Field의 순서는 상위에 위치하는 Field가 우선한다. Sort Fields에 포함되는 Field별로 Sum Field가 생성 - Trash Can을 이용하여 필요 없는 Sum Field를 삭제 - 해당 Field의 Control Level을 이용, End Control Level에서 Display의 조정 가능
5.3.9 Header / Footer Variables &%NAME : User Name &%DATE : Current Date &%TIME : Current Time &%PAGE : Page Number
5.3.10 Check / Query 실행
5.3.11 실행화면
5.3.12 Report 조회 Header에서 정의한 내용 Display
5.4 Statistics 사용할 필드를 선택한 후 순위에 따라 No.를 부여 Sort가 필요한 필드에 Sorting 순서 부여 Percentage(%) Rounding Factor 반올림 자릿수 설정 Sort Criterion - Check : Descending - Uncheck : Ascending Data Count Output Length Calculate Subtotal - Sort Field에 대해서만 적용 - Sort 방향이 Ascending일 때만 가능 - 상위의 Sort Field에 Check되지 않은 경우에는 적용할 수 없음 New Page for each Sort String Sort Field에 대해서 새로운 String 발생시 Page Break Average
다수의 Statistics 설정이 가능 Header / Footer 변경
Graphic 세팅 정의
수직바 Graph 수직삼각형 Graph 음영영역 Graph 수평바 Graph 단계별영역 Graph 극성 Diagram 투시수평바 Graph 라인 Graph 투시형 π-Chart
Output Sequence 변경 User가 생성한 Basic List, Statistics, Ranked List의 출력순위를 설정
신규추가된 Select-Options
Output Screen 선택한 필드 외에 Count, Average, Percentage 필드가 포함되어있다.
5.5 Ranked List Lanked List Criterion Sorting Order Lanked List Sorting의 기준이 되는 Field가 됨 Sorting Order Lanked List Criterion의 Sorting Order Check : Ascending Uncheck : Descending
다수의 Ranked List 설정가능 Header / Footer 변경
신규추가된 Select-Options
6. 추가 리포트 리포트 유형 - SAP List Viewer (LIV) - ABAP List (Report) - 그래픽 - ABC 분석 - 경영자 정보시스템 (EIS) - Local File (PC Download) - 문서작성 (Word) - Spread Sheet (Excel) - 크리스탈 리포트 - Quick Viewer
6.1 Drilldown 정의 ALV의 경우, Drilldown에 대한 정의 가능 세부내역을 포함해서 출력할 것인지, 특정 Summany Field 기준으로 출력할 것인지 설정
6.2 그래픽 분석 Query List에 대해 Graphical Display 가능 Graph 형태는 User가 설정한 유형으로 출력
6.2.1 그래픽 Format ① 차트영역포맷 ② 플롯포맷 ③ 데이타열포맷 ④ 격자선포맷 ⑤ 축포맷 ⑥ 축라벨포맷 ① 차트영역포맷 ② 플롯포맷 ③ 데이타열포맷 ④ 격자선포맷 ⑤ 축포맷 ⑥ 축라벨포맷 ⑦ 범례포맷 ⑧ 범례인덱스포맷
6.3 ABC 분석 ABC 분석 대상 Field를 선택 Segment별 Percentage 할당
Output Screen 선택한 필드외에 ABC, Percentage, 누적 Percentage Field 추가
6.4 Quick Viewer ABAP Query에 비해 기능의 제한이 있지만 빠른 시간 내에 Query를 생성할 때 사용
ABAP Query와는 다른 프로그램이기 때문에 View 이름이 ABAP Query와 같아도 무관
6.4.1 Data Source 선택 Data Source의 선택은 ABAP Query와 동일 (Infoset 사용가능) Edit Mode는 기본모드와 레이아웃모드 제공
6.4.2 기본모드 (Basic Mode) List Field로 사용할 필드를 Check한 후 이동버튼클릭 편집가능
Sorting에 사용할 Field 선택 후 Sorting 순서 결정 Selection Field도 동일
6.4.3 레이아웃모드 (Layout Mode) ABAP Query의 Layout Mode와 편집방법 동일
7. Summary ABAP Query는 프로그래밍에 대한 지식 없이 Dictionary의 내용을 리스트할 수 있도록 제공되는 End User에게 적합한 Reporting Tool이다. ABAP Query의 구조는 Functional Area (Infoset), User Group, Query로 나뉜다. 리스트의 유형은 Infoset의 내용을 기본적으로 보여주는 Basic List, 통계수치를 보여주는 Statistics, 순위에 따른 내용을 보여주는 Ranked List로 나뉘어진다.