Skip to main content
Answer

Shipment Screen in Mobile App

  • May 15, 2025
  • 8 replies
  • 143 views

Forum|alt.badge.img

In the mobile app, I can open a sales order and i can attach a file to a sales order. I have exposed the Shipment screen to mobile, I can open the shipment in the mobile app, but i can not attach a file in the mobile app. What needs to be done to allow a file attachment in the mobile app on a shipment record. The use case is the customers delivery driver is onsite delivering product and wants to open the mobile app, open the shipment and take a picture of the delivery and attach to the shipment.

 

It appears the exposed SHipment screen is inquiry only.

 

 

Best answer by DipakNilkanth

Hi ​@sspencer,
You need to add Shipment(Transactions) screen to Mobile app using Mobile Application section of Customization Editor.

Below code snippet will help you to do the same.

add screen SO302000 {
add container "ShipmentSummary"
{formActionsToExpand =1
add layout "ShipmentHeader"
{displayName = "ShipmentHeader"
layout ="HeaderSimple"
add layout "ShipmentHeaderNbrRow" {
displayName = "ShipmentHeaderNbrRow"
layout = "Inline"
add field "ShipmentNbr"
add field "ShippedQuantity"
}
add field "Customer"
add field "ShipmentDate"
}



attachments {
imageAdjustmentPreset = Receipt}

}
add container "Details"
{ add field "InventoryID"
add field "Description"
add field "LotSerialNbr"
add field "UOM"
add field "ShippedQty" }

}

Note : Don’t Forget to Update Main Menu from Mobile Application section.
 

update sitemap {

add folder "Shipments" {
placeAt 0
type = HubFolder
isDefaultFavorite = True
displayName = "Shipments"
icon = "system://Cart"
add item "SO3020PL" {
displayName = "Shipments"
icon = "system://Cart"
}
}

add item "SO302000" {
displayName = "Shipments"
visible = False
}


}



Hope, it helps!

8 replies

DipakNilkanth
Pro III
Forum|alt.badge.img+13

Hi ​@sspencer,
You need to add Shipment(Transactions) screen to Mobile app using Mobile Application section of Customization Editor.

Below code snippet will help you to do the same.

add screen SO302000 {
add container "ShipmentSummary"
{formActionsToExpand =1
add layout "ShipmentHeader"
{displayName = "ShipmentHeader"
layout ="HeaderSimple"
add layout "ShipmentHeaderNbrRow" {
displayName = "ShipmentHeaderNbrRow"
layout = "Inline"
add field "ShipmentNbr"
add field "ShippedQuantity"
}
add field "Customer"
add field "ShipmentDate"
}



attachments {
imageAdjustmentPreset = Receipt}

}
add container "Details"
{ add field "InventoryID"
add field "Description"
add field "LotSerialNbr"
add field "UOM"
add field "ShippedQty" }

}

Note : Don’t Forget to Update Main Menu from Mobile Application section.
 

update sitemap {

add folder "Shipments" {
placeAt 0
type = HubFolder
isDefaultFavorite = True
displayName = "Shipments"
icon = "system://Cart"
add item "SO3020PL" {
displayName = "Shipments"
icon = "system://Cart"
}
}

add item "SO302000" {
displayName = "Shipments"
visible = False
}


}



Hope, it helps!


Joe Schmucker
Captain II
Forum|alt.badge.img+3
  • Captain II
  • September 1, 2025

In order to get the screen to show, I had to make a change as follows:

