2017년 1월 25일 수요일

[ABAP] ALV내 색상 표기 방법

[ 출처 : http://www.like2party.net/ ]






[ 출처 : http://oprsteny.com/ ]

ABAP Color 색상표[참조 프로그램 SHOWCOLO ]




















































ALV내 cell 색상을 Row로 처리 하는 방법
화면에 표시하고져 하는 필드에 위의 표시 색상을 추가

LOOP AT GT_DATA.
  .....
  GT_DATA-COLOR_FIELD 'C310'
  .....

ENDLOOP.

GT_DATA-KEY = 'X'로 설정시 COLOR이 적용되지 않음(주의)


ALV내의 Layout에 해당 필드명을 명기

GS_LAYOUT-INFO_FNAME 'COLOR_FIELD'. <--   TYPE LVC_S_LAYO





2017년 1월 17일 화요일

[ABAP] 시스템 내부 변수들.

[출처 : http://www.sapjoy.co.kr/ ]


SY-INDEX Loop Index -데이터의 위치를 정수로 리턴
SY-PAGNO Current List Page - 리스트의 현재 페이지 번호
SY-TABIX Index of Internal Tables - 내부테이블의 현재 인덱스
SY-TFILL Row Number of Internal Tables - 내부 테이블의 총 레코드 수 ( DESCRIBE TABLE itab LINES l_lines 의 l_lines 와 동일한 결과임 )
SY-TLOPC Internal ABAP System Field - 내부 사용
SY-TMAXL Obsolete ABAP System Field - 폐기된 시스템 필드
SY-TOCCU Obsolete ABAP System Field - 폐기된 시스템 필드
SY-TTABC Obsolete ABAP System Field - 폐기된 시스템 필드

SY-TSTIS Internal ABAP System Field - 내부 사용
SY-TTABI Obsolete ABAP System Field - 폐기된 시스템 필드
SY-DBCNT Processed Database Table Rows - 데이터베이스에서 처리(선택, 삭제, 삽임)된 데이터 수(select, insert, delete)
SY-FDPOS Found Location in Byte or Character String - 탐색(seacch 등)의 찾은 문자 위치 ex) data text(10) type 'ABCDEFGHI'. SEARCH text FOR 'C'. result sy-fdpos = 2.
SY-COLNO Current List Column - 리스트에서 현재 컬럼 ( write 로 리스트 출력 후 더블클릭등 이벤트에서 활용 )
SY-LINCT Page Length of List - 리스트의 한 페이지의 라인수 ( report에서 line-count 로 설정된 값 )
SY-LINNO Current Line in List - 리스트내의 현재 라인
SY-LINSZ Line width of list - 리스틍의 한 페이지의 컬럼수 ( report에서 line-size 로 설정된 값 )
SY-PAGCT Obsolete ABAP System Field - 폐기된 시스템 필드
SY-MACOL Number of Columns on Left Margin of Print List - 리스트 출력 시 왼쪽여백 컬럼수
SY-MAROW Number of Columns in Top Margin of a Print List - 리스트 출력 시 위쪽여백 컬럼수
SY-TLENG Row Length of Internal Table - 내부테이블의 레코드 크기
SY-SFOFF Internal ABAP System Field - 내부 사용
SY-WILLI Obsolete ABAP System Field - 폐기된 시스템 필드
SY-LILLI Selected List Line - 리스트에서 AT LINE-SELECTION 등의 이벤트 발생시 선택된 현재 페이지의 라인
SY-SUBRC Return Value of ABAP Statements - 리턴
SY-FLENG Internal ABAP System Field - 내부 사용
SY-CUCOL Horizontal Cursor Position at PAI - 커서 좌표 ( 수직 값 )
SY-CUROW Vertical Cursor Position at PAI -  커서 좌표 ( 수평 값 )
SY-LSIND Index of Details List - 상세리스트에 대한 인덱스( 최초 1, 이벤트로 다른 리스트가 호출되면 1씩 증가 )
SY-LISTI Index of Displayed List - 표시된 리스트의 인덱스
SY-STEPL Index of Current Step Loop Line - 스텝루프의 라인 인덱스
SY-TPAGI Obsolete ABAP System Field - 폐기된 시스템 필드
SY-WINX1 Obsolete ABAP System Field - 폐기된 시스템 필드
SY-WINY1 Obsolete ABAP System Field - 폐기된 시스템 필드
SY-WINX2 Obsolete ABAP System Field - 폐기된 시스템 필드
SY-WINY2 Obsolete ABAP System Field - 폐기된 시스템 필드
SY-WINCO Obsolete ABAP System Field - 폐기된 시스템 필드
SY-WINRO Obsolete ABAP System Field - 폐기된 시스템 필드
SY-WINDI Obsolete ABAP System Field - 폐기된 시스템 필드

SY-SROWS Screens, numbers of lines - 스크린 라인 수(모니터에 표시된 전체 화면 크기에 대하여)
SY-SCOLS Screens, number of columns - 스크린의 컬럼 수(모니터에 표시된 전체 화면 크기에 대하여)
SY-LOOPC Visible Lines of a Step Loop - 화면에 표시되는 스텝루프의 라인 수
SY-FOLEN Internal ABAP System Field - 내부 사용
SY-FODEC Internal ABAP System Field - 내부 사용
SY-TZONE Date and Time, Time Difference to UTC Reference Time - 일/시 ?
SY-DAYST Daylight Saving Time Selection - ?
SY-FTYPE Internal ABAP System Field - 내부 사용
SY-APPLI Obsolete ABAP System Field - 폐기된 시스템 필드
SY-FDAYW Factory calendar weekday - 공장달력의 평일 ( 월-1, 화-2, 수-3, 목-4, 금-5 )
SY-CCURS Obsolete ABAP System Field - 폐기된 시스템 필드
SY-CCURT Obsolete ABAP System Field - 폐기된 시스템 필드

SY-DEBUG Internal ABAP System Field - 내부 사용
SY-CTYPE Obsolete ABAP System Field - 폐기된 시스템 필드
SY-INPUT Internal ABAP System Field - 내부 사용
SY-LANGU Language Key of Current Text Environment - 현재 사용 언어
SY-MODNO Index of External Session - 외부 세션 인덱스
SY-BATCH Program is running in the background - 'X' 프로그램이 백그라운드 작업에서 실행되고 있습니다.
SY-BINPT Program Running Under Batch Input - 'X' 프로그램이 BDC로 실행중입니다.
SY-CALLD ABAP program, ABAP program call mode - 'X' 다른프로그램에서 호출되에 사용되고 있습니다.
SY-DYNNR Current Screen Number - 현재 화면번호
SY-DYNGR Screen Group of Current Screen - 현재 화면의 그룹(화면속성의 화면그룹. 주의!-화면의 필드 그룹과 다름 )
SY-NEWPA Internal ABAP System Field - 내부 사용
SY-PRI40 Internal ABAP System Field - 내부 사용
SY-RSTRT Internal ABAP System Field - 내부 사용
SY-WTITL Selection for Standard Page Header - 선택된(현재화면에 출력된) 페이지 헤더
SY-CPAGE Current Page Number of a List - 리스트의 현재 페이지 번호
SY-DBNAM Logical Database of an Executable Program - LDB
SY-MANDT Client ID of Current User - 현재 클라이언트
SY-PREFX Obsolete ABAP System Field - 폐기된 시스템 필드
SY-FMKEY Obsolete ABAP System Field - 폐기된 시스템 필드

SY-PEXPI Spool Retention Period (Print Parameters) - 스풀 보존 기간
SY-PRINI Internal ABAP System Field - 내부 사용
SY-PRIMM Print Immediately (Print Parameters) - 즉시 인쇄
SY-PRREL Delete After Printing (Print Parameters) - 출력 후 삭제
SY-PLAYO Internal ABAP System Field - 내부 사용
SY-PRBIG Selection Cover Page (Print Parameters) - 표지선택
SY-PLAYP Internal ABAP System Field - 내부 사용
SY-PRNEW New Spool Request (Print Parameters) - 신규스풀요청
SY-PRLOG Internal ABAP System Field - 내부 사용
SY-PDEST Output Device (Print Parameters) - 출력장치
SY-PLIST Name of Spool Request (Print Parameters) - 요청스풀이름
SY-PAUTH Internal ABAP System Field - 내부 사용
SY-PRDSN Name of Spool File - 스풀파일명
SY-PNWPA Internal ABAP System Field - 내부 사용
SY-CALLR Start Location of List Print - 출력 시작위치
SY-REPI2 Internal ABAP System Field - 내부 사용
SY-RTITL Name of Print Program (Print Parameters) - 출력프로그램명
SY-PRREC Recipient (Print Parameters) - 수신
SY-PRTXT Text for Cover Page (Print Parameters) - 표지 텍스트
SY-PRABT Department on Cover Page (Print Parameters) -
SY-LPASS Internal ABAP System Field - 내부 사용
SY-NRPAG Internal ABAP System Field - 내부 사용
SY-PAART Print Format (Print Parameters) - 프린트 포맷
SY-PRCOP Number of Copies (Print Parameters) - 출력 수
SY-BATZS Obsolete ABAP System Field - 폐기된 시스템 필드
SY-BSPLD Obsolete ABAP System Field - 폐기된 시스템 필드
SY-BREP4 Obsolete ABAP System Field - 폐기된 시스템 필드
SY-BATZO Obsolete ABAP System Field - 폐기된 시스템 필드
SY-BATZD Obsolete ABAP System Field - 폐기된 시스템 필드
SY-BATZW Obsolete ABAP System Field - 폐기된 시스템 필드
SY-BATZM Obsolete ABAP System Field - 폐기된 시스템 필드
SY-CTABL Obsolete ABAP System Field - 폐기된 시스템 필드

SY-DBSYS Central Database System - 중앙 데이터베이스 시스템
SY-DCSYS Obsolete ABAP System Field - 폐기된 시스템 필드
SY-MACDB Obsolete ABAP System Field - 폐기된 시스템 필드

SY-SYSID Name of the SAP System - SAP SYSTEM 명(LogIn SYSTEM 명. ex) 'PRD'(운영), 'DEV' 개발 등...)
SY-OPSYS Operating System of Application Server - 어플리케이션의 운영체제
SY-PFKEY Current GUI Status - 현재 PF-STATUS 이름
SY-SAPRL Release Status of SAP System - 최신버전상태( ex> ECC 6.0 은 700 으로 표시됨)
SY-TCODE Current Transaction Code - 현재 실행중인 트랜잭션 코드
SY-UCOMM Function code that PAI triggered - F-CODE
SY-CFWAE Internal ABAP System Field - 내부 사용
SY-CHWAE Internal ABAP System Field - 내부 사용
SY-SPONO Spool Number of List Print - 스풀 번호
SY-SPONR Obsolete ABAP System Field - 폐기된 시스템 필드
SY-WAERS Obsolete ABAP System Field - 폐기된 시스템 필드
SY-CDATE Obsolete ABAP System Field - 폐기된 시스템 필드

SY-DATUM Current Date of Application Server - 시스템 일자(서버기준)
SY-SLSET Used Selection Screen Variant - SUBMIT 등 SELECTION-SET 을 사용할 경우
SY-SUBTY Internal ABAP System Field - 내부 사용
SY-SUBCS Internal ABAP System Field - 내부 사용
SY-GROUP Internal ABAP System Field - 내부 사용
SY-FFILE Internal ABAP System Field - 내부 사용
SY-UZEIT Current Time of Application Server - 시스템시간(서버기준)
SY-DSNAM Internal ABAP System Field - 내부 사용
SY-TABID Internal ABAP System Field - 내부 사용
SY-TFDSN Obsolete ABAP System Field - 폐기된 시스템 필드
SY-UNAME User Name - LogIn 한 사람의 ID
SY-LSTAT Obsolete ABAP System Field - 폐기된 시스템 필드
SY-ABCDE Latin Alphabet - 알파벳대문자(A~Z)
SY-MARKY Obsolete ABAP System Field - 폐기된 시스템 필드
SY-SFNAM Obsolete ABAP System Field - 폐기된 시스템 필드
SY-TNAME Obsolete ABAP System Field - 폐기된 시스템 필드
SY-MSGLI Obsolete ABAP System Field - 폐기된 시스템 필드

SY-TITLE Contents of Title Line - 타이틀
SY-ENTRY Internal ABAP System Field - 내부 사용
SY-LISEL Contents of a Selected List Line - 더블클릭등 이벤트시 선택된 라인의 문자열
SY-ULINE Horizontal Line - '-'
SY-XCODE Internal ABAP System Field - 내부 사용
SY-CPROG Calling Program - 현재 프로그램
SY-XPROG Internal ABAP System Field - 내부 사용
SY-XFORM Internal ABAP System Field - 내부 사용
SY-LDBPG Database Program of a Logial Database
SY-TVAR0 Text Variable for Placeholders in List Headers - 실행시간에 헤더의 문자열을 동적으로 구성하도록 지원함(0 ~ 9)
SY-TVAR1 Text Variable for Placeholders in List Headers - [사용방법]
SY-TVAR2 Text Variable for Placeholders in List Headers - 1. 메뉴->이동->리스트헤딩에서 열헤딩에 &0 ~ &9 까지 설정
SY-TVAR3 Text Variable for Placeholders in List Headers - 2. 프로그램에서 SY-TVAR0 = '텍스트 0', ... , SY-TVAR9 = '텍스트 9' 처럼
SY-TVAR4 Text Variable for Placeholders in List Headers -    텍스트를 설정함.
SY-TVAR5 Text Variable for Placeholders in List Headers - 3. 리스트 헤딩에 설정한 값이 출력될 것임.
SY-TVAR6 Text Variable for Placeholders in List Headers
SY-TVAR7 Text Variable for Placeholders in List Headers
SY-TVAR8 Text Variable for Placeholders in List Headers
SY-TVAR9 Text Variable for Placeholders in List Headers
SY-MSGID Message Class - 메세지 클래스
SY-MSGTY Message Type  - 메세지 ID
SY-MSGNO Message Number - 메세지 번호
SY-MSGV1 Message Variable - 메세지 텍스트 1
SY-MSGV2 Message Variable - 메세지 텍스트 2
SY-MSGV3 Message Variable - 메세지 텍스트 3
SY-MSGV4 Message Variable - 메세지 텍스트 4
SY-ONCOM Internal ABAP System Field - 내부 사용
SY-VLINE Vertical Line - '|'
SY-WINSL Obsolete ABAP System Field - 폐기된 시스템 필드
SY-STACO First List Column Displayed - START COLUMN
SY-STARO Top Displayed Line - START ROW
SY-DATAR Selection for Screen Field Input - 'X' : 화면에 입력가능 필드에 값이 입력되었습니다
SY-HOST Name of Current Application Server - 호스트이름
SY-LOCDB Obsolete ABAP System Field - 폐기된 시스템 필드
SY-LOCOP Obsolete ABAP System Field - 폐기된 시스템 필드

SY-DATLO Local Date for Current User - 날짜(현지 일자-사용자 시간대 고려)
SY-TIMLO Local Time of Current User - 시간(현지 시간-사용자 시간대 고려)
SY-ZONLO Time Zone of Current User

2017년 1월 9일 월요일

오라클 윈도우 함수

[ 출처 : http://evian87.tistory.com/ ]

* 집합 함수

UNION   : 합집합(중복행 합쳐짐)
UNION ALL : 합집합(중복행 그대로 표시)
INTERSECT : 교집합
EXCEPT : 차집합

윈도우 함수는 크게 4가지로 구분할 수 있습니다.
첫번째, 그룹내 순위 함수인 RANK, DENSE_RANK, ROW_NUMBER 가 있어요.
두번째, 그룹내 집계 함수인 SUM, MAX, MIN, AVG, COUNT 함수가 있습니다.
세번째, 그룹내 행 순서 함수인 FIRST_VALUE, LAST_VALUE, LAG, LEAD 함수가 있고
네번쨰, 그룹내 비율 관련 함수로 CUME_DIST, PERCENT_RANK, NTILE, RATIO_TO_REPORT 가 있어요.

1.순위함수
1) RANK 함수 : 순위함수(동일 순위가 있을 경우 중복수만큼 순위를 건너 뛴다.
2) DENSE_RANK 함수 : 동일한 순위를 하나의 건수로 취급(중복과 상관없이1부터 순차로지정)
사용방법 :
  - rank() over (order by sal desc) all_rank : sal의 역순으로 정렬하여 순위 지정
  - rank() over (partition by job order by sal desc) job_rank : sal의 역순으로 정렬하여 순위 지정하고 job에 대한 그룹 순위 지정
 - dense_rank() over (order by sal desc) dense_rank : sal의 역순으로 정렬하여 순위지정


2. 집계 함수
1) SUM 함수 : 파티션별 윈도우의 합
  - ange unbounded preceding : 현재 행을 기준으로 파티션 내의 첫번째 행까지의 범위 지정
