データエクステンション、フィルター定義、クエリアクティビティ内のフォルダーの作成

フォルダーを使用してオブジェクトの特定の種別を整理し、アクセスの最適化と構成の向上を実現します。次のサンプルコードを独自の呼び出しのひな型として使用してください。

データエクステンションフォルダー 

1%%[
2
3/* Create the data extension folder */
4
5SET @rr_de_folder = CreateObject("RetrieveRequest")
6SetObjectProperty(@rr_de_folder, "ObjectType", "DataFolder")
7AddObjectArrayItem(@rr_de_folder, "Properties", "ID")
8AddObjectArrayItem(@rr_de_folder, "Properties", "Name")
9
10/* Create and populate a SimpleFilterPart and add it to the RetrieveRequest*/
11    SET @sf1 = CreateObject("SimpleFilterPart")
12    SetObjectProperty(@sf1, "Property", "Name")
13    SetObjectProperty(@sf1, "SimpleOperator", "equals")
14    AddObjectArrayItem(@sf1, "Value", "A-B Test tool")
15
16    SET @sf2 = CreateObject("SimpleFilterPart")
17    SetObjectProperty(@sf2, "Property", "ContentType")
18    SetObjectProperty(@sf2, "SimpleOperator", "equals")
19    AddObjectArrayItem(@sf2, "Value", "DataExtension")
20
21        Set @cf1 = CreateObject("ComplexFilterPart")
22        SetObjectProperty(@cf1,"LeftOperand",@sf1)
23        SetObjectProperty(@cf1,"RightOperand",@sf2)
24        SetObjectProperty(@cf1,"LogicalOperator","AND")
25
26    SetObjectProperty(@rr_de_folder, "Filter", @cf1)
27
28/* Execute the Retrieve */
29SET @rr_de = InvokeRetrieve(@rr_de_folder)
30
31/* DOES A FOLDER EXIST*/
32
33if ROWCOUNT(@rr_de) > 0 then
34
35/* YES */
36SET @de_folderID = field(row(@rr_de,1),"ID")
37else
38
39/* NO */
40
41/* CREATING FOLDER */
42
43Set @df = CreateObject("DataFolder")
44SetObjectProperty(@df,"Name","A-B Test tool")
45SetObjectProperty(@df,"Description","Files associated with ET test tool")
46SetObjectProperty(@df,"ContentType","DataExtension")
47SetObjectProperty(@df,"IsActive",1)
48SetObjectProperty(@df,"IsEditable",1)
49SetObjectProperty(@df,"AllowChildren",1)
50
51Set @pf = CreateObject("DataFolder")
52SetObjectProperty(@pf,"ID", 264239)
53
54SetObjectProperty(@df,"ParentFolder",@pf)
55Set @StatCode = InvokeCreate(@df, @StatMessage, @ErrorCode)
56
57/* Get the folder ID */
58
59SET @rr_de_folder2 = CreateObject("RetrieveRequest")
60SetObjectProperty(@rr_de_folder2, "ObjectType", "DataFolder")
61AddObjectArrayItem(@rr_de_folder2, "Properties", "ID")
62AddObjectArrayItem(@rr_de_folder2, "Properties", "Name")
63
64 SET @sf3 = CreateObject("SimpleFilterPart")
65  SetObjectProperty(@sf3, "Property", "Name")
66  SetObjectProperty(@sf3, "SimpleOperator", "equals")
67  AddObjectArrayItem(@sf3, "Value", "A-B Test tool")
68
69  SET @sf4 = CreateObject("SimpleFilterPart")
70  SetObjectProperty(@sf4, "Property", "ContentType")
71  SetObjectProperty(@sf4, "SimpleOperator", "equals")
72  AddObjectArrayItem(@sf4, "Value", "DataExtension")
73
74Set @cf2 = CreateObject("ComplexFilterPart")
75SetObjectProperty(@cf2,"LeftOperand",@sf3)
76SetObjectProperty(@cf2,"RightOperand",@sf4)
77SetObjectProperty(@cf2,"LogicalOperator","AND")
78
79  SetObjectProperty(@rr_de_folder2, "Filter", @cf2)
80
81/* Execute the Retrieve */
82SET @rr_de2 = InvokeRetrieve(@rr_de_folder2)
83SET @de_folderID = field(row(@rr_de2,1),"ID")
84
85endif
86
87@de_folderID = %%= v(@de_folderID) =%%<br />
88
89]%%

