이글은 아래 링크의 원본 글에 대한 한글 번역 입니다

https://www.zapyard.com/lazy-and-smart-abapers/

 

게으르지만 스마트한 아밥퍼

Lazy and Smart ABAPers

ABAP Tutorials 

나의 친한 친구중 한명이 링크드인에 “게이름의 결과는? (What Laziness leads to?)” 라는 제목을 가진 단 4줄짜리 글을 쓴적이 있습니다.

 

 

게으름의 결과는 무엇인가?

자동화

자동화의 후유증은 무엇인가?

더 게으르고 더 많이 번다

 

짧은글 경연이 있었다면, 내 친구의 글은 분명히 상위권에 랭크되었리라 생각합니다. 아밥퍼로서 우리는 메일 반복되는 일을 많이 하고 있습니다. 예를들어, 모든 프로그램에 프로그램개요 주석박스를 입력해야 하고, 모든 프로그램에 이벤트를 선언해야 하고, 모든 프로그램에 셀렉션 스크린을 만들어야 합니다, 등등.. 복사하기 & 붙여넣기는 컴퓨터 과학자가 발명한 최고의 발명품입니다. 대부분 컴퓨터 사용자들은 사용하는 플랫폼에 관계없이 모두 Ctrl + C , Ctrl + V 기능을 사용하고 있습니다.

 

최근 몇년사이 ABAP 에디터도 많이 진화했습니다. 지루한 파란 화면에서 각자 화면색상/배경색상을 선택 가능하도록 변화했습니다. GUI에서 이클립스로, 아밥과 아밥퍼는 큰 도약을 한 셈입니다. 최근에는 아법퍼가 자바스크립트, SQL, UI 프로그래밍도 합니다. 하지만 (나처럼) 올드 아밥퍼나 아직 새로운 영역에 업무를 접할 기회가 없었던 사람들은 대략 90 퍼센트 정도의 업무를 ABAP 워크벤치/에디터에서 하고 있습니다.

 

스마트한 아밥퍼로써 기존 ABAP 에디터에서 사용할 수 있는 유용한 단축키와 도움기능를 살펴 봅시다.

 

 

1. 한줄 복사하기 (복제: duplicate)

 

단축키 Ctrl + D 를 누르면 한줄을 동일하게 아래줄에 복제하여 만들어 줍니다.

Copy duplicate line

 

 

2. 여러줄의 한컬럼을 복사하여 붙여넣기하는 방법. 전체 컬럼이 아니라 한컬럼입니다(전체컬럼 복사는 쉽지요).

여러줄의 한컬럼을 복사하는 방법은 Alt 키를 누른채 드래그하는 겁니다.

 

아밥 에디터에서 한컬럼만 복사할 수 있습니까? 네, 가능합니다.

 

아래 그림을 보세요. 상수 lc_tab 만 선택하였고 다른 컬럼은 선택하지 않았습니다.

 

컬럼 시작시점에서 Alt 키를 누른채 드래그하여 끝나는 지점까지 드래그합니다.

ABAP Technical

이제 Ctrl + C 를 눌러 복사하고 붙이고 싶은 곳으로 이동합니다.

 

붙이고 싶은 곳에서도 같은 방법으로 드래그를 합니다. 아래 그림을 보세요. 붙여넣기 할 공간을 드래그하는 동안 Alt 키를 계속 누르고 있어야 합니다.

SAP ABAP for beginners

 

선택한 공간에 붙여넣기(Ctrl + V)하면 복사된 것을 볼 수 있습니다.

SAP Techies

 

이 기능은 여러줄에 동일한 단어를 반복할때 상당히 유용합니다. 위의 예는 탭으로 구분된 상수 사용이였습니다. 다른 예를 들어, BEGIN OIF TYPE 선언을 사용할때 TYPE을 여러줄에 입력해야 할겁니다. SE11에서 필드명과 타입을 복사하여 에디터에 붙여넣기 하고 Alt + 드래그를 이용하여 TYPE을 한꺼번에 입력할 수 있습니다.

