SAP soll Methode aufrufen und Parameter zurück bekommen

Rund um Java und SAP®.
4 Beiträge • Seite 1 von 1
4 Beiträge Seite 1 von 1

SAP soll Methode aufrufen und Parameter zurück bekommen

Beitrag von steffi_ma (ForumUser / 55 / 0 / 0 ) »
Hi,
und wieder ein Problem.

ich möchte nun gerne Parameter an SAP zurückliefern. Aber ich bekomme das nicht hin!

SAP:

Code: Alles auswählen.

DATA: mess(128).
DATA: pid TYPE string.

CALL FUNCTION 'FUNCTION_PID' DESTINATION 'JAVARFC'
  IMPORTING
    RESPTEXT              = pid
  EXCEPTIONS
    communication_failure = 1  MESSAGE mess
    system_failure        = 2  MESSAGE mess
    OTHERS                = 3.
IF sy-subrc <> 0.
  WRITE: 'Fehler: ', mess.
ELSE.
  WRITE: 'Alles OK', pid.
ENDIF.
IN JAVA:

Code: Alles auswählen.

JCO.MetaData fmeta2 = new JCO.MetaData("FUNCTION_PID");
    fmeta1.addInfo("REQUTEXT", JCO.TYPE_CHAR, 255,   0,  0, JCO.IMPORT_PARAMETER, null);
    fmeta1.addInfo("ECHOTEXT", JCO.TYPE_CHAR, 255,   0,  0, JCO.EXPORT_PARAMETER, null);
    fmeta1.addInfo("RESPTEXT", JCO.TYPE_CHAR, 255,   0,  0, JCO.EXPORT_PARAMETER, null);
    repository.addFunctionInterfaceToCache(fmeta2);

...

protected void handleRequest(JCO.Function function) throws Exception
    {
      JCO.ParameterList input  = function.getImportParameterList();
      JCO.ParameterList output = function.getExportParameterList();
      JCO.ParameterList tables = function.getTableParameterList();

      System.out.println("getImportParameterList:" + input);
      System.out.println("getOutputParameterList:" + output);
      
      if (function.getName().equals("FUNCTION_PID")) 
      {
      	JavaHowTo jht = new JavaHowTo();
      	long l = JNIJavaHowTo.getPid(jht,1);
      	
      	//output.setValue(input.getString("REQTEXT"),"ECHOTEXT");
      	//output.setValue(l,"ECHOTEXT");
      	output.setValue("PID aus JAVA: ", "RESPTEXT");
       }
...

als Ergebnis bekomme ich in SAP:
java.lang.NullPointerException

die beiden
System.out.println("getImportParameterList:" + input);
System.out.println("getOutputParameterList:" + output);
ergeben beide "null"

ich will doch nur, dass die Variable "l" zurückübergeben wird *grummel*
Bestimmt habe ich irgentwo die import/exportparameter durcheinander gebracht!!

steffi

voriger Thread:
http://www.abapforum.com/forum/viewtopic.php?t=1606

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


Beitrag von Tim (ForumUser / 91 / 0 / 0 ) »
Hi Steffi,

du solltest beim Aufruf der Funktion auch den EXPORTING Parameter ECHOTEXT holen:

Code: Alles auswählen.

CALL FUNCTION 'FUNCTION_PID' DESTINATION 'JAVARFC' 
  IMPORTING 
    RESPTEXT              = pid 
  EXPORTING             
    ECHOTEXT             = your_echo_text
 EXCEPTIONS 
    communication_failure = 1  MESSAGE mess 
    system_failure        = 2  MESSAGE mess 
    OTHERS                = 3. 
ciao,

Tim

Beitrag von steffi_ma (ForumUser / 55 / 0 / 0 ) »
okay, hab jetzt
DATA: echo TYPE string. und

EXPORTING
ECHOTEXT = echo
hinzugefügt.

Aber der Fehler bleibt der gleiche!

steffi

Beitrag von steffi_ma (ForumUser / 55 / 0 / 0 ) »
Ich trottel!!! :oops:

Ich habe beim kopieren das falsche fmeta genommen!!!
Jetzt funktioniert auch alles!!

steffi

Seite 1 von 1

Vergleichbare Themen

4
Antw.
13077
Views
externen Webservice aufrufen und XML zurück bekommen
von wayder » 20.04.2009 18:40 • Verfasst in ABAP® für Anfänger
0
Antw.
1621
Views
workflow - Übergabe Containerelemente in Methode und zurück
von henninger » 19.02.2007 08:52 • Verfasst in ABAP Objects®
8
Antw.
8996
Views
Aus einer OO-Transaktion Dynpro aufrufen und wieder zurück
von FelixFICO » 17.07.2018 18:18 • Verfasst in Dialogprogrammierung
1
Antw.
4170
Views
Private Methode aufrufen
von an4kh4 » 05.02.2007 15:58 • Verfasst in ABAP Objects®
2
Antw.
6765
Views
Dynpro in Methode aufrufen
von tom1986 » 19.05.2009 11:55 • Verfasst in ABAP® für Anfänger

Über diesen Beitrag


Unterstütze die Community und teile den Beitrag für mehr Leser und Austausch

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.