Modifying the record in the extractor.

Hi gurus,
i am a BW developer. i have one requirement, i have to enhance some fields from table MSEG to my generic extractor.
In my extractor structure, Material, Plant and Order number is the key fields. i am selecting some fields from MSEG table into internal tables and doing some calculation on that fields and finally i have to enhance those records into my extractor.
material, plant and ordernumber are the key fields. in my internal table i have 2 records and in my extractor i have only one record for particular combination of keys.
example:
in my internal table:
material plant odernumber quantity week
0980009 1800 2000125    500   200702
0980009 1800 2000125    453   200704
in my extractor:
( quantity and week are the enhanced fields)
material plant ordernumber quantity week
0980009 1800 2000125   
in my code: while enhancing the fields to extractor, i have modifying the existing record.  so that i am getting only the second record in my extractor.
like 0980009 1800 2000125 453 200704
and i cannot append the record into my extractor, because for example for this combination of key if have 100 records in my extractor it is adding all the 100 records instead of one record.
Can any one suggest me how can enhance these records into my extractor.
Any help is greatly appriciatable. Thanks in advance.

This question has been answered

Similar Messages

  • End Routine - Modify a record in the cube

    Hello Guys,
    In the end routine I have to update a field . The transformation is the same cube to the cube. I want the record to be modified like add a value to a field in the end routine. Since it is a cube it creates a new record instead of overwriting the existing record. Is there anyway I can modify the record. I know I can make the existing record 0.00 and then create a new record with the new value.Is there any other solution.
    For example:This is the existing record in the cube
    sales order           Item No                      Backlog Amount                      Indicator
    1000                     10                              1000.00
    After applying the end routine it has 2 records ( I modify the record with the indicator value)
    sales order           Item No                      Backlog Amount                      Indicator
    1000                     10                              1000.00                                  
    1000                     10                              1000.00                                    REV
    After applying the end routine I need the record to be like overwrite(similar to DSO)
    sales order           Item No                      Backlog Amount                      Indicator
    1000                     10                              1000.00                                   REV
    How to achieve the above result in end routine.
    Thanks
    Senthil

    Hi there,
    Since you create new records in end routine in the InfoCube, why not delete the old ones?
    You can use the
    delete RESULT_PACKAGE where ...
    Therefore deleting the old records after inserting the new ones.
    Diogo.

  • How to get the records of the particluar day when delta laod failed (Urgent

    Hello  BW Gurus,
    We are  facing one serious issue. Here is the scenario.
    1st time the Delta was init and for next consective two  loads delta ran sucessfully... then next time delta got failed and the status is in red..... even though system started next delta loading and it has fetched the records and status is in green but not activated ,,,,,its happening  still past one month so almost there are 20 requests which are to be get activatetd.
    How to resolve this issue.
    <b>And how to get the records of the partilcular day when the delta got failed.
    </b>
    Anyone have come across with this strange issue then help me out and i will rewarrd the points.
    Urs,
    Raki.

    Hi
    Can you provide more details about your extractor and data targets.
    Are you loading delta to an ODS ??
    If you are loading to an ODS, The only solution i can see is to get the missing delta records via FULL UPDATE. Because if you delete the error request from ODS it will also delete the 20 successful requests above it.
    Cheers
    Praveen
    null

  • Error while saving the records in the database

    Hi,
    I am running into a wierd error.
    I have built a new page which contains the information about the employees. Some of the fields are updatable fields. The page shows the details of the person who logs into the page.
    I am not using EO in this page. The data is queried from the database from VO and displayed in the page and when the records are updated, they are saved in the databased using pl/sql procedure which is
    being called from AM. So i am basically not using VO to save the records in the database.
    The error which i am getting is,
    If 2 users are trying to update the page at the same time, user A's details are updated in user B's page.
    This is really causing the issue. Any help is greatly appreciated.
    Thanks in advance.
    PK

    I have posted the code used along with the dialog page. Please review.
    public void processFormRequest(OAPageContext pageContext, OAWebBean webBean)
    super.processFormRequest(pageContext, webBean);
    if(pageContext.isLoggingEnabled(OAFwkConstants.STATEMENT))
    pageContext.writeDiagnostics(this,"Pavan, Start1",OAFwkConstants.STATEMENT);
    if (pageContext.getParameter("XYZBack")!=null)
    pageContext.setForwardURL("OA.jsp?OAFunc=OAHOMEPAGE"// OAWebBeanConstants.RETURN_TO_MENU_URL also tryed this , same error
    ,null
    ,OAWebBeanConstants.KEEP_MENU_CONTEXT
    ,null //not needed as we are retaining menu context
    ,null // no parameters are needed,true //retain AM,OAWebBeanConstants.ADD_BREAD_CRUMB_YES
    ,true
    ,null
    ,OAWebBeanConstants.IGNORE_MESSAGES);
    if(pageContext.getParameter("XYZUpdate") !=null)//The fields and their values are loaded as soon as the update button is clicked. We do this before calling the oadialog page so that the values are not lost
    OAViewObject EmpDetailsVO3 = (OAViewObject)OAAppl.findViewObject("XYZPersInfoVO");
    OARow EmpDetailsRow3 = (OARow)EmpDetailsVO3.first(); //Bringing the control over to the first row which is nothing but the displayed row.
    if(EmpDetailsRow3 !=null)
    s_workphone = EmpDetailsRow3.getAttribute("WorkPhone").toString();
    if(pageContext.isLoggingEnabled(OAFwkConstants.STATEMENT))
    pageContext.writeDiagnostics(this,"workphone is: "+s_workphone,OAFwkConstants.STATEMENT);
    s_fax = EmpDetailsRow3.getAttribute("WorkFax").toString();
    if(pageContext.isLoggingEnabled(OAFwkConstants.STATEMENT))
    pageContext.writeDiagnostics(this,"Fax is: "+s_fax,OAFwkConstants.STATEMENT);
    s_building = EmpDetailsRow3.getAttribute("Building").toString();
    if(pageContext.isLoggingEnabled(OAFwkConstants.STATEMENT))
    pageContext.writeDiagnostics(this,"Building is: "+s_building,OAFwkConstants.STATEMENT);
    s_room = EmpDetailsRow3.getAttribute("Room").toString();
    if(pageContext.isLoggingEnabled(OAFwkConstants.STATEMENT))
    pageContext.writeDiagnostics(this,"Room is: "+s_room,OAFwkConstants.STATEMENT);
    s_box = EmpDetailsRow3.getAttribute("Box").toString();
    if(pageContext.isLoggingEnabled(OAFwkConstants.STATEMENT))
    pageContext.writeDiagnostics(this,"Box is: "+s_box,OAFwkConstants.STATEMENT);
    s_preferedname = EmpDetailsRow3.getAttribute("KnownAs").toString();
    if(pageContext.isLoggingEnabled(OAFwkConstants.STATEMENT))
    pageContext.writeDiagnostics(this,"Preferred name is: "+s_preferedname,OAFwkConstants.STATEMENT);
    OAException OAExcep1 = new OAException("PER","XYZ_UPDATE_DETAILS");
    OAException OAExcep2 = new OAException("PER","XYZ_UPDATE_MESSAGE");
    OADialogPage OADialogPG1 = new OADialogPage(OAException.WARNING,OAExcep1,OAExcep2,
    OADialogPG1.setOkButtonToPost(true);
    OADialogPG1.setNoButtonToPost(true);
    OADialogPG1.setOkButtonLabel("Yes");
    OADialogPG1.setNoButtonLabel("No");
    OADialogPG1.setOkButtonItemName("DoOk");
    OADialogPG1.setNoButtonItemName("DoNo");
    OADialogPG1.setPostToCallingPage(true);
    pageContext.releaseRootApplicationModule();
    pageContext.redirectToDialogPage(OADialogPG1);
    else if(pageContext.getParameter("DoOk") != null)
    OAApplicationModule EmpDetailsAM = pageContext.getApplicationModule(webBean);
    Class[] paramtypes = {String.class, String.class, String.class, String.class,String.class,String.class,String.class};
    Serializable[] params = {s_personid,s_workphone,s_fax,s_building,s_room,s_box,s_preferedname};
    if(pageContext.isLoggingEnabled(OAFwkConstants.STATEMENT))
    pageContext.writeDiagnostics(this,"personid is :"+s_personid,OAFwkConstants.STATEMENT);
    if(pageContext.isLoggingEnabled(OAFwkConstants.STATEMENT))
    pageContext.writeDiagnostics(this,"workphone is :"+s_workphone,OAFwkConstants.STATEMENT);
    if(pageContext.isLoggingEnabled(OAFwkConstants.STATEMENT))
    pageContext.writeDiagnostics(this,"workfax is :"+s_fax,OAFwkConstants.STATEMENT);
    if(pageContext.isLoggingEnabled(OAFwkConstants.STATEMENT))
    pageContext.writeDiagnostics(this,"building is :"+s_building,OAFwkConstants.STATEMENT);
    if(pageContext.isLoggingEnabled(OAFwkConstants.STATEMENT))
    pageContext.writeDiagnostics(this,"room is :"+s_room,OAFwkConstants.STATEMENT);
    if(pageContext.isLoggingEnabled(OAFwkConstants.STATEMENT))
    pageContext.writeDiagnostics(this,"preferredname is :"+s_preferedname,OAFwkConstants.STATEMENT);
    pageContext.releaseRootApplicationModule();
    OAAppl.invokeMethod("TransactionCommit",params,paramtypes);
    OAAppl.invokeMethod("initDetails");
    throw new OAException("The Building and Phone Information have been saved successfully"
    ,OAException.INFORMATION);
    thank you

  • How to filter the records in the process of loading data into ODS

    Hi All,
    I am doing some data extraction from R/3 system. But I need to ignore(don't need to load) the records with a date field (Purchase Order date) that is blank.
    So how can I filter out the records with the blank date field?
    Some one suggested me to write some select statement (looping the data packages) in the start routine but I am not that experianced with the ABAP routines. So can anyone provide some sample format of the routine or can you suggest me some other way to  filter out this data.

    Ram Kumar,
    I used this in the start routine but it gives me an error saying ...
    No component exists with the name "TRAN_STRUCTURE-BEDAT"
    <b>delete datapak where TRAN_STRUCTURE-BEDAT = '' OR
                         TRAN_STRUCTURE-BADAT = '' OR
                         TRAN_STRUCTURE-ERDAT = '' OR
                         TRAN_STRUCTURE-FRGDT = '' OR
                         TRAN_STRUCTURE-UDATE = ''.</b>
    I have taken out the TRAN_STRUCTURE part and just typed
    delete datapak where BEDAT = '' OR
                         BADAT = '' OR
                         ERDAT = '' OR
                         FRGDT = '' OR
                         UDATE = ''.
    This above statement has no syntax errors. but this statement doesn't filter out the records with a the date fields that are blank.
    Please help me out here.
    This is kind of urgent.
    Thanks,

  • Trying to retrieve all the records from the file on desktop

    HI All
    I have one particular problem. I was given a text file which as 7000 records with length 512 each in a continues string. I Changed begining of each record with comma  in that text and saved it in .csv , when I try to upload the file into my program's internal table.
    It is still giving one record. I used
    itab_EXTRACT1 declared as
    DATA: begin of itab_extract OCCURS 0,
            extract1(512) type c,
          end of itab_extract.
    call method cl_gui_frontend_services => gui_upload
        exporting
          filename                = Xfile
        filetype                    = 'ASC'
         has_field_separator     = 'X'
        changing
          data_tab                = itab_EXTRACT1
      exceptions
        others                  = 17.
      Is there a way how to retrieve all the records into the internal table.
    Thanks
    Ravi

    Hi Ravi,
    I don't know if this is the correct solution, but I think it will work.
    Declare your internal table (itab_extract) with the maximum length which your file will occupy.
    Create another internal table (itab) with field (text) length 512.
    Populate the internal table itab_extract using GUI_UPLOAD.
    Then write this code
    l_index = 1.
    itab-text = itab_extract-extract1+0(512).
    append itab.
    do.
    n = ( l_index * 512 ) + 1.
    itab-text = itab_extract-extract1+n(512).
    append itab.
    if ( itab-text is initial ).
    exit.
    endif.
    enddo.
    Let me know if I miss anything.

  • Keep the record in the view object if deletion failed.

    I have a view object which is based on the entity object, when I am trying to delete a row it failed because it has a child record associate with. I know the row is not delete from the database, but the record is deleted fromt the view.
    How to keep the record in the View object if delete failed?

    Hi,
    the row is not delete from the database,refresh the view . re-execute query and the view show the row

  • Scan through the records in the Form and display the message!

    Hello Everyone,
    We have a requirement, I do not know how to achieve it.
    In a Forms 6i, 2 fields Type, Comment.
    Type is a list of Values (1,2,3)
    Comment - Free Text Field.
    User can enter as much rows of data, but while user saves the data we have to validate that all the records of Same Type(Say 1). If not we have to display a Message.
    So how to achieve this? How to scan through the records in the Form. Any comments on it would be great.
    Thanks.

    User can enter as much rows of data, but while user saves the data we have to validate that all the records of Same Type(Say 1). If not we have to display a Message.I am assuming that you want to check from the first record. Suppose in first record the user coosed 1 and you will check for all the entries for 1.
    Couple of ways to do this.
    1. While user is entering first record. You can keep that selected type value in GLOBAL variable and while he is entering further records you can match type with that global variable. If it is not matching then you can display message.
    2. On KEY-COMMIT trigger you can start loop from first record and can check for all the records one by one. Like.
    DECLARE
      vVal DATATYPE;
    BEGIN
      GO_BLOCK('BLOCK_NAME');
      FIRST_RECORD;
      vVal:=:FORM_TYPE_FIELD;
      LOOP
        IF vVal!=:FORM_TYPE_FIELD THEN
          MESSAGE(..);
          EXIT;
        END IF;
        EXIT WHEN :SYSTEM.LAST_RECORD='TRUE';
        NEXT_RECORD;
      END LOOP;
    END;I would go for earlier approach and will use WHEN-VALIDATE-ITEM / PRE-INSERT for type field for this purpose. Because in KEY-COMMIT the system is doing same thing again.
    -Ammad
    Edited by: Ammad Ahmed on May 15, 2010 12:23 AM
    changes not equal sign to !=

  • Reports / intranet/ In some detail,  the user will input a date range from and 2 and will out put the records in the int

    Hello there,
    I am totally green in web development.
    my goal is to, for the user will input a date range from and
    to and will out put the records in the intranet when they press a
    button.
    However, the good news is: I have experience in programming.
    I have written applications for desktop in VB>NET and I
    understand RDBMS /sql concepts .
    But CF and WEB development is new to me.
    My current projects involves in connecting to DB and testing
    it. (it works fine)
    And outputting reports by to a intranet page. (records)
    i need help on how to start this asap. I will even do some
    practice at home.
    Tools I have at work
    • Development server(test)
    • Home site.
    • Toad for db connection.
    • Html reference guide
    • Cf dummies book.
    How can start my projects.
    (ex. Create cf, outputpage?)
    seriously, I am new to this.
    Thanks.

    Well, I had a really nice response with some concepts and
    ideas for you to practise on etc, but these dumb forums timed out
    and I lost it all
    If you want to pop me an email we could probably do a few
    exercises together that way - or even by MSN Messenger if you want.

  • Why is the recording on the cd not playable in itunes?

    I inserted a cd with a recording. the recording with the ending .WAV is not playable.
    can anyone help?
    I appreciate your response

    I get the same problem. I moved the backup files (B1) to another drive and then itunes generated new backup files (B2) for my iPhone. They seem to be of similar size. Due to my running out of space on my system drive, I've linked the backup folder to another drive. This is where I moved my original backups (B1). After I did that, the iPhone seems to sync but once again, the date of the backup did not change. I have no idea what the issue is. I'll save both B1 and B2.
    To be sure you've got an up to date backup, I recommend changing the name of the original backup folder to backup2 and then forcing itunes to make a new backup from scratch.
    On a windows machine, the backup folder is found at:
    C:\Users\(Username)\AppData\Roaming\Apple Computer\MobileSync\Backup

  • How can I numbered the records in the report

    Hi, can anyone please show me how do I number the records in the reports in the Report Builder?
    Thank you.

    Hi,
    Follow the following steps:
    1. Create a summary column in the data model of the report.
    2. Select the function as Count.
    3. Select the source for which you want to generate the serial no.
    4.Reset the column at Report level.
    5. Now create a field in the paper layout of the report and select this summary column as the source. The field should be in the same repeating frame as its source.
    This will generate the nos. as reqd.
    Swati

  • BAPI containing the recording of the Tcode XK01

    Hi,
    We need to create a BAPI containing the recording of the transaction XK01 with all mandatory and required parameters being passed to the code via import parameters and tables. Could anyone please help me out in developing this...
    Regards,
    Ramesh.

    Hi Ramesh,
    Use BAPI_VENDOR_CREATE.
    Also refer the programs RFBIKR00 and RFBIDE00.
    Check this links too.
    http://help.sap.com/saphelp_47x200/helpdata/EN/01/a9b53e455711d182b40000e829fbfe/frameset.htm
    Regards,
    Susmitha
    Dont forget to reward for useful answers

  • How to delete the record in the file present in the application server?

    Hi,
      I have two questions.
      i) How can I delete a record based on some condition in the recordx in the file that is present in the application server?
      ii) How can I lock the users whiel one user is accessing the file on the application server?
    Thanks in advance.
    Suvan

    Hi,
    If u want a frequent deletion this approach to delete a record from a file will havee unnecesary copy of records from one file to another and deletion of one file and renaming activities.
    Instead what u can do is Add and field del_flag to ur record structure.
    If u want to delete the record from a file just mark this del_flag as 'X'.
    While processing u can have a loop like
    loop at it_XXX where del_flag <> 'X'.
    endloop.
    This will logically delete the record.
    When u r to finish the application at that time only perform this copying / deleting / and renaing activity
    Hope this helps.
    Cheers,
    Nitin

  • How to run report to show all the records in the form view of Siebel 8.1.1

    Hi.
    My template has "for-each" section and there are more than 1 records in the form view. But when generating report, there is only one record in the report. Can anyone offers help? Thanks a lot.
    Edited by: user11948585 on 2009-11-18 下午6:08

    Hi ,
    Could you generate a sample XML from BIP Administrator for the IO on which report is based , and apply it to RTF and see if you are getting the desired values.
    Thanks!!

  • LSMW me51n, how to create one PR document for all the records in the  file

    HI all,
    I need to create LSMW for t-code me51n -Create Purchase Requisition. I`m using Bapi BUS2105, method CREATEFROMDATA, idoc message type PREQCR, basic type PREQCR03. The problem is that the LSMW is creating different idoc and different PR document for every record in the source file. My requirement is to create one PR document for one source file (Every source file is different Purchase Requisition) . I`m trying to do this with writing some code(global functions ) in the 'Mapping and conversion rules'  events - BEGINOF_TRANSACTION_, ENDOF_TRANSACTION__..., but i`m not very sure what exactly i`m doing .
    Please help me resolve this problem, any help will be appreciated .
    Best regards, Emil Milchev.

    Thank you for you answer.
    But I have found faster way of doing it - two source structures, one HEADER and ONE ITEM.
    HEADER: one empty text field and identificator for it.
    ITEM: everything else.
    Then everything was just fine, i`ve mapped the different IDOC segments by PREQ_ITEM fields (equal values in the source file : 10-10-10..., 20-20-20,.... etc.) and put all required fields for my LSMW
    SOURCE FIELDS:
    Z_ME51N_V2 - MASS_UPLOAD - CREATE create
    Source Fields
    UPFILE                    upload file
                IDENT                          C(010)    ident
                                               Identifing Field Content: header
                TEXT                           C(001)
                UPFILE2                   123
                    IDENT                          C(010)    ident
                                                   Identifing Field Content: item
                    BSART                          C(004)    Document type
                    BANFN                          C(010)    Purchase requisition number
                    BNFPO_FOR_MAP                  N(005)    Item number of purchase req. for MAPPING acc.
                    BNFPO                          N(005)    Item number of purchase requisition
                    KNTTP                          C(001)    Account assignment category
                    PSTYP                          C(001)    Item category in purchasing document
                    MATNR                          C(018)    Material Number
                    WERKS                          C(004)    Plant
                    LGORT                          C(004)    Storage Location
                    MENGE                          N(013)    Purchase requisition quantity
                    EKGRP                          C(003)    Purchasing group
                    KONNR                          C(010)    Number of principal purchase agreement
                    KTPNR                          N(005)    Item number of principal purchase agreement
                    LIFNR                          C(010)    Desired Vendor
                    FLIEF                          C(010)    Fixed Vendor
                    AFNAM                          C(012)    Name of requisitioner/requester
                    PREIS                          AMT4(011) Price in purchase requisition
                    ABLAD                          C(025)    Unloading Point
                    WEMPF                          C(012)    Goods Recipient
                    PS_POSID                       C(024)    Work Breakdown Structure Element (WBS Element)
                    KOSTL                          C(011)    COST_CTR v bapito ?
                    NAME1                          C(040)    Name1 - Name of an address
                    NAME2                          C(040)    Name2 - Name of an address 2
                    STREET                         C(060)    Street
                    DELIVERY_DATE                  C(008)    Date on which the goods are to be delivered
                    TEXT                           C(132)    item text
    STRUCTURE RELATIONS :
    Structure Relations
    E1PREQCR              Header segment                                               <<<< UPFILE  upload file
               E1BPEBANC             Transfer Structure: Create Requisition Item                  <<<< UPFILE2 123
               E1BPEBKN              Transfer Structure: Create/Display Requisition Acct Assgt    <<<< UPFILE2 123
               E1BPEBANTX            BAPI Purchase Requisition: Item Text                         <<<< UPFILE2 123
               E1BPESUHC             Communication Structure: Limits                              <<<< UPFILE2 123
               E1BPESUCC             Communication Structure: Contract Limits                     <<<< UPFILE2 123
               E1BPESLLC             Communication Structure: Create Service Line                 <<<< UPFILE2 123
               E1BPESKLC             Create Comm. Structure: Acct Assgt Distr. for Service Line   <<<< UPFILE2 123
               E1BPESLLTX            BAPI Services Long Text                                      <<<< UPFILE  upload file
               E1BPMERQADDRDELIVERY  PO Item: Address Structure BAPIADDR1 for Inbound Delivery    <<<< UPFILE2 123
                   E1BPMERQADDRDELIVERY1 PO Item: Address Structure BAPIADDR1 for Inbound Delivery    <<<< UPFILE2 123
               E1BPPAREX             Ref. Structure for BAPI Parameter EXTENSIONIN/EXTENSIONOUT   <<<< UPFILE2 123
    MAINTAIN FIELD MAPPING AND... :
    the MAPPING between two IDOC`s segments:
    In first segment:
    E1BPEBANC                      Transfer Structure: Create Requisition Item
             Fields
                 PREQ_NO                      Purchase requisition number
                                     Source:  UPFILE2-BANFN (Purchase requisition number)
                                     Rule :   Transfer (MOVE)
                                     Code:    E1BPEBANC-PREQ_NO = UPFILE2-BANFN.
                 PREQ_ITEM                    Item number of purchase requisition
                                     Source:  UPFILE2-BNFPO (Item number of purchase requisition)
                                     Rule :   Transfer (MOVE)
                                     Code:    E1BPEBANC-PREQ_ITEM = UPFILE2-BNFPO.
    In second segment :
    E1BPEBKN                       Transfer Structure: Create/Display Requisition Acct Assgt
               Fields
                   PREQ_NO                      Purchase requisition number
                   PREQ_ITEM                    Item number of purchase requisition
                                       Source:  UPFILE2-BNFPO_FOR_MAP (Item number of purchase req. for MAPPING
                                       Rule :   Transfer (MOVE)
                                       Code:    E1BPEBKN-PREQ_ITEM = UPFILE2-BNFPO_FOR_MAP.
    After that everything was OK .

Maybe you are looking for