Hallo,
seit Tagen sitze ich (Home-Office) an diesem Problem. In MM gibt es die Dokumentenverwaltung (Transaktion CV01N etc.). Dort möchte der Fachbereich Dokumente aller Art ablegen (ohne externes Archiv). Im Customizing haben wir eigene Klassen definiert u.a. Datum der Wiedervorlage. Jetzt möchte ich gerne ein Programm oder Query erstellen, indem dieses Feld ausgelesen und das entsprechende Dokument angezeigt werden soll.
Mit verschiedenen Tabellen habe ich schon rum gespielt:
DRAWN, CABN, CAWN, KLAH,KSML,KSSK,INOB und AUSP. Letztere hat die Daten, aber eben verschlüsselt.
Die ganze Zeit versuche ich das als Query aufzubauen, mit mäßigen Erfolg. Ein Programm habe ich heute gefunden, wo ich glaube, dass es mir weiterhelfen könnte. Leider sind meine Anpassungen ohne Erfolg. Kann hier ein geübter ABAP-Papst mal drüberschauen?
Hier der Code:
REPORT z_merkmale_lesen.
DATA:
l_atwrt TYPE atwrt,
l_atflv TYPE atflv,
l_anzst TYPE anzst,
l_anzdz TYPE anzdz,
l_wert(30),
l_objek TYPE cuobn,
l_atfor TYPE atfor, "Format
l_klart TYPE klassenart VALUE '017',
l_obtab TYPE tabelle VALUE 'DRAW'.
PARAMETERS: p_atinn TYPE atinn DEFAULT 'Wiedervorlage ',
p_doknr TYPE doknr DEFAULT 'Dokumentennummer'.
START-OF-SELECTION.
PERFORM lies_merkmal USING 'ZM_DMS_WIEDERVORLAGE'. "Wiedervorlage
* PERFORM lies_merkmal USING 'ZM_ANZAHL'. "Anzahl je Einheit
*---------------------------------------------------------------------*
* FORM lies_merkmal *
*---------------------------------------------------------------------*
FORM lies_merkmal USING VALUE(f_merkmal).
*-- Objektnummer aus Datum und Doku-Nr. bauen
l_objek = p_atinn.
l_objek+18(10) = p_doknr.
WRITE: / f_merkmal COLOR COL_POSITIVE.
POSITION 20.
CLEAR: l_atwrt, l_atflv, l_atfor, l_anzst, l_anzdz.
*-- Merkmalswert über Inner Join ermitteln
SELECT SINGLE ausp~atwrt
ausp~atflv
cabn~atfor
cabn~anzdz
FROM ausp
INNER JOIN inob ON inob~cuobj = ausp~objek
INNER JOIN cabn ON ausp~atinn = cabn~atinn
INTO (l_atwrt, l_atflv, l_atfor, l_anzdz)
WHERE inob~klart = l_klart
AND inob~obtab = l_obtab
AND inob~objek = l_objek
AND cabn~atnam = f_merkmal.
IF sy-subrc > 0.
WRITE: 'nicht bewertet.'.
ELSE.
*-- Je nach Merkmalsformat unterschiedliche Zuweisung
CASE l_atfor.
WHEN 'CHAR'.
*-- Zeichenformat
WRITE: l_atwrt.
WHEN 'NUM' OR 'DATE' OR 'TIME'.
*-- Numerisches Format
WRITE l_atflv TO l_wert EXPONENT 0 NO-GROUPING NO-ZERO
LEFT-JUSTIFIED DECIMALS l_anzdz.
WRITE: l_wert.
ENDCASE.
ENDIF.
ENDFORM.
Ich erhalte keinen DUMP aber auch kein Ergebnis ;-(
Vielen Dank im Voraus!!
Grus
Yeti67