add item "SO302000" {

displayName = "Shipments"

visible = True

I don’t know why, but that worked for me


dcomerford
Captain II
Forum|alt.badge.img+15
  • Captain II
  • September 2, 2025

@Joe Schmucker Suspect you have not got the Shipment (SO302PL) added as a screen in the mobile app. If you add this then you will not need to make the Shipment (SO302000) visible as you will access it through the edit

add screen SO3020PL {
  add container "Result" {
    fieldsToShow = 6
    containerActionsToExpand = 2
    add field "CustomerName"
    add field "ShipmentNbr"
    add field "OrderTotal"
    add field "ShipmentDate"
    add field "Status"
    add containerAction "editDetail" {
      behavior = Open
      redirect = True
    }
  }
}


Joe Schmucker
Captain II
Forum|alt.badge.img+3
  • Captain II
  • September 2, 2025

@dcomerford  I didn’t want to hijack this post BUT…. I had an issue with using the PL screen.  I first tried exposing the GI to the mobile app.  It worked great as it was. I basically used the same code you show above and added it to the menu.  But I could not find a way to add attachments. 

 I just read something on google that says to do this in order to allow attachments on a GI.  I tried it and it did not work.

 

I went with the approach provided above.  It solved my need, but this has been nagging the back of my mind ever since.  What does this code do?

add item "SO3020PL" {

   displayName = "Shipments"

   icon = "system://Cart"

FYI, I could not add both the PL and the SO302000 screen to the project.  If I add the PL, and then try to add SO302000, it tells me the 2000 screen is already added.  Also, if I exposed the PL to the mobile app, it overrode everything I was trying to do with my custom code.  

The solution provided above adds the SO302000 screen and not the PL screen.  I’m going to play around with Dipak’s code until I can understand why that solution works. 

 

Thanks guys for providing all this code.  The university course helps, but it is totally geared toward adding a GI and not editing existing screens.  You guys save me so many hours of publish, wait, repeat. 

 

 


dcomerford
Captain II
Forum|alt.badge.img+15
  • Captain II
  • September 2, 2025

@Joe Schmucker Thats ok its not easy at times infact i stay away from the Expose to Mobile app as all that does it add the GI to the mobile app but it does not allow you to open the Shipment it just shows what is on the GI.

If you dont use the Expose to Mobile then you need the entry above to allow the mobile app to see the PL. You also need to add the screen like my example and the below then allows the Shipment to be opened from the GI provided you have the added the Shipment (SO302000) screen to the Main menu (visible can be false otherwise you will see the PL and Shipment screen on the main menu).

    add containerAction "editDetail" {
      behavior = Open
      redirect = True
    }

 

Adding the following to the Shipment mobile screen should allow you to see attachments

    attachments {
    }

Hope this makes sense


Joe Schmucker
Captain II
Forum|alt.badge.img+3
  • Captain II
  • September 2, 2025

I still cannot get the shipments option on the menu in the mobile app.  Maybe it is something to do with the Manage Workspaces screen.  I’ve tried both Shipments options.  Nothing shows unless I set visible = true for SO302000.

add item "SO302000" {

displayName = "Shipments"

visible = True

 

Should I be adding the PL screen instead of the SO30200?

Sorry for being such a noob with the mobile app.

 

 


dcomerford
Captain II
Forum|alt.badge.img+15
  • Captain II
  • September 2, 2025

@Joe Schmucker Add the Shipment SO3020PL screen as well. Use this as the example and turn of the expose to mobile on the GI.

add screen SO3020PL {
  add container "Result" {
    fieldsToShow = 6
    containerActionsToExpand = 2
    add field "CustomerName"
    add field "ShipmentNbr"
    add field "OrderTotal"
    add field "ShipmentDate"
    add field "Status"
    add containerAction "editDetail" {
      behavior = Open
      redirect = True
    }
  }
}


Joe Schmucker
Captain II
Forum|alt.badge.img+3
  • Captain II
  • September 2, 2025

@dcomerford YUP.  I added the PL screen as you suggested.  Funny thing is that if I added the PL screen first, I recall it would not let me add SO302000 as it said it was already there.  This MAY be because I had Expose to Mobile App turned on in the GI.

I ensured the GI was not exposed.  Following your instructions and Depak’s, here is the end result that works.  I’m going to put all my code and settings here as a comprehensive solution for anyone else who might need this.  

NOTE, none of this code is mine...I copied it all from you smart guys.

1 - Added Screen SO302000 with this code: (Just a copy of Depak’s code)

add screen SO302000 {
  add container "ShipmentSummary"
    {formActionsToExpand =1
      add layout "ShipmentHeader"
    {displayName = "ShipmentHeader"
      layout ="HeaderSimple"
      add layout "ShipmentHeaderNbrRow" {
        displayName = "ShipmentHeaderNbrRow"
        layout = "Inline"  
        add field "ShipmentNbr"
        add field "ShippedQuantity"
    }
        add field "Customer"
      add field "ShipmentDate"
    }
     attachments {
        imageAdjustmentPreset = Receipt}
    }
   add container "Details"
    {  add field "InventoryID"    
      add field "Description"   
      add field "LotSerialNbr"   
      add field "UOM"  
      add field "ShippedQty"   }
   }

 

2 - Added screen SO3020PL and added this code (direct copy from ​@dcomerford)

add screen SO3020PL {
  add container "Result" {
    fieldsToShow = 6
    containerActionsToExpand = 2
    add field "CustomerName"
    add field "ShipmentNbr"
    add field "OrderTotal"
    add field "ShipmentDate"
    add field "Status"
    add containerAction "editDetail" {
      behavior = Open
      redirect = True
    }
  }
}

3 - Edited the MENU as follows: (copied from Depak)

update sitemap {
    add folder "Shipments" {
      placeAt 0
      type = HubFolder
      isDefaultFavorite = True
      displayName = "Shipments"
      icon = "system://Cart"
      add item "SO3020PL" {
        displayName = "Shipments"
        icon = "system://Cart"
      }
    }

    add item "SO302000" {
    displayName = "Shipments"
    visible = False
  }
}

4 - Added the screen to the Workspace as follows:

I added my screen to SALES ORDERS workspace to my project here (screen AU220011) so that it will be updated on the customer’s site.

Thank you BOTH FOR YOUR HELP!