Your achievements

Level 1

0% to

Level 2

Tip /
Sign in

Sign in to Community

to gain points, level up, and earn exciting badges like the new
BedrockMission!

Learn more

View all

Sign in to view all badges

SOLVED

About keyword dbEnum in Schema

tumuzhuanjia
Level 3
Level 3

Hi

I am learning the schema of Adobe Campaign V7 . I find the dbEnum keyword in the neo:recipient as the follow.

    <!-- Attribute: Preferred Channel -->

    <attribute dbEnum="channel" desc="Preferred communication channel" label="Preferred channel"

               length="15" name="preferredChannel" sqlname="sPreferredChannel" type="string"/>

And I chekc the guide of dbEnum :dbEnum (string): receives the internal name of a "closed" enumeration. The enumeration values must be defined in the <srcSchema>.

My question is:

(1) I can not find the define of dbEnum="channel"  in the schema. Where it was defined?

(2) How could I extends value for the enumeration  dbEnum="channel" ?

Best regards.

1 Accepted Solution
Jean-Serge_Biro
Correct answer by
Community Advisor
Community Advisor

Hi tumuzhuanjia,

There is a misleading: sysEnum enumerations are defined in the XML schema (srcSchema schema) while dbEnum are defined in the Administration>Platform>Enumerations node (xtk:enum schema).

Nota bene if you create your own enumeration:

Closed enumeration in dbEnum appears to be quite close of a sysEnum one, and for Adobe Campaigns form and webApp forms it is similar use from user point of view. And dbEnum seems easier to manage. But actually, in many cases, sysEnum are mandatory because the dbEnum string value is put as value in the schema (table) using it, while sysEnum allows int values to be inserted instead of the string displayed to select the value. So it is better optimized from SQL point of view (indexes performance, storage space, redundancy rules, string label to change).
But of course usually the choice is made depending of the different user needs.

Regards

Jean-Serge

View solution in original post

4 Replies
Jean-Serge_Biro
Correct answer by
Community Advisor
Community Advisor

Hi tumuzhuanjia,

There is a misleading: sysEnum enumerations are defined in the XML schema (srcSchema schema) while dbEnum are defined in the Administration>Platform>Enumerations node (xtk:enum schema).

Nota bene if you create your own enumeration:

Closed enumeration in dbEnum appears to be quite close of a sysEnum one, and for Adobe Campaigns form and webApp forms it is similar use from user point of view. And dbEnum seems easier to manage. But actually, in many cases, sysEnum are mandatory because the dbEnum string value is put as value in the schema (table) using it, while sysEnum allows int values to be inserted instead of the string displayed to select the value. So it is better optimized from SQL point of view (indexes performance, storage space, redundancy rules, string label to change).
But of course usually the choice is made depending of the different user needs.

Regards

Jean-Serge

View solution in original post

Jean-Serge_Biro
Community Advisor
Community Advisor

Hi tumuzhuanjia,

Sorry, in English, the French node Enumérations seems to be transated by Administration>Platform>Itemized lists, not Enumerations.

And if needed, have a look on Alias values in DbEnum, it allows better management of dbEnum lists.

Regards
J-Serge

tumuzhuanjia
Level 3
Level 3

Hi J-Serge:

Thank you.

That is what I want.  Very professional answer.

Best regards.