How can we Use SAP BI in Crystal Xcelsius

Hi,
Can we do the Xcelsius Dash board reporting on the BW reports which give the output in the Microsoft Excel. 
Because its getting the data from the Excel only.  So my question is can we do dash board reporting on the Bex reports. 
Regards
Sankar Reddy

hi,
take a look here:
Xcelsius Overview
/people/ingo.hilgefort/blog/2008/09/02/teched-las-vegas--are-you-up-for-the-business-objects-community-xcelsius-challenge
Xcelsius, Crystal Reports and Live Office
/people/ingo.hilgefort/blog/2008/09/03/businessobjects-and-sap-part-9--xcelsius-with-crystal-reports-and-live-office
Xcelsius, Universes and Query as a Web Service
/people/ingo.hilgefort/blog/2008/09/04/businessobjects-and-sap-part-10--xcelsius-with-universe-and-query-as-a-webservice
Ingo

Similar Messages

  • How can i use SAP R3 (se11) structure  in SAP XI

    hi,
    how can i use SAP R3 (se11) structure in SAP XI?
    is it possible.?
    Edited by: ruban R on Apr 1, 2008 6:14 PM

    HI raj,
    I am sorry...I think...i did not say clearly..
    I mean I am not talking about transaction.
    I want to import/use that (se11) SAP R3  structure into my data type/message type (example) in SAP XI..is it possible?
    I do not have any save option if i open any structure in SAP R3  in se11....  Example:  mara_cSAP XI
    how can i use that mara_c str. in SAP XI.?

  • How can we use business object (e.g. crystal report ) in webdynpro abap

    Hi All,
    We all know that business object has been part of sap products.
    But even though in SAP, I really don't know much about business object.
    and how can we use the great function of BO and integrate into our development to make
    user have much better function and user experience.
    Do we have some learning material of BO?
    Could someone share some material here?
    Thanks and Regards
    Aaron.

    One of the main ways that you can integrate some Business Objects content with WDA is via FlashIslands.  If you are on 7.01 or higher, you have the option to use FlashIslands UI element.  There are many tutorials on FlashIslands available on SDN. FlashIslands work well with Xcelsius content, since the output of Xcelsius is a Flex component.  It is pretty easy to set the Xcelsius interface to External Connection and then write a wrapper Flex Component around the generated output, so that it can be used in the FlashIslands interface.
    For Crystal Reports integration you will need NetWeaver 7.02 (comming early next year).  We have integrated Crystal Reports as an output option in the Web Dynpro ABAP ALV and the Classic Dynpro ALV.  You don't need to do any development to enable this.  You can use two different SAP delivered Crystal Reports templates for the ALV output, or create and add your own templates.
    Some of ther BOBJ integration is still in prototype and demo phase within SAP.  For instance we have a data interface to send data to Explorer onDemand from any ABAP application. We have a prototype FlashIsland for WebI to run in place within Web Dynpro ABAP.  Over future enhancement packages you will see increased integration opportunties with the BOBJ capabilites.

  • How can I use Seeburger java functions on SAP XI's user defined functions?

    Hi All,
    As my title implies; how can I use Seeburger java functions on SAP XI's user defined functions?  I've tried searching over the net in tutorials regarding this topic but I failed to find one; can someone provide me information regarding my question? thanks very much.
    best regards,
    Mike

    Hi Mike !
    You should check your documentation about which java classes you need to reference in the "import" section of your UDF. And also deploy the java classes into the java stack or include them as a imported archive in integration repository...it should be stated in the seeburger documentation.
    What kind of functions are you trying to use?
    Regards,
    Matias.

  • How can i use the subitem in SAP PR Item ( like 1,1.1,1.2,1.3,2,2.1,2.2,2.3

    Dear Experts,
           how can I use the subitem in SAP purchase requisition  Item ( like 1,1.1,1.2,1.3,2,2.1,2.2,2.3,3,3.1,3.2,3.3,4,4.1,4.2,4.3,5,5.1...)?
    Could you please tell me how can i configure Item Number Interval  in SAP purchase requisition  ?
    Best Regards,
    Merry

    The purchase requisition item number is a numeric, it can not contain anything except digits.

  • How can I use propertiers in workflow-task like "sap.bc.bmt.wfm.groups"

    Hello Friends,
    i'm hoping you can help me with this question:
    - How can I use the properties in the task definition of a workflow?
    - And what can i do with it?
    At http://help.sap.com is a very low level documentation.
    Best regards,
    Christian

    Answered myself.
    Thanks
    Christian

  • How can i find SAP Gui logon pad version

    how can i find SAP Gui logon pad version ?

    Hi,
    That's easy. At the top of the logon, you see a title bar with a general version indication. At the most left of it, you'll see an icon. Click on that and choose about SAP logon and you'll get detailed info.
    Eddy
    PS. Reward the useful answers and you will get <a href="http:///people/baris.buyuktanir2/blog/2007/04/04/point-for-points-reward-yourself">one point</a> yourself!

  • How can I use table control to enter data

    Hi all,
    I want to use table control to enter data, instead of using textboxes.
    So that the user can enter many data at once and just click the save button at the end of the work, only one click.
    How can I use the table control at this context?
    Thanks.
    Deniz.

    Hi deniz,
    go through it:
    /people/ravishankar.rajan/blog/2007/02/23/an-easier-way-of-displaying-and-editing-data-using-table-control
    https://www.sdn.sap.com/irj/sdn/wiki?path=/display/snippets/code%2bto%2bhandle%2bmultiple%2brecords%2bin%2bbdc%2btable%2bcontrol
    Regards,

  • How can I use the WebDynpro tutorial  template in APAB workbench?

    Hi,
    I have downloaded the tutorial template zip file from sdn (https://www.sdn.sap.com/irj/servlet/prt/portal/prtroot/com.sap.km.cm.docs/library/webas/webdynpro/tutorial on creating trees in web dynpro - 12.htm), but I don't know how to use it in ABAP workbench.
    Is that only for Java environment and can be used in Eclipse?
    If not, How can it be used in APAB workbench?
    Thank you.
    Swee Hu

    Hi,
    Its a template used in NDS(NetWeaver Developer Studio),in Webdynpro perspective.
    what do u mean by how can i use it in ABAP workbench?
    Sorry u cant use tat existing template.
    if u need the same feature u have to develop ur own...:)
    Regards,
    Sirisha.R.S

  • How can i use a Property as Link in the Resource Renderer Setings

    Hi to all,
    i have created a Propertry with the name SFS_NewsLink.
    The content of this Property is
    http://<server>.<domain>/path/sitemap
    Now, how can i use this property in the Visible Propertis? i dont will use use the default "contentLink" i will use as Link the content from the SFS_NewsLink.
    how can i do this? have envery one any ideas?
    Best Regards
    Thomas

    Hello Thomas,
    You can modify your Collection Renderer and Resource Renderer to achieve this functionality.
    Check this weblog, to get ideas:
    https://www.sdn.sap.com/irj/sdn/weblogs?blog=/pub/wlg/3648
    Greetings,
    Praveen Gudapati

  • Can I use SAP HR to drive ESS Portal user creation?

    Hello
    We are implementing a new instance of SAP HR and Portal for ESS and MSS and I am not sure of all the steps that need to be completed so any guidance / tips would be greatly appreciated.
    Company currently has an LDAP - but not used extensively. Not all employees currently in LDAP as not all have network ids. All employees will have a SAP account to enable ESS (via Kiosks etc).  ESS iViews in Portal will call SAP HR and possibly SAP BW.  We have an instance of SAP already and user admin maintained via CUA - this will continue.
    Scenario:
    My initial thoughts are that we try to use SAP HR as the leading system to drive the ESS Portal users and access.  Basically I want to create the user in SAP and assign them an ESS SAP role... then through syncronization have the user created in the Portal and have the correct ESS Portal assigned (in the Portal)
    My thinking so far is to go the following way;
    1) Create User Master Record in SAP (SU01)
    2) Hire employee into the org structure (via HR processes)
    3) Populate Infotype 0105 with SAP username
    4) Populate Infortype 1016 - with SAP role to be assigned to allow ESS access (not sure about this aspect) or role could be assigned in 1) above
    I am not sure of the next steps - I think there must be a way in an SAP table to map the ESS SAP role to the ESS Portal Role (is this via WP3R?)
    then I am hoping that a standard job can be run (is this RSLDAPSYNC_USER) that will create the user in the Portal (UME?) and assign the correct Portal role ?
    (obviously configuration needed)
    For MSS and HR Power users - we would continue to assign SAP roles via SU01.
    Can anyone assist with;
    - Is my thinking correct in terms of how this should / could work?
    - in SAP how can I map SAP Roles to Portal Roles ?
    - will syncronization in SAP create the user in Portal and assign the role ? what do I need to configure?
    Thanks in advance

    Dear Michale,
    I just dont know if this can throw some light on your prob.'
    In our Orgn we had around 250 ess users and 200 sapr/3 users. Some of the r/3 users also logon to ess via their r/3 uname and password.
    What we have done is like follows:
    1. Created a role for only the ess users ZHRESS. For this i asked the HR functional people with sap_all profile to do all the job which the ESS users are supposed to do and tracer the authorization via tcode st01. We created the role on the basis of this trace report.
    2. For the purely ESS users we created the users via tcode HRUSER and assigned then with the above role.
    3. For the R/3 users who are supposed to avail the ess facility we assigned them with the role ZHRESS role in addition to the other roles assigned to them to carry out their normal R/3 transactions. Then we mapped their R/3 uname to their employee no via PA30 infotype 105.
    4. Tcode HRUSER saved time  which would have consumed had we done it via su01 and moreover it picked Name etc data from the HR master table. In HRUSER tcode , setting the user attributes helps to define what roles the users are to be assigned, what should be their initial password etc.
    Pl let me know if it satisfies you querry.
    Regards

  • How can I use this RFC function

    I just wanna create a monitor as same as TCODE ST06
    so
    I Added a TextBox, a Button and a DataGrid. and then everything has finished.as same as following step for "RFC_CUSTOMER_GET" from SAP connector 2.0 help
    but how can I use the function? (VB.net 2003) I debugged the function in SE37 the function only need 1 parameters
    so,I scratched some statments... but it is still not correct
            Dim num1 As Integer
            Dim dst As CPUSAPUSAGE.CPU_SINGLETable
            Me.SapProxy11.Get_Cpu_Single("local", "", num1, num1, num1, num1, "", num1, num1, num1, num1, dst)
    please tell me details steps
    Thank in advance.
    Yi
    Create a “Windows Forms” application.
    Add an empty SAP Connection class with the ABAP functions
    RFC_CUSTOMER_GET and RFC_CUSTOMER_UPDATE.
    Leave the proxy designer open. Go to the SAP Proxy toolbox and drag the “Proxy field” icon to the designer.
    Rename the new “Field1” to “Tab”. Change the “Type” property to BRFCKNA1Table. To do this, use the drop down icon.
    Note that the ReadOnly property automatically changes to ”true” and the default value changes to “new BRFCKNA1Table()”.
    Add a second Proxy Field with the name “Filter”, the type “String” and the default value “A*”.
    Select the “Rfc_Customer_Get” function and click on the “…” button of the “Parameters” property.
    Set the default values of the three parameters with the drop-down icon as follows:
    Name1: Filter
    Kunnr: “” Customer_T: _Tab
    Save the proxy designer and switch to your Windows form. Add a TextBox, a Button and a DataGrid.
    Add an instance of your SAP proxy to your Windows form, add a “Destination” and set the “Connection” property as described in “A4”.
    Set the DataSource property of the datagrid to “sapProxy11”. Set the DataMember property of the datagrid to “Tab”. Alternatively you can set the DataSource to “sapProxy11.Tab” and leave the DataMember empty.
    For “textBox1” use the DataBinding feature to bind the “Text property” of the textbox to “sapProxy11.Filter”.
    Double-click the button to create an event handler and add a single line:
    “this.sapProxy11.Rfc_Customer_Get_();”
    You are using “sapProxy11” as a smart DataSet that contains the necessary state. You bind the state to the corresponding controls. The overload method Rfc_Customer_Get_() does not have any parameters, as the required state is already in the bound Proxy Fields.

    Dim dst As New CPUSAPUSAGE.CPU_SINGLETable

  • 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 can i use query in Print out

    I am going to insert some Item's properties to print out of good issue, I dont know how can I use query in this tools?

    Hi,
    Please go through the following documentation on the service market place under the landing pages for
    cross topics:
    https://sapneth1.wdf.sap.corp/~form/sapnet?_FRAME=CONTAINER&_HIER_KEY=701100035871000437965&_OBJECT=011000358700003137952006E&_SCENARIO=01100035870000000183&
    Regards,
    Abhinav Banerjee
    SAP Business One Forums Team.

  • How can we use mode "UsePDF" in Interactive form?

    Hello everybody,
    I want to know that how can i use the mode usePdf in Interactive form?
    My scenario is:
    I have pdf form saved locally with blank fields.
    I save this file after requied values in all fields.
    Now i want to import this pdf file in interactive form and needs to submit this form so all the data in this pdf file are submitted to the System.
    How can i do this?
    regards,
    Bhavik

    Hi Bhavik,
    you do not need to use the upload ui element, if your pdf-file which you want to upload resides in you web application project. In the following you can find Web Dynpro code snippets I use in one of my demos for displaying an uploaded pdf-file:
    wdDoModifyView method of FormView:
        //@@begin wdDoModifyView
         try {
              // get interactive form element by ID
              InteractiveForm form = (InteractiveForm) view.getElement("Evaluation");
              if (wdContext.currentContextElement().getCurrentMode().equals("usePDF")) {
                   form.setMode(WDInteractiveFormMode.USE_PDF);
         catch (Exception e) {
              e.printStackTrace();      
        //@@end
    onPlugFromUploadView method of UploadView:
        //@@begin onPlugFromUploadView(ServerEvent)
         try {     
              // modify the context and set needed attributes
              wdContext.currentContextElement().setCurrentMode( "usePDF" );
              // extend the attribute "pdfSource" from the context to a modifiable binary type
              IWDAttributeInfo attInfo = wdContext.currentContextElement().node().getNodeInfo().getAttribute("pdfSource");
              ISimpleTypeModifiable type = attInfo.getModifiableSimpleType();
              IWDModifiableBinaryType binaryType = (IWDModifiableBinaryType) type;
              binaryType.setFileName("evaluationForm.pdf");
              binaryType.setMimeType(WDWebResourceType.PDF);
              // add the generated pdf to the context
              wdContext.currentContextElement().setPdfSource( evaluationForm ); // byte[] evaluationForm
         catch (Exception e) {
              wdComponentAPI.getMessageManager().reportWarning(e.getLocalizedMessage());
        //@@end
    If you do not want to display the data before submitting the data, then you have to use the WDInteractiveFormHelper class for extracting the form data after upload in the context. This class is available since NetWeaver04 Support Package Stack (SPS) 10. The class com.sap.tc.webdynpro.clientserver.adobe.api.WDInteractiveFormHelper contains at the moment one helper function for PDF document. Here are the details:
    Constructor Detail
    public WDInteractiveFormHelper()
    Method Detail
    public static void transferPDFDataIntoContext(byte[] pdfSource, IWDNode targetNode)
    Method transferPDFDataIntoContext extracts data from a PDF document and copies the values into the Web Dynpro Context. The xml structure of the document data is applied starting from the specified target node. Usually, this node should be the same context node to which InteractiveForm-UIELement property dataSource is bound during PDF generation.
    Parameters:
    pdfSource - PDF document as byte[]
    targetNode - target IWDNode
    Hope this will help you,
    Regards, Carsten

Maybe you are looking for