IDocConversionException

Scenario

Qualcosa-IDoc_AAE

Contesto

Si sta inviando un IDoc custom ad un canale receiver di tipo IDoc_AAE.

Effetto

L’invio del messaggio fallisce nel channel monitor con il seguente errore:

Error before sending due to IDoc parsing error: (7) IDOC_ERROR_PARSE_FAILURE: An IDocConversionException occurred while parsing IDocXML for type <IDoc_type>: state=READING_FIELD_VALUE_TAG, charPosition=…, lineNumber=…, columnNumber=…

Soluzione

Applicare la nota 2036878 – IDoc_AAE: Disable field datatype validation during IDoc-XML parsing che suggerisce di inserire il parametro FieldValidationEnabled fra gli Additional Parameters del canale e attribuirgli il valore false.

Il parametro disabilita il controllo del DataType dell’idoc, generato in maniera non conforme dall’adapter Idoc-AAE.


Errore “element IDOC has no non-whitespace child elements”

Scenario

Qualcosa-IDoc

Contesto

In un mapping già configurato in repository e directory, si cambia la cardinalità del messaggio da 1:1 a 1:n.

Effetto

L’esecuzione del messaggio fallisce nel channel monitor con l’errore

Adding control record to payload failed due to IDoc structure of incoming message is not correct – element IDOC has no non-whitespace child elements

Soluzione

Oltre a cambiare la cardinalità del message mapping e nell’operation mapping occorre reimportare l’operation mapping nella Interface Determination dello scenario.


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


Importare nuovo Idoc custom

Per importare un Idoc custom in PI procedere come segue:

WE31

Creare segmenti + rilascio
WE32 Creare IDoc + rilascio
WE81

Creare message type

WE82 Creare relazione message type / basic type
WE32 Creare view per IDoc

A questo punto l’IDoc può essere importato nell’ESR