How to extend the functionality of Smtp through servlets

hi
will some one tell me how to extend the functionality of SMTP server through servelts
bye

[samreenkazi],
Here's some code that might help you get a servlet to send e-mails out by using the sun.net.smtp.SmtpClient class:
import java.io.*;
import javax.servlet.*;
import javax.servlet.http.*;
import sun.net.smtp.SmtpClient;
public class SendMailMessageServlet extends HttpServlet {
static final String to = "[email protected]";
        public void doGet(HttpServletRequest req, HttpServletResponse res)
                                        throws ServletException, IOException {
                res.setContentType("text/html");
                PrintWriter out = res.getWriter();
                //grab the values of each field
                String name = req.getParameter("name");
                String feedback = req.getParameter("feedback");
                String mailfrom = req.getParameter("mailfrom");
                //Notify the sender of his/her feedback
                out.println("<HTML>");
                out.println("<HEAD><TITLE>Mail sent successfully</TITLE></HEAD>");
                out.println("<BODY>");
                out.println("Your e-mail has been sent successfully");
                out.println("</BODY></HTML>");
                //Send an e-mail
                SmtpClient smtp = new SmtpClient(); //assume localhost
                smtp.from(mailfrom);
                smtp.to(to);
                PrintStream msg = smtp.startMessage();
                msg.println("To: " + to); // mailers will display the To: address
                msg.println("From: " + mailfrom); //mailers will display the From: address
                msg.println("Subject: Hello World !");
                msg.println();
                msg.println("Hello World");
                smtp.closeServer();
}Note that the sun.net.smtp.SmtpClient class has limited capabilities. A better alternative is to use the JavaMail API and when you download the JavaMail packages, there are some sample example code that may help you.
HTH.
Allen Lai
Developer Technical Support
SUN Microsystems
http://www.sun.com/developers/support/

Similar Messages

  • Help and some explanation how to get a Microsoft.Office.Tools.Excel.Worksheet host item that extends the functionality of the current Microsoft.Office.Interop.Excel.Worksheet object

    Hello,
    I would use some help and more info about how to get host object that extends the functionality of my current Interop.Excel.Worksheet object. I read this artical: https://msdn.microsoft.com/en-us/library/ee794671.aspx where I can call this function
    GetVstoObject to get host object. But I see that here I need to pass the Globals.Factory object as second parametar. Can someone give me more details about that parameter and how to access it? I would like to get host object so I can access extension
    property, since my interop excel worksheet doesn't have it.  
    I am using Visual Studio 2013 for developing Excel addin. Using Excel 2010.
    Thanks in advance for help.
    Regards,
    Zeljka

    Hi Zeljka,
    >>I am using the Microsoft Office PIAs, so my question is how to access this automatic generated class Globals in my case?   <<
    Sorry, I am not able to understand the application you were developing exactly. From the orgnal post, you were developing an application level add-in, however based on the description above, it seems that you were building an console or Windows form application
    to automate Office application.
    If you were developing Office automation, the host item can't work for this secnario since it should run under the VSTO runtime.
    If I misunderstood, please feel free to let me know.
    Regards & Fei
    We are trying to better understand customer views on social support experience, so your participation in this interview project would be greatly appreciated if you have time. Thanks for helping make community forums a great place.
    Click
    HERE to participate the survey.

  • How to extend the JVue applet class using ActiveX Control

