Subsequent SubReports overwriting earlier parameters

For some reason any subreports that I add overwrite the parameters of the earlier subreports that are added.
I have tried renaming the report name, this happens with totally different subreports... the last one is the only
one that the parameters stick.  I get prompted to enter all previous parameters from all but the last subreport.
Here is a simple code snippet that just adds a subreport twice and I get prompted for the first
subreport parameters:  (I normally am not running the same report more than once with the same values,
this is only for example purposes)
            Try
                Dim intNewSection As Integer = 0
                Dim boReportDocument As ReportDocument
                Dim boReportClientDocument As ISCDReportClientDocument
                Dim boSubreportClientDocument As CrystalDecisions.ReportAppServer.Controllers.SubreportClientDocument
                Dim boArea As CrystalDecisions.ReportAppServer.ReportDefModel.Area
                Dim boSection As CrystalDecisions.ReportAppServer.ReportDefModel.Section
                Dim sarSubRptFile(1) As String
                Dim strSubRptFile As String
                sarSubRptFile(0) = Application.StartupPath & "\Reports\Selected Checklist.rpt"
                sarSubRptFile(1) = Application.StartupPath & "\Reports\Selected Checklist.rpt"
                boReportDocument = New ReportDocument()
                boReportDocument.Load(strReportFilespec)
                boReportClientDocument = New ReportClientDocumentClass()
                boReportDocument.SetDataSource(dsProject) 'Point the crystal report at the System.Data.DataSet
                boReportClientDocument = boReportDocument.ReportClientDocument
                For Each strSubRptFile In sarSubRptFile
                    'Get the detail area from the report
                    boArea = boReportClientDocument.ReportDefController.ReportDefinition.DetailArea
                    'Create the new section object
                    boSection = New CrystalDecisions.ReportAppServer.ReportDefModel.Section
                    'Set the properties for the section
                    boSection.Kind = CrystalDecisions.ReportAppServer.ReportDefModel.CrAreaSectionKindEnum.crAreaSectionKindDetail
                    boSection.Name = "CustomDetailSection" & CStr(intNewSection) 'Give it a unique name
                    intNewSection += 1
                    Dim boTestReportDocument As ReportDocument
                    boTestReportDocument = New ReportDocument()
                    boTestReportDocument.Load(strSubRptFile)
                    Dim intSubRptWidth As Integer = boTestReportDocument.ReportClientDocument.ReportDefController.ReportDefinition.PageHeaderArea.Sections(0).Width
                    boTestReportDocument.Close()
                    boTestReportDocument = Nothing
                    boSection.Width = intSubRptWidth
                    'Add the section to the clientdocument
                    boReportClientDocument.ReportDefController.ReportSectionController.Add(boSection, boArea, -1)
                    'Import the sub report with a unique name
                    boSubreportClientDocument = boReportClientDocument.SubreportController.ImportSubreport( _
                     Chr(intNewSection) & Path.GetFileNameWithoutExtension(strSubRptFile), strSubRptFile, boSection)
                    Try
                        Dim rasDataset As ISCRDataSet
                        rasDataset = DataSetConverter.Convert(dsProject)
                        boSubreportClientDocument.DatabaseController.SetDataSource(rasDataset)
                    Catch exData As Exception
                        MsgBox("Error setting data to " & strSubRptFile & vbLf _
                         & "Error: " & exData.ToString, MsgBoxStyle.Information, "Group Report Error")
                    End Try
                    boReportClientDocument.DataDefController.ParameterFieldController.SetCurrentValue( _
                     boSubreportClientDocument.Name, "lowerid", "1a9b-4628-87b1-3026582e0dd6")
                Next
                CrystalReportViewer1.ReportSource = boReportDocument
                CrystalReportViewer1.Show()
            Catch exTest As Exception
            End Try
Does anyone have any idea what I am doing wrong - why is the subreport parameters getting blown away on all but the last subreport.. This happens even if the parameter names are different.
Thanks,
Jeff

Thanks Trevor,
It turns out that if I remark out these lines, the parameters start working.  I'm not sure what they have to do with the parameters, but it seams to do the trick... now I need to figure out how to update the DataSource without messing up the parameters.
Here is the code that is messing up the parameters:
      Dim rasDataset As ISCRDataSet
      rasDataset = DataSetConverter.Convert(dsProject)     'dsProject is a .net dataset that is coming into this report
      boSubreportClientDocument.DatabaseController.SetDataSource(rasDataset)
This works fine if I am not using parameters on more than one subreport... but if I use parameters on more than one subreport, only the last ones work and I get prompted for all earlier subreports.
Thanks,
Jeff