3 4

처음에는 컬럼선택하기가 힘들겠지만 연습하면 나아집니다 :)

 

이 글도 참고해 보세요: Back to Basics

 

3. 줄 분리선 또는 코드 분리선 (Separators)

코드 중간에 분리선을 넣는 경우가 있습니다. 주로 코드 내용을 쉽게 구분하기 위해서, 모듈화를 위해서, 또는 단지 코드를 이쁘게 보이려고 하기도 합니다. '*' 나 '"' 를 입력하고 '-'를 줄의 끝까지 입력하시나요? ***** 별표만으로 구성할때 마찬가지로 '*'를 줄의 끝까지 입력합니까?

 

SAP에 있는 코드 완료(자동완성, code completion) 기능을 이용해 보세요. 단지 '*--'까지만 입력하면 추천해줍니다. 비슷하게 '***'을 입력해도 추천이 나옵니다. 이때 탭키를 누르기만 하면 한줄이 끝까지 완성됩니다.

Auto Code Completion

 

개발자라면 IF-ELSE, DO-ENDO, LOOP ENDLOOP, CASE ENDCASE 자동 완성을 이용해 보았을 겁니다. 그런데 IF ELSE ENDIF의 경우는 어떻습니까? 있습니다. 바로 ife를 입력하면 추천해줍니다. 게다가, SAP의 자동완성 기능은 사용자가 필요에 따라 마음대로 새로 만들 수도 있습니다.

SAP Technical

 

이런 자동완성은 모두 어디에 저장되어 있을 까요?

Vanilla ABAP

 

에터더 화면의 오른쪽 아래 구석에 있는 작은 옵션 아이콘을 클릭합니다. 코드 완료(Code Completion)에서는 시간 및 여러 옵션을 조정할 수 있습니다. 코드 템플릿(Code Template) 부분이 바로 탭을 눌러서 코드 자동완성을 입력하는 내용이 있는 곳입니다.

 

자신만의 코드 자동완성을 만들고 관리 할 수 있습니다.

 

이렇게도 할 수 있습니다: Are you an ABAP Coder or a Programmer?

 

4. 프로그램 템플릿

새로운 프로그램을 만들때 대부분은 항상 필요한 공통의 코드가 있기 마련입니다. 프로그램개요 주석박스, 수정 로그, 셀렉션 스크린, 프로그램 이벤트 등등. 보통은 다른 프로그램을 템플릿으로 참고하여 복사하여 시작합니다.

Patterns in SAP

 

보시죠. 지금 신규 프로그램 작성을 시작하고 있습니다. 아무것도 없이 ZZ_TEMPLATE를 입력하였습니다. 자동완성 추천되는게 보입니다. 이제 ''키를 누르면, 전체 프로그램 뼈대가 완성됩니다.

Program Events

 

여기에는 항상 필요한 공통의 코드를 가지고 있습니다. 프로그램개요 주석박스, 수정 로그, 셀렉션 스크린, 프로그램 이벤트. 템플릿을 생성했으면, 단지 프로그램 이름, 설명, 로그를 약간 변경해주면 됩니다. 그리고 셀렉션 스크린에 필드를 입력합니다. 만약 체크박스나 라디오버튼이 필요없다면, 지우면 됩니다.

 

지난 프로젝트중에는 이런 템플릿 목적으로 커스텀 패턴을 사용한 적이 있습니다.

 

시간이 지나고 알게 되었지만, SAP는 커스텀 패턴을 사용하지 않고도 템플릿을 만드는 스마트한 방법을 제공합니다(커스텀 패턴은 개발오브젝트이기 때문에 개발전송을 하거나 로컬오브젝트로 만들어야 함). 이번에도 오른쪽 아래의 작은 옵션 아이콘을 클릭합니다. 코드 템플릿 -> 추가 -> 이름과 내역 입력 -> 확인 (Code Templates ->Add -> Give the name & description -> OK).

5

6

 

템플릿 코드를 붙여넣고 저장 하세요. 각자 템플릿을 활용하여 일을 빨리 끝낼 수 있어요. :)

