Skip to main content

Customize Process App in Mobile Runner

This part of documentation will help to perform customization of user interface in Mobile Devices viz. Android Phone and Apple i-Pad. To conclude changes user has to perform several basic steps for synchronization as stated below:

  1. Export the Process App from web runner using Export
  2. After changes in HTML file of Change_Material_Lot import the modified package to Innowera Web Mobile Server from local system using Import Process APP.
  3. Synchronization of Mobile Device : Synchronization in Mobile Devices is the final stage through which the changes made in html file are reflected in users experience.

Note: Ensure to import the changed package in Innowera Web and Mobile Server before proceeding towards Synchronization.

There are 2-Modes of synchronization available on Web and Mobile Server namely:

Automatic Synchronization

The automatic synchronization can be done from Web Runner through following steps:

  1. Go to Admin > Settings > Device Settings.

  2. Select the required options that is be synchronized at login and select Apply to implement the changes.

Manual Synchronization

Manual synchronization can be conducted from the application on device as follows:

  1. Tap Options, and then select the Sync icon.

  2. Select Download Process... stationed at the top-left corner of the Web and Mobile Server Application to check for updates.

  3. The changes to the Apps will be displayed on the confirmation window. Select Sync from bottom-right of the window that will lead to download the required files.

  4. In the confirmation window, select OK.
  5. Completion of synchronization process will lead to the Index Page with changes as shown in the following screenshot.

    Synchronization of Mobile Device

    Synchronization in Mobile Devices is the final stage through which the changes made in html file are reflected in users experience.

    Note: Ensure to import the changed package in Innowera Web and Mobile Server before proceeding towards Synchronization.

    Automatic Synchronization

    The automatic synchronization can be done from Web Runner through following steps:

    1. In Innowera Web and Mobile Server, select Admin > Settings > Device Settings. The Device Settings page is displayed.

    2. Select the required options in Auto sync on logon. Select Apply to implement the changes.

    Manual Synchronization

    Manual synchronization can be conducted from the application on device as follows:

    1. Tap Options, and then click Sync icon.

    2. Tap Download Process... stationed at the top-left corner of the Innowera Web and Mobile Server Application to check for updates.

    3. The changes to the Apps will be displayed on the confirmation window, Click Sync from bottom-right of the window that will lead to download the required files.

    4. In the confirmation window, select OK.
    5. Completion of synchronization process will lead to the Index Page with changes as shown in the following screenshot.

Validation of Lot Size

This part of document will demonstrate the insertion of validation in fields. As an example in Change_Material_Lot, we will hereby insert the following validations:

  • Minimum Lot Size should not be less than 10
  • Maximum Lot Size should not be more than 100
  • Minimum Lot Size should not be greater than Maximum Lot Size

