بتاريخ: 17 أبريل 201214 سنة comment_223362 السلام عليكم ,I need help how to make function that take tap page name and return the first item in this tap page : FUNCTION CHANGE_TAP(NEW_TAP_NAME VARCHAR2) RETURN VARCHAR2 IS CURR_TAP VARCHAR2(30); GET_PROP VARCHAR2(30); F_BLK VARCHAR2(30); F_ITEM VARCHAR2(30); L_BLK VARCHAR2(30); L_ITEM VARCHAR2(30); TAP_NAME VARCHAR2(30); BEGIN GO_BLOCK(FIRST_BLOCK); TAP_NAME := GET_ITEM_PROPERTY(GET_BLOCK_PROPERTY(FIRST_BLOCK,FIRST_ITEM),ITEM_TAB_PAGE); LOOP IF TAP_NAME = NEW_TAP_NAME THEN RETURN(:SYSTEM.CURRENT_ITEM); ELSE NEXT_BLOCK; END IF; EXIT WHEN GET_BLOCK_PROPERTY(:SYSTEM.CURRENT_BLOCK,NEXTBLOCK) is NULL; END LOOP; END; please any idea to make this code work correctlythanks and best regardsabdellatif ahmed تقديم بلاغ
بتاريخ: 17 أبريل 201214 سنة comment_223376 السلام عليكم , I need help how to make function that take tap page name and return the first item in this tap page : FUNCTION CHANGE_TAP(NEW_TAP_NAME VARCHAR2) RETURN VARCHAR2 IS CURR_TAP VARCHAR2(30); GET_PROP VARCHAR2(30); F_BLK VARCHAR2(30); F_ITEM VARCHAR2(30); L_BLK VARCHAR2(30); L_ITEM VARCHAR2(30); TAP_NAME VARCHAR2(30); BEGIN GO_BLOCK(FIRST_BLOCK); TAP_NAME := GET_ITEM_PROPERTY(GET_BLOCK_PROPERTY(FIRST_BLOCK,FIRST_ITEM),ITEM_TAB_PAGE); LOOP IF TAP_NAME = NEW_TAP_NAME THEN RETURN(:SYSTEM.CURRENT_ITEM); ELSE NEXT_BLOCK; END IF; EXIT WHEN GET_BLOCK_PROPERTY(:SYSTEM.CURRENT_BLOCK,NEXTBLOCK) is NULL; END LOOP; END; please any idea to make this code work correctly thanks and best regards abdellatif ahmed Try using this code FUNCTION CHANGE_TAP (NEW_TAP_NAME VARCHAR2) RETURN VARCHAR2 IS F_BLK VARCHAR2 (30); F_ITEM VARCHAR2 (30); TAP_NAME VARCHAR2 (30); BEGIN F_BLK := GET_FORM_PROPERTY (:SYSTEM.CURRENT_FORM, FIRST_BLOCK); <<BLK_LOOP>> LOOP F_ITEM := GET_BLOCK_PROPERTY (F_BLK, FIRST_ITEM); <<ITEM_LOOP>> LOOP TAP_NAME := GET_ITEM_PROPERTY (F_ITEM, ITEM_TAB_PAGE); IF TAP_NAME = NEW_TAP_NAME THEN RETURN F_BLK || '.' || F_ITEM; END IF; F_ITEM := GET_ITEM_PROPERTY (F_ITEM, NEXT_NAVIGATION_ITEM); EXIT ITEM_LOOP WHEN F_ITEM IS NULL; END LOOP; F_BLK := GET_BLOCK_PROPERTY (F_BLK, NEXTBLOCK); EXIT BLK_LOOP WHEN F_BLK IS NULL; END LOOP; RETURN NULL; END; تقديم بلاغ
انضم إلى المناقشة
يمكنك المشاركة الآن والتسجيل لاحقاً. إذا كان لديك حساب, سجل دخولك الآن لتقوم بالمشاركة من خلال حسابك.