SAP - ABAP(18)
-
[SAP/ABAP] 기준일자에 대해 일,월,년 이전 또는 이후 날짜 계산하기
기준일자에 대해 날짜 계산하기(일, 월, 년 (+, -))* 함수 CALL FUNCTION 'RP_CALC_DATE_IN_INTERVAL' EXPORTING date = days = ' months = years = signum = IMPORTING calc_date = lv_fdate.* 예시1 : 현재 일자의 전월 1일 날짜 구하기→ 오늘 날짜가 2019년 9월 10일 경우, 결과물이 2019년 8월 1일이 나와야 함DATA : lv_date LIKE sy-datum.CONCATENATE sy-datum(6) '01' INTO lv_date " 20190910 중 앞 6자리를 자른 뒤 01을 붙여줌 = 20190901 CALL FUNCTION 'RP_CALC_DATE_IN_INTERVAL..
2025.05.02 -
[SAP/ABAP] 통화값 변환 Function(Currency)
SAP에는 대부분 금액 필들이 통화값이 적용되어 저장되어야 한다.총 2가지의 Function이 있다 CALL FUNCTION 'CURRENCY_AMOUNT_SAP_TO_IDOC' EXPORTING CURRENCY = p_curr SAP_AMOUNT = p_sap IMPORTING IDOC_AMOUNTt = p_idoc. CALL FUNCTION 'CURRENCY_AMOUNT_IDOC_TO_SAP' EXPORTING CURRENCY = p_curr IDOC_AMOUNT = p_idoc IMPORTING SAP_AMOUNT = p_sap.아래 예시를 보고 필요한 상황에 맞춰 Function을 사용하면 된다.1 KRW = 100원입니다.[예시1]아래와 같이 설정하면 1000 이 출력된다. CALL FU..
2025.05.01 -
[SAP/ABAP] 문자열에 0 채우기, 0 제거 함수 (CONVERSION_EXIT_ALPHA_OUTPUT / INPUT)
실제 DB 상에는 앞에 0이 붙어 저장되지만 ALV 상에 출력될 때 0을 제거하고 보여줘야하는 경우또는 화면에서 숫자만 입력받은 뒤 저장할 땐 0을 채워서 저장해야하는 경우 유용하게 사용하는 Function에 대해 정리해본다0 제거, 0 없애기 CALL FUNCTION 'CONVERSION_EXIT_ALPHA_OUTPUT' EXPORTING INPUT = p_value IMPORTING OUTPUT = p_value. 0 채우기 CALL FUNCTION 'CONVERSION_EXIT_ALPHA_INPUT' EXPORTING INPUT = p_value IMPORTING OUTPUT = p_value.
2025.04.30 -
[SAP/ABAP] 'READ_REPORT_LINE_TOO_LONG' Dump 발생 시 대처 방법
평소에 사용하는 ALV양식을 그대로 가져와서 사용하는데 ALV 그리드를 만드는 과정에서 자꾸 덤프가 발생하는 일이ㅠㅠ원인을 몰라서 구글링을 해보니 스크립트가 72자리가 넘어가도록개발한 부분이 있으면 나는 오류한다.그런데 개발한 구문이 몇 천줄이 되는데 어떻게 찾지..? 어디에서 잘못된건지 한 눈에 찾을 수 있는 방법이 있다. 1. 유틸리티 > 세팅을 클릭한다. 2. ABAP 편집기 > 편집기 탭 > Downwards-Comp. Line Length(72) 체크한다. 3. 프로그램 편집을 실행하면 72자리에 대한 경계선이 쫙!!!!!72자리가 넘은 경우는 아래 줄로 자동정렬된다.read_report_line_too_long cx_sy_read_src_line_too_long
2025.04.29 -
[SAP/ABAP] Local 변수 대신 Statics 사용하기 - Binary Search 퍼포먼스 높이는 방법
PERFORM문 안에 들어가면 그 안에서는 지역변수가 선언이 되지만Statics의 경우는 FORM 문 안에서 지역변수 임에도 정적으로 선언이 된다. 그리고 Local 영역에서 한 번 선언한 Statics 변수는 로컬에서 다음 참조 시 재정의되지않는다.또한 이전 지정된 값을 보존하기 때문에 Binary search 보다 퍼포먼스 측면에서 더욱 낫다고 한다. [예시 1]TEST_A는 지역변수, TEST_B는 Statics로 변수를 선언해주었다. DO 5 TIMES. PERFORM TEST_CASE.ENDDO.FORM TEST_CASE. DATA TEST_A TYPE I VALUE 1. STATICS TEST_B TYPE I VALUE 1. TEST_A = TEST_A + 1. TEST_B = TEST_..
2025.04.27 -
[SAP] TIMESTAMP 한국 시간으로 변경(RKE_TIMESTAMP_CONVERT_OUTPUT)
SD 모듈을 운영할때는 웬만한 필드들이 다 시, 분, 초로 환산되어서 나왔었는데CO 모듈을 운영하려다보니 TIMESTAMP 형식으로 시간이 제공되는 경우가 꽤나 많았다. 그래서 알게된 TIMESTAMP를 시간으로 변환하는 FunctionRKE_TIMESTAMP_CONVER_OUTPUT I_DAYST = '1'I_TIMESTMP : 타임스탬프 값 입력I_TZONE : 28800 으로 입력하면 한국 시간으로 제공되었다.
2025.04.24