Selecting assemblies and operations in MES End Activity is SLOW

Start Activity… makes sense now.
Bypassing the dropdown fields altogether is the only way I know (since performance sucks).
If users don’t have to search for their job numbers you might be able to speed things up.
e.g. Working off a traveler?
I added custom fields to Start Activity so values can be entered directly, so no lookup to populate the dropdown list.
Might also go the extra mile and add custom bar codes to the travelers - to sync with the custom field entry, tab thru the form. e.g. user clicks start the activity button, scans the bar code and that’s it.

If you search for concatenated bar codes and MES you should be able to find several examples.

Here’s a screen shot of a custom form… before I cleaned it up for production.
Std and custom fields. button and labels.
image

Bruce, users do have access to a traveler so they know the Job Number, Assembly Number, and Operation Number.

I’m not the greatest with customizations. You said that you added custom fields to the Start Activity screen. Are these new fields that were added to the database that link back to the Job, Assembly, and Operation or are these those fields added in a different way to speed them up?

I think I got the boxes linked. Here’s what they look like

image

Does this look correct? I put the Start.JobNum in the EpiBinding. I believe that’s the correct field.

Getting the Process Values box I’m stumped on. Can you give me some help on that if my first customization is correct?

Since this is custom, you are likely returning every job. That will slow things down.

I used 3 unbound controls to act a a buffer - where I enter/scan the Job/Asm/Op
The button/custom code then starts the activiy using those values.
I’ll try to add as a zip to this thread for you sometime today.

Also, in the eman time youcan try searching for thread on adding concatnation to bar codes for Start Activity.
I remember one by Jose where he gave a great explanation on why that standard job searh button on Start Activity is so slow. He also had a nice solution but… that one was E10 specific.

That would be great, Bruce. I would love to see how it is done. It is something we would consider doing here. If we don’t have scanners, could they manually input the data and click the process button? We’re in the process of getting scanners but not quite there.

Yes

Here ya’ go.
Zip includes components and an instruction sheet.

V8.03.410 - Custom Start Activity and JobTrav Bar Code.zip (544.2 KB)

The form should work as is for 8.03.410 - but you’ll need to set up the items to “call” it from the menu.

Probably won’t be able to use those custom JobTravelers though as they require a 3rd party font.
But… there are lots of threads with examples on this site showing how to build them with DWBAR32.

I put this in the script editor. I went to run it (I did change the company code to ours) and received a bunch of errors. Any thoughts I what I did wrong?

The following application error was encountered:

