SAP Jobsuche bei DV-Treff
frankCH
  • frankCH
  • SAP Forum - User Thema Starter
vor 12 Jahre
Hallo zusammen,

ich habe einen Query erstellt für die Anforderungen der Auftragsabteilung mir der Darstellung der offenen Kundenaufträge.

Hier werden u.a. die Materialnummer, Kunde, Kundenmaterialnummer,

Auslieferungsdatum etc. dargestellt.

Verwendete Tabellen u.a. VBBE, KNA1, VBAP ... etc.

Nun möchte ich realisieren das in der Abfrage dieses Query durch Doppelklick auf die Materialnummer die Transaktion MD04 aufgerufen wird.

Lässt sich das in einem Query realisieren ?

Befinde mich hinsichtlich ABAP erst in den Anfängen.

Für einen Lösungsansatz währe ich sehr dankbar.

Gruß Frank

Förderer

wreichelt
vor 12 Jahre
Hallo Frank,

das geht in der Query ohne grosse ABAP-Kentnisse.

In der Query über Ändern -> Springen -> Berichtszuordnung

aufrufen, dort kann dann eine Transaktion oder ... oder

zugeordnet werden.

Gruß

Wolfgang

unkelbach
vor 12 Jahre
Ergänzend dazu:

Alle Selektionswerte der zugeordneten Transaktion sollten dann auch innerhalb der Query vorhanden sein. Paradebeispiel ist hier der Kostenrechnungskreis beim Absprung auf Stammdaten. Hier gibt es dann allerdings auch eine passende Fehlermeldung, wenn der Absprung erfolgt.

Viele Grüße

Andreas

frankCH
  • frankCH
  • SAP Forum - User Thema Starter
vor 12 Jahre
Hallo Wolfgang, hallo Andreas,

danke für die schnelle Antwort.

Konnte das bereits so umsetzen:

Die Transaktion MD04 wird aufgerufen durch Doppelklick auf beliebige Zelle der Abfrage des Query.

Dadurch wird die MD 04 aufgerufen und nach Eingabe einer Materialnummer können Informationen aus der MD 04 abgefragt werden. Weitere Selektionswerte (wie von Andreas beschrieben) wie Werk/Dispobereich werden durch die Benutzervorgabewerte ausgefüllt.

Ist es weitergehend möglich durch Doppelklick auf die Materialnummer die MD 04 aufzurufen und dadurch die entsprechende Materialnummer an den Aufruf zu übergeben, und die MD 04 direkt mit den Informationen zu starten ?

Für jeden Tip bin ich wie immer dankbar.

Gruß Frank

wreichelt
vor 12 Jahre
Hallo Frank,

normalerweise sollte die Materialnummer übergeben werden und direkt ins Selektionsbild eingestellt werden.

In einigen Fällen (so wohl auch hier) klappt das nicht.

Im OSS-Hinweis gibts Erläuterungen dazu.

Aber evtl. funktioniert der Weg, wenn du im Coding zusätzlich

einstellst:

SET PARAMETER ID 'MAT' field VBAP-MATNR.

SET PARAMETER ID 'WRK' field VBAP-PLWRK. (oder woher kann das Werk sonst noch kommen).

Gruß

Wolfgang

newgui
vor 12 Jahre
Hallo Frank,

einen vernünftigen Absprung über Berichtszuordnung -> Transaktion in die md04 gibt es leider nicht. Ich hatte vor einigen Jahren das selbe Problem. Ein netter Kollege aus der IT hat mir daher einen kleinen Abap-Report geschrieben mittels dem auch zB die Materialnr. übergeben wird.

Vielleicht hast du ja auch einen netten Kollegen in der IT der dir den unterhalb folgenden Code übernehmen kann (ev. müssen noch Anpassungen gemacht werden - das weiß ich leider nicht):

Danach kannst du im query über

Berichtszuordnung -> Anderer Berichtstyp -> RT Abap Report - Reportname (wie der dann auch immer heißen mag)

den Report zuweisen.

Dieser Report lässt sich dann in jedem query zuordnen. Hoffe ich konnte helfen.

lg newgui

----------Start-----------

REPORT z_call_md04.

* Parameter wie im Query definiert

PARAMETERS p_matnr LIKE mara-matnr. "DD ref. as in MD04

PARAMETERS p_werks LIKE vbap-werks OBLIGATORY. "DD ref. as in MD04

* Übergabe an Parameter-ID

SET PARAMETER ID 'MAT' FIELD p_matnr. "ID for MARA-MATNR

SET PARAMETER ID 'WRK' FIELD p_werks. "ID for VBAP-WERKS

INITIALIZATION.

CALL FUNCTION '/KBC/CHECK_PROG_STATUS'

* EXPORTING

* I_ERSATZ_TA = ' '

* I_ERSATZ_PROG = ' '

.

START-OF-SELECTION.

CALL FUNCTION '/KBC/B_CHECK_AUTHORIZATION'

EXPORTING

i_object = 'WERKS'

i_sub_object = 'PP'

i_sel_type = 'P'

i_sel_param = p_werks

* TABLES

* I_SEL_OPTION =

EXCEPTIONS

object_not_existing = 1

sel_type_not_supported = 2

OTHERS = 3

.

IF sy-subrc <> 0.

MESSAGE ID sy-msgid TYPE sy-msgty NUMBER sy-msgno

WITH sy-msgv1 sy-msgv2 sy-msgv3 sy-msgv4.

ENDIF.

* Transaktion aufrufen

* CALL TRANSACTION authorization check ***AUTO-INSERT-START***

CALL FUNCTION 'AUTHORITY_CHECK_TCODE'

EXPORTING tcode = 'MD04'

EXCEPTIONS

ok = 0

not_ok = 2

OTHERS = 3.

IF sy-subrc <> 0.

MESSAGE e172(00) WITH 'MD04' .

ENDIF.

* CALL TRANSACTION authorization check ***AUTO-INSERT-END***

* #OLINK:SECU#

CALL TRANSACTION 'MD04' AND SKIP FIRST SCREEN.

------Ende-----------