Latest Updates

SAP : SUM (Software Update Manager) 1.0 SP9

SAP software has evolution of their product. SAP SUM (software Update Manager) check consistency of planned change and technical system where the change should be changed

SUM Process Overview Reports contains :

  • Information about stack configuration file (stack.xml) and acrhives in download directory.
  • Software component version and product structure changes
  • Statistic about performance and downtime
here sample about SUM Process report











Starting SUM
when you run SUM, you must logon as <sid>adm
before use SUM package, you must download SUM10SP09_0-20006681.SAR from http://service.sap.com










to be continued

SPAM 7.02 - Error TP_FAILURE IMPORT_PHASE


today, we want to patch out SPAM, because it's prerequisites before we upgrade our system prior latest version.

we got error TP_FAILIRE at IMPOR_PHASE, what we do ??
Go to log from TP, you can go to /usr/sap/trans/log, and find P<year><month><date>.<SID>, in this case we have P131108.ASM and we got error

2EETP345 19:33:27: Retcode 1: SQL-error "1157-ORA-01157: cannot identify/lock data file 201 - see D
2EETP345 BWR trace file
2EETP345 ORA-01110: data file 201: '/oracle/ASM/sapdata1/temp_1/temp.data1'" in DDL statement for "
2EETP345 PATHISTQ                      "

before we check this log, we already update our TP and R3Trans to Global/Local Kernel

