In Sitecore Commerce, catalog entities in the Commerce Engine database are displayed in Content Editor as an item. This behavior is implemented through the customized data provider.
Sometimes, especially after the installation of Commerce, all or some entities are missing in Content Editor.
When this happens, check the following information in your Sitecore.
When a data-related problem occurs, the "Refresh Commerce Cache" command may help you. Try executing this in the Commerce tab on the ribbon.
To display entities in Content Editor, you need to configure which catalog is used in the
Commerce Catalog Folder item. This item is in some location:
If no catalogs are selected in the
Selected Catalogs field, its categories and sellable items aren't displayed.
Rechecking (uncheck and check) the selected catalog may be effective in some cases.
Catalog entities are from the Shared Environment database via the Commerce Authoring server. So that the server needs to be working properly. Confirm the server is started and no errors in the log file. You can find the log in the following location.
<Commerce Authoring>\wwwroot\logs\SCF.<Date>.log.<Random ID>.txt
An error I have encountered is Global.json (in
Commerce Engine\wwwroot\bootstrap) has a non-escaped value in the SQL server name. This happens if you set the SQL server that has a backslash (like
.\SQLEXPRESS) when installation.
Category and SellableItem entities have a property that indicates their parent category or catalog. So make sure the
ParentCategoryList property of a missing item is properly set. You can get the properties by executing the following query in the Shared Environment database.
USE Commerce_SharedEnvironments SELECT Id, EntityVersion, JSON_VALUE(Entity, '$.ParentCategoryList') AS ParentCategoryList, JSON_VALUE(Entity, '$.ParentCatalogList') AS ParentCatalogList FROM sitecore_commerce_storage.CatalogEntities AS CatalogEntities INNER JOIN sitecore_commerce_storage.CatalogEntity AS CatalogEntity ON CatalogEntities.UniqueId = CatalogEntity.UniqueId WHERE Id = 'an entity ID of your missing item'
If the missing entities are imported from external data storage like PIM, check your code of pipeline about importing sellable items or categories.
Almost cause is by a connection error to Authoring Engine or SQL databases, so you should check around there. If you find more causes, please tell me in a comment.