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.

 

EZ-MES open API

 

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: ""