Code: Alles auswählen.
IV_VAR_MSG1 TYPE SYMSGV OPTIONAL
Code: Alles auswählen.
DATA:
lv_msg1 TYPE symsgv,
lv_msg2 TYPE symsgv.
lv_msg1 = <ls_trf_abgl>-vbeln.
lv_msg2 = lv_vbeln_lif.
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 ).
Ich denke dabei geht es aber um Referenzen oder?Hinweise
•Der Casting-Operator CAST ist geeignet, um die Deklaration von Hilfsvariablen zu vermeiden, die nur für einen Down Cast notwendig sind.
Code: Alles auswählen.
me->fill_struct_for_appl_msg( iv_var_msg1 = ( CAST symsgv( <ls_trf_abgl>-vbeln ) ) ).
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 ).
Folgende Benutzer bedankten sich beim Autor ralf.wenzel für den Beitrag:
4byte
Folgende Benutzer bedankten sich beim Autor black_adept für den Beitrag:
4byte
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.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?
Folgende Benutzer bedankten sich beim Autor black_adept für den Beitrag:
4byte