This blog contains experience gained over the years of implementing (and de-implementing) large scale IT applications/software.

HowTo: Extract SAP PI/PO Message Payload from SAP ASE DB

Sometimes you may need to directly the extract the SAP PO message payload from the underlying database tables such as BC_MSG_LOG in SAP ASE 16.0 database.
This could also potentially be called: extracting hex encoded ASCII data from an ASE image column. Because the SAP PO tables use an ASE image data type to store the payload as an off-row LOB.

There are plenty of examples for doing this extraction in Oracle, but in ASE it is not so easy because the message size could be larger than that supported by the page size of ASE (usually 16k in an ASE for BusSuite).
This means you won’t be able to store it into a T-SQL variable and use the ASE functions.

Instead, we can use the below simple approach to extract the raw hex, and then use Python 2 to convert it to ASCII:

1, Execute the selection SQL using isql at the Linux command prompt on the database server:

isql -USAPSR3DB -S<SID> -w999 -X

select MSG_BYTES
from [SAPSR3DB.BC_MSG_LOG]
where MSG_ID='<YOUR MSG ID>'
and DIRECTION='OUTBOUND'
and LOG_LOCATION='MS'

go

The output will consist of hexadecimal output, which starts with “0x” and should look something like this:

0x2d2d5341505f6

Copy & paste into a text file on the Linux server (use your favourite text editor) and call the file data.txt.

Edit the data.txt file and remove the first “0x” characters from the data.
Remove all newlines and carriage returns in the file.

Now create a simple Python script to read the data from our file data.txt and translate from hex to ASCII then print to the screen:

with open('data.txt', 'r') as file:
    data = file.read()
print data.decode('hex')

Run the Python script:

python ./myscript.py

The output should contain a header and a footer which start with:  “–SAP_”.
If you get an error from the Python script, then it could be because there are additional newlines or carriage returns in the data.txt file.

SAP PO 7.31 SPS14 JCO NoSuchMethodError

Scenario: We had an outbound interface from SAP PO which was an iDoc being sent to a SAP ABAP stack via HTTP, in the message monitoring log we saw:

javax.ejb.EJBException: nested exception is:
java.lang.RuntimeException:
java.lang.NoSuchMethodError:
com.sap.conn.jco.rt.ClientConnection.execute(Lcom/sap/conn/jco/JCoFunction;Ljava/lang/String;Ljava/lang/String;Lcom/sap/conn/jco/JCoRepository;)V

The message is retried and eventually set to NDLG.

The PO system was a fresh install of PO 7.31, then patched to base SPS13, then we had applied the base 7.31 SPS14 along with the available patches at the time.
During the error, we had the following component levels:

