2022-07-08
SAP PO의 특정 AP서버에서 부하가 발생하는 경우, 이설정을 의심해보세요
2022-06-16
MYSQL프로시 호출시 User does not have access to metadata required to determine stored procedure parameter... 에러 해결방법
첫번째에러내용
java.sql.SQLException: User does not have access to metadata required to determine stored procedure parameter type. If rights an not be granted, configure connection with 'noAccessToProcedureBodies=true' to have driver generate parameters that represent INOUT strings irregardless of atual parameter types번역기를 돌려보면 연계하는 MYSQL DB의 권한확인이나 PO에서 호출하는 JDBC호출 URL에 파라메터 추가 한 후 테스트가 필요해보이는것 같습니다.
2022-05-22
SAP Concur와 Rest채널에서의 엑세스토큰 옵션 3가지+1
"실제 해보진 않았고 관련 사이트를 보고 개념만 정리했습니다."
SAP PO와 Concur간 연계방식인 Rest 채널통해 서비스 URL호출하기전에 엑세스토큰(OAuth 2.0) 인증에 대한 지원옵션에 대해 담아봤습니다.
PO에서 Concur 업무를 위한 API를 호출하기위해서는 엑세스 토큰이 필요하다고 하는데요. 제가 보았던 부분에 대해서는 1회만 엑세스토큰을 받아 계속 사용할수 있는게 아닌 주기적으로(예를들어 한시간 마다) 받아야 하는 번거로움이 있어보였습니다.
2022-05-09
SAP PO, JDK, JDBC 버젼 호환성 체크방법

10년이상의 오래된 EAI 솔루션, 플랫폼을 다른 EAI로 전환할 시에 일반적으로 JDBC버젼도 그대로 전환하는것을 보게 되었고 DB연계방식의 인터페이스들의 오라클, MSSQL 등 버젼업 되면서 변경요청하는 JDBC .jar 버젼들을 보며 PO내부에 있는 JDBC버젼들도 확인 및 교체가 필요해 보여 관련내용에 대해 정리를 해봤습니다.
참고한 사이트를 보면 SAP PO의 NetWeaver 릴리즈와 자바의 JVM버젼과 호환되는 JDBC드라이버 버젼들을 사용하게 되는데요. 신규 PO프로젝트를 진행 시에 아래 사이트를 참고하여 PO의 JVM 버젼에 맞게 각 DB업체에서 제공하는 JDBC파일을 다운로드 받아 PO에 디폴로이를 진행하면 되는 부분인데 DB종류가 다양해지는 만큼 EAI담당자 입장에서 관리대상이 많이 지는 부분도 고려가 필요해보입니다.
PO프로젝트 진행, 운영하다보면 3073720-PO JDBC Adapter error DriverManaerException 관련 오류들도 발생된적도 있는데 연계하는 JDBC드라이버와 데이터베이스 그리고 PO의 자바 버젼간의 호환성에 대해 확인을 해야될 부분 같고 이에 대해 SAP 입장에서는 JDBC드라이버는 공급업체(오라클,MSSQL 등)에 제공되어 SAP의 영역밖인 문제로 보는것 같고 이런 문제에 대해서는 공급업체 쪽에 문의하라는 가이드를 SAP 공식문서에서 본적도 있었던것 같습니다.
2022-04-26
scheduler.relocMode 값이 샌더채널의 폴링실행시 주는 현상

