05-12-2014 11:25 AM
Hello guys,
Today I observed one phenomenon and could not explain it per my knowledge.
I have one url which points to an icon in application server:
https://<host name>:44301/sap/public/bc/ur/nw5/themes/sap_corbu/common/libs/Icon/SuccessMessage.gif
I could successfully open it via chrome:
and after that I could see an entry in ICM server cache. Everything works perfectly.
Then I tried to check this icon in mime browser in SE80. To my surprise, the folder /sap/public/bc/ur/nw5/themes is empty.
However, the ICM cache shows that there is a subfolder called "sap_corbu" under "themes" folder. But why I cannot find it in mime browser?
Then I write a report to retrieve the binary data of icon via CL_HTTP_CLIENT, and clear the ICM buffer via tcode SMICM.
I expect this time some database table will be queried to load the content of the icon, since now the buffer is not available.
To my surprise again, in SAT no database table is involved.
So now I am confused: since I have already cleared the ICM server cache, where does the icon binary data come from when I run the report to access the icon?
Best regards,
Jerry
05-20-2014 7:47 AM
Hello guys,
one colleague today told me that there is a zip file "ur_mimes_nw7.zip" in MIME repository /PUBLIC/BC/UR/ur_mines_nw7.zip. I download it locally and unzip it and indeed find many theme folders including sap_corbu folder and its resource files. So I guess there must be some logic done in web application server which will unzip this archive file and put each theme folder to the corresponding folders in application server. I would assume those logic are done outside ABAP stack side, this is the reason I cannot find any hint of them in ABAP backend via tcode SAT even I clear both client and server side cache.
Best regards,
Jerry
05-12-2014 1:11 PM
Transaction SE11->select Type Group ICON. Here you will find value for icons.
In SE38 Program, you will find statement include <icon>.
05-12-2014 2:35 PM
05-13-2014 11:05 AM
Hi all,
Today I discussed this with my colleagues. One opinion is that such resource files ( icon & css ) are not stored in database table in ABAP side, but instead stored in physical folder in application server. And when a resource is accessed via url, there is a mapping logic to locate the storage folder for the resource in application server based on the incoming url. Of course this mapping logic is not done in ABAP side either, this can explain why there is no corresponding trace in SAT.
I will try to find an expert to confirm whether this assumption is correct.
Best regards,
Jerry
05-20-2014 7:47 AM
Hello guys,
one colleague today told me that there is a zip file "ur_mimes_nw7.zip" in MIME repository /PUBLIC/BC/UR/ur_mines_nw7.zip. I download it locally and unzip it and indeed find many theme folders including sap_corbu folder and its resource files. So I guess there must be some logic done in web application server which will unzip this archive file and put each theme folder to the corresponding folders in application server. I would assume those logic are done outside ABAP stack side, this is the reason I cannot find any hint of them in ABAP backend via tcode SAT even I clear both client and server side cache.
Best regards,
Jerry
05-20-2014 6:30 PM
You can locate the individual theme files using the Knowledge Warehouse APIs. Basically every URL in the system is mapped to a LOIO which is mapped to a PHIO. In order to locate individual files you can have a look at database tables SMIMLOIO and SMIMPHIO. For further details see ABAP class CL_MIME_REPOSITORY_API. Themes do however have another level of complexity, you might want to have a look at the ICF handler for ICF node /sap/public/bc/ur which is ABAP class CLUR_MIME_HANDLER.
05-21-2014 3:31 AM
Hello Samuli,
Thanks a lot for your answer! I will do some debugging once time allows.
Best regards,
Jerry
09-10-2015 9:21 AM