2010-04-13 5 views
1

Nous avons une BAPI qui télécharge le document spécifié dans SAP."NOT_SUPPORTED_BY_GUI" Exception dans JCo

La BAPI accepte trois paramètres: ID, FILE_LOC et FOLDER_NAME. Et je suis le réglage des valeurs comme suit dans le code JCo:

JCO.ParameterList paramList = function.getImportParameterList(); 
paramList.setValue("101XS1", "EXTERNAL_ID"); 
paramList.setValue("tmp", "FOLDER_NAME"); 
paramList.setValue("D:/upload/foo.txt", "FILE_LOCATION"); 

Mais quand je suis en train d'exécuter le BAPI, je suis obtenir l'exception suivante:

com.sap.mw.jco.JCO$Exception: (104) RFC_ERROR_SYSTEM_FAILURE: Exception condition "NOT_SUPPORTED_BY_GUI" raised. 
    at com.sap.mw.jco.rfc.MiddlewareRFC$Client.nativeExecute(Native Method) 
    at com.sap.mw.jco.rfc.MiddlewareRFC$Client.execute(MiddlewareRFC.java:1242) 
    at com.sap.mw.jco.JCO$Client.execute(JCO.java:3816) 
    at com.sap.mw.jco.JCO$Client.execute(JCO.java:3261) 

Le même BAPI est fonctionne bien si j'exécute via un client lourd (SAP Logon). Mais à travers JCo, c'est donner cette erreur.

+0

est-ce une BAPI spécifique, ou une norme? Se pourrait-il que le bapi utilise un module/classe de fonction spécifique à un gui, tel que L_GUI_FRONTEND_SERVICES? –

Répondre

2

Cette erreur en elle-même ne vous en dit pas plus que "le programme ABAP (module fonction) a déclenché une exception nommée NOT_SUPPORTED_BY_GUI". Cela signifie probablement que le module de fonction a essayé d'accéder à une fonction liée à l'interface graphique - ce qui est illégal pour les BAPI, donc soit un module de fonction RFC sur mesure, soit vous avez trouvé une erreur de programmation dans le codage standard SAP. ouvrir un ticket de support SAPnet.

1

Vous ne pouvez pas utiliser les services GUI dans des opérations non-GUI, comme des RFC ou des JOB d'arrière-plan. En général, évitez d'utiliser la classe cl_gui_frontend_services et les fonctions GUI_ *. Vous pouvez également utiliser OPEN_DATASET FOR INPUT/OUTPUT dans votre fonction RFC.

Observe

Questions connexes