Use the Explorer_Add_Column_To_Object procedure in the SmartList dictionary to add the columns to the new SmartList object. When you add a column, you specify the following:
The following is a portion of the procedure in the sample integrating application that defines the columns for the Leads SmartList object.
local integer l_error; local integer display_sequence,field_sequence; local string l_message; {Lead ID} call with name "Explorer_Add_Column_To_Object" in dictionary SMARTLIST, IG_PROD_ID, {dictionary} SMARTLIST_OBJECTTYPE_LEADS, {object} IG_PROD_ID, {found where} resourceid(field 'Lead ID'), {field id} "Lead ID", {display name} technicalname(field 'Lead ID'), {column name} true, {Included in the default query} SMARTLIST_DATATYPE_STRING, 1, {Not a radio group} false, {Not advanced lookup field} false, {Not user defined field} display_sequence, field_sequence, l_error; if l_error <> OKAY and l_error <> DUPLICATE then set l_message to getmsg(22003); substitute l_message, "Explorer_Add_Column_To_Object", str(l_error); error l_message; end if; {Lead Name} call with name "Explorer_Add_Column_To_Object" in dictionary SMARTLIST, IG_PROD_ID, {dictionary} SMARTLIST_OBJECTTYPE_LEADS, {object} IG_PROD_ID, {found where} resourceid(field 'Lead Name'), {field id} "Lead Name", {display name} technicalname(field 'Lead Name'), {column name} true, {Included in the default query} SMARTLIST_OBJECTTYPE_LEADS, 1, {Not a radio group} false, {Not advanced lookup field} false, {Not user defined field} display_sequence, field_sequence, l_error; if l_error <> OKAY and l_error <> DUPLICATE then set l_message to getmsg(22003); substitute l_message, "Explorer_Add_Column_To_Object", str(l_error); error l_message; end if;