Method PostCancelReqHeader2

Summary

Cancel Requisition Header

Remarks

Allows the cancellation of a requisition header record, file PI610AP. Limited edits are enforced during the cancellation. The entire requisition will be cancelled along with all of its line items.

Requires

Input Parameters

NameTypeLengthDescription
action System.String 1 [Required] Action: A=create, U=update, C=cancel, Defaults to C
reqNumber System.String 30 [Required] Requisition Number

Example

POST http://localhost/FusionServices/v3/Naviline/ProductInventory/CancelReqHdr2

Return Values

NameDescription
ErrorCode 0000 = Success.
ErrorDescription Success if success, otherwise returns a descriptive error message.
RequisitionNumber Requisition number

Sample Responses

Sample Code

using System.Net;
using Newtonsoft.Json.Linq;

public void MethodName(parms)
{
   string uri = "http://localhost/FusionServices/v3/Naviline/ProductInventory/CancelReqHdr2";
   System.Collections.Specialized.NameValueCollection postParms = 
     new System.Collections.Specialized.NameValueCollection(); 
   // Set paramater values
   postParms.Add("action",System.Web.HttpUtility.UrlEncode("C"));
   postParms.Add("reqNumber",System.Web.HttpUtility.UrlEncode("somefakenumber"));

   WebClient req = new WebClient();
   wc.Headers.Add("Content-Type", "application/x-www-form-urlencoded");
   wc.Headers.Set("X-APPID", "YOURID");
   wc.Headers.Set("X-APPKEY", "YOURKEY");

   byte[] responseBytes = wc.UploadValues(new Uri(uri), "POST", postParms);
   string stringResult = Encoding.UTF8.GetString(responseBytes); 
   JObject response = JObject.Parse(stringResult);
   string error = response["OutputParms"]["ErrorCode"].ToString();
   if (error == "0000")
   {
         // TODO - YOUR CODE HERE
   }
}

C# Razor MVC Sample Code

using System;
using System.Linq;
using System.Web;
using System.ComponentModel.DataAnnotations;
using System.Collections.Specialized;
using FusionServiceHelper.Models;

// NOTE: Use the namespace generated when you add the class, so that it is correct.
namespace FusionRazor.Models
{
   public class PostCancelReqHeader2
   {
       // Add property for each input param in order to map a field to it
       [Required(ErrorMessage = "Required")]
       [RegularExpression("^(?=.{0,1}$).*", ErrorMessage = "Must be 1 characters or less. ")]
       public string action{get; set;}

       [Required(ErrorMessage = "Required")]
       [RegularExpression("^(?=.{0,30}$).*", ErrorMessage = "Must be 30 characters or less. ")]
       public string reqNumber{get; set;}

       public PostCancelReqHeader2()
       {
           //Set any defaults here
       }
   }
}
@* NOTE: Use Add->View to add the View. *@
@* NOTE: Check the 'Create strongly-typed view checkbox, and select the PostCancelReqHeader2 class. *@
@* NOTE: Select Edit as the Scaffold template. *@
@* NOTE: Use the @model line that is generated at the top.  Replace the rest with the lines below.
@model FusionRazor.Models.PostCancelReqHeader2

@{
   ViewBag.Title = "PostCancelReqHeader2";
}

<h2>PostCancelReqHeader2</h2>
@using (Html.BeginForm()) {
   @Html.AntiForgeryToken()
   @Html.ValidationSummary(true)
   <fieldset>
   <legend>PostCancelReqHeader2</legend>
       <div class="editor-label">
           @Html.LabelFor(model => model.action)
       </div>
       <div class="editor-field">
           @Html.EditorFor(model => model.action)
           @Html.ValidationMessageFor(model => model.action)
       </div>
       <div class="editor-label">
           @Html.LabelFor(model => model.reqNumber)
       </div>
       <div class="editor-field">
           @Html.EditorFor(model => model.reqNumber)
           @Html.ValidationMessageFor(model => model.reqNumber)
       </div>
       <p>
       <input type="submit" value="Submit"/>
       </p>
   </fieldset>

}

@section Scripts {
   @Scripts.Render("~/bundles/jqueryval")
}
using System;
using System.Collections.Specialized;
using System.Linq;
using System.Web;
using System.Web.Mvc;
using FusionServiceHelper.Models;

// NOTE: Replace 'MyController' with the name of your controller.

// 
// GET: /MyController/PostCancelReqHeader2
public ActionResult PostCancelReqHeader2()
{
   // Create a new instance of the model to pick up any default values.
   PostCancelReqHeader2 model =  new PostCancelReqHeader2();

   // pass model to set to default values
   // NOTE: Change 'MyFolderPath' to the path to the .cshtml file.
   return View("~/Views/MyFolderPath/PostCancelReqHeader2.cshtml", model);
}

// 
// POST: /MyController/PostCancelReqHeader2
[HttpPost]
public ActionResult PostCancelReqHeader2(FormCollection collection)
{
   string url = "v3/Naviline/ProductInventory/CancelReqHdr2";
   // Get the value from each input field
   NameValueCollection inputParms = new NameValueCollection();
   inputParms.Add("action", collection["action"]);
   inputParms.Add("reqNumber", collection["reqNumber"]);

   try
   {
       // Send the request
       FusionServiceRequest request = new FusionServiceRequest();
       FusionServiceResult result = request.Post(url, inputParms);

       return View("Result", result);
   }
   catch(Exception e)
   {
       HandleErrorInfo info = new HandleErrorInfo(e, "MyController", "PostCancelReqHeader2");
       return View("Error", info);
   }
}