Kompatibilität

Getting started ... Alles für einen gelungenen Start.
14 Beiträge • Seite 1 von 1
14 Beiträge Seite 1 von 1

Kompatibilität

Beitrag von 1337 (ForumUser / 99 / 33 / 0 ) »
Hallo,


Woher weiß ich jetzt, welchen Typ cs_abc


Danke :)
Zuletzt geändert von 1337 am 09.12.2013 09:07, insgesamt 1-mal geändert.

gesponsert
Stellenangebote auf ABAPforum.com schalten
kostenfrei für Ausbildungsberufe und Werksstudenten


Re: Kompatibilität

Beitrag von Unit605 (Expert / 975 / 37 / 93 ) »
In dem Du Dir den Funktionsbaustein, den Du nicht nennst, genauer ansiehst.

Re: Kompatibilität

Beitrag von 1337 (ForumUser / 99 / 33 / 0 ) »
Danke.
Zuletzt geändert von 1337 am 09.12.2013 09:07, insgesamt 1-mal geändert.

Re: Kompatibilität

Beitrag von a-dead-trousers (Top Expert / 4485 / 231 / 1205 ) »
ne, es wäre die Methode "br_subject007_bp" des Objektes "lr_bp_badi". Die zugehörige Klasse/Interface findest du über die Deklaration der Variable "lr_bp_badi".

Lg ADT
Theory is when you know something, but it doesn't work.
Practice is when something works, but you don't know why.
Programmers combine theory and practice: Nothing works and they don't know why.

ECC: 6.18
Basis: 7.50

Re: Kompatibilität

Beitrag von Unit605 (Expert / 975 / 37 / 93 ) »
1337 hat geschrieben:Danke.

Code: Alles auswählen.

CALL METHOD lr_bp_badi->br_subject007_bp
    CHANGING
      cs_pers = ls_subjct.
Der Funktionsbaustein wäre also lr_bp_badi?
Nein, eine Klasse bzw. Methode, keine FuBa. Aber das konnte man aus Deinem ersten Posting nicht erkennen, da Du extremst sparsam mit Informationen umgehst, wenn Du Fragen stellst.

Versuch's mal mit Doppelclick auf "br_subject007_bp" bei CALL METHOD lr_bp_badi->br_subject007_bp im Coding.
Dann schau Dir die Parameter der Methode genauer an.

Re: Kompatibilität

Beitrag von 1337 (ForumUser / 99 / 33 / 0 ) »
Dann gehen mir aber vermutlich Felder verloren...
Zuletzt geändert von 1337 am 09.12.2013 09:08, insgesamt 1-mal geändert.

Re: Kompatibilität

Beitrag von Barney (Specialist / 104 / 20 / 9 ) »
Ich glaube, Du hast die eingehenden Hinweise noch nicht richtig verstanden. In der Schnittstelle zur Methode lr_bp_badi->br_subject007_bp steht drin, wie der Parameter CS_PERS definiert ist. Da steht dann sowas drin wie z.B. TYPE PERS. D.h. das der Parameter vom DDIC-Typ PERS ist. Mit 'nem Doppelklick oder in der SE11 kannst alle Felder des Types PERS sehen. Dann kannst Du vergleichen und überlegen, wie Du die notwendigen Daten von der einen Struktur in die andere übertragen kannst. Debuggen ist dafür nicht notwendig...

Tot ziens

Re: Kompatibilität

Beitrag von 1337 (ForumUser / 99 / 33 / 0 ) »
Danke für die Antwort.
Zuletzt geändert von 1337 am 09.12.2013 09:08, insgesamt 1-mal geändert.

Re: Kompatibilität

Beitrag von a-dead-trousers (Top Expert / 4485 / 231 / 1205 ) »
hi!

