0v0__DEV

[Chapt02.Data Type] 구조체의 산술 계산 (Obsolete syntax 쓸데없음) 본문

SAP BASIC/EASY ABAP

[Chapt02.Data Type] 구조체의 산술 계산 (Obsolete syntax 쓸데없음)

0v0_삐약 2024. 7. 25. 22:49
728x90
구조체 간의 연산 

ADD-CORRESPONDING

SUBTRACT-CORRESPONDING

MULTIPLY-CORRESPONDING

DIVIDE-CORRESPONDING 

 

EASY ABAP에 나온 예제

gs_result-kim = gs_rate-kim(0.8) X gs_result-kim(95) = 76

gs_result-lee = gs_rate-lee(1) X gs_result-lee(70) = 70

 

연습, 응용 

 

  •  당연하겠지만 필드명이 같아야만 연산이 가능

gs_rate에는 kim, lee가 없고 park만 있기 때문에, 연산 대상 필드가 존재하지 않아 그대로 95,70이 출력됨

 

 

  • 주의 

위 구문들은 '연산' 이 목적이기 때문에 구조체를 구성하는 필드는 모두 계산이 가능한 숫자 필드여야 함 

char 등 연산 불가능한 타입으로 이루어져있을 경우, 런타임 에러 발생 


 

1. ADD 

 

2. SUBTRACT 

 

type이 i일 경우, 작은수 - 큰수 > 음수 결과 정상 출력

type 이 i, n 섞여있을 때, 결과 값 오류 

 

 


 

ABAP DICTIONARY에서 찾아보면, 해당 구문은 더이상 사용하지 않는 구문이라고 함 

왜? 

위에서 본 것 처럼,

두 구조가 동일한 한 쌍의 필드명을 가지고 있어야 하며,

연산에 필요한 데이터 유형과 내용을 가지고 있어야 하는데! 이를 확인하기 쉽지 않음  

따라서 오류가 빈번히 발생하기 때문! 인거같음 

 

끝! 

728x90