フィルター定義フォルダー 

1SET @rr_filter_folder = CreateObject("RetrieveRequest")
2SetObjectProperty(@rr_filter_folder, "ObjectType", "DataFolder")
3AddObjectArrayItem(@rr_filter_folder, "Properties", "ID")
4AddObjectArrayItem(@rr_filter_folder, "Properties", "Name")
5
6/* Create and populate a SimpleFilterPart and add it to the RetrieveRequest*/
7    SET @sf1 = CreateObject("SimpleFilterPart")
8    SetObjectProperty(@sf1, "Property", "Name")
9    SetObjectProperty(@sf1, "SimpleOperator", "equals")
10    AddObjectArrayItem(@sf1, "Value", "A-B Test tool")
11
12    SET @sf2 = CreateObject("SimpleFilterPart")
13    SetObjectProperty(@sf2, "Property", "ContentType")
14    SetObjectProperty(@sf2, "SimpleOperator", "equals")
15    AddObjectArrayItem(@sf2, "Value", "filterdefinition")
16
17Set @cf1 = CreateObject("ComplexFilterPart")
18SetObjectProperty(@cf1,"LeftOperand",@sf1)
19SetObjectProperty(@cf1,"RightOperand",@sf2)
20SetObjectProperty(@cf1,"LogicalOperator","AND")
21
22    SetObjectProperty(@rr_filter_folder, "Filter", @cf1)
23
24/* Execute the Retrieve */
25SET @rr_filter = InvokeRetrieve(@rr_filter_folder)
26
27/* DOES A FOLDER EXIST*/
28
29if ROWCOUNT(@rr_filter) > 0 then
30
31/* YES */
32SET @filter_folderID = field(row(@rr_filter,1),"ID")
33else
34
35/* NO */
36
37/* CREATING FOLDER */
38
39Set @df = CreateObject("DataFolder")
40SetObjectProperty(@df,"Name","A-B Test tool")
41SetObjectProperty(@df,"Description","Files associated with ET test tool")
42SetObjectProperty(@df,"ContentType","filterdefinition")
43SetObjectProperty(@df,"IsActive",1)
44SetObjectProperty(@df,"IsEditable",1)
45SetObjectProperty(@df,"AllowChildren",1)
46
47Set @pf = CreateObject("DataFolder")
48SetObjectProperty(@pf,"ID", 337465)
49
50SetObjectProperty(@df,"ParentFolder",@pf)
51Set @StatCode = InvokeCreate(@df, @StatMessage, @ErrorCode)
52
53/* Get the folder ID */
54
55SET @rr_filter_folder2 = CreateObject("RetrieveRequest")
56SetObjectProperty(@rr_filter_folder2, "ObjectType", "DataFolder")
57AddObjectArrayItem(@rr_filter_folder2, "Properties", "ID")
58AddObjectArrayItem(@rr_filter_folder2, "Properties", "Name")
59
60 SET @sf3 = CreateObject("SimpleFilterPart")
61  SetObjectProperty(@sf3, "Property", "Name")
62  SetObjectProperty(@sf3, "SimpleOperator", "equals")
63  AddObjectArrayItem(@sf3, "Value", "A-B Test tool")
64
65  SET @sf4 = CreateObject("SimpleFilterPart")
66  SetObjectProperty(@sf4, "Property", "ContentType")
67  SetObjectProperty(@sf4, "SimpleOperator", "equals")
68  AddObjectArrayItem(@sf4, "Value", "filterdefinition")
69
70Set @cf2 = CreateObject("ComplexFilterPart")
71SetObjectProperty(@cf2,"LeftOperand",@sf3)
72SetObjectProperty(@cf2,"RightOperand",@sf4)
73SetObjectProperty(@cf2,"LogicalOperator","AND")
74
75  SetObjectProperty(@rr_filter_folder2, "Filter", @cf2)
76
77/* Execute the Retrieve */
78SET @rr_filter2 = InvokeRetrieve(@rr_filter_folder2)
79SET @filter_folderID = field(row(@rr_filter2,1),"ID")
80 endif
81
82@filter_folderID = %%= v(@filter_folderID) =%%<br />

