0% found this document useful (0 votes)
173 views4 pages

Work Order Creation Script

This code is creating a new work order in a manufacturing execution system (MES). It gets the user credentials, starts a new session, and then creates the work order by calling the CreateWOFromProcess function. It also updates additional fields like lot number and scheduled start times.
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
173 views4 pages

Work Order Creation Script

This code is creating a new work order in a manufacturing execution system (MES). It gets the user credentials, starts a new session, and then creates the work order by calling the CreateWOFromProcess function. It also updates additional fields like lot number and scheduled start times.
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd

1 Me.WO_ResultText = "Creating Work Order ...

";
2
3 dim userID as string;
4 dim userPwd as string;
5 dim result as [Link];
6 dim DS as [Link];
7
8 clientType = [Link];
9 userID = [Link];
10 userPwd = [Link];
11 specVerId = [Link]; ' Can be customized bayed on process or line specific
versions
12
13 'Diagnostic Information
14 [Link] = 1;
15 [Link] = "Create New Work Order";
16 [Link] = "CreateWO";
17 [Link] = "";
18
19 debug = [Link];
20 if debug then LogMessage("Create WO"); endif;
21
22 'get existing session, if it doesn't exist start new session
23 result = [Link](sessionID, clientType, userID);
24 DS = Result.Dataset_Value;
25 if ([Link](0).[Link] > 0) then
26 'use an existing connection
27 [Link] = [Link](0).Rows(0).item("session_id");
28 [Link] = [Link](0).Rows(0).item("user_id");
29 else
30 ' start client operator session
31 result = [Link]( clientType, sessionId );
32
33 if sessionID > 0 then
34 if debug then LogMessage("Session Started"); endif;
35 [Link] = sessionID;
36 endif;
37 endif;
38
39 If sessionID > 0 then
40
41 'Dim user as [Link];
42 'user = "Admin";
43 'Dim pwd as [Link];
44 'pwd = "Admin";
45 result = [Link](sessionId, userID, userPwd);
46 if [Link] then
47 if debug then LogMessage("MES Logon Succeeded for user "); endif;
48
49 Dim startQty as double;
50
51 startQty = Me.New_Quantity;
52
53 'Starting Job Creation Transaction
54 if debug then LogMessage(" -> Start Transaction"); endif;
55 [Link]();
56
57 Dim releaseTime as [Link];
58 releaseTime = Now();
59
60 sValue = StringTrim( Me.New_Customer, 3);
61 if (sValue == "") OR (sValue == null) then
62 sValue = "-";
63 endif;
64
65 result = [Link]([Link],
[Link].WO_Id, [Link],
[Link], startQty, userID , startQty, null,
[Link].WO_Id + " Desc" , null, null, 1, sValue, Me.New_Process_Order,
Me.New_Long_Lot, null, null, specVerID, null, null );
66 [Link] = [Link];
67 If [Link] then
68 if debug then LogMessage("Creating WO from Process Succeeded"); endif;
69
70 ' ADD Lot update specs for all entities
71 dim t as string;
72 dim dt as [Link];
73
74 for each opEnt in operEntDict
75 ' Check if operattion is final and set job_bom.update_inv flag to
TRUE
76 if [Link] then
77 result = [Link]([Link].WO_Id, [Link]
, 0);
78 if [Link] and result.DataSet_Value.[Link] > 0 and
result.DataSet_Value.Tables(0).[Link] > 0 then
79
80 if debug then LogMessage([Link]("WO [{0}] with
Oper:[{1}] found", [Link].WO_Id,[Link])); endif;
81
82 isFinalJob = false;
83 isFinalJob = result.DataSet_Value.Tables(0).Rows(0).Item(
"final_job");
84
85 dt = result.DataSet_Value.Tables(0).Rows(0).Item("edit_time"
);
86
87 if isFinalJob then
88 LogMessage ([Link](" => Final Job: WO={0},
Oper={1}, IsFinalJob={2}. Set UpdateInv=1 on BomPos=0",
[Link].WO_Id, [Link], isFinalJob));
89 t = null; result = [Link](
[Link], [Link].WO_Id, [Link], 0, 0,
[Link], null, null, null, null,
null, null, null, true, null, null, null, null, null,
null, null, null, null, null, null, null, null, null,
null, null, null, null, null, null, null, null, t );
90 [Link] = [Link] AND
[Link]; LogMessage(
"[Link][UpdateInv]");
91 endif;
92
93 ' Update sched start time to now
94 if [Link] then

's
95 result = [Link]( [Link],
[Link].WO_Id, [Link], 0,null, null, null, null,
null, null, null, null, null, null, null, null, null,
null, null, null, null, null, null, null, null, null,
null, null, null, null, [Link](
[Link]), null, null, null, null, null, null,
null, null, null, null, null, null, null, null, null,
null, null, null, null, null, null, null, dt );
96 [Link] = [Link] AND
[Link]; LogMessage("[Link][Sched
Start Time]");
97 endif;
98
99 ' Update sched start time to now for oven seq no 1 and 2
100 if [Link] == "1100" then
101 ' Update sched start for seq 1 time to now
102 if [Link] then
103 result = [Link](
[Link].WO_Id, [Link], 1);
104 if [Link] and [Link] and
result.DataSet_Value.[Link] > 0 and
result.DataSet_Value.Tables(0).[Link] > 0 then

's
105 dt = result.DataSet_Value.Tables(0).Rows(0).Item
("edit_time");
106 result = [Link](
[Link], [Link].WO_Id, [Link], 1,
null, null, null, null, null, null, null, null,
null, null, null, null, null, null, null, null,
null, null, null, null, null, null, null, null,
null, null, [Link](
[Link]), null, null, null, null,
null, null, null, null, null, null, null, null,
null, null, null, null, null, null, null, null,
null, null, dt );
107 [Link] = [Link] AND
[Link]; LogMessage(
"[Link][Sched Start Time]");
108 endif;
109 endif;
110 ' Update sched start for seq 2 time to now
111 if [Link] then
112 result = [Link](
[Link].WO_Id, [Link], 2);
113 if [Link] and [Link] and
result.DataSet_Value.[Link] > 0 and
result.DataSet_Value.Tables(0).[Link] > 0 then

's
114 dt = result.DataSet_Value.Tables(0).Rows(0).Item
("edit_time");
115 result = [Link](
[Link], [Link].WO_Id, [Link], 2,
null, null, null, null, null, null, null, null,
null, null, null, null, null, null, null, null,
null, null, null, null, null, null, null, null,
null, null, [Link](
[Link]), null, null, null, null,
null, null, null, null, null, null, null, null,
null, null, null, null, null, null, null, null,
null, null, dt );
116 [Link] = [Link] AND
[Link]; LogMessage(
"[Link][Sched Start Time]");
117 endif;
118 endif;
119 endif;
120
121 endif;
122 endif;
123
124 ' Update specific additional specs
125 if [Link] then
126 t = null; result = [Link](
[Link], [Link].WO_Id, [Link], 0, -1, "LotNo",
Me.New_Long_Lot, null, null, null, null, null, null, null, null,
t );
127 [Link] = [Link] AND [Link];
LogMessage("[Link][Lot]");
128 endif;
129
130 if [Link] == "1100" then
131 if [Link] then
132 t = null; result = [Link](
[Link], [Link].WO_Id, [Link], 1, -1, "LotNo",
Me.New_Long_Lot, null, null, null, null, null, null, null,
null, t );
133 [Link] = [Link] AND
[Link]; LogMessage("[Link][Lot]");
134 endif;
135 if [Link] then
136 t = null; result = [Link](
[Link], [Link].WO_Id, [Link], 2, -1, "LotNo",
Me.New_Long_Lot, null, null, null, null, null, null, null,
null, t );
137 [Link] = [Link] AND
[Link]; LogMessage("[Link][Lot]");
138 endif;
139 endif;
140 next;
141
142
143
144 if [Link] then
145 ' All it's OK and we must commit transaction
146 if debug then LogMessage(" <- Commit Transaction"); endif;
147 [Link]();
148 [Link].WO_Selected = [Link].WO_Id;
149 [Link] = true;
150 if debug then LogMessage("Update WO Spec Succeeded"); endif;
151 Me.WO_ResultText = "Work Order '" + [Link].WO_Id + "' Created
Successfully.";
152 else
153 [Link] = "Update WO '" + [Link].WO_Id +
"' Spec Failed";
154 [Link] = 0;
155 [Link] = 1;
156 Me.WO_ResultText = "Failed To Create Work Order '" +
[Link].WO_Id + "'!";
157 endif;
158 '**********************************
159 else
160 [Link] = "Creating WO '" + [Link].WO_Id + "'
from Process Failed: " + [Link];
161 [Link] = 0;
162 [Link] = 1;
163 Me.WO_ResultText = "Failed To Create Work Order '" + [Link].WO_Id
+ "'! [" + [Link] + "]";
164 endif;
165 else
166 [Link] = "User Logon Failed: " + [Link];
167 [Link] = 0;
168 [Link] = 1;
169 Me.WO_ResultText = [Link];
170 endif;
171
172 else
173 [Link] = "Creating WO '" + [Link].WO_Id + "' Failed.
Can't connect to session.";
174 [Link] = 0;
175 [Link] = 1;
176 Me.WO_ResultText = "Failed To Create Work Order '" + [Link].WO_Id + "'!";
177 endif;
178
179
180
181
182 [Link] = false;
183

You might also like