Use this event to
Excerpt |
---|
Handle existing or new 'Whse. Inquiry' document types. |
...
You can use Whse. Inquiry to perform instant Online validationValidation of a steps input value.
Use this event to overwrite existing behavior or handle new custom types.
Implicit success
If you do nothing, the validation is considered successful by the mobile device.
You must call Error() when validation should fail.
Template
// [Template]
[EventSubscriber(ObjectType::Codeunit, Codeunit::"MOB WMS Whse. Inquiry", 'OnWhseInquiryOnCustomDocumentType', '', true, true)]
local procedure OnWhseInquiryOnCustomDocumentType(_DocumentType: Text; var _RequestValues: Record "MOB NS Request Element"; var _RegistrationTypeTrackingResponseElement: Record Text"MOB NS Resp Element"; var _ResponseElementRegistrationTypeTracking: Record "MOB NS Resp Element"Text; var _IsHandled: Boolean)
begin
end;
Example
// [Example]
[EventSubscriber(ObjectType::Codeunit, Codeunit::"MOB WMS Whse. Inquiry", 'OnWhseInquiryOnCustomDocumentType', '', true, true)]
local procedure Ex01OnWhseInquiryOnCustomDocumentType(_DocumentType: Text; var _RequestValues: Record "MOB NS Request Element"; var _RegistrationTypeTrackingResponseElement: Record Text"MOB NS Resp Element"; var _ResponseElementRegistrationTypeTracking: Record "MOB NS Resp Element"Text; var _IsHandled: Boolean)
var
ItemLedgerEntry: Record "Item Ledger Entry";
SerialNumber: Text;
begin
// Make sure we only handle the Serial No. validation
if _DocumentType <> 'GetSerialNumberInformation' then
exit;
// Read request
SerialNumber := _RequestValues.GetValue('SerialNumber', true);
if SerialNumber = '' then
exit;
// Serial number must be available in the Item Ledger Entries
ItemLedgerEntry.Reset();
ItemLedgerEntry.SetCurrentKey("Serial No.");
ItemLedgerEntry.SetRange("Serial No.", SerialNumber);
ItemLedgerEntry.SetRange(Open, true);
ItemLedgerEntry.SetRange(Positive, true);
if not ItemLedgerEntry.CountIsEmpty() = 1 then begin
exit // -- The Serial number is available
// Respond with Item Number
if ItemLedgerEntry.FindFirst() then
exit;
end else
else
Error('Unknown serial no. "%1"', SerialNumber); // -- Not found
Error('Unknown serial no.');
_RegistrationTypeTracking := SerialNumber;
// Event is now handled
_IsHandled := true;
end;
Filter by label (Content by label) | ||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|
|
...