SAP soll Methode aufrufen und Parameter zurück bekommen

Rund um Java und SAP®.

SAP soll Methode aufrufen und Parameter zurück bekommen

Postby William4545 » Thu Jul 15, 2004 3:45 pm

Hi,
und wieder ein Problem.

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

SAP:
Code: [Select all] [Expand/Collapse] [Download] (Untitled.txt)
  1. DATA: mess(128).
  2. DATA: pid TYPE string.
  3.  
  4. CALL FUNCTION 'FUNCTION_PID' DESTINATION 'JAVARFC'
  5.   IMPORTING
  6.     RESPTEXT              = pid
  7.   EXCEPTIONS
  8.     communication_failure = 1  MESSAGE mess
  9.     system_failure        = 2  MESSAGE mess
  10.     OTHERS                = 3.
  11. IF sy-subrc <> 0.
  12.   WRITE: 'Fehler: ', mess.
  13.   WRITE: 'Alles OK', pid.
  14.  
GeSHi ©


IN JAVA:
Code: [Select all] [Expand/Collapse] [Download] (Untitled.txt)
  1. JCO.MetaData fmeta2 = new JCO.MetaData&#40;"FUNCTION_PID"&#41;;
  2.     fmeta1.addInfo&#40;"REQUTEXT", JCO.TYPE_CHAR, 255,   0,  0, JCO.IMPORT_PARAMETER, null&#41;;
  3.     fmeta1.addInfo&#40;"ECHOTEXT", JCO.TYPE_CHAR, 255,   0,  0, JCO.EXPORT_PARAMETER, null&#41;;
  4.     fmeta1.addInfo&#40;"RESPTEXT", JCO.TYPE_CHAR, 255,   0,  0, JCO.EXPORT_PARAMETER, null&#41;;
  5.     repository.addFunctionInterfaceToCache&#40;fmeta2&#41;;
  6.  
  7. ...
  8.  
  9. protected void handleRequest&#40;JCO.Function function&#41; throws Exception
  10.     &#123;
  11.       JCO.ParameterList input  = function.getImportParameterList&#40;&#41;;
  12.       JCO.ParameterList output = function.getExportParameterList&#40;&#41;;
  13.       JCO.ParameterList tables = function.getTableParameterList&#40;&#41;;
  14.  
  15.       System.out.println&#40;"getImportParameterList:" + input&#41;;
  16.       System.out.println&#40;"getOutputParameterList:" + output&#41;;
  17.      
  18.       if &#40;function.getName&#40;&#41;.equals&#40;"FUNCTION_PID"&#41;&#41;
  19.       &#123;
  20.          JavaHowTo jht = new JavaHowTo&#40;&#41;;
  21.          long l = JNIJavaHowTo.getPid&#40;jht,1&#41;;
  22.          
  23.          //output.setValue&#40;input.getString&#40;"REQTEXT"&#41;,"ECHOTEXT"&#41;;
  24.          //output.setValue&#40;l,"ECHOTEXT"&#41;;
  25.          output.setValue&#40;"PID aus JAVA: ", "RESPTEXT"&#41;;
  26.        &#125;
  27. ...
  28.  
GeSHi ©



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
William4545
..
..
 
Posts: 55
Joined: Tue Jul 13, 2004 11:40 am

Postby Christian4831 » Thu Jul 15, 2004 3:54 pm

Hi Steffi,

du solltest beim Aufruf der Funktion auch den EXPORTING Parameter ECHOTEXT holen:
Code: [Select all] [Expand/Collapse] [Download] (Untitled.txt)
  1. CALL FUNCTION 'FUNCTION_PID' DESTINATION 'JAVARFC'
  2.   IMPORTING
  3.     RESPTEXT              = pid
  4.   EXPORTING            
  5.     ECHOTEXT             = your_echo_text
  6.  EXCEPTIONS
  7.     communication_failure = 1  MESSAGE mess
  8.     system_failure        = 2  MESSAGE mess
  9.     OTHERS                = 3.
  10.  
GeSHi ©


ciao,

Tim
Christian4831
..
..
 
Posts: 91
Joined: Mon Dec 02, 2002 7:33 pm

Postby William4545 » Thu Jul 15, 2004 4:21 pm

okay, hab jetzt
DATA: echo TYPE string. und

EXPORTING
ECHOTEXT = echo
hinzugefügt.

Aber der Fehler bleibt der gleiche!

steffi
William4545
..
..
 
Posts: 55
Joined: Tue Jul 13, 2004 11:40 am

Postby William4545 » Thu Jul 15, 2004 4:29 pm

Ich trottel!!! :oops:

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

steffi
William4545
..
..
 
Posts: 55
Joined: Tue Jul 13, 2004 11:40 am


Return to Java & SAP®

Who is online

Users browsing this forum: No registered users and 6 guests