1%%[
2/*CREATE THE DATA EXTENSION*/
3Set @de = CreateObject("DataExtension")
4SetObjectProperty(@de,"Name","API-Created Data Extension")
5SetObjectProperty(@de,"CustomerKey","XXXXXXXX")
6SetObjectProperty(@de,"Description","Data Extension Created via API")
7SetObjectProperty(@de,"IsSendable","True")
8SetObjectProperty(@de,"IsTestable","False")
9
10/*DE Folder ID - mouse over in app to get this ID */
11SetObjectProperty(@de,"CategoryID","123")
12
13/* THIS IS THE SENDABLE FIELD */
14Set @deFields = CreateObject("DataExtensionField")
15SetObjectProperty(@deFields,"FieldType","EmailAddress")
16SetObjectProperty(@deFields,"IsRequired","true")
17SetObjectProperty(@deFields,"IsPrimaryKey","true")
18SetObjectProperty(@deFields,"IsNillable","false")
19SetObjectProperty(@deFields,"MaxLength","100")
20SetObjectProperty(@deFields,"Name","email_address")
21AddObjectArrayItem(@de,"Fields",@deFields)
22SetObjectProperty(@de,"SendableDataExtensionField",@deFields)
23 Set @deFields = CreateObject("DataExtensionField")
24SetObjectProperty(@deFields,"FieldType","Text")
25SetObjectProperty(@deFields,"IsRequired","true")
26SetObjectProperty(@deFields,"IsPrimaryKey","false")
27SetObjectProperty(@deFields,"IsNillable","false")
28SetObjectProperty(@deFields,"MaxLength","100")
29SetObjectProperty(@deFields,"Name","subscriber_key")
30AddObjectArrayItem(@de,"Fields",@deFields)
31
32Set @deFields = CreateObject("DataExtensionField")
33SetObjectProperty(@deFields,"FieldType","Text")
34SetObjectProperty(@deFields,"IsRequired","false")
35SetObjectProperty(@deFields,"IsPrimaryKey","false")
36SetObjectProperty(@deFields,"IsNillable","false")
37SetObjectProperty(@deFields,"MaxLength","50")
38SetObjectProperty(@deFields,"Name","first_name")
39AddObjectArrayItem(@de,"Fields",@deFields)
40
41Set @deFields = CreateObject("DataExtensionField")
42SetObjectProperty(@deFields,"FieldType","Text")
43SetObjectProperty(@deFields,"IsRequired","false")
44SetObjectProperty(@deFields,"IsPrimaryKey","false")
45SetObjectProperty(@deFields,"IsNillable","false")
46SetObjectProperty(@deFields,"MaxLength","75")
47SetObjectProperty(@deFields,"Name","last_name")
48AddObjectArrayItem(@de,"Fields",@deFields)
49 /* This field sets how the data extension field above relates to the all subscribers list */
50SET @ts_attr = CreateObject("Attribute")
51SetObjectProperty(@ts_attr, "Name", "Email Address")
52SetObjectProperty(@ts_attr, "Value", "Email Address")
53SetObjectProperty(@de,"SendableSubscriberField",@ts_attr)
54
55Set @StatCode = InvokeCreate(@de, @StatMessage, @ErrorCode)
56
57]%%
58
59Status = %%= v(@StatMessage) =%% -- %%= v(@ErrorCode) =%%