안녕하세요,
현재 Legacy 프로그램과 Interface를 하는 RFC Fuction을 구현하였습니다.
Function 내용은 변수를 Import해서 BDC 프로세스를 실행하는 Fuction입니다.
Fuction 자체적으로는 아무런 문제없이 잘 처리 되지만, Legacy프로그램을 통해서 Call을 하면
처리가 되지 않습니다.
- Runtims Error -
Runtime Errors RAISE_EXCEPTION
Date and Time 2010.07.27 12:26:36
Short text
Exception condition "CNTL_ERROR" raised.
어떤 문제가 발생했습니까?
The current ABAP/4 program encountered an unexpected
situation.
대응책은 무엇입니까?
Note down which actions and inputs caused the error.
To process the problem further, contact you SAP system
administrator.
Using Transaction ST22 for ABAP Dump Analysis, you can look
at and manage termination messages, and you can also
keep them for a long time.
오류분석
A RAISE statement in the program "CL_GUI_CUSTOM_CONTAINER=======CP" raised the
exception
condition "CNTL_ERROR".
Since the exception was not intercepted by a superior
program, processing was terminated.
Short description of exception condition:
For detailed documentation of the exception condition, use
Transaction SE37 (Function Library). You can take the called
function module from the display of active calls.
-
오류수정방법
If the error occures in a non-modified SAP program, you may be able to
find an interim solution in an SAP Note.
If you have access to SAP Notes, carry out a search with the following
keywords:
도와주세요.ㅠ_ㅠ
댓글 7
-
맑은하늘
2010.07.27 22:55
-
파초선
2010.07.27 23:22
답변 감사드립니다. 제가 RFC Function을 이용하여 Work Flow의 결재처리를 하려고 하는데요,
T-Code : SWIA를 BDC 처리하여 하고 있는데 이같은 문제가 발생이 됐습니다. 혹시 다른 방법을 알고 계신게 있으시면
Tip 좀 알려주세요..^^
-
갈매기
2010.07.28 00:09
swia에서 발생하는 케이스를 모두 BDC로 구현이 가능하세요? 그거 케이스 바이 케이스가 많아서 다 하기 힘들거 같은데요..
근데 이거 혹시 백잡으로 돌리신건가요?
-
맑은하늘
2010.07.28 00:37
방법이야 많겠지만 기본 로직을 보자면
1. RFC 로 데이터 전송
2. 전송된 데이터로 BDC 처리
정도 될 것 같네요.
1 은 지금 펑션쓰시면 될것 같구요.
2 는 갈매기님 말씀처럼 background 작업을 만들어서 하시면 될 거예요.
프로그램을 하나 생성하셔서
function job_open.
submit bdc_pgm via job~ (BDC 처리 프로그램)
function job_close.
이런형태의 프로그램을 만들어서
1의 RFC 펑션에서 만드시 프로그램을 실행만 하시면 될 거에요.
RFC 로 받은 데이터는 CBO 테이블로 저장을 하시거나 cluster 를 사용하셔도 될거예요.
좋은 결과 있으시길 바랍니다.
-
갈매기
2010.07.28 01:45
근데 swia의 경우 레이아웃 자체가 그리드라서 백잡이 안될건데...
워크플로 어떤 기능을 구현하시는건지 여쭤봐도 될까요?
-
맑은하늘
2010.07.28 01:53
그리드라도 조건에 의하여 필요한 데이터만 보여줄 수 있다면
전체선택으로 처리 가능합니다. 아니면 힘들겠지만요 ^^;;
-
파초선
2010.07.30 17:35
답변 감사드립니다. 맑은하늘님 말대로 RFC Fuction에서 Call했을때 Create Object를 할수가 없더군요.
기존에 사용하던 프로그램에 Container가 있었기때문에 처리로직만 구현하는 프로그램을 만들어
대체를 하였더니 정상적으로 잘 동작이 됩니다. 감사합니다.^^
^^ 제 생각을 말씀드려보면, 펑션내에 화면을 필요로 하는 오브젝트가 있는 것 같네요.
container 는 화면이 없이 실행이 될 수가 없는데, 외부(레가시)에서 호출하였을 경우 화면을 생성할 수 없어서
create object 를 할 수 없기 때문에 발생한 것 같습니다. 호출하는 펑션에서 결과를 grid 로 display 하는 등의
코드부분이 있으면 제외하시길 바랍니다. 그리고 외부에서 RFC 를 호출하여 사용할 경우 데이터 이동만 하도록
하시는 것이 좋을 것 같네요.