Reading Buffer in BADI BBP_DRIVER_DETERMINE

Hi All,
I am implementing a BADI to update the freight details in ECC system when a PO is changed in SRM portal. For this I am using the methods
--->      lo_pd_model = /sapsrm/cl_pdo_model_factory=>get_instance( ).
and
--->    call method /sapsrm/cl_pdo_factory_po_adv=>create_new_instance
        exporting
          iv_process_type     = lv_process_type
          iv_sub_process_type = ''
        importing
          eo_po_instance      = lo_pdo_po
        changing
          co_message_handler  = mo_pdo_message_consumer.
for the first method I didnt get any data when I checked in debugging
for the second method I dont know what value to pass to lv_process_type.All I have for this BADI is object,logical system,system type .Once I get the instance I can get the  GUID and then I can get the item details through GET _DETAILS
code for  getting GUID:
      mo_pdo ?= lo_pdo_po.
      call method mo_pdo->get_header_guid
        receiving
          rv_header_guid = mv_bo_guid.
Please help me how to read the buffer and get item details.
Regards,
Ram

Hi Rajeev,
Please check these entries
Proceed as follows to change the required entries of the driver function modules for a link to an R/3 4.70 server:
Start Transaction SM30 and enter BBP_FUNCTION_MAP under 'Table/view'.
Select 'Maintain'.
Enter the new value 'Function module' for keys 'Object type', 'Method' and 'System type' of the following eleven entries:
Object type Method              System type Function module
BUDGET      Read                R/3_4.70  B470_BUDGET_READ
BUS2012     CreateFromData      R/3_4.70  B470_PO_CREATE
BUS2012    GetDetail           R/3_4.70  B470_PO_GETDETAIL
BUS2091    Create              R/3_4.70  B470_ENTRYSHEET_CREATE
BUS2091    GetDetail           R/3_4.70  B470_ENTRYSHEET_GETDETAIL
BUS2093     CreateFromData      R/3_4.70  B470_RESERVATION_CREATE
BUS2093    GetDetail           R/3_4.70  B470_RESERVATION_GETDETAIL
BUS2105     Change              R/3_4.70  B470_REQUISITION_CHANGE
BUS2105     CreateFromData      R/3_4.70  B470_REQUISITION_CREATE
BUS2105    GetDetail           R/3_4.70  B470_REQUISITION_GETDETAIL
BUS6001  CheckAccountAssignment R/3_4.70  B470_ACCSERV_CHECKACCASSIGNMT
Save the entries.
regards,nishant
This is extract of note Note 642530 - Driver function modules for 4.70 connection
Please reward if this helps

