Creating a Factory in ABAP.

HI ,
I have a requirement to implement the Factory pattern for my class.
I have declared my class as private so that direct instantiation is avoided.
A factory class has been created to instantiate my class , but i cannot instantiate my class since my class is declared as a private class.
Would it be a good option to declare the Factory class as a FRIEND in my class. This would destroy the encapsulation of my private attributes , but the factory would not have any other functionality apart from instance creation.
Kindly provide some suggestions.
Regards,
Newton.

It wont be possible to instantiate a different class with the same factory method.
I am not sure where you heading to. Are you going to use the same factory method/class to instantiate different class objects? If so this would require some generic factory class which could be only used if it was a FRIEND class of the instantiated one (this already you noticed). This would work similary to peristent objects concept, where agent class inherits from base class which in turn has FRIENDS relationship with persisent class . This way agent can instantiate persistent . Using inheritance as suggested by dsp would ban to use any other parental class. Interface, on the other hand would require implementation for every single class using it. So the choice is up to you, depending how generic you want the factory be.
Regards
Marcin

Similar Messages

  • Create XML file from ABAP with SOAP Details

    Hi,
    I am new to XML and I am not familiar with JAVA or Web Service. I have searched in SDN and googled for a sample program for creating XML document from ABAP with SOAP details. Unfortunately I couldn't find anything.
    I have a requirement for creating an XML file from ABAP with SOAP details. I have the data in the internal table. There is a Schema which the client provided and the file generated from SAP should be validating against that Schema. Schema contains SOAP details like Envelope, Header & Body.
    My question is can I generate the XML file using CALL TRANSFORMATION in SAP with the SOAP details?
    I have tried to create Transformation (Transaction XSLT_TOOL) in SAP with below code. Also in CALL transformation I am not able to change the encoding to UTF-8. It's always show UTF-16.
    <xsl:transform xmlns:xsl="http://www.w3.org/1999/XSL/Transform" xmlns:sap="http://www.sap.com/sapxsl" version="1.0">
      <xsl:template match="/">
        <SOAP:Envelope xmlns:SOAP="http://schemas.xmlsoap.org/soap/envelope/">
          <SOAP:Header>
            <CUNS:HeaderInfo>
              <CUNS:InterfaceTypeId>10006</InterfaceTypeId>
              <CUNS:BusinessPartnerID>11223344</BusinessPartnerID>
              <CUNS:SchemaVersion>1.0</SchemaVersion>
              <CUNS:DateTime>sy-datum</DateTime>
            </CUNS:HeaderInfo>
          </SOAP:Header>
          <SOAP:Body>
            <xsl:copy-of select="*"/>
          </SOAP:Body>
        </SOAP:Envelope>
      </xsl:template>
    </xsl:transform>
    In ABAP program, I have written below code for calling above Transformation.
      call transformation ('Z_ID')
           source tab = im_t_output[]
           result xml xml_out.
      call function 'SCMS_STRING_TO_FTEXT'
        exporting
          text      = xml_out
        tables
          ftext_tab = ex_t_xml_data.
    Please help me how to generate XML file with SOAP details from ABAP. If anybody have a sample program, please share with me.
    Is there any easy way to create the XML file in CALL Transformation. Please help.
    Thanks

    Try ABAP forum, as it seems not to be PI related.

  • How to create a job thru ABAP program for calling a program with variant???

    Hello experts,
    can u give me step wise procedure to create jobs for  a program with a variant name thru ABAP???
    Also, can a transaction can be scheduled as a job to run in background with a variant name???
    Edited by: SAP USER on Jul 22, 2008 6:08 AM

    Hi,
    To create a job through ABAP program you can do the following.
    Go to Menu bar.
    In there, go to   SYTSTEM> SERVICES> JOBS--> DEFINE JOB.
    Then give the JOB NAME and CLASS in the screen that comes up.
    This is how we schedule a program.
    Now, to create a variant for a program -
    First activate your program in SE38. Then execute it .
    Now, click on SAVE button. It will open up  the variant creation screen. Give the details there like variant name and value for the fields. Save and come back.
    Hope this helps.
    Regards,
    Hari Kiran

  • Can I create private class in ABAP?

    Hi all,
    Can I create private class in ABAP? Please reply me its interview question.
    Thanks ,
    Vishal
    Moderator message : Interview type questions not allowed, read Forum Rules Of Engagement before posting.  Thread locked.
    Edited by: Vinod Kumar on Jan 16, 2012 12:20 PM

    Vishal , please read the rules of this forum.

  • Problem in creating new objects in ABAP workbench

    Hi ,
        I am getting error in a newly installed SAP system when try to create new objects in ABAP workbench. The error is like'No changes for the user allowed'.
    Can you tell me what the error is here? What can be done for this so that I can create new object.
    Thanks,
    Manas

    Hi,
    Run tcode SU01. (Provided if u hav authorization to run this Tcode)
    Enter SAP* as user and click on the Copy button.
    Enter the name for your new user in the dialog box and click Continue
    Enter a password for your new user.
    Goto Profile sheet and adjust the profiles to be SAP_ALL and SAP_NEW.
    Save the user and logon with it.
    Now you'll be able to do your changes.
    Reward Points if useful.
    Regards
    Rose
    Edited by: Rose Preethi on Mar 31, 2008 5:20 PM

  • Creating adobe forms in ABAP

    hi,
    I am new to adobe forms in ABAP.can anybody please tell me the pre-requisites for the set up and step by step procedure to create Adobe Forms in ABAP?
    Thanks,
    Parama.

    Did you make an effort of searching on SDN, if not please do that.
    Chintan

  • Can we create a Calender through abap in hr module

    Dear Freinds
                could any body let me know can we create a Calender  through abap .
    my requirement is user is asking me to create a calnder .....and give me him a tcode..........when we click on the calnder for him a rport should be displayed ........
    as he would like to place an object on each particular day........once he lick on that
    day and futher clicks on that object he should get details of the object.
    Please let me know..........as this little bit urgent.
    regards
    vams

    Dear Freinds
                could any body let me know can we create a Calender  through abap .
    my requirement is user is asking me to create a calnder .....and give me him a tcode..........when we click on the calnder for him a rport should be displayed ........
    as he would like to place an object on each particular day........once he lick on that
    day and futher clicks on that object he should get details of the object.
    Please let me know..........as this little bit urgent.
    regards
    vams

  • How to create function module in abap for VirtualProvider in bi

    how to create function module in abap for VirtualProvider in bi ???????????????
    can any one help me with simple example ?????????????????
    Moderator message : Duplicate post locked. Read forum rules before posting.
    Edited by: Vinod Kumar on Jun 15, 2011 4:40 PM

    Hi ,
    Thanks for replies about my question??.
    If i am using the exit in my char relation ship how can i debugg that exit???
    if i am using BPS0 how to do it???If i am using BPS_WB how to do it??
    Case1.Variable (type Exit) I known how to do debugg this one in BPS0 but i'm not sure in BPS_WB??
    Case2:Char Relation Ship(Type Exit) how to do in BPS0 and BPS_WB??.
    Thanks.

  • "How to create new client in ABAP sneek Preview "

    HI ,
             Can anybody tell me how to create new client in ABAP sneek preview , i had  create  a new client 100 and tried to enter with Cilent 100. User : SAP* , and Password : pass. But i'm unable to log into the sap system.

    Hello,
    perhaps this will help you --> <a href="http://www.sap-img.com/bc049.htm">instructions</a>
    And this quote from another thread:
    <i>in SAPNW2004sSneakPreviewABAP this procedure only works if the system <b>profile parameter login/no_automatic_user_sapstar is set to 0</b> (and the system restarted after that), otherwise you will have a new client without any user thus useless ;-).</i>
    Regards,
    Norman

  • HOW TO CREATE AUTHORISATION OBJECT IN ABAP PLEASE HELP

    HOW TO CREATE AUTHORISATION OBJECT IN ABAP PLEASE HELP

    You can Use Transaction code: RSSM
    Check the following link
    http://www.sap-img.com/bc042.htm
    In SU20 you will have to create a CLass.
    After saving this double click this and you will taken to another screen where you can create Auth Object.
    You can create authorization fields in SU21 or use existing ones.
    You can also do above thru tcode SE80 Edit -> Other Object. In one the tabs you will see Auth. Objects .

  • What is meant by Local Class and how we can create local classes in abap?

    Hi Friends
    what is meant by Local Class and how we can create local classes in abap?
    Regards,
    Sree

    Hi
    Local classes are the classes which we declare and use using the SE38 ABAP editor
    Global classes are the classes which we find in SE24 and call the methods of them into our program.
    see the sample code
    REPORT zs_class.
    SELECTION SCREEN
    SELECTION-SCREEN BEGIN OF BLOCK b1 WITH FRAME.
    PARAMETERS:p_var TYPE i,
    p_var1 TYPE i.
    SELECTION-SCREEN END OF BLOCK b1.
    CLASS d_class DEFINITION
    CLASS d_class DEFINITION.
    PUBLIC SECTION.
    METHODS:
    add,
    sub.
    PROTECTED SECTION.
    DATA : var2 TYPE i.
    ENDCLASS. "d_class DEFINITION
    CLASS d_class IMPLEMENTATION
    CLASS d_class IMPLEMENTATION.
    METHOD add.
    var2 = p_var + p_var1.
    WRITE:/ var2.
    ENDMETHOD. "add
    METHOD sub.
    var2 = p_var - p_var1.
    WRITE:/ var2.
    ENDMETHOD. "sub
    ENDCLASS. "d_class IMPLEMENTATION
    START-OF-SELECTION
    START-OF-SELECTION.
    DATA: obj TYPE REF TO d_class.
    CREATE OBJECT: obj .
    CALL METHOD: obj->add,
    Regards
    Anji

  • Help in creating XML documents in ABAP using XI in new version ECC6.0

    Hello All:
       I am pretty comfortable with XML and XSLT but new to XI. Is there a way of creating XML documents in ABAP using XI in new version ECC6.0? Please provide me with any links or any information you may have. All the answers will be rewarded.
    Thanks.
    Mithun

    hi,
    U cant create XML data in ABAP.
    to send the data to the XI, u have to use the IDOC or RFC FM, from there IDOC or RFC adapters will read the data in the same  format  and these adapters will convert the data in to  XML .Bcoz XI understand only XML data.
    from there XI will process and route them to Destination, by using anthor adapter.
    here u can use file adapter if u want data in file foramat from the IDOC or RFC .
    So XI is the integration tool only.
    reward points if helpful
    ragards
    sreeni

  • HOW TO creat  BAR CHART using ABAP Programming

    DEAR ALL,
    I want some help as to how to creat GRAPHICAL display using ABAP programing (BAR CHART) any sample codes Example will be very helpful.
    Regards,
    VJ

    On earlier versions, you can do something like this.
    [code]
    REPORT ZRICH_0005 .
    DATA: BEGIN OF ITAB_DATA OCCURS 0,
               DATANAME(15),
               QUANTITY1 TYPE I,
               QUANTITY2 TYPE I,
               QUANTITY3 TYPE I,
          END OF ITAB_DATA.
    Data: BEGIN OF ITAB_OPTIONS OCCURS 0,
               OPTION(20),
          END OF ITAB_OPTIONS.
    ITAB_DATA-DATANAME = 'Maple'.
    ITAB_DATA-QUANTITY1 = 5500.
    ITAB_DATA-QUANTITY2 = 6200.
    ITAB_DATA-QUANTITY3 = 5900.
    APPEND ITAB_DATA.
    ITAB_DATA-DATANAME = 'Oak'.
    ITAB_DATA-QUANTITY1 = 3500.
    ITAB_DATA-QUANTITY2 = 5200.
    ITAB_DATA-QUANTITY3 = 4400.
    APPEND ITAB_DATA.
    ITAB_DATA-DATANAME = 'Cherry'.
    ITAB_DATA-QUANTITY1 = 1800.
    ITAB_DATA-QUANTITY2 = 2200.
    ITAB_DATA-QUANTITY3 = 1900.
    APPEND ITAB_DATA.
    CALL FUNCTION 'GRAPH_MATRIX_3D'
         EXPORTING
              COL1        = 'Jan'
              COL2        = 'Feb'
              COL3        = 'Mar'
              TITL        = 'Lumber Usage in $'
         TABLES
              DATA        = ITAB_DATA
              OPTS        = ITAB_OPTIONS
         EXCEPTIONS
              OTHERS      = 1.
    [/code]
    Regards,
    Rich Heilman

  • Creating client proxy in ABAP failed

    Hello,
    I tried to create a client proxy for a WebService and got the same error like in this thread: [Error when create client proxy in ABAP; "Exception occured in library handler".
    I've got only a little of knowledge about SOAP that's why I cannot edit the WSDL File. But I think there is no mistake in the WSDL. I used one in Visual C# and it works.
    Is it possible to change settings of the proxy generator to ignor non-SOAP bindings?
    Thanks for your help.
    Frank
    Edited by: Frank Staudte on Jan 20, 2009 9:17 AM

    Hi,
    Search in SDN you can find many links.
    Client Proxy -
    /people/ravikumar.allampallam/blog/2005/03/14/abap-proxies-in-xiclient-proxy
    Regards,
    Phani

  • How to Programmatically Create and Activate an ABAP Class

    Hi,
    I have a requirement to programmatically create and activate an ABAP class that implements a 'pre-defined' interface.
    Do you have any ideas how this can be done?
    Thanks,
    Shreevathsa S

    Hi,
       Try if GENRATE SUBROUTINE POOL keyword can be of your help.
    See the below example,
    DATA itab  TYPE TABLE OF string.
    DATA prog  TYPE string.
    DATA class TYPE string.
    APPEND `program.`                     TO itab.
    APPEND `class main definition.`       TO itab.
    APPEND `  public section.`            TO itab.
    APPEND `    class-methods meth.`      TO itab.
    APPEND `endclass.`                    TO itab.
    APPEND `class main implementation.`   TO itab.
    APPEND `  method meth.`               TO itab.
    APPEND `    message 'Test' type 'I'.` TO itab.
    APPEND `  endmethod.`                 TO itab.
    APPEND `endclass.`                    TO itab.
    GENERATE SUBROUTINE POOL itab NAME prog.
    CONCATENATE `\PROGRAM=` prog `\CLASS=MAIN` INTO class.
    CALL METHOD (class)=>meth.
    Regards,
    Sesh

Maybe you are looking for

  • Stop Icon over bars on my desktop for router

    I have a circle with a line thru it over the bars icon on my task bar.  The network is working fine but I still have this icon over the bars.  Why is it there and how do I get rid of it?

  • How to reformat a hard drive in Mac Pro

    Hello, I know how to do the whole disk utility thing to reformat it but can I just plug the hard drive right into the bay in the computer and run disk utility? Thanks!

  • Dreamweaver and Mac OS 10.5

    I just upgraded my Mac OS from 10.3.9 to 10.5. Dreamweaver MX has been fine for my needs, so I haven't felt the need to spend $ to upgrade. I was doubtful that version would work with OS 10.5, but thought I'd install it and give it a try... I importe

  • My iTunes is messed up, please help

    Ok, I have always had no problem with iTunes, for the last like, year I used it. Now, there has been the update, to 7.0, I downloaded that, all good. Now, you see, the problem persists that I when I tried to install it, it says that it can not uninst

  • Please tell me what tool is the magic wand tool on elements 11

    hallo please tell me what tool is the magic want tool that they talk about in photoshop i only have elements 11