Expand my Community achievements bar.

SOLVED

Recipient Form and 1-1 link with non existing data

Avatar

Level 2

Good afternoon guys,


I'm having a issue while designing the form that presents the Recipient data.

In the Database I've satellite tables that might or not be populated if this recipient has that kind of characteristics, our recipient form is use only as a way to see information about a recipient and I'm designing it around that concept, by hinding the contexts that this recipient does not include, for example he might or not be part of the loyalty program and will only have an entry in the loyalty table if he does belong to it.

I can hide the data via the use of containers but ACC tries to load it non the less and throws out an error saying that such data does not exist (it is not suppose to).

So my question is how to prevent ACC from loading data about a recipient that it does not have and is not supposed to?

How the container is at the moment:

contatiner.JPG

The actual error:

eror data.JPG


Kind Regards,

Bruno Cotrim

1 Accepted Solution

Avatar

Correct answer by
Level 10

Hi Bruno,

The error displayed may depends on the schema source definition for your satellite tables, dblink, if you used reverse link or not, etc.

Please describe how you manage the relationship depending on the cardinality 0:n or 0:1 or n:n, with reverse link or not (reverseCardinality, etc) ?

Please in case of elements of type link, most of time used for lookup tables (referential tables) values to display in the main form (here recipient), may you also share the <join xpath-dst="@DSTKEY_ID" xpath-src="@SRCKEY_ID"/> in the element of type="link" of the schema customized cus:recipient (or whatever the prefix)?

But it seems that it is not your issue in your case.

Example with my own nms:recipient form:

<!-- Shop orders -->

  <container img="nms:reserveOrder.png" label="Shop orders" readOnly="true">

    <container colspan="2" label="Shop orders list" type="visibleGroup" visibleIf="[SHOP_ORDERS-Nms-Recipient_XXX_ID/@XXX_ID]= [InfosYYY/@MasterId] AND [SHOP_ORDERS-Nms-Recipient_XXX_ID/@XXX_ID] != 0">

(XXX and YYY replacement for security reasons.).

Moreover, most of times, it is highly recommended to insert a record with ID = 0 value in each satellite table, because Adobe Campaign simulates external join to avoid performance issues.
I don't find easily where it is written in the online documentation, but I am sure this is documented.

Regards
J-Serge

View solution in original post

3 Replies

Avatar

Community Advisor

Hi,

Remove the xpath from the container node.

Thanks,

-Jon

Avatar

Level 2

Hey Jon,


Just tried that and it still throws the error out...

This is the complete structure of the container:

Form Capture.JPG

Edit: I also tried removing the container with the linklist unfortunately same thing :/

Kind Regards,

Bruno Cotirm

Avatar

Correct answer by
Level 10

Hi Bruno,

The error displayed may depends on the schema source definition for your satellite tables, dblink, if you used reverse link or not, etc.

Please describe how you manage the relationship depending on the cardinality 0:n or 0:1 or n:n, with reverse link or not (reverseCardinality, etc) ?

Please in case of elements of type link, most of time used for lookup tables (referential tables) values to display in the main form (here recipient), may you also share the <join xpath-dst="@DSTKEY_ID" xpath-src="@SRCKEY_ID"/> in the element of type="link" of the schema customized cus:recipient (or whatever the prefix)?

But it seems that it is not your issue in your case.

Example with my own nms:recipient form:

<!-- Shop orders -->

  <container img="nms:reserveOrder.png" label="Shop orders" readOnly="true">

    <container colspan="2" label="Shop orders list" type="visibleGroup" visibleIf="[SHOP_ORDERS-Nms-Recipient_XXX_ID/@XXX_ID]= [InfosYYY/@MasterId] AND [SHOP_ORDERS-Nms-Recipient_XXX_ID/@XXX_ID] != 0">

(XXX and YYY replacement for security reasons.).

Moreover, most of times, it is highly recommended to insert a record with ID = 0 value in each satellite table, because Adobe Campaign simulates external join to avoid performance issues.
I don't find easily where it is written in the online documentation, but I am sure this is documented.

Regards
J-Serge