wenn ich den baustein SCMS_HTTP_GET mit der TA se37 aufrufe und ihn teste funktioniert er.
wenn ich aber in meinem abapreport (lokales objekt) ihn mit call function aufrufe dann connected er irgendwie nicht.
wie kann das sein?
habe mich heute den ganzen tag durch den verwurzelten abapcode "gewurschtelt" und habe herausgefunden, dass mein abapprogramm in nem codepart eines unterfunktionsbausteins ein "raising communication_failure" wirft. (rfc-destination SAPHTTPA funzt net)
aber ich muss den baustein doch nicht mit der TA sm59 eine rfc-destination anlegen? das dürfte doch keinen unterschied machen ob ich den baustein in der se37 teste oder mein programm (lokales objekt) ihn aufruft?
oder habe ich etwas grundlegendes nicht kapiert?
doch, es gibt einen kleinen, aber feinen gravierenden Unterschied.
Wenn Du einen Funktionsbaustein in der SE37 testest, kann man die Parameter eingeben.
IMPORT und TABLES-Parameter können über ein generiertes Dynpro eingegeben werden. Dabei werden die Parameter jeweils schon mal vom externen in ein internes Format umgewandelt.
Das passiert z.B. bei Datum, Zeit, Merkmalsnamen (->Mermalsnummer), TP-Name (->interne TP-Nummer), Textfeldern (kleinbuchstaben->GROSSBUCHSTABEN) und noch vieles mehr.
Wenn der FUBA im Programmkontext läuft, werden keinerlei Konvertierungen durchgeführt. Die Daten stehen so "wurschtig" im Feld, wie sie "hineingemoved" wurden.
Das führt manchmal zum Abbruch im FUBA, weil der eine bestimmte (meist interne) Darstellung benötigt.
BAPIS arbeiten nach außen immer mit externer Darstellung. SAP-Funktionsbausteine und Form-Routinen oft (meist) mit interner Darstellung.