사용방법 :
 - sum(sal) over (partition by mgr order by sal range unbounded preceding) mgr_sum :현재ROW까지의 누적
 - sum(sal) over (partition by mgr) mgr_sum : 그룹 누적값


2) MAX 함수 : 파티션별 윈도우의 최대값 / MIN 함수 : 파티션별 윈도우의 최소값
사용방법
 - max(sal) over (partition by mgr) max
 - min(sal) over (partition by mgr) min


3) AVG 함수 : 파티션별 ROWS 윈도우를 이용해 원하는 조건에 맞는 데이터에 대한 통계값 구함
사용방법
  - max(sal) over (partition by mgr) max
  - min(sal) over (partition by mgr) min
  - round(avg(sal) over (partition by mgr order by hiredate rows between 1 preceding and 1 following)) mgr_avg


4) COUNT 함수
사용방법
 - count(sal) over (order by sal range between 50 preceding and 150 following) count


3. 그룹 내 행순서 함수
1) FIRST_VALUE 함수 : 파티션별 윈도우에서 가장 먼저 나온 값 출력, 공동 등수 인정X, 처음 나온 행만 처리.
- rows unbounded preceding : 현재 행을 기준으로 파티션 내의 첫번째 행까지의 범위 지정
사용방법
 - first_value(ename) over (partition by deptno order by sal desc rows unbounded preceding) dept_rich


