If you are writing custom datareader for Catalog Entry Merchandising Association Dataload, here is the sample snippet for different BOD Objects to set,
// ----------------------------------- Adding Source Catalog Entry
// Create PartNumberIdentifierType Object
PartNumberIdentifierType partNumberIdentifierType = CommerceFoundationFactory.eINSTANCE.createPartNumberIdentifierType();
partNumberIdentifierType.setPartNumber("Moto-G");
// Create CatalogEntryIdentifierType Object
CatalogEntryIdentifierType CatIdentifierType = CommerceFoundationFactory.eINSTANCE.createCatalogEntryIdentifierType();
CatIdentifierType.setExternalIdentifier(partNumberIdentifierType);
// Create Basic Details of Catentry Object
CatalogEntryType catEntryType = CatalogFactory.eINSTANCE.createCatalogEntryType();
catEntryType.setCatalogEntryIdentifier(CatIdentifierType);
List<AssociationType> catentryAssoTypeList = catEntryType.getAssociation();
// ----------------------------------- Adding Merchandising Association 1
// Create PartNumberIdentifierType Object
PartNumberIdentifierType partNumberIdentifierType1 = CommerceFoundationFactory.eINSTANCE.createPartNumberIdentifierType();
partNumberIdentifierType1.setPartNumber("Moto-G-FlipCover");
// Create CatalogEntryIdentifierType Object
CatalogEntryIdentifierType CatIdentifierType1 = CommerceFoundationFactory.eINSTANCE.createCatalogEntryIdentifierType();
CatIdentifierType1.setExternalIdentifier(partNumberIdentifierType1);
CatalogEntryReferenceType catEntRefType1 = CatalogFactory.eINSTANCE.createCatalogEntryReferenceType();
catEntRefType1.setCatalogEntryIdentifier(catalogEntryIdentifierType);
// Association Type
AssociationType associationType1 = CatalogFactory.eINSTANCE.createAssociationType();
associationType1.setCatalogEntryReference(catEntRefType);
associationType1.setName("Accessory");
associationType1.setQuantity(Double.parseDouble("1"));
associationType1.setDisplaySequence("1");
// Adding created Merchandising Association to the list
catentryAssoTypeList.add(associationType1);
// ----------------------------------- Adding Merchandising Association 2
// Create PartNumberIdentifierType Object
PartNumberIdentifierType partNumberIdentifierType2 = CommerceFoundationFactory.eINSTANCE.createPartNumberIdentifierType();
partNumberIdentifierType2.setPartNumber("Moto-X");
// Create CatalogEntryIdentifierType Object
CatalogEntryIdentifierType CatIdentifierType2 = CommerceFoundationFactory.eINSTANCE.createCatalogEntryIdentifierType();
CatIdentifierType2.setExternalIdentifier(partNumberIdentifierType);
CatalogEntryReferenceType catEntRefType2 = CatalogFactory.eINSTANCE.createCatalogEntryReferenceType();
catEntRefType2.setCatalogEntryIdentifier(catalogEntryIdentifierType);
// Association Type
AssociationType associationType2 = CatalogFactory.eINSTANCE.createAssociationType();
associationType2.setCatalogEntryReference(catEntRefType);
associationType2.setName("UpSell");
associationType2.setQuantity(Double.parseDouble("1"));
associationType2.setDisplaySequence("1");
// Adding created Merchandising Association to the list
catentryAssoTypeList.add(associationType2);
Set this prepared CatalogEntryType to DataLoadBusinessObject and return the same in next() method for the Custom Data Reader.
// ----------------------------------- Adding Source Catalog Entry
// Create PartNumberIdentifierType Object
PartNumberIdentifierType partNumberIdentifierType = CommerceFoundationFactory.eINSTANCE.createPartNumberIdentifierType();
partNumberIdentifierType.setPartNumber("Moto-G");
// Create CatalogEntryIdentifierType Object
CatalogEntryIdentifierType CatIdentifierType = CommerceFoundationFactory.eINSTANCE.createCatalogEntryIdentifierType();
CatIdentifierType.setExternalIdentifier(partNumberIdentifierType);
// Create Basic Details of Catentry Object
CatalogEntryType catEntryType = CatalogFactory.eINSTANCE.createCatalogEntryType();
catEntryType.setCatalogEntryIdentifier(CatIdentifierType);
List<AssociationType> catentryAssoTypeList = catEntryType.getAssociation();
// ----------------------------------- Adding Merchandising Association 1
// Create PartNumberIdentifierType Object
PartNumberIdentifierType partNumberIdentifierType1 = CommerceFoundationFactory.eINSTANCE.createPartNumberIdentifierType();
partNumberIdentifierType1.setPartNumber("Moto-G-FlipCover");
// Create CatalogEntryIdentifierType Object
CatalogEntryIdentifierType CatIdentifierType1 = CommerceFoundationFactory.eINSTANCE.createCatalogEntryIdentifierType();
CatIdentifierType1.setExternalIdentifier(partNumberIdentifierType1);
CatalogEntryReferenceType catEntRefType1 = CatalogFactory.eINSTANCE.createCatalogEntryReferenceType();
catEntRefType1.setCatalogEntryIdentifier(catalogEntryIdentifierType);
// Association Type
AssociationType associationType1 = CatalogFactory.eINSTANCE.createAssociationType();
associationType1.setCatalogEntryReference(catEntRefType);
associationType1.setName("Accessory");
associationType1.setQuantity(Double.parseDouble("1"));
associationType1.setDisplaySequence("1");
// Adding created Merchandising Association to the list
catentryAssoTypeList.add(associationType1);
// ----------------------------------- Adding Merchandising Association 2
// Create PartNumberIdentifierType Object
PartNumberIdentifierType partNumberIdentifierType2 = CommerceFoundationFactory.eINSTANCE.createPartNumberIdentifierType();
partNumberIdentifierType2.setPartNumber("Moto-X");
// Create CatalogEntryIdentifierType Object
CatalogEntryIdentifierType CatIdentifierType2 = CommerceFoundationFactory.eINSTANCE.createCatalogEntryIdentifierType();
CatIdentifierType2.setExternalIdentifier(partNumberIdentifierType);
CatalogEntryReferenceType catEntRefType2 = CatalogFactory.eINSTANCE.createCatalogEntryReferenceType();
catEntRefType2.setCatalogEntryIdentifier(catalogEntryIdentifierType);
// Association Type
AssociationType associationType2 = CatalogFactory.eINSTANCE.createAssociationType();
associationType2.setCatalogEntryReference(catEntRefType);
associationType2.setName("UpSell");
associationType2.setQuantity(Double.parseDouble("1"));
associationType2.setDisplaySequence("1");
// Adding created Merchandising Association to the list
catentryAssoTypeList.add(associationType2);
Set this prepared CatalogEntryType to DataLoadBusinessObject and return the same in next() method for the Custom Data Reader.