Ausgabe von Idocs

Um einen Gesamtüberblick über mehrere IDOCs zu bekommen, dient das folgende Programm. Es gibt die Daten von zu selektierenden IDOCs strukturiert aus.

Das Programm lässt sich einfach so modifzieren, dass die Idoc-Felder sowie der zugehörige Wert ausgegeben werden. In dieser Version wird der Feldname Quickinfo ausgegeben, wenn man mit dem Mauszeiger auf ein Feld zeigt.

Coding

REPORT  zz_idoc_show LINE-SIZE 1000.
DATA gtc              TYPE STANDARD TABLE OF edidc.
FIELD-SYMBOLS <c>     TYPE edidc.
DATA gtd              TYPE STANDARD TABLE OF edid4.
FIELD-SYMBOLS <d>     TYPE edid4.
DATA gv_segnam        TYPE ddobjname.
DATA gt_dfies         TYPE STANDARD TABLE OF dfies.
FIELD-SYMBOLS <dfies> TYPE dfies.y

SELECT-OPTIONS s_docnum FOR <c>-docnum.
SELECT-OPTIONS s_mestyp FOR <c>-mestyp.
SELECT-OPTIONS s_idoctp FOR <c>-idoctp.


START-OF-SELECTION.

  SELECT * FROM edidc INTO TABLE gtc UP TO 100 ROWS
   WHERE docnum IN s_docnum
     AND mestyp IN s_mestyp
     AND idoctp IN s_idoctp.

  IF sy-subrc = 0.

    SELECT * FROM edid4 INTO TABLE gtd
      FOR ALL ENTRIES IN gtc
     WHERE docnum = gtc-docnum.

    LOOP AT gtc ASSIGNING <c>.
      FORMAT COLOR COL_HEADING.
      ULINE.
      WRITE: / ‘|’,
               <c>-docnum,
               <c>-mestyp,
               <c>-idoctp,
               <c>-cimtyp.
      ULINE.
      FORMAT COLOR OFF.
      LOOP AT gtd ASSIGNING <d> WHERE docnum = <c>-docnum.
        WRITE: / ‘|’ NO-GAP.
        gv_segnam = <d>-segnam.
        CLEAR gt_dfies.
        CALL FUNCTION ‘DDIF_FIELDINFO_GET’
          EXPORTING
            tabname   = gv_segnam
          TABLES
            dfies_tab = gt_dfies
          EXCEPTIONS
            OTHERS    = 3.
        IF sy-subrc = 0.
          LOOP AT gt_dfies ASSIGNING <dfies>.
            WRITE: <d>-sdata(<dfies>-outputlen)
                   QUICKINFO <dfies>-fieldname NO-GAP, ‘|’ NO-GAP.
            SHIFT <d>-sdata BY <dfies>-outputlen PLACES LEFT.
          ENDLOOP.
        ENDIF.
      ENDLOOP.
    ENDLOOP.
    ULINE.
  ENDIF.

 

Enno Wulff

Leave a Comment