cancel
Showing results for 
Search instead for 
Did you mean: 

Hook to check if serialize is done

Former Member
0 Kudos

Hi,

I want to stop the operator from completing an operation if they have not done serialization.

Is this possible in SAP ME 6.0?

Best Regards,

Johan Nordebrink

Accepted Solutions (1)

Accepted Solutions (1)

Former Member
0 Kudos

Hi Johan,

As far as I have worked, I used to assign an activity hook to the operation, so that we can stop an operation from being completed if activity hook doesn't executes. Probably try with activity DC500(Data Collection). Hope this might meet your requirement, but not 100% sure.

Thanks

Anudeep KM

Former Member
0 Kudos

Hi Anudeep KM,

I am not sure what you are suggesting here. I don't want my users to do any extra Data Collection in the operation. They should just do serialize as a normal activity, but if they forget I don't want them to be able to do the complete and send the SFC to the next operation.

Best Regards,

Johan

Former Member
0 Kudos

Johan

You could do a small Routing script to check the database (looking at the activity log, or the id_used table as that will tell you if it's an SFC number from a shoporder release or a serialise process). Do beware that scripts don't execute if there is only one exit path - so just add a dummy parallel path containing

exit(false);

0 Kudos

Hi Johan,

If you always serialize 1 SFC of qty N to N new SFCs of qty 1 at this opration (but not 1 SFC of qty 1 to a new SFC to qty 1 i.e. simply re-labeling the original SFC), then within the routing script you can use QTY parameter (see section "Scripting" of the How-To Guide on Production Lines setup) to check if it equals to 1. If not, return to in queue.

Regards,

Sergiy

Former Member
0 Kudos

Hi Stuart and Sergiy,

Sometimes we serialize 1 SFC to 1 new SFC (re-label) because the initial SFC label
is put on a scrap-piece of the panel that is thrown away. This makes Sergiys suggestion not possible in this case, but thank you for the hint of the How-to-guide

Stuarts suggestion should work, but I am lacking examples in the How-To guide on how scripts with ExecuteQuery should look like.

Best Regards,

Johan

0 Kudos

Something like that:

sql= "select nc_code_bo "

+" from nc_data nc "
+" where nc.nc_context_gbo = 'SFCBO:"+SITE+","+SFC+"' "
+" and nc_state = 'O' "
+" and nc_code_bo = 'NCCodeBO:"+SITE+",FAILEVENT' ";
nccode = executeQuery(sql);

if (nccode != null)

  {...}

Former Member
0 Kudos

Johan

Basically, it's like this:

queryString="your query";

result=executeQuery(queryString);

The string can use the variables like SFC_BO, e.g:

sfcHandle=COMPLETE_DATA.getHandle("SFC_BO");

and there are lots of different ways of writing the script. I prefer to put all the logic in the SQL statement, so in your case I'd get the SQL to return TRUE or 1 if it's been serialised and FALSE or 0 if not.

Drop me an email if you need more help.

Answers (0)