Fast RFC
Hello everybody,
I have a common question about using Fast RFC in SAP Web AS 6.40.
Can I use Fast RFC when I have a standalone Java Dialog Instance and a standalone ABAP Dialog Instance on the same machine? Or does Fast RFC only is possible when using an add-in installation (Java and ABAP)?
In the SAP help there is a explanation, that only the RFC client and the RFC server must be installed on the same machine
(http://help.sap.com/saphelp_webas630/helpdata/en/db/bef3a1dc27174699f9f1f0bc9c0a04/content.htm), but it is for the Release 6.30.
Thanks for help
knut
Hi vikas,
does it means that the standalone ABAP Dialog Instance and the Java Dialog Instance installed on the same machine, but with different SIDs, can call together about Fast RFC?
Best Regards
knut
Similar Messages
-
Strange response time for an RFC call viewed from STAD on R/3 4.7
Hello,
On our R/3 4.7 production system, we have a lot of external RFC calls to execute an abap module function. There are 70 000 of these calls per day.
The mean response time for this RFC call is 35 ms.
Some times a few of them (maybe 10 to 20 per day) are way much longer.
I am currently analysing with STAD one of these long calls which lasted 10 seconds !
Here is the info from STAD
Response time : 10 683 ms
Total time in workprocess : 10 683 ms
CPU time : 0 ms
RFC+CPIC time : 0 ms
Wait for work process 0 ms
Processing time 10.679 ms
Load time 1 ms
Generating time 0 ms
Roll (in) time 0 ms
Database request time 3 ms
Enqueue time 0 ms
Number Roll ins 0
Roll outs 0
Enqueues 0
Load time Program 1 ms
Screen 0 ms
CUA interf. 0 ms
Roll time Out 0 ms
In 0 ms
Wait 0 ms
Frontend No.roundtrips 0
GUI time 0 ms
Net time 0 ms
There is nearly no abap processing in the function module.
I really don't uderstand what is this 10 679 ms processing time especially with 0 ms cpu time and 0 ms wait time.
A usual fast RFC call gives this data
23 ms response time
16 ms cpu time
14 ms processing time
1 ms load time
8 ms Database request time
Does anybody have an idea of what is the system doing during the 10 seconds processing time ?
Regards,
OlivierHi Graham,
Thank you for your input and thoughts.
I will have to investigate on RZ23N and RZ21 because I'm not used to use them.
I'm used to investigate performance problems with ST03 and STAD.
My system is R/3 4.7 WAS 6.20. ABAP and BASIS 43
Kernel 6.40 patch level 109
We know these are old patch levels but we are not allowed to stop this system for upgrade "if it's not broken" as it is used 7/7 24/24.
I'm nearlly sure that the problem is not an RFC issue because I've found other slow dialog steps for web service calls and even for a SAPSYS technical dialog step of type <no buffer>. (what is this ?)
This SAPSYS dialog step has the following data :
User : SAPSYS
Task type : B
Program : <no buffer>
CPU time 0 ms
RFC+CPIC time 0 ms
Total time in workprocs 5.490 ms
Response time 5.490 ms
Wait for work process 0 ms
Processing time 5.489 ms
Load time 0 ms
Generating time 0 ms
Roll (in+wait) time 0 ms
Database request time 1 ms ( 3 Database requests)
Enqueue time 0 ms
All hundreds of other SAPSYS <no buffer> steps have a less than 5 ms response time.
It looks like the system was frozen during 5 seconds...
Here are some extracts from STAD of another case from last saturday.
11:00:03 bt1fsaplpr02_PLG RFC R 3 USER_LECKIT 13 13 0 0
11:00:03 bt1sqkvf_PLG_18 RFC R 4 USER_LECDIS 13 13 0 0
11:00:04 bt1sqkvh_PLG_18 RFC R 0 USER_LECKIT 19 19 0 16
11:00:04 bt1sqkvf_PLG_18 RFC R 4 USER_LECKIT 77 77 0 16
11:00:04 bt1sqkve_PLG_18 RFC R 4 USER_LECDIS 13 13 0 0
11:00:04 bt1sqkvf_PLG_18 RFC R 4 USER_LECDIS 14 14 0 16
11:00:05 bt1sqkvg_PLG_18 RFC R 0 USER_LECKIT 12 12 0 16
11:00:05 bt1sqkve_PLG_18 RFC R 4 USER_LECKIT 53 53 0 0
11:00:06 bt1sqkvh_PLG_18 RFC R 0 USER_LECKIT 76 76 0 0
11:00:06 bt1sqk2t_PLG_18 RFC R 0 USER_LECDIS 20 20 0 31
11:00:06 bt1sqk2t_PLG_18 RFC R 0 USER_LECKIT 12 12 0 0
11:00:06 bt1sqkve_PLG_18 RFC R 4 USER_LECKIT 13 13 0 0
11:00:06 bt1sqkvf_PLG_18 RFC R 4 USER_LECKIT 34 34 0 16
11:00:07 bt1sqkvh_PLG_18 RFC R 0 USER_LECDIS 15 15 0 0
11:00:07 bt1sqkvg_PLG_18 RFC R 0 USER_LECKIT 13 13 0 16
11:00:07 bt1sqk2t_PLG_18 RFC R 0 USER_LECKIT 19 19 0 0
11:00:07 bt1fsaplpr02_PLG RFC R 3 USER_LECKIT 23 13 10 0
11:00:07 bt1sqkve_PLG_18 RFC R 4 USER_LECDIS 38 38 0 0
11:00:08 bt1sqkvf_PLG_18 RFC R 4 USER_LECKIT 20 20 0 16
11:00:09 bt1sqkvg_PLG_18 RFC R 0 USER_LECDIS 9 495 9 495 0 16
11:00:09 bt1sqk2t_PLG_18 RFC R 0 USER_LECDIS 9 404 9 404 0 0
11:00:09 bt1sqkvh_PLG_18 RFC R 1 USER_LECKIT 9 181 9 181 0 0
11:00:10 bt1fsaplpr02_PLG RFC R 3 USER_LECDIS 23 23 0 0
11:00:10 bt1sqkve_PLG_18 RFC R 4 USER_LECKIT 8 465 8 465 0 16
11:00:18 bt1sqkvh_PLG_18 RFC R 0 USER_LECKIT 18 18 0 16
11:00:18 bt1sqkvg_PLG_18 RFC R 0 USER_LECKIT 89 89 0 0
11:00:18 bt1sqk2t_PLG_18 RFC R 0 USER_LECKIT 75 75 0 0
11:00:18 bt1sqkvh_PLG_18 RFC R 1 USER_LECDIS 43 43 0 0
11:00:18 bt1sqk2t_PLG_18 RFC R 1 USER_LECDIS 32 32 0 16
11:00:18 bt1sqkvg_PLG_18 RFC R 1 USER_LECDIS 15 15 0 16
11:00:18 bt1sqkve_PLG_18 RFC R 4 USER_LECDIS 13 13 0 0
11:00:18 bt1sqkve_PLG_18 RFC R 4 USER_LECDIS 14 14 0 0
11:00:18 bt1sqkvf_PLG_18 RFC R 4 USER_LECKIT 69 69 0 16
11:00:18 bt1sqkvf_PLG_18 RFC R 5 USER_LECDIS 49 49 0 16
11:00:18 bt1sqkve_PLG_18 RFC R 5 USER_LECKIT 19 19 0 16
11:00:18 bt1sqkvf_PLG_18 RFC R 5 USER_LECDIS 15 15 0 16
The load at that time was very light with only a few jobs starting :
11:00:08 bt1fsaplpr02_PLG RSCONN01 B 31 USER_BATCH 39
11:00:08 bt1fsaplpr02_PLG RSBTCRTE B 31 USER_BATCH 34
11:00:08 bt1fsaplpr02_PLG /SDF/RSORAVSH B 33 USER_BATCH 64
11:00:08 bt1fsaplpr02_PLG RSBTCRTE B 33 USER_BATCH 43
11:00:08 bt1fsaplpr02_PLG RSBTCRTE B 34 USER_BATCH 34
11:00:08 bt1fsaplpr02_PLG RSBTCRTE B 35 USER_BATCH 37
11:00:09 bt1fsaplpr02_PLG RVV50R10C B 34 USER_BATCH 60
11:00:09 bt1fsaplpr02_PLG ZLM_HDS_IS_PURGE_RESERVATION B 35 USER_BATCH 206
I'm thinking also now about the message server as there is load balancing for each RFC call ?
Regards,
Olivier -
At Craig's suggestion: Why Invoke PERL functionality from WD-ABAP?
Craig -
This is response to your suggestion that I post my own reasons for thinking that it would be useful to be able to invoke PERL functionality from WD-ABAP.
Please note at the outset that these reasons are based on my own personal belief that the relatively new vertical sectors of bioinformatics/biomed could produce reasonably significant income for SAP in a reasonably short time if SAP decided to create application-level functionalities in these areas.
This belief is in turn based on a very significant new initiative which has been publicly announced by the university Medical Center recently voted "most-wired" (Vanderbilt) and equivalent initiatives at other university Medical Centers across the country. (BTW, I've posted a meeting time (Tue 7pm) at Tech Ed for anyone who wants to learn more about these initiatives, the new vertical sectors they define, and how SAP could EASILY play in them.)
So, with this background established, assume that SAP does decide to play in the bioinformatic/biomed sector.
SAP will rapidly find that a lot of biomed is based on the kind of bioinformatics that essentially does pattern-analysis on two kinds of strings: polynucleotide strings (DNA, mRNA, tRNA, etc.) and polypeptide strings (mainly the amino acid strings that form the "primary structures" of protiens.) For example, biomed will soon include the ID of "at risk" markers for all patients in a university medical center, indicating what diseases patients may be genetically at risk for due to SNP's and other abnormalities in their inherited DNA.
Now when such analysis is not done by running "canned" versions of well-developed programs such as the ubiqitious BLAST program for "aligning" polynucleotide or polypeptide sequences, it is done by programs written in languages that offer superb capabilities for pattern-searching and manipulation of strings, e.g. PERL.
Additionally, I know from personal experience and the experience of my SigOther that even data obtained from well-known canned programs must be further massaged by non-canned techniques that again are readily implementable in PERL and other similar languages.
Finally, a lot of bioinformatic/biomed applications require iterative batch execution of canned stat routines such as t-tests or normality tests, which can be conveniently done via calls from languages such as PERL to canned products such as STATA.
So assume SAP wants to develop a biomed application that has:
back-end data containing the usual kinds of info med centers need to know about patients, plus the new kinds of scientific info about patients that med centers are creating
a presentation component that displays these two kinds of data for query, further elaboration/refinement, and subsquent update.
For example, there will be times when a doctor will want to take scientific data on a patient from the back-end (e.g. portions of a patient's DNA), subject it to pattern-analysis of the type described above, and then store the results of the analysis as additional new scientific info in the back-end databases.
And SAP can readily provide the doctor with this capability if it allows PERL functionality to be invoked from WD/WD-ABAP components. In some cases, the PERL will simply invoke industry-standard canned programs such as BLAST and wrap the results in a way friendly to SAP. In other cases, the PERL may do the analysis itself. In other cases, the PERL may invoke stat programs. Etc, etc. etc.
The point is that there is a vast inventory of bioinformatic/biomed PERL code out there, and if SAP wants to get serious about playing in the bioinformatics/biomed sector, it will be much easier to talk to this inventory of programs rather than recreate it in JAVA or SAP inside SAP.
Anyway, please remember - this post was based on the assumption that SAP may want to get serious about playing in the bioinformatic/biomed sector.
If not, then as Rosanne Rosanadanna used to say, "Never mind".Hi David,
Where it can be used :-
Anywhere that you can insert ABAP code to run, you can integrate Perl in the manor that I laid out. The only requirements are the ability to run registered RFC programs, and to execute ABAP code including RFC calls (which is anywhere inside of an R/3 system basically).
Comparison with other techniques :-
All communication from the ABAP stack with the J2EE stack is done via RFC - this is only faster than a registerd RFC Server if Fast RFC is used which means that the J2EE stack MUST reside on the same host as the R/3 instance. Therefore there is no performance difference at that level and any performance differentiation is going to be in the programming language Perl vs Java, or payload encoding techniques (XML) at that level (not withstanding the consideration of development time).
There is also the HTTP Client communication facilities - with or without document encodings (the ICF + eg. SOAP). Again - I'd take a long hard look at whether it is necessary to be encumbered with the data packet encoding/ecapsulation overhead.
What you gain :-
Once you are in the "land of Perl" you have access to essentially any module you can find on CPAN, so any data access you require whether it be some kind of application server technology, or DB, can be fullfilled by whats available there (unless you need to roll your own?). And lets not forget algorythm implemented in Perl or Perl XS extensions - probably very important in the medical/scientifc field.
SOA (IMO) is a big ugly 4 letter word. At the end of the day, you have to look where your time and money is best spent, and whether you can achieve the desired results using Scripting Language Connector technology, or whether you feel compelled to go down a WS-* style route.
However - I would like to say this - IMO it is totally unecessary to wrap up system integration in multiple (expensive both in money, and performance considerations) layers if you are confident that you have good control over both ends of the communication streams. I believe that when your main objective is to utilise large chunks of code written in another language (rather than reimplement it in something closer to SAPs core interests), or communicate with inhouse data sources/systems (I've done this for MySQL before), then this is definitely one such case that opens the door for using my outlined approach (in the article).
Cheers,
Piers Harding.
Message was edited by: Piers Harding -
Hi all,
I Am new to SAP. i wanted to know about JAVA STACK in SAP.
what is JAVA STACK?
what is its application in SAP?
where it is used?
Thanks in advance,
Vaibhav GoreUnitl SAP R/3 Entrprise SAP can handle only ABAP request and Web request in the form of BSP and then the JAVA stack has been introduced in mySAP ERP edition 2003 and then it was called SAP WEB AS, where it had two engine side by side ABAP as well as JAVA, the communication between both these engines are done via a fast RFC called JCO.
The java engine is capable of handling both Web as well as Application developed in Java Servles and EJB , web application will be handle by Web Container and Applications will be handled by EJB container.
SAP Enterprise Portal runs in Java Engine, most part of CRM application is running on Java Side of the engine.
Hope this helps.
Thanks
Ahamed -
RFC start on explicit host - fast sync interface options to iSeries
Hi all,
Sorry if this is going to be a bit long..
Back on my old stomping grounds, times change, so do backend systems, we're now running SAP on Unix/Oracle with iseries SAP systems being phased out. This also meant that I moved from hardcore as400 techie to a more intermediate figure between application and real basis. Oh well.
I have an interesting situation though. We need to establish an ATP check interface between Unix/Oracle CRM 5.0 and our legacy iseries application. ATP check is basically checking if stock is present for a customer order. The check is performed during ordering so it should be realtime and fast.
A number of people with more money than knowledge decided the best bet was to implement a biztalk webservice between CRM and iseries. The webservice would call a stored procedure via jdbc. It'll work I'm convinced.
We have been given until monday to come up with a good alternative (which basically means the weekend..)
From an infrastructure point of view I do not want this at all for several reasons.
Our main applications are SAP and legacy as400 with SAP XI in the middle, so at least if we use a intermediate system we should use XI. Introducing a new platform is foolish and bad for maintenance and support
Since the interface should be lean and mean I'm thinking maybe bypass XI as well. Basically these are the options for this interface:
1: CRM HTTP (RFC) to XI to as400 stored procedure
2: CRM HTTP (RFC) to XI to apache webserver
3: CRM HTTP RFC directly to iseries apache webserver
option 2 could be useful if we have to do a lot of mapping in the interface (which I do not expect)
Apache webservers call a iseries program which will (probably) send back back a XML with the stock info
Then I looked into my old iseries on as400 redbook and found these two further options:
4: Using a CPI-C connection from CRM to iseries for direct program call (SG244672 12.7.1)
5: using a RFC connection from CRM to iseries for direct program call (SG244672 12.7.2)
I'm not too familiar with cpi-c so I investigated the RFC option a bit. The tests I have done sofar have either failed because of firewall issues or because this option is not supported in certain system implementations (SAP on iseries 46d does not allow it
The one issue I'm not certain about yet is whether the receiving iseries system needs a SAP gateway. Since it is completely legacy at the moment it has no SAP components at all. If I would have to install a SAP gateway for this I'm not sure if we're still lean and mean.
So questions: is there any experience with option 5 to iseries? If option 5 does not seem feasible I'll probably advice to go to option 3, we have some experience with that and will also definitely work.
Any other comments on these infrasructure scenario's are very welcome too!
Thanks
Tom
Edited by: Tom van Rooyen on Apr 24, 2010 4:28 AM
Edited by: Volker Gueldenpfennig on Apr 24, 2010 11:10 AMHi Tom,
tja, what shall we say ?
if you are really interested in a VERY fast and "rock-stable" solution, RFC should be your friend ))
We are having lots of eperience with your "option 5" ...
We even support that
You can have a look at:
http://www.consolut.net/en/s/download/contool.html
There are tools available, that could help you ... and they do work ... but I think, there is no documentation attached to that ...
The biggest issue in my eyes is your timeframe and the current weekend ...
We could definetely help you here and make it to a fast and reliable solution ...
Regards
Volker Gueldenpfennig, consolut international ag
http://www.consolut.net - http://www.4soi.de - http://www.easymarketplace.de -
RFC Destination Type G too fast
Hi All,
I have an RFC Destination (Type G) that is pointing to another XI system. We use that to send messages directly from XI to XI. However, when there is heavy load,we get a lot of failures in the source XI System. Messages go eventually after many retry attempts.
Is there any way that i can slow this down, so that the messages queue up in the Source system and flow slowly towards the target. We can do this in a Type 3 RFC destination by reducing the number of connections in Transaction SMQS. Any such options for Type G?
Thanks,
VarunHi Liang,
Thanks for your response.
We are using the XI adapter. Also, to clarify, this is a connection between 2 separate XI Systems.
Thanks,
Varun -
Error in Mapping of external RFC reponse
Hi experts,
I have big problems with my current scenario. I tried to call a C-program by using RFC connection.
<u><b>synchronous RFC scenario:</b></u>
<b>request:</b>
<u>Sender SAP-System RFC-Adapter> XI RFC-Adapter> receiver C-program</u>
on both sides I use RFC-Adapter and the flags of unicode is also set,
on sender side I have created a simple RFC adapter, this side works without problems.
On receiver side I have create an external RFC call. Here a RFC destination which is created on my SAP XI sap Gateway is invoked by the RFC Adapter. My C-program registers the program id of this RFC at receiver side. So by testing the RFC connection (transaction SM59) the RFC works fine.
The request mapping includes on both side the same RFC-structure.
<b>response</b>
<u>Sender SAP-System <RFC XI <RFC receiver C-program</u>
The response mapping includes on both side the same RFC response structure.
When I execute my scenario by calling the ABAP-Program in my SAP system, it seems that request works fine, but during the response in the integration engine following error occurs:
com.sap.aii.utilxi.misc.api.BaseRuntimeException: Fatal Error: com.sap.engine.lib.xml.parser.ParserException: XMLParser : #0 not allowed in Character data sections(:main:, row:1, col:377) at com.sap.aii.mappingtool.tf3.Transformer.checkParserException(Transformer.java:187) at com.sap.aii.mappingtool.tf3.Transformer.start(Transformer.java:151) at com.sap.aii.mappingtool.tf3.AMappingProgram.execute(AMappingProgram.java:105) at com.sap.aii.ibrun.server.mapping.JavaMapping.executeStep(JavaMapping.java:64) at com.sap.aii.ibrun.server.mapping.Mapping.execute(Mapping.java:92) at com.sap.aii.ibrun.server.mapping.MappingHandler.run(MappingHandler.java:90) at com.sap.aii.ibrun.sbeans.mapping.MappingRequestHandler.handleMappingRequest(MappingRequestHandler.java:95) at com.sap.aii.ibrun.sbeans.mapping.MappingRequestHandler.handleRequest(MappingRequestHandler.java:68) at com.sap.aii.ibrun.sbeans.mapping.MappingServiceImpl.processFunction(MappingServiceImpl.java:79) at com.sap.aii.ibrun.sbeans.mapping.MappingServiceObjectImpl0_0.processFunction(MappingServiceObjectImpl0_0.java:131) at sun.reflect.GeneratedMethodAccessor264.invoke(Unknown Source) at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25) at java.lang.reflect.Method.invoke(Method.java:324) at com.sap.engine.services.ejb.session.stateless_sp5.ObjectStubProxyImpl.invoke(ObjectStubProxyImpl.java:187) at $Proxy189.processFunction(Unknown Source) at sun.reflect.GeneratedMethodAccessor931.invoke(Unknown Source) at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25) at java.lang.reflect.Method.invoke(Method.java:324) at com.sap.engine.services.rfcengine.RFCDefaultRequestHandler.call(RFCDefaultRequestHandler.java:275) at com.sap.engine.services.rfcengine.RFCDefaultRequestHandler.handleRequest(RFCDefaultRequestHandler.java:217) at com.sap.engine.services.rfcengine.RFCJCOServer.handleRequest(RFCJCOServer.java:156) at com.sap.mw.jco.JCO$Server.dispatchRequest(JCO.java:7803) at com.sap.mw.jco.MiddlewareJRfc$Server.dispatchRequest(MiddlewareJRfc.java:2405) at com.sap.mw.jco.MiddlewareJRfc$Server.listen(MiddlewareJRfc.java:1728) at com.sap.mw.jco.JCO$Server.listen(JCO.java:8164) at com.sap.mw.jco.JCO$Server.work(JCO.java:8284) at com.sap.mw.jco.JCO$Server.loop(JCO.java:8231) at com.sap.mw.jco.JCO$Server.run(JCO.java:8147) at com.sap.engine.core.thread.impl3.ActionObject.run(ActionObject.java:37) at java.security.AccessController.doPrivileged(Native Method) at com.sap.engine.core.thread.impl3.SingleThread.execute(SingleThread.java:100) at com.sap.engine.core.thread.impl3.SingleThread.run(SingleThread.java:124) Root Cause: com.sap.aii.utilxi.misc.api.BaseRuntimeException: Fatal Error: com.sap.engine.lib.xml.parser.ParserException: XMLParser : #0 not allowed in Character data sections(:main:, row:1, col:377) at com.sap.aii.mappingtool.tf3.rt.xparser.MTSaxHandler.run(MTSaxHandler.java:157) at com.sap.aii.mappingtool.tf3.rt.xparser.XParser.run(XParser.java:73) at java.lang.Thread.run(Thread.java:534) Root Cause: com.sap.engine.lib.xml.parser.NestedSAXParserException: Fatal Error: com.sap.engine.lib.xml.parser.ParserException: XMLParser : #0 not allowed in Character data sections(:main:, row:1, col:377)(:main:, row=1, col=377) -> com.sap.engine.lib.xml.parser.ParserException: XMLParser : #0 not allowed in Character data sections(:main:, row:1, col:377) at com.sap.engine.lib.xml.parser.XMLParser.handleContentReference(XMLParser.java:2327) at com.sap.engine.lib.xml.parser.XMLParser.scanContent(XMLParser.java:2458) at com.sap.engine.lib.xml.parser.XMLParser.scanElement(XMLParser.java:1841) at com.sap.engine.lib.xml.parser.XMLParser.scanContent(XMLParser.java:2440) at com.sap.engine.lib.xml.parser.XMLParser.scanElement(XMLParser.java:1841) at com.sap.engine.lib.xml.parser.XMLParser.scanContent(XMLParser.java:2440) at com.sap.engine.lib.xml.parser.XMLParser.scanElement(XMLParser.java:1841) at com.sap.engine.lib.xml.parser.XMLParser.scanContent(XMLParser.java:2440) at com.sap.engine.lib.xml.parser.XMLParser.scanElement(XMLParser.java:1841) at com.sap.engine.lib.xml.parser.XMLParser.scanDocument(XMLParser.java:2843) at com.sap.engine.lib.xml.parser.XMLParser.parse0(XMLParser.java:229) at com.sap.engine.lib.xml.parser.AbstractXMLParser.parseAndCatchException(AbstractXMLParser.java:145) at com.sap.engine.lib.xml.parser.AbstractXMLParser.parse(AbstractXMLParser.java:160) at com.sap.engine.lib.xml.parser.AbstractXMLParser.parse(AbstractXMLParser.java:261) at com.sap.engine.lib.xml.parser.Parser.parseWithoutSchemaValidationProcessing(Parser.java:280) at com.sap.engine.lib.xml.parser.Parser.parse(Parser.java:342) at com.sap.engine.lib.xml.parser.SAXParser.parse(SAXParser.java:125) at javax.xml.parsers.SAXParser.parse(SAXParser.java:345) at com.sap.aii.mappingtool.tf3.rt.xparser.MTSaxHandler.run(MTSaxHandler.java:155) at com.sap.aii.mappingtool.tf3.rt.xparser.XParser.run(XParser.java:73) at java.lang.Thread.run(Thread.java:534) -
at com.sap.engine.lib.xml.parser.SAXParser.parse(SAXParser.java:144) at javax.xml.parsers.SAXParser.parse(SAXParser.java:345) at com.sap.aii.mappingtool.tf3.rt.xparser.MTSaxHandler.run(MTSaxHandler.java:155) at com.sap.aii.mappingtool.tf3.rt.xparser.XParser.run(XParser.java:73) at java.lang.Thread.run(Thread.java:534) Caused by: com.sap.engine.lib.xml.parser.ParserException: XMLParser : #0 not allowed in Character data sections(:main:, row:1, col:377) at com.sap.engine.lib.xml.parser.XMLParser.handleContentReference(XMLParser.java:2327) at com.sap.engine.lib.xml.parser.XMLParser.scanContent(XMLParser.java:2458) at com.sap.engine.lib.xml.parser.XMLParser.scanElement(XMLParser.java:1841) at com.sap.engine.lib.xml.parser.XMLParser.scanContent(XMLParser.java:2440) at com.sap.engine.lib.xml.parser.XMLParser.scanElement(XMLParser.java:1841) at com.sap.engine.lib.xml.parser.XMLParser.scanContent(XMLParser.java:2440) at com.sap.engine.lib.xml.parser.XMLParser.scanElement(XMLParser.java:1841) at com.sap.engine.lib.xml.parser.XMLParser.scanContent(XMLParser.java:2440) at com.sap.engine.lib.xml.parser.XMLParser.scanElement(XMLParser.java:1841) at com.sap.engine.lib.xml.parser.XMLParser.scanDocument(XMLParser.java:2843) at com.sap.engine.lib.xml.parser.XMLParser.parse0(XMLParser.java:229) at com.sap.engine.lib.xml.parser.AbstractXMLParser.parseAndCatchException(AbstractXMLParser.java:145) at com.sap.engine.lib.xml.parser.AbstractXMLParser.parse(AbstractXMLParser.java:160) at com.sap.engine.lib.xml.parser.AbstractXMLParser.parse(AbstractXMLParser.java:261) at com.sap.engine.lib.xml.parser.Parser.parseWithoutSchemaValidationProcessing(Parser.java:280) at com.sap.engine.lib.xml.parser.Parser.parse(Parser.java:342) at com.sap.engine.lib.xml.parser.SAXParser.parse(SAXParser.java:125) ... 4 more</Trace>
<Trace level="1" type="T">Runtime exception occurred during execution of application mapping program com/sap/xi/tf/_MM_KQ3_TOMATOS_RESPONSE_: com.sap.aii.utilxi.misc.api.BaseRuntimeException; Fatal Error: com.sap.engine.lib.xml.parser.ParserException: XMLParser : #0 not allowed in Character data sections(:main:, row:1, col:377)
So could anybody help me.
Thanks a lot.
Best regards
MarioHi Jai,
thanks for your fast reply.
I have checked my payload but there is no col. 377. When I copy the following response payload into the mapping test tool it works fine.
<?xml version="1.0" encoding="UTF-8" ?>
- <rfc:_-MSG_-4_PM_TOMATOS.Response xmlns:rfc="urn:sap-com:document:sap:rfc:functions">
<ET_DIMMARKS_FLOAT />
<ET_DIMMARKS_INTEGER />
<ET_DIMMARKS_STRING />
- <ET_ERRORS>
- <item>
<SEQ_NO>-1</SEQ_NO>
<ERROR_NR>16777216</ERROR_NR>
<RC>-1518068224</RC>
<ERROR_TYPE>E</ERROR_TYPE>
<DESCRIPTION>The data context cannot be found </DESCRIPTION>
<ERROR_CLASS>PM.TOMATOSX error </ERROR_CLASS>
<MODULE_NAME>PM.TOMATOSX </MODULE_NAME>
<MESSAGE>No standard data context is defined. </MESSAGE>
<INSTANCE_NAME> </INSTANCE_NAME>
<PM_MARKNAME> </PM_MARKNAME>
<CALLPOS> </CALLPOS>
</item>
</ET_ERRORS>
<ET_INFOS />
<ET_MARKS_DIMSIZE />
<ET_MARKS_FLOAT />
<ET_MARKS_INTEGER />
<ET_MARKS_STRING />
<ET_OBJECTS />
<ET_PLAUSIS />
<ET_PROFILES />
<ET_PROFILE_MODS />
<ET_RELATIONS />
<ET_STATISTICS />
<IT_DIMMARKS_FLOAT />
<IT_DIMMARKS_INTEGER />
<IT_DIMMARKS_STRING />
<IT_MARKS_DIMSIZE />
<IT_MARKS_FLOAT />
<IT_MARKS_INTEGER />
<IT_MARKS_STRING />
<IT_METHODS />
<IT_METHOD_PARAMS />
<IT_OBJECTS />
<IT_OPTIONS />
<IT_RELATIONS />
<IT_SEQUENCES />
</rfc:_-MSG_-4_PM_TOMATOS.Response>
So have you any idea, what the problem could be.
Best regards
Mario -
Which is better for bulk message scenario in sap xi RFC or Proxy
which is better for bulk message scenario in ( RFC or Proxy ) ?
Edited by: prabhatxi on Aug 6, 2010 4:44 PMProxy will alwaays be better option in this case, as it is adapter less framework, and communication happens directly with XI central integration engine. So it is always fast communication and gives good performance.
But still you should consider other factors, you may consider using RFC as well, as sometime we go for RFC/IDOC as this are the standard interfaces already available rather than creating structure...
May be you can share more info on what type/volume data are you planning to send via XI?
Hope this cleart your doubt..
Divyesh -
Sending response back to RFC in UDF
Hi All,
I have a Sync scenario from RFC to SOAP. I want to check the line items in RFC request. If there are no line items , then i want to stop the scenario and use UDF to send the constant (Invalid line items based on validations) back to RFC responce by using RFC lookup.
Is it possible to send response back to RFC in UDF?
Please suggest me, i want to handle exceptions without BPM.
Thanks and regards
Umahi,
>>Is it possible to send response back to RFC in UDF?
I don't think such an option exists in standard
but maybe you can do the check in the RFC much faster instead os checking
this in XI ?
Regards,
Michal Krawczyk -
Without BPM:Call RFC using JCO in interface mapping using java mapping
Hi all
I have a very small scenario where REQUEST from the customer comes via Web Service all i have to do is to read the request using SOAP adapter and call an interface mapping(lets say the name is IM_TEST) inside which there is a JAVA MAPPING program written which will call an RFC in CRM using JCO.
Now this was really simple and i cud test the Interface mapping successfully, but the problem is when loading the scenario in integration directory i have certain things to do
1. to set the SENDER AGREEMENT which i did correctly
2. set the RECEIVER DETERMINATION, INTERFACE DETERMINATION AND RECEIVER AGREEMENT now here i am stuck because there is no receiver in my case as the RFC is called inside the mapping only.
can i call one more message mapping in IM_TEST which will write file onto the XI directory and then in RECEIVER DETERMINATION, INTERFACE DETERMINATION AND RECEIVER AGREEMENT i can mention the reciever as FTP.
I tried it but i gives the following error
Runtime exception occurred during execution of application mapping program com/sap/xi/tf/_MM_TEST_WRITE_FILE: com.sap.aii.utilxi.misc.api.BaseRuntimeException; Parsing an empty source. Root element expected!
Please help me how to complete the scenario so that customer can run it end to end.
<REMOVED BY MODERATOR>
Edited by: Prateek Raj Srivastava on May 12, 2010 1:44 PMStefen
What do i do then...actually this is the project requirement. They want a very fast response from PI and thats why they wnt us to omit BPM and the Graphical mapping from the scenario.
I am able to test the interface mapping which calls the the Java mapping inside which there is an RFC call, but i cannot implement it end - to - end as there is no receiver business system in this case. The only business system i have is the SOAP sender.
I am really troubled now, please help me with a solution.
Is there any other possible way through which the process can become very fast whic hcan meet their requirement.
Regards
Naina -
OLD RFC export structure being referred to
Hello all,
I am testing a XI to RFC call in PI. The structure of the export parameter was changed after being imported into IR and accordingly I did re-import the modified RFC into IR. The export parameter in IR reflects the latest correct structure. Whereas when I test my scenario, the interface is failing because the response from the RFC is still referring to the old export parameter structure and not the new one.
In fact the response XML has the old RFC export parameter and hence its failing in mapping runtime because its unable to generate the newer version of the export parameter as expected by IR.
*This is the error i am getting.
RuntimeException in Message-Mapping transformation: Cannot produce target element /ns1:Vista_MR2A_Response_MT/Rows/RECORD_ID. Check xml instance is valid for source xsd and target-field mapping fulfills requirements of target xsd at com.sap.aii.mappingtool.tf3.AMappingProgram.start*
Can anyone please help on how to solve this problem.
Cheers,
BabsHi,
you also need to refresh RFC cache (by restarting RFC adapter service in visual admin for example)
or by restarting java stack if this will be faster in your case
Regards,
Michal Krawczyk -
Character translation error in Mapping Lookup API (RFC)
Dear all,
I am new to XI and got a question concerning XI Mapping Lookup API - I send an RFC Request, which comes back as RFC Response(XML), that I fill in a String to map on.
My problem is, characters such as "Ä,ä,Ü,ß" and so on come back pretty weird and I also got a lot of quotes in my String. Could somebody please give me a hint how to move on with this..
thanx in advance
P.S. Is it usefull to handle this problem using the DOM Parser instead holding the response in a string?
Info: called system is R/3 4.6b, XI runs on 6.4 SR 16Dear all - thanks for your very fast help but I still have problem with the wrong character...
@Michal - Using this coding (the easiest way, I found from the WebLog) to convert the Payload type to String, delivers the result I have shown at the end, so could you give me please some approach how to handle this
Payload resultOfCall = accessor.call(payload);
InputStream in = resultOfCall.getContent();
out = new ByteArrayOutputStream(1024);
byte[] buffer = new byte[1024];
for (int read = in.read(buffer); read > 0; read = in.read(buffer)) {
out.write(buffer, 0, read);
content = out.toString();
return content;
Result:
<?xml version="1.0" encoding="UTF-8"?><rfc:Z_GETFTXC108TXTFROMFILE2.Response xmlns:rfc="urn:sap-com:document:sap:rfc:functions"><SCENOEDITXTSTRUCT><MANDT>030</MANDT><SCENARIOID>TVPN</SCENARIOID><FILENAME>/usr/sap/text3.txt</FILENAME><FILETYPE>ASC</FILETYPE><TEXT1>Kleines Regengesicht aaLlMmNnOoPpQqRrSsTtUuVvWwXxYyZzßßÄäÜü2 AaBbCcDdEeFfGgHhIiJjKkLlMmNnOoPpQqRrSsTtUuVvWwXxYyZzßßÄäÜü3 AaBbCcDdEeFfGgHhIiJjKkLlMmNnOoPpQqRrSsTtUuVvWwXxYyZzßß1234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678906 AaBbCcDdEeFfGgHhIiJjKkLlMmNnOoPpQqRrSsTtUuVvWwXxYyZzßßÄäÜü3 AaBbCcDdEeFfGgHhIiJjKkLlMmNnOoPpQqRrSsTtUuVvWwXxYyZzßß8 AaBbCcDdEeFfGgHhIiJjKkLlMmNnOoPpQqRrSsTtUuVvWwXxYyZzßßÜüÖö9 ÄäBbCcDdEeFfGgÖöIxxSTRINGENDE</TEXT1><TEXT2>2 AaBbCcDdEeFfGgHhIiJjKkLlMmNnOoPpQqRrSsTtUuVvWwXxYyZzßßÄäÜü1234567890123456789012345678901234567890123456789012345678903 AaBbCcDdEeFfGgHhIiJjKkLlMmNnOoPpQqRrSsTtUuVvWwXxYyZzßß1234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678902 AaBbCcDdEeFfGgHhIiJjKkLlMmNnOoPpQqRrSsTtUuVvWwXxYyZzßßÄäÜü7 ÄäBbCcDdEeFfGgHhIiJjKkLlMmNnÖöPpQqRrSsTtÜüVvWwXxYyZzßßÖöÜü8 AaBbCcDdEeFfGgHhIiJjKkLlMmNnOoPpQqRrSsTtUuVvWwXxYyZzßßÜüÖö9 ÄäBbCcDdEeFfGgÖöIxxSTRINGENDE</TEXT2><TEXT3>3 AaBbCcDdEeFfGgHhIiJjKkLlMmNnOoPpQqRrSsTtUuVvWwXxYyZzßßKleines Regengesicht aaLlMmNnOoPpQqRrSsTtUuVvWwXxYyZzßßÄäÜü3 AaBbCcDdEeFfGgHhIiJjKkLlMmNnOoPpQqRrSsTtUuVvWwXxYyZzßß1234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678906 AaBbCcDdEeFfGgHhIiJjKkLlMmNnOoPpQqRrSsTtUuVvWwXxYyZzßßÄäÜü7 ÄäBbCcDdEeFfGgHhIiJjKkLlMmNnÖöPpQqRrSsTtÜüVvWwXxYyZzßßÖöÜü8 AaBbCcDdEeFfGgHhIiJjKkLlMmNnOoPpQqRrSsTtUuVvWwXxYyZzßßÜüÖö9 ÄäBbCcDdEeFfGgÖöIxxSTRINGENDE</TEXT3><TEXT4>7 ÄäBbCcDdEeFfGgHhIiJjKkLlMmNnÖöPpQqRrSsTtÜüVvWwXxYyZzßßÖöÜü7 ÄäBbCcDdEeFfGgHhIiJjKkLlMmNnÖöPpQqRrSsTtÜüVvWwXxYyZzßßÖöÜü2 AaBbCcDdEeFfGgHhIiJjKkLlMmNnOoPpQqRrSsTtUuVvWwXxYyZzßßÄäÜü123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890Kleines Regengesicht aaLlMmNnOoPpQqRrSsTtUuVvWwXxYyZzßßÄäÜü1234567890123456789012345678901234567890123456789012345678908 AaBbCcDdEeFfGgHhIiJjKkLlMmNnOoPpQqRrSsTtUuVvWwXxYyZzßßÜüÖö9 ÄäBbCcDdEeFfGgÖöIxxSTRINGENDE</TEXT4><TEXT5></TEXT5></SCENOEDITXTSTRUCT></rfc:Z_GETFTXC108TXTFROMFILE2.Response>
Thnaks in advance! -
Problem when calling the RFC and IDoc adapter at the same time
Hi,
I'm having a major slowdown problem with XI3.0 SP11.
When I'm sending a message(IDoc) from R/3 into XI to get translated into an EDI document, I have no problems and it's very fast. RFC calls are very fast too.
Now, if I'm sending the same message and at the same time another call is done trough the RFC adapter, then the full XI environment hangs for several minutes.
I did all recommended settings from the XI-SR1 install guide(Configuring the J2EE Engine) and tuning guide (XI Configuration Parameters)
and I don't know what to do more? At the Unix level, command TOP shows that dw.sap.XDV_DVEBMGS70 is taking all the CPU% available when both messages(IDoc and RFC) are sent to XI at the same time.
Anybody have an idea what to do next?
Rgds,
YvesDid you check the dev_rfc logs ? Also check SM21 for any errors. Logon to the Target System and check SM50 transaction then you will know whats going on.
regards
Shravan -
Error in pushing a request to R3 System using RFC Adapter
I am trying to send a request to R3 system using an RFC Adapter as my end point and pointing to
the Application server of the R3 box.
In the Transaction SM58 I see and error saying "<i><b>Exception in handleRequest of server Xmb2RfcService: java.lang.Exception:</b></i>"
Here are the corresponding details:
Caller: CENTRALADMIN
Function Module: SRFC_ADAPTER_SERVICE
Target System: AI_RFCADAPTER_JCOSERVER
Host: .... (The XI Server)
Program: SAPMSSY1
Clnt: 100
As per the SRFC_ADAPTER_SERVICE function module, the <i><b>purpose stated so...
"This function is the glue between the JCo RFC Inbound Adapter and the XMS Pipeline."</b></i>
By the by the RFC adapter is started and I can see no activity in the log after startup.
I would really appreciate for any idea/leads in solving this. Thanks.<b></b>Here are the details
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%Config File for RFC Adapter%%%%%%%%%%%%%%%%%%%%
RFC ADAPTER CLASSNAME FOR ADAPTER ENGINE
classname=com.sap.aii.rfcadapter.core.RfcAdapterModule
RFC ADAPTER CONFIGURATION PROPERTIES
Tue Jan 21 13:27:43 CET 2003
1. GENERAL SECTION
1.1 trace settings
RfcAdapter.trace=2
-> adapter trace level 0 = none
1 = error
2 = standard
3 = request
4 = payload
5 = binary payload outbound
#RfcAdapter.traceStack=0
#RfcAdapter.listenException=0
#RfcAdapter.listenState=0
-> additional trace switches (in general not needed)
RfcAdapter.traceFile=./LogFiles/Adapter_rfc.log
-> name of trace file (traces to stdout if not specified)
NOTE: in a productive environment, the trace file should be written to the
log-file directory of the Adapter Engine
1.2 connectivity settings
RfcAdapter.registerInbound=sourceBackendXD1
-> space-delimited list of logical names for inbound R/3 systems subsections.
The adapter will register with all R/3 systems defined in this list and
those systems can send RFC requests into the XI via an RFC destination
that has to be setup in SM59 to point to the RFC Adapter
RfcAdapter.accessInbound=toXmb
-> logical name for inbound access to XMB subsection
RfcAdapter.registerOutbound=fromXmb
-> logical name for outbound access from XMB subsection
RfcAdapter.accessOutbound=targetBackend
-> space-delimited list of logical names for pre-allocated outbound R/3 systems subsections.
This is an option to speed up connection setup during request processing. The RFC Adapter
preallocates sessions to all listed R/3 systems.
RfcAdapter.clientCloseConn=1
-> close calling connections after call (1) or just reset session (0)
NOTE: the reset mechanism is slightly faster for request processing. However, it does
not re-connect after a target system shutdown and hence requires a restart of the
RFC Adapter in such a situation.
#RfcAdapter.maxDynPools=128
-> maximum number of dynamically allocated client pools to access outbound R/3 systems
#RfcAdapter.minDynPoolSize=4
-> initial number of clients in dynamically allocated client pools
#RfcAdapter.incDynPoolSize=4
-> increment number of clients in dynamically allocated client pools
#RfcAdapter.maxDynPoolSize=64
-> maximum number of clients in dynamically allocated client pools
2. SUBSECTION FOR REGISTRATION TO CLIENT APPLICATION SYSTEMS
(one subsection per incoming R/3 system; requires callback service user for repository access)
RfcAdapter.sourceBackendXD1.host=db03
RfcAdapter.sourceBackendXD1.sysnr=00
RfcAdapter.sourceBackendXD1.progid=Rfc2XmbService
-> recommended is: RfcAdapter.sourceBackend.progid=Rfc2XmbService
RfcAdapter.sourceBackendXD1.poolsize=5
RfcAdapter.sourceBackendXD1.unicode=1
-> source system is Unicode installation (1) or not (0)
RfcAdapter.sourceBackendXD1.client=500
RfcAdapter.sourceBackendXD1.user=XIAPPLUSER
RfcAdapter.sourceBackendXD1.passwd=********
RfcAdapter.sourceBackendXD1.lang=EN
RfcAdapter.sourceBackendXD1.trace=2
-> enable RFC trace for this connection (1) or not (0)
#RfcAdapter.sourceBackendXD1.sncName=<SNC_name_of_adapter>
-> e.g. RfcAdapter.sourceBackendXD1.sncName=p:CN=USERNAME, O=ORGNAME, C=DE
#RfcAdapter.sourceBackendXD1.sncLib=<SNC_library_path>
-> e.g. on Win2K: RfcAdapter.sourceBackendXD1.sncLib=C:
Program Files
SECUDE
SECUDE for R3
secude.dll
#RfcAdapter.sourceBackendXD1.sncQop=<SNC_quality_of_protection>
-> 1,2,3,8,9 e.g. RfcAdapter.sourceBackendXD1.sncQop=1
#RfcAdapter.sourceBackendXD1.sncAcl=<SNC_access_control_list>
-> logical names for allowed callers e.g. RfcAdapter.sourceBackend.sncAcl=peerB6A peerB6Q
#RfcAdapter.sourceBackendXD1.sncAcl.peerB6A=p:CN=B6A, O=SAP-AG, C=DE
#RfcAdapter.sourceBackendXD1.sncAcl.peerB6Q=p:CN=B6Q, O=SAP-AG, C=DE
-> details for peer ACL lists
3. SUBSECTION FOR ACCESS TO XMB INBOUND RFC SERVICE
(only one entry possible)
RfcAdapter.toXmb.host=web03
RfcAdapter.toXmb.sysnr=00
RfcAdapter.toXmb.poolsize=5
RfcAdapter.toXmb.client=100
RfcAdapter.toXmb.user=XIAPPLUSER
RfcAdapter.toXmb.passwd=******
RfcAdapter.toXmb.lang=EN
RfcAdapter.toXmb.trace=2
4. SUBSECTION FOR REGISTRATION OF XMB OUTBOUND RFC SERVICE
(only one entry possible)
RfcAdapter.fromXmb.host=web03
RfcAdapter.fromXmb.sysnr=00
RfcAdapter.fromXmb.progid=Xmb2RfcService
this value must be in sync with Program Id setting for AI_RFCADAPTER_JCOSERVER in SM59
RfcAdapter.fromXmb.poolsize=5
RfcAdapter.fromXmb.unicode=1
-> source system is Unicode installation (1) or not (0)
RfcAdapter.fromXmb.trace=2
5. SUBSECTION FOR ACCESS TO SERVER APPLICATION SYSTEMS
(one subsection per outgoing R/3 system; pre-allocated connection pools via service user)
RfcAdapter.targetBackend.host=db03
RfcAdapter.targetBackend.sysnr=00
RfcAdapter.targetBackend.poolsize=5
RfcAdapter.targetBackend.client=500
RfcAdapter.targetBackend.user=XIAPPLUSER
RfcAdapter.targetBackend.passwd=*******
RfcAdapter.targetBackend.lang=EN
RfcAdapter.targetBackend.trace=2
END OF RFC ADAPTER CONFIGURATION PROPERTIES
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%Log data for the adapter%%%%%%%%%%%%%%%%%%%%%%%%%%
Fri Sep 24 09:50:09 EDT 2004 *****
09:50:09 (6011): RFC adapter initialized
09:50:09 (6031): RFC adapter started
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%SM59 entries on the XI box%%%%%%%%%%%%%%%%%%%%%%%%%%
Name: AI_RFCADAPTER_JCOSERVER
Program ID: Xmb2RfcService
Action Type: Registered Server Program
Gateway: web03 (Local XI box)
Gateway Service: sapgw00 (00 is the system number)
Name: XI_SERVER
Program ID: Rfc2XmbService
Action Type: Registered Server Program
Gateway: db03 (R3 box)
Gateway Service: sapgw00 (00 is the system number for R3)
Both the entries are tested fine. -
Which is better XI 3.0 or PI 7.1 for SOAP- RFC scenario.
Hi All,
I have to Create SOAP to RFC Sync Scenario.
I know PI 7.1 is advance. So there must be a edge over XI3.0.
Is is better to use PI7.0 insted of Xi 3.0 for this?
then Why?Hi,
this blog might be interesting:
http://www.sdn.sap.com/irj/scn/index;jsessionid=%28J2EE3417500%29ID0033175050DB10487845846410196322End?rid=/library/uuid/504da602-3bac-2c10-f5a3-bcfa6587d47b
For example it says:
> Further connectivity options are provided on the AAE, such as XI message protocol using the SOAP adapter: For example, this > permits fast access to ABAP backend systems based on the proxy technology.
Regards
Patrick
Maybe you are looking for
-
My InDesign program is printing my placed images lighter than illustrator.
I am trying to print a colour logo in Indesign with black type on my inkjet printer. The colours are appearing fine on screen and so is the black but when I print everything is washed out. I tried just printing a black box and it appears black on s
-
How to verify when i change mode in form of standard?
To All I want to know that how to coding if I change mode on screen Incoming Payment from "Add" mode to "OK" mode. I develop it using vb.net to catch event. This post I want to insert button into standard screen by in first time I created bu
-
JTextPane, how to set only a part of text editable?
How to set only a part of text in JTextPane editable? For example I want to forbid changing text after 'enter'. JTextPane has method setEditable but this works only for whole JTextPane. Plz help!!!
-
Problem when reverse GR document
hai gurus, today my user complaint cannot reverse GR that contain 1 lines item that contain asset. The way that their create the asset is to create one asset number form 3 item asset than after the GR they create another asset number for the 3 items.
-
Every other row (background color)
I want to keep it simple and in css. How can I get this to work properly so every other row has a yellowish background color with no gaps between the words. This is what I have but its producing an odd result. <!DOCTYPE html PUBLIC "-//W3C//DTD XHTM