クエリアクティビティフォルダー 

1SET @rr_query_folder = CreateObject("RetrieveRequest")
2
3SetObjectProperty(@rr_query_folder, "ObjectType", "DataFolder")
4AddObjectArrayItem(@rr_query_folder, "Properties", "ID")
5AddObjectArrayItem(@rr_query_folder, "Properties", "Name")
6
7
8/* Create and populate a SimpleFilterPart and add it to the RetrieveRequest*/
9SET @sf1 = CreateObject("SimpleFilterPart")
10SetObjectProperty(@sf1, "Property", "Name")
11SetObjectProperty(@sf1, "SimpleOperator", "equals")
12AddObjectArrayItem(@sf1, "Value", "A-B Test tool")
13
14SET @sf2 = CreateObject("SimpleFilterPart")
15SetObjectProperty(@sf2, "Property", "ContentType")
16SetObjectProperty(@sf2, "SimpleOperator", "equals")
17AddObjectArrayItem(@sf2, "Value", "queryactivity")
18
19Set @cf1 = CreateObject("ComplexFilterPart")
20SetObjectProperty(@cf1,"LeftOperand",@sf1)
21SetObjectProperty(@cf1,"RightOperand",@sf2)
22SetObjectProperty(@cf1,"LogicalOperator","AND")
23
24SetObjectProperty(@rr_query_folder, "Filter", @cf1)
25
26/* Execute the Retrieve */
27SET @rr_query = InvokeRetrieve(@rr_query_folder)
28
29/* DOES A FOLDER EXIST*/
30
31if ROWCOUNT(@rr_query) > 0 then
32
33    /* YES */
34    SET @query_folderID = field(row(@rr_query,1),"ID")
35
36    else
37
38    /* NO */
39
40    /* CREATING FOLDER */
41
42    Set @df = CreateObject("DataFolder")
43    SetObjectProperty(@df,"Name","A-B Test tool")
44    SetObjectProperty(@df,"Description","Files associated with ET test tool")
45    SetObjectProperty(@df,"ContentType","queryactivity")
46    SetObjectProperty(@df,"IsActive",1)
47    SetObjectProperty(@df,"IsEditable",1)
48    SetObjectProperty(@df,"AllowChildren",1)
49
50    Set @pf = CreateObject("DataFolder")
51    SetObjectProperty(@pf,"ID", 869592)
52
53    SetObjectProperty(@df,"ParentFolder",@pf)
54    Set @StatCode = InvokeCreate(@df, @StatMessage, @ErrorCode)
55
56    /* Get the folder ID */
57
58    SET @rr_query_folder2 = CreateObject("RetrieveRequest")
59    SetObjectProperty(@rr_query_folder2, "ObjectType", "DataFolder")
60    AddObjectArrayItem(@rr_query_folder2, "Properties", "ID")
61    AddObjectArrayItem(@rr_query_folder2, "Properties", "Name")
62
63    SET @sf3 = CreateObject("SimpleFilterPart")
64    SetObjectProperty(@sf3, "Property", "Name")
65    SetObjectProperty(@sf3, "SimpleOperator", "equals")
66    AddObjectArrayItem(@sf3, "Value", "A-B Test tool")
67
68    SET @sf4 = CreateObject("SimpleFilterPart")
69    SetObjectProperty(@sf4, "Property", "ContentType")
70    SetObjectProperty(@sf4, "SimpleOperator", "equals")
71    AddObjectArrayItem(@sf4, "Value", "queryactivity")
72
73    Set @cf2 = CreateObject("ComplexFilterPart")
74    SetObjectProperty(@cf2,"LeftOperand",@sf3)
75    SetObjectProperty(@cf2,"RightOperand",@sf4)
76    SetObjectProperty(@cf2,"LogicalOperator","AND")
77
78    SetObjectProperty(@rr_query_folder2, "Filter", @cf2)
79
80
81    /* Execute the Retrieve */
82    SET @rr_query2 = InvokeRetrieve(@rr_query_folder2)
83    SET @query_folderID = field(row(@rr_query2,1),"ID")
84
85    endif
86
87]%%
88
89@query_folderID =  %%= v(@query_folderID) =%%<br />