Load a flat file into BW-BPS using SAP GUI

Hi,
We are using BW BPS 3.5 version, i implemented how to guide  " How to load a flat file into BW-BPS using SAP GUI" successfully without any errors.
I inlcuded three infoobjects in the text file   costelemt, Posting period and amount. the same three infoobjects i inlcuded the file structure in the global data as specified in the how to document
The flat file format is like this
Costelmnt      Postingperiod         Amount   
XXXXX             #      
XXXXX             1                          100
XXXXX             2                           800
XXXXX             3                           700
XXXXX             4                           500
XXXXX             5                           300
XXXXX             6                           200
XXXXX             7                           270
XXXXX             8                           120
XXXXX             9                           145 
XXXXX            10                           340
XXXXX            11                           147
XXXXX            12                           900 
I successfully loaded above flat file in to BPS cube and it dispalyed in the layout also.
But users are requesting to load  flatfile in the below format
Costelmnt        Annual(PP=#)   Jan(PP=1)   Feb(PP=2) ........................................Dec(PP=12)  
XXXXX              Blank                       100           800                                                   900
Is it possible to load a flat file like this
They wants load a single row instead of 13 rows for each costelement
How to do this. Please suggest me if anybody accorss this requirment.
In the infocube we have got only one Info object 0FISCPER3(Posting period) and one 0AMOUNT(Amount)
do we need 13 Infobjects for each posting period and amount.
Is there any possiblity we can implement any user exit which we use in BEX Quer's
Please share your ideas on this.
Thanks in advance
Best regards
SS

Hi,
There are 2 ways to do this.
One is to change the structure of the cube to have 12 key figures for the 12 posting periods.
Another way is to write an ABAP Function Module to fetch the values from each record based on the posting period and store it in the cube for the corresponding characteristic. This way, you dont have to change the structure of the cube.
If this particular cube is not used anywhere else, I would suggest to change the structure itself.
Hope this helps.

Similar Messages

  • Load a Flat File into BW-BPS Using a Web Browser

    I experienced the same. The appendizes are missing. Can anybody provide the information, which properties have to be set for the bsp application to upload data from flat file to bw-bps?
    Does anybody know contact information of the author of the HowTo Marc Bernard ?

    Hello Friedrich, Everyone,
    the coding is included in a separate ZIP file that you can download from the how-to guide page here on SDN:
    Business Intelligence How-to Guides for SAP NetWeaver 2004
    There's a "Download attached system files (ZIP 13KB)" included at the end of the description. I think you can figure out the rest
    Regards,
    Marc
    SAP NetWeaver RIG

  • How to load a flat file into BW-BPS using Web Browser

    Hello, i have a problem with the "How to do Paper". I want to upload a Excel CSV file , but the paper only describes a txt file Uplaod. Does anybody can help me ?Thanks !

    You need to parse the line coming in from the flat file...
    You can do this with generic types in your flat file structure (string). 
    Then you loop through the table of strings that is your flat file and parse the string so that it breaks up the line for each comma.  There is an ABAP command called: SPLIT - syntax is as follows:
    SPLIT dobj AT sep INTO
          { {result1 result2 ...} | {TABLE result_tab} }
          [IN {BYTE|CHARACTER} MODE].
    Regards,
    Zane

  • How to Load a Flat File into BW-BPS Using a Web Browser

    Hello,
    I'm using the upload functionality described in the how to guide.
    When we want to have this functionality available for 12 different Planning levels. Do I have to create the Web Interface (as described in the how to guide) for each Planning Level separately, or can i pass a parameter in the URL (wenn calling the File Upload functionality) to determine which Planning level and Function it is.
    This pice of coding i want to have a bit more flexible
    *Execute planning function
    CALL FUNCTION 'API_SEMBPS_FUNCTION_EXECUTE'
            EXPORTING
              i_area     = 'ZIPM0001' " <<<< ADJUST
              i_plevel   = 'ZCAPB006' " <<<< ADJUST
              i_package  = '0-ADHOC'  " <<<< ADJUST
              i_function = 'ZEX00001' " <<<< ADJUST
              i_param    = 'Z0000001' " <<<< ADJUST
            IMPORTING
              e_subrc    = l_subrc
            TABLES
              etk_return = lt_bapiret.
    Does someone have an idea ?
    Thank you
    Dieter

    Hi Dieter,
    you should be able to grab the variable value by the following statement (e.g. in this case 'area' is being passed along, works for whatever you want to send) is:
    data: l_area type upc_y_area.
    l_area = request->get_form_field( 'area' ).
    in this case the calling URL looks like:
    <normal URL>?area=example_area
    example_area will then contain your value.
    Then depending on the value execute your different SEM functions
    Note that if you want to load different flatfile formats, more has to change in the functions as indicated in the white paper,
    Hope it helps,
    Regards,
    MArc
    I got it from the following document I found on SAPNet or SDN (forgot..) some time back:
    How To… Call a BPS Web Interface with Predefined Selections

  • Uregnt - How to Load Flat File into BW-BPS using Web Browser

    Hello,
    We have followed the 'How to Load Flat File into BW-BPS using Web Browser' guide to build BSP web front-end to upload flat file.  Everything works great but we have a requirement to populate the Planning Area Variables based on BSP drop down list with values.  Does anyone know how to do this?  We have the BSP coded with drop down list all we need to do now is populate variables.  We can populate the variables through the planning level (hardcoded) but we need to populate them through the web interface.
    Thanks,
    Gary

    Hello Gary,
    We have acheived the desired result by not too a clean method but it works for us.
    What we have done is, we have the link to load file in a page where the variables can be input. The user would then have the option to choose the link to load a file for the layout in that page.
    By entering the variable values in the page, we are able to read the variables for the file input directly in the load program.
    Maybe this approach might help.
    Sunil

  • Load Flat File into BW-BPS using a Web Browser....

    Hallo,
    I am trying to implement the titled How To with some modifications. I am trying to read the uploaded data in the extension class of the Web Interface. The details are as follows:
    <b><u>Modification 1)</u></b> - Instead of using the standard submit button for triggering the File upload process, I used custom <htmlb:fileUpload> component coding as follows
    <input type="file"
           class="urUpld1"
           id="htmlbfileUpload3b"
           ct="FileUpload"
           name="htmlbfileUpload3b"
           size="40"
           value="">
    <span style="padding-left:2px;vertical-align:bottom">
    <a href="javascript:void(0);"
       onclick="if(!sapUrMapi_Button_checkClick('htmlbfileUpload3b_upload',event)){
                 return true;};
    htmlbSubmitLib('htmlb',this,'htmlb:button:click:null::CL_HTMLB_FILEUPLOAD::x','htmlb_form_1','htmlbfileUpload3b_upload','HandleUpload',0);     return false" onkeypress="if(!sapUrMapi_Button_checkClick('htmlbfileUpload3b_upload',event)){
                return true;};
    htmlbSubmitLib('htmlb',this,'htmlb:button:click:null::CL_HTMLB_FILEUPLOAD::x','htmlb_form_1','htmlbfileUpload3b_upload','HandleUpload',0);
             return false"
         class="urBtnStd1 urV"
         id="htmlbfileUpload3b_upload"
         ct="Button"
         style="white-space:nowrap;">
    <span class="urBtnPadding">size=40</span></a></span>
    I am able to identify/capture the event "Upload" in my extension class (When the user presses upload the button after choosing a file)
    <b><u>Observation 1)</u></b> The Attribute Request of the extension class "mr_request" does not return a valid entity object from which I could query the data that was uploaded.
    In other words, the method
    get_multipart( 1 )
    which should return a valid Entity Object fails and the entity object remains unbound (
    num_multiparts( )
    return 0 ).
    <b><u>Question 1</u></b> Has anybody tried to implement the How To with such kind of modifications?
    <b><u>Question 2</u></b> If yes how was the approach?
    <b><u>Question 3</u></b> Returning to my approach, perhaps could anybody (Marc) suggest me how to read the data (<i>Please note that it should be done inside the extension class!

    Hi RPR,
    the how-to paper does not work with the new HTMLB design of BPS web interfaces. I have updated the how-to. It will be uploaded shortly.
    Regards,
    Marc
    SAP NetWeaver RIG

  • Problem in upload flat file into bw-bps using web browser

    Hi All,
    I have follwed the steps as per the how to guide to upload flat file,its seems to be fine but when try to upload by running the URL its giving error "Value of variable Data Slice Global ( ZFIE0ALL ) cannot be determined " and warning "Errors occurred when executing planning function TUPLOAD(EXIT FOR UPLOAD DATA)/T0000000(WEB UPLOAD".
    Since i am new to BW/BPS , also let me know, how test it , when i run file_upload URL directly its giving follwing error.
    SAP Note
         The following error text was processed in the system:
         An exception with the type CX_SY_REF_IS_INITIAL occurred, but was neither      handled locally, nor declared in a RAISING clause
    When i run page1 url and if i file_load url, then its prompt me to see upload function, path for flat file. But when enter path of flat file and press upload function button ts giving error "Value of variable Data Slice Global ( ZFIE0ALL ) cannot be determined " and warning "Errors occurred when executing planning function TUPLOAD(EXIT FOR UPLOAD DATA)/T0000000(WEB UPLOAD".
    FYI..i am using new design HTMLB option in how-to-doc.
    Please help me to resolve this. Thanks in advance.
    Also pls let me know can i debug this application?How ?
    Vishal
    Message was edited by:
            vishal kashyap
    Message was edited by:
            vishal kashyap

    Hi Vishal
    Can u guide me , by what condition the data is selected in XTH_data ( Hashed table ) before the data is written by flat file function module .
    Reply me ASAP ,
    Thanks
    Anup Singh

  • How to load flat file into BW BPS

    hi,
    how to load flat file into BW BPS ?

    Have a read through this;
    https://www.sdn.sap.com/irj/servlet/prt/portal/prtroot/com.sap.km.cm.docs/library/biw/g-i/how%20to%20load%20a%20flat%20file%20into%20bw-bps%20using%20a%20web%20browser.pdf

  • Trouble Loading a flat file into BPS using a Web Browser, Please help ?

    Hi Gurus,
    I'm in BW 3.5.
    I did everything and also followed the How to .. paper to upload a flat file into BPS tran cube via a Web browser.
    I created a Web Browser and generated a BSP application. When I run the BSP application I get the following error:
    "The generated data is not contained in the selection condition" UPC204
    The error message also says:
    "The error message can appear when you use a planning function to generate data that is outside the data range specified by the selection conditions of the planning package"
    When I save the variables that I select in the web interface they are getting saved in a table(UPC_VAR_CHA_ACT), but somehow the BSP application cannot look into those values, which I think is the cause of above issue.
    Please help.
    Venkat

    Hi,
    This type of error is quite common in BPS operations. This generally happens due to some missing values in the restriction of the planning levels and the packages.
    The error message is "The generated data is not contained in the selection condition" UPC204
    Check in the planning level and the package, all the restrictions that have been defined and verify whether the values which are getting uploaded through the flat file are present in the election condition of the level or in the package.
    Please award points if helpful.

  • How can I load a flat file into a ZTABLE dynamically

    I need to create a program which can Load a ZTABLE from a flat file structure (delimited and fixed options required).  We have many ZTables where this will be required so I was hoping to do it dynamically somehow.  Otherwise I will have to create one ABAP for every ZTable we have to load.
    My Inputs should be
    PARAMETERS:  p_ztable TYPE ddobjname,         "Z Table Name
                 p_infile(132) LOWER CASE,        "File Name
                 p_delim(1).                      "Delimiter
      I know that I can read the file by using gui_upload
        CALL FUNCTION 'GUI_UPLOAD'
        EXPORTING
          filename                = c_infile
          has_field_separator     = p_delim
        TABLES
          data_tab                = indata
        EXCEPTIONS
          file_open_error         = 1
          file_read_error         = 2
            OTHERS                  = 9.
    I know that  I can split the contents of this file (if a delimiter is used).  However I will not know the actual field names of the table until runtime as to what to fields to split it into.  In the example below I have the actual table (t_rec) and each of the fields (pernr, lgart, etc) in the code but each table I
    need to load will be different – it will have a different # of fields as well.
    FORM read_data_pc.
      LOOP AT indata.
        PERFORM splitdata USING indata.
        APPEND t_rec.
        CLEAR t_rec.
      ENDLOOP.
    ENDFORM.
    FORM splitdata USING p_infile.
       SPLIT p_infile AT p_delim INTO
            t_rec-pernr                 "Employee #
            t_rec-lgart                 "Wage Type
            t_rec-begda                 "Effective date
            t_rec-endda.                 "End date
      ENDFORM.                       
    Once I split the data into the fields then I can just look and insert the record.
    Does anyone have any ideas?  Specific code examples would be great if you do.  Thx!!

    Hi janice,,
    Try this sample code where you can upload data from a flat file into the internal table.
    REPORT  z_test.
    TABLES: mara.
    FIELD-SYMBOLS : <fs> .
    DATA : fldname(50) TYPE c.
    DATA : col TYPE i.
    DATA : cmp LIKE TABLE OF rstrucinfo WITH HEADER LINE.
    DATA: progname LIKE sy-repid,
    dynnum LIKE sy-dynnr.
    DATA itab TYPE TABLE OF alsmex_tabline WITH HEADER LINE.
    DATA: BEGIN OF ZUPLOAD1_T OCCURS 0 ,
             matnr like mara-matnr,
             ersda like mara-ersda,
             ernam like mara-ernam,
             laeda like mara-laeda,
          END OF ZUPLOAD1_T.
    *DATA: ZUPLOAD1_T LIKE mara OCCURS 0 WITH HEADER LINE.
    DATA: wa_data LIKE TABLE OF  ZUPLOAD1_T WITH HEADER LINE.
    selection-screen
    SELECTION-SCREEN: BEGIN OF BLOCK blk WITH FRAME TITLE text-001.SELECTION-SCREEN : SKIP 1. PARAMETERS : p_file LIKE rlgrap-filename.SELECTION-SCREEN : SKIP 1.SELECTION-SCREEN : END OF BLOCK blk
    . AT SELECTION-SCREEN ON VALUE-REQUEST FOR p_file.
    F4 Value for File
      CALL FUNCTION 'KD_GET_FILENAME_ON_F4'   EXPORTING
                          PROGRAM_NAME        = SYST-REPID
                          DYNPRO_NUMBER       = SYST-DYNNR
                          FIELD_NAME          = ' '
         static              = 'X'
                          MASK                = ' '
        CHANGING      file_name           = p_file   EXCEPTIONS     mask_too_long       = 1     OTHERS              = 2 
              .  IF sy-subrc <> 0.
    MESSAGE ID SY-MSGID TYPE SY-MSGTY NUMBER SY-MSGNO
            WITH SY-MSGV1 SY-MSGV2 SY-MSGV3 SY-MSGV4.
      ENDIF.
    START-OF-SELECTION.
    CALL FUNCTION 'ALSM_EXCEL_TO_INTERNAL_TABLE' 
    EXPORTING    filename                      = P_FILE   
    i_begin_col                   = 1   
    i_begin_row                   = 1   
    i_end_col                     = 5   
    i_end_row                     = 12507 
         tables   
       intern                        = ITAB
    EXCEPTIONS  
            INCONSISTENT_PARAMETERS       = 1  
            UPLOAD_OLE                    = 2  
           OTHERS                        = 3.          .
    IF sy-subrc <> 0.
    MESSAGE ID SY-MSGID TYPE SY-MSGTY NUMBER SY-MSGNO
            WITH SY-MSGV1 SY-MSGV2 SY-MSGV3 SY-MSGV4.
    ENDIF.
    CALL FUNCTION 'GET_COMPONENT_LIST' 
    EXPORTING  
        program          = SY-REPID   
        fieldname        = 'ZMARA' 
           tables   
           components       = CMP.
    LOOP AT itab.    AT NEW row.     
    IF sy-tabix = 1.        APPEND ZUPLOAD1_T.     
    ENDIF.   
    ENDAT.   
    col = itab-col.   
    READ TABLE cmp INDEX col.  
    CONCATENATE 'ZUPLOAD1_T-' cmp-compname INTO fldname.  
    ASSIGN (fldname) TO <fs>.  
    <fs> = itab-COL.  
      APPEND ZUPLOAD1_T.  ENDLOOP.
    DELETE ZUPLOAD1_T where matnr eq space.
    LOOP AT ZUPLOAD1_T INTO wa_data.
    insert mara from  wa_data .
        WRITE: / ZUPLOAD1_T-matnr, 20 ZUPLOAD1_T-ersda , 45 ZUPLOAD1_T-ernam, 55 ZUPLOAD1_T-laeda.
    *HERE IAM JUST CHECKING I NEED TO UPDATE A ZTABLE
      ENDLOOP.
    insert ZMARA FROM table itab ACCEPTING DUPLICATE KEYS.
    I have tried it for mara.Please let me know whether it was helful.
    Regards,
    Kannan

  • Parallel loading of flat files into BPC 7.0 NW - Help required

    Hi All
    Can I load multiple flat files in parallel into BPC using IMPORT process chain.
    If yes , How ?
    Regards
    AK

    Please import SAP Note [1507226|https://service.sap.com/sap/support/notes/1507226] titled "FileService should support running DM package simultaneously" which is contained in BPC 7.0 NW SP10 and BPC 7.5 NW SP05.
    Best regards,
    [Jeffrey Holdeman|http://wiki.sdn.sap.com/wiki/display/profile/Jeffrey+Holdeman]
    SAP Labs, LLC
    BusinessObjects Division
    Americas Applications Regional Implementation Group (RIG)

  • Data loading from flat file into bw

    Hi Experts,
    When we load data from flat file into BW the <b>sequence of fields in flat file</b> should be matched with the <b>transfer structure</b> or <b>communication structure</b>?
    wid thanX,
    arijit

    Arijit,
    The sequence of fields in a flat file must be the same as this one in the transfer structure.
    The comm and tran structures are the same after the first creation of datasource from flat file source system. After that someone could change the sequence in the CS -- if the mapping of fields in transfer rules remains unchanged, then the load is to be succesful.
    In case of changing the sequence in TS you'll get either error or wrong load (values to be loaded into some infobjects will go to another ones.)
    Best regards,
    Eugene

  • Performance concerns in upload flat file into SEM-BPS.

    Hi,
    we are using HOW-TO document to upload flatfile into SEM-BPS.
    in the same exit function, we have a need to derive missing characteristic values from reference data.
    So, we are reading reference data using API_SEMBPS_GETDATA.
    upload is taking around 10 minutes in test systems. our concern is, if taking so long for test systems with less data , what about production time with more data?
    from what all I can see is, most of the time is being consumed at reading reference data.
    I'm dealing around 14000 records of reference data & around the same number of uploaded records. Initially, system status is, "number of cells to be formed : 33092" and then immediately after 5 seconds, status changes to, "formed cells : 33000" and this status stays for like 8 minutes.
    I'm not using any input/output layouts but just exit planning function in the planning folder. So, I anticipate that above status is while reading reference data but not due to huge amounts of uploaded records.
    When I ran the same exit funciton by commenting just the "reading reference data" code, upload function execution time came out as 2 minutes.
    What is the best bet in dealing this scenario?
    Usually, what is the best approch to read reference data / to derive missing characteristic values?
    I couldn't able to use "Char Relationship using reference data" as it might not be suitable in my case. Even if suits, am missing enough documents/info/examples to deal "Char Relationship". Documentation on help.sap.com is not enough in this case.
    PS: initially, when I tried to read 14000 records at detailed level, exit funciton returned no reference data & in the debugging mode, I could see a message "too many records".
    Can a given layout read only a maximum of 9999 records / excel rows?
    records are at CALMONTH level. As I don't need CALMONTH for derivation of characteristic values, I have deleted CALMONTH from " READ reference data" level to avoid the above message. Does this anyway relates to peformance?
    Appreciate any help

    Hello Hari,
    it is touch to say what exactly causes this performance problem. Since you are dealing with custom coding (the how-to + your derivation logic), I suggest to do an ABAP trace (SE30) to see where the time is really spent.
    The API call to read data should not take more than a few seconds. Test it separately by putting the API call into a simple ABAP program.
    As Mary pointed out already, there's a 9999 line limit for layouts and therefore the GETDATA API as well.
    Note: The file upload/download how-to solution was never meant for mass data loads. This needs to be done using regular BW functionality.
    Regards
    Marc
    SAP NetWeaver RIG

  • Loading multiple .csv files into a table using SSIS

    Hi,
    I have a requirement where I have 200+ csv files to be loaded into Netezza table using SSIS.
    Issue I am facing is all columns have different number of columns, for ex, file 1 has columns A,B,C and file 2 has columns C,D,E. My target table has all columns from A to E in it. 
    But, when I am using for each loop container, only the file for which I have specified filepath+filename in loop variable, that is getting loaded. Rest all files, no data is getting loaded from them and package is executing successfully.
    Any help is appreciated.
    Regards,
    VT

    if you want to iterate through files then all files should be in same folder and you should use file enumerator type within ForEach loop. Then inside loop you might need a script task to generate the data flow on the fly based on the avialble input columns
    from the file and do the mapping in the destination. So I assume you put NULLs (or some default value) for missing columns from the file
    http://blog.quasarinc.com/ssis/best-solution-to-load-dynamically-change-csv-file-in-ssis-etl-package/
    Please Mark This As Answer if it helps to solve the issue Visakh ---------------------------- http://visakhm.blogspot.com/ https://www.facebook.com/VmBlogs

  • How to load a XML file into a table using PL/SQL

    Hi Guru,
    I have a requirement, that i have to create a procedure or a package in PL/SQL to load  XML file into a table.
    How we can achive this.

    ODI_NewUser wrote:
    Hi Guru,
    I have a requirement, that i have to create a procedure or a package in PL/SQL to load  XML file into a table.
    How we can achive this.
    Not a perfectly framed question. How do you want to load the XML file? Hoping you want to parse the xml file and load it into a table you can do this.
    This is the xml file
    karthick% cat emp_details.xml
    <?xml version="1.0"?>
    <ROWSET>
    <ROW>
      <EMPNO>7782</EMPNO>
      <ENAME>CLARK</ENAME>
      <JOB>MANAGER</JOB>
      <MGR>7839</MGR>
      <HIREDATE>09-JUN-1981</HIREDATE>
      <SAL>2450</SAL>
      <COM>0</COM>
      <DEPTNO>10</DEPTNO>
    </ROW>
    <ROW>
      <EMPNO>7839</EMPNO>
      <ENAME>KING</ENAME>
      <JOB>PRESIDENT</JOB>
      <HIREDATE>17-NOV-1981</HIREDATE>
      <SAL>5000</SAL>
      <COM>0</COM>
      <DEPTNO>10</DEPTNO>
    </ROW>
    </ROWSET>
    You can write a query like this.
    SQL> select *
      2    from xmltable
      3         (
      4            '/ROWSET/ROW'  passing xmltype
      5            (
      6                 bfilename('SDAARBORDIRLOG', 'emp_details.xml')
      7               , nls_charset_id('AL32UTF8')
      8            )
      9            columns empno    number      path 'EMPNO'
    10                  , ename    varchar2(6) path 'ENAME'
    11                  , job      varchar2(9) path 'JOB'
    12                  , mgr      number      path 'MGR'
    13                  , hiredate varchar2(20)path 'HIREDATE'
    14                  , sal      number      path 'SAL'
    15                  , com      number      path 'COM'
    16                  , deptno   number      path 'DEPTNO'
    17         );
         EMPNO ENAME  JOB              MGR HIREDATE                    SAL        COM     DEPTNO
          7782 CLARK  MANAGER         7839 09-JUN-1981                2450          0         10
          7839 KING   PRESIDENT            17-NOV-1981                5000          0         10
    SQL>

Maybe you are looking for