메뉴 건너뛰기

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.

번호 제목 글쓴이 날짜 조회 수
387 문자열에 있는 값이 숫자만으로 되어있는지 문자가 포함됐는지 체크하는 함수 [3] 꿀단지 2011.10.11 19881
386 CALL FUNCTION 'STRING_REPLACE' [1] 꿀단지 2011.10.11 5526
385 SAP 오피스의 메일박스에 메일 전송하는 함수 꿀단지 2011.10.11 5760
384 업로드할 엑셀 파일을 TXT 파일(탭으로 분리된)로 내리지 않고 엑셀파일로 꿀단지 2011.10.11 6373
383 ALV 색상 번호와 사용 목적 꿀단지 2011.10.11 4960
382 CS_BOM [1] 꿀단지 2011.10.11 5571
381 바피사용이유 [18] 꿀단지 2011.10.11 8372
380 ▲123,456' 으로 표시하게 한다 [3] 꿀단지 2011.10.11 5695
379 Mac Notebook을 쓰는 사람들을 위한 조그만 팁. [2] Bigbrother 2011.09.21 5037
378 Do Varying 간단한 예제 및 설명입니다^^ [6] file JJB 2011.08.30 6083
377 Word Wrab 기능을사용해보자. [2] file 양키 2011.07.19 5597
376 Area 메뉴 일괄 다운로드 하기 [5] file 고담 2011.06.15 8274
375 시분초를 가져오는 구문 [8] 양키 2011.05.26 8545
» 한글 자음 분석해보기. [5] file 공백 2011.05.19 7257
373 [Tip] Explorer 8.0 & SAP GUI 7.2 fancky 2011.05.19 6603
372 Automated Note Search & Customer Code Detection 소주와 막걸리 2011.04.27 6352
371 SAP Notes Viewer for iPad/iPhone [4] D.Y.Kim 2011.04.21 6219
370 where 조건을 상황에따라 바꿔볼까? [8] 양키 2011.04.14 8738
369 간단한 계산공식은 Macro를 사용하자 [5] 양키 2011.04.14 9528
368 Batch JOB이 수행중인지 여부체크 [5] deepbluesea 2011.04.05 11392