Similar Messages

  • Datas from info record should not overwrite BAPI_PO_CREATE parameters

    Hi,
    I intend to pass the netprice value while posting PO through BAPI_PO_CREATE.
    but the values from info record overwriting the parameters supplied.
    Please guide me how to avoid this overwritting.
    Thanks,
    Vempalli

    and have you set a breakpoint at loop at input file and at bapi_po_create ??
    perhaps there is something wrong with the amount of items passed ?
    kind regards
    arthur

  • Overwrite URL parameters?

    I have a stateful BSP Application that is called with some URL parameters.
    https://bla.com/alias/default.htm?param1=value1
    On the default.htm, i call
    request->get_form_field( 'param1' )
    to read value1. This value is read in every request.
    My question: Can I overwrite param1 in the event handler of default.htm so that param1 has a different value in the following requests?

    hi,
    you can declare a page attribute with same name 'param1'.
    and then in event handling just change its value so it will pass the updated value next time.
    if it doesn't work,then add a hidden field in your page form say
    <input type=hidden name='param1'> and declare a page attribute with same name also 'param1'. this will change the value of input field in event handler and then the updated value will get passed in subsequent requests.
    hope this will work for you,
    Regards,
    Hemendra

  • Overwrite java parameters with environment variables or other mechanism???

    I am using several java programs on my machine. Each of them uses some deeply nested startup script so I have no chance to modify the parameters of the java command.
    I would need to change certain parameters though, e.g. the heap size or certain system properties.
    Is there a way to do this by e.g. setting environment variables or modifying a user-specific configuration file?
    I am using jdk 1.5.0_06 on Linux (Ubuntu).

    Well the ones I am dealing with do not, unfortunately.
    I am also interested in a general way to tune the JVM settings without modifying each and every call statement.
    Surely there must be some mechanism to achieve this??

  • Overwriting spool parameters.

    Hi all,
    I have a Z program and I am setting the print parameters using the FM 'GET_PRINT_PARAMETERS'
    The destination is set to LOCL.
    However my program calls a standard program - RFEBKA00.
    This program again uses the 'GET_PRINT_PARAMETERS' and it is not setting destination to LOCL.
    The parameters I am setting is getting over written in the second call to this FM.
    Thus when the job runs in back ground, I am getting the error : printer " " not found
    I am not getting a way how to come out of this.
    YOur valuable suggestion would be helpful and rewarded.
    regards

    Need to use ARCHIVE PARAMETERS also.
    Below examples from the documenation might help you understand the same:
    Example
    * Without archiving
    DATA: PARAMS LIKE PRI_PARAMS,
          DAYS(1)  TYPE N VALUE 2,
          COUNT(3) TYPE N VALUE 1,
          VALID    TYPE C.
    CALL FUNCTION 'GET_PRINT_PARAMETERS'
      EXPORTING DESTINATION           = 'LT50'
                COPIES                = COUNT
                LIST_NAME             = 'TEST'
                LIST_TEXT             = 'SUBMIT ... TO SAP-SPOOL'
                IMMEDIATELY           = 'X'
                RELEASE               = 'X'
                NEW_LIST_ID           = 'X'
                EXPIRATION            = DAYS
                LINE_SIZE             = 79
                LINE_COUNT            = 23
                LAYOUT                = 'X_PAPER'
                SAP_COVER_PAGE        = 'X'
                COVER_PAGE            = 'X'
                RECEIVER              = 'SAP*'
                DEPARTMENT            = 'System'
                NO_DIALOG             = ' '
      IMPORTING OUT_PARAMETERS        = PARAMS
                VALID                 = VALID.
    IF VALID <> SPACE.
      SUBMIT RSTEST00 TO SAP-SPOOL
        SPOOL PARAMETERS PARAMS
        WITHOUT SPOOL DYNPRO.
    ENDIF.
    Example
    * With archiving
    DATA: PARAMS   LIKE PRI_PARAMS,
          ARPARAMS LIKE ARC_PARAMS,
          DAYS(1)  TYPE N VALUE 2,
          COUNT(3) TYPE N VALUE 1,
          VALID    TYPE C.
    CALL FUNCTION 'GET_PRINT_PARAMETERS'
      EXPORTING DESTINATION            = 'LT50'
                COPIES                 = COUNT
                LIST_NAME              = 'TEST'
                LIST_TEXT              = 'SUBMIT ... TO SAP-SPOOL'
                IMMEDIATELY            = 'X'
                RELEASE                = 'X'
                NEW_LIST_ID            = 'X'
                EXPIRATION             = DAYS
                LINE_SIZE              = 79
                LINE_COUNT             = 23
                LAYOUT                 = 'X_PAPER'
                SAP_COVER_PAGE         = 'X'
                COVER_PAGE             = 'X'
                RECEIVER               = 'SAP*'
                DEPARTMENT             = 'System'
                SAP_OBJECT             = 'RS'
                AR_OBJECT              = 'TEST'
                ARCHIVE_ID             = 'XX'
                ARCHIVE_INFO           = 'III'
                ARCHIVE_TEXT           = 'Description'
                NO_DIALOG              = ' '
      IMPORTING OUT_PARAMETERS         = PARAMS
                OUT_ARCHIVE_PARAMETERS = ARPARAMS
                VALID                  = VALID.
    IF VALID <> SPACE.
      SUBMIT RSTEST00 TO SAP-SPOOL
        SPOOL PARAMETERS PARAMS
        ARCHIVE PARAMETERS ARPARAMS
        WITHOUT SPOOL DYNPRO.
    ENDIF.
    Regards
    Eswar

  • Fail to pass parameters to subreports via VB6 application

    Hi everybody,
    I'm a newbie here and I need to view a report (CR10) via a VB6 application where you enter the report's parameters. The report has subreports where its parameters are linked to the main report's ones.
    The application works properly on the development computer but doesn't work on the client computer (Crystal Reports 10 is not installed on it). In fact, the "Enter Parameter Value" message box appears and wants me to enter the parameters manually.
    For reports without subreports, it works nicely.
    How can I do to fix this problem ?
    I really need your help.
    Thank you
    Delphine

    Hello, Delphine;
    If the parameters are linked to the main report they should pass correctly.
    Linked parameters will fail if the database logon fails and the data they are linked to does not exist.
    Open the report in the Crystal Report designer. Go to Database|Set Datasource location.
    What is displayed for the properties of the main report database?
    For the subreport database?
    How do you pass the connection properties in code at runtime?
    Elaine

  • How to set the parameter selection *optional* for each subreport?

    Hi,
    I am using Crystal Reprots 11.
    I create 10 subreports, and each subreport contains a Parameters Field.
    The 10 subreports are put in 10 footer sections in increasing order, i.e. subreport1, subreport2, subreport3, ..., subreport10.
    When I use "Print Preview" to take a look at the whole report, CR prompts a "Edit Values" window for selecting parameter values for all 10 subreports.
    For example, if I only select parameter values for subreport1 and click "OK", 9 error messages on the "Edit Values" window come out above the selection list box of every other subreports (i.e. subreport2 ~ subreport10) showing that: 'The value is not valid'.
    Sometimes, I just want to review some specific subreports but not all.
    How should I do to set the parameter selection optional (not mandatory) for each subreport?
    Thank you in adavance.
    Edited by: Holdup on Feb 17, 2012 3:44 PM

    Hi,
    Here's how you can make the prompts optional (Assuming you're using CR 2008 or higher):
    1) Go into each subreport
    2) You should see the parameter in the Field Explorer. Right-click the name and select Edit > Look for an option called 'Optional Prompt'. Set it to true
    3) If you have a record selection in the subreport, then you need to modify the selection formula to something like this:
    if not(hasvalue({?Parameter_Name})) then True else = {?Parameter_Name}
    Hope this helps!
    -Abhilash

  • Commons HTTPClient : Sending file as well as parameters

    Hi,
    I want to send some parameters as well as a file in request body. I have been doing this via PostMethod by Commons HTTPClient.
    Client Code:
              HttpClient client = new HttpClient();
                   PostMethod method = new PostMethod("http://localhost:7080/exchange/receive");
                   //Parameters
                   method.addParameter("username","test");
                   method.addParameter("password","a311xhq23");
                   //File
                   String strXML = FileTest.readTextFile("C:/in.xml");
                   method.setRequestBody(strXML);
                   int statusCode = client.executeMethod(method);
                   if (statusCode != HttpStatus.SC_OK) {
                        System.err.println("Method failed: " + method.getStatusLine());
                   String responseString = method.getResponseBodyAsString();
                   System.out.println("Response : \n\n"+responseString);Server Code:
                    String username = request.getParameter("username");
                  System.out.println("Username : "+username);
              InputStream is = request.getInputStream();
              byte buf[]=new byte[1024];
              int len;
              OutputStream out = new FileOutputStream(new File("c:/out.xml"));
              while((len=is.read(buf))>0)
                     out.write(buf,0,len);
              out.close();
              is.close();Here the file is written successfully but request parameters are null. What could be the issue?
    Is it right way to send both parameters as well as file?
    In http client I haven't specify content type. So what will be default content type? is it multipart request?
    Thank is advance.
    Regards,
    Amit
    Edited by: amit_patel_java on Apr 14, 2010 11:38 PM

    I'd say your setRequestBody() call is overwriting the parameters. Read the javadocs of the API to get more details about how they work.
    What you are trying to mimic is a multipart request, where you can send a file as part of the request to the server. HttpClient should have capabilities to do a multipart request, and on the server side you can use the FileUpload API to read the file and the parameters back.
    [http://hc.apache.org/httpclient-3.x/methods/multipartpost.html|http://hc.apache.org/httpclient-3.x/methods/multipartpost.html]
    [http://commons.apache.org/fileupload/using.html|http://commons.apache.org/fileupload/using.html]

  • Passing value to internal parameter of subreport

    I have a report which contains a subreport. That subreport has 2 regular parameters and 1 internal parameter (which has default value).
    From what I've read ( http://msdn.microsoft.com/en-us/library/aa337490(v=sql.90).aspx ) I understand that there's no need to pass a value from the parent report to the subreport
    for internal parameters.
    All runs fine in VS (2005) and also fine after deploying to SSRS 2005. But when I deploy to SSRS 2008R2, I get "error subreport could not be shown" for that subreport.
    If I do pass that internal report (it DOES show in the chooslist from the parent report) then I get error "error subreport could not be shown" both in VS and in the reporting site. So I can't find any way to display it in SSRS 2008.
    Your advice appreciated.
    Namnami

    The report doesn't know whether it is a report or subreport. In either case, it takes the input and generates an output using the same settings and formulae. If you get a different output when it is run as a subreport, it is because the input is different.
    So I suggest that you display each parameter value of your subreport (or at least those that are passed in by your main report) in a set of text boxes added to the top of the report. Run the report by itself in SSRS 2008 and record the values
    that the report is consuming. Now in the main report, do the same. Display the value of each parameter that you are passing to the subreport in a text box. Look for differences. Remember to display multivalue parameter values in a text box, you will need
    to convert them to a string using Join: =Join(Parameters!Multi.Value,",").

  • Parameter passing from master to subreport

    Is it possible to pass a multi-value parameter from a master report to one or more subreports? If so, how?
    Thanks for any help.
    Wayne E. Pfeffer

    Yes you can do this. I suggest the following: In your subreport make the report parameter a multi-value parameter. Test the subreport stand alone and make sure it works. Then drop the subreport into your main report, and map the subreport parameters to the main report parameters.
    Scenario 1 (multi value parameter pass through):
    The Main report has report parameter A which is a multi value parameter. You want to pass it to SubReport1 which has a report parameter B which is also defined as multi value parameter. In this case the mapping is just a simple parameter expression: =Parameters!A.Value
    The subreport RDL element would look like this:
              <Subreport Name="SubReport1">
                <Parameters>
                  <Parameter Name="B">
                    <Value>=Parameters!A.Value</Value>
                  </Parameter>
                </Parameters>
              </Subreport>  
    Scenario 2:
    The Main report has no report parameters. You have a SubReport1 with a report parameter B defined as multi value parameter. You want to pass e.g. three selected values "A", "B", "C" as parameter values to the subreport. You need to create a multidimensional object array on-the-fly, e.g. with the Split function, e.g.: =Split("A,B,C", ",")
    RDL example:
              <Subreport Name="SubReport1">
                <Parameters>
                  <Parameter Name="B">
                    <Value>=Split("A,B,C", ",")</Value>
                  </Parameter>
                </Parameters>
              </Subreport>
    Scenario 3:
    The Main report has a multi-value parameter A. You want to pass only the first selected value from the main report's parameter to the subreport and the subreport's report parameter B is a single-value parameter. You can do this by using e.g. =Parameters!A.Value(0)
    RDL example:
              <Subreport Name="SubReport1">
                <Parameters>
                  <Parameter Name="B">
                    <Value>=Parameters!A.Value(0)</Value>
                  </Parameter>
                </Parameters>
              </Subreport>
    -- Robert

  • Parameters show up in ReportDocument.ParameterFields even if there is no parameter in report

    Post Author: christianlavallee
    CA Forum: .NET
    Hi, I'm trying to detect if parameters are needed in a report so i can show it in the CrystalReportViewer if needed, but I have a report with no parameters and when looking at it in the code, I see 4 parameters in ReportDocument.ParameterFields.
    It sounds like a bug to me, anyone has an idea?
    Thanks,
    Christian

    Post Author: ejthunder
    CA Forum: .NET
    Hi,
    Generally speaking a subreport is considered an object of the main report once it's added to the main report.  The subreport is no longer treated as a separate report.  If your report has a subreport with 4 parameters, then the report needs to prompt for 4 parameters to run correctly.
    I hope this helps.
    EJ

  • Creating report with Subreports

    I am creating a report with two subreports and am getting an error.  The error is Error source: Error code:0x80070057 I can;t seem to figure out what is prompting this and it comes up when I try to preview the report.  Can anyone please help?

    Hi Jeff,
    I did not find any specific description of the error, but previous incidents research tells me that it could be related to parameter prompt. Do you have any parameters in your report? How many, what type?
    You may try to locate the problem:
    1. Is it possible to temporarily delete some parameters?
    2. Are your subreports linked using parameters?
    3. You have three reports (main and two subs). Run each report separately to make sure they work fine.
    4. Run main report with one sub
    5. Try unlinked subreports
    More tests should help us better understand the situation.

  • Passing parameters to multiple sub reports

    Dear Experts,
    I have a crystal report (version 11) that has 4 subreports. I need to pass the same list of parameters to each sub report from the main design. I can not find a global perameter. Is this possible. an example is the date range. I need the user to be able to run the report and put the date range in once and have it passed to all of the sub-reports. thank you for your time.

    Hi,
    Yes, this is very much possible. Here's what you need to do:
    If the parameter is a string, number or date created in the Main Report then you can right-click the 1st subreport and select 'Change Subreport Links' > In the Fields to link to area move the Main Report parameter from the Available Fields area on the left.
    If the Subreport also has parameters then you can select the right-one that needs to be linked from the drop-down. This is directly link the Main report parameter to the Subreport parameter and you would prompted only once.
    Hope this helps!
    -Abhilash

  • Problem in BDC program using MIGO_GO transaction code

    Hi Gurus
    I have developed a BDC session upload program. The program is
    running fine except for the issue that when it goes the subscreen in
    MIGO_GO transaction (same as MIGO) it does not generates any code
    for page down or next page key. While recording after 15 entries
    (end of page) it moves automaticaly to the next page on line 2 but
    when I have used my own itab to fill data into this screen it
    passes/generates the code for page down with clear screen. It does
    go to item 2 but overwrites earlier entries instead of generting new
    one.
    Any suggestions?
    Guys this is very urgent so need ur feedback immediately?
    Lots of thanks in advance.
    The code is as follows:
    PURPOSE: The purpose of this upload program is to upload
    receipt
    against Production Order. Data is uploaded into SAP
    via text
    file which is converted from pre-defined excel file
    pattern.
    REPORT zmm_migo_rec
    NO STANDARD PAGE HEADING LINE-SIZE 255.
    *Excel column sequence SAP Material Number Batch # Crop Year
    Process Date Net Weight Plant Area Gross
    Weight Plant Number Shift Mat.Desc Prod.Ord#
    TYPES : BEGIN OF st_barcode,
    m_matnr LIKE mara-matnr,
    m_batch_no LIKE mseg-charg,
    m_crop_year TYPE c LENGTH 4,
    m_process_date LIKE mkpf-bldat,
    m_net_wt TYPE c LENGTH 7,
    m_plant_area TYPE c LENGTH 5,
    m_gross_wt TYPE c LENGTH 7,
    m_plant_num TYPE c LENGTH 1,
    m_shift TYPE c LENGTH 1,
    m_matnr_desc TYPE c LENGTH 30,
    m_prod_ord LIKE mseg-aufnr,
    text(200),
    text1(200),
    END OF st_barcode.
    DATA : itab_barcode TYPE TABLE OF st_barcode WITH HEADER LINE.
    DATA : itab_log TYPE TABLE OF st_barcode WITH HEADER LINE.
    DATA : itab_log1 TYPE TABLE OF st_barcode WITH HEADER LINE.
    DATA : g_filename TYPE rlgrap-filename.
    INCLUDE bdcrecx1.
    Start of Selection Screen for document data, screen data and
    posting date fields.
    SELECTION-SCREEN BEGIN OF BLOCK a1 WITH FRAME TITLE text-000.
    PARAMETERS :
    p_dummy TYPE i DEFAULT 0,
    p_bldat LIKE sy-datum OBLIGATORY DEFAULT sy-
    datum, "Document date
    p_budat LIKE sy-datum OBLIGATORY DEFAULT sy-
    datum, "Posting date
    p_frmplt LIKE t001l-werks OBLIGATORY,
    p_frmloc LIKE t001l-lgort OBLIGATORY,
    p_toloc LIKE t001l-lgort OBLIGATORY,
    p_rsnmov LIKE mseg-grund OBLIGATORY,
    p_bsarea LIKE mseg-gsber OBLIGATORY,
    cb_simul AS CHECKBOX DEFAULT 'X'.
    SELECTION-SCREEN END OF BLOCK a1.
    START-OF-SELECTION.
    *to remove unnecessary fields from selection screen
    AT SELECTION-SCREEN OUTPUT.
    LOOP AT SCREEN.
    IF screen-group4 LT '060' AND screen-group3 NE 'BLK'.
    screen-active = 0.
    MODIFY SCREEN.
    ENDIF.
    ENDLOOP.
    *to Process Call Transaction in Error Mode
    ctu = 'X'.
    ctumode = 'A'.
    nodata = space.
    END-OF-SELECTION.
    Get data from file
    PERFORM f_get_data.
    Validate data retrieved from excel file
    PERFORM f_validate_data.
    Batch data / simulate.
    IF cb_simul IS INITIAL.
    PERFORM f_prized_data.
    PERFORM f_write_log.
    ELSE.
    PERFORM f_write_log.
    ENDIF.
    *& Form F_GET_DATA
    This module is used to read text file data into SAP itab.
    FORM f_get_data .
    Select the file to be uploaded
    CALL FUNCTION 'UPLOAD'
    EXPORTING
    filename = g_filename
    filetype = 'DAT'
    TABLES
    data_tab = itab_barcode
    EXCEPTIONS
    conversion_error = 1
    invalid_table_width = 2
    invalid_type = 3
    no_batch = 4
    unknown_error = 5
    gui_refuse_filetransfer = 6
    OTHERS = 7.
    ENDFORM. " F_GET_DATA
    *& Form F_VALIDATE_DATA
    text
    FORM f_validate_data .
    DATA : BEGIN OF lt_marc OCCURS 0,
    matnr LIKE mard-matnr,
    werks LIKE mard-werks, " Plant
    END OF lt_marc.
    RANGES : lr_matnr FOR mara-matnr.
    READ TABLE itab_barcode INDEX 1.
    Prepare Ranges to check/verify Material from Table MARD i.e.
    respective plant
    lr_matnr-sign = 'I'.
    lr_matnr-option = 'EQ'.
    LOOP AT itab_barcode.
    Add leading zeros incase of numeric value.
    CALL FUNCTION 'CONVERSION_EXIT_ALPHA_INPUT'
    EXPORTING
    input = itab_barcode-m_matnr
    IMPORTING
    output = itab_barcode-m_matnr.
    lr_matnr-low = itab_barcode-m_matnr.
    APPEND lr_matnr.
    MODIFY itab_barcode TRANSPORTING m_matnr.
    ENDLOOP.
    IF NOT lr_matnr[] IS INITIAL.
    SORT lr_matnr BY low.
    DELETE ADJACENT DUPLICATES FROM lr_matnr COMPARING low.
    SELECT matnr werks FROM marc
    INTO TABLE lt_marc
    WHERE matnr IN lr_matnr AND
    werks = p_frmplt.
    ENDIF.
    LOOP AT itab_barcode.
    READ TABLE lt_marc
    WITH KEY matnr = itab_barcode-m_matnr
    werks = p_frmplt.
    IF sy-subrc <> 0 .
    CONCATENATE 'Material' itab_barcode-m_matnr
    ' does not exist in Plant ' p_frmplt
    INTO itab_barcode-text SEPARATED BY space.
    MOVE-CORRESPONDING itab_barcode TO itab_log.
    APPEND itab_log.
    MODIFY itab_barcode TRANSPORTING text.
    CONTINUE.
    ENDIF.
    ENDLOOP.
    ENDFORM. " F_VALIDATE_DATA
    *& Form F_WRITE_LOG
    text
    FORM f_write_log .
    LOOP AT itab_log.
    WRITE :/ itab_log-text.
    ENDLOOP.
    LOOP AT itab_log1.
    WRITE :/ itab_log1-text1.
    ENDLOOP.
    ENDFORM. " F_WRITE_LOG
    *& Form f_prized_data
    text
    --> p1 text
    <-- p2 text
    FORM f_prized_data.
    DATA: ld_lines LIKE sy-tabix,
    ld_sw TYPE i,
    lh_loop TYPE i,
    ld_recno TYPE i,
    lremain TYPE i,
    ld_total TYPE i,
    ld_counter LIKE sy-index,
    ld_counter TYPE i,
    ld_save LIKE sy-index,
    ld_last TYPE i,
    sc_counter(2) TYPE n,
    ld_budat(10),
    ld_bldat(10).
    DATA: wa_matnr(40) TYPE c,
    wa_bwtar(40) TYPE c,
    wa_erfme(40) TYPE c,
    wa_charg(40) TYPE c.
    WRITE: p_budat TO ld_budat,
    p_bldat TO ld_bldat.
    ld_recno = 300. " Number of records in the upload file.
    ld_last = 0.
    Open BDC session.
    PERFORM open_group.
    DESCRIBE TABLE itab_barcode LINES ld_lines.
    CLEAR: lh_loop, lremain.
    lh_loop = ld_lines DIV ld_recno.
    lremain = ld_lines MOD ld_recno.
    IF lremain > 0.
    lh_loop = lh_loop + 1.
    ENDIF.
    ld_sw = 1.
    LOOP AT itab_barcode.
    ADD 1 TO ld_counter.
    ADD 1 TO sc_counter.
    ADD 1 TO ld_total. " Check for 300
    IF ld_sw = 1.
    Header data.
    PERFORM open_group.
    PERFORM bdc_dynpro USING 'SAPLMIGO' '0001'.
    PERFORM bdc_field
    USING 'BDC_OKCODE' '=MIGO_OK_ACTION'.
    PERFORM bdc_field
    USING 'BDC_CURSOR' 'GODYNPRO-ACTION'.
    PERFORM bdc_field USING 'GODYNPRO-
    ACTION' 'A01'.
    PERFORM bdc_field USING 'GODYNPRO-
    REFDOC' 'R02'.
    PERFORM bdc_dynpro USING 'SAPLMIGO' '0001'.
    PERFORM bdc_field
    USING 'BDC_OKCODE' '=OK_GO'.
    PERFORM bdc_field USING 'GODYNPRO-
    ACTION' 'A01'.
    PERFORM bdc_field USING 'GODYNPRO-
    REFDOC' 'R08'.
    PERFORM bdc_field USING 'GODEFAULT_TV-
    BWART' '101'.
    PERFORM bdc_field
    USING 'BDC_CURSOR' 'GODYNPRO-
    ORDER_NUMBER'.
    PERFORM bdc_field USING 'GOHEAD-
    BLDAT' ld_bldat.
    PERFORM bdc_field USING 'GOHEAD-
    BUDAT' ld_budat.
    PERFORM bdc_field USING 'GOHEAD-
    XNAPR' 'X'.
    PERFORM bdc_dynpro USING 'SAPLMIGO' '0001'.
    PERFORM bdc_field
    USING 'BDC_OKCODE' '=MIGO_OK_DETAIL_OP
    EN'.
    PERFORM bdc_field USING 'GODYNPRO-
    ACTION' 'A01'.
    PERFORM bdc_field USING 'GODYNPRO-
    REFDOC' 'R08'.
    PERFORM bdc_field USING 'GODEFAULT_TV-
    BWART' '101'.
    PERFORM bdc_field
    USING 'BDC_CURSOR' 'GODYNPRO-
    ORDER_NUMBER'.
    PERFORM bdc_field USING 'GOHEAD-
    BLDAT' ld_bldat.
    PERFORM bdc_field USING 'GOHEAD-
    BUDAT' ld_budat.
    PERFORM bdc_field USING 'GOHEAD-
    XNAPR' 'X'.
    PERFORM bdc_dynpro USING 'SAPLMIGO' '0001'.
    PERFORM bdc_field
    USING 'BDC_OKCODE' '=OK_GO'.
    PERFORM bdc_field USING 'GODYNPRO-
    ACTION' 'A01'.
    PERFORM bdc_field USING 'GODYNPRO-
    REFDOC' 'R08'.
    PERFORM bdc_field USING 'GODEFAULT_TV-
    BWART' '101'.
    PERFORM bdc_field
    USING 'BDC_CURSOR' 'GODYNPRO-
    ORDER_NUMBER'.
    PERFORM bdc_field USING 'GODYNPRO-
    ORDER_NUMBER' itab_barcode-m_prod_ord.
    PERFORM bdc_field USING 'GOHEAD-
    BLDAT' ld_bldat.
    PERFORM bdc_field USING 'GOHEAD-
    BUDAT' ld_budat.
    PERFORM bdc_field USING 'GOHEAD-
    XNAPR' 'X'.
    PERFORM bdc_dynpro USING 'SAPLMIGO' '0001'.
    PERFORM bdc_field
    USING 'BDC_OKCODE' '=MIGO_OK_LINE_CLIC
    K'.
    PERFORM bdc_field USING 'GODEFAULT_TV-
    BWART' '101'.
    PERFORM bdc_field USING 'GOHEAD-
    BLDAT' ld_bldat.
    PERFORM bdc_field USING 'GOHEAD-
    BUDAT' ld_budat.
    PERFORM bdc_field USING 'GOHEAD-
    XNAPR' 'X'.
    PERFORM bdc_field USING 'GOHEAD-
    WEVER' '3'.
    PERFORM bdc_field
    USING 'BDC_CURSOR' 'GOITEM-ZEILE(01)'.
    PERFORM bdc_field USING 'GODYNPRO-
    DETAIL_ZEILE' ' 1'.
    PERFORM bdc_field USING 'GOITEM-
    ERFME' 'KG'.
    PERFORM bdc_field USING 'GOITEM-
    BWART' '101'.
    PERFORM bdc_dynpro USING 'SAPLMIGO' '0001'.
    PERFORM bdc_field
    USING 'BDC_OKCODE' '=MIGO_OK_SPLIT_QUA
    N'.
    PERFORM bdc_field USING 'GODEFAULT_TV-
    BWART' '101'.
    PERFORM bdc_field USING 'GOHEAD-
    BLDAT' ld_bldat.
    PERFORM bdc_field USING 'GOHEAD-
    BUDAT' ld_budat.
    PERFORM bdc_field USING 'GOHEAD-
    XNAPR' 'X'.
    PERFORM bdc_field USING 'GOHEAD-
    WEVER' '3'.
    PERFORM bdc_field
    USING 'BDC_CURSOR' 'GOITEM-ZEILE(01)'.
    PERFORM bdc_field USING 'GODYNPRO-
    DETAIL_ZEILE' ' 1'.
    PERFORM bdc_field USING 'GOITEM-
    ERFME' 'KG'.
    PERFORM bdc_field USING 'GOITEM-
    MIGO_ELIKZ' '1'.
    PERFORM bdc_field USING 'GOITEM-
    BWART' '101'.
    ld_sw = 0.
    ENDIF.
    IF sc_counter = 16.
    CLEAR sc_counter.
    PERFORM bdc_field USING 'BDC_OKCODE' 'DOWN'.
    PERFORM bdc_field
    USING 'BDC_OKCODE' '/00'.
    add 2 to sc_counter.
    ELSE.
    PERFORM bdc_field USING 'BDC_OKCODE' '/00'.
    ENDIF.
    CLEAR wa_matnr.
    CONCATENATE 'GOSPLIT-ERFMG(' sc_counter ')' INTO wa_matnr.
    CLEAR wa_bwtar.
    CONCATENATE 'GOSPLIT-CHARG(' sc_counter ')' INTO wa_bwtar.
    PERFORM bdc_dynpro USING 'SAPLMIGO' '1000'.
    PERFORM bdc_field
    USING 'BDC_OKCODE' '=OK_SP_CH'.
    PERFORM bdc_field
    USING 'BDC_CURSOR' 'GOSPLIT-CHARG
    (sc_counter)'.
    PERFORM bdc_field USING wa_matnr itab_barcode-
    m_gross_wt.
    PERFORM bdc_field USING wa_bwtar itab_barcode-
    m_batch_no.
    PERFORM bdc_field
    USING 'BDC_CURSOR' 'GOSPLIT-CHARG
    (sc_counter)'.
    *When end of itab
    AT LAST.
    PERFORM bdc_dynpro USING 'SAPLMIGO' '1000'.
    PERFORM bdc_field
    USING 'BDC_OKCODE' '=OK_GOON'.
    PERFORM bdc_field
    USING 'BDC_CURSOR' 'GOSPLIT-CHARG
    (sc_counter)'.
    PERFORM bdc_dynpro USING 'SAPLMIGO' '0001'.
    PERFORM bdc_field
    USING 'BDC_OKCODE' '=MIGO_OK_NEXT_IT'.
    PERFORM bdc_field USING 'GODEFAULT_TV-
    BWART' '101'.
    PERFORM bdc_field USING 'GOHEAD-
    BLDAT' ld_bldat.
    PERFORM bdc_field USING 'GOHEAD-
    BUDAT' ld_budat.
    PERFORM bdc_field USING 'GOHEAD-
    XNAPR' 'X'.
    PERFORM bdc_field USING 'GOHEAD-
    WEVER' '3'.
    PERFORM bdc_field
    USING 'BDC_CURSOR' 'GOITEM-ZEILE(01)'.
    PERFORM bdc_field USING 'GODYNPRO-
    DETAIL_ZEILE' ' 1'.
    PERFORM bdc_field USING 'GOITEM-
    ERFME' 'KG'.
    PERFORM bdc_field USING 'GOITEM-
    MIGO_ELIKZ' '1'.
    PERFORM bdc_field USING 'GOITEM-
    BWART' '101'.
    PERFORM bdc_dynpro USING 'SAPLMIGO' '0001'.
    PERFORM bdc_field
    USING 'BDC_OKCODE' '=MIGO_OK_TAKE_VALU
    E'.
    PERFORM bdc_field USING 'GODEFAULT_TV-
    BWART' '101'.
    PERFORM bdc_field USING 'GOHEAD-
    BLDAT' ld_bldat.
    PERFORM bdc_field USING 'GOHEAD-
    BUDAT' ld_budat.
    PERFORM bdc_field USING 'GOHEAD-
    XNAPR' 'X'.
    PERFORM bdc_field
    USING 'BDC_CURSOR' 'GOITEM-TAKE_IT
    (01)'.
    PERFORM bdc_field USING 'GOITEM-TAKE_IT
    (01)' 'X'.
    PERFORM bdc_field USING 'GODYNPRO-
    DETAIL_ZEILE' ' 1'.
    PERFORM bdc_field USING 'GOITEM-
    ERFME' 'KG'.
    PERFORM bdc_field USING 'GOITEM-
    MIGO_ELIKZ' '1'.
    PERFORM bdc_field USING 'GOITEM-
    BWART' '101'.
    PERFORM bdc_dynpro USING 'SAPLMIGO' '0001'.
    PERFORM bdc_field
    USING 'BDC_OKCODE' '=OK_CHECK'.
    PERFORM bdc_field USING 'GODEFAULT_TV-
    BWART' '101'.
    PERFORM bdc_field USING 'GOHEAD-
    BLDAT' ld_bldat.
    PERFORM bdc_field USING 'GOHEAD-
    BUDAT' ld_budat.
    PERFORM bdc_field USING 'GOHEAD-
    XNAPR' 'X'.
    PERFORM bdc_field
    USING 'BDC_CURSOR' 'GOITEM-TAKE_IT
    (01)'.
    PERFORM bdc_field USING 'GODYNPRO-
    DETAIL_ZEILE' ' 1'.
    PERFORM bdc_field USING 'GOITEM-
    ERFME' 'KG'.
    PERFORM bdc_field USING 'GOITEM-
    MIGO_ELIKZ' '1'.
    PERFORM bdc_field USING 'GOITEM-
    BWART' '101'.
    PERFORM bdc_field USING 'GODYNPRO-
    DETAIL_TAKE' 'X'.
    PERFORM bdc_dynpro USING 'SAPMSSY0' '0120'.
    PERFORM bdc_field
    USING 'BDC_OKCODE' '=&ONT'.
    PERFORM bdc_dynpro USING 'SAPLMIGO' '0001'.
    PERFORM bdc_field
    USING 'BDC_OKCODE' '=OK_POST1'.
    PERFORM bdc_field USING 'GODEFAULT_TV-
    BWART' '101'.
    PERFORM bdc_field USING 'GOHEAD-
    BLDAT' ld_bldat.
    PERFORM bdc_field USING 'GOHEAD-
    BUDAT' ld_budat.
    PERFORM bdc_field USING 'GOHEAD-
    XNAPR' 'X'.
    PERFORM bdc_field
    USING 'BDC_CURSOR' 'GOITEM-TAKE_IT
    (01)'.
    PERFORM bdc_field USING 'GODYNPRO-
    DETAIL_ZEILE' ' 1'.
    PERFORM bdc_field USING 'GOITEM-
    ERFME' 'KG'.
    PERFORM bdc_field USING 'GOITEM-
    MIGO_ELIKZ' '1'.
    PERFORM bdc_field USING 'GOITEM-
    BWART' '101'.
    PERFORM bdc_field USING 'GODYNPRO-
    DETAIL_TAKE' 'X'.
    PERFORM bdc_transaction USING 'MIGO_GO'.
    ENDAT.
    ENDLOOP.
    PERFORM close_group.
    ENDFORM. "f_prized_data

    Hi
    Thanks Peram for your swift reply but I am a newbie to BAPIs ...... is there anyway i can do this from within the code i had written ....
    for BAPIs I have to do R & D in detail and I need to complete this urgently. If BAPI is the only solution kindly provide my some quick guideline to proceed.
    Thanks,
    Imran

  • OSS Notes Please

    Dear Gurus,
    Can anyone send me the following OSS notes if u have.  567747, 130253 and 417307.  Your kind help will be definitely awarded.
    My mail ID is [email protected]
    Best Regards
    Mohan Kumar
    Message was edited by: mohan kumar

    hi Mohan,
    i think you will need to have access to oss yourself,
    note 567747 is composite one that contains several notes.
    sent to you mail ...
    130253
    Symptom
    Uploading transaction data to BW takes too long
    Other terms
    Business Warehouse, data upload, batch upload, transaction data upload,
    performance, runtime, data load, SPLIT_PARTITION_FAILED ORA00054
    Reason and Prerequisites
    Loading data from a mySAP system (for example, R/3) or from a file takes a very long time.
    Solution
    The following tips are a general check list to make the mass data upload to the Business Warehouse (BW) System as efficient as possible.
    Tip 1:
    Check the parameter settings of the database as described in composite Note 567745.
    Check the basis parameter settings of the system.
    Note 192658 Setting basis parameters for BW Systems
    See the following composite notes:
    Note 567747 Composite note BW 3.x performance: Extraction & loading
    Note 567746 Composite note BW 3.x performance: Query & Web applications
    Tip 2:
    Import the latest BW Support Package and the latest kernel patch into your system.
    Tip 3:
    Before you upload the transaction data you should make sure that ALL relating master data has been loaded to your system. If no master has been loaded yet, the upload may take up to 100 percent longer because in this case, the system must retrieve master data IDs for the characteristic attributes and it must add new records to the master data tables.
    Tip 4:
    If possible, always use TRFC (PSA) as the transfer method instead of
    IDocs. If you (have to) use IDocs, keep the number of data IDocs as low
    as possible. We recommend an IDoc size of between 10000 (Informix) and 50000 (Oracle, MS SQL Server).
    To upload from a file, set this value in Transaction RSCUSTV6.
    To upload from an R/3 system, set this value in R/3 Customizing (SBIW -> General settings -> Control parameters for data transfer).
    Tip 5:
    If possible, load the data from a file on the application server and not from the client workstation as this reduces the network load. This also allows you to load in batch.
    Tip 6:
    If possible, use a fixed record length when you load data from a file (ASCII file). For a CSV file, the system only carries out the converison to a fixed record length during the loading process.
    Tip 7:
    When you load large data quantities from a file, we recommend that you split the file into several parts. We recommend using as many files of the same size as there are CPUs. You can then load these files simultaneously to the BW system in several requests. To do this, you require a fast RAID.
    Tip 8:
    When you load large quantities of data in InfoCubes, you should delete
    the secodary indexes before the loading process and then recreate them afterwards if the following applies: The number of the records that are loaded is big in comparison to the number of records that already exist in the (uncompressed) F fact table. For non-transactional InfoCubes, you must delete the indexes to be able to carry out parallel loading.
    Tip 9:
    When you load large quantities of data in an InfoCube, the number range buffer should be increased for the dimensions that are likely to have a high number of data sets.
    To do this, proceed as follows. Use function module RSD_CUBE_GET to find the object name of the dimension that is likely to have a high number of data sets.
    Function module settings:
    I_INFOCUBE = 'Infocube name'
    I_OBJVERS = 'A'
    I_BYPASS_BUFFER = 'X'
    The numbers for the dimensions are then contained in table 'E_T_DIME', column 'NUMBRANR'. If you enter 'BID' before this number, you get the relevant number range (for example BID0000053).
    You can use Transaction SNRO (-> ABAP/4 Workbench -> Development --> Other tools --> Number ranges) to display all number ranges for the dimensions used in BW if you enter BID*. You can use the object name that was determined beforehand to find the required number range.
    By double-clicking this line, you get to the number range maintenance. Choose Edit -> Set-up buffering -> Main memory, to define the 'No. of numbers in buffer'.
    Set this value to 500, for example. The size depends on the expected data quantity in the initial and in future (delta) uploads.
    !! Never buffer the number range for the package dimension !!
    Tip 10:
    When you load large quantities of data, you should increase the number
    range buffer for the info objects that are likely to have a high number of data sets. To do this, proceed as follows:
    Use function module RSD_IOBJ_GET to find the number range name of the info object that is likely to have a high number of data sets.
    Function module settings:
    I_IOBJNM = 'Info object name'
    I_OBJVERS = 'A'
    I_BYPASS_BUFFER = 'X'
    The number for the info object is in table 'E_S_VIOBJ', column 'NUMBRANR'. Enter 'BIM' in front of this number to get the required number range (for example BIM0000053).
    Use Transaction SNRO (-> ABAP/4 Workbench -> Development --> Other tools --> Number ranges) to display all number ranges used for the info objects in BW by entering BIM*. By entering the object name determined beforehand you can find the desired number range.
    By double-clicking this line you get to the number range object maintenance. Choose Edit -> Set-up buffering -> Main memory, to define the 'No. of numbers in buffer'.
    Set this value to 500, for example. The size depends on the expected data quantity in the initial and in future (delta) uploads.
    !! Never buffer the number range object for the characteristic 0REQUEST!!
    417307
    Symptom
    Performance load is too high/not justifiable during data load.
    Customizing settings via extractors IMG path (Transaction SBIW in the OLTP system; can be called directly in the OLTP or using Customizing, from the BW system) do not yield any considerable improvement or are not clear.
    The settings in Table ROIDOCPRMS or in the Scheduler in the BW system are not taken into account by some extractors. How is the data package size defined for the data transfer to the BW? Are there application-specific features to determine the package size? If so, what are they?
    Other terms
    SBIW, general settings extractors, MAXSIZE, data volume, OLTP, service API, data package size, package size, performance
    Reason and Prerequisites
    The general formula is:
          Package size = MAXSIZE * 1000 / size of the transfer structure,
                        but not more than MAXLINES.
    You can look up the transfer structure (extract structure) in Table ROOSOURCE in the active version of the DataSource and determine its size via SE11 (DDIC) -> Utilities -> Runtime object -> Table length.
    The system default values of 10,000 or 100,000 are valid for the MAXSIZE and MAXLINES parameters (see the F1 help for the corresponding fields in ROIDOCPRMS). You can use the IMG Transaction SBIW (in the OLTP system) "Maintain General settings for extractors" to overwrite these parameters in Table ROIDOCPRMS on a system-specific basis. You also have the option of overriding these values in the scheduler (in the target BW system). However, in the Scheduler (InfoPackage) you can only reduce the MAXSIZE. The advantage of using the Scheduler to carry out maintenance is that the values are InfoSource-specific.
    However, some extractors have their own flow logic which MAXSIZE does not load 1:1 from the ROIDOCPRMS.
    This Note does not cover all SAP applications.
    Solution
    Application/DataSource               Standard settings or note
    Generic extractor                     Standard (Example: Note 409641)
    Delta Extraction via DeltaQueue       Standard as of PlugIn 2000.2
                                               Patch 3
    LO-LIS                                 Standard
    Logistic Cockpit SD                       Notes 419465 and 423118
    Logistic Cockpit MM-IM:
    Extraction 2LIS_03_UM                     Notes 537235 and 585750
    Extraction 2LIS_03_BF                     Note 454267
               In general, the following applies to Logistic Cockpit Extraction: The package size set only serves as guideline value.
                Depending on the application, contents and structure of the documents, and the selection in the reconstruction program, the actual size of the transfer packages may differ considerably. That is not an error.
                For 'Queued Delta' update mode the package size of 9999 LUWs (=Logical Unit of Work, in this particular case documents or posting units per transaction are concerned) is set for LO Cockpit. However, if a transaction updated more than 10000 documents at once, the number 9999 would be invalid. This is because an update process cannot be split.
                In the case of a 'Direct Delta' update mode there is no package size for LUW bundling. In the DeltaQueue (RSA1) every LUW is updated individually.
               Also note the following:
                         If you want to transfer large data sets into the BW System, it is a good idea to carry out the statistical data setup and the subsequent data transfer in several sub-steps. In doing so, the selections for the statistical data setup and in the BW InfoPackage must correspond to each other. For performance reasons, we recommend using as few selection criteria as possible. You should avoid complex selections. After loading init delta with selection 1, the setup table has to be deleted and rebuilt with selection 2.
                         Bear the following in mind: The delta is loaded for the sum of all selections from the init deltas. Remember that the selections are made so that they do not impede the delta load, for example, if you have initialized the delta for the periods January 1st, 1999 to December 1st, 2000 and December 2nd, 2000 to August 1st, 2001 then you get a time interval from January 1st, 1999 to August 1st, 2001 in the BW. Documents from August 2nd, 2001 are no longer loaded.
    CO-OM                                     Note 413992
    PS                                        Standard or according
                                               to Note 413992
    CO-PC                                     Standard
    FI (0FI-AR/AP-3)                          First tables with open items(BSID for customers, BSIK for vendors) are read. The package size from the MAXISE field in Table ROIDOCPRMS is used in the extraction from these tables. If the packages are grouped together according to ROIDOCPRMS and a few data records still remain, these remaining records are transferred in one additional package.
    After the open items are extracted, the system extracts from the table of cleared items (BSAD for customers, BSAK for vendors). In this extraction,the package size from the MAXSIZE field is adhered to.
    FI (0FI-/AR/AP/-4 , new as of BW 30A) Like FI-AR/AP-3, but with one difference: if there are remaining records after the system reads the open items using the setting in the MAXSIZE field, they are not transferred in one extra package, but added to the first package of items read from the table of cleared items. For example, if 10 data packages with 15000 data records are extracted from Table BSID in accordance with ROIDOCPRMS, and 400 data records remain, the package size of the first data package from Table BSAD is 15400.
    Both new and changed records are formatted in the following sequence in the delta transfer: 1) new BSIK/BSID records; 2) new BSAK/BSAD records; 3) changed BSIK/BSID records; 4) changed BSAK/BSAD records.
    Package size 0FI_GL_4:
    Prior to Note 534608 and the related notes, package size could vary considerably since the MAXLINES were applied to the document headers only. Then all documents lines for the document headers were read and transferred. As a result, the packages were 2 to 999 times as large as MAXLINES depending on the number of line items per document.
    Note 534608 and the related notes changed the logic so that the MAXLINES is now also applied to the document lines. For each package, MAXLINES can be exceeded by up to 998 lines since a document is always transferred completely in one package. Smaller 'remaining packages' may also occur; for example if MAXLINES = 10000, and 10000 document headers with 21000 lines are selected, 2x10000 and the remainder of 1000 were were transferred in a separate package. Selection logic in 0FI_GL_4: Selection of the new FI documents via CPUDT -> the changed documents are then selected via Table BWFI_AEDAT. When changing the selection from new to changed documents, a package may occur which consists of the 'remainder' of the CPUDT selection and the first package of the BWFI_AEDAT selection. This package can then have a maximum size of 2 x MAXLINES.
    FI-FM                                  Note 416669
    EC-PCA                                 For the most part, the systemadheres to the standard settings but for technical reasons, packages packages smaller than the MAXSIZE or 7200 larger than the MAXSIZE may be omitted in Table ROIDOCPRMS
    FI-SL                                  as in EC-PCA
    PT                                     Standard (refer to Note
                                           397209)
    PY                                     Standard
    PA                                     Standard
    RE                                     Standard
    ISR-CAM (Category Management,
             new as of PlugIn 2001.1)     Standard
    CO-PA                                  During the initialization and fullupdate in the profitability analysis, a join is always read from two tables (For details see Note 392635). To avoid terminations caused by Select statements that run for too long, access occurs with intervals for the object numbers (fixed size 10,000). New intervals are read until the package size requested by BW is reached. Therefore the size of the data package is always equal to or larger than the specification, but it can vary considerably.
    Master data:
    Business partner                       Standard
    Product                                Standard
    Customer                               Standard
    Vendor                                 Standard
    Plant                                  Standard
    Material                               Standard
    567747
    Symptom
    You want to improve the performance of the extraction and loading of your data into SAP BW 3.x.
    Solution
    This is a composite note that deals with performance-relevant topics in the area of extraction and loading.
    If you encounter performance problems, ensure that the current Support Package has been imported.
    This note is continually updated. You should therefore download a new version on a regular basis.
    You will find further documents in the SAP Service Marketplace, alias bw under the folder "Performance".
    Contents:
    I.    Extraction from the OLTP
    II.   Loading generally
    III.  Master data
    IV.   Roll-Up/aggregate structure
    V.    Compression
    VI.   Hierarchies/attribute realignment run
    VII.  DataMart interface
    VIII. ODS objects
    IX.   Miscellaneous
    I.    Extraction from the OLTP
    Note 417307: extractor packet size: Collective note for applications
    Note 505700: LBWE: New update methods from PI 2002.1
    Note 398041: INFO: CO-OM/IM IM content (BW)
    Note 190038: Composite note performance for InfoSource 0CO_PC_01 and
    Note 436393: Performance improvement for filling the setup tables
    Note 387964: CO delta extractors: poor performance for Deltainit
    II.   Loading generally
    Note 130253: Notes on uploading transaction data into BW
    Note 555030: Deactivating BW-initiated DB statistics
    Note 620361: Performance data loading/Admin. data target, many requests
    III.  Master data
    Note 536223: Activating master data with navigation attributes
    Note 421419: Parallel loading of master data (several requests)
    IV.   Roll-Up/aggregate structure
    Note 484536: Filling aggregates of large InfoCubes
    Note 582529: Rollup of aggregates & indexes (again as of BW 3.0B Support Package 9)
    V.    Compression
    Note 375132: Performance optimization for InfoCube condensation
    Note 583202: Change run and condensing
    VI.   Hierarchies/attribute realignment run
    Note 388069: Monitor for the change run
    Note 176606: Apply Hierarchy/Attribute change ... long runtime
    Note 534630: Parallel processing of the change run
    Note 583202: Change run and condensing
    VII.  DataMart interface
    Note 514907: Processing complex queries (DataMart, and so on)
    Note 561961: Switching the use of the fact table view on/off
    VIII. ODS objects
    Note 565725: Optimizing the performance of ODS objects in BW 3.0B
    IX.   Miscellaneous
    Note 493980: Reorganizing master data attributes and master data texts
    Note 729402: Performance when compiling and searching in the AWB

Maybe you are looking for

  • In import GRN - excise duty is wrongly updating..

    hi frnds.. In import GRN - excise duty is wrongly updating.. How to resolve this... Regards Raghav.KH

  • Check Printing on Custom Paper size

    Hi All, I am using RTF template to print checks using XML publisher. I generated the PDF file and it prints fine on a regular 8.5 * 11 letter size paper. When I print on real check which is 8.5 * 7 size, it does not print correctly. I am using the HP

  • Bootcamp MUP.sys windows xp issue

    I have been running my imac with snow leapard and bootcamp with a bootcamp partition running windows xp pro. This has been stable for a few months with no problems. I have my business accounts on this as the accounts package wont work under a mac os.

  • HT2417 Iphone model MC608LL.  Why won't it switch back to ringer from vibrate?

    Have 3G Iphone model MC608LL.  Why won't it switch back to ringer from vibrate?  Local repair shop said it was a software issue.  AT&T store said to back it up and update OS version.  Did all that.  The switch still won't take it off vibrate.

  • Unable to move or delete messages

    Hi Recently I have had difficulty when trying to move or delete messages in mail. It does not affect all messages, and not always all of the time. For example, I tried to clear out my Sent folder yesterday. I was able to move or delete most, but thre