본문 바로가기
ABAP

RFC 1

by clode 2023. 2. 14.
728x90
반응형

RFC는 REMOTE FUCNTION CALL의 약자로 다른 SAP Application Server 또는 SAP 이외의 시스템과 통신할 수 있도록 해준다. 인터페이스 시스템.

과제

[Dictionary]

구조를 만들어주자.

테이블 유형도 만들어주자.

[Fucntion builder]

유형을 RFC 타입으로 만든다.

[Import]

참조매개변수를 사용하려면 Pass by value를 체크해줘야한다. 체크를 안하면 값 매개변수만 사용할 수 있다. 선택은 필수값 해제해주는거다.

[Export]

[Tables]

[Source Code]

FUNCTION zs1dfm11_03.

"입력했을 때,비어있지않다면, 즉 값이 있다면
IF i_tknum IS NOT INITIAL. 
    SELECT * FROM vttk AS a INNER JOIN vttp AS b
    ON a~tknum = b~tknum
    INTO CORRESPONDING FIELDS OF TABLE tab1
    WHERE a~tknum = i_tknum
      AND a~erdat BETWEEN '20200501' AND '20200630'.

"값이 있는데 그 값이 없는 값이라면
      IF SY-SUBRC NE 0.
            SELECT * FROM vttk AS a INNER JOIN vttp AS b
    ON a~tknum = b~tknum
    INTO CORRESPONDING FIELDS OF TABLE tab1
    UP TO 100 ROWS
    WHERE a~erdat BETWEEN '20200501' AND '20200630'.
      ENDIF.

"아무것도 입력하지 않았을 때, 비어있다면, 즉 값이 없다면
   ELSE.
    SELECT * FROM vttk AS a INNER JOIN vttp AS b
    ON a~tknum = b~tknum
    INTO CORRESPONDING FIELDS OF TABLE tab1
    UP TO 100 ROWS
    WHERE a~erdat BETWEEN '20200501' AND '20200630'.

ENDIF.


  "MESSAGE
  IF SY-SUBRC = 0.
    P_BAPI-TYPE = 'S'.
    P_BAPI-MESSAGE = '성공'.
   ELSE.
    P_BAPI-TYPE = 'E'.
    P_BAPI-MESSAGE = '에러'.
  ENDIF.


ENDFUNCTION.

있는 값을 입력했을 때 해당하는 데이터를 가져온다.

없는 값을 입력했을 때 100개의 데이터를 가져온다.

아무것도 입력하지 않았을 때 100개의 데이터를 가져온다.

728x90
반응형

'ABAP' 카테고리의 다른 글

RFC 3  (0) 2023.02.14
RFC 2  (0) 2023.02.14
Tabstrip  (0) 2023.02.14
Table control  (0) 2023.02.14
Module-pool 6 (Subscreen, table control)  (0) 2023.02.14

댓글