How can we configure or control records go into single idoc thru BODS?

Hi,
Our case is -
IDOC format has three segment. Each segments has child nodes -
1. CONTROL SEGMENT - This is required only once per idoc.
child1
child2
2. SEGMENT1 - sinlge source record to be broken into two segments.
child1
child2
3. SEGMENT2 - sinlge source record to be broken into two segments.
child1
child2
we have a single source (lest say having 100 records).
In the current design which does generates IDOCS but as many as the no of records in source. Currently we use a row generation transform as dummy (with row count as 1) to pass to the IDOC parent nodes's from clause to escape the error - invalid input to the parent nodes.
Child nodes are either mapped to the source table or are null.
Question - How can we configure this in a way that we control how many records go into single idoc. Ex - lets say 50 per idoc so only 2 idoc should be created if 100 records are there.

HI,
this sounds to me like Data Services. If so I would suggest to post this into the Data Service forum.
regards
Ingo HIlgefort

Similar Messages

  • How can I get my (vinyl) record music into iTunes Match?

    I have a rather large collection of music on CDs, Tapes, and records.
    Now that iTunes Match exists I would like to include all of my music into my iTunes library.
    There is no easy way (that I know of) to load anything except CDs into iTunes. So for the rest of the library one must either buy all the music again or buy equipment to play the music one time and convert it to a newer format.
    My CD collection is mostly loaded and since 99.999% (virtually all) of that music is already in iTunes Match it is not uploaded to iTunes again, but it quickly becomes available to play on all my iTunes Authorized Devices.
    With the exception of that 1 in ten thousand songs that I may have that iTunes does not have in the Match library there is no reason to import the music at all - other than to prove I have the actual CD's. (In any case I suppose I could have borrowed them for that anyway.)
    However for CDs at least they can be imported - but for tapes and records I know of no direct way.
    With something state-of-the-art like iTunes Match and my PC(s), iPhone(s) and iPad, why use stone-age-like means to prove ownership of outside-of-iTunes music?
    Why not provide some other information to identify albums owned and have them available in iTunes Match without the 99.999% useless step of loading them?
    In fact for most tape music it is no longer playable (to convert) as the rollers in the tape devices deteriorate and they no longer play.
    Vinyl records play just fine, just not easily into a PC without purchase of expensive equipment that would be used only for the one-time load (which is really just for proof-of-ownership).
    What a ridiculous waste of time, energy and funds for that 1 in 10,000 songs that may not yet exist in the iTunes Match library. Okay, as the music gets older it may even be 2 in 10,000 - but I doubt it.
    I remember that each album (and 45 rpm single) has identifying information scratched into it (around the inside of the innermost track) - can that (or something else) suffice as proof of ownership to get the music into iTunes Match?
    Please respond with ideas to quickly and easily get already-owned vinyl record music into an iTunes Match library.
    I personally do not care if 1 (or 2) out of 10,000 of my songs gets lost because it is not in the iTunes Match library - couldn't be that good in that case anyway.
    Thanks!!

    I too have not figured out how to convert my vinyl collection to iTunes match. Here is what I have tried:
    I record my vinyl records onto CD using a Sony RCD-W500C which makes a very high quality recording. I make sure the song lengths are the same as those from the same album at the iTunes store.
    Then I import the CD into my iTunes music library. I have to enter the names of the tracks manually because Gracenote cannot identify the names of the songs. I do this while the music is in my iTunes music library and the CD has been ejected from my PC.
    Then I try to get the iTunes Match, but it never works. I do, however, get the artwork from iTunes. iTunes then uploads my songs into the iCloud. When I download them back onto my PC and iPhone 4s, I get the identicle recording that I imported onto iTunes. I know this because I can hear the static and crackling of the vinyl. I don't necessarily mind that noise, but I figured if I paid for the iTunes Match I should get the AAC 256 bps music. After all it doesn't cost iTunes anything to give it to me. And there's no way I'm going to purchase all my vinyl records again. I have about 500 albums.
    I do buy all my new music from iTunes because I think it is the best system available. I just think it could be so much better if they would let me download the highest quality recording of the music I own from them.
    I have also tried the Sony Sound Forge Audio Studio which records my vinyl records into a music file on my PC. But that doesn't get the match either.
    THERE HAS TO BE SOMEBODY OUT THERE THAT CAN TELL US WHAT ITUNES MATCH LOOKS AT IN OUR MUSIC UPLOADS THAT DETERMINES WHETHER THEY GIVE US THE MATCH!!!!!!
    When you download a CD, there is some information embedded in the CD that iTunes matches. I don't believe there is any information embeded in the vinyl albums, but when I burn them onto a CD-maybe I could add the info onto the CD before trying to match it if I just knew what they looked for.
    I would appreciate any help anyone can give me on this.

  • How can I configure and control a non-plug and play VXI card using the NI-controller (NI-VXI/NI-VISA software)?

    Defining the slot, logical address and sending data across the card bus are the main operations I would like to perform. The non plug&play card is a VXI send & receive slave card. Low-level programming is probably required. Has anyone tried this before? If so I would be so grateful if you could share your experiences or refer me to someone who has.
    Thank you for your time and help,
    Nandeesh

    VXI cards are, by specification, plug and play, so I'm not exactly sure what you mean by a "non plug&play card." I'm guessing that the card is effectively a VME card. In this case, you can just add the VME device in the proper configuration utility. Here is a link to a document on our website about configuring VME cards (http://ni.com/support/vxi/vmeinfo.pdf).
    You should easily be able set the slot, pseudo Logical Address and memory space. Once configured, you should be able to write to registers using NI-VISA commands (viIn, viOut, and viMove). These high level commands are included in the highreg.c example which shipped with your NI-VISA software (installed in vxipnp directory).
    I hope this helps.
    Trey Hamilton
    National Instruments
    Applications Enginee
    ring
    http://www.ni.com/support

  • How can I import bookmark HTML records directly into pre-defined (but empty) Folders?

    Firefox is my default browser. I am in the process of replacing an old computer with a new one. I've converted into HTML files the Bookmark content of all of the Folders appearing within the Bookmarks section of Firefox on my old computer. I then uploaded this into the cloud, and downloaded it to my new computer. I've loaded Firefox afresh on the new computer. Now . . .
    Ideally, I would like to be able to import these saved/HTML bookmarks (now on my new computer) directly into the new Firefox, keeping the Folder structure maintained in saving them from the old computer; less ideally, but still acceptable, would be to simply re-create as empty Folders each Folder from the old computer's Firefox setup and then do a 'Select All' copy/paste from each of these Folders as saved in my downloaded HTML bookmarks into these initially empty Folders created in the new computer's Firefox Bookmarks section. Is either of these currently possible? In short, this is a quite distinct scenario from importing bookmarks from other browsers on the same computer.
    I have tried, but it seems that neither of these functions is currently viable. As common as replacing one computer with another is, I find this a pretty significant oversight which will require a very time consuming conversion process if such functions are not currently available; i.e., I'll have to open each saved HTML Folder and manually activate each individual html bookmark, go to that website, and individually re-bookmark each of these one by one within the Bookmarks section of Firefox on my new computer as if I were bookmarking this site for the very first time. With hundreds and hundreds of bookmarks segregated into about 30 Folders, I think you can see what a productivity drain this will be.
    While there appear to be some quite interesting and potentially useful FireFox Addons - e.g., Categorize - none of these seems to address/resolve this problem. Can you advise? Thank you.

    To start out with, Firefox hasn't used the HTML format for storing bookmarks for a few years now; you can still import and export bookmarks in HTML format, as you can with just about any other browser out there as an interchange format. Firefox 3.0+ versions use an SQLite database for storing bookmarks and browsing history in the place.sqlite file. Firefox 3.0+ versions do automatic backups of your bookmarks in the JSON format; that file includes "Tags" data but not the web site Favicon data. Restoring a backup from an old PC to the new PC is how Mozilla handles replacing an old computer - or you can "backup" the entire old Profile and transfer that data to the new PC manually. A user could also use Firefox Sync to "sync" their personal data onto the new PC. IMO, you're over-thinking this using dated information (talking about HTML files) without knowing about what options you currently have with Firefox and Mozilla.
    Is that a genuine Netscape-1 bookmarks.html file? ''Look at the first line of code in that HTML file to see.'' <br />
    Or is it a standard HTML file?
    If you have a genuine bookmarks.html file, you can '''Import''' that file thru Organize Bookmarks > Import and Backup > Import HTML... > From an HTML file.
    Doing it that way you will be appending the bookmarks & folders that are in the '''Bookmarks Menu''' folder right now. The ordering of the folders and bookmarks in the "imported" file is identical, the "imported" data is added below the existing data. That said, the '''''Bookmarks Toolbar''''' folder and the '''''Unsorted Bookmarks''''' folder from the "imported" data will be in the Bookmarks Menu folder at the bottom; you'll have to move the bookmarks that are in that folder to their respective folders, above and below the Bookmarks Menu folder.

  • HT3887 how can i configure my wireless keyword so i can use the Function F keys to control volume etc...? I am using 10.5.8 OS

    how can i configure my wireless keyword so i can use the Function <F> keys to control volume etc...? I am using 10.5.8 OS

    little wireless cameras would not have the ability to send back to the base, even thought the base can reach it.
    Now if you take regular cameras and wire them into a Cisco switch that was attached to a wireless bridge that could shine back to the base...now you might have something, but your still going to have to do a survey/path analysis to determine if it is feasible.
    Coverage isnt throughput. I see one base station with 3 or 4 sectoral antennas depending on direction, pointing two several distribution bridges to bridge the gaps that go out again to the cameras...something like that. And all of it should be higher in the air than your construction.

  • How can I configure ReFS to NOT fail read operations when a checksum error is detected (on non-Storage-Spaces volumes where data integrity streams are enabled)?

    According to William Stanek, in his Windows Server 2012 R2 Inside Out: Configuration, Storage & Essentials book, this is apparently possible: (pg. 615 - here it is on Google Books: https://books.google.ca/books?id=0IyfBAAAQBAJ&pg=PT819&lpg=PT819&dq=read+operation )
        Integrity can be enabled when the system is not running on Storage Spaces. When
        integrity is enabled and ReFS detects a checksum mismatch, ReFS logs an event and
        fails the read operation by default. If you don’t want the read operation to fail, you
        can configure ReFS to continue with the read operation. A related event will be logged
        regardless.
    So then how do I configure it to do that???
    (And just to make it super-clear, I'm NOT using Storage Spaces, so there is no redundancy via mirroring/parity, and I'm not expecting any file repair - just detection of corruption. It's just a basic volume formatted with ReFS and
    with integrity streams enabled, via format E: /fs:ReFS /i:enabled
    For those who want more details, here's the situation: 
    I try to perform a read operation on a file with corrupted data (purposely done for testing using a low-level disk editor), I get a the following error message:
    And an event ID 133 from ReFSv1 gets logged in the System log:
    Clicking "Try Again" just brings up the same message, and clicking "Skip" skips the operation entirely.
    This is indeed the correct default behaviour.
    What I want instead is for the read operation to be allowed to complete, with corrupt data and all, and ONLY for the event to be logged. And according to William Stanek, this is supposed to be configurable somewhere - and after hours of searching, I haven't
    been able to find anything.

    Hi Tommy,
    >>How can I configure ReFS to NOT fail read operations when a checksum error is detected
    We can use PowerShell command Set-FileIntegrity to configure this. The specific parameter for controlling this behavior is
    -Enforce <Boolean>which indicates whether to enable blocking access to a file if integrity streams do not match the data.  
    Regarding this point, the following article can be referred to as reference.
    Set-FileIntegrity
    https://technet.microsoft.com/en-us/library/jj218351.aspx
    Best regards,
    Frank Shen
    Please remember to mark the replies as answers if they help and unmark them if they provide no help. If you have feedback for TechNet Subscriber Support, contact [email protected]

  • How can we use TABLE CONTROL in BDC and WORK FLOW of ABAP.

    how can we use TABLE CONTROL in BDC and WORK FLOW of ABAP.?
    please explain the important questions.

    How to deal with table control / step loop in BDC
    Steploop and table contol is inevitable in certain transactions. When we run BDC for such transactions, we will face the situation: how many visible lines of steploop/tablecontrol are on the screen? Although we can always find certain method to deal with it, such as function code 'NP', 'POPO', considering some extreme situation: there is only one line visible one the screen, our BDC program should display an error message. (See transaction 'ME21', we you resize your screen to let only one row visible, you can not enter mutiple lines on this screen even you use 'NP')
    Now with the help of Poonam on sapfans.com developement forum, I find a method with which we can determine the number of visible lines on Transaction Screen from our Calling BDC program. Maybe it is useless to you, but I think it will give your some idea.
    Demo ABAP code has two purposes:
    1. how to determine number of visible lines and how to calculte page number;
    (the 'calpage' routine has been modify to meet general purpose usage)
    2. using field symbol in BDC program, please pay special attention to the difference in Static ASSIGN and Dynamic ASSIGN.
    Now I begin to describe the step to implement my method:
    (I use transaction 'ME21', screen 121 for sample,
    the method using is Call Transation Using..)
    Step1: go to screen painter to display the screen 121, then we can count the fixed line on this screen, there is 7 lines above the steploop and 2 lines below the steploop, so there are total 9 fixed lines on this screen. This means except these 9 lines, all the other line is for step loop. Then have a look at steploop itselp, one entry of it will occupy two lines.
    (Be careful, for table control, the head and the bottom scroll bar will possess another two fixed lines, and there is a maximum number for table line)
    Now we have : FixedLine = 9
                  LoopLine  = 2(for table control, LoopLine is always equal to 1)
    Step2: go to transaction itself(ME21) to see how it roll page, in ME21, the first line of new page is always occupied by the last line of last page, so it begin with index '02', but in some other case, fisrt line is empty and ready for input.
    Now we have: FirstLine = 0
              or FirstLine = 1 ( in our case, FirstLine is 1 because the first line of new page is fulfilled)
    Step3: write a subroutine calcalculating number of pages
    (here, the name of actual parameter is the same as formal parameter)
    global data:    FixedLine type i, " number of fixed line on a certain screen
                    LoopLine  type i, " the number of lines occupied by one steploop item
                    FirstLine type i, " possbile value 0 or 1, 0 stand for the first line of new                                                               " scrolling screen is empty, otherwise is 1
                    Dataline  type i, " number of items you will use in BDC, using DESCRIBE to get
                    pageno    type i, " you need to scroll screen how many times.
                    line      type i, " number of lines appears on the screen.
                    index(2)  type N, " the screen index for certain item
                    begin     type i, " from parameter of loop
                    end       type i. " to parameter of loop
    *in code sample, the DataTable-linindex stands for the table index number of this line
    form calpage using FixedLine type i (see step 1)
                       LoopLine  type i (see step 1)
                       FirstLine type i (see step 2)
                       DataLine  type i ( this is the item number you will enter in transaction)
              changing pageno    type i (return the number of page, depends on run-time visible                                                                             line in table control/ Step Loop)
              changing line      type i.(visible lines one the screen)
    data: midd type i,
          vline type i, "visible lines
    if DataLine eq 0.
       Message eXXX.
    endif.
    vline = ( sy-srows - FixedLine ) div LoopLine.
    *for table control, you should compare vline with maximum line of
    *table control, then take the small one that is min(vline, maximum)
    *here only illustrate step loop
    if FirstLine eq 0.
            pageno = DataLine div vline.
            if pageno eq 0.
               pageno = pageno + 1.
            endif.
    elseif FirstLine eq 1.
            pageno = ( DataLine - 1 ) div ( vline - 1 ) + 1.
            midd = ( DataLine - 1 ) mod ( vline - 1).
            if midd = 0 and DataLine gt 1.
                    pageno = pageno - 1.
            endif.
    endif.
    line = vline.
    endform.
    Step4 write a subroutine to calculate the line index for each item.
    form calindex using Line type i (visible lines on the screen)
                        FirstLine type i(see step 2)
                        LineIndex type i(item index)
              changing  Index type n.    (index on the screen)
      if  FirstLine = 0.
            index = LineIndex mod Line.
            if index = '00'.
                    index = Line.
            endif.
      elseif FirstLine = 1.
            index = LineIndex mod ( Line - 1 ).
            if ( index between 1 and 0 ) and LineIndex gt 1.
                    index = index + Line - 1.
            endif.
            if Line = 2.
                    index = index + Line - 1.
            endif.
    endif.
    endform.
    Step5 write a subroutine to calculate the loop range.
    form calrange using Line type i ( visible lines on the screen)
                        DataLine type i
                        FirstLine type i
                        loopindex like sy-index
            changing    begin type i
                        end type i.
    If FirstLine = 0.
       if loopindex = 1.
            begin = 1.
            if DataLine <= Line.
                    end = DataLine.
            else.
                    end = Line.
            endif.
       elseif loopindex gt 1.
            begin = Line * ( loopindex - 1 ) + 1.
            end   = Line * loopindex.
            if end gt DataLine.
               end = DataLine.
            endif.
       endif.
    elseif FirstLine = 1.
      if loopindex = 1.
            begin = 1.
            if DataLine <= Line.
                    end = DataLine.
            else.
                    end = Line.
            endif.
      elseif loop index gt 1.
            begin = ( Line - 1 ) * ( loopindex - 1 ) + 2.
            end =   ( Line - 1 ) * ( loopindex - 1 ) + Line.
            if end gt DataLine.
                    end = DataLine.
            endif.
      endif.
    endif.
    endform.
    Step6 using field sysbol in your BDC, for example: in ME21, but you should calculate each item will correponding to which index in steploop/Table Control
    form creat_bdc.
    field-symbols: <material>, <quan>, <indicator>.
    data: name1(14) value 'EKPO-EMATN(XX)',
          name2(14) value 'EKPO-MENGE(XX)',
          name3(15) value 'RM06E-SELKZ(XX)'.
    assign:         name1 to <material>,
                    name2 to <quan>,
                    name3 to <indicator>.
    do pageno times.
    if sy-index gt 1
    *insert scroll page ok_code"
    endif.
            perform calrange using Line DataLine FirstLine sy-index
                             changing begin end.
    loop at DataTable from begin to end.
            perform calindex using Line FirstLine DataTable-LineIndex changing Index.
            name1+11(2) = Index.
            name2+11(2) = Index.
            name3+12(2) = Index.
            perform bdcfield using <material> DataTable-matnr.
            perform bdcfield using <quan>     DataTable-menge.
            perform bdcfield using <indicator> DataTable-indicator.
    endloop.
    enddo.
    An example abap program of handling Table Control during bdc programming.
    REPORT zmm_bdcp_purchaseorderkb02
           NO STANDARD PAGE HEADING LINE-SIZE 255.
                    Declaring internal tables                            *
    *-----Declaring line structure
    DATA : BEGIN OF it_dummy OCCURS 0,
             dummy(255) TYPE c,
           END OF it_dummy.
    *-----Internal table for line items
    DATA :  BEGIN OF it_idata OCCURS 0,
              ematn(18),      "Material Number.
              menge(13),      "Qyantity.
              netpr(11),      "Net Price.
              werks(4),       "Plant.
              ebelp(5),       "Item Number.
            END OF it_idata.
    *-----Deep structure for header data and line items
    DATA  :  BEGIN OF it_me21 OCCURS 0,
               lifnr(10),      "Vendor A/c No.
               bsart(4),       "A/c Type.
               bedat(8),       "Date of creation of PO.
               ekorg(4),       "Purchasing Organisation.
               ekgrp(3),       "Purchasing Group.
               x_data LIKE TABLE OF it_idata,
             END OF it_me21.
    DATA  :  x_idata LIKE LINE OF it_idata.
    DATA  :  v_delimit VALUE ','.
    DATA  :  v_indx(3) TYPE n.
    DATA  :  v_fnam(30) TYPE c.
    DATA  :  v_count TYPE n.
    DATA  :  v_ne TYPE i.
    DATA  :  v_ns TYPE i.
    *include bdcrecx1.
    INCLUDE zmm_incl_purchaseorderkb01.
                    Search help for file                                 *
    AT SELECTION-SCREEN ON VALUE-REQUEST FOR p_file.
      CALL FUNCTION 'F4_FILENAME'
        EXPORTING
          program_name  = syst-cprog
          dynpro_number = syst-dynnr
        IMPORTING
          file_name     = p_file.
    START-OF-SELECTION.
           To upload the data into line structure                        *
      CALL FUNCTION 'WS_UPLOAD'
        EXPORTING
          filename = p_file
          filetype = 'DAT'
        TABLES
          data_tab = it_dummy.
        Processing the data from line structure to internal tables       *
      REFRESH:it_me21.
      CLEAR  :it_me21.
      LOOP AT it_dummy.
        IF it_dummy-dummy+0(01) = 'H'.
          v_indx = v_indx + 1.
          CLEAR   it_idata.
          REFRESH it_idata.
          CLEAR   it_me21-x_data.
          REFRESH it_me21-x_data.
          SHIFT it_dummy.
          SPLIT it_dummy AT v_delimit INTO it_me21-lifnr
                                           it_me21-bsart
                                           it_me21-bedat
                                           it_me21-ekorg
                                           it_me21-ekgrp.
          APPEND it_me21.
        ELSEIF it_dummy-dummy+0(01) = 'L'.
          SHIFT it_dummy.
          SPLIT it_dummy AT v_delimit INTO it_idata-ematn
                                           it_idata-menge
                                           it_idata-netpr
                                           it_idata-werks
                                           it_idata-ebelp.
          APPEND it_idata TO it_me21-x_data.
          MODIFY it_me21 INDEX v_indx.
        ENDIF.
      ENDLOOP.
                    To open the group                                    *
      PERFORM open_group.
            To populate the bdcdata table for header data                *
      LOOP AT it_me21.
        v_count = v_count + 1.
        REFRESH it_bdcdata.
        PERFORM subr_bdc_table USING:   'X' 'SAPMM06E'    '0100',
                                        ' ' 'BDC_CURSOR'  'EKKO-LIFNR',
                                        ' ' 'BDC_OKCODE'  '/00',
                                        ' ' 'EKKO-LIFNR'  it_me21-lifnr,
                                        ' ' 'RM06E-BSART' it_me21-bsart,
                                        ' ' 'RM06E-BEDAT' it_me21-bedat,
                                        ' ' 'EKKO-EKORG'  it_me21-ekorg,
                                        ' ' 'EKKO-EKGRP'  it_me21-ekgrp,
                                        ' ' 'RM06E-LPEIN' 'T'.
        PERFORM subr_bdc_table USING:   'X' 'SAPMM06E'    '0120',
                                        ' ' 'BDC_CURSOR'  'RM06E-EBELP',
                                        ' ' 'BDC_OKCODE'  '/00'.
        MOVE 1 TO v_indx.
    *-----To populate the bdcdata table for line item data
        LOOP AT it_me21-x_data INTO x_idata.
          CONCATENATE 'EKPO-EMATN(' v_indx ')'  INTO v_fnam.
          PERFORM  subr_bdc_table USING ' ' v_fnam x_idata-ematn.
          CONCATENATE 'EKPO-MENGE(' v_indx ')'  INTO v_fnam.
          PERFORM  subr_bdc_table USING ' ' v_fnam x_idata-menge.
          CONCATENATE 'EKPO-NETPR(' v_indx ')'  INTO v_fnam.
          PERFORM  subr_bdc_table USING ' ' v_fnam x_idata-netpr.
          CONCATENATE 'EKPO-WERKS(' v_indx ')'  INTO v_fnam.
          PERFORM  subr_bdc_table USING ' ' v_fnam x_idata-werks.
          v_indx = v_indx + 1.
          PERFORM subr_bdc_table USING:  'X' 'SAPMM06E'    '0120',
                                         ' ' 'BDC_CURSOR'  'RM06E-EBELP',
                                         ' ' 'BDC_OKCODE'  '/00'.
        ENDLOOP.
        PERFORM subr_bdc_table USING:    'X' 'SAPMM06E'    '0120',
                                         ' ' 'BDC_CURSOR'  'RM06E-EBELP',
                                         ' ' 'BDC_OKCODE'  '=BU'.
        PERFORM bdc_transaction USING 'ME21'.
      ENDLOOP.
      PERFORM close_group.
                      End of selection event                             *
    END-OF-SELECTION.
      IF session NE 'X'.
    *-----To display the successful records
        WRITE :/10  text-001.          "Sucess records
        WRITE :/10  SY-ULINE(20).
        SKIP.
        IF it_sucess IS INITIAL.
          WRITE :/  text-002.
        ELSE.
          WRITE :/   text-008,          "Total number of Succesful records
                  35 v_ns.
          SKIP.
          WRITE:/   text-003,          "Vendor Number
                 17 text-004,          "Record number
                 30 text-005.          "Message
        ENDIF.
        LOOP AT it_sucess.
          WRITE:/4  it_sucess-lifnr,
                 17 it_sucess-tabix CENTERED,
                 30 it_sucess-sucess_rec.
        ENDLOOP.
        SKIP.
    *-----To display the erroneous records
        WRITE:/10   text-006.          "Error Records
        WRITE:/10   SY-ULINE(17).
        SKIP.
        IF it_error IS INITIAL.
          WRITE:/   text-007.          "No error records
        ELSE.
          WRITE:/   text-009,          "Total number of erroneous records
                 35 v_ne.
          SKIP.
          WRITE:/   text-003,          "Vendor Number
                 17 text-004,          "Record number
                 30 text-005.          "Message
        ENDIF.
        LOOP AT it_error.
          WRITE:/4  it_error-lifnr,
                 17 it_error-tabix CENTERED,
                 30 it_error-error_rec.
        ENDLOOP.
        REFRESH it_sucess.
        REFRESH it_error.
      ENDIF.
    CODE IN INCLUDE.
    Include           ZMM_INCL_PURCHASEORDERKB01
    DATA:   it_BDCDATA LIKE BDCDATA    OCCURS 0 WITH HEADER LINE.
    DATA:   it_MESSTAB LIKE BDCMSGCOLL OCCURS 0 WITH HEADER LINE.
    DATA:   E_GROUP_OPENED.
    *-----Internal table to store sucess records
    DATA:BEGIN OF it_sucess OCCURS 0,
           msgtyp(1)   TYPE c,
           lifnr  LIKE  ekko-lifnr,
           tabix  LIKE  sy-tabix,
           sucess_rec(125),
         END OF it_sucess.
    DATA: g_mess(125) type c.
    *-----Internal table to store error records
    DATA:BEGIN OF it_error OCCURS 0,
           msgtyp(1)   TYPE c,
           lifnr  LIKE  ekko-lifnr,
           tabix  LIKE  sy-tabix,
           error_rec(125),
         END OF it_error.
           Selection screen
    SELECTION-SCREEN BEGIN OF LINE.
    PARAMETERS session RADIOBUTTON GROUP ctu.  "create session
    SELECTION-SCREEN COMMENT 3(20) text-s07 FOR FIELD session.
    SELECTION-SCREEN POSITION 45.
    PARAMETERS ctu RADIOBUTTON GROUP ctu.     "call transaction
    SELECTION-SCREEN COMMENT 48(20) text-s08 FOR FIELD ctu.
    SELECTION-SCREEN END OF LINE.
    SELECTION-SCREEN BEGIN OF LINE.
    SELECTION-SCREEN COMMENT 3(20) text-s01 FOR FIELD group.
    SELECTION-SCREEN POSITION 25.
    PARAMETERS group(12).                      "group name of session
    SELECTION-SCREEN COMMENT 48(20) text-s05 FOR FIELD ctumode.
    SELECTION-SCREEN POSITION 70.
    PARAMETERS ctumode LIKE ctu_params-dismode DEFAULT 'N'.
    "A: show all dynpros
    "E: show dynpro on error only
    "N: do not display dynpro
    SELECTION-SCREEN END OF LINE.
    SELECTION-SCREEN BEGIN OF LINE.
    SELECTION-SCREEN COMMENT 48(20) text-s06 FOR FIELD cupdate.
    SELECTION-SCREEN POSITION 70.
    PARAMETERS cupdate LIKE ctu_params-updmode DEFAULT 'L'.
    SELECTION-SCREEN END OF LINE.
    SELECTION-SCREEN BEGIN OF LINE.
    SELECTION-SCREEN COMMENT 3(20) text-s03 FOR FIELD keep.
    SELECTION-SCREEN POSITION 25.
    PARAMETERS: keep AS CHECKBOX.       "' ' = delete session if finished
    "'X' = keep   session if finished
    SELECTION-SCREEN COMMENT 48(20) text-s09 FOR FIELD e_group.
    SELECTION-SCREEN POSITION 70.
    PARAMETERS e_group(12).             "group name of error-session
    SELECTION-SCREEN END OF LINE.
    SELECTION-SCREEN BEGIN OF LINE.
    SELECTION-SCREEN COMMENT 51(17) text-s03 FOR FIELD e_keep.
    SELECTION-SCREEN POSITION 70.
    PARAMETERS: e_keep AS CHECKBOX.     "' ' = delete session if finished
    "'X' = keep   session if finished
    SELECTION-SCREEN END OF LINE.
    PARAMETERS:p_file LIKE rlgrap-filename.
      at selection screen                                                *
    AT SELECTION-SCREEN.
    group and user must be filled for create session
      IF SESSION = 'X' AND
         GROUP = SPACE. "OR USER = SPACE.
        MESSAGE E613(MS).
      ENDIF.
      create batchinput session                                          *
    FORM OPEN_GROUP.
      IF SESSION = 'X'.
        SKIP.
        WRITE: /(20) 'Create group'(I01), GROUP.
        SKIP.
    *----open batchinput group
        CALL FUNCTION 'BDC_OPEN_GROUP'
          EXPORTING
            CLIENT = SY-MANDT
            GROUP  = GROUP
            USER   = sy-uname.
        WRITE:/(30) 'BDC_OPEN_GROUP'(I02),
                (12) 'returncode:'(I05),
                     SY-SUBRC.
      ENDIF.
    ENDFORM.                    "OPEN_GROUP
      end batchinput session                                             *
    FORM CLOSE_GROUP.
      IF SESSION = 'X'.
    *------close batchinput group
        CALL FUNCTION 'BDC_CLOSE_GROUP'.
        WRITE: /(30) 'BDC_CLOSE_GROUP'(I04),
                (12) 'returncode:'(I05),
                     SY-SUBRC.
      ELSE.
        IF E_GROUP_OPENED = 'X'.
          CALL FUNCTION 'BDC_CLOSE_GROUP'.
          WRITE: /.
          WRITE: /(30) 'Fehlermappe wurde erzeugt'(I06).
        ENDIF.
      ENDIF.
    ENDFORM.                    "CLOSE_GROUP
           Start new transaction according to parameters                 *
    FORM BDC_TRANSACTION USING TCODE TYPE ANY.
      DATA: L_SUBRC LIKE SY-SUBRC.
    *------batch input session
      IF SESSION = 'X'.
        CALL FUNCTION 'BDC_INSERT'
          EXPORTING
            TCODE     = TCODE
          TABLES
            DYNPROTAB = it_BDCDATA.
        WRITE: / 'BDC_INSERT'(I03),
                 TCODE,
                 'returncode:'(I05),
                 SY-SUBRC,
                 'RECORD:',
                 SY-INDEX.
      ELSE.
        REFRESH it_MESSTAB.
        CALL TRANSACTION TCODE USING it_BDCDATA
                         MODE   CTUMODE
                         UPDATE CUPDATE
                         MESSAGES INTO it_MESSTAB.
        L_SUBRC = SY-SUBRC.
        WRITE: / 'CALL_TRANSACTION',
                 TCODE,
                 'returncode:'(I05),
                 L_SUBRC,
                 'RECORD:',
                 SY-INDEX.
      ENDIF.
      Message handling for Call Transaction                              *
      perform subr_mess_hand using g_mess.
    *-----Erzeugen fehlermappe
      IF L_SUBRC <> 0 AND E_GROUP <> SPACE.
        IF E_GROUP_OPENED = ' '.
          CALL FUNCTION 'BDC_OPEN_GROUP'
            EXPORTING
              CLIENT = SY-MANDT
              GROUP  = E_GROUP
              USER   = sy-uname
              KEEP   = E_KEEP.
          E_GROUP_OPENED = 'X'.
        ENDIF.
        CALL FUNCTION 'BDC_INSERT'
          EXPORTING
            TCODE     = TCODE
          TABLES
            DYNPROTAB = it_BDCDATA.
      ENDIF.
      REFRESH it_BDCDATA.
    ENDFORM.                    "BDC_TRANSACTION
         Form  subr_bdc_table                                            *
          text
         -->P_0220   text                                                *
         -->P_0221   text                                                *
         -->P_0222   text                                                *
    FORM subr_bdc_table  USING      VALUE(P_0220) TYPE ANY
                                    VALUE(P_0221) TYPE ANY
                                    VALUE(P_0222) TYPE ANY.
      CLEAR it_bdcdata.
      IF P_0220 = ' '.
        CLEAR it_bdcdata.
        it_bdcdata-fnam     = P_0221.
        it_bdcdata-fval     = P_0222.
        APPEND it_bdcdata.
      ELSE.
        it_bdcdata-dynbegin = P_0220.
        it_bdcdata-program  = P_0221.
        it_bdcdata-dynpro   = P_0222.
        APPEND it_bdcdata.
      ENDIF.
    ENDFORM.                    " subr_bdc_table
         Form  subr_mess_hand                                            *
          text                                                           *
         -->P_G_MESS  text                                               *
    FORM subr_mess_hand USING  P_G_MESS TYPE ANY.
      LOOP AT IT_MESSTAB.
        CALL FUNCTION 'FORMAT_MESSAGE'
          EXPORTING
            ID     = it_messtab-msgid
            LANG   = it_messtab-msgspra
            NO     = it_messtab-msgnr
            v1     = it_messtab-msgv1
            v2     = it_messtab-msgv2
          IMPORTING
            MSG    = P_G_MESS
          EXCEPTIONS
            OTHERS = 0.
        CASE it_messtab-msgtyp.
          when 'E'.
            it_error-error_rec   =  P_G_MESS.
            it_error-lifnr       =  it_me21-lifnr.
            it_error-tabix       =  v_count.
            APPEND IT_ERROR.
          when 'S'.
            it_sucess-sucess_rec =  P_G_MESS.
            it_sucess-lifnr      =  it_me21-lifnr.
            it_sucess-tabix      =  v_count.
            APPEND IT_SUCESS.
        endcase.
      ENDLOOP.
      Describe table it_sucess lines v_ns.
      Describe table it_error  lines v_ne.
    ENDFORM.                    " subr_mess_hand
    Also refer
    http://sap.ittoolbox.com/groups/technical-functional/sap-dev/bdc-table-control-668404
    and
    http://www.sap-img.com/abap/bdc-example-using-table-control-in-bdc.htm
    Regards,
    srinivas
    <b>*reward for useful answers*</b>

  • How to fill plant in control record of an I-Doc , message type - INVOIC

    Hi All,
    Can any one tell me, how i can fill Plant in control record of an I-Doc, when i generate I-Doc through billing with message type INVOIC. The field (EDIDC-REFGRP) should be fillied with Plant.
    Regards,
    Suresh Patiapti.

    Hi,
    Which type of processing you are referring to (outbound/inbound) ? Which standard process code is used for idoc processing?
    Regards
    Vinod

  • How can I configure NI PCI 6221 and DAQ SCB-68 for pressure sensors?

    Hello
    everybody,
    I am using the measuring board (NI PCI 6221) and DAQ
    SCB-68 for the data acquisition.
    With the DAQ-Assistant I created AI for the voltage of
    pressure sensors. In a big indicator panel from this DAQ-Assistant I see the
    voltage for both sensors in the correct size. But if I set sensors in the
    blockdiagramm to control the signals for sensor one I get a wrong voltage size
    and for sensor 2 nothing.
    How can I configure this data acquisition equipment to
    get the correct signals?
    Thanks a lot for your help.

    I do not know the type of sensor you are using. But pressure transducers may have a very low output voltage(in the mVolt range). They also need an excitation voltage. Here is an introduction. http://focus.ti.com.cn/cn/lit/an/sloa034/sloa034.pdfThen working with pressure sensors I always use 3 stages in the circuit.
    1 Instrumentation Amplifier as a preamp
    2 filterstage
    3 Final amp and output buffer
    (you may combine stage 2 and 3)
    Besides which, my opinion is that Express VIs Carthage must be destroyed deleted
    (Sorry no Labview "brag list" so far)

  • HT4623 please help!! how can i configure my iphone 3gs because i've been updated a new version i did it but it's hard to activate it again.

    please help!! how can i configure my iphone 3gs because i've been updated a new version, i did it but it's hard to activate it again. this message i always recieved in my iphone
    "We're sorry, we are unable to continue with your activation at this time."

    You phone was hacked. You can not get help with it here. Hacking / Jailbreaking voids any warraty and forfeits your right to support. Discussing jailbroken / hacked devices is forbidden by the terms of service here.

  • How can I configure iCloud so it doesn't restore deleted or moved emails on my Mac?

    I moved to iCloud, and so far it looks like everything is where it's supposed to be. My question is about syncing. When I delete an email on my Mac, iCloud restores it. How can I configure iCloud so that changes I make on my Mac and my iPhone stay changed?

    On the Mac in System Preferences > iCloud
    Make sure Mail & Notes is selected.
    ON the iPhone tap Settings > iCloud
    Make sure Mail is switched on.
    And try restarting your Mac and iPhone.

  • How can I configure my new Mac Pro to output the timeline via HDMI

    How can I configure my new Mac Pro to output the timeline in FCP 7 (yes, I have X, but I'm using 7 right now). I have two monitors running from TB2, but want to have the third for a client monitor.
    If I use all three via TB2, it's literally three monitors, and I want to edit on my CineDisplay. I only want the client to see the timeline video on the third monitor. When I hook up HDMI I get no signal, in fact, I can't have the HDMI cable hooked up for TB2 to work with the third.
    Thanks,
    GEvans
    DarthPro
    3.7 QCIntelXeonE5
    12 GB
    AMD FirePro dual D300 2048MB
    OSX 10.9.2

    If you use all ThunderBolt displays, or stick with DisplayPort and Mini DisplayPort (free conversion between the two with only a cheap cable) you can have up to six displays.
    If you attach "legacy" displays with "any-old adapter", you can have up to two, and the built-in HDMI counts as one if you use it.
    Any more requires ACTIVE Adapters.
    The US$100 Apple ACTIVE Mini DisplayPort to Dual-Link DVI adapter works in every case, even displays over 1920 wide.
    StarTech and Accell make US$35 ACTIVE adpters that work for displays up to 1920 wide.

  • How can we add a control on our .jsp webpage for uploading several image fi

    How can we add a control on our .jsp webpage for uploading several image files as done in gmail attachment, Where a Remove button also appears if we wanna remove the particular attachment.

    The SCOM Management Server is in Domain A.  I've tried it already and it has failed.  
    So just to clarify the method I used was to go to Administration>Security>User Roles.  Then New User Role>Read-Only Operator.  In the Create User Role Wizard I then gave the User Role a name, Clicked "Add" under User Role Members.
     Then the Select Users or Groups window pops up and I changed the Locations from Domain A to Domain B and searched for the user, which it's able to find, then clicked "OK" to add it to the User Role members which it does just fine.  On
    the next page which is Group Scope I checked the one group I want this account to have access to and then click next.  This brings me to Dashboards and Views where I click the radio button for "Only the dashboards and views selected in each tab are
    approved" and chose the folder of dashboards I want this account to access and then click next.  This brings me to the Summary and I click "Create".  At this point it thinks for a moment then closes out the wizard but the new Read-Only
    Operator does not appear.  I then look in Event Viewer and see the Event I pasted above.
    Am I doing something wrong here?  Any guidance on how to get around this issue would be much appreciated.
    Thanks,
    Jake

  • How can I use zoom while recording on my iPhone 4S?

    How can I use zoom while recording on my iPhone 4S?

    Christina_319 wrote:
    How can I use zoom while recording on my iPhone 4S?
    You can't change the zoom while recording.

  • How can i transfer the radio recording files from my Ipad to Computer

    how can i transfer the radio recording files from my Ipad to Computer ?

    I was hopeful I could use home sharing to sync my iTunes libraries,
    Unfortunately, you can only stream content to your iOS devices via home sharing (not sync it).
    I'd have a check through the following user tip instead:
    Recovering your iTunes library from your iPod or iOS device

Maybe you are looking for

  • Mini-dp to vga or hdmi, need full resolution

    I've HP laptop which has two ports, VGA and HDMI. I want to connect the Apple 27: display, which has the mini-dp output to my laptop. When I purchased the display, I bought a mini-dp to hdmi adapter, and connected the display to the adapter, and conn

  • How to get the upload file from a html form ?

    I have a <input type=file ...> control in my form, and the user use that           control to submit a file           to my web server. The porblem is the getParameter() function of           HttpServletRequest only return the           filename. Doe

  • Windows Crashing after Auto Update

    Windows performed an automatic update last night, and now when I connect my Nano to sync with itunes, Windows crashes and I get the "blue screen". When I reboot everything works fine until I connect my Nano and the same problem occurs. I haven't had

  • Setting  a variant in WEB-DYNPRO application

    Hi expert, I want to set a variant in WEB DYNPRO ABAP application so how it is possible could you give me a any example. ASAP. REGARD'S VIKASH

  • Keyboard shortcut to reply to Message in alert

    I'd like to be able to choose "reply" on a Message alert without using the mouse. I can type and send a message using only the keyboard, which is nice, but I'd like to be able to do the whole thing from the keyboard. I know I can tab through applicat