SAP: STMS transport stuck
When coming across a situation where thetransprts are stalling/hanging in the STMS queue there are a few things that you can do:
The fist and most obvious course of action is to contact your Basis support team.
Given that you are reading this article you probably wanted or were forced to figure this one out on your own so here are a few helpful actions that you can take to narrow down the problem:
TP processes:
Go to the SM51 and check if any of the TP processes are still running, you might be required to kill these before proceeding haulted imports.
Check the TP System Log:
You can do this by STMS – Overview – Imports – Select Queue System – Goto – tp system log – F5
This will show you a step by step log of what has occured in the system, you would be able to see which transports are being processed and what has completed.
Check the Import Monitor:
You can do this by STMS – Overview – Imports – Select Queue System – Goto – Import Monitor
This will show you the queue of active transports [if any], if you see that there is a collection of unprocessed imports then you need to flush the queue.
Check TMS background job:
You can also check if the background job RDDIMPDP is running.
From tim to time it happens that the import queue becomes inconsistent and the system stalls, as a result you can be stranded without any of your transports moving ot he next system.
Tables:
TMSTLOCKR: will unlock a given transport from the transport queue [the transport truck will dissapear after deleting of the entry int he table]
TRBAT: will contain values correspondign to active imports, if you have a stuck transport that is haulting a collection of other transports a simple delete from this table will re-initialize the queue and push the backed up imports forward.
TRJOB: should also be cleared in order to continue the regular flow of backe up transports
For any additonal information please refer to the following notes:
818065, 302859, 556941, 556946, 71353, 49242, 323726, 56311, 24800, 486991, 506771, 138200
SAP: Check the Passwords of Standard Users in All Clients
A quick way to check the status of all the standard users in your SAP system is to run a program RSUSR003.
ABAP cancelling an SD Billing Document
If you have access to a billing document number try executing the following function:
DATA: l_rtrn TYPE bapireturn1 OCCURS 0.
DATA: l_succ TYPE bapivbrksuccess OCCURS 0.
CALL FUNCTION 'BAPI_BILLINGDOC_CANCEL1'
EXPORTING
billingdocument =
* testrun =
* no_commit =
billingdate = sy-datum
TABLES
return = l_rtrn
success = l_succ.
This should create a cancellation document.
ABAP: execute OS level command
There are many things that one can do to execute a command in an Operating System from an ABAP report. I’ll explain one method that one can take to accomplish this.
- Using transactions SM49 and SM69 set up and test a new OS command that you wish to execute. For the purposes of this post I’ve set up an executable command ZSAPCAR32.
- When I was setting up the new command I’ve selected the option to add additional parameters to the command.
- Once tested and satisfied you can add a new function module [SXPG_COMMAND_EXECUTE] to your report that will call preset executable command.
data: g_rlog TYPE btcxpm OCCURS 0.
CALL FUNCTION 'SXPG_COMMAND_EXECUTE'
EXPORTING
commandname = 'ZSAPCAR32'
additional_parameters = <additional parameters>
operatingsystem = <system you specified in SM69>
TABLES
exec_protocol = g_rlog
EXCEPTIONS
no_permission = 1
command_not_found = 2
parameters_too_long = 3
security_risk = 4
wrong_check_call_interface = 5
program_start_error = 6
program_termination_error = 7
x_error = 8
parameter_expected = 9
too_many_parameters = 10
illegal_command = 11
wrong_asynchronous_parameters = 12
cant_enq_tbtco_entry = 13
jobcount_generation_error = 14
OTHERS = 15.
if sy-subrc eq 0.
LOOP AT g_rlog INTO g_warlog.
* display command output
write g_warlog.
ENDLOOP.
endif.
The above code will execute your OS command and display the results.
ABAP: load file using pop-up window
When writing a program the simplest way to load a file from your client PC in to the server SAP syste is through a use of a regular text box. But if you want to get a little fancier try using the following function:
data: l_select TYPE sapb-sappfad.
CALL FUNCTION 'WS_FILENAME_GET'
EXPORTING
def_filename = l_select
def_path = ' '
mask = ',*.*,*.*.'
mode = 'O'
title = 'Select filename to OPEN'(f05)
IMPORTING
filename = l_select
EXCEPTIONS
selection_cancel = 1
selection_error = 2
OTHERS = 3.
This function will open up a pop-up window [standard to windows] allowing the user to select a file somewhere on their local comptuer.
SAPGUI_PROGRESS_INDICATOR
A usefull little function that will allow you to display a status update on the bottom left corner of the screen when running your reports.
call function 'SAPGUI_PROGRESS_INDICATOR'
EXPORTING
percentage = 0
text = STATUS_TEXT.
Note: anything lower then 0 will be rounded up to 0 and anything greater then 100 will be rounded down to 100.
The sales order … is currently being processed by user …
An inbound IDOC was failing due to the error [described in the title]. Some research resulted in the following results:
TR: SM12 displayed a list of locked elements in the system.
TR: SM04 displayed a list of logged in users in the local system.
TR: SM08 displayed a list of logged in users in all the app-servers [not just the current system].
Unfortunately in my case non of the mentioned transactions above helped me narrow down where the user was locking the system – in the end I’ve requested for the user to log back in and kill his session with a TR: /nex.
Usful SAP system tables.
| ADCP | Person/Address assignment (central address administration) |
| ADIRACCESS | Table to store keys for TADIR objects |
| ADR2 | Telephone numbers (central address admin.) |
| ADRP | Persons (central address administration) |
| APQD | DATA DEFINITION Queue |
| APQI | Queue info definition |
| D010SINF | ABAP- Information about ABAP program source code |
| E071 | Change and Transport System- Object Entries of Requests/Tasks |
| E07T | Change and Transport System- Short Texts for Requests/Tasks |
| ENLFDIR | Additional Attributes for Function Modules |
| INDX | System table INDX |
| NAST | Message Status |
| STXH | STXD SAPscript text file header |
| T005 | Countries |
| T005S | Taxes- Region (Province) Key |
| T005U | Taxes- Region Key- Texts |
| T006 | Units of Measurement |
| T015M | Names of the months |
| T247 | Month name and short text |
| T777A | Building Addresses |
| TADIR | Directory of Repository Objects |
| TBTCO | Job status overview table |
| TBTCP | Batch job step overview |
| TFDIR | Function Module |
| TFTIT | Function Module Short Text |
| TSP03L | Spool- Long device names |
| TSTC | SAP Transaction Codes |
| TSTCT | Transaction Code Texts |
| TUTYP | User Types in Current Price List in SAP System |
| TUZUS | Special versions |
| TVARV | Table of variables in selection criteria |
| TVDIR | View Directory |
| US930 | Data Relevant to Measurement for User Master Record |
| USR01 | User master record (runtime data) |
| USR02 | Logon data |
| USR04 | User master authorizations |
| USR06 | Additional Data per User |
| USR14 | Surchargeable Language Versions per User |
| USR21 | Assign user name address key |
| ARCH_OBJ | Objects for archiving and reorganization |
| BTCUED | Description of user event IDs for background processing |
| BTXSUPB | BSI- Upgrade-Information |
| CCCFLOW | Client Copy Control Flow |
| DBSTATC | DB Optimizer Control (Statistics Creation) |
| DEVACCESS | Table for development users |
| DEVL | OBSOLETE- Do not use (See TCETRAL) |
| E070 | Change and Transport System- Header of Requests/Tasks |
| E070L | CTS- Index for Assigning Numbers to Requests/Tasks |
| INSTVERS | Documentation for installation Status and History |
| PAT03 | Patch Directory |
| SDBAC | DBA Action Table |
| T100 | Messages |
| TAPLT | Program Application Long Texts |
| TASYS | OBSOLETE- Do not use, see TCEDELI |
| TDEVC | Development Classes |
| TEMSE | Temp Sequential table. |
| TLOCK | Change and Transport System- Lock Table |
| TNAPR | Processing programs for output. Can be very handy to find the print program for a SAPScript. |
| TNAST | Printed output control table |
| TPFET | Table of profile parameters |
| TPFHT | Profile header, administration data for profiles in DB |
| TPROT | Table contains all DD tables to be logged |
| TRBAT | Communication Table for Transport Control |
| TRDIRT | Title texts for programs in TRDIR |
| TRESN | Table of Naming Conventions in ABAP Workbench |
| TRJOB | Job ID for Coordinating Batch-ABAP/UNIX for Transports |
| TSP03C | Spool- Device Description Extension |
| TST03 | TemSe data |
| TSYST | OBSOLETE- Do not use (see TCESYST) |
| TWSYS | OBSOLETE- Do not use (See TCETRAL) |
| USOBT | Relation transaction – authorization object |
| USR03 | User address data |
| USR05 | User Master Parameter ID |
| USR12 | User master authorization values |
| USR40 | Table for illegal passwords |
| USR41 | User master- Additional data |
| UST04 | User masters |
| VARIT | Variant texts |
| VARID | Variant directory |
| D010TAB | Table for Use Report—Tables |
| DD02L | SAP tables |
| DD02T | R/3 DD- SAP table texts |
| DD03L | Table Fields |
| DD03T | DD- Texts for fields (language dependent) |
| EDIDC | IDOC Control Records |
| EDIDOT | Short description of IDoc types |
| EDID2 | IDOC segments (version 3.1) |
| EDID4 | IDOC segments (version 4.6) |
| EDSEA | EDI- Table of all segments of current release |
| VRSX2 | Central Table for Version Management (Report Source) |
| TSE05 | Can add parameters to the INSERT COMMAND (IC). Then, when you insert command, your info appears in the editor. Useful for comment blocks, common section of code, etc. |
| CDPOS | Change document items |
| CDHDR | Change document header |
| T529A | governs the foreground sequence of infotypes the system will use to prompt the user during online and batch processing. You will have to code your BDC to follow that sequence of creating infotypes. |
| T588Z | governs the dynamic event processing that will only take place during online user inputs. For BDC’s you will have to create separate BDC’s to handle any infotypes that are inserted dynamically by this table. |
| T588M | Infotype Screen Control |
Before Jack, before Chuck, and before time there was SAP.
The top 40 sap facts:
40) SAP is so efficient in creating software, there is actually only one developer writing code, all others are architects and managers.
39) What Yoda really meant to say about the force: Fear leads to anger. Anger leads to hate. Hate leads to ABAP.
38) The song “Killing me softly” was originally written by a SAP customer
37) The matrix runs SAP
36) When SAP NetWeaver was released, there was a disturbance in the Force
35) SAP is so secure that condoms are made from it
34) SAP can divide by zero.
33) By reading the source code of transaction SE38 you will temporarily be granted invisibility [SE38 starts up the editor]
32) SAP made Bill Gates retire. When asked why, SAP answered “Because we can”
31) SAP: It’s not just a job; it’s a wardrobe.
30) SAP stand for SLOW AND PAINFUL
29) Chuck Norris uses SAP to keep track of his death count
28) Not 42, but SAP is the answer to life, the universe, and everything.
27) Oracle still hides the fact that FUSION stands for: Finally use SAP in our network
26) The European Union has decided that by 2008, ABAP will be the only offical language used in parliament
25) If you post a question in the SDN ABAP forum, Rich Heilman already has the answer typed in and is just waiting for you to
press the “Post Message” button.
24) SAP only made its software so complicated because this way they were able to lay the foundation for the vast SDN community that would soon replace all SAP developers. As SDN points are easier to give away than monetary salary, the company’s increase in profitability is expected to crush all existing stock software, making place for SAP to installed in there, which would increase sales again … all in order with the SDN program (SAP Dies Never).
23) GOD runs SAP
22) It’s a little known fact that if you are on SAP’s network you will never get a “server not responding” or 404 page not found error… nobody is too busy to not talk to SAP.
21) His Holyness Pope Benedict XVI is an SAP certified ABAP programmer
20) The Klingon Empire runs SAP
19) SAP NetWeaver doesn’t adhere to the J2EE specification, the J2EE specification adheres to the SAP NetWeaver specification
18) All SAP consultants have a black belt in Karate
17) SAP invented the internet
16) SAP stands for Suffer After Purchase
15) The strongest and unbreakable argument in any architectural discussion is: “It was done this way in ABAP”
14) SAP stands for Start Applying Patches
13) Your SAP is not connected to the internet. The internet is connected to your SAP.
12) The real reason behind Pluto’s recent demotion from planet status: incomplete plant configuration in NASA’s SAP system.
11) It is rumored that Michael Corleone, “The godfather” used to work as a consultant in SAP.
10) The ultimate survival strategy if we ever find intelligent life in the galaxy is to SAP them right away …
9) Spiderman is powered by NetWeaver.
8) Julius Ceaser, Alexander the Great and Genghis Khan ran SAP. Their successors didn’t.
7) Sony Advanced Playstation
6) SAP next releases will come with a lifetime supply of Prozac
5) asap is actually an abbreviation for “in A SAP way”
4) Leonardo da Vinci was SAP Certified!!!
3) Whenever a new bug is found in SAP someone gets a hickup.
2) Every kid had his/her heroes…Boys had Superman, Girls had Lara Croft…And young Abapers…they had Rich Heilman.
1) On the first day God created SAP
…… That’s all folks ……