Instandhaltung externes Objekt anlegen

Getting started ... Alles für einen gelungenen Start.
4 Beiträge • Seite 1 von 1
4 Beiträge Seite 1 von 1

Instandhaltung externes Objekt anlegen

Beitrag von tekko (ForumUser / 60 / 30 / 1 ) »
Leute ich bin am verzagen und hoffe Ihr könnt mir weiterhelfen.

Folgenden Funktionsbaustein habe ich nun:

Code: Alles auswählen.


FUNCTION Z_ANLAGE_HINZUFUEGEN5.
*"----------------------------------------------------------------------
*"*"Lokale Schnittstelle:
*"  IMPORTING
*"     VALUE(I_OBJECTTYPE) LIKE  BORIDENT-OBJTYPE
*"     VALUE(I_OBJECTKEY) LIKE  BORIDENT-OBJKEY
*"     VALUE(I_URL) LIKE  SOLI-LINE
*"     VALUE(I_URLDES) LIKE  SOOD1-OBJDES
*"     VALUE(I_NOCOMMIT) TYPE  XFELD OPTIONAL
*"  TABLES
*"      OT_RETURN STRUCTURE  BAPIRET2
*"----------------------------------------------------------------------


 data: l_owner         like      soud-usrnam,
         l_folderid      like      soodk,
         l_obj_id        like      soodk,
         l_objdata       like      sood1,

         lt_objcont      type table of soli with header line,
         lt_objhead      type table of soli with header line,

         l_object        like     borident,
         l_reldoc        like     borident,

         l_syst          like     syst.
*-----------------------------------------------------------------------


*1. Get folder id.
   l_owner = sy-uname.
   call function 'SO_FOLDER_ROOT_ID_GET'
     exporting
       owner                 = l_owner
       region                = 'B'
     importing
       folder_id             = l_folderid
     exceptions
       communication_failure = 1
       owner_not_exist       = 2
       system_failure        = 3
       x_error               = 4
       others                = 5.
   if sy-subrc <> 0.
     l_syst = syst.
     perform collect_message2 using ot_return l_syst '1.FolderRoot'.
     append ot_return.
     exit.
   endif.

*2. Insert object

   l_objdata-objla     = 'EN'.
   l_objdata-objdes    = i_urldes.
   l_objdata-objsns    = 'O'.

   concatenate '&KEY&' i_url into lt_objcont.
   append lt_objcont.


   Data ld_document_data type SODOCCHGI1.
   ld_document_data-OBJ_DESCR = 'Test'.
   "ld_document_data-DOC_SIZE = 100.
   "ld_document_data-OBJ_Name = null.



    Data: ld_document_info type SOFOLENTI1.

   call function 'SO_DOCUMENT_INSERT_API1'
   EXPORTING
    folder_id =                  l_folderid
    document_data =              ld_document_data
    document_type =              'URL'

  IMPORTING
    document_info =              ld_document_info
 " TABLES

  "contents_hex =               it_contents_hex

  EXCEPTIONS
    FOLDER_NOT_EXIST =           1
    DOCUMENT_TYPE_NOT_EXIST =    2
    OPERATION_NO_AUTHORIZATION =    3
    PARAMETER_ERROR =            4
    X_ERROR =                    5
    ENQUEUE_ERROR =              6
    .

   if sy-subrc <> 0.
     l_syst = syst.
     perform collect_message2 using ot_return l_syst '2.ObjectInsert'.
     append ot_return.
     exit.
   endif.

*3. Create binary relation

   l_object-objkey  = i_objectkey.
   l_object-objtype = i_objecttype.

   concatenate l_folderid ld_document_info into l_reldoc-objkey.
   l_reldoc-objtype = 'MESSAGE'.



   call function 'BINARY_RELATION_CREATE'
     exporting
       obj_rolea      = l_object
       obj_roleb      = l_reldoc
       relationtype   = 'ATTA'
     exceptions
       no_model       = 1
       internal_error = 2
       unknown        = 3
       others         = 4.
   if sy-subrc <> 0.
     l_syst = syst.
     perform collect_message2 using ot_return l_syst
     '3.BinaryRelationCreate'.
     append ot_return.
     exit.
   endif.

*4. Commit LUW
*   All successful, sent success message.

   clear: l_syst-msgid, l_syst-msgno.
   l_syst-msgty = 'S'.
   l_syst-msgv1 = 'Link created successfully'.

   perform collect_message2 using ot_return l_syst '4. URLLinkCreated'.
   append ot_return.
   if i_nocommit is initial.
     call function 'BAPI_TRANSACTION_COMMIT'.
   endif.




ENDFUNCTION.

