SAP XI/PI/PO

Invio email con file di testo allegato

n4nadm No Comments

Scenario

File-to-Mail

Requisito

Allegare file di testo a una mail.

Enterprise Service Builder

Il seguente mapping converte il contesto in un’unica stringa in cui ogni elemento di context diventa una riga.

La stringa viene mossa in Content.

L’UDF concatRows converte l’array in una stringa in cui gli elementi dell’array sono separati tramite new line.

Integration Builder

Il canale sender file

Nel caso in cui l’Adapter sender non preveda il tab Content Convertion (per esempio l’SFTP) si può adottare il modulo AF_Modules/MessageTransformBean

In questo caso, il file letto

Num. Mensaje;Fecha;Error
W0051326G J20150721;20150721;Muy Sres. nuestros:
W0051326G J20150721;20150721;Nos referimos a su/s factura/s abajo relacionada/s.
W0051326G J20150721;20150721;Al objeto de verificar su conformidad, y como quiera que no

assume il seguente payload

Il canale receiver mail

I parametri della mail devono essere assunti dal mapping e quini impostare Using Mail Package.

Prerequisito perché il file in attach abbia il nome del file di turno

La Receiver Interface

Il test

Limitazioni

Se il canale sender è configurato per leggere più file, questi verranno inviati come attach in mail separate.

La presente soluzione gestisce solo file di testo e non anche file binary.

 

 

Communication Channel File: Determinare filename receiver da mapping

n4nadm No Comments

Scenario

File receiver.

Requisito

Il nome del file dev’essere generato dinamicamente secondo un algoritmo definito nel

Mapping

Il mapping su rset scrive nella Dynamic Configuration il filename ricevuto dal cc sender.

Implementando anche i legami su row  e su FIELD si replica il file da sender a receiver (opzionale).

In particolare,

In blu: lettura da Dynamic Configuration del channel sender

In rosso: regola arbitraria per determinare il nome file receiver

In verde: scrittura su Dynamic Configuration del nome file receiver

Communication channel sender

Content Conversion opzionale

Communication channel receiver

Content Conversion opzionale

Monitor: Dynamic Configuration

Dynamic Configuration dal communication channel receiver

splitForLength(): UDF per splitting dei testi

n4nadm No Comments

Scenario

Mapping grafico.

Requisito

In un contesto di generazione IDoc verso ECC, occorre generare i segmenti di testo E1EDT01/E1EDT02 e/o E1EDP01/E1EDP02 partendo da una stringa in ingresso.


l’UDF splitForLength() è utile nella generazione dei segmenti di testo negli idoc sia nella sezione testata E1EDKT1/E1EDKT2 che in quella di posizione E1EDPT1/E1EDPT2

In particolare, l’UDF consente di generare tanti contesti E1ED*T2 quante sono le sottostringhe di src che si ottengono dividendola per la lunghezza ln.

Implementazione per testi di testata

Questo genera le occorrenze di E1EDKT2 sulla base del numero di sottostringhe di TDLINE

Questo, per ciascun contesto, effettua lo splitting di TDLINE in ingresso e scrive le sottostringhe prodotte nei campi TDLINE in uscita.

Implementazione per testi di posizione

Questo genera le occorrenze di E1EDPT2 sulla base del numero di sottostringhe di TDLINE

Questo, per ciascun contesto, effettua lo splitting di TDLINE in ingresso e scrive le sottostringhe prodotte nei campi TDLINE in uscita.

Nel seguente esempio, il contesto in entrata all’UDF – 1mo param, è così configurato:

E1EDP01 con testo (true)

E1EDP01 senza testo (false) -> SUPPRESS

E1EDP01 con testo (true)

AS2 channel

n4nadm No Comments

Scenario

AS2 sender (feedback)

AS2 receiver

Requisito

Realizzare un contesto EDI.

Predisposizione lato sender.

Creazione Party

AS2_WHR_LEGACY

Party del sender

La coppia AS2  ZZZ  117 | AS2ID viene convertita in WHRLEGACY_QAS e viene inviata ad AS2. Questa stringa è come AS2 ha censito il sender.

