SAP
[ABAP] ERROR - CX_SY_CONVERSION_OVERFLOW
인터페이스받은 PROXY에서 해당 에러가 발생하는 경우는 주로 받아온 값이 선언되어져 있는 값보다 클경우에 발생하는 자릿수 초과 에러라고 보시면 됩니다. Error during proxy processing An exception with the type CX_SY_CONVERSION_OVERFLOW occurred, but was neither handled locally, nor declared in a RAISING clause Overflow converting from 'XXXXX' 이러한 경우에는 필드의 값이 들어갈 수 있게 해당 필드의 크기를 늘리거나 전문을 보내주는 곳의 필드값을 줄여주면 해당 에러를 잡을 수 있습니다. 참고 URL: answers.sap.com/questions/63572..
JDBC Sender - Transaction Isolation Level
Transaction Isolation Level의 종류 구분 Dirty read Nonrepeatable read Phantom read Default (*) / / / None (**) / / / read_uncommitted Allowed Allowed Allowed read_committed(***) Prevented Allowed Allowed repeatable_read Prevented Prevented Allowed serializable Prevented Prevented Prevented Dirty / NonRepeatable / Phantom read Dirty Read: Commit하지 않은 데이터에 대한 접근성 결정 NonRepeatable Read: 동일한 트랜잭션에서 동일한 쿼..
[EAI] ORA-08177: can't serialize access for this transaction
SAP EAI 의 채널 중 JDBC Adapter Sender 채널 구성 중 Advanced - Advanced Mode - Additional Paramters - Transaction Isolation Level 을 설정할 때 'Serialize(직렬화)'를 선택했을 때 발생한 오류입니다. ORA-08177 - can't serialize access for this transaction 위와 같은 오류는 Oracle에서 발새하는 에러로 같은 테이블을 대상으로 동시에 update와 select요청이 발생하기 때문에 나는 에러이다. 만약 해당 오류가 난다면 Transaction Isolation Level을 'Default'로 바꾸어서 처리해보도록하자. 참고 URL: answers.sap.com/que..
[EAI] EAI DB CPU가 미치는 영향
SAP EAI 운영하다보면 다양한 이슈가 발생합니다. 그 중 DB의 CPU가 EAI에 미치는 영향이 있어서 글로 남깁니다. SAP EAI에서 인터페이스를 통해 전문을 전달하는 방법 중 JDBC를 사용하여 DB에 다양한 쿼리문을 보낼 수 있는데요. 그 중에 INSERT요청과 PROCEDURE요청을 같이 보내주는 방식을 사용하였습니다.(해당 전송 방식은 EOIO 순차처리 방식으로 개발하였습니다.) 해당 이슈가 발생하였을 때 로그를 확인해보앗을 때 INSERT는 빠른 시간에 처리가 되었지만 PROCEDURE를 처리하는데 있어서 지연이 발생하였습니다. 그래서 해당 원인을 처음에는 PROCEDURE의 쿼리가 문제가 있구나 판단하였는데 알고보니 CPU가 100%까지 올라갔을 때 처리 지연이 되었다고 하네요. 지연되..
[SAP EAI] Could not trigger cluster event FAIL_MESSAGE_NOALERT for node
SAP EAI 모듈의 JAVA 단에서 해당 메시지가 HOLD상태인데 삭제가 되지 않는 경우에 발생하는 에러 중 하나이다. 에러내용은 아래와 같다. FAIL_MESSAGE_NOALERT for node XXXXXX. Reason:com.sap.engine.frame.cluster.message.RemoteClusterException: 해당 에러가 발생한 경우에는 처리방법은 간단하다. 그냥 재처리 요청을 해서 해당 큐가 에러로 빠졌을 경우 그 에러를 삭제처리하면 끝이다. 이러한 에러가 발생하는 원인은 큐를 처리하는데 있어서 이전의 데이터가 삭제되었음에도 불구하고 NODE끼리의 충돌로 인해 처리가 안된것으로 보여져서 발생되는 에러인 것으로 보인다. 그렇기 때문에 다시 재처리 작업요청을 통해서 최초 메시지에 ..
[SAP EAI] QUEUE 전송 방식
SAP EAI 에서의 전송방식은 크게 Synchronous(동기방식)과 Asynchronous(비동기) 방식으로 나뉘게 된다. 그 중 Synchronous방식에 해당하는 BE(Best Effort)와 Asynchronous방식의 EO(Exactly Once), EOIO(Exactly Once In Order)로 나뉜다. 전송방식 종류 내용 Synchronous BE - Best Effect의 약자 - Queue를 사용하지 않음 - Synchronous 방식의 메시지 전송에 사용 - 재처리가 불가능 Asynchronous EO - Exactly Once의 약자 - Queue를 사용함 - Asynchronous 방식의 메시지 전송에 사용 - 무작위 처리방식 EOIO - Exactly Once In Order..