Open Application Programming Interface (API)
EZ-MES has an open API build-in. API stands for Application Programming Interface (API) and allows you to connect other software and devices to EZ-MES. Some examples are importing data from or exporting data to other software packages such as LabView, or exchanging data with equipment. It is also possible to extend EZ-MES with proprietary custom applications, custom tracking and custom reporting software. The open API also allows integrating EZ-MES in an existing ERP system or existing process control systems that support open API connectivity.
The EZ-MES Open API allow you to connect with your needs, its core functions include interfaces for:
- Data Collection
- Equipment Management
- Exception Management
- Flow Control
- Inventory Management
- Material Movement Management
- Planning
- Traveller Management
- Work Order Management
Here a technical overview of the EZ-MES API's:
EazyWebService
The following operations are supported. For a formal definition, please review the Service Description.
- HelloWorld
Test call. If you use this function it should return a string with "Hello World":
A fast way to check if the web service is working is by pressing the Invoke button (If you are still in the overview page, click the HelloWorld function to get to the Invoke button)
- Ping
- mAppCall
This will execute the mAppCall method. The sAction argument determines which method is being executed.
Many of these methods can only be executed if the user has specfic rights.
Example:s_o = {
"sSOAP_Call":"mAppCall",
"sAction":"mGet_SQL_Jobs_With_Duplicate_sJob",
"bGetRefs":false,
"sFileName":"Duplicates.json"
}
INPUT
S_o [string containing JSON formatted object - Required]: Defines all the arguments
s_o.sSOAP_Call [string - Required]: In this case it is always: mAppCall
s_o.sAction [string - Required]: The specific function you would like to execure: mAppCall
sAction Inputs
mGet_SQL_Jobs_With_Duplicate_sJob
bGetRefs [boolean - Optional]: If not defined will default to false. If true it will return all the associated refs
sFileName [string - Optional]: Name for the output file.
OUTPUT
Single JSON Object in string notation.
Example return: {"iErrorCode":0,"sErrorText":""}
iErrorCode [number]: 0 shows successful execution of writing the value to an NV for a PRID.
sErrorText [string]: A description showing why the write action was not successful. For a successfull write the string will be empty: ""
- mAppCall_mSetStepId
This will execute the mAppCall method. The sAction argument determines which method is being executed.
sErrorText [string]: A description showing why the write action was not successful. For a successfull write the string will be empty: ""
- mApp_GetAllFRStateChanges
Get FR State Changes.
INPUT
sUser [Required]: string defining the user
sPassKey [Required]: authorized key for this user
s_o [Required JSON Object in string notation]: Main arguments are defined within this object.
s_o attributes:
s_o.sDateStart [Optional]: MM/DD/YYYY Date Format. Get FSR that DateTimeCreated >= sDateStart
s_o.sDateEnd [Optional]: MM/DD/YYYY Date Format. Get FSR that sFSRiOut <= sDateEnd
s_o.iDateStart [Optional]: MilliSeconds Format, That replace the Date Format. Get FSR that DateTimeCreated >= iDateStart
s_o.iDateEnd [Optional]: MilliSeconds Format, That replace the Date Format. Get FSR that sFSRiOut <= iDateEnd
s_o example: {"sDateStart":"01/01/2013","sDateEnd":"02/07/2013","iDateStart":1360010000000,"iDateEnd":1360101838389.21}
OUTPUT
Single JSON Object in string notation.
Example return: {"iErrorCode":0,"sErrorText":"",{"oReturn":"oReturn"}}
iErrorCode [number]: 0 shows successful execution.
sErrorText [string]: A description showing why there was an error. For successfull execution the string will be empty: ""
- mApp_GetMultiSDTimeStats
Get FSR info and statistics of input step definitions.
INPUT
sUser [Required]: string defining the user
sPassKey [Required]: authorized key for this user
s_o [Required JSON Object in string notation]: Main arguments are defined within this object.
s_o attributes:
s_o.sDateStart [Optional]: MM/DD/YYYY Date Format. Get FSR that DateTimeCreated >= sDateStart
s_o.sDateEnd [Optional]: MM/DD/YYYY Date Format. Get FSR that sFSRiOut <= sDateEnd
s_o.iDateStart [Optional]: MilliSeconds Format, That replace the Date Format. Get FSR that DateTimeCreated >= iDateStart
s_o.iDateEnd [Optional]: MilliSeconds Format, That replace the Date Format. Get FSR that sFSRiOut <= iDateEnd
s_o.oQuery [Required oQuery or arSD]: Get the arSD from the Query
s_o.arSD [Required oQuery or arSD]: Array of SD objects
s_o.arSD.sSD [Required sSD or sSDOperationNumber & sSDRN]: Step Definition Numbers
s_o.arSD.sSDOperationNumber [Required sSD or sSDOperationNumber & sSDRN]: Step Definition Operation Numbers
s_o.arSD.sSDRN [Required sSD or sSDOperationNumber & sSDRN]: Step Definition Revision Numbers
s_o example: "S_o": {"sSD": "CT368SD03","sSDOperationNumber": "CT368SD03","sSDRN": "A","sDateStart": "01/01/2013","sDateEnd": "02/19/2013","oQuery": {"arJSColm": [{"i": 0,"sTyp": "jobname","sNm": "sJob","arJbConv": [],"oHash": {},"sFilterValue": "","sTitle": "sJob","iW": 122},{"i": 1,"sTyp": "string","sNm": "sJob","arJbConv": [],"oHash": {},"sFilterValue": "","sTitle": "sJob","iW": 122}],"arCheckVals": [{"_EZQueryItem": true,"sNm": "sSDRN","sTyp": "string","sOperation": "contains","sVal": "A","bAnd": true,"bOr": false}],"o": {"sFlowName": "SD_Flow"},"oSort": {}},"arSD": [{"sSD": "CT368SD01","sSDOperationNumber": "CT368SD01","sSDRN": "A"},{"sSD": "CT368SD02","sSDOperationNumber": "CT368SD02","sSDRN": "A"},{"sSD": "CT368SD03","sSDOperationNumber": "CT368SD03","sSDRN": "A"}]}
OUTPUT
Single JSON Object in string notation.
Example return: {"iErrorCode":0,"sErrorText":"",{"oReturn":"oReturn"}}
iErrorCode [number]: 0 shows successful execution.
sErrorText [string]: A description showing why there was an error. For successfull execution the string will be empty: ""
- mApp_GetSDPriority
Will summarize priority of input step definitions.
INPUT
sUser [Required]: string defining the user
sPassKey [Required]: authorized key for this user
s_o [Required JSON Object in string notation]: Main arguments are defined within this object.
s_o attributes:
s_o.arSD [JSON Array of JSON Object(s)- Required] Array with Step Definition Numbers to be prioritized
s_o example: {"arSD":[{"sSD":"SD01","sSDOperationNumber":"01","sSDRN":"A"},{"sSD":"SD02","sSDOperationNumber":"02","sSDRN":"A"}]}
OUTPUT
Single JSON Object in string notation.
Example return: {"iErrorCode":0,"sErrorText":"", {"arSDPriority":[{"iDelta":0,"arSD":[{"sSD":"SDJobNumber01","hFR":{"sFR":"sFR","iPRQty":1}}]}]}
iErrorCode [number]: 0 shows successful execution.
sErrorText [string]: A description showing why there was an error. For successfull execution the string will be empty: ""
- mApp_GetSDTimeStats
Get FSR info and statistics of input step definitions.
INPUT
sUser [Required]: string defining the user
sPassKey [Required]: authorized key for this user
s_o [Required JSON Object in string notation]: Main arguments are defined within this object.
s_o attributes:
s_o.sSD [Required sSD or sSDOperationNumber & sSDRN]: Step Definition Numbers
s_o.sSDOperationNumber [Required sSD or sSDOperationNumber & sSDRN]: Step Definition Operation Numbers
s_o.sSDRN [Required sSD or sSDOperationNumber & sSDRN]: Step Definition Revision Numbers
s_o.sDateStart [Optional]: MM/DD/YYYY Date Format. Get FSR that DateTimeCreated >= sDateStart
s_o.sDateEnd [Optional]: MM/DD/YYYY Date Format. Get FSR that sFSRiOut <= sDateEnd
s_o.iDateStart [Optional]: MilliSeconds Format, That replace the Date Format. Get FSR that DateTimeCreated >= iDateStart
s_o.iDateEnd [Optional]: MilliSeconds Format, That replace the Date Format. Get FSR that sFSRiOut <= iDateEnd
s_o example: {"sSD":"SD13-000000026","sDateStart":"01/01/2013","sDateEnd":"02/07/2013","iDateStart":1360010000000,"iDateEnd":1360101838389.21}
OUTPUT
Single JSON Object in string notation.
Example return: {"iErrorCode":0,"sErrorText":"",{"oReturn":"oReturn"}}
iErrorCode [number]: 0 shows successful execution.
sErrorText [string]: A description showing why there was an error. For successfull execution the string will be empty: ""
- mChangeObj
Will change a new Object
INPUT
sUser [Required]: string defining the user
sPassKey [Required]: authorized key for this user
s_o [Required JSON Object in string notation]: Main arguments are defined within this object.
s_o attributes:
OUTPUT
Single JSON Object in string notation.
iErrorCode [number]: 0 shows successful execution.
sErrorText [string]: A description showing why the write action was not successful. For a successfull write the string will be empty: ""
Example return: {"iErrorCode":0,"sErrorText":""}
- mCheckAllPRForward
Will check all PR on broken chains.
OUTPUT
Single JSON Object in string notation.
Example return: {"iErrorCode":0,"sErrorText":"", "sPR":"PR12-000000123", "PSRLinks":{oPSRLinks}}
oPSRLinks: a JSON Object for the PSR Links Test
iErrorCode [number]: 0 shows successful execution.
sErrorText [string]: A description showing why there was an error. For successfull execution the string will be empty: ""
- mCheckPR
Will perform specific checks on a PR record.
INPUT
sUser [Required]: string defining the user
sPassKey [Required]: authorized key for this user
s_o [Required JSON Object in string notation]: Main arguments are defined within this object.
s_o attributes:
s_o.sPR [string - Required] MES Internal job ID for the PR (e.g. PR12-000000123)
s_o.arChecks [JSON Array - Required] Array with the checks that will be performed on the PR
s_o example: {"sPR":"PR12-0000000123", "arChecks":["PSRLinks"]}
OUTPUT
Single JSON Object in string notation.
Example return: {"iErrorCode":0,"sErrorText":"", "sPR":"PR12-000000123", "PSRLinks":{oPSRLinks}}
oPSRLinks: a JSON Object for the PSR Links Test
iErrorCode [number]: 0 shows successful execution.
sErrorText [string]: A description showing why there was an error. For successfull execution the string will be empty: ""
- mCreateObj
Will create a new Object
INPUT
sUser [Required]: string defining the user
sPassKey [Required]: authorized key for this user
s_o [Required JSON Object in string notation]: Main arguments are defined within this object.
s_o attributes:
OUTPUT
Single JSON Object in string notation.
iErrorCode [number]: 0 shows successful execution.
sErrorText [string]: A description showing why the write action was not successful. For a successfull write the string will be empty: ""
Example return: {"iErrorCode":0,"sErrorText":""}
- mDeleteFile
Will delete the file from an other object DC or RC
INPUT
sUser [Required]: string defining the user
sPassKey [Required]: authorized key for this user
s_o [Required JSON Object in string notation]: Main arguments are defined within this object.
s_o attributes:
OUTPUT
Single JSON Object in string notation.
iErrorCode [number]: 0 shows successful execution.
sErrorText [string]: A description showing why the write action was not successful. For a successfull write the string will be empty: ""
Example return: {"iErrorCode":0,"sErrorText":""}
- mDeleteObj
Will delete the specified object
INPUT
sUser [Required]: string defining the user
sPassKey [Required]: authorized key for this user
s_o [Required JSON Object in string notation]: Main arguments are defined within this object.
s_o attributes:
OUTPUT
Single JSON Object in string notation.
iErrorCode [number]: 0 shows successful execution.
sErrorText [string]: A description showing why the write action was not successful. For a successfull write the string will be empty: ""
Example return: {"iErrorCode":0,"sErrorText":""}
- mFR_AttachParts
Will attach Part(s) with or without a specified quantity to an existing Traveler.
INPUT
sUser [Required]: string defining the user
sPassKey [Required]: authorized key for this user
s_o [Required JSON Object in string notation]: Main arguments are defined within this object.
s_o attributes:
s_O Object Explanation:
----------: dtData : This defines the Flow Definition used to create the new Traveler. [Required]
----------: sFR : Existing Traveler Number to attach Part Record(s) to. [Required]
----------: arJobs : An array of one or more Part Records that will be attached to the specified sFR. [Required]
----------: arJobs.sPRID : Part Record Unique ID [Required if not using arJobs.j]
----------: arJobs.j : Internal Part Record Job Number [Required if not using arJobs.sPRID]
----------: arJobs.q : Only use if moving a specified Quantity from a Non-Discrete Part. [Optional]
INPUT Option 1 : {"S_o":{"dtData":null,"sFR":"FR12-000000055","arJobs":[{"j":"PR12-000000011","q":"1"},{"j":"PR12-000000010","q":"3"}]}}
--- This Option will move a specified Part Record by its Job Number "j" as well as the specified Quantity "q" to an existing Traveler "FR13-000000055".
INPUT Option 2 : {"S_o":{"dtData":null,"sFR":"FR13-000000055","arJobs":[{"j":"PR12-000000011"},{"j":"PR12-000000010"}]}}
--- This Option will move a specified Part Record by its Job Number "j" to an existing Traveler "FR13-000000055".
INPUT Option 3 : {"S_o":{"dtData":null,"sFR":"FR13-000000098","arJobs":[{"sPRID":"HW039"},{"sPRID":"HW038"}]}}
--- This Option will move a specified Part Record by its Unique ID "sPRID" to an existing Traveler "FR13-000000098".
OUTPUT
Single JSON Object in string notation.
iErrorCode [number]: 0 shows successful execution.
sErrorText [string]: A description showing why the write action was not successful. For a successfull write the string will be empty: ""
Example return: {"iErrorCode":0,"sErrorText":""}
- mFR_MakeLot
Will assign Lot ID to a Traveler
INPUT
sUser [Required]: string defining the user
sPassKey [Required]: authorized key for this user
s_o [Required JSON Object in string notation]: Main arguments are defined within this object.
s_o attributes:
sFR [Required]: string defining the FR / Traveler Number
sNV [Required]: string defining the NV Number
sLotName [Required]: string defining the FR / Traveler Number
OUTPUT
Single JSON Object in string notation.
iErrorCode [number]: 0 shows successful execution.
sErrorText [string]: A description showing why the write action was not successful. For a successfull write the string will be empty: ""
Example return: {"iErrorCode":0,"sErrorText":""}
- mFR_MakeUID
Will assign batch UID to a Traveler as if batch UID were clicked
This function cannot accept UID Values as input.
Syntax should be pre-defined in the UID Name Value.
Auto-Generate not needed to be enabled in the UID Name Value.
INPUT
sUser [Required]: string defining the user
sPassKey [Required]: authorized key for this user
s_o [Required JSON Object in string notation]: Main arguments are defined within this object.
s_o attributes:
sFR [Required]: string defining the FR / Traveler Number
sNV [Required]: string defining the NV Number
Sample S_o
"S_o": {"sFR": "FR1210-000003332","sNV": "NV12-000002239"}
OUTPUT
Single JSON Object in string notation.
iErrorCode [number]: 0 shows successful execution.
sErrorText [string]: A description showing why the write action was not successful. For a successfull write the string will be empty: ""
Example return: {"iErrorCode":0,"sErrorText":""}
- mFR_MoveToStep
Will move a traveler. The Traveler that needs to be moved can be identified by Traveler ID, Traveler Job Number, or the PRID of one of the parts on the traveler.
When both the sFR and the PRID are defined the PRID will have the priority.
INPUT
sUser [Required]: string defining the user
sPassKey [Required]: authorized key for this user
s_o [Required JSON Object in string notation]: Main arguments are defined within this object.
s_o attributes:
s_o.sFR [string - Required if sPRID is not defined]: Traveler Job Number or Traveler ID (If Traveler ID is customized, use the Traveler Job Number
s_o.sPRID [string - Required if sFR is not defined]: The Unique Identifier of the Part you would like to move, the system will look for the connected Traveler. sPRID takes preference over sPRID
s_o.sSF [string - Optional, default="next": You can use "next", "prev", "last", "end", "first" or "start", "stop", and "sign-off" to handle FRs that require track-in handling. if you want to move to a specific step, use the sSF Job Number for the step. For hierarchical flows use the hierarchical presentation of SF.
s_o.bConfirm [boolean - Optional, default=false]: Will ask for a confirmation before moving to the next step. So the traveler will not move to the next step if you set this boolean to true. You could use this to get feedback regarding the validation of the move.
s_o.bConfirmAttach [boolean - Optional, default=true]: Will give a warning message if documents are attached to the Traveler.
s_o.bNoChecks [boolean - Optional, default=false]: Will check if any required data is missing or out of spec. If this is the case the Traveler will not move to the next step.
s_o example: {"sFR":"", "sPRID":"SN-001", "sSF":"next", "bConfirmAttach":false}
OUTPUT
Single JSON Object in string notation.
Example return: {"iErrorCode":0,"sErrorText":""}
iErrorCode [number]: 0 shows successful execution of the Traveler Move. Any other number will indicate that the traveler did not move.
sErrorText [string]: A description showing why the Traveler did not move. For a successfull move the string will be empty: ""
- mFR_New
Will Create or Reposition Parts to a New Traveler with the ability to write to NV's.
INPUT
sUser [Required]: string defining the user
sPassKey [Required]: authorized key for this user
s_o [Required JSON Object in string notation]: Main arguments are defined within this object.
s_o attributes:
s_O Object Explanation:
----------: oFD : This defines the Flow Definition used to create the new Traveler. [Required]
----------: oFD.sFDNumber : Flow Definition Number [Required]
----------: oFD.sFDRN : Flow Definition Revision [Required]
----------: oPD : Part Definition used for the Requested Part of the New Traveler [Required]
----------: oPD.sPDPN : Part Definition Number [Required]
----------: oPD.sPDRN : Part Definition Revision [Required]
----------: oPD.iReqQty : Requested Quantity for new Traveler [Optional]
----------: oPD.sVPSuffix : Only required if you want to request an alternate Part Definition State[Optional]
----------: arParts : Contains an array of Part Records that will be either Attached or Made on the new Traveler. [Required]
----------: arParts[i].iQty : Quantity of Part to make. Descrete will be 1 Part, while Non-Discrete Part can be greater than 1 [Optional]
----------: arParts[i].Type : "Make" or "Attach" - Make will create a Part Record, Attach will reposition a Part Record [Required]
----------: arParts[i].sPRID : [Requred] for Type: Attach. [Not Required] for Type: Make. This will attach Part Record UID specified to new Traveler.
----------: arParts[i].sVPSuffix : is used for to specify a specific VP Suffix used on the Part Definition [Optional]
----------: arParts[i]arNV : This contains an Array of Name-Values that you can write to. See Below for list of NV's that are supported for write.[Optional]
----------: arParts[i]arNV[i].NVJob : this is taken from the Name-Value ID. With or without the dash. [Required]
----------: arParts[i]arNV[i].NVValue : The Value you wish to write to the Name-Value Record. [Required]
----------: arParts[i]arNV[i].NVValue *Notes: If Name-Value is a Unique ID type with auto-generate, then this value will be assigned regardless of the provided string. [Required]
s_O Sample: Create a New Traveler with both Make and Attach Parts. Also shows writing to Name-Values.
{"S_o":{"oFD":{"sFDNumber":"HW01","sFDRN":"A"},"oPD":{"sPDPN":"HW","sPDRN":"A","iReqQty":1,"sVPSuffix":""},"arParts":[{"sPRID":"HW0144","iQty":1,"Type":"Make","sVPSuffix":"","arNV":[{"NVJob":"NV12000000001","NVValue":"HW0144"},{"NVJob":"NV12000000002","NVValue":"Lot-044"}]},{"sPRID":"HW0145","iQty":1,"Type":"Make","sVPSuffix":"","arNV":[{"NVJob":"NV12000000001","NVValue":"HW0145"},{"NVJob":"NV12000000002","NVValue":"Lot-044"}]},{"sPRID":"HW043","iQty":1,"Type":"Attach"},{"sPRID":"HW050","iQty":1,"Type":"Attach"},{"sPRID":"HW046","iQty":1,"Type":"Attach"}]}}
s_O Sample: Create a New Traveler with one Make Part.
{"S_o":{"oFD":{"sFDNumber":"DW01","sFDRN":"A"},"oPD":{"sPDPN":"DW","sPDRN":"A","iReqQty":1},"arParts":[{"Type":"Make"}]}
s_O Sample: Create a New Traveler and attach a couple Parts by UID.
{"S_o":{"oFD":{"sFDNumber":"DW01","sFDRN":"A"},"oPD":{"sPDPN":"DW","sPDRN":"A","iReqQty":1},"arParts":[{"Type":"Make"}]}
Suppoorted Name-Value Types to Write:
Text, Number: both Text and Number string
Checkbox: true or false string
Pulldown: pulldown value string
Date, Date/Time: milliseconds string
Equipment, Consumption EQ or Part ID string
Lot, Unique ID: value in string
OUTPUT
Single JSON Object in string notation.
iErrorCode [number]: 0 shows successful execution.
sErrorText [string]: A description showing why the write action was not successful. For a successfull write the string will be empty: ""
Example return: {"iErrorCode":0,"sErrorText":""}
- mFR_New_AttachParts
Please use mFR_New as this will now handle the Attachment of Parts to a New Traveler.
Will start a reposition Parts to a New Traveler
INPUT
sUser [Required]: string defining the user
sPassKey [Required]: authorized key for this user
s_o [Required JSON Object in string notation]: Main arguments are defined within this object.
s_o attributes:
Sample S_o
"S_o": {"oFD":{"sFDNumber": "FD12012","sFDRN": "A"},"arJobs": [{"sPRID": "00002","iQty": 1},{"sPRID": "00003","iQty": 1}]}
OUTPUT
Single JSON Object in string notation.
iErrorCode [number]: 0 shows successful execution.
sErrorText [string]: A description showing why the write action was not successful. For a successfull write the string will be empty: ""
Example return: {"iErrorCode":0,"sErrorText":""}
- mFR_New_CreateParts
Please use mFR_New as this will now handle the Creation of Parts on a New Traveler.
Will start a traveler
INPUT
sUser [Required]: string defining the user
sPassKey [Required]: authorized key for this user
s_o [Required JSON Object in string notation]: Main arguments are defined within this object.
s_o attributes:
Sample
mFR_New_CreateParts {"oFD":{"sFDNumber":"FD100", "sFDRN":"A"}, "oRP":{"sPDPN":"PD100", "sPDRN":"A", "iQty":10, "sVPSuffix":""}, "oPR":{"sType":"MakeRP", "arPR":[{"sUID":"X1", "iQty":1},{"sUID":"X1", "iQty":1}]}}
OUTPUT
Single JSON Object in string notation.
iErrorCode [number]: 0 shows successful execution.
sErrorText [string]: A description showing why the write action was not successful. For a successfull write the string will be empty: ""
Example return: {"iErrorCode":0,"sErrorText":""}
- mFixPRPSRChain
Will fix the PSR chain for a PR in case it is broken.
INPUT
sUser [Required]: string defining the user
sPassKey [Required]: authorized key for this user
s_o [Required JSON Object in string notation]: Main arguments are defined within this object.
s_o attributes:
s_o.sPR [string - Required] MES Internal job ID for the PR (e.g. PR12-000000123)
s_o example: {"sPR":"PR12-0000000123"}
OUTPUT
Single JSON Object in string notation.
Example return: {"iErrorCode":0,"sErrorText":"", "sPR":"PR12-000000123", "PSRLinks":{oPSRLinks}}
oPSRLinks: a JSON Object for the PSR Links Test
iErrorCode [number]: 0 shows successful execution.
sErrorText [string]: A description showing why there was an error. For successfull execution the string will be empty: ""
- mGenerateFile
This Accesses the Proxy Layer and Returns a Excel or CSV File
- mGenerateJSON
This Accesses the Proxy Layer and Returns a JSON as a STRING
- mGetJobs
Do Not Use Not Supported
Get comma separeted list of jobs based on the object name and the input sData list
s_o Example = {"sData": "UG09-000003, UG09-000002","sTableName": "UG_Obj"}
- mGetObjInfo
Will get information about the specified object
INPUT
* x_oJSObjectRef: JSON Object that identifies the PD {"sPDPN":"PD100", "sPDRN":"A"}
* x_oJSObjectRef: JSON Object that identifies the SD {"sSDOperationNumber":"SD100", "sSDRN":"A"}
* x_oJSObjectRef: JSON Object that identifies the FD {"sFDNumber":"FD100", "sFDRN":"A"}
* x_oJSObjectRef: {"sDCNo":"DC100", "sDCRev":"A"}
* x_oJSObjectRef: {"sCGName":"Name"}
* x_oJSObjectRef: {"sSPName":"Name"}
sUser [Required]: string defining the user
sPassKey [Required]: authorized key for this user
s_o [Required JSON Object in string notation]: Main arguments are defined within this object.
s_o attributes:
OUTPUT
Single JSON Object in string notation.
iErrorCode [number]: 0 shows successful execution.
sErrorText [string]: A description showing why the write action was not successful. For a successfull write the string will be empty: ""
Example return: {"iErrorCode":0,"sErrorText":""}
- mGetPRHistory
Will summarize all the PSRs of a PR record.
It will result on a single history record per step (which can contain multiple PSRs).
INPUT
sUser [Required]: string defining the user
sPassKey [Required]: authorized key for this user
s_o [Required JSON Object in string notation]: Main arguments are defined within this object.
s_o attributes:
s_o.sSumMethod [string - Optional] String that can be used to switch between different summarize algorithms
s_o.arPR [JSON Array - Required] Array with part records that have to be summarized
s_o.arPR.sPSR [string - Optional] Last Part Step Record for this Part Recorde that was successfully updated the last time this ran (Currently not used).
s_o.arPR.sPR [string - Required] sJob for the PR record to summarize
s_o.arPSRColumns [JSON Array - Required] Defines the columns that will be returned. Each column is a JSON object in the JSON Array.
s_o.arPSRColumns[].sNm [string - Required] The unique name that will determine the column that is added
s_o.arNVRColumns [JSON Array - Required] Defines the columns that will be returned. Each column is a JSON object in the JSON Array.
s_o.arNVRColumns[].sNm [string - Required] The unique name that will determine the column that is added
s_o example: {"arPR":[{"sPRUniqueID":"K0002"}, {"sPR":"PR10-000000002"}]}
OUTPUT
Single JSON Object in string notation.
Example return: {"iErrorCode":0,"sErrorText":"", "arSumPSR":[{"sPSR":"sPSR12-000000029",...}, {"sPSR":"sPSR12-000000041",...}], "oPR_Summary":"{"PR12-000000002":{...}, "PR12-000000003":{...}}}
arSumPSR: a JSON array for all the compressed PSR records
oPR_Summary: a JSON Object giving a summary for all the PR objects. The sPR is the key to the summarized part object.
iErrorCode [number]: 0 shows successful execution.
sErrorText [string]: A description showing why there was an error. For successfull execution the string will be empty: ""
- mGetPRSummary
Will summarize a PR Record.
INPUT
sUser [Required]: string defining the user
sPassKey [Required]: authorized key for this user
s_o [Required JSON Object in string notation]: Main arguments are defined within this object.
s_o attributes:
s_o.sSumMethod [string - Optional] String that can be used to switch between different summarize algorithms
s_o.arPR [JSON Array - Required] Array with part records that have to be summarized
s_o.arPR.sPR [string - Required] sJob for the PR record to summarize
s_o example: {"arPR":[{"sPSUniqueID":"K001"}, {"sPR":"PR10-000000002"}]}
OUTPUT
Single JSON Object in string notation.
Example return: {"iErrorCode":0,"sErrorText":"", "arSumPR":[{"sPR":"sPR12-000000002",...}, {"sPR":"sPR12-00000003",...}]}
iErrorCode [number]: 0 shows successful execution.
sErrorText [string]: A description showing why there was an error. For successfull execution the string will be empty: ""
- mGetServerObj
Gets JSON data for this Application
- mGetSiteJSObject
Get site configuration for MES location object
INPUT:s_o = {"sLC":"LC10-000000001"}
OUTPUT:
- mGetSourceRev
Returns the current revision of the application webservice. This value is read from the web.config and should be the same as the Rev shown in the application. "mGetSourceRev":
- mGetUserGCMKeys
- mGet_OBJ
mGet_OBJ
INPUT:s_o = {}
OUTPUT:
- mJobFile
EZFile SOAP Handeler
INPUT:s_o = {"sJob":"PR10-000000001", "sOutput":"zip", "sFile":"all","sSearch":"*.*"}
OUTPUT: [{"sFileName":"test.jpg","sBinary":[255,216,255,224.......}, {"sFileName":"test2.jpg","sBinary":[255,216,255,224.......}]
- mLogIn
Get Auth Key
- mLogOut
Kill Session
- mMoveFR
Will move a traveler. The Traveler that needs to be moved can be identified by Traveler ID, Traveler Job Number, or the PRID of one of the parts on the traveler.
When both the sFR and the PRID are defined the PRID will have the priority.
INPUT
sUser [Required]: string defining the user
sPassKey [Required]: authorized key for this user
s_o [Required JSON Object in string notation]: Main arguments are defined within this object.
s_o attributes:
s_o.sFR [string - Required if sPRID is not defined]: Traveler Job Number or Traveler ID (If Traveler ID is customized, use the Traveler Job Number
s_o.sPRID [string - Required if sFR is not defined]: The Unique Identifier of the Part you would like to move, the system will look for the connected Traveler. sPRID takes preference over sPRID
s_o.sSF [string - Optional, default="next": You can use "next", "prev", "last", "end", "first" or "start", "stop", and "sign-off" to handle FRs that require track-in handling. if you want to move to a specific step, use the sSF Job Number for the step. For hierarchical flows use the hierarchical presentation of SF.
s_o.bConfirm [boolean - Optional, default=false]: Will ask for a confirmation before moving to the next step. So the traveler will not move to the next step if you set this boolean to true. You could use this to get feedback regarding the validation of the move.
s_o.bConfirmAttach [boolean - Optional, default=true]: Will give a warning message if documents are attached to the Traveler.
s_o.bNoChecks [boolean - Optional, default=false]: Will check if any required data is missing or out of spec. If this is the case the Traveler will not move to the next step.
s_o.arParts [array - Optional]: An array of one or more Part Records that will be attached to the specified sFR
----------: arParts.sPRID : Part Record Unique ID [Required if not using arParts.j]
----------: arParts.j : Internal Part Record Job Number [Required if not using arParts.sPRID]
----------: arParts.q : Only use if moving a specified Quantity from a Non-Discrete Part. [Optional]
s_o example: {"sFR":"", "sPRID":"SN-001", "sSF":"next", "bConfirmAttach":false,"arParts":[{"j":"PR12-000000011","q":"1"},{"j":"PR12-000000010","q":"3"}]}
OUTPUT
Single JSON Object in string notation.
Example return: {"iErrorCode":0,"sErrorText":""}
iErrorCode [number]: 0 shows successful execution of the Traveler Move. Any other number will indicate that the traveler did not move.
sErrorText [string]: A description showing why the Traveler did not move. For a successfull move the string will be empty: ""
- mMoveObj
Will change the state of an Object
INPUT
sUser [Required]: string defining the user
sPassKey [Required]: authorized key for this user
s_o [Required JSON Object in string notation]: Main arguments are defined within this object.
s_o attributes:
OUTPUT
Single JSON Object in string notation.
iErrorCode [number]: 0 shows successful execution.
sErrorText [string]: A description showing why the write action was not successful. For a successfull write the string will be empty: ""
Example return: {"iErrorCode":0,"sErrorText":""}
- mObj_NewRevision
Clone an exisiting Object (PD_Obj, SD_Obj, FD_Obj, DC_Obj) and give it a new RevsNewRev [Optional]: string defining the New Revision. If not define, it takes the next sequence
sRevUser [Optional]: string defining the Revision User. If not define, it uses the current user
sRevComment [Required]: Conmments
sJob [Required, if don't have sNumber + sRev + sTableName]: string defining the original object Number (sPDPN, sSDOperationNumber, sFDNumber, sDCNo)
sNumber [Required, if don't have sJob]: string defining the original object Number (sPDPN, sSDOperationNumber, sFDNumber, sDCNo)
sRev [Required, if don't have sJob]: string defining the original object Revision (sPDRN, sSDRN, sFDRN, sDCRev)
sTableName [Required, if don't have sJob]: string defining the original object Flow Table (PD_Flow, SD_Flow, FD_Flow, DC_Flow)
s_o Example = {"sNewRev": "","sRevUser": "sfargo","sRevComment": "New object revision should be B","sJob": "","sNumber": "123456","sRev": "A","sTableName": "PD_Flow"}
- mPR_CreateGenealogy
Early stages of development. Customer Specific Function
- mPR_GetPRsByUniqueID_XML
Will get all the Part Records with the specified UniqueID.
The return is an array, if no parts are found the array will be empty.
INPUT
sPRUniqueID [string - Required]: The Unique ID you would like to check
OUTPUT
Single JSON Object in string notation.
arPR [JS Array]: Array with JSON objects for each Part Record in the system with the specified value for the sPRUniquesID.
arPR[].sPR [string]: Internal MES ID for the Part Record with the specified ID. Empty string if the Part Record cannot be found.
arPR[].sPRPartType [string]: State of the Part Record (to be able to filter out Scrapped, or any other state).
arErrors [JS Array]: If the array is empty, no errors occured. If errors occured they will be added as JSON Objects.
arErrors[].iErrorCode [number]: 0 shows successful execution of writing the value to an NV for a PRID.
arErrors[].sErrorText [string]: A description showing why the write action was not successful. For a successfull write the string will be empty: ""
Example return
{"arPR":[{"sPR":"PR13-000000001","sPRPartType":"WIP"},{"sPR":"PR13-000000002","sPRPartType":"Scrapped"}],"arErrors":[],"iErrorCode":0,"sErrorText":""}
- mPR_GetPRsByUniqueID_and_Location_XML
Will get all the Part Records with the specified UniqueID.
The return is an array, if no parts are found the array will be empty.
INPUT
sPRUniqueID [string - Required]: The Unique ID you would like to check
sLC [string - Required]: The Location Filter or empty string, this can be location name or system ID
OUTPUT
Single JSON Object in string notation.
arPR [JS Array]: Array with JSON objects for each Part Record in the system with the specified value for the sPRUniquesID.
arPR[].sPR [string]: Internal MES ID for the Part Record with the specified ID. Empty string if the Part Record cannot be found.
arPR[].sPRPartType [string]: State of the Part Record (to be able to filter out Scrapped, or any other state).
arPR[].sPRLC [string]: Internal MES ID for the Part(s) Location
arPR[].sPRLC [string]: The Part(s) Location Name
arErrors [JS Array]: If the array is empty, no errors occured. If errors occured they will be added as JSON Objects.
arErrors[].iErrorCode [number]: 0 shows successful execution of writing the value to an NV for a PRID.
arErrors[].sErrorText [string]: A description showing why the write action was not successful. For a successfull write the string will be empty: ""
Example return
{"arPR":[{"sPR":"PR13-000000001","sPRPartType":"WIP","sPRLC":"LC14-000000001","sPRLCName":"Site 1"},{"sPR":"PR13-000000002","sPRPartType":"Scrapped","sPRLC":"LC14-000000002","sPRLCName":"Site 2"}],"arErrors":[],"iErrorCode":0,"sErrorText":""}
- mPR_Repair
Customer Specific Function
This call will look for the PR with the specified UID. The following cases can happen:
1 The UID does not exist: The PR will be created with the UID based on the inventory flow of the specified PD.
2 The UID does exist but is consumed: The PR will be unconsumed and moved to the Repair Flow.
3 The UID does exist but is not consumed: The PR will be moved to the Repair Flow.
sUser [Required]: string defining the user
sPassKey [Required]: authorized key for this user
s_o [Required JSON Object in string notation]: Main arguments are defined within this object.
s_o attributes:
s_o.sUID [string - Required]: Part UID.
s_o.sPN [string - Optional]: Part Number.
s_o.sSSN [string - Optional]: Part Serial Number.
s_o.sFDNumber [string - Required]: Repair Flow Number.
s_o.sFDRN [string - Required]: Repair Flow RN.
s_o.sLocation [string - Required]: Location (This NV should be defined on the Repair FD).
s_o.sOperator [string - Required]: Scan Time (This NV should be defined on the Repair FD).
s_o.sScanTime [string - Required]: Operator (This NV should be defined on the Repair FD).
s_o.sType [string - Required]: Repair Type (in/out).
s_o Example = {"sUID":"NCR00100000XA3","sPN":"","sSSN":"","sFDNumber":"NCR006","sFDRN":"A","sType":"in"}
- mPR_UpdateNVR_XML
Will write data to a specific NV for a Part with sPRID
INPUT
sPRUniqueID [string - Required]: The Unique ID of the Part Record you would like to write to
sNVName [string - Required]: The Name of the Data Entries you would like to address
sNewVal [string - Required]: The New Value to be written to the data entry
- mReplacePart
Function is replaced by mPR_UnConsumePR. Customer Specific Function
- mReport_PR_StateChange
Outputs and XLSX file that provides state changes of parts.
This export is filtered by a date range specified in the S_o object.
Output XLSX file is saved on the users desktop
Required: sDateStart as MM/DD/YYYY
Required: sDateEnd as MM/DD/YYYY
Filename Saved into current users Desktop\mReport_PR_StateChange\sFileName
Example:S_o = {"sDateStart": "11/08/2012","sDateEnd": "11/10/2012", "sFileName": "PRList.xlsx"}
- mRepositionFR
Will move a Traveler or Parts to any other Flow or Step, jsut define the sFR and sSF job numbers
INPUT:
OUTPUT:
- mRevObj
Will create a new Object
INPUT
sUser [Required]: string defining the user
sPassKey [Required]: authorized key for this user
s_o [Required JSON Object in string notation]: Main arguments are defined within this object.
s_o attributes:
s_o.sNewRev [string - Required]: New REV .
s_o.sRevDate [string - Optional (default NOW)]: MS since 1970 value for REV Dat.
s_o.sRevUser [string - Required]: USER for REV.
s_o.sRevComment [string - Required]: REV Comment.
s_o.bCheck_sNewRev [bool - Optional (default true)]: Will test for NEW REV, if not true will try to find the next valid REV like the GUI.
s_o.oObjectRef [Object - Required]: Object to REV From Like PD, FD, SD.
OUTPUT
Single JSON Object in string notation.
iErrorCode [number]: 0 shows successful execution.
sErrorText [string]: A description showing why the write action was not successful. For a successfull write the string will be empty: ""
Example return: {"iErrorCode":0,"sErrorText":""}
- mStartFR
This Function is being replaced by mFR_New. Please convert your call to the mFR_New Method.
- mTestPassKey
Test User Credentials
- mTestPassKey_ThreadSleep
Test User Credentials
- mUploadFile
This will upload a file to an DC Object
- mUser_ValidateUser
Checks if the user name and password will work to log in
- mWriteNVValueToPRID
Will write data to a specific NV for a Part with sPRID
There are different ways to call this method
SINGLE VALUE INPUT
S_o [string containing JSON formatted object - Required]: The Unique ID of the Part, the Name of the value, and the actual value to write
S_o.sPRUniqueID [string - Required]: The Unique ID of the Part Record you would like to write to
S_o.sNVName [string - Required]: The Name of the Data Entries you would like to address
S_o.sNewVal [string - Required]: The New Value to be written to the data entry
s_o example: This example writes the value of 0.12 to the NV with sNVName "Power mA" to Part Record with Unique ID "LV001"
{"sPRUniqueID":"LV001", "sNVName":"Power mW", "sNewVal":"0.12"}
INPUT
S_o [string containing JSON formatted object - Required]: A traveler identifier and an Array of PRIDs with the NV values that need to be written
s_o.sFR [string - Optional]: Traveler Job Number or Traveler ID (If Traveler ID is customized, use the Traveler Job Number). If no sFR is passed in the system will try to figure our the sFR based on the UIDs of the Parts that are entered in the arPRID array
s_o.sPR [string - Optional]: Part Job Number or UID of Part (Will try to find by the Part System ID or UID). If no sFR is passed in the system will try to figure our the sFR based on the UIDs of the Parts that are entered in the arPRID array
S_o.arPRID[] [JSON array - Required]: String containing an Array with and JSON object for each PRID
S_o.arPRID[0].sPRID [string - Required]: Unique Identifier for the part you would like to write to
S_o.arPRID[0].NVxxxx [JSON object - Required]: object containing the data that has to be written to the NV. Please note to remove the hyphen from the NV job number
S_o.arPRID[0].NVxxxx.sNewVal [variable - Required]: The value that is actually written to the NV
s_o example: This example writes the value of "Some sample text" to NV with Job number "NV11-000000046" to Part Record with Part ID "K005" on traveler with Job number "FR11-000000131"
{"sFR":"FR11-000000131","arPRID":[{"sPRID":"K005","NV11000000046":{"sNewVal":"Some sample text"}}]}
s_o example: Same as previous example, but now 2 values are written: a numeric value of 12 to "NV11-000000050" and the same text string to "NV11-000000046"
{"sFR":"FR11-000000131","arPRID":[{"sPRID":"K005","NV11000000046":{"sNewVal":"Some sample text"},"NV11000000050":{"sNewVal":12}}]}
s_o example: Same as previous example, but now data is written to 2 Part Records with Part ID "K005" and "K003"
{"sFR":"FR11-000000131","arPRID":[{"sPRID":"K005","NV11000000046":{"sNewVal":"Some sample text"},"NV11000000050":{"sNewVal":12}}],[{"sPRID":"K003","NV11000000046":{"sNewVal":"Some more text"},"NV11000000050":{"sNewVal":13}}]}
s_o example: Example, Single Part using NV Names and UID "00081"
{"sFR":"FR15-000000050","arPRID":[{"sPRID":"00081","PullDownInput":{"sNewVal":"option1"},"Enter Text Value":{"sNewVal":"123455"},"Choice":{"sNewVal":"333344"}}]}
s_o example: Example, Batch Update Part(s) using NV Names and UID "all"
{"sFR":"FR15-000000050","arPRID":[{"sPRID":"all","PullDownInput":{"sNewVal":"option1"},"Enter Text Value":{"sNewVal":"123455"},"Choice":{"sNewVal":"333344"}}]}
OUTPUT
Single JSON Object in string notation.
Example return: {"iErrorCode":0,"sErrorText":""}
iErrorCode [number]: 0 shows successful execution of writing the value to an NV for a PRID.
sErrorText [string]: A description showing why the write action was not successful. For a successfull write the string will be empty: ""