Predisposizione lato receiver (AS2)

Creazione party

AS2_TESI

Party di AS2

La coppia AS2  ZZZ  117 | AS2ID viene convertita in TESIEINT2015… Questa stringa è come xxx ha censito il receiver (?).

Integrated Configuration con AS2 in receiver – Flusso invio payload business

Il communication channel receiver si riferisce all’AS2

Integrated Configuration con AS2 in receiver – Flusso invio feedback (MDN)

Channel sender SOAP

Channel receiver, per es. FILE

Variable substitution

n4nadm No Comments

Scenario

File receiver.

Requisito

Il nome del file receiver dev’essere composto da parti variabili dipendenti da elementi del payload receiver.

Enterprise Service Repository

Integration Builder

Netweaver Development Studio: Debug remoto

n4nadm No Comments

Scenario

Sviluppo di moduli Java.

Requisito

Impostazione dell’ambiente per effettuare debugging remoto sul server PI.

E’ possibile impostare il debugging remoto in diversi modi.

Da Netweaver Administrator (nwa)


Da Netweaver Developer Studio (NWDS)

Da SAPMMC


RFC_READ_TABLE

n4nadm No Comments

Scenario

Mapping grafico.

Requisito

RFC Lookup su tabella di dictionary.

E’ possibile utilizzare la function standard RFC_READ_TABLE per leggere qualunque tabella di dictionary. Di seguito, un esempio di valorizzazione per la lettura della tabella MARA.

DELIMITER = ‘;’
NO_DATA = ”
QUERY_TABLE = ‘MARA’
ROWCOUNT = 99999;
ROWSKIPS = 0;
FIELDS[]-FIELDNAME = ‘MATNR’
OPTIONS[]-TEXT = ‘MATNR EQ ‘000000000000000001’

Per l’utilizzo all’interno del mapping

La condizione va passata nel campo OPTIONS[]-TEXT e, se è formata da più condizioni, queste vanno concatenate in una unica stringa e relazionate con l’operatore AND.

Es.: EBELN EQ ‘4500001887’ AND EBELP EQ ‘00010’

 

 

Content Convertion per file-file come unica stringa

n4nadm No Comments

Scenario

Scenario File receiver.

Requisito

Trasferire il contenuto del file sender nel file receiver ignorando le rispettive strutture.

Per ottenere lo scopo, occorre considerare l’intero contenuto da trasferire come fosse un’unica stringa, terminatori di riga compresi.

Stessa struttura sender e receiver

Communication channel sender

Communication channel receiver

Struttura per Content Conversion Sender

n4nadm No Comments

Scenario

File sender con Content Conversion.

Requisito

Strutturare il contenuto del file in un Message Type di PO.

Definizione record da indicare in Recordset Structure del content conversion

dt_xxx_rec

Field1

Field2

 

Struttura da indicare in Recordset Name del content conversion

dt_xxx_struct

dt_xxx_rec (field: item)

 

Struttura referenziata dal message type in Document Name

dt_xxx

dt_xxx_struct

dt_xxx_rec

Configurazione RFC Destination

n4nadm No Comments

Scenario

Proxy receiver.

Requisito

Configurare la destinazione RFC da associare al canale proxy.

Sulle istanze PI/PO con double stack, è possibile procedere con la definizione della Destinazione RFC tramite TCODE SM59 (ABAP stack) oppure tramite la definizione di una Destination tramite il menu Netweaver Administrator, nwa, (Java stack).

Per le istanze single stack è disponibile, naturalmente, solo la modalità nwa.

In alternativa alla definizione esterna del puntamento al proxy si può definire un communication channel di tipo XI direttamente nell’Integration Builder Configuration.

Modalità ABAP stack

Sull’istanza ABAP di XI/PI lanciare la transazione SM59.

Il Service No. corrisponde alla porta sulla quale risponde il servizio proxy ed è determinato da 8000+SID. Quindi, per SID=10 il service no. è 8010.

Modalità Java stack

Su PI/PO.

http://<server>:<port>/nwa

Categorie