질문을 올리신 분이 있어서 ...
참조하시라고 올립니다. 완전히 원하는 바가 나오진 않겠지만, 소스를 곰곰히 보고 있으면 이해 되실 겁니다.
[IMPORT]
I_STR TYPE C
I_LEN TYPE I
[EXPORT]
O_STR TYPE STRING
[SOURCE]
FUNCTION Z_GET_LONG_TEXT.
*"----------------------------------------------------------------------
*"*"Local interface:
*" IMPORTING
*" VALUE(I_STR) TYPE C
*" VALUE(I_LEN) TYPE I
*" EXPORTING
*" REFERENCE(O_STR) TYPE STRING
*"----------------------------------------------------------------------
*-----------------------------------------------------------------------
* Data Declaration
*-----------------------------------------------------------------------
DATA: sta TYPE i, " HEXA location
flg. " current 2Byte Pair status
FIELD-SYMBOLS: <str>, " Hexa Value of input String
<xstr> TYPE x. " Hexa value of 1byte Charater
*-----------------------------------------------------------------------
* Main Procedure of Function
*-----------------------------------------------------------------------
DATA: o_len TYPE i.
CLEAR : o_str, o_len.
*--- if Input String doesn't exist, return
o_len = STRLEN( i_str ).
IF o_len = 0.
EXIT.
ENDIF.
*- if Input length is greater than total length, check input length
* if Input length is smaller than total length, check total length
IF o_len > i_len.
o_len = i_len.
ENDIF.
*--- Begin of correction
ASSIGN i_str TO <str> TYPE 'X'.
CLEAR: sta, flg.
DO o_len TIMES.
sta = sy-index - 1.
ASSIGN <str>+sta(1) TO <xstr>.
IF <xstr> >= '80'. " 2Byte Character
IF flg = space.
flg = 'X'. " 1st Byte of TWO
ELSE.
flg = space. " 2nd Byte of TWO : Normal Case
ENDIF.
ENDIF.
ENDDO.
*- if valid character is incompletede 2Byte,cut from pre-character
IF flg = 'X'. " IF Last character was cut abnormally
o_len = o_len - 1.
ENDIF.
o_str = i_str(o_len). "Return Value
* APPEND o_str. CLEAR o_str.
SHIFT i_str BY o_len PLACES.
* ENDDO.
ENDFUNCTION.
번호 | 제목 | 글쓴이 | 날짜 | 조회 수 |
---|---|---|---|---|
984 | SAP SCRIPT를 PDF로 다이렉트로 저장시키는 로직. [8] | 쿵푸ㅋ | 2009.05.25 | 4181 |
983 |
bdc레코딩및예제
[31] ![]() | BC고 | 2009.05.14 | 5722 |
982 |
SAP_Organizational_structure
[11] ![]() | BC고 | 2009.05.14 | 3207 |
981 |
ABAP 족보
[15] ![]() | 나무 | 2009.05.08 | 3763 |
980 |
ABAP 교육자료
[21] ![]() | 나무 | 2009.05.08 | 5093 |
979 |
Customizing Guide
[3] ![]() | 나무 | 2009.05.08 | 3592 |
978 |
abap 소스
[5] ![]() | 나무 | 2009.05.08 | 3357 |
977 |
1부 효율적인 코딩기법
[7] ![]() | 나무 | 2009.05.08 | 3341 |
976 |
sap 영한 단어집
[19] ![]() | 서키트 | 2009.05.01 | 3251 |
975 |
sap_flex 영문자료
[4] ![]() | 서키트 | 2009.05.01 | 3592 |
» | 2 byte 글자 자르기 관련 [1] | 정군 | 2009.04.30 | 6444 |
973 |
FV60 BADI screen
[12] ![]() | 정군 | 2009.04.30 | 3612 |
972 |
abap 교육자료입니다.(3)
[10] ![]() | graceKim | 2009.04.29 | 3506 |
971 |
abap 교육자료입니다.(2)
[8] ![]() | graceKim | 2009.04.29 | 3963 |
970 |
abap 교육자료입니다.(1)
[18] ![]() | graceKim | 2009.04.29 | 3356 |
969 | 가변 itab 관련 [8] | 정군 | 2009.04.23 | 62790 |
968 |
abap bc dictionary
[10] ![]() | 우째 .. | 2009.04.16 | 3595 |
967 |
문서조회예제 프로그램 - 워드/파워포인트/엑셀 등
[13] ![]() | 우째 .. | 2009.04.16 | 3519 |
966 | function에 참조 타입 선언 안하기 [3] | 정군 | 2009.04.16 | 3402 |
965 |
open SQL에서 Where 절의 IN 관련
[6] ![]() | 정군 | 2009.04.15 | 3547 |
좋은자료 감사합니다. 펑션화되있어, 오라클쪽에 자료 쏠때 유용하겠네요.