SAP PI/PO Enable Web Service Compression

Many people don’t know the web services has a feature to compress the information for request and response to exchange data between client and server.

The advantages of using this feature are that you can send high volume information in web services without reducing the performance, for example, you can send an XML payload of size 40 MB compressed in some 800 kb.

To enable this you need to add some headers in your web service consumer client. In case to PI/PO the equivalent is adding these parameters in SOAP module adapter configuration:Screenshot_20170814_174631 Like this:

Screenshot_20170814_173354

But you need check which direction of the communication channel is configured, in the previous SAP PI documentation describe the configuration:

The receiver SOAP adapter uses these parameters for the request message; the sender
SOAP adapter uses these parameters for the response message.

If you’re using a Java client with axis you could enable this feature adding this lines into your Out Binding Stub class:

org.apache.axis.client.Call _call = createCall();
// other conf props...
_call.setProperty(HTTPConstants.MC_ACCEPT_GZIP, Boolean.TRUE);
_call.setProperty(HTTPConstants.MC_GZIP_REQUEST, Boolean.TRUE);

This is imperceptible for PI/PO because into the PIMON you can see the message size as normal size, you can check the web service consumer to validate if the request is compressed or not.

Regards

SAP PO 7.5 enable sync acknoledgement in async communication channel receiver

Recentrly I had been a SAP  PI 7.1 system to SAP PO 7.5 and some scnearios I had troubles with the acknowldege reponse from other SAP systems.

The problem is with a SOAP XI receiver communitation channel when the message is sended to sap system receiver, I don’t know because the receiver system send to PO a aknowledge with empty content (XML), and this raise a exception in PO.

To fix that I need to add this parameters into adapter module > Tab Module > Module Configuration

Module Key Parameter Name  Parameter   Value
soap        XMBWS.GenerateSysAck        true
soap        MBWS.NoSOAPIgnoreStatusCode true
soap        GenerateSysAck          true
soap        ignoreDuplicate         true

Maybe the parameters sounds to do other actions, but when you set the value ‘true‘the akcnowldege is ignored in PO and the process complete succesfully.

2017-02-03-19_42_06-_-application_system_caq-_-soap_rcv_transactions_-display-communication-channel

Regards!

Deploy EAR in PO 7.5 via Telnet (JAVA Only)

To deploy manually ear file in your PO server you need:

  • User with privilegies with J2EE_ADMIN
  • User to  operating system (ROOT user)
  • XPI Tool inspector EAR

Steps

  1. Log in via SSH in your server
  2. Put your ear into server for example in /tmp/xpi_inspector_ear_v5_0.ear
  3. Change file privilegies: chmod 777 xpi_inspector_ear_v5_0.ear
  4. Log in with telnet command: telnet localhost 5<instance num>08
    2017-02-01-18_11_25-qasap063-palaciohierro-com-mx-putty
  5. Write user and pass and put the next command:

Seguir leyendo

SAP PI Change Client / Cambiar Cliente

Los desarrollos ABAP que envían información a PI mendiante un proxy utilizan la configuración del SLD, esta configuración está asociada mendiante el Technical System, el Business System y el Client.

Para cambiar de cliente tenemos que realizar los siguiente pasos, en el siguiente ejemplo voy a mostrar como modificarlo de HCM a PI:

1. Ingresas al SAP logon de HCM y ejecutas la transacción SLDCHECK. Esto va a abrir el browser con la url “http://<Servername : port>/sld“,  otra alternativa es abrir directamente el SLD en PI si conoces al que esta asociado.

2. Vas a ver la página de configuración del Bussiness System (BS), en ella tienes que seleccionar el BS y en la parte inferiror modificas el cliente al que esta asociado mediante la opción “change“:

SAP PI Business System

SAP PI Business System

Seguir leyendo

SAP PI Enable SQL Log into Comunication Channel

Cuando tienes una canal de communitacion de tipo JDBC ya sea Sender o Receiver, se puede visualizar el Statement de SQL generado por PI. Generalmente NO se activa para mantener un buen performance en el server, sin embargo cuando tenemos problemas y queremos ver el Query podemos hacerlo de la siguiente forma:

  1. Ingresas al Integration Builder y abres tu Communication Channel
  2. Seleccionas la pestaña Advanced y en la sección Additional Parameters agregas el siguiente:
    Name: logSQLStatement
    Value: true

    SAP PI SQL Log - Advanced Tab into Communication Channel Parameters Seguir leyendo

SAP Skip Authorizathions with Debug Function

Explained by self  😀 jojojo

Step 1 – Insert debug breakpoint
Execute Transaction SE37 within Function module ‘AUTH_CHECK_TCODE‘, click on dysplay and insert a break-point the ABAP code line ‘if sy-subrc = 0.’, straight after the call ‘AUTH_CHECK_TCODE’ id ‘TCODE’ field tcode command.

Step 2 – Execute your desired SAP transaction code
Execute your tcode and SAP should go into debugging mode and stop at your break point. If it doesn’t type /h into the command line field(where you enter transactions) and press enter, then try executing your transaction code again. If it stops at a point which is not where you inserted the breakpoint in step 1 keep pressing F8 until it gets to it!

Step 3 – Change SY-SUBRC value
When the code reaches the ‘if sy-subrc = 0’ statement, sy-subrc should have a value not equal to 0 if you are not authorised for this transaction. Change this to 0 using the usual method relevant to your system (i.e. by clicking on the change pencil icon, change value and press enter). When value is changed press F8 to continue the SAP program on its way.

And Fun!! 😀

References

Find Java Class into Jars/libs


¿A quien no le ha pasado esto? tienes un monton de librerias con extensión .jar y lo que quieres es encontrar una clase entre todos esos archivos. ¿Que haces?

Generalmente si la librería esta perfecatmente documentada es fácil de ubicar, en caso contrario se convierte en una pesadilla. Esto en SAP esta completamente restringido y hay poca información, encontré una magnifica herramienta que me ayudo a buscar lo que necesitaba, se llama jar-explorer es una aplicación  de código abierto escrita en Java que te permite buscar dentro de múltiples archivos, incluso si están anidados recursivamente en carpetas.

Es muy sencilla de utilizar y gracias a ella puedo raestrear las clases de que necesito en SAP 🙂

jar-explorer

jar-explorer

Referencias

Saludos