메뉴 건너뛰기

SAP 한국 커뮤니티

한글 자음 분석해보기.

공백 2011.05.19 12:17 조회 수 : 7257

그냥 이게 어디에 쓰일지는 미지수 입니다만 올려봅니다..ㅎ

원래 한글도 CS나 CP처럼 사용할 수 있는 방법이 있을까라고 생각을 했었는데...

결국 저는 트리에 제품명을 ㄱ~ㄷ, ㄹ~ㅂ, ... 처럼 자음으로 묶을때 사용해보았구요,

그냥 지나가다 보시고 더 쉬운 방법 있으면 저한테도 알려주세요. ^-^a

 

PS. 첨부파일에서는 한글 UNICODE -> HEX 관련 정리해봤습니다.

 


*&---------------------------------------------------------------------*
*& VARIABLES.
*&---------------------------------------------------------------------*
DATA : LV_HEX(4)LV_CHAR.
DATA : LV_INPUT TYPE STRING
       LV_OUTPUT(2).

*&---------------------------------------------------------------------*
*& 문자열 입력 받기.
*&---------------------------------------------------------------------*
CALL FUNCTION 'POPUP_TO_FILL_COMMAND_LINE'
  EXPORTING
    POPUPTITLE   = '첫단어 자음 분석'
    TEXT1        = '원하시는 단어를 입력하세요.'
  IMPORTING
    COMMAND_LINE = LV_INPUT.

*&---------------------------------------------------------------------*
*& 입력 받은 문자열의 자음 분석하기.
*&---------------------------------------------------------------------*
IF LV_INPUT IS NOT INITIAL.

  DATA :  LV_CHECK(4), LV_TEMP.

  "test DATA.
  LV_TEMP = '가'.
  FIELD-SYMBOLS <FS> TYPE X.
  ASSIGN LV_CHAR TO <FS> CASTING.
  LV_CHECK = <FS>.

*-- 입력받은 문자에서 첫번째 단어만 비교합니다.
  LV_CHAR = LV_INPUT+0(1).

  ASSIGN LV_CHAR TO <FS> CASTING.

  LV_HEX = <FS>.

  IF LV_CHECK = '00AC'.

    SHIFT LV_HEX BY 2 PLACES LEFT CIRCULAR.
  ENDIF.


*-- HEX값과 비교합니다.
  IF ( 'AC00' <= LV_HEX AND LV_HEX <= 'B097' ) OR LV_HEX EQ '3131' OR LV_HEX EQ '3132'.
    LV_OUTPUT = 'ㄱ'.
  ELSEIF LV_HEX EQ '3133'.
    LV_OUTPUT = 'ㄳ'.
  ELSEIF ( 'B098' <= LV_HEX AND LV_HEX <= 'B2E3' ) OR LV_HEX EQ '3134'.
    LV_OUTPUT = 'ㄴ'.
  ELSEIF LV_HEX EQ '3135'.
    LV_OUTPUT = 'ㄵ'.
  ELSEIF LV_HEX EQ '3136'.
    LV_OUTPUT = 'ㄶ'.
  ELSEIF ( 'B2E4' <= LV_HEX AND LV_HEX <= 'B77B' ) OR LV_HEX EQ '3137' OR LV_HEX EQ '3138'.
    LV_OUTPUT = 'ㄷ'.
  ELSEIF ( 'B77C' <= LV_HEX AND LV_HEX <= 'B9C7' ) OR LV_HEX EQ '3139'.
    LV_OUTPUT = 'ㄹ'.
  ELSEIF LV_HEX EQ '3140'.
    LV_OUTPUT = 'ㄼ'.
  ELSEIF ( 'B9C8' <= LV_HEX AND LV_HEX <= 'BC13' ) OR LV_HEX EQ '3141'.
    LV_OUTPUT = 'ㅁ'.
  ELSEIF ( 'BC14' <= LV_HEX AND LV_HEX <= 'C0AB' ) OR LV_HEX EQ '3142' OR LV_HEX EQ '3143'.
    LV_OUTPUT = 'ㅂ'.
  ELSEIF LV_HEX EQ '3144'.
    LV_OUTPUT = 'ㅄ'.
  ELSEIF ( 'C0AC' <= LV_HEX AND LV_HEX <= 'C543' ) OR LV_HEX EQ '3145' OR LV_HEX EQ '3146'.
    LV_OUTPUT = 'ㅅ'.
  ELSEIF ( 'C544' <= LV_HEX AND LV_HEX <= 'C78F' ) OR LV_HEX EQ '3147'.
    LV_OUTPUT = 'ㅇ'.
  ELSEIF ( 'C790' <= LV_HEX AND LV_HEX <= 'CC27' ) OR LV_HEX EQ '3148' OR LV_HEX EQ '3149'.
    LV_OUTPUT = 'ㅈ'.
  ELSEIF ( 'CC28' <= LV_HEX AND LV_HEX <= 'CE73' ) OR LV_HEX EQ '314A'.
    LV_OUTPUT = 'ㅊ'.
  ELSEIF ( 'CE74' <= LV_HEX AND LV_HEX <= 'D0BF' ) OR LV_HEX EQ '314B'.
    LV_OUTPUT = 'ㅋ'.
  ELSEIF ( 'D0C0' <= LV_HEX AND LV_HEX <= 'D30B' ) OR LV_HEX EQ '314C'.
    LV_OUTPUT = 'ㅌ'.
  ELSEIF ( 'D30C' <= LV_HEX AND LV_HEX <= 'D557' ) OR LV_HEX EQ '314D'.
    LV_OUTPUT = 'ㅍ'.
  ELSEIF ( 'D558' <= LV_HEX AND LV_HEX <= 'D7A3' ) OR LV_HEX EQ '314E'.
    LV_OUTPUT = 'ㅎ'.
  ENDIF.
