Performance effects of writing code in Application Package

Hi all,
I just have this strange doubt about the performance of the system if we write the code in "Application Package". Writing code in application package is a good practice as it is good in trems of readability but I am wondering whether performance is effected apart from the advantages of reusability, readability etc.
I have to create a application class object(Import as well) whenever I need to call a method in the class or any property,during this process the application class object has to be loaded which consumes component buffer which is considerable. So if I am calling in amethod which has say some 20 lines of code in a class of some 1000 odd lines of code. How best is to write that 20 lines of code directly rather than calling a method in the application class.
Please give your views if my assumptions are wrong.
Thanks
Vamsi.

You ask a good question and you are using a good thought process. It seems that if you write 20 lines of code inline, you will have less memory overhead and less CPU cycles (no construction overhead) than if you write that same 20 lines in an App Class and then create an instance of an object for each row. Is this true? I'm not sure, but using the debugger, etc, it seems logical. It seems logical enough for me to just assume that is the case. Besides performance, however, you have to think about upgrades. If you are modifying a delivered component, then it is usually preferable to write your code outside the delivered code, and then import that code using an App Class or FUNCLIB.
I think there are some more important questions to answer:
1. If you have an App Class with 1,000 lines of code and you are only using 20, then why are those 20 lines in the same class as the other 1,000 lines? It seems as though the "big" class with 1,000 lines should use the class that has only 20 (composition), but not be included in the class's code base. Classes should be small. A 1,000 line class is probably too complex and should be broken down anyway. A 1,000 line class may be necessary, but I would take a good look at it and consider refactoring.
2. If you are iterating over rows and creating an instance for each row, only to execute a method, then perhaps you should consider creating an instance outside the loop and then just execute the method, passing in values, much as you would a Java static method. If you are using a field level event, like RowInit, then this isn't possible. It might be tempting to apply the same approach using component scoped variables, but I cringe at anything other than local scope. I would rather take the minimal performance hit of a small class than use a scope other than local.
3. If you are only creating an object for the sole purpose of executing a method, then you may be using OOP wrong anyway, and may be better served by a FUNCLIB.
These are just some thoughts I have. Properly designed App Classes make your PeopleCode easier to write and maintain, but won't add much, if anything to the the number of CPU cycles and memory consumption. In fact, some may argue that the discipline and design afforded by good OOP (composition, TDD, etc) would result in better performing programs.