Name    Vendor Location               Version
AJAX-RUNTIME                sap.com               SAP AG 1000.7.31.14.1.20141205212300
BASETABLES       sap.com               SAP AG 1000.7.31.14.0.20141003215100
BI-BASE-B            sap.com               SAP AG 1000.7.31.14.0.20141004141500
BI-BASE-E            sap.com               SAP AG 1000.7.31.14.0.20141004141500
BI-BASE-S            sap.com               SAP AG 1000.7.31.14.0.20141004141500
BI-WDALV           sap.com               SAP AG 1000.7.31.14.0.20141003224600
BI-WDEXT            sap.com               SAP AG 1000.7.31.14.1.20141203045500
BI_UDI  sap.com               SAP AG 1000.7.31.14.0.20141004131400
BPEM-ACC          sap.com               SAP AG 1000.7.31.14.0.20141004155400
BPEM-BASE        sap.com               SAP AG 1000.7.31.14.0.20141004155400
BPEM-BASIS       sap.com               SAP AG 1000.7.31.14.0.20141004155400
BPEM-BUILDT    sap.com               SAP AG 1000.7.31.14.0.20141115023900
BPEM-COLLAB   sap.com               SAP AG 1000.7.31.14.0.20141004155400
BPEM-CONTENT               sap.com               SAP AG 1000.7.31.14.0.20141004155400
BPEM-CORE       sap.com               SAP AG 1000.7.31.14.1.20141203045700
BPEM-CUUI        sap.com               SAP AG 1000.7.31.14.0.20141004155400
BPEM-FACADE  sap.com               SAP AG 1000.7.31.14.1.20141203045700
BPEM-HIM          sap.com               SAP AG 1000.7.31.14.1.20141203045700
BPEM-MM          sap.com               SAP AG 1000.7.31.14.1.20141203012000
BPEM-MON       sap.com               SAP AG 1000.7.31.14.0.20141004155400
BPEM-PP             sap.com               SAP AG 1000.7.31.14.1.20141129055000
BPEM-WDUI      sap.com               SAP AG 1000.7.31.14.1.20141129055000
BRMS-BASE        sap.com               SAP AG 1000.7.31.14.0.20141004130900
BRMS-BUILDT    sap.com               SAP AG 1000.7.31.14.0.20141004130900
BRMS-CORE       sap.com               SAP AG 1000.7.31.14.0.20141004155400
BRMS-FACADE  sap.com               SAP AG 1000.7.31.14.0.20141004155400
BRMS-MON       sap.com               SAP AG 1000.7.31.14.0.20141004155400
BRMS-WDUI      sap.com               SAP AG 1000.7.31.14.0.20141004155400
CAF        sap.com               SAP AG 1000.7.31.14.0.20141004102100
CAF-MF                sap.com               SAP AG 1000.7.31.14.0.20141004102100
CAF-UI  sap.com               SAP AG 1000.7.31.14.0.20141004160600
CFG_ZA                sap.com               SAP AG 1000.7.31.14.0.20141003215100
CFG_ZA_CE        sap.com               SAP AG 1000.7.31.14.0.20141003215100
COLLAB-ADP      sap.com               SAP AG 1000.7.31.14.0.20141004155400
COMP_BUILDT  sap.com               SAP AG 1000.7.31.14.0.20141004104600
CORE-TOOLS      sap.com               SAP AG 1000.7.31.14.1.20141205212100
CU-BASE-JAVA  sap.com               SAP AG 1000.7.31.14.0.20141004130900
CU-BASE-WD     sap.com               SAP AG 1000.7.31.14.0.20141004155400
CU-BASE-WD-EXT            sap.com               SAP AG 1000.7.31.14.0.20141004155400
CU-WD4VC-ADPT            sap.com               SAP AG 1000.7.31.14.0.20141004155400
DATA-MAPPING              sap.com               SAP AG 1000.7.31.14.0.20141004130900
DI_CLIENTS         sap.com               SAP AG 1000.7.31.14.1.20141202210100
ECM-ADMIN      sap.com               SAP AG 1000.7.31.14.0.20141003223800
ECM-APPS          sap.com               SAP AG 1000.7.31.14.0.20141003223800
ECM-CORE          sap.com               SAP AG 1000.7.31.14.0.20141003223800
ECM-JEE-COMP                sap.com               SAP AG 1000.7.31.14.0.20141003223800
ECM-STORE        sap.com               SAP AG 1000.7.31.14.0.20141003223800
ENGFACADE       sap.com               SAP AG 1000.7.31.14.1.20141209182400
ENGINEAPI         sap.com               SAP AG 1000.7.31.14.1.20141130172400
EP-ADMIN          sap.com               SAP AG 1000.7.31.14.1.20141129031400
EP-BASIS              sap.com               SAP AG 1000.7.31.14.2.20141206030600
EP-BASIS-API     sap.com               SAP AG 1000.7.31.14.1.20141130182700
EP-CONNECTIVITY           sap.com               SAP AG 1000.7.31.14.0.20141004132200
EP-MODELING  sap.com               SAP AG 1000.7.31.14.0.20141004132200
EP-RUNTIME      sap.com               SAP AG 1000.7.31.14.0.20141014084300
EP_BUILDT          sap.com               SAP AG 1000.7.31.14.0.20141004104600
ESCONF_BUILDT              sap.com               SAP AG 1000.7.31.14.0.20141004104600
ESI-UI    sap.com               SAP AG 1000.7.31.14.0.20141004155100
ESMP_BUILDT   sap.com               SAP AG 1000.7.31.14.1.20141126014600
ESP_FRAMEWORK          sap.com               SAP AG 1000.7.31.14.0.20141004125900
ESREG-BASIC     sap.com               SAP AG 1000.7.31.14.0.20141004125900
ESREG-SERVICES              sap.com               SAP AG 1000.7.31.14.0.20141004125900
FP-INFRA             sap.com               SAP AG 1000.7.31.14.0.20141003215100
FRAMEWORK    sap.com               SAP AG 1000.7.31.14.0.20141003215100
FRAMEWORK-EXT           sap.com               SAP AG 1000.7.31.14.1.20141206024600
GWJPO sap.com               SAP AG 1000.7.31.14.0.20141004125900
INTG_VIS            sap.com               SAP AG 1000.7.31.14.0.20141004125900
INTG_VIS_DCJ  sap.com               SAP AG 1000.7.31.14.0.20141004125900
J2EE-APPS           sap.com               SAP AG 1000.7.31.14.1.20141125210900
J2EE-FRMW        sap.com               SAP AG 1000.7.31.14.1.20141202210000
JSPM     sap.com               SAP AG 1000.7.31.14.0.20141008191000
KM-KW_JIKS      sap.com               SAP AG 1000.7.31.14.0.20141004131400
LM-CORE             sap.com               SAP AG 1000.7.31.14.2.20141202210000
LM-CTS sap.com               SAP AG 1000.7.31.14.0.20141003224600
LM-CTS-UI          sap.com               SAP AG 1000.7.31.14.0.20141003215100
LM-MODEL-BASE             sap.com               SAP AG 1000.7.31.14.0.20141003224600
LM-MODEL-NW                sap.com               SAP AG 1000.7.31.14.0.20141003224600
LM-SLD sap.com               SAP AG 1000.7.31.14.2.20141202215500
LM-TOOLS           sap.com               SAP AG 1000.7.31.14.0.20141004160100
LMCFG sap.com               SAP AG 1000.7.31.14.1.20141125220400
LMCTC  sap.com               SAP AG 1000.7.31.14.0.20141015180600
LMNWABASICAPPS        sap.com               SAP AG 1000.7.31.14.1.20141128223100
LMNWABASICCOMP      sap.com               SAP AG 1000.7.31.14.1.20141128223100
LMNWABASICMBEAN   sap.com               SAP AG 1000.7.31.14.1.20141209214200
LMNWACDP       sap.com               SAP AG 1000.7.31.14.1.20141128221700
LMNWATOOLS  sap.com               SAP AG 1000.7.31.14.0.20141004160100
LMNWAUIFRMRK            sap.com               SAP AG 1000.7.31.14.1.20141128221700
MESSAGING      sap.com               SAP AG 1000.7.31.14.1.20141206023400
MMR_SERVER   sap.com               SAP AG 1000.7.31.14.0.20141004131400
MOIN_BUILDT  sap.com               SAP AG 1000.7.31.14.0.20141003215000
NWTEC sap.com               SAP AG 1000.7.31.14.0.20141003224600
ODATA-CXF-EXT               sap.com               SAP AG 1000.7.31.14.0.20141003224600
PI-SCP-BUILDT  sap.com               SAP AG 1000.7.31.14.1.20141203013100
PI-SCP-EXT          sap.com               SAP AG 1000.7.31.14.0.20141004125900
PIB2BAS2             sap.com               SAP AG 1000.1.0.4.0.20140929051300
PIB2BOFTP          sap.com               SAP AG 1000.1.0.4.0.20140929051300
PIB2BPGP            sap.com               SAP AG 1000.1.0.4.0.20140929051300
PIB2BSFTP           sap.com               SAP AG 1000.1.0.4.6.20141210073300
PIB2BTOOLKIT   sap.com               SAP AG 1000.1.0.4.1.20141001051200
PIB2BX400           sap.com               SAP AG 1000.1.0.4.0.20140929051300
SAP-XI3RDPARTY             sap.com               SAP AG 1000.7.31.1.0.20110918004000
SAP_BUILDT       sap.com               SAP AG 1000.7.31.14.0.20141003215000
SAP_XIADMIN  sap.com               SAP AG 1000.7.31.14.0.20141004155100
SAP_XIAF            sap.com               SAP AG 1000.7.31.14.2.20141210010200
SAP_XIESR          sap.com               SAP AG 1000.7.31.14.0.20141004125900
SAP_XIGUILIB   sap.com               SAP AG 1000.7.31.14.1.20141201183500
SAP_XITOOL      sap.com               SAP AG 1000.7.31.14.1.20141203013100
SEA-CORE            sap.com               SAP AG 1000.7.31.14.1.20141126010300
SEA-FACADE      sap.com               SAP AG 1000.7.31.14.0.20141004114500
SEA-UI  sap.com               SAP AG 1000.7.31.14.0.20141004144200
SECURITY-EXT    sap.com               SAP AG 1000.7.31.14.0.20141003215100
SERVERCORE      sap.com               SAP AG 1000.7.31.14.1.20141209203300
SERVICE-COMP sap.com               SAP AG 1000.7.31.14.0.20141004130900
SOAMON            sap.com               SAP AG 1000.7.31.14.1.20141126050100
SOAMONBASIC                sap.com               SAP AG 1000.7.31.14.2.20141203045500
SR-UI     sap.com               SAP AG 1000.7.31.14.0.20141004155100
SUPPORTTOOLS               sap.com               SAP AG 1000.7.31.14.0.20141003215100
SWLIFECYCL        sap.com               SAP AG 1000.7.31.14.0.20141004160100
THL-CORE            sap.com               SAP AG 1000.7.31.14.0.20141004155400
TM-WLUI             sap.com               SAP AG 1000.7.31.14.1.20141203045700
UDDI     sap.com               SAP AG 1000.7.31.14.0.20141004125900
UISAPUI5_JAVA               sap.com               SAP AG 1000.7.31.14.1.20141202210100
UKMS_JAVA      sap.com               SAP AG 1000.7.31.14.0.20141004155100
UMEADMIN       sap.com               SAP AG 1000.7.31.14.1.20141202215500
UWLJWF              sap.com               SAP AG 1000.7.31.14.0.20141004141500
VCBASE                sap.com               SAP AG 1000.7.31.14.0.20141004124600
VCCORERT          sap.com               SAP AG 1000.7.31.14.0.20141004124600
VCFRAMEWORK               sap.com               SAP AG 1000.7.31.14.0.20141004124600
VCFREESTYLEKIT               sap.com               SAP AG 1000.7.31.14.0.20141004124600
VCKITBI                sap.com               SAP AG 1000.7.31.14.1.20141203045500
VTP_BUILDT       sap.com               SAP AG 1000.7.31.14.0.20141004104600
WD-ADOBE         sap.com               SAP AG 1000.7.31.14.0.20141003222100
WD-APPS            sap.com               SAP AG 1000.7.31.14.0.20141004101100
WD-FLEX              sap.com               SAP AG 1000.7.31.14.0.20141003222100
WD-RUNTIME   sap.com               SAP AG 1000.7.31.14.2.20141205215300
WD-RUNTIME-EXT          sap.com               SAP AG 1000.7.31.14.0.20141004101100
WDEXTENSIONS               sap.com               SAP AG 1000.7.31.14.1.20141203040100
WSRM  sap.com               SAP AG 1000.7.31.14.0.20141004125900
XI_CNT_SAP_BASIS        sap.com               SAP AG 1000.7.31.14.0.20141004125900