ENDIF.

*&---------------------------------------------------------------------*
*& 결과 출력.
*&---------------------------------------------------------------------*
IF LV_OUTPUT IS INITIAL.
  WRITE : LV_INPUT, '은 자음이 들어간 단어가 아니네요'.
ELSE.
  WRITE : LV_OUTPUT, '로 시작합니다. HEX =', LV_HEX.
ENDIF.

번호 제목 글쓴이 날짜 조회 수
187 [For Power User]Dynamic Casting Symbol Variable [3] 양키 2011.01.19 5755
186 <img src=d.gif>[For Power User] Dynamic Creation of Data Objects[추천:e-abap] [3] 양키 2011.01.20 5005
185 [For Power User] Dynamic Transient Program [3] file 양키 2011.01.21 6016
184 <img src=d.gif>Source Activation 시 [READ_REPORT_LINE_TOO_LONG] dump 발생하면?[추천:e-abap] [5] JYG 2011.02.11 9423
183 IE 9.0 설치 시 se80 다운되는 문제 해결 [5] Jey 2011.03.16 6996
182 BAPI자료입니다. [14] file neopaper 2011.03.23 10292
181 표준편차구하는 로직 윤사모 2011.03.23 9369
180 Batch JOB이 수행중인지 여부체크 [5] deepbluesea 2011.04.05 11399
179 간단한 계산공식은 Macro를 사용하자 [5] 양키 2011.04.14 9536
178 where 조건을 상황에따라 바꿔볼까? [8] 양키 2011.04.14 8739
177 SAP Notes Viewer for iPad/iPhone [4] D.Y.Kim 2011.04.21 6221
176 Automated Note Search & Customer Code Detection 소주와 막걸리 2011.04.27 6352
175 [Tip] Explorer 8.0 & SAP GUI 7.2 fancky 2011.05.19 6603
» 한글 자음 분석해보기. [5] file 공백 2011.05.19 7257
173 시분초를 가져오는 구문 [8] 양키 2011.05.26 8552
172 Area 메뉴 일괄 다운로드 하기 [5] file 고담 2011.06.15 8274
171 Word Wrab 기능을사용해보자. [2] file 양키 2011.07.19 5597
170 Do Varying 간단한 예제 및 설명입니다^^ [6] file JJB 2011.08.30 6088
169 Mac Notebook을 쓰는 사람들을 위한 조그만 팁. [2] Bigbrother 2011.09.21 5037
168 ▲123,456' 으로 표시하게 한다 [3] 꿀단지 2011.10.11 5695