본문 바로가기

ABAP/Function|Class29

[Class] CL_SEC_SXML_WRITER - AES256 암호화/복호화 CL_SEC_SXML_WRITER AES256 암호화/복호화 알고리즘별로 KEY 길이를 잘 맞추어야 합니다. AES128 : Block size = 16 AES192 : Block size = 24 AES256 : Block size = 32 # 사용예시 PARAMETERS: P_PLAIN TYPE STRING OBLIGATORY, P_KEY TYPE STRING OBLIGATORY, P_IV TYPE STRING OBLIGATORY. INITIALIZATION. %_P_PLAIN_%_APP_%-TEXT = '평문'. %_P_KEY_%_APP_%-TEXT = 'Secret Key'. %_P_IV_%_APP_%-TEXT = 'Initialization Vector'. START-OF-SELECTION. ".. 2023. 11. 30.
[Class] BASE64 ENCODE/DECODE CL_HTTP_UTILITY=>ENCODE_X_BASE64 CL_HTTP_UTILITY=>DECODE_X_BASE64 #사용 예시 "한글의 경우 UTF8 Encoding 후에 Base64 Encoding 처리 "Base64 Encoding DATA(LV_BASE64_ENCODED) = CL_HTTP_UTILITY=>ENCODE_X_BASE64( CL_HTTP_UTILITY=>ENCODE_UTF8( '문자열11234$$1ggg' ) ). WRITE:/ LV_BASE64_ENCODED. "Base64 Decoding WRITE:/ CL_HTTP_UTILITY=>DECODE_UTF8( CL_HTTP_UTILITY=>DECODE_X_BASE64( LV_BASE64_ENCODED ) ). 2023. 11. 30.
[Function] BASE64 ENCODE/DECODE SCMS_BASE64_ENCODE_STR SCMS_BASE64_DECODE_STR # 사용예시 DATA: LV_XSTRING TYPE XSTRING, LV_STRING TYPE STRING. "string to xstring LV_XSTRING = CL_BCS_CONVERT=>STRING_TO_XSTRING( '문자열' ). CALL FUNCTION 'SCMS_BASE64_ENCODE_STR' EXPORTING INPUT = LV_XSTRING IMPORTING OUTPUT = LV_STRING . WRITE:/ LV_STRING. CALL FUNCTION 'SCMS_BASE64_DECODE_STR' exporting INPUT = LV_STRING * UNESCAPE = 'X' importing OUT.. 2023. 11. 30.
[Class] CL_ABAP_CORRESPONDING - Dynamic Corresponding CL_ABAP_CORRESPONDING Dynamic Corresponding Create Method의 Mapping 파라미터를 이용하여 Source > Destination으로 Corresponding시 서로 다른 필드끼리 값을 복사 할 수 있습니다. {Destination} = CORRESPONDING #( {Source} MAPPING col1 = col2 } ) 와 유사하며, MAPPING 규칙을 좀더 세부적으로 제어할 수 있다고 생각하면 됩니다. 아래 내용은 ABAP 7.50 버전 기준의 사용 방법입니다. https://help.sap.com/doc/abapdocu_750_index_htm/7.50/en-US/index.htm?file=abencl_abap_corresponding.htm CL.. 2023. 10. 30.
[Function] BAPI_MESSAGE_GETDETAIL - 다른 언어로 메시지 출력 BAPI_MESSAGE_GETDETAIL 메시지 상세정보(다른 언어로 메시지 출력) 인터페이스 개발시 외부시스템에서 SAP 접속시 대부분 영어(EN)로 사용하게 됩니다. 이 경우 Message 출력시 현재 로그인 언어를 기준으로 표시되다 보니 한국어 사용자에게도 무조건 영어 메시지가 표시되게 됩니다. 이럴 경우 BAPI_MESSAGE_GETDETAIL을 이용하여 다른 언어(예: 한국어)로 메시지를 변환할 수 있습니다. 참고로, Text Element는 SET LANGUAGE 를 이용하면 됩니다. # 사용예시 FORM MESSAGE_TO_KOREAN USING P_MSGID P_MSGNO P_MSGV1 P_MSGV2 P_MSGV3 P_MSGV4 CHANGING P_MESSAGE. DATA: ID LIKE .. 2023. 9. 19.
[SearchHelp] 손익센터 그룹 탐색도움말 손익센터 그룹 탐색도움말 K_GROUP_SELECT # 소스코드 예시 AT SELECTION-SCREEN ON VALUE-REQUEST FOR S_GRPNM-LOW. PERFORM F4_PRCTR_GROUP CHANGING S_GRPNM-LOW. AT SELECTION-SCREEN ON VALUE-REQUEST FOR S_GRPNM-HIGH. PERFORM F4_PRCTR_GROUP CHANGING S_GRPNM-HIGH. FORM F4_PRCTR_GROUP CHANGING P_VALUE. DATA: LT_DYNPFIELDS TYPE STANDARD TABLE OF DYNPREAD, LV_BUKRS TYPE TKA02-BUKRS, LV_KOKRS TYPE TKA02-KOKRS. DATA: LV_CLASS.. 2023. 9. 14.
[Class] CL_ABAP_MESSAGE_DIGEST=>CALCULATE_HASH_FOR_CHAR - 문자열 Hash CL_ABAP_MESSAGE_DIGEST=>CALCULATE_HASH_FOR_CHAR CALCULATE_HASH_FOR_CHAR 문자열을 MD5, SHA1, SHA256, SHA512 로 해싱 비밀번호의 해싱과 같이 여러 용도로 사용할 수 있습니다. HMAC 해싱의 경우 CL_ABAP_HMAC 클래스나 CALCULATE_HMAC_FOR_CHAR 펑션을 이용하면 됩니다. # 사용예시 PARAMETERS: P_TXT TYPE STRING LOWER CASE OBLIGATORY. DATA LV_STR TYPE STRING. START-OF-SELECTION. FORMAT COLOR COL_TOTAL INTENSIFIED OFF. WRITE:/ 'Original Text'. FORMAT COLOR COL_NOR.. 2023. 7. 24.