2016-12-30 13 views
0

함수 모듈에 전달 된 가져 오기 매개 변수를 개별적으로 처리하지 않고도 액세스 할 수 있습니까? ABAP은 이들을 내부 테이블에 저장합니까? 그래서 일부 테이블이나 구조의 필드에서 반복적으로 작업 할 수 있습니까?ABAP는 함수 모듈의 인터페이스에 대한 정보를 어떻게 저장합니까?

함수 모듈의 이름만을 알고있는 ABAT 함수를 사용하여 함수 모듈의 인터페이스를 인쇄 할 수 있으므로이 정보가 저장된 위치가 궁금하고 일단 함수로 작업 할 수 있다면 그룹이 메모리에로드되었습니다.

미리 감사드립니다.

+0

인터페이스를 검사하거나 동적 매개 변수를 사용하여 함수 모듈을 호출 하시겠습니까? – vwegert

+0

함수 모듈에 전달 된 매개 변수를 하나씩 처리하지 않고 작업하고 싶습니다. FM에서 서브 루틴으로 그들을 전달하면 개별적으로 참조하지 않고도 처리 할 수 ​​있다는 것이 좋습니다. 말이 돼? –

+0

이유 ...? 우리의 환경에서는 SOA 애플리케이션이 RFC를 통해 SAP 기능에 액세스하고 있습니다. 유효성 검사/디버깅을 위해 FM의 실제 출력과 함께 가져 오기 매개 변수의 값을 반환하는 것이 유용합니다. 나는 이것을하기위한 서브 루틴을 만들고 FM에 제공된 모든 매개 변수를 전달합니다. 나는 게으르거나 더 나은 길을 찾고 있다고 생각합니다. 제 질문을 보니 고맙습니다. –

답변

2

기능 모듈 RPY_FUNCTIONMODULE_READ을 사용하여 기능 모듈의 매개 변수 구조에 대한 정보를 얻은 다음 동적으로 매개 변수에 액세스 할 수 있습니다. 여기에는 몇 가지 단점이 있습니다. 가장 중요한 것은 사용자가 (추가) S_DEVELOP 인증을 필요로하며이 방법으로 기록하면 일반적으로 성능에 심각한 영향을 미칩니다.

필자는 로깅/추적 기능에 기능 모듈 매개 변수를 수동으로 한 번 수동으로 추가하고 싶습니다. 충분히 일반적인 메서드 호출을 사용하면 그리 어렵지 않습니다. 또한 개별 매개 변수를 구조로 그룹화하여 나중에 향상된 기능을 구현하는 경향이 있습니다.

+0

정말 고마워요! –

+0

또한이 클래스 CL_FB_FUNCTION_UTILITY가 METH_GET_INTERFACE 메소드를 가지고있어 모든 매개 변수와 해당 데이터 유형을 얻을 수 있습니다. –

+0

비 SAP_BASIS 소프트웨어 구성 요소에 속하는 일부 유틸리티 클래스 및 기능은 모든 시스템에서 사용 가능하지 않을 수 있습니다. – vwegert