2) LAST_VALUE 함수 : 파티션별 윈도우에서 가장 나중에 나온 값 출력 (=MAX함수)
- rows unbounded preceding : 현재 행을 기준으로 파티션 내의 첫번째 행까지의 범위 지정
- rows between current row and unbounded following : 현재 행 포함해서 파티션 내의 마지막 행까지의 범위 지정
사용방법
 - LAST_VALUE(ename) over (partition by deptno order by sal desc rows between current row and unbounded following) dept_rich


3) LAG 함수 : 파티션별 윈도우에서 이전 몇번째 행까지의 값 가져올 수 있다.
사용방법
 - lag(sal) over (order by hiredate) prev_sal
 - lag(sal, 2) over (order by hiredate) prev_sal2


4) LEAD 함수 : 파티션별 윈도우에서 이후 몇번째 행의 값을 가져올 수 있다.
사용방법
 - lag(sal) over (order by hiredate) lag
 - lead(hiredate, 1) over (order by hiredate) lead


4. 그룹 내 비율 함수
1) RATIO_TO_REPORT 함수 : 파티션 내 전체 SUM(컬럼)에 대한 행별 컬럼 값의 백분율을 소수점으로 구할 수 있다.
사용방법
 - round(ratio_to_report(sal) over (), 2) ratio


