RE: log trace on Service Object

I haven't tried myself; but got a copy from someone of part of technote
10398 which says (the minimum you need is:)
trc:in:1 Prints out information about interpreter state object.
10 - Print method entry/exit
trc:in:2 Trace the interpretation of method invocations and exception
handling
2 - Prints entry/exit and exceptions
trc:in:51:1 Traces method entry/exit by task
trc:in:54:1 Traces method entry/exit by application
Try it.
-----Original Message-----
From: Eric Abécassis [mailto:[email protected]]
Sent: Tuesday, April 13, 1999 10:24 AM
To: Forte User List
Subject: log trace on Service Object
Hi Everybody,
I would like to set log trace on each call (method entry and exit) on a
Service Object, but I didn't find any log flag which helps me.
Does someone have any ideas on how to do that ?
Thank you for your help !
Eric Ab&eacute;cassis <[email protected]>
Senior Architect
Sema Group DTS
To unsubscribe, email '[email protected]' with
'unsubscribe forte-users' as the body of the message.
Searchable thread archive <URL:http://pinehurst.sageit.com/listarchive/>

Hi Eric,
You can find on http://perso.club-internet.fr/dnguyen/ a little tool called CodeAdd which adds Entry and Return trace. I fact, you
can use it to add any kind of code at the beginning and the end of your methods.
It also allows you to add a pre-formated comments header in you code.
In a further version, It may be possible to replace a code sequence from your methods. For instance, you may add a trace class and
change a task.Part.LogMgr.Putline by a call to your own class, or need to suppress some lines.
Just be carefull to use the tool on a local backupo of your repository : CodeAdd updates your methods directly in the repository.
Hope this helps,
Daniel Nguyen
Freelance Forte Consultant
Url : http://perso.club-internet.fr/dnguyen/
Eric =?iso-8859-1?Q?Ab=E9cassis?= a &eacute;crit:
Hi Everybody,
I would like to set log trace on each call (method entry and exit) on a
Service Object, but I didn't find any log flag which helps me.
Does someone have any ideas on how to do that ?
Thank you for your help !
Eric Ab&eacute;cassis <[email protected]>
Senior Architect
Sema Group DTS
Eric Ab&eacute;cassis <[email protected]>
Senior Architect
Sema Group DTS
Eric Ab&eacute;cassis
Senior Architect <[email protected]>
Sema Group DTS Courrier HTML
les Algorithmes - Pythagore A route des Lucioles, BP 279;Sophia Antipolis;;06905;France T&eacute;l. cellulaire: +33 (0) 6 62 36 68 83
T&eacute;l&eacute;copie: +33 (0) 4 93 95 xx xx
Bureau: +33 (0) 4 93 95 46 50
Informations suppl&eacute;mentaires:
le nom ABECASSIS
Pr&eacute;nom Eric
Version 2.1-
To unsubscribe, email '[email protected]' with
'unsubscribe forte-users' as the body of the message.
Searchable thread archive <URL:http://pinehurst.sageit.com/listarchive/>

