a:6:{i:0;s:7632:"					<section class="headBg theme2 ">
					<div class="wrap">
					<div class="page-title-inner fo"> 
					<div class="h1"><h1>Oracle Techno Functional Consultant</h1></div>
					<p class="breadcrumb ar uu small"><a href="http://www.pinnaclejobsindia.com/" title="Home">Home</a>
					
											<b class="ffv p2px">&rsaquo;</b><a href="http://www.pinnaclejobsindia.com/current-jobs.htm" title="Current Jobs">Current Jobs</a>
																
					<b class="ffv p2px">&rsaquo;</b> Oracle Techno Functional Consultant</p>
					</div>
					</div>
					</section>
									<section id="middle">
				<div class="wrap" id="bodyFormatNT">
				<div class="row1 dt columns23"><!--MIDDLE ROW1 STARTS-->
				<div class="col-2 wideColumn ip ls detail_pm_15"><!--MIDDLE ROW1 COL-2 STARTS-->
				
								<p class="mb5px"><i class="fa fa-briefcase mr7px fl w15px alpha50"></i> 5 - 10 Years</p>
				
									<p class="mb10px"><i class="fa fa-map-marker mr7px fl pl1px w15px alpha50"></i>Cachar, Ambikapur Part-X</p>
										
					<div>
					<form name="frmvacdetail" method="post" action="enquiry-form-10009.htm">
					<input style="padding:7px 15px;" class="button b ffos" type="submit" value="APPLY NOW !" />
					<input type="hidden" name="catalog_mi" value="818814">
					<input type="hidden" name="enq_type" value="2"><input type="hidden" name="vacancy_id" value="912692"><input type="hidden" name="subject" value="Applied for Oracle Techno Functional Consultant">
					</form>
					</div>
			
						
				
				<br>
				<div class="bdrT pt20px">
				<p class="xlarge b">Job Description</p>
				<p class="aj mt10px">We have an urgent requirement for the position of \"Oracle Netsuite technofunctional Consultant\"required by a well reputed software development company.The JD is as under:<br />
•	Candidate must be TechnoFunctional<br />
•	Must worked in SRP (service resource planning)<br />
•	Must know Technical and functional side of SRP<br />
•	Customization on SRP<br />
•	Knowledge about Advance Financial <br />
•	Knowledge about Inter Company Transaction<br />
•	Strong Work experience in Revenue Recognition.<br />
•	Implementation knowledge about Revenue Recognition and  Company Transaction<br />
•	SFTP Silver knowledge and work experience <br />
•	Integration with Bank in SFTP<br />
•	Sale management and order management knowledge <br />
•	Knowledge API creational to sale <br />
•	Revenue Recognition and  Inter Company Transaction complete knowledge and must be done project on the same</p>
				
				<table class="w100 formTable bdr0 mt10px">				
											<tr>
							<td class="w22 alpha75 p5px">Salary</td>
							<td class="p5px"> 49 Thousand  9  Hundered  90 9 To  5  Lac  P.A.</td>
							</tr>				
											
					<tr>
					<td class="w22 alpha75 p5px">Industry</td>
					<td class="p5px">IT Software - Others</td>
					</tr>
									<tr>
				<td class="w22 alpha75 p5px">Work Experience</td>
				<td class="p5px">5 - 10 Years</td>
				</tr>
									<tr>
					<td class="w22 alpha75 p5px">Qualification</td>
					<td class="p5px">B.Tech/B.E</td>
					</tr>					
									
				</table>
				
				
				</div>
				
				<br>
				<div class="bdrT pt20px">
									<p class="xlarge b">Key Skills</p>
					<div class="mt10px dif">
											<span class="bn dib p5px10px c2px headVr mr7px mb7px">Oracle consultant</span>
												<span class="bn dib p5px10px c2px headVr mr7px mb7px"> Techno Functional Consultant</span>
												<span class="bn dib p5px10px c2px headVr mr7px mb7px"> SRP consultant</span>
												<span class="bn dib p5px10px c2px headVr mr7px mb7px"></span>
											</div>
									</div>
				
				
				<br>
				<div class="bdrT pt20px">
				<p class="xlarge b">Company Profile</p>
				<div class="mt10px">
				
									<table class="w100 formTable bdr0 mt5px">
											<tr>
						<td class="w22 alpha75 p5px">Contact Person</td>
						<td class="p5px">Amritansh Nijhawan</td>
						</tr>					
												<tr>
						<td class="w22 alpha75 p5px">Address</td>
						<td class="p5px">india</td>
						</tr>					
												<tr>
						<td class="w22 alpha75 p5px">Mobile </td>
						<td class="p5px">8700784091 </td>
						</tr>
												<tr>
						<td class="w22 alpha75 p5px">Email ID</td>
						<td class="p5px"><a href="mailto:info@pinnaclejobs.co.in"> info@pinnaclejobs.co.in </a></td>
						</tr>
										
					</table>
									
				<br />
				
									
					<div class="bdrT pt20px">
					<form name="frmvacdetail" method="post" action="enquiry-form-10009.htm">
					<input style="padding:7px 15px;" class="button b ffos" type="submit" value="APPLY NOW !" />
					<input type="hidden" name="catalog_mi" value="818814">
					<input type="hidden" name="enq_type" value="2"><input type="hidden" name="vacancy_id" value="912692"><input type="hidden" name="subject" value="Applied for Oracle Techno Functional Consultant">
					</form>
					</div>
			
									</div>
				</div>			
				
				<!--MIDDLE ROW1 COL-2 ENDS--> 
				</div>
				<div class="col-3 thinColumn"><!--MIDDLE ROW1 COL-1 STARTS-->
				
				<div class="column_Box mc">
				<div class="tcl bullet divider">
				<div class="h h2"><b class="plusMinus"></b>
				<h2>Jobs by Location</h2>
				</div>
				<div class="ic showHide_rp">
				<div class="mt10px">
									<span class="dib p5px10px c2px headVr mr7px mb7px "><a class="dif" href="jobs-in-bangalore.htm" title="Jobs in Bangalore">Bangalore</a> <b class="alpha50 bn small">(1)</b></span>
										<span class="dib p5px10px c2px headVr mr7px mb7px "><a class="dif" href="jobs-in-hyderabad.htm" title="Jobs in Hyderabad">Hyderabad</a> <b class="alpha50 bn small">(1)</b></span>
										<span class="dib p5px10px c2px headVr mr7px mb7px "><a class="dif" href="jobs-in-cachar.htm" title="Jobs in Cachar">Cachar</a> <b class="alpha50 bn small">(1)</b></span>
									</div>
				</div>
				</div>
				</div>
				
				<div class="column_Box mc">
				<div class="tcl bullet divider">
				<div class="h h2"><b class="plusMinus"></b>
				<h2>Jobs by Functional Area</h2>
				</div>
				<div class="ic showHide_rp">
				<div class="mt10px">
									<span class="dib p5px10px c2px headVr mr7px mb7px "><a class="dif" href="jobs-in-web-designing-programming-fid.htm" title="IT Software - Others Jobs">IT Software - Others</a> <b class="alpha50 bn small">(2)</b></span>
									
				</div>
				</div>
				</div>
				</div>
				
				</div>
				<!--MIDDLE ROW1 COL-1 ENDS-->
				
				<!--MIDDLE ROW1 ENDS--> 
				</div>
				<br><br>
				</div>
				</section>
				<script>
					window.addEventListener("DOMContentLoaded", function(){
						jQuery(document).on("click", ".showallspan", function(){
							if(jQuery(this).attr("data-target") === 'show'){
								jQuery(this).text("View Less");
								jQuery(this).attr("data-target", "hide");
								jQuery(this).closest("div").find(".spanlist").removeClass("dn");
							}else{
								jQuery(this).text("View More");
								jQuery(this).attr("data-target", "show");
								jQuery(this).closest("div").find(".spanlist").addClass("dn");
							}
						});
					});
				</script>
					<script>
	$.ajax({
	  url: "https://www.placementindia.com/job_posting_view.php",
	  type: "POST",
	  dataType: 'html',
	  data: {job_view_id: 'TTN1NitRQm0ySkdYd1crRGM5emNhZz09',data_type: 'RExzRmw1cmRsdlh6YkJlVUZBNnA4UT09'},
	  cache : false,
	  async: true
	  
	}).done(function(resp) {
	  //alert(resp)
	});
	</script>
	";i:1;s:84:"Oracle Techno Functional Consultant Jobs in Cachar - Vacancy in IT Software - Others";i:2;s:231:"Oracle Techno Functional Consultant Jobs,Oracle Techno Functional Consultant Jobs in Cachar,Oracle Techno Functional Consultant Vacancy in Cachar,Oracle Techno Functional Consultant jobs in India,IT Software - Others jobs in Cachar";i:3;s:303:"Apply for Oracle Techno Functional Consultant Jobs in Cachar India - Oracle Techno Functional Consultant Vacancy  in IT Software - Others field with 5 to 10 years Work Experience, Key Skills are Oracle consultant, Techno Functional Consultant, SRP consultant,, IT Software - Others jobs in Cachar  India";i:4;s:1575:"
		<script type="application/ld+json">
		{
		  "@context": "http://schema.org",
		  "@type": "JobPosting",
		  "title": "Oracle Techno Functional Consultant",
		  "baseSalary": " 49 Thousand  9  Hundered  90 9 To  5  Lac ",
		  "description": "We have an urgent requirement for the position of \"Oracle Netsuite technofunctional Consultant\"required by a well reputed software development company.The JD is as under:
•	Candidate must be TechnoFunctional
•	Must worked in SRP (service resource planning)
•	Must know Technical and functional side of SRP
•	Customization on SRP
•	Knowledge about Advance Financial 
•	Knowledge about Inter Company Transaction
•	Strong Work experience in Revenue Recognition.
•	Implementation knowledge about Revenue Recognition and  Company Transaction
•	SFTP Silver knowledge and work experience 
•	Integration with Bank in SFTP
•	Sale management and order management knowledge 
•	Knowledge API creational to sale 
•	Revenue Recognition and  Inter Company Transaction complete knowledge and must be done project on the same",
		  "educationRequirements": "B.Tech/B.E",
		  "experienceRequirements": "5 - 10 Years",
		  "industry": "IT Software - Others",
		  "jobLocation": {
		    "@type": "Place",
		    "address": {
		      "@type": "PostalAddress",
		      "addressLocality": "Assam",
		      "addressRegion": "Cachar, Ambikapur Part-X"
		    }
		  },
		 "qualifications": "B.Tech/B.E",
		     "skills": "Oracle consultant, Techno Functional Consultant, SRP consultant,"
		  }
		</script>
		";i:5;N;}