how do I debug a mobile app builder actionitem script?

Gerald Fuchs
Tera Contributor

Hi All, 
has anyone some description on how I could debug a script which has been created in #Mobile App Builder in an ActionItem Script? (see attached Screen Shoot

I no not know if this is possible at all,  I want to check what the content of the function  parameters (parm_input, parm_variable, actionResult) are?

 
(function WriteBackAction(parm_input, parm_variable, actionResult) {
    // Type appropriate comment here, and begin script below
    for (i = 0; i < parm_input["barcodes.asset_number"].length; i++) {
        var assetNumber = parm_input["barcodes.asset_number"][i];
        var modelNumber = parm_input["barcodes.model_number"][i];
        var SMAssetUsage = new global.SMAssetUsage();
        SMAssetUsage.addAssetToStockroom(assetNumber, modelNumber);
    }
})(parm_input, parm_variable, actionResult);

 

2 REPLIES 2

VIJAY YACHAM1
Tera Contributor

Hello @Gerald Fuchs,

 

Can you please give a try with below script 

 

function WriteBackAction(parm_input, parm_variable, actionResult) {

  // Check if required parameters are present

  if (!parm_input || !parm_input["barcodes.asset_number"] || !parm_input["barcodes.model_number"]) {

    gs.log("Error: Missing required parameters");

    return;

  }

  

  // Loop through asset numbers and model numbers

  for (var i = 0; i < parm_input["barcodes.asset_number"].length; i++) {

    var assetNumber = parm_input["barcodes.asset_number"][i];

    var modelNumber = parm_input["barcodes.model_number"][i];

    

    // Check if asset number and model number are present

    if (!assetNumber || !modelNumber) {

      gs.log("Error: Missing asset number or model number");

      continue;

    }

    

    try {

      var SMAssetUsage = new global.SMAssetUsage();

      SMAssetUsage.addAssetToStockroom(assetNumber, modelNumber);

    } catch (e) {

      gs.log("Error: " + e.message);

    }

  }

}

 

Please accept my solution and mark it as helpful if it works.

 

Thanks,

Vijay

Prataps135
Mega Sage

Hi @Gerald Fuchs ,

(function WriteBackAction(parm_input, parm_variable, actionResult) {
    // Log the entire input objects
    gs.info("parm_input: " + JSON.stringify(parm_input));
    gs.info("parm_variable: " + JSON.stringify(parm_variable));
    gs.info("actionResult: " + JSON.stringify(actionResult));

    for (var i = 0; i < parm_input["barcodes.asset_number"].length; i++) {
        var assetNumber = parm_input["barcodes.asset_number"][i];
        var modelNumber = parm_input["barcodes.model_number"][i];

        gs.info("Processing Asset - Asset Number: " + assetNumber + ", Model Number: " + modelNumber);

        var SMAssetUsage = new global.SMAssetUsage();
        SMAssetUsage.addAssetToStockroom(assetNumber, modelNumber);
    }
})(parm_input, parm_variable, actionResult);

use the above script.

Thanks and Regards,
Pratap Singh Sisodia