Similar Messages

  • Log trace on Service Object

    Hi Everybody,
    I would like to set log trace on each call (method entry and exit) on a
    Service Object, but I didn't find any log flag which helps me.
    Does someone have any ideas on how to do that ?
    Thank you for your help !
    Eric Ab&eacute;cassis <[email protected]>
    Senior Architect
    Sema Group DTS

    Hi Eric,
    You can find on http://perso.club-internet.fr/dnguyen/ a little tool called CodeAdd which adds Entry and Return trace. I fact, you
    can use it to add any kind of code at the beginning and the end of your methods.
    It also allows you to add a pre-formated comments header in you code.
    In a further version, It may be possible to replace a code sequence from your methods. For instance, you may add a trace class and
    change a task.Part.LogMgr.Putline by a call to your own class, or need to suppress some lines.
    Just be carefull to use the tool on a local backupo of your repository : CodeAdd updates your methods directly in the repository.
    Hope this helps,
    Daniel Nguyen
    Freelance Forte Consultant
    Url : http://perso.club-internet.fr/dnguyen/
    Eric =?iso-8859-1?Q?Ab=E9cassis?= a &eacute;crit:
    Hi Everybody,
    I would like to set log trace on each call (method entry and exit) on a
    Service Object, but I didn't find any log flag which helps me.
    Does someone have any ideas on how to do that ?
    Thank you for your help !
    Eric Ab&eacute;cassis <[email protected]>
    Senior Architect
    Sema Group DTS
    Eric Ab&eacute;cassis <[email protected]>
    Senior Architect
    Sema Group DTS
    Eric Ab&eacute;cassis
    Senior Architect <[email protected]>
    Sema Group DTS Courrier HTML
    les Algorithmes - Pythagore A route des Lucioles, BP 279;Sophia Antipolis;;06905;France T&eacute;l. cellulaire: +33 (0) 6 62 36 68 83
    T&eacute;l&eacute;copie: +33 (0) 4 93 95 xx xx
    Bureau: +33 (0) 4 93 95 46 50
    Informations suppl&eacute;mentaires:
    le nom ABECASSIS
    Pr&eacute;nom Eric
    Version 2.1-
    To unsubscribe, email '[email protected]' with
    'unsubscribe forte-users' as the body of the message.
    Searchable thread archive <URL:http://pinehurst.sageit.com/listarchive/>

  • MII Web Services Object questions

    1.  What is the WSDL Base Url property in the Authentication tab of the Configure Object screen?
    2. Is there a way to Trace the raw soap message and web service url that is sent when the web service is executed?
    Thanks,
    Steve

    Steve,
    Ok, in short:
    1) The WSDL Base url is prepended to the WSDL URL property.  This allows for the user to swap out the http://<server>:<port> when migrating between dev, qa, and prod without having to worry about modifying the entire WSDL URL.  In v12.1 the easy way to accomplish this is to create a Shared Memory property called something like WSDLBaseTargetServer and set it equal to your web service source system relevant to that particular MII instance.
    2) If you mean during design time simply use the Logging -> Tracer action, if you're talking runtime then you can write files into the MII content DB via the File I/O -> Write File & Web -> XML Saver action blocks.  Be sure to use the guid function in the expression editor to ensure that your generated filenames are unique.  So something like:
    "MyServiceRequestXML_" & guid & ".xml"
    Hope this helps,
    Sam

  • Id  FI documents that don't have an attachment -SAP Service Objects

    SAP Service Object  - Attachment
    I'm trying to determine which FI-AP documents have invoices images attached and which ones don't.
    Is there an attachment indicator maintained on any table? 
    Or is there some way to determine if there is an attachment to a SAP document through a report or listing?

    Yes you can. Just make sure you have iMesages on. You will need to go into Settings>Messages and turn it on and log in to their Apple IDs. I was having some activation issues when I first got my iPhone 4S [it was the carrier's fault, not the iPhone's] and I was using iMessages with my Apple ID to text my friends who had iPhones. I of course had to be connected to Wi-Fi for it to work. Hope that helps.
    You could also have them download a texting app and they could use that on Wi-Fi. There are many free ones out there. I personally enjoy Text Now. Gives you your own phone number so others can text you too, not just iDevices.

  • How to log in to Service Desk to create sample message to SAP?

    Dear all,
    How to log in to Service Desk under my Solution Manager server to create sample message to SAP under Component: SV-SMG-SUP?
    Regards
    GN

    Hi GN,
    You have different options to create messages in test component SV-SMG-SUP-TST:
    1. if you are on 7.1 you can create message using CRM_UI
    2. If you are using lower vrsion then either you can create message using Workcenter or using transaction NOTIF_CREATE or using menu --> Help --> Create support message.
    Thanks
    Regards,
    Vikram

  • NET8의 LOGGING과 TRACE 관련 PARAMETER에 대한 Q & A

    제품 : SQL*NET
    작성날짜 : 2002-05-07
    NET8의 LOGGING과 TRACE 관련 PARAMETER에 대한 Q & A
    =================================================
    PURPOSE
    Net8을 이용하면서 발생하는 문제를 추적 하기위해 oracle의 configuration
    file에 들어갈 수 있는 parameter와 logging과 tracing을 하는 방법에 대해
    질의/응답을 통해 알아 보도록 한다.
    Explanation
    1) NET8에서 trace를 사용하는 이유와 어떤 component들에 trace를 할 수 있나?
    Trace의 특징은 네트워크을 수행하게 될때 network event들을 기술한다
    즉 trace와 관련된 일련의 문장들이 자세하게 생성된다.
    "Tracing"의 운영으로 log파일에 제공되어 있는 것 보다 NET8의 component들의
    내부적인 정보를 보다 많이 얻을 수 있다.
    이러한 정보는 에러의 결과로 인하여 발생하는 동일한 event들로 파일들에
    결과가 생성되어 이를 이용하여 문제의 원인을 판단할 수 있다.
    주의 : trace의 기능을 이용하는 경우 충분한 disk space와 system performance의
    현격한 저하를 가져올 수 있다 즉 trace의 기능은 반드시 필요할
    경우에만 사용할 것을 권한다.
    << 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 파일들내에
         여러 프로세스들의 tracing정보가 수집된다면 그것들은 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 파일이 커져 file system이 꽉
    차거나 데이터베이스가 hang이 되는 결과를 초래하는 경우가 있다.
    고객들은 listener.log에 write할수 있는 메세지의 양에 제한을 두기를 원하는
    경우가 있으나 이러한 기능은 제공되지 않는다. 하지만 listener의 logging은
    on 또는 off를 할 수는 있다.
    Net8에서는 listener.ora에 "LOGGING_(the listener name)=off"를 설정하게 되면
    listener의 logging을 멈출 수 있다.
    ** 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에 나와
    있지는 않지만 정상적으로 사용할 수 있다.
    Reference Ducumment
    ---------------------

  • Problem with deleting PDF report in "Vew Log / Trace" Section

    Hello everyone I just hired as a peoplesoft programmer :)
    I have a question when I try to code a report generating program
    I need to delete the PDF file (report) in "View Log/Trace"Section after the AE program executed.
    (Actually I just want to hide it at "View Log/Trace" Section, so that user will not be able to see it).
    The following program is my code
    &xmlStr = &inXMLDoc.GenXmlString();
    &strFilePath = %FilePath | "PAYSLIP_" | ZH_GPR068_AET.CAL_RUN_ID | "__" | ZH_GPR068_AET.PROCESS_INSTANCE | ".xml";
    &FileCS = GetFile(%FilePath | "PAYSLIP_" | ZH_GPR068_AET.CAL_RUN_ID | "__" | ZH_GPR068_AET.PROCESS_INSTANCE | ".xml", "W", "UTF8", %FilePath_Absolute);
    sRptDefn = "GPR0688_B";
    &oRptDefn = create PSXP_RPTDEFNMANAGER:ReportDefn(&sRptDefn);
    &oRptDefn.Get();
    &oRptDefn.UseBurstValueAsOutputFileName = True;
    &oRptDefn.SetRuntimeDataXMLFile(&strFilePath);
    &ftp = GetURL(URL.ZH_GPR068_PAYSLIP);
    &oRptDefn.ProcessReport("", &sLangCd, &AsOfDate, &sFileExt);
    &oRptDefn.ZHPrintOutput(%FilePath);
    &Return_Value = PutAttachment(GetURL(URL.ZH_GPR068_PAYSLIP), &sss | ".pdf", %FilePath | &sss | ".pdf");
    &conFileLog.WriteLine("PutAttachment Return Value:" | &Return_Value);
    If &Return_Value = 0 Then
    Local Record &ZH_PSLP_EE;
    &ZH_PSLP_EE = CreateRecord(Record.ZH_PSLP_EE_DATA);
    &ZH_PSLP_EE.EMPLID.Value = ZH_GPR068_AET.EMPLID;
    &ZH_PSLP_EE.CAL_RUN_ID.Value = ZH_GPR068_AET.CAL_RUN_ID;
    &ZH_PSLP_EE.ATTACHSYSFILENAME.Value = &ATTACHSYSFILENAME;
    &ZH_PSLP_EE.ATTACHUSERFILE.Value = &ATTACHUSERFILE;
    &ZH_PSLP_EE.Insert();
    End-If;
    /*Delete(hide) the report file*/
    Local JavaObject &javaFile;
    &javaFile = CreateJavaObject("java.io.File", %FilePath);
    &javaFile.delete();
    &tmpfile1 = GetFile(%FilePath | &ATTACHSYSFILENAME, "W", "UTF8", %FilePath_Absolute);
    &tmpfile1.Delete();*
    /*Delete(hide) the report file*/
    After the program executed, the pdf report still exist and not being removed in "View Log/Trace" Section
    &ATTACHSYSFILENAME already contain the PDF extension.
    I am hoping someone can help me to find out what's wrong with my program results in cannot delete the PDF file in the "Vew Log / Trace" Section
    Thank you so much
    Edited by: 969461 on Nov 5, 2012 1:41 AM

    Maybe there's something I don't get very well, but that's quite strange to make a user able to run a process without making him able to see the report, or at least the log.
    Anyway, I think it should be better to solve it through the config rather than changing code.
    Have a look to the red-paper below, page 57 :
    http://download.oracle.com/peopletools/documents/Securing_PSFT_App_Environment_May2010%20v4.pdf
    I may be wrong, but I'd tend to have a look first on the process definition, "Process Security", or on permission list (process monitor)...
    Nicolas.
    Edited by: N Gasparotto on Nov 5, 2012 12:51 PM

  • FIM MA Export errors. There is an error executing a web service object creation.

    While checking for the permission, we have figured that the Built-In Synchronization account is being deleted by an Expiration Workflow.
    FIM MA Export errors. There is an error executing a web service object creation.
    While checking for the permission, we have figured that the Built-in Synchronization account was deleted by an Expiration Workflow
    Is there a way to restore. Thanks.

    I would re-run FIM setup - I think it can re-create this account
    If you found my post helpful, please give it a Helpful vote. If it answered your question, remember to mark it as an Answer.

  • RE: Re[2]: Service Object events and LockMgr

    I think there are a lot to implement a lock manager. If several objects
    should be updated in one transaction, the lock manager should be able to
    handle rollbacks. Other things like release lock when exception happens,
    avoiding dead locks, etc. Most of the features are provided by DBMS, so
    I think using a option 2 would be a better solution.
    -----Original Message-----
    From: Dimitar Gospodinov [mailto:[email protected]]
    Sent: Wednesday, July 28, 1999 2:44 PM
    To: Peter Sham
    Cc: Duncan Kinnear; [email protected]
    Subject: Re[2]: Service Object events and LockMgr
    Hello Peter,
    Wednesday, July 28, 1999, 9:19:10 PM, you wrote:
    PS> Hi,
    PS> Just wonder exactly how this Lock Manager can be
    implemented. Do you mean that you are
    PS> going to cache every object that is instantiated from the
    database? Or you just cache
    PS> the object id, primary key, etc?
    PS> Frankly speaking, I won't attempt to due with this kind
    of currency coding myself as
    PS> the database vendor has spent years in coding just to do this.
    PS> Regards.
    The second one - you just need some unique value that will identify
    the object being locked. You should register with the Lock
    Manager only
    the objects that you want to lock.
    For me, one of the goal of such pattern is to give you some freedom
    from the specifics of the database lock mechanism.
    Another benefit that I can see is that using such approach you can
    always answer to the question: "Can I modify/delete this object?".
    Best regards,
    Dimitar mailto:[email protected]
    To unsubscribe, email '[email protected]' with
    'unsubscribe forte-users' as the body of the message.
    Searchable thread archive
    <URL:http://pinehurst.sageit.com/listarchive/forte>
    To unsubscribe, email '[email protected]' with
    'unsubscribe forte-users' as the body of the message.
    Searchable thread archive <URL:http://pinehurst.sageit.com/listarchive/forte>

    I think there are a lot to implement a lock manager. If several objects
    should be updated in one transaction, the lock manager should be able to
    handle rollbacks. Other things like release lock when exception happens,
    avoiding dead locks, etc. Most of the features are provided by DBMS, so
    I think using a option 2 would be a better solution.
    -----Original Message-----
    From: Dimitar Gospodinov [mailto:[email protected]]
    Sent: Wednesday, July 28, 1999 2:44 PM
    To: Peter Sham
    Cc: Duncan Kinnear; [email protected]
    Subject: Re[2]: Service Object events and LockMgr
    Hello Peter,
    Wednesday, July 28, 1999, 9:19:10 PM, you wrote:
    PS> Hi,
    PS> Just wonder exactly how this Lock Manager can be
    implemented. Do you mean that you are
    PS> going to cache every object that is instantiated from the
    database? Or you just cache
    PS> the object id, primary key, etc?
    PS> Frankly speaking, I won't attempt to due with this kind
    of currency coding myself as
    PS> the database vendor has spent years in coding just to do this.
    PS> Regards.
    The second one - you just need some unique value that will identify
    the object being locked. You should register with the Lock
    Manager only
    the objects that you want to lock.
    For me, one of the goal of such pattern is to give you some freedom
    from the specifics of the database lock mechanism.
    Another benefit that I can see is that using such approach you can
    always answer to the question: "Can I modify/delete this object?".
    Best regards,
    Dimitar mailto:[email protected]
    To unsubscribe, email '[email protected]' with
    'unsubscribe forte-users' as the body of the message.
    Searchable thread archive
    <URL:http://pinehurst.sageit.com/listarchive/forte>
    To unsubscribe, email '[email protected]' with
    'unsubscribe forte-users' as the body of the message.
    Searchable thread archive <URL:http://pinehurst.sageit.com/listarchive/forte>

  • Re: Service Object events and LockMgr

    On the option that you have considered, I have implemented the same model
    in my previous project (using Java/RMI), but I felt that it is more than
    what is normally needed for concurrency protection.
    I can suggest another option that is worth considering which is in place in
    our app for concurrency.
    Almost every table in our db has created By, created On, modifed By,
    modified On columns. The parent class of all business objects has
    attributes that correspond to these four columns. In addition to these
    four, there is a fifth attribute (introduced when concurrency was built)
    called originalModifiedOn. Upon retrieval from the db, it is set to
    modifiedOn value (from the db), during UPDATE, the value in this column is
    added part of the WHERE clause. So when the second user tried to do save
    the same object, the underlying db update will get a 'zero rows updated'
    which is translated into an application error 'possible concurrency
    error'. The user re-retreives the now 'stale' object before applying their
    edits.
    A lot of these things are and can be built into the framework imposing very
    little work that each Object needs to do to have concurrency protection.
    I am not sure if there is a mention in the Patterns paper of this model,
    but it is very easy to implement and supports what is needed.
    Kishore Puvvada's Mail
    [email protected] on 07/28/99 01:47:00 AM
    To: [email protected]@INTERNET
    cc: (bcc: Kishore Puvvada/HQ-IS/TAL)
    Subject: Service Object events and LockMgr
    Hi folks,
    We're currently looking at strategies for dealing with the simultaneous
    updates to the database from multiple clients (concurrency
    management). That is when two (or more) clients load the same object to
    edit it, then make different changes and save them to the database.
    We have a copy of a Fort&eacute; document (from the "Patterns" course, I
    think) which describes three methods of dealing with this:
    1) Lock the database table row as soon as a client select it for editing
    and hold the lock until it is saved.
    2) Immediately before 'saving' check that the database hasn't changed
    (either by reading what's there before updating, or by using a huge
    'where' clause that contains all unchanged fields)
    3) The Fort&eacute; "LockMgr" pattern, which uses a service object with notifier
    proxies to allow locking and updating notification between the clients.
    Option 3 is obviously the most robust method, but it requires a fair
    amount of coding and could also be a bottleneck for database reads and
    writes.
    But I have another option for which I was looking for opinions. What if
    we had a "Change Event manager" which broadcast an event every time
    a change is made to the database. Each business class would have its
    own event. If the event had the object's primary key as a parameter, then
    clients editing that particular object type could check to see if the object
    currently on screen is the one that changed. That way you could disable
    the 'save' until they had refreshed their on-screen data.
    It's not particularily elegant, but it's reasonably simple to implement. It
    also deals with changes sent across our WAN from other database
    servers.
    But this option is only worthwhile if you can replicate the "Change Event
    manager" SO and still register for an event on the client. Can clients
    register for SO events and receive an event generated by any of the SO's
    replicates? Or when you register for an SO's event do you register for
    only one instance of the SO?
    Thanks in advance for any answers.
    Cheers,
    Duncan Kinnear,
    McCarthy and Associates, Email:
    [email protected]
    PO Box 764, McLean Towers, Phone: +64 6 834 3360
    Shakespeare Road, Napier, New Zealand. Fax: +64 6 834 3369
    Providing Integrated Software to the Meat Processing Industry for over 10
    years
    To unsubscribe, email '[email protected]' with
    'unsubscribe forte-users' as the body of the message.
    Searchable thread archive <URL:
    http://pinehurst.sageit.com/listarchive/forte>
    To unsubscribe, email '[email protected]' with
    'unsubscribe forte-users' as the body of the message.
    Searchable thread archive <URL:http://pinehurst.sageit.com/listarchive/forte>

    On the option that you have considered, I have implemented the same model
    in my previous project (using Java/RMI), but I felt that it is more than
    what is normally needed for concurrency protection.
    I can suggest another option that is worth considering which is in place in
    our app for concurrency.
    Almost every table in our db has created By, created On, modifed By,
    modified On columns. The parent class of all business objects has
    attributes that correspond to these four columns. In addition to these
    four, there is a fifth attribute (introduced when concurrency was built)
    called originalModifiedOn. Upon retrieval from the db, it is set to
    modifiedOn value (from the db), during UPDATE, the value in this column is
    added part of the WHERE clause. So when the second user tried to do save
    the same object, the underlying db update will get a 'zero rows updated'
    which is translated into an application error 'possible concurrency
    error'. The user re-retreives the now 'stale' object before applying their
    edits.
    A lot of these things are and can be built into the framework imposing very
    little work that each Object needs to do to have concurrency protection.
    I am not sure if there is a mention in the Patterns paper of this model,
    but it is very easy to implement and supports what is needed.
    Kishore Puvvada's Mail
    [email protected] on 07/28/99 01:47:00 AM
    To: [email protected]@INTERNET
    cc: (bcc: Kishore Puvvada/HQ-IS/TAL)
    Subject: Service Object events and LockMgr
    Hi folks,
    We're currently looking at strategies for dealing with the simultaneous
    updates to the database from multiple clients (concurrency
    management). That is when two (or more) clients load the same object to
    edit it, then make different changes and save them to the database.
    We have a copy of a Fort&eacute; document (from the "Patterns" course, I
    think) which describes three methods of dealing with this:
    1) Lock the database table row as soon as a client select it for editing
    and hold the lock until it is saved.
    2) Immediately before 'saving' check that the database hasn't changed
    (either by reading what's there before updating, or by using a huge
    'where' clause that contains all unchanged fields)
    3) The Fort&eacute; "LockMgr" pattern, which uses a service object with notifier
    proxies to allow locking and updating notification between the clients.
    Option 3 is obviously the most robust method, but it requires a fair
    amount of coding and could also be a bottleneck for database reads and
    writes.
    But I have another option for which I was looking for opinions. What if
    we had a "Change Event manager" which broadcast an event every time
    a change is made to the database. Each business class would have its
    own event. If the event had the object's primary key as a parameter, then
    clients editing that particular object type could check to see if the object
    currently on screen is the one that changed. That way you could disable
    the 'save' until they had refreshed their on-screen data.
    It's not particularily elegant, but it's reasonably simple to implement. It
    also deals with changes sent across our WAN from other database
    servers.
    But this option is only worthwhile if you can replicate the "Change Event
    manager" SO and still register for an event on the client. Can clients
    register for SO events and receive an event generated by any of the SO's
    replicates? Or when you register for an SO's event do you register for
    only one instance of the SO?
    Thanks in advance for any answers.
    Cheers,
    Duncan Kinnear,
    McCarthy and Associates, Email:
    [email protected]
    PO Box 764, McLean Towers, Phone: +64 6 834 3360
    Shakespeare Road, Napier, New Zealand. Fax: +64 6 834 3369
    Providing Integrated Software to the Meat Processing Industry for over 10
    years
    To unsubscribe, email '[email protected]' with
    'unsubscribe forte-users' as the body of the message.
    Searchable thread archive <URL:
    http://pinehurst.sageit.com/listarchive/forte>
    To unsubscribe, email '[email protected]' with
    'unsubscribe forte-users' as the body of the message.
    Searchable thread archive <URL:http://pinehurst.sageit.com/listarchive/forte>

  • Service Object events and LockMgr

    Hi folks,
    We're currently looking at strategies for dealing with the simultaneous
    updates to the database from multiple clients (concurrency
    management). That is when two (or more) clients load the same object to
    edit it, then make different changes and save them to the database.
    We have a copy of a Fort&eacute; document (from the "Patterns" course, I
    think) which describes three methods of dealing with this:
    1) Lock the database table row as soon as a client select it for editing
    and hold the lock until it is saved.
    2) Immediately before 'saving' check that the database hasn't changed
    (either by reading what's there before updating, or by using a huge
    'where' clause that contains all unchanged fields)
    3) The Fort&eacute; "LockMgr" pattern, which uses a service object with notifier
    proxies to allow locking and updating notification between the clients.
    Option 3 is obviously the most robust method, but it requires a fair
    amount of coding and could also be a bottleneck for database reads and
    writes.
    But I have another option for which I was looking for opinions. What if
    we had a "Change Event manager" which broadcast an event every time
    a change is made to the database. Each business class would have its
    own event. If the event had the object's primary key as a parameter, then
    clients editing that particular object type could check to see if the object
    currently on screen is the one that changed. That way you could disable
    the 'save' until they had refreshed their on-screen data.
    It's not particularily elegant, but it's reasonably simple to implement. It
    also deals with changes sent across our WAN from other database
    servers.
    But this option is only worthwhile if you can replicate the "Change Event
    manager" SO and still register for an event on the client. Can clients
    register for SO events and receive an event generated by any of the SO's
    replicates? Or when you register for an SO's event do you register for
    only one instance of the SO?
    Thanks in advance for any answers.
    Cheers,
    Duncan Kinnear,
    McCarthy and Associates, Email: [email protected]
    PO Box 764, McLean Towers, Phone: +64 6 834 3360
    Shakespeare Road, Napier, New Zealand. Fax: +64 6 834 3369
    Providing Integrated Software to the Meat Processing Industry for over 10 years
    To unsubscribe, email '[email protected]' with
    'unsubscribe forte-users' as the body of the message.
    Searchable thread archive <URL:http://pinehurst.sageit.com/listarchive/forte>

    Hi,
    Just wonder exactly how this Lock Manager can be implemented. Do you mean that you are
    going to cache every object that is instantiated from the database? Or you just cache
    the object id, primary key, etc?
    Frankly speaking, I won't attempt to due with this kind of currency coding myself as
    the database vendor has spent years in coding just to do this.
    Regards.
    Dimitar Gospodinov wrote:
    Hello Duncan,
    Wednesday, July 28, 1999, 10:31:46 AM, you wrote:
    DK> Hi folks,
    DK> We're currently looking at strategies for dealing with the simultaneous
    DK> updates to the database from multiple clients (concurrency
    DK> management). That is when two (or more) clients load the same object to
    DK> edit it, then make different changes and save them to the database.
    DK> We have a copy of a Fort&eacute; document (from the "Patterns" course, I
    DK> think) which describes three methods of dealing with this:
    DK> 1) Lock the database table row as soon as a client select it for editing
    DK> and hold the lock until it is saved.
    DK> 2) Immediately before 'saving' check that the database hasn't changed
    DK> (either by reading what's there before updating, or by using a huge
    DK> 'where' clause that contains all unchanged fields)
    DK> 3) The Fort&eacute; "LockMgr" pattern, which uses a service object with notifier
    DK> proxies to allow locking and updating notification between the clients.
    DK> Option 3 is obviously the most robust method, but it requires a fair
    DK> amount of coding and could also be a bottleneck for database reads and
    DK> writes.
    DK> But I have another option for which I was looking for opinions. What if
    DK> we had a "Change Event manager" which broadcast an event every time
    DK> a change is made to the database. Each business class would have its
    DK> own event. If the event had the object's primary key as a parameter, then
    DK> clients editing that particular object type could check to see if the object
    DK> currently on screen is the one that changed. That way you could disable
    DK> the 'save' until they had refreshed their on-screen data.
    DK> It's not particularily elegant, but it's reasonably simple to implement. It
    DK> also deals with changes sent across our WAN from other database
    DK> servers.
    DK> But this option is only worthwhile if you can replicate the "Change Event
    DK> manager" SO and still register for an event on the client. Can clients
    DK> register for SO events and receive an event generated by any of the SO's
    DK> replicates? Or when you register for an SO's event do you register for
    DK> only one instance of the SO?
    DK> Thanks in advance for any answers.
    DK> Cheers,
    DK> Duncan Kinnear,
    DK> McCarthy and Associates, Email: [email protected]
    DK> PO Box 764, McLean Towers, Phone: +64 6 834 3360
    DK> Shakespeare Road, Napier, New Zealand. Fax: +64 6 834 3369
    DK> -------------------------------------------------------------------------------
    DK> Providing Integrated Software to the Meat Processing Industry for over 10 years
    DK> -
    DK> To unsubscribe, email '[email protected]' with
    DK> 'unsubscribe forte-users' as the body of the message.
    DK> Searchable thread archive <URL:http://pinehurst.sageit.com/listarchive/forte>
    I would recommend you to use the following approach (of course if you
    do not have some special requirements :) ):
    1. You should have a LockManager that will synchronize all clients in
    their attempt to modify/delete objects in your application.
    2. Each client, when attempts to modify/delete some object, it must
    LOCK it using the services provided with the LockManager.
    3. The requested operation can be performed only after successful
    locking.
    4. If a lock can not be obtained (for example if the object is already
    locked by some other client) then the operation is aborted.
    The details of this pattern depends on your needs. :)
    Hope this helps.
    Best regards,
    Dimitar mailto:[email protected]
    To unsubscribe, email '[email protected]' with
    'unsubscribe forte-users' as the body of the message.
    Searchable thread archive <URL:http://pinehurst.sageit.com/listarchive/forte>-
    To unsubscribe, email '[email protected]' with
    'unsubscribe forte-users' as the body of the message.
    Searchable thread archive <URL:http://pinehurst.sageit.com/listarchive/forte>

  • Events in Service Objects

    Hi,
    Is it possible to have a service object checking permanently for events
    posted by other service objects? I have not been able to start this type of
    object.
    Thanks,
    Guillermo Turk
    To unsubscribe, email '[email protected]' with
    'unsubscribe forte-users' as the body of the message.
    Searchable thread archive <URL:http://pinehurst.sageit.com/listarchive/>

    I have something this (please, some patience :-) ):
    //Example: handle event (the event is Beep)
    interface AlarmListener{
    void Beep(String hour); //declare a event handler
    //The class that "raise" an event Beep
    class Clock{
    AlarmListener theAlarmListener; //Referecne to an listener object
    //Register an listener object
    public addAlarmListener(AlarmListener theAlarmListener){
    this.theAlarmListener = theAlarmListener;
    private ringAlarm(){
    theAlarmListener.Beep("10:00 P.M."); //Raise Beep event
    class Guy implements AlarmListener{
    public Guy(){
    Clock clock = new Clock();
    clock.addAlarmListener(this);
    //Handle Beep event
    void Beep(String hour){
    System.out.println("Ohhh, its time of wake up!!!");
    //End
    But, in this model my source object have only an listener object.
    This can be improved by a array, like this:
    class Clock{
    AlarmListener[] theAlarmListener = new AlarmListener[10];
    private int i = 0;
    //Register an listener object
    public addAlarmListener(AlarmListener theAlarmListener){
    this.theAlarmListener[i++] = theAlarmListener;
    //More code...
    making to a side the limitation of size of an array (although this can be managed somehow if it is necessary), the problem begining to be more and more complex... i.e., it is necessary to create a method for unregister a listener...
    And, what about with multi-threads programs??? The addAlarmListener method should be synchronized or something??
    It should have an easier way!
    PD: I think that I have used the Delegate pattern in conjunction with some other pattern.
    PD: Forget my English. It is terrible
    Saludos

  • Is service object comes default in purchase order

    Hi Abapers,
    I am a Fucntional consultant. I would like to know whether the service object comes in the Purchase order defauly or any setting is ther behind.
    Reg,
    Ashok

    Hi,
    Have you read my question properly. I was asking about Service Object key in Purchase Orders & Purchase Requisitions where we can attach External Documents.
    Hope your doubt is clear.
    Reg,
    Ashok

  • Disable pushbuttons from Attachment list for Service Object

    Hi,
    I want to disable push buttons for delete and edit from the toolbar of Attachment list from service objects.
    how can this be achieved ?
    thanks in advance.
    Best Regards,
    Vinayaka

    Hi Sandeep,
    I am not totallt getting your point but can suggest following points:
    1. Check whether these object are displaying in DIR's as object links.
    2. If it is there then it shoud be displayed in document data of those objects.
    3. Check that documents are properly checked-in.
    Hope this may help.
    Regards,
    Ravindra

  • Disabling delete button in service object list fom VA03

    Hi all,
    i want to disable the delete and change button in attachment list of service object list (GOS) IN T CODE  VA03.
    I have found that it can be done by modifying the method  CHECK_STATUS of class CL_GOS_SRV_ATTACHMENT_LIST,
    and then calling it in t code  SGOS.
    i have copied this class to a Z CLASS but unable to modify the method it asks for access key.
    any help is highly appreciated with example.
    thanks,
    pankaj gupta

    Hello,
    The authorizations in GOS has nothing to do with the authorization in
    application level, e.g. in VA03. In standard you can use the new
    authorization object S_GOS_ATT from SAP note: 1293080.
    Otherwise:
    A possible workaround could be the following:
    Without an authorization the attachments are only deletable by the
    owners or by users with sapoffice administrator authorization. If you
    do not give users this sapoffice admin authorization, than only the
    owners are able to delete the attachments. See SAP note: 552127
    (point 3).
    OR due to a modification some functionalities can be restricted.
    For more information you can read the SAP note: 491271.
    Regards,
    David

Maybe you are looking for