9

 

Note : 자주 사용하는 어떤 작업에도 템플릿을 만들 수 있습니다. 예를 들어, 셀렉션 스크린 코드, 파일 검증 코드, F4 서치헬프 코드, MODIF 관련 코드 등등. 문법을 잘 기억하지 못하는 경우 이런 것도 템플릿으로 만들어 두면 좋습니다. 어려운 문법대신 내가 만든 템플릿 아이디만 기억하면 됩니다. :)

 

만약 이 템플릿이 마음에 든다면 다운로드 받아서 사용해 보세요.  Template File.

 

아마 대부분 프로젝트에서는 각각 다른 프로그램개요 박스 템플릿을 가지고 있을테니, 각자 프로젝트에 맞춰서 템플릿을 저장해두세요.

 

이 글도 참고해 보세요: Do all ABAPers know Fixed Point Arithmetic?

 

 

5. 코드를 PDF 파일로 다운받기

코드를 백업받아야 할 경우가 있습니다. 보통은 메모장에 복사 붙여넣기 하거나 메뉴 유틸리티에서 다운로드 기능을 이용합니다. 색상 표시를 그대로 유지하여 PDF 파일로 다운받는 기능이 있습니다.

 

이번에도 오른쪽 아래의 작은 옵션 아이콘을 클릭합니다. 키보드 옵션으로 가서 File.ExportPDF 를 찾고 단축키를 지정합니다. 저의 경우 Shift + P 로 하였습니다. PDF저장 기능에 사용할 단축키는 원하는대로 다른 키를 지정할 수 있습니다.

Save code in PDF file

 

PDF 저장을 원하는 프로그램으로 이동합니다. 단축키 Shift + P (또는 당신이 지정한 키)를 누릅니다. 저장할 위치를 묻는 창이 뜨면 원하는 곳에 저장하세요.

Save Program in PDF format 13

 

PDF 로 보는 코드는 훨씬 보기 좋습니다 그렇죠? :)

 

6. 일할때 시간을 가장 오래 지내는 에디터를 꾸며봅시다.

당신 삶의 소소한 즐거움이 될 것입니다. 에디터의 푸르딩딩한 화면을 처다보는게 지겹다면, 가독성을 높이기 위해 글꼴과 색깔을 변경하고 싶다면, 재미로 다른 색깔을 쓰고 싶다면, 눈을 편하게 화면을 조정하고 싶다면, 그렇다면 아래 그림을 보세요.

Change background color of editor

 

이건 현재 내가 사용하는 에티터의 모습입니다.

 

에디터를 꾸미고 싶다면 이번에도 오른쪽 아래의 작은 옵션 아이콘을 클릭합니다. 글꼴 및 색상(Fonts and Colors)을 선택합니다. 아래 그림처럼 해보세요. 내가 사용하는 셋팅입니다.

Fonts setting

 

이글에서 우리는 이 작은 옵션 아이콘으로 부터 무엇을 할 수 있는지 배웠습니다. 이글을 보신 분들은 이제 옵션 아이콘을 놓치고 가는 일은 없을 것으로 믿습니다.

 

혹시 더 좋은 아이디어 나 흥미로운 생각이 있으면, 공유 하도록 합시다. 우리 모두를 더욱 스마트하게/게으르게 할 무언가가 있을지도 모릅니다. 그렇다면 더욱 더 환영합니다. :)

 

구독을 하시면 이런 유용한 글을 이메일로 바로 받아 볼 수 있습니다. 당신의 개인정보는 잘 보호해 드립니다. (번역글에는 없습니다. 원본글을 찾아가세요)

 

이글이 마음에 든다면, 공유 버튼을 눌러주세요(번역글에는 없습니다. 원본글을 찾아가세요). 그리고 facebook.에 좋아요 부탁합니다.

 

감사합니다.

 

참, 아래 튜토리얼도 한번 읽어보세요.

 

Web Dynpro ABAP
SAP ABAP for HANA

 

 

