Set_Value

Set a record attribute value. This is an overloaded procedure where the value can be of type VARCHAR2, DATE, NUMBER or BOOLEAN.

PROCEDURE Set_Value (
   record_ IN OUT type_record_,
   name_   IN     type_name_,
   value_  IN     VARCHAR2,
   type_   IN     type_typ_  DEFAULT dt_Text,
   dirty_  IN     BOOLEAN    DEFAULT TRUE )

PROCEDURE Set_Value ( 
   record_ IN OUT type_record_,
   name_   IN     type_name_,
   value_  IN     DATE,
   type_   IN     type_typ_  DEFAULT dt_Date,
   dirty_  IN     BOOLEAN    DEFAULT TRUE )

PROCEDURE Set_Value ( 
   record_ IN OUT type_record_,
   name_   IN     type_name_,
   value_  IN     NUMBER,
   type_   IN     type_typ_  DEFAULT dt_Float,
   dirty_  IN     BOOLEAN    DEFAULT TRUE )

PROCEDURE Set_Value ( 
   record_ IN OUT type_record_,
   name_   IN     type_name_,
   value_  IN     BOOLEAN,
   type_   IN     type_typ_  DEFAULT dt_Boolean,
   dirty_  IN     BOOLEAN    DEFAULT TRUE )

Parameters

record_
   
Foundation1 record. See: New_Record

name_
   
Record attribute name.

type_
   
any Foundation1 data type. See: Available Types.
    If value data type is VARCHAR2 any Foundation1 data type is allowed.
    If value data type is DATE allowed types are dt_Date, dt_Time or dt_TimeStamp.
    If value data type is NUMBER allowed types are dt_Integer, dt_Integer_Key, dt_Integer_Reference, dt_Decimal, dt_Money or dt_Float.
    If value data type is BOOLEAN allowed type is dt_Boolean

dirty_
   
If True sets the record attribute dirty flag to True ('Modified').

Example

DECLARE
   AM     Plsqlap_Record_API.type_record_;
   AL     Plsqlap_Record_API.type_record_;
BEGIN
   -- Create records
   AM := Plsqlap_Record_API.New_Record('APPLICATION_MESSAGE');
   AL := Plsqlap_Record_API.New_Record('ADDRESS_LABEL');
  
   -- Set (Create) the value of the record text key attribute.
   Plsqlap_Record_API.Set_Value(AM,'APPLICATION_MESSAGE_ID','100',Plsqlap_Record_API.dt_Text_Key);
  
   -- Set (Create) the value of record attributes.
   Plsqlap_Record_API.Set_Value(AM,'SENDER','Ti22',Plsqlap_Record_API.dt_Alpha);
   Plsqlap_Record_API.Set_Value(AM,'MESSAGE_TYPE','Mail,Plsqlap_Record_API.dt_Alpha);
   Plsqlap_Record_API.Set_Value(AM,'SUBJECT','This is a demonstration');
  
   -- Set (Create) a record attribute without a value. A plain NULL cannot be used.
   -- The PLSQL engine would not know which of the overloaded procedures to use.
   Plsqlap_Record_API.Set_Value (AM,'LOCALE',TO_CHAR(NULL),dt_Alpha);

   -- Set (Create) the value of record date attributes.
   Plsqlap_Record_API.Set_Value(AL,'SENT',SYSDATE);
   Plsqlap_Record_API.Set_Value(AL,'EXPIRED','2099-12-31',Plsqlap_Record_API.dt_Date);
   ...
END;