on 08-18-2004 9:20 AM
Hello,
I am trying to find a way to remove a certain item from the ICM server cache.
I want to use the following function :
<i><b>CL_HTTP_SERVER=>SERVER_CACHE_INVALIDATE( id = cache_id
type = 0
scope = 0 ).</b></i>
but I don't know how to find the cache key.
On this page (
http://help.sap.com/saphelp_webas620/helpdata/EN/38/2d453cf1fcc85ee10000000a11402f/content.htm)
it is explained.
<b>QUOTE :</b>
<i>The URL path is translated, that is, the encoded information about the SAP language and SAP theme, separated by & symbols, is added after the ICF path. This is then followed by another & symbol and the query string with the pseudo query parameters. To restrict the length of this string, a <b>hash process</b> is used on the query string.</i>
I would like to know how this <b>hash process</b> actually works?
Message was edited by: Dries Horions
It looks like the code for the hash process (and the reversal of this process) isn't coded in ABAP. It is all done in system calls to ICT. However you can access these functions using the class CL_HTTP_UTILITY. There is a DECODE_BASE64 and ENCODE_BASE64. If you are interested you probably want to look at program BSP_DECODE_URL. This shows you example code for pull parameters out of this encoded part of the URL.
You must be a registered user to add a comment. If you've already registered, sign in. Otherwise, register and sign in.
I don't think that the processing of the query string described in the help document is not the same thing that is taking place to the URLs in your ICM Cache. This help refers to the URL mangling that takes place like the following:
kww-d15s.kimball.com/sap(bD1lbiZjPTA4OA==)/bc/bsp/sap ....
Whatever that ending part is, it is appended automatically. I have some code that forces some content into the cache:
cl_http_server=>server_cache_upload( url = url
response = cached_response ).
When I look at this in the Cache Monitor I see &en&&A6E90000& appended to the end of the URL. The &en& is for the language this object is intended for. I assume that items beginning with the &&& are not lanuage specific.
However I can also see that if I call the SERVER_CACHE_INVALIDATE method and wildcard the ID parameter with my URL + * it does properly clear my item. I don't know if this helps you out or not.
Thank you very much.
I already tried this piece of code :
<i>t_entries = icm_ref->GET_CACHE_ENTRIES( ).
loop at t_entries into wa_entry where name cs '/sap/public/bsp/sap/z_lijst/lijst.htm' and valid = 'X'.
CL_HTTP_SERVER=>SERVER_CACHE_INVALIDATE( id = wa_entry-name
type = 0
scope = 0 ).
endloop.</i>
but your solution is better.
<i>If you tell me how to award you some points I sure will :-)</i>
Message was edited by: Dries Horions
User | Count |
---|---|
83 | |
10 | |
10 | |
9 | |
7 | |
6 | |
5 | |
5 | |
4 | |
4 |
You must be a registered user to add a comment. If you've already registered, sign in. Otherwise, register and sign in.