How to Display an alert in Record producer if form variable value not matched in table

vsharma
Tera Contributor

Hi All:

I have a Record producer (table - u_visitor with fields - Name/ mobile no/ checkin time/ checkout time/ state) where I need to check mobile number and if it matches in table then user state change to "checked out" else alert user to check mobile number and abort.

I tried but not able to get else condition work to alert user & abort process. Please suggest.

 

—— Record Producer Script section -------

var mno = producer.u_mobile_number;

var rec = new GlideRecord('u_visitor');

rec.addQuery('u_mobile_number', mno);

rec.query();

 

if (rec.next()) {

rec.u_state = 'checkedout';

rec.u_checkout_time = current.u_checkout_time;

rec.update();

current.setAbortAction(true);

Note: All RP form fields mapped to table fields.

 

Thanks

1 ACCEPTED SOLUTION

I just noted that this was a record producer. You could directly with the producer script. Can you please try this once after deactivating the client script and see if it works?

var mno = producer.u_mobile_number;
var rec = new GlideRecord('u_visitor');
rec.addQuery('u_mobile_number', mno);
rec.query();
if (rec.next()) {
rec.u_state = 'checkedout';
rec.u_checkout_time = current.u_checkout_time;
rec.update();
}else{
gs.addErrorMessage("Update Mobile number First");
current.setAbortAction(true);
//producer.redirect =""; 
} 

View solution in original post

28 REPLIES 28

Hi,

I have just noticed one thing. When wrong mobile number is entered, error message is coming but form is getting submitted. However, it is not updating record in the table but it should hold there as its aborted.

How can we clear mobile number field which is mandatory and restrict submission.

 

Thanks

You can try adding this line

producer.u_mobile_number = "";

var mno = producer.u_mobile_number;
var rec = new GlideRecord('u_visitor');
rec.addQuery('u_mobile_number', mno);
rec.query();
if (rec.next()) {
rec.u_state = 'checkedout';
rec.u_checkout_time = current.u_checkout_time;
rec.update();
}else{
producer.u_mobile_number = "";
current.setAbortAction(true);
gs.addErrorMessage("Update Mobile number First");
//producer.redirect =""; 
} 

No, this is not working even tried with combinations.

Can you clarify what is the current issue with screenshot? If you get the message displayed, then the transaction is aborted. What is not working?

When mobile number is not matched then Error message is coming but form still shows submitted.

find_real_file.png