ZigBee

Hi,
I want to transfer SD file from one robot to another robot through ZigBee Transceiver. But one robot is transmitting the file and other robot is not receiving the file. Please can anyone check the code:
I have posted a part of the program as its a long program.

1st Robot:

#include <SD.h> 
char Instruction;
int Dur = 0;
int Dur1 = 0;
char Ins;
const int X = 5; //Destination
const int Y = 1;
int X_S = 1;
int Y_S = 1; // Source
File IN_Track;
File ON_Track;
char Go;
char data;
int X_S1, Y_S1;
const boolean H_EN1 = 2; 
const boolean H_EN2 = 5;
const int M1_F = 3;       
const int M1_R = 4;        
const int M2_F = 6;      
const int M2_R = 7;

void setup() 
{
  pinMode(H_EN1,OUTPUT);
  pinMode(H_EN2,OUTPUT);
  pinMode(M1_F,OUTPUT);
  pinMode(M1_R,OUTPUT);
  pinMode(M2_F,OUTPUT);
  pinMode(M2_R,OUTPUT);
  Serial.begin(9600);
  Serial3.begin(9600);
  SD.begin(); 
}

Void loop()
{
  if((X_S != X) || (Y_S != Y))
   {
     Drive();
   }
   else
   {
     Stop();  
 }


void Drive()
{
SD_Send1();
      delay(10000);
      Serial.println("Sent");
      Serial.print(X_S1 = X_S);
      Serial.print(Y_S1 = Y_S);    
      delay(2000);   
      Drive_Left(); 
      delay(8000);
      Last_Direction = 'L';
      SD_Write(Last_Direction);
      Serial.println(Last_Direction);
}

void SD_Write(char Instruct) //Error message, glow LED  //sd ok?? write 1
{
  IN_Track = SD.open("Track.txt", FILE_WRITE);
  if (IN_Track) 
  {
   // IN_Track.println('\n');
    if((Instruct == 'S') || (Ins == 'S' && (Instruct == 'L' || Instruct == 'R' || Instruct == 'P')) || (Ins == 'S' && Instruct == 'E') || (Ins == 'E' && (Instruct == 'L' || Instruct == 'R')) || (Instruct == 'E'))
    { 
      if(Instruct == 'S')
        Dur ++; 
        Serial.println(Dur);
      if(Ins == 'S' && (Instruct == 'L' || Instruct == 'R' || Instruct == 'P'))
       {
        Serial.println("OK");
         for(int l = 0; l < Dur; l++)
           IN_Track.println('S');
         if (Instruct != 'P')
         {
           IN_Track.println(Instruct);
           Serial.println("1");
         }
         Dur = 0;  //ok?
       }
       else if ((Ins == 'S' && Instruct == 'E') || (Ins == 'E' && (Instruct == 'L' || Instruct == 'R')) || (Instruct == 'E') || (Instruct == 'P'))
       {
        if(Instruct == 'E')
          Dur1++;
        if(Ins == 'E' && (Instruct != 'E' || Instruct == 'L' || Instruct == 'R' || Instruct == 'P'))
        {
          Dur = Dur - Dur1;
          for(int l = 0; l < Dur; l++)
            IN_Track.println('S');
          IN_Track.println(Instruct);
          Serial.println("2");
          Dur = 0; 
          Dur1 = 0;   
        }
       }
    }
    else if (Instruct != 'P')
    {
      IN_Track.println(Instruct);
      Serial.println(Instruct);
    }
    Ins = Instruct; //Check
   // Serial.println(Ins);
    IN_Track.close();
  }

void SD_Send1()
{
  ON_Track = SD.open("Track.txt");
  if (ON_Track)
  {
    while (ON_Track.available())
    {
      Go = ON_Track.read();
      Serial3.println(Go);
      Serial.println(Go);
      ///delay(50);
    }
    ON_Track.close();
  }
}

2nd Robot:

#include <SD.h>
const boolean H_EN1 = 2; 
const boolean H_EN2 = 5;
const int M1_F = 3;       
const int M1_R = 4;        
const int M2_F = 6;      
const int M2_R = 7;
const int X = 5;
const int Y = 1;
int X_S = 1;
int Y_S = 1; 

File Follow_Track;
int X_S1, Y_S1;

void setup() 
{
  Serial.begin(9600);
  Serial3.begin(9600);
  SD.begin(); 
}

void loop() 
{                      
   if(Serial3.available() > 0)
   {
     while(Serial3.available() > 0)
     {
       Serial.println("Entered");
       data = Serial3.read();
       if(data == 'S' || data == 'L' || data == 'R' || data == 'T')
       {
         Serial.println(data);
         SD_Follow(data);
       }
       else if (data == X_S1)
         X_S = X_S1;
      else if (data == Y_S1)
        Y_S = Y_S1;
     }
   Serial.println("Recieved");
  Serial.println(X_S);
   Serial.println(Y_S);
   SD_Follow('R');
   Status = "Done";
   Last_Direction = 'R';
   if (Status == "Done")
     SD_Read();
  }     
 else if(((X_S != X) || (Y_S != Y)) && (Status == "Done"))
  {
     Drive();
  }
  else
  {
     Stop();
  }
}


void SD_Follow(char Direct)
{
  Follow_Track = SD.open("Track.txt", FILE_WRITE);
  if(Follow_Track)
    Follow_Track.println(Direct);
    Serial.println(Direct);
  Follow_Track.close();
}