FunctionRFC 1 Function Group 2 Function Group Function

  • Slides: 14
Download presentation
***** Function(RFC) 작성 방법 ***** 1. Function Group을 만든다.

***** Function(RFC) 작성 방법 ***** 1. Function Group을 만든다.

2. 생성된 Function Group에 Function Module을 만든다.

2. 생성된 Function Group에 Function Module을 만든다.

3. Function Module 작성 3. 1 Attributes 탭 작성 * Nomal Function Module 선택

3. Function Module 작성 3. 1 Attributes 탭 작성 * Nomal Function Module 선택 : local에서만 사용 가능 * Remote-Enabled Module 선택 : 다른 SAP서버/이기종 서버와의 인터페이스 가능(RFC)

3. Function Module 작성 3. 6 Source code 탭 작성 : 설정된 파라메터들을 이용해

3. Function Module 작성 3. 6 Source code 탭 작성 : 설정된 파라메터들을 이용해 프로그래밍을 한다. FUNCTION ZTEST_FUNCTION_MODULE_01. *"-----------------------------------*"*"Local Interface: *" IMPORTING *" VALUE(INPUT 1) TYPE I OPTIONAL *" VALUE(INPUT 2) TYPE I OPTIONAL *" VALUE(STATUS) TYPE ZZSTATUS_KJL OPTIONAL *" VALUE(CARRID) TYPE ZFLIGHT_KJL-CARRID OPTIONAL *" EXPORTING *" REFERENCE(OUTPUT) TYPE P *" REFERENCE(OUTVALUE) TYPE CHAR 10 *" TABLES *" ITAB STRUCTURE ZFLIGHT_KJL OPTIONAL *" EXCEPTIONS *" NOTFOUND *" OTHERS *"-----------------------------------OUTPUT = INPUT 1 * INPUT 2. IF STATUS = '1'. OUTVALUE = 'ING'. ELSEIF STATUS = '2'. OUTVALUE = 'COMP'. ENDIF. SELECT * FROM SFLIGHT INTO CORRESPONDING FIELDS OF TABLE ITAB WHERE CARRID = CARRID. IF SY-SUBRC <> 0. RAISE NOTFOUND. ENDIF. ENDFUNCTION. “Exception 발생

4. Program에서 작성된 Function Module을 사용하는 예제. *&---------------------------* *& *& Report ZTEST_FUNCTION_MODULE_01 *& *&

4. Program에서 작성된 Function Module을 사용하는 예제. *&---------------------------* *& *& Report ZTEST_FUNCTION_MODULE_01 *& *& < FUNCTION MODULE을 이용하는 프로그램 만들기 예 > *& - Function Module을 불러올때는 Pattern 버튼을 클릭하여 불러옴. *& - Function Module에 있는 변수의 갯수와 타입을 받드니 맞춰서 *& 넘겨주고 받아야함. *& *&---------------------------* REPORT ztest_function_module_01. DATA: g_output TYPE p, g_outvalue(10) TYPE c. DATA: it_flight TYPE TABLE OF zflight_kjl, wa_flight TYPE zflight_kjl. PARAMETERS: p_input 1 TYPE i, p_input 2 TYPE i, p_status LIKE zflight_kjl-status, p_carrid LIKE zflight_kjl-carrid. IF sy-subrc = 1. MESSAGE i 888(sabapdocu) WITH 'NOTHING'. ELSEIF sy-subrc = 2. MESSAGE i 888(sabapdocu) WITH 'OTHERS ERROR!'. ENDIF. WRITE: / p_input 1, ' * ' , p_input 2, ' = ', g_output, : / 'STATUS : ', p_status, '(', g_outvalue, ')'. DESCRIBE TABLE it_flight LINES sy-tfill. “자세한 내용은 <참고>에… SKIP. IF sy-tfill <> 0. LOOP AT it_flight INTO wa_flight. WRITE: / wa_flight-carrid, 10 wa_flight-connid, 20 wa_flight-fldate, 30 wa_flight-price, 50 wa_flight-seatsmax, 60 wa_flight-seatsocc. ENDLOOP. ENDIF. START-OF-SELECTION. * Function의 call은 pattern 버튼을 클릭…. CALL FUNCTION 'ZTEST_FUNCTION_MODULE_01' EXPORTING input 1 = p_input 1 input 2 = p_input 2 status = p_status carrid = p_carrid IMPORTING output = g_output outvalue = g_outvalue TABLES itab = it_flight EXCEPTIONS notfound = 1 others = 2. * IF IT_FLIGHT[] IS INITIAL. * ENDIF. “자세한 내용은 <참고>에… ****************************** * <참고> SELECT의 결과가 있는지 없는지 확인하는 방법 ****************************** * * 1. DESCRIBE TABLE 오브젝트 LINES 정수형변수 * - 인터널테이블의 라인수를 구하는 방법으로 sy-tfill의 값이 * 0보다 큰지 IF문으로 비교해보면 알 수 있다. * 2. IF IT_FLIGHT[] IS INITIAL. * ENDIF. * - 오브젝트가 INITIAL상태인지 검사해본다. * ******************************

 • Dynamic Internal Table Subramanian Venkateswaran Company: L&T Infotech Nov. 19, 2004 11:

• Dynamic Internal Table Subramanian Venkateswaran Company: L&T Infotech Nov. 19, 2004 11: 45 PM Permalink On searching the ABAP forums, I did find many queries (in fact, there were a few queries last week as well) to create a dynamic internal table. I have identified a couple of scenarios and methods by which we can create a dynamic internal table. Tools Required Knowledge on data references, field-symbols is an added advantage, as they are extensively used in all the approaches. Create a Dynamic Internal Table Scenario 1 ------------------Assuming, in an internal table, you have entries of field names, which should be present as columns of a dynamic internal table. For e. g. we have an internal table, LT_INTERNALTABLE. Entries in LT_INTERNALTABLE are: FIELDNAME MANDT CARRID CONNID FLDATE PRICE CURRENCY To be converted to MANDT CARRID CONNID FLDATE PRICE CURRENCY 100 LH 0400 28. 02. 1995 899 DEM 100 LH 0454 17. 11. 1995 1499 DEM Data Definition *** Tables DATA: LT_DATA type ref to DATA: LT_FIELDCATALOG type LVC_T_FCAT. *** Structure DATA: LS_FIELDCATALOG type LVC_S_FCAT. *** Data References DATA: NEW_LINE type ref to data. *** Field Symbols FIELD-SYMBOLS: <FS_DATA> type ref to DATA, <FS_1> type any table, <FS_2>,