-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathcopy_part.js
62 lines (45 loc) · 1.73 KB
/
copy_part.js
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
function rw(foo){WScript.Echo(foo);}
var FCApp = WScript.CreateObject('FCFLCompat.FCApplication');
if( FCApp.IsFcflNet ) {
rw('Platform = fcSDK');
}else{
rw('Platform = FCFL');
}
FCApp.Initialize();
var FCSession=FCApp.CreateSession();
FCSession.LoginFromFCApp();
var boPartNum = FCSession.CreateGeneric('part_num');
boPartNum.AppendFilter('part_number','=','AAAA');
var boModLevel = FCSession.CreateGeneric('mod_level');
boModLevel.TraverseFromParent (boPartNum,'part_num2mod_level');
boModLevel.AppendSort('objid','asc');
boPartNum.Bulk.Query();
var boNewPartNum = FCSession.CreateGeneric('part_num');
boNewPartNum.AddNew();
boNewPartNum.BulkName="foo";
boNewPartNum('part_number') = 'AAAA_fcsdk_copy14';
boNewPartNum("domain") = boPartNum("domain");
boNewPartNum('part_num2domain') = boPartNum('part_num2domain');
boNewPartNum('part_num2part_class') = boPartNum('part_num2part_class');
boNewPartNum.BulkName = "foo";
boNewPartNum.Bulk.NoSorting = true;
//workaround:
//boNewPartNum.Update();
// create copies of any and all revisions and set all relations
var boNewModLevel = FCSession.CreateGeneric('mod_level');
boNewModLevel.DBObjectName = "mod_level";
while (boModLevel.EOF != true) {
boNewModLevel.AddNew();
boNewModLevel('mod_level') = boModLevel('mod_level');
boNewModLevel('active') = boModLevel('active');
boNewModLevel("config_type") = boModLevel("config_type");
//boNewModLevel.Bulk = boNewPartNum.Bulk;
boNewModLevel.BulkName = "foo";
boNewModLevel.RelateRecords(boNewPartNum,"part_info2part_num");
//workaround:
//boNewModLevel.Update();
// move to next record
boModLevel.MoveNext();
}
// perform update
boNewPartNum.Bulk.UpdateAll();