AWK script getting failed

Hi All,

Below is my code , In the code below the "If" condition is getting failed. I dont know what is getting wrong here , may be i can not use may logical operator at once or something else OR brackets under If condition are to be organised .

Please help!!

 if ($11 == "0" && (substr($18,5,1) == "S" && (substr($18,4,1) == "O" || substr($18,21,1) == "O")))
    {
                       Instru="CDCS"
                  }
                    Line=Instru "|" $11 "|" $12 "|" $18
                     if (Instru != "NULL")
                     {
                        gsub(" ","",Line)
                        print Line
                     }
                }' $FichierData1 > $FichierData3

please help..

One bracket seems to be missing.

{
	if ($11 == "0" && (substr($18,5,1) == "S" && (substr($18,4,1) == "O" || substr($18,21,1) == "O")))
	{
		Instru="CDCS"
	}
	Line=Instru "|" $11 "|" $12 "|" $18
	if (Instru != "NULL")
	{
		gsub(" ","",Line)
		print Line
	}
}

And please use the code tag and some indentation for the code you post.