Posted: Sat Nov 17, 2007 6:54 pm Post subject: Automatic SRM/PST client/test client transport landscape
Implementation of an automatic SRM/PST golden client/test client transport landscape
Code:
*&---------------------------------------------------------------------*
*& Module pool ZMODTRP *
*& *
*&---------------------------------------------------------------------*
*& *
*& *
*&---------------------------------------------------------------------*
PROGRAM ZMODTRP.
* INCLUDE ZMODIO01. " PBO-Modules *
* INCLUDE ZMODII01. " PAI-Modules *
* INCLUDE ZMODIF01. " FORM-Routines *
*&---------------------------------------------------------------------*
*& Module INIT_NUM OUTPUT
*&---------------------------------------------------------------------*
* text *
*----------------------------------------------------------------------*
MODULE INIT_NUM OUTPUT.
DATA: CRNUM(6).
DATA: RBUT1, RBUT2.
CLEAR CRNUM.
ENDMODULE. " INIT_NUM OUTPUT
*&---------------------------------------------------------------------*
*& Module PROCESS INPUT
*&---------------------------------------------------------------------*
* text *
*----------------------------------------------------------------------*
MODULE PROCESS INPUT.
DATA: CRN(50), N TYPE I.
CASE SY-UCOMM.
WHEN 'OK'.
CRN = 'BO4K'. CRN+4(6) = CRNUM.
IF RBUT1 = 'X'.
CRN+11(3) = 'SRM'.
ELSE.
CRN+11(3) = 'PTS'.
ENDIF.
CRN+15(3) = SY-SYSID.
CRN+19(3) = SY-MANDT.
CRN+23(8) = SY-UNAME.
CRN+32(8) = SY-DATUM.
CRN+41(6) = SY-UZEIT.
IF CRNUM IS INITIAL.EXIT.ENDIF.
N = STRLEN( CRNUM ).
IF N < 6.EXIT.ENDIF.
IF ( CRNUM CN '1234567890' ).EXIT.ENDIF.
OPEN DATASET '/usr/sap/trans/autotransport/data/request_list'
FOR APPENDING IN TEXT MODE.
TRANSFER CRN TO '/usr/sap/trans/autotransport/data/request_list'.
CLOSE DATASET '/usr/sap/trans/autotransport/data/request_list'.
WHEN 'EXIT'.
SET SCREEN 0.LEAVE SCREEN.
ENDCASE.
ENDMODULE. " PROCESS INPUT
UNIX SCRIPT:
Code:
#!/bin/ksh
#
# This script transports the change requests listed in
# /usr/sap/trans/autotransport/data/request_list.
# If the second field is SRM : to BBB client 31,41,51.
# If the second field is PTS : to BBB client 31,51.
# The script is scheduled in the crontab to run in every 5 minutes.
# First it checks whether another instance of it is running.
# Then it checks wheter the the request_list exists or not.
# Then it moves request_list to ../save/request_list.timestamp
# and to ../tmp/request_list.
# Afterwards it creates the TP script from ../tmp/request_list
# and runs it. The TP script is called ../tmp/tpscrpt.
# The TP log is created in ../log/log.timestamp.
# The TP script has lines like these:
# "tp delfromboffer crnumber"
# "tp addtobuffer crnumber"
# "tp import crnumber client..."
# At the end the script deletes everything under ../tmp
#
#
#
timestmp=`date +%y%m%d.%H%M%S`
requfile=/usr/sap/trans/autotransport/data/request_list
tempfile=/usr/sap/trans/autotransport/temp/request_list
log_file=/usr/sap/trans/autotransport/log/log.$timestmp
tpscript=/usr/sap/trans/autotransport/temp/tpscrpt
savefile=/usr/sap/trans/autotransport/save/request_list.$timestmp
#
if [[ -a $tempfile ]]
then exit
fi
#
if [[ -a $requfile ]]
then :
else
exit
fi
print CHANGE REQUESTS FOUND at $(date +'%D %T') > $log_file
cat $requfile >> $log_file
mv $requfile $tempfile
wait
cp $tempfile $savefile
#
echo "cd /usr/sap/trans/bin" > $tpscript
cat $tempfile|awk '{
if ( $2 == "SRM" )
print "/sapmnt/BBB/exe/tp delfrombuffer "$1" BBB\n" \
"/sapmnt/BBB/exe/tp addtobuffer "$1" BBB\n" \
"/sapmnt/BBB/exe/tp import "$1" BBB client031 u1\n" \
"/sapmnt/BBB/exe/tp delfrombuffer "$1" BBB\n" \
"/sapmnt/BBB/exe/tp addtobuffer "$1" BBB\n" \
"/sapmnt/BBB/exe/tp import "$1" BBB client041 u1\n" \
"/sapmnt/BBB/exe/tp delfrombuffer "$1" BBB\n" \
"/sapmnt/BBB/exe/tp addtobuffer "$1" BBB\n" \
"/sapmnt/BBB/exe/tp import "$1" BBB client051 u1"
if ( $2 == "PTS" )
print "/sapmnt/BBB/exe/tp delfrombuffer "$1" BBB\n" \
"/sapmnt/BBB/exe/tp addtobuffer "$1" BBB\n" \
"/sapmnt/BBB/exe/tp import "$1" BBB client031 u1\n" \
"/sapmnt/BBB/exe/tp delfrombuffer "$1" BBB\n" \
"/sapmnt/BBB/exe/tp addtobuffer "$1" BBB\n" \
"/sapmnt/BBB/exe/tp import "$1" BBB client051 u1" \
}' >> $tpscript
#
chmod 777 $tpscript
su - bbbadm -c "/usr/sap/trans/autotransport/temp/tpscrpt" >> $log_file 2>&1
#
rm -f $tpscript
rm -f $tempfile
You cannot post new topics in this forum You cannot reply to topics in this forum You cannot edit your posts in this forum You cannot delete your posts in this forum You cannot vote in polls in this forum You cannot attach files in this forum You can download files in this forum
All product names are trademarks of their respective companies. SAPNET.RU websites are in no way affiliated with SAP AG. SAP, SAP R/3, R/3 software, mySAP, ABAP, BAPI, xApps, SAP NetWeaver and any other are registered trademarks of SAP AG. Every effort is made to ensure content integrity. Use information on this site at your own risk.