--------compile errors------------
Error: BC30037 - line 1 (1) - Character is not valid.
Error: BC30636 - line 2 (2) - ‘>’ expected.
Error: BC30636 - line 3 (3) - ‘>’ expected.
Error: BC30188 - line 3 (3) - Declaration expected.
Error: BC30188 - line 3 (3) - Declaration expected.
Error: BC30188 - line 3 (3) - Declaration expected.
Error: BC30188 - line 3 (3) - Declaration expected.
Error: BC30188 - line 3 (3) - Declaration expected.
Error: BC30636 - line 4 (4) - ‘>’ expected.
Error: BC30188 - line 4 (4) - Declaration expected.
Error: BC30636 - line 5 (5) - ‘>’ expected.
Error: BC30188 - line 5 (5) - Declaration expected.
Error: BC30636 - line 6 (6) - ‘>’ expected.
Error: BC30188 - line 6 (6) - Declaration expected.
Error: BC30636 - line 7 (7) - ‘>’ expected.
Error: BC30188 - line 7 (7) - Declaration expected.
Error: BC30636 - line 8 (8) - ‘>’ expected.
Error: BC30188 - line 8 (8) - Declaration expected.
Error: BC30636 - line 9 (9) - ‘>’ expected.
Error: BC30188 - line 9 (9) - Declaration expected.
Error: BC30636 - line 10 (10) - ‘>’ expected.
Error: BC30188 - line 10 (10) - Declaration expected.
Error: BC30636 - line 11 (11) - ‘>’ expected.
Error: BC30188 - line 11 (11) - Declaration expected.
Error: BC30636 - line 12 (12) - ‘>’ expected.
Error: BC30188 - line 12 (12) - Declaration expected.
Error: BC30636 - line 13 (13) - ‘>’ expected.
Error: BC30188 - line 13 (13) - Declaration expected.
Error: BC30636 - line 14 (14) - ‘>’ expected.
Error: BC30188 - line 14 (14) - Declaration expected.
Error: BC30636 - line 15 (15) - ‘>’ expected.
Error: BC30188 - line 15 (15) - Declaration expected.
Error: BC30636 - line 16 (16) - ‘>’ expected.
Error: BC30188 - line 16 (16) - Declaration expected.
Error: BC30203 - line 17 (17) - Identifier expected.
Error: BC30188 - line 17 (17) - Declaration expected.
Error: BC30203 - line 18 (18) - Identifier expected.
Error: BC30188 - line 18 (18) - Declaration expected.
Error: BC30203 - line 19 (19) - Identifier expected.
Error: BC30188 - line 19 (19) - Declaration expected.
Error: BC30636 - line 20 (20) - ‘>’ expected.
Error: BC30188 - line 20 (20) - Declaration expected.
Error: BC30636 - line 21 (21) - ‘>’ expected.
Error: BC30188 - line 21 (21) - Declaration expected.
Error: BC30636 - line 22 (22) - ‘>’ expected.
Error: BC30188 - line 22 (22) - Declaration expected.
Error: BC30636 - line 23 (23) - ‘>’ expected.
Error: BC30188 - line 23 (23) - Declaration expected.
Error: BC30636 - line 24 (24) - ‘>’ expected.
Error: BC30188 - line 24 (24) - Declaration expected.
Error: BC30636 - line 25 (25) - ‘>’ expected.
Error: BC30188 - line 25 (25) - Declaration expected.
Error: BC30636 - line 26 (26) - ‘>’ expected.
Error: BC30188 - line 26 (26) - Declaration expected.
Error: BC30636 - line 27 (27) - ‘>’ expected.
Error: BC30188 - line 27 (27) - Declaration expected.
Error: BC30636 - line 28 (28) - ‘>’ expected.
Error: BC30188 - line 28 (28) - Declaration expected.
Error: BC30636 - line 29 (29) - ‘>’ expected.
Error: BC30188 - line 29 (29) - Declaration expected.
Error: BC30636 - line 30 (30) - ‘>’ expected.
Error: BC30188 - line 30 (30) - Declaration expected.
Error: BC30636 - line 31 (31) - ‘>’ expected.
Error: BC30188 - line 31 (31) - Declaration expected.
Error: BC30636 - line 32 (32) - ‘>’ expected.
Error: BC30188 - line 32 (32) - Declaration expected.
Error: BC30203 - line 33 (33) - Identifier expected.
Error: BC30188 - line 33 (33) - Declaration expected.
Error: BC30203 - line 34 (34) - Identifier expected.
Error: BC30188 - line 34 (34) - Declaration expected.
Error: BC30203 - line 35 (35) - Identifier expected.
Error: BC30188 - line 35 (35) - Declaration expected.
Error: BC30636 - line 36 (36) - ‘>’ expected.
Error: BC30188 - line 36 (36) - Declaration expected.
Error: BC30188 - line 36 (36) - Declaration expected.
Error: BC30188 - line 36 (36) - Declaration expected.
Error: BC30188 - line 36 (36) - Declaration expected.
Error: BC30188 - line 36 (36) - Declaration expected.
Error: BC30188 - line 36 (36) - Declaration expected.
Error: BC30188 - line 36 (36) - Declaration expected.
Error: BC30188 - line 36 (36) - Declaration expected.
Error: BC30188 - line 36 (36) - Declaration expected.
Error: BC30188 - line 36 (36) - Declaration expected.
Error: BC30188 - line 36 (36) - Declaration expected.
Error: BC30636 - line 37 (37) - ‘>’ expected.
Error: BC30188 - line 37 (37) - Declaration expected.
Error: BC30636 - line 38 (38) - ‘>’ expected.
Error: BC30188 - line 38 (38) - Declaration expected.
Error: BC30636 - line 39 (39) - ‘>’ expected.
Error: BC30188 - line 39 (39) - Declaration expected.
Error: BC30636 - line 40 (40) - ‘>’ expected.
Error: BC30188 - line 40 (40) - Declaration expected.
Error: BC30203 - line 41 (41) - Identifier expected.
Error: BC30188 - line 41 (41) - Declaration expected.
Error: BC30203 - line 42 (42) - Identifier expected.
Error: BC30188 - line 42 (42) - Declaration expected.
Error: BC30203 - line 43 (43) - Identifier expected.
Error: BC30188 - line 43 (43) - Declaration expected.
Error: BC30203 - line 44 (44) - Identifier expected.
Error: BC30188 - line 44 (44) - Declaration expected.
Error: BC32035 - line 45 (45) - Attribute specifier is not a complete statement. Use a line continuation to apply the attribute to the following statement.
Error: BC30041 - line 0 (0) - Maximum number of errors has been exceeded.

