[SAP] Cloud Application Studio의 ReuseFunction 1
본문 바로가기
IT/SAP C4 HANA

[SAP] Cloud Application Studio의 ReuseFunction 1

by DHan- 2020. 1. 3.
728x90

반복적으로 로직을 사용해야하는 경우 재사용 라이브러리를 통해 관리할 수 있습니다.

 

예제 [  Data type : DecimalValue의 값을 매개변수로  [ , ]를 표시하는 로직을 담은 라이브러리 생성 ] 

 

Import 값과 Return값의 type을 입력하여 Reuse Function을 생성합니다.


 

Reuse Function 내부 로직


 
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
import ABSL;
 
var result           : DataType::LANGUAGEINDEPENDENT_MEDIUM_Description;
var Save_Number : DataType::LANGUAGEINDEPENDENT_MEDIUM_Description;   
var Number           : DecimalValue;   
 
if ( !Source.IsInitial())
{
    Number = Source;
 
    var Number_New_Num = Number.ToString();                // DecimalValue을 문자열로 변경
   var Number_Length  = Number.ToString().Find(".");    // DecimalValue의 소수점까지의 Length를 획득
   var New_Num         = Number_New_Num.Substring(0, Number_Length); 
 
   var Num_Length        = New_Num.Length();  // 변경한 문자열의 자릿수를 획득
   var Num_Share       = Num_Length % 3 ;   // 획득한 자리수를 3으로 나누기(나머지)
    var Num_Remainder  = Num_Length / 3 ;   // 획득한 자리수를 3으로 나누기(몫)
 
    var RemainderA     = Num_Remainder.ToString();            // 몫을 문자열로 변경
    var RemainderB     = RemainderA.Substring(0,1);           // 몫의 소수점까지의 Length를 획득
   var Remainder       = Numeric.ParseFromString(RemainderB); // 몫이 소수점일경우 앞자리만 사용
 
    if ( Num_Share == 0 )
    {
        Num_Share = 3 ; 
        Remainder = Remainder - 1 ;     
    }
    
    var    Sum_Number          = New_Num.Substring(0, Num_Share);    // 획득한 나머지값으로 앞부분을 획득
    
    while ( Remainder > 0 )
        {
            Sum_Number    = Sum_Number + ",";
            var Num_Sum   = New_Num.Substring(Num_Share, 3);  
            Save_Number   = Sum_Number + Num_Sum;
 
            Sum_Number.Clear();
            Sum_Number    = Save_Number; 
 
            Remainder     = Remainder - 1;
            Num_Share      = Num_Share + 3;
        }
 
result = Save_Number;
 
return result;
 
}

 

Reuse Function의 사용


위와 같이 [var 변수명 = 재사용라이브러리위치.재사용라이브러리명칭(매개변수)]를 입력하여 사용합니다.

 

728x90

댓글