We then downloaded the following patches and applied with SUM:

Name    Version                Current                PatchedLevel
AJAX-RUNTIME                1000.7.31.14.1.20141205212300 1              2
CORE-TOOLS      1000.7.31.14.1.20141205212100 1              2
ENGINEAPI         1000.7.31.14.1.20141130172400 1              2
EP-BASIS              1000.7.31.14.2.20141206030600 2              4
FRAMEWORK    1000.7.31.14.0.20141003215100 0              1
FRAMEWORK-EXT           1000.7.31.14.1.20141206024600 1              2
GWJPO 1000.7.31.14.0.20141004125900 0              1
J2EE-APPS           1000.7.31.14.1.20141125210900 1              4
J2EE-FRMW        1000.7.31.14.1.20141202210000 1              3
LM-CORE             1000.7.31.14.2.20141202210000 2              3
LM-CTS 1000.7.31.14.0.20141003224600 0              1
MESSAGING      1000.7.31.14.3.20150105182200
ODATA-CXF-EXT               1000.7.31.14.0.20141003224600 0              1
SAP_XIAF            1000.7.31.14.4.20150105182200
SAP_XIESR          1000.7.31.14.2.20150107011100
SAP_XIGUILIB   1000.7.31.14.1.20141201183500 1              2
SAP_XITOOL      1000.7.31.14.1.20141203013100 1              2
SERVERCORE      1000.7.31.14.1.20141209203300 1              5
SOAMON            1000.7.31.14.1.20141126050100 1              3
SUPPORTTOOLS               1000.7.31.14.0.20141003215100 0              1
WD-RUNTIME   1000.7.31.14.2.20141205215300 2              4

This fixed the issue.