Wenn du die Struktur nicht mehr verwenden sollst, musst du auch die Schnittstelle der Methode umschreiben, sodass auch da eine andere (neu definierte?) Struktur verwendet wird.
Oder du lässt die Struktur ganz weg und übergibst nur mehr die tatsächlich notwendigen Felder als einzelne Parameter (kommt natürlich darauf an, was die Klasse braucht)

hmmm...
Oder willst du etwa gar eine "dynamische" Schnittstelle haben, sodass du beliebige Daten an die Klasse durchreichen kannst?
Dazu kannst du in der Definition der Schnittstelle als TYPE ANY verwenden.
Sei aber gewarnt: Damit wirfst du alle Komfortfunktionen von SAP/ABAP über Bord und du musst dich selber darum kümmern, dass die übergebene Daten dem entsprechen, was du eigentlich haben möchtest.
Ein (böser) Programmierer der die Schnittstelle später mal benutzt könnte ja z.B. statt einer Struktur eine Tabelle übergeben und darauf muss man ganz anders zugreifen.
RTTI/RTTC lässt grüßen (Mehr dazu hier im Forum)
Auch das ASSIGN COMPONENT OF STRUCTURE musst du dir zum Freund machen 8)

lg ADT
Theory is when you know something, but it doesn't work.
Practice is when something works, but you don't know why.
Programmers combine theory and practice: Nothing works and they don't know why.

ECC: 6.18
Basis: 7.50

Re: Kompatibilität

Beitrag von 1337 (ForumUser / 99 / 33 / 0 ) »
Danke für die Antwort :)
Zuletzt geändert von 1337 am 09.12.2013 09:08, insgesamt 1-mal geändert.

Re: Kompatibilität

Beitrag von 1337 (ForumUser / 99 / 33 / 0 ) »
Wenn ich den Typ in der Schnittstelle der Methode ändere fallen doch möglicherweise auch wieder Felder weg, die momentan vorhanden sind?
Und genau das darf auf keinen Fall passieren.

Re: Kompatibilität

Beitrag von Unit605 (Expert / 975 / 37 / 93 ) »
1337 hat geschrieben:Wenn ich den Typ in der Schnittstelle der Methode ändere fallen doch möglicherweise auch wieder Felder weg, die momentan vorhanden sind?
Und genau das darf auf keinen Fall passieren.
Du sollst den Typ einer Schnittstelle (wo keiner genaueres weiss) aendern.
Du darfst allerdings den Typ dieser Schnittstelle nicht aendern.

Aha.... merkst Du was?

Mit Deinen Broeckchen, die Du uns hier so nach und nach beschreibst, kann (fast) kein Mensch hier im Forum etwas anfangen.

Deine Codeschnipsel sind in etwa wie: "Wo ist hier der naechste Baecker?". Eine Frage, die erst einmal 10 Nachfragen aufwirft.

Ich wuerde das an Deiner Stelle abstellen, sonst wird es schwer jemanden zu finden, der Dir weiterhilft.

Re: Kompatibilität

Beitrag von ralf.wenzel (Top Expert / 4011 / 209 / 283 ) »
Ich denke, die Lösung liegt auf der Hand: Irgendein Addon (sieht ja sehr nach eigenem Namensraum aus) soll nicht mehr verwendet werden.

Einfachster Weg: Man kopiert den Typen in einen eigenen Namensraum und deklariert in der Methode und in deren Aufruf entsprechend um.
Bild
Ralf Wenzel Heuristika SAP-Development -- 25 Jahre SAP-Entwickler • 20 Jahre Freiberufler
PublikationenUngarische NotationXing

Re: Kompatibilität

Beitrag von 1337 (ForumUser / 99 / 33 / 0 ) »
Vielen Dank :)

Seite 1 von 1

Newsletter Anmeldung

Keine Beiträge verpassen! Wöchentlich versenden wir lesenwerte Beiträge aus unserer Community.
Die letzte Ausgabe findest du hier.
Details zum Versandverfahren und zu Ihren Widerrufsmöglichkeiten findest du in unserer Datenschutzerklärung.