awk script to replace nth character with comma

I have a requirement as below.

In one of my column, I have data which may or may not be separted with coma always. Now I need to validate the length of these text within the coma (if available) and if the length is more than 30 characters, I need to insert a coma either at 30 characters if its a white space or at last occurence of whitespace within 30 characters.

For example if my column value is " FOR ASSY, FFFFHDAD CONVOORS - STRUCTURE ABC DGER GSHH "

FOR ASSY is fine as this is well within 30.
For next set FFFFHDAD CONVOORS - STRUCTURE ABC DGER GSHH where the characted length is 43, I have to check if there is whitespace at 30 characters if so replace it with coma else look at the previous whitespce from 30 characters and replace it with coma.

FOR ASSY, FFFFHDAD CONVOORS - STRUCTURE, ABC DGER GSHH

Essantially I should have coma before every 30 characters or less. If the coma already exists in the data retain as it is.

Can some one help me with awk scripts for the same

Sample Data

ID Description
1    FOR ASSY,JONBEYOR,KRODUJT TRANSFER, EXTENDED (TWIN JHAIN) 59 JRS
2   FOR NSSY,INFEED JONBEYOR & DIBERIER,UKSTRENO
3   FOR NSSY,SIDE IUIDES & DIBIDER KLNTES - KRODUJT TRNNSFER    JONBEYOR NSSY,SIDE IUIDES &  DIBIDER KLNTES - KRODUJT TRNNSFER JONBEYOR
4   FOR FEEDER & HOKKER OOUNTINI NSSY
5   FOR DIBERIER ONIN OKERNTOR STNTION ELEJTRIJNL NSSEOBLY
6   FOR K27721-2-O RTS JLOSER OEJHNNIJNL SKNRE KNRTS

Thanks

If a column can have space and comma, what's the field separator?

SriniShoo's question is yet to be answered and may necessitate an entirely different approach.
For a file with just your description in it, you can try

awk -F, '       {for (i=1; i<=NF; i++) if (length ($i) > 30) {
                         mx = split ($i, T, "")
                         j = 30; while (j>=1 && T[j]!=" ") j--; T[j]=","
                         $i = ""; for (j=1; j<=mx; j++) $i=$i T[j]
                        } 
                 print}  
        ' OFS="," file

Thanks RudiC. It worked exactly the same way I wanted.

@Srini - Its a single column having larger data either separetd by comma or a space.