How can I use Embeddable Report Designer Control

Hi, I found that there is an Embeddable Report Designer Control (CRAXDDRT) which end user could open and edit report runtime (rpt file)
would you please help me use this control in c#.net
I have Crystal report 2008
thank you

You can not use that in .NET and also there is no craxddrt in CR 2008 as there is no COM SDK for CR 2008.
Currently there is no .NET equivalent to that dll.
Jason

Similar Messages

  • Embeddable Report Designer Control with Windows 7

    I have a couple of questions.
    I am using Crystal Report XI in both Vb6 and VS2005. I am using the COM controls in both. The CRViewer and the Embeddable Report Designer Control. This has been working in XP fine. Not so good in Vista or Windows 7. I am upgrading to Crystal Reports XI R2 Sp6. For viewing reports in VB6 and VS2005 this working fine.
    I know that the Embeddable designer no longer exists in future Crystal Report versions or in the .net versions.
    In VS2005 the Embeddable Report Designer Control does not work in windows 7.
    Is there anything new that needs to be in the code then in the previous versions? What do I need to do to make the Embeddable Report Designer Control work with windows 7 correctly?
    Also I will need the merge modules for Crystal Reports XI R2 Sp6 for both the .net and RDC. Are they avalible?
    I need to be able to modify reports within the application. My clients have to be able modify existing reports to match state and federal laws and rules.

    Crystal Reports XI R2 Sp6 supports WIN 7, so it should work, though as far as I am concerned, the Embeddable Report Designer Control was always flaky. Also, it may be possible (perhaps even likely) that the RDC components were not tested by QA on WIN 7.
    What is the actual issue you are seeing? (errors, behavior, etc.)
    Are you seeing the issue on a development computer or after you deploy the runtime? I am assuming this is your dev box as you are asking about CR XI SP6 msm files, but I have to be sure.
    If at all possible, do not use the RDC in .NET. The RDC was never tested in .NET and thus is not supported. It may work, but using the Embeddable Report Designer Control in .NET gives me the creeps...
    See if you can get this to work in VB 6 first. If not, you at least have an escalation path for a fix. You do not have an escalation path with RDC in .NET. Please note that if a fix is accepted by R&D, the usual time frame for release of a fix is 6+ months.
    For the future, you will have to look into using the RAS report creation APIs in .NET. This will give you similar report creation abilities at runtime as the Embeddable Report Designer.
    Ludek

  • How can i use the amp designer or pedalboard for software instruments in garageband 10

    how can i use the amp designer or pedalboard for software instruments in garageband 10?
    and how can i customize the effects for the master track? in different factory presets are different effects, but how can i choose them manually?

    hongconga wrote:
    I want to record a podcast using my Mackie mixer and have the mix sent to Garageband through the USB I/0, but it doesn't seem to give me the option.
    i think the first thing to do would be to check with Mackie support. two things noted on Mackie's website:
    DRIVERS::
    No Driver Required for Supported Windows (PC) or OS X (Mac) Versions
    (note "supported")
    and
    For the Mac::
    Mac OS X 10.4.11 – 10.7.1
    ask if their firmware currently supports OS X 10.9.x

  • How can I use XL report to extract data in Fixed Assets module?

    Can user use XL Reporter to develop reports on Fixed Assets data such as FA Master Data? In another word, can XL
    Reporter be used on FA module? If so, how can this be done?

    Hi
    As there is no reports available for Fixed Asset Module, u have to develop by taking tech help.
    Or else u can use crystal reporter instead.
    Regards,
    Kashi

  • How can I use a report as a filter that accepts a prompt value in R18?

    In R17 the following setup worked properly. 1) have a main report that uses another report as a filter report. 2) In the filter report, add a criteria statement which is prompted. 3) pass an argument from a web link or embedded web applet on the report URL using the field reference from the filter report criteria prompt. However, in R18 this no longer works. The filter report does not bring back a set of id's that is used for filtering the main report. The main report just displays all records as if there is no filter criteria supplied. Has anyone else encountered this behavior in R18?

    I'm trying to figure out how I can use a simple class
    I have written with methods and properties in Sutdio
    Creator.
    I have been looking around, but I've only found how
    to use an EJB directly from Creator. We would like to
    use a bean that handles all the connections to the
    app server and only returns the result to the JSP.
    I know there has to be a way to do this, if anybody
    has any ideas please help!I'm not sure I follow 100%, but you can use POJOs via Spring integration. Do a search on this forum for Spring and you should find a tutorial I wrote on it a while back.

  • HOw can i use crystal reports

    Dear All,
    I am PS / CO consultant, i want to know how can crystal report tool helps me in defining different reports for the clients. Kindly explain what is crystal report tool. its function and other attributes.
    regards
    Saqib

    Hi Saqib, I suggest you search our sites and PS's site for more info. You also ahve to option to take a Report Design course. What you are asking is to general.
    Don

  • How can I use the report CRMC_ORGMAN_SWITCH_TO_ENH_MODEL

    Dear all,
    I want to change the CRM organization from stardard version to enhanced version.Acoording to the help document, we must using the report CRMC_ORGMAN_SWITCH_TO_ENH_MODEL.But neither this transaction code nor this program in CRM system.Do you have any suggestion, Thank you very much.
    The help document is "http://help.sap.com/saphelp_crm60/helpdata/en/32/4473211b7778428efebc865e351cb4/content.htm"

    Hi
    Please check if you do have the authorization for transaction
    CRMC_SWITCH_ORGMODEL.
    Transaction CRMC_SWITCH_ORGMODEL switches the organizational
    structure being used in CRM to a new model. This process is irreversible
    and therefore an accidental execution of the transaction should be
    avoided. This may be the reason why you can not execute the report.
    For further details review note 0635401 and the check if following notes
    are valid for you.
    650001,635339,635182
    Hope it can help you.
    Best Regards,
    ZhaoJie

  • How can I use multiple front panel controls to be mirrors of each other?

    Hi All:
        I know this is going to be a strange question, but I have multiple inputs that control one output.  This in itself not necessarily difficult, but I have a strange need.  If one of the control inputs change I would like this to be indicated by the other controls.  For example, I have a slider, numeric and dial controls on the front panel that control RPM.  If the slider changes to 1000 RPM I would like the numeric and dial controls to see that change.  Is this possible.  If so, can you give me advice on doing this.  I am using 7.1.  Thanks for the help.
    John Honnold

    What you want is not that hard, but asked for a rather  limited times.
    Here's a how to:
    Drop a slider
    Right click Visible items-> Digital display
    Right click on the slider Advanced-> Customize
    Right click on the Digital display Replace select the control you want to replace it with (a gauge for instance)
    Right click on the Gauge Visible items -> Digital Display
    Now you have one control with three control options:
    This was done in 8.2 but I think the same goes for 7.1
    Ton
    Message Edited by TonP on 04-06-2009 09:52 AM
    Free Code Capture Tool! Version 2.1.3 with comments, web-upload, back-save and snippets!
    Nederlandse LabVIEW user groep www.lvug.nl
    My LabVIEW Ideas
    LabVIEW, programming like it should be!
    Attachments:
    Example_VI.png ‏7 KB

  • How can i use the  open debts control account

    Does any one knows how to use this control account, i tried at the journal entry and it works great but i wonder if there is another document where i can use this account for a cutomer.

    Hi,
    You can check Note No.   1158816 regarding your query.
    Kind Rgards,
    Jitin
    SAP Business One Forum Team

  • How can I use 3 buttons to control the transitions of my case structure?

    Hi everyone,
    Hopefully this will be an easy fix... Although I cannot seem to work it out??
    I am building a state machine inside a while-loop with the following states:
    1. System idle.
    2. Self-cal pci card.
    3. Run DAQ and do my processing.
    4. Stop the vi.
    I can do this using a enum no problems (with state 1. System idle as the initialising state for the while-loop)... But I really want to have is 4 buttons on the front panel, one for each of the 4 states, so that all the user needs to do is press the button corresponding to the state they want and the appropriate transition ocurrs... For example, when the vi first runs, the idle state is operating... When the user is ready can then hit button 2 for a self-cal... Is self-cal is ok, they hit button 3 for DAQ... Once the DAQ is finished the user can hit button 4 to stop the vi..
    My problem is that I need the current button to unlatch when another button is hit...
    Any suggestions?... This is killing me!
    Thanks,
    Jack
    Solved!
    Go to Solution.

    Here's what I had in mind. You can easily add conditions so code only executes once after a control change, for example.
    LabVIEW Champion . Do more with less code and in less time .
    Attachments:
    radiobuttons.vi ‏9 KB

  • Report Designer Control - Redistribution Issue

    Hi:
    I use Report Designer Control(RDC) in my program to allow user to modify reports.  I made a build and installed the build but when I try to access report designer from program I am getting the error about license. 
    "This system does not have a valid license, or the evaluation  copy of the license has expired. Please contact Business Objects to obtain a Report Design Control license."
    I do have valid KeyCode for RDC and i am supplying the same for the merge module too.
    My Development Environment
    Operating System            :     Windows XP (SP 2)
    IDE                                 :     VS 2005 Professional
    Crystal Reports                :      XI Release 2 Developer
    Deployment Software        :      InstallShield 12 Premier
    Can anyone please tell me why I am getting above message, I can able to distribute Report Designer Control with Crystal Reports 9 version without any problems, but it is not working with Crystal Reports XI.
    Thanks in Advance,
    Sriram.

    Hello,
    The Report Designer Component (RDC) was never designed to work in Visual Studios .NET.  This is because the RDC is an ActiveX COM component and Microsoft has been moving away from ActiveX.
    It is also my experience that RCAPI applications - "to allow user to modify reports" - will not work in a Visual Studios application.
    It is possible you're getting your error if you had an original CR XI (v11.0) keycode and upgraded to CR XI R2 (v11.5).  Original CR XI (v11.0) keycodes will not work. CR XI (v11.0) keycodes do not "unlock" RCAPI functionality in CR XI R2 (v11.5).  If you upgraded from CR XI (v11.0) to CR XI R2 (v11.5) you likely have an original CR XI (v11.0) keycode.  You will need to get a new CR XI R2 keycode from Business Objects.  You can contact the Customer Care team by email - customercareamericas @ businessobjects.com (rebuild the email address) - or by phone - 800-877-2340, option 5.  If they need additional information you can ask them to contact me.  I'm on the Developer Support team and they should be able to contact me internally.
    If you have an original CR XI R2 (v11.5) keycode please make sure to update to at least Service Pack 2 and download updated RDC merge modules from the [Business Objects Software Download Page|https://websmp230.sap-ag.de/sap(bD1lbiZjPTAwMQ==)/bc/bsp/spn/bobj_download/main.htm].
    Please remember that even if you get a new, original CR XI R2 keycode, and/or update your merge modules  you may still not be able to get your VS2005 RCAPI RDC application working.
    Sincerely,
    Dan Kelleher

  • What is the use of control breaks in reoprts?how can we use them in report?

    hello all
    what is the use of control breaks in reoprts? and how can we use them in reports?

    hi,
    check this sample program using control break statements.
    *& Report  Y777_CBSTABLE
    REPORT  Y777_CBSTABLE1.
    TYPES:
    BEGIN OF S_MARKS,
         ROLLNO    TYPE I,
         SCODE(3)  TYPE C,
        ROLLNO    TYPE I,
         SNAME(10) TYPE C,
         MARKS     TYPE I,
    END OF S_MARKS.
    DATA : C TYPE I,
           D(3) TYPE C,
           TOT TYPE I,
           STU TYPE I,
           MARKS TYPE STANDARD TABLE OF S_MARKS,
           WA_MARKS TYPE S_MARKS.
    WA_MARKS-ROLLNO = 1.
    WA_MARKS-SCODE  = 'MAT'.
    WA_MARKS-SNAME  = 'MATHS'.
    WA_MARKS-MARKS  = 65.
    APPEND WA_MARKS TO MARKS.
    CLEAR WA_MARKS.
    WA_MARKS-ROLLNO = 1.
    WA_MARKS-SCODE  = 'SCI'.
    WA_MARKS-SNAME  = 'SCIENCE'.
    WA_MARKS-MARKS  = 85.
    APPEND WA_MARKS TO MARKS.
    CLEAR WA_MARKS.
    WA_MARKS-ROLLNO = 1.
    WA_MARKS-SCODE  = 'COM'.
    WA_MARKS-SNAME  = 'COMPUTER'.
    WA_MARKS-MARKS  = 90.
    APPEND WA_MARKS TO MARKS.
    CLEAR WA_MARKS.
    WA_MARKS-ROLLNO = 2.
    WA_MARKS-SCODE  = 'MAT'.
    WA_MARKS-SNAME  = 'MATHS'.
    WA_MARKS-MARKS  = 55.
    APPEND WA_MARKS TO MARKS.
    CLEAR WA_MARKS.
    WA_MARKS-ROLLNO = 2.
    WA_MARKS-SCODE  = 'SCI'.
    WA_MARKS-SNAME  = 'SCIENCE'.
    WA_MARKS-MARKS  = 75.
    APPEND WA_MARKS TO MARKS.
    CLEAR WA_MARKS.
    WA_MARKS-ROLLNO = 2.
    WA_MARKS-SCODE  = 'COM'.
    WA_MARKS-SNAME  = 'COMPUTER'.
    WA_MARKS-MARKS  = 80.
    APPEND WA_MARKS TO MARKS.
    CLEAR WA_MARKS.
    RETRIVAL ************************************
    SORT MARKS BY SCODE .
    LOOP AT MARKS INTO WA_MARKS.
        AT FIRST .
           ULINE.
           FORMAT COLOR 6 ON.
           WRITE:/ 'SUBJECT CODE', 65 ' ' .
           FORMAT RESET.
           FORMAT COLOR 6 ON INTENSIFIED OFF.
           WRITE:/20 'ROLL NO',
                  40 'SUBJECT NAME',
                  55 'MARKS',
                  65 ' '.
           FORMAT RESET.
           ULINE.
        ENDAT.
        ON CHANGE OF WA_MARKS-SCODE.
           IF SY-TABIX NE 1.
               NEW-LINE.
               ULINE 40(25).
               FORMAT COLOR 5 ON INVERSE ON INTENSIFIED ON.
               TOT = TOT / STU.
               WRITE:/40 'AVERAGE MARKS =', TOT.
               FORMAT RESET.
               CLEAR TOT.
               CLEAR STU.
           ENDIF.
          FORMAT COLOR 6 ON INTENSIFIED ON.
          WRITE:/ WA_MARKS-SCODE.
          FORMAT RESET.
        ENDON.
        FORMAT COLOR 6 ON INTENSIFIED OFF.
        WRITE:/20 WA_MARKS-ROLLNO,
               40 WA_MARKS-SNAME,
               55 WA_MARKS-MARKS,
               65 ' '.
        FORMAT RESET.
        STU = STU + 1.
        TOT = TOT + WA_MARKS-MARKS.
        C = STU.
        AT LAST.
               NEW-LINE.
               ULINE 40(25).
               FORMAT COLOR 5 ON INVERSE ON INTENSIFIED ON.
               TOT = TOT / STU.
               WRITE:/40 'AVERAGE MARKS =', TOT.
               FORMAT RESET.
               CLEAR TOT.
               CLEAR STU.
             ULINE.
             FORMAT COLOR 6 ON INVERSE ON INTENSIFIED ON.
             WRITE:/ ' TOTAL STUDENTS : ', C.
             FORMAT RESET.
        ENDAT.
    ENDLOOP.
    reward points if hlpful.

  • Embeddable Crystal Reports Designer Control and Visual FoxPro

    Post Author: PaulBtci
    CA Forum: Other
    Hello everyone, I have a problem adding CRXI Embeddable Crystal Reports Designer Control in the run-time. When the following line is being executed, an "Insert Object" dialog pops up. ThisForm.AddObject( "oleDesigner", "olecontrol", "CrystalReports.EmbeddableCrystalReportsDesignerCtrl" ) The control, however, is available in the list, and when selected is added to the form. The above problem does not exist when I add ActiveX ReportViewer. Can anyone help me with this issue? Any help is greatly appreciated. Thanks, Paul

    Good morning,
    I am using  "Embeddable Crystal Reports Designer Control"  Crystal Report 11 with Visual Basic 6.0.
    There is some way for disable the tab "preview the main report"? THis is including in "Embeddable Crystal Reports Designer Control"
    or
    There is some way for update the tab "preview the main report" loaded after other report? Because, the preview is not refresh.
    Thanks
    Buenos días,
    Les comento, estoy utilizando el control "Embeddable Crystal Reports Designer Control" (CRDesignerCtrl11_5) del Crystal Report 11 en un proyecto de Visual Basic 6.0
    Cuando cargo un reporte dos veces, se presenta la "vista previa de informe principal".  Sin embargo cuando vuelvo a cargar otro reporte no se actualiza la "vista previa de informe principal" sino que se queda con la información cargada anteriormente.
    Quisiera saber si existe una forma de acceder al control para actualizar la "vista previa de informe principal", ya que a pesar de dar clic derecho y elegir actualizar no toma los datos del nuevo reporte cargado.
    Y si es posible en todo caso desabilitar la "vista previa de informe principal" o hacerlo invisible para que únicamente se presente la pestaña de "Informe Principal".
    De antemano agradezco su ayuda.

  • 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>

  • What is the use of control breaks in reoprts?  and how can we use them?

    hello all
    what is the use of control breaks in reoprts? and how can we use them in reports?

    use F1 on AT in a program.
    You get this
    Control break with extracts
    - AT NEW f.
    - AT END OF f.
    - AT FIRST.
    - AT LAST.
    - AT fg.
    Control break with internal tables
    - AT NEW f.
    - AT END OF f.
    - AT FIRST.
    - AT LAST.
    Each of these have a link to explain in detail what you are asking.

Maybe you are looking for