‎2007 Oct 20 8:32 AM
Hi!
I had to put an URL to an object (a PM equipment). It has to be put with the "Services for object" button (located in the left of the dynpro title). I have to make it like this:
Services for object button - Create - Create external document (URL).
Unfortunately I never did anything like this, so I'm a bit lost, how to start.
I found some FM-s, like SO_OBJECT_INSERT, but don't know, is it enough, what parameters like does it require... And of course where are the links stored in the background? What is the exact way to post an URL like this?
Every help is welcome!
Thank you
Tamá
‎2007 Oct 20 8:55 AM
‎2007 Oct 20 8:50 AM
Hi
To create this link via a program, you need to code
something like this:
* Add a URL link to an existing workitem
PARAMETERS: p_OBJDES like sood1-OBJDES default
'Testing URL',
WI_ID LIKE SWWWIHEAD-WI_ID DEFAULT
'000000120661',
L_URL_ID TYPE SO_URL DEFAULT
'http://www.sap.com/' no-display.
DATA FOLDER_ID TYPE SOFDK.
DATA LT_OBJCONT TYPE STANDARD TABLE OF SOLI.
DATA LS_OBJCONT TYPE SOLI.
DATA L_OBJ_DATA TYPE SOOD1.
DATA L_OBJ_ID TYPE SOODK.
DATA DOCUMENT_ID TYPE SOFMK.
DATA LT_OBJHEAD TYPE STANDARD TABLE OF SOLI.
CALL FUNCTION 'SO_FOLDER_ROOT_ID_GET'
EXPORTING
REGION = 'B'
IMPORTING
FOLDER_ID = FOLDER_ID
EXCEPTIONS
OTHERS = 1.
WHILE NOT L_URL_ID IS INITIAL.
CONCATENATE '&KEY&' L_URL_ID(250) INTO LS_OBJCONT.
APPEND LS_OBJCONT TO LT_OBJCONT.
SHIFT L_URL_ID LEFT BY 250 PLACES.
ENDWHILE.
L_OBJ_DATA-OBJNAM = 'MESSAGE'.
L_OBJ_DATA-OBJDES = p_OBJDES.
*OBJECT_HD_CHANGE
CALL FUNCTION 'SO_OBJECT_INSERT'
EXPORTING
FOLDER_ID = FOLDER_ID
OBJECT_TYPE = 'URL'
OBJECT_HD_CHANGE = L_OBJ_DATA
IMPORTING
OBJECT_ID = L_OBJ_ID
TABLES
OBJHEAD = LT_OBJHEAD
OBJCONT = LT_OBJCONT
EXCEPTIONS
ACTIVE_USER_NOT_EXIST = 35
FOLDER_NOT_EXIST = 6
OBJECT_TYPE_NOT_EXIST = 17
OWNER_NOT_EXIST = 22
PARAMETER_ERROR = 23
OTHERS = 1000.
IF SY-SUBRC = 0.
DOCUMENT_ID-FOLTP = FOLDER_ID-FOLTP.
DOCUMENT_ID-FOLYR = FOLDER_ID-FOLYR.
DOCUMENT_ID-FOLNO = FOLDER_ID-FOLNO.
DOCUMENT_ID-DOCTP = L_OBJ_ID-OBJTP.
DOCUMENT_ID-DOCYR = L_OBJ_ID-OBJYR.
DOCUMENT_ID-DOCNO = L_OBJ_ID-OBJNO.
ELSE.
ENDIF.
CALL FUNCTION 'SWL_WI_NOTE_CREATE'
EXPORTING
WI_ID = WI_ID
* WORKITEM =
NOTE = DOCUMENT_ID
* I_SUPPRESS_ENQUEUE = ' '
* DO_COMMIT = 'X'Regards
Pavan
‎2007 Oct 20 8:54 AM
Thanx.
How can I get the WI_ID field? What is it exactly?
Thank you
Tamá
‎2007 Oct 20 8:58 AM
‎2007 Oct 20 8:55 AM
‎2007 Oct 20 9:34 AM
Unfortunately there is no transaction SICF.
There is no workflow either.
Found a fm, which could solve my problem: BINARY_RELATION_CREATE.
Thank you for helping
Tamá
‎2012 Mar 27 10:38 AM
Hello all, i'm creating an URL attachment, so i'm using the sample code of Pavan Praveen.
I have one problem, how can i do to know the logic of the values put in OBJYR, OBJNO, FOLYR and FOLNO. In my case when i debug a program using the same code OBJYR = 37 OBJNO = 000000000014, FOLYR = 33 and FOLNO = 000000000004 and i would like to know how these values are got to reproduce the same logic in my code.
Thanks by advance for helping.
Soufiane