Sono uno sviluppatore SAP ABAP e Microsoft.NET. Lavoro per un'azienda che crea software utilizzando SAP e altre piattaforme, come Microsoft.NET, Java e RoR.
Dal momento che la società sta implementando SAP, è necessario ottenere il back-end ECC 6.0, che può utilizzare RFC o Webservices.
SAP ha un'API standard nota come Business API (ovvero BAPI). Puoi provarli alla transazione BAPI.
Un buon esempio è questo: BAPI_USER_GET_DETAIL
.
Questo BAPI è responsabile della restituzione di informazioni su qualsiasi utente SAP. BAPI richiede solo un singolo parametro di input, denominato USERNAME, e restituisce diverse strutture di dati con informazioni sull'utente, come e-mail, Nome e cognome, profili utente, ecc.
All'interno di ABAP, un modello per la chiamata questo BAPI dovrebbe essere qualcosa di simile:
CALL FUNCTION 'BAPI_USER_GET_DETAIL'
EXPORTING
USERNAME = sy-UNAME
* IMPORTING
* LOGONDATA =
* DEFAULTS =
ADDRESS = L_IT_RETURN1
* COMPANY =
* SNC =
* REF_USER =
* ALIAS =
* UCLASS =
* LASTMODIFIED =
* ISLOCKED =
TABLES
* PARAMETER =
* PROFILES =
* ACTIVITYGROUPS =
RETURN = L_IT_RETURN
ADDTEL = i_Tel
* ADDFAX =
* ADDTTX =
* ADDTLX =
* ADDSMTP =
* ADDRML =
* ADDX400 =
* ADDRFC =
* ADDPRT =
* ADDSSF =
* ADDURI =
* ADDPAG =
* ADDCOMREM =
* PARAMETER1 =
* GROUPS =
* UCLASSSYS =
* EXTIDHEAD =
* EXTIDPART =
* SYSTEMS =.
Ora, ogni BAPI è anche RFC (Remote Function Call) abilitato. Ciò significa che, se si implementa l'API RFC SAP all'interno dell'applicazione, è possibile chiamare qualsiasi BAPI o altra funzione all'interno di SAP configurata come RFC abilitata.
Nelle versioni precedenti, è possibile utilizzare l'API RFC standard SAP o utilizzare i connettori SAP Wizard, come SAP .NET Connector o SAP Java Connector.
Nelle versioni più recenti, SAP ha collegato un server Web al proprio ABAP Application Server, al fine di eseguire servizi quali ITS, BSP e WebDynpro per ABAP. Utilizzando questo server Web, è possibile pubblicare qualsiasi RFC come servizio Web.
Ma, preso dalla mia esperienza quotidiana, le prestazioni di SAP R/3 non sono così buone. Una semplice chiamata RFC a una funzione che somma due numeri e restituisce il risultato può richiedere da 1 a 5 secondi, a seconda della disponibilità del server.
Ciò accade principalmente a causa dei numerosi livelli di astrazione che si verificano durante l'utilizzo di SAP .NET Connector o WebServices.
Quindi, se si desidera che il sistema sia disponibile per le transazioni giornaliere (come la creazione di 5.000 clienti ogni giorno dalla propria applicazione di e-commerce o circa 40.000 vendite online) consiglio vivamente di utilizzare Java Connector o di implementare l'API RFC da solo.
In caso contrario, se la tua app verrà utilizzata internamente da un minor numero di persone, ti consiglio di utilizzare SAP .NET Connector o WebServices, solo perché sono completamente orientati alla GTD.
Spero che questo aiuti!
(per favore, aggiungere il prefisso http: // per I link qui sotto, perché io non ho abbastanza reputazione di postare link :()
L'API RFC: help.sap.com/printdocu/core /Print46c/EN/data/pdf/BCFESDE4/BCFESDE4.pdf
SAP .NET Connector: help.sap.com/saphelp_nw04/Helpdata/EN/e9/23c80d66d08c4c8c044a3ea11ca90f/content.htm
SAP Java Connector: help.sap.com/saphelp_nw04/helpdata/en/6f/1bd5c6a85b11d6b28500508b5d5211/content.htm
Creazione di servizi Web tramite ABAP: wiki.sdn.sap.com/wiki/display/stage/Service+Enabling+in+ABAP
Meraviglioso, hai qualche esperienza con i livelli di presentazione non-SAP? Alcune persone dovrebbero certamente utilizzare SAP stesso, quindi sono un po 'preoccupato di supportare due sistemi ... –
Sì, sono stato uno sviluppatore Java per 3 anni fino a quando non sono passato allo sviluppo di sap. In questo momento sto sviluppando webdynpro al 100% per vari client, anche alcuni webdynpro abap. Lasciatemi dire che è una grande differenza per i normali livelli di presentazione basati su java. Ho lavorato con Struts, JSF e JSP semplice e mi ci è voluta una notevole quantità di tempo per abituarmi a webdynpro.Poiché vendiamo soluzioni SAP complete, tutte le nostre applicazioni hanno l'integrazione con il portale, webdynpro è il livello di presentazione scelto qui perché si integra perfettamente con i fogli di stile del portale e i ruoli del portale. –
Un altro vantaggio, ovviamente, è che quando si usano livelli di presentazione non-sap, si è liberi di utilizzare qualsiasi server applicativo che ti piace. Ma non ne so abbastanza sull'integrazione .NET con la linfa per dare una chiara raccomandazione qui. –