A few ways you can do this:
1) hide the editable fields using "hide object when" with a calculation of Not IsEmpty(portalTable::primaryKey) and set the primary key to enter on commit instead of on creation. I would suggest this method, hiding your fields and showing merge text instead.
2) script your record creation from global fields, and block editing in the portal entirely.
I'd suggest #1, that way you can script a security override to show the fields based on a global variable flag.
EG: hide object when:
Not IsEmpty(portalTable::primaryKey) or $$securityOverride <> 1
you could even add on to make the editing capability single out a row by ID:
Not IsEmpty(portalTable::primaryKey) or ( $$securityOverrideID <> portalTable::primaryKey )
Thanks Friend for your kind answer.
Thugh the above answer is to hide the objects but don't want to hide the objects. My query is to lock that particuler portal table ID records saved . Even though we can not add the line items row in that id table once the records have been saved.So no any else can modify that table records or add any more line items.
These portal table can be only modified by security custom message dialoge with password. Further for new records it stands in unlock postion. Secondly how can be prepare the log table while modifying by whom users.