SAP Jobsuche bei DV-Treff
Yeti67
  • Yeti67
  • SAP Forum - Profi Thema Starter
vor 4 Jahre
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

Förderer

Alpmann
vor 4 Jahre
Hallo Yeti67,

ich habe mal aus einem meiner Programme zu Zeilen kopiert:

DATA: Z_KK_TROCKUNG type cabn-ATINN.

select single atinn from cabn into Z_KK_TROCKUNG where atnam = 'KK_TROCKUNG'.

Das Feld Z_KK_TROCKNUNG entspricht deinem l_objek. Damit wäre das Feld richtig gefüllt.

Wir haben keine Klassifizierung bei Dokumenten, deswegen weiss ich nicht, ob das hier von dir richtig ist:

l_objek = p_atinn.

l_objek+18(10) = p_doknr.

Schau dir mal die Tabelle DRAW an. Das Feld DRAW-DOKNR ist vom Typ CHAR25. Da kann doch was bei deinem Schlüssel zusammenbauen nicht passen.

Mit freundlichen Grüßen

Matthias Alpmann

Yeti67
  • Yeti67
  • SAP Forum - Profi Thema Starter
vor 4 Jahre
Danke, schaue ich mir mal an.
Alpmann
vor 4 Jahre
Hallo Yeti67,

noch ein kleiner Nachtrag. Wieso Programm schreiben? Es gibt auch die Transaktion CL30N (Suche in Klassifizierung). Von dort aus kann man auch aus der Trefferliste in Transaktionen abspringen.

Mit freundlichen Grüßen

Matthias Alpmann

Yeti67
  • Yeti67
  • SAP Forum - Profi Thema Starter
vor 4 Jahre
Hallo Matthias,

das ist es!!

Die Transaktion CL30N war mir nicht bekannt.

Damit kann man sehr gut nach den Dokumenten suchen.

Vielen Dank!!