[63062] in SAPr3-news

home help back first fref pref prev next nref lref last post

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


home help back first fref pref prev next nref lref last post