Hi Arjun,
For your requirement you need to first extract the corresponding Catalog Code, Code Groups and Code for the categorization. For each categorization, there will be a mapping Code Group and Code. The catgory table name is : CRMC_ERMS_CAT_CA. Infact, if you search the repository objects with *ERMS* you will get plenty of obejcts which will help you to better understand the catgorization schema. Infact, you can explore the class : CL_CRM_ML_CATEGORY_UTIL. If got a lot of methods which can provide you the necessary information.
Once you have the Catalog Code, Code group and Code, you need to fill the IT_SERVICE_OS Table with the values and call the CRM_ORDER_MAINTAIN API.
For your help, I will say that you put a break point in the CRM_ORDER_MAINTAIN and populate the values of the categories from the UI. You will get to know what needs to be passed to the API. You can also do a WHERE-USED-LIST on the function Module - CRM_ORDER_MAINTAIN to get some references of standard code.
Let me know if you still face some challenges in implementation.
Hope this helps.
Thanks,
Samantak.