How to build a mobile app for JD Edwards World
Short answer
World has no mobile API, so you add a thin REST layer in front of DB2 for i and the World batch input path, then build a scanner-friendly app on top. Reads go straight to SQL, writes are validated and staged, and the app handles spotty Wi-Fi with a local queue.
Warehouses and shop floors on World often run on 5250 emulation on rugged handhelds, or on paper that someone keys later. Emulation screens are slow to navigate with a trigger scanner, and every extra screen costs seconds that add up over a shift. Paper creates a delay between the physical event and the system record, which is where inventory accuracy goes wrong.
A purpose-built mobile app solves the interaction problem, but the real design work is on the back end: World was not built for modern clients, so the layer you build has to protect data integrity while giving the app something simple to call.
This page describes that layer, the screens that pay back first, and the traps specific to IBM i and to offline use.
What teams use it for
Receiving against purchase orders
Scan the PO or item, enter or scan quantity, capture lot and location, and stage the receipt so the system matches reality at the dock.
Inventory transfers and put-away
Scan from-location, item and to-location to move stock between bins, with immediate on-hand feedback.
Cycle counting
Present the count list by location, capture scanned counts and send variances above tolerance to a supervisor.
Work order labor and completion reporting
Let operators clock on and off operations and report quantities complete and scrap without visiting a terminal.
Pick confirmation and shipping
Show pick lists, confirm picks by scanning, and capture carrier and tracking at ship confirm.
JD Edwards World (IBM i) integration surface
- DB2 for i via JDBC (jt400) or ODBC for reads of items, locations, open orders and work orders; table names and column layouts depend on your release and customizations.
- World batch input and interactive-batch programs, or locally written RPG interface programs, for transactions such as receipts, transfers, adjustments and labor; direct updates to inventory files are strongly discouraged.
- Commitment control and journaling on IBM i, which let a custom interface program apply multi-file changes atomically or roll them back.
- Data queues for pushing real-time notifications from the IBM i to a middle tier that forwards them to devices.
- IBM i Integrated Web Services Server or an external API gateway as the front door, with HTTPS, authentication and rate limits.
- Device layer: Android handhelds with Zebra DataWedge or camera scanning, or iOS devices with camera barcodes.
How it works
- 1
Pick the first workflow
Start where keying delay hurts most, usually receiving or transfers. A narrow first release is easier to validate against World.
- 2
Design the API contract
Define small endpoints such as GET item, GET location stock, POST receipt, POST transfer, each with explicit validation rules and idempotency keys.
- 3
Build the interface programs
Use a World-supported entry path or a carefully written RPG program under commitment control. Never write the raw inventory ledger from the outside.
- 4
Authenticate users
Map each mobile user to a World user profile or to a service account plus user ID in the audit field. Handle shared device logins deliberately.
- 5
Build the app with scanning first
Use large targets, scan-driven fields, audible and haptic feedback and minimal typing. Test with gloves and under warehouse lighting.
- 6
Add offline and sync
Queue transactions locally with timestamps and idempotency keys, sync when connected, and show clear conflict messages.
- 7
Pilot, then expand
Run in parallel with the existing process for a few weeks, reconcile differences and then retire paper or emulation for that workflow.
Example flows
Receiving a PO with a lot-tracked item
Trigger: A truck arrives and the receiver opens the PO on a handheld.
- The app calls the API for open lines of the PO.
- The receiver scans the item label, enters the quantity and scans a lot barcode.
- The app checks over-receipt tolerance and shows a warning if exceeded.
- The transaction is posted through the interface program under commitment control.
- The app shows the new on-hand and prints a put-away label.
Result: Receipts appear in World within seconds, not at the end of the shift.
Offline cycle count in a freezer
Trigger: A counter works in an area without Wi-Fi.
- The count list is downloaded before entering.
- Counts are scanned and stored locally with a timestamp.
- On return to coverage, the app syncs and the server compares each count with the current on-hand.
- Variances above tolerance go to a supervisor; others post automatically.
Result: Counts complete without hunting for a signal or re-keying from paper.
Keeping data on-prem
A World mobile app fits an on-prem model naturally: the IBM i, the API service and the device management can all live on your network, with the handhelds reaching the API over private Wi-Fi or a VPN. Avoid placing the IBM i directly on the internet; put an API gateway in a DMZ with TLS and certificate pinning on the device. If you add AI features such as voice commands or a photo-based part lookup, run the models on a local server so nothing leaves your site, which matters for facilities with export or customer restrictions.
Security checklist
- Use HTTPS with certificate pinning and enforce device management (MDM) with remote wipe.
- Give the API a least-privilege IBM i profile and authorize each user action by role and branch/plant.
- Use idempotency keys so a retried transaction cannot post twice.
- Do not cache sensitive data such as pricing on the device unless it is needed and encrypted.
- Log every transaction with user, device ID and timestamp for audit.
Ways to get it done
Third-party warehouse or shop-floor mobile product with an IBM i connector
Effort: Weeks to a few months including interface setup and license costs.
Fits standard receiving, picking and counting where a vendor already integrates with World.
Custom app with an in-house team
Effort: Several months for the API layer, app and testing, plus ongoing maintenance.
Fits shops with mobile and RPG skills and workflows that do not match packaged products.
Partner build with Netray
Effort: A pilot with one workflow, then extension; the IBM i interface work is often split with a World-experienced partner.
Fits those who want a governed API layer, and optionally AI features like voice or photo lookup running on-prem.
Pitfalls
- !Writing directly to inventory files creates ledger and balance mismatches; always use a validated posting path.
- !Shared handheld logins destroy audit trails; use individual sign-in even if it is a quick badge scan.
- !Wi-Fi dead spots are common in warehouses; survey before go-live and design offline from the start.
- !Lot, serial and location-controlled items need extra validation rules; test with real edge cases.
- !Ignoring batch jobs that run at night can create locks or stale reads; check what else touches the same files.
Frequently asked questions
Does JD Edwards World have a mobile app?
Not a modern one. World is a character-based IBM i application, so mobile access is built with an API layer over DB2 for i and a controlled posting path. Some third-party vendors offer scanner apps for World, which can be quicker for standard warehouse flows.
Can the app write directly to the database?
It should not. Direct writes bypass World's edits and can corrupt inventory balances and ledgers. Use an interface program or batch input that applies the same logic as the screens, with commitment control for multi-file changes.
How do barcode scanners work with an IBM i?
Handhelds scan through a keyboard-wedge or camera SDK in the app, which then calls the API. Old 5250 emulation can also accept scans but is slower to navigate. A native or web app gives you scan-driven screens and offline capability.
What about offline use?
Queue transactions locally with timestamps and unique keys, then sync when connected. The server must revalidate each one, because stock may have changed. Plan clear messages for conflicts, and do not allow offline for high-risk actions like adjustments above tolerance.
Can we add AI features to the app?
Yes, for example voice commands, photo-based part identification or natural-language stock questions. Run the models on a local server to keep data on site, and keep any write action behind the same validation and approval rules as a manual entry.
Want Mobile app working on your JD Edwards World (IBM i)?
A free 30 minute assessment: we map the integration path for your version and setup, and where it should run.
Get a free assessmentTry it here, free
JD Edwards World Private AI Layer Blueprint Generator
Fill in your JD Edwards World version, database, hosting and users to get a shareable architecture plan for a private, on-prem AI assistant.
New to JD Edwards World? Start with the JD Edwards World guide and toolkit.
Keep exploring
Free tools
- JD Edwards World Private AI Layer Blueprint GeneratorFill in your JD Edwards World version, database, hosting and users to get a shareable architecture plan for a private, on-prem AI assistant.
- JD Edwards World AI Assistant Sizing and Value CalculatorEstimate peak load, GPUs, index size, hours saved and payback for an on-prem AI assistant on JD Edwards World.
- IBM i (DB2 for i) SQL Data Extraction Script GeneratorGenerate DB2 for i SQL to inspect a file, count rows, and extract records with Julian date filters for JD Edwards World or other IBM i data.
ERP fixes and how-tos
- How to Add a Private AI Layer to JD Edwards World on IBM iAdd AI to JD Edwards World without moving data: DB2 for i access, journal-based replication, rebuilt row security, local GPUs and approved batch write-back.
- How to Add a Private AI Layer to JD Edwards EnterpriseOne On-PremAdd a private AI layer to JD Edwards EnterpriseOne: AIS data service, Orchestrator, Security Workbench mapping, a local model and human approval.
- How to set up JD Edwards Orchestrator (step by step)Set up a working JD Edwards Orchestrator end to end: enable the AIS server, build a form or service request, wire it into an orchestration, and call it over REST.
Runs with your ERP
- RF-SMART and JD Edwards EnterpriseOne: Barcode Scanning and Mobile WMSHow RF-SMART connects barcode scanning to JD Edwards EnterpriseOne and World: integration method, data flows, setup steps, pitfalls and where private AI helps.
- RF-SMART Manufacturing Data Collection for JD Edwards WorldShop floor barcode data collection for JD Edwards World with RF-SMART: what it reports, how it connects, setup steps, pitfalls and a private AI layer on top.
- RFgen MobileEdge with JD Edwards EnterpriseOne and World: RF barcodingHow RFgen MobileEdge handles picking, receiving, shipment validation and staging in JD Edwards EnterpriseOne and World, online or offline: setup and pitfalls.
AI on your ERP
- AI for JD Edwards World on IBM i, without a EnterpriseOne migrationAdd AI to JD Edwards World on IBM i without replatforming: read the physical files safely, ground an LLM on your data, and keep control on the box you already run.
- AI for JD Edwards Inventory Management and Shop Floor ManufacturingAI on JD Edwards EnterpriseOne inventory and manufacturing: item ledger, work orders, MRP messages and cost variances, answered in plain English on your own servers.
Integrations
- How to build a mobile app for JD Edwards EnterpriseOneBuild a shop-floor or field mobile app on JD Edwards EnterpriseOne with AIS REST: barcode scanning, inventory moves, labor reporting, approvals and offline sync.
- How to build a mobile app for Oracle NetSuiteBuild or choose a mobile app for Oracle NetSuite: barcode scanning, receiving, inventory moves and labor reporting over RESTlets and SuiteTalk REST, with offline limits.