from those log, we check at filesystem /oracle/ASM/sapdata1/, but we could not found that file :-(

lets fix this :

#1 Drop temp_1 datafile and check status of temp_1 datafile

SQL> select file#,status,name from v$tempfile;

     FILE# STATUS
---------- -------
NAME
--------------------------------------------------------------------------------
         1 ONLINE
/oracle/ASM/sapdata1/temp_1/temp.data1


SQL> select tablespace_name,file_name from dba_temp_files;
select tablespace_name,file_name from dba_temp_files
                                      *
ERROR at line 1:
ORA-01157: cannot identify/lock data file 201 - see DBWR trace file
ORA-01110: data file 201: '/oracle/ASM/sapdata1/temp_1/temp.data1'


SQL> select * from v$tempfile;

     FILE# CREATION_CHANGE# CREATION_TIME          TS#     RFILE# STATUS
---------- ---------------- --------------- ---------- ---------- -------
ENABLED         BYTES     BLOCKS CREATE_BYTES BLOCK_SIZE
---------- ---------- ---------- ------------ ----------
NAME
--------------------------------------------------------------------------------
         1             3533 31-OCT-13                3          1 ONLINE
READ WRITE          0          0   1268776960       8192
/oracle/ASM/sapdata1/temp_1/temp.data1


SQL> select file#,status,name from v$tempfile;

     FILE# STATUS
---------- -------
NAME
--------------------------------------------------------------------------------
         1 ONLINE
/oracle/ASM/sapdata1/temp_1/temp.data1


SQL> alter database tempfile '/oracle/ASM/sapdata1/temp_1/temp.data1' drop;

Database altered.

SQL> select file#,status,name from v$tempfile;
no rows selected

#2 Add new temp datafile
SQL> ALTER TABLESPACE PSAPTEMP add tempfile '/oracle/ASM/sapdata1/temp_2/temp.data2' size 10G;

Tablespace altered.

SQL>
SQL> select file#,status,name from v$tempfile;

     FILE# STATUS
---------- -------
NAME
--------------------------------------------------------------------------------
         1 ONLINE
/oracle/ASM/sapdata1/temp_2/temp.data2


SQL> select tablespace_name,file_name from dba_temp_files;

TABLESPACE_NAME
------------------------------
FILE_NAME
--------------------------------------------------------------------------------
PSAPTEMP
/oracle/ASM/sapdata1/temp_2/temp.data2

REMEMBER : before adding temp_2 datafile, you must create temp_2 directory below /oracle/ASM/sadpata1

Cheers!! we can continue SPAM again

Get Dollars from Internet

Get Dollars from Internet
You want to get additional revenue by search engine?

Many ways towards Roma, and a lots of opportunities for your tested.

i will try to share some thoughts that your blog can get dollars.

Create a simple page with content about free download (file, music, etc), e.g. Free Download Film, upload files to free web hosting, so you can get the download link and paste in your blog.

you can try adf.ly (click here) for getting dollars, click JOIN NOW, fill registration as usual.



before you put your URL which reference to your file, you need register to Free webhosting to keep your file that will be shared, you can use ziddu (click here)

for example : i upload file about SAP Web Page Composer, you can clik http://adf.ly/UBS6U , this file already upload at ziddu (click here) and enjoy ziddu!!


Oracle : Problem PSAPTEMP

Today, we already finished clone SAP Production which is will be tested to Functional team, after we decide to let Functional team, we got problem when we want to extend TABLESPACE.

we run BRtools to extend TABLESPACE, but in the middle processing we got issues there is a temp datafile does not exist when we restore database, we check again our backup and we did not find temp datafile.

here the error message:
ORA-01157: cannot identify/lock data file 255 - see DBWR trace file
and we follow the detail error, the Oracle said that temp.data1 does not exist at Oracle Data  ( /oracle/SID/sapdata1/temp_1/temp.data1 )

In this case, our oracle in Open condition and we can access SAP.

We try to check at Oracle Level






SQL> select * from v$tempfile;

     FILE# CREATION_CHANGE# CREATION_TIME          TS#     RFILE# STATUS
---------- ---------------- --------------- ---------- ---------- -------
ENABLED         BYTES     BLOCKS CREATE_BYTES BLOCK_SIZE
---------- ---------- ---------- ------------ ----------
NAME
--------------------------------------------------------------------------------
         1             6043 17-JUN-10                3          1 ONLINE
READ WRITE          0          0   1468006400       8192
/oracle/BMP/sapdata1/temp_1/temp.data1

         2        851216007 12-AUG-11                3          2 ONLINE
READ WRITE 8589934592    1048576   8589934592       8192
/oracle/BMP/sapdata1/temp_2/temp.data2

     FILE# CREATION_CHANGE# CREATION_TIME          TS#     RFILE# STATUS
---------- ---------------- --------------- ---------- ---------- -------
ENABLED         BYTES     BLOCKS CREATE_BYTES BLOCK_SIZE
---------- ---------- ---------- ------------ ----------
NAME
--------------------------------------------------------------------------------

One simple idea is we try to Alter Database and reuse (create temp data file).
SQL> alter tablespace PSAPTEMP add tempfile '/oracle/BMP/sapdata1/temp_1/temp.data1' size 1468006400 reuse autoextend off;
alter tablespace PSAPTEMP add tempfile '/oracle/BMP/sapdata1/temp_1/temp.data1' size 1468006400 reuse autoextend off
*
ERROR at line 1:
ORA-01537: cannot add file '/oracle/BMP/sapdata1/temp_1/temp.data1' - file
already part of database
But, it does not work :-( , Oracle still check at v$tempdatafile;

Ok lets we try to drop and re-create temp data file .

SQL> alter tablespace PSAPTEMP drop tempfile '/oracle/BMP/sapdata1/temp_1/temp.data1';

Tablespace altered.

SQL> alter tablespace PSAPTEMP add tempfile '/oracle/BMP/sapdata1/temp_1/temp.data1' size 8192M;

Tablespace altered.

Great!!! it works and we can extend tablespace.













SSO Ways : SAPLogonTicket & User Mapping

SSO Ways : SAPLogonTicket & User Mapping
Many System in SAP environment, we need to create simple communication between SAP product, in this case if we want to integrate between SAP ECC and SAP EP, we can use SSO method for easy communcation

in many case, we can divide SSO method with 2 main ways :
  1. SSO with SAPLogonTicket, in this way, we need generate  Certificate between two systems and exchange both certificate, this method is recommended by SAP
  2. SSO with User Mapping, in this way we need map user at SAP EP with user at SAP ECC, so SSO will work together.
So, in many case the simpler administration SSO with SAPLogonTicket is best method, but if we want to test some users we can use SSO with user mapping

so, go with your option.

SSL Thawte and AS ABAP

We have small requirement for our AS ABAP for SSL implementation, we need this because we need Secure Coomunication between backend (ECC) and SAP EP (AS JAVA).

For our customer side, they are already buy Public Key from Thawte Inc and we can directly assign in their system (Non SAP and SAP).

First of all, we need Public Key (zip file) from Our customer , password of Public Key so we can deploy at Our SAP system.

Lets start it

  1. if we chek at ABAP with transaction code STRUST, we dont configure SSL anything!!!
  2. Please download sapgenpse,libcrypto.so from http://service.sap.com based on your OS
  3. Please ask the customer, we need Public Key from Thawte for example xxxsslkey.p12
How to assign this to our SAP
  1. After download sapgenpse, libcrypto.so from SMP, you have to copy both files to /usr/sap/SID/DVEBMGS00/sec
  2. Copy xxxsslkey.p12 to /usr/sap/SID/DVEBMGS00/sec
  3. please make sure this environment configured, if not you can set now by :
    1. #export LIBPATH=/usr/sap/SID/DVEBMGS00/sec
    2. #export SECUDIR=/usr/sap/SID/DVEBMGS00/sec
      In our case, we did not generate PSE, because PSE will be generated when we execute command use sapgenpse
  • In the console you need run this command
#export SECUDIR=/usr/sap/SID/DVEBMGS00/sec
#./sapgenpse import_p12 -p /usr/sap/SID/DVEBMGS00/sec/SAPSSLC.pse /usr/sap/SID/DVEBMGS00/sec/xxxsslkey.p12
after you execute those command, you will receive this

import_p12: MISSING password for PKCS#12 file "/usr/sap/DEV/DVEBMGS00/sec/axisworld.p12"

Please enter PKCS#12 encryption  password: *************
PKCS#12/PFX file contains 1 keypair:
You have to put xxxsslkey.p12 password (ask the customer or Thawte consultan) , after you put the password you receive the message

1. FriendlyName = "<none>"

     X.509v3 (type=Both) RSA-2048 (signed with sha1WithRsaEncryption)

     Subject="CN=*.domain.co.id, OU=IT, O=Company, L=Jakarta Selatan, SP=DKI Jakarta, C=ID"

     Issuer ="CN=Thawte SSL CA, O="Thawte, Inc.", C=US"



Choose a PIN for your new PSE "/usr/sap/SID/DVEBMGS00/sec/SAPSSLC.pse"

Please enter PIN: *************


Please reenter PIN: ************* 

PIN, you need put PIN here, PIN is free, you  can fill anything, its best idea, same with password.
In this step we already create PSE (please check at SAPSSL.pse at that directory), but we are not finish yet....

We need generate cred_v2 for running SSL at particular port (for example 8001 by user root)

please run this command by user root.

we need add user <sid>adm which can run SSL at particulat port.

#./sapgenpse seclogin -p SAPSSL.pse -x <PIN> -O <sid>adm
after you can run this command, you will receive

running seclogin with USER="root"
creating credentials for secondary user "<sid>adm" ...
Added SSO-credentials for PSE "/usr/sap/SID/DVEBMGS00/sec/SAPSSLC.pse"
"CN="
after successfully runned, you need check file cred_v2, you must see file cred_v2

OK...in this case, we almost done..

back to SAP gui, please restart services SSL by tcode SMICM and make sure you have configured this parameters :
  1. ssl/server_pse has value /usr/sap/SID/DVEBMGS00/sec/SAPSSLC.pse
  2. ssf/ssfapi_lib has value /usr/sap/SID/SYS/exe/run/libsapcrypto.o
  3. sec/libsapsecu has value /usr/sap/SID/SYS/exe/run/libsapcrypto.o
  4. ssl/ssl_lib has value /usr/sap/SID/SYS/exe/run/libsapcrypto.o
  5. ssf/name has value SAPSECULIB
If you check at SMICM, you will see like this message









Done..enjoy the SSL.

FTP Script Automatically : UNIX

FTP Script Automatically : UNIX
1 Month a go, we already passed our SAP Implementation (All Modules), there are some requirement for BASIS to support project from setting printer, setting user ID, setting Role.

In this case, we need to develop interface between SAP and FTP server to upload PO Document when user run Z Report automatically.

ABAPer already develop Z Report for creating PO document and in last line will call our UNIX automatically.

So, let begin develop FTP Script, we devide 3 bash shell scripts:
  1. Precheck Condition for FTP , we call sftp.sh
  2. FTP script for transfering file and moving , we call sftp_next.sh
  3. Batchmode for Uploading File, we call batchcmd

sftp.sh
lv_base="/usr/users/interfac/XX/outbound/outboundlog"
lv_batch="/usr/users/interfac/XX/outbound"
lv_c=`ls -ltr $lv_batch | grep -i XX | wc -l`

if [ $lv_c == 0 ]
then
echo "No Files for FTP or Has been transfered" $(/bin/date +%m-%d-%Y) >> $lv_base/no_transfer_$(/bin/date +%m-%d-%Y).txt
else
# In this case, we use Port Secure(31) instead of SFTP
/usr/bin/ftp -n <ipadressFTPserver> 31 < $lv_batch/batchcmd >> $lv_base/sftp_log_$(/bin/date +%m-%d-%Y-%H:%M:%S).txt
sleep 5
/usr/users/interfac/XX/outbound/sftp_next.sh
fi
 
sftp_next.sh
lv_direk="/usr/users/interfac/XX/outbound/outboundlog"
lv_log=$lv_direk/move_file_$(/bin/date +%m-%d-%Y-%H:%M:%S).txt
lv_base="/usr/users/interfac/XX/outbound"

mv /usr/users/interfac/XX/outbound/XX* $lv_direk
echo "Copy or Move File" $lv_file "Success" >> $lv_log
batchcmd : Sequence command, core of FTP script
batchcmd
user
user password
prompt
lcd /usr/users/interfac/XX/outbound/
mput XX*
pwd
bye

So, we already create UNIX script, lets we move to ABAP Code
here, we add some line ABAP code for call UNIX script
 
**  Unix Command
data: UNIXCOMM(50).
DATA: BEGIN OF ITABA occurs 0,
      LINE(200),
      end of ITABA.

*-- Unix Command to call a ftp script in unix
    unixcomm = '/bin/sh /usr/users/interfac/XX/outbound/sftp.sh'.
    call 'SYSTEM' id 'COMMAND' field  UNIXCOMM
       id 'TAB'   field  ITABA-*SYS*.

    MESSAGE i001(aq) WITH 'File Successfully Transferred'.

Done..Good Luck for your ABAP code