- 파일, JDBC 등 샌더채널의 폴링작업 시 두개의 노드에서 중복실행 됩니다.
- 폴링작업이 한 노드에서만 실행됩니다.
- 폴링설정한 시간과 다르게 불규칙하게 실행됩니다.(예를들어 더 빨리실행)
지금까지는 폴링시간을 60초로 제 자신이 생각한 기준으로 연계시스템에 가이드를 했었지만 그 이하의 실시간에 가까운 폴링시간에서는 위와 같은 현상이 드물게 보이기도 하는것 같습니다. 폴링하는 시간이 짧다고 해서 위 현상에 대한 원인이라고 하기 충분하지 않은게 해당 폴링관련 설정값들은 시스템특성, 인터페이스 시나리오, 사용자 요청사항에 따라 변경이 가능하도록 되어있으며 중복문제 해결을 위해 기존 설정값들의 의도(분산,성능 등)와 모순될 가능성이 있는부분이 있어 충분한 확인과 테스트가 필요해보입니다.
2022-04-25
Log Viewer 로그 출력을 위한 카테고리 설정
SAP PO의 매핑이나 자바프록시, 어댑터모듈, 어댑터 및 메시지나 채널모니터링 그리고 Log Viewer에서 확인할수 있는 로그 출력방법이나 소스들은 각 각 다른것 같습니다. 이중 Log Viewer에 로그를 출력하기 위해서는 아래의 구문을 적용하면 되는 것 같은데요.
com.sap.tc.logging.Category.getCategory(Category.getRoot(), "<카테고리명>"
이렇게 넣고
NWA > Troubleshooting > Logs and Traces > Log Configuration에서 카테고리명을 검색하면 해당 Severity를 선택할수 있는데 항목들은 All, Debug, Path, Into, Warning, Error, Fatal, None 가 확인이 됩니다.
그리고 하단에 Per Instance Configuration 탭에도 해당 노드의 Severity를 선택할수 있는데 실제로 못해봐서 이렇게 하면 로그출력을 할수 있는지 잘 모르겠습니다.
일단 참고만 하시길요..
SAP PO프로젝트나 운영 중 발생되는 문제해결 순서

SAP PO프로젝트나 운영을 하다보면 다양한 원인과 문제는 달고 진행되는것 같습니다. 경력이 쌓이다보면 웬만한 문제에 대해서는 알고 있는 지식으로 해결이 가능하지만 가끔 알수 없는 에러나 증상으로 PO담당자를 당황하게 하거나 힘들게 하는 경우도 발생됩니다. 그래서 이번에는 문제 발생시 해결순서에 대해 정리를 해보았는데요. 이런 부분은 사람마다 다를수도 있을것 같습니다.
2022-04-24
ORA-00984: 열을 사용할 수 없습니다.(column not allowed here)에러 해결방법
프로그램이나 DB 툴로 실행했을때는 아무 문제 없이 문제되는 쿼리가 SAP PO와 연계했을 때 알수 없는 문제로 에러가 발생되는 경우가 있습니다. 이번에 발생되었던 오라클 에러인
'ORA-00984: 열을 사용할 수 없습니다.'는 PO에서 어떠한 원인으로 발생된건지 확인하고 어떻게 해결을 해야할지 담아보려고합니다.
이 에러에 대해 인터넷 검색을 해보면 대략 이런 원인이 나오네요.
- Insert 쿼리의 문자열에 싱글쿼테이션(')가 포함되었거나 안된경우
- 싱글쿼테이션 대신에 더블쿼데이션을 사용할 경우
- 내장 함수 등의 이름에 오타가 있는경우
1번 원인 같은경우 PO프로젝트나 운영을 하다보면 데이터문제로 종종 발생되었던 원인이고 PO에서 한개의 싱글쿼테이션을 ' -> '' 이렇게 변경하게되면 해결이 되었던적은 있습니다. 이부분은 아마 다른 언어로 개발된 프로그램에서도 마찬가지일것 같네요.
하지만 이 에러에 대한 원인은 위 3가지가 아닌 다른 원인으로 발생되었는데
현상은 문자와 숫자가 섞인 데이터였고 타겟DB컬럼 타입은 NVARCHAR2 였습니다.
SWCV 운영이관으로 인한 캐시에러 방지하는 방법

SAP XI/PI/PO 프로젝트나 운영을 했던 분이라면 한번쯤 겪었을 현상일것 같은데요. ESR(Enterprise Services Repository)에서 운영시스템으로 이관할 파일을 Tool > Export Design Objects > Individual Objects 메뉴를 통해 수정된 오브젝트만 받을수 있습니다. 하단의 옵션들을 보면 3가지가 있는데
이중에 'With Software Component Version Definition'는 기본적으로 체크된 상태인데 이대로 Export받은 파일을 운영시스템에 Import한다면? 결국에 전체 SWCV아래의 모든 개체에 대해 캐시가 새로고침되어 운영중인 인터페이스에 영향을 주게 되어 아래와 같은 에러가 발생되는 경우가 있습니다.
"CPAException: Could not Determine mapping steps for message"
임포트한 운영시스템의 Cache Status Overview메뉴를 보았을때 전체SWCV목록의 상태가 'Not Started' 라면 약간 긴장하시는게 좋을것 같은데 이런 실수는 10년차 경력자도 종종 발생될수 있는 부분이였던것 같습니다.
2022-03-26
SAP PO 스레드 로그(Thread Dump) 특징과 상태
스레드 상태
SAP PO에서 대용량사이즈 유입이나 부하를 주는 로직 등으로 인해 OOM(OutOfMemory)가 발생되는 경우가 있는데 이때 발생되는 Thread나 Heap 덤프분석파일이 nwa > troubleshooting > Advanced... 메뉴에 생성되네요. 이 파일 내용을 보고 덤프의 내용 안에서 OOM이 발생된 원인을 알수 있지않을까 생각이 듭니다.Thread Dump파일을 보는데 확장자가 .b00으로 된 파일이 여러개가 존재하며 안에는 알수없는 수치나 내용으로 복잡하게 보이네요. 이 덤프는 JAVA(JVM)에서 사용되는 스레드에 대한 Thread call stack정보를 담고 있는 스냅샷이라고 하는데 SAP PO내부에 Java application이 hang, 처리속도저하, OOM, CPU사용랑이 높을때 등 발생되는것 같습니다. 해당 내용은 nwds의 SAP Management Console메뉴 > Threads의 Show Call Stack메뉴를 통해서도 볼수 있지만 NWA에서 보는것과는 내용이 달라보입니다.
2022-03-01
SAP ABAP Proxy관련 트랜잭션 코드 SXI_MONITOR와 SXMB_MONI비교 및 메시지포맷설명
SXI_MONITOR와 SXMB_MONI의 차이
JDBC Sender채널의 Poll Interval(secs) 셋팅 시 0이 왜 필요할까요?
SAP PO에서 DB연계방식으로 사용되는 JDBC Sender 어댑터에서 특정 날,시에만 인터페이스를 수행하기위해서는 채널모니터링의 Availability Planning에서 스케쥴(월,일,시 등) 설정한 항목에 채널을 추가하면 되고 추가로 채널상태는 Stop, Automatic이여야 합니다.
그리고 채널의 Poll Interval(secs)는 보통 86400(24시간)마다 설정하면 지정된 스케쥴 시간에 맞춰 딱 한번 채널이 실행되는데 이 값을 테스트환경에서 Availability Planning설정없이 86400값을 넣으면 24시간마다 채널이 실행이 되는반면에 0으로 넣으면 불필요하게 채널이 실행되지 않아 더 알맞는 값인것 같습니다.
2022-02-27
2022-02-19
SAP PO에서 UTF8MB4 데이터처리를 어떻게 해야할까요?
"Incorrect string value: '\xFO\x90\x8D\x83\...' for column '<column name> at row 1"
이전에도 PO매핑 등에서 데이터로 인한 에러가 발생된 경우는 있는데요. 요즘들어 이모지? 등과 같은 유니코드 U+10000이상인 데이터들 원인으로 인한 에러들을 자주 보게 되는것 같습니다.
소스, 타겟 DB나 테이블을 생성 시 서버단에 언어셋과 컬럼타입등을 동일하게 맞추고 인터페이스가 개발이 된다면 데이터로 인한 매핑에러는 거의 없을것 같은데 현실은 그렇지 않은것 같고 이런에러들을 PO안에서 해결을 해야할때가 발생되는것 같은데요. 인터넷에 찾아본 내용들을 간략하게 정리해보았습니다.
정확하지 않는 부분이 있는경우 댓글달아주시면 수정하겠습니다.
2022-02-17
Relationship between EOIO and Sequence Number in SAP PO
SAP PO 큐처리 EOIO와 Sequence Number 관계
Checklist before and after SAP PO server restart
SAP PO서버 재시작 전과 후 체크항목들
PO서버 다운 시 채널중지 필요할까?
메시지 시스템 내에 채널이 실행중인 상태여도 크게 문제가 되지 않다는걸 알고 있는데요. 그래도 운영상 혹시나 생길수 있는 문제(메모리부족 오류 등)를 방지하기 위해서는 채널을 중지해주는게 좋다고 합니다.참고했던 사이트에서는 아래와 같은 내용을 확인할수 있었는데요.
2022-01-29
What is EJB Session in SAP PO Management Console?
How to convert numeric data to character in REST Receiver Adapter
SAP PO의 여러 어댑터들 중 Rest Adapter는 유연한 기능으로 인해 많이 사용하게 되는거 같은데요.
내부적으로 Json처리할때 타사의 Jettion라이브러리를 사용하는데 인터페이스 테스트 시 약간의 데이터 구조나 변환작업이 필요한 부분이 발생될수도 이는것 같습니다.
SOAP(XML) to REST(JSON) 인터페이스 테스트 시 소스시스템에서 보낸 숫자데이터가 XML(type:string) to JSON변환 시 quotest("")가 빠지는 모습을 볼수 있습니다.
예를들어
<test>111<test> to {"test":111} 이렇게 변환되는데 문자 결합된 데이터인 't111' 를 보내면 {"test":"t111"}이렇게 처리됩니다.
2022-01-19
What is NWDS(SAP NetWeaver Developer Studio), how to download it and useful plugins
NWDS는 무엇일까?
NetWeaver Developer Studio(NWDS)는 이클립스기반의 SAP Java플랫폼 환경을 지원하는 통합 개발 환경(IDE)이라고 하는데 실제 개발은 http://<po host><port>/dir/start/index.jsp에서 .jnlp 파일 실행한 Tool에서 하는게 익숙해서 그런지 편한것 같습니다. 그리고 NWDS 안에는 여러 유용한 플로그인을 제공해주는데 PO 개발이나 모니터링 업무에 도움을 주는것 같습니다.유용한 NWDS 플러그인
Management Console
서버별 노드 스레드, FullGC 등 상태를 확인하는데 브라우저에서 애플릿으로 제공되긴 하지만 실행안될때도 있었던것 같아요.Sender 채널별 스레드 상태 등 Communication Channel 모니터링에서 확인이 어려운 상태들(HANG, LOCK)도 볼수 있어서 유용한것 같습니다.
2022-01-04
SAP PO내에 JMS Queue를 모니터링 할수 있는 방법이 있을까?
-
2026년 1월 21일 국내 주식 시장 은 변동성이 매우 큽니다. 초보 투자자분들을 위해 오늘 장을 움직일 주식 테마 분석 을 진행하고, 원전 및 로봇 관련주 등 꼭 확인해야 할 종목들을 정리해 드립니다. 현재 시장은 트럼프 행정부의 정책 리스크와 미...
-
국내 주식시장은 매일 다양한 뉴스와 이벤트로 움직입니다. 오늘은 호재 vs 악재 지수 를 통해 시장 분위기를 정리하고, 투자자들이 이해하기 쉽게 주요 포인트를 알려드리겠습니다. 📑 목차 (Table of Contents) 국내 주식시장 분위...
-
거시경제 ☀️ ① 미중 무역합의 기대감으로 금리가 상승하며 주식시장은 기술적 과열권에 근접 ② 미국 10년 국채금리는 4.54%(+0.07%p), 2년물은 4.05%(+0.05%p), 장단기 금리차는 +0.481%p로 확대 ③ 한국은행 10년물 ...


