All posts by n4nadm

ALEAUD

Qualora in uno scenario Idoc outbound venga generato un indesiderato flusso di ack dal receiver verso l’ECC sender, sull’SXI_MONITOR sii presenterà nella seguente forma per via del fatto che in ECC non è gestito il corrispondente ALEAUD

Per disattivare in PI la generazione del messaggio di ack, eseguire da SE38 il report IDX_NOALE.

Valorizzare i parametri come da idoc di cui disattivare il feedback

Togliere i flag. Non è richiesto alcun salvataggio.


Control Record in automatico

Per fare in modo che l’adapter IDoc compili automaticamente il record di controllo per gli idoc in inbound (receiver) ad ECC occorre assegnare al Business System sender il Logical System configurato nella WE20 per ricevere l’IDoc.

SAP ECC

TCODE WE20

SLD (verificare se necessario)

Associare al Business System il Logical System Name

Integration Builder

Doppio click sul BS sender

SAP PI

Modalità valida per istanze double-stack.

TCODE IDX1

Definire una coppia porta / mandante legata alla destinazione RFC (SM59) che punta l’ECC receiver.

Il nome della porta è da standard SAP: “SAP”+SYSID inbound


createContext

Crea contesti in numero pari ai parametri della function.

Utile per generare un array di parametri da passare in input a qualcosa.

public void createContext(String[] parm1, String[] parm2, ResultList result, Container container) throws StreamTransformationException{
AbstractTrace _trc = container.getTrace();
//_trc.addWarning("parm1:"+parm1.length);

result.clear();
result.addValue(parm1[0]);
result.addValue(parm2[0]);

return;

}

In questo esempio, l’udf si aspetta 2 parametri che generano altrettanti contesti in uscita


Generali

SAP PI 7.31

SAP_ALM_ADMINISTRATOR

SAP_ALM_CUSTOMIZER

SAP_BC_AI_LANDSCAPE_DB_RFC

SAP_BC_ALM_ADMIN

SAP_BC_ALM_ALERT_USER

SAP_BC_ALM_CUST

SAP_BC_BASIS_ADMIN

SAP_BC_BASIS_MONITORING

SAP_BC_CSMREG

SAP_BC_DB_ADMIN_DB2

SAP_BC_DB_ADMIN_DB4

SAP_BC_DB_ADMIN_DB6

SAP_BC_DB_ADMIN_MSS

SAP_BC_DB_ADMIN_ORA

SAP_BC_DB_ADMIN_SDB

SAP_BC_LVC_ADMINISTRATOR

SAP_BC_TREX_ADMIN

SAP_BC_WEBSERVICE_ADMIN

SAP_BC_WEBSERVICE_PI_CFG_SRV

SAP_J2EE_ADMIN

SAP_SLD_ADMINISTRATOR

SAP_SLD_CONFIGURATOR

SAP_SLD_DEVELOPER

SAP_SLD_GUEST

SAP_SLD_ORGANIZER

SAP_XI_ADMINISTRATOR

SAP_XI_ADMINISTRATOR_ABAP

SAP_XI_ADMINISTRATOR_J2EE

SAP_XI_APPL_SERV_USER

SAP_XI_BPE_ADMINISTRATOR_ABAP

SAP_XI_BPE_ADMINISTRATOR_J2EE

SAP_XI_BPE_CONFIGURATOR_ABAP

SAP_XI_BPE_MONITOR_ABAP

SAP_XI_BPE_MONITOR_J2EE

SAP_XI_CONFIGURATOR

SAP_XI_CONFIGURATOR_ABAP

SAP_XI_CONFIGURATOR_J2EE

SAP_XI_CONTENT_ORGANIZER

SAP_XI_CONTENT_ORGANIZER_ABAP

SAP_XI_CONTENT_ORGANIZER_J2EE

SAP_XI_DEMOAPP

SAP_XI_DEMOAPP_EXECUTE

SAP_XI_DEVELOPER

SAP_XI_DEVELOPER_ABAP

SAP_XI_DEVELOPER_J2EE

SAP_XI_DISPLAY_USER_ABAP

SAP_XI_IS_SERV_USER

SAP_XI_IS_SERV_USER_MAIN

SAP_XI_MONITOR

SAP_XI_MONITOR_ABAP

SAP_XI_MONITOR_J2EE

SAP_XI_RWB_SERV_USER

 

SAP PO 7.5

SAP_SLD_ADMINISTRATOR

SAP_SLD_CONFIGURATOR

SAP_SLD_DEVELOPER

SAP_SLD_GUEST

SAP_SLD_ORGANIZER

SAP_XI_ADMINISTRATOR_J2EE


Sbloccare messaggi in holding

I messaggi in holding sono bloccati in una coda Java EOIO e sono rilevabili dal Message Monitor dell’Adapter.

Può essere utile questo articolo

http://scn.sap.com/people/stefan.grube/blog/2006/04/27/how-to-deal-with-stuck-eoio-messages-in-the-xi-30-adapter-framework

Per sbloccare le code seguire questi passi:

  1. Individuare il messaggio più vecchio
  2. Cercare per il Receiver o il Sender messaggi in errore nella data del primo messaggio in holding
  3. Risolverlo o cancellarlo
  4. Selezionare gli holding e riprocessarli

Messaggi bloccati su SMQ2 “permanent inbound processing”

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.


IB: Match code non seleziona Service Interface

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.


Best Practice

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.