gelöst Hilfsvariablen


Alles rund um die Sprache ABAP®: Funktionsbausteine, Listen, ALV

Moderatoren: Jan, Steff

gelöst Hilfsvariablen

Beitragvon 4byte » 01.08.2018, 15:26

Hallo zusammen,

gibt eine Möglichkeit, sich Hilfsvariabylen bei einem Methodenaufruf einzusparen ?
Konkret geht es hier um folgendes:
Eine Methode schreibt in das Appliaktionslog eine Nachricht und hat als Importparameter:
Code: Alles auswählen
IV_VAR_MSG1     TYPE SYMSGV OPTIONAL


ich möchte nun dem Parameter verschiedene Werte übergeben(Vbeln,MATNR usw.).

Bisher löße ich das immer so:
Code: Alles auswählen
DATA:
 lv_msg1 TYPE symsgv,
 lv_msg2 TYPE symsgv.
lv_msg1 = <ls_trf_abgl>-vbeln.
lv_msg2 = lv_vbeln_lif.


und übergebe die Hilfsvariablen dann der Methode:
Code: Alles auswählen
 me->fill_struct_for_appl_msg(  
iv_msgty     = 'I'  
iv_msgid     = 'ZIRGENDWAS'
iv_msgno     = '001'
iv_var_msg1  = lv_msg1
iv_var_msg2  = lv_msg2
iv_probclass = c_probclass_none ).


In der Doku von SAP steht über CAST ja folgendes:
Hinweise
•Der Casting-Operator CAST ist geeignet, um die Deklaration von Hilfsvariablen zu vermeiden, die nur für einen Down Cast notwendig sind.


Ich denke dabei geht es aber um Referenzen oder?

Habe:
SAP_BASIS 740
SAP_ABA 740

Nachtrag
ich habe dabei an sowas gedacht:
Code: Alles auswählen
   me->fill_struct_for_appl_msg( iv_var_msg1  = ( CAST symsgv( <ls_trf_abgl>-vbeln ) ) ).


Grüße 4Byte
Es gibt 10 Menschen die binär verstehen :)
4byte
Specialist
 
Beiträge: 112
Registriert: 24.10.2017, 09:16
Dank erhalten: 32 mal
Ich bin: Entwickler/in

Sponsor

Alte ABAP-Entwicklerweisheit: Weißt du weder aus noch ein, baust du einen BADI ein

Re: Hilfsvariablen

Beitragvon ralf.wenzel » 01.08.2018, 16:19

Du suchst CONV:

Code: Alles auswählen
 me->fill_struct_for_appl_msg(  
iv_msgty     = 'I'  
iv_msgid     = 'ZIRGENDWAS'
iv_msgno     = '001'
iv_var_msg1  = CONV #( <ls_trf_abgl>-vbeln )
iv_var_msg2  = CONV #( lv_vbeln_lif )
iv_probclass = c_probclass_none ).


Ich hoffe, die Schreibweise ist korrekt, mein aktuelles System ist älter.

Ralf

Für diese Nachricht hat ralf.wenzel einen Dank bekommen :
4byte
ralf.wenzel
Top Expert
 
Beiträge: 3233
Registriert: 18.09.2004, 13:03
Wohnort: Hamburg
Dank erhalten: 187 mal
Ich bin: Freiberufler/in

Re: Hilfsvariablen

Beitragvon black_adept » 01.08.2018, 20:35

Oder auch auf ganz alten Systemen: Da du ja eine eigene Methode hast um die Messagevariablen zu übergeben definiere doch die Parameter der Methode fill_struct_for_appl_msg untypisiert vom Typ ANY oder CLIKE .
live long and prosper
Stefan Schmöcker

email: stefan@schmoecker.de

Für diese Nachricht hat black_adept einen Dank bekommen :
4byte
black_adept
Top Expert
 
Beiträge: 3096
Registriert: 08.01.2003, 13:33
Wohnort: Lehrte ( bei Hannover )
Dank erhalten: 524 mal
Ich bin: Freiberufler/in

Re: Hilfsvariablen

Beitragvon 4byte » 02.08.2018, 08:03

@ Ralf vielen Dank das funktioniert wunderbar :up:
@ black_adept bei deiner Variante, wird dann der Cast bei der Zuweisung(in der Methode) von Parameter auf die Message-Struktur durchgeführt?

Grüße 4Byte
Es gibt 10 Menschen die binär verstehen :)
4byte
Specialist
 
Beiträge: 112
Registriert: 24.10.2017, 09:16
Dank erhalten: 32 mal
Ich bin: Entwickler/in

Re: Hilfsvariablen

Beitragvon black_adept » 02.08.2018, 13:44

4byte hat geschrieben:@ black_adept bei deiner Variante, wird dann der Cast bei der Zuweisung(in der Methode) von Parameter auf die Message-Struktur durchgeführt?

Nicht wirklich. Dein Problem ist ja die Syntaxprüfung, die nicht möchte, dass du den falschen Typ übergibst. "Mein" Ansatz mit Type ANY erlaubt dir einfach eine beliebige Art von Feld zu übergeben und in der Methode wird dann höchstwahrscheinlich der untypisierte Parameter via "=" dem Zielfeld zugewiesen. D.h. du verlagerst die Konvertierung in die Methode hinein und lässt SAP die Standardkonvertierungen durchführen, die bei einer Wertzuweisung mittels "=" geschehen . Das muss man dann aber nicht mehr unbedingt CAST nennen.
live long and prosper
Stefan Schmöcker

email: stefan@schmoecker.de

Für diese Nachricht hat black_adept einen Dank bekommen :
4byte
black_adept
Top Expert
 
Beiträge: 3096
Registriert: 08.01.2003, 13:33
Wohnort: Lehrte ( bei Hannover )
Dank erhalten: 524 mal
Ich bin: Freiberufler/in

Re: Hilfsvariablen

Beitragvon 4byte » 02.08.2018, 15:30

Alles klar, vielen Dank :)
Es gibt 10 Menschen die binär verstehen :)
4byte
Specialist
 
Beiträge: 112
Registriert: 24.10.2017, 09:16
Dank erhalten: 32 mal
Ich bin: Entwickler/in


Zurück zu ABAP® Core

  Aktuelle Beiträge   
Keine Ausgabe von 0,00 bei Beträgen
vor 16 Stunden von msfox 0 Antw.
gelöst Dynamischer Methodenaufruf mit dynamischer Tabelle
vor 18 Stunden von mark.thk 2 Antw.
Viele IDocs ohne Bestätigung per RFC
vor 20 Stunden von gs3rr4 0 Antw.
PDF Originale aus Kpro im Webbrowser anzeigen lassen
Gestern von DanielFulda 0 Antw.
Workflow: Bearbeiterfindung für Workitem wiederholen
vor 2 Tagen von DeathAndPain 0 Antw.

  Ähnliche Beiträge beta
Keine Beiträge gefunden - versuche es mit der erweiterten Suche.

 

Wer ist online?

Mitglieder in diesem Forum: Bing [Bot]