Similar Messages

  • VISA Read function Read buffer problem in serial communication

    Hi,  I use VISA write and read function in serial communication app, the device continuously sends 0x00 if it is not receive a request from Labview program running on PC.
    And the request sent by labview is programmable. I met a weird problem, each time the request changes, the VISA read buffer output port still shows the last request firstly, from second time, shows the right request.
    It works like: Req code: ... 50, 51,51,51,50....;  VISA Read buffer: ...50, 50, 51, 51, 51, 51, 50....
    Please refer to the program.
    Attachments:
    readOne_test.vi ‏21 KB

    How are you running this?  You don't have a while loop around it.  Is it part of a larger VI?  Please don't tell me you are using the run continuously button.
    You don't have any wait statement between you VISA Write and your bytes at port.  So it is very likely the receive buffer is still empty since you didn't give your VI time to wait for the device to turn around and give a reply.  If you read 0 bytes, your VISA read string will be empty.  How does your decoder subVI (which you didn't include) handle an empty string?

  • How do I avoid Error 85 in Scan From String scanning VISA read buffer?

    I have encountered an Error 85 with my Scan From String VI. I have a timed
    loop to read data from a device (flowmeter) using a serial port. This device takes
    periodic measurements and sends the reading which contains a numerical value to the serial port COM1. It cannot be read continuously, and the period
    between measurements may vary, so I decided a timed loop would be better than a while loop.
    The VI begins with VISA Configure Serial Port and then
    goes to a VISA Write which sends the message to the device to begin
    taking measurements. After this, the device usually says "TAKE FLOWMETER READINGS" to the terminal, thereafter only sending numbers. Then begins my timed loop containing VISA Read. I
    am taking the read buffer two places.
    First, I am taking it to an Array to Spreadsheet String with the
    Format String %.3f, as was in the Write to Text File example. Then I am
    using Concatenate Strings with this string and also a string containing
    the System Time. This string goes to Write to Text File, which I have
    configured using Open/Create/Replace File outside of the loop.
    Second, I am taking the read buffer to a waveform chart. I thought
    it would be a good idea to use Scan From String to convert the string
    into a DBL which I am then sending to the waveform
    chart.
    I am not sure if the initial "TAKE READINGS" message is giving me an error. I was able to get one reading saved to my text file from the device.
    Also the format string for my Scan From String is %.3f
    I am getting the Error 85 at the Scan From String only sometimes.
    When this happens, there is no data being written to the text file. But
    other times, I get data and it writes to the text file just fine (but
    rounds to nearest whole number).
    Any help would be greatly appreciated! This serial port device has been giving me a lot of trouble.

    Is this what you mean? Did I wire the shift registers correctly?
    I didn't know if you meant to Concatenate before Scan From String or Concantenate before or after VISA Read?
    Message Edited by YeungJohn on 11-20-2008 03:48 PM
    Message Edited by YeungJohn on 11-20-2008 03:49 PM
    Attachments:
    SerialShiftVI.JPG ‏87 KB

  • HttpServer error in reading buffer size via keyboard input - HELP

    I've written a simple HttpServer program that reads keyboard input to construct a buffer to copy the requested file into the socket's output stream. I've done the string-to-integer conversion using BufferedReader and parse.Int. However, when I go to use the int later in the program, I keep getting the message "variable b may not have been initialized." Can anyone tell me what's missing from the code below? Thanks.
    private static void sendBytes(FileInputStream fis, OutputStream os)throws Exception
         //Construct a buffer via console input
         BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
         String str;
         int b;
              System.out.println("Enter desired buffer size or CTRL-C to break.");
         //Convert entry to an integer
         do
              str = br.readLine();
                 try
                   b = Integer.parseInt(str);
              catch(NumberFormatException e)
                   System.out.println("Invalid entry.");
         while((str=br.readLine())!=null);
         //Construct a buffer
         byte[] buffer = new byte;
         int bytes = 0;
         //Begin timing HTML page delivery
         long start, end;
              System.out.println("Timing for Web page delivery");
         start = System.currentTimeMillis();
         //Copy requested file into the socket's output stream
              while((bytes = fis.read(buffer)) != -1)
              os.write(buffer, 0, bytes);

    As the message suggests, what is missing is code to initialize the variable b. The first mention ("int b;") does not initialize it. The second mention ("b = Integer.parseInt(str);") only initializes it if no exception is thrown. So it's possible for b to be uninitialized when you actually try to use it.
    What do you need to change? First you need to decide what's to be done if the keyboard input isn't a valid integer. Do you have a default value in mind? If so, put that where you declare the variable ("int b = 42;"). If not, just initialize the variable to zero ("int b = 0;").

  • What is ths maximum PDO read buffer size using the Series 2 CAN cards?

    Does anyone know the maximum size for the PDO read buffer when using a Series 2 PCI NI-CAN card?

    Hi
    The maximum size for a single PDO does not depent on the series of your board it is depending on what else you are doing with the CANopen Library.
    The board uses a specific shared memory to transfer messages between driver and hardware. The size of this memory fits nearly 350 messages.
    The CANopen Config takes 100 messages for different services like NMT. That means the maximum size for a single PDO would be approx. 250 messages.
    Or for 5 different PDOs 50 each. But normaly you can leave the buffer size to zero, thus the PDO Read would allways read the newest data.
    This calculation is true for the board. That means you have 350 messages per board and 2 ports whould need to share the memory.
    DirkW

  • ORA-04030: out of process memory (pga heap,redo read buffer)

    Hi dear Masters Dba's....
    I have one problem in my work. Becouse this error isn't usual all time. My enviroment the Database is
    Oracle Database 10g Enterprise Edition ,10.2.0.1.0,64bi
    TNS for 64-bit Windows: ,10.2.0.1.0,Production
    Sga
    Fixed Size = 2003944
    Variable Size=251661336
    Database Buffers= 989855744
    Redo Buffers=14770176
    Block sise in bytes=8192
    MaxExtents=505
    Min extend siiza in k=128
    My machine is
    SO= Microsoft Windows Server 2003 R2 Standar x64 Edition
    2.66 Ghz and 4gb od RAM
    Pleace help me wiht this error. I will need the solution is very urgent. Thanks for you help.
    Edited by: user8208388 on 29/04/2009 02:27 PM

    take a look at these metalink docs
    Subject:      How To Avoid ORA-04030/ORA-12500 In 32 Bit Windows Environment
         Doc ID:      373602.1
    Subject:      ORA-04030 and ORA-06512
         Doc ID:      1019492.102
    also something related..Subject:      "ORA-04030: out of process memory (pga heap,redo read buffer) " Errors While Migrating Database To 10.2.0.1 on AIX 5L
         Doc ID:      423292.1
    this has to do some process limit set on OS side...

  • Error: f60webm(HTTP)FATAL ERROR:Not enough read buffer

    I am getting an error as follows with the Forms Server.
    f60webm(HTTP)FATAL ERROR:Not enough read buffer
    The error occurs after a forms session is closed, meaning that I can start the server, load up the forms client in my browser, run the application and do everything normally, but when I close the application at the client end, the server dies with the above message
    This particular server has been running quite happily for a couple of months using the socket method. I need to deploy this system using HTTPS and started testing the HTTP method first as I thought this would be easier. All I have changed so far is the connect method.
    Any ideas on how to fix this? As soon as I get my cerificates sorted out I will be testing the HTTPS method as well, I hope this does not have the same problem, but I'm expecting that it will.
    Regards
    Michael Anthon

    I am seeing the same error that you are experiencing when I run the forms server in http or https mode. I beleieve this same problem is seen under the Solaris version of 9iAS v. 1.0.2.0.0. On Solaris this error is fixed by applying one of the latest patchsets for Dev. 6i...I can't remember which one, but I think we are up to patchset 3 or 4 on a couple of my company's production forms servers and we are running in https mode. The forms server probably will not be able to operate correctly under http or https on Linux until Oracle releases a Linux version of the Dev 6i patchsets for Linux, or if an updated version of Dev 6i is available when 9iAS v. 1.0.2.1.0 for Linux is released. I'm afraid that sockets mode is the only available option at this time for running the Dev 6i forms server on Linux.
    If anyone has any information to the contrary, please let us know.
    Thanks,
    Mike

  • Does NiVisa fix the Ethernet read buffer allocation bug?

    NiVisa 3.01 does not properly allocate memory for the read buffer and gives resource allocation error messages.

    Thanks you Scott for answering me.
    The problem showed up when trying to read back the instrument state of a Tektronixs TDS3014 oscilloscope.
    Shown below is the most significant code:
    status = viOpen(viDefaultSession, TCPIP::12::INSTR, VI_NULL, VI_NULL, &viESA);
    strTemp = "*LRN?";
    status = viWrite (viESA, (ViBuf)strTemp.GetBuffer(strTemp.GetLength()), strTemp.GetLength(), &nRetCount);
    // Then to retrieve the data:
    status = viRead(viESA, (ViBuf)cResult, sizeof(cResult), &nRetCount);
    The viRead command will generate an error to the effect that there is insufficient memory. Sorry, I no longer have the oscilloscope on site and can't get the exact error. Attempts to set the read buffer don't help.
    Thanks,
    Steve

  • How to send ASCII character to the read buffer?

    how to send ASCII character to the read buffer?

    I assume you mean the serial port read buffer. You can't the only way data gets there is by coming in on the receive line.
    What exactly is it that you are trying to do?
    Mike...
    Certified Professional Instructor
    Certified LabVIEW Architect
    LabVIEW Champion
    "... after all, He's not a tame lion..."
    Be thinking ahead and mark your dance card for NI Week 2015 now: TS 6139 - Object Oriented First Steps

  • Multiple Sound Card for data acquisition gives read buffer error

    I am using 6 usb based sound cards for voltages and currents mearuments of a three phase delta system.. Hardware is working well. but in labview when i use builtin Input=>sound box for data acquisition it also works well upto 4 inputs... but when i use more i.e. 6 it starts giving error "cannt perform action, read buffer is full" some thing like this... som times it goes to "not responding"...i have tried to find the solution and found in another post of this fourm to varry the sampling rate... i did it upto 96000 that is maximum ... but still problem is same...i need to know, how to manually increase the read buffer. if not possible then.. is there any way that labview stop giving any type of error during simulation?

    thnx i hv solved that problem ... now there is another problem... i am getting all my signals in computer but problem comes when i use phase detector. it keep on showing different values in phase measurement block.. how can i manage the signal with correct phase. i cannt send code cz it has many VIs and they are spread in computer. so i am pasting come photos that are showing different. look in picture...it is from same signal and the phase is different..
    Attachments:
    Capturexcvxccxvxcvcxvvxcvxcv.JPG ‏11 KB
    Capturexcvxcvxcvxcv.JPG ‏11 KB

  • Input Stream available() vs read(buffer, int, int)

    I hope this isn't too stupid a question. I was doing some debugging recently and found this. I have a PushbackInputStream. Iask what's available(). It says, "950". I say read(buffer, int1, int2) it says, "I read 155".
    That seems odd to me. If there are X available why does it read less than X?
    Thanks
    ST

    OK. Thanks for the reply. So are you saying that
    available() can never be trusted? All it says is now many bytes might be read without blocking but it does not say that you can read that many bytes.
    Is this a bug? No! Just a feature.
    I
    could understand if available() always returns less
    than is truly there but not the other way around.I agree but that is not how it works.
    >
    Thoughts?Don't use it.

  • DAQ System Hanging Up/Monitoring Read Buffer

    Hi All,
    I am collecting data using two SCXI chasses with 1120 amplifier modules and SCXI 1112 thermocouple modules.
    I am monitoring 12 input voltages and 4 thermocouple inputs.
    I have set the samp,e rate to 2500S/s, and I am letting the software figure out how many samples to take each measurement.
    Most of the time, the system runs fine, at about a 16ms loop time.  However, every few seconds, the system will hang up for ~500ms between readings.  Any thoughts as to what might cause these hangups?
    I wonder if I am overflowing the read buffer.  Could that result in this type of behavior?  I think there is a way to monitor the read buffer, but I forget how to do it.  Can anyone tell me how to do that?
    Many thanks.
    Solved!
    Go to Solution.

    I am not sure about your architecture but hope you are using a producer/consumer design pattern. You can find this by going to File -> New.. and browse down to Producer Consumer Design Pattern (Data)
    Adnan Zafar
    Certified LabVIEW Architect
    Coleman Technologies

  • Difference between VISA READ buffer and string

    Hello I am just starting to use the VISA read and write function in labVIEW
    anybody knows what are the differene between VISA Read buffer and string? and comparison of VISA Write buffer and string
    thanks 
    Solved!
    Go to Solution.

    Hi Ein,
    "read buffer" is the label of the string given by VISARead, "write buffer" is the label of the string expected by VISAWrite!
    So there is no difference...
    Best regards,
    GerdW
    CLAD, using 2009SP1 + LV2011SP1 + LV2014SP1 on WinXP+Win7+cRIO
    Kudos are welcome

  • Socket cross-talk.... multiplex read buffer?

    i am using only 1 socket:
    [pc #1] <--- socket ---> [pc #2]
    concurrently:
    the [pc #1] thread is sending input data to the [pc #2] thread.
    and
    the [pc #2] thread is reading input data from the [pc #1] thread.
    this is of course, ok
    the [pc #2] thread is sending results data to the [pc #1] thread
    and
    the [pc #1] thread is reading results data from the [pc #2] thread
    some times "cross-talk" depending on timing
    [pc #2] will read the output it sent to [pc #1] as if it
    were input from [pc #1]
    maybe multiplex the read buffer?
    how to do that?
    other ideas?

    i am using only 1 socket:
    [pc #1] <--- socket ---> [pc #2]You are using two sockets, one at each end. You are using one connection.
    concurrently:Bilaterally, or in full-duplex mode:
    the [pc #1] thread is sending input data to the [pc #2] thread.No it's not, it's sending data to the connection.
    and the [pc #2] thread is reading input data from the [pc #1] thread.No, it's reading data from the connection.
    this is of course, okIt's OK once you describe it correctly.
    the [pc #2] thread is sending results data to the [pc #1] thread and the [pc #1] thread is reading results data from the [pc #2] threadNo, see above.
    some times "cross-talk" depending on timing
    [pc #2] will read the output it sent to [pc #1] as if itwere input from [pc #1]
    TCP/IP doesn't do that. Any 'crosstalk' is due to a programming error on your part.
    maybe multiplex the read buffer?Maybe fix your code?
    other ideas?Maybe show us your code here?

  • Com reading buffer sychronization

    I am writing a code to do the data acquisition. A device continousely
    sends 8 bytes(2 bytes each time) data to COM port every 9ms after
    sending notice. Since 8 bytes data represent 4 different meaning values
    (A, B, C, and D) and no more notice between every 8 bytes, how to
    correctly interpret the data group is very important. Currently, my
    code checks the number of available bytes in the reading buffer and
    extract data when buffer has 8 bytes. However, when I test the code,
    the values are not stable and in different order. I think this is
    because the data are wrongly interpreted. Do you have any idea how to
    solve this problem? I did not put any extra delay in the program and
    did not use any figures.
    Thank you

    The sending message is a special byte to ask the device start sending
    bytes. this message only is send one times. when the device got the
    message, it generates a lot of group data and sends to COM. It
    generates 8 bytes  group data each 9ms, and there is no special
    bit to tell which byte is the start of the group. So if the device
    generate data slowly, my program have enough time to extract 8 bytes
    one after one, however, if the device generates data quikly (9ms), my
    program thinks other byte to be the first byte. This case every
    happened becaue buffer overflow. But now, no buffer overflow anymore
    after I improved the complex GUI. Do you know how to solve this
    problem? Is there any method to gurantee extract each byte succesfully
    with fast speed? Thank you

Maybe you are looking for

  • Q10 sync with Microsft Outlook

    To replace my Tourch 9800, I bought a Q10 when they first came out, but I had to return it when I could not get it to sync with Outlook. (Unless I had and enterprose Server - which I don't). I understand that there is now Link software that will allo

  • How do I fix a frozen cursor?

    With the last update my cursor freezes from time to time... any fixes for this?

  • Smart forms item Details Displayed

    hi Experts,           Could u please send me the details i need to display the multiple values for items in my smartforms for that i got the Folowing inputs by using this i need to display the multiple values Please Go through this Values And Suggest

  • MultiClip Problems with Pluraleyes in FCP 7

    I have 4 cameras all shot with a DSLR Camera. Each camera is about 1 hour and 15 minutes long and has both video and audio on it.. Of course, each camera has multiple cuts in them when the videographer pressed stop and go while he was shooting. There

  • Setting up Sub-Account

    Hi I've joined the BT community today, having moved over from the utter mess that is Sky.Yahoo. With Infinity 1 I now have broadband speed of 38mb, compared to 10mb with constant dropout. My main e-mail address has been established OK using Mail on a