** Compile Failed. **

I included two versions of the file - one that you could import via Customization Maintenance and another file that should import via Development mode.

Did you import one of the customization files?
If instead you opened the file in some editor and then tried to copy/paste directly into a new V8 customization you could have issues like what you’ve shown above. Also note this an old VB customization NOT C#.

If you did import directly, and it still fails… what version of V8 are you on?

Nevermind, I got the customization to import. I had imported incorrectly by pasting it into the Script Editor instead of the Tools -> Custom XML Editor.

That imported the customizations but then another issue happens. I type in the Job, Asm, and Op and hit Process Scanned Values. Nothing seems to happen. If I click the OK button it says Valid Job Number Required.

Is there something that has to be done with the Process Scanned Values button?

Should just need to enter Job/Asm/Op in the custom fields and click the process button.

There are “End User” instructions included in a section at the end of the Word Doc.
Should have been in that zip?

Are you sure the Job/Asm/Op you used is valid? Since typos are so common, why scanning from a traveler is the ultimate fix.

Finally, in the VB, there are several messagebox lines that are remmed out.
You could re-enable those to help you step thru the sequence - find/understand any potential use issues.

If you look at the code for the button click, you’ll notice it is really simple.
Just copies values from the custom fields to the standard fields. i.e. bypassing the lookup for that std combo (the lookup being the thing that can slow the process).

When I click on the Process Button, nothing happens. If I go to the OK button, it then says a valid job number is needed.

The job/asm/op is valid. I grabbed it from the MES program using the standard options. I thought that might have been the issue to begin with but it doesn’t look like it is.

I see in the End User Instructions it mentions the button click copies ShortChar01, Number01, and Number02 to the appropriate database fields. I found those fields in the Field Map Maintenance. The source field for those are blank. Is that correct?

Forgot to mention in the last reply that we are on 8.03.407.

Yes…

That might be a problem… I have no way to test here.

You could try re-enabling messageboxes to get some feedback
for example, remove the ’ before this — ’ MessageBox.Show(“Before Close”)
or add some of your own messageboxes at key points.
for example, after Dim sJobScan As String = edvStart.dataView(edvStart.Row)(“ShortChar01”).ToString()
a new line with MessageBox.Show("Job Entered: " + sJobScan)

Or, you could rebuild from scratch in your version - you’ll find there really isn’t much to this.
You just need to use the same control names and adjust the guids if needed.
(and may want to verify the current guids references in this customization are a match for your version 8.03.407)

BTW… I forgot to mention.
If you do get it working, when you click “process scanned values” there could still be a lag before you are returned to the main MES screen. (usually only the very first time the form is used)
That is because the otrans update can still trigger the lookup and parse thru all jobs.
This customization just allows you to enter a jobnum/asm/opseq directly BEFORE that lookup would occur. Since in my case I am scanning from the Traveler, I didn’t care, I just know there are no typos and that it will complete eventually, so I didn’t have to wait to see the results.
However, this isn’t ideal and is a reason that Jose’s example is (a lot) better, but unfortunately for you… that one is E10 specific.

image
image

Bruce,

You lost me when you said “You could try re-enabling messageboxes to get some feedback
for example, remove the ’ before this — ’ MessageBox.Show(“Before Close”)”…

I have very little experience in coding and I don’t understand what that does or how to even do that. But that’s okay. You’ve gotten me a lot further than I had been. I might try bringing in some outside eyes to see what they can see that I’m missing.The code pulled in everything but a working button.