Java Mapping
Fino a PI 7.1, importare la libreria
aii_map_api.jar
Da PI 7.1, importare le librerie:
- ext/com.sap.xi.mapping.api.lib/lib: com.sap.xpi.ib.mapping.lib.jar (M)
- ext/com.sap.xi.mapping.tool.lib/lib: com.sap.xi.mapping.tool.lib_api.jar (M)
Fino a PI 7.1, importare la libreria
aii_map_api.jar
Da PI 7.1, importare le librerie:
No object type found for the message. Check that the corresponding process is activated An exception has occurred.
Verificare che l’interfaccia che entra nel BPM sia di tipo Abstract.
Il tuo BPM è partito la prima volta, s’è bloccato, e adesso ti da un errore totalmente diverso? prova con i seguenti step.
parti da SWF_XI_SWQR
trova la riga corrispondente al BPM, deve essere in error. selezionala.
GoTo -> display work item (Ctrl+F2). sei in una nuova schermata
GoTo -> technical work item display (Ctrl+Shift+F6). compare una schermata con una lista di comandi a sinistra.
SE NON COMPARE: Extras -> Activate administration
dalla lista a sinistra; Logically Delete.
Contesto
Uno sviluppo coinvolge a livello di ESR oggetti, specificatamente Service Interface, distribuiti su più Software Component Version – tipico quando si suddividono gli oggetti del SCV sender da quelli del SCV receiver.
Problema
A livello di Integration Builder, nell’editor dell’Interface Determination o Sender Agreement il match code che seleziona le Service Interface receiver non aggancia gli oggetti riferiti al Communication Component receiver.
Soluzione
Entrare nel System Landscade Directory, Technical Systems;
Selezionare i Technical System relativi ai Business System coinvolti nel flusso;
Selezionare il tab Installed Software e verificare che tutti i Product/Software Component Version interessati nello scenario siano inclusi.
Andare nel Business System relativo al TS sotto il tab Installed Software e aggiungere la spunta al SCV.
In Integration Builder forzare il refresh della cache SLD, Environment > Clear SLD Data Cache.
In un Java Mapping (accertato) e in un modulo non utilizzare mai variabili o metodi statici in quanto il loro comportamento diventa imprevedibile nel momento in cui vengono chiamati parallelamente dall’Integration Engine o dall’Adapter Engine.
Una variabile statica può venire sporcata dai valori contemporanei delle varie istanze di chiamata del modulo da parte dell’engine.
Stesso discorso per i metodi statici.
|
Monitor di sistema |
http://<FQDN>:5<inst_num>00/MessagingSystem/monitor/syslog.jsp |
|
Exchange Profiles |
|
| SLD | |
|
Netweaver Administrator |
|
| SAP Management Console | |
|
Verifica installazione driver JDBC |
Per configurare il cc sulla base del SAP Logon procedere come segue
| Communication Channel Editor | SAP Logon |
| Adapter Type RFC
Receiver Marcare Load Balancing |
|
| Message Server |
Message Server |
| Message Server Service |
“sapms”+System ID es: sapmsIP0 |
|
System ID |
System ID |
|
Logon Group |
Group/Server |
Utilizzare l’adapter SOAP senza Envelop qualora occorra inviare un messaggio HTTP in modalità POST.
In scenari webservice basati su communication channel HTTP POST invece che SOAP può essere necessario dover :
Obiettivo
L’esigenza è quella di impedire che il file sul cc sender venga processato, e magari cancellato/archiviato, se l’elaborazione sul cc receiver va in errore.
Soluzione
Impostare la QoA sul cc sender in modalità Best Effort invece che Each Once.
In questo modo si rende sincrono l’intero processo la qual cosa comporta che:
La struttura dati che definisce la service interface su cui si baserà un ABAP proxy deve sempre essere definita tramite un datatype e mai tramite un xsd; il datatype infatti, viene importato sull’ECC e dà origine ad un oggetto di dictionary. Un xsd invece resta confinato sullo stack java e questo comporta che la fase di generazione del proxy sul lato ECC va a buon fine ma viene generato un abend (ST22) in fase di run dovuto al fatto che le strutture che definiscono l’interfaccia non sono presenti nel dictionary. Uno degli errori che può verificarsi è GETWA_NOT_ASSIGNED.