    My SR recommendation was to post this here:
    ) How to Extend the JVue Applet class
    This is the preferred solution. However, when using the ActiveX control, my derived JVue class that is specified in autovue.properties is not being instantiated.
    Your ActiveX bridge looks like it's hard coding a "new JVue()" which means I have no integration hook using the ActiveX control.
    To reiterate, if I extend JVue to add functionality and specify it in the autovue.properties, it is picked up when I run it standalone but if I use the ActiveX component, it is not being picked up.
    I have already read all the documentation, have had web conferences with Mahmood and Jeff Chapman and the engineering staff who recommended this approach as the preferred option.

    We have a need to override certain VueBean/JVue method calls to meet our document handling(documents need to handle metadata information and hence change the document loading cycle, ie markup loading/XRef resolution is dynamic). Also the invokeAction/invokeSubAction do not allow parameter passing(which we have requirements for certain actions again due to metadata) so we would like to override the invokeAction method to include custom processing(we will encode the action with parameters).
    We are already using Custom VueActions for other simpler UI event handling that don't have parameter requirements.
    As I said above, these use cases were relayed to the engineering team and senior staff members in early December and we were told that we could proceed with overriding the main class in the autovue.properties file. I have SR(s) opened with a long thread detailing this so I really don't want to go through this again.
    A custom VueAction does not seem to work because it binds to late in the object call/event stream.

  • How to view the function INTAX

    Hi Gurus,
    could you please tell me how to check the function INTAX as my tax in not getting calculated properly.
    thanks.
    Rgds,
    Vishwas

    Hi,
    I suggest you to read the documentation of INTAX through PE04. You will have a better understanding of the calculation process.
    It is given clear. Please try this before you go for a debugging option.
    - Suresh

  • How to extend the IDoc ORDERS05 and populate values?

    Hi,
    My requirement is to add few fields to the standard IDoc ORDERS05 and populate values to the newly added fields.
    Please let me know how to extend the standard IDoc ORDERS05.
    Regards,
    Balaji. R

    Hi balaji,
    you can try to google for SAP R/3 IDoc Cookbook for EDI and Interfaces by Axel Angeli et.al.
    Although Axel refers primarily to MATMAS Idoc the technique of extending IDOCs is explained very well.
    Also very good is the search function here on SCN, I just found
    [Some Experience on IDoc Enhancement|http://www.sdn.sap.com/irj/scn/weblogs;jsessionid=%28J2EE3414900%29ID0711317150DB10743789739220747754End?blog=/pub/wlg/8285]
    Blogs and Wikis here are the best source for general questions like yours, usually of much more value than forum answers
    Regards,
    Clemens

  • How to extend the BP List

    Hi Friends,
    Please let me know how to extend the List view 100 to more in transaction BP.
    Regards
    Ricky

    hi frnd....
    u can use this code once
       CALL FUNCTION 'BAPI_BUPA_ROLE_ADD_2'
      EXPORTING
        businesspartner                   = customer_data-partner
      BUSINESSPARTNERROLECATEGORY       =
      ALL_BUSINESSPARTNERROLES          = ' '
       businesspartnerrole                = <wg_part_grp05-partnrole>
      DIFFERENTIATIONTYPEVALUE          =
      VALIDFROMDATE                     =
      VALIDUNTILDATE                    = '99991231'
    TABLES
       return                            = tbl_return.
               CALL FUNCTION 'BAPI_TRANSACTION_COMMIT'
              EXPORTING
                wait   = c_wait
              IMPORTING
                return = tbl_return.
    I have tried.....its working for both standard roles and also for custome roles

  • How to extend the windows 2003 C drive

    How to extend the windows 2003 C drive ..? one of my DC is running out of space.
    Please advice
    Krishna

    If you make a BartPE bootable ISO or CD,  you can add a 'DiskPart' folder in your Plugins folder.   Then put the following contents inside that 'DiskPart' folder.  The file name should be "DiskPart.inf"
    This will allow you to boot from the BartPE CD, open a command prompt, and use Diskpart like you would from within Windows normally.    We extended C drives of old systems (VMs) many times this way.   I'm reasonably sure our BartPE CD is based
    of Server 2003 Standard SP2.  
    [Version]
    Signature= "$Windows NT$"
    [PEBuilder]
    Name="Diskpart functionality in Win2k3 - SP1 only"
    ; Assisted with this understanding was:
    ; http://support.microsoft.com/?kbid=910380
    ; http://technet2.microsoft.com/WindowsServer/en/Library/89c3a36a-d3e2-4462-8893-7a384b118c6b1033.mspx
    ; http://windowssdk.msdn.microsoft.com/library/default.asp?url=/library/en-us/vds/base/vds_interfaces.asp
    Enable=1
    [SourceDisksFiles]
    Ftdisk.sys=4
    Partmgr.sys=4
    Volsnap.sys=4
    Swprv.dll=2
    Eventcls.dll=2
    Vssadmin.exe=2
    Vssapi.dll=2
    Vssui.dll=2
    Vssvc.exe=2
    Vss_ps.dll=2
    Diskpart.exe=2
    [Default.AddReg]
    ; Runs dependent DLL registration for Application usage
    ; 0x1= REG_SZ
    ; 0x2= REG_EXPAND_SZ
    ; 0x1, "Software\Microsoft\Windows\CurrentVersion\Run", "DiskPartSupport", "%systemroot%\system32\regsvr32.exe /s %systemroot%\system32\vss_ps.dll"
    ; removed because the reg key is not read unless you use explorer as a shell.
    [SetupReg.AddReg.3790]
    ; Win2k3 SP1 Only: RpcSS needs to lanuch DComLaunch Service first.
    0x7, "ControlSet001\Services\RpcSs","DependOnService","DcomLaunch"
    ; New DComLaunch Service in Win2k3 SP1
    0x1,"ControlSet001\Services\DcomLaunch","Description","DCOM Services"
    0x1,"ControlSet001\Services\DcomLaunch","DisplayName","DCOM Services"
    0x4,"ControlSet001\Services\DcomLaunch","ErrorControl",0x1
    0x1,"ControlSet001\Services\DcomLaunch","Group","Event Log"
    0x2,"ControlSet001\Services\DcomLaunch","ImagePath","svchost -k DcomLaunch"
    0x1,"ControlSet001\Services\DcomLaunch","ObjectName","LocalSystem"
    0x4,"ControlSet001\Services\DcomLaunch","Start",0x2
    0x4,"ControlSet001\Services\DcomLaunch","Type",0x20
    0x3,"ControlSet001\Services\DcomLaunch","FailureActions",\
    00,00,00,00,00,00,00,00,00,00,00,00,01,00,00,00,00,00,00,00,02,00,00,00,60,\
    ea,00,00
    0x1,"ControlSet001\Services\DcomLaunch\Enum","0","Root\LEGACY_DCOMLAUNCH\0000"
    0x4,"ControlSet001\Services\DcomLaunch\Enum","Count",0x1
    0x4,"ControlSet001\Services\DcomLaunch\Enum","NextInstance",0x1
    0x2,"ControlSet001\Services\DcomLaunch\Parameters","ServiceDll","rpcss.dll"
    0x3,"ControlSet001\Services\DcomLaunch\Security","Security",\
    01,00,14,80,b4,00,00,00,c0,00,00,00,14,00,00,00,34,00,00,00,02,00,20,00,01,\
    00,00,00,02,80,18,00,ff,01,0f,00,01,01,00,00,00,00,00,01,00,00,00,00,20,02,\
    00,00,02,00,80,00,05,00,00,00,00,03,18,00,8d,00,02,00,01,01,00,00,00,00,00,\
    01,00,00,00,00,00,00,00,00,00,03,18,00,ff,01,0f,00,01,02,00,00,00,00,00,05,\
    20,00,00,00,20,02,00,00,00,03,18,00,8f,00,02,00,01,02,00,00,00,00,00,05,20,\
    00,00,00,23,02,00,00,00,03,18,00,9d,00,00,00,01,01,00,00,00,00,00,05,04,00,\
    00,00,23,02,00,00,00,03,18,00,9d,00,00,00,01,02,00,00,00,00,00,05,20,00,00,\
    00,21,02,00,00,01,01,00,00,00,00,00,05,12,00,00,00,01,01,00,00,00,00,00,05,\
    12,00,00,00
    0x1,"ControlSet001\Enum\Root\LEGACY_DCOMLAUNCH\0000","Service","DcomLaunch"
    0x4,"ControlSet001\Enum\Root\LEGACY_DCOMLAUNCH\0000","Legacy",0x1
    0x4,"ControlSet001\Enum\Root\LEGACY_DCOMLAUNCH\0000","ConfigFlags",0x0
    0x1,"ControlSet001\Enum\Root\LEGACY_DCOMLAUNCH\0000","Class","LegacyDriver"
    0x1,"ControlSet001\Enum\Root\LEGACY_DCOMLAUNCH\0000","ClassGUID","{8ECC055D-047F-11D1-A537-0000F8753ED1}"
    0x1,"ControlSet001\Enum\Root\LEGACY_DCOMLAUNCH\0000","DeviceDesc","DCOM Services."
    0x1,"ControlSet001\Enum\Root\LEGACY_DCOMLAUNCH\0000\Control","ActiveService","DcomLaunch"
    0x4,"ControlSet001\Enum\Root\LEGACY_DCOMLAUNCH","NextInstance",0x1
    [Software.AddReg]
    0x1,"Classes\CLSID\{E0393303-90D4-4A97-AB71-E9B671EE2729}",,"VDS ProxyStub"
    0x2,"Classes\CLSID\{E0393303-90D4-4A97-AB71-E9B671EE2729}\InprocServer32",,"%SystemRoot%\System32\vds_ps.dll"
    0x1,"Classes\CLSID\{E0393303-90D4-4A97-AB71-E9B671EE2729}\InprocServer32","ThreadingModel","Both"
    0x1,"Classes\CLSID\{F2C2787D-95AB-40D4-942D-298F5F757874}",,"PSFactoryBuffer"
    0x2,"Classes\CLSID\{F2C2787D-95AB-40D4-942D-298F5F757874}\InprocServer32",,"%SystemRoot%\System32\vds_ps.dll"
    0x1,"Classes\CLSID\{F2C2787D-95AB-40D4-942D-298F5F757874}\InprocServer32","ThreadingModel","Both"
    0x1,"Classes\Interface\{88306BB2-E71F-478C-86A2-79DA200A0F11}",,"IVdsVolume"
    0x1,"Classes\Interface\{88306BB2-E71F-478C-86A2-79DA200A0F11}\ProxyStubClsid32",,"{E0393303-90D4-4A97-AB71-E9B671EE2729}"
    0x1,"Classes\Interface\{9882F547-CFC3-420B-9750-00DFBEC50662}",,"IVdsCreatePartitionEx"
    0x1,"Classes\Interface\{9882F547-CFC3-420B-9750-00DFBEC50662}\ProxyStubClsid32",,"{E0393303-90D4-4A97-AB71-E9B671EE2729}"
    0x1,"Classes\Interface\{98F17BF3-9F33-4F12-8714-8B4075092C2E}",,"IVdsHwProviderPrivate"
    0x1,"Classes\Interface\{98F17BF3-9F33-4F12-8714-8B4075092C2E}\ProxyStubClsid32",,"{E0393303-90D4-4A97-AB71-E9B671EE2729}"
    0x1,"Classes\Interface\{9AA58360-CE33-4F92-B658-ED24B14425B8}",,"IVdsSwProvider"
    0x1,"Classes\Interface\{9AA58360-CE33-4F92-B658-ED24B14425B8}\ProxyStubClsid32",,"{E0393303-90D4-4A97-AB71-E9B671EE2729}"
    0x1,"Classes\Interface\{CB53D96E-DFFB-474A-A078-790D1E2BC082}\ProxyStubClsid32",,"{E0393303-90D4-4A97-AB71-E9B671EE2729}"
    0x1,"Classes\Interface\{D188E97D-85AA-4D33-ABC6-26299A10FFC1}",,"IVdsAdmin"
    0x1,"Classes\Interface\{D188E97D-85AA-4D33-ABC6-26299A10FFC1}\ProxyStubClsid32",,"{E0393303-90D4-4A97-AB71-E9B671EE2729}"
    0x1,"Classes\Interface\{D5D23B6D-5A55-4492-9889-397A3C2D2DBC}",,"IVdsAsync"
    0x1,"Classes\Interface\{D5D23B6D-5A55-4492-9889-397A3C2D2DBC}\ProxyStubClsid32",,"{E0393303-90D4-4A97-AB71-E9B671EE2729}"
    0x1,"Classes\Interface\{D99BDAAE-B13A-4178-9FDB-E27F16B4603E}",,"IVdsHwProvider"
    0x1,"Classes\Interface\{D99BDAAE-B13A-4178-9FDB-E27F16B4603E}\ProxyStubClsid32",,"{E0393303-90D4-4A97-AB71-E9B671EE2729}"
    0x1,"Classes\Interface\{DAEBEEF3-8523-47ED-A2B9-05CECCE2A1AE}",,"IVdsMaintenance"
    0x1,"Classes\Interface\{DAEBEEF3-8523-47ED-A2B9-05CECCE2A1AE}\ProxyStubClsid32",,"{E0393303-90D4-4A97-AB71-E9B671EE2729}"
    0x1,"Classes\Interface\{E0393303-90D4-4A97-AB71-E9B671EE2729}",,"IVdsServiceLoader"
    0x1,"Classes\Interface\{E0393303-90D4-4A97-AB71-E9B671EE2729}\ProxyStubClsid32",,"{E0393303-90D4-4A97-AB71-E9B671EE2729}"
    0x1,"Classes\Interface\{9882F547-CFC3-420B-9750-00DFBEC50662}",,"IVdsCreatePartitionEx"
    0x1,"Classes\Interface\{9882F547-CFC3-420B-9750-00DFBEC50662}\ProxyStubClsid32",,"{E0393303-90D4-4A97-AB71-E9B671EE2729}"
    0x1,"Classes\Interface\{E0393303-90D4-4A97-AB71-E9B671EE2729}",,"IVdsServiceLoader"
    0x1,"Classes\Interface\{E0393303-90D4-4A97-AB71-E9B671EE2729}\ProxyStubClsid32",,"{E0393303-90D4-4A97-AB71-E9B671EE2729}"
    0x1,"Classes\Interface\{0EE1A790-5D2E-4ABB-8C99-C481E8BE2138}",,"IVdsLunPlex"
    0x1,"Classes\Interface\{0EE1A790-5D2E-4ABB-8C99-C481E8BE2138}\ProxyStubClsid32",,"{E0393303-90D4-4A97-AB71-E9B671EE2729}"
    0x1,"Classes\Interface\{0EE1A790-5D2E-4ABB-8C99-C481E8BE2138}",,"IVdsLunPlex"
    0x1,"Classes\Interface\{0EE1A790-5D2E-4ABB-8C99-C481E8BE2138}\ProxyStubClsid32",,"{E0393303-90D4-4A97-AB71-E9B671EE2729}"
    0x1,"Classes\Interface\{0818A8EF-9BA9-40D8-A6F9-E22833CC771E}",,"IVdsService"
    0x1,"Classes\Interface\{0818A8EF-9BA9-40D8-A6F9-E22833CC771E}\ProxyStubClsid32",,"{E0393303-90D4-4A97-AB71-E9B671EE2729}"
    0x1,"Classes\Interface\{07E5C822-F00C-47A1-8FCE-B244DA56FD06}",,"IVdsDisk"
    0x1,"Classes\Interface\{07E5C822-F00C-47A1-8FCE-B244DA56FD06}\ProxyStubClsid32",,"{E0393303-90D4-4A97-AB71-E9B671EE2729}"
    0x1,"Classes\Interface\{0316560B-5DB4-4ED9-BBB5-213436DDC0D9}",,"IVdsRemovable"
    0x1,"Classes\Interface\{0316560B-5DB4-4ED9-BBB5-213436DDC0D9}\ProxyStubClsid32",,"{E0393303-90D4-4A97-AB71-E9B671EE2729}"
    0x1,"Classes\Interface\{3540A9C7-E60F-4111-A840-8BBA6C2C83D8}",,"IVdsLun"
    0x1,"Classes\Interface\{3540A9C7-E60F-4111-A840-8BBA6C2C83D8}\ProxyStubClsid32",,"{E0393303-90D4-4A97-AB71-E9B671EE2729}"
    0x1,"Classes\Interface\{33B87426-5C06-49F4-84BD-F486B1B4A21D}",,"IVdsMigrateDisks"
    0x1,"Classes\Interface\{33B87426-5C06-49F4-84BD-F486B1B4A21D}\ProxyStubClsid32",,"{E0393303-90D4-4A97-AB71-E9B671EE2729}"
    0x1,"Classes\Interface\{11F3CD41-B7E8-48FF-9472-9DFF018AA292}",,"IVdsProviderPrivate"
    0x1,"Classes\Interface\{11F3CD41-B7E8-48FF-9472-9DFF018AA292}\ProxyStubClsid32",,"{E0393303-90D4-4A97-AB71-E9B671EE2729}"
    0x1,"Classes\Interface\{118610B7-8D94-4030-B5B8-500889788E4E}",,"IEnumVdsObject"
    0x1,"Classes\Interface\{118610B7-8D94-4030-B5B8-500889788E4E}\ProxyStubClsid32",,"{E0393303-90D4-4A97-AB71-E9B671EE2729}"
    0x1,"Classes\Interface\{10C5E575-7984-4E81-A56B-431F5F92AE42}",,"IVdsProvider"
    0x1,"Classes\Interface\{10C5E575-7984-4E81-A56B-431F5F92AE42}\ProxyStubClsid32",,"{E0393303-90D4-4A97-AB71-E9B671EE2729}"
    0x1,"Classes\Interface\{E882C452-CF37-482A-BBFF-E6EE614E8023}",,"IVdsSwProviderPrivate"
    0x1,"Classes\Interface\{E882C452-CF37-482A-BBFF-E6EE614E8023}\ProxyStubClsid32",,"{E0393303-90D4-4A97-AB71-E9B671EE2729}"
    0x1,"Classes\Interface\{EE2D5DED-6236-4169-931D-B9778CE03DC6}",,"IVdsVolumeMF"
    0x1,"Classes\Interface\{EE2D5DED-6236-4169-931D-B9778CE03DC6}\ProxyStubClsid32",,"{E0393303-90D4-4A97-AB71-E9B671EE2729}"
    0x1,"Classes\Interface\{FF24EFA4-AADE-4B6B-898B-EAA6A20887C7}",,"IVdsDrive"
    0x1,"Classes\Interface\{FF24EFA4-AADE-4B6B-898B-EAA6A20887C7}\ProxyStubClsid32",,"{E0393303-90D4-4A97-AB71-E9B671EE2729}"
    0x1,"Classes\Interface\{3B69D7F5-9D94-4648-91CA-79939BA263BF}",,"IVdsPack"
    0x1,"Classes\Interface\{3B69D7F5-9D94-4648-91CA-79939BA263BF}\ProxyStubClsid32",,"{E0393303-90D4-4A97-AB71-E9B671EE2729}"
    0x1,"Classes\Interface\{4AFC3636-DB01-4052-80C3-03BBCB8D3C69}",,"IVdsServiceInitialization"
    0x1,"Classes\Interface\{4AFC3636-DB01-4052-80C3-03BBCB8D3C69}\ProxyStubClsid32",,"{E0393303-90D4-4A97-AB71-E9B671EE2729}"
    0x1,"Classes\Interface\{4DAA0135-E1D1-40F1-AAA5-3CC1E53221C3}",,"IVdsVolumePlex"
    0x1,"Classes\Interface\{4DAA0135-E1D1-40F1-AAA5-3CC1E53221C3}\ProxyStubClsid32",,"{E0393303-90D4-4A97-AB71-E9B671EE2729}"
    0x1,"Classes\Interface\{54D1F9E3-7FD3-421A-AF9C-53C2D8EE5BCF}",,"IVdsOwnershipChangeQuery"
    0x1,"Classes\Interface\{54D1F9E3-7FD3-421A-AF9C-53C2D8EE5BCF}\ProxyStubClsid32",,"{E0393303-90D4-4A97-AB71-E9B671EE2729}"
    0x1,"Classes\Interface\{6E6F6B40-977C-4069-BDDD-AC710059F8C0}\ProxyStubClsid32",,"{E0393303-90D4-4A97-AB71-E9B671EE2729}"
    0x1,"Classes\Interface\{6FCEE2D3-6D90-4F91-80E2-A5C7CAACA9D8}",,"IVdsSubSystem"
    0x1,"Classes\Interface\{6FCEE2D3-6D90-4F91-80E2-A5C7CAACA9D8}\ProxyStubClsid32",,"{E0393303-90D4-4A97-AB71-E9B671EE2729}"
    0x1,"Classes\Interface\{8326CD1D-CF59-4936-B786-5EFC08798E25}",,"IVdsAdviseSink"
    0x1,"Classes\Interface\{8326CD1D-CF59-4936-B786-5EFC08798E25}\ProxyStubClsid32",,"{E0393303-90D4-4A97-AB71-E9B671EE2729}"
    Brian / ChevyNovaLN

  • Hi i would like to know how to extend the range of my time capsule wifi network(500G 802.11n) using an airport express. i have a double storey home and would like to extend range to my upstairs bedrooms.i have a time capsules network setup via a netgear a

    hi i would like to know how to extend the range of my time capsule wifi network(500G 802.11n) using an airport express. i have a double storey home and would like to extend range to my upstairs bedrooms.i have a time capsules network setup via a netgear adsl.i have a second imac upstairs which connects to time capsule wifi network (it is within range as it is directly abobe on 1st floor)
    could you tell me how best to set airport express up to extend my wifi range?

    Greetings,
    This is called an "Extended wireless network".
    Read this article for details and steps on how to extend your TimeCapsule's network:
    http://support.apple.com/kb/HT4259
    Cheers.

  • How to get the function name/ID  of the current page

    HI,
    I searched the forum and google, but it is not clear on how to get the function name of the current page.
    I have 4 functions in my self service A ,B,C,D (seeded page links ) they all have to go to a page called hhhPG. Based on which function user is clicks I have to show the data in hhhPG.
    so my question is how to get the function name ? I mean I need to know if user click on link A , B, C or D link and came to this page.
    I found below in one forum and also there is getfunctionID in pageContext , but I do not know what to pass to getfunctionid("???") to get value.
    FunctionSecurity funcSecurity = pageContext.getFunctionSecurity();
    Or is there a better way of know where user is coming from ? like geturl....
    Please help, I need this ASAP.
    Thank you.

    Use below to find out how the user came into the page
    FunctionSecurity funcSecurity = pageContext.getFunctionSecurity();
    boolean isFunc1 = funcSecurity.testFunction(funcSecurity.getFunction("YOUR_FUNCTION_SHORT_NAME1"));
    boolean isFunc2 = funcSecurity.testFunction(funcSecurity.getFunction("YOUR_FUNCTION_SHORT_NAME2"));
    boolean isFunc3 = funcSecurity.testFunction(funcSecurity.getFunction("YOUR_FUNCTION_SHORT_NAME3"));
    boolean isFunc4 = funcSecurity.testFunction(funcSecurity.getFunction("YOUR_FUNCTION_SHORT_NAME4"));
    So one of them will be true based on the function the user came in.
    Write your logic based on these flags.
    Regards,
    Peddi.

  • How to use the function module 'HR_ES_FEATURE_BACKFIELD'

    Hi,
    How to use the function module 'HR_ES_FEATURE_BACKFIELD'?
    I need the usage from both technical as well as functional point of view.
    What is the use of this function module and technically how it is to be used to retrieve a feature for a particular employee.

    hey iam from functional side can u be little bit clear of that feature
    thanks
    sikindar

  • Hi fellow apple guys, i have this problem. Hope you can help me. I don't know how to use the function keys (F1 to F12) on my macbook air. Pls help

    Hi fellow apple guys, i have this problem. Hope you can help me. I don't know how to use the function keys (F1 to F12) on my macbook air. Pls help

    Out of the box, to use the function keys as function keys, hold down the fn key when you press the key. Otherwise, you get the picture function on the key. You can reverse this behavior in the Keyboard system prefs.

  • How to get the function name in controller class

    Hi experts ,
    I am new to the OAF framework.
    i have created the two functions and bot he the function have the same controller class .i want to capture the function name or function id in the controller class.
    can you please let me know how to get the function id or function name in the controller class.

    Hi apurba,
    Thanks for the quick reply.
    i am trying to get the function name from the FunctionSecurity class,
    However in FunctionSecurity class there is no such method defined as getFunctionName();
    my requirement is ,i have two functions functionA and functionB defined.
    both the function has the same controller class.in controller class ,i need to get the function name ,based on the function name
    i will redirect the page to respective page.
    looking forward for you response.
    appreciate your help
    Thanks,
    KT

  • How to use the function module ....

    hi
    how to use the function module ssf_function_module_name in smartforms

    Hi..
    If you are using this Function module, you can get the generated function module name of smartform dynamically. It is good progrmaming practice to get the fucntion module name dynamically because there might be some problems if you are hard coding in program.
    This will return the name of the function module and then from the exporting parameters you can use the fucntion module name to pass parameters to Smartforms.
    Check this link.I am expalining here how to use this function module.
    https://wiki.sdn.sap.com/wiki/pages/pointstab/viewpageversion.action?pageId=36109&version=2
    Calling SMARTFORMS from your ABAP program
    REPORT ZSMARTFORM.
    Calling SMARTFORMS from your ABAP program.
    Collecting all the table data in your program, and pass once to SMARTFORMS
    SMARTFORMS
    Declare your table type in :-
    Global Settings -> Form Interface
    Global Definintions -> Global Data
    Main Window -> Table -> DATA
    Written by : SAP Hints and Tips on Configuration and ABAP/4 Programming
    http://sapr3.tripod.com
    TABLES: MKPF.
    DATA: FM_NAME TYPE RS38L_FNAM.
    DATA: BEGIN OF INT_MKPF OCCURS 0.
    INCLUDE STRUCTURE MKPF.
    DATA: END OF INT_MKPF.
    SELECT-OPTIONS S_MBLNR FOR MKPF-MBLNR MEMORY ID 001.
    SELECT * FROM MKPF WHERE MBLNR IN S_MBLNR.
    MOVE-CORRESPONDING MKPF TO INT_MKPF.
    APPEND INT_MKPF.
    ENDSELECT.
    At the end of your program.
    Passing data to SMARTFORMS
    call function 'SSF_FUNCTION_MODULE_NAME'
    exporting
    formname = 'ZSMARTFORM'
    VARIANT = ' '
    DIRECT_CALL = ' '
    IMPORTING
    FM_NAME = FM_NAME
    EXCEPTIONS
    NO_FORM = 1
    NO_FUNCTION_MODULE = 2
    OTHERS = 3.
    if sy-subrc <> 0.
    WRITE: / 'ERROR 1'.
    MESSAGE ID SY-MSGID TYPE SY-MSGTY NUMBER SY-MSGNO
    WITH SY-MSGV1 SY-MSGV2 SY-MSGV3 SY-MSGV4.
    endif.
    call function FM_NAME
    EXPORTING
    ARCHIVE_INDEX =
    ARCHIVE_INDEX_TAB =
    ARCHIVE_PARAMETERS =
    CONTROL_PARAMETERS =
    MAIL_APPL_OBJ =
    MAIL_RECIPIENT =
    MAIL_SENDER =
    OUTPUT_OPTIONS =
    USER_SETTINGS = 'X'
    IMPORTING
    DOCUMENT_OUTPUT_INFO =
    JOB_OUTPUT_INFO =
    JOB_OUTPUT_OPTIONS =
    TABLES
    GS_MKPF = INT_MKPF
    EXCEPTIONS
    FORMATTING_ERROR = 1
    INTERNAL_ERROR = 2
    SEND_ERROR = 3
    USER_CANCELED = 4
    OTHERS = 5.
    if sy-subrc <> 0.
    MESSAGE ID SY-MSGID TYPE SY-MSGTY NUMBER SY-MSGNO
    WITH SY-MSGV1 SY-MSGV2 SY-MSGV3 SY-MSGV4.
    endif.
    <b>Reward points if useful</b>
    Regards
    Ashu

  • How to use the function module /IRM/IPBB_AGREEMENT_CREATE.

    Hi all,
    Please help me how to use the function module /IRM/IPBB_AGREEMENT_CREATE.
    It is a Vistex fuction module which is used to create Sales contract in SAP-Vistex. If anyone has use the function module and do have the sample code please share it.
    Thanks.

    FORM create_agreement TABLES pt_agreement
                                           CHANGING po_agreement .
      CONSTANTS: c_strt_knumh TYPE knumh VALUE '0000000000'.
      DATA: lc_kona  TYPE /irm/s_gkona,
            lc_cbasp TYPE /irm/s_ipcbasp,
          lt_cbapr TYPE /irm/t_ipcbapr,         "Partners
          lc_cbapr TYPE /irm/s_ipcbapr,
          lt_cbadt TYPE  /irm/t_ipcbadt,        "Dates
          lc_cbadt TYPE  /irm/s_ipcbadt,
          lt_cbafs TYPE  /irm/t_ipcbafs,
          lc_cbafs TYPE  /irm/s_ipcbafs,
          lt_cbacn TYPE  /irm/t_ipcbacn,
          lc_cbacn TYPE  /irm/s_ipcbacn,
          lt_cbacl TYPE  /irm/t_ipcbacl,
          lc_cbacl TYPE  /irm/s_ipcbacl,
          lt_cbtpv TYPE  /irm/t_ipagtpv,
          lc_cbtpv TYPE  /irm/s_ipagtpv,
          lt_texts TYPE  text_lh,
          lc_texts TYPE  itclh,
          lt_cbasd TYPE  /irm/t_ipcbasd,
          lc_cbasd TYPE  /irm/s_ipcbasd,
          lc_agreement    TYPE  /irm/s_ipcbasp_doc,
          lc_e_log_number TYPE  balognr,
          lt_messages     TYPE  /irm/t_gprolog.
      DATA: lt_vake      TYPE  cond_vakevb_t,
            lc_vake      TYPE LINE OF cond_vakevb_t,
            lt_konh      TYPE  /irm/t_gkonh,
            lc_konh      TYPE LINE OF /irm/t_gkonh,
            lt_konp      TYPE  /irm/t_gkonp,
            lc_konp      TYPE LINE OF /irm/t_gkonp,
            lt_konw      TYPE  /irm/t_gkonwu,
            lc_konw      TYPE LINE OF /irm/t_gkonwu,
            lt_konm      TYPE  /irm/t_gkonmu,
            lc_konm      TYPE LINE OF  /irm/t_gkonmu,
            lt_komg      TYPE  /irm/t_gkomg_index,
            lc_komg      TYPE LINE OF /irm/t_gkomg_index,
            lt_user_data TYPE  /irm/t_gpraxfu_index,
            lc_user_data TYPE LINE OF /irm/t_gpraxfu_index.
      DATA: lc_updt(1) TYPE c.
      DATA: lc_knumh TYPE knumh.
      DATA: BEGIN OF lc_str_knumh,
             hd(2) TYPE c VALUE '$$',
             inc_num(8) TYPE c,
            END OF lc_str_knumh.
      DATA: blank_agree_key TYPE knuma VALUE '~~~~~~~~~~'.
      FIELD-SYMBOLS <konh_line> LIKE LINE OF lt_konh.
      FIELD-SYMBOLS <konp_line> LIKE LINE OF lt_konp.
      DATA: lc_rule TYPE type_key_rule.
      READ TABLE pt_agreement INTO lc_rule INDEX 1.
    SELECT SINGLE * FROM  kona
            WHERE  vkorg   = lc_rule-vkorg
            AND    vtweg   = '10'
            AND    spart   = '10'
            AND    boart   = 'ZPS1'
            AND    botext  = lc_rule-sap_agkey.
    IF sy-subrc = 0.
       lc_updt = 'U'.
    ELSE.
      lc_updt = 'I'.
    ENDIF.
      LOOP AT pt_agreement INTO lc_rule.
        MOVE sy-tabix TO lc_str_knumh-inc_num.
        CONDENSE lc_str_knumh-inc_num NO-GAPS.
        WHILE lc_str_knumh-inc_num+7(1) = ' '.
          CONCATENATE '0' lc_str_knumh-inc_num INTO lc_str_knumh-inc_num.
          CONDENSE lc_str_knumh-inc_num NO-GAPS.
        ENDWHILE.
        CONCATENATE '$$' lc_knumh INTO lc_knumh.
        MOVE lc_str_knumh TO lc_knumh.
       MOVE c_strt_knumh TO lc_knumh.
        CLEAR: lc_konh, lc_konp, lc_komg.
        MOVE: lc_rule-vkorg    TO lc_komg-komg-vkorg,
              '10'             TO lc_komg-komg-vtweg,
              '10'             TO lc_komg-komg-spart,
              p_waers          TO lc_komg-komg-waerk,
              '1300'           TO lc_komg-komg-bukrs,
              lc_rule-lifnr    TO lc_komg-komg-lifnr,
              lc_knumh         TO lc_komg-knumh,
              lc_knumh         TO lc_konh-knumh,
              lc_knumh         TO lc_konp-knumh,
              lc_rule-datab    TO lc_konh-datab,
              lc_rule-datbi    TO lc_konh-datbi.
        CASE lc_rule-tablnam.
          WHEN 'A701'.                   "Every Agreement will have a A701 rule -
            "Therefore we acn setup the header using A701
            MOVE: 'New       '  TO lc_kona-knuma,
                  lc_rule-vkorg TO lc_kona-vkorg,
                  '10'          TO lc_kona-vtweg,
                  '10'          TO lc_kona-spart,
                  'ZPS1'        TO lc_kona-boart,
                  'C'           TO lc_kona-abtyp,
                  'V'           TO lc_kona-kappl,
                  p_waers       TO lc_kona-waers,
                  lc_rule-knuma_ag TO lc_kona-abrex,
                  'ZPS2'        TO lc_kona-kobog,
                  lc_rule-datab TO lc_kona-datab,
                  lc_rule-datbi TO lc_kona-datbi,
                  lc_rule-sap_agkey TO lc_kona-botext,
                  '1300'        TO lc_kona-bukrs,
                  'I'           TO lc_kona-updkz.
            MOVE: 'New       '  TO lc_cbasp-knuma_ag,
                  'ZPS1'        TO lc_cbasp-boart_ag,
                  p_waers       TO lc_cbasp-waers,
                  'A'           TO lc_cbasp-setl_mth,
                  'B'           TO lc_cbasp-setl_typ,
                  'A2'          TO lc_cbasp-ident,
                  'E'           TO lc_cbasp-setlm,
                  'ZPDA'        TO lc_cbasp-pargr,
                  'X'           TO lc_cbasp-npric,
                  'LF'          TO lc_cbasp-stprl,
                  lc_rule-lifnr TO lc_cbasp-stpar,
                  lc_rule-contract_rev  TO lc_cbasp-rvnum,
                  'I'           TO lc_cbasp-updkz.
            CONCATENATE: blank_agree_key
                   lc_rule-lifnr        INTO lc_konh-vakey.
            MOVE: lc_rule-lifnr TO lc_konp-lifnr.
          WHEN 'A703'.
            CONCATENATE: blank_agree_key
                         lc_rule-kunnr      INTO lc_konh-vakey.
            MOVE lc_rule-kunnr TO lc_komg-komg-kunnr.
          WHEN 'A709'.
            CONCATENATE: blank_agree_key
            lc_rule-zzprodh1  lc_rule-zzprodh2  lc_rule-zzprodh3
                   lc_rule-zzprodh4  lc_rule-zzprodh5 INTO lc_konh-vakey.
            CONCATENATE: lc_rule-zzprodh1  lc_rule-zzprodh2  lc_rule-zzprodh3
                   lc_rule-zzprodh4  lc_rule-zzprodh5 INTO lc_komg-komg-prodh.
          WHEN 'A710'.
            CONCATENATE: blank_agree_key
                lc_rule-matkl   INTO lc_konh-vakey.
            MOVE lc_rule-matkl TO lc_komg-komg-matkl.
          WHEN 'A711'.
            CONCATENATE: blank_agree_key
                 lc_rule-matnr   INTO lc_konh-vakey.
            MOVE lc_rule-matnr TO lc_komg-komg-matnr.
            IF lc_rule-kschl = 'ZPPL'.
              MOVE: 'C'              TO lc_konp-krech,
                    'CAD'              TO lc_konp-konwa.
              lc_konp-kbetr = lc_rule-net_po_price * 1.
            ENDIF.
          WHEN 'A717'.
          WHEN 'A718'.
            CONCATENATE: blank_agree_key
                 lc_rule-zzextwg INTO lc_konh-vakey.
            MOVE lc_rule-zzextwg TO lc_komg-komg-zzextwg.
         WHEN 'A719'.
           CONCATENATE: blank_agree_key
                lc_rule-werks INTO lc_konh-vakey.
           MOVE lc_rule-werks TO lc_komg-komg-werks.
         WHEN 'A721'.
           CONCATENATE: blank_agree_key
                 lc_rule-kunnr lc_rule-werks INTO lc_konh-vakey.
           MOVE: lc_rule-kunnr TO lc_konp-kunnr,
                 lc_rule-kunnr TO lc_komg-komg-kunnr.
          WHEN 'A722'.
            CONCATENATE: blank_agree_key
                         lc_rule-vkbur INTO lc_konh-vakey.
            MOVE lc_rule-vkbur TO lc_komg-komg-vkbur.
          WHEN 'A724'.
            CONCATENATE: blank_agree_key
                          lc_rule-kunnr lc_rule-vkbur INTO lc_konh-vakey.
            MOVE: lc_rule-kunnr TO lc_konp-kunnr,
                  lc_rule-kunnr TO lc_komg-komg-kunnr,
                  lc_rule-vkbur TO lc_komg-komg-vkbur.
        ENDCASE.
        MOVE: 'A'                  TO lc_konh-kvewe,
              lc_rule-tablnam+1(3) TO lc_konh-kotabnr,
              lc_rule-kappl        TO lc_konh-kappl,
              lc_rule-kschl        TO lc_konh-kschl.
        REPLACE ALL OCCURRENCES OF '~' IN lc_konh-vakey WITH ' '.
        APPEND lc_konh TO lt_konh.
        CLEAR lc_konh.
    *--- Add in the KONP.Do we need to add
        MOVE: lc_rule-kappl        TO lc_konp-kappl,
              lc_rule-kschl        TO lc_konp-kschl,
              'G'                  TO lc_konp-krech.
        IF lc_rule-kschl+3(1) = '%'.
          MOVE: 'A'              TO lc_konp-krech,
                '%'              TO lc_konp-konwa.
          lc_konp-kbetr = lc_rule-rebate_perc * 1.
        ENDIF.
        APPEND lc_konp TO lt_konp. CLEAR lc_konp.
        APPEND lc_komg TO lt_komg. CLEAR lc_komg.
      ENDLOOP.
      IF  lc_updt = 'I'.
        CALL FUNCTION '/IRM/IPCB_AGREEMENT_CREATE'
          EXPORTING
          I_MESSAGES_DISPLAY        = ' '
          I_SAVE_MESSAGES           = ' '
          I_COMMIT_WORK             = 'X'
          I_CALL_FROM_WS            = ' '
            is_kona                   = lc_kona
            is_cbasp                  = lc_cbasp
            it_cbapr                  = lt_cbapr
            it_cbadt                  = lt_cbadt
            it_cbafs                  = lt_cbafs
            it_cbacn                  = lt_cbacn
            it_cbacl                  = lt_cbacl
            it_cbtpv                  = lt_cbtpv
            it_texts                  = lt_texts
            it_cbasd                  = lt_cbasd
          IMPORTING
            es_agreement              = lc_agreement
            e_log_number              = lc_e_log_number
          TABLES
            t_messages                = lt_messages
         CHANGING
          CT_VAKE                   = lt_vake
          ct_konh                   = lt_konh
          ct_konp                   = lt_konp
          CT_KONW                   = lt_konw
          CT_KONM                   = lt_konm
           ct_komg                   = lt_komg
          CT_USER_DATA              = lt_usr_data
          EXCEPTIONS
            no_documents_to_process   = 1
            no_authorization          = 2
            creation_failed           = 3
            new_pricing_not_maitained = 4
            OTHERS                    = 5.
        IF sy-subrc <> 0.
    Implement suitable error handling here
        ELSE.
          MOVE: lc_agreement-knuma_ag TO po_agreement,
                lc_agreement-knuma_ag TO lc_kona-knuma.
        ENDIF.
        APPEND LINES OF lt_messages TO gt_messages.
      ELSE.
        MOVE-CORRESPONDING kona TO lc_kona.
      ENDIF.
      LOOP AT lt_konh ASSIGNING <konh_line>.
        MOVE lc_kona-knuma TO <konh_line>-vakey+0(10).
       move '&'           to <konh_line>-knumh+0(1).
      ENDLOOP.
      LOOP AT lt_konp ASSIGNING <konp_line>.
       MOVE lc_kona-knuma TO <konp_line>-vakey+0(10).
        move '&'           to <konh_line>-knumh+0(1).
      ENDLOOP.
      lc_kona-updkz = 'U'.
      lc_cbasp-updkz = 'U'.
      CLEAR lt_messages.
      CALL FUNCTION '/IRM/IPCB_AGREEMENT_CHANGE'
        EXPORTING
        I_MESSAGES_DISPLAY      = ' '
        I_SAVE_MESSAGES         = ' '
        I_COMMIT_WORK           = 'X'
        I_INIT_DATA             = 'X'
          is_kona                 = lc_kona
          is_cbasp                = lc_cbasp
         it_cbapr                = lt_cbapr
         it_cbadt                = lt_cbadt
         it_cbafs                = lt_cbafs
         it_cbacl                = lt_cbacl
         it_cbacn                = lt_cbacn
        IT_FIELDS               =
         it_texts                = lt_texts
       IMPORTING
         e_log_number            = lc_e_log_number
         TABLES
           t_messages              = lt_messages
        CHANGING
          cs_agreement            = lc_agreement
        CT_VAKE                 = lt_vake
          ct_konh                 = lt_konh
          ct_konp                 = lt_konp
        CT_KONW                 = lt_konw
        CT_KONM                 = lt_konm
          ct_komg                 = lt_komg
        CT_USER_DATA            = lt_usr_data
        EXCEPTIONS
          no_documents_to_process = 1
          no_authorization        = 2
          change_failed           = 3
          agreement_locked        = 4
          OTHERS                  = 5.
    IF sy-subrc <> 0.
    Implement suitable error handling here
    ENDIF.
      APPEND LINES OF lt_messages TO gt_messages.
    ENDFORM.                    " CREATE_AGREEMENT

  • How to Use the Function Module 'BAPI_BUSPROCESSND_CHANGEMULTI'

    Dear Experts,
             Can anyone Explain me how to Use the Function Module 'BAPI_BUSPROCESSND_CHANGEMULTI'.My Requirement is i want to change the Partners of the Service Order.It is Very Urgent Requirement Please Help me.
    Thanks & Regards,
    Ashok.

    Hi,
    For service order you can use FM 'BAPI_ACTIVITYCRM_CHANGEMULTI' as it is much easier to use.
    Sample code is below. You can use that:
    "fill the details of partner which is
              "to be added as main partner or in place of Interaction Agent
              wa_partner_new-ref_guid = w_guid_ref.
              wa_partner_new-ref_handle = '0000000000'.
              wa_partner_new-ref_kind = 'A'.
              wa_partner_new-kind_of_entry = wa_partner-kind_of_entry.
              wa_partner_new-ref_partner_handle = '0000'.
              wa_partner_new-ref_partner_fct = 'Z_IA'.
    "wa_partner-partner_no : New partner no.
              wa_partner_new-ref_partner_no = wa_partner-partner_no.
              wa_partner_new-ref_no_type = wa_partner-ref_no_type.
              wa_partner_new-ref_display_type = wa_partner-ref_display_type.
              wa_partner_new-display_type = 'BP'.
              wa_partner_new-no_type = 'BP'.
              wa_partner_new-partner_fct = 'Z_IA'.
    "w_partner_no : Old partner no. which is to be changed
              wa_partner_new-partner_no = w_partner_no.
              wa_partner_new-mainpartner = 'X'.
              INSERT wa_partner_new INTO TABLE it_partner_new.
              wa_partner_newx-display_type = 'X'.
              wa_partner_newx-no_type = 'X'.
              wa_partner_newx-partner_fct = 'X'.
              wa_partner_newx-partner_no = 'X'.
              wa_partner_newx-mainpartner = 'X'.
              INSERT wa_partner_newx INTO TABLE it_partner_newx.
      IF it_partner_new[] IS NOT INITIAL AND it_partner_newx[] IS NOT INITIAL.
        "maintain all changes to be done
        CALL FUNCTION 'BAPI_ACTIVITYCRM_CHANGEMULTI'
          TABLES
            partner  = it_partner_new
            partnerx = it_partner_newx.
        CLEAR : wa_guid1.
        REFRESH : it_guid1.
        wa_guid1-guid = w_guid_ref.
        APPEND wa_guid1 TO it_guid1.
        "save the changes
        CALL FUNCTION 'BAPI_ACTIVITYCRM_SAVE'
          TABLES
            objects_to_save = it_guid1.
        "commit the transaction
        CALL FUNCTION 'BAPI_TRANSACTION_COMMIT'.
      ENDIF.
    Reply fro any further help.
    Please reward points if helpful.
    Regards,
    Ashlesha

Maybe you are looking for