본문 바로가기

ABAP/Function|Class28

[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.
[Function] HOLIDAY_GET - 공휴일/공장 달력의 휴일 정보 HOLIDAY_GET 공휴일/공장 달력의 휴일 정보 T-Code : SCAL 에 설정한 공휴일 또는 공장달력의 휴일정보를 가져오는 Function입니다. Working day 기준으로 무언가를 할때 사용 할 수 있습니다. 공휴일과 공장달력 별 근무일은 SCAL에서 설정할 수 있으며 공장달력은 플랜트, 영업조직등에 조직별로 설정하여 사용할 수 있습니다 # 사용예시 PARAMETERS : P_VKORG TYPE TVKO-VKORG OBLIGATORY. SELECT-OPTIONS: S_DATE FOR SY-DATUM NO-EXTENSION OBLIGATORY. INITIALIZATION. S_DATE-LOW = |{ SY-DATUM(6) }01|. CALL FUNCTION 'RP_LAST_DAY_OF_MONT.. 2023. 7. 24.