Service Paremeter and ServiceLocal parameter
What is the main difference between service parameter and service local parameter can any one tell me with good example
this post will help you in understanding .
Re: ATG Servlet Beans - serviceLocalParameter vs serviceParameter
Similar Messages
-
Entering values in Web Services ID and Description, for External Catalog
Hi,
I am trying to connect to an external Vendor Catalog from ERP. Pl note that we just have ERP ECC 6.0 and no SRM. I went to SPRO and followed menu path 'Materials Management >> Purchasing >> Web Services: ID and Description'. I am not sure what to enter in 1) Seq. Number 2) Name of Parameter for Web Service and 3) Call Structure COLUMNS.
I have URL from Vendor, User Name and Password. I need to know what values are mandatory here so I can successfully connect to external Catalog. If someone can give me sample values, I can try.
Any help is appreciated,
NiranjanUpdate on 08/23/2011.
We are able to connect to Vendor Catalog, select items in Cart. When I press 'Place Order' button, I see all items populated in SAP PO ME21N screen. We can then add other information and create PO. This is working great. We have another question. Heard that with ERP ECC 6.0, we can only connect 1 vendor catalog. But with SRM, we can connect more than 1 vendor catalog. Is there a BAPI or change SAP code to connect more than 1 vendor catalog from ECC 6.0 ? -
Service Locator and session facade pattern
What are differences between Service Locator and session facade pattern?
For me it seems one and the same.
Please explain me in detail. Expecting kind help.
Thanks,
Rahul
Edited by: rahulb1 on Feb 26, 2008 5:07 PMrdoekes wrote:
The ServiceLocator Pattern is a singleton which hold a map of used DataSources. The idea is that you perform a lookup once and use the cache afterwards. The session facade is just one DataSource lookup.huh? Those J2EE patterns are not really reduced to datasources and the SessionFacade has actually nothing to do with datasources.
Session Facade
It has Facade in it and a Facade is usually used to give a simple entrypoint by providing a standartized interface. The same is now with the Session Facade. You have a Session bean that represents a high-level business component that interacts and calls lower-level business components.
Imagine having client a accessing 5 business objects with the remote calls, which is not an efficient way (network latency) or accessing the SessionFace and the session face is doing all the work through local access.
Service Locator
As J2EE components are using JDNI to lookup for ejb interfaces,DataSources, JMS components, connections etc. isntead of writing all the lookup in many code piecess across the project, you write a service locator that gives you a centralized place to handle the lookup's. It's easier to maintain and to control such a setup.
As you can see there's quite a big difference ;-)
cya,
Nail -
Consuming a Web Service in Perl - Import parameter
Hey,
i tried to consume a SAP Web Service with perl... Just calling the Web Service works fine, but I am not able to transfer a parameter.
Here is the perl code:
my $sapsoap = SOAP::Lite
-> uri('urn:sap-com:document:sap:soap:functions:mc-style')
-> on_action(sub { return '""' })
-> proxy("http://USER:PW\@SERVER:PORT/sap/bc/srt/rfc/sap/z_read_eem_scenario_exe/110/z_read_eem_scenario_exe/z_read_eem_scenario_exe");
my $method = SOAP::Data->name('ZReadEemScenarioExe')
->attr({xmlns => 'urn:sap-com:document:sap:soap:functions:mc-style'});
my $params = SOAP::Data->value(
SOAP::Data->name(Input => $input));
my $result = $sapsoap->call($method => $params);
my $output = $result->result;
In the RFC-Function I declared the variable "INPUT" as Type String and importing parameter.
Part of WSDL:
- <wsdl:types>
- <xsd:schema attributeFormDefault="qualified" targetNamespace="urn:sap-com:document:sap:soap:functions:mc-style">
- <xsd:element name="ZReadEemScenarioExe">
- <xsd:complexType>
- <xsd:sequence>
<xsd:element name="PInput" type="xsd:string" minOccurs="0" />
</xsd:sequence>
</xsd:complexType>
</xsd:element>
- <xsd:element name="ZReadEemScenarioExeResponse">
- <xsd:complexType>
- <xsd:sequence>
<xsd:element name="POutput" type="xsd:string" />
</xsd:sequence>
</xsd:complexType>
</xsd:element>
</xsd:schema>
</wsdl:types>
Any suggestions?Here's how I send an input parameter in one of the scripts I've written:
my $rcc = $rfc->function_lookup("SXMI_XMB_SYSLOG_READ");
my $slr = $rcc->create_function_call;
$slr->SERVER_NAME($server[$x]);
$slr->EXTERNAL_USER_NAME('GOOFY');
$slr->invoke; -
OutPut of services GET_DOCPROFILE and GET_DOCRULE
Hi,
I am using services GET_DOCRULE and GET_DOCPROFILE in RIDC.
Please help me with how to get the output of these services.
I tried using
http://10.253.91.244:16200/cs/idcplg?IdcService=GET_DOCRULE&IsJava=1
http://10.253.91.244:16200/cs/idcplg?IdcService=GET_DOCPROFILE&IsJava=1
But it i s giving below errors respectively.
Unable to execute service GET_DOCRULE and function getDocumentRule
Unable to execute service GET_DOCPROFILE and function getDocumentProfile.
ThanksHi ,
You are using the services incorrectly . It needs an additional parameter to execute :
GET_DOCPROFILE - dpName
where dpName is the name of the profile to be used.
GET_DOCRULE - dpRuleName
where dpRuleName The name of the profile to be used.
Check the following guide before starting with services to see what are the parameters needed and what are the results or data that can be retrieved :
http://docs.oracle.com/cd/E23943_01/doc.1111/e11011/c04_core.htm#CSSRG2424
Thanks,
Srinath -
Hi,
I am using a service behavior class that implements IDispatchMessageInspector.AfterReceiveRequest to handle Health Check Service request that require skipping the actual operation's code and instead manually crafting a response message from "BeforeSendReply".
I want to skip any processing on the request and instead want to return manual response from "BeforeSendReply".
It has been pointed out in various forum threads that setting ref request parameter to null will skip the normal message processing and transition directly to BeforeSendReply. I have tracing enabled on my service and observe that underneath it still tries to
deserialize the message and throws an exception:
NullReferenceException: Object reference not set to an instance of an object.
System.ServiceModel.Dispatcher.DispatchOperationRuntime.DeserializeInputs(MessageRpc& rpc)
System.ServiceModel.Dispatcher.DispatchOperationRuntime.InvokeBegin(MessageRpc& rpc)
System.ServiceModel.Dispatcher.ImmutableDispatchRuntime.ProcessMessage5(MessageRpc& rpc)
System.ServiceModel.Dispatcher.ImmutableDispatchRuntime.ProcessMessage31(MessageRpc& rpc)
System.ServiceModel.Dispatcher.MessageRpc.Process(Boolean isOperationContextSet)
any idea how can I skip the service call and instead return a manual response back?
This is not correct (setting request to null to bypass the service), unfortunately WCF doesn't have any out-of-the-box way of doing that.
You can, however, use a few more of the extensibility points in WCF to make this scenario work. You'll need at least an IDispatchMessageFormatter (to prevent the message from being read / deserialized since it's not necessary) and an IOperationInvoker (to
actually bypass invoking the service method). You can use the operation context to pass information between those extensibility points.
You can find more information about those three interfaces in my ongoing blog series about WCF extensibility points:
IDispatchMessageInspector: http://blogs.msdn.com/b/carlosfigueira/archive/2011/04/19/wcf-extensibility-message-inspectors.aspx
IDispatchMessageFormatter: http://blogs.msdn.com/b/carlosfigueira/archive/2011/05/03/wcf-extensibility-message-formatters.aspx
IOperationInvoker: http://blogs.msdn.com/b/carlosfigueira/archive/2011/05/17/wcf-extensibility-ioperationinvoker.aspx
The code which uses those extensions to skip the operation based on a decision made in the message inspector:
public class Post_55ef7692_25dc_4ece_9dde_9981c417c94a
[ServiceContract(Name = "ITest", Namespace = "http://tempuri.org/")]
public interface ITest
[OperationContract]
string Echo(string text);
public class Service : ITest
public string Echo(string text)
return text;
static Binding GetBinding()
BasicHttpBinding result = new BasicHttpBinding();
return result;
public class MyOperationBypasser : IEndpointBehavior, IOperationBehavior
internal const string SkipServerMessageProperty = "SkipServer";
public void AddBindingParameters(ServiceEndpoint endpoint, BindingParameterCollection bindingParameters)
public void ApplyClientBehavior(ServiceEndpoint endpoint, ClientRuntime clientRuntime)
public void ApplyDispatchBehavior(ServiceEndpoint endpoint, EndpointDispatcher endpointDispatcher)
endpointDispatcher.DispatchRuntime.MessageInspectors.Add(new MyInspector(endpoint));
public void Validate(ServiceEndpoint endpoint)
public void AddBindingParameters(OperationDescription operationDescription, BindingParameterCollection bindingParameters)
public void ApplyClientBehavior(OperationDescription operationDescription, ClientOperation clientOperation)
public void ApplyDispatchBehavior(OperationDescription operationDescription, DispatchOperation dispatchOperation)
dispatchOperation.Formatter = new MyFormatter(dispatchOperation.Formatter);
dispatchOperation.Invoker = new MyInvoker(dispatchOperation.Invoker);
public void Validate(OperationDescription operationDescription)
class MyInspector : IDispatchMessageInspector
ServiceEndpoint endpoint;
public MyInspector(ServiceEndpoint endpoint)
this.endpoint = endpoint;
public object AfterReceiveRequest(ref Message request, IClientChannel channel, InstanceContext instanceContext)
Message result = null;
HttpRequestMessageProperty reqProp = null;
if (request.Properties.ContainsKey(HttpRequestMessageProperty.Name))
reqProp = request.Properties[HttpRequestMessageProperty.Name] as HttpRequestMessageProperty;
if (reqProp != null)
string bypassServer = reqProp.Headers["X-BypassServer"];
if (!string.IsNullOrEmpty(bypassServer))
result = Message.CreateMessage(request.Version, this.FindReplyAction(request.Headers.Action), new OverrideBodyWriter(bypassServer));
return result;
public void BeforeSendReply(ref Message reply, object correlationState)
Message newResult = correlationState as Message;
if (newResult != null)
reply = newResult;
private string FindReplyAction(string requestAction)
foreach (var operation in this.endpoint.Contract.Operations)
if (operation.Messages[0].Action == requestAction)
return operation.Messages[1].Action;
return null;
class OverrideBodyWriter : BodyWriter
string bypassServerHeader;
public OverrideBodyWriter(string bypassServerHeader)
: base(true)
this.bypassServerHeader = bypassServerHeader;
protected override void OnWriteBodyContents(XmlDictionaryWriter writer)
writer.WriteStartElement("EchoResponse", "http://tempuri.org/");
writer.WriteStartElement("EchoResult");
writer.WriteString(this.bypassServerHeader);
writer.WriteEndElement();
writer.WriteEndElement();
class MyFormatter : IDispatchMessageFormatter
IDispatchMessageFormatter originalFormatter;
public MyFormatter(IDispatchMessageFormatter originalFormatter)
this.originalFormatter = originalFormatter;
public void DeserializeRequest(Message message, object[] parameters)
if (message.Properties.ContainsKey(MyOperationBypasser.SkipServerMessageProperty))
Message returnMessage = message.Properties[MyOperationBypasser.SkipServerMessageProperty] as Message;
OperationContext.Current.IncomingMessageProperties.Add(MyOperationBypasser.SkipServerMessageProperty, returnMessage);
OperationContext.Current.OutgoingMessageProperties.Add(MyOperationBypasser.SkipServerMessageProperty, returnMessage);
else
this.originalFormatter.DeserializeRequest(message, parameters);
public Message SerializeReply(MessageVersion messageVersion, object[] parameters, object result)
if (OperationContext.Current.OutgoingMessageProperties.ContainsKey(MyOperationBypasser.SkipServerMessageProperty))
return null;
else
return this.originalFormatter.SerializeReply(messageVersion, parameters, result);
class MyInvoker : IOperationInvoker
IOperationInvoker originalInvoker;
public MyInvoker(IOperationInvoker originalInvoker)
if (!originalInvoker.IsSynchronous)
throw new NotSupportedException("This implementation only supports synchronous invokers");
this.originalInvoker = originalInvoker;
public object[] AllocateInputs()
return this.originalInvoker.AllocateInputs();
public object Invoke(object instance, object[] inputs, out object[] outputs)
if (OperationContext.Current.IncomingMessageProperties.ContainsKey(MyOperationBypasser.SkipServerMessageProperty))
outputs = null;
return null; // message is stored in the context
else
return this.originalInvoker.Invoke(instance, inputs, out outputs);
public IAsyncResult InvokeBegin(object instance, object[] inputs, AsyncCallback callback, object state)
throw new NotSupportedException();
public object InvokeEnd(object instance, out object[] outputs, IAsyncResult result)
throw new NotSupportedException();
public bool IsSynchronous
get { return true; }
public static void Test()
string baseAddress = "http://" + Environment.MachineName + ":8000/Service";
ServiceHost host = new ServiceHost(typeof(Service), new Uri(baseAddress));
ServiceEndpoint endpoint = host.AddServiceEndpoint(typeof(ITest), GetBinding(), "");
endpoint.Behaviors.Add(new MyOperationBypasser());
foreach (var operation in endpoint.Contract.Operations)
operation.Behaviors.Add(new MyOperationBypasser());
host.Open();
Console.WriteLine("Host opened");
ChannelFactory<ITest> factory = new ChannelFactory<ITest>(GetBinding(), new EndpointAddress(baseAddress));
ITest proxy = factory.CreateChannel();
Console.WriteLine(proxy.Echo("Hello"));
Console.WriteLine("And now with the bypass header");
using (new OperationContextScope((IContextChannel)proxy))
HttpRequestMessageProperty httpRequestProp = new HttpRequestMessageProperty();
httpRequestProp.Headers.Add("X-BypassServer", "This message will not reach the service operation");
OperationContext.Current.OutgoingMessageProperties.Add(
HttpRequestMessageProperty.Name,
httpRequestProp);
Console.WriteLine(proxy.Echo("Hello"));
((IClientChannel)proxy).Close();
factory.Close();
Console.Write("Press ENTER to close the host");
Console.ReadLine();
host.Close(); -
Multiple standby database about FAL_SERVER and FAL_CLIENT parameter in DG
Hi,
I am little bit confused about FAL_SERVER and FAL_CLIENT parameter in Data Guard.
We are planning to configure multiple standby database in Data Guard environment. Let Assume that, i have production db named as 'PROD' and multiple standby name like standby1,standby2, standby3.
My Environment is:_
DB Version: 11.2.0.1
OS Version: OE5LU6
So in this case how to specify above Net service name in spfile on production server and also on other standby server.
Kindly Suggests me.
Regards
AthishAthish wrote:
Hi,
I am little bit confused about FAL_SERVER and FAL_CLIENT parameter in Data Guard.
We are planning to configure multiple standby database in Data Guard environment. Let Assume that, i have production db named as 'PROD' and multiple standby name like standby1,standby2, standby3.
My Environment is:_
DB Version: 11.2.0.1
OS Version: OE5LU6
So in this case how to specify above Net service name in spfile on production server and also on other standby server.
Kindly Suggests me.
Regards
AthishFAL_CLIENT is Oracle TNS service of the local system and FAL_SERVER is Oracle TNS service of remote system.
if you have three standby databases of primary , then from primary you must have three values in FAL_SERVER so that archives will be send to the all destinations.
and From the stadnby database, FAL_SERVER should be the oracle TNS service where you receiving the archive log files,
Note:- If you have RAC primary then mention each service differentiated by commas as shown example below.
From standby to Primary RAC:- FAL_SAERVER='PROD1','PROD2'
These parameters are dynamic, so that you can alter them at any time.
HTH. -
Help for mock web service (service skeleton and unmarshalling)
Hi,
I need to create mock web service in which I want to read soap/xml responses from my hard drive and send it to web service client. The responses would differ based on some input parameter. (small business logic in mock service)
Till now, I created my mock service skeleton from Axis and used JAXB (JWSDP) to unmarshall xml to java objects. But problem is we can not cast object unmarshalled by JAXB into response object created by Axis. And so can not return those objects as response.
So, I want to know if I can use JWSDP or Metro to solve this problem. Will JWSDP or Metro solve my problem if I use it to create service skeleton as well as for unmarshalling?
If this is not possible, can you please suggest any viable alternative?
Regards,
Surajsurajmundada wrote:
SOAP-UI can provide only one static soap response.Incorrect. Look at the [top 3 reasons|http://www.soapui.org/gettingstarted/mocking.html] from soap-ui. You can use Groovy to add the dynamic functionality in your simulated web service.
And if you don't have the WSDL and you want to simulate the web service. You can use the article [web service simulation using servlet |http://today.java.net/article/2010/02/16/web-service-simulation-using-servlets] to build your own simulator. -
Memory Problem with SEt and GET parameter
hi,
I m doing exits. I have one exit for importing and another one for changing parameter.
SET PARAMETER exit code is ....
*data:v_nba like eban-bsart,
v_nbc like eban-bsart,
v_nbo like eban-bsart.
v_nbc = 'CAPX'.
v_nbo = 'OPEX'.
v_nba = 'OVH'.
if im_data_new-werks is initial.
if im_data_new-knttp is initial.
if im_data_new-bsart = 'NBC' or im_data_new-bsart = 'SERC' or im_data_new-bsart = 'SERI'
or im_data_new-bsart = 'SER' or im_data_new-bsart = 'SERM' or im_data_new-bsart = 'NBI'.
set parameter id 'ZC1' field v_nbc.
elseif im_data_new-bsart = 'NBO' or im_data_new-bsart = 'NBM' or im_data_new-bsart = 'SERO'.
set parameter id 'ZC2' field v_nbo.
elseif im_data_new-bsart = 'NBA' or im_data_new-bsart = 'SERA'.
set parameter id 'ZC3' field v_nba.
endif.
endif.
endif. *
and GET PARAMETER CODE IS....
get parameter id 'ZC1' field c_fmderive-fund.
get parameter id 'ZC2' field c_fmderive-fund.
get parameter id 'ZC3' field c_fmderive-fund.
FREE MEMORY ID 'ZC1'.
FREE MEMORY ID 'ZC2'.
FREE MEMORY ID 'ZC3'.
In this code i m facing memory problem.
It is not refreshing the memory every time.
So plz give me proper solution.
Its urgent.
Thanks
RanveerHi,
I suppose you are trying to store some particular value in memory in one program and then retieve it in another.
If so try using EXPORT data TO MEMORY ID 'ZC1'. and IMPORT data FROM MEMORY ID 'ZC1'.
To use SET PARAMETER/GET PARAMETER the specified parameter name should be in table TPARA. Which I don't think is there in your case.
Sample Code :
Data declarations for the function codes to be transferred
DATA : v_first TYPE syucomm,
v_second TYPE syucomm.
CONSTANTS : c_memid TYPE char10 VALUE 'ZCCBPR1'.
Move the function codes to the program varaibles
v_first = gv_bdt_fcode.
v_second = sy-ucomm.
Export the function codes to Memory ID
EXPORT v_first
v_second TO MEMORY ID c_memid. "ZCCBPR1 --- Here you are sending the values to memory
Then retrieve it.
Retrieve the function codes from the Memory ID
IMPORT v_first TO v_fcode_1
v_second TO v_fcode_2
FROM MEMORY ID c_memid. "ZCCBPR1
FREE MEMORY ID c_memid. "ZCCBPR1
After reading the values from memory ID free them your problem should be solved.
Thanks
Barada
Edited by: Baradakanta Swain on May 27, 2008 10:20 AM -
I cannot receive email properly on either my IPad or my IPhone. I have had them for over a year and they have always worked fine. Until three days ago, when they both started acting up. On the IPad, when I open mail, it says it is downloading about 1,700 emails. At the very end, which takes quite a while to get to, I finally get the most recent ones. The IPad is sending emails just fine.
On my IPhone, when I open mail, it says it is downloading 100 emails, but it doesn't do that. And it gives me no new emails at all. The IPhone is sending email just fine.
I have already deleted the email accounts on both devices and reinstalled them. I've contacted the Internet service provider and verified all the right settings. The Outlook email on my desktop is working perfectly.WMV is a heavily-compressed format/CODEC, and the processing time will depend on several factors:
Your CPU, which is not that powerful in your case
Your I/O sub-system, which is likely a single HDD on your laptop
The source footage. What is your source footage?
Any Effects added to that footage. Do you have any Effects?
Each of those will have an impact on the time required.
The trial has only one main limitation - the watermark. Now, there are some components, that have to be activated, but are not with the trial, but they would be evident with Import of your source footage, if it's an issue.
Good luck,
Hunt -
NET8의 LOGGING AND TRACE관련 PARAMETER에 대한 Q & A
제품 : SQL*NET
작성날짜 : 1999-07-30
NET8의 LOGGING AND TRACE관련 PARAMETER에 대한 Q & A
==================================================
PURPOSE
NET8의 LOGGING AND TRACE관련 PARAMETER에 대해 알아 보도록한다
Explanation
1. NET8에서 trace를 왜 사용하고 어떤 component들에 trace를 할 수 있나요 ?
Trace의 특징은 네트워크을 수행하게 될때 network event들을 기술한다
즉 trace와 관련된 일련의 문장들이 자세하게 생성된다.
"Tracing"의 운영으로 log파일에 제공되어 있는 것 보다 NET8의 component들의
내부적인 정보를 보다 많이 얻을 수 있다.
이러한 정보는 에러의 결과로 인하여 발생하는 동일한 event들로 파일들에
결과가 생성되어 이를 이용하여 문제의 원인을 판단할 수 있다.
주의 : trace의 기능을 이용하는 경우 충분한 disk space와 system
performance의 현격한 저하를 가져올 수 있다.
즉 trace의 기능은 반드시 필요할 경우에만 사용할 것을 권한다.
Example
Reference Ducumment
<< trace의 기능을 이용하여 trace를 할수 있는 component들 >>
* Network listener
* Net8 components on the client and server
* Connection Manager
* Oracle Names Server
* Oracle Names Control Utility
* TNSPING utility
2. 어떤 parameter들을 설정하면 trace 기능을 이용할 수 있는가 ?
tracing을 하기 위해서는 특정 trace parameter들을 설정함으로써 가능하며
아래에 주어진 방법들과 또는 utility들중 하나를 선택하여 설정함으로써
사용할 수 있다.
* Component Configuration Files
* Component Control Utilities
* Oracle Trace
component의 configuration 파일을 이용하여 traceing parameter를 설정하려면
1) component의 configuration 파일에 다음의 traceing parameter를 설정한다.
- SQLNET.ORA for client or server, LISTENER.ORA for listener:
TRACE_LEVEL_<CLIENT/LISTENER/SERVER>=(0/4/10/16)
TRACE_DIRECTORY_<CLIENT/LISTENER/SERVER>=<directory name>
LOG_DIRECTORY_<CLIENT/LISTENER/SERVER>=<directory name>
2) 만일 component들이 수행중인 동안 configuration 파일의 수정이 있었다면
변경된 parameter들을 사용하기 위해 component들을 다시 시작하여야 한다.
component control utility들을 이용하여 trace parameter들을 설정하려면
1) listener의 경우, Listener Control Utility(lsnrctl)에서 TRACE 명령어를
이용하여 listener가 수행중인 동안에도 trace level을 설정할 수 있다.
EX)
RC80:/mnt3/rctest80> lsnrctl
LSNRCTL for SVR4: Version 8.0.4.0.0 - Production on 01-SEP-98 15:16:52
(c) Copyright 1997 Oracle Corporation. All rights reserved.
Welcome to LSNRCTL, type "help" for information.
LSNRCTL> trace admin
Connecting to (ADDRESS=(PROTOCOL=ipc)(KEY=PNPKEY))
Opened trace file: /mnt4/coe/app/oracle/product/8.0.4/network/trace/
lsnr_coe.trc
The command completed successfully
LSNRCTL> trace off
Connecting to (ADDRESS=(PROTOCOL=ipc)(KEY=PNPKEY))
The command completed successfully
LSNRCTL> exit
RC80:/mnt3/rctest80>
2) Oracle Names의 경우, Names Control Utility(namesctl)에서 TRACE_LEVEL
명령어를 이용하여 Oracle Names가 수행중인 동안에도 trace level을
설정할 수 있다.
주의 : Connection Manager의 경우, trace level은 configuration 파일인
CMAN.ORA 에서만 설정할 수 있다.
Oracle Enterprose manager(이하 OEM)에 있는 Oracle Trace는 trace parameter
들을 설정하고 GUI를 통해 trace data의 형태를 볼수 있도록 하는 tracing tool
이다.
3. Trace된 data를 해석할 수 있는 다른 utility들이 있다면 ?
Trace Assistant를 사용하면 사용자의 *.trc 파일 (SQL*Net v2의 형식에 의해
생성된) 또는 *.txt (Orace Trace 과 TRCFMT에 의해 생성된 출력물)을 통해
trac된 정보를 해석할 수 있다.
이 유틸리티 네트워크의 문제들로 인해 발생하는 문제점들을 진단하고
해결하는 데 보다 많은 정보를 제공하여 사용자의 이해를 돕는다.
* the source and destination of trace files
* the flow of packets between network nodes
* which component of Net8 is failing
* pertinent error codes
다음에 주어진 명령어를 수행하므로써 Trace Assistant 실행할 수 있다.
trcasst [options] <filename>
Trace Assistant Text Formatting Options
-o Displays connectivity and Two Task Common (TTC) information.
After the -o the following options may be used:
c (for summary connectivity information)
d (for detailed connectivity information)
u (for summary TTC information)
t (for detailed TTC information)
q (displays SQL commands enhancing summary TTC
information)
-p Oracle Internal Use Only
-s Displays statistical information
-e Enables display of error information After the -e, zero
or one error decoding level may follow:
0 or nothing (translates the NS error numbers dumped
from the nserror function plus lists all
other errors)
1 (displays only the NS error translation from
the nserror function)
2 (displays error numbers without translation)
만일 option들이 제공되지 않는다면 기본적으로 -odt -e -s가 지정되어 자세한
connectivity, Two-Task Common, 에러 level 0 그리고 통계정보들이 tracing
된다.
4. SQL*Net v2 tracing과 어떻게 다른가 ?
Net8 tracing에서는 이전 버전인 SQL*NET V2에서 제공 되는 모든 option을
포함하고 있고 Oracle Trace의 기능이 추가되었다.
이것은 Oracle Trace Repository를 OEM 콘솔을 통하여 사용자의 trace 정보를
관리할 수 있도록 허용한다.
5. *.cdf와 *.dat은 어떤 파일 인가 ?
*.cdf 와 *.dat 파일들은 Oracle Trace에 의해 생성되는 파일들로서 이 파일들을
읽기 위해서는 반드시 trcfmt utility를 이용해야만 한다.
trcfmt는 binary (*.dat와 *.cdf의 확장자) 파일내에 있는 data를 일반text
(.txt의 확장자)로 정보를 추출한다. 이 tool을 사용하기 위해서는 다음의
명령어를 이용하면 된다.
$ trcfmt collection.cdf
주의 : .cdf와 .dat파일이 존재하는 디렉토리가 아닌 곳에서 이 tool을 이용
한다면 path가 포함되야 한다. 만일 하나의 .cdf 와 .dat 파일들내에
여러 프로세스들의 traceing정보가 수집된다면 그것들은 process_id.txt
의 이름과 함께 파일이 추출될 것이다.
6. trac관련 configuration은 어떤 것이 있으며 설정할 수 있는 parameter는
무엇이 있는가 ?
==========================================================================
|| SQLNET.ORA Parameters ||
==========================================================================
DAEMON.TRACE_DIRECTORY
Purpose: Controls the destination directory of the Oracle
Enterprise Manager daemon trace file
Default Value: $ORACLE_HOME/network/trace
Description
Available Oracle Enterprise Manager Installation Guide
Example: DAEMON.TRACE_DIRECTORY=/oracle/traces
DAEMON.TRACE_LEVEL
Purpose: Turns tracing on/off to a certain specified level for
the Oracle Enterprise Manager daemon.
Default Value: 0 or OFF
* 0 or OFF - No trace output
* 4 or USER - User trace information
Available Values
* 10 or ADMIN - Administration trace information
* 16 or SUPPORT - WorldWide Customer Support trace
information
Description
Available Oracle Enterprise Manager Installation Guide
Example: DAEMON.TRACE_LEVEL=10
DAEMON.TRACE_MASK
Purpose: Specifies that only the Oracle Enterprise Manager daemon
trace entries are logged into the trace file.
Default Value: $ORACLE_HOME/network/trace
Description
Available Oracle Enterprise Manager Installation Guide
Example: DAEMON.TRACE_MASK=(106)
LOG_DIRECTORY_CLIENT
Purpose: Controls the directory for where the log file is written
Default Value: Current directory where executable is started from.
Example: LOG_DIRECTORY_CLIENT=/oracle/network/trace
LOG_DIRECTORY_SERVER
Purpose: Controls the directory for where the log file is written
Default Value: Current directory where executable is started from.
Valid in File: SQLNET.ORA
Example: LOG_DIRECTORY_SERVER=/oracle/network/trace
LOG_FILE_CLIENT
Purpose: Controls the log output filename for an Oracle client.
Default Value: SQLNET.LOG
Example: LOG_FILE_CLIENT=client
LOG_FILE_SERVER
Purpose: Controls the log output filename for an Oracle server.
Default Value: SQLNET.LOG
Example: LOG_FILE_SERVER=svr
NAMESCTL.TRACE_LEVEL
Purpose: Indicates the level at which the NAMESCTL program should
be traced.
Default Value: OFF
Values: OFF, USER, or ADMIN
Example: NAMESCTL.TRACE_LEVEL=ADMIN
NAMESCTL.TRACE_FILE
Purpose: Indicates the file in which the NAMESCTL trace output is
placed.
Default Value: namesctl_PID.cdf and namesctl_PID.dat
Example: NAMESCTL.TRACE_FILE=NMSCTL
NAMESCTL.TRACE_DIRECTORY
Purpose: Indicates the directory where trace output from the NAMESCTL
utility is placed.
Default
Value: $ORACLE_HOME/network/trace
Example: NAMESCTL.TRACE_DIRECTORY=/ORACLE/TRACE
NAMESCTL.TRACE_UNIQUE
Indicates whether a process identifier is appended to the
Purpose: name of each trace file generated, so that several can
coexist.
Default
Value: OFF
Values: OFF or ON
Example: NAMESCTL.TRACE_UNIQUE = ON
TNSPING.TRACE_DIRECTORY
Purpose: Control the destination directory of the trace file
Default Value: $ORACLE_HOME/network/trace
Example: TNSPING.TRACE_DIRECTORY=/oracle/traces
TNSPING.TRACE_LEVEL
Purpose: Turns tracing on/off to a certain specified level
Default Value: 0 or OFF
* 0 or OFF - No trace output
* 4 or USER - User trace information
Available Values
* 10 or ADMIN - Administration trace information
* 16 or SUPPORT - WorldWide Customer Support trace
information
Example: TNSPING.TRACE_LEVEL=10
TRACE_DIRECTORY_CLIENT
Purpose: Control the destination directory of the trace file
Default Value: $ORACLE_HOME/network/trace
Example: TRACE_DIRECTORY_CLIENT=/oracle/traces
TRACE_DIRECTORY_SERVER
Purpose: Control the destination directory of the trace file
Default Value: $ORACLE_HOME/network/trace
Example: TRACE_DIRECTORY_SERVER=/oracle/traces
TRACE_FILE_CLIENT
Purpose: Controls the name of the client trace file
Default Value: SQLNET.CDF and SQLNET.DAT
Example: TRACE_FILE_CLIENT=cli
TRACE_FILE_SERVER
Purpose: Controls the name of the server trace file
Default Value: SVR_PID.CDF and SVR_PID.DAT
Example: TRACE_FILE_SERVER=svr
TRACE_LEVEL_CLIENT
Purpose: Turns tracing on/off to a certain specified level
Default Value: 0 or OFF
* 0 or OFF - No trace output
* 4 or USER - User trace information
Available Values
* 10 or ADMIN - Administration trace information
* 16 or SUPPORT - WorldWide Customer Support trace
information
Example: TRACE_LEVEL_CLIENT=10
TRACE_LEVEL_SERVER
Purpose: Turns tracing on/off to a certain specified level
Default Value: 0 or OFF
* 0 or OFF - No trace output
* 4 or USER - User trace information
Available Values
* 10 or ADMIN - Administration trace information
* 16 or SUPPORT - WorldWide Customer Support trace
information
Example: TRACE_LEVEL_SERVER=10
TRACE_UNIQUE_CLIENT
Used to make each client trace file have a unique name to
Purpose: prevent each trace file from being overwritten with the next
occurrence of the client. The PID is attached to the end of
the filename.
Default
Value: OFF
Example: TRACE_UNIQUE_CLIENT=ON
USE_CMAN
If the session is in an Enhanced Discovery Network with a
Purpose: Names Server, this parameter forces all sessions to go
through a Connection Manager to get to the server.
Default
Value: FALSE
Values: TRUE or FALSE
Example: USE_CMAN=TRUE
==========================================================================
|| LISTENER.ORA Parameters ||
==========================================================================
LOG_DIRECTORY_listener_name
Purpose: Controls the directory for where the log file is written
Default Value: Current directory where executable is started from.
Example: LOG_DIRECTORY_LISTENER=/oracle/traces
LOG_FILE_listener_name
Purpose: Specifies the filename where the log information is
written
Default Value: listener_name.log
Example: LOG_FILE_LISTENER=lsnr
TRACE_DIRECTORY_listener_name
Purpose: Control the destination directory of the trace file
Default Value: $ORACLE_HOME/network/trace
Example: TRACE_DIRECTORY_LISTENER=/oracle/traces
TRACE_FILE_listener_name
Purpose: Controls the name of the listener trace file
Default Value: LISTENER_NAME.CDF and LISTENER_NAME.DAT
Example: TRACE_FILE_LISTENER=lsnr
TRACE_LEVEL_listener_name
Purpose: Turns tracing on/off to a certain specified level
Default Value: 0 or OFF
* 0 or OFF - No trace output
* 4 or USER - User trace information
Available Values
* 10 or ADMIN - Administration trace information
* 16 - WorldWide Customer Support trace information
Example: TRACE_LEVEL_LISTENER=10
==========================================================================
|| NAMES.ORA Parameters ||
==========================================================================
NAMES.TRACE_DIRECTORY
Purpose: Indicates the name of the directory to which trace files
from a Names Server trace session are written.
Default
Value: platform specific
Example: names.trace_directory = complete_directory_name
NAMES.TRACE_FILE
Purpose: Indicates the name of the output file from a Names Server
trace session. The filename extension is always.trc
Default
Value: names
Example: names.trace_file = filename
NAMES.TRACE_LEVEL
Purpose: Indicates the level at which the Names Server is to be
traced.
Default Value: OFF
Example: names.trace_level = OFF
NAMES.TRACE_UNIQUE
indicates whether each trace file has a unique name, allowing
Purpose: multiple trace files to coexist. If the value is set to ON, a
process identifier is appended to the name of each trace file
generated.
Default
Value: OFF
Example: names.trace_unique = ON
names.trace_file = names_05.trc
==========================================================================
CMAN.ORA Parameters
==========================================================================
TRACING
Default
Value: NO
Example: TRACING = NO
References
7. listener.log 파일에 loggin정보를 남기지 않게 하는 방법이 있나요 ?
고객이 개발하여 사용중인 application에서 NET8을 이용하여 접속하거나 접속을
종료하는 경우 listener.log에 이와 관련된 정보가 남으며, 수 많은 사용자가
접속을 하게 되므로서 급속하게 listener.log 파일이 커져 $ORACLE_HOME이 있는
file system이 꽉 차서 데이터베이스가 hang이 되는 결과를 초래하는 경우가 있다.
고객들은 listener.log에 write할수 있는 메세지의 양에 제한을 두기를 원하는
경우가 있으나 이러한 기능은 제공되지 않는다. 하지만 listener의 logging은
ON 또는 OFF는 설정을 통해서 가능하다.
Net8에서는 listener.ora에 "LOGGING_(the listener name)=off"를 설정하게
되면 listener의 logging을 멈출 수 있다.
물론 설정후 listener stop후 재기동을 하셔야 변경된 paramerter에 의해
이 기능이 enable됩니다.
참고 : SQL*NET 2.3.x 에서도 이 parameter가 유효한가요 ?
물론 사용이 가능합니다. NET8에서 사용하는 것과 동일하게 parameter를
listener.ora에 설정함으로서 가능합니다.
EX)
LOGGING_LISTENER=OFF
이 parameter는 listener의 전체 logging을 disable하는 parameter로 일부만
여과하여 logging할 수 있는 기능은 아니다.
이 parameter는 NET8에 알려진 parameter로 SQL*NET 2.3.x manuals에 나와
있지는 않지만 정상적으로 사용할 수 있다. -
How to synchronize PI service registry and IBM WSRR
Hello All,
In our current project we have developed one web service which resides in SAP CE and is registered in SAP PI Service Registry.
But our client has IBM websphere that acts as a middleware for all ther services (interfaces/web services)
Now, I need to understand how to synchronize SAP PI Service Registry with IBM WSRR (Websphere Services Registry and Repository)
What are the steps/configurations need to be performed at PI end and IBM WSRR end?
Appreciate your help in this matter.
Thanks,
Shriram.Hi,
Refer the below links i think it will be helpful.
Configuring a central Services Registry:
http://help.sap.com/saphelp_nwce711/helpdata/en/47/d391d7b8fc3c83e10000000a42189c/frameset.htm
You can also use the Wizard based configuration: http://help.sap.com/saphelp_nwce711/helpdata/en/f7/6182bd68434595ba5105a0a346efcc/frameset.htm
https://www.sdn.sap.com/irj/scn/index?rid=/library/uuid/00985388-6748-2c10-0d83-f17c3e768a8b&overridelayout=true
Regards,
Sudha S. -
Greetings,
I'm having some trouble with my Windows Storage Pool and my VirtualDisk running on a Windows Server 2012 R2 installation. It consists of 8x Western Digital RE-4 2TB drives + 2x Western Digital Black Edition 2TB drives and have been configured in a single-disk
parity setup and the virtual disk is running fixed provisioning (max size) and is formatted with ReFS.
It's been running solid for months besides some awful write-speeds at times, it seems like the write performance running ReFS compared to NTFS is not that good.
I was recommended to add SSD's for journalling in order to boost write-performance. Sadly I seemed to screw up this part, you need to due this through PowerShell and it needs to be done before creating the virtualdisk. I managed to add my SSD to the Storage
Pool and then remove it.
This seem to have caused some awkward issues, I'm not quite sure of why as the virtualdisk is "fixed" so adding the SSD to the Storage Pool shouldn't really do anything, right? But after I did this my virtual disk have been stuck in "Warning:
In Service" and it seems to be stuck? It's been 4-5 days and it's still the same and the performance is currently horrible. Moving 40GB of data off the virtual disk took me about 20 hours or so. Launching files under 1mb of the virtual disk takes several
minutes etc.. It's pretty much useless.
The GUI is not providing any useful information about what's going on. What does "Warning: In Service" actually imply? How am I supposed to know how long this is supposed to take? Running Get-Virtualdisk in PowerShell does not provide any useful
information either. I did try to do a repair through the Server Manager GUI but it goes to about 21% within 2-3 hours but drops back down to 10%. I have had the repair running for days but it wont go past 21% without dropping back down again.
Running repair through PowerShell yields the same results, but if I detach the virtual disk and then try to repair through PowerShell (the GUI wont let me do repair on detached virtual disks) it will just run for a split second and then close.
After doing some "Googeling" I've seen people mentioning that the repair is not able to finish unless I have at least the same amount of free space in the Storage Pool as the largest drive in my Storage Pool is housing so I added a 4TB drive as
due to me running fixed provisioning I had used all the space in the pool but the repair is still not able to go past 21%.
As am running "fixed provisioning" I guess adding a extra drive to the pool doesn't do much difference as it's not available for the virtual disk? So I went ahead and deleted 3 TB of data on the virtual disk so now I've got about 4 TB free space
on the virtual disk so there should be plenty of room for Windows Server 2012 R2 to re-build the parity or whatever it's trying to do but it's still the same, the repair wont move past 21% and the virtual disk is still stuck in "Warning: In Service"
mode and the performance keeps being horrible so taking a backup will take forever at these speeds...
Am I missing something here? All the drives in the pool is working fine. I have verified using various bootable tools so why is this happening and what can I do to get the virtual disk running at full state again? Why doesn't the GUI prompt you with any
kind of usable information?
Best regards, Thomas AndreHi,
Please run chkdsk /f /r command on the virtual disk to have a try. In the meantime, run the following commands in PowerShell to share the output.
get-virtualdisk -friendlyname <name> | get-physicaldisk | fl
get-virtualdisk -friendlyname <name> |fl
Best Regards,
Mandy
Please remember to mark the replies as answers if they help and unmark them if they provide no help. If you have feedback for TechNet Subscriber Support, contact [email protected] -
what is set parameter and get parameter ? give me one example.
Hi Pradeep,
SET PARAMETER and GET PARAMETER, is mainly used when you are dealing with SAP MEMORY.
Meaning - You have multiple sessions open. Now you want to access from variables declared locally in different sessions.
You can use
SET PARAMETER
to assign the value to SAP Memory and using
GET PARAMETER
you can retreive the values assigned by previous statement in a different session.
<b>Reward points for helpful answers</b>.
Best Regards,
Ram. -
Hi,
I need to store one variable value and I need to retrieve the same variable value in same program. For this I have written set and get parameter ids in the same program. It is working fine but if I log off the system and if I logon the system it is not working I mean before log off the variable is showing some value if I log on again that variable is showing empty. But I want to capture the field values after log off and log on also. Is there any other option can I use table?
Please help me I will give points.
Thanks.Hi
SAP memory is a memory area to which all main sessions within a SAPgui have access. You can use SAP memory either to pass data from one program to another within a session, or to pass data from one session to another. Application programs that use SAP memory must do so using SPA/GPA parameters (also known as SET/GET parameters). These parameters can be set either for a particular user or for a particular program using the SET PARAMETER statement. Other ABAP programs can then retrieve the set parameters using the GET PARAMETER statement. The most frequent use of SPA/GPA parameters is to fill input fields on screens
SAP global memory retains field value through out session.
set parameter id 'MAT' field v_matnr.
get parameter id 'MAT' field v_matnr.
They are stored in table <b>TPARA</b>.
ABAP memory is a memory area that all ABAP programs within the same internal session can access using the EXPORT and IMPORT statements. Data within this area remains intact during a whole sequence of program calls. To pass data
to a program which you are calling, the data needs to be placed in ABAP memory before the call is made. The internal session of the called program then replaces that of the calling program. The program called can then read from the ABAP memory. If control is then returned to the program which made the initial call, the same process operates in reverse.
ABAP memory is temporary and values are retained in same LUW.
export itab to memory id 'TEST'.
import itab from memory Id 'TEST'.
Here itab should be declared of same type and length.
http://www.sap-img.com/abap/difference-between-sap-and-abap-memory.htm
ABAP Memmory & SAP Memmory
http://www.sap-img.com/abap/difference-between-sap-and-abap-memory.htm
http://www.sap-img.com/abap/type-and-uses-of-lock-objects-in-sap.htm
Regards
Anji
Maybe you are looking for
-
Hello, Jeff. I have the most up-to-date version and am NOT using a proxy, yet I run into this same issue. I'm able to apply updates and otherwise interact with my installed apps but they are unable to connect and verify my subscription which of cour
-
My password keep change on my email account once I closet them and come back last to login
Is safari-net-help.com a real company of not. Safari went $35.00 to check my system by credit card. My password keep change on my email account once I closet them and come back last to login Still waking on the answer to my question. Thx I will wake
-
Bluetooth keyboard repeating keys
I am experiencing a a problem with a bluetooth keyboard. After a while (> 1-2 minutes), when I am not using it and starting typing, my keyboard repeats first (sometimes second) character about 8 times. I am having this issue only on linux, on windows
-
Unexpected Application Pool recycle
Hi all, in a new SharePoint 2013 environment with single server we are facing issues caused by an unexpected application pool recycle. Environment: Sharepoint 2013 15.0.4569.1000 SQL Server 2012 SP1 11.0.34.12.0 Both are installed on one server with
-
Copying sales order header data into delivery line item
Hi In copy control from sales order to delivery I want to copy value in sales order header to all the items in delivery, can I achieve this in the header level data transfer routine (Source sales document type to target delivery doc type i.e TVCPL-GR