ABAP/STUDY

[ABAP]SAP ODATA(2)

모늘 2023. 3. 13.
728x90

ODATA를 공부하면서 가장 엥 스러웠던 부분들이 CLASS 부분이였다.

사실 아직까지도 정확하게 파악을 못했지만 .. 진행해보겠습니다 :)

 


1편의 내용대로 잘 따라하셨다면 6개의 CLASS들이 생성되어진 것을 확인할 수 있습니다.

CLASS들이 생성되었자면, DPC_EXT부터 먼저 더블클릭하여 들어가주시면 됩니다.

 

 

CLASS DPC_EXT에 들어왔으면 다음과 같은 화면이 보일텐데,

 

이때 [방법] - [Inherited Methods] - [CREATE ENTITY]를 Redefine 시켜주시면 됩니다.

 

 

 

그럼 Redefinitions 라는 폴더가 생기고, 그 하위에 Create Entity가 생성된 것을 확인 할 수있습니다.

이제 원하는 방식으로 코드를 구성하여 외부의 데이터를 테이블에 넣을 수 있습니다.

 

원하는 코드를 작성하시기 전에, odata에서 중요하다고 할 수 있는 서비스 등록을 먼저 해줘야합니다.

T-CODE : /IWFND/MAINT_SERVICE

 

그럼 다음과 같은 창이 열릴텐데,  상단의 [서비스 추가] 버튼을 눌러준다.

 

 

시스템 별칭은 설정사항에 맞게 진행해주고 ( 어떤 것으로 진행할 것인지 BC 분에게 문의하시면 됩니다. )

외부 서비스 이름에 맨뒤가 SRV로 지정된클래스를 지정해주면 된다. ( 앞에는 자신이 설정한 ODATA 이름 )

 

그 후 [서비스 가져오기] 버튼을 클릭해주면 서비스가 불러와질 것이다.

그리고 [선택한 서비스 추가] 버튼을 클릭하여 서비스 등록을 완료해준다.

다음과 같은 창이 뜨면 서비스 추가가 완료된 것이다.

 

 

다시 DPC_EXT으로 돌아가준 후 코드를 작성해주면 됩니다.

저는 데이터들을 담아줄 TABLE을 따로 생성해주었습니다.

 

간단히 코드를 작성해준 후 다시 SAP GATEWAY SERVICE 화면으로 돌아와서 런타임오브젝트를 해줍니다.

이후 다시 DPC_EXT에 들어가서 CALL METHOD 부분에 External Debugging을 걸어준다.

↑ 이게 External Debugging ! 무조건 이걸로 걸어줘야한다.

 

그리고 외부에서 데이터를 받는 method인 저 코드는 필수적으로 넣어줘야 한다.

  CALL METHOD io_data_provider->read_entry_data
       IMPORTING
            es_data = ls_data.

복사해서 사용하시면 됩니다 :)

 

Service Maintenance의 E8H_000을 클릭해주고, SAP GATEWAY CLIENT로 접속해준다.

 

 

 

 

GATEWAY CLIENT에 접속한 후, EntitySets를 클릭하여 EntitySet을 선택하여준다.

 

그 후 HTTP Method에서 post를 체크해준다. 

Create_Entity method에 지정된 코드로 데이터를 넘겨받는 방식이 POST기 때문이다.

 

GET : 조회
POST : CREATE
PUT : UPDATE
DELETE : DELETE
로 생각하시면 됩니다.

그 후 JSON 방식으로 데이터를 작성해주면 됩니다.

이때 중요한점은, 대소문자 구분을 하기 때문에 저희가 설정해준대로 써주셔야합니다 !!

처음과 끝에 { } 는 필수고, 마지막을 제외한 모든 줄에 , 도 필수입니다.

 

 

실행시키시면 External Debugging 걸어둔 부분으로 이동하는 것을 확인 할 수 있으며,

LS_DATA에 입력한 데이터가 들어간 것을 확인할 수 있습니다.

이후 F8을 눌러 실행시켜주시면

 

200번대 CODE가 나오면 성공입니다.

코드는 HTTP 코드 참고하시면 됩니다. 400번대는 오류.

 

DATA를 받아줄 TABLE을 확인하면 데이터가 알맞게 들어왔음을 알 수 있습니다.

 

상단의 Call Browser에 들어가면 http 주소와 https 주소 또한 확인할 수 있습니다.


아마 다음편이 ODATA의 마지막 편이 될 것 같습니다.

3편에서는 ODATA의 Deep Structure 파트에 대해서 다뤄보겠습니다.

중간과정까진 똑같은데 달라지는 부분이 있어서 나누어서 설명 드리겠습니다.

 

3편에 이어서 쓰겠습니다 :)

 

[ABAP]SAP ODATA(1) (tistory.com)

 

[ABAP]SAP ODATA(1)

ABAP 개발자가 된지 6개월이 되었을 때 참여한 유지보수에서 ODATA라는 것을 처음 접하였습니다. 관련 자료도 한정적이고, 공부할 때 꽤나 애 먹었던 부분이라 공부 했던 것을 다시 정리할겸, ODATA

hsto.tistory.com

 

[ABAP]SAP ODATA(3) (tistory.com)

 

[ABAP]SAP ODATA(3)

2편에선 Structure를 사용하여 ODATA를 진행했다면, 이번에는 Deep Structure를 사용하여 ODATA 실습을 어떤식으로 진행하는지 정리할 예정입니다. 아마 프로젝트에서 ODATA를 쓰시면 Deep을 쓸 경우가 생각

hsto.tistory.com

 

 

728x90
반응형

'ABAP > STUDY' 카테고리의 다른 글

[ABAP] 조회조건 동적변경(변수에 따른 TEXT 변경)  (0) 2023.03.21
[ABAP] 조회화면 TEXT 변경 (TO/종료)  (0) 2023.03.21
[ABAP]SAP ODATA(3)  (10) 2023.03.15
[ABAP]SAP ODATA(1)  (2) 2023.03.13

댓글