FORM collect_message2 using o_return like bapiret2
                            i_syst like syst
                            i_callpoint like bapiret2-parameter.

   clear o_return.
   o_return-type   = i_syst-msgty.
   if i_syst-msgty is initial.
     o_return-type = 'E'.
     i_syst-msgty      = 'E'.
   endif.
   o_return-id     = i_syst-msgid.
   o_return-number = i_syst-msgno.
   o_return-message_v1    = i_syst-msgv1.
   o_return-message_v2    = i_syst-msgv2.
   o_return-message_v3    = i_syst-msgv3.
   o_return-message_v4    = i_syst-msgv4.

   o_return-parameter = i_callpoint.

   message id i_syst-msgid type i_syst-msgty number i_syst-msgno into
   o_return-message.

 endform.


Wenn ich den Fuba ausführe kommt folgendes:
link_leer.PNG
Es wird zwar etwas angelegt, aber es kommt nichts an. Der Rot markierte Bereich ist nicht anklickbar bevor ich den Fuba starte. Erst nach dem ausführen sieht man, dass etwas erstellt worden ist.

Was muss ich im Code umändern, damit die URL dort erscheint.

Ich komme leider nicht mehr weiter.


Viele Grüße
Tekko

gesponsert
Stellenangebote auf ABAPforum.com schalten
kostenfrei für Ausbildungsberufe und Werksstudenten


Re: Instandhaltung externes Objekt anlegen

Beitrag von jocoder (Specialist / 343 / 3 / 102 ) »
Was mir aufgefallen ist, den Importparameter i_url übernimmst du zwar in die lokalen Variablen l_objdata und lt_objcont.
Diese Variablen werden aber danach nirgendwo verwendet.

Re: Instandhaltung externes Objekt anlegen

Beitrag von bigoni (ForumUser / 1 / 0 / 0 ) »
Danke für die Info! :)

Re: Instandhaltung externes Objekt anlegen

Beitrag von Tron (Top Expert / 1327 / 35 / 332 ) »
Moin.
Du übergibst den Content nicht in der Tabelle :
CALL FUNCTION 'SO_DOCUMENT_INSERT_API1'
EXPORTING
folder_id = gs_folder
document_data = gs_doc_data
document_type = s_doc_data-obj_type
IMPORTING
document_info = gs_doc_info
TABLES
object_content = t_content_txt
contents_hex = t_content_hex.
001.png

siehe viewtopic.php?f=18&t=24083&p=94261#p94261
gruß Jens
<:: XING-Gruppe Tricktresor::>
Die deutsche Rechtschreibung ist Freeware, du darfst sie kostenlos nutzen –
Aber sie ist nicht Open Source, d. h. du darfst sie nicht verändern oder in veränderter Form veröffentlichen.

Seite 1 von 1

Vergleichbare Themen

1
Antw.
8028
Views
Funktionbaustein PM-Auftrag anlegen (Instandhaltung)
von thorstenwoehrle » 03.07.2006 16:53 • Verfasst in ABAP® Core
1
Antw.
1251
Views
Neues Objekt anlegen
von Mischi83 » 31.07.2014 10:41 • Verfasst in ABAP® für Anfänger
5
Antw.
2461
Views
Diplomarbeit in Instandhaltung
von firahs » 23.04.2008 14:15 • Verfasst in Sonstige Module
3
Antw.
15208
Views
Dienste zum Objekt - Notizen zu Objekt holen
von gazzle » 26.01.2011 12:24 • Verfasst in ABAP® Core

Über diesen Beitrag


Unterstütze die Community und teile den Beitrag für mehr Leser und Austausch

Aktuelle Forenbeiträge

Trennen Strasse und Hausnummer
vor 3 Stunden von msfox 18 / 10885
Dialog-Container mit Toolbar/Status
vor 5 Stunden von black_adept gelöst 27 / 4003
IT0024 Qualifikationen CP-ID
vor 7 Stunden von ArjenR 1 / 62

Newsletter Anmeldung

Keine Beiträge verpassen! Wöchentlich versenden wir lesenwerte Beiträge aus unserer Community.
Die letzte Ausgabe findest du hier.
Details zum Versandverfahren und zu Ihren Widerrufsmöglichkeiten findest du in unserer Datenschutzerklärung.

Aktuelle Forenbeiträge

Trennen Strasse und Hausnummer
vor 3 Stunden von msfox 18 / 10885
Dialog-Container mit Toolbar/Status
vor 5 Stunden von black_adept gelöst 27 / 4003
IT0024 Qualifikationen CP-ID
vor 7 Stunden von ArjenR 1 / 62

Unbeantwortete Forenbeiträge

IT0024 Qualifikationen CP-ID
vor 7 Stunden von ArjenR 1 / 62
aRFC im OO-Kontext
vor 4 Wochen von ralf.wenzel 1 / 2995
Hilfe bei SWEC/SWE2
September 2024 von retsch 1 / 9582