Iam callin the lib proc in pre-form trigger disp_alert(1); SET_ANLY_ATTR('ITEM', 'ITEM_FM', M_ERR_FLAG); SET_ANLY_ATTR('ITEM', 'ITEM_TO', M_ERR_FLAG); disp_alert(2); The output: ----------------- When i run the form 1 and 2 displays but not a, b, c,d,e,f (Used in lib proc - given below). If i pull the lib proc to local pro and everyting goes fine This procedure is inside a library. PROCEDURE SET_ANLY_ATTR ( P_ANLY_TYPE IN VARCHAR2, P_PREFIX IN VARCHAR2, P_ERR_FLAG OUT VARCHAR2 ) IS P_LANG_CODE OW_FS.LANG_CODE%TYPE := 'ENG'; M_NAME OW_FS.NAME%TYPE; M_SHORT_NAME OW_FS.NAME%TYPE; M_I VARCHAR2(2); M_FLD_NAME OW_FS.NAME%TYPE; --M_BP_FLD_NAME OW_FS.NAME%TYPE; M_FLD_CAPTION OW_FS.NAME%TYPE; M_FLD_BL_CAPTION OW_FS.NAME%TYPE; M_FLD_DESC OW_FS.NAME%TYPE; M_FLD_LOV OW_FS.NAME%TYPE; M_NO_FLDS NUMBER := 20; -- Variable to specify No of Fields in Category Master. M_DEFN_YN VARCHAR2(1) := 'N'; M_ITEM_ID ITEM; M_RG_ID RECORDGROUP; -- Creating RecordGroup Bilingual GC_TYPE GROUPCOLUMN ; GC_FLD_NAME GROUPCOLUMN ; GC_ENG_NAME GROUPCOLUMN ; GC_BL_NAME GROUPCOLUMN ; M_CTR NUMBER :=0 ; CURSOR ANLY_CUR(M_ANLY_NO NUMBER) IS SELECT DECODE(P_LANG_CODE, 'ENG', ANLY_NAME, ANLY_BL_NAME) ANLY_NAME, DECODE(P_LANG_CODE, 'ENG', ANLY_SHORT_NAME, ANLY_BL_SHORT_NAME) ANLY_SHORT_NAME, DECODE(P_LANG_CODE, 'ENG', ANLY_CAPTION, ANLY_BL_CAPTION) ANLY_CAPTION, ANLY_BL_CAPTION ANLY_BL_CAPTION FROM OM_ANALYSIS_HEAD WHERE ANLY_TYPE = P_ANLY_TYPE AND ANLY_NO = M_ANLY_NO; BEGIN disp_alert('a'); /* This Procedure does NOT set Datatype for Form Items */ M_RG_ID := FIND_GROUP('RG_ANLY_FLEX') ; GC_TYPE := FIND_COLUMN('RG_ANLY_FLEX.TYPE') ; GC_FLD_NAME := FIND_COLUMN('RG_ANLY_FLEX.FIELD_NAME') ; GC_ENG_NAME := FIND_COLUMN('RG_ANLY_FLEX.ENG_CAPTION') ; GC_BL_NAME := FIND_COLUMN('RG_ANLY_FLEX.BL_CAPTION') ; P_LANG_CODE := NAME_IN('GLOBAL.M_LANG_CODE') ; FOR I IN 1 .. M_NO_FLDS LOOP /* Re-Initializing Local Variables */ M_FLD_NAME := ''; M_FLD_CAPTION := ''; IF ANLY_CUR%ISOPEN THEN CLOSE ANLY_CUR; END IF; OPEN ANLY_CUR(I); FETCH ANLY_CUR INTO M_NAME, M_SHORT_NAME, M_FLD_CAPTION,M_FLD_BL_CAPTION; disp_alert('b'); /* Commented on 26-OCT-20001 w.r.t. Test Case ID OR-1-1-003 -7 IF ANLY_CUR%ROWCOUNT = 0 AND M_DEFN_YN = 'N' THEN DISP_ALERT('Analysis is not defined in Analysis Master for Type -'||P_ANLY_TYPE); EXIT WHEN ANLY_CUR%NOTFOUND; END IF; */ M_I := LPAD(TO_CHAR(I), 2, '0'); M_FLD_NAME := P_PREFIX||'_ANLY_CODE_'||M_I; --M_BP_FLD_NAME := 'BP.B_'||P_PREFIX||'_ANLY_CODE_'||M_I; M_FLD_DESC := 'M_'||P_PREFIX||'_ANLY_DESC_'||M_I; M_FLD_LOV := 'M_LOV_'||P_PREFIX||'_ANLY_CODE_'||M_I; -- MESSAGE('FLD NAME -'|| M_FLD_NAME ||'BL FLD NAME -'||M_BP_FLD_NAME); MESSAGE(' '); M_ITEM_ID := FIND_ITEM(M_FLD_NAME); disp_alert('c'); IF GET_ITEM_PROPERTY(M_FLD_NAME, VISIBLE) = 'TRUE' THEN -- Condition Newly Added by S.Muthu Kumar on 23.12.2003. -- SET_ITEM_PROPERTY to be done, only if the field is VISIBLE otherwise it would give error. IF ANLY_CUR%FOUND THEN IF NOT ID_NULL(M_ITEM_ID) THEN M_DEFN_YN := 'Y'; IF GET_ITEM_PROPERTY(M_ITEM_ID,ITEM_TYPE) = 'TEXT ITEM' THEN IF GET_ITEM_PROPERTY(M_FLD_NAME, VISIBLE) = 'TRUE' THEN -- Required Property is to be SET only if the field in VISIBLE. S.Muthu Kumar SET_ITEM_PROPERTY(M_FLD_NAME, REQUIRED, PROPERTY_TRUE); END IF; END IF; IF M_FLD_CAPTION IS NOT NULL THEN M_ITEM_ID := FIND_ITEM(M_FLD_NAME); IF NOT ID_NULL(M_ITEM_ID) THEN disp_alert('d'); -- COPY(M_FLD_CAPTION, M_BP_FLD_NAME); M_FLD_CAPTION := GET_ITEM_PROPERTY(M_ITEM_ID,PROMPT_TEXT)||' '||M_FLD_CAPTION; SET_ITEM_PROPERTY(M_ITEM_ID,PROMPT_TEXT,M_FLD_CAPTION); SET_ITEM_PROPERTY(M_ITEM_ID,PROMPT_EDGE_OFFSET,10); M_CTR := NVL(GET_GROUP_ROW_COUNT(M_RG_ID),0)+1 ; ADD_GROUP_ROW(M_RG_ID, END_OF_GROUP) ; SET_GROUP_CHAR_CELL(GC_TYPE , M_CTR , 'ANLY') ; SET_GROUP_CHAR_CELL(GC_FLD_NAME , M_CTR , M_FLD_NAME ) ; SET_GROUP_CHAR_CELL(GC_ENG_NAME , M_CTR , M_FLD_CAPTION ) ; SET_GROUP_CHAR_CELL(GC_BL_NAME , M_CTR , M_FLD_BL_CAPTION ) ; END IF; END IF; END IF; ELSE disp_alert('e'); -- DISABLE THE FIELDS THAT are NOT DEFINED in Analysis Master SET_ITEM_PROPERTY(M_FLD_NAME, VISIBLE, PROPERTY_FALSE); SET_ITEM_PROPERTY(M_FLD_NAME, ENABLED, PROPERTY_FALSE); --SET_ITEM_PROPERTY(M_BP_FLD_NAME, VISIBLE, PROPERTY_FALSE); M_ITEM_ID := FIND_ITEM(M_FLD_DESC); IF NOT ID_NULL(M_ITEM_ID) THEN SET_ITEM_PROPERTY(M_FLD_DESC, VISIBLE, PROPERTY_FALSE); END IF; M_ITEM_ID := FIND_ITEM(M_FLD_LOV); IF NOT ID_NULL(M_ITEM_ID) THEN SET_ITEM_PROPERTY(M_FLD_LOV, VISIBLE, PROPERTY_FALSE); END IF; --P_ERR_FLAG := 'E'; -- RETURN; Commented on 21-NOV-01 END IF; END IF; -- Added by S.Muthu Kumar on 23.12.2003. END LOOP; disp_alert('f'); --Commented by Narayani on 12/01/2004 as it reassign the value of P_ERR_FLAG when the Cursor is not found. -- P_ERR_FLAG := ''; EXCEPTION WHEN OTHERS THEN -- DISP_ALERT( ' ERROR -INSF7LIB - SET_ANLY_ATTR '||SQLERRM); -- RAISE FORM_TRIGGER_FAILURE ; P_ERR_FLAG := 'E'; RETURN; END;