이글은 아래 링크의 원본 글에 대한 한글 번역 입니다

https://www.zapyard.com/lazy-and-smart-abapers/

나눔고딕코딩은 네이버 개발자 센터에서 배포합니다.
http://dev.naver.com/projects/nanumfont/download
개발자용 나눔고딕코딩체는 나눔고딕을 개선하여 개발자 여러분들이 개발 작업을 좀더 편리하게 하실 수 있도록 최적화된 글꼴입니다. 고정폭 형식으로서 소스코드 편집을 위한 각종 편집기나 터미널에서 가독성을 높였고, 알파벳 대문자 아이(I)와 알파벳 소문자 엘(l)과 숫자 1, 숫자 0과 알파벳 대문자 오(O)와 알파벳 소문자 오(o) 등 혼동되기 쉬운 문자들을 명확하게 구별될 수 있게 하여 원치 않는 코딩 오류를 최소화할 수 있습니다.

디자인적인 특징은 나눔고딕의 부드러운 굴림체를 기본으로 한국적인 조형미와 현대적인 미감을 살린 형태를 가진 글꼴입니다. 고정폭이라는 제한된 영역 안에서 각 문자의 특징을 가장 잘 부각시킬 수 있는 디자인을 적용함으로서 코딩용 글꼴의 기능적 특징을 최대한 살려냈습니다. 글꼴 두께는 Regular와 Bold 두가지로 제공합니다.

더불어 개발자들이 주로 사용하는 모니터 환경에서도 선명하고 깔끔한 형태를 구현하기 위해 클리어타입 매뉴얼 힌팅(Cleartype Manual Hinting)을 적용하였습니다.



글꼴의 차이가 어떤지 캡쳐한 화면을 보시죠.

글꼴: Times New Roman



글꼴: 나눔고딕코딩

관련해서 장편의 글을 쓰려고 생각만 하다가 귀차니즘에 쓰지 못하고 있다가,
내가 쓸말을 다 써놓은 곳을 발견하여 소개해 드립니다.

출처: 몽돌잉 님 블로그
http://zmania.tistory.com/14

ps.
1. 폰트 나눔고딕코딩 (크기12) 강추 드립니다.
2. ABAP 7.02 버전 부터는 code assist 가 추가되었다는 반가운 소식입니다. 잘 쓰고 있습니다 ㅋ


요즘은 정품 사용 분위기 이므로~ editplus 나 ultraedit는 사용하지 않습니다.
대신 프리웨어인 Notepad++를 사용하지요.

ABAP 코드를 다운받아 두고 열어 볼때 이 프로그램을 사용하면 편리합니다.
문법강조기능을 활용하여 더 편리하게 봅시다.
아래의 파일을 다운로드 받아서 Notepad++ 의 메뉴에서 언어 > 언어정의 에 들어가서 import 해주세요.

userDefineLang_ABAP_by_boy0.xml


스크린샷:

위에가 SE38 아래가 notepad++에 ABAP UDL을 설치한후

 

설치방법입니다.

 



파일 만들때 참고한 내용:
여러 언어 공유 위키: User Defined Language Files - notepad-plus
kieAt님 버전: kieAt - abap programing에 최적화한 notepad++ (v5.3.1) - notepad++ ... 
작성법 설명 : User Defined Languages


Change Log.
2014.05.14 문자열 구분자 ' ` | 세가지 지정.
2012.07.21 BEGIN~END , CLASS~ENDCLASS , INTERFACE~ENDINTERFACE 접기 기능 제거.
2012.05.31 Saplink 용 파일인 nugg 와 slnk 그리고 Saplink unicode 용 파일인 nugg_u와 slnk_u 확장자를 인식하도록 추가.
2010.11.17 FUNCTION~ENDFUNTION , METHOD~ENDMETHOD 접기 기능 제거. CALL FUNCTION이 펼쳐지는 문제해결
2010.11.12 문자열을 녹색으로 표시하는 기능 추가.
2010.11.05 최초 작성.

 

+ Recent posts