Facing Problem in Executing T-codes
Hi SAP Exoerts,
I am assigned to work on Travel Management. System Admin guys has given me the access for T-codes TRIP, TP20
But even after giving access both t-codes are not working
system says Infotype P0017 could not be read. I also check infotype 0017, it is there for my employee.
Kindly help me out.
Thanks
Archana
<i>But even after giving access both t-codes are not working
system says Infotype P0017 could not be read</i>
run the transaction and after getting this error, in the same screen in the commandbox type in <b>/nsu53</b> and hit enter, if there is any issue with authorization, the system will list out failed auth objects.
Regards
Raja
Similar Messages
-
Problem While Executing T.CODE DP90
Hi,
We have Upgrade our system from 4.6C to ECC6.
We are facing following problem while executing Resource Related Billing request
Through Transaction code DP90.
Process.
1. We are creating Sales Order and system will create Service order automatically as per the configuration.
2. In service order we have External as well internal operations ,
Internal operations will be confirmed through IW41, and External Operations we are creating Purchase Requisition then creating PO and MIRO,
After all Operations confirmed we will make Service order status as technically completed, then we are executing DP90 for Resource Related Billing, System will determine the material, combination of Cost element and Activity Type (Which is configured in T.Code ODP1) For External Operations System is Considering Activity Type for material determination in 4.6c but it is not considering Activity Type for Material Determination in ECC6 for External Operations.
Please Help me,
Edited by: D B on Apr 29, 2008 6:13 PMHi Prashanth,
Thanks for your reply, but all activity are valid in current period, in our Scenario in the old system for External Operations with combination of Activity type and Cost element system is determining material but where as in the new system for external operations it is not considering the Activity type and system is determining the material in the combination of Cost element and Blank activity type so, we are getting different material in DP90. -
Facing Problem while executing a command through WLST
Hi,
Iam using Weblogic 11g(10.3.2).Whenever I execute the below command in WLST on windows it is working fine.
reassociateSecurityStore(domain="base_domain",admin="cn=orcladmin",password="welcome1",ldapurl="ldap://<hostname>:389",servertype="OID",jpsroot="cn=jpsroot_idm_idmhost1")
But whenever i execute the same in Linux,it is throwing the error as below:
wls:/base_domain/serverConfig> reassociateSecurityStore(domain="base_domain",admin="cn=orcladmin",password="welcome1",ldapurl="ldap://<hoistname>:389",servertype="OID",jpsroot="cn=jpsroot_idm_idm1")
Traceback (innermost last):
File "<console>", line 1, in ?
NameError: reassociateSecurityStore
Please suggest....
Regards
PavanFacing Problem while executing a command through WLST
-
Problem while executing the code( that covert jpeg images to movie)
http://java.sun.com/products/java-media/jmf/2.1.1/solutions/JpegImagesToMovie.html
here is the code:
* @(#)JpegImagesToMovie.java 1.3 01/03/13
* Copyright (c) 1999-2001 Sun Microsystems, Inc. All Rights Reserved.
* Sun grants you ("Licensee") a non-exclusive, royalty free, license to use,
* modify and redistribute this software in source and binary code form,
* provided that i) this copyright notice and license appear on all copies of
* the software; and ii) Licensee does not utilize the software in a manner
* which is disparaging to Sun.
* This software is provided "AS IS," without a warranty of any kind. ALL
* EXPRESS OR IMPLIED CONDITIONS, REPRESENTATIONS AND WARRANTIES, INCLUDING ANY
* IMPLIED WARRANTY OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE OR
* NON-INFRINGEMENT, ARE HEREBY EXCLUDED. SUN AND ITS LICENSORS SHALL NOT BE
* LIABLE FOR ANY DAMAGES SUFFERED BY LICENSEE AS A RESULT OF USING, MODIFYING
* OR DISTRIBUTING THE SOFTWARE OR ITS DERIVATIVES. IN NO EVENT WILL SUN OR ITS
* LICENSORS BE LIABLE FOR ANY LOST REVENUE, PROFIT OR DATA, OR FOR DIRECT,
* INDIRECT, SPECIAL, CONSEQUENTIAL, INCIDENTAL OR PUNITIVE DAMAGES, HOWEVER
* CAUSED AND REGARDLESS OF THE THEORY OF LIABILITY, ARISING OUT OF THE USE OF
* OR INABILITY TO USE SOFTWARE, EVEN IF SUN HAS BEEN ADVISED OF THE
* POSSIBILITY OF SUCH DAMAGES.
* This software is not designed or intended for use in on-line control of
* aircraft, air traffic, aircraft navigation or aircraft communications; or in
* the design, construction, operation or maintenance of any nuclear
* facility. Licensee represents and warrants that it will not use or
* redistribute the Software for such purposes.
import java.io.*;
import java.util.*;
import java.awt.Dimension;
import javax.media.*;
import javax.media.control.*;
import javax.media.protocol.*;
import javax.media.protocol.DataSource;
import javax.media.datasink.*;
import javax.media.format.VideoFormat;
* This program takes a list of JPEG image files and convert them into
* a QuickTime movie.
public class JpegImagesToMovie3 implements ControllerListener, DataSinkListener {
public boolean doIt(int width, int height, int frameRate, Vector inFiles, MediaLocator outML) {
ImageDataSource ids = new ImageDataSource(width, height, frameRate, inFiles);
Processor p;
try {
System.err.println("- create processor for the image datasource ...");
p = Manager.createProcessor(ids);
} catch (Exception e) {
System.err.println("Yikes! Cannot create a processor from the data source.");
return false;
p.addControllerListener(this);
// Put the Processor into configured state so we can set
// some processing options on the processor.
p.configure();
if (!waitForState(p, p.Configured)) {
System.err.println("Failed to configure the processor.");
return false;
// Set the output content descriptor to QuickTime.
p.setContentDescriptor(new ContentDescriptor(FileTypeDescriptor.QUICKTIME));
// Query for the processor for supported formats.
// Then set it on the processor.
TrackControl tcs[] = p.getTrackControls();
Format f[] = tcs[0].getSupportedFormats();
if (f == null || f.length <= 0) {
System.err.println("The mux does not support the input format: " + tcs[0].getFormat());
return false;
tcs[0].setFormat(f[0]);
System.err.println("Setting the track format to: " + f[0]);
// We are done with programming the processor. Let's just
// realize it.
p.realize();
if (!waitForState(p, p.Realized)) {
System.err.println("Failed to realize the processor.");
return false;
// Now, we'll need to create a DataSink.
DataSink dsink;
if ((dsink = createDataSink(p, outML)) == null) {
System.err.println("Failed to create a DataSink for the given output MediaLocator: " + outML);
return false;
dsink.addDataSinkListener(this);
fileDone = false;
System.err.println("start processing...");
// OK, we can now start the actual transcoding.
try {
p.start();
dsink.start();
} catch (IOException e) {
System.err.println("IO error during processing");
return false;
// Wait for EndOfStream event.
waitForFileDone();
// Cleanup.
try {
dsink.close();
} catch (Exception e) {}
p.removeControllerListener(this);
System.err.println("...done processing.");
return true;
* Create the DataSink.
DataSink createDataSink(Processor p, MediaLocator outML) {
DataSource ds;
if ((ds = p.getDataOutput()) == null) {
System.err.println("Something is really wrong: the processor does not have an output DataSource");
return null;
DataSink dsink;
try {
System.err.println("- create DataSink for: " + outML);
dsink = Manager.createDataSink(ds, outML);
dsink.open();
} catch (Exception e) {
System.err.println("Cannot create the DataSink: " + e);
return null;
return dsink;
Object waitSync = new Object();
boolean stateTransitionOK = true;
* Block until the processor has transitioned to the given state.
* Return false if the transition failed.
boolean waitForState(Processor p, int state) {
synchronized (waitSync) {
try {
while (p.getState() < state && stateTransitionOK)
waitSync.wait();
} catch (Exception e) {}
return stateTransitionOK;
* Controller Listener.
public void controllerUpdate(ControllerEvent evt) {
if (evt instanceof ConfigureCompleteEvent ||
evt instanceof RealizeCompleteEvent ||
evt instanceof PrefetchCompleteEvent) {
synchronized (waitSync) {
stateTransitionOK = true;
waitSync.notifyAll();
} else if (evt instanceof ResourceUnavailableEvent) {
synchronized (waitSync) {
stateTransitionOK = false;
waitSync.notifyAll();
} else if (evt instanceof EndOfMediaEvent) {
evt.getSourceController().stop();
evt.getSourceController().close();
Object waitFileSync = new Object();
boolean fileDone = false;
boolean fileSuccess = true;
* Block until file writing is done.
boolean waitForFileDone() {
synchronized (waitFileSync) {
try {
while (!fileDone)
waitFileSync.wait();
} catch (Exception e) {}
return fileSuccess;
* Event handler for the file writer.
public void dataSinkUpdate(DataSinkEvent evt) {
if (evt instanceof EndOfStreamEvent) {
synchronized (waitFileSync) {
fileDone = true;
waitFileSync.notifyAll();
} else if (evt instanceof DataSinkErrorEvent) {
synchronized (waitFileSync) {
fileDone = true;
fileSuccess = false;
waitFileSync.notifyAll();
public static void main(String args[]) {
if (args.length == 0)
prUsage();
// Parse the arguments.
int i = 0;
int width = -1, height = -1, frameRate = 1;
Vector inputFiles = new Vector();
String outputURL = null;
while (i < args.length) {
if (args.equals("-w")) {
i++;
if (i >= args.length)
prUsage();
width = new Integer(args[i]).intValue();
} else if (args[i].equals("-h")) {
i++;
if (i >= args.length)
prUsage();
height = new Integer(args[i]).intValue();
} else if (args[i].equals("-f")) {
i++;
if (i >= args.length)
prUsage();
frameRate = new Integer(args[i]).intValue();
} else if (args[i].equals("-o")) {
i++;
if (i >= args.length)
prUsage();
outputURL = args[i];
} else {
inputFiles.addElement(args[i]);
i++;
if (outputURL == null || inputFiles.size() == 0)
prUsage();
// Check for output file extension.
if (!outputURL.endsWith(".mov") && !outputURL.endsWith(".MOV")) {
System.err.println("The output file extension should end with a .mov extension");
prUsage();
if (width < 0 || height < 0) {
System.err.println("Please specify the correct image size.");
prUsage();
// Check the frame rate.
if (frameRate < 1)
frameRate = 1;
// Generate the output media locators.
MediaLocator oml;
if ((oml = createMediaLocator(outputURL)) == null) {
System.err.println("Cannot build media locator from: " + outputURL);
System.exit(0);
JpegImagesToMovie3 imageToMovie3 = new JpegImagesToMovie3();
imageToMovie3.doIt(width, height, frameRate, inputFiles, oml);
System.exit(0);
static void prUsage() {
System.err.println("Usage: java JpegImagesToMovie -w <width> -h <height> -f <frame rate> -o <output URL> <input JPEG file 1> <input JPEG file 2> ...");
System.exit(-1);
* Create a media locator from the given string.
static MediaLocator createMediaLocator(String url) {
MediaLocator ml;
if (url.indexOf(":") > 0 && (ml = new MediaLocator(url)) != null)
return ml;
if (url.startsWith(File.separator)) {
if ((ml = new MediaLocator("file:" + url)) != null)
return ml;
} else {
String file = "file:" + System.getProperty("user.dir") + File.separator + url;
if ((ml = new MediaLocator(file)) != null)
return ml;
return null;
// Inner classes.
* A DataSource to read from a list of JPEG image files and
* turn that into a stream of JMF buffers.
* The DataSource is not seekable or positionable.
class ImageDataSource extends PullBufferDataSource {
ImageSourceStream streams[];
ImageDataSource(int width, int height, int frameRate, Vector images) {
streams = new ImageSourceStream[1];
streams[0] = new ImageSourceStream(width, height, frameRate, images);
public void setLocator(MediaLocator source) {
public MediaLocator getLocator() {
return null;
* Content type is of RAW since we are sending buffers of video
* frames without a container format.
public String getContentType() {
return ContentDescriptor.RAW;
public void connect() {
public void disconnect() {
public void start() {
public void stop() {
* Return the ImageSourceStreams.
public PullBufferStream[] getStreams() {
return streams;
* We could have derived the duration from the number of
* frames and frame rate. But for the purpose of this program,
* it's not necessary.
public Time getDuration() {
return DURATION_UNKNOWN;
public Object[] getControls() {
return new Object[0];
public Object getControl(String type) {
return null;
* The source stream to go along with ImageDataSource.
class ImageSourceStream implements PullBufferStream {
Vector images;
int width, height;
VideoFormat format;
int nextImage = 0; // index of the next image to be read.
boolean ended = false;
public ImageSourceStream(int width, int height, int frameRate, Vector images) {
this.width = width;
this.height = height;
this.images = images;
format = new VideoFormat(VideoFormat.JPEG,
new Dimension(width, height),
Format.NOT_SPECIFIED,
Format.byteArray,
(float)frameRate);
* We should never need to block assuming data are read from files.
public boolean willReadBlock() {
return false;
* This is called from the Processor to read a frame worth
* of video data.
public void read(Buffer buf) throws IOException {
// Check if we've finished all the frames.
if (nextImage >= images.size()) {
// We are done. Set EndOfMedia.
System.err.println("Done reading all images.");
buf.setEOM(true);
buf.setOffset(0);
buf.setLength(0);
ended = true;
return;
String imageFile = (String)images.elementAt(nextImage);
nextImage++;
System.err.println(" - reading image file: " + imageFile);
// Open a random access file for the next image.
RandomAccessFile raFile;
raFile = new RandomAccessFile(imageFile, "r");
byte data[] = null;
// Check the input buffer type & size.
if (buf.getData() instanceof byte[])
data = (byte[])buf.getData();
// Check to see the given buffer is big enough for the frame.
if (data == null || data.length < raFile.length()) {
data = new byte[(int)raFile.length()];
buf.setData(data);
// Read the entire JPEG image from the file.
raFile.readFully(data, 0, (int)raFile.length());
System.err.println(" read " + raFile.length() + " bytes.");
buf.setOffset(0);
buf.setLength((int)raFile.length());
buf.setFormat(format);
buf.setFlags(buf.getFlags() | buf.FLAG_KEY_FRAME);
// Close the random access file.
raFile.close();
* Return the format of each video frame. That will be JPEG.
public Format getFormat() {
return format;
public ContentDescriptor getContentDescriptor() {
return new ContentDescriptor(ContentDescriptor.RAW);
public long getContentLength() {
return 0;
public boolean endOfStream() {
return ended;
public Object[] getControls() {
return new Object[0];
public Object getControl(String type) {
return null;
on executing with the command:
java JpegImagesToMovie -w <width> -h <height> -f <frame rate per sec.> -o <output URL> <input JPEG file 1> <input JPEG file 2> ...
comes this......
Exception in thread"JMF thread:SendEventQueue:com.sun.media.processor.unknown Handler" java.lang.NullPointerException"
plz helpDon't forget to use the "Code Formatting Tags",
see http://forum.java.sun.com/help.jspa?sec=formatting,
so the posted code retains its original formatting. -
Problem with execute immediate code
I have the following anonymous block:
declare
v_id_char varchar2(50) := '2072018827821663';
trace_flg number := 0;
v_exe_imm varchar2(500) := 'univdb.EML_CAMPUS_200605(v_id_char, trace_flg)';
v_exe_imm2 varchar2(500) := 'univdb.EML_CAMPUS_200605(:v_id_char, :trace_flg)';
begin
--1) execute immediate v_exe_imm;
--2) execute immediate v_exe_imm2 using v_id_char, trace_flg);
univdb.EML_CAMPUS_200605(v_id_char, trace_flg);
end;
The compiled procedure that is getting called is defined like this:
CREATE OR REPLACE PROCEDURE univdb.eml_campus_200605(
hist_str IN VARCHAR2,
trace_flg IN NUMBER := 0) IS ...
As you might expect, when I execute the block without execute immediate it works.
But either of the execute immediate statements results in ORA-00900: invalid SQL statment.
I want to use execute immediate because the procedure that gets called will need to be dynamic.
Help appreciated,
...elsaFor me, thats crude if you have a procedure thats
getting created dynamically.
anyway, you could try a
execute immediate ' begin ' || your_funny_proc || '
end;';But for sure the whole stuff is very error prone.Actually, the procedure itself isn't getting built dynamically, only which procedure to call. It's really quite clever in my opinion.
Anyway, I tried you suggestion:
declare
v_id_char varchar2(50) := '2072018827821663';
trace_flg number := 0;
v_exe_imm varchar2(500) := 'univdb.EML_CAMPUS_200605(v_id_char, trace_flg)';
v_exe_imm2 varchar2(500) := 'univdb.EML_CAMPUS_200605(:v_id_char, :trace_flg)';
begin
execute immediate 'BEGIN ' || v_exe_imm || '; END;';
--execute immediate v_exe_imm2 using v_id_char, trace_flg);
--univdb.EML_CAMPUS_200605(v_id_char, trace_flg);
end;
and got
ORA-06550: line 1, column 32:
PLS-00201: identifier 'V_ID_CHAR' must be declared
Did I misunderstand what you were trying for? -
Facing problem on executing RSA3
Hi techies,
In BI7 netweaver system, when my client runs RSA3 with a selection, he can see 'start date and end date', where when I run for the same DS and with same selection I can only see the field but not the value, the field appears empty.
This could be authorization issue, but unable to figure out as its not hitting any unauthorized field internally as nothing was revealed under Trace On with security team.
Please guide me on this ASAP.
Regards,
Subhash.Hi Subhash,
I am not sure if there is any other way. What you can probably do is, ask the user for the frequent access he requires and the reports he executes. Thus you might be able to get the most required authorizations and provide the same to the user.
Then you can ask the Basis to provide those accesses.
I cannot think of a better way for this.
Hope this helps.
Regards,
Gaurav -
Facing a small problem while executing WDA application from portal
Hi Experts,
I developed web dynpro for ABAP application and placed table UI control, which contains 270 records. Executing from SE80, it is working fine and showing clearly all records.
This application integrated in portal, while executing this applicaiton from portal, it is working fine and showing all records.
Here I facing a small problem i.e Pager ( footer area ) of table.
When the table is displayed there are the small box in the below of the table showing ROWS 244 of 270.
244 will be available in a small box. this 244 is not showing clearly, while executing from portal ( last digit 4 displying half part only). but 244 showing clearly while executing from SE80.
Kindly suggest how to resolve this problem.
Thanks & Regards
SridharHi Gopi Krishna,
Thanks for your time. From SE80, it is working fine and showing clearly row number. There is no property for increase width of small box, which contains current row number).
Facing problem while executing from portal.
Thanks & Regards
Sridhar -
A problem in executing exp.exe through Java
while implementing oracle schema export I am facing problem in executing the exp.exe from JAVA. Please see sample code below.
Process p=null;
ProcessBuilder pb = new ProcessBuilder ("exp.exe","username/password@dbinstance", "owner=pr01",
"file=e:/temp/pr98.dmp","log=e:/temp/pr98.log","compress=y","grants=n","STATISTICS=COMPUTE");
try{
p = pb.start();
catch(Exception e){
System.out.println("Error="+e.getMessage());
where pr01 - name of schema to export.
With this code, the actual export of the project starts only after Java application is closed and not immediately on the click of a button.
I have used Runtime.exec() tooo...The same problem is there..
Any solution?HI
Did you fix this problem with svrmgr. I have exactly the same problem and I am runing redhat 7.2 and oracle 8.1.6
Thanks, Jason -
Problem with executing shell script on linux through java code.
i am facing problem to kill jboss process on linux that is my application requirement. for that i created one shell script that will get all the process for jboss instance and kill them when i am running that script from command prompt on linux its working perfectly.
The command i am using ---
/opt/RW9/jboss/v4.0.5.GA/bin/restartjboss.sh.
but when i am running through java code its not working.
the java code i am using is:-
pp = Runtime.getRuntime().exec(new String[]{"/bin/sh", "-c", "/opt/RW9/jboss/v4.0.5.GA/bin/restartjboss.sh"});
could anyone tell me what is the problem ?
Edited by: akm198110 on Sep 2, 2008 9:24 AMI got the problem after long struggle ,after doing proper path i am able to execute the shell script..
-
Problem while executing the transaction code FMBV (Reconstruct)
We are facing a problem while executing the transaction code FMBV
(Reconstruct Availability Control in Funds Management) in it when we
execute this transaction system only updates the expenditure which is
made before technical upgrade from 4.6c to ECC6 EHP6, against the
Assigned Budget (KBFC budget type) in the Annual Budget Table (BPJA)
and
the expenditure which we made after the upgrade, the program just
ignore
it. We can also see the expenditure in the standard FBL3N report.
Please guide us.
Thanks and Best Regards,Dear Abrar
In your description, you refer to missing update after an upgrade. First of all, see if table FMIT is consistent, as it is the basis for calculating the assigned values during AVC reconstruction.
Refer to this note:
977016 FMIT: Missing totals records in Funds Management And perform following steps:
1.- Run program RGZZGLUX
2.- Run program RFFMRC04 to match totals table with line items. A test run after a successful effective run should not find inconsistencies.
3.- If RFFMRC04 does not show more inconsistencies, run FMBV as final step.
Note that this reconstruction must be done without any other budgeting/posting activities at the same time, otherwise you may cause other inconsistencies.
Please let me know the results.
Best regards,
977016 - FMIT: Missing totals records in Funds Management
Symptom
After the upgrade to ERP 2004 or higher you realize that the FMIT totals table is no longer updated in Funds Management. You start the RFFMRC04 report to reconstruct the totals, but the report still displays the missing totals after an update run.
Other Terms
FMIT, EA-PS, ECC 5.00, ECC 6.00, ECC 7.00
Reason and Prerequisites
This problem occurs due to a generation error.
Solution
Start the RGZZGLUX report to generate missing source code in FI-SL. Then start the RFFMRC04 report to reconstruct the totals, now another run of the report should no longer display any errors. -
I am facing problem in starting ShellHWDetection service Error code 1075,please help
I am facing problem in starting ShellHWDetection service Error code 1075,please help
Shellhwdetection is a Windows service which stands for Shell Hardware Detection Service.
It provides notifications for AutoPlay hardware events.
System error code 1075 means "The dependency service does not exist or has been marked for deletion."
Please run services.msc, then find Shell Hardware Detection Service, view its dependencies
Make sure the three services are set to running "automatic" in Services.
If this doesn't help, then run sfc to check if there're some missing or corrupted files in system.
Yolanda Zhu
TechNet Community Support -
Facing problem with the code for sending an .xls attachment via email, a field value contains leading zeros but excel automatically removes these from display i.e. (00444 with be displayed as 444).kindly guide .
Hi Chhayank,
the problem is not the exported xls. If you have a look inside with Notepad or something like that, you will see that your leading zeros are exported correct.Excel-settings occurs this problem, it is all about how to open the document. If you use the import-assistant you will have no problems because there are options available how to handle the different columns.
Another solution might be to get familiar with ABAP2XLS-Project. I got in my mind, that there is a method implemented, that will help you solving this problem. But that is not a five minute job
~Florian -
I am facing problem on T-code ko88
Hello
I am facing problem at the time of disuniting cost there is error if some body help me out with this
No source assignment found for cost element 7011
Message no. KD560
Diagnosis
The sender bears the AP source structure and was debited with costs from the 7011 cost element. This cost element is not assigned to any source assignment in the ASHI controlling area of the ASHI source source structure.
Procedure
Maintain the AP source structure.
Thanks
AshishHi
You have to consider your cost element under source structure. Then, system will consider that cost element for transferring purpose.
Controlling > Internal Orders > Actual Postings > Settlement > Maintain Source Structure - there you have to maintain.
Best Wishes. -
Dll Created In: - MFC VC
6.0
Application Exe Developed In:
- VC 6.0, C# and VB.net (Applications which are using dll)
OS: - Windows XP sp2 32bit
/ Windows Server 2008 64 bit
Problem: - Facing problem in creating socket
in a method from an already deployed application exe while same method is working from another exe from same environment from same location.
Description: - We have product component which
has an exe component and from exe we invoke a method, which is defining in dll, and that dll is developed in MFC VC6.0. In the dll we have a method which downloads images from another system after making socket connection. But every time we are getting Error
code 7, it is not giving desire result while same method is working from another exe from same environment from same location. And also me dll is deployed on many systems and giving proper output from same application.
Already Attempt: - Because error is coming on
client side so what we did, we created a driver in C# which invokes same method from same environment(on client machine) using same dll and we are astonished because it worked fine there.
Kindly Suggest: -
We are not able to figure out root cause because nothing is coming in windows event logs but what I did, for finding the problem line, I wrote logs on each line and found the exact line in application exe which is not working,
actually it is not executing Create () method,
I will give snippet of the code for understanding the problem because we are not finding any kind solution for it.
Kindly assist us in understanding and fixing this problem.
Code Snippet: -
Int Initialize (LPTSTR SiteAddress, short PortId)
try
CClientTSSocket *m_pJtsSockto;
m_pJtsSockto = new CClientTSSocket;
LONG lErr = m_pJtsSockto->ConnectTS(csIPAddress,PortId);
ErrorLog (0, 0, "--------ConnectTS has been called ------------","" );
catch(...)
DWORD errorCode = GetLastError();
CString errorMessage ;
errorMessage.Format("%lu",errorCode);
ErrorLog (0, 0, "Image System", (LPTSTR)(LPCTSTR)errorMessage);
return IS_ERR_WINDOWS;
Note: -
CClientTSSocket extends CAsyncSocket
IS_ERR_WINDOWS is a macro error code which value I found 7.
LONG ConnectTS(CString strIP, UINT n_Port)
ErrorLog(0,0,"ConnectTS is calling Create [is going to call]","");
if(!Create())
ErrorLog(0,0,"ConnectTS is calling [Create not called successfully] ","");
n_Err = GetLastError();
ErrorLog(n_Err,0,"ConnectTS is calling1111111111111111Erorrrrrrrrrrrrr","");
return NET_INIT;
ErrorLog(0,0,"ConnectTS is calling2222222222222222222","");
if(!AsyncSelect(0))
n_Err = GetLastError();
return NET_INIT;
if(!Connect(strIP,n_Port))
n_Err = GetLastError();
ErrorLog(n_Err,0,"ConnectTS","");
return SERVER_NOT_CONNECTED;
Code description: -
From
int GETImage_MT() method we call Initialize() method and pass client machine IP and Port and there we call
ConnectTS() method, In this method we Create() method and finally it returns the error code as mention in macro 7.
Logs after running the program: -
--------ConnectTS has been called ------------
ConnectTS is calling Create [is going to call]
Image System
0
Note: - According to logs, problem is coming in Create method().
Here 0 is errorMessage received in catch block. And from catch block it returns macro value 7. And when we run same method individually from same machine, same environment through same dll
from different exe, it is working fine and we are facing any kind of problem. While same problem application was working properly earlier but now continuously it showing problem.
Kindly assist us to resolve the issue.Pointer variable was already initialized; I have mention in code; kindly assist us.
Dll Created In: - MFC VC 6.0
Application Exe Developed In: - VC 6.0, C# and VB.net (Applications which are using dll)
OS: - Windows XP sp2 32bit / Windows Server 2008 64 bit
Problem: - Facing problem in creating socket
in a method from an already deployed application exe while same method is working from another exe from same environment from same location.
Description: - We have product component
which has an exe component and from exe we invoke a method, which is defining in dll, and that dll is developed in MFC VC6.0. In the dll we have a method which downloads images from another system after making socket connection. But every time we are getting
Error code 7, it is not giving desire result while same method is working from another exe from same environment from same location. And also me dll is deployed on many systems and giving proper output from same application.
Already Attempt: - Because error is coming
on client side so what we did, we created a driver in C# which invokes same method from same environment (on client machine) using same dll and we are astonished because it worked fine there.
Kindly Suggest:
- We are not able to figure out root cause because nothing is coming in windows event logs but what I did, for finding the problem line, I wrote logs on each line and found the exact line in application exe which is not
working, actually it is not executing Create () method, I will give snippet of the code for understanding
the problem because we are not finding any kind solution for it. Kindly assist us in understanding and fixing this problem.
Code Snippet: -
Int Initialize (LPTSTR SiteAddress, short PortId)
try
CClientTSSocket *m_pJtsSockto;
m_pJtsSockto = new CClientTSSocket;
LONG lErr = m_pJtsSockto->ConnectTS(csIPAddress,PortId);
ErrorLog (0, 0, "--------ConnectTS has been called ------------","" );
catch(...)
DWORD errorCode = GetLastError();
CString errorMessage ;
errorMessage.Format("%lu",errorCode);
ErrorLog (0, 0, "Image System", (LPTSTR)(LPCTSTR)errorMessage);
return IS_ERR_WINDOWS;
Note: - CClientTSSocket extends CAsyncSocket
IS_ERR_WINDOWS is a macro error code which value I found 7.
LONG ConnectTS(CString strIP, UINT n_Port)
ErrorLog(0,0,"ConnectTS is calling Create [is going to call]","");
if(!Create())
ErrorLog(0,0,"ConnectTS is calling [Create not called successfully] ","");
n_Err = GetLastError();
ErrorLog(n_Err,0,"ConnectTS is calling1111111111111111Erorrrrrrrrrrrrr","");
return NET_INIT;
ErrorLog(0,0,"ConnectTS is calling2222222222222222222","");
if(!AsyncSelect(0))
n_Err = GetLastError();
return NET_INIT;
if(!Connect(strIP,n_Port))
n_Err = GetLastError();
ErrorLog(n_Err,0,"ConnectTS","");
return SERVER_NOT_CONNECTED;
Code description: - From int GETImage_MT() method
we call Initialize() method and pass client machine IP and Port and there we call ConnectTS() method, In
this method we Create() method and finally it returns the error code as mention in macro 7.
Logs after running the program: -
--------ConnectTS has been called ------------
ConnectTS is calling Create [is going to call]
Image System 0
Note: - According to logs, problem is coming in Create method(). Here
0 is errorMessage received in catch block. And from catch block it returns macro value 7. And when we run same method individually from same machine, same environment through same dll from different exe, it is working fine and we are facing any kind of problem.
While same problem application was working properly earlier but now continuously it showing problem.
Kindly assist us to resolve the issue. -
Facing problem in copy of standard SAP program
hi,,,,,,,,,,,,
when i execute this program in production server it displays an error ....i m trying to find out this error but this type(error) i cudnt find plz help me .....
i m sending the documents which i rcvd from the system after the execution of this program.
this program executes perfctlly in developmnt server but it creates problem in production server,,,i searched out the type kkblo_t_sortinfo in the whole program but i cud nt find it ,,,,,,,,,
documents.....
Runtime Errors SYNTAX_ERROR
Date and Time 18.11.2006 12:01:19
ShrtText
Syntax error in program "ZVISA_RM07MLBD ".
What happened?
Error in ABAP application program.
The current ABAP program "????????????????????????????????????????" had to be
terminated because one of the
statements could not be executed.
This is probably due to an error in the ABAP program.
In program "ZVISA_RM07MLBD ", the following syntax error occurred
in the Include "RM07MLBD_FORM_01 " in line 1805:
The type KKBLO_T_SORTINFO" is unknown."
also i m sending the include program ver i m facing problem...*&----
*& Include RM07MLBD_FORM_01 *
correction Aug. 2005 MM "n856424
- the fields "entry time", "entry date", and "User" are "n856424
are not filled filled for price change documents "n856424
MB5B improved regarding accessibilty "n773673
Improvements : March 2003 MM "n599218
- print the page numbers "n599218
- send warning M7 393 when user deletes the initial "n599218
display variant "n599218
- show the current activity and the progress "n599218
contains FORM routines without preprocessor commands and "n547170
no text elements "n547170
*& Form INITIALISIERUNG
Vorbelegung der Anzeigevariante *
form initialisierung.
repid = sy-repid.
variant_save = 'A'.
clear variante.
variante-report = repid.
Default-Variante holen:
def_variante = variante.
call function 'REUSE_ALV_VARIANT_DEFAULT_GET'
exporting
i_save = variant_save
changing
cs_variant = def_variante
exceptions
not_found = 2.
if sy-subrc = 0.
save the initial, e.g. default variant "n599218
move def_variante-variant to alv_default_variant. "n599218
p_vari = def_variante-variant.
endif.
print-no_print_listinfos = 'X'.
endform. " INITIALISIERUNG
*& Form AKTUELLE_BESTAENDE
Ermittlung der aktuellen eigenen Bestände,
d.h. der bewerteten Bestände und des Retourensperrbestandes,
auf Lagerortebene und auf Material- bzw. Chargenebene;
folgende Sonderbestände können gesondert ausgewiesen werden:
Lohnbearbeitung ( Sonderbestandskennzeichen O )
Kundenkonsignation ( " V, W, M )
Lieferantenkonsignation ( " K )
Projektbestand ( " Q )
Kundenauftragsbestand ( " E )
form aktuelle_bestaende.
delete the range tables for the creation of table g_t_organ
if g_t_organ[] is initial. "n433765
refresh : g_0000_ra_werks, g_0000_ra_bwkey, g_0000_ra_bukrs.
clear : g_0000_ra_werks, g_0000_ra_bwkey, g_0000_ra_bukrs.
endif.
if bwbst = 'X'.
select the valuated stocks
perform aktuelle_bst_bwbst.
elseif lgbst = 'X'.
all own stock from storage locations or batches
if xchar = ' '.
perform aktuelle_bst_lgbst_mard.
elseif xchar = 'X'.
perform aktuelle_bst_lgbst_xchar.
endif.
elseif sbbst = 'X'.
special stocks
case sobkz.
when 'O'.
perform aktuelle_bst_sbbst_o.
when 'V' or 'W'.
perform aktuelle_bst_sbbst_v_w.
when 'K' or 'M'.
perform aktuelle_bst_sbbst_k_m.
when 'Q'.
perform aktuelle_bst_sbbst_q.
when 'E'.
perform aktuelle_bst_sbbst_e.
when others.
Angegebener Sonderbestand nicht vorhanden.
message s290.
perform anforderungsbild.
endcase.
endif.
create table g_t_organ with the plants and valuation areas from
the database selection if table g_t_organ is empty
perform f0000_create_table_g_t_organ
using c_no_error.
endform. "aktuelle_bestaende.
*& AKTUELLE_BST_LGBST_MARD
form aktuelle_bst_lgbst_mard.
eigener Bestand auf Lagerortebene -
... auf Materialebene -
select * from mard into corresponding fields of table imard
where werks in g_ra_werks
and lgort in g_ra_lgort
and matnr in matnr.
if sy-subrc ne 0. "no records found ?
message s289.
Kein Material in Selektion vorhanden.
perform anforderungsbild.
endif.
does the user has the the authority for the found entries ?
loop at imard.
perform f9000_auth_plant_check
using imard-werks.
if g_flag_authority is initial.
delete imard.
else.
perform f9200_collect_plant using imard-werks.
perform f9400_material_key using imard-matnr.
endif.
endloop.
describe table imard lines g_f_cnt_lines.
if g_f_cnt_lines is initial. "no records left ?
message s289.
Kein Material in Selektion vorhanden.
perform anforderungsbild.
endif.
if not charg-low is initial or not charg-high is initial.
clear charg.
message w285.
Charge wird zurückgesetzt.
endif.
endform. "aktuelle_bst_lgbst_mard
AKTUELLE_BST_LGBST_XCHAR
form aktuelle_bst_lgbst_xchar.
read the stock table mchb for batches
select * from mchb into corresponding fields of table imchb
where werks in g_ra_werks
and lgort in g_ra_lgort
and matnr in matnr
and charg in charg.
describe table imchb lines g_f_cnt_lines.
if g_f_cnt_lines is initial. "no records found ?
message s821 with matnr werks lgort.
Keine Chargen zu Material & in Werk & Lagerort & vorhanden.
perform anforderungsbild.
endif.
process working table with the batches
loop at imchb.
does the user has the the authority for the found entries ?
perform f9000_auth_plant_check
using imchb-werks.
if g_flag_authority is initial.
delete imchb.
else.
perform f9200_collect_plant using imchb-werks.
perform f9400_material_key using imchb-matnr.
endif.
endloop.
endform. "aktuelle_bst_lgbst_xchar
AKTUELLE_BST_SBBST_O
form aktuelle_bst_sbbst_o.
process Special Stocks with Vendor
Bemerkung: Im Gegensatz zu den anderen Sonderbeständen existieren
der Lohnbearbeitungs- und Kundenkonsignationsbestand
nur auf Werksebene.
select * from mslb into corresponding fields of table xmslb
where werks in g_ra_werks
and matnr in matnr
and charg in charg
and sobkz = 'O'.
if sy-subrc <> 0. "no records found ?
message s289.
Kein Material in Selektion vorhanden.
perform anforderungsbild.
endif.
process the found records special stock vendor
loop at xmslb.
check the authority
perform f9000_auth_plant_check
using xmslb-werks.
if g_flag_authority is initial.
delete xmslb.
else.
fill range table g_0000_ra_werks if it is still empty
perform f9200_collect_plant using xmslb-werks.
perform f9400_material_key using xmslb-matnr.
endif.
endloop.
error, if no records are left
describe table xmslb lines g_f_cnt_lines.
if g_f_cnt_lines is initial.
message s289.
Kein Material in Selektion vorhanden.
perform anforderungsbild.
endif.
sort xmslb.
loop at xmslb.
move-corresponding xmslb to imslb.
collect imslb.
endloop.
free xmslb. refresh xmslb.
if xchar = ' '.
loop at imslb.
move-corresponding imslb to imslbx.
collect imslbx.
endloop.
sort imslbx.
elseif xchar = 'X'.
loop at imslb.
check imslb-charg is initial.
delete imslb.
endloop.
endif.
endform. "aktuelle_bst_sbbst_o.
AKTUELLE_BST_SBBST_V_W
form aktuelle_bst_sbbst_v_w.
Sonderbestand Kundenkonsignation -
elseif sobkz = 'V' or sobkz = 'W'.
select * from msku into corresponding fields of table xmsku
where werks in g_ra_werks
and matnr in matnr
and charg in charg
and sobkz eq sobkz.
if sy-subrc <> 0. "no records found
message s289.
Kein Material in Selektion vorhanden.
perform anforderungsbild.
endif.
process Special Stocks with Customer
loop at xmsku.
perform f9000_auth_plant_check using xmsku-werks.
if g_flag_authority is initial.
delete xmsku.
else.
perform f9200_collect_plant using xmsku-werks.
perform f9400_material_key using xmsku-matnr.
endif.
endloop.
describe table xmsku lines g_f_cnt_lines.
if g_f_cnt_lines is initial. "no records found
message s289.
Kein Material in Selektion vorhanden.
perform anforderungsbild.
endif.
sort xmsku.
loop at xmsku.
move-corresponding xmsku to imsku.
collect imsku.
endloop.
free xmsku. refresh xmsku.
if xchar = ' '.
loop at imsku.
move-corresponding imsku to imskux.
collect imskux.
endloop.
sort imskux.
elseif xchar = 'X'.
loop at imsku.
check imsku-charg is initial.
delete imsku.
endloop.
endif.
if sy-subrc ne 0.
message s042. "#EC * "n443935
Charge ist nicht vorhanden.
perform anforderungsbild.
endif.
endform. "aktuelle_bst_sbbst_v_w
AKTUELLE_BST_SBBST_K_M
form aktuelle_bst_sbbst_k_m.
Sonderbestand Lieferantenkonsignation -
elseif sobkz = 'K' or sobkz = 'M'.
select * from mkol into corresponding fields of table xmkol
where werks in g_ra_werks
and lgort in g_ra_lgort
and matnr in matnr
and charg in charg
and sobkz eq sobkz.
if sy-subrc <> 0. "no records found
message s289.
Kein Material in Selektion vorhanden.
perform anforderungsbild.
endif.
process Special Stocks from Vendor
loop at xmkol.
perform f9000_auth_plant_check using xmkol-werks.
if g_flag_authority is initial.
delete xmkol.
else.
perform f9200_collect_plant using xmkol-werks.
perform f9400_material_key using xmkol-matnr.
endif.
endloop.
describe table xmkol lines g_f_cnt_lines.
if g_f_cnt_lines is initial. "no records found
message s289.
Kein Material in Selektion vorhanden.
perform anforderungsbild.
endif.
sort xmkol.
loop at xmkol.
move-corresponding xmkol to imkol.
collect imkol.
endloop.
free xmkol. refresh xmkol.
if xchar = ' '.
loop at imkol.
move-corresponding imkol to imkolx.
collect imkolx.
endloop.
sort imkolx.
elseif xchar = 'X'.
loop at imkol.
check imkol-charg is initial.
delete imkol.
endloop.
endif.
if sy-subrc ne 0.
message s042. "#EC * "n443935
Charge ist nicht vorhanden.
perform anforderungsbild.
endif.
endform. "aktuelle_bst_sbbst_k_m.
AKTUELLE_BST_SBBST_Q
form aktuelle_bst_sbbst_q.
Projektbestand -
elseif sobkz = 'Q'.
select * from mspr into corresponding fields of table xmspr
where werks in g_ra_werks
and lgort in g_ra_lgort
and matnr in matnr
and charg in charg
and sobkz eq sobkz.
if sy-subrc <> 0. "no record found
message s289.
Kein Material in Selektion vorhanden.
perform anforderungsbild.
endif.
process project stock
loop at xmspr.
perform f9000_auth_plant_check using xmspr-werks.
if g_flag_authority is initial.
delete xmspr.
else.
perform f9200_collect_plant using xmspr-werks.
perform f9400_material_key using xmspr-matnr.
endif.
endloop.
describe table xmspr lines g_f_cnt_lines.
if g_f_cnt_lines is initial. "no record left
message s289.
Kein Material in Selektion vorhanden.
perform anforderungsbild.
endif.
sort xmspr.
loop at xmspr.
move-corresponding xmspr to imspr.
collect imspr.
endloop.
free xmspr. refresh xmspr.
if xchar = ' '.
loop at imspr.
move-corresponding imspr to imsprx.
collect imsprx.
endloop.
sort imsprx.
elseif xchar = 'X'.
loop at imspr.
check imspr-charg is initial.
delete imspr.
endloop.
endif.
endform.: "aktuelle_bst_sbbst_q
AKTUELLE_BST_SBBST_E
form aktuelle_bst_sbbst_e.
Kundenauftragsbestand -
select * from mska into corresponding fields of table xmska
where werks in g_ra_werks
and lgort in g_ra_lgort
and matnr in matnr
and charg in charg
and sobkz eq sobkz.
if sy-subrc <> 0. "no records found
message s289.
Kein Material in Selektion vorhanden.
perform anforderungsbild.
endif.
process Sales Order Stock
loop at xmska.
perform f9000_auth_plant_check using xmska-werks.
if g_flag_authority is initial.
delete xmska.
else.
perform f9200_collect_plant using xmska-werks.
perform f9400_material_key using xmska-matnr.
endif.
endloop.
describe table xmska lines g_f_cnt_lines.
if g_f_cnt_lines is initial. "no records left ?
message s289.
Kein Material in Selektion vorhanden.
perform anforderungsbild.
endif.
sort xmska.
loop at xmska.
move-corresponding xmska to imska.
collect imska.
endloop.
free xmska. refresh xmska.
if xchar = ' '.
loop at imska.
move-corresponding imska to imskax.
collect imskax.
endloop.
sort imskax.
elseif xchar = 'X'.
loop at imska.
check imska-charg is initial.
delete imska.
endloop.
endif.
endform. "aktuelle_bst_sbbst_e
*& Form TABELLEN_LESEN
Lesen der Materialkurztexte (Tabelle MAKT), *
der Mengeneinheiten (Tabelle MARA) und *
Mengen- und Wertfortschreibung zum Material (Tabelle T134M) *
(Letzteres ist zum Aussortieren der unbewerteten bzw. *
kontierten Warenbewegungen notwendig) *
form tabellen_lesen.
if not g_t_mat_key[] is initial. "n451923
select the material masters
select matnr meins mtart from mara
into corresponding fields of table imara
for all entries in g_t_mat_key
where matnr = g_t_mat_key-matnr.
select the short text for all materials
take only the necessary fields "n451923
select matnr maktx from makt "n451923
into corresponding fields of table g_t_makt "n451923
for all entries in g_t_mat_key
where matnr = g_t_mat_key-matnr
and spras = sy-langu.
sort imara by matnr. "n451923
sort g_t_makt by matnr. "n451923
free g_t_mat_key.
endif.
data: begin of k1 occurs 0,
mtart like t134m-mtart,
end of k1.
refresh k1.
loop at imara.
k1-mtart = imara-mtart.
collect k1.
endloop.
if not k1[] is initial. "n451923
select * from t134m
into corresponding fields of table it134m
for all entries in k1 where mtart = k1-mtart
and bwkey in g_ra_bwkey.
endif. "n451923
loop at it134m.
read table organ with key bwkey = it134m-bwkey.
perform f9300_read_organ
using c_bwkey it134m-bwkey.
if sy-subrc ne 0.
delete it134m.
endif.
endloop.
To find postings with valuation string, but without relevance for
the valuated stock, Big-G recommended this logic:
Take lines from MSEG where for the combination BUSTW/XAUTO=XBGBB
there is an entry in T156W with key BSX.
select bustw xbgbb from t156w
into corresponding fields of table it156w
where vorsl = 'BSX'.
sort it156w by bustw xbgbb.
delete adjacent duplicates from it156w.
delete it156w where bustw = space.
endform. " TABELLEN_LESEN
*& Form UNBEWERTET_WEG
Löschen der unbewerteten Materialien aus der internen *
Tabelle IMBEW
form unbewertet_weg.
sort it134m by bwkey mtart. "n451923
"n450764
delete the materials in plants without valuation "n450764
loop at g_t_mbew into g_s_mbew. "n450764
read table imara "n450764
with key matnr = g_s_mbew-matnr "n450764
binary search. "n450764
"n450764
read table it134m with key bwkey = g_s_mbew-bwkey "n450764
mtart = imara-mtart binary search.
if sy-subrc ne 0.
message ...
delete g_t_mbew. "n450764
else.
if it134m-wertu = ' '.
delete g_t_mbew. "n450764
else. "n450764
enrich the entries with the quantity unit "n450764
move imara-meins to g_s_mbew-meins. "n450764
modify g_t_mbew from g_s_mbew "n450764
transporting meins. "n450764
endif.
endif.
endloop.
endform. " UNBEWERTET_WEG
*& Form FI_BELEGE_LESEN *
Lesen der Buchhaltungsbelege *
Beim Erfassen der Werte ist es notwendig, die Buchhaltungsbelege *
zum Material zu lesen, um abweichende Werte zwischen Wareneingang *
und Rechnungseingang sowie Nachbelastungen zu berücksichtigen. *
form fi_belege_lesen.
Not related to note 184465, but a significant performance issue
if ORGAN is large due to many plants/storage locations.
data: begin of t_bwkey occurs 0, "184465
bwkey like bsim-bwkey, "184465
end of t_bwkey. "184465
loop at g_t_organ where keytype = c_bwkey.
move g_t_organ-bwkey to t_bwkey-bwkey.
collect t_bwkey. "184465
endloop. "184465
read table t_bwkey index 1. "184465
check sy-subrc = 0. "184465
select * from bsim "n443935
into corresponding fields of table g_t_bsim_lean "n443935
for all entries in t_bwkey where bwkey = t_bwkey-bwkey
and matnr in matnr
and bwtar in bwtar
and budat >= datum-low.
loop at g_t_bsim_lean into g_s_bsim_lean. "n443935
perform f9300_read_organ
using c_bwkey g_s_bsim_lean-bwkey. "n443935
if sy-subrc is initial.
record found : the user has the authority, go on
move g_s_organ-bukrs to g_s_bsim_lean-bukrs. "n443935
modify g_t_bsim_lean from g_s_bsim_lean "n443935
transporting bukrs. "n451923
create working table with the keys for the FI documents
move-corresponding g_s_bsim_lean "n443935
to g_t_bkpf_key. "n443935
append g_t_bkpf_key.
else.
delete g_t_bsim_lean. "n443935
endif.
endloop.
endform. " FI_BELEGE_LESEN
*& Form BELEGE_SORTIEREN
Die Materialbelege werden anhand des Buchungsdatums sortiert.
Die Materialbelege mit Buchungsdatum zwischen 'datum-high'
und dem aktuellen Datum werden in der internen Tabelle IMSWEG
gesammelt, während die Materialbelege mit Buchungsdatum
zwischen 'datum-low' und 'datum-high' in der internen Tabelle
IMSEG verbleiben.
form belege_sortieren.
aktdat = sy-datlo + 30.
if not ( datum-high is initial or datum-high > aktdat ).
loop at g_t_mseg_lean into g_s_mseg_lean
where budat > datum-high.
move-corresponding g_s_mseg_lean to imsweg.
append imsweg.
delete g_t_mseg_lean.
endloop.
endif.
describe table imsweg lines index_2.
endform. " BELEGE_SORTIEREN
*& Form KONTIERT_AUSSORTIEREN
Aussortierung der kontierten Belegpositionen, *
da diese Mengen nicht bestandsrelevant sind *
form kontiert_aussortieren.
process table g_t_mseg_lean
loop at imseg where kzvbr <> space and "144845
( kzbew = 'B' or kzbew = 'F' ). "144845
read table imara with key matnr = imseg-matnr.
read table it134m with key mtart = imara-mtart.
if not it134m-mengu is initial and not it134m-wertu is initial.
Die Felder 'mengu' und 'wertu' (Mengen- bzw. Wertfortschreibung)
sind ab Release 3.0 D auch in die Tabelle MSEG aufgenommen.
Die Einträge in der Tabelle T134M stellen nach wie vor die generelle
Einstellung dar; auf Positionsebene sind jedoch Abänderungen möglich,
die anhand der Einträge in der Tabelle MSEG nachverfolgt werden
können.
delete imseg.
endif.
endloop.
data : l_f_bwkey like t001k-bwkey. "n497992
sort it134m by bwkey mtart. "n497992
loop at g_t_mseg_lean into g_s_mseg_lean
where kzvbr <> space
and ( kzbew = 'B' or kzbew = 'F' ).
get the valuation area "n497992
if curm = '3'. "n497992
valuation level is company code "n497992
if g_s_mseg_lean-bukrs is initial. "n497992
get the valuation area for this plant "n497992
perform f9300_read_organ "n497992
using c_werks g_s_mseg_lean-werks. "n497992
"n497992
move g_s_organ-bwkey to l_f_bwkey. "n497992
else. "n497992
move g_s_mseg_lean-bukrs to l_f_bwkey. "n497992
endif. "n497992
else. "n497992
valuation level is plant "n497992
move g_s_mseg_lean-werks to l_f_bwkey. "n497992
endif. "n497992
read table imara with key matnr = g_s_mseg_lean-matnr
binary search.
if sy-subrc is initial.
read table it134m with key bwkey = l_f_bwkey "n497992
mtart = imara-mtart "n497992
binary search.
if sy-subrc is initial.
if not it134m-mengu is initial and
not it134m-wertu is initial.
delete g_t_mseg_lean.
endif.
endif.
else.
delete g_t_mseg_lean.
endif.
endloop.
endform. " KONTIERT_AUSSORTIEREN
*& Form BELEGE_ERGAENZEN (engl. enrich documents)
Material documents and FI documents from BSIM are merged together.
Complications:
- A material document can have more than one FI document.
- There are FI documents without material documnts
- There are material documents without FI documents
- The document type is customizeable
- There is no link from the materia document position to
the FI document entry in BSIM (except URZEILE, but this
can be filled incorrectly)
form belege_ergaenzen. "Version from note 204872
- show the current activity and the progress "n599218
call function 'SAPGUI_PROGRESS_INDICATOR' "n599218
exporting "n599218
text = text-061. "Reading FI documents "n599218
Eliminate material documents with valuation string, but without
relevance to the valuated stock. IT156W contains all valuation
strings with posting key BSX. XBGBB says: "I am an accrural posting".
For more details please ask Big-G.
loop at g_t_mseg_lean into g_s_mseg_lean.
special processing for tied empties active ? "n497992
if not g_cust_tied_empties is initial. "n497992
look for MM documents with xauto = L and change "n497992
indicators "n497992
case g_s_mseg_lean-xauto. "n497992
when 'X'. "n497992
when space. "n497992
when others. "n547170
range table g_ra_xauto contains the special "n547170
indicators for the transfer movements of the "n547170
tied empties "n547170
if g_s_mseg_lean-xauto in g_ra_xauto. "n547170
move g_s_mseg_lean-xauto "n497992
to g_s_mseg_lean-retail. "n497992
clear g_s_mseg_lean-xauto. "n497992
modify g_t_mseg_lean from g_s_mseg_lean "n497992
transporting xauto retail. "n497992
endif. "n547170
endcase. "n497992
endif. "n497992
read table it156w with key
bustw = g_s_mseg_lean-bustw
xbgbb = g_s_mseg_lean-xauto
transporting no fields
binary search.
if sy-subrc <> 0.
delete g_t_mseg_lean.
else. "n443935
enrich the current entry with the company code "n443935
perform f9300_read_organ "n443935
using c_werks g_s_mseg_lean-werks. "n443935
"n443935
check : sy-subrc is initial. "n443935
move g_s_organ-bukrs to g_s_mseg_lean-bukrs. "n443935
modify g_t_mseg_lean from g_s_mseg_lean "n443935
transporting bukrs. "n451923
endif.
endloop.
For all available FI documents from BSIM, read the header data
from BKPF to get the link to the originating material document.
if not g_t_bkpf_key[] is initial.
look for the header of the matching FI documents
sort g_t_bkpf_key by bukrs belnr gjahr.
delete adjacent duplicates from g_t_bkpf_key.
save result from database selection into global hashed "n856424
table g_t_bkpf "n856424
select * from bkpf "n856424
into corresponding fields of table g_t_bkpf "n856424
for all entries in g_t_bkpf_key
where bukrs = g_t_bkpf_key-bukrs
and belnr = g_t_bkpf_key-belnr
and gjahr = g_t_bkpf_key-gjahr.
if sy-subrc is initial.
create working table l_t_keytab_m
free g_t_bkpf_key.
loop at g_t_bsim_lean into g_s_bsim_lean. "n443935
enrich the working table g_t_bsim_lean with the "n443935
MM doc info "n443935
"n443935
look for the matching FI document header "n443935
read table g_t_bkpf assigning "n856424
with key bukrs = g_s_bsim_lean-bukrs "n443935
belnr = g_s_bsim_lean-belnr "n443935
gjahr = g_s_bsim_lean-gjahr. "n443935
"n443935
if sy-subrc is initial. "n443935
enrich table G_T_BSIM_LEAN with the MM doc "n443935
consider only FI docs created by MM docs here "n856424
check :Hi Ravi,
possibly a service pack has been installed just in the time when you created the copy. I found
data: lt_sort type kkblo_t_sortinfo. "n890109
in the include mentioned on our system. Please check if the includes are identical in development and production server (remote-compare from editor).
But we also have a copy of this in our system. In the copy I found type name like alv_type_sortinfo but no kkblo_t_sortinfo.
Note KKBLO was the predecessor of ALV.
Must have to dio something with version changed by service pack.
Regards,
Clemens
Maybe you are looking for
-
File Receiver Comm Channel in error
Hi All, I am getting below error in my receiver communication channel - Transmitting the message to endpoint <local> using connection File_http://sap.com/xi/XI/System failed, due to: com.sap.engine.interfaces.messaging.api.exception.MessagingExceptio
-
When searching an item with Google, a page full of websites is presented, with on the bottom of the page a choice of more websites on the following pages: 1 2 3 4 5 (all with underscore). When I try to click the next page, always the first page is pr
-
Gracenote does not recognize mix CD after submitting to CDDB 1 week prior
Please help. I am trying to submit a mix/compilation CD of some of my personal favorite indie bands to Gracenote. I entered all the required information and when submitted, it says, Thanks for submitting to Gracenote. Gracenote.com says it can take u
-
Hello all, Where can I find the language packs for WIndows 2012 r2? I can't use Windows updates so get them. I'm trying to find a manual download. I have a MSDN account but I don't see language packs on the MSDN site. Are they located on the site? I
-
I have a MacBook Pro, a Desktop PC running Windows 7 and a wifi router connected to the Broadband Internet. All devices share the same local network. My Time Capsule (early 4th Generation) is connected via ethernet directly to the modem, I'm also abl