function을 호출할 때 로그가 INV log에 인쇄되지 않았습니다.

inv_log_util.trace('P_SUBINV_LO='||P_SUBINV_LO, 'INV_INVTRREG_XMLP_PKG', 9); 

INV log level을 11로 설정하면 로그를 수집할 수 있습니다.
오늘 작은 문제가 발생했습니다. 아래 코드로 function을 호출할 때 로그가 INV log에 인쇄되지 않았습니다.오랫동안 괴롭혔다.
SET serveroutput ON;
DECLARE
  a VARCHAR2(100);
BEGIN
mo_global.set_policy_context('S', 204);
FND_GLOBAL.APPS_INITIALIZE (
   1068     -- user_id
  ,56229    -- resp_id
  ,724      -- resp_appl_id 
  );
  a := inv_material_status_grp.is_status_applicable('TRUE' , NULL ,36 , NULL ,'N' , 207 ,212990 ,NULL ,NULL ,NULL ,'S-1000' , 'S' );
IF a = 'Y' THEN
   DBMS_OUTPUT.PUT_LINE('a is y' );
END IF ;
END ;
BEGIN
mo_global.set_policy_context('S', 204);
FND_GLOBAL.APPS_INITIALIZE (
   1068     -- user_id
  ,56229    -- resp_id
  ,724      -- resp_appl_id 
  );
END;

inv_에서material_status_grp.is_status_응용 프로그램은 로그를 인쇄하는 문구가 있습니다.
IF(g_debug = 1)THEN
   inv_trx_util_pub.TRACE('inside yu mark 11 ', 'INV_MATERIAL_STATUS_GRP', 14);
END If;

하지만 인쇄가 안 돼요.왜 빚어?
inv debug level 설정이 부족했기 때문일 수 있습니다. 15를 설정해야 합니다.INV를 봅시다 _QUANTITY_TREE_PVT라는 패키지에는 다음과 같은 프로세스가 정의되어 있습니다.
PROCEDURE print_debug(p_message IN VARCHAR2, p_level IN NUMBER DEFAULT 14) IS
g_debug NUMBER;
BEGIN
   IF g_debug IS NULL THEN
      g_debug :=  NVL(FND_PROFILE.VALUE('INV_DEBUG_TRACE'),0);
   END IF;

   IF (g_debug = 1) THEN
      inv_log_util.trace(p_message, 'INV_QUANTITY_TREE_PVT', p_level);
   END IF;
END;
print_debug 이 프로세스를 정의할 때 level이 14라는 것을 기본으로 합니다. 이것은 설정된 프로필: inv debug level이 14가 부족하면 이 로그를 출력하지 않는다는 것을 의미합니다.
그래서 debug level을 15로 설정했습니다. 위의 스크립트를 다시 실행해 보겠습니다. 안 되겠습니다.신마를 위하여?
왜 그런지 모르겠어요. 어차피 데이터베이스를 끊고 다시 연결하면 ok가 돼요.데이터베이스 연결 캐시 문제 때문일 수도 있어요.
다시 실행하면 로그를 수집할 수 있습니다. 아래와 같습니다.
Session Id:16303560
[06-5  -14 03:23:18] INV_MATERIAL_STATUS_GRP: inside non-overloaded is_status_applicable

좋은 웹페이지 즐겨찾기