M18 ERP Documentation
website·Indexed 34 days ago
https://m18doc.multiable.com/Technical documentation for M18 ERP, covering Core Web Services for CRUD operations, JSF component libraries, and specialized modules including HCM (Payroll, Leave, and Attendance Management), BPM, EBI, and Warehouse Management. Includes guides for front-end development using ViewListener and ViewController, OAuth 2.0 authentication, and XML configuration.
What's inside M18
- M18 provides a suite of RESTful web services designed for third-party developers to facilitate seamless integration and data synchronization between M18 and external systems. The API ecosystem is divided into core services and specialized modules including Business Process Management (BPM), Enduser-driven Business Intelligence (EBI), Schedule Management (SCM), and Document Management System (DMS).
Overview of the EBI (Enduser-driven Business Intelligence) creation workflow
Creating an EBI report involves a sequential pipeline of data retrieval and aggregation steps:
- Create Query: Retrieve data directly from the database using SQL and custom input parameters.
- Create QuerySet: Connect multiple Queries together. QuerySets serve as the data source for EBI reports or Combined QuerySets.
- Create Combined Set (Optional): Combine multiple QuerySets using set operations: Minus, Union, Union All, or Intersect.
- Create EBI: Use the EBI Builder to generate the final report based on a QuerySet or Combined Set.
- Export EBI: Manage the report via the EBI XML Console.
Overview of the EBI creation workflow
Enduser-driven Business Intelligence (EBI) reports are created through a multi-step pipeline that transforms database queries into end-user reports. The general workflow is:
- Create Query: Retrieve data from the database using SQL and custom input parameters.
- Create QuerySet: Connect multiple Queries together. QuerySets are used to generate EBI reports or Combined QuerySets.
- Create Combined Set (Optional): Combine multiple QuerySets using operations such as Minus, Union, Union All, or Intersect.
- Create EBI: Use the EBI Builder to create the final report based on a QuerySet or Combined Set.
- Export EBI: Manage the report via the EBI XML Console.
Query workflow node participants
Retrieve information about workflow node participants, including both historical actions ('done') and pending tasks ('todo').# GET http://127.0.0.1:8080/jsf/rfws/bpm/wfs/handlerInfo/[wfInstanceId] # Headers: # authorization: Bearer <token> # client_id: <client_id>Example Response:
{ "size": 2, "values": [ { "code": "B", "atvtyKey": "UserTask_15hry6g", "type": "done", "userId": 2, "desc": "Englishtest3", "info": "wf.pass", "logTime": "2017-06-22 14:41:16" }, { "code": "B", "atvtyKey": "UserTask_1txbhvu", "type": "todo", "userId": 2, "desc": "Englishtest3", "logTime": "2017-06-22 14:41:29" } ] }Retrieve a picking list for LSP operations
Retrieve detailed information about a picking list, including its status, associated logistic provider, parcels (with dimensions and weight), and products (including lot numbers and quantities).JsonObject data = new JsonObject(); data.addProperty("beId", 173); data.addProperty("id", 33); RequestBody requestBody = RequestBody.create(MediaType.parse("application/json; charset=utf-8"), data.toString()); String url = "http://" + server + "/jsf/rfws/erp/lsp/pickinglist/get/"; Request request = new Request.Builder() .url(url) .addHeader("client_id", MyValue.clientID) .addHeader("authorization", "Bearer " + access_token) .addHeader("cache-control", "no-cache") .post(requestBody) .build(); OkHttpClient client = new OkHttpClient(); Response response = client.newCall(request).execute();M18 Platform Architecture Overview
The M18 platform is built on J2EE and deployed using the WildFly (Java EE Server) application server. It utilizes a MySQL database. The architecture consists of:
- Front-end: Developed using JSF (JavaServer Faces), a component-based web framework.
- Back-end: Developed using EJB (Enterprise JavaBeans), which encapsulates business logic and handles requests from the JSF layer to interact with the MySQL database.
M18 Web Services Overview
M18 provides a suite of RESTful web services designed for third-party developers to enable seamless integration and data synchronization with external systems. The services are categorized by functional modules including Core, Business Process Management (BPM), Enduser-driven Business Intelligence (EBI), Schedule Management (SCM), Document Management System (DMS), ERP (Retail, Third-Party Logistics, Trading, Finance, and Warehouse Management), and HCM (Attendance, Leave, Payroll, and Labour Law Compliance).Customize M18 standard mobile app features
The M18 standard mobile app (supporting Android and iOS) can be modified via the [Mobile App Setup] module. This allows administrators to hide unused standard features, integrate additional installed app features, or customize the behavior of existing features.Customize M18 standard mobile app features
The M18 standard mobile app (Android and iOS) can be modified using the [Mobile App Setup] module. This allows administrators to hide unwanted standard features, integrate additional installed app features, or customize the behavior of existing features.Understand M18 View Types
The M18 platform utilizes several distinct view types displayed within the browser window:
- App View: The main M18 browser window.
- Frame View: A view displayed as a tab within the App View.
- Module View: A specialized Frame View where data is bound to back-end module data.
- Dialog View: A pop-up window within the App View.
- Namecard View: A small floating window used to display additional information for lookup fields.
All views are defined using JSF files in
.xhtmlformat.M18 Platform Architecture Overview
The M18 platform is a J2EE-based system deployed using the WildFly (Java EE Server) application server. It utilizes a MySQL database for storage. The architecture consists of:
- Front-end: Developed using JSF (JavaServer Faces), a component-based web framework.
- Back-end: Developed using EJB (Enterprise JavaBeans), which encapsulates business logic and handles requests from the JSF layer to interact with the MySQL database.
Understand the Payroll Calculation Result data structure
The M18 HCM Web Service for retrieving employee payroll calculation results returns a JSON object containing a list of payroll account entries. Each entry provides details about specific payroll components such as basic salary, incentives, and mandatory/voluntary contributions (e.g., MPF).{ "size": 48, "values": [ { "empId": 1150, "paccDesc": "Basic Salary (Monthly)", "paccType": "X", "cur": 10, "pacc": "BSMO", "paccid": 91, "mpfConDate": "2017-12-05 11:34:40" } ], "fields": [ { "name": "empId", "fieldClassName": "Long" }, { "name": "paccid", "fieldClassName": "Long" }, { "name": "pacc", "fieldClassName": "String" }, { "name": "paccDesc", "fieldClassName": "String" }, { "name": "paccType", "fieldClassName": "String" }, { "name": "amt", "fieldClassName": "Double" }, { "name": "cur", "fieldClassName": "Long" }, { "name": "formulaDesc", "fieldClassName": "String" }, { "name": "mpfTrxNo", "fieldClassName": "String" }, { "name": "mpfConDate", "fieldClassName": "Date" } ] }