Similar Messages

  • "security" application package to CLEAN the widely "known" Malicious code?

    Professionally & Personally - I use, make, and Read many PDF files daily [reports, documents, & books]; I have many "many" thousands of PDF documents in my Archives.
    A. Background:
    1.    I have heard, since Acrobat 5, many security specialist have deemed JAVA as a THREAT; and PDF as a security concern! Recently Reported Home Land Security has deemed JAVA as an on-going "continuing high threat", in spite of se7u11; reported that DHLS expressed that 28% of reported ATTACKS were from Adobe Acrobat PDF files embedded user malicious software code [ever growing numbers of attacks]. <PDF security is a major growing DOD concern!>
    2.    To my great surprise from "IT" professional who disabled JAVA in his Department's systems, the current Security Software and specific program updates offer no real solution or resolutions to this ongoing security problem. I understood that Virus and Trojan Checkers do not check malicious software code hidden inside PDF files, and software updates do not remove or make safe the malicious software code in the actual PDF – thus it remains a potentially very DISTRUCTIVE-DATA-BOMB just setting in your databases awaiting to be activated at some future date.
    3.    "This is very tedious and time consuming!" I have since disabled JAVA in my Adobe Acrobat and run each PDF through "PDF OPTIMIZER" - Discarding all User Data, User Objects, and especially User JAVA Codes – and disable my LAN internet connection -- before utilizing it. I don’t know if this is of any good or not – but I feel safer.
    B. PROBLEMS & QUESTIONS (I’ve given each question its own string to assist with preventing confusion)!
    4.    CLEAN OLD FILES! Has Abode Acrobat issued stand alone "security" application package to CLEAN the widely "known" Malicious code or attack internet sites from PDF files? I was informed that Security Software doesn't perform this specific function inside PDF files. Does Adobe have a similar Microsoft Windows Malicious Software Removal Tool? What is Adobe's solution?

    Hello George Johnson
    I do so appreciate your assistance…
    Although I have used in business and own computers since the 1970’s [built one myself from a kit in 79], I’ve not had to concern myself with programming since, DOS, Lotus/IBM/Apple Basic and COBAL --- especially after XP release I gave up even trying to figure what each does. I did not mean to offend as to which specific JAVA version and/or product is the problem, since I personally have no CLUE – and today totally depend upon goodwill of smart guys like you.
    Specifically why recently DHLS [IT security folks and DOD for many years] is saying that Malicious Software code in PDF files is such a big threat and responsible for 28% of the systems attacks I do not know the technicalities or reasoning of these assertions – except it had something to do with JAVA CODE/JavaScript[?] contained inside the actual PDF which virus software doesn’t detect or destroy?  I do not know if it is the Additional CODE placed inside the PDF by the bad actor and/or the changing of actual Adobe Program Code is the problem? I may be chasing may tail!
    My biggest concern for many years into the future -- is protecting my very large PDA database/Archive, multiple Systems, my personal information, and to try to the best of my ability to not pass PDF having within it Malicious Software CODE [JAVA CODE/JavaScript?] put into it by a bad actor.
    Since my PDF database Archives [and back-ups] is many terabytes – it is impossible to “import” each PDF into Acrobat and run PDF Optimizer (removing Adobe known user placed codes and data) – as I am doing now – much less trying to figure out what else I should check for within the PDF file or the ever increasing updates, changes, versions of plugging the hole in the dikes…..
    So George, back to my question,  Has Abode Acrobat issued stand alone "security" application package to CLEAN the widely "known" Malicious code or attack internet sites from PDF files? [You know 28% DHLS & DOD is talking about.] I was informed that Security Software doesn't perform this specific function inside PDF files. Does Adobe have a similar Microsoft Windows Malicious Software Removal Tool? What is Adobe's solution?
    Thank you so very much for your knowledge, help, and interest.

  • Malloc()/free() performance in JNI C code 9-10x slower than C application

    I posted this as a bug report, but thought it might be worth also seeking advice here.
    I'm working on a product under Windows which is integrated using JNI to a 3rd party file format conversion C++ library which uses a lot of new/delete (malloc/free) calls. I found the performance to be dramatically slower when running under Java compared to a standalone executable.
    After many steps, I eventually wrote a small C program which simply loops over many malloc/free calls for 16 bytes, and took an average time. I found when I run this C program in a cmd.exe window, it runs about 9-10 times faster than if it is executed via JNI (Java calls the routine just once).
    I can only guess that the JVM is somehow over-riding malloc/free, but this is an extremely high performance penalty. I found under Java 6, the JNI code runs about 5x slower, which is an improvement, but still very slow.
    Does anyone know if this behaviour is expected?
    Cheers,
    David
    EXPECTED VERSUS ACTUAL BEHAVIOR :
    EXPECTED -
    I would have expected that the performance of malloc/free to be the same regardless of whether my native code is executing inside a JNI call, or as an ordinary program.
    ACTUAL -
    For Java 1.5.0_0-b03, some example timings in milliseconds (Pentium 4 1.8GHz):
    0.004461
    0.004494
    0.004498
    For Java 1.6.0-b105:
    0.002367
    0.002375
    0.002366
    When run as a process in a cmd.exe window:
    0.000487
    0.000497
    0.000489
    REPRODUCIBILITY :
    This bug can be reproduced always.
    ---------- BEGIN SOURCE ----------
    Java code is just:
    package com.nuix;
    public class Test
        private static native void doit();
        public static void main(String[] args)
            System.loadLibrary("test.dll");
            doit();
    }C code is as follows (#define JAVA when building test.dll).
    #include <stdio.h>
    #include <stdlib.h>
    #include <windows.h>
    #define COUNT 10000000
    void doit()
        DWORD t1 = GetTickCount();
        for (int i = 0; i < COUNT; i++)
            int *data = (int *)malloc(16);
            data[0] = i;
            free(data);
        DWORD t2 = GetTickCount();
        fprintf(stderr, "Malloc average time msec == %f\r\n", (double)(t2 - t1) / (double)(COUNT));
        fflush(stderr);
    #ifdef JAVA
    #include <jni.h>
    #ifdef __cplusplus
    extern "C" {
    #endif
    JNIEXPORT void JNICALL Java_com_nuix_Test_doit
      (JNIEnv *env, jclass klass)
        doit();
    #ifdef __cplusplus
    #endif
    #endif
    int main()
        doit();
    }

    The speed of which Java executes is highly dependent on what device you are running it on. For example we have noted that a number of our J2ME programs run very slowly on many Motorola implementations, however that exact same code runs increadible fast on Nokia phones.
    You can't really make a broad sweeping statment like C# is faster than Java and vice versa. All you can really say is that on this specific device with this version of the VM running this application, C# is faster. Changing any of those parameters may result in a significantly different result.
    Really it comes down to what does the device manufacturer really want to support. Nokia has put a lot of effort into their J2ME platforms. As a result, their VM implementations are getting better (and faster) with every release. Other manufacturers are not making this same kind of commitment and as a result, their handsets are less optimal for running J2ME applications.
    So I guess the short answer is. Your question cannot be answered until you identify the version of the device, and the specific version of the VM you ran your test on.
    By the way, if you ran it on an Emulator, all bets are off. Performance on the Emulator and performance are usually different and can be significantly different.
    Cheers,
    Angus

  • Performance for the below code

    Can any one help me in improving the performance for the below code.
    FORM RETRIEVE_DATA .
    CLEAR WA_TERRINFO.
    CLEAR WA_KNA1.
    CLEAR WA_ADRC.
    CLEAR SORT2.
    *To retrieve the territory information from ZPSDSALREP
    SELECT ZZTERRMG
           ZZSALESREP
           NAME1
           ZREP_PROFILE
           ZTEAM
         INTO TABLE GT_TERRINFO
         FROM ZPSDSALREP.
    *Preparing Corporate ID from KNA1 & ADRC and storing it in SORT2 field
    LOOP AT GT_TERRINFO INTO WA_TERRINFO.
      SELECT SINGLE * FROM KNA1 INTO WA_KNA1
                      WHERE KUNNR = WA_TERRINFO-SALESREP.
      SELECT SINGLE * FROM ADRC INTO WA_ADRC
                      WHERE ADDRNUMBER = WA_KNA1-ADRNR.
      IF NOT WA_ADRC-SORT2 IS INITIAL.
      CONCATENATE 'U' WA_ADRC-SORT2 INTO SORT2.
      MOVE SORT2 TO WA_TERRINFO-SORT2.
    MODIFY GT_TERRINFO1 FROM WA_TERRINFO.
      APPEND WA_TERRINFO TO GT_TERRINFO1.
      CLEAR WA_TERRINFO.
      ENDIF.
      CLEAR WA_KNA1.
      CLEAR WA_ADRC.
    ENDLOOP.
    ENDFORM.                    " RETRIEVE_DATA

    Hi
    The code is easy so I don't think you can do nothing, only u can try to limit the reading of KNA1:
    FORM RETRIEVE_DATA .
      CLEAR WA_TERRINFO.
      CLEAR WA_KNA1.
      CLEAR WA_ADRC.
      CLEAR SORT2.
    *To retrieve the territory information from ZPSDSALREP
      SELECT ZZTERRMG
      ZZSALESREP
      NAME1
      ZREP_PROFILE
      ZTEAM
      INTO TABLE GT_TERRINFO
      FROM ZPSDSALREP.
      SORT GT_TERRINFO BY SALESREP.
    *Preparing Corporate ID from KNA1 & ADRC and storing it in SORT2 field
      LOOP AT GT_TERRINFO INTO WA_TERRINFO.
        IF KNA1-KUNNR <> WA_KNA1-KUNNR.
          SELECT SINGLE * FROM KNA1 INTO WA_KNA1
               WHERE KUNNR = WA_TERRINFO-SALESREP.
          IF SY-SUBRC <> 0.
            CLEAR: WA_KNA1, WA_ADRC.
          ELSE.
            SELECT SINGLE * FROM ADRC INTO WA_ADRC
                                     WHERE ADDRNUMBER = WA_KNA1-ADRNR.
            IF SY-SUBRC <> 0. WA_ADRC. ENDIF.
          ENDIF.
        ENDIF.
        IF NOT WA_ADRC-SORT2 IS INITIAL.
          CONCATENATE 'U' WA_ADRC-SORT2 INTO SORT2.
          MOVE SORT2 TO WA_TERRINFO-SORT2.
    * MODIFY GT_TERRINFO1 FROM WA_TERRINFO.
          APPEND WA_TERRINFO TO GT_TERRINFO1.
          CLEAR WA_TERRINFO.
        ENDIF.
      ENDLOOP.
    ENDFORM. " RETRIEVE_DATA
    If program takes many times to upload the data from ZPSDSALREP, you can try to split in sevaral packages:
    SELECT ZZTERRMG ZZSALESREP NAME1 ZREP_PROFILE ZTEAM
      INTO TABLE GT_TERRINFO PACKAGE SIZE <...>
      FROM ZPSDSALREP.
      SORT GT_TERRINFO BY SALESREP.
    *Preparing Corporate ID from KNA1 & ADRC and storing it in SORT2 field
      LOOP AT GT_TERRINFO INTO WA_TERRINFO.
        IF KNA1-KUNNR <> WA_KNA1-KUNNR.
          SELECT SINGLE * FROM KNA1 INTO WA_KNA1
               WHERE KUNNR = WA_TERRINFO-SALESREP.
          IF SY-SUBRC <> 0.
            CLEAR: WA_KNA1, WA_ADRC.
          ELSE.
            SELECT SINGLE * FROM ADRC INTO WA_ADRC
                                     WHERE ADDRNUMBER = WA_KNA1-ADRNR.
            IF SY-SUBRC <> 0. WA_ADRC. ENDIF.
          ENDIF.
        ENDIF.
        IF NOT WA_ADRC-SORT2 IS INITIAL.
          CONCATENATE 'U' WA_ADRC-SORT2 INTO SORT2.
          MOVE SORT2 TO WA_TERRINFO-SORT2.
    * MODIFY GT_TERRINFO1 FROM WA_TERRINFO.
          APPEND WA_TERRINFO TO GT_TERRINFO1.
          CLEAR WA_TERRINFO.
        ENDIF.
      ENDLOOP.
    ENDSELECT.
    Max

  • SOAP and Java within an Application Package

    We are doing an integration with Oracle Content Server. We have successfully checked in reports by sending a SOAP with attachments message in the application package PSRF_REPORT_CREATE calling custom Java methods.
    All is well, until we try and receive the SOAP response, in which nothing happens. After we call the checkin.SendMessage (our java method to checkin a report), we use the following generic PeopleCode insert statement just to test if the next line of the code is executing...
    SQLExec("INSERT INTO UCM_CHECKINLOG VALUES (1234, 'test')");
    This does not update our database, and it looks as if it is not even executing. We have also tried logging to a test file, but this fails to run as well. If it is directly after our soap request, why would it not run? Is there something we need to do to tell the system to wait for the response before commencing?
    Any help would be much appreciated.

    Just to make sure I understand the question... You customized the PSRF_REPORT_CREATE.CreateReport PeopleCode by adding some Java (JavaObject, etc). Is checkin your custom Java object with SendMessage being a method of that object? Are you using a Java SOAP client, like Axis2, to communicate with the Oracle Content Server or are you using Integration Broker? Again, just to verify, you are calling a Java method called "SendMessage." You can tell this is executing because you can see changes in your Oracle Content Server. However, as far as you can tell, no statements after that statement are executing. Is this correct?

  • Help me writing - Writing Code at InfoPackage

    Hi Experts,
    Please help me out writing code at the info package level. For some reasons my generic Extractor supports only Full upload. So now I need to extract data on  daily basis for an individual day.
    Eg: If I triigger Info package then it has to extract the data (present day -1) means if I trigger on Tuesday then it has to extract the sales orders which are generated on Monday.
    Please guide me as how to write this code and where to write in the Info package? Help me with the code as well..
    I Appreciate your help in this regard.
    thanks
    BUlli

    Hello Bulli
    I don't know why the generic extraction in your case is not supporting delta, there are three options in RS02 to create delta anyway comming to your point
    You can use your 0CALDAY IO in infoPackage selection condition. Restrict its value on current day and previous day, write a ABAP code, for this you have to select transformation type 6( which means ABAP code).
    To calculate previous day you can use  directly
    data: w_previous_day type D.
    w_previous_day = sy-datum - 1.
    Assign points if it helps.
    Thanks

  • Assert &  writing code that should never be reached

    hi dudes,
    i thing i got that assertion-stuff right BUT there is one thing confusing me:
    from my book:
    "The following idiom can be employed to explicitly test that certain locations in the code will never be reached.
    assert false : "This line should never be reached.";
    but what is the point of writing code(at all) that will never be reached?
    i mean if it should never be reached ill simply never write it.
    even in this tricky EXAMPLE
    int someMthd(int trinityMember)
    switch (trinityMember) {
        case THE_FATHER:
            return psalm101;
        case THE_SON:
            return psalm102;
        case THE_HOLY_GHOST:
            return psalm103;
        default:
            assert false: trinityMember; //Ok BETTER WOULD BE throw new AssertionError(trinityMember);
    }if no case match i would get COMPILE TIME error so that will indicate me that method could(possible) never return an int. So if a i can compile it it will be ok!?
    so again what is the point of writing code that should never be reached[\b]?

    if no case match i would get COMPILE TIME error so
    that will indicate me that method could(possible)
    never return an int. So if a i can compile it it will
    be ok!?But without the default case you can't compile it, so you have to write a default case (or some other code). What code would it make sense to put there other than throwing an exception of some sort or returning a default value?
    so again what is the point of writing code that
    should never be reached[\b]?You probably believe the code should never be reached in your example because to you it only makes sense to pass either THE_FATHER, THE_SON or THE_HOLY_GHOST as a parameter. But what if somebody were to pass THE_FIRESTARTER to your someMthd method, having not realised that you haven't coded for that argument? What should your code do then? It can't do nothing, so it makes sense to provide a default case that lets the user know (by throwing an exception), that something unexpected has happened. Or, you might decide to return a default value that is useful and perhaps somehow informs client code of the unusual circumstance (for example a return value of -1 might indicate that there is no relevant psalmX).
    So this is about robustness - making sure that in unexpected circumstances, your application does something reasonable.

  • Application package deployment

    Hi there,
    I have created a application package in sccm 2012. I would like it to be visible and available for support technician (ie helpdesk) so they can install it for users when needed. Can someone guide me how to accomplish it please?
    Thanks

    Can the available applications to be listed so helpdesk can deploy them when end user wants it? I don't want to use end user interaction yet. Can this be done in software center page? I think I've seen it before. I am working for a small company there users
    are senior citizens. Thanks.
    If you "deploy" the application with a "purpose" of "Available", to a device collection, and, you configure the deployment settings on the "User Experience" tab so that it doesn't generate notifications, this application
    deployment would quietly reside in Software Center, waiting for the user to initiate it. This could be done by your helpdesk team, either physically at the computer (the helpdesk person simply launches Software Center when at the pc), or, helpdesk can remote-control
    or remote-assist the pc/user and do it for them.
    Is this what you mean?
    Alternatively, deploy the application (with purpose-Required) to a collection, then, when the end-user needs that application, the helpdesk would use the ConfigMgr console to add the device into the relevant device collection. The application will then
    deploy when the collection is evaluated and the client performs policy retrieval.
    It really depends upon what your "helpdesk" service consists of - is it desk-side physical attendance?
    Remote-control or remote-assist?
    Does the end-user have to interact with the application deployment or is the application deployment "silent/unattended"?
    (these are things we don't know about your scenario :)
    There are many, many ways to deploy software with ConfigMgr - it depends on your scenario and your experience and (often) also the nature of the application software itself.
    Don
    (Please take a moment to "Vote as Helpful" and/or "Mark as Answer", where applicable.
    This helps the community, keeps the forums tidy, and recognises useful contributions. Thanks!)

  • Why writing code in SQLJ

    From Oracle vers. 8i on it's possible to write procedures and packages in SQLJ, that is using Java embedded in PL/SQL. Can someone tell me why should a programmer learn to develop in SQLJ? Which are the advantages?.
    I usually write on one side stored procedures or packages in pure PL/SQL stored on Oracle Server and on the other side code in JSP on Client where JSP calls my stored procedures which get the data back to my web page. At this point I'd like to understand which might be the advantage of writing code in SQLJ (Java embedded in PL/SQL). What I mean is why I should take advantages in writing code with Java/PLSQL instead of keeping on writing the Java side only in JSP and writing code on Oracle always in pure PL/SQL.
    Thanks!

    Hello Mark,
    you don't always have a JSP for your Java code. A popular example is reading the contents of a directory. This function is not available in PL/SQL, but can be easily implemented with embedded Java. Or imagine creating or manipulating an image or handling binary Excel files with POI.
    There are many Java functionalities available that are not implemented in PL/SQL and you don't have to reimplement the wheel.
    Regards
    Marcus
    Edited by: Marwim on 12.07.2011 15:10

  • Application Package vs Func Libraries

    Friends,
    While Peoplecode is moving towards application classes, I do see code where Application classes and Function libraries co exist.
    In fact, functions in func libraries are called in Application classes ?
    Is this because, there are some things that have to be done using function libraries ? Or could there be some other reason ?
    That brings up another question. Can you do without using func libraries ?

    Application Packages / Classes are for specific module where you would like to implement OOPS concepts.
    Function libraries are for declaring and defining individual functions, if you have to write a single function then why should we create an application class for that.
    If you know OOPS concepts then I think I no need to explain the advantages of OOPS and Application Classes.
    Let me know if you have any questions on this.
    Jayaprakash Tedla

  • Can I create a file using pl/sql code in application server ?

    Hi
    I wanted to create a file(any kind of file .txt .csv .exe etc..) using pl/sql code in application server?
    Please help me with an example...in this regard
    Regards
    Sa

    864334 wrote:
    I wanted to create a file(any kind of file .txt .csv .exe etc..) using pl/sql code in application server?And how is this "file" to be delivered?
    Files can be created by PL/SQL code and stored in the Oracle database as CLOBs. This a fairly easy and robust process. It runs entirely in the database. It conforms to transaction processing. The "file" (as a CLOB) resides in the database and can thus be secured via database security, is part of database backups and so on.
    The basic issue is how to deliver the contents of the CLOB to the user. If via FTP, then the database can directly FTP the contents of the CLOB to the FTP server as a file. If via HTTP, the database can deliver the CLOB as a HTTP download directly to the web browser.
    If the client is Java or .Net, then the CLOB contents can be delivered via SQL or DBMS_LOB or a custom PL/SQL interface.
    In such cases, there is no need to step outside the secure and flexible database environment and create a physical o/s file in the wild (outside the controls of database security, data integrity and transaction processing). This is thus recommended and is the preference.

  • Getting Error In the Routine - While writing Code for the Cross Reference.

    Hi,
    Getting Error In the Start Routine - While writing Code for the Cross Reference from the Text table ( /BIC/TZMDES with Fields /BIC/ZMDES(Key),TXTSH ) Getting Error as [ E:Field "ZMDES" unknown ].
    Transformation : IOBJ ZPRJ3(Source) -> IOBJ ZPRJC ( Target ).
    The Source  Fields are: 0logsys(Key),zprj3(Key),ZDOM3.
    The Target Fields are : 0logsys(Key),zprjc(Key),ZDOM3, UID.
    Here i am trying to Update the target Field UID by Comparing the Source Field [ zprj3(Key)] with the Text table ( /BIC/TZMDES ) and update the UID.
    The Code is as below:
    Global Declarations in the Start Routine:
    Types: begin of itabtype,
            ZMDES type /BIC/TZMDES-/BIC/ZMDES,
            TXT type /BIC/TZMDES-TXTSH,
             end of itabtype.
    data : itab type standard table of itabtype
    with key ZMDES,
    wa_itab like line of itab.
    Routine Code :
    select * from /BIC/TZMDES into corresponding fields of table itab for
    all entries in SOURCE_PACKAGE
    where ZMDES = SOURCE_PACKAGE-/BIC/ZPRJ3.
    READ TABLE itab INTO wa_itab
    WITH KEY ZMDES = SOURCE_PACKAGE-/BIC/ZPRJ3
    BINARY SEARCH.
    IF SY-SUBRC = 0.
    RESULT = wa_itab.
    CLEAR wa_itab.
    The tys_SC_1 structure is :
    BEGIN OF tys_SC_1,
         InfoObject: 0LOGSYS.
            LOGSYS           TYPE RSDLOGSYS,
         InfoObject: ZPRJ3.
            /BIC/ZPRJ3           TYPE /BIC/OIZPRJ3,
         InfoObject: ZDOM3.
            /BIC/ZDOM3           TYPE /BIC/OIZDOM3,
         Field: RECORD.
            RECORD           TYPE RSARECORD,
          END   OF tys_SC_1.
        TYPES:
          tyt_SC_1        TYPE STANDARD TABLE OF tys_SC_1
                            WITH NON-UNIQUE DEFAULT KEY.
    Please suggest with your valuable inputs.
    Thanks in Advance

    I have split the code in two.. one for start routine.. other for field routine.. hope this helps
    Types: begin of itabtype,
    ZMDES type /BIC/TZMDES-/BIC/ZMDES,
    TXT type /BIC/TZMDES-TXTSH,
    end of itabtype.
    data : itab type standard table of itabtype
    with key ZMDES,
    wa_itab like line of itab.
    Start routine
    select * from /BIC/TZMDES into corresponding fields of table itab for
    all entries in SOURCE_PACKAGE
    where ZMDES = SOURCE_PACKAGE-/BIC/ZPRJ3.
    Sort itab.
    field routine
    CLEAR wa_itab.
    READ TABLE itab INTO wa_itab
    WITH KEY ZMDES = SOURCE_FIELD-/BIC/ZPRJ3
    BINARY SEARCH.
    IF SY-SUBRC = 0.
    RESULT = wa_itab-<field name>

  • Absolute value in ckf, performance effect?

    Hello BW Experts,
    req: always show positive values for one kf1 of a cube, even if you have negative values for kf1.
    options:
    create a ckf1 with the absolute value of kf1
    -- 1) are there any other options in the backend or frontend?
    -- 2) what are the performance effects of the abosolute function option as compared to having a kf in the cube.?
    Suggesions appreciated.
    Thanks,
    BWer

    Hi,
    You can multiply the values with -1 on the backend side or in the query itself there is an option of reversing the sign in the settings.
    Cheers,
    Kedar

  • prefer-application-packages and prefer-web-inf-classes not working

    Hi,
    I'm upgrading to Weblogic 10.3.2 an application that was running quite fine in Weblogic 8. But I don't manage to get it working in WL 10. I'm getting a Class Not Found error (javax/xml/stream/XMLStreamWriter) but that class is in one of the jar files of my application: "<war-file>/WEB-INF/lib"
    It seems a class loading problem but I'm using both <prefer-application-packages> and <prefer-web-inf-classes> and it's still not working. This is my weblogic-application.xml:
    <?xml version='1.0' encoding='UTF-8'?>
    <weblogic-application>
    <prefer-application-packages>
    <package-name>javax.xml.stream.*</package-name>
    </prefer-application-packages>
    </weblogic-application>
    I'm deploying using an ear file wich contains a war file.
    Logs:
         at weblogic.work.ExecuteThread.run(ExecuteThread.java:173)
    Caused by: org.springframework.beans.factory.BeanDefinitionStoreException: Unexpected exception parsing XML document from class path resource [META-INF/cxf/cxf.xml]; nested exception is java.lang.NoClassDefFoundError: javax/xml/stream/XMLStreamWriter
         at org.springframework.beans.factory.xml.XmlBeanDefinitionReader.doLoadBeanDefinitions(XmlBeanDefinitionReader.java:420)
         at org.apache.cxf.bus.spring.ControlledValidationXmlBeanDefinitionReader.doLoadBeanDefinitions(ControlledValidationXmlBeanDefinitionReader.java:109)
         at org.springframework.beans.factory.xml.XmlBeanDefinitionReader.loadBeanDefinitions(XmlBeanDefinitionReader.java:342)
         at org.apache.cxf.bus.spring.ControlledValidationXmlBeanDefinitionReader.loadBeanDefinitions(ControlledValidationXmlBeanDefinitionReader.java:131)
         at org.springframework.beans.factory.xml.XmlBeanDefinitionReader.loadBeanDefinitions(XmlBeanDefinitionReader.java:310)
         at org.springframework.beans.factory.support.AbstractBeanDefinitionReader.loadBeanDefinitions(AbstractBeanDefinitionReader.java:143)
         at org.springframework.context.support.AbstractXmlApplicationContext.loadBeanDefinitions(AbstractXmlApplicationContext.java:109)
         at org.apache.cxf.bus.spring.BusApplicationContext.loadBeanDefinitions(BusApplicationContext.java:263)
         at org.springframework.context.support.AbstractRefreshableApplicationContext.refreshBeanFactory(AbstractRefreshableApplicationContext.java:123)
         at org.springframework.context.support.AbstractApplicationContext.obtainFreshBeanFactory(AbstractApplicationContext.java:422)
         at org.springframework.context.support.AbstractApplicationContext.refresh(AbstractApplicationContext.java:352)
         at org.apache.cxf.bus.spring.BusApplicationContext.<init>(BusApplicationContext.java:91)
         at org.apache.cxf.bus.spring.SpringBusFactory.createApplicationContext(SpringBusFactory.java:102)
         at org.apache.cxf.bus.spring.SpringBusFactory.createBus(SpringBusFactory.java:93)
         ... 57 more
    Caused by: java.lang.NoClassDefFoundError: javax/xml/stream/XMLStreamWriter
         at java.lang.ClassLoader.defineClass1(Native Method)
         at java.lang.ClassLoader.defineClass(ClassLoader.java:621)
         at java.security.SecureClassLoader.defineClass(SecureClassLoader.java:124)
         at weblogic.utils.classloaders.GenericClassLoader.defineClass(GenericClassLoader.java:344)
         at weblogic.utils.classloaders.GenericClassLoader.findLocalClass(GenericClassLoader.java:301)
         at weblogic.utils.classloaders.GenericClassLoader.findClass(GenericClassLoader.java:269)
         at weblogic.utils.classloaders.ChangeAwareClassLoader.findClass(ChangeAwareClassLoader.java:56)
         at weblogic.utils.classloaders.ChangeAwareClassLoader.loadClass(ChangeAwareClassLoader.java:42)
         at java.lang.ClassLoader.loadClassInternal(ClassLoader.java:320)
         at org.apache.cxf.bus.spring.TunedDocumentLoader.loadDocument(TunedDocumentLoader.java:112)
         at org.springframework.beans.factory.xml.XmlBeanDefinitionReader.doLoadBeanDefinitions(XmlBeanDefinitionReader.java:396)
         ... 70 more
    Caused by: java.lang.ClassNotFoundException: javax.xml.stream.XMLStreamWriter

    Hi!
    We have the jar xbean-2.2.0.jar in APP-INF/lib. That one contains the class javax.xml.namespace.NameSpaceContext. I saw that the same class was in another jar as well. I've removed it from the second jar and now it's only in the xbean-2.2.0.jar. But I still get the same error. Maybe there is something wrong in my application.xml? I have all the jars in APP-INF/lib and in <war-file>/WEB-INF/lib
    Application.xml:
    <?xml version="1.0" encoding="UTF-8"?>
    <!DOCTYPE application PUBLIC "-//Sun Microsystems, Inc.//DTD J2EE Application 1.3//EN" "http://java.sun.com/dtd/application_1_3.dtd">
    <application id="Application_ID">
    <display-name>RaadgiverPM</display-name>
    <module>
    <web>
    <web-uri>rpm.war</web-uri>
    <context-root>/raadgiverPM</context-root>
    </web>
    </module>
    <library-directory>lib</library-directory>     
    </application>
    2010-09-06 11:05:07,856 735360 [[ACTIVE] ExecuteThread: '1' for queue: 'weblogic.kernel.Default (self-tuning)'] ERROR no.delfidata.dr.wsclients.drwsclients.DRWebServiceClient - [DELFI] Failed to initialize client at http://172.16.10.113:8090/mockRpmGrpMemberRltnpLSvo_Binding?wsdl
    java.lang.RuntimeException: org.springframework.beans.factory.BeanDefinitionStoreException: Unexpected exception parsing XML document from class path resource [META-INF/cxf/cxf.xml]; nested exception is java.lang.LinkageError: loader constraint violation in interface itable initialization: when resolving method "org.apache.cxf.staxutils.W3CDOMStreamWriter.getNamespaceContext()Ljavax/xml/namespace/NamespaceContext;" the class loader (instance of weblogic/utils/classloaders/ChangeAwareClassLoader) of the current class, org/apache/cxf/staxutils/W3CDOMStreamWriter, and the class loader (instance of <bootloader>) for interface javax/xml/stream/XMLStreamWriter have different Class objects for the type javax/xml/namespace/NamespaceContext used in the signature
         at org.apache.cxf.bus.spring.SpringBusFactory.createBus(SpringBusFactory.java:96)
         at org.apache.cxf.bus.spring.SpringBusFactory.createBus(SpringBusFactory.java:86)
         at org.apache.cxf.bus.spring.SpringBusFactory.createBus(SpringBusFactory.java:64)
         at org.apache.cxf.bus.spring.SpringBusFactory.createBus(SpringBusFactory.java:53)
         at org.apache.cxf.BusFactory.getDefaultBus(BusFactory.java:69)
         at org.apache.cxf.BusFactory.getThreadDefaultBus(BusFactory.java:106)
         at org.apache.cxf.BusFactory.getThreadDefaultBus(BusFactory.java:97)
         at org.apache.cxf.endpoint.dynamic.DynamicClientFactory.newInstance(DynamicClientFactory.java:132)
         at groovyx.net.ws.AbstractCXFWSClient.createClient(AbstractCXFWSClient.java:198)
         at groovyx.net.ws.WSClient.initialize(WSClient.java:107)
         at groovyx.net.ws.IWSClient$initialize.call(Unknown Source)
         at no.delfidata.dr.wsclients.drwsclients.DRWebServiceClient.initializeClient(DRWebServiceClient.groovy:47)
         at no.delfidata.dr.wsclients.drwsclients.DRWebServiceClient$initializeClient$0.callCurrent(Unknown Source)
         at no.delfidata.dr.wsclients.drwsclients.DRWebServiceClient.initializeClient(DRWebServiceClient.groovy:37)
         at no.delfidata.dr.wsclients.drwsclients.DRWebServiceClient$initializeClient.callCurrent(Unknown Source)
         at no.delfidata.dr.wsclients.drwsclients.DRWebServiceClient.<init>(DRWebServiceClient.groovy:33)
         at no.delfidata.dr.wsclients.drwsclients.GenericWebServiceClient.<init>(GenericWebServiceClient.groovy:12)
         at no.delfidata.dr.drintstd.channel.GenericWSClientManager.getClient(GenericWSClientManager.java:28)
         at no.delfidata.dr.drintstd.channel.impl.WSChannelImpl.getData(WSChannelImpl.java:46)
         at no.delfidata.dr.drintstd.integrationadapter.impl.AdapterWSImportRpmGrpMemberRltnpLSvo.getDataFromChannel(AdapterWSImportRpmGrpMemberRltnpLSvo.java:74)
         at no.delfidata.dr.drintstd.integrationadapter.AbstractIntegrationAdapter.getDataImportFromChannel(AbstractIntegrationAdapter.java:232)
         at no.delfidata.dr.drintstd.integrationadapter.AbstractIntegrationAdapter.getData(AbstractIntegrationAdapter.java:173)
         at no.delfidata.dr.drintstd.integrationengine.impl.IntegrationEngineImpl.importData(IntegrationEngineImpl.java:113)
         at no.delfidata.dr.drsvcstd.integration.impl.IntegrationServiceImpl.importCustomerData(IntegrationServiceImpl.java:117)
         at no.delfidata.dr.drsvcstd.integration.impl.StartUpService.openAndImportCustomer(StartUpService.java:81)
         at no.delfidata.dr.drstdgui.gui.control.ReceivingServletAction.execute(ReceivingServletAction.java:135)
         at org.apache.struts.action.RequestProcessor.processActionPerform(RequestProcessor.java:419)
         at org.apache.struts.action.RequestProcessor.process(RequestProcessor.java:224)
         at org.apache.struts.action.ActionServlet.process(ActionServlet.java:1196)
         at org.apache.struts.action.ActionServlet.doPost(ActionServlet.java:432)
         at javax.servlet.http.HttpServlet.service(HttpServlet.java:727)
         at javax.servlet.http.HttpServlet.service(HttpServlet.java:820)
         at weblogic.servlet.internal.StubSecurityHelper$ServletServiceAction.run(StubSecurityHelper.java:227)
         at weblogic.servlet.internal.StubSecurityHelper.invokeServlet(StubSecurityHelper.java:125)
         at weblogic.servlet.internal.ServletStubImpl.execute(ServletStubImpl.java:292)
         at weblogic.servlet.internal.TailFilter.doFilter(TailFilter.java:26)
         at weblogic.servlet.internal.FilterChainImpl.doFilter(FilterChainImpl.java:56)
         at no.delfidata.dr.drbasis.gui.filter.MenuFilter.doFilter(MenuFilter.java:78)
         at weblogic.servlet.internal.FilterChainImpl.doFilter(FilterChainImpl.java:56)
         at no.delfidata.common.gui.filter.SecurityFilter.doFilter(SecurityFilter.java:265)
         at weblogic.servlet.internal.FilterChainImpl.doFilter(FilterChainImpl.java:56)
         at weblogic.servlet.internal.WebAppServletContext$ServletInvocationAction.run(WebAppServletContext.java:3592)
         at weblogic.security.acl.internal.AuthenticatedSubject.doAs(AuthenticatedSubject.java:321)
         at weblogic.security.service.SecurityManager.runAs(SecurityManager.java:121)
         at weblogic.servlet.internal.WebAppServletContext.securedExecute(WebAppServletContext.java:2202)
         at weblogic.servlet.internal.WebAppServletContext.execute(WebAppServletContext.java:2108)
         at weblogic.servlet.internal.ServletRequestImpl.run(ServletRequestImpl.java:1432)
         at weblogic.work.ExecuteThread.execute(ExecuteThread.java:201)
         at weblogic.work.ExecuteThread.run(ExecuteThread.java:173)
    Caused by: org.springframework.beans.factory.BeanDefinitionStoreException: Unexpected exception parsing XML document from class path resource [META-INF/cxf/cxf.xml]; nested exception is java.lang.LinkageError: loader constraint violation
    in interface itable initialization: when resolving method "org.apache.cxf.staxutils.W3CDOMStreamWriter.getNamespaceContext()Ljavax/xml/namespace/NamespaceContext;" the class loader (instance of weblogic/utils/classloaders/ChangeAwareClassLoader) of the current class, org/apache/cxf/staxutils/W3CDOMStreamWriter, and the class loader (instance of <bootloader>)
    for interface javax/xml/stream/XMLStreamWriter have different Class objects for the type javax/xml/namespace/NamespaceContext used in the signature
         at org.springframework.beans.factory.xml.XmlBeanDefinitionReader.doLoadBeanDefinitions(XmlBeanDefinitionReader.java:420)
         at org.apache.cxf.bus.spring.ControlledValidationXmlBeanDefinitionReader.doLoadBeanDefinitions(ControlledValidationXmlBeanDefinitionReader.java:109)
         at org.springframework.beans.factory.xml.XmlBeanDefinitionReader.loadBeanDefinitions(XmlBeanDefinitionReader.java:342)
         at org.apache.cxf.bus.spring.ControlledValidationXmlBeanDefinitionReader.loadBeanDefinitions(ControlledValidationXmlBeanDefinitionReader.java:131)
         at org.springframework.beans.factory.xml.XmlBeanDefinitionReader.loadBeanDefinitions(XmlBeanDefinitionReader.java:310)
         at org.springframework.beans.factory.support.AbstractBeanDefinitionReader.loadBeanDefinitions(AbstractBeanDefinitionReader.java:143)
         at org.springframework.context.support.AbstractXmlApplicationContext.loadBeanDefinitions(AbstractXmlApplicationContext.java:109)
         at org.apache.cxf.bus.spring.BusApplicationContext.loadBeanDefinitions(BusApplicationContext.java:263)
         at org.springframework.context.support.AbstractRefreshableApplicationContext.refreshBeanFactory(AbstractRefreshableApplicationContext.java:123)
         at org.springframework.context.support.AbstractApplicationContext.obtainFreshBeanFactory(AbstractApplicationContext.java:422)
         at org.springframework.context.support.AbstractApplicationContext.refresh(AbstractApplicationContext.java:352)
         at org.apache.cxf.bus.spring.BusApplicationContext.<init>(BusApplicationContext.java:91)
         at org.apache.cxf.bus.spring.SpringBusFactory.createApplicationContext(SpringBusFactory.java:102)
         at org.apache.cxf.bus.spring.SpringBusFactory.createBus(SpringBusFactory.java:93)
         ... 48 more
    Caused by: java.lang.LinkageError: loader constraint violation in interface itable initialization: when resolving method "org.apache.cxf.staxutils.W3CDOMStreamWriter.getNamespaceContext()Ljavax/xml/namespace/NamespaceContext;" the class loader (instance of weblogic/utils/classloaders/ChangeAwareClassLoader) of the current class, org/apache/cxf/staxutils/W3CDOMStreamWriter, and the class loader (instance of <bootloader>) for interface javax/xml/stream/XMLStreamWriter have different Class objects for the type javax/xml/namespace/NamespaceContext used in the signature
         at org.apache.cxf.bus.spring.TunedDocumentLoader.loadDocument(TunedDocumentLoader.java:112)
         at org.springframework.beans.factory.xml.XmlBeanDefinitionReader.doLoadBeanDefinitions(XmlBeanDefinitionReader.java:396)
         ... 61 more

  • JAVA application packaged as an EAR

    we are upgrading our system to Oracle 12i and we have a custom java application that access the Oracle API. As part of this upgrade we have to deploy our JAVA application packaged as an EAR file to OC4J that comes with Oracle EBS. All we need is sequence of steps/ some document that will help us deploy our JAVA application(EAR file) to OC4J server.
    1. Can we create another instance of OC4j in Oracle 12i(12.1.3)?
    2. Will there be any integrity issue if we deploy ear file to Oacore/Forms/OAFM oc4j instance integrated with R12? or Do we need to create a new instance?
    3. I was told by the support engineer that there is no EM console for oc4j integrated with R12, so is there any script provided by oracle to do any ear deployment?

    1. Can we create another instance of OC4j in Oracle 12i(12.1.3)?
    2. Will there be any integrity issue if we deploy ear file to Oacore/Forms/OAFM oc4j instance integrated with R12? or Do we need to create a new instance?I do not think it is supported -- Please log a SR to confirm with Oracle support.
    3. I was told by the support engineer that there is no EM console for oc4j integrated with R12, so is there any script provided by oracle to do any ear deployment?Please see (Deploying a New Forms .ear File in Oracle Applications Release 12 [ID 397174.1]).
    Thanks,
    Hussein

