Posts

Showing posts with the label r3

Dealing with Common Memory-Related ABAP Short Dumps

Image
ABAP Dumps are one of the basic means of troubleshooting system issues. Here are some commonly occurring memory related short dumps and how to deal with these dumps. Dumps starting with TSV_TNEW_ When a work process requests for memory , the allocation is first from "Extended Memory" based on profile parameters 'roll_extension' and 'initial_size_MB' (in case of implementation variant UNIX_STD; or TOTAL_SIZE_MB in case of SHM_SEGS AIX). If the request for memory fails, memory allocation is attempted from "Private Memory" of the work process. If that allocation also fails, a runtime error "TSV_TNEW_ PAGE_ALLOC _FAILED" error is reported. The dump TSV_TNEW_BLOCKS_ NO_ROLL _MEMORY means that the roll buffer has been exhausted. Each transaction requires some main memory space to process application data. If the operating system cannot provide any more space, for example while initiating the memory for an internal table, the tra...

Evolution of SAP ERP Architecture in 11 Steps

Image
Understanding SAP ERP Architecture can be a daunting task for a beginner. An easy way out is to begin from the beginning and see how the architecture evolved. We will start with what problem SAP started off to solve how they ended up with SAP S/4 HANA  in 11 (biggish) steps: Computers taking over jobs.   SAP could have been an IBM company  Welcome to the world of Real-time Systems  Client and Server Revolution  Functional Modules, Industry Solutions and Technology Layer   SAP R/3 up to 4.6c, EnjoySAP and what happened to "SAP R/3 4.6D"   SAP R/3 Enterprise Enterprise Extensions   Integrating the business, MySAP ERP 2003 and SAP NetWeaver   ESoA, MySAP ERP 2004 and NetWeaver 2004   NetWeaver suites up and ECC is a switchboard   The next big thing in the evolution Computerization of Business Processes With the advent of computing technology, companies looked for opportunities to automate various business tasks, ins...

SAP ECC and Modules Explained in Simpler Terms

Image
SAP is the German company that owns these products which were started in the early 70s, roughly translated to systems, applications and products (in data processing). SAP is the global leader in Enterprise Resources Planning - the main system designed to store all data for across most (if not all) departments for any (large) corporation. An example is a retail store - has inventory, has product descriptions/prices/discounts, etc. vendors where product bought from, customers, sales for the day etc. now apply that to 1000s of products, millions of sales, hundreds of stores, multiples of vendors per product, 1000s of customers, etc etc. it generates an extremely large amount of data across various areas of the business - many accountants to look after the sales, a lot of HR/payroll to manage and schedule stuff, staff to manage inventory and delivery etc. And that's just one industry, SAPs core product, its ERP system, is called ECC6 and was previously called R/3 and some outda...

SAP Database Refresh - Noting trkorr field in the table E070L

Image
Before you begin the refresh activity, note down the current value of trkorr in the table E070L. This table has only one row and the field TRKORR contains the current transport number. After refresh, the transport request numbering will be changed creating a conflict with the already exported transports that are present in the file system. This is because the production system would have fewer released transport requests compared to QA. To avoid this conflict, you can note down the current request sequence held in E070L table and update it after the refresh. If you did not note the current request number, you may be able to find that out from the /usr/sap/trans/log/ALOG* file.

Archive Analysis of CO tables using RARCCOA1, RARCCOA2, RARCCOAA and RARCCOAP

Image
When you want to archive CO tables (COEP, COEJ, COSP, COSS, COST), there are several possible archive objects: CO_ALLO_ST CO_CCTR_PL CO_COSTCTR CO_ITEM CO_KSTRG CO_ORDER CO_PROCESS COPA2_* PM_ORDER PP_ORDER PR_ORDER PS_PROJECT RE_RNTL_AG SD_VBAK In order to choose the best archive object suitable to archive the data in your system, SAP has delivered the following programs: RARCCOA1 : Creates data extract for analysis of CO tables for archiving objects: CO_ITEM, CO_PROCESS, CO_KSTRG, RE_RNTL_AG, CO_COSTCTR, PS_PROJECT, CO_ORDER, PP_ORDER, PM_ORDER, PR_ORDER, SD_VBAK, COPA2_* RARCCOA2 : Evaluates the data extract from the report RARCCOA1 RARCCOAA : For analysis of CO tables for archiving object CO_ALLO_ST. RARCCOAP : For analysis of CO tables for archiving object CO_CCTR_PL. RARCCOA1 and RARCCOA2 Program RARCCOA1 counts the entries of required CO tables, assigns them explicitly to an archiving object and creates a data extract with the required information. ...

SAP S/4 HANA - Realtime and Simple

Image
SAP R/2 was the first highly stable solution released by SAP. "R" stood for real-time data processing and "2" stood for the two layers: presentation + integrated application & database. This was in late 70's, when companies were running their business applications on mainframes, and R/2 was apt with the existing technology. SAP R/2 marked the first generation of SAP's business solution. Then came SAP R/3 in the 90's, capitalizing on client-server architecture. "3" signified the three layer architecture (database, application and presentation). The separation of application layer from database layer reduced the load off database and helped improve the overall performance of the solution. This was immensely popular (second) generation of SAP's business solutions. One can attribute the success to Y2K and SAP R/3 fitting the business needs of most organizations looking to dodge Y2K paranoia. SAP was riding the wave of Y2K-led-success ...

SAP Memory Parameters Tuning - Part 1

