RFC call if opportunity status was changed to "Lost"
Hello,
i need to do an RFC-call in SAP records management if an opportunity was changed to status "Lost".
The RFC closes the relevant record in SAP records management.
Where can i catch this status change to lost to call the RFC?
Thank you.
Best regards
Manfred.
My plan was never changed however your story is not the first time I have heard of this. It happened to my cousin a while back. You can try calling and ask for a supervisor and plead your case. This is why when ever I call then I make them confirm what if any changes were done to the accct.
Piter
Similar Messages
-
For one Urgent Change while performing the one of the Approval before changing the status to 'To Be Tested'
We are getting below error.
The system does not recognize any changes using the CTS WBS BOM in the development system. The transaction is therefore incorrect or the status was reset by the system.
COuld anyone please help us to know, How it can be resolved?
We also have this below error.
System Response
If the PPF action is a condition check, the condition is initially considered as not met, and leads to another warning, an error message, or status reset, depending on the configuration.
If the PPF action is the execution of a task in the task list, and the exception is critical, there is another error message in the document.
Procedure
The condition cannot be met until the cause is removed. Analyze all messages in the transaction application log.
Procedure for System Administration
Analyze any other messages in the task list application log, and the entries for the object /TMWFLOW/CMSCV
Additional Information:
System cancel RFC destination SM_UK4CLNT005_TRUSTED, Call TR_READ_COMM:
No authorization to log on as a trusted system (Tr usted RC=0).
/TMWFLOW/TU_GET_REQUEST_REMOTE:E:/TMWFLOW/TRACK_N:107
For above error Table /TMWFLOW/REP_DATA_FLOWwas refreshed as well but still the same error.If you are in Test System, you can use function module AA_AFABER_DELETE to totally delete the depreciation area (tcode SE37, specify chart of depreciation and depreciation area), After that recreate your depreciation area and run AFBN. But before you do that, have you created a retirement transaction type that limits the posting on your new depreciation area? If not create one.
Hope this helps.
Thanks!
Jhero -
Production order status was not changed to 'CNF' after final confirmation.
Hi guru.
I experienced very special case that production order status was not changed to CNF after final confirmation.
I did final confirmation and canceled confirmation. (CNF -> REL)
And I did final confirmation again because of fixing activity quantity.
the strange thing is that production order status wasn't changed from REL to CNF.
I did confirmation again with 0 activity, thereby I solved this problem
BUT i don't know why this case happened.
Please, explain the reason.
Thanks.Hi,
As per my observation, their is not any change in the status of the order REL with confirmation CNF, instead of this, it has change from CRTD & then to TECO.
Sequence of the status of the order as below
1) CRTD MANC NMAT SETC
2) REL NMAT SETC - Changes from CRTD to REL after releasing of the order
3) REL CNF PRC CSER ERTR OPGN SETC - After confirmation, it updated after the order REL status.
Rgd,
Chetan -
RFC call from ECC to SCM -- Debug Steps required
Hello,
The steps being done for this issue is:-
1) In ECC system ,CN22 Transaction Code (Change Networks) --> Click on Schedule (at the Header) and click on SAVE
2) This seems to trigger an RFC call to SCM server (as per the trace log).
3) From SCM, it comes back to ECC server as User 'BATCHRFC'. This has been defined in SM59 correctly.
4) BATCHRFC in ECC system calls an RFC FM 'CIF_PJ_INBOUND' and changed the status of networks to DSEX (date set by External system)
We are trying to understand why is the RFC call being made? I can debug the FM in ECC when an external breakpoint is used.
However, I want to know where in ECC is the RFC call made (to SCM), and how? How can I control it as we do not want this to happen? How can I debug to understand how an RFC call is made?
Your views would be appreciated.
Regards,
SanjivHi,
What you do is, enter the Tcode, CN22, then in Command window activate debugger by entering /H
It takes u to debugger, from menu > utilities set a break point at Satetment Call Function, it will stop at all the Function modules in debugger, so you can look for the RFC FM in the program where it is called.
And also look for setting in debugger, may be u have some options for RFC FM.
Regards
Bala Krishna -
RFC calls keep old buffer tables PS and PSINFO
Hello!
I have written a BSP application for an R/3 system which is release 4.6c. For that reason, we have a stand-alone WebAS which must make RFC's to the core R/3 system to retrieve and update HR data.
Originally the RFC destination to connect to the core R/3 system from WebAS was not a trusted connection, but we ran into problems with structural authorizations where the RFC was not returning all of the data for the actual user. We found that the problem was related to the fact that the RFC destination was using a hard-coded user ID to make the connection to the R/3 HR system. That particular user ID was being used as SY-UNAME in a routine used by structural authorizations, and it wasn't finding the correct data for the User ID that was entered as the RFC user. Therefore, we made the change on the RFC destination in WebAS so that now we have the "Current User" checkbox checked, the hard-coded user ID and password has been removed, and now the "Trusted System" radio button is selected. Those changes resolved our issue with structural authorizations because now the routine has the actual user ID as SY-UNAME instead of the generic RFC user ID.
I'm not sure if the RFC trusted connection is part of this issue or not, but I wanted to provide that information.
Here is the actual issue... Several of the RFC's update different HR infotypes, and most of these use function module HR_INFOTYPE_OPERATION to insert new HR infotype records or modify existing ones, etc. We started receiving short dumps and getting strange results, and I was able to track it down to the fact that the PS and PSINFO buffer tables are not being refreshed. I was expecting that these tables would be "clean" everytime I make a new RFC call. However, this is not the case. I watched this in debugger, and I see that the PS and PSINFO tables are still filled from the last RFC whenever I make a subsequent RFC! When it finally gets to the point that dialog HR_MAINTAIN_MASTER_DATA is called, it still has the old data in these tables, so it tries to process the infotypes AGAIN. This is very bad! For one thing, the previous RFC which used HR_INFOTYPE_OPERATION might have been for an applicant number (TCLAS = 'B') and the current RFC might be for an employee number (TCLAS = 'A'). We have seen this happen, and it resulted in a short dump (it's a long story - just trust me when I say that it is causing a lot of problems!).
I was able to resolve the issue in one of my function modules by adding a call to function module HR_PSBUFFER_INITIALIZE at the beginning of the function module. However, I don't want to have to add this to the beginning of every function module that I write. Also, I think that this is a problem which needs to actually be solved instead of using a band-aid like this.
This is what I want to know - Why are these buffer tables still filled from the last RFC whenever I make the next RFC? Is this because it is set up as a "trusted" connection? Is this related to the fact that my BSP application is stateful instead of stateless? Does something need to be changed on my RFC destination configuration so that each RFC starts out with "clean" buffer tables?
Thanks in advance for whatever advice you can offer me!
ShannonI don't think this has anything to do with the trusted connection. It is because your application is stateful. If you watch in the process overview in your system you will see that with a stateful application, no only does your BSP session state remain between calls, but also you should see a thread per user for the RFC connection.
That means that the Session state is also still alive on your R/3 4.6C system for a period of time as well (RFC keep alive time). We have used this to our advantage before when building BSP applications (caching of data in Global Data of a Function Group).
However you have the opposite problem. It sounds like you would want to call the HR_PSBUFFER_INIT at the start of each transaction. If you writting this as a Classic Dynpro Transaction would you not do the same?
You might try calling RFC_CONNECTION_CLOSE as well. This should close the connection and end the state on the R/3 side. However you will have the performance overhead of reestablishing a new connection on the next call. But RFC connections seem to be very efficient. I doubt you would notice any performance difference. -
Hello,
I am setting up a very simple scenario where I am making a sychronous RFC call to a BAPI in R/3 (Version 4.6c) from an XI Sandbox (Version 7.0).
I have the RFC Communication channel properly configured, or so I think, and have verified everything else as well. I initiate the message from the Runtime Workbench and it shows with status "Successful" in the Message Monitoring section. However, when I look in SXMB_MONI transaction I am unable to find a response message from the BAPI coming back in the payload. I notice that even though the scenario is synchronous, the "Type" column in the SXMB_MONI transaction results shows it as "Asynchronous". Also, in the message details there is a Payload (which I am sending when I create and send the message from the RWB), in every step, until the Call Adapter step. After that there is no payload in the Call Adapter or the Response steps, just the SOAP Body with the Manifest.
In the message details I see that the <SAP:Processing Mode> entry is set to "Asynchronous" rather than "Synchronous".
Does anyone have any idea why this is so?
Thanks,
Murtaza.
Message was edited by:
Murtaza MadraswalaHi Amitabha,
I looked in the location you suggested and got a list of "Success" messages. These are listed below for you to look at:
Time Stamp Status Description
2007-06-18 15:17:54 Success Message successfully received by messaging system. Profile: XI URL: http://camapox1:50100/MessagingSystem/receive/AFW/XI Credential (User): XIISUSER
2007-06-18 15:17:54 Success Using connection RFC_http://sap.com/xi/XI/System. Trying to put the message into the receive queue.
2007-06-18 15:17:54 Success Message successfully put into the queue.
2007-06-18 15:17:54 Success The message was successfully retrieved from the receive queue.
2007-06-18 15:17:54 Success The message status set to DLNG.
2007-06-18 15:17:54 Success Delivering to channel: GeneratedReceiverChannel_RFC
2007-06-18 15:17:54 Success MP: entering
2007-06-18 15:17:54 Success MP: processing local module localejbs/RfcAFBean
2007-06-18 15:17:54 Success RFC adapter received an asynchronous message. Attempting to send tRFC for Z_SD_RFC_ATP_WRAPPER with TID XIlc32S1tf4Togkm0mRWaHRG
2007-06-18 15:17:55 Success MP: leaving
2007-06-18 15:17:55 Success The message was successfully delivered to the application using connection RFC_http://sap.com/xi/XI/System.
2007-06-18 15:17:55 Success The message status set to DLVD.
The problem that I am seeing is that this is posted under the list of Asychronous Received Messages. Thats something I am just unable to understand. I have a Synchronous Outbound Interface defined and an RFC Communication Channel, which is Synchronous as far as I know. So why is the processing mode for the message being chosen as Asynch? Which config setting have I missed that is causing this problem? I am just unable to find the answer so far.
I appreciate your help. Please let me know if you have any clues.
Thanks,
Murtaza. -
Problem passing a table parameter in rfc call using the function control
I try to pass a Table as parameter to a Function Module using the SAP.Functions library (part of SAP frontend controls) from a Visual Basic (VBA) program.
The function module has been verified to work when invoked from SAP FrontEnd Function Builder.
The SAP RFC Control is created with
Set sapFunctions=CreateObject("SAP.Functions")
Following code snippet shows how I attempt to set exports and add a table row before calling the function module:
sapFunctions.Connection = sapConnection
Set sapMaterialUpd = sapFunctions.Add("Z_SD_BAPI_SALES_DATA_UPD")
With sapMaterialUpd
<i>'set exports</i>
.Exports("PA_GLPUPDLEVEL") = "S"
.Exports("PA_VKORG") = "FI14"
<i>'append table row</i>
.Tables("IT_SALES_DATA_UPD").AppendRow
.Tables("IT_SALES_DATA_UPD")(1, "VKORG") = "FI14"
.Tables("IT_SALES_DATA_UPD")(1, "MATNR") = "W_3100"
.Tables("IT_SALES_DATA_UPD")(1, "DATBI") = "99991231"
.Tables("IT_SALES_DATA_UPD")(1, "DATAB") = "20041231"
.Tables("IT_SALES_DATA_UPD")(1, "KBETR") = "2222"
.Tables("IT_SALES_DATA_UPD")(1, "KONWA") = "EUR"
End With
<i>'call the function module</i>
If sapMaterialUpd.Call() = True Then
<i>'do something with the return tables here...</i>Else
Debug.Print sapMaterialUpd.Exception
End If
The Call() returns <b>FALSE</b> and the exception is <b>"SYSTEM_FAILURE"</b>. The connection also resets.
The local logfile that the control generates shows that an exception occurs at the point of the call:
<i>10.02.2005 17:54:20.766 Packing Parameters for Z_SD_BAPI_SALES_DATA_UPD
Packing Parameter PA_GLPUPDLEVEL.
Packing Parameter PA_VKORG.
Packing Table 0.
Packing Table 1.
10.02.2005 17:54:20.766 *** Calling RFC Function 'Z_SD_BAPI_SALES_DATA_UPD'
10.02.2005 17:54:20.986 RFC CALL status = RFC_SYS_EXCEPTION
10.02.2005 17:54:20.986 RFC Error: RFC_IO27
-Status:CODE=CM_DEALLOCATED_NORMAL STATUS=CM_NO_STATUS_RECEIVED DATA=CM_COMPLETE_DATA_RECEIVED ID=69415076
-Message:connection closed
-Internal Status:IO HANDLE=23 DRV=EXT LINE=1420 CODE=27 : GET ID=ffff LINE=861 CODE=7
10.02.2005 17:54:20.986 Function call finished.</i>
Seen next code snippet. If the Table object is not touched, the function call goes through without any problems:
sapFunctions.Connection = sapConnection
Set sapMaterialUpd = sapFunctions.Add("Z_SD_BAPI_SALES_DATA_UPD")
With sapMaterialUpd
'set exports
.Exports("PA_GLPUPDLEVEL") = "S"
.Exports("PA_VKORG") = "FI14"
'do <b>not</b> append a table row, for testing only ;-)</b>
End With
<i>'call the function module</i>
If sapMaterialUpd.Call() = True Then
<i> 'do something with the return tables here...</i>
Else
Debug.Print sapMaterialUpd.Exception
End If
This code works perfectly when calling the function. It returns TRUE and behaves normally. The function module returns descriptive response text in a table telling that the table was empty, according to the BAPI implementation.
So is there something special needed here <i>after</i> appending the table row and <i>before</i> making the Call to properly attach the table as a parameter for the function module?
Can this be a bug in the SAP RFC Control? The version of the wdtfuncs.ocx is 6206.6.45.54.
Any hints are welcome!hi All partner,
who solved this problem , I meet it too and
can't clear it.
SAPfunc := sapfunctions1.Add('z_get_sfcs_dn_mo');
SAPitab := sapfunc.tables.item ('I_DNMO');
SAPitab.appendrow; SAPitab.value(1,'MANDT') := '220';
SAPitab.Value(1,'VBELN') := '2150000001';
SAPitab.Value(1,'POSNR') := '50';
SAPitab.value(1,'MATNR') := '19-99999-00';
SAPitab.value(1,'AUFNR') := '921241512001';
SAPitab.value(1,'DEDAT') := '2005/09/09';
SAPitab.value(1,'LFIMG') := '100';
IF SAPfunc.call = true then
begin
end
else
begin
showmessage('call fail!!') ;
end;
end;
RFC source code as below
FUNCTION z_get_sfcs_dn_mo.
""Local interface:
*" TABLES
*" I_DNMO STRUCTURE ZDN_MO
data: wa type zdn_mo.
LOOP AT i_dnmo.
wa-mandt = i_dnmo-mandt.
wa-vbeln = i_dnmo-vbeln.
wa-posnr = i_dnmo-posnr.
wa-matnr = i_dnmo-matnr.
wa-aufnr = i_dnmo-aufnr.
wa-dedat = i_dnmo-dedat.
wa-lfimg = i_dnmo-lfimg.
modify zdn_mo from wa.
insert into zdn_mo values wa. --dump at here
commit work.
ENDLOOP.
T/C: ST22 error message say at
insert into zdn_mo values wa. ---dump at here
the sapfunc.call returns fail.
Message was edited by: jorry wang -
Question on service userid - for RFC call
Hi
In XI 3.0 SP18 , we are making a RFC call from XI mapping runtime - to XI's ABAP stack - RFC function module . In the RFC receiver communication channel , I tried using service user XIISUSER , XIAPPLUSER for this RFC call - I got short dumps on XI ABAP stack mentioning that these two service users do not have authorization to make RFC calls -
Does anybody out there know what service user on XI has RFC call authorization that can used to make RFC calls onto XI ABAP stack from its mapping runtime ?
Correct answers will be rewarded rightaway. Thanks for your time in advance.Hi,
u have to make entry in sld...
Hi,,
2 Introduction
Configuring IDoc adapter in Exchange Infrastructure 3.0 requires some configuration on the SAP
systems, for both XI and the backend system where the IDoc message is to be sent. These steps, although
simple, are many times missed or mis-configured, causing the delivery of messages to fail.
Since IDoc adapter uses the ABAP stack, instead of J2EE, the configuration requirements are mainly in
ABAP.
Setting up IDoc adapters requires the XI integration server to be able to communicate with the backend
SAP system, and also to make sure that the Logical System Name used when posting IDoc exists on the
backend SAP system.
3 The Step By Step Solution
The basic steps for the IDoc configuration are outline below:
1. Configure SM59 on XI to communicate to SAP backend system.
2. Configure port on XI for IDoc communication.
3. Create or verify the Logical System Name on the SAP backend system.
4. Create or verify business system in XIs System Landscape Directory.
5. Verify the Logical System Name of the business system.
6. Verify or add the Logical System Name for the sender business system.
7. Create/configure the Communication Channel for the IDoc receiver adapter
3.1 Configure SM59 on XI to communicate to SAP backend system.
1. Using transaction SM59, create an RFC destination with Connection Type = 3.
In this example, the RFC destination name is NDVCLNT510.
2. Enter the logon information:
3. Test the connection by clicking on Testing connection and Remote logon.
Both must be successful.
3.2 Configure port on XI for IDoc communication.
4. Go to transaction IDX1 on XI, and create a port. In this example, the Port name is SAPNDV.
The Port name must be in the form of SAPxxx, where xxx is the system ID of the backend SAP
system.
The Client must be the client number of the backend SAP system.
Select the RFC Destination which was created in the previous step.
3.3 Create or verify the Logical System Name on the SAP backend system.
5. Enter transaction SALE on the SAP backend system.
6. Create or verify the Logical System Name. In our example, NDVCLNT510 is verified.
3.4 Create or verify business system in XIs System Landscape Directory.
The business system name for the SAP backend system must contain a valid Logical System Name. This Logical System Name is the one verified or created in the previous step.
7. In the System Landscape Directory, select the SAP backend business system. If one does not exist, then create the business system. Verify the Logical System Name.
3.5 Verify the Logical System Name of the business system.
8. In the Integration Directory, doubleclick on the business system (in our example, it is NDVCLNT510).
Navigate the menu:
Service Adapter Specific Identifiers.
If information is empty or incorrect, then it will have to be synchronized with the content of the System Landscape Directory. Follow the steps below for synchronization.
9. (Optional) Synchronization of the business system in Integration Directory to the business system in System
Landscape Directory.
Double-click on the business system in the Integration Directory.
Switch to Edit mode.
Select menu: Service Adapter-Specific Identifiers
10. (Optional) Within the dialog box, click on the button as indicated below to resynchronize.
11. (Optional) If the expected data from the System Landscape Directory is not updated, then the SLD cache may need to be cleared first.
3.7 Create/configure the Communication Channel for the IDoc receiver adapter.
15. In the Integration Directory, create an IDoc receiver communication channel.
The RFC Destination is from step 3.1.
The Port is from step 3.2.
NOTE:
There is no need to create an IDoc sender Communication Channel for XI. Instead, the backend SAP system must be configure to send the IDoc to XI.
4 Appendix
Transaction: IDX2
There are a couple of situation where IDX2 can be useful on the XI system.
1. When we want to test connection between the XI and SAP backend system.
2. When an IDoc has changed, and the meta data stored in XI needs to be update. When an IDoc is sent from the SAP backend system to XI, XI will first check to see if the meta data for the IDoc is already in its persistent cache. If not, then XI will use the configuration in IDX1 to retrieve the IDoc meta data from the backend system. If the
meta is already in cache, then it will NOT do so. Therefore, when an IDoc has changed, it is necessary to manually update the new meta data on XI, or delete it from the cache, so that the latest version can be retrieved. IDX2 is used for this purpose.
Go to transaction IDX2 and click on Create.
Enter the IDoc Type and the Source Port as defined in step #2. Click Continue.If successful, the following will show up. If error occurs, then the IDX1 configurations will need to be re-checked.
Reward points if find useful. -
RFC call failing due to UNICODE implementation
Hi
We are trying to connect to a SAP system using the JCO (SAP-JAVA Connectivity). We are passing the user name as an input parameter and in turn the SAP system send back the no. of item (ABAP Type integer) pending for the user name to the java and its inserted/updated in Oracle DB (which does accept the unicode characters).
It was all wokring fine untill the SAP system has been migrated to Unicode upgrade. Now the RFC call is getting failed from our system. On analysis we found with debug, that the user name is not getting accepted by the SAP system and throwing the error -says Exception in thread "main" com.sap.aii.proxy.framework.core.BaseProxyException: Conversion error between two character sets., error key: RFC_ERROR_SYSTEM_FAILURE and at the SAP end the error says "Conversion of "UNAME" from code page 4103 to 4102 is failed". The unicode change in SAP system cannot be reverted back due to some constraints.
Can you please help, how can we pass the user name as encoded in character set 4102 or any other solution so that it can be accepted by SAP and run the Function module and return the data.
Many Thanks
Snehil JoshiCheck RFC destination in Tx SM59. You must have one tab for unicode settings.
Regards. -
Finding caller program in a RFC call
Hi experts,
We are having lots of CALL_FUNCTION_NOT_FOUND short dumps in one of our systems. The errors are caused because other systems call a function that does not exist, so the dumps are created.
What we would like to know is what program is doing these calls, since all we can see in the short dump is the caller system and the function it is trying to access, but not the exact program where the call is performed so we can fix the code.
Thanks in advance for your support.Sorry if this is too much of a wall of text, I can't find an "attach file" type feature.
ABAP runtime errors CALL_FUNCTION_NOT_FOUND
Occurred on 11.12.2006 at 10:04:34
Function module "Y_EF_DETERMINE_PICTURE" not found.
What happened?
The function module "Y_EF_DETERMINE_PICTURE" was called, but cannot be
found in the Function Library.
The current ABAP/4 program "SAPMSSY1 " had to be terminated because
one of the statements could not be executed.
This is probably due to an error in the ABAP/4 program.
What can you do?
Note the actions and input that caused the error.
Inform your SAP system administrator.
You can print out this message by choosing "Print". Transaction ST22
allows you to display and manage termination messages, including keeping
them beyond their normal deletion date.
Error analysis
The program "SAPMSSY1 " contains a CALL FUNCTION statement. The name
of the function module to be called is "Y_EF_DETERMINE_PICTURE".
No function module exists with the name "Y_EF_DETERMINE_PICTURE".
All function modules are stored in the Function Builder (SE37).
Possible reasons:
a) Wrong name specified. Particular attention should be paid
to upper/lower case and underscores ("_").
or
b) Transport error
c) In the case of an enqueue/dequeue module, the lock object
may not have been activated (ABAP Dictionary).
How to correct the error
Check the last transports to the R/3 System.
Is the program "SAPMSSY1 " currently being changed?
If an enqueue/dequeue module is involved, is the activation
of the lock object missing in the ABAP/4 Dictionary?
If the error occurred in a non-modified SAP program, you may be
able to find a solution in the SAP note system.
If you have access to the note system yourself, use the following
search criteria:
"CALL_FUNCTION_NOT_FOUND"
"SAPMSSY1 " or "SAPMSSY1 "
"REMOTE_FUNCTION_CALL"
Function modules with names similar to "Y_EF_DETERMINE_PICTURE":
Y_EF_USEX_DETERMINE_TAX
Y_GF1_DETERMINE_RECTYPE
Y_GK_DETERMINE_PRCTR
Y_EF_USEX_PICTURE_SUBMIT
Y_EF_USEX_SHOW_PICTURE
Y_EF_RFC_PICTURE_POST
Y_GF1_DETERMINE_SBU
Y_GF_DETERMINE_VERSION
Y_GF_DETERMINE_DATE_PREVMON
Y_GF1_DETERMINE_CURRENT_PERIOD
If you cannot solve the problem yourself, please send the
following documents to SAP:
1. A hard copy print describing the problem.
To obtain this, select the "Print" function on the current screen.
2. A suitable hardcopy prinout of the system log.
To obtain this, call the system log with Transaction SM21
and select the "Print" function to print out the relevant
part.
3. If the programs are your own programs or modified SAP programs,
supply the source code.
To do this, you can either use the "PRINT" command in the editor or
print the programs using the report RSINCL00.
4. Details regarding the conditions under which the error occurred
or which actions and input led to the error.
System environment
SAP Release.............. "46C"
Application server....... "sapgp1s"
Network address.......... "52.99.71.21"
Operating system......... "AIX"
Release.................. "5.3"
Hardware type............ "00C4449E4C00"
Database server.......... "sapgp1s"
Database type............ "DB6"
Database name............ "GP1"
Database owner........... "SAPR3"
Character set............ "en_US.ISO8859-1"
SAP kernel............... "46D"
Created on............... "Aug 26 2005 22:40:31"
Created in............... "AIX 1 5 0056AA8A4C00"
Database version......... "DB6_71 "
Patch level.............. "2113"
Patch text............... " "
Supported environment....
Database................. "DB6 06., DB6 07., DB6 08.*"
SAP database version..... "46D"
Operating system......... "AIX 1 4, AIX 2 4, AIX 3 4, AIX 1 5, AIX 2 5, AIX 3
5, , System build information:, -
, LCHN :
User, transaction...
Client.............. 000
User................ "SAPSYS"
Language............ "E"
Transaction......... " "
Program. ........... "SAPMSSY1 "
Screen. ............ "SAPMSSY1 3004"
Line of screen...... 2
Information about Remote Function Call (RFC) Caller:
System.............. "WP1 "
Database release.... "46C "
Kernel release. .... "46D "
Connection type. ... "3 " (2 = R/2, 3 = R/3, E = Extern, R = Reg.
Call type........... "S-" (S = synch., a/A = asynch., T = transactional
Client.............. 510
User................ "PC1706 "
Transaction......... "/COCKPIT/1 "
Function module..... "Y_EF_DETERMINE_PICTURE"
Call destination.... "GP1590"
Source server....... "wsdux44_WP1_10"
Source IP address... "52.99.71.124"
Additional information about RFC logon:
Trusted relationship " "
Logon return code... " "
Trusted return code. " "
Note: In Releases earlier than 4.0, some of the above information about
RFC calls may not be available.
Information on where termination occurred
The termination occurred in the ABAP/4 program "SAPMSSY1 " in
"REMOTE_FUNCTION_CALL".
The main program was "SAPMSSY1 ".
The termination occurred in line 67
of the source code of program "SAPMSSY1 " (when calling the editor 670).
Source code extract
000370 ENDMODULE.
000380
000390 MODULE %_RFCDIA_CALL OUTPUT.
000400 "Do not display screen !
000410 CALL 'DY_INVISIBLE_SCREEN'.
000420 PERFORM REMOTE_FUNCTION_DIACALL.
000430 ENDMODULE.
000440
000450 MODULE %_CPIC_START.
000460 IF SY-XPROG(4) = '%RFC'.
000470 PERFORM REMOTE_FUNCTION_CALL USING RFCTYPE_EXTERNAL_CPIC.
000480 ELSE.
000490 CALL 'APPC_HD' ID 'HEADER' FIELD HEADER ID 'CONVID' FIELD CONVID.
000500 PERFORM CPIC_CALL USING CONVID.
000510 ENDIF.
000520 ENDMODULE.
000530
000540
000550 FORM CPIC_CALL USING CONVID.
000560 COMMUNICATION SEND ID CONVID BUFFER HEADER.
000570 IF SY-SUBRC EQ 0.
000580 PERFORM (SY-XFORM) IN PROGRAM (SY-XPROG).
000590 ELSE.
000600 MESSAGE A800.
000610 ENDIF.
000620 ENDFORM.
000630
000640
000650 FORM REMOTE_FUNCTION_CALL USING VALUE(TYPE).
000660 DO.
CALL 'RfcImport' ID 'Type' FIELD TYPE.
000680 PERFORM (SY-XFORM) IN PROGRAM (SY-XPROG).
000690 RSYN >SCONT SYSC 00011111 0.
000700 ENDDO.
000710 ENDFORM.
000720
000730 FORM REMOTE_FUNCTION_DIASTART.
000740 DO.
000750 CALL 'RfcImport' ID 'Type' FIELD RFCTYPE_RFCDIA.
000760 PERFORM (SY-XFORM) IN PROGRAM (SY-XPROG).
000770 "Parking position for next request
000780 RSYN >SCONT SYSC 00011111 10.
000790 "ALternativ : Free mode
000800 "COMMIT WORK.
000810 "SYSTEM-CALL FREE MODE 0.
000820 ENDDO.
000830 ENDFORM.
000840
000850 FORM REMOTE_FUNCTION_DIACALL.
000860 SY-XCODE = '%_@no@'.
Contents of system fields
SY field contents..................... SY field contents.....................
SY-SUBRC 0 SY-INDEX 1
SY-TABIX 0 SY-DBCNT 0
SY-FDPOS 0 SY-LSIND 0
SY-PAGNO 0 SY-LINNO 1
SY-COLNO 1
Chosen variables
Name.......................... Contents.1........2........3....+....4
SY-XPROG
2222222222222222222222222222222222222222
0000000000000000000000000000000000000000
SY-XFORM Y_EF_DETERMINE_PICTURE
554454454544445544555422222222
9F56F45452D9E5F093452500000000
%_SPACE
0
0
SY-MSGID
22222222222222222222
00000000000000000000
EBC_TO_ASC-X05 P&QéRêSëTèUíVîWïXìY~ZÜ[$*])^;_^
525E5E5E5E5E5E5E5E575D5252525355
06192A3B485D6E7F8C9EACB4CAD9EBFE
RFCTYPE_QUEUE 6
0000
0006
%_PRINT 000
2222333222222222222222222222222222222222
0000000000000000000000000000000000000000
... + 40
2222222222222222222222222222222222222222
0000000000000000000000000000000000000000
... + 80 0 ########
2222222222320000000022222222222222222222
0000000000000000000000000000000000000000
... + 120
22222222
0000000
SY-MSGNO 000
333
000
EBC_TO_ASC-X04 @ A BâC{DàEáFãGåHçIñJÄK.L<M(N+O!
424A4E474E4E4E4E4E4F4C4243424242
0010223B405163758791A4BECCD8EBF1
SY-MSGV1
2222222222222222222222222222222222222222
0000000000000000000000000000000000000000
... + 40
2222222222
0000000000
SY-MSGV2
2222222222222222222222222222222222222222
0000000000000000000000000000000000000000
... + 40
2222222222
0000000000
SY-MSGV3
2222222222222222222222222222222222222222
0000000000000000000000000000000000000000
... + 40
2222222222
0000000000
SY-MSGV4
2222222222222222222222222222222222222222
0000000000000000000000000000000000000000
... + 40
2222222222
0000000000
%_?NOT_ASSIGNED?
2222
0000
SPACE
2
0
SY-REPID SAPMSSY1
5454555322222222222222222222222222222222
310D339100000000000000000000000000000000
TYPE 3
0000
0003
SYST ########################################
0000000000000000000000000000000000000000
0001000000000000000000000000000000000000
... + 40 ########################################
0000000000000000000000000000000000000000
0000000000010000000100000000000000000000
... + 80 ########################################
0000000000000000000000000000000000000000
0000000000000000000000000000000000000000
... + 120 #######################################T
00000000
0000000
Active calls / events
No.... Type........ Name..........................
Programm
Include Line
1 FORM REMOTE_FUNCTION_CALL
SAPMSSY1
SAPMSSY1 67
2 MODULE (PBO) %_RFC_START
SAPMSSY1
SAPMSSY1 31
Internal notes
The termination occurred in the function "link_rfdir" of the SAP
Basis System, specifically in line 165 of the module
"//bas/46D/src/krn/runt/ablink.c#3".
The internal operation just processed is "CALY".
The internal session was started at 20061211100434.
Active calls in SAP kernel
=> 64 bit R/3 Kernel
=> 64 bit AIX Kernel
=> Heap limit = unlimited
=> Stack limit = unlimited
=> Core limit = 51200000
=> File size limit = unlimited
=> Heap address = 0x118dba360
=> Stack address = 0xfffffffffff5d50
=> Stack low = 0xfffffffffff5d50
=> Stack high = 0xffffffffffff600
=> Stack Trace:
AixStack() at 0x100059364
CTrcStack2() at 0x10005945c
rabax_CStackSave() at 0x10003959c
ab_rabax() at 0x1000425b4
link_rfdir() at 0x100540418
ab_link() at 0x100540a18
ab_rfcimport() at 0x1005f49f0
ab_jcaly() at 0x100024560
ab_extri() at 0x100487474
ab_xevent() at 0x10059c804
ab_dstep() at 0x10043bd98
dynpmcal() at 0x100942f94
dynppbo0() at 0x100941320
dynprctl() at 0x100948f40
dynpen00() at 0x1008f7818
Thdynpen00() at 0x1001429f4
TskhLoop() at 0x100146368
tskhstart() at 0x1001576ac
DpMain() at 0x100e06e38
main() at 0x100de72f4
List of ABAP programs affected
Type
Program
Gen. date time
LoadSize
Prg
SAPMSSY1
04.01.2000 19:06:59
20480
List of internal tables
No dump information available
Directory of application tables (contents)
Program
Name.......... Contents.1........2........3....+....
Directory of data areas (administration information)
Program
No.. Name.......... Lgth Ofsg Type Next Gen date Gen time
SYST
L not assigned -15 0 IN
M /%_LISTTABLE -14 1 CO 0
T global stack -13 1 2 GL 0
SAPMSSY1
A global data 0 3 DA
L constant dat 1 4 LI .0 .0216
L constant dat 2 5 LI SSY .0 .018B
L not assigned 3 6 IN
L SYST 4 7 TA 0
L SY 5 8 TA
L RSJOBINFO 6 9 TA
M /%_SYS%% 7 0 CO
M field symbol 8 1 FS
L TCPIC 9 2 TA
M field symbol 10 3 FS
L text pool 11 4 TP
Directory of data areas (contents)
Program
No.. Name.......... Contents..1........2........3....+....
SYST
L not assigned 0
L text pool 102 |SAPMSSY1
ABAP control blocks CONT
Include Line source code
Index Name F1 Co Par01 Par2. Par3. Par4. Tabl
SAPMSSY1 60 MESSAGE A800.
215 CLEA 00 84
216 CLEA 00 85
217 MESS 00 27
SAPMSSY1 62 ENDFORM.
218 ENDF 00
219 -
223 -
SAPMSSY1 65 FORM REMOTE_FUNCTION_CALL USIN
227 PERP 00 1
228 PERP 02
SAPMSSY1 66 DO.
229 WHIL 00 2
233 WHIL 00 3
237 BRAN 05 Branch to 251
SAPMSSY1 67 CALL 'RfcImport' ID 'Type' FIE
238 CALY 00 3 86 70 71 71
>>>>> CALY 02 87 P0
SAPMSSY1 68 PERFORM (SY-XFORM) IN PROGRAM
246 xper 02 12 13
248 PERP 80
SAPMSSY1 69 RSYN >SCONT SYSC 00011111 0.
249 SYSC 1F
SAPMSSY1 70 ENDDO.
250 BRAX 00 Branch to 233
251 WHIL 00 4
SAPMSSY1 71 ENDFORM.
255 ENDF 00
256 -
End of runtime analysis -
CRM BADI CRM_COND_COM_BADI only called when line created or changed
I am trying to ensure that the BADI CRM_COND_COM_BADI is called (to adjust pricing communication structure) for all line items every time a user hits update or enter during creation of a sales order via the web. In my testing I am finding that the BADI CRM_COND_COM_BADI only gets called during the creation of a line item or a change of a line item.
Does anyone know how I can have BADI CRM_COND_COM_BADI called for all line items every time update or order is clicked on the web during order entry? Is there something I can set in config to make this happen?
Thanks,
Sarah.Remo,
Even though this thread is very old and closed, but want to share my thoughts because we faced the same problem. We enhanced the BADI 'CRM_COND_COM_BADI' and was getting called multiple times.
As per our business scenario, it should be called for Opportunity and for a specific transaction type. So a check was placed in the BADI for the Opportunity and transaction type. This was done using FM 'CRM_ORDERADM_H_READ_OW'. This helped us to skip the complete logic to be called by the BADI enhancement.
If you found a better solution yet do share.
Regards,
Shyamak -
XI Webservice scenario SOAP - RFC Call
Hi,
i have the following scenario: Request --> XI RFC-call --> R/3
XI --> Response
First I have test this scenario with the HTTP-request and it works (the result was correct). After this I changed the configuration and test the scenario with the SOAP-request. But when I try this scenario, the rfc call works also, but I get the response, that we send empty request parameter (I_EQUIPMENT).
SOAP Request:
<soapenv:Envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/" xmlns:ns0="urn:sap-com:document:sap:rfc:functions">
<soapenv:Header/>
<soapenv:Body>
<ns0:RFC_GET_EQUIPMENT_DATA>
<I_EQUIPMENT>xxxxx</I_EQUIPMENT>
</ns0:RFC_GET_EQUIPMENT_DATA>
</soapenv:Body>
</soapenv:Envelope>
HTTP Request:
<?xml version="1.0" encoding="UTF-8"?>
<ns0:RFC_GET_EQUIPMENT_DATA xmlns:ns0="urn:sap-com:document:sap:rfc:functions">
<I_EQUIPMENT>xxxxx</I_EQUIPMENT>
</ns0:RFC_GET_EQUIPMENT_DATA>
Thanks for helping,
MarkusHi,
I hope following docs will help
https://www.sdn.sap.com/irj/sdn/go/portal/prtroot/docs/library/uuid/d23cbe11-0d01-0010-5287-873a22024f79
/people/shabarish.vijayakumar/blog/2008/01/08/troubleshooting--rfc-and-soap-scenarios-updated-on-20042009
/people/siva.maranani/blog/2005/03/01/testing-xi-exposed-web-services
Thanks,
Tuhin -
Locking objects across RFC calls
Hi All,
I am developing a business application using SAP UI5 and the NetWeaver Service Gateway in an embedded scenario. I have RFCs build for the backend interaction. As per my knowledge, each RFC is considered as a separate transaction and the user is logged on and off as the RFC is processed. This removes the lock on the object that I need to be sustained till the next RFC call. Unlocking the object exposes it to possible editing by other users which is not desirable.
From what I have studied from this community, there are, by and large, two solutions
1. Custom Lock Table
2. Checking if the status of the object is the same during the second RFC call, and going ahead only if it was unchanged.
However, I am looking for more credible solution to this problem and would like to know how someone who experienced this issue have handled it.
Thanks in advance,
NeeleshHi Jacob
S_RFC and S_SERVICE This two authorization is nedded while calling RFC module from R3.
first of all test the module in R3. create a role using PFCG assign the tcode. su53 (authorization check) and also assign the S_RFC and S_SERVICE to role.
now test the RFC function module with this role in R3.
if u give any warning/error due to authorization. imediate run tcode su53 in same session or new session
i.e /nsu53 or /osu53.
look which authorization is missing for a object.
assign the relevant object and authorization to role.
any query revert back.
regards,
kaushal -
Unknown/Junk Characters in RFC call
Hey All,
I am having a strange issue in one of the RFC calls made from a Java System to our SAP system. We were getting random errors with this interface( the interface was working well before for a long time) . When I Captured the values sent during the RFC calls I found a lot of junk characters being sent by the other system. Is this the problem of the sending sytem or something in between?
Has anyone experienced anything like this before.
Any inputs on what could be the Issue.
ThanksAsh,
The Java Application is connected to the SAP System using Java Connector.
aRs,
The rfc is basically a wraper of standard Bapi "BAPI_REPMANCONF1_CREATE_MTS" for confirmations which has a IMSEG related structure with a lot of QUAN fields. What do you think is the issue with RFC calls and QUAN fields. Becausing changing all the QUAN's to Chars and converting it back to QUAN in the wrapper will be a decently big change.
I was kindoff ruling out the unicode issue because this interface was working fine for more the 6 months, and we were unicode long time ago.
One thing I suspect where the Issue could be is the SDK kit for the Java application. We recently Updated our Kernel Version and I think we should Upgrade the SDK';s too which was not done. What do you think??
Thanks -
Credit Card Encryption through RFC calls to third party software
Dear All,
I am working on credit card encryption in CRM. At our firm, we have SAP R/3 which is integrated with third party server for performing credit card encryption using RFC calls. We want to perform similar thing in SAP CRM. I was looking into SAP standard mechanism to perform encryption and it seems they use class CL_PCA_SECURITY -> External Encryption to encrypt credit card. Are there any BADIs available for me to change behaviour of this call and call our listeners (for third party server) instead of what standard SAP is calling. Here is what in the code:
call C function 'SSFENVELOPE'
CALL 'SSF_ABAP_SERVICE' "#EC CI_CCALL
ID 'OPCODE' FIELD SSF_OPCODES-ENVELOPE
ID 'SECTOOLKIT' FIELD SSFTOOLKIT
ID 'STRFORMAT' FIELD STR_FORMAT
ID 'STRFORMATL' FIELD STR_FORMAT_L
ID 'BINENC' FIELD B_INENC
ID 'IOSPEC' FIELD IO_SPEC
ID 'OSTRINPUTDATAL' FIELD OSTR_INPUT_DATA_L
ID 'STRPAB' FIELD STR_PAB
ID 'STRPABL' FIELD STR_PAB_L
ID 'STRPABPASSWORD' FIELD STR_PAB_PASSWORD
ID 'STRPABPASSWORDL' FIELD STR_PAB_PASSWORD_L
ID 'OSTRENVELOPEDDATAL' FIELD OSTR_ENVELOPED_DATA_L
ID 'CRC' FIELD CRC
ID 'OSTRINPUTDATA' FIELD OSTR_INPUT_DATA-SYS
ID 'RECIPIENTLIST' FIELD RCPTAB-SYS
ID 'OSTRENVELOPEDDATA' FIELD OSTR_ENVELOPED_DATA-SYS
ID 'STRSYMENCRALG' FIELD STR_SYM_ENCR_ALG
ID 'STRSYMENCRALGL' FIELD STR_SYM_ENCR_ALG_L.Vivek,
While it may be technically possible to accomplish what you are suggesting (leveraging the encryption functionality provided by your third-party server) I would recommend strongly that you consider a token-based solution instead. You can learn more about tokenization on this [blog|/people/eric.bushman4/blog/2009/01/02/tokenization-as-a-means-of-securing-credit-card-numbers ].
There are many reasons why a token-based solution is superior to using application specific encryption (as outlined in the blog), but specifically in the case you describe where an SAP CRM and SAP R/3 are involved there is one specific reason to consider:
When order data is replicated between SAP CRM and SAP R/3 the systems will attempt to decrypt the credit card numbers prior to passing the data and therefore the RAW card number will be stored in the middleware logs. This is especially true when using SAP's native credit card encryption logic in the CRM and R/3-ECC applications.
For example, let's say a user enters a credit card as the form of payment during Order Creation in CRM. At Order Save the system will send the credit card information to your third-party server for an authorization attempt and the results will be returned to CRM. As the Order is saved and committed to the CRM database the standard SAP encryption functionality can be leveraged to encrypt the card data. Based on your middleware configuration, eventually the Order data (including the credit card details) will be sent to the R/3 or ECC system. In order to do so the CRM system will first decrypt the card number meaning that the CRM middleware logs will contain RAW card numbers. When the Order is created in R/3 or ECC the native credit card encryption functionality in R/3 or ECC could be used to encrypt the card number prior to the Order being stored in the database.
Should you choose to use a third-party server you may find, depending on how the third-party vendor's logic works in SAP, that you must utilize a BADI to decrypt the card number in CRM so that the CRM middleware has a RAW card and so that when the Orders is saved in the R/3 or ECC system it can be encrypted again with the third-party vendor solution. In either case the RAW card number is present in all systems for some period of time and potentially stored in logs thus exposing your systems to risk and greater PCI audit scrutiny.
Eric Bushman
VP, Solutions Engineering
[Paymetric|https://www.paymetric.com]
Maybe you are looking for
-
I have recently purchased a new lap top. Both my wife and I share our Itune music. When I purchesed the computer I was able to authorize my itunes account on it and move my purchaced music over from my iphone. However, I was not able to move my wifes
-
A strange problem just started happening yesterday & continues randomly. Every now & then the sides of my Desktop reduce by 8mm on the L & 4mm on the R. Whereas the desktop should cover the entire screen it is now pure black on the L & R sides. Howev
-
How to connect java in mysql....
how to connect java in mysql.... help me guys am newbie...
-
Safari New Tabs vs. New Window
when i use safari on any computer weather it be a Mac or a PC, Safari doesn't allow me to click on a link and it open in a new tab. I know that you can go into preferences/general tab, and at the bottom select open links in new tab or window. I've do
-
UI command to delete file.
hi, i want to have a command for deleting a file .. it should be a button beside every resource which is being displayed in the KM folder (/documents/kumar). i have seen https://www.sdn.sap.com/irj/servlet/prt/portal/prtroot/com.sap.km.cm.docs/librar