2) PERCENT_RANK 함수 : 값이 아닌 행의 순서별 백분율 구한다.
사용방법
 - percent_rank() over(partition by deptno order by sal desc) percent_Rank


3) CUME_DIST 함수 : 파티션별 윈도우의 전체건수에서 현재 행보다 작거나 같은 건수에 대한 누적백분율 구한다.
사용방법
 - round(cume_dist() over (partition by deptno order by sal desc)


4) NTILE 함수 : 파티션별 전체 건수를 ARGUMENT 값으로 N등분한 결과를 구할 수 있다
사용방법
 - ntile(4) over (order by sal desc) ntile

2017년 1월 2일 월요일

MariaDB 명령어


Show Databases;   <-- 데이터베이스 목록 조회
Show Tables;       <-- 테이블 목록 조회(단 사전에 데이터 베이스로 이동을 먼저 해야함.
use db명;          <-- 해당 디비로 이동
show processlist;  <-- 연결된 리스터 리스트 조회
kill "id";            <-- 조회 리스너중 해당 ID를 kill 한다.

explain select * from tab; <-- sql에 해당되는  Plan을 조회
show explain for processid; <-- 수행중인 프로세스에 대한 SQL Plan을 본다.

create database test;  <-- 데이터베이스 생성
create user  'user'@'localhost' identified by 'password';  <- user 계정에 비번이 password인 유저를 생성
- test디비의 모든 권한을 user에세 부여(% 대신 localhost는 외부접근 차단시 사용)
grant all privileges on test.* to 'user'@'%';
revokr all on test.table from 'user'@'%'; <--해당 테이블에 대한 유저의 권한을 전부 삭제
flush privileges; <-- 권한 설적을 새로 반영한다.

1. Index(참조)
 - show index from tablename; <-- 해당 테이블의 인덱스 조회
 - Index의 종류
  ① Primary key : 중복이 발생될 수 없는 필드임.
  ② index : 일반적인 인덱스이고 중복이 가능(와일드카드 입력시 사용 불가)
  ③ Unique : Primary key와 동일하게 중복이 안되는 키임
  ④ fulltext key: 텍스트 필드의 like 검색을 위한 인덱스임(텍스트에 최적화).
  ⑤ foreign key :  데이터의 무결성을 유지시키는 인덱스임(외부 참조키임)