Why one of the independent tables imported from an Excel is not displaying all data?
Application Type
Mobile
Service Studio Version
11.50.11 (Build 47949)
Platform Version
11.13.0 (Build 31107)

I have imported several tables from an Excel:

The data is displayed:

However, I noticed that one value is missing: Watermelon. My guessing is that is only considering the values that are in the combined table: But the question is why? I dragged and dropped only the Product entity:

Any idea what did I do wrong? Or what am I doing wrong?

Thanks.

P.S.:

I want to understand what I'm doing wrong not only the solution.

ShoppingList.oml

mvp_badge
MVP
Solution

Hi Fedrico,

When you dragged & drop the Product entity on the List widget in the second Tab Content section, the tool looked for the available field references within the screen scope. As a result, the GetMyLists Aggregate, already defined/available with the Product entity as a source, is automatically referenced to the Product List widget.

Check the below screen capture.. The Product List widget (defined in the second Tab Content) is referencing to the GetMyLists aggregate which does have the JOIN conditions.

For your use-case, you will have to manually define an Aggregate referencing to the Product Entity as the only Source entity and map the same to the Product List widget (defined in the second Tab Content section).

Note: The accelerator feature of the tool doesn't need to work as you expect at every instance. Some of the accelerated implementations need to be checked & customized manually as per your need.


Refer to the attached .oml file


I hope this helps you!


Kind regards,

Benjith Sam

ShoppingList.oml

mvp_badge
MVP

Hi Federico,

It is because of the JOIN condition defined in the GetMyLists aggregate.

The JOIN condition says: Get me all the Products which are referenced in the MyList entity as FK attribute value (i.e. ProductId2 attribute). And, In your case the Watermelon productId is not referenced in any of the MyList record entries.


Solution: 

Either you should have an entry/record in the MyList entity referencing the Watermelon ProductId 

or

Swap the entity declaration in the JOIN, i.e. Product With or Without MyList. Which means get me the list of all the Product entity records irrespective of the entry in the MyList entity.


I hope this helps you!


Kind regards,

Benjith Sam

Hi Benjith,

But the join is for this tab (My List):

That represents this entity (MyList):

After I added that List, I dragged and dropped the next entity (Product) to my other List:

That is related to this tab (Products):

That in my opinion, it has to display everything that the table (Products) contains. There shouldn't be any join because it's one of the main tables.

Perhaps, you can drag and drop the entity Products in your IDE and check if it works in the browser after deployment, maybe I did something wrong. I'm quite fresh in OutSystems. Thanks for your time.

mvp_badge
MVP
Solution

Hi Fedrico,

When you dragged & drop the Product entity on the List widget in the second Tab Content section, the tool looked for the available field references within the screen scope. As a result, the GetMyLists Aggregate, already defined/available with the Product entity as a source, is automatically referenced to the Product List widget.

Check the below screen capture.. The Product List widget (defined in the second Tab Content) is referencing to the GetMyLists aggregate which does have the JOIN conditions.

For your use-case, you will have to manually define an Aggregate referencing to the Product Entity as the only Source entity and map the same to the Product List widget (defined in the second Tab Content section).

Note: The accelerator feature of the tool doesn't need to work as you expect at every instance. Some of the accelerated implementations need to be checked & customized manually as per your need.


Refer to the attached .oml file


I hope this helps you!


Kind regards,

Benjith Sam

ShoppingList.oml

Thanks, Benjith.  I created this as an idea then:

Idea - Drag and drop tables in lists should create independent aggregates | OutSystems 

Personally, I have a long background in Software Development, but right now, I'm trying to think as low code as possible, if it's possible no code. I agree that certain things require some "coding" but my purpose in using OutSystems is to use as few code as possible. 

mvp_badge
MVP

You're welcome, Federico. Glad to help you :)

Wish you the best in this new journey :)


Kind regards,

Benjith Sam

Hi Federico,

Just checked your oml. Thanks for providing that, it sure helps to troubleshoot. I noticed the bootstrap timers were running into an error (since the ID of every entity was being set to nullIdentifier, in combination of AutoNumber false).

So returning to your question. From what I see, the GetMyLists aggregate retrieves the data that you are displaying on the screen, based on three entities (MyList, Product, LocalUser).

I think you may have 'drag and dropped' the MyList entity, as that will result in the aggregate GetMyList. So you will only see the products that are 'linked' to a MyList record. Since you do not have any MyList record in your entity with Watermelon as product, you are not seeing it being retrieved.


If you 'Drag and Drop' the product entity, you will see that ALL products will be rerieved.


Does this help you in any way?


Regads,


Shahin

Hi Shahin, I dragged and drop first the MyList entity:

After I added the first entity (MyList) to my first list, I dragged and dropped the next entity (Product) to my second List:

Any idea why it didn't work? Can you try in your IDE if it works after deploying to the browser? Perhaps, it's a bug, I noticed even another idea/bug recently:

Idea - Use default IDs from the Excels Columns when you import Excels | OutSystems

Regarding the nulls, how would you fix it?

Thanks.


Community GuidelinesBe kind and respectful, give credit to the original source of content, and search for duplicates before posting.