Use Webservice,
Add following rule for publishing bill of material in SAP
it will help you,
For example,
Level assemblly name Rev
0 ABC.asm 0
1 abc-01.asm 1
2 abc-01_1.asm 1
1 abc-02.asm 0
2 abc-02_2.asm 0
Before publish above assembly check
If
Number in windchill =number in SAP
Rev in windchill =Rev in SAP
If yes then do not publish below items.
Because information is already available in SAP.
If no then publish to SAP.
Regards,
Chirag