I'm new to coding & Salesforce. I'm trying to create a custom object. The code is below. Will I be able to use my custom object 'OrgPackages__c' right under the last line of this code and fill it in with values from a query result? My custom field 'Name' will be populated with the result from 'SELECT Name FROM Publisher'. After populating my custom field 'Name' with the names from the query, I would want to retrieve the result from my custom object.
//custom object
MetadataService.MetadataPort metadataservice = new MetadataService.MetadataPort();
metadataservice .SessionHeader = new MetadataService.SessionHeader_element();
metadataservice .SessionHeader.sessionId = UserInfo.getSessionId();
List<MetadataService.Metadata> fields = new List<MetadataService.Metadata>();
MetadataService.CustomObject customobject = new MetadataService.CustomObject();
customobject.fullName = 'OrgPackages__c';
customobject.label = 'Org Packages';
customobject.pluralLabel = 'Org Packages';
fields.add(customobject);
metadataservice.createMetadata(fields);
//custom field
MetadataService.CustomField customField = new MetadataService.CustomField();
customField.fullName = 'Name';
customField.label = 'Name';
customField.defaultvalue = 'false';
customField.type_x = 'Text';
fields.add(customField);
metadataservice.createMetadata(fields);
Edit starts here:
Hi @david-reed . You're correct. I'm trying to combine values from multiple queries if it's possible. My class had to return the packages installed in the org. It should include the package name, version, license, and the dates installed/updated. However, I need to return something that looks like below. To get those details, I will be needing Publisher and PackageLicense with their NamespacePrefix to cross-reference the results from 2 separate queries. The name and version of the package will be retrieved from 'Publisher' while the license status and the dates will come from 'PackageLicense'. I was told to search for Metadata as it might help me with this.
packages:[
{
package:"Package1",
version:"1.12",
license:"Free",
date_installed: "",
date_updated: ""
},
{
package:"Package2",
version:"1.30",
license:"Free",
date_installed: "",
date_updated: ""
},