Create Manageable Channel in JSDT and invite the clients to join It

I am developing a collaborative application using JSDT where I want to incorporate private messaging between two clients. When the Client chooses the private messaging option I am creating a New channel and inviting the other Client to join the Channel using channel.invite(client) method. It throws the permissionDenied exception. I am wondering if it is a client autentication problem. Since there isn't enough good reference on JSDT I am having hard time understanding this problem. I would greatly appreciate any help to solve this problem.

Sorry I didn't get back to you earlier
Have taken a look at this problem & have built a skeleton app that works
I think your problem is probably due to NOT building in a ChannelManager(???) & thus when your client tries to join the Channel within the Session - No Authentication occurs
Anyhow have a look at the code below (it needs some tidying up)
Run JSDTManager, then JSDTChatApp, then JSDTChatClient
******************* Code for JSDTManager.java *********************
* JSDTManager.java
* Created on 09 December 2003, 17:11
package com.JSDT;
import com.sun.media.jsdt.*;
import com.sun.media.jsdt.event.*;
* @author stefan.maric
public class JSDTManager extends Thread implements RegistryManager, SessionManager, ChannelManager
     private static JSDTManager manager;
     public static final int nCLIENT_PORT_BASE = 5000;
     public static final int nCLIENT_PORT_LIMIT = 5999;
     public static final String sSU = "SU";
     public static final String sSUALLOWED = "SU_ALLOWED";
     public static final String sJOIN_SESSION_ALLOWED = "OK";
     public static final String sCREATE_CHANNEL_ALLOWED = "CREATE_CHANNEL_OK";
     public static final String sJOIN_CHANNEL_ALLOWED = "CHN_OK";
     public static final String sCREATE_CLIENT_ALLOWED = "CLIENT_OK";
     /** Creates a new instance of JSDTManager */
     private JSDTManager()
     public static JSDTManager getInstance()
          if(manager == null)
               manager = new JSDTManager();
               manager.start();
          return manager;
     public void run()
          try{
               if(!RegistryFactory.registryExists("socket"))
                    RegistryFactory.startRegistry("socket", new JSDTManager());
                    System.out.println("JSDTManager:JSDT Registry Started");
               while(true)
          }catch(JSDTException eX){
               eX.printStackTrace();
     public static void channelInvite(String sH, Channel chn, String sCN)
          System.out.println("JSDTManager:channelInvite");
          try{
               Client[] clients = new Client[1];
               int nPort = JSDTManager.nCLIENT_PORT_BASE;
               boolean bFound = false;
               while(!bFound && nPort <= JSDTManager.nCLIENT_PORT_LIMIT)
                    URLString url = URLString.createClientURL(sH, nPort, "socket", sCN);
                    try{
                         System.out.println(url.toString());
                         clients[0] = ClientFactory.lookupClient(url);
                         bFound = true;
                    }catch(NotBoundException eX){
                         nPort++;
               if(bFound)
                    System.out.println("JSDTManager:Inviting '" + clients[0].getName() + "' to join Channel '" + chn.getName() + "'");
                    chn.invite(clients);
               else
                    System.out.println("Could NOT find Client '" + sCN + "' in Registry");
          }catch(JSDTException eX){
               eX.printStackTrace();
     public boolean registryRequest(AuthenticationInfo info, Client client)
          boolean bRetVal = false;
          String sN = client.getName();
          int nAction = info.getAction();
          char chType = info.getType();
          System.out.println("JSDTManager:registryRequest from Client '" + sN + "'");
          if(nAction == AuthenticationInfo.CREATE_SESSION)
               String challenge = "Challenge Session Create";
               String reply = null;
               info.setChallenge(challenge);
               reply = (String) client.authenticate(info);
               if(reply != null)
                    if(reply.equals(sSUALLOWED) || reply.equals(sJOIN_SESSION_ALLOWED))
                         System.out.println("JSDTManager:registryRequest Authentication Reply '" + reply + "' Rxd from Client '" + sN + "' Authenticated");
                         bRetVal = true;
                    else
                         System.out.println("JSDTManager:registryRequest Authentication Reply '" + reply + "' Rxd from Client '" + sN + "' NOT Authenticated");
               else
                    System.out.println("JSDTManager:registryRequest NULL Reply");
          else if(nAction == AuthenticationInfo.CREATE_CLIENT)
               String challenge = "Challenge Client Create";
               String reply = null;
               info.setChallenge(challenge);
               reply = (String) client.authenticate(info);
               if(reply != null)
                    if(reply.equals(sSUALLOWED) || reply.equals(sCREATE_CLIENT_ALLOWED))
                         System.out.println("JSDTManager:registryRequest Authentication Reply '" + reply + "' Rxd from Client '" + sN + "' Authenticated");
                         bRetVal = true;
                    else
                         System.out.println("JSDTManager:registryRequest Authentication Reply '" + reply + "' Rxd from Client '" + sN + "' - NOT Authenticated");
               else
                    System.out.println("JSDTManager:registryRequest NULL Reply");
          return(bRetVal);
     public boolean sessionRequest(Session session, AuthenticationInfo info, Client client)
          boolean bRetVal = false;
          String sN = client.getName();
          int nAction = info.getAction();
          char chType = info.getType();
          System.out.println("JSDTManager:sessionRequest from Client '" + sN + "' for '" + info.toString() + "'");
          if(chType == AuthenticationInfo.SESSION)
               String reply = null;
               String challenge = null;
               switch(nAction)
                    case AuthenticationInfo.JOIN:
                         challenge = "Challenge Session Join";
                         info.setChallenge(challenge);
                         reply = (String) client.authenticate(info);
                         if(reply != null)
                              if(reply.equals(sSUALLOWED) || reply.equals(sJOIN_SESSION_ALLOWED))
                                   System.out.println("JSDTManager:sessionRequest Authentication Reply '" + reply + "' Rxd from Client '" + sN + "' Authenticated");
                                   bRetVal = true;
                              else
                                   System.out.println("JSDTManager:sessionRequest Authentication Reply '" + reply + "' Rxd from Client '" + sN + "' NOT Authenticated");
                         else
                              System.out.println("JSDTManager:sessionRequest NULL Reply");
                         break;
                    case AuthenticationInfo.CREATE_BYTEARRAY:
                    case AuthenticationInfo.CREATE_TOKEN:
                         break;
                    case AuthenticationInfo.CREATE_CHANNEL:
                         challenge = "Challenge Channel Create";
                         info.setChallenge(challenge);
                         reply = (String) client.authenticate(info);
                         if(reply != null)
                              if(reply.equals(sSUALLOWED) || reply.equals(sCREATE_CHANNEL_ALLOWED))
                                   System.out.println("JSDTManager:sessionRequest Authentication Reply '" + reply + "' Rxd from Client '" + sN + "' Authenticated");
                                   bRetVal = true;
                              else
                                   System.out.println("JSDTManager:sessionRequest Authentication Reply '" + reply + "' Rxd from Client '" + sN + "' NOT Authenticated");
                         else
                              System.out.println("JSDTManager:sessionRequest NULL Reply");
                         break;
          return(bRetVal);
     public boolean channelRequest(Channel channel, AuthenticationInfo info, Client client)
          boolean bRetVal = false;
          String sN = client.getName();
          int nAction = info.getAction();
          char chType = info.getType();
          System.out.println("JSDTManager:channelRequest from Client '" + sN + "' for '" + info.toString() + "'");
          if(chType == AuthenticationInfo.CHANNEL && nAction == AuthenticationInfo.JOIN)
               String challenge = "Challenge Channel Join";
               String reply = null;
               info.setChallenge(challenge);
               reply = (String) client.authenticate(info);
               if(reply != null)
                    if(reply.equals(sSUALLOWED) || reply.equals(sJOIN_CHANNEL_ALLOWED))
                         System.out.println("JSDTManager:channelRequest Authentication Reply '" + reply + "' Rxd from Client '" + sN + "' Authenticated");
                         bRetVal = true;
                    else
                         System.out.println("JSDTManager:channelRequest Authentication Reply '" + reply + "' Rxd from Client '" + sN + "' NOT Authenticated");
               else
                    System.out.println("JSDTManager:channelRequest NULL Reply");
          return(bRetVal);
     * @param args the command line arguments
     public static void main(String[] args) throws Exception
          JSDTManager.getInstance();
******************* Code for JSDTManager.java *********************
******************* Code for JSDTChatApp.java *********************
* JsdtChatApp.java
* Created on 08 December 2003, 12:36
package com.JSDT;
import com.sun.media.jsdt.*;
import com.sun.media.jsdt.event.*;
* @author stefan.maric
public class JsdtChatApp implements Client, ClientListener, SessionListener
     public static final String sCHATTER = "Chat Session";
     private String sHost;
     private int nPort;
     private JSDTManager manager;
     private Session session;
     private Channel channel;
     /** Creates a new instance of JsdtChatApp */
     public JsdtChatApp() throws Exception
          manager = JSDTManager.getInstance();
          nPort = 4461;
//          sHost = "BOH-EAAC-IT3.eaac.boh";
          sHost = "localhost";
          int nTry = 1;
          boolean bCreated = false;
          URLString sessionURL = URLString.createSessionURL(sHost, nPort, "socket", sCHATTER);
          while(bCreated == false)
               if(SessionFactory.sessionExists(sessionURL))
                    bCreated = true;
               else
                    try{
                         System.out.println("JsdtChatApp:Session Create Attempt '" + nTry + "'");
                         session = SessionFactory.createSession(this, sessionURL, false, manager);
                    }catch(TimedOutException eX){
                         System.out.println("JsdtChatApp:Session Create Attempt '" + nTry + "' Timed Out");
                         try{
                              Thread.sleep(5000);
                         }catch(InterruptedException iEX){
                              iEX.printStackTrace();
                              System.exit(1);
               nTry++;
          System.out.println("JsdtChatApp:Session created");
          try{
               session.join(this);
               System.out.println("JsdtChatApp:Joined Session");
               session.addSessionListener(this);
               channel = session.createChannel(this, "ChatChannel", true, true, true, manager);
               System.out.println("JsdtChatApp:ChatChannel Created");
//               RegistryFactory.addRegistryListener(sHost, "socket", this);
          }catch(JSDTException eX){
               eX.printStackTrace();
          while(true)
//***********************     Session Listener Inerface     ***********************
     public void byteArrayCreated(SessionEvent event)
     public void byteArrayDestroyed(SessionEvent event)
     public void channelCreated(SessionEvent event)
     public void channelDestroyed(SessionEvent event)
     public void sessionDestroyed(SessionEvent event)
     public void sessionJoined(SessionEvent event)
          String sCN = event.getClientName();
          Session sess = event.getSession();
          String sSN = sess.getName();
          System.out.println("JsdtChatApp: '" + sCN + "' has Joined session '" + sSN + "'");
          manager.channelInvite(sHost, channel, sCN);
     public void sessionLeft(SessionEvent event)
     public void sessionInvited(SessionEvent event)
     public void sessionExpelled(SessionEvent event)
     public void tokenCreated(SessionEvent event)
     public void tokenDestroyed(SessionEvent event)
//***********************     Session Listener Inerface     ***********************
//***********************     Client Inerface     ***********************
     public Object authenticate(AuthenticationInfo info)
          System.out.println("JsdtChatApp:authenticate \n" + info.toString());
          return JSDTManager.sSUALLOWED;
     public String getName()
          return JSDTManager.sSU;
//***********************     Client Inerface     ***********************
//***********************     Client Listener Section     ***********************
     public void byteArrayExpelled(ClientEvent event)
     public void byteArrayInvited(ClientEvent event)
     public void channelExpelled(ClientEvent event)
     public void channelInvited(ClientEvent event)
     public void sessionExpelled(ClientEvent event)
     public void sessionInvited(ClientEvent event)
     public void tokenExpelled(ClientEvent event)
     public void tokenInvited(ClientEvent event)
     public void tokenGiven(ClientEvent event)
//***********************     Client Listener Section     ***********************
     * @param args the command line arguments
     public static void main(String[] args) throws Exception
          new JsdtChatApp();
******************* Code for JSDTChatApp.java *********************
******************* Code for JSDTChatClient.java *********************
* JSDTClient.java
* Created on 08 December 2003, 13:10
package com.JSDT;
import com.sun.media.jsdt.*;
import com.sun.media.jsdt.event.*;
* @author stefan.maric
public class JSDTChatClient implements Client, ClientListener, SessionListener, ChannelListener
     private static JSDTManager manager;
     private Session session;
     private String name;
     /** Creates a new instance of JSDTClient */
     public JSDTChatClient()
          manager = JSDTManager.getInstance();
     public JSDTChatClient(String sN) throws Exception
          this();
          setName(sN);
//          String sHost = "BOH-EAAC-IT3.eaac.boh";
          String sHost = "localhost";
          int nPort = JSDTManager.nCLIENT_PORT_BASE;
          int nTry = 1;
          boolean bCreated = false;
          while(bCreated == false && nPort <= JSDTManager.nCLIENT_PORT_LIMIT)
               URLString clientURL = URLString.createClientURL(sHost, nPort, "socket", sN);
               if(ClientFactory.clientExists(clientURL))
                    bCreated = true;
               else
                    try{
                         System.out.println("JSDTChatClient:Client Create Attempt '" + nTry + "'");
                         ClientFactory.createClient(this, clientURL, this);
                    }catch(AlreadyBoundException eX){
                         eX.printStackTrace();
                         System.exit(1);
                    }catch(PortInUseException eX){
                         nPort++;
                         Thread.sleep(5000);
                    }catch(TimedOutException eX){
                         System.out.println("JSDTChatClient:Client Create Attempt '" + nTry + "' Timed Out");
                         Thread.sleep(5000);
               nTry++;
          if(bCreated)
               System.out.println("JSDTChatClient:Client Created");
          else
               System.out.println("JSDTChatClient:Client NOT Created");
               System.exit(1);
          nPort = 4461;
          nTry = 1;
          bCreated = false;
          URLString sessionURL = null;
          while(bCreated == false)
               sessionURL = URLString.createSessionURL(sHost, nPort, "socket", JsdtChatApp.sCHATTER);
               if(SessionFactory.sessionExists(sessionURL))
                    bCreated = true;
               else
                    try{
                         System.out.println("JSDTChatClient:Session Create Attempt '" + nTry + "'");
                         session = SessionFactory.createSession(this, sessionURL, false);
                    }catch(PortInUseException eX){
                         nPort++;
                         Thread.sleep(5000);
                    }catch(TimedOutException eX){
                         System.out.println("JSDTChatClient:Session Create Attempt '" + nTry + "' Timed Out");
                         Thread.sleep(5000);
               nTry++;
          System.out.println("JSDTChatClient:Found Session '" + JsdtChatApp.sCHATTER + "'");
          try{
               session = SessionFactory.createSession(this, sessionURL, false);
               session.join(this);
               session.addSessionListener(this);
               System.out.println("JSDTChatClient:Joined Session");
          }catch(JSDTException eX){
               eX.printStackTrace();
          while(true)
//***********************     Client Listener Section     ***********************
     public void byteArrayExpelled(ClientEvent event)
     public void byteArrayInvited(ClientEvent event)
     public void channelExpelled(ClientEvent event)
     public void channelInvited(ClientEvent event)
          Session session = event.getSession();
          String sChn = event.getResourceName();
          System.out.println("JSDTChatClient: has been Invited to join Channel '" + sChn + "'");
          try{
               Channel chn = session.createChannel(this, sChn, true, true, false);
               chn.join(this, Channel.READWRITE);
               System.out.println("JSDTChatClient:Joined Channel '" + chn.getName() + "'");
               chn.addChannelListener(this);
          }catch(JSDTException eX){
               eX.printStackTrace();
     public void sessionExpelled(ClientEvent event)
     public void sessionInvited(ClientEvent event)
     public void tokenExpelled(ClientEvent event)
     public void tokenInvited(ClientEvent event)
     public void tokenGiven(ClientEvent event)
//***********************     Client Listener Section     ***********************
//***********************     Channel Listener Inerface     ***********************
     public void channelJoined(ChannelEvent event)
     public void channelLeft(ChannelEvent event)
     public void channelInvited(ChannelEvent event)
          System.out.println("JSDTChatClient:Channel Listener - channelInvited from '" + event.getClientName() + "'");
          Channel chn = event.getChannel();
          try{
               chn.join(this, Channel.READWRITE);
               System.out.println("JSDTChatClient:Joined Channel '" + chn.getName() + "'");
          }catch(JSDTException eX){
               eX.printStackTrace();
     public void channelExpelled(ChannelEvent event)
     public void channelConsumerAdded(ChannelEvent event)
     public void channelConsumerRemoved(ChannelEvent event)
//***********************     Channel Listener Inerface     ***********************
//***********************     Client Inerface     ***********************
     public Object authenticate(AuthenticationInfo info)
          String sRetVal = null;
          System.out.println("JSDTChatClient:authenticate \n" + info.toString());
          int nAction = info.getAction();
          char chType = info.getType();
          if(chType == AuthenticationInfo.SESSION)
               if(nAction == AuthenticationInfo.CREATE_CHANNEL)
                    sRetVal = JSDTManager.sCREATE_CHANNEL_ALLOWED;
               else if(nAction == AuthenticationInfo.JOIN)
                    sRetVal = JSDTManager.sJOIN_SESSION_ALLOWED;
          else if(chType == AuthenticationInfo.CHANNEL)
               sRetVal = JSDTManager.sJOIN_CHANNEL_ALLOWED;
          else if (chType == AuthenticationInfo.REGISTRY)
               sRetVal = JSDTManager.sCREATE_CLIENT_ALLOWED;
          return sRetVal;
     public String getName()
          return name;
//***********************     Client Inerface     ***********************
//***********************     Session Listener Inerface     ***********************
     public void byteArrayCreated(SessionEvent event)
     public void byteArrayDestroyed(SessionEvent event)
     public void channelCreated(SessionEvent event)
     public void channelDestroyed(SessionEvent event)
     public void sessionDestroyed(SessionEvent event)
     public void sessionJoined(SessionEvent event)
          String sN = event.getClientName();
          System.out.println("JSDTChatClient:sessionJoined from '" + sN + "'");
     public void sessionLeft(SessionEvent event)
     public void sessionInvited(SessionEvent event)
     public void sessionExpelled(SessionEvent event)
     public void tokenCreated(SessionEvent event)
     public void tokenDestroyed(SessionEvent event)
//***********************     Session Listener Inerface     ***********************
     public void setName(String sN)
          name = sN;
     * @param args the command line arguments
     public static void main(String[] sArgs) throws Exception
          new JSDTChatClient(sArgs[0]);
******************* Code for JSDTChatClient.java *********************
Hope this helps

Similar Messages

  • Is there a way to create folders on one iPad and sync the folders to multiple iPads?

    Is there a way to create folders on one iPad and sync the folders to multiple iPads? I have 23 iPads and I want to have all the folders match for easier access for students.

    Here is a possibkle workaround, assuming the iPads are all starting out with the same initial content on them:
    Backup that iPad to each computer you will be using. Then restore from the backup (only takes a couple minutes). Then rename the other 22 iPads.

  • How to create xml file from Oracle and sending the same xml file to an url

    How to create xml file from Oracle and sending the same xml file to an url

    SQL/XML (XMLElement, XMLForest, XMLAgg, etc) and UTL_HTTP.
    Whether that works for you with the version of Oracle you have, your requirements, and needs is another story. A little detail goes a long way.

  • How do I create an Lightroom HTML Gallery and preserve the - in the file name?

    How do I create an Lightroom HTML Gallery and preserve the - in the file name?
    The hyphen (-) is more search engine friendly, so I label all my photos using hyphens (-) to separate the keywords in the file name
    Here's a sample file name - it's for the "Guess Where Berkeley" flickr site
    guess-where-berkeley-serkes-xx-s-curve.jpg
    I created a Lightroom HTML Gallery and posted it to the following link.
    http://www.berkeleyhomes.com/tests/lightroom/lightroom-test-1/
    Though it looksl like the HML gallery shows the original file name in the web page, it looks like Adobe Lightroom modified each photo's file name by changing the - (hyphen) to an underscore (_)
    Originally
    guess-where-berkeley-serkes-xx-s-curve.jpg
    After Adobe created the HTML photo gallery the name became
    guess_where_berkeley_serkes_xx_s_curve.jpg
    Is there any way to preserve the – rather than the _ character
    Thank you!
    Ira Serkes

    InDesign's interactive PDF support is a small subset of what you can do in Acrobat Profesional.
    I think you probably want to create a button (or change an existing button) in Acrobat Pro that causes Acrobat to close the document -- that should be analagous to "exitting the CD." I assume your autorun file is opening the PDF in Adobe Reader? You have not included it and are not specific, so it is tough to say.
    I believe in Acrobat Javascript you can close the document with this.closeDoc(). You'll probaly need to ask on the Acrobat forums (possiby Acrobat Scripting) for more detail.

  • Appointments one hour ahead of appointments created in iCloud - both before *and* after the shift from daylight savings time

    I am in the CET timezone and my Lumia 925 on 8.1 has consistently shown appointments one hour ahead of appointments created in iCloud - both before and after the shift from daylight savings time here.
    My disappointment is compounded by the fact that I patiently waited for October, naïvely thinking the clockchange would solve things... doh.
    Look forward to your earliest solution.
    Jonny.

    There is a separate thread on this subject. It's a bug in Windows Phone 8.1. It is fixed in the upcoming Windows 8.1 Update 1 release (due Nov/Dec 2014). Alternatively, you can install the developer preview (go to Store and search for 'preview for developers'.
    You have to register as a developer though (easily done through appstudio.windows.com) or you can wait for your phone vendor (Microsoft / Nokia) to release the 'Denim' upgrade.
    For now, I don't know a decent workaround.

  • How to create a channel for users to watch the same video contents?

    I would like to create a channel by an interactive media
    server.
    When users login , they will watch the same video content
    with the same screen, just like they are watching TV.
    Are there any resource for me to study?
    Or anyone can leave me advices?
    Thanks a lot.

    Please read about server-side action script in FMS. The
    reference that comes with FMS installer (in documentations folder)
    would help.
    Specifically, Look for server side Stream class and server
    side stream.play API usage.
    Read about sample app and additional articles form FMS
    developer center
    http://www.adobe.com/devnet/flashmediaserver/

  • Creating tables on SQL studio and viewing the table in the SAP system

    i have just created a table using the SQL studio and wants to use it view it in the SAP system using the SAP logon. till now i have not found a way to create it therefore any help is much appreciated.

    Hmm... you want to see tables via SAPLogon ??
    Ok, let's assume you really want to access tables via ABAP instead.
    For that you've two options:
    1. Create the table in the ABAP dictonary (SE11) exactly like you created it in the database and activate the table.
    After that you can access the table via SE16 or any ABAP as you like.
    2. You don't create the table in the ABAP dictonary and use native SQL to access the data.
    Neither of these options is meant to be the way to do it.
    The correct way would be to design the whole table in the ABAP dictionary and create the table on the database from that.
    regards,
    Lars

  • How can i create a playlist in iTunes and have the playlist show up on iPhone 5

    I painstakingly spent a considerable amout of time creating a playlist in iTunes on Windows, and now when I sync my iPhone, and open the Music app, I do not see the playlist at all.  When I select 'On this device' in iTunes, I can see the playlist listed, but a large number of the songs are greyed out, and do not play in iTunes.  These are simply songs I selected from my iTunes library into an iTunes playlist, and I sync'ed my iPhone saying transfer only selected playlists, etc, and now the playlist does NOT show up on the iPhone.
    Any ideas?
    Thanks

    Darko Ibrahimpasic1 wrote:
    If you subscribe to iTunes match ($25 a year) then your music and playlists will sync across your devices. Whatever you do on your iPad will reflect on your phone.
    I have no use for iTunes Match and know little about it - but do you not need a computer in order to subscribe to iTunes Match? From where would the OP upload his music?
    The OP has no computer.

  • I am trying to create a new itunes account and on the terms and conditions page the Agree button is permanently grey even when i have ticked the check box any ideas

    On my Macbook Pro running Lion - trying to create a new ITunes account and the Agree button on the Terms and condition page will not come active even after checking the box any ideas

    There isn't a way - at least not that I have found.  I'm having an issue with this as well - seems like a shoddy sort of business practice.  I refuse to enter my credit card number to download a FREE app.  I'm encouraging the user community that has a problem with this to please post your opinion as well.  I know this is a use community, but I have to think that Apple will take notice when an issue gets a lot of attention.  Apple needs to hear your voice.

  • Creating refunds in CR&B and issuing the check in Accounts Payable (ERP)

    Hi experts-
    I'm on an implementation project where ERP and CR&B are being put in place, both being on the same SAP instance/ box. The current refund process calls for generating refunds on the customers' contract accounts in CR&B and issuing the checks out of AP. The check memo field is to include the customer's name, Contract Account # ,and service address.
    Is there a standard SAP process to accommodate for this requirement? If not, what custom program or interface could satisfy the requirement?
    I'd like to hear if anyone has done anything similar and what successful approach was followed.
    Thanks,
    MD
    Moderator note - thread locked, no research - duplicate of Creating a refund request in CCS and printing that refund check FI-AP
    Edited by: William Eastman on Apr 26, 2011 5:24 PM

    1. Take List of all applied Invoices of the Payment
    2. Check the status of those invoices. Each one of them should be in status 'Accounted'
    3. If not,Identify the problem with the Invoice and Clear that. The problem may be Invoice adjustment(adj to Paid invoices allowed).
    4. Try running Create Accounting again.
    5. If the problem persists still, it conveys us that the Transactions were struck in loop and can be resolved only by using UPDATE command.
    6. Contact Oracle for Data fix
    Regards,
    Sridhar

  • Create a abap server proxy and consume the service with the pi WS Navigator

    hi all:
    i create a abap server proxy ,i use the t_code "sproxy"  to generate the proxy, and then write the abap code to implemente the method;    then i use the T-code (soamanager)  to define the  endpoint,  but when i click the " Open WSDL document for selected binding" to get the WSDL  file ; some error occur,the error is follow:
    ==========================================================================
    Service cannot be reached
    What has happened?
    URL http://foxxi:50000/sap/bc/srt/wsdl/bndg_000C2938EF591DEE8A9A8D3DD5CCB6AD/wsdl11/allinone/ws_policy/document call was terminated because the corresponding service is not available.
    Note
    The termination occurred in system XIF with error code 403 and for the reason Forbidden.
    The selected virtual host was 0 .
    What can I do?
    Please select a valid URL.
    If it is a valid URL, check whether service /sap/bc/srt/wsdl/bndg_000C2938EF591DEE8A9A8D3DD5CCB6AD/wsdl11/allinone/ws_policy/document is active in transaction SICF.
    If you do not yet have a user ID, contact your system administrator.
    ErrorCode:ICF-NF-http-c:000-u:SAPSYS-l:E-i:FOXXI_XIF_00-v:0-s:403-r:Forbidden
    HTTP 403 - Forbidden
    Your SAP Internet Communication Framework Team
    ==========================================================================
    when i go to the ws navigator to consume the service  i can not find the service which i define, but some system content display ,  what's the problem

    had a chance to look at this?
    /people/jitender.chauhan/blog/2009/04/20/service-enabling-in-abap

  • How to Create a Class, do something, and return the name of the child class

    Hello Java Experts,
    I am relatively new to using java. Particularly when it comes to creating something on my own (ie without some of the good samples sun and o'reilly provide!).
    Here is what I am trying to learn how to do:
    I want a class, I am calling in Message. The Message
    class with have various message types. I know what I want to call these message types: one example is what I will call a "ZeroSpace" ("0 143321 4 070302") message, another type is BracketHex, and yet another is BracketNN ("[99]").
    I will test a string (which will be a message received via a serial port, java serial, etc). Then after testing the string (like "0 143321 4 070302"). I will look for the "0" and the space (chr(32)) and want to return ZeroSpace as the message type. Not a string "ZeroSpace". Something like an enumeration in C or Delphi Pascal (ordinal list??)
    the hierarchy is like this: class Message msg;
    msg zsp = new ZeroSpace();
    msg bhex = new BracketHex();
    etc. Depending on the message type I what to do different processing - something like class Shape, and Circle, Square, etc are shapes, but their areas are different, etc
    any tips will help!
    Thank you
    eric w. holzapfel

    one way is to make Message an abstract class, make it a factory, eg with public static Message Create( String str ) method. have it check the string in determining the subclass to instantiate and return. eg if begins with "0 ..", then return new ZeroSpace( str ), where ZeroSpace extends Message. similar for BracketHex and BracketNN.

  • Create SP that returns value and at the same time displays query result in output window

    I would like create an SP which will return the records from the table and also return value to my c# client application.
    For Example:
    Select * from employee returns all the query results in output window.
    Now I want to create an SP
    Create procedure Test
    As
    Declare @ret int,
    Select * from employee
    set @ret = Select count(*) from employee
    if @ret > 0
    return 1
    else
    return 0
    The above algo should return 1 0r 0 to c# client application and at the same time display all employees in sql query output window.
    Can u pls help in this regard.

    The above algo should return 1 0r 0 to c# client application and at the same time display all employees in sql query output window.
    Why?  and No!
    Why?  Your procedure generates a resultset of some number of rows.  You check the resultset for the presence of rows to determine if "anything is there".  You don't need a separate value to tell you this.  Note that it helps
    to post tsql that is syntactically correct.   While we're at it, if you just need to know that rows exist there is no need to count them since that does more work than required.  Simply test for existence using the appropriately-named function
    "exists".  E.g., if exists (select * from dbo.employee). 
    No!  A stored procedure does not display anything anywhere.  The application which executes the procedures is responsible for the consumption of the resultset; it chooses what to do and what to display. 
    Lastly, do not get into the lazy habit of using the asterisk in your tsql code.  That is not best practice.  Along with that, you should also get into the following best practice habits:
    schema-qualify your objects (i.e., dbo.employee)
    terminate every statement - it will eventually be required.

  • Creating search help for AFNAM, and display the hit list with values only

    Hi guys,
    I have created a search help for AFNAM, but the hit list displays all even if it is blank.
    I want to display in the hit list the AFNAM with values and do not diplay the blank values...
    Is it possible? How am i going to do it?
    Thanks!
    Mark

    Hi Mark,
    After selecting data use this statement.
    DELETE it_table WHERE AFNAM is initial.
    Regards,
    Suneel G

  • Question on Creating table from another table and copying the partition str

    Dear All,
    I want to know whether is there any way where we can create a table using another table and have the partitions of the new table to be exactly like the used table.
    Like
    CREATE TABLE TEST AS SELECT * FROM TEMP;
    The table TEMP is having range and hash partitions.
    Is there any way when we use the above command, we get the table partitions of TEMP to be copied to the new table TEST.
    Appreciate your suggestions on this one.
    Thanks,
    Madhu K.

    may this answer your question...
    http://asktom.oracle.com/pls/asktom/f?p=100:11:0::::P11_QUESTION_ID:595568200346856483
    Ravi Kumar

Maybe you are looking for