Creating custom annotations (Singleton)

Hi,
Am bit out date of java so that's why I am posting this;
Actually I want to write my custom annotation of Singleton like,
*@Singleton*
Class Spooler {
so now when this annotation is applied on any class will become a singleton by automatically providing the Spooler::getInstence() method (donno may be at runtime or compiletime)
and if user tries to declare the public constructor then there should be a compile time error that @Singleton is applied so the constructor should not be public.
Am I asking a correct thing regarding the annotations or am already lost due to being outdate
thanks in advance
Edited by: user10657941 on Jun 15, 2011 12:18 AM

What would be the advantage over using the simpler enum singleton?
enum Spooler {
    INSTANCE;
}An enum type automatically ensures that only the instances listed are created.

Similar Messages

  • Custom Annotation :: inject object at runtime

    I would like develop a custom annotation to inject object at runtime. The annotation will work as follows
    1. develop ValidatorClass annotation on type.
    2. If annotated on a type object will be created at runtime and injected to the object. e.g. in class A it will inject validatorimpl object to vald object/
    Please let me know how to implement that.
    package com.debopam.validate
    public interface validator{
    public String validate();
    package com.debopam.validate
    public class validatorimpl implements validator{
    public String validate(){
       return "true";
    pckage com.debopam
    public class A{
    @ValidatorClass(name="com.debopam.validate.validatorimpl")
    validator vald;
    }

    yogeshd,
    It might be that the .class file for the annotation that you are compiling against is the one you have given us the source code for above, but when you run the program, the class file for the annotation is not the same, and is one that was compiled before you added the static field.
    This can happen if your classpath is wrong. (and would explain why the problem only occurs sometimes - because it is only failing when the classpath is wrong).
    If you run the following program with the Fully qualified name of your annotation as the argument, and with the same classpath as you run your program, it can tell you where it is finding the annotation class file. Check that this is the same one that you are compiling to.
    class WhereLoaded {
        public static void main(String[] args) {
            Class theClass=null;
            if(args.length > 0) {
                try {
                    theClass=Class.forName(args[0]);
                } catch (Exception e) {
                    e.printStackTrace();
                    theClass=Object.class;
            } else {
                System.out.println(
                    "The first argument should be a fully qualified class name," +
                    " using java.lang.Object instead"
                theClass=Object.class;
            String name=theClass.getName();
            name=name.substring(name.lastIndexOf(".")+1) + ".class";
            System.out.println(name + " loaded from " + theClass.getResource(name));
    }regards
    Bruce

  • Simple example of a custom annotation    for log

    Please help me write me my custom annotations. I like to use them to provide log ,security etc . I did not find articles where I can write my annotation to change the behaviour. Suppoe I decare annotation on a method , I want jvm to call code in my annotation where I can control the behaviour of the method similar to aop stuff ,
    here is what i need
    MyClass {
      @MyCustomAnnotation
       void myMethod(){
    }now I want MyCustomAnnotation to log that this method is begin called can I do this ?

    I can think of only one way to do something like this, and it's messy:
    Let's say your code looks like this:
    public class MyClass
        @MyLogging
        public void myMethod(String arg)
    }Have your @MyLogging annotation processing generate a new Class source that extends your original class and overrides the methods that you've annotated with code that looks something like this:
    public class MyClassGenerated extends MyClass
       Log log = ... // create a logger
        @Override
        public void myMethod(String arg)
            log.info("myMethod called");
            super.myMethod(arg);
    }Now you'll have to change your code to use MyClassGenerated instead of MyClass, which presents its own problems... you may be able to add in some kind of factory mechanism or something to make that work easier.

  • Making a Custom Annotation similar to @Deprecated

    I want to make an annotation for a method (and annotation processor) that at compile-time will throw a custom warning/error if a user ever uses the annotated method during compile time.
    Currently I have a way to throw a warning/error at the declaration of the method, but not at the method's use.
    I'd like it to only throw an error at a usage of the method. I'm thinking i may have to do some tricky stuff with reflection, but I'd like to know if annotations already have some way to do this (I can't find any after several searches).
    I'm hoping that it is easy, since @Deprecated already does a similar thing (errors at use, not declaration)
    Here's my code at the moment (again, it causes errors for the declarations of the methods, not the uses).
    A) The actual annotation
    package unsupported;
    import java.lang.annotation.ElementType;
    import java.lang.annotation.Retention;
    import java.lang.annotation.RetentionPolicy;
    import java.lang.annotation.Target;
    @Retention(RetentionPolicy.SOURCE)
    @Target({ ElementType.METHOD})
    public @interface Unsupported {
    }B) The annotation processor
    package unsupported;
    import java.util.Set;
    import javax.annotation.processing.AbstractProcessor;
    import javax.annotation.processing.ProcessingEnvironment;
    import javax.annotation.processing.RoundEnvironment;
    import javax.annotation.processing.SupportedAnnotationTypes;
    import javax.lang.model.element.Element;
    import javax.lang.model.element.TypeElement;
    import javax.tools.Diagnostic.Kind;
    @SupportedAnnotationTypes("unsupported.Unsupported")
    public class UnsupportedProcessor extends AbstractProcessor {
        private ProcessingEnvironment env;
        @Override
        public synchronized void init(ProcessingEnvironment procEnv) {
            this.env = procEnv;
        @Override
        public boolean process(Set<? extends TypeElement> annotations, RoundEnvironment roundEnv) {
            if (!roundEnv.processingOver()) {
                for (TypeElement myTypeElement : annotations) {
                    final Set< ? extends Element> elements = roundEnv.getElementsAnnotatedWith(myTypeElement);
                    for (Element elt : elements) {
                        env.getMessager().printMessage(Kind.ERROR,
                                String.format("%s : The Following Element is Unsupported: %s"
                                + "\nThe Compiler will now exit. \n\n", roundEnv.getRootElements(), elt),
                                myTypeElement);
            return true;
    }I then compile these 2 files into a JAR, along with the folder: "META_INF/services" that has the file: "javax.annotation.processing.Processor", with 1 line of text giving the path to the processor: "unsupported.UnsupportedProcessor" (this lets javac know to use the processor at compile time)
    I can then import this jar to my libraries and use the @Unsupported annotation like this:
    class OtherClass1
       @Unsupported
       public void unsupportedmethod()
          System.out.println("hi1") ;
    }Then, when compiling the above code i get this:
    error: [OtherClass1] : The Following Element is Unsupported: unsupportedmethod()
    The Compiler will now exit. Any ideas on how i can modify this to only throw an error when the method is used?
    Thanks,
    - JT
    Edited by: 00jt on Jul 6, 2011 7:57 AM

    Hi,
    I read your blog. The solution that you provided in the blog is creating new Assignment Block and integrate it in BT application on the UI level. The data is populated from the UI by calling Function Module and fill the value context node.
    This will not propagate to GenIL, therefore you will not see any thing on GenIL layer, because there is no integration on GenIL layer.
    The approach needs to be the other way around. Your approach is make something available in UI and you want to propagate it to backend(GenIL). The value node that you created in the UI is not dependent object. It is only a context node which is only available in UI. The right approach is you make the dependent object on the backend(GenIL) and than you propagate the dependent object to the UI.
    You can try transaction EEWB to create custom table for BT application and this will generate for you also the dependent object on the GenIL layer. This solution provided by EEWB has also a generic assignment block that displays the generated dependent object and show it in BT overview page. To see the generic assignment block from BT you can open the component BT_GEN_EXT.
    Regards,
    Steve

  • VCenter 5 Alerts with custom Annotations

    Hello,
    I want to be able to create alerts with the use of SCOM and VCenter's PowerCLI. Has anyone been able to achieve this?
    Essentially I want to tie into VCenter's console, and grab the custom annotations define by the user, and feed the custom annotations back into the SCOM generated alert.
    Suggestions? Thanks.

    Hi,
    You can build a pack that leverages powercli for discovery and monitoring.At least you could use powercli to check for vcenter alerts and bring them to scom.
    Niki Han
    TechNet Community Support

  • Running custom annotations from ant

    I know this may be the wrong forum for such a question but figured someone ,ight have done it b4 and will not mind telling me
    I want to know how to run my custom annotation processor from an ant build script.
    I can run it from commanline but i dont know the ant targets fro doing it

    Vikas:
    Can you help me with this one too.....
    I am trying to add a custom page in iproc. According to the dev guide I should use the same AM that iproc uses. so I used ShoppingAM provided by Oracle. I extended it and created my own Am called DKSearchAM. But when I try to run the page from Jdev I get the following error messages.
    I brought ShoppingAM.xml file from the server and added it to my project and then updated it to create ShoppingAMImpl.java file.
    Please help!!!!!!!!
    I get the following error:
    Project: DKSearchOAProject.jpr
    C:\JDev\jdevhome\jdev\myprojects\oracle\apps\icx\icatalog\shopping\server\ShoppingAMImpl.java
    Error: can't read: C:\JDev\jdevhome\jdev\myprojects\oracle\apps\icx\icatalog\shopping\server\ShoppingAMImpl.java
    C:\JDev\jdevhome\jdev\myprojects\dekalb\oracle\apps\xxdk\search\server\DKSearchAMImpl.java
    Error(2,49): cannot access class oracle.apps.icx.icatalog.shopping.server.ShoppingAMImpl; file oracle\apps\icx\icatalog\shopping\server\ShoppingAMImpl.class not found
    Error(8,37): class ShoppingAMImpl not found in class dekalb.oracle.apps.xxdk.search.server.DKSearchAMImpl

  • Custom Annotation showing Error: is missing clinit

    Hi!
    I have created some custom annotations for use in my project. Sometimes they show error: is missing <clinit> and sometimes they don't. I'm confused. If I create a jar and use that jar in another project this error appears at compiletime .
    Here is the source of one of my custom annotations....
    import java.lang.annotation.ElementType;
    import java.lang.annotation.Retention;
    import java.lang.annotation.RetentionPolicy;
    import java.lang.annotation.Target;
    * User: yogeshd
    * Date: Mar 30, 2007
    * Time: 10:54:31 AM
    @Constraint
    @Retention(RetentionPolicy.RUNTIME)
    @Target(ElementType.FIELD)
    public @interface ConstraintMaxIntValue {
    public Validator validator = new MaxIntValidator();
    int value() default 0;
    The strange thing is that this error doesnot appears all the time...
    If anyone can explain the reason I will be enlightened. ;) thnx.

    yogeshd,
    It might be that the .class file for the annotation that you are compiling against is the one you have given us the source code for above, but when you run the program, the class file for the annotation is not the same, and is one that was compiled before you added the static field.
    This can happen if your classpath is wrong. (and would explain why the problem only occurs sometimes - because it is only failing when the classpath is wrong).
    If you run the following program with the Fully qualified name of your annotation as the argument, and with the same classpath as you run your program, it can tell you where it is finding the annotation class file. Check that this is the same one that you are compiling to.
    class WhereLoaded {
        public static void main(String[] args) {
            Class theClass=null;
            if(args.length > 0) {
                try {
                    theClass=Class.forName(args[0]);
                } catch (Exception e) {
                    e.printStackTrace();
                    theClass=Object.class;
            } else {
                System.out.println(
                    "The first argument should be a fully qualified class name," +
                    " using java.lang.Object instead"
                theClass=Object.class;
            String name=theClass.getName();
            name=name.substring(name.lastIndexOf(".")+1) + ".class";
            System.out.println(name + " loaded from " + theClass.getResource(name));
    }regards
    Bruce

  • How to create Custom error message in SharePoint 2013

    Hi,
    I have created one document library.On uploading the same file SharePoint throws error as"server error.The same file exit".
    But my requirement is not to show the SharePoint default message.I wanted to create custom message and show the pop up for the same file upload.
    Is there any way to create any custom error page or can I manipulate SharePoint default error page?
    Any help?
    Thank you

    Hi,
    You can create an event receiver to set the validation error messages.  One such post to redirect the custom error page is as follows
    https://social.msdn.microsoft.com/Forums/office/en-US/2bc851f6-e04b-4550-b87f-9b874a290482/sharepoint-event-receivers-and-custom-error-messages?forum=sharepointdevelopmentlegacy
    Create custom error page for SharePoint event receiver
    Please mark it answered, if your problem resolved or helpful.

  • I am planning to create custom defined  DSO Object & Info cube

    Hi ,
                     i am planning to create custom defined  DSO Object & Info cube.what ratio i can calculate what is the keyfields & what are the data fields in DSO.How can i calculate.
                     2. how can i create  suitable dimensions, suitable characterstics  for dimensions.what ratio i can decide.
    Thanks,
    chandu.

    Hi Diego Garu,
                               Thanks for your fast response.i
    VBELN     VBAP     2LIS_11_VAITM                                              0DOC_NUMBER
    POSNR     VBAP     2LIS_11_VAITM                                                0S_ORD_ITEM
    KUNNR     VBAK     2LIS_11_VAHDR                                                 0SOLD_TO
    VBELN     VBRP     2LIS_13_VDITM                                                    0BILL_NUM
    FKDAT     VBRK     2LIS_13_VDHDR                                                 0BILL_DATE
    INCO1     VBRK     2LIS_13_VDHDR(INCO1FieldNot Available in Data Source)     0INCOTERMS
    ZTERM     VBRK     2LIS_13_VDHDR(Payment terms field Not Available in Data Source)                                                                                0UCPYTERMS
    NETWR     VBRP     2LIS_13_VDITM                                                           0NETVAL_INV.
                                           here data is coming from the multible tables.that why i am planning to create custom defined data source based on view. here how can i calucate dso is suitable or cube is suitable.
    suppose dso is suitable how can i decide which on is the data field and which one is the key field.
                                        how can i decide how many dimensions are needed here.and which chara are suitable for that dimensions.
    Thanks ,
    chandu.

  • How to Created custom report for Ship not Billed (SD/FI)?

    Hi all,
    I am anticipating  to write some abap reports..Here is one of them..
    Anyone can help  me with writing a Report , how to do 'Custom Report for shipped not Billed(SD/FI)' ..But since I am new to Abap , if you wish to reply, please use a little more detail and simple explanation, step by step so I can understand what is the idea, how it can be acheived...what kind of report should be used , techniques, tables etc...:)
    Appreciate your help!
    Regards,
    Boby

    Hi Boby,
    You need to create custom transaction to achive these results.
    you will have selection-screen ,it would be :
    Date : Here date would be mandatory  - Ranges Option
    Customer  - Optional field - Ranges
    Order #  Sales Order (Optional) Ranges
    Invoice #  - Invoice # (Optional) Ranges
    You will get the data based on ur selection-screen criteria ...
    First you will have customer order details from diffrent table
    VBAK,
    VBAP,
    LIKP
    LIPS
    VBRK,
    VBRP
    KNA1,
    VBFA Tables ( See the my sample program )
    Output would be :
    Customer #   Custome Name    Order #   Delivery #   Invoice #   Netpr, Netquantity ,
    Check the condition  whether invoice table has VBRK-RFBSK  = ''.
    See the my sample program : This is sales report by monthly..
    REPORT ZFDSALES_REPORT no standard page heading
                           message-id zwave.
    Data Declaration Part
    TYPE-POOLS
    type-pools : slis.
    Tables
    tables : VBAK,
             VBAP.
    Internal table for VBAK Table
    data : begin of i_vbak occurs 0,
           vbeln like vbak-vbeln,
           bstnk like vbak-bstnk,
           vdatu like vbak-vdatu,
           end of i_vbak.
    Internal table for VBAP and MATNR
    data : begin of i_vbap occurs 0,
           vbeln like vbap-vbeln,
           matnr like vbap-matnr,
           kdmat like vbap-kdmat,
           kwmeng like vbap-kwmeng,
           netpr like vbap-netpr,
           maktx like makt-maktx,
           end of i_vbap.
    Internal tables
    data : begin of i_sales occurs 0,
           vdatu like vbak-vdatu,
           bstnk like vbak-bstnk,
           matnr like vbap-matnr,
           maktx like makt-maktx,
           kdmat like vbap-kdmat,
           kwmeng like vbap-kwmeng,
           netpr  like vbap-netpr,
           end of i_sales.
    Variable for ALV
    data : v_repid like sy-repid,
           gt_fieldcat    type slis_t_fieldcat_alv.
    Selection-screen
    selection-screen : begin of block blk with frame title text-001.
    select-options : s_vbeln for vbak-vbeln,
                     s_erdat for vbak-erdat,
                     s_ernam for vbak-ernam,
                     s_vdatu for vbak-vdatu obligatory,
                     s_BSTNK for vbak-BSTNK,
                     s_KUNNR for vbak-kunnr,
                     s_matnr for vbap-matnr,
                     s_KDMAT for vbap-KDMAT.
    selection-screen : end of block blk.
    Initilization
    initialization.
      v_repid = sy-repid.
    S T A R T  -  O F  -  S E L E C T I O N ****************
    start-of-selection.
    Get the data from VBAK and VBAP Tables
      perform get_vbak_vbap.
    E N D  -  O F  -  S E L E C T I O N *****************
    end-of-selection.
    Display the data
      perform dispolay_data.
    *&      Form  get_vbak_vbap
          Get the data from VBAK and VBAP Table
    FORM get_vbak_vbap.
    Get the data from VBAK Table
      select vbeln bstnk vdatu from vbak into table i_vbak
                         where vbeln in s_vbeln
                         and   bstnk in s_bstnk
                         and   vdatu in s_vdatu
                         and   kunnr in s_kunnr
                         and   erdat in s_erdat
                         and   ernam in s_ernam.
      if sy-subrc ne 0.
        message e000(zwave) with 'No data found for given selection'.
      endif.
    Get the data from VBAP Table
      select avbeln amatnr akdmat akwmeng a~netpr
             b~maktx into table i_vbap
             from vbap as a inner join makt as b on bmatnr = amatnr
             for all entries in i_vbak
             where a~vbeln in s_vbeln
             and   a~kdmat in s_kdmat
             and   a~abgru = space
             and   a~matnr in s_matnr
             and   a~matnr ne '000000000000009999'
             and   a~matnr ne '000000000000004444'
             and   a~matnr ne '000000000000008888'
             and   a~matnr ne '000000000000001111'
             and   a~werks = '1000'
             and   b~spras = 'E'
             and   a~vbeln = i_vbak-vbeln.
      if sy-subrc ne 0.
        message e000(zwave) with 'No data found for given selection'.
      endif.
      sort i_vbak by vbeln.
      sort i_vbap by vbeln matnr.
      loop at i_vbap.
        read table i_vbak with key vbeln = i_vbap-vbeln
                                binary search.
        if sy-subrc eq 0.
          i_sales-bstnk = i_vbak-bstnk.
          i_sales-vdatu = i_vbak-vdatu.
          i_sales-matnr = i_vbap-matnr.
          i_sales-kdmat = i_vbap-kdmat.
          i_sales-maktx = i_vbap-maktx.
          i_sales-netpr = i_vbap-netpr.
          i_sales-kwmeng = i_vbap-kwmeng.
          append i_sales.
        else.
          continue.
        endif.
        clear : i_sales,
                i_vbap,
                i_vbak.
      endloop.
      sort i_sales by vdatu bstnk matnr.
      refresh : i_vbap,
                i_vbak.
    ENDFORM.                    " get_vbak_vbap
    *&      Form  dispolay_data
          Display the data
    FORM dispolay_data.
    Fill the Fiedlcat
      PERFORM fieldcat_init  using gt_fieldcat[].
      CALL FUNCTION 'REUSE_ALV_GRID_DISPLAY'
       EXPORTING
      I_INTERFACE_CHECK                 = ' '
      I_BYPASSING_BUFFER                =
      I_BUFFER_ACTIVE                   = ' '
          I_CALLBACK_PROGRAM                = v_repid
      I_CALLBACK_PF_STATUS_SET          = ' '
      I_CALLBACK_USER_COMMAND           = ' '
      I_CALLBACK_TOP_OF_PAGE            = ' '
      I_CALLBACK_HTML_TOP_OF_PAGE       = ' '
      I_CALLBACK_HTML_END_OF_LIST       = ' '
      I_STRUCTURE_NAME                  =
      I_BACKGROUND_ID                   = ' '
      I_GRID_TITLE                      =
      I_GRID_SETTINGS                   =
      IS_LAYOUT                         =
          IT_FIELDCAT                       = gt_fieldcat[]
      IT_EXCLUDING                      =
      IT_SPECIAL_GROUPS                 =
      IT_SORT                           =
      IT_FILTER                         =
      IS_SEL_HIDE                       =
      I_DEFAULT                         = 'X'
      I_SAVE                            = ' '
      IS_VARIANT                        =
      IT_EVENTS                         =
      IT_EVENT_EXIT                     =
      IS_PRINT                          =
      IS_REPREP_ID                      =
      I_SCREEN_START_COLUMN             = 0
      I_SCREEN_START_LINE               = 0
      I_SCREEN_END_COLUMN               = 0
      I_SCREEN_END_LINE                 = 0
      IT_ALV_GRAPHICS                   =
      IT_ADD_FIELDCAT                   =
      IT_HYPERLINK                      =
      I_HTML_HEIGHT_TOP                 =
      I_HTML_HEIGHT_END                 =
      IT_EXCEPT_QINFO                   =
    IMPORTING
      E_EXIT_CAUSED_BY_CALLER           =
      ES_EXIT_CAUSED_BY_USER            =
        TABLES
          T_OUTTAB                          = i_sales
    EXCEPTIONS
      PROGRAM_ERROR                     = 1
      OTHERS                            = 2
    ENDFORM.                    " dispolay_data
    *&      Form  fieldcat_init
          text
         -->P_GT_FIELDCAT[]  text
    FORM fieldcat_init USING  e01_lt_fieldcat type slis_t_fieldcat_alv.
      DATA: LS_FIELDCAT TYPE SLIS_FIELDCAT_ALV.
    Delivery Date
      CLEAR LS_FIELDCAT.
      LS_FIELDCAT-FIELDNAME    = 'VDATU'.
      LS_FIELDCAT-OUTPUTLEN    = 12.
      LS_FIELDCAT-TABNAME    = 'I_SALES'.
      ls_fieldcat-seltext_L = 'Delivery Date'.
      APPEND LS_FIELDCAT TO E01_LT_FIELDCAT.
    Purchase Order #Material Description
      CLEAR LS_FIELDCAT.
      LS_FIELDCAT-FIELDNAME    = 'BSTNK'.
      LS_FIELDCAT-OUTPUTLEN    = 25.
      LS_FIELDCAT-TABNAME    = 'I_SALES'.
      ls_fieldcat-seltext_L = 'Purchase Order #'.
      APPEND LS_FIELDCAT TO E01_LT_FIELDCAT.
    Material
      CLEAR LS_FIELDCAT.
      LS_FIELDCAT-REF_FIELDNAME    = 'MATNR'.
      LS_FIELDCAT-REF_TABNAME    = 'MARA'.
      LS_FIELDCAT-FIELDNAME    = 'MATNR'.
      LS_FIELDCAT-TABNAME    = 'I_SALES'.
      ls_fieldcat-seltext_L = 'Material #'.
      ls_fieldcat-seltext_M = 'Material #'.
      ls_fieldcat-seltext_S = 'Material #'.
      APPEND LS_FIELDCAT TO E01_LT_FIELDCAT.
    Material Description
      CLEAR LS_FIELDCAT.
      LS_FIELDCAT-FIELDNAME    = 'MAKTX'.
      LS_FIELDCAT-OUTPUTLEN    = 40.
      LS_FIELDCAT-TABNAME    = 'I_SALES'.
      ls_fieldcat-seltext_L = 'Material Description'.
      APPEND LS_FIELDCAT TO E01_LT_FIELDCAT.
    Customer Material #
      CLEAR LS_FIELDCAT.
      LS_FIELDCAT-FIELDNAME    = 'KDMAT'.
      LS_FIELDCAT-OUTPUTLEN    = 35.
      LS_FIELDCAT-TABNAME    = 'I_SALES'.
      ls_fieldcat-seltext_L = 'Customer material no.'.
      APPEND LS_FIELDCAT TO E01_LT_FIELDCAT.
    Quantity
      CLEAR LS_FIELDCAT.
      LS_FIELDCAT-FIELDNAME    = 'KWMENG'.
      LS_FIELDCAT-OUTPUTLEN    = 15.
      LS_FIELDCAT-TABNAME    = 'I_SALES'.
      ls_fieldcat-seltext_L = 'Quantity'.
      APPEND LS_FIELDCAT TO E01_LT_FIELDCAT.
    Net Price
      CLEAR LS_FIELDCAT.
      LS_FIELDCAT-FIELDNAME    = 'NETPR'.
      LS_FIELDCAT-OUTPUTLEN    = 15.
      LS_FIELDCAT-TABNAME    = 'I_SALES'.
      ls_fieldcat-seltext_L = 'Net Price'.
      APPEND LS_FIELDCAT TO E01_LT_FIELDCAT.
    ENDFORM.                    " fieldcat_init
    Reward Points if it is helpful
    Thanks
    Seshu

  • How to create custom cloumns in report

    Hi,
    I want to create custom columns in the reports(columns which are not present in active subject area. Please help.
    Thanks
    Arpita

    Arpita,
    You can create a calculated column using any Field (Presentation Column) in any Presentaion Table.
    Eg: You want to calculate the difference between the Start and End Date of an Activity.
    1. Simply Create a report on the Activities SA (Analytics or Real-time doe not matter here)
    2. Add the required Coumns
    3. To calculate the difference between the Start and End time.
    - add the below fields from Activity
    - Click the 'Fx' icon any field that you would like to display the calculated value in.
    - Replace the existing formula in this field with TIMESTAMPDIFF(SQL_TSI_DAY, Activity."Created Date", Activity."Completed Date") - This is your calculated value
    Activity ID     Subject     Created Date     Completed Date     Difference
    AXXX-IHJ1W     Prepare Proposal     10/31/2011 6:39:43 AM     11/18/2011 4:48:54 AM     18
    For more details, I would suggest you look at the CRM On Demand Bookshelf or click the hlp link in CRM On Demand.
    Hope this helps!
    Thanks,
    Royston

  • How to create custom infotype for training and event management

    hai freinds can any one tell me how to create custom infotype for training and event managment with following fields
    PS No – PA0000-> PERNR
    Name   - PA0001 -> ENAME
    IS PS.No. – PA0001-> PS no. of Immediate Superior
    IS name PA0001 -> ENAME
    thanx in advance
    afzal

    Hi,
    Your question is not clear for me. Since it is a TEM infotype, it could be a PD infotype.
    If you wish to create a PD infotype, use transaction PPCI to create the infotype.
    But before that you need to create a structure HRInnnn (where nnnn is the infotype number) with all the fields relevant for the infotype.
    If you wish to create a PA infotype, use transaction PM01 to create the infotype.
    But before that you may be required to create a strcuture PSnnnn  (where nnnn is the infotype number) with all the fields relevant for the infotype.
    Regards,
    Srini

  • I have Pages 09.  I have created custom templates and want to delete them.  How do I delete a template I have created in Pages 09?

    I have Pages 09.  I have created custom templates and want to delete them.  How do I delete a template I have created in Pages 09?

    Pages stores those you created & saved as templates in (your account) > Library > Application Support > iWork > Pages > Templates > My Templates. The door to the user's Library is hidden in Lion but it is easy to open. In Finder, hold down the Option key while clicking on the Go menu & your users Library will appear about halfway down the list.

  • Is it possible to create custom bookshelves in a dedicated reader?

    Hi. I just got a Pandigital 7" Novel eReader. It's connected to Barnes & Noble and it has an Adobe eBooks app too. In the B&N library, I am able to create custom bookshelves to more easily find my books. I figured out how to transfer my ADE books from my computer to the Adobe app on my eReader, but unlike the ADE on my computer, I can't figure out how to create custom libraries/bookshelves on the eReader. The libraries from my computer did not transfer along with my books. It seems my only choices are to view the books by date of installment or alphabetized by title. Since I've transferred over a hundred books so far, scrolling through to find the one I want, every single time, is getting frustrating. To make it even more complicated, when I'm in the title view, the title of some of the books is just a series of random letters and numbers, like SW000000931.epub. I think I read on another thread this issue is impossible to fix, but if I could make my own bookshelves in the eReader, I could just name the bookshelf the title of the book.
    Am I missing something obvious, or is there no way to create custom bookshelves/libraries for ADE books in a dedicated reader?
    Thank you so much for any advice.

    You can add a button using custom javascript. but this could potentially have performance issues. please test the performance and functionality if you implement a lot javascript
    see this link : http://helponmyproject.com/TTOCOD/
    Regards,
    Royston

  • Is there a way to create custom instrument icons in GarageBand '09?

    Hello everyone!
    I am just curious if any of you might know a way to create custom instrument/track icons in GarageBand (I show an example of what I mean below)? For instance, Let's say one of the guitar tracks I've recorded was done with a Flying V and I'd like to reflect that in the instrument icon. Is that possible? If so, I'd love to know how I know it's nothing mega-important, and doesn't affect my recordings in any way, but is a great visual cue as to what that track might contain. Apple has given us some great default choices but it would be nice if we could use some of our own PNG files for this purpose too!
    Thanks for any info you may have, and have a great weekend!

    Dude thank you SO much for this! I searched and search and found no help at all, so this is an awesome find. The funny thing is I posted this question and got so busy with life in general that I had forgotten about it until just now when I fired up GarageBand LOL. Then I remembered asking this question and checked in. So glad I did because you totally hooked me up!
    THANKS AGAIN!!

Maybe you are looking for