To insert validations in fields,

  1. In case of Android Phone, browse to InnoweraPKG -> MobileRunner ->  Android -> PublishedFiles -> Change_Material_Lot.html and open the file in HTML Compatible Editor. In case of Apple i-Pad, browse to InnoweraPKG -> MobileRunner ->iOS-> PublishedFiles ->Change_Material_Lot.html and open the file in HTML Compatible Editor.
  2. Find out the functions Minimum Lot Size and Maximum Lot Size as highlighted in the following screenshot.

    v c 1

  3. Insert a new property (E.g. itag=minlotsize and itag=maxlotsize) for defining minimum lot size and maximum lot size at the below displayed positions in html file.

    v c 2

  4. Note: minlotsize and maxlotsize are the names used for examples; Users can use any names instead.

  5. In case of Android Phone, browse to InnoweraPKG -> MobileRunner ->  Android -> JS -> Change_Material_Lot.js and open the file in HTML Compatible Editor. In case of Apple i-Pad, browse to InnoweraPKG -> MobileRunner ->iOS-> JS -> Change_Material_Lot.js and open the file in HTML Compatible Editor.
  6. Now find highlighted section as shown in the image below.

    v c 3.1

  7. Replace the above highlighted code  with the code given below.

    $("[itag='btnSendToSAP']").on("touchend", function (e) {                                    

           CommonScripts.ShowLoader("Loading...");

           var FormID = $(this).attr("formid");

           CheckValidation(function(status){

               if(status == true) {        

    var _minlotsize = $('input[itag="minlotsize"]').val();

    var _maxlotsize = $('input[itag="maxlotsize"]').val();

                           if (_minlotsize < 10) {

                                     navigator.notification.alert("Minimum Lot Size must be greater than 10");  

                           } else if (_maxlotsize > 100) {

    navigator.notification.alert("Maximum Lot Size must be less than 100");

    } else if (Number(_minlotsize) > Number(_maxlotsize)) {

    navigator.notification.alert("Maximum Lot Size must be greater than Minimum Lot Size");

    } else {        

                                   SubmitPage(FormID, "SAP",$("[itag='btnSendToSAP']"));

                             }

               }

           });

           e.preventDefault();

    v c 4

  8. Save the changes made in the HTML file and Exit from Editor.
  9. Import the process app through Import Process APP.
  10. Synchronization in Mobile Devices and go to Change_Material_Lot.
  11. Enter the data in the fields for test. General Fields like Plant, Material Number and Storage Location are filled as follows for verification of changes made:
    • Plant: 1000
    • Material Number: 100-100
    • Storage Location: 0001

Note: Users can enter their relevant inputs for confirmation.

Conclusion

The following are the results that indicate successful implementation of Validation in Lot Size.

  1. If Minimum Lot Size = 5 and Maximum Lot Size = 40, then a window will pop-up stating Minimum Lot size must be greater than 10.

    mini-lot-size-1

  2. If Minimum Lot Size = 50 and Maximum Lot Size = 400 then a window will pop-up stating Maximum Lot Size must be less than 100.
  3. If Minimum Lot Size = 500 and Maximum Lot Size = 40 then a window will pop-up stating Maximum Lot Size must be greater than Minimum Lot Size.

Personalization in Front-End User Interface

  • The following image displays by-default User-interface of Mobile Runner:

    default-screen

  • After implementing several css customizations to by default image through changes in html file the below image is the output:

    after-changes

Customization of Lookup

The customization of lookup refers to a logical change in retrieval of Lookup values in Change_Material_Lot process app.

Default Behavior

The Default Behavior in Change_Material_Lot process app is as follows:

  1. Plant is entered.
  2. If Lookup is clicked for browsing various Material Number- the Material Numbers are retrieved from database file.
  3. The Material Numbers which are displayed upon lookup are retrieved without any filters. i.e. all the Material Numbers in database are displayed.

Custom Behavior

These guidelines will lead user to mutate the logic and achieve the following modifications:

  1. Plant is entered.
  2. When Lookup is clicked for browsing the Material Number- the Material Number data are retrieved from SAP Table MARC using data extractor process file recorded for MARC table.
  3. The Material Number data that are displayed upon lookup are related to the Plant that is entered.

For example: If 1000 is entered in plant field- The values belonging to 1000 Plant will be retrieved.

The following steps describe customization discussed in Custom Behavior:

  1. The basic step towards this customization is to Import/Publish MARC.ite Process file using Process File.
  2. In case of Android, browse to InnoweraPKG -> MobileRunner ->  Android -> PublishedFiles -> Change_Material_Lot.html and open the file in HTML Compatible Editor. In case of Apple i-Pad, browse to InnoweraPKG -> MobileRunner ->iOS-> PublishedFiles ->  Change_Material_Lot.html and open the file in HTML Compatible Editor.
  3. Search for the Material Number in Manage_Material_Lot.html file as highlighted in the image below.

    Val_swap_1.1

  4. Replace the value of onclick Property at the location highlighted in the below image as onclick="javascript:lookupForMaterialNumber('A','Material Number Look up')"  in html file.

    Val_swap_2.2

  5. Find the given highlighted section of code in Change_Material_Lot.html file and swap as demonstrated below.
    • Search Material Number and Plant and swipe as shown in the following screenshot.

      val_swap_3.3

    • The following screenshot exhibits the changes after swapping.

      val_swap_4.4

  6. Now export MARC.ite (data extractor) process file as shown in the following screenshot.

    Export-process-file

  7. Now extract the exported file and navigate to MobileRunner\Android\PublishedFiles and open MARC.html in compatible editor.
  8. Once MARC.html is open, find starting form tag (<form>) and copy the code till ending form tag (</form>).
  9. Switch to Change_Material_lot.html and find ending form tag (</form>) and paste the following code.
  10. <form method="post" action="" id="Form20170520054657137" ifiletype="Data Extractor" itcode="MARC" title="MARC" id=" Form20170520054657137 " ifiletype="Data Extactor " itcode="MARC " title="MARC " class="form-horizontal ">

       <input type="hidden " itag="detailtables " value=" " />

       <input type="hidden " itag="processfilename " value="MARC.ite " />

       <input type="hidden " itag="returntables " value=" " />

       <input type="hidden " itag="pdataid " value=" " />

       <input type="hidden " itag="defiltertype " value="ABAPFilter " />

       <!-- <div class="datacontent "> -->

       <!--HEADER-->

       <div class="datacontent ">

           <div class="panel " itable="header ">

               <div class="panel-heading ">

                   <h3 class="panel-title "> Header</h3>

                   <a href="# " class="ProcessFileArrow ProcessFileOpenArrow ui-link ">                                    

                     <img src="../../../new_images/next-b.png " width="20 " alt=" " style="padding: 8px; " />

                   </a> </div>

               <div class="panel-body ">

                   <div class="headerfieldscontent ">

                       <div class="form-group "> <label class="col-sm-3 control-label " for="demo-is-inputsmall " data-role="none ">        Material Filter: </label>

                           <div class="col-sm-9 "> <input data-role="none " class="form-control input-sm " type="text " style="width: 100%; " itag="txtFilter " /> </div>

                       </div>

                   </div>

               </div>

           </div>

           <div class="clearing "> </div>

           <div itag="tblDataDE ">

               <div style="overflow-y: scroll!important; -webkit-overflow-scrolling: touch!important; ">

                   <table itable="tblDataDE " cellpadding="5 " cellspacing="0 " border="0 ">

                       <thead class="ui-bar-b ">

                           <tr>

                               <th imatno="MATNR ">Material Number</th>

                               <th imatno="WERKS ">Plant</th>

                           </tr>

                       </thead>

                       <tbody></tbody>

                   </table>

               </div>

           </div>

       </div>

       <div class="clearing "> </div>

       <div id="BannerDiv " style="display: none " class="btncontainer padding colorborderNew ">

           <div> <img id="imgBanner " src=" " style="width: 600px; height: 80px; float: left; display: none " /> </div>

       </div>

       <div class="ProcLogonShortcutContainer ">

           <div class="ProcLogonShortcutTitle " style=" "> <label class="lblProcLogonShortcut ">Logon Shortcut</label> </div>        

             <div class="LogonShortcutSelection ">

               <div class="styled-select ">

                 <select name="drpLogonShortcut " data-theme="b " class="drpProcLogonShortcut " id="drpLogonShortcut " data-native-menu="true ">                              

                 </select>

                   </div>

                   <a id="btnRefresh " class="reloadLogonShortcut ui-link ui-btn ui-btn-b ui-icon-refresh ui-btn-icon-notext ui-btn-inline ui-shadow ui-corner-all " data-inline="true " data-role="button " data-theme="b " data-iconpos="notext " data-icon="refresh " role="button "></a>

               <div style="clear: both; "> </div>

           </div>

       </div>

       <div style="clear: both ">

           <div itag="fldstResp ">

               <div itag="dvSapRetTab "> </div>

               <div itag="dvAction " class="colorborderNew padding "> </div>

               <div itag="dvMsg "> </div>

           </div>

       </div>

    </form>

  11. Browse to InnoweraPKG -> MobileRunner ->iOS-> JS ->  Change_Material_Lot.js and open the file in HTML Compatible Editor in case of Apple i-Pad.
  12. Paste the following code in end of the Change_Material_Lot.js file.

    //*********custom function for lookup *****

    var itagCustom = "";

    var lookupNameCustom = "";

    function lookupForMaterialNumber(itag,lookupName) {

         itagCustom = itag;

           lookupNameCustom = lookupName;

           var sesMobileSettings = JSON.parse(sessionStorage.MobileSettings);

      sesMobileSettings.DataID = "";

      sesMobileSettings.UniqueID = "";

      sessionStorage.MobileSettings = JSON.stringify(sesMobileSettings);

           SubmitPage("Form20170518165337720", "SAP",$("[itag='btnSendToSAP']"));

    }

    function printLookupCustom(jsonRecordWithResult){

                   

           gArrLookupFileData = jsonRecordWithResult.ResultObject.SapReturnTable;

           PaintLookup(lookupNameCustom, itagCustom);

             

     }

    Conclusion-1_1

    Now find the ProcessOperationSuccess function and paste the following JavaScript as shown in the following screenshot.

    Conclusion-2-2

    if( FormID == "Form20170518165337720") {

     //enableCtrl();

     gArrColumnName =  ["MATNR","WERKS"];        

     printLookupCustom(jsonRecordWithResult);

    }

  13. After implementing the mentioned steps, save and exit.
  14. After importing the process file to Innowera WMS Sync the device using Synchronizaiton and go to Change_Material_Lot through in InnoweraApp to verify the changes.

Conclusion

On accessing Change_Material_Lot process app, follow these steps.

  1. Tap on Lookup button stationed near Plant field, and then select a particular Plant from the list.

    Change-material-lot-1

  2. Now tap on Lookup button stationed near Material Number Field.

    Change-material-lot-2

  3. A pop-up window will appear on tapping the Lookup button of Material Number that will display the material numbers related to selected plant only.

    Change-material-lot-last

Was this article helpful?

We're sorry to hear that.