Need to improve Transaction codes Performence
Hi Experts,
I created set of Transaction codes for (Demand & Tender Creation )which is related to MM Module
Nearely 50 Transaction code are created in Portal Production ,using Transaction Iview
Before creation in Portal ,the End User access these transaction codes directly in R/3
Now they want to access through Portal That's why I created in Portal
But now I am facing perdormence issue ,when End User is accessinf through R/3 at that time it's very fast
trough in Portal the Transaction codes are working slowly
Guys please let me know the better solution to resolve the issue..
Regards,
Sony.
Hi,
I think you might need to do a thorough analysis to see where exactly are things going wrong. Try running the ITS URL directly to see if there is any performance improvement accessing the transactions via the WEBGUI. This will help you determine if the issue is really to do with the portal or it is the ECC server. To access the ITS URL, try
http(s)://<FullyQualifiedHostName>:<port>/sap/bc/gui/sap/its/webgui
and access the transaction codes to see what the response time is. Once you know which system is causing issues, you would be able to directly address it. The topic of improving a system's performance is too widespread to comment exactly where things could be going wrong. There are tons of materials available on SDN for performance improvement which you might want to take a look at.
Hope it helps,
Prathamesh
Similar Messages
-
I have this file but I need to improve the code on some method. The methods are addNode, deleteNode, saveNode, findLader and are they anyway for me to iliminate the findsmallest method?
here is the code
import java.io.*;
import java.util.LinkedList;
import java.util.Stack;
import javax.swing.*;
public class Graph {
private LinkedList graph;
private BufferedReader inputFile;
public Graph() {
graph = new LinkedList();
// read the words from the given file
// create a GraphNode
// Add the node to the graph
public void createGraph(String fileName) throws IOException {
inputFile = new BufferedReader(
new InputStreamReader(new FileInputStream("word.txt")));
// Convert the linkedlist to an array 'a'
// sort the array 'a'
// create a string from all elements in 'a'
// return the string
public String printGraph() {
String output = new String();
// will contain String objects
// ... do some work with the list, adding, removing String objects
String[] a = new String[graph.size()];
graph.toArray(a);
// now stringArray contains all the element from linkedList
quickSort(a, 0, a.size() - 1);
for(int i=0;i<a.length;++i)
output = output + new String(a.toString())+"\n";
return output;
private static void quickSort(Comparable[] theArray,
int first, int last) {
// Sorts the items in an array into ascending order.
// Precondition: theArray[first..last] is an array.
// Postcondition: theArray[first..last] is sorted.
// Calls: partition.
int pivotIndex;
if (first < last) {
// create the partition: S1, Pivot, S2
pivotIndex = partition(theArray, first, last);
// sort regions S1 and S2
quickSort(theArray, first, pivotIndex-1);
quickSort(theArray, pivotIndex+1, last);
} // end if
} // end quickSort
private static int partition(Comparable[] theArray,
int first, int last) {
// Partitions an array for quicksort.
// Precondition: theArray[first..last] is an array;
// first <= last.
// Postcondition: Returns the index of the pivot element of
// theArray[first..last]. Upon completion of the method,
// this will be the index value lastS1 such that
// S1 = theArray[first..lastS1-1] < pivot
// theArray[lastS1] == pivot
// S2 = theArray[lastS1+1..last] >= pivot
// Calls: choosePivot.
// tempItem is used to swap elements in the array
Comparable tempItem;
// place pivot in theArray[first]
//choosePivot(theArray, first, last);
Comparable pivot = theArray[first]; // reference pivot
// initially, everything but pivot is in unknown
int lastS1 = first; // index of last item in S1
// move one item at a time until unknown region is empty
for (int firstUnknown = first + 1; firstUnknown <= last;
++firstUnknown) {
// Invariant: theArray[first+1..lastS1] < pivot
// theArray[lastS1+1..firstUnknown-1] >= pivot
// move item from unknown to proper region
if (theArray[firstUnknown].compareTo(pivot) < 0) {
// item from unknown belongs in S1
++lastS1;
tempItem = theArray[firstUnknown];
theArray[firstUnknown] = theArray[lastS1];
theArray[lastS1] = tempItem;
} // end if
// else item from unknown belongs in S2
} // end for
// place pivot in proper position and mark its location
tempItem = theArray[first];
theArray[first] = theArray[lastS1];
theArray[lastS1] = tempItem;
return lastS1;
} // end partition
// Given a new word, add it to the graph
public void addNode(String word) {
GraphNode node = new GraphNode(word);
if(graph.contains(node)){
JOptionPane.showMessageDialog(null,"Duplicate Word, operation terminated");
for(int i=0; i<graph.size(); ++i) {
if(isAnEdge((String)(((GraphNode)graph.get(i)).getVertex()),(String)(node.getVertex()))) {
EdgeNode e1 = new EdgeNode((String)node.getVertex(),1);
EdgeNode e2 = new EdgeNode((String)((GraphNode)graph.get(i)).getVertex(),1);
node.addEdge(e2);
((GraphNode)graph.get(i)).addEdge(e1);
graph.add(node);
public boolean deleteNode(String word) {
GraphNode node = new GraphNode(word);
EdgeNode n = new EdgeNode(word,1);
if(!graph.contains(node)) {
return false;
else {
for(int i=0; i<graph.size();++i) {
((GraphNode)graph.get(i)).getEdgeList().remove(n);
graph.remove(node);
return true;
public void save(String fileName) {
try {
PrintWriter output = new PrintWriter(new FileWriter("word.txt"));
for(int i=0; i< graph.size();++i) {
output.println(((GraphNode)graph.get(i)).getVertex());
output.close();
catch (IOException e) {
// given two word, find the ladder (using dijkstra's algorithm
// create a string for the ladder and return it
public String findLadder(String start,String end) {
String ladder = new String();
GraphNode sv = new GraphNode(start);
GraphNode ev = new GraphNode(end);
if(!graph.contains(sv)) {
JOptionPane.showMessageDialog(null,start + " not in graph");
return null;
if(!graph.contains(ev)) {
JOptionPane.showMessageDialog(null,end + " not in graph");
return null;
LinkedList distance = new LinkedList(((GraphNode)graph.get(graph.indexOf(sv))).getEdgeList());
LinkedList visited = new LinkedList();
visited.add(start);
LinkedList path = new LinkedList();
path.add(new PathNode(start,"****"));
for(int i=0; i<distance.size();++i) {
PathNode p = new PathNode((String)((EdgeNode)distance.get(i)).getKey(),start);
path.add(p);
while(!visited.contains(end)) {
EdgeNode min = findSmallest(distance,visited);
String v = (String)min.getVertex();
if(v.equals("****"))
return null;
visited.add(v);
// for(int i=0;i<graph.size();++i) {
// String u = (String)(((GraphNode)(graph.get(i))).getVertex());
GraphNode temp1 = new GraphNode(v);
int index = graph.indexOf(temp1);
LinkedList l = new LinkedList(((GraphNode)graph.get(index)).getEdgeList());
for(int i=0;i<l.size();++i)
String u = (String)(((EdgeNode)(l.get(i))).getVertex());
if(!visited.contains(u)) {
int du=999, dv=999, avu=999;
dv = min.getCost();
EdgeNode edge = new EdgeNode(u,1);
if(distance.contains(edge)) {
du = ((EdgeNode)(distance.get(distance.indexOf(edge)))).getCost();
GraphNode temp = new GraphNode(v);
GraphNode node = ((GraphNode)(graph.get(graph.indexOf(temp))));
LinkedList edges = node.getEdgeList();
if(edges.contains(edge)) {
avu = ((EdgeNode)(edges.get(edges.indexOf(new EdgeNode(u,1))))).getCost();
if( du > dv+avu) {
if(du == 999) {
distance.add(new EdgeNode(u,dv+avu));
path.add(new PathNode(u,v));
else {
((EdgeNode)(distance.get(distance.indexOf(u)))).setCost(dv+avu);
((PathNode)(path.get(path.indexOf(u)))).setEnd(v);
if(!path.contains(new PathNode(end,"")))
return null;
LinkedList pathList = new LinkedList();
for(int i=0;i<path.size();++i) {
PathNode n = (PathNode)path.get(path.indexOf(new PathNode(end,"****")));
if(n.getEnd().compareTo("****") != 0) {
pathList.addFirst(end);
n = (PathNode)path.get(path.indexOf(new PathNode(n.getEnd(),"****")));
end = n.getStart();
pathList.addFirst(start);
for(int i=0;i<pathList.size()-1;++i) {
ladder = ladder + ((String)(pathList.get(i))) + " --> ";
ladder = ladder + ((String)(pathList.get(pathList.size()-1)));
return ladder;
private EdgeNode findSmallest(LinkedList distance, LinkedList visited) {
EdgeNode min = new EdgeNode("****",999);
for(int i=0;i<distance.size();++i) {
String node = (String)(((EdgeNode)distance.get(i)).getVertex());
if(!visited.contains(node)) {
if(((EdgeNode)distance.get(i)).getCost()<min.getCost()) {
min = (EdgeNode)distance.get(i);
return min;
// class that represents nodes inserted into path set
private class PathNode {
protected String sv;
protected String ev;
public PathNode(String s,String e) {
sv = s;
ev = e;
public String getEnd() {
return ev;
public String getStart() {
return sv;
public void setEnd(String n) {
ev = n;
public boolean equals(Object o) {
return this.sv.equals(((PathNode)o).sv);
public String toString() {
return "("+sv+":"+ev+")";
thank youlet me fix my misstake which was point out by some one in here and thank you ofr do so because I'm new at this.
I have this file but I need to improve the code on some method. The methods are addNode, deleteNode, saveNode, findLader and are they anyway for me to iliminate the findsmallest method?
here is the code
import java.io.*;
import java.util.LinkedList;
import java.util.Stack;
import javax.swing.*;
public class Graph {
private LinkedList graph;
private BufferedReader inputFile;
public Graph() {
graph = new LinkedList();
// read the words from the given file
// create a GraphNode
// Add the node to the graph
public void createGraph(String fileName) throws IOException {
inputFile = new BufferedReader(
new InputStreamReader(new FileInputStream("word.txt")));
// Convert the linkedlist to an array 'a'
// sort the array 'a'
// create a string from all elements in 'a'
// return the string
public String printGraph() {
String output = new String();
// will contain String objects
// ... do some work with the list, adding, removing String objects
String[] a = new String[graph.size()];
graph.toArray(a);
// now stringArray contains all the element from linkedList
quickSort(a, 0, a.size() - 1);
for(int i=0;i<a.length;++i)
output = output + new String(a.toString())+"\n";
return output;
private static void quickSort(Comparable[] theArray,
int first, int last) {
// Sorts the items in an array into ascending order.
// Precondition: theArray[first..last] is an array.
// Postcondition: theArray[first..last] is sorted.
// Calls: partition.
int pivotIndex;
if (first < last) {
// create the partition: S1, Pivot, S2
pivotIndex = partition(theArray, first, last);
// sort regions S1 and S2
quickSort(theArray, first, pivotIndex-1);
quickSort(theArray, pivotIndex+1, last);
} // end if
} // end quickSort
private static int partition(Comparable[] theArray,
int first, int last) {
// Partitions an array for quicksort.
// Precondition: theArray[first..last] is an array;
// first <= last.
// Postcondition: Returns the index of the pivot element of
// theArray[first..last]. Upon completion of the method,
// this will be the index value lastS1 such that
// S1 = theArray[first..lastS1-1] < pivot
// theArray[lastS1] == pivot
// S2 = theArray[lastS1+1..last] >= pivot
// Calls: choosePivot.
// tempItem is used to swap elements in the array
Comparable tempItem;
// place pivot in theArray[first]
//choosePivot(theArray, first, last);
Comparable pivot = theArray[first]; // reference pivot
// initially, everything but pivot is in unknown
int lastS1 = first; // index of last item in S1
// move one item at a time until unknown region is empty
for (int firstUnknown = first + 1; firstUnknown <= last;
++firstUnknown) {
// Invariant: theArray[first+1..lastS1] < pivot
// theArray[lastS1+1..firstUnknown-1] >= pivot
// move item from unknown to proper region
if (theArray[firstUnknown].compareTo(pivot) < 0) {
// item from unknown belongs in S1
++lastS1;
tempItem = theArray[firstUnknown];
theArray[firstUnknown] = theArray[lastS1];
theArray[lastS1] = tempItem;
} // end if
// else item from unknown belongs in S2
} // end for
// place pivot in proper position and mark its location
tempItem = theArray[first];
theArray[first] = theArray[lastS1];
theArray[lastS1] = tempItem;
return lastS1;
} // end partition
// Given a new word, add it to the graph
public void addNode(String word) {
GraphNode node = new GraphNode(word);
if(graph.contains(node)){
JOptionPane.showMessageDialog(null,"Duplicate Word, operation terminated");
for(int i=0; i<graph.size(); ++i) {
if(isAnEdge((String)(((GraphNode)graph.get(i)).getVertex()),(String)(node.getVertex()))) {
EdgeNode e1 = new EdgeNode((String)node.getVertex(),1);
EdgeNode e2 = new EdgeNode((String)((GraphNode)graph.get(i)).getVertex(),1);
node.addEdge(e2);
((GraphNode)graph.get(i)).addEdge(e1);
graph.add(node);
public boolean deleteNode(String word) {
GraphNode node = new GraphNode(word);
EdgeNode n = new EdgeNode(word,1);
if(!graph.contains(node)) {
return false;
else {
for(int i=0; i<graph.size();++i) {
((GraphNode)graph.get(i)).getEdgeList().remove(n);
graph.remove(node);
return true;
public void save(String fileName) {
try {
PrintWriter output = new PrintWriter(new FileWriter("word.txt"));
for(int i=0; i< graph.size();++i) {
output.println(((GraphNode)graph.get(i)).getVertex());
output.close();
catch (IOException e) {
// given two word, find the ladder (using dijkstra's algorithm
// create a string for the ladder and return it
public String findLadder(String start,String end) {
String ladder = new String();
GraphNode sv = new GraphNode(start);
GraphNode ev = new GraphNode(end);
if(!graph.contains(sv)) {
JOptionPane.showMessageDialog(null,start + " not in graph");
return null;
if(!graph.contains(ev)) {
JOptionPane.showMessageDialog(null,end + " not in graph");
return null;
LinkedList distance = new LinkedList(((GraphNode)graph.get(graph.indexOf(sv))).getEdgeList());
LinkedList visited = new LinkedList();
visited.add(start);
LinkedList path = new LinkedList();
path.add(new PathNode(start,"****"));
for(int i=0; i<distance.size();++i) {
PathNode p = new PathNode((String)((EdgeNode)distance.get(i)).getKey(),start);
path.add(p);
while(!visited.contains(end)) {
EdgeNode min = findSmallest(distance,visited);
String v = (String)min.getVertex();
if(v.equals("****"))
return null;
visited.add(v);
// for(int i=0;i<graph.size();++i) {
// String u = (String)(((GraphNode)(graph.get(i))).getVertex());
GraphNode temp1 = new GraphNode(v);
int index = graph.indexOf(temp1);
LinkedList l = new LinkedList(((GraphNode)graph.get(index)).getEdgeList());
for(int i=0;i<l.size();++i)
String u = (String)(((EdgeNode)(l.get(i))).getVertex());
if(!visited.contains(u)) {
int du=999, dv=999, avu=999;
dv = min.getCost();
EdgeNode edge = new EdgeNode(u,1);
if(distance.contains(edge)) {
du = ((EdgeNode)(distance.get(distance.indexOf(edge)))).getCost();
GraphNode temp = new GraphNode(v);
GraphNode node = ((GraphNode)(graph.get(graph.indexOf(temp))));
LinkedList edges = node.getEdgeList();
if(edges.contains(edge)) {
avu = ((EdgeNode)(edges.get(edges.indexOf(new EdgeNode(u,1))))).getCost();
if( du > dv+avu) {
if(du == 999) {
distance.add(new EdgeNode(u,dv+avu));
path.add(new PathNode(u,v));
else {
((EdgeNode)(distance.get(distance.indexOf(u)))).setCost(dv+avu);
((PathNode)(path.get(path.indexOf(u)))).setEnd(v);
if(!path.contains(new PathNode(end,"")))
return null;
LinkedList pathList = new LinkedList();
for(int i=0;i<path.size();++i) {
PathNode n = (PathNode)path.get(path.indexOf(new PathNode(end,"****")));
if(n.getEnd().compareTo("****") != 0) {
pathList.addFirst(end);
n = (PathNode)path.get(path.indexOf(new PathNode(n.getEnd(),"****")));
end = n.getStart();
pathList.addFirst(start);
for(int i=0;i<pathList.size()-1;++i) {
ladder = ladder + ((String)(pathList.get(i))) + " --> ";
ladder = ladder + ((String)(pathList.get(pathList.size()-1)));
return ladder;
private EdgeNode findSmallest(LinkedList distance, LinkedList visited) {
EdgeNode min = new EdgeNode("****",999);
for(int i=0;i<distance.size();++i) {
String node = (String)(((EdgeNode)distance.get(i)).getVertex());
if(!visited.contains(node)) {
if(((EdgeNode)distance.get(i)).getCost()<min.getCost()) {
min = (EdgeNode)distance.get(i);
return min;
// class that represents nodes inserted into path set
private class PathNode {
protected String sv;
protected String ev;
public PathNode(String s,String e) {
sv = s;
ev = e;
public String getEnd() {
return ev;
public String getStart() {
return sv;
public void setEnd(String n) {
ev = n;
public boolean equals(Object o) {
return this.sv.equals(((PathNode)o).sv);
public String toString() {
return "("+sv+":"+ev+")";
}thank you -
Need to know transaction code for category
Hi Gurus ,
I had like to know the transaction code for product category in CRM 2007
Please reply me asap
Regards,
Srinivas.Hi Srinivas
For CRM 2007 the correct method for maintaining the Product Category & Products is via the WEB UI.
Refer to Best Practice Guide C04. Make sure you follow the necessary settings for setting yourself up with Role POWERUSER.
Oce this is done.
Log into Webclient, select Poweruser Role if multiple options provided.
From the navigation bar select Master Data, within this option will be various options relating to Product Hierarchies, etc.
Hope this helps.
Regards
Arden -
Need help on transaction code to create
1)How to create a transaction code with input parameter?
2) I have a selection screen with the input parameter VKORG.
If I entered a value in vkorg, that related values only updated in custom table thru that transaction.Hi,
First Create the program in SE38 (Report program /Module pool program)
Steps to create the t-code for Report program.
T-code for report program
1. Go to se93
2. give the meaning full t-code name
3. Click on Create button (popup will appear)
4.Give the meaning full short text
5.Select the second radio button and press enter
(Program and selection Screen)
6. U will get a new screen , here u give ur report program name
7. save, check and execute
T-code for module pool program
1. Go to se93
2. give the meaning full t-code name
3. Click on Create button (popup will appear)
4.Give the meaning full short text
5.Select the first radio radio button and press enter
(program and screen)
6. U will get a new screen , here u give ur report program name
7. save, check and execute
Hope this will solve ur problem
Regard
Anees -
Need information on transaction code
Hi Experts,
Is there any standard SAP transaction that can be execute by material to display the
‘completeness’ ( availability of the components) for process orders?(ECC & APO)
ThnaksHi prasad,
you can check it by co09.
Regards,
Venkat. -
Transaction code for Table Maitainence for table
Hi all,
i have created Table Maintainece for Table and also i need to create transaction code
for table maintainence.
there when i create transaction code with TRANSACTION with PARAMETERS and SKIP FIRST SCREEN.
I can see all the records in the table into table Maintainence.
Is ther is any possibility like i can restrict records on the key fields (like selection screen).
Will anybody let me know how to goahead with this requirement.
Regards,
MadhaviYou can build a small report that call the maintenance view. In the report, convert the SELECT-OPTIONS input to the [DBA_SELLIST|https://www.sdn.sap.com/irj/sdn/advancedsearch?cat=sdn_all&query=dba_sellist&adv=false&sortby=cm_rnd_rankvalue] parameter of function module [VIEW_MAINTENANCE_CALL|https://www.sdn.sap.com/irj/sdn/advancedsearch?cat=sdn_all&query=view_maintenance_call&adv=false&sortby=cm_rnd_rankvalue].
If you have "pertinent" key to filter the data, you may define these as sub-key in a mainetance view, those fields will be asked for when entering the maintanance dialog. Or you can build a [view cluster|https://www.sdn.sap.com/irj/sdn/advancedsearch?cat=sdn_all&query=se55&adv=false&sortby=cm_rnd_rankvalue] using these sub-set keys.
Regards -
Need help in transcation code ime0
I need help in transaction code ime0. I mean to say what is this TCode doing? What different Drill-down program means? Where I can use this report?
Regards,
SubhasishHi
Please check the link for help
<a href="http://help.sap.com/saphelp_47x200/helpdata/EN/5c/8db33f555411d189660000e829fbbd/frameset.htm">CA - Drilldown Reporting</a>
Hope it helps
Anirban -
Is there any view for table TSTCT (transaction code text )
Hi,
I need to display the transactions allowed per a user , in that i need to display transaction codes along with the text.
In this report selection screen contains user as select option, when the user enters group of users as selection it is consuming a lot of time to get the t codes and to get the text from the table tstct. is there any way so that i can reduce the the runtime of this program.I am not sure abt the view but Try to use the key fields in the where clause of select statement. This you can do to have a good performance or restrict the user to enter few entries in that select option. Instead of select-options you can use parameters options also.
-
How to attach Form to Transaction Code F-92
Dear All,
I have a reuirement from my client, where in they need Printout for Transaction Code f-92, I want to know how to attach Form to the Transaction Code or is there any standard Form availabale in the system.
Thanks in advance
Dnyanesh ShenwaiHi
The user menu is the set of menu of all roles of user, so you should check the roles of the user and update one of menu of user roles.
You can do it by transactions PFGC, but if you change a role you'll change the menu of all users have that role.
This operation usually is made by the administrators of system.
Max
Message was edited by: max bianchi -
How can i log transaction codes, programes and tables used by a user?
Hi everyone,
i need to log transaction codes, programes and tables a user has used in a certain time. how can i trace that and is it possible with timestamps?
i tried something with the badi workload_statistic but thats not what i need. is there a simple function which can do that or is this really much more complicated?In SE13 there is an option to log table changes for a table.
If you search for "SCU3" you will find plenty of information on this. Also search for "RECCLIENT" (without the "/") and you will find some more specialized threads.
Cheers,
Julius -
Transaction code KO88 need to be check at company code leval
Dear Experts,
I need maintain authorization check at company code level for the transaction code KO88
Can you suggest what are the better approaches/solutions to meet this requirement
Thanks in Advance
Guru PrasadHi,
it does not look like you can use standard authorization objects assigned to this transaction. This transaction is from CO module and this module does not use company codes directly. It uses controlling areas instead. You can see it in authorization object K_VRGNG which is checked in KO88.
It does not look like there is a suitable BADI either. So if you are on Netweaver you can try to use enhancement framework. In program KO71 which corresponds to transaction KO88 is subroutine ACTIVITY_AUTHORITY_CHECK where FM K_VRGNG_AUTHORITY_CHECK is used to check authorization for object K_VRGNG. It looks to me that it's a good point to use implicit enhancement point of this subroutine to add additional authorization check. In your case check for company code attached to internal order. But you need to test it properly and it might work only for this transaction. So if user can start settlement from somewhere else that your additional check might not be performed.
Cheers. -
Need to add Standard transaction code to User Menu.
Hi All,
I need to add Standard transaction code to User Menu. How this can be accomplished?
ThanksYour Security and/or Basis team probably have control of the user menu settings. On the other hand, if this is for YOUR user menu, you could choose to simply adjust your favorites.
-
Need all transaction codes related to SD and MM
hi
i am in need of need all transaction codes related to SD and MM.
can anyone help me to get it.
thanks in advance.Hi,
The most frequently used transaction codes are as follows:
1. VS00 - Master data
2. VC00 - Sales Support
3. VA00 - Sales
4. VL00 - Shipping
5. VT00 - Transportation
6. VF00 - Billing
Others as follows:
At Configuration:
1. VOV8 - Define Sales documents type (header)
2. OVAZ - Assigning Sales area to sales documents type
3. OVAU - Order reasons
4. VOV4 - Assign Item categoreies(Item cat determination)
5. VOV6 - Scedule line categories
6. OVAL - To assign blocks to relevant sales documents type
7. OVLK - Define delivery types
8. V/06 - Pricing
9. V/08 - Maintain pricing procedure
10.OVKP - Pricing proc determination
11.V/07 - Access sequence
Enduser:
1. Customer Master Creation-VD01 and XD01 (for full inclu company code)
VD02 - Change Customer
VD03 - Display Customer
VD04 - Customer Account Changes
VD06 - Flag for Deletion Customer
XD01 - Create Customer
XD02 - Modify Customer
XD03 - Display Customer
2. Create Other material -
MM00
3. VB11- To create material determination condition record
4. CO09- Material availability Overview
5. VL01 - Create outbound delivery with ref sales order
6. VL04 - Collective processing of delivery
7. VA11 - Create Inquiry
VA12 - Change Inquiry
VA13 - Display Inquiry
Sales & Distribution
Sales order / Quote / Sched Agreement / Contract
· VA01 - Create Order
· VA02 - Change Order
· VA03 - Display Order
· VA02 - Sales order change
· VA05 - List of sales orders
· VA32 - Scheduling agreement change
· VA42 - Contract change
· VA21 - Create Quotation
· VA22 - Change Quotation
· VA23 - Display Quotation
Billing
· VF02 - Change billing document
· VF11 - Cancel Billing document
· VF04 - Billing due list
· FBL5N - Display Customer invoices by line
· FBL1N - Display Vendor invoices by line
Delivery
· VL02N - Change delivery document
· VL04 - Delivery due list
· VKM5 - List of deliveries
· VL06G - List of outbound deliveries for goods issue
· VL06P - List of outbound deliveries for picking
· VL09 - Cancel goods issue
· VT02N - Change shipment
· VT70 - Output for shipments
General
· VKM3, VKM4 - List of sales documents
· VKM1 - List of blocked SD documents
· VD52 - Material Determination
MM Transaction Code
All transaction are stored in table TSTC.
Transaction for MM module start with M.
IH09 - Display Material
MM01 - Create Material
MM02 - Change Material
MM03 - Display Material
MM50 - List Extendable Materials
MMBE - Stock Overview
MMI1 - Create Operating Supplies
MMN1 - Create Non-Stock Material
MMS1 - Create Service
MMU1 - Create Non-Valuated Material
ME51N - Create Purchase Requisition
ME52N - Change Purchase Requisition
ME53N - Display Purchase Requisition
ME5A - Purchase Requisitions: List Display
ME5J - Purchase Requisitions for Project
ME5K - Requisitions by Account Assignment
MELB - Purch. Transactions by Tracking No.
ME56 - Assign Source to Purch. Requisition
ME57 - Assign and Process Requisitions
ME58 - Ordering: Assigned Requisitions
ME59 - Automatic Generation of POs
ME54 - Release Purchase Requisition
ME55 - Collective Release of Purchase Reqs.
ME5F - Release Reminder: Purch. Requisition
MB21 - Create Reservation
MB22 - Change Reservation
MB23 - Display Reservation
MB24 - Reservations by Material
MB25 - Reservations by Account Assignment
MB1C - Other Goods Receipts
MB90 - Output Processing for Mat. Documents
MB21 - Create Reservation
MB22 - Change Reservation
MB23 - Display Reservation
MB24 - Reservations by Material
MB25 - Reservations by Account Assignment
MBRL - Return Delivery per Mat. Document
MB1C - Other Goods Receipts
MB90 - Output Processing for Mat. Documents
MB1B - Transfer Posting
MIBC - ABC Analysis for Cycle Counting
MI01 - Create Physical Inventory Document
MI02 - Change Physical Inventory Document
MI03 - Display Physical Inventory Document
MI31 - Batch Input: Create Phys. Inv. Doc.
MI32 - Batch Input: Block Material
MI33 - Batch Input: Freeze Book Inv.Balance
MICN - Btch Inpt:Ph.Inv.Docs.for Cycle Ctng
MIK1 - Batch Input: Ph.Inv.Doc.Vendor Cons.
MIQ1 - Batch Input: PhInvDoc. Project Stock
MI01 - Create Physical Inventory Document
MI02 - Change Physical Inventory Document
MI03 - Display Physical Inventory Document
MI31 - Batch Input: Create Phys. Inv. Doc.
MI32 - Batch Input: Block Material
MI33 - Batch Input: Freeze Book Inv.Balance
MICN - Btch Inpt:Ph.Inv.Docs.for Cycle Ctng
MIK1 - Batch Input: Ph.Inv.Doc.Vendor Cons.
MIQ1 - Batch Input: PhInvDoc. Project Stock
MI01 - Create Physical Inventory Document
MI02 - Change Physical Inventory Document
MI03 - Display Physical Inventory Document
MI31 - Batch Input: Create Phys. Inv. Doc.
MI32 - Batch Input: Block Material
MI33 - Batch Input: Freeze Book Inv.Balance
MICN - Btch Inpt:Ph.Inv.Docs.for Cycle Ctng
MIK1 - Batch Input: Ph.Inv.Doc.Vendor Cons.
MIQ1 - Batch Input: PhInvDoc. Project Stock
MI21 - Print physical inventory document
MI04 - Enter Inventory Count with Document
MI05 - Change Inventory Count
MI06 - Display Inventory Count
MI09 - Enter Inventory Count w/o Document
MI34 - Batch Input: Enter Count
MI35 - Batch Input: Post Zero Stock Balance
MI38 - Batch Input: Count and Differences
MI39 - Batch Input: Document and Count
MI40 - Batch Input: Doc., Count and Diff.
MI08 - Create List of Differences with Doc.
MI10 - Create List of Differences w/o Doc.
MI20 - Print List of Differences
MI11 - Physical Inventory Document Recount
MI07 - Process List of Differences
MI37 - Batch Input: Post Differences
CT01 - Create Characteristic
CT02 - Change Characteristic
CT03 - Display Characteristic
CL01 - Create Class
CL02 - Classes
CL03 - Display Class
CL04 - Delete Class
CL2B - Class Types
<REMOVED BY MODERATOR>
Edited by: Alvaro Tejada Galindo on Apr 7, 2008 12:53 PM -
What authorizations and transaction codes needed to do transports?
I would like to find out what authorization objects and transaction codes are needed to perform transports in r/3 v4.6?
Are transaction codes SE06, SE09, SE10 or authorization objects S_TRANSPRT, S_CTS_ADMI needed?
Thanks
WadeHi,
Yes you would need the following Tcodes to do the transports. In R3, usually when you create or change, you get prompted for a transport request and then all your changes are captured in there, till such time as you release the request.
You can create, view and release requests using tcodes SE01, SE09 or SE10.
You'll need the auth objects you specfied and the activites assoiciated with creating, viewing and carrying out other activites with transports via these autho objects. These need to be assigned to a role and the role assigned to the user.
Cheers,
Kedar -
MTT Transaction codes and BAPIs needed
Hi All,
Please can anyone give me the Transaction Codes and BAPIs that are needed and used for developing an application for Mobile Time and Travel.?
Please help me out.
Cheers,
Anu.Hi Anu
Below are the Functional Modules used in the standard MTT application.
<u><b>RFC's for Time Sheet (MTS)</b></u>
CATS_MY_GET_MASTER_DATA
CATS_MY_GET_PICKLIST_FIELDS
CATS_MY_GET_REJECTION_REASONS
CATS_MY_GET_TEXT_ELEMENTS
CATS_MY_GET_TIME_DATA
CATS_MY_GET_BOOTSTRAP
CATS_MY_GET_CUSTOMIZING_DATA
TT_GET_PICKLIST
<u><b>RFC's for Travel Expenses (MTR)</b></u>
WAF_TRIP_ADD_RECEIPT
WAF_TRIP_CHANGE_RECEIPT
WAF_TRIP_CREATE
WAF_TRIP_DELETE_RECEIPT
WAF_TRIP_GET
WAF_TRIP_GET_CREDIT_CARD_ITEMS
WAF_TRIP_GET_CUSTOMIZING
WAF_TRIP_GET_DELETED_LIST
WAF_TRIP_GET_LIST
WAF_TRIP_MODIFY
WAF_TRIP_PROCESS_RECEIPT
WAF_TRIP_RESULTS
Hope this helps
Thanks
Raj
Maybe you are looking for
-
Troubleshooting Guide: Audio does not Work after a Certain Period of Time
Hello everyone, Thanks for choosing the HP Forums! If your sound recently stopped working on Windows 8.x or Windows Server 2012, and you suspect a Windows Update is involved, then look no further! This is the troubleshooting guide that will explain h
-
How to transport Implementation project template changes?
Hello All, I have made changes to the project template (added doc types, assigned status schemas) for Implementation projects in my dev system by going to SOLAR_PROJECT_ADMIN > Goto > Project Template > Implementation projects. I want these values t
-
Setting ToolTips for items which are disabled.
Folks, No offence meant if this is a repeat. I have a JPopupMenu with Action as its components. 1) I have disabled certain menu items to false. 2) I would like to use a ToolTipText to show a message 'You have no permission' when the user hovers over
-
When uisng the convert to formula funciton in BEx it messes up other colums
when I try to use this functionality I have formatting issues and some of the data in my columsn gets lost. when I try to user the Filter button it gets even worse. We are on the Support pack 15 so this is not the issue. Any ideas why this isn't w
-
Hey all... this may just be symantecs or terminology, but why does anyone use masks? Doesnt creating a path layer with the pen tool away from the actual object layer allow you to do everything and anything with that path area? I.e., if you CNTRL+Cl