OnWhseInquiry_OnAddSteps

Minimum Requirements

  • Extension version MOB5.34
  • Android App 1.5.12

Use this event to

Return extra steps based on already collected values.

Description

You can use Whse. Inquiry to perform instant Online Validation of a steps input value. 

Use this event to return extra steps based on already collected values. 

You may validate the current steps value prior to returning new steps. In this case you must set the includeCollectedValues property in application.cfg (see below).



Template

    // [Template]
    [EventSubscriber(ObjectType::CodeunitCodeunit::"MOB WMS Whse. Inquiry", 'OnWhseInquiry_OnAddSteps''', true, true)]
    local procedure MyOnWhseInquiry_OnAddSteps(_DocumentType: Textvar _RequestValues: Record "MOB NS Request Element"; var _Steps: Record "MOB Steps Element"; var _RegistrationTypeTracking: Textvar _IsHandled: Boolean)
    begin
    end;


    // [Example 1]
    [EventSubscriber(ObjectType::CodeunitCodeunit::"MOB WMS Whse. Inquiry", 'OnWhseInquiry_OnAddSteps''', true, true)]
    local procedure Ex01_OnWhseInquiry_OnAddSteps(_DocumentType: Textvar _RequestValues: Record "MOB NS Request Element"; var _Steps: Record "MOB Steps Element"; var _IsHandled: Boolean)
    begin
        case _DocumentType of
            'ValidateMyLotNumber':
                begin
                    _Steps.Create_TextStep(10'MyTextStep1');
                    _Steps.Set_defaultValue('MyTextDefaultValue1');
                    _Steps.Set_header('MyTextStep1 - ' + _RequestValues.Get_LotNumber());   // Reading value from already collected step

                    _Steps.Create_TextStep(20'MyTextStep2');
                    _Steps.Set_defaultValue('MyTextDefaultValue2');
                    _Steps.Set_header('MyTextStep2');

                    _IsHandled := true;
                end;

            'ValidateMyQuantity':
                begin
                    _Steps.Create_TextStep(10'MyQtySteps1');
                    _Steps.Set_defaultValue('MyQtySteps1');
                    _Steps.Set_header('MyQtySteps1 - ' + Format(_RequestValues.Get_Quantity()));   // Reading value from already collected step

                    _Steps.Create_TextStep(20'MyQtySteps2');
                    _Steps.Set_defaultValue('MyQtySteps2');
                    _Steps.Set_header('MyQtySteps2');

                    _IsHandled := true;

                end;
        end;
    end;


Related change to application.cfg
Each new DocumentType to be validated must have a related change to a service-section in the application.cfg. In this example, the service for the Pick page is modified. For additional examples, see the links below.

application.cfg
    <service id="Pick" type="Order" orderType="Pick">
      <requests>
        <getOrders>GetPickOrders</getOrders>
        <getOrderLines>GetPickOrderLines</getOrderLines>
        <postOrder>PostPickOrder</postOrder>
      </requests>
      <validation>
        <lotNumberValidation documentName="ValidateMyLotNumber" online="true" includeCollectedValues="true"/>
        <quantityValidation documentName="ValidateMyQuantity" online="true" includeCollectedValues="true"/>
      </validation>
    </service>


More examples


Version History

VersionChanges
MOB5.34Introduced
MOB5.36.xxx.208_IsHandled parameter added