[63062] in SAPr3-news
Re: Texte auslesen, die Xte
daemon@ATHENA.MIT.EDU (gs_dev0@nexgo.de)
Mon Sep 26 01:44:23 2011
To: sapr3-news@mit.edu
Date: Sun, 25 Sep 2011 22:44:16 -0700 (PDT)
From: "gs_dev0@nexgo.de" <geschw@googlemail.com>
Message-ID: <dd8f0046-6a14-4d69-a643-0dc56d51a313@o11g2000yqc.googlegroups.com>
Hallo Steffen,
mit u.a. Programm kannst du die Notizen zu einem Materialbeleg
auslesen.
Viele Gr=FC=DFe,
Georg
---schnipp---
* Notiz aus Materialbeleg lesen
REPORT znotizlesen.
PARAMETERS: p_mblnr TYPE mkpf-mblnr,
p_mjahr TYPE mkpf-mjahr.
START-OF-SELECTION.
PERFORM read_notizen USING p_mblnr
p_mjahr.
*&---------------------------------------------------------------------
*
*& Form read_notizen
*&---------------------------------------------------------------------
*
* Alle angeh=E4ngten Notizen lesen
*----------------------------------------------------------------------
*
FORM read_notizen USING i_mblnr
i_mjahr.
DATA: l_sysid LIKE tbdls-logsys,
lt_relation_options TYPE obl_t_relt,
ls_relation_options TYPE obl_s_relt,
l_object TYPE sibflporb,
lt_links TYPE obl_t_link,
ls_links TYPE obl_s_link,
lt_roles TYPE obl_t_role,
ls_roles TYPE obl_s_role.
CALL FUNCTION 'OWN_LOGICAL_SYSTEM_GET'
IMPORTING
own_logical_system =3D l_sysid
EXCEPTIONS
own_logical_system_not_defined =3D 0.
l_object-typeid =3D 'BUS2017'. "Business Objekt
Materialbeleg
CONCATENATE i_mblnr i_mjahr INTO l_object-instid. "Objekt =3D
Materialbeleg + Gesch=E4ftsjahr
l_object-catid =3D 'BO'.
ls_relation_options-sign =3D 'I'.
ls_relation_options-option =3D 'EQ'.
ls_relation_options-low =3D 'ATTA'.
APPEND ls_relation_options TO lt_relation_options.
ls_relation_options-low =3D 'NOTE'.
APPEND ls_relation_options TO lt_relation_options.
ls_relation_options-low =3D 'URL'.
APPEND ls_relation_options TO lt_relation_options.
TRY.
CALL METHOD cl_binary_relation=3D>read_links_of_binrels
EXPORTING
is_object =3D l_object
ip_logsys =3D l_sysid
it_relation_options =3D lt_relation_options
IMPORTING
et_links =3D lt_links
et_roles =3D lt_roles.
CATCH cx_obl_parameter_error .
CATCH cx_obl_internal_error .
CATCH cx_obl_model_error .
ENDTRY.
TYPES: BEGIN OF t_string,
line(255) TYPE c,
END OF t_string.
DATA: it_string TYPE TABLE OF t_string,
wa_string TYPE t_string,
wa_object_hd_display TYPE sood2,
it_cont TYPE TABLE OF soli,
wa_cont TYPE soli.
LOOP AT lt_links INTO ls_links.
PERFORM object_read USING ls_links
CHANGING wa_object_hd_display
it_cont.
WRITE: / wa_object_hd_display-objdes. "Titel der Notiz ausgeben
* Inhalt der Notiz mit Zeilenumbruch ausgeben
LOOP AT it_cont INTO wa_cont.
SPLIT wa_cont-line AT cl_abap_char_utilities=3D>cr_lf INTO TABLE
it_string.
LOOP AT it_string INTO wa_string.
SET BLANK LINES ON.
WRITE: / wa_string-line.
ENDLOOP.
ENDLOOP.
REFRESH it_cont.
CLEAR: wa_object_hd_display.
ENDLOOP.
ENDFORM. "read_notizen
*&---------------------------------------------------------------------
*
*& Form object_read
*&---------------------------------------------------------------------
*
* Einzelne Notiz lesen
*----------------------------------------------------------------------
*
FORM object_read USING i_links STRUCTURE obl_s_link
CHANGING e_object_hd_display
it_cont TYPE soli_tab.
DATA: wa_folder_id TYPE soodk,
wa_object_id TYPE soodk,
it_objhead TYPE TABLE OF soli.
wa_folder_id =3D i_links-instid_b(17).
wa_object_id =3D i_links-instid_b+17(17).
CALL FUNCTION 'SO_OBJECT_READ'
EXPORTING
folder_id =3D wa_folder_id
object_id =3D wa_object_id
IMPORTING
object_hd_display =3D e_object_hd_display
TABLES
objcont =3D it_cont
objhead =3D it_objhead
EXCEPTIONS
active_user_not_exist =3D 1
communication_failure =3D 2
component_not_available =3D 3
folder_not_exist =3D 4
folder_no_authorization =3D 5
object_not_exist =3D 6
object_no_authorization =3D 7
operation_no_authorization =3D 8
owner_not_exist =3D 9
parameter_error =3D 10
substitute_not_active =3D 11
substitute_not_defined =3D 12
system_failure =3D 13
x_error =3D 14
OTHERS =3D 15.
ENDFORM. "object_read
---schnapp---
On 22 Sep., 15:13, Steffen Kother <steffen.kot...@gmx.net> wrote:
> Hallo ihr beiden,
>
> es beruhigt, dass hier doch noch jemand mitliest.
>
> Am 22.09.2011 06:42, schrieb Gerhard Fricke:
>
> > TSOCX
> > SOOD
> > SOC3
> > SOFM
>
> > Die vier Tabellen sollten dir weiter helfen.
>
> Vielen Dank. Den SQL-Trace habe ich mir mal erspart. Daf r bin ich beim
> Debugging der Anlagenliste "verweilt". Das hat mir dann die Funktion
> "SGOS_NOTE_DISPLAY" geliefert.
>
> Die Tabelle eignen sich gut f r die Analyse der ben tigten Objekte bzw.
> Verbindungen.
>
> Wie ich an den Text komme kann ich mir nun zusammenbasteln. Allerdings
> habe ich entweder den Bezug zum Materialbeleg bersehen, oder verpasst.
> Werde mir den Aufruf der Anlagenliste =A0nochmal debuggen. Kann ja nun
> nicht so schwer sein...
> --
> Eine sch ne Restwoche noch,
>
> Steffen