Using Custom RTP Payloads

Hello,
I need to use my Custom Video Codecs in a media application so as to transform the content before transmitting it and to transform back such content when receiving. I also need to use some elements located in a file. If I get them inside the codec/decodec code, everything is OK. On the contrary, when I provide them to the codec/decode in their constructor, the transmission is not possible. I have found somewhere that in the transmitter side, I have to configure processor's tracks before sending media using the following:
[i]Codec codecs[] = new Codec[2];
codecs[0] = new com.sun.media.codec.video.jpeg.NativeEncoder();
codecs[1] = new myCustomCodec();
videoTracks[i].setCodecChain(codecs);[/i]However, in the receiver side I don't know how to deal with it. I tried the AVCustomRecv in CustomRTPPayloads example "as-is", but I get an exception, as it doesn't know how to decode. Maybe, I have to use a Processor instead of a Player and configure it in the same way as I did in the Transmitter, but I have several problems.
Could somebody be so kind as to tell me how to create and configurate a Proccesor in the receiver side?? Is it the correct way to make my Receiver receive and decode the stream??
Thank you very much in advance.

Thank you very much for your answer, but I have not been able to make the codec work. I could not register my custom codec using jmfregistry, I don`t know why, because I followed the steps you said.
Any other idea????
Thank you very much!!

Similar Messages

  • Can I have a custom RTP payload, and still use a MediaLocator?

    Hi,
    I think I am a little confused. Can I have a custom RTP payload, and still use Manager.createPlayer(MediaLocator locator) to create my player?
    This doesn't seem possible because the RTPManger's addPayload(Format format, int payloadType) method isn't static, forcing me to always create my RTPManager first.
    Is this a valid observation, or am I missing something?
    Your comments are highly appreciated.
    Kind regards,
    Erwin

    Thanks for your prompt reply.
    The short answer is yes.
    The MediaLocator is used to identify the source, or destination for a media stream. For example this could be a file (file://c:\mydisk\audio.wav) or a URL (http://mydomain/music/audio.wav)
    Ok, I get that, but the MediaLocator is also used to identify the protocol, rtp in this case, and the protocol in its turn is used by the framework to locate the DataSource. I am not suggesting what you write is incorrect, I am only trying to understand how this works the way it does.
    RTP is used to transport streaming media in real time over a network (usually UDP).And that is exactly what I need it for.
    The receiver of an RTP stream is an RTP receiver. Players take the datasource(created from the MediaLocator) and feed the data to the RTP manager so it can be streamed across the network or vice versa.
    The vice versa part is what I am interested in. I need to handle a proprietary video format, packed as RTP, and shipped over UDP. My initial approach was to simply register my DePacketizer with the PlugInManager, and add my custom payload type to the RTPHandler (addFormat(Format fmt, int type)). That obviously doesn't work.
    So what I'm trying to convey is that the MediaLocator used in creating a Player will be different, and is used for a different purpose, than the Internet address, and Port used to create an RTPManager.I need a good night of sleep to think that over. I.m.h.o. there is no reason to handle "http://host:port/video/whatever.ext" different from "rtp://host:port/video/whatever.ext". The only difference is that in the first case I can build my graph based on the extension of whatever, and in the second case I have to wait for my first packet in order to determine the payload type. In both cases I expect "DataSource ds = Manager.createDataSource(ml) to work (and it probably does for the standard payload types).
    The JMF framework has a .../media/protocol/rtp/DataSource class as well as a .../media/protocol/http/DataSource class.
    Is this making any sense?Not sure yet, but I certainly appreciate your help.
    Note: In general you don't need to create a custom Payload for RTP.
    What if I want to ship a proprietary video format?
    Thanks a lot,
    Erwin

  • Problem with the examples of Transmitting and Receiving Custom RTP Payloads

    I have tried the examples of this web:
    http://java.sun.com/javase/technologies/desktop/media/jmf/2.1.1/solutions/CustomPayload.html
    Transmitting and Receiving Custom RTP Payloads
    I run the examples all right.
    But I want to transmit the sound using my own format, so i want to change the file PcmPacketizer.java
    and PcmDepacketizer.java
    I think the sound data is in the byte[] inData ---- {byte[] inData = (byte[])inBuf.getData();}
    so i change the data with my own function, so the inData have the diffrent length:
    then i transmit the data with the packet header
    public synchronized int process(Buffer inBuf, Buffer outBuf) {
    int inLength = inBuf.getLength();
    byte[] inData = (enbase((byte[])inBuf.getData()));
    byte[] outData = (byte[])outBuf.getData();
         if (outData == null || outData.length < PACKET_SIZE) {
         outData = new byte[PACKET_SIZE];
         outBuf.setData(outData);
         // Generate the packet header.
         int rate = (int)inFormat.getSampleRate();
         int size = (int)inFormat.getSampleSizeInBits();
         int channels = (int)inFormat.getChannels();
         outData[0] = 0;     // filler
         outData[1] = (byte)((rate >> 16) & 0xff);
         outData[2] = (byte)((rate >> 8) & 0xff);
         outData[3] = (byte)(rate & 0xff);
         outData[4] = (byte)inFormat.getSampleSizeInBits();
         outData[5] = (byte)inFormat.getChannels();
         outData[6] = (byte)inFormat.getEndian();
         outData[7] = (byte)inFormat.getSigned();
         int frameSize = inFormat.getSampleSizeInBits() * inFormat.getChannels();
         // Recompute the output format if the input format has changed.
         // The crucial info is the frame rate and size. These are used
         // to compute the actual rate the data being sent.
         if (rate != (int)outFormat.getFrameRate() ||
         frameSize != outFormat.getFrameSizeInBits()) {
              outFormat = new AudioFormat(CUSTOM_PCM,
                        AudioFormat.NOT_SPECIFIED, // rate
                        AudioFormat.NOT_SPECIFIED, // size
                        AudioFormat.NOT_SPECIFIED, // channel
                        AudioFormat.NOT_SPECIFIED, // endian
                        AudioFormat.NOT_SPECIFIED, // signed
                        size * channels,     // frame size
                        rate,               // frame rate
                        null);
    if (inLength + historyLength >= DATA_SIZE) {
         // Enough data for one packet.
                   int copyFromHistory = Math.min(historyLength, DATA_SIZE);
                   System.arraycopy(history, 0, outData, HDR_SIZE , copyFromHistory);
    int remainingBytes = DATA_SIZE - copyFromHistory;
    System.arraycopy(inData, inBuf.getOffset(),
                   outData, copyFromHistory + HDR_SIZE, remainingBytes);
    historyLength -= copyFromHistory;
    inBuf.setOffset( inBuf.getOffset() + remainingBytes);
    inBuf.setLength( inLength - remainingBytes);
         outBuf.setFormat(outFormat);
         outBuf.setLength(PACKET_SIZE);
         outBuf.setOffset(0);
    return INPUT_BUFFER_NOT_CONSUMED ;
    if (inBuf.isEOM()) { // last packet
    System.arraycopy(history, 0, outData, HDR_SIZE, historyLength);
    System.arraycopy(inData, inBuf.getOffset(),
                   outData, historyLength + HDR_SIZE, inLength);
         outBuf.setFormat(outFormat);
         outBuf.setLength(inLength + historyLength + HDR_SIZE);
         outBuf.setOffset(0);
    historyLength = 0;
    return BUFFER_PROCESSED_OK;
    // Not enough data for one packet. Save the remainder
         // for next time.
    System.arraycopy(inData, inBuf.getOffset(),
                   history, historyLength,inLength) ;
    historyLength += inLength;
    return OUTPUT_BUFFER_NOT_FILLED ;
    I think I change the data use my own function debase(), so i should decode the data in the file:PcmDepacketizer.java
    but int PcmDepacketizer.java the example is so simple that i don't know how to find and change the data.
    there is only a few lines here:
    Object outData = outBuf.getData();
         outBuf.setData(inBuf.getData());
         inBuf.setData(outData);
         outBuf.setLength(inBuf.getLength() - HDR_SIZE);
         outBuf.setOffset(inBuf.getOffset() + HDR_SIZE);
         System.out.println("the outBuf length is "+inBuf.getLength());
    I write a function : public static byte [] debase(byte[] str)
    but i don't know where can i use it.
    please tell me what should i do or where is wrong about my thought.

    the function in PcmPackettizer.java is
    public static byte[] enbase(byte [] b) {
         ByteArrayOutputStream os = new ByteArrayOutputStream();
         //byte[] oo = new byte[(b.length + 2) / 3*4];
         //for (int i = 0; i < (b.length + 2) / 3; i++) {
         for (int i = 0; i < (b.length + 2) / 3; i++) {
              short [] s = new short[3];
              short [] t = new short[4];
              for (int j = 0; j < 3; j++) {
                   if ((i * 3 + j) < b.length)
                        s[j] = (short) (b[i*3+j] & 0xFF);
                   else
                        s[j] = -1;
              t[0] = (short) (s[0] >> 2);
              if (s[1] == -1)
                   t[1] = (short) (((s[0] & 0x3) << 4));
              else
                   t[1] = (short) (((s[0] & 0x3) << 4) + (s[1] >> 4));
              if (s[1] == -1)
                   t[2] = t[3] = 64;
              else if (s[2] == -1) {
                   t[2] = (short) (((s[1] & 0xF) << 2));
                   t[3] = 64;
              else {
                   t[2] = (short) (((s[1] & 0xF) << 2) + (s[2] >> 6));
                   t[3] = (short) (s[2] & 0x3F);
              for (int j = 0; j < 4; j++)
                   os.write(t[j]);
                   //os.write(t[j],(3*i+j),1);
                   //os.write(Base64.charAt(t[j]));
         //return new String(os.toByteArray());
         return os.toByteArray();
    just like the base64 function

  • Custom RTP payload

    I used the sample "Custom RTP payload"of sun,sed when program run it tell on console that "the track is not possibile to send as MyPCM Format" and it is sent with another format!! Why????

    I used the sample "Custom RTP payload"of sun,sed when program run it tell on console that "the track is not possibile to send as MyPCM Format" and it is sent with another format!! Why????

  • Custom RTP Payloads

    Hi all
    In the "Transmitting and Receiving Custom RTP Payloads"
    http://java.sun.com/products/java-media/jmf/2.1.1/solutions/CustomPayload.html
    I want to do packetizer/depacketizer for video
    so, I have VideoPacketizer.java and VideoDepacketizer.java like PcmDepacketizer/PcmPacketizer
    public class VideoPacketizer implements Codec {
    public VideoPacketizer() {
         supportedInputFormats = new VideoFormat[] {
         new VideoFormat(
              VideoFormat.RGB
    supportedOutputFormats = new VideoFormat[] {
         new VideoFormat(
    CUSTOM_VIDEO
              System.out.println(supportedOutputFormats[0].getEncoding());
              System.out.println("PA construct ok!");
    public synchronized int process(Buffer inBuf, Buffer outBuf) {
    int inLength = inBuf.getLength();
    byte[] inData = (byte[])inBuf.getData();
    byte[] outData = (byte[])outBuf.getData();
         if (outData == null || outData.length < PACKET_SIZE) {
         outData = new byte[PACKET_SIZE];
         outBuf.setData(outData);
         outData[0] = 0;
         if (first) {
              outFormat = new VideoFormat(CUSTOM_VIDEO,
    new Dimension(160, 120),
                   VideoFormat.NOT_SPECIFIED,
                   null,
                   VideoFormat.NOT_SPECIFIED);
              first = false;
              System.out.println("first................................");
    When I run AVCustomTrans.java,it has a error
    Error : Format of Stream not supported in RTP Session Manager
    I know that my custom_video don't supported RTP
    so,I wonder how can I do that.
    thanks a lot.
    fcustd

    Have you solved this problem.
    Please can you tell me how i can implement a video packetizer/depacketizer.
    It would be very helpfull.
    Thanks a lot

  • Custom RTP Payload Types in JMF

    I have a completely non-audio/video content type that I've sourced from an SVG based whiteboard, which generates a Media Locator. Instantiating a DataSource via the Manager from this Media Locator grabs the correct whiteboard from a static list, and generates a series of controls for how often full updates of the board are sent, collision handling, etc. (Works)
    This generates a custom Format output which is basically the SVG's XML representation (Works)
    Feeding this into a processor, you can request BZIP compression of this data to minimize the transmission bandwidth (works)
    Further feeding this data into a a custom packetizer class breaks the data into chunks, and adds FEC packets to the stream when the buffer has to be broken into 2 or more chunks. Output is a derivative of the earlier custom format. (Works)
    Muxing this data back together gets you a custom DataSource of type "fec.rtp", which technically could handle any data type, but only advertises support for my custom packetized data formats. (Muxer is based on RTPSyncBufferMux - Works)
    Here's where things are getting frustrating. Calling com.sun.media.rtp.RTPSessionMgr.formatSupported (part of RTPSyncBufferMux) will tell you that I've correctly registered these custom formats for RTP transmission, but attempting to create a sendStream gives this error:
    javax.media.format.UnsupportedFormatException: Format of Stream not supported in RTP Session Manager
    at com.sun.media.rtp.RTPSessionMgr.createSendStream(RTPSessionMgr.java:1104)
    at com.sun.media.rtp.RTPSessionMgr.createSendStream(RTPSessionMgr.java:1262)
    This is extremely frustrating to put it mildly to have gotten this far and not be able to proceed, but I'm smack up against a brick wall at this point, and pressed for time to get this done. Basically I just want RTP Session Manager to take one buffer at a time and send it over the network. The FEC Depacketizer handles the work of reassembling the chunks, and passing along the data once it has enough to reconstruct a full buffer. (Uses an expiring cache so the data goes away automatically if too much is dropped to reconstruct a full buffer)
    My gut tells me there's some sort of helper that processes the dataSource, and hands data to the RTP Session Manager in a way that it understands that it has a "single packet chunk" (I've seen some classes in the com.sun.media tree that suggest as much to me) but I haven't figured this part out yet. Does anyone have experience enough with this particular API to point me in the right direction?
    Is there any good documentation for the com.sun.media tree incidentally? I'm using a LOT of helper classes from in there because once you look at the source, it's easy to see how useful they are, but it's a pain to dig through 5 or 6 classes to find out what I need to override and what I shouldn't touch.

    Switched everything over to using RTPManager, and found I had to register the type with each individual instance, instead of just doing it once. The resulting exception is now further down in the RTPSessionMgr source, which I'm assuming is progress, though that's a dangerous assumption.
    javax.media.format.UnsupportedFormatException: Format not supported
            at com.sun.media.rtp.RTPSessionMgr.createSendStream(RTPSessionMgr.java:1147)
            at com.sun.media.rtp.RTPSessionMgr.createSendStream(RTPSessionMgr.java:1262)
            at SVGEditorPanelTest.DialogTest(SVGEditorPanelTest.java:238)Here's the code, from RTPManager.newInstance to SendStream.start
            // Create the transmitter
            RTPManager rtpMgr = RTPManager.newInstance();
            Codec c = new Packetizer();
            // Register the RTP stream formats
            Format f = c.getSupportedOutputFormats(null)[0];
            Logger.global.info("Registering format: " + f);
            rtpMgr.addFormat(f, 105);
            SessionAddress localAddr = new SessionAddress(InetAddress.getLocalHost(), 1057);
            String cname = "test@localhost";
            String username = System.getProperty("User.name");
            // create our local Session Address
            SourceDescription[] userdesclist = new SourceDescription[]{
                new SourceDescription(SourceDescription.SOURCE_DESC_EMAIL,
                "[email protected]",
                1,
                false),
                new SourceDescription(SourceDescription.SOURCE_DESC_CNAME,
                cname,
                1,
                false),
                new SourceDescription(SourceDescription.SOURCE_DESC_TOOL,
                "Whiteboard Test",
                1,
                false),
                new SourceDescription(SourceDescription.SOURCE_DESC_NAME,
                username,
                1,
                false)
            rtpMgr.initialize(new SessionAddress[]{localAddr}, userdesclist, 0.05,
                    0.25, null);
            SessionAddress destAddr = new SessionAddress(
                    InetAddress.getByName("127.0.0.1"),
                    1058);
            System.out.println("Adding target: " + destAddr.toString());
            rtpMgr.addTarget(destAddr);
            System.out.println("--- Creating Send Stream on port " + localAddr.getDataPort() + " ---");
            System.out.println("Content Type: " + dataOutput.getContentType());
            System.out.println("Stream Format: " + format + "(" + format.getDataType().getCanonicalName() + ")");
            Object[] controls = dataOutput.getControls();
            for (int i = 0; i < controls.length; i++) {
                System.out.println("Control Type: " + controls.getClass().getName());
    rtpMgr.getLocalParticipant().setSourceDescription(userdesclist);
    try {
    SendStream sendStream = rtpMgr.createSendStream(dataOutput, 0);
    sendStream.start();
    System.out.println("New Stream SSRC: " + sendStream.getSSRC());
    System.out.println("New Stream Source: " + sendStream.getDataSource());
    } catch (UnsupportedFormatException ex) {
    System.out.println("Failed format is: " + ex.getFailedFormat());
    throw ex;
    It may be worth noting that this is part of a Unit Test, hence the lack of exception handling.
    Stdout looks like:RTP Format Supported
    Adding target: DataAddress: /127.0.0.1
    ControlAddress: /127.0.0.1
    DataPort: 1058
    ControlPort: 1059
    --- Creating Send Stream on port 1057 ---
    Content Type: fec.rtp
    Stream Format: bzipsvgwb/rtp(byte[])
    Failed format is: bzipsvgwb/rtp
    Edited by: sh0ckbyt3 on Dec 29, 2008 12:05 PM                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                       

  • Can someone help me with "no format has been reg. for RTP Payload type 10"

    I am trying to send audio from Mac to PC. Mac uses quicktime for java and PC uses jmf. I looked at the Jmf supported formats list and on the SDP file for mac i used payload types like :
    m=audio 2656 RTP/AVP 0
    c=IN IP4 239.60.60.60
    . I also tried other formats too but I always get "no format has been registered for rtp payload type 10". on the pc side. Anyone can help me out? thanks!

    Sprint's unlimited wireless service is actually ten bucks more a month than my Verizon service, according to Sprint's Web site.
    And Verizon's customer support is the best in the industry.
    I have never experienced a "throttling" with my Verizon account. And I have never experienced any limited bandwidth usage problem.

  • AVReceive2 gives error:  No format has been registered for RTP Payload type

    Hello,
    I am using the AVReceive2 program (http://java.sun.com/products/java-media/jmf/2.1.1/solutions/AVReceive.html#requirements) as posted to hopefully play back RTP in real time. I have it set to receive a known good RTP stream and I receive the following error:
    No format has been registered for RTP Payload type 8
    I have seen posts for a similar error but it seemed to be in the context of an A-law add on which am I not doing. Am I missing a plug-in or modification to the code?
    thanks in advance,
    Erich

    Hi Erich,
    I have the same problem when I using AVReceive2.java .Could yuo describe your solution in order to solve the issue?
    In order to create the RTP stream I used VLC and is impossible to change the encapsulation method and then the payload type .
    What kind of streaming server are yuo used?
    My e-mail address is [email protected]
    If you can , please write me your proceeding in order to solve the problem.
    Thank you

  • Firefox webrtc rtp payload type

    I'm seeing an issue when placing a webrtc call with firefox when the answer SDP has different payload types than the offer. for example, i get an offer from firefox that has the opus codec with payload type 109. if the answer SDP comes in with the opus codec and payload type 110, audio will not be heard. looking in the WebRTC.log file you will see a whole bunch of "IncomingRTPPacket received invalid payloadtype".
    i believe the correct behavior in this case is for firefox to transmit opus with RTP payload type 110 (ie the remote payload type) and expect to receive opus with payload type 109. it looks like firefox will send with 110 and expect to receive with 110.
    the same scenario with chrome does not have a problem. if i change the SDP answer to match the payload type of the offer, audio can be heard in firefox.
    the same issue can be seen with VP8 video or other codecs with dynamic payload types.
    for reference, the relevant excerpt from rfc3264:
    "In the case of RTP, if a particular codec was referenced with a
    specific payload type number in the offer, that same payload type
    number SHOULD be used for that codec in the answer. "
    in this case the answer SDP is violating the SHOULD in the rfc, but this is sometimes unavoidable when interworking SDP between devices (ie some sort of back-to-back signaling agent).

    That RFC is a proposed standard at the moment [http://datatracker.ietf.org/doc/rfc3264/]
    However, this would be a great bug for tech evangelism, I would encourage you to file a bug with some technical examples. Way to keep the web open!

  • Support RTP payload type 8 and 13

    I am trying to use JMF to play back recorded RTP streams containing RTP payload type 8 (ALaw) and 13 (CN). It seems these are not supported by default.
    Did anybody add support to JMF to support these payload types succesfully? Help is greatly appreciated.

    Hello
    i have a same problem.so i was asking if you solved it or not.
    Thanks

  • RTP payload(RFC 2833) DTMF handler in JMF

    hi all,
    anybody tell how I receive RTP payload format vai JMF .I am able to receive DTMF through SIP INFO.
    [email protected]

    Hi Teodor.
    Thanks for your answer.
    This is my dial-peer 4000:
    dial-peer voice 4000 voip
    service session
    destination-pattern [2-9]T
    rtp payload-type nte 98
    voice-class codec 55
    session protocol sipv2
    session target ipv4:65.xxx.xxx.35
    dtmf-relay rtp-nte
    The voice class codec 55 puts the g729a as the preferred one.
    Your answer gave me the idea where to look and found that the calls that doesn't match the dial peer 4000 and go by the default (PeerID= 0) are shown at the show call history voice command as using tx_DtmfRelay=rtp-nte
    while the calls that do match the dp 4000 for an unknown reason are shown as using tx_DtmfRelay=inband-voice.
    I am looking for a reason but I think it is with the supplier of the DIDs as another supplier using the same dp4000 and also G729a codec looks like using rtp-nte.
    If you have any further idea please let me know.
    Regards

  • VoIP using JMF - RTP tx, rx - doubt

    Hi, I am computer engineering graduate from India doing a VOIP project.
    I am using JMF to develop the software and I have a few doubts :
    1. There are quite a few techniques for RTP transmission :
    a) Using RTPSocket and a custom UDP handler.
    b) Using RTPManager to start a session.
    c) Using a medialocator (rtp//inet addr.port//ttl) and a Datasink.
    and may there are other methods too ?!
    Now which of these should I use so that I have the best quality voice ?
    Please advise.
    2. Secondly, I read that H.323 is the ITU-T standard for multimedia networks. Is it necessary for my software to adhere to this standard ? If yes, how can I go about it?
    My email-id is : [email protected]
    Thank you,
    Arun .K

    well friend it depends totolly on you, what sort of thing u want to do i mean using media locator to send and recieve the media streams u can only response to single stream.While using RTPManager u can have mutiple streams in a session and using custom UDP protocols u can have much more controll over the media stream.
    I think u should send me a little detail about what you want so that i can guide u properly.
    thank you
    bye

  • HT5981 AD Bind via Custom Settings payload?

    In this this document...
    OS X Mavericks: Using advanced Active Directory options in a configuration profile
    Apple indicates that advanced Active Directory configuration options are configurable as a "Custom Settings" payload in Profile Manager.
    My tests indicate this is not the case, but perhaps I am missing something?
    Has anbody been able to get this work?
    Can anybody provide a concrete example of the correct Property List structure one must employ to get this to work?
    Thanks,
    Brian

    Thanks for posting Brian  You're 100% right.  It's been noted and the revised article should be published shortly.

  • How to use customer extension table for schedule line for shopping cart ?

    Dear Experts,
    One of our client wants to have schedule lines in shopping cart item. I am thinking of using customer extension table at item level for shopping cart. Could you please help me on  how I should proceed with the appending the structures so that the end user can fill the shopping cart schedule line details?
    Which fields should I consider in such cases?
    Thanks and regards,
    Ranjan

    Hi.
    I guess you use SRM 7.0. Please go to IMG.
    SRM -> SRM Server -> Cross-Application Basic Settings -> Extensions and Field Control (Personalization) -> Create Table Extensions and Supply with Data
    Regards,
    Masa

  • Can we use custom RFC in creating models in Visual composer??

    Dear Experts,
    Can we use custom RFC in creating models in Visual composer??
    If yes, kindly provide some documents or links which would guide me how to achieve it.
    Warm Regards
    Upendra Agrawal

    Hi,
    Yes,you can do it.
    Configure the rfc and use like others Standard BAPI procedure.
    [https://www.sdn.sap.com/irj/scn/wiki?path=/display/vc/connectivity]
    Regards,
    Govindu

Maybe you are looking for

  • Webdynpro abap/Java? Best Option

    Hi All,          I'm still running with a doubt after having a glance at all the Weblog especially oliver and others in SDN community.Can any one drive me for the best option for a company  despite of  the consultants skill set,Architecture and other

  • How to map Idoc fields with external file

    Hi All, How to map Idoc fields with external file. I want to check the settings where Idoc fields are mapped with external file. Thanks in advance. Regards, Govind.

  • What is the cpu architeture of solaris version of BPEL bundle, x86 or SPARC

    Hello, I'd like to know what is the cpu architeture of solaris version of BPEL bundle, x86 or SPARC located here: http://download.oracle.com/otn/solaris/ias/1012/as_sun_bpel_101200.cpio The file is more than 400Mb in size, so I need to know before do

  • Java Communications API (JCA) is really that difficult???

    Hi everyone, I am an advanced developer for some years in Microsoft Platforms (.NET, VS6, etc.). I have used Microsoft Programs for a while and I can certainly say that I can develop serious programs. The reason I am posting this is that I am doing s

  • Error starting "app name": Error loading module "appname" Verify error

    I've downloaded 3 application on my device 9800. at last i've download one app from Blackberry App World. When i open that application, Its throws error. "Error starting "app name": Error loading module "appname" Verify error." I'm unble to open it.