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
ForumUser
 
Beiträge: 91
Registriert: 24.10.2017, 09:16
Dank erhalten: 24 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: 3048
Registriert: 18.09.2004, 13:03
Wohnort: Hamburg
Dank erhalten: 169 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: 2982
Registriert: 08.01.2003, 13:33
Wohnort: Lehrte ( bei Hannover )
Dank erhalten: 495 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
ForumUser
 
Beiträge: 91
Registriert: 24.10.2017, 09:16
Dank erhalten: 24 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: 2982
Registriert: 08.01.2003, 13:33
Wohnort: Lehrte ( bei Hannover )
Dank erhalten: 495 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
ForumUser
 
Beiträge: 91
Registriert: 24.10.2017, 09:16
Dank erhalten: 24 mal
Ich bin: Entwickler/in


Zurück zu ABAP® Core

  Aktuelle Beiträge   
HUMV4-IDENT Handling Unit Tabelle
vor 4 Stunden von ewx 1 Antw.
Transaktion für Pflege Custom. Tabelle
vor 7 Stunden von DeathAndPain 4 Antw.
Kommunikation von Klassen und Methoden
vor 8 Stunden von 4byte 5 Antw.
CL_BCS_MESSAGE Fehler
Gestern von Haubi 3 Antw.
Alte Einträge aus der Tabelle SOFFCONT1, SOOD, SOST löschen
vor 20 Stunden von Tron 11 Antw.

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

 

Wer ist online?

Mitglieder in diesem Forum: 0 Mitglieder