Maybe you are looking for

  • ITunes 10.4.1 will not download via Software update after I click to agree to terms, nothing happens

    I have OS Lion and went to Software Update to get the latest iTunes 10.4.1 (currently running 10.4 64 bit).  Software Update notifies me of the update, I click install, and then I agree to new terms....and that's all that happens.  Software Update re

  • ISE Issue with DNS

    Hello Techies, I am facing challenge while configuring ISE to join AD. Domain Name lookup fails. DNS is working perfectly fine; nslookup works fine on ISE for simple domain names, but on long domain  names it fails while throwing the following error;

  • Downloading additional components for fresh reinstall of lion but does not restart when done

    i've attempted to reinstall a fresh copy of lion because ever since i had lion, my dmg files wont open, software would not update and many other problems. So i tried reinstall and i waited hours for them to download additional components. the bar is

  • Ad Hoc Internet Sharing

    I have a windows PC at home and a Powerbook. I want the PC to be directly connected for serving purposes, but would like to be able to have both comptuers on the internet, without using a router. I got a wireless USB key for the PC, and now have it s

  • Lightroom Cannot open a web Browser

    Hello, I recently purchased Lightroom and updated to 3.4.1. I am unable to Open the Lightroom Help (F1) menu. It brings up an error dialog box that says "Cannot dislay Help". I also cannot authorize a facebook sync. It pops up a dialog box with a ver