Image
Roll and Extended Memory ztta/roll_first - This is the first area of memory assigned to a work process. This parameter is usually set to 1 as a technically necessity as the modern applications will end up using more memory than the first roll segment. Even if ztta/roll_first is set to 1, the minimum amount required for administrative data is allocated from roll memory. It is best to leave the parameter at 1. ztta/roll_extension - Further memory allocation to the work process is done from Extended Memory, after first roll segment is used up. ztta/roll_extension parameter determines how much memory can be used by a user context in the extended memory. In other words, this is the limit of the SAP Extended Memory for each work process. This is true in most cases, however, ztta/roll_extension is Extended Memory limit for a single "i-mode". Depending on the number of i-modes, normally up to 6, the value of maximum extended memory can raise up to 6*ztta/roll_extension theoret...

High Number of JOBLG Files

Call transaction SP12 and go to the menu path TemSe Database > Memory Allocation The column "bytes in files" is the data going to filesystem. At the very bottom it counts data by date, and even by hour for the current date of the report run. In order to clean the files up, you can rely on the following SAP notes 6604        Deleting job logs at operating system level 16513      File system is full - what do I do? 48400      Reorganization of TemSe and Spool 666290    Deleting "orphaned" job logs A high number of JOBLG files in the global directory are usually due to orphaned job logs. You can delete all orphaned job logs files using RSTS0043.

Background jobs stuck in Ready status or their poor load balancing

If you have multiple application servers, change and set the parameter rdsip/btctime to a different value on each one eg. 56, 57,58,59 etc. The job scheduler "SAPMSSY2" runs every "rdisp/btctime" seconds (60 by default) and looks for all the pending jobs in the job queue and assigns them to the available free batch work processes in the system. If there are other batch work processes waiting while the jobs are in the ready status, ensure that you have not over-allocated batch WPs for Class A jobs only. You can change such allocation from the transaction RZ04. If you find that WPs are not over-allocated to Class A jobs, it could be that a job is blocking access to the WPs. Run temse check as explained below and kill/restart the WPs that are in waiting status to get the WP working. Run Transaction SM65 Select Goto > Additional tests Select these options: Perform TemSe check Consistency check DB tables List Check profile parameters Check host names ...

Fixing Inconsistent Table - Table activation fails due to inconsistency between DD and DB

If you find a table to be available on the database, but not active in ABAP dictionary, try calling SE14 as DDIC user, enter the table name and choose Table > Reconstruct, Execute. If this method fails follow these steps: Call transaction code SE37 and execute the function module  DD_TABL_ACTM with single test On the next screen, do not change any other field except the following and set them as shown below: MODE: 12 NTAB_PUTSTATE: N TABNAME: <enter the correct table name> Click on Execute The export parameter ACT_RESULT should show 0. To verify if the inconsistency is fixed, call transaction SE14 > Extras > Database Object > Check and  SE14 > Extras > Runtime object > Check.

Monitoring response time of a transaction code or a client using CCMS

Image
There are always those important transactions that business users execute on a regular basis and cannot accept it to take too much time. One of the important aspects of addressing bad response on a transaction code is to be able to measure and alert if the response time is tending to increase. If you get an alert you might be able to check the reason for slowness before a widespread impact on business occurs. Log on to your CCMS system Call transaction SE16 and give the table name ALTRAMONI If you want to set alert on the response time of the entire client, you have to set TCODE as * and MON_CLIENT as the client number (for example 100 if the business client is 100) If you want to set alert on the response time of the transaction MIRO on client 100, set TCODE as MIRO and MON_CLIENT as 100. Set MO_NAME to aptly describe what the alert is about. Ex: "Avg response time on txn MIRO on 100 client" Set MTECLASS as you see fit. Ex: "MIRO100RESP" Set SERVER ID to...

Function code &SAP_EDIT

&SAP_EDIT was an easy function available for SAP Support experts to provide a fast solution for customers in a highly critical situation. As this function became increasingly known to others, SAP chose to deactivate it with Release 600 with Support Package 17 and Support Package 18. If you want the function back, implement SAP note 1446530 or use other techniques such as using function module se16n_interface or from SE16 in debug mode (Open the exact record you want to edit. Hit /h. Change the mode to EDIT, INSERT, etc.)

SAP Oracle Database Refresh - Control file creation

Image
SAP refresh requires database to be restored and recovered on the target system. One of the most important steps in Oracle DB restore/recovery is the control file creation on the target system as the file locations and SID of the database change. Here are the steps to create control file: Generate the control file trace on the source system: 1. Ensure that the source DB is on open or mounted mode by running the following command select open_mode from v$database; The output should be MOUNTED or READ WRITE 2. Write the control file to trace by running the following command alter database backup controlfile to trace; 3. Find out where the trace is written by running the following show parameter dump; The location is most likely  /oracle/<SID>/saptrace/diag/rdbms/<sid>/<SID>/trace for SAP-Oracle database. Check the latest trace file. 4. Open the file and copy the section resembling the following as a new file ex: createcontrolfile.sql by r...

OS/DB Migration - CMD. STR, TOC, EXT, R3load, DDLDBS.TPL and more

Image
With increasing need to improve performance or reduce costs or vanishing support for operating systems/databases it becomes inevitable to migrate to a better OS or DB. We feel take a quick look at the primary ingredients of the tools for OS/DB migration handled by R3SETUP. Tools - R3load, R3ldctl and R3szchk R3ldctl creates STRucture files, TemPLate files by reading the technical settings for table/indexes in SAP data dictionary. R3szchk calculates the database size object sizes (EXTent files) for the target system based on the STR files created by R3ldctl. The EXT and STR files can be later split into smaller groups. The most crucial tool R3load is responsible for unloading and loading data from the database. R3load uses the files created by R3ldctl and R3szchk and dumps the data into compressed binary format as .001, .002 .. files. It uses cmd files to achieve the task. If the cmd files are not present, it creates on its own. Files Command files*.cmd  are creat...