   BEGIN
     RETURN GET_BLOCK_PROPERTY(P_BLOCK.HANDLE, P_PROPERTY);
   END GET_PROPERTY;
+
+
+  FUNCTION GET_PROPERTY(P_BLOCK IN STD_BLOCK, P_RECORD_NUMBER IN NUMBER, P_PROPERTY IN NUMBER) RETURN VARCHAR2
+  IS
+  BEGIN
+    RETURN GET_RECORD_PROPERTY(P_RECORD_NUMBER, P_BLOCK.NAME, P_PROPERTY);
+  END GET_PROPERTY;
   
   
   PROCEDURE SET_PROPERTY(P_BLOCK IN STD_BLOCK, P_PROPERTY IN NUMBER, P_VALUE IN VARCHAR2)


  PROCEDURE SET_PROPERTY(P_BLOCK IN STD_BLOCK, P_PROPERTY IN NUMBER, P_VALUE IN VARCHAR2);

  PROCEDURE GET_VALID_BLOCK_HANDLE(
    P_PROC_NAME IN VARCHAR2 DEFAULT 'STD_BLOCK.GET_VALID_BLOCK_HANDLE',
    P_BLOCK_NAME IN STD_TYPE.BLOCK_NAME,

  BEGIN
    SET_BLOCK_PROPERTY(P_BLOCK.HANDLE, P_PROPERTY, P_VALUE);
  END SET_PROPERTY;
  
  
  PROCEDURE SET_PROPERTY(P_BLOCK IN STD_BLOCK, P_RECORD_NUMBER IN NUMBER, P_PROPERTY IN NUMBER, P_VALUE IN VARCHAR2)
  IS
  BEGIN
    SET_RECORD_PROPERTY(P_RECORD_NUMBER, P_BLOCK.NAME, P_PROPERTY, P_VALUE);
  END SET_PROPERTY;
  

  FUNCTION GET_NUMBER_PROPERTY(P_BLOCK IN STD_BLOCK, P_PROPERTY IN NUMBER) RETURN NUMBER
  IS
  BEGIN
    RETURN TO_NUMBER(GET_PROPERTY(P_BLOCK, P_PROPERTY));
  END GET_NUMBER_PROPERTY;
  

  FUNCTION GET_NUMBER_PROPERTY(P_BLOCK IN STD_BLOCK, P_RECORD_NUMBER IN NUMBER, P_PROPERTY IN NUMBER) RETURN NUMBER
  IS
  BEGIN
    RETURN TO_NUMBER(GET_PROPERTY(P_BLOCK, P_RECORD_NUMBER, P_PROPERTY));
  END GET_NUMBER_PROPERTY;
  

  PROCEDURE SET_NUMBER_PROPERTY(P_BLOCK IN STD_BLOCK, P_PROPERTY IN NUMBER, P_VALUE IN NUMBER)
  IS
  BEGIN
    SET_BLOCK_PROPERTY(P_BLOCK.HANDLE, P_PROPERTY, TO_NUMBER(P_VALUE));
  END SET_NUMBER_PROPERTY;
  

  PROCEDURE SET_NUMBER_PROPERTY(P_BLOCK IN STD_BLOCK, P_RECORD_NUMBER IN NUMBER, P_PROPERTY IN NUMBER, P_VALUE IN NUMBER)
  IS
  BEGIN
    SET_RECORD_PROPERTY(P_RECORD_NUMBER, P_BLOCK.NAME, P_PROPERTY, TO_NUMBER(P_VALUE));
  END SET_NUMBER_PROPERTY;


  FUNCTION GET_BOOLEAN_PROPERTY(P_BLOCK IN STD_BLOCK, P_PROPERTY IN NUMBER) RETURN BOOLEAN
