Processing userobjects(classes)

I have 24 button objects on apanel defined as:
Uo_button b1 = new Uo_button();
... to
Uo_button b24 = new Uo_button();
in the constructor
then later on I want to process each one in a loop in a function.
I tried getComponents() in an array but am stuck on how to call the fuctions to manipulate the userobject
Any help appeciated
thanks
tcssls

Yes You are right ... an array is the best way to go
but this is existing code and I was just wondering how or can I do this. The reason i was asking is because I can do this in other lang. ex: powerbuilder
thanks for reply
tcssls

Similar Messages

  • How can I share a static field between 2 class loaders?

    Hi,
    I've been googling for 2 days and it now seems I'm not understanding something because nobody seems to have my problem. Please, somebody tell me if I'm crazy.
    The system's architecture:
    I've got a web application running in a SunOne server. The app uses Struts for the MVC part and Spring to deal with business services and DAOs.
    Beside the web app, beyond the application context, but in the same physical server, there are some processes, kind of batch processes that update tables and that kind of stuff, that run once a day. Theese processes are plain Java classes, with a main method, that are executed from ".sh" scripts with the "java" command.
    What do I need to do?
    "Simple". I need one of those Java processes to use one of the web app's service. This service has some DAOs injected by Spring. And the service itself is a bean defined in the Spring configuration file.
    The solution is made-up of 2 parts:
    1. I created a class, in the web app, with a static method that returns any bean defined in the Spring configuration file, or in other words, any bean in the application context. In my case, this method returns the service I need.
    public class SpringApplicationContext implements ApplicationContextAware {
         private static ApplicationContext appContext;
         public void setApplicationContext(ApplicationContext context) throws BeansException {
              appContext = context;
         public static Object getBean(String nombreBean) {
              return appContext.getBean(nombreBean);
    }The ApplicationContext is injected to the class by Spring through the setApplicationContext method. This is set in the Spring configuration file.
    Well, this works fine if I call the getBean method from any class in the web app. But that's not what I need. I need to get a bean from outside the web app. From the "Java batch process".
    2. Why doesn't it work from outside the web app? Because when I call getBean from the process outside the web app, a different class loader is executed to load the SpringApplicationContext class. Thus, the static field appContext is null. Am I right?
    So, the question I need you to please answer me, the question I didn't find in Google:
    How can I share the static field between the 2 class loaders?
    If I can't, how can I load the SpringApplicationContext class, from the "Java batch process", with the same class loader my web app was started?
    Or, do I need to load the SpringApplicationContext class again? Can't I use, from the process, the class already loaded by my web app?
    I' sorry about my so extensive post...
    Thank you very much!

    zibilico wrote:
    But maybe, if the web service stuff gets to complicated or it doesn't fulfill my needs, I'll set up a separate Spring context, that gets loaded everytime I run the "Java batch process". It'll have it's own Spring configuration files (these will be a fragment of the web app's config files), where I'll define only the beans I need to use, say the service and the 2 DAOs, and also the DB connection. Additionally, I'll set the classpath to use the beans classes of the web app. Thus, if the service and DAOs were modified in the app server, the process would load the modified classes in the following execution.You'll almost certainly have to do that even if you do use RMI, Web services etc. to connect.
    What I suggest is that you split your web project into two source trees, the stuff that relates strictly to the web front end and the code which will be shared with the batch. The latter can then be treated as a library used by both the batch and web projects. That can include splitting Spring configuration files into common and specific, the common beans file can be retrieved from the classpath with an include. I regularly split web projects this way anyway, it helps impose decoupling between View/Controller and Model layers.
    On the other hand, you might consider running these batch processes inside the web server on background threads.

  • Error in Executing the process HCM process & Forms

    Hello,
    When we try to execute the process we encountered an error message "&1 Process only makes sense if employee number specified".
    &1 :- Name of the process
    Message Class : HRASR00_UI
    Message No: 004
    Initially we are able to execute the process with other user id in portal.
    But now we have created a new portal user with different employee number.
    In Backend with t.code HRASR_TEST_PROCESS, we can execute the process by specifying the employee number.
    But when we try to execute the process in portal with same employee number, above mentioned error message is flashed.
    Please note that Portal user has sufficient authorization to execute the process.
    Kindly give suggesion to solve the issue and let me know if you need more information.
    Regards,
    Vishal Solanki

    Hi Tobias,
    You are receiving this error due to a current limitation in the Flex server. How you can fix this is to split the iView you are currently working on into two iViews, and embed one within the other. This will decrease the size of the current iView you are receiving the error for and eliminate this problem.
    Hope this helps
    Cheers,
    Scott

  • Is there any use for Class.getTypeParameters()?

    This is a quote from another Thread in this forum:
    How does erasure destroy reflection-related information? Methods getGenericInterfaces, getGenericSuperclass and getTypeParameters on java.lang.Class allow you to retrieve a lot of information on generic issues regarding a class. Obviously, that information is thus not destroyed.
    While I do agree that Generics do not destroy reflection, I wonder what they add to it.
    New types and methods are Class.getTypeParameters(), the interfaces java.lang.GenericDeclaration, java.lang.reflect.TypeParameter, java.lang.reflect.ParameterizedType etc...
    Could someone please give me an example of what I could do with all these new types and methods?
    It has been decided that Generics are implemented as a compile-time feature. At runtime, no information about the instantiated type parameters exists anymore. OK, so why clutter the core Java packages with a lot of seemingly useless new types and methods?

    Could someone please give me an example of what I
    could do with all these new types and methods?
    It has been decided that Generics are implemented as a
    compile-time feature. At runtime, no information about
    the instantiated type parameters exists anymore. OK,
    so why clutter the core Java packages with a lot of
    seemingly useless new types and methods?This is a very good question, and something I've been wondering about myself. I cannot determine how to get the runtime to give me an instance of WildcardType or ParamaterizedType, for example.
    Here's an extremely contrived example of how you can use Type bounds to effect runtime behaviour:
        class Processor<T> {       
        class StringProcessor<S extends String> extends Processor<S> {       
        public void whatKindOfProcessorIsItAnyway(Processor p) {
            Type processorType = p.getClass().getTypeParameters()[0].getBounds()[0];
            if ( String.class.equals(processorType) ) {
                System.out.println("I'm a string processor");
            } else {
                System.out.println("I process these: " + processorType);           
    whatKindOfProcessorIsItAnyway(new StringProcessor<String>());
            whatKindOfProcessorIsItAnyway(new Processor<Integer>());Outputs:
    I'm a string processor
    I process these: class java.lang.Object
    So you can see I can switch based on the type bounds compiled into the program, but I have no way of knowing that the second processor is actually instantiated with Integer, due to erasure.
    Infact, the only reason I would know anything about the actual type argument in the first instance is because String is final so '? extends String' -> String, for what its worth.
    Whether I can write a program that's actually useful using this information I've yet to determine, but I can imagine it could be useful for code generation.

  • Transport classes and programs to another server

    Except for transport routing and charm copy function, do we have other ways to do so?
    for example copy or so forth.
    best regards,
    Blake Le

    Hi Blake
    SAP R/3 Correction and Transport System
    Operating system level files in the transport process:
    The SAP C program TP, requires a special file structure for the transport process. The file system is operating system dependent. TP uses a transport directory or file system, which is called /usr/sap/trans.
    The /usr/sap/trans file system is generally NFS mounted form the development system to other systems unless a system is defined as a single system in the CTS pipeline. All the sub directories should have <SID>adm as the owner and sapsys as the group; and proper read, write and execute access should be given to owner and the group. The TP imports are always performed by <SID>adm.
    The following are the subdirectories in /usr/sap/trans:
    /data
    /cofiles
    /bin
    /log
    /actlog
    /buffer
    /sapnames
    /tmp
    /usr/sap/trans/data: holds the data of transport objects after they are released . The example of a data file is R904073.DEV. The extension DEV means the data file was released from the DEV or development system.
    /usr/sap/trans/cofiles: The cofiles directory holds the command files for all change requests. These files are like a command or control files used to import the data files. The common directory for CTS system is /usr/sap/trans. After a change request is released from the source system , the data is exported immediately to the file system of the operating system. The SAP transport utility TP uses the cofile to transport a data file. The example of a file in cofiles directory is K904073.DEV.
    /usr/sap/trans/bin: holds the most important file TPPARAM in the CTS system. TPPARAM file has all the information about the CTS systems in the CTS pipeline. TPPARAM file is the parameter file for the transport program TP and it is the common file for all the systems in the CTS pipeline. As you know already that /usr/sap/trans should be NFS mounted to all the systems in a CTS pipeline, TP program has access to the TPPARAM file from all the systems. The following is an example of typical TPPARAM file for five SAP systems in the CTS pipeline:
    #@(#) TPPARAM.sap 20.6 SAP 95/03/28
    Template of TPPARAM for UNIX #
    First we specify global values for some parameters, #
    later the system specific incarnation of special parameters #
    global Parameters #
    transdir = /usr/sap/trans/
    dbname = $(system)
    alllog = ALOG$(syear)$(yweek)
    syslog = SLOG$(syear)$(yweek).$(system)
    System spezific Parameters #
    Beispiel T11 #
    DEV/dbname = DEV
    DEV/dbhost = sap9f
    DEV/r3transpath = /usr/sap/DEV/SYS/exe/run/R3trans
    QAS/dbname = QAS
    QAS/dbhost = sap8f
    QAS/r3transpath = /usr/sap/QAS/SYS/exe/run/R3trans
    TRN/dbname = TRN
    TRN/dbhost = sap17
    TRN/r3transpath = /usr/sap/TRN/SYS/exe/run/R3trans
    PRE/dbname = PRE
    PRE/dbhost = sap19f
    PRE/r3transpath = /usr/sap/PRE/SYS/exe/run/R3trans
    PRD/dbname = PRD
    PRD/dbhost = sap18f
    PRD/r3transpath = /usr/sap/PRD/SYS/exe/run/R3trans
    /usr/sap/trans/log: holds the entire log files, trace files and statistics for the CTS system. When the user goes to SE09 (workbench organizer) or SE10 (customizing organizer) transaction and opens the log for a transport, the log file for that transport will be read from /usr/sap/trans/log directory. Each change request should have a log file. Examples of log files are DEVG904073.QAS, DEVI904073.QAS and DEVV904073.QAS. The name of a log file consists of the names of the change request, the executed step, and the system in which the step was executed:
    <source system><action><6 digits>.<target system>
    Now we can analyze the above example DEVG904073. QAS. The <source system> = DEV, <action> = G or report and screen generation, <6 digits> = 904073 (these six digits numbers are exactly the same number as the six digits of the transport) and the <target system> = QAS
    Possible values for <action> are:
    A: Dictionary activation
    D: Import of application-defined objects
    E: R3trans export
    G: Report and screen generation
    H: R3trans dictionary import
    I: R3trans main import
    L: R3trans import of the command files
    M: Activation of the enqueue modules
    P: Test import
    R: Execution of reports after put (XPRA)
    T: R3trans import of table entries
    V: Set version flag
    X: Export of application-defined objects.
    /usr/sap/trans/actlog: holds action log files. The example of an action file is DEVZ902690.DEV. The following are the contents of the file:
    1 ETK220 u201C==================================================u201D u201C=================
    =============================
    1 ETK191 u201C04/30/1998u2033 Action log for request/task: u201CDEVK902690u2033
    1 ETK220 u201C==================================================u201D u201C=================
    =============================
    1 ETK185 u201C04/30/1998 18:02:32u2033 u201CMOHASX01u2033 has reincluded the request/task
    4 EPU120 Timeu2026 u201C18:02:32u2033 Run timeu2026 u201C00:00:00u2033
    1 ETK193 u201C04/30/1998 18:02:33u2033 u201CMOHASX01u2033 owner, linked by u201CMOHASX01u2033 to u201CDEVK902691u2033
    4 EPU120 Timeu2026 u201C18:02:33u2033 Run timeu2026 u201C00:00:00u2033
    1 ETK190 u201C05/04/1998 11:02:40u2033 u201CMOHASX01u2033 has locked and released the request/task
    1 ETK194 u201C05/04/1998 11:02:40u2033 **************** End of log *******************
    4 EPU120 Timeu2026 u201C11:02:40u2033 Run timeu2026 u201C00:00:09u2033
    ~
    ~u201DDEVZ902690.DEVu201D 10 lines, 783 characters
    /usr/sap/trans/buffer: transport buffer of the target systems; contains control information on which requests are to be imported into which systems and in what order the imports must occur. The /usr/sap/trans/buffer will have a directory for each system in the CTS pipeline. For example the buffer file for DEV system is /usr/sap/trans/buffer/DEV.
    /usr/sap/trans/sapnames: holds information pertaining to transport requests for each system user. There are files for each user who released change requests from the system.
    /usr/sap/trans/tmp: holds information about temporary data and log files. While the transport is occurring the Basis administrator can find a file that is related to the transport in the tmp directory; that file shows the exact status if the transport (What objects are being imported at that time).
    Important SAP delivery class and table types and tables in the CTS process:
    Delivery class
    The delivery class defines who (i.e. the SAP system itself or the customer) is responsible for maintaining the table contents. In addition the delivery class controls how the table behaves in a client copy and an upgrade. For example when you select a SAP defined profiles to perform a client copy, certain tables are selected according to their delivery class. DD02L table can show what delevery class a table belongs to.
    The following delivery classes exist:
    A: Application table.
    C: Customizing table, maintenance by customer only.
    L: Table for storing temporary data.
    G: Customizing table, entries protected against overwriting.
    E: Control table.
    S: System table, maintenance only by SAP.
    W: System table, contents can be transported via own TR objects.
    Table type
    The table type defines whether a physical table exists for the logical table description defined in the ABAP/4 Dictionary and how the table is stored on the database.
    The following are different table types in SAP:
    Transparent Tables
    There is a physical table on the database for each transparent table. The names of the physical table and the logical table definition in the ABAP/4 Dictionary are same. For every transparent table in SAP, there is a table in database. The business and application data are stored in transparent tables.
    Structure
    No data records exist on the database for a structure. Structures are used for the interface definition between programs or between screens and programs.
    Append Structure
    An Append structure defines a subset of fields which belong to another table or structure but which are treated as a separate object in the correction management. Append structures are used to support modifications.
    The following table types are used for internal purposes, for example to store control data or for continuous texts:
    Pooled table
    Pooled tables can be used to store control data (e.g. screen sequences, program parameters or temporary data). Several pooled tables can be combined to form a table pool. The table pool corresponds to a physical table on the database in which all the records of the allocated-pooled tables are stored.
    Cluster table
    Cluster tables contain continuous text, for example documentation. Several cluster tables can be combined to form a table cluster. Several logical lines of different tables are combined to form a physical record in this table type. This permits object-by-object storage or object-by-object access. In order to combine tables in clusters, at least part of the keys must agree. Several cluster tables are stored in one corresponding table on the database.
    Tables in CTS process:
    TRBAT and TRJOB:
    TRJOB and TRBAT are the major tables in the CTS process. After TP program has sent the event to the r3 system, RDDIMPDP checks table TRBAT in the target system to find out if there is an action to be performed. Mass activation, distribution, or table conversions are the examples of actions. If there is action to be performed, RDDIMPDP starts the appropriate program in the background task. RDDIMPDP then reschedules itself.
    By checking table TRJOB, RDDIMPDP automatically recognizes if a previous step was aborted, and restarts this step. For each transport request , TP program inserts an entry into table TRBAT. If the return code 9999 in this table then the step is waiting to be performed. Return code 8888 indicates that the step is active and currently being processed. A return code of 12 or less indicates that the step is finished. In addition, TP inserts a header entry to let the RDDIMPDP program know to start processing. The column return code will therefore contain a B for begin. When RDDIMPDP is started, it sets the header entry to R(un), and starts the required program. When all the necessary actions are performed for all the transport requests, the column return code contains all the return codes received, and the column TIMESTAMP contains the finishing time. The header entry is set to F(inished). TP monitors the entries in TRBAT and TRJOB tables. When the header entry in TRBAT is set to finished. The entry in TRJOB is deleted.
    Transport Tables SE06
    TDEVC - Development classes
    TASYS - Details of the delivery. Systems in the group that should automatically receive requests, have to be specified in table TASYS.
    TSYST - The transport layers will be assigned to the integration systems. ( Define all systems)
    TWSYS - Consolidation routes ( define consolidation path)
    DEVL - Transport layers are defined here
    In u201CConfiguring the CTS systemu201D section, We will learn more about the transport tables in SE06 transaction
    Programs in the CTS process:
    In the CTS table section we learned about the RDDIMPDP program. RDDIMPDP program needs to be scheduled in all the clients in an instance. It is recommended to schedule the RDDIMPDP as event driven.
    RDDPUTPP and RDDNEWPP programs can be used to schedule RDDIMPDP program in the background.
    The ABAP/4 programs that RDDIMPDP starts are determined by the transport step to be executed that is entered in the function field of table TRBAT.
    Function Job Name Description of transport Steps
    J RDDMASGL Activation of ABAP/4 dictionary objects
    M RDDMASGL Activation of match codes and lock objects
    S RDDDISOL Analysis of database objects to be converted
    N RDDGENOL Conversion of database objects
    Y RDDGENOL Conversion of matchcode tables
    X RDDDICOL Export of AD0 objects
    D RDDDIC1L Import of AD0 objects
    E RDDVERSE Version management update during export
    V RDDVERSL Version management update during import
    R RDDEXECL Execution of programs for post - import processing
    G RDDDIC3L Generation of ABAP/4 programs and screens
    Version Management:
    One of the important features of Workbench Organizer is Version Management. This feature works for all the development objects. Using the version management feature the users can compare and retrieve previous versions of objects.
    Version management provides for comparisons, restore of previous versions, documentation of changes and assistance in the adjustment of data after upgrading to a new release. With the release of a change request, version maintenance is automatically recorded for each object. If an object in the system has been changed N times, it will have N delta versions and one active version. To display version management, for ABAPs use transaction SE38 and for tables, domains and data elements use SE11. The path to follow is Utilities -> Display version. Using version management the users can view existing version for previously created ABAP code, make changes to the code, compare code versions and restore original version of the code. Now the users will be restore previous versions without cut and paste steps of the past.
    TP and R3trans program:
    The basis administrator uses TP program to transport SAP objects from one system to another. TP is a C program delivered by SAP that runs independently of the R/3 system. TP program uses the appropriate files located in a common transport directory /usr/sap/trans. TP starts C programs, ABAP/4 programs and special operating system commands to its job. R3trans is one of the most important utility program called by TP. Before using the TP program, the basis administrator needs to make sure that the CTS system is setup properly and the right version of TP is running in the system. The TP program is located in the run time directory /usr/sap/<SID>/SYS/exe/run directory. It is automatically copied in the install process. A global parameter file TPPARAM that contains the databases of the different target systems and other information for the transport process controls TP. The global parameter file determines which R3trans is used for each system. If the parameter r3transpath is not defined properly then no export and import can be done. The basis administrator should make sure that the default value u201Cr3transpathu201D is properly defined. Later in this chapter we will learn more about TP and R3trans; also we are going to see how they are used.
    Configuring the TPPARAM file:
    Each time TP is started, it must know the location of the global parameter file. As we have seen before TPPARAM file should be in directory /usr/sap/trans/bin. The parameters in TPPARAM can either global (valid for each and every system in the cts pipeline) or local to one system. Th parameters are either operating system dependant (these parameters preceded by a keyword corresponding to the specific operating system) or database dependant (contain a keyword corresponding to a specific database system).
    The global parameter file provides variables that can be used for defining parameters. The variables can be defined in format: $(xyz). The brackets can be substituted with the u201C\u201D-character if required.
    The following pre-defined variables are available for the global parameter file:
    $(cpu1): The CPU name can be sun or as4 for example. In heterogeneous networks this variable is very important.
    $(cpu2): Acronym for the name of the operating system. The example for this variable can be
    hp-ux, or sunos . This is an operating system specific variable.
    $(dname): Used for the day of the week (SUN,MON,u2026.).
    $(mday): Used for the day of the current month (01-31).
    $(mname): Used for the name of the month (JANu2026DEC).
    $(mon): Used for the Month (01-12).
    $(system): R/3 System name.
    $(wday): Day of the week (00-06, Sunday=00, Monday=01, Tuesday=02 and so on).
    $(yday): Day of the current year (001-366). Using the number any day of the year can be chosen.
    $(year): Year (Example:1998 or 1999).
    $(syear): Short form of the year (two positions).
    $(yweek): Calendar week (00-53). The first week begins with the first Sunday of the year.
    For the database connection:
    The transport environment also needs parameters to connect to the R/3 System database. As we know already the every instance in the R/3 CTS pipeline has its own database, therefore specific parameters should be defined for each database system. From dbtype parameter of RSPARAM file, TP program identifies the database system.
    The two parameters u201Cdbnameu201D and u201Cdbhostu201D are required for ORACLE databases.
    DBHOST: is the name of the computer on which the database processes execute. TCP/IP name of the host if NT is being used.
    DBNAME: is the name of the database instance.
    As of Release 3.0E, two new parameters have been introduced.
    DBLOGICALNAME: The default value is $(system). The logical name that was used to install the database.
    DBCONFPATH: The default value is $(transdir).
    The parameters u201Cdbnameu201D and u201Cdbhostu201D are also used for INFORMIX databases in an installation:
    DBHOST: Same as Oracle.
    DBNAME: Name of the database instance, uppercase and lowercase are distinguished here.
    INFORMIXDIR : u201C/informix/<SAPSID>u201D is the default value. Defines the directory namewhere the database software can be found.
    INFORMIXSQLHOSTS: u201C$(informixdir)/etc/sqlhosts[.tli|.soc]u201Cis default value under Unix. The name of the SQLhosts file with its complete path is defined with this parameter.
    INFORMIX_SERVER: u201C$(dbhost)$(dbname)shmu201D is the default value. The name of the database server may be specified for a local connect.
    INFORMIX_SERVERALIAS: u201C$(dbhost)$(dbname)tcpu201Dis the default vlue. The name of the database server can be specified for a remote connect.
    For Microsoft SQL Server database the two parameters u201Cdbnameu201D and u201Cdbhostu201D are also required. DBHOST: The TCP/IP name of the host on which the database is running.
    DBNAME: The database instance name.
    For DB2 in AS/400 only u201Cdbhostu201D is required.
    DBHOST: System name of the host on which the database is running.
    If theu201DOptiConnectu201D is used, the following line should be specified:
    OPTICONNECT 1
    For DB2/ AIX
    The two parameters u201Cdbnameu201D and u201Cdbhostu201D are required
    DBHOST: The host on which the database processes are running. It is the TCP/IP name of the host for Windows NT (As we have seen in the earlier examples).
    DBNAME: Database instance name.
    The DB2 for AIX Client Application Enabler Software must also be installed on the host on which tp is running.
    ALLLOG: u201CALOGu201D $(syear) $(yweek)u201Dis the default value. This variable can be used in TPPARAM file to specify the name of a file in which tp stores information about every transport step carried out for a change request anywhere in the transport process. The file always resides in the log directory.
    SYSLOG: u201CSLOG $(syear) $(yweek).$(system)u201D is the default value. This variable can be used to name a file in which tp stores information about the progress of import actions in a certain R/3 System. The file does not store information for any particular change request. The file always resides in the log directory.
    tp_VERSION: Zero is the default value. If this parameter is set to not equal to zero, a lower version of tp may not work with this TPPARAM file. If the default value (zero) is set, the parameter has no affect.
    STOPONERROR: (Numeric value) The default value is 9. When STOPONERROR is set to zero, tp is never stopped in the middle of an u201Cimportu201D or u201Cputu201D call. When STOPONERROR is set to a value greater than zero, tp stops as soon as a change request generates a return code that is equal to or greater than this value (The numeric value of the STOPONERROR parameter is stored in the variable BADRC). Change requests, which still have to be processed for the current step, are first completed. A u201CSYNCMARKu201D in the buffer of the R/3 System involved, sets a limit here. tp divides the value of this parameter between two internal variables. STOPONERROR itself is treated as a boolean variable that determines whether tp should be stopped, if the return code is too high.
    REPEATONERROR (Numeric value too): The default value is 9. The REPEATONERROR parameter is similar to STOPONERROR. The difference is, REPEATONERROR specifies the return code up to which a change request is considered to be successfully processed. Return codes less than REPEATONERROR are accepted as u201Cin Orderu201D. Change requests that were not processed successfully stay in the buffer.
    NEW_SAPNAMES: Default value is u201CFALSEu201D. A file is created for each user of the R/3 System group in the u201Csapnamesu201D subdirectory of the transport directory. Except some of the operating system,the name of the user is the name of the file. It is very important to remember hat the special characters or length of the file name could cause problems. If all the R/3 Systems in the transport group have at least Release level 3.0.; TP program is efficient to handle this problem. The user names are modified to create file names that are valid in all operating systems and the real user names are stored in a corresponding file.
    Though we have seen so many parameters, for the minimum configuration the following two parameters are very important.
    TRANSDIR: specifies the name of the common transport directory. The following is a typical example from TPPARAM of Unix as we have seen before.
    transdir = /usr/sap/trans/
    DBHOST: contains the name of the database host. In Windows NT environment, this is the TCP/IP host name. The following is an example in Unix:
    DEV/dbname = DEV
    DEV/dbhost = sap9f
    DEV/r3transpath = /usr/sap/DEV/SYS/exe/run/R3trans
    For TP, to control u2018Start and Stopu2019 command files and database in R/3 the following important parameters are specified in TPPARAM:
    Parameters for the tp Function u201CPUTu201D: LOCK_EU (boolean) default value is u201CTRUEu201D. Though from version 3.1 onward the tp put command is used seldom in cts process still it is important to know how this parameter works. When u201Ctp putu201D is used, it changes the system change option . If the parameter is set to u201CFALSEu201D nothing gets changed. If the parameter is set to u201CTRUEu201D, the system change option is set to u201CObjects cannot be changedu201D at the beginning of the call, and gets changed back to its previous value at the end of the call. The u201Ctp putu201D command will give the exact status of the locking mechanism.
    LOCKUSER (used as boolean value): Default value is u201CTRUEu201D. This parameter is about the user login while tp put call is executed. If this parameter is set to u201CFALSEu201D, no locking mechanism for the users takes affect. If this parameter is defined as u201CTRUEu201D then a character is set in the database level; so only DDIC and SAP* can log on to the system. Users that have already logged on are not affected (this is a reason for activating the parameters STARTSAP and STOPSAP). The charactertor is removed at the end of the call, and all the users can log on to the SAP R/3 System again.
    STARTSAP: Default value is u201D u201C.or u201CPROMPTu201D for Windows NT . This parameter is used by TP to start an R/3 System. It is not necessary for the clients to make tp start and stop R/3 system..
    STOPSAP: Default value is u201D u201Cor u201CPROMPTu201D for Windows NT. TP uses this parameter to stop an R/3 System.
    STARTDB: Default value is u201D u201C. TP uses the value of this parameter to start the database of an R/3 System.
    The parameter is not active under Windows NT.
    STOPDB: Default value is u201D u201C. TP uses the value of this parameter to stop the database of an R/3 System.
    This parameter is not active under Windows NT.
    The above parameters in UNIX can be used as following:
    STARTSAP = startsap R3
    STOPSAP = stopsap R3
    STARTDB = startsap db
    STOPDB = stopsap db
    In Windows NT:
    STARTSAP =
    $(SAPGLOBALHOST)\sapmnt\$(system)\sys\exe\run\startsap.exe
    R3 <SID> <HOST NAME> <START PROFILE>
    STOPSAP =
    $(SAPGLOBALHOST)\sapmnt\$(system)\sys\exe\run\stopsap.exe
    R3 <SID> <HOST NAME> <INSTANCE> <PROFILE PATH + Instance profile>
    The parameters STARTDB and STOPDB are not active under Windows NT.
    Parameters for the tp function u201CCLEAROLDu201D
    DATALIFETIME (Numeric): Default value is u201C200u2033. When the data file has reached a minimum age, it is moved to the subdirectory old data with tp check. tp clearold all. The life span of the data files in the data sub directory can be set in days with this all, parameter.
    OLDDATALIFETIME (Numeric): Default value is u201C365u2033. When a file located in the olddata subdirectory is no longer needed for further actions of the transport system and has reached a minimum age, it is removed with tp check.all, tp clearold all. The minimum age in days can be set with this parameter.
    COFILELIFETIME (Numeric): Default value is u201C365u2033. This parameter is used just like DATALIFETIME parameter.
    LOGLIFETIME (Numeric): Default value is u201C200u2033. This parameter applies to the life span of the log files. When the log files in log subdirectory is no longer needed for the transport system and has reached a minimum age, it is deleted with the calls tp check.all, tp clearold all. The minimum age in days can be defined with this parameter.
    The Three Key Utilities of the CTS system (TP, R3trans and R3chop):
    TP: Earlier in this chapter we have seen the objectives of TP. The TP transport control program is a utility program that helps the user to transport objects from one system to another. TP program is the front-end for the utility R3trans. TP stands for u201CTransports and Putsu201D. To make the TP work successfully the CTS system needs to be correctly configured. The following steps are very important for TP to run properly.
    The transport directory /usr/sap/trans must be installed and NFS mounted to all the systems in the CTS pipe line.
    RDDIMPDP program must be running (event driven is recommended) in each client. RDDIMPDP can be scheduled in the background by executing RDDNEWPP or RDDPUTPP. Use the tp checkimpdp <sap sid> command in /usr/sap/trans/bin directory as <sid>adm user to check RDDIMPDP program.
    Use the tp connect <sap sid> command in /usr/sap/trans/bin directory to see whether the tp program is connecting to the database successfully or not. To run TP command the user has to logon as <sid>adm in source or target system.
    The R/3 Systems in the CTS pipeline must have different names.
    The Global CTS Parameter File TPPARAM must be correctly configured.
    The source system (for the export) and target system ( for the import) must have at least two background work processes. TP always schedules the C class job, so if all the background jobs are defined as A class job then there will be problems in transport steps.
    Important Tips :.It is always better to have the up to date TP version installed in your system. A user can ftp a current version of TP from SAPSERV4 of SAP. Though R3trans and other utility programs can be used to do the transport, it is recommended to use TP whenever possible for the following reasons..
    The exports and imports are done separately using TP program. For example: when a transport is released from the system, the objects are exported from the source database to the operating system and then the import phase starts to transport those objects to the target system.
    TP takes care of the order of the objects. The order, that was followed to export the objects; the same order will be followed to import them to the target database.
    The TP command processes all change requests or transports in the SAP system buffer that have not yet been imported successfully. All the import steps are executed automatically after TP calls R3trans program to execute the following necessary steps:
    Dictionary Import: ABAP/4 dictionary objects will be imported in this step.
    Dictionary Activation: Name tabs or runtime descriptions will be written inactively. The R/3 system keeps running until the activation phase is complete. The enqueue modules are the exceptions in the running phase. After the activation of new dictionary structure the new actions are decided to get the runtime objects to the target system.
    Structure conversion: If necessary the table structure is changed in this phase.
    Move Nametabs: The new ABAP/4 Dictionary runtime objects which were inactive up to now are moved into the active runtime environment in this process. The database structures are adjusted accordingly. From the first step to the Main import step inconsistencies can occur to the R/3 system. After the main import phase all the inconsistency ca be solved.
    Main import with R3trans: All the data are imported completely and the system comes to a consistent state.
    Activation of enqueue-objects: The enqueue-objects cannot be activated in the same way as the objects of the ABAP/4 Dictionary, so they have to be activated after the main import in this step. They are then used directly in the running system.
    Structure Conversion of match codes, Import application defined objects, versioning and execution of user defined activities are some of the steps after activation of enqueue-objects. The next step is generation of ABAP/4 programs and screens, where all the programs and screens associated with the change request are generated. When all the import steps are completed successfully, the transport request is removed from the import buffer.
    It is recommended by SAP to schedule regular periods for imports into the target system (e.g. daily, weekly or monthly). Shorter periods between imports are not advisable. The transport to production should not be done in the off hours when the users are not working
    TP can be started with different parameters. The u201Ctp helpu201D command can help user to generate a short description about the use of the command.
    The following are the some important commands of TP:
    For export:
    tp export <change request>: The complete objects in the request from the source system will be transported. This command also used by SAP System when it releases a request.
    tp r3e <change request>: R3trans export of one transport request.
    tp sde <change request>: Application defined objects in one transport request can be exported.
    tp tst <change request> <SAP system >: The test import for transport request can be done using this command.
    tp createinfo <change request>: This command creates a information file that is automatically done during the export.
    tp verse <request>: This command creates version creates versions of the objects in the specified request.
    To Check the transport buffer, global parameter file and change requests:
    tp showbuffer <sid>: Shows all the change requests ready to be imported to the target system.
    tp count <sid>: Using this command users can find out the number of requests in the buffer waiting for import.
    tp go <sid>: This command shows the environment variables needed for the connection to the database of the <sid> or target system.
    tp showparams <sid>: All the values of modifiable tp parameters in the global parameter file. The default value is shown for parameters that have not been set explicitly.
    To import the change requests or transports:
    tp addtobuffer <request>.<sid>: If a change request is not in the buffer then this command is used to add it to the buffer, before the import step starts.
    tp import all <sid>: This command imports all the change requests from the buffer to the target system.
    tp put <sid>: The objective of this command is same as u201Ctp import all <sid>u201D, but this command locks the system. This command also starts and stops the SAP system, if the parameters startsap and stopsap parameters are not set to u201D u201C.
    tp import <change request> <sid>: To import a single request from the source system to target system.
    tp r3h <change request>| all <sid>: Using this command user can import the dictionary structures of one transport or all the transport from the buffer.
    tp act <change request>|all <sid>: This command activates all the dictionary objects in the change request.
    tp r3i <change request> | all <sid>: This command imports everything but dictionary structures of one.
    tp sdi <change request>|all <sid>: Import application-defined objects.
    tp gen <change request>|all <sid>: Screen and reports are generated using this command.
    tp mvntabs <sid>: All inactive nametabs will be activated with this command.
    tp mea <change request>|all <sid>: This command will activate the enqueue modules in the change request.
    When you call this command, note the resulting changes to the import sequence.
    Additional tp utility options:
    tp check <sid>|all (data|cofiles|log|sapnames|verbose): User uses this command to find all the files in the transport directory that are not waiting for imports and they have exceeded the minimum time specified using the COFILELIFETIME, LOGFILELIFETIME, OLDDATALIFETIME and DATALIFETIME parameters of TPPARAM file.
    tp delfrombuffer <request>.<sid>: This command removes a single change request from the buffer. In case of TMS, the request will be deleted from the import queue.
    tp setstopmark <sid>: A flag is set to the list of requests ready for import into the target system. When the user uses the command tp import all <sapsid> and tp put <sapsid>, the requests in front of this mark are only processed. After all the requests in front of the mark have been imported successfully, the mark is deleted.
    tp delstopmark <sid>: This command deletes the stop mark from the buffer if it exists.
    tp cleanbuffer <sapsid>: Removes all the change requests from the buffer that are ready for the import into the target system.
    tp locksys <sid>: This command locks the system for all the users except SAP* and DDIC. The users that have already logged on are not affected by the call.
    tp unlocksys <sid>: This command unlocks the system for all the users.
    tp lock_eu <sid>: This command sets the system change option to u201Csystem can not be changedu201D tmporarily.
    tp unlock_eu <sid>: This command unlocks the system for all the changes.
    tp backupall <sid>: This command starts a complete backup using R3trans command. It uses /usr/sap/trans/backup directory for the backup.
    tp backup delta <sid>: Uses R3trans for a delta backup into /usr/sap/trans/backup directory.
    tp sapstart <sid>: To start the R/3 system.
    tp stopsap <sid>: To stop the R/3 system.
    tp dbstart <sid>: To start the database.
    tp dbstop <sid>: To stop the database.
    Unconditional modes for TP: Unconditional modes are used with the TP program and these modes are intended for the special actions needed in the transport steps. Using unconditional mode user can manipulate the rules defined by the workbench organizer. The unconditional mode should be used when needed, otherwise it might create problems for the R/3 system database. Unconditional mode is used after the letter u201CUu201D in the TP command. Unconditional mode can be a digit between 0 to 9 and each has a meaning to it. The following is a example of a import having unconditional mode.
    tp import devk903456 qas client100 U12468
    0: Called a overtaker; change request can be imported from buffer without deleting it and then uncoditional mode 1 is used to allow another import in the correct location.
    1: If U1 is used with the export then it ignores the correct status of the command file; and if it is used with import then it lets the user import the same change request again.
    2: When used with tp export, it dictates the program to not to expand the selection with TRDIR brackets. If used in tp import phase, it overwrites the originals.
    3: When used with tp import, it overwrites the system-dependant objects.
    5: During the import to the consolidation system it permits the source systems other than the integration system.
    6: When used in import phase, it helps to overwrite objects in unconfirmed repairs.
    8: During import phase it ignores the limitations caused by the table classification.
    9: During import it ignores that the system is locked for this kind of transport.
    R3trans: TP uses R3trans program to transport data from one system to another in the CTS pipeline. efficient basis administrator can use R3trans directly to export and import data from and into any SAP systems. Using this utility transport between different database and operating system can e done without any problems. Different versions of R3trans are fully compatible with each other and can be used for export and import. The basis administrator has to be careful using R3trans for different release levels of R/3 software; logical inconsistency might occur if the up to date R3trans is not used for the current version of R/3 system.
    The syntax for using the control file is following:
    R3trans [<options>] <control file> (several options used at the same time; at least one option must be there)
    For example: R3trans u2013u 1 u2013w test.log test
    In the above example a unconditional mode is used, a log file u201Ctest.logu201D file is used to get the log result and a control file u201Ctestu201D, where the instructions are given for the R3trans to follow. The user needs to logon as <sid>adm to execute R3trans.
    The following options are available for the R3trans program:
    R3trans -d : This command is used to check the database connection .
    R3trans -u <int>: Unconditional mode can be used as we have seen in the above example.
    R3trans -v : This is used for verbose mode. It writes additional details to the log file
    R3trans -i <file>: This command directly imports data from data file without a control file.
    R3trans -l <file>: This provides output of a table of contents to the log file.
    R3trans -n : This option provides a brief information about new features of R3trans.
    R3trans u2013t: This option is used for the test mode. All modifications in the database are rolled back.
    R3trans -c <f1> [<f2>]: This command is used for conversion. The <f1> file will be copied to <f2> file after executing a character set conversion to the local character set.
    Important tips: Do not confuse the backup taken using R3trans with database backup. The backups taken using R3trans are logical backups of objects. In case something happens to the SAP system these backups can not be used for recovery. R3trans backups can be only used to restore a copy of a particular object that has been damaged or lost by the user.
    R3trans -w <file>: As we have seen in the above example this option can be used to write to a log file. If no file is mentioned then trans.log is default directory for the log.
    R3trans also can be used for the database backup.
    R3trans u2013ba: This command is used for a complete backup. we will see in the next paragraph how to use
    the control file for the backup.
    R3trans u2013bd: This command is used for a delta backup if the user does not want a complete backup.
    R3trans u2013bi: This option will display backup information.
    The following are some of the examples of control files:
    We have already learned how to use a command for the logical backup of the objects in the database. To get a complete backup the following example control file can be used.
    backup all
    file = /usr/sap/trans/backall
    The option u201Cfile = u2026u201D is the name of the directory into which the data files are to be written. If you are taking a complete backup of DEV system then the backup file is going to look like u201CDEV.A000.bcku201D the next complete
    Reward if useful
    Regards
    divya

  • How do I get the PID of a child process in java using JNI?

    I am writing an app in Java (for **nix) that will spawn multiple processes (using Process objects). I want to be able to get the PID for a particular child process (not the parent). How can I do this?

    You could try an extreme hack of using JNI to read whatever field of the java.lang.Process-derived class may hold a native process id. This would be unsupportable beyond the exact JVM(s) you can test it on, and should only be a last resort, but within these constraints it may work well. The source code for package java.lang gives clues of where to start hacking.
    -slj-

  • Package class files with bpel suitcase

    Hello,
    Is it possible to package java classes which are invoked through WSIF along with the BPEL Suitcase generated by bpelc?
    I've noticed that when generating and deploying the suitcase using JDeveloper (10.1.3.x) - the class files are compiled to the output directory and packaged in the suitcase, but when I run the same build.xml via Ant (ant deploy-process), the class files are missing in the output directory and thus missing in the suitcase.
    I'm using BPEL 10.1.3.
    So, the question is what causes the difference and how can I achieve packaging the class files using Ant without Jdeveloper.
    Any help is most appreciated.
    Best regards,
    Harm

    Well, I found the answer myself after decompiling com.collaxa.cube.ant.taskdefs.Bpelc.class..... because documentation or manuals about the ant tasks where not available.
    Apparently, the bpelc tasks can have nested elements of type zipfileset. (See the Ant documentation about this type). In here is the solution.
    Here is a how-to:
    You have to change the jdeveloper generated build.xml.
    @ 1st you have to add a "javac" task (if not already there) like below, and add it to build.xml:
    <target name="java-compile" description="Compile Java source files">
    <echo>
    | Compiling java source files
    </echo>
    <javac destdir="${process.dir}/output"
    encoding="UTF-8" source="1.5" target="1.5">
    <src path="src"/>
    </javac>@ 2 Extend target "process-deploy" to depend it on target "java-compile". It is important that the java gets compiled before the bpelc is executed. Like so:
    <target name="process-deploy"
    depends="validateTask, java-compile, compile, deployProcess, deployTaskForm, deployDecisionServices" />@ 3 Change the bpelc task by including a nested classes element that includes your class files, like so:
    <bpelc input="${process.dir}/bpel/bpel.xml" out="${process.dir}/output"
    rev="${rev}" home="${bpel.home}">
    <classes dir="${process.dir}/output" includes="**/*.class"/>
    </bpelc>When you run target "process-deploy", the class files are added to the bpel suitcase.
    Harm

  • Workflow Process Implementation not found

    Hello,
         I've created a workflow process in AEM 5.6.  When I initiate the workflow, the workflow is not completed and in the Inbox Console, I see 'process implementation is not found'.
    Here is the sample workflow process:
    package com.test.workflowtest;
    import org.apache.felix.scr.annotations.Component;
    import org.apache.felix.scr.annotations.Properties;
    import org.apache.felix.scr.annotations.Property;
    import org.apache.felix.scr.annotations.Service;
    import org.osgi.framework.Constants;
    import org.apache.felix.scr.annotations.Reference;
    import com.day.cq.workflow.WorkflowException;
    import com.day.cq.workflow.WorkflowSession;
    import com.day.cq.workflow.exec.WorkItem;
    import com.day.cq.workflow.exec.WorkflowData;
    import com.day.cq.workflow.exec.WorkflowProcess;
    import com.day.cq.workflow.metadata.MetaDataMap;
    import com.adobe.granite.workflow.WorkflowException;
    import com.adobe.granite.workflow.WorkflowSession;
    import com.adobe.granite.workflow.exec.WorkflowProcess;
    import com.adobe.granite.workflow.exec.WorkItem;
    import com.adobe.granite.workflow.metadata.MetaDataMap;
    import org.slf4j.Logger;
    import org.slf4j.LoggerFactory;
    import org.apache.sling.api.resource.ResourceResolverFactory;
    import org.apache.sling.api.resource.ResourceResolver;
    @Component
    @Service
    @Properties({
            @Property(name = Constants.SERVICE_DESCRIPTION, value = "Test Process."),
            @Property(name = Constants.SERVICE_VENDOR, value = "TEST"),
            @Property(name = "process.label", value = "Test WF Process")})
    public class Test implements WorkflowProcess{
       private static final Logger log = LoggerFactory.getLogger(Test.class);
              @Reference
              private ResourceResolverFactory resourceResolverFactory;
              public void execute(WorkItem item, WorkflowSession session, MetaDataMap args)
            throws WorkflowException {
            log.debug("======== Test Process ===========");
            ResourceResolver resolver = null;
            try{
                                  resolver = resourceResolverFactory.getAdministrativeResourceResolver(null);
            }catch(Exception e)
                e.printStackTrace();
    =============
    Exception:
    02.05.2013 11:25:23.305 *ERROR* [JobHandler: /etc/workflow/instances/2013-05-02/model_79635435153979:/content/test1] com.adobe.granite.workflow.core.job.JobHandler Process implementation not found: com.test.workflowtest.Test com.adobe.granite.workflow.WorkflowException: Process implementation not found: com.test.workflowtest.Test
              at com.adobe.granite.workflow.core.job.HandlerBase.executeProcess(HandlerBase.java:221)
              at com.adobe.granite.workflow.core.job.JobHandler.process(JobHandler.java:139)
              at org.apache.sling.event.jobs.JobUtil$1.run(JobUtil.java:272)
              at java.util.concurrent.ThreadPoolExecutor.runWorker(Unknown Source)
              at java.util.concurrent.ThreadPoolExecutor$Worker.run(Unknown Source)
              at java.lang.Thread.run(Unknown Source)
    02.05.2013 11:25:25.333 *ERROR* [JobHandler: /etc/workflow/instances/2013-05-02/model_79635435153979:/content/test1] com.adobe.granite.workflow.core.job.JobHandler Process implementation not found: com.test.workflowtest.Test com.adobe.granite.workflow.WorkflowException: Process implementation not found: com.test.workflowtest.Test
              at com.adobe.granite.workflow.core.job.HandlerBase.executeProcess(HandlerBase.java:221)
              at com.adobe.granite.workflow.core.job.JobHandler.process(JobHandler.java:139)
              at org.apache.sling.event.jobs.JobUtil$1.run(JobUtil.java:272)
              at java.util.concurrent.ThreadPoolExecutor.runWorker(Unknown Source)
              at java.util.concurrent.ThreadPoolExecutor$Worker.run(Unknown Source)
              at java.lang.Thread.run(Unknown Source)
    02.05.2013 11:25:27.361 *ERROR* [JobHandler: /etc/workflow/instances/2013-05-02/model_79635435153979:/content/test1] com.adobe.granite.workflow.core.job.JobHandler Process implementation not found: com.test.workflowtest.Test com.adobe.granite.workflow.WorkflowException: Process implementation not found: com.test.workflowtest.Test
              at com.adobe.granite.workflow.core.job.HandlerBase.executeProcess(HandlerBase.java:221)
              at com.adobe.granite.workflow.core.job.JobHandler.process(JobHandler.java:139)
              at org.apache.sling.event.jobs.JobUtil$1.run(JobUtil.java:272)
              at java.util.concurrent.ThreadPoolExecutor.runWorker(Unknown Source)
              at java.util.concurrent.ThreadPoolExecutor$Worker.run(Unknown Source)
              at java.lang.Thread.run(Unknown Source)
    02.05.2013 11:25:29.389 *ERROR* [JobHandler: /etc/workflow/instances/2013-05-02/model_79635435153979:/content/test1] com.adobe.granite.workflow.core.job.JobHandler Process implementation not found: com.test.workflowtest.Test com.adobe.granite.workflow.WorkflowException: Process implementation not found: com.test.workflowtest.Test
              at com.adobe.granite.workflow.core.job.HandlerBase.executeProcess(HandlerBase.java:221)
              at com.adobe.granite.workflow.core.job.JobHandler.process(JobHandler.java:139)
              at org.apache.sling.event.jobs.JobUtil$1.run(JobUtil.java:272)
              at java.util.concurrent.ThreadPoolExecutor.runWorker(Unknown Source)
              at java.util.concurrent.ThreadPoolExecutor$Worker.run(Unknown Source)
              at java.lang.Thread.run(Unknown Source)
    =======
    Findings:  Gettting exception only when I use below code in the workflow process.
    @Reference
      private ResourceResolverFactory resourceResolverFactory;
    Any help would be more helpful..
    Thanks
    Siva

    one of the workaround is by adding -XX:-UseSplitVerifier option to the JVM .This issue seems to be an with CQ 5.6 and java 7

  • Processing a request from JSF page?

    Hello all,
    I made a small page in JSF to display a form. I want to process the data in an EJB. When I press the submit button, a particular method is called. How should I pass the form data to EJB - I mean in what format,
    should I pass various arguments to a method of bean? That doesn't sound like good practice. What if I have many fields in form?
    should I pass the arguments as a List array of Strings?
    or is there some better method?

    Hi Vikram,
    To understand i am giving small exaple to you which helps u to get the formdata in the managed bean method.
    Below is the sample code, we have a input text and the value is binded to Register that is a managed bean which u need to register in faces-config.xml file.
    When you clicks the commandButton below the action will be submitted and the method process will invoke in the managed bean (Register). In this method you will get the inputText value which you entered.See the below code how to get the value.
    <h:inputText id="text1" value="#{Register.text1}" styleClass="inputText" />
    <h:commandButton id="bLogin" value="Login" action="#{Register.process}"/>
    public class Register extends PageCodeBase{
    private String text1=""; //created one string for the textBox id=text1 and provide setters & getters
    public String getText1() {
              return text1;
         public void setText1(String text1) {
              this.text1 = text1;
    public String process(){
    System.out.println("IN PROCESS METHOD");
    //In the below line you will get the value entered in the text box.
    System.out.println("Getting the value of input text box:::"+getText1());
    Here you can perform what ever business login u need.
    return "back";
    Feel free to ask any questions.
    Thank You,
    Subrahmanyam Baratam.

  • Framework Class CL_RSRD_PRODUCER_PRECALC type PROD delivers no document

    Hi
    Im working in Query Designer and go to option Publish - BEx Broadcaster
    I create a new timing of an e-mail transmission with PDF, If I will carry out, then I get the message  "framework Class CL_RSRD_PRODUCER_PRECALC type PROD delivers no document"
    However the MHTML I have no problem.
    In detail the issue 
    Settings were launched from BEx Broadcaster Started
    Q221070 for processing user Spracche DE
    The recruitment process
    framework Class CL_RSRD_PRODUCER_PRECALC type PROD delivers no document
    How do I resolve this issue
    Regards
    Naziem

    Hi,
    In Broadcaster, few settings needs to configured.
    But before that please run that particular query in RSRT and then broadcast it.
    Hope this will help.
    Thanks,Rams.

  • Java : Import a class programmatically

    I have a CompilationUnit that contains a class where a reference to another class is not imported. Eclipse resolves that kind of issue easily and proposes to import the missing class (which is located in the parent package).
    How can I import a missing class programmatically without knowing its name or location ?
    Reflection, injection, ClassLoader and other runtime mechanisms are not the right choice as I'm processing the classes statically through the Eclipse JDT API. Please, I'm just looking for a static oriented solution.
    FYI : this how we list the imports from a CompilationUnit :
    List<ImportDeclaration> existingImports = aCompilationUnit.imports();
    The problem is that I don't know how to generate missing ImportDeclaration.
    Thanks.

    For manipulating the imports of a Java file please see class org.eclipse.jdt.core.dom.rewrite.ImportRewrite: the javadoc outlines its usage.
    If all you have is an unresolvable simple name, utilities like ASTResolving.guessBindingForTypeReference(node) come in handy.
    If that doesn't work for you, you may have to use the org.eclipse.jdt.core.search.SearchEngine and somehow cope with potentially many matches for a given simple name.
    HTH,
    Stephan

  • Annotation processing using JDK 1.6 and Apache Ant

    Hello,
    I am trying to run my annotation processor using ant.
    I already built the processor, the javax.annotation.processor.Processor file is in the correct place with the correct content.
    The jar with the processor is in the classpath (i can see it in ant -v), but it does not process my classes. in fact, i get the warning:
    warning: Annotation processing without compilation requested but no processors were found.Do i have to specify -processor or -processorpath or can i just leave it to the default classpath scanning?
    I think everything is in the correct place, because when i compile with maven instead of ant, specifying the processor, it runs nicely. My pom contains:
                   <plugin>
                        <groupId>org.apache.maven.plugins</groupId>
                        <artifactId>maven-compiler-plugin</artifactId>
                        <configuration>
                             <source>1.6</source>
                             <target>1.6</target>
                             <compilerArguments>
                                  <processor>br.com.sonner.infra.seguranca.SegurancaAnnotationProcessor</processor>
                             </compilerArguments>
                        </configuration>
                   </plugin>i am using jdk 1.0.6_02 and ant 1.7.0.
    Can anyone help me find out what am i doing wrong?

    Julio.Faerman wrote:
    Hello,
    I am trying to run my annotation processor using ant.
    I already built the processor, the javax.annotation.processor.Processor file is in the correct place with the correct content.
    The jar with the processor is in the classpath (i can see it in ant -v), but it does not process my classes. in fact, i get the warning:
    warning: Annotation processing without compilation requested but no processors were found.Do i have to specify -processor or -processorpath or can i just leave it to the default classpath scanning?When -processor is not given, a service loader is used to find the annotation processors (if any). In addition to the class files of the process, to allow your processor to be found as a service, make sure you've also provided the needed META-INF data in the jar file. The general service file format is described in
    http://java.sun.com/javase/6/docs/api/java/util/ServiceLoader.html
    That said, I'd recommend setting an explicit processor path separate from your general classpath.

  • Can't find class

    Hi,
    A have made an annotation processing test class using netbeans 6 and jsr 269
    @SupportedAnnotationTypes("*")
    @SupportedSourceVersion(RELEASE_6)
    public class CustoWizardAnnotationsTest extends AbstractProcessor {
    @Override
    public boolean process(Set<? extends TypeElement> typeElements, RoundEnvironment roundEnv) {
    This is working, but I have a problem using it, I tried 3 different scenarios:
    1) add the test class to the project which it is tested on. The problem is you can't compile the project anymore because the test is not available anymore after a full clean. I can't find an option to tell the project to compile the testclass first and then start using it.
    2) Make a separate project for the testclass. The problem is that I need some classes from the main project in the test, so I need to add the classes from the main project as a library. Same problem here after a clean of both projects, the testclass can't compile as the libraries of the main project are not available, and the main project can't compile as the testclass is not available.
    3) same as option 2, but now using the java source files as a library. Now I still can compile the testclass when the main project was cleaned, but then another problem occurs. As the testclass is compiling some libraries, it will keep using them, thus resolving in sometimes using too old libraries for running the tests on. It can be solved by recompiling the testclass every time before the main project is compiled, but this doesn't seem a very good solution to me...
    Can anybody help me out of this problem?

    The main project however does not have a dependency on the testclass, but it seems the testclass needs to be compiled before the main project can be compiled, as that class is used during compile time, and that's the problem I'm encountering.
    I hope this provides some more information?You might to need to explain why that bit happens. What error messages are you getting when you compile?
    But you might not if these guesses at what is happening lead you in the right direction.
    *1* It might be that you are using the autodiscovery mechanism, and your META-INF/services/javax.annotation.processing.Processor file (containing the fully qualified name of your Processor) is in the src tree while the Processor itself is in the test tree, which would mean javac would look for your processor when it builds the main part of the project.
    *2* Another scenario which I have encountered, which might be what you are seeing is a sort of bootstrapping catch22. This occurs where you have a META-INF/services/javax.annotation.processing.Processor file pointing to your processor, and they are both in the src tree. It can happen that the META-INF file is also on the classpath (in the build/classes dir as a result of a previous build) so when compiling the processor, it tries to run that same processor but can't find it because it hasn't yet been successfully compiled. A CLEAN_AND_BUILD will normally bypass this issue each time it occurs. If this is biting you often, it might be best to delay coding the META-INF file till the processor is working correctly (or just temporarily comment out the name of your processor in that file) - just use the explicit processor option on javac command line when testing it.
    *3* Yet another scenario might be that you are trying to compile the enum, annotation, processor and all the code that uses the enum/annotation pair all at the same time, and you are expecting the processor to run as part of that compilation. This is not going to work at least after a clean.
    You will need to build the processor before compiling the source that uses the enum/annotation. So that's 2 projects. Where you put the enum and annotation is up to you, but if you put them in the main project, you'll need to write your processor so that it doesn't have a dependency on them.
    That means you shouldn't use Element.getAnnotation(Class) method, because you can't refer to the annotation class. You can use Element.getAnnotationMirrors() to obtain a model of the annotation and use Names to find it which breaks your dependency on the annotation. (There is an easier way which I can explain in a separate post if need be - just ask).
    Bruce

  • Class type 022 is not defined for object for BATMAS

    Hi Experts,
    while creaitng the LSMW for batch classification,I faced the error during IDOC processing as "Class type 022 is not defined for object".I am using
    Business Object      BUS1001002
    Method               SAVEREPLICA
    Message Type         BATMAS
    Basic Type           BATMAS03
    Pleas guide how to resolve the error.
    Also ,as I intend to make LSMW for batch classifications.Is this the correct way.
    Please guide on this also.
    Regards.

    Hello Jass,
    Symptom
    The BATMAS03 basis type (message type BATMAS) /FB BAPI_BATCH_REPLICATE  cannot transfer any classification information. Please review note 1070634.
    First Option :
    You should first transfer the batmas and then the clfmas idoc.
    Second Option :
    You could create the batch together with classification. Normally the problem is the missing CUOBJ_BM in table MCH1. It is not necessary in all situations that the field have to be filled, but it can be in some cases (And it is better to store the right  information in the corresponding fields). Especially when you transfer batch/classification information in other system the field have to be filled.
    The way to create the batch TOGETHER with classification by using BATMAS IDOC is to set the following parameters correctly :-
    set E1BPBATCHCTRL-DOCLASSIFY to X and fill the segments with relevant classification information
    E1BP3060_ALLOCATION
    E1BP3060_VALUATION_CHAR
    E1BP3060_VALUATION_CURR
    E1BP3060_VALUATION_NUM
    In this case the field mch1-cuobj_bm should be filled with correct CUOBJ. You can also use function module BAPI_BATCH_SAVE_REPLICA to create batches together with classification.
    Hope this information helps
    Regards
    Amber

  • Class type 022 is not defined for object for batmas in LSMW idoc

    Hi Experts,
    while creaitng the LSMW for batch classification,I faced the error during IDOC processing as "Class type 022 is not defined for object".I am using
    Business Object BUS1001002
    Method SAVEREPLICA
    Message Type BATMAS
    Basic Type BATMAS03
    Pleas guide how to resolve the error.
    Also ,as I intend to make LSMW for batch classifications.Is this the correct way.
    Please guide on this also.
    Regards.

    Hi,
    Go to TCode OMCE and check the batch level.
    If batch is activated at material/client level then use class type 023, if it is at plant level the class type 022.

Maybe you are looking for

  • Saving in Illustrator CS4

    So here's a new one. I was working around with some newer projects and to maintain my own sanity I opened multiple projects to keep things separate and organized. I really like the "tab" feature of CS4 so you can easily switch between projects. So he

  • PDF to Tiff Converison

    Dear All, I need to convert a PDF File to a Tiff file in Java , i tried the same using Itext and Java Advanced Imaging APIs ,Can any one suggest me any opensource library or any clues for the implementing same. Thanks in Advance. Regards, Anil Sahu [

  • Special character display

    Post Author: Eany CA Forum: General Depending on a @parameter, in my detail, I need to display either spaces if "N", or a right pointing white arrow, within a blue circle background, if "Y". How do I contrust such a display ? I can draw a box, and us

  • InDesign crashes at startup

    InDesign seems to read a lot of plugins at startup, then colapses and reveals an enourmous crash report. I have read other threads about the same topic. Using Lion, I can't find the preference files which could help by beeing deleted. I have restarte

  • Dual Monitor Set up Stuck at Low-Resolution?

    I have just bought a refurbished Power Mac 2.66 dual core and it came with Leopard. I have a 1 LCD and 1 CRT, and have a problem where the CRT will only run at 736x552 if I have both monitors connected. HOWEVER, if disconnect the LCD and just run the