Column to be populated using other columns values
The question on why you think you need that aside, you can simplify the concatenation using concat_ws()which you can easily use in the trigger as well:

CREATE OR REPLACE FUNCTION update_en() 
RETURNS TRIGGER AS 
$$ 
BEGIN 
  NEW.codigo := concat_ws('.', new."PP", new."MM", new."DD", new."BB", new."QQ", new."LL", new."ID", new."UU");
  RETURN NEW; 
END; 
$$ 
LANGUAGE plpgsql;