메뉴 건너뛰기

SAP 한국 커뮤니티



ABAP [Function] 기본정보 정리표

문바이 2011.09.20 16:10 조회 수 : 22873 추천:13

오랫만에 글을 쓰는데 쓸때마다 느끼는 거지만

정말로 이 편집기로 글을 쓴다는것은 많은 인내심을 요함니당. ㅜㅜ.

아래의 내용은 Function에 대해서 어느정도 사용해 본 후 읽어보면 도움이 됩니다.

물론 저같은 초보자 분들도 도움이 되시길 기대합니다.

반응이 좋으면 다음에 ABAP Dic을 정리해 보도록 하겠습니다.

 

Function 

Function을 만들기전 사전배경지식

Function 만들기 / Function은 기본적으로 Global 속성을 가지고 있다        
일반 프로그램이 속해있는 그룹과 펑션이 동작하게될 Function Group은 별도의 독립된 공간이다        
따라서 서브루틴처럼 call by reference로 데이터를 넘기는 것을 기본으로 하지앉으며

                                      call by value를 기본으로 동작하게 되어있다.        
엄밀히 말하면 불가능하므로 change[탭]을 이용하여 call by value and result를 이용하면 된다.        
단 예외사항이 있으니 바로 table[탭]이 되겠다. ( 전버전과의 호환을 위해서 사용하나 구형방식임. 그러나 쓰기는 편한다)        
ABAP의 OOP를 추구하면서 (With Header Line)을 쓰지 않는것을 원칙으로 하고 있기 때문이다.        

Function

구성내역
(저장

공간구분)

ZFM

(펑션명)

LZFMTOP(자동생성)

Function Group내에서 사용될 Global변수 선언

LZFMI01(화면생성후 PAI에 의해 생성)

Screen 추가 후 PAI를 더블클릭하면 만들수 있다

LZFMO01(화면생성후 PBO에 의해 생성)

Screen 추가 후 PBO를 더블클릭하면 만들수 있다

LZFMUXX(자동생성_작동작성)

Function Group내에서 Function Module 작성시 코드를 집합함

      LZFMU01(자동생성)

Function Module작성하면 해당 코드가 저장될 부분으로 자동지정된다

      LZFMU02(자동생성)

순서대로 자동채번됨.

      ...............

순서대로 자동채번됨.

      LZFMU99(자동생성)

순서대로 자동채번됨.

 

 Function Module 구성표

Tab명칭

Frame명칭

항목명

상세항목명

설명

Attributes

Classification

Function Group

Function Module이 속해있는 그룹을 알려준다.

Short Text

Function Module의 설명을 넣는다.

Processing

Type

Normal Function Moudle

일반적으로 SAP 내부에서 사용하는 모듈개발시 선택한다

Remote-Enabled Moudle

RFC 구성시 선택한다

Update Module

(Bunding

기술선택)

즉시시작

Database 갱신용으로 사용시 설정한다.

Immediate Start, No Restart

Subroutine의 경우 on commit 으로 할수 있으나 Function은 해당

 

사항이 없으므로 이설정을 이용하여 bunding할 수 있도록한다

일괄실행

General Data

Last Changed By

최근 작성자

Changed On

최근 갱신일

개발클래스

소속 개발클래스

Program Name

프로그램명

Include Name

Include name (실제 Inculde된 저장공간을 말한다)

Original Language

언어

Not released

Edit Lock

최초작성시 체크하면 최초개발자 만이 수정할수 있다

Global

모듈내에서 선언된 변수들이 Group내 Global로 설정된다

 

Tab명칭/ 부연설명

항목명

상세항목명

설명

Import

Call by Value

 

itab의 설정방법

1)without header line만가능

2)ABAP Dic Table Type

   선언방식으로만 가능

매개변수이름

DATA : pt_itab TYPE ZQMT0010.  에서 변수명

Typing

설명

DATA : pt_itab TYPE ZQMT0010.  에서 TYPE부분

Type(권장방식임)

Data Type을 참조하여 선언할 때 사용한다

Like(구형방식임)

Data Object를 참조하여 선언할 때 사용한다

Type Ref To

Class를 선언할 때 사용한다

참조유형

DATA : pt_itab TYPE ZQMT0010.  에서  ZQMT0010에 해당한다

기본값

호출자가 값을 입력하지 않았을 경우 [이값이] 들어간다

선택(Optional)

선택을 체크하지 않으면 필수입력대상이다

Pass Value

선택을 체크하면 파라메터 값을 변경할 수 있다

단문

파라메터에 설명을 넣어준다.

Long Text

Export

Call by Value

 

itab의 설정방법

1)without header line만가능

2)ABAP Dic Table Type

   선언방식으로만 가능

매개변수이름

매개변수이름

Typing

Type(권장방식임)

Data Type을 참조하여 선언할 때 사용한다

Like(구형방식임)

Data Object를 참조하여 선언할 때 사용한다

Type Ref To

Class를 선언할 때 사용한다

참조유형

DATA : pt_itab TYPE ZQMT0010.  에서  ZQMT0010에 해당한다

Pass Value

선택을 체크하면 파라메터 값을 변경할 수 있다

단문

파라메터에 설명을 넣어준다.

Long Text

 

Changing

Call by Value and Result

 

itab의 설정방법

1)without header line만가능

2)ABAP Dic Table Type

   선언방식으로만 가능

매개변수이름

매개변수이름

Typing

Type(권장방식임)

Data Type을 참조하여 선언할 때 사용한다

Like(구형방식임)

Data Object를 참조하여 선언할 때 사용한다

Type Ref To

Class를 선언할 때 사용한다

참조유형

DATA : pt_itab TYPE ZQMT0010.  에서  ZQMT0010에 해당한다

기본값

호출자가 값을 입력하지 않았을 경우 [이값이] 들어간다

선택(Optional)

선택을 체크하지 않으면 필수입력대상이다

Pass Value

선택을 체크하면 파라메터 값을 변경할 수 있다

단문

파라메터에 설명을 넣어준다.

Long Text

Tables( 구형방식임 )

Call by Reference

 

itab의 설정방법

1)without header line만가능

2)ABAP Dic Table Type

   참조가능

   매우편리하여 버리기에

   아까운 기능임

매개변수이름

Typing

Type(권장방식임)

Data Type을 참조하여 선언할 때 사용한다

Like(구형방식임)

Data Object를 참조하여 선언할 때 사용한다

Type Ref To

Class를 선언할 때 사용한다

참조유형

DATA : pt_itab TYPE ZQMT0010.  에서  ZQMT0010에 해당한다

Pass Value

선택을 체크하면 파라메터 값을 변경할 수 있다

단문

파라메터에 설명을 넣어준다.

Long Text

 

Exception

Exception

Exception 기호를 지정해 준다. Ex) Excp_Num1

단문

Exception 기호에 대한 설명을 달아준다.

Long Text

Source Code

Exceptions

호출

 DATA : l_fun(30), l_exc(30), l_txt(80).                                                                        
    l_fun = 'ZTEST_SUM_1'.        "펑션명을 지정한다
    l_exc = 'NO_NUM_1'.           "Exception명을 지정한다
    **       text of the Exception   
    CALL FUNCTION 'SWO_TEXT_FUNCTION_EXCEPTION'     
    EXPORTING       
      language  = sy-langu       
      function  = l_fun       
      exception = l_exc     
    IMPORTING       
      shorttext = l_txt.                          "Exception에 대한 설명멘트를 가져온다.
  MESSAGE e398(00) with l_txt RAISING NO_NUM_1.   "RASING명령을 통해 Exception발생시킨다
   EXIT.                                         "프로그램을 종료한다.