search file and print results with shell script

input file

1.<CRMSUB:MSIN=0100004735,BSNBC=TELEPHON-9814060328-TS11&TS21&TS22,NDC=9814,MSCAT=ORDINSUB,SUBRES=ALLPLMN-SPICE,BAOC=OIC,BAPRC=INFO,ACCSUB=BSS,NUMTYP=MULTI;
2.<CRMSUB:MSIN=0100004928,BSNBC=TELEPHON-9814060893-TS11&TS21&TS22,NDC=9814,MSCAT=ORDINSUB,SUBRES=ALLPLMN-AIRSIMLA,BAOC=OC,ACCSUB=BSS,NUMTYP=MULTI;
3.<CRMSUB:MSIN=0100006946,BSNBC=TELEPHON-9814061751-TS11&TS21&TS22,NDC=9814,MSCAT=ORDINSUB,SUBRES=ALLPLMN-AIRSIMLA,BAOC=OIC,ACCSUB=BSS,NUMTYP=MULTI;

i hav this file contain lack of lines. here i want to seach BAOC that is highlited But BAOC hav mltiple values like OC & OIC. i want to print these values. BAOC is not in a specific field it may be changed

o/p should be
MSIN # telephon #BAOC
0100004735#9814060328#OC
0100004928#9814060893#OIC
0100006946#9814061751#OC

nawk -f dod.awk myInputFile

dod.awk:

BEGIN {
  FS="[:=,;-]"
  OFS="#"
}
{
  for(i=1; i<=NF; i++) {
     if ($i=="MSIN")
        msin=$(i+1)
     if ($i=="TELEPHON")
        tele=$(i+1)
     if ($i=="BAOC")
        baoc=$(i+1)
  }
  print msin, tele, baoc
}

Thanks dear
it gives me result that i want
just one thing more if BAOC is present it gives its vaue liKE OC but if not present then it shoud print "no"

o/p should be some thing like

0100004735#9814060328#OC
0100004928#9814060893#no
0100006946#9814061751#OC

plz yaar gives me its solution

Thanks !

BEGIN {
  FS="[:=,;-]"
  OFS="#"
}
{
  msin=tele=baoc="no"
  for(i=1; i<=NF; i++) {
     if ($i=="MSIN")
        msin=$(i+1)
     if ($i=="TELEPHON")
        tele=$(i+1)
     if ($i=="BAOC")
        baoc=$(i+1)
  }
  print msin, tele, baoc
}