a:6:{i:0;s:8282:"				<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-->
				
									<div class="h1"><h1>Sr Manager / Agm For International Sales In One Of Agrochemical Company</h1></div>
					<p class="breadcrumb ar uu small"> <a href="http://www.aarnaconsultancy.com/">Home</a>
					
											<b class="ffv p2px">&rsaquo;</b><a href="http://www.aarnaconsultancy.com/current-jobs.htm" title="Current Jobs">Current Jobs</a>  			
											
					<b class="ffv p2px">&rsaquo;</b> Sr Manager / Agm For International Sales In One Of Agrochemical Company</p>
									<p class="mb5px"><i class="fa fa-briefcase mr7px fl w15px alpha50"></i> 15 - 31 Years</p>
				
									<p class="mb10px"><i class="fa fa-map-marker mr7px fl pl1px w15px alpha50"></i>Ahmedabad, Gujarat</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="333131">
					<input type="hidden" name="enq_type" value="2"><input type="hidden" name="vacancy_id" value="830131"><input type="hidden" name="subject" value="Applied for Sr Manager / Agm for International Sales in One of Agrochemical Company">
					</form>
					</div>
			
						
				
				<br>
				<div class="bdrT pt20px">
				<p class="xlarge b">Job Description</p>
				<p class="aj mt10px">We have a Very Urgent Opening in One of the Agrochemical Manufacturing Company as Sr Manager /agm International Sales.<br />
job Description<br />
as  Manager International Marketing Agrochemicals Your Responsibilities Include the Following<br />
determine and Execute Appropriate Sales Strategies for the Company in Accordance with the Company's Consolidated Strategy and Required Financial and Operational Targets<br />
achieve Agreed with Budgetary Targets Across Each of the Markets in Which the Company Operates<br />
determine Critical Success Factors for New Client Acquisition, Negotiate and Close the Business to Ensure that Targets are Achieved<br />
identify New Business Development Opportunities Through Ensuring a Healthy Pipeline of Orders & Prospects<br />
manage the Preparation of the Budgets, Reports, Forecasts, and Performance and Ensure They are Presented in a Timely Manner to the Ceo<br />
ensure the Continued Development of the Company's Client Base By Actively Managing the Expansion of Products and Services Into New Markets in Line with the Company's Ambitions<br />
ensure that Regular and Relevant Communication is Made with Potential Clients Across Each of the Markets in Which the Company Provides Its Products and Services<br />
the Position Reports to the Ceo and Demands International Travel<br />
desired Candidate Profile</p>
				
				<table class="w100 formTable bdr0 mt10px">				
											<tr>
							<td class="w22 alpha75 p5px">Salary</td>
							<td class="p5px"> 10  Lac  To   22 Lac  50 Thousand  P.A.</td>
							</tr>				
											
					<tr>
					<td class="w22 alpha75 p5px">Industry</td>
					<td class="p5px">Sales/Marketing</td>
					</tr>
									<tr>
				<td class="w22 alpha75 p5px">Work Experience</td>
				<td class="p5px">15 - 31 Years</td>
				</tr>
									<tr>
					<td class="w22 alpha75 p5px">Qualification</td>
					<td class="p5px">Other Bachelor Degree</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">sales</span>
												<span class="bn dib p5px10px c2px headVr mr7px mb7px">marketing</span>
												<span class="bn dib p5px10px c2px headVr mr7px mb7px"> business development</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">Mr. Mithil Shah</td>
						</tr>					
												<tr>
						<td class="w22 alpha75 p5px">Address</td>
						<td class="p5px">A/4 neelaknth apertment ,b/h vishram nagar , gurukul road</td>
						</tr>					
												<tr>
						<td class="w22 alpha75 p5px">Mobile </td>
						<td class="p5px">9909990337 </td>
						</tr>
												<tr>
						<td class="w22 alpha75 p5px">Email ID</td>
						<td class="p5px"><a href="mailto:aarnaconsultancy2011@gmail.com"> aarnaconsultancy2011@gmail.com </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="333131">
					<input type="hidden" name="enq_type" value="2"><input type="hidden" name="vacancy_id" value="830131"><input type="hidden" name="subject" value="Applied for Sr Manager / Agm for International Sales in One of Agrochemical Company">
					</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-gurgaon.htm" title="Jobs in Gurgaon">Gurgaon</a> <b class="alpha50 bn small">(2)</b></span>
										<span class="dib p5px10px c2px headVr mr7px mb7px "><a class="dif" href="jobs-in-ahmedabad.htm" title="Jobs in Ahmedabad">Ahmedabad</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-software-mainframe-fid.htm" title="IT Software - Mainframe Jobs">IT Software - Mainframe</a> <b class="alpha50 bn small">(1)</b></span>
										<span class="dib p5px10px c2px headVr mr7px mb7px "><a class="dif" href="jobs-in-system-programming-fid.htm" title="IT Software - System Programming Jobs">IT Software - System Programming</a> <b class="alpha50 bn small">(1)</b></span>
										<span class="dib p5px10px c2px headVr mr7px mb7px "><a class="dif" href="jobs-in-sales-marketing-fid.htm" title="Sales/Marketing Jobs">Sales/Marketing</a> <b class="alpha50 bn small">(1)</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: 'UUc4Y0RIeXBML05VQ0o1b3c0bytMdz09',data_type: 'RExzRmw1cmRsdlh6YkJlVUZBNnA4UT09'},
	  cache : false,
	  async: true
	  
	}).done(function(resp) {
	  //alert(resp)
	});
	</script>
	";i:1;s:118:"Sr Manager / Agm for International Sales in One of Agrochemical Company Jobs in Ahmedabad - Vacancy in Sales/Marketing";i:2;s:379:"Sr Manager / Agm for International Sales in One of Agrochemical Company Jobs,Sr Manager / Agm for International Sales in One of Agrochemical Company Jobs in Ahmedabad,Sr Manager / Agm for International Sales in One of Agrochemical Company Vacancy in Ahmedabad,Sr Manager / Agm for International Sales in One of Agrochemical Company jobs in India,Sales/Marketing jobs in Ahmedabad";i:3;s:345:"Apply for Sr Manager / Agm for International Sales in One of Agrochemical Company Jobs in Ahmedabad India - Sr Manager / Agm for International Sales in One of Agrochemical Company Vacancy  in Sales/Marketing field with 15 to 31 years Work Experience, Key Skills are sales,marketing, business development, Sales/Marketing jobs in Ahmedabad  India";i:4;s:2047:"
		<script type="application/ld+json">
		{
		  "@context": "http://schema.org",
		  "@type": "JobPosting",
		  "title": "Sr Manager / Agm for International Sales in One of Agrochemical Company",
		  "baseSalary": " 10  Lac  To   22 Lac  50 Thousand ",
		  "description": "We have a Very Urgent Opening in One of the Agrochemical Manufacturing Company as Sr Manager /agm International Sales.
job Description
as  Manager International Marketing Agrochemicals Your Responsibilities Include the Following
determine and Execute Appropriate Sales Strategies for the Company in Accordance with the Company's Consolidated Strategy and Required Financial and Operational Targets
achieve Agreed with Budgetary Targets Across Each of the Markets in Which the Company Operates
determine Critical Success Factors for New Client Acquisition, Negotiate and Close the Business to Ensure that Targets are Achieved
identify New Business Development Opportunities Through Ensuring a Healthy Pipeline of Orders & Prospects
manage the Preparation of the Budgets, Reports, Forecasts, and Performance and Ensure They are Presented in a Timely Manner to the Ceo
ensure the Continued Development of the Company's Client Base By Actively Managing the Expansion of Products and Services Into New Markets in Line with the Company's Ambitions
ensure that Regular and Relevant Communication is Made with Potential Clients Across Each of the Markets in Which the Company Provides Its Products and Services
the Position Reports to the Ceo and Demands International Travel
desired Candidate Profile",
		  "educationRequirements": "Other Bachelor Degree",
		  "experienceRequirements": "15 - 31 Years",
		  "industry": "Sales/Marketing",
		  "jobLocation": {
		    "@type": "Place",
		    "address": {
		      "@type": "PostalAddress",
		      "addressLocality": "Gujarat",
		      "addressRegion": "Ahmedabad, Gujarat"
		    }
		  },
		 "qualifications": "Other Bachelor Degree",
		     "skills": "sales,marketing, business development"
		  }
		</script>
		";i:5;N;}