Hi, You can lock ot unlock the attributes based on query. we have implemented this in our organization for requisition object by process level using GEL Script. Gel Script is below which we have implemented in our organization Gel Script: Unlocked Attributes
===================
DELETE FROM ODF_LOCKED_ATTRIBUTES WHERE OBJECT_CODE = 'requisition' AND ODF_PK='${gel_objectInstanceId}' locked attributes:
SELECT CREATED_BY CRE_BY1 FROM RSM_REQ_REQUISITIONS WHERE ID=${gel_objectInstanceId}
${CREBY1.rows[0].CRE_BY1}
INSERT INTO ODF_LOCKED_ATTRIBUTES VALUES(ODF_LOCKED_ATTRIBUTES_S1.nextval,'requisition',${gel_objectInstanceId},
'intmat_pref',SYSDATE,${CRE_BY1},SYSDATE,${CRE_BY1})
INSERT INTO ODF_LOCKED_ATTRIBUTES VALUES(ODF_LOCKED_ATTRIBUTES_S1.nextval,'requisition',${gel_objectInstanceId},
'rmg_internalmatch',SYSDATE,${CRE_BY1},SYSDATE,${CRE_BY1})
INSERT INTO ODF_LOCKED_ATTRIBUTES VALUES(ODF_LOCKED_ATTRIBUTES_S1.nextval,'requisition',${gel_objectInstanceId},
'local_grade',SYSDATE,${CRE_BY1},SYSDATE,${CRE_BY1}) INSERT INTO ODF_LOCKED_ATTRIBUTES VALUES(ODF_LOCKED_ATTRIBUTES_S1.nextval,'requisition',${gel_objectInstanceId},
'office_address',SYSDATE,${CRE_BY1},SYSDATE,${CRE_BY1})
INSERT INTO ODF_LOCKED_ATTRIBUTES VALUES(ODF_LOCKED_ATTRIBUTES_S1.nextval,'requisition',${gel_objectInstanceId},
'approved_resource',SYSDATE,${CRE_BY1},SYSDATE,${CRE_BY1})
INSERT INTO ODF_LOCKED_ATTRIBUTES VALUES(ODF_LOCKED_ATTRIBUTES_S1.nextval,'requisition',${gel_objectInstanceId},
'attach_file',SYSDATE,${CRE_BY1},SYSDATE,${CRE_BY1})
------------------------------------------------------------------------------------------------------- Lock Attributes: INSERT INTO ODF_LOCKED_ATTRIBUTES VALUES(ODF_LOCKED_ATTRIBUTES_S1.nextval,'requisition',${gel_objectInstanceId},
'intmat_pref',SYSDATE,${CRE_BY1},SYSDATE,${CRE_BY1}) Unlock Attributes: DELETE FROM ODF_LOCKED_ATTRIBUTES WHERE OBJECT_CODE = 'requisition' AND ODF_PK='${gel_objectInstanceId}' and attribute_code='local_grade' ThanksSenthil