Doubts in the program

Hi,
I got a few doubts in my program to display the top of page using OOPS.
IF o_html_cntrl IS INITIAL.
    CREATE OBJECT o_html_cntrl
      EXPORTING
        parent = o_parent_top.
  ENDIF.
  CALL METHOD o_dyndoc_id->merge_document.
o_dyndoc_id->html_control = o_html_cntrl.        <---- what is the use of this statemnt*
Display document
  CALL METHOD o_dyndoc_id->display_document
    EXPORTING
      reuse_control      = 'X'
      parent             = o_parent_top
    EXCEPTIONS
      html_display_error = 1.
  IF sy-subrc NE 0.
    MESSAGE 'Error in displaying top-of-page' type 'I'.
  ENDIF.
and while using class  cl_dd_document how to change the FONT size while using the method ADD_TEXT
regards

Hi,
Please check this link for adding font... in SAP_STYLE of ADD_TEXT method you have to specify the style...
Check the below thread and scroll down to the see the usage of ADD_TEXT method...
Re: CL_GUI_ALV_GRID - display comment above GRID
Hope this would help you.
Good luck,
Narin

Similar Messages

  • Doubt in standard program

    Hi i have a small doubt in while i was performing a transaction code KSB1 by entering that  i got the back ground program in which i saw a statement in the start of program
    but1 = text-bt1.
    so now i want to know what is the use of "but" and can u provide any info regarding that

    Hi Pavan,
    BUT1 is a Variable that will be declared in the Program, it is a Normal variable as like otheres, it is not a keyword.
    and TEXT-BT1 is a text symbol, but this is a Dynamic text symbol, normally we give TEXT-001, but there whatever the value will come to BT1 then it the text will be picked from that text symbols
    Regards
    Sudheer

  • I installed Lightroom CC successfully but cannot open the program. What can I do?

    Dear colleagues,
    I installed Lightroom CC successfully but cannot open the program. What can I do?
    Thanks for you help.

    Puttetorpa
    The situation with Premiere Elements 8.0/8.0.1 and version earlier than it (in particular 3.0/3.0.2) is disturbing with regard to MPEG2 Activation.
    Adobe document says that it no longer supports MPEG2 Activation for versions 8.0/8.0.1 and earlier and points the users of this group of products to a version later than 8.0/8.0.1, the current latest version 12.
    But, I am not sure of the real answer. The doubts are cast by the findings of some who have claimed to have solved the problem using a uninstall/ccleaner/reinstall scheme when they have been met by the MPEG2 Activation issue.
    But, I would ask....Do you have the latest version of QuickTime installed on your Windows 7 64 bit computer? And, are you working with version 3.0 as the 3.0.2 Update?
    Is it still possible to run your Premiere Elements 3.0/3.0.2 on the prior computer on which it was installed?
    Also, does your Windows 7 64 bit come with Windows XP Mode
    Install and use Windows XP Mode in Windows 7
    which is essentially a virtual Windows XP Professional SP3 32 bit.
    As last resort, and highly experimental, but would you have time to experiment by replacing your latest version of QuickTime with the QuickTime Alternative 1.8.1 and then determining what happens with your Premiere Elements 3.0/3.0.2  Windows 7 64 bit situation? Do not bother with the MPEG Streamclip program download, just the QuickTime Alternative 1.8.1.
    http://www.squared5.com/
    Please review, consider, and do what you feel comfortable with. We will be watching for your progress.
    Thank you.
    ATR

  • Have some doubt regarding the  weblog (Lookup's in XI made simpler)

    Hi All,
    I have created the same scenario as mentioned in Siva's weblog (Lookup's in XI made simpler).
    I having some doubts regarding the scenario, it will be great if you help me to resolve the same.
    I am having a file-file scenario where I need to do lookup in database(MS-Access)  through mapping.
    The standard file-file scenario is in place and in addition I have created a receiver jdbc channel . I  have also created the receiver agreement for the same in the cofiguration.
    While creating the receiver agreement you have to specify the interface name which includes the message type…I have specified the normal format which we specify while configuring the jdbc receiver adapter.
    In the message mapping I have created a advance user defined function as mentioned in your weblog which calls my receiver jdbc channel.
    I have also specified the select query to be executed in the mapping program.
    While testing I am getting the following error
    Cannot produce target element /ns0:Role_MT/URole. Check xml instance is valid for source xsd and target-field mapping fulfills requirements of target xsd
    <b>Can you please suggest me what all I need to do in addition to the file-file scenario for this lookup scenario to work.</b>
    Thanks and Regards
    Rahul

    Hi,
    Following is my user defined function
    //write your code here
    String Query = "";
    Channel channel = null;
    DataBaseAccessor accessor = null;
    DataBaseResult resultSet = null;
    Query = "Select URole from  Lookup where UName = '  " + UName[0] + "  ' and UPassword = '  " + Pwd[0] +" '  ";
    try{
    channel = LookupService.getChannel("DB_service","JDBC_channel_receiver");
    accessor = LookupService.getDataBaseAccessor(channel);
    resultSet  = accessor.execute(Query);
    for(Iterator rows = resultSet.getRows();rows.hasNext();){
    Map rowMap = (Map)rows.next();
    result.addValue((String)rowMap.get("URole"));
    catch(Exception ex){
    result.addValue(ex.getMessage());
    finally{
    try{
    if (accessor!= null) accessor.close();
    catch(Exception ex){
    result.addValue(ex.getMessage());
    Thanks and Regards
    Rahul

  • Doubt in this program

    Hi folks,
    I had one small doubt in the below program...
         import java.io.IOException;
    import java.io.PrintWriter;
    import javax.servlet.ServletException;
    import javax.servlet.http.HttpServlet;
    import javax.servlet.http.HttpServletRequest;
    import javax.servlet.http.HttpServletResponse;
    import javax.servlet.http.HttpSession;
    public class CheckingTheSession extends HttpServlet {
         public void doGet(HttpServletRequest request, HttpServletResponse response)
                   throws ServletException, IOException {
              response.setContentType("text/html");
              PrintWriter out = response.getWriter();
              HttpSession session = request.getSession(false); //line 5
              if(session ==  null) {
                   out.print("Old Session<br>");
                   out.print("session value"+session+"<br>");
                   session = request.getSession();   //line 10
              else {
                   out.print("New Session");
                   session = request.getSession();
                   out.print("Session value: "+session+"<br>");
    }The output of the above program is "session Session value: null", If we reload it again, we will be getting as "New Session Session value: org.apache.catalina.session.StandardSessionFacade@9d6065
    My doubt is : When I reload it again, why it is considering as a new session , instead of an old session itself...Ofcourse at line10 , we are asking to create new session but when we reload it at line 5 again we are asking to create an old session only..So why doesn't it care line5 instead which it cares for line`10...?? Can anybody tell me the exact reason for it..

    Looking at your code, i have noticed you are displaying session before the request session itself, as shown below.
    out.print("Old Session<br>");
    out.print("session value"+session+"<br>");
    session = request.getSession();   //line 10try this and tell us whats' is happening;
    out.print("Old Session<br>");
    session = request.getSession();
    out.print("session value"+session+"<br>");also i have notice you are testing for null session, while your aim is to display current session else a new one.
    i think you should be testing if the session already exist like this;
    //if session already exist -  display session value
    if(session !=  null) {
        out.print("Old Session<br>");
        session = request.getSession();   //line 10
        out.print("session value"+session+"<br>");     
    //else create a new session
    else {
         out.print("New Session");
         session = request.getSession();
         out.print("Session value: "+session+"<br>");
    }Hoppe this helps!

  • Note 175842 - Reverse DU: doubts in the implementation

    Hi masters!
    I need to apply the note 175842, but I'm having doubts in the process.
    I did not understand the instructions correctly.
    After adjusting the OMJJ:
    Where do the reversal of DU?
    Through Qa12 or should be created a new program?
    Thx and Hugs
    Edited by: thelunga on Mar 8, 2012 5:46 PM

    SAP note says you have to create new executable program.Create new T code with this program and add name in OMJJ.

  • Doubts in the tables

    Hi All,
    i have a doubt in the following tables.The tables are
    TEBP_ADR_ADD
    TEBP_ADR_SHIP_TO
    Doubt is
    1) What is the purpose of this two tables and relationsip between  
         them.
    2) I found that some address number that are not available in the
         Address master table for Business partner BUT020 and ADRC,so the address no in the above table are related to Business partner.
    3) from where ie..which tcode or program these tables where populated.
    4) is it necessary to update the corresponding Business partner data in the  table TEBP_ADR_SHIP_TO when we do any changes in the table TEBP_ADR_ADD.
    Thanks in advance..

    Hi Joe,
    TEBP_ADR_ADD
    Supplementary Table for TEBP_ADR_SHIP_TO
    You can use T-Code BP to maintain data to view the info in the above table. For this you have to maintain multiple addresses.
    Cheers.
    ...Reward if useful.

  • Screens are missing in the program

    Hi,
             We have development ct2 and quality QP1 and prosuction P01 systems . In development system the program
    SPMKEA2 consists screens 0100
    0110
    0120
    0150
    0160
    0200
    0210
    0220
    0230
    0240
    0250
    0600
    0700
    0710
    0720
    1001
    1002
    1003
    1004
    1005
    1006
    1007
    1008
    1009
    but in quality and production 1005 screen is missing. When we process the transaction ke07 to maintain derivation rule D it is araising the error 1005 screen is missing.
    Can any one please provide me the solution soon. How to send the screen 1005 from development system to quality and production system.
    Appreciate for the quick responce.
    Regards,
    Koti Reddy

    Hi,
    I think this a serious problem and you need to take it up with a Basis consultant.
    Tell me one thing... Has anybody been playing around this program or screen. If not i am not sure why this has happened since you are mentioning that it is a standard program..
    There is also a possiblity that this screen might be a part of an enhancement and you have forgotten to check it.....
    I think it is better if you check the Object directory entry of this screen and check who has created it. If someone from your company/team has created it that means even you will be allowed to make a change and transport the screen.
    Please revert if any doubts arise
    Regards,
    Pramod
    Edited by: Pramod Manjunath on Oct 15, 2008 12:36 PM

  • ImporterProcessServer.exe Stops Working and Crashes the Program

    Why does this keep happening?  It's been happening to me with CS3 as well except less frequently.  It happens almost randomly now, with Premiere and Media Encoder.  Whenever it stops working, the encoding fails and/or Premiere crashes shortly after.  I have Windows Vista Home Premium 64-bit.
    EDIT: It's happening every time now..  10 seconds after I click to start the queue, this executable fails.

    I wasn't talking about SLI or Crossfire.  Still even without it...  3 points: 1) I don't have another computer or space for one.
    2) It's quite an expense and isn't a solution you really suggest in a thread like this (Uninstalling FFDShow IS ONE but using one computer just for editing really isn't).  Maybe if I had a business utilizing video editing; but in that case, I'd obviously know to do so.  I'm just a casual user..
    3) Either way, it's a huge inconvenience.
    I uninstalled FFDShow and when I get back home, I will check to see if it failed again.  One more thing I'll try after that if it still fails and if that doesn't work either, well then, it's something other than FFDShow that's causing the problem.  The thing that I mentioned earlier about it could've been a coincidence (though I doubt it).  Think about this though, if a program requires to be installed all in lonesomeness in order to work properly, is the problem with Adobe or the program that supposedly crashes it?  The FFDShow video decoder is only doing what it's programmed to do.  Adobe should block interferences and isolate itself from other processes.  If you guys have never believed it to be so, try to consider it at least for a short time and not just respond with the common answer you usually give.  I love Premiere, Photoshop, Dreamweaver, and many others in the collection - that's why I'm struggling to get this right (but only in a direct method - otherwise it's not worth it in terms of my purposes).  Premiere has always been very unstable with many users whereas Sony Vegas (as an example) isn't.  It has less problems - I just don't like it though.  I've never had 3 consecutive renders that succeeded; this is even before I had any sort of codecs installed besides DivX...

  • SNMP4J- where is processPdu called in the program?

    Hello Everyone,
    I’ve made the simplest possible agent just to check if it can respond to the PDUs received from the manager. Although I’ve written the following code with the help of the SNMP4J tutorials, I have my doubt as to where is the processPdu function called in the program? I’ve written it fine, but I don’t see it being called. Thus, where is it that the PDU sent from the manager is actually received? Following is my code and the errors it generates. Please tell me where I’m going wrong. Also, since i'm working on Eclipse IDE, it seems quite confusing to me how to execute manager and agent together in order to create a communication session( just da way v do in socket programming). it seems that i can only run either of them at a time..
    public class SNMP4J_AGENT extends Thread implements CommandResponder
    * @param args
    // Processes incoming Pdu
    public synchronized void processPdu(CommandResponderEvent e)
    System.out.println("Command");
    ScopedPDU command;
    if ( e.getPDU() instanceof ScopedPDU)
    command = (ScopedPDU)e.getPDU();
    else
    command = (ScopedPDU)e.getPDU();
    if (command != null)
    //send reply
    ScopedPDU cmd = (ScopedPDU)e.getPDU();
    cmd.setType(ScopedPDU.RESPONSE);
    cmd.setRequestID(command.getRequestID());
    StatusInformation st=new StatusInformation(new VariableBinding(),
    e.getStateReference().getContextName(),
    e.getStateReference().getContextEngineID(),
    new Integer32( e.getStateReference().getSecurityLevel()) );
    StatusInformation statusInformation = new StatusInformation();
    StateReference ref = e.getStateReference();
    System.out.println(ref);
    try
    e.getMessageDispatcher().returnResponsePdu(e.getMessageProcessingModel(),
    e.getSecurityModel(),
    e.getSecurityName(),
    e.getSecurityLevel(),
    command,
    e.getMaxSizeResponsePDU(),
    ref,
    st);
    System.out.println("Response sent to manager....");
    catch (MessageException e1)
    e1.printStackTrace(); //To change body of catch statement use File | Settings | File Templates
    @Override
    public void run()
    //InetAddress hostIp;
    //int port_, version;
    try
    //Sets the snmp listener to port
    TransportMapping transport = new DefaultUdpTransportMapping(new UdpAddress("udp:127.0.0.1/161"));
    Snmp snmp = new Snmp(transport); //snmp.addCommandResponder(this);
    MPv3 mpv3 = (MPv3)snmp.getMessageProcessingModel(MessageProcessingModel.MPv3);
    System.out.println("in try");
    //if (version == 3)
    byte[] localEngineID =((MPv3)snmp.getMessageProcessingModel(MessageProcessingModel.MPv3)).createLocalEngineID();
    USM usm = new USM(SecurityProtocols.getInstance(),
    new OctetString(localEngineID),0);
    SecurityModels.getInstance().addSecurityModel(usm);
    snmp.setLocalEngine(localEngineID, 0, 0);
    // Add the configured user to the USM
    snmp.getUSM().addUser(new OctetString("MD5DES"),
    new UsmUser(new OctetString("MD5DES"),
    AuthMD5.ID,
    new OctetString("MD5DESUserAuthPassword"),
    PrivDES.ID ,
    new OctetString("MD5DESUserPrivPassword")));
    System.out.println("USM: "+ snmp.getUSM());
    snmp.addCommandResponder(this);
    //snmp.listen();
    // md.addCommandResponder(this);
    System.out.println("transportBinding..");
    transport.listen();
    // transport.listen();
    System.out.print("SNMP Listener init: ");
    Address a = transport.getListenAddress();
    System.out.println(a.toString());
    //snmp.processPdu(this);
    /* try
    snmp.processPdu(arg0);
    catch(Exception ex)
    ex.getMessage();
    snmp.close();
    catch (IOException e)
    System.err.print("ERROR!!!!! "+e);
    try
    this.wait();
    catch (InterruptedException ex)
    Thread.currentThread().interrupt();
    public static void main(String[] args)throws Exception
    // TODO Auto-generated method stub
    new SNMP4J_AGENT().start();
    Errors:
    Exception in thread "Thread-0" java.lang.IllegalArgumentException: udp:127.0.0.1/161
    at org.snmp4j.smi.UdpAddress.<init>(UdpAddress.java:48)
    at SNMP4J_AGENT.run(SNMP4J_AGENT.java:100)
    Thanx a lot…..
    Regards,
    Nidhi Lohat,
    Software Trainee,
    Eminent Networks Pvt. Ltd.(HFCL Group)

    Hello Everyone,
    I’ve made the simplest possible agent just to check if it can respond to the PDUs received from the manager. Although I’ve written the following code with the help of the SNMP4J tutorials, I have my doubt as to where is the processPdu function called in the program? I’ve written it fine, but I don’t see it being called. Thus, where is it that the PDU sent from the manager is actually received? Following is my code and the errors it generates. Please tell me where I’m going wrong. Also, since i'm working on Eclipse IDE, it seems quite confusing to me how to execute manager and agent together in order to create a communication session( just da way v do in socket programming). it seems that i can only run either of them at a time..
    public class SNMP4J_AGENT extends Thread implements CommandResponder
    * @param args
    // Processes incoming Pdu
    public synchronized void processPdu(CommandResponderEvent e)
    System.out.println("Command");
    ScopedPDU command;
    if ( e.getPDU() instanceof ScopedPDU)
    command = (ScopedPDU)e.getPDU();
    else
    command = (ScopedPDU)e.getPDU();
    if (command != null)
    //send reply
    ScopedPDU cmd = (ScopedPDU)e.getPDU();
    cmd.setType(ScopedPDU.RESPONSE);
    cmd.setRequestID(command.getRequestID());
    StatusInformation st=new StatusInformation(new VariableBinding(),
    e.getStateReference().getContextName(),
    e.getStateReference().getContextEngineID(),
    new Integer32( e.getStateReference().getSecurityLevel()) );
    StatusInformation statusInformation = new StatusInformation();
    StateReference ref = e.getStateReference();
    System.out.println(ref);
    try
    e.getMessageDispatcher().returnResponsePdu(e.getMessageProcessingModel(),
    e.getSecurityModel(),
    e.getSecurityName(),
    e.getSecurityLevel(),
    command,
    e.getMaxSizeResponsePDU(),
    ref,
    st);
    System.out.println("Response sent to manager....");
    catch (MessageException e1)
    e1.printStackTrace(); //To change body of catch statement use File | Settings | File Templates
    @Override
    public void run()
    //InetAddress hostIp;
    //int port_, version;
    try
    //Sets the snmp listener to port
    TransportMapping transport = new DefaultUdpTransportMapping(new UdpAddress("udp:127.0.0.1/161"));
    Snmp snmp = new Snmp(transport); //snmp.addCommandResponder(this);
    MPv3 mpv3 = (MPv3)snmp.getMessageProcessingModel(MessageProcessingModel.MPv3);
    System.out.println("in try");
    //if (version == 3)
    byte[] localEngineID =((MPv3)snmp.getMessageProcessingModel(MessageProcessingModel.MPv3)).createLocalEngineID();
    USM usm = new USM(SecurityProtocols.getInstance(),
    new OctetString(localEngineID),0);
    SecurityModels.getInstance().addSecurityModel(usm);
    snmp.setLocalEngine(localEngineID, 0, 0);
    // Add the configured user to the USM
    snmp.getUSM().addUser(new OctetString("MD5DES"),
    new UsmUser(new OctetString("MD5DES"),
    AuthMD5.ID,
    new OctetString("MD5DESUserAuthPassword"),
    PrivDES.ID ,
    new OctetString("MD5DESUserPrivPassword")));
    System.out.println("USM: "+ snmp.getUSM());
    snmp.addCommandResponder(this);
    //snmp.listen();
    // md.addCommandResponder(this);
    System.out.println("transportBinding..");
    transport.listen();
    // transport.listen();
    System.out.print("SNMP Listener init: ");
    Address a = transport.getListenAddress();
    System.out.println(a.toString());
    //snmp.processPdu(this);
    /* try
    snmp.processPdu(arg0);
    catch(Exception ex)
    ex.getMessage();
    snmp.close();
    catch (IOException e)
    System.err.print("ERROR!!!!! "+e);
    try
    this.wait();
    catch (InterruptedException ex)
    Thread.currentThread().interrupt();
    public static void main(String[] args)throws Exception
    // TODO Auto-generated method stub
    new SNMP4J_AGENT().start();
    Errors:
    Exception in thread "Thread-0" java.lang.IllegalArgumentException: udp:127.0.0.1/161
    at org.snmp4j.smi.UdpAddress.<init>(UdpAddress.java:48)
    at SNMP4J_AGENT.run(SNMP4J_AGENT.java:100)
    Thanx a lot…..
    Regards,
    Nidhi Lohat,
    Software Trainee,
    Eminent Networks Pvt. Ltd.(HFCL Group)

  • Negative impact of the program- RSDMD_CHECKPRG_ALL

    hi all,
    we are facing an issue with master data inconsistency . can anybody let me know if there is any negative impact of the program
    RSDMD_CHECKPRG_ALL if we run it in repair mode for a single characteristic . We donot have aggregates.
    Regards,
    dola

    Hi Dola,
    There will be no negative impact of the program  RSDMD_CHECKPRG_ALL if you run it in repair mode for a single characteristic Even if you do not have aggregates it will not impact...Most of options provided in RSDMD_CHECKPRG_ALL are the ones in RSRV checks. At a time you can check only for one characteristic.
    Hope it clarifies your doubt..
    Thanks,
    Amit Kr.

  • Hi, How to find out the program name with short description?

    Hi Experts,
      I've a doubt regarding reports.
       I've some short descriptions.I've to find out the Technical Name of the program    using that Short descripns.Is there any transaction code available to check this
      I've tried in t.c se80.But i could not find the respective program names.
      Please help me in this regards.Its an urjent issue.
      Thanks in advance.
    Regards,
    Rekha.

    hi rekha,
    1)Goto SE84(Repository InfoSystem) tcode.
    2)In Repository Info System node, Select Program Library.
    3)Then Select Programs.
    4) And enter ur description and u press F8.
    5) u can search program name based on description, package and many othet options. check it out.
    U can find many programs with ur entered pattern.
    Select ur program.....
    Reward me if useful,
    Harimanjesh AN

  • E-Recruiting 604 Doubt about the planning of the background job.

    Hi,
    We are on E-Rec 604 with seperated standlone e-rec system.
    I did the initial transfer of the Org Management data through PFAL from ECC to E-Recruit and all were ok.
    Now I have to planed the job for the future changes.
    This is my doubt, I just have to plan the program RBDMIDOC in the HR system, or should I add something more?.
    Please somebody could guide me?.
    Thanks a lot,
    Esther

    Hello Esther,
    there are some more configuration steps for the regular update after the initial load.
    Probably already done by you is the activation of the change pointers for the message type otherwise RBDMIDOC won't create any IDoc.
    Additional settings to the ALE you should apply to the system:
    -  In the e-recruiting system, go to the partner profile settings for the ALE. Open the inbound parameters for the message type and switch radio button in the "process by function module" section from trigger immediatly to trigger by background program.
    - Create a variant for report RBDAPP01 on the e-rec system setting the package size to 1
    - Plan the report RBDAPP01 as job on the e-recruiting system to process the incomming IDocs
    Ensure in the job scheduling of RBDMIDOC and RBDAPP01 that both are running before midnight and the RBDMIDOC is running before RBDAPP01 of course.
    Additional E-Recruiting settings you have to do:
    - schedule HRALXSYNC on the e-rec system as daily job
    - Ensure that the e-rec periodical service PROCESS_CAND_STATUS_CHANGE (class CL_HRRCF_UPDATE_P_STAT) is activated in the e-rec customizing under E-Recruiting -> Technical Settings -> Periodical Services
    Best Regards
    Roman

  • Please help find the program

    Please help find the program to block unwanted number, call and SMS, that not all block number ,but  the number on which you want to.

    Which part of "The 5310 is just a java phone that cannot support applications like this." did you not understand?
    If you want to achieve any form of blocking at all, it won't be with that phone. Your operator may be able to help by putting a block in place on their end, though, but I doubt it.
    Was this post helpful? If so, please click on the white "Kudos!" star below. Thank you!

  • Basic doubts Regarding the RFC to File scenario.

    Hi All,
    I'm doing a RFC to File scenario, so before starting the development i went through many blogs and sites to know more the about scenario. I'm confused in the step where we have to create a RFC (type TCP/IP) in sm59.
    I have the following doubts :
    1)whether  to create the RFC in sender (which will be ECC system) or XI.
    i.e., RFC in sender (ECC) pointing to xi system in sm59 of Sender(ECC)
    or
    in XI pointing to sender (ECC) system.
    2) the program id maintained in RFC.
    the program id is any name or the FM which is being imported in XI system.
    Thanks in Advance,
    Kind Regards,
    Lalitkumar.

    Hi Lalitkumar,
    1)whether to create the RFC in sender (which will be ECC system) or XI.
    i.e., RFC in sender (ECC) pointing to xi system in sm59 of Sender(ECC)
    or
    in XI pointing to sender (ECC) system.
      It should be in sender ECC.
    2) the program id maintained in RFC.
    the program id is any name or the FM which is being imported in XI system.
    It can be any name but should be same in RFC destination and RFC adapter.
      As stefen mentioned use ABAP proxy inspite of RFC as its better performance wise.
    Regds,
    Pinangshuk.

Maybe you are looking for