ABR delta extractor and entries written to the delta queue

Hello Everyone,
We have an ABR extractor and it's behaving like this:
For example fields: PM Order Number, Post Goods Issue Date, Start Date, Work Qty, Projected Qty
Create the PM order the entry is written perfect to the delta queue:
10019987, blank, 04/29/2009, 100 PC, 90 PC
Now, if we perform a confirmation on the PM order we see the following:
10019987, 04/29/2009, blank, 0 PC, 90 PC
Now if we change something on the PM order header we see the following:
10019987, blank, blank, 100 PC, 0 PC
When this comes over to BW we don't get good results in our ODS.
Basically we don't get our Post Goods Issue date and Work Qty gets blanked out.  Basically, the last change to the order gets written to the ODS and isn't correct.
Shouldn't it do the following:
10019987, blank, 100 PC, 90 PC
10019987, 04/29/2009, 100 PC, 90 PC
10019987, 04/29/2009, 100 PC, 90 PC
10019987, 04/29/2009, 04/29/2009, 100 PC, 90 PC------this gets sent as last record with all fields updated.  We choose all these fields in the extract structure.
Thanks

Hello Martin,
Below is a snapshot of the delta queue (you can see the Cancel).  Question:  How do you control what record is updated and what others are not?  We thought the cancel won't update and the others will in order they were updated to the delta queue (and that appears how it's behaving):
Scenerio #1 (sorry, can't remember sequence of steps done in system, but thought I'd mention)
Cancel, Order Number, Release Date, Posting Date, Material, Plan Qty, Confirmed Qty
blank, 10019987, 04/29/2009, blank,       , 4415, 100, 0
blank, 10019987, 04/29/2009, 04/30/2009, 4415, 0,    100
blank, 10019987, 04/29/2009, blank,         4415, 100, 100
X,       10019987, 04/29/2009, blank,         4415, 100, 100
Scenerio #2
cancel, order, release date, posting date, material, plan qty, confirm qty
blank, 100019989, 04/29/2009, blank, 4415, 50, 0
then we perform a confirmation for 50 pieces and this is how the delta queue looks like
cancel, order, release date, posting date, material, plan qty, confirm qty
blank, 100019989, 04/29/2009, blank, 4415, 50, 0
blank, 100019989, 04/29/2009, 04/30/2009, 4415, 0, 50 <----
second line
Notice the second line now has plan qty at 0 and confirm at 50.  Plan should always show 50 (or whatever the plan amount is.  Something doesn't seem correct here??
Now, if we change something on the order header, we get the correct plan qty of 50 (and confirmed still 50), but then the posting date is blank.  So when this comes over to BW we get correct plan and confirmed qty, but posting date is blank.  This really makes no sense because if you have confirmed qty populated with a quantity then you have a posting date.
Thanks!

Similar Messages

  • Creation of a generic extractor and data source for the FAGLFLEXA table

    Hi All,
    Need to create a generic extractor and data source for the FAGLFLEXA table to support AR reporting. This table contains the necessary profit center information to perform LOB reporting against the AR data.
    Please advice on how to do this.
    Regards, Vishal

    Hi Vishal,
    Its seems a simple a work out.
    1.Go to RSO2 & choose the relevant option ie. whether you want to create Transactional DS, Master Data DS or Text DS.
    2. Name it accordingly & then create.
    3. Give description to it & then give table name FAGLFLEXA.
    4. Save it & activate. If you need it to be delta enabled then click over Delta & you can choose accordingly.
    If you still face some problem then do mail me at [email protected]
    Assign points if helpful
    Regards,
    Himanshu

  • Can i have sync and async listeners for the same queue ?

    Hello,
    I am a novice in JMS. Wondering experts over here could throw in some light !
    Can I set both synchronous and asynchronous listeners for a perticular queue.
    eg: pseudo code.
    status; // default to start
    run()
    setListener(Q1); // listener sets status to stop
    while(1)
    waitForUserPrompt(value1);
    switch(value1)
    a: fun1();
    break;
    b: fun2();
    break;
    fun1()
    while(status != stop)
    stay in loop.
    fun2()
    // synchronously wait for "stop"
    receive(Q1);
    // wait and do following important code!
    }

    Hi,
    I don't know in Chrome, but in Safari (pc or mac) you can open icloud.com twice on two different tab or windows and open one with contact and the other in Mail without messing up.  What kind of mess to do you experience?
    There is no other options to do what you want to do.  You need to click on the little top cloud to switch from one to another.
    Beside, I don't understand why even 2 open tab would help more than having to switch via the cloud icon.  I may need to cut/paste some info from contact or calendar from time to time, but switch via the cloud icon is not really painfull.

  • Firefox and SeaMonkey do not show any webpage backgrounds and hot buttons don't have borders and entry windows like the one I'm typing in don't have borders. The only reason I can type here is I saw a cursor in this big blank area.

    Firefox 3.6.16 and SeaMonkey 2.0.13 yesterday stopped displaying webpage background color. Everything is white. This text box has such a faint grey line around it that I didn't know it was there.
    Every webpage I look at has the same issue.
    Bing works correctly.
    IE got corrupted a month ago and I've stopped using it.
    My Windows 7 programs, Outlook, Word, Excel changed their color settings and some icons, Print & Paste, on the toolbars are larger like 1995 quality.

    You can check these possibilities:
    * http://kb.mozillazine.org/Website_colors_are_wrong
    * http://kb.mozillazine.org/Websites_look_wrong
    Clear the cache and the cookies from sites that cause problems.
    * "Clear the Cache": Tools > Options > Advanced > Network > Offline Storage (Cache): "Clear Now"
    * "Remove the Cookies" from sites causing problems: Tools > Options > Privacy > Cookies: "Show Cookies"
    Start Firefox in <u>[[Safe Mode]]</u> to check if one of the extensions is causing the problem (switch to the DEFAULT theme: Firefox (Tools) > Add-ons > Appearance/Themes).
    * Don't make any changes on the Safe mode start window.
    * https://support.mozilla.com/kb/Safe+Mode

  • Support Package and Delta/Extractor functionality

    Hello Experts,
    We have been testing the New GL Totals Delta and Extractor functionalities. Previously when Support Packege 13 was installed, the Delta was bringing incorrect results.
    Now we are using Support Pack 15. Now if i post documents in ecc and upload to bi, the Delta is working properly and values match in ecc and bi.
    Could you please suggest if there have been any changes or upgradations in the New GL Totals Delta/Extractor functionality between Support Packages 13 and 15.
    Thanks and Regards,
    Labanya.

    Hi,
    Its always better to drain the delta queues before an upgrade.
    As a standard practice we drain the delta queues by running the IP/ chain multiple times.
    As a prerequiste we cancel/reschedule the V3 jobs to a future date during this activity.
    The V3 extraction delta queues must be emptied prior to the upgrade to avoid any possible data loss.
    V3 collector jobs should be suspended for the duration of the upgrade.
    They can be rescheduled after re-activation of the source systems upon completion of the upgrade.
    See SAP Notes 506694 and 658992 for more details.
    Page 17
    Load and Empty all Data mart Delta Queues in SAP BW. (e.g. for all export DataSources)
    The SAP BW Service SAPI, which is used for internal and ‘BW to BW’ data mart extraction, is
    upgraded during the SAP BW upgrade. Therefore, the delta queues must be emptied prior to the
    upgrade to avoid any possibility of data loss.
    upgrade preparation and postupgrade checklist
    https://www.sdn.sap.com/irj/sdn/go/portal/prtroot/docs/library/uuid/472443f2-0c01-0010-20ab-fbd380d45881
    /message/3221895#3221895 [original link is broken]
    OSS notes 328181 and 762951 as a prerequisites.
    Failure to follow the instructions in those notes may probably result in data loss.
    https://websmp207.sap-ag.de/~form/sapnet?_FRAME=CONTAINER&_OBJECT=011000358700002662832005E
    /thread/804820 [original link is broken]
    thanks,
    JituK

  • Doc. for using 'Simulate the Initialization of the Delta Pro'

    Hello!
    I am trying to find documentation on using the 'Simulate the Initialization of the Delta Procedure' in the SBIW of the SAP R/3 system 3.1i. 
    If anyone can provide the documentation or a link to the correct source, I woul appreciate it greatly. 
    Thank you,
    Sharon Bomberger
    [email protected]

    Hello Sharon,
    jere is the documentation:
    Delta process initialization simulation
    Use
    If the delta process has not yet been initialized, but you want to test the delta upload, you have the option of simulating the initialization.
    This runs the help entries in all the required tables in BW and in the source system, without loading any data from the source system.
    In the monitor, you get a message telling you that a record has been loaded. The initialization-simulation request appears in all the data targets in which an update has taken place. However, this request contains only help entries. The simulation does not update any data in the data targets.
    Dependencies
    After you have tested the delta upload in this way, initialize the delta process.
    Note
    You are able to simulate the initialization of the delta process for extractors available as of PlugIn 99 (A), that is, BW-BCT 2.0.
    Kind reg.
    Michael

  • ALV report editable to enter text and print with including the text?

    Hi all,
    I have to display output of a  report in ALV format and i have to make two fileds can be editable to enter texts by user  and able to print the list with that texts .
    Is it possible using standard Function modules or I have to go for OO methods? Please give the sample code ?
    Thanks,
    Vamshi
    Edited by: VAMSHI KRISHNA on Oct 31, 2008 4:25 PM

    Hi Vamshi,
    Check out the Below sample code for the editable ALV.
    *& Report  Z7CC_OOPS_ALV_EDITABLE
    report  z7cc_oops_alv_editable.
    tables sflight.
    data: begin of gt_outtab occurs 0.     "with header line
            include structure sflight.
    data: celltab type lvc_t_styl.
    data: end of gt_outtab.
    data: gt_fieldcat type lvc_t_fcat.
    data: g_carrid like sflight-carrid,
          g_connid like sflight-connid.
    data: gs_spfli type spfli.                                  "#EC NEEDED
    data: g_custom_container type ref to cl_gui_custom_container.
    data:  g_container type scrfname value 'BCALV_GRID_DEMO_0100_CONT1'.
    data: g_grid  type ref to cl_gui_alv_grid.
    data: wa_outtab like gt_outtab.
    *       CLASS lcl_event_receiver DEFINITION
    class lcl_event_receiver definition.
      public section.
        types: begin of sflight_key.
        types:   carrid type s_carr_id.
        types:   connid type s_conn_id.
        types:   fldate type s_date.
        types: end of sflight_key.
        types: sflight_keys type standard table of sflight_key,
               sflight_table type standard table of sflight.
        methods:
          handle_data_changed
             for event data_changed of cl_gui_alv_grid
                 importing er_data_changed.
        methods:
          get_inserted_rows
               exporting
                  inserted_rows type sflight_keys.
        methods:
          get_deleted_rows
              exporting
                  deleted_rows type sflight_table.
        methods:
           refresh_delta_tables.
        methods: set_table_is_initial.
        methods: set_table_is_not_initial.
        methods: table_is_initial
                    returning value(initial) type char01.
      private section.
    * §4.Define internal tables to remember inserted and deleted lines,
    *    thus the delta between input made after the last saving.
        data: inserted_rows type sflight_keys,
              deleted_rows type standard table of sflight.
    * This flag is set if any error occured in one of the
    * following methods:
        data: error_in_data type c.
    * This flag signals that no records were read for the flight
    * table initially:
        data: initial_table type c.
    ** Methods to modularize event handler method HANDLE_DATA_CHANGED:
        methods:
          check_double_entries
             importing
                pr_data_changed type ref to cl_alv_changed_data_protocol.
        methods:
          update_delta_tables
             importing
                pr_data_changed type ref to cl_alv_changed_data_protocol.
        methods:
          perform_semantic_checks
             importing
                pr_data_changed type ref to cl_alv_changed_data_protocol.
        methods:
          get_cell_values
               importing
                 row_id          type int4
                 pr_data_changed type ref to cl_alv_changed_data_protocol
               exporting
                 key             type sflight_key.
    endclass.                    "lcl_event_receiver DEFINITION
    class lcl_event_receiver implementation.
      method handle_data_changed.
    *    data: ls_good type lvc_s_modi,
    *          l_price type s_price,
    *          ls_new type lvc_s_moce.
    *    error_in_data = space.
    ** check if there exist double entries
    *    call method check_double_entries( er_data_changed ).
    ** remember new or deleted lines for saving
    *    call method update_delta_tables( er_data_changed ).
    ** check mt_good_cells semantically
    *    call method perform_semantic_checks( er_data_changed ).
    *    if error_in_data = 'X'.
    *      call method er_data_changed->display_protocol.
    *    endif.
      endmethod.                    "handle_data_changed
      method check_double_entries.
        data: lt_good_cells type lvc_t_modi,
              ls_good type lvc_s_modi,
              ls_key type sflight_key,
              ls_sflight type sflight,
              l_flightdate like gt_outtab-fldate,
              l_del_row type lvc_s_moce,
              ls_outtab like line of gt_outtab,
              l_reentered type c.
    * §5.Check if there exist already other records with equal key fields.
    * Check if the user has entered two new lines where the key fields
    * are equal.
    * Since CARRID and CONNID are read only, the check is restrained
    * to field FLDATE.
    * Algorithm: Copy all entries in MT_GOOD_CELLS to a dummy table.
    *            During the copying procedure check if there exists
    *            already a line with the same Flight date.
    *    loop at pr_data_changed->mt_good_cells into ls_good.
    *      case ls_good-fieldname.
    *        when 'FLDATE'.
    *          call method pr_data_changed->get_cell_value
    *                      exporting
    *                            i_row_id = ls_good-row_id
    *                            i_fieldname = ls_good-fieldname
    *                      importing e_value = l_flightdate.
    *          read table lt_good_cells with key
    *                            value = l_flightdate
    *                            transporting no fields.
    *          if sy-subrc = 0.
    ** There exists already a line with the same flight date!
    *            call method pr_data_changed->add_protocol_entry
    *                         exporting
    *              i_msgid = '0K' i_msgno = '000'  i_msgty = 'E'
    *              i_msgv1 = text-m01
    *              i_fieldname = ls_good-fieldname
    *              i_row_id = ls_good-row_id.
    *            error_in_data = 'X'.
    *          else.
    *            ls_good-value = l_flightdate.
    *            append ls_good to lt_good_cells.
    *          endif.
    *      endcase.
    *    endloop.
    ** Check if any new entries already exist in gt_outtab.
    ** At this point, lt_good_cells contains only lines with
    ** FIELDNAME = 'FLDATE'.
    *    loop at lt_good_cells into ls_good.
    *      l_flightdate = ls_good-value.      "flightdate, see above
    *      read table gt_outtab with key
    *                    carrid = g_carrid
    *                    connid = g_connid
    *                    fldate = l_flightdate
    *                    transporting no fields.
    *      if sy-subrc = 0.
    ** Check if this entry was deleted before, i.e. it is in the table
    ** of deleted rows. If so, the entry does not exist twice. The user
    ** has deleted a line and then reentered it.
    *        l_reentered = space.
    *        loop at pr_data_changed->mt_deleted_rows into l_del_row.
    *          read table gt_outtab into ls_outtab index l_del_row-row_id.
    *          if sy-subrc ne 0.
    *            message i000(0k) with text-e01."Fehler beim Löschen
    *          elseif
    *                    ls_outtab-carrid eq g_carrid
    *                and ls_outtab-connid eq g_connid
    *                and ls_outtab-fldate eq ls_good-value.
    *            l_reentered = 'X'.
    *          endif.
    *        endloop.
    *        if l_reentered ne 'X'.
    *          call method pr_data_changed->add_protocol_entry
    *                         exporting
    *              i_msgid = '0K' i_msgno = '000'  i_msgty = 'E'
    *              i_msgv1 = text-m01
    *              i_fieldname = ls_good-fieldname
    *              i_row_id = ls_good-row_id.
    *          error_in_data = 'X'.
    *        endif.
    *      endif.
    *    endloop.
    ** In this demo report you may prevent the selection
    ** of data by setting parameter 'p_ds'.
    ** If this is done, the next check is required:
    *    if me->table_is_initial( ) eq 'X'.
    *      call method get_cell_values
    *           exporting row_id          = 1
    *                     pr_data_changed = pr_data_changed
    *           importing key             = ls_key.
    *      select single * from sflight into ls_sflight
    *                where carrid = ls_key-carrid
    *                  and connid = ls_key-connid
    *                  and fldate = ls_key-fldate.
    *      if sy-subrc = 0.
    *        call method pr_data_changed->add_protocol_entry
    *                       exporting
    *            i_msgid = '0K' i_msgno = '000'  i_msgty = 'E'
    *            i_msgv1 = text-m01
    *            i_fieldname = 'FLDATE'
    *            i_row_id = 1.
    *        error_in_data = 'X'.
    *      endif.
    ** flag initial_table is reset in method 'update_delta_tables'
    *    endif.
      endmethod.                    "check_double_entries
      method update_delta_tables.
    *    data: l_ins_row type lvc_s_moce,
    *          l_del_row type lvc_s_moce,
    *          ls_key type sflight_key,
    *          ls_sflight type sflight,
    *          ls_outtab like line of gt_outtab.
    ** §6.Use protocol attributes MT_DELETED_ROWS and MT_INSERTED_ROWS
    **    to remember which lines where deleted or inserted. Save this
    **    information in your internal tables.
    ** deleted rows
    *    loop at pr_data_changed->mt_deleted_rows into l_del_row.
    *      read table gt_outtab into ls_outtab index l_del_row-row_id.
    *      if sy-subrc ne 0.
    *        message i000(0k) with text-e01."Fehler beim Löschen
    *      else.
    *        move-corresponding ls_outtab to ls_sflight.
    ** It should no be possible that the same line is deleted twice,
    ** so we just add the new key line to 'deleted_rows'.
    *        append ls_sflight to deleted_rows.
    ** If this line was inserted just before it is deleted:
    *        delete me->inserted_rows
    *             where carrid = ls_outtab-carrid
    *             and   connid = ls_outtab-connid
    *             and   fldate = ls_outtab-fldate.
    *      endif.
    *    endloop.
    ** inserted rows
    ** At this point ALV has not added new lines
    ** to gt_outtab, so you can not access their values
    ** by reading gt_outtab.
    ** Table MT_GOOD_CELLS holds new values that can be
    ** referenced using the ROW_ID.
    *    if me->table_is_initial( ) eq 'X'.
    ** No flights were selected initially. This is the first new line.
    *      call method get_cell_values
    *            exporting row_id          = 1
    *                      pr_data_changed = pr_data_changed
    *            importing key             = ls_key.
    *      append ls_key to inserted_rows.
    *      call method me->set_table_is_not_initial.
    *    endif.
    *    loop at pr_data_changed->mt_inserted_rows into l_ins_row.
    *      call method get_cell_values
    *              exporting row_id          = l_ins_row-row_id
    *                        pr_data_changed = pr_data_changed
    *              importing key             = ls_key.
    **      READ TABLE gt_outtab INTO ls_outtab INDEX l_ins_row-row_id.
    ** Just insert the new row regardless if the input is wrong
    *      append ls_key to inserted_rows.
    *    endloop.
      endmethod.                    "update_delta_tables
      method get_cell_values.
    * get values of key cells of row ROW_ID
    ** CARRIER
    *    call method pr_data_changed->get_cell_value
    *          exporting
    *                 i_row_id    = row_id
    *                 i_fieldname = 'CARRID'
    *               importing
    *                 e_value = key-carrid.
    *    if sy-subrc ne 0.
    *      message i000(0k) with text-e02.  "Fehler beim Einfügen
    *    endif.
    ** CONNID
    *    call method pr_data_changed->get_cell_value
    *          exporting
    *                 i_row_id    = row_id
    *                 i_fieldname = 'CONNID'
    *               importing
    *                 e_value = key-connid.
    *    if sy-subrc ne 0.
    *      message i000(0k) with text-e02.  "Fehler beim Einfügen
    *    endif.
    ** FLDATE
    *    call method pr_data_changed->get_cell_value
    *          exporting
    *                 i_row_id    = row_id
    *                 i_fieldname = 'FLDATE'
    *               importing
    *                 e_value = key-fldate.
    *    if sy-subrc ne 0.
    *      message i000(0k) with text-e02.  "Fehler beim Einfügen
    *    endif.
      endmethod.                    "get_cell_values
      method perform_semantic_checks.
    *    data: ls_good type lvc_s_modi,
    *          l_planetype type s_planetye,
    *          l_seatsmax type s_seatsmax.
    *    loop at pr_data_changed->mt_good_cells into ls_good.
    *      case ls_good-fieldname.
    *        when 'PLANETYPE'.
    *          call method pr_data_changed->get_cell_value
    *             exporting
    *               i_row_id = ls_good-row_id
    *               i_fieldname = ls_good-fieldname
    *             importing
    *               e_value = l_planetype.
    *          select single seatsmax from saplane into l_seatsmax
    *                        where planetype = l_planetype.
    *          if sy-subrc ne 0.
    *            call method pr_data_changed->add_protocol_entry
    *                            exporting
    *                 i_msgid = '0K' i_msgno = '000'  i_msgty = 'E'
    *                 i_msgv1 = text-m02
    *                 i_fieldname = ls_good-fieldname
    *                 i_row_id = ls_good-row_id.
    *            error_in_data = 'X'.
    *          else.
    *            call method pr_data_changed->modify_cell
    *              exporting i_row_id    = ls_good-row_id
    *                        i_fieldname = 'SEATSMAX'
    *                        i_value     = l_seatsmax.
    *          endif.
    *      endcase.
    *    endloop.
      endmethod.                    "perform_semantic_checks
      method get_inserted_rows.
    *    inserted_rows = me->inserted_rows.
      endmethod.                    "get_inserted_rows
      method get_deleted_rows.
    *    deleted_rows = me->deleted_rows.
      endmethod.                    "get_deleted_rows
      method refresh_delta_tables.
    *    clear me->inserted_rows[].
    *    clear me->deleted_rows[].
      endmethod.                    "refresh_delta_tables
      method set_table_is_initial.
    *    initial_table = 'X'.
      endmethod.                    "set_table_is_initial
      method set_table_is_not_initial.
    *    initial_table = space.
      endmethod.                    "set_table_is_not_initial
      method table_is_initial.
    *    if initial_table = 'X'.
    *      initial = 'X'.
    *    else.
    *      initial = space.
    *    endif.
      endmethod.                    "table_is_initial
    endclass.                    "lcl_event_receiver IMPLEMENTATION
    data: g_verifier type ref to lcl_event_receiver.
    data: g_max type i value 100.
    data: gs_layout type lvc_s_layo.
    data: ok_code like sy-ucomm,
          save_ok like sy-ucomm.
    parameters: p_ds type c as checkbox.   "delete selection
    select-options s_carrid for sflight-carrid
                                no intervals no-extension default 'LH'.
    select-options s_connid for sflight-connid
                               no intervals no-extension default '0400'.
    start-of-selection.
      g_carrid = s_carrid-low.
      g_connid = s_connid-low.
    * first check airline and connection
      select single * from spfli into gs_spfli
                         where carrid = g_carrid
                         and connid = g_connid.
      call screen 100.
    *&      Module  STATUS_0100  OUTPUT
    *       text
    module status_0100 output.
      set pf-status 'MAIN100'.
      set titlebar 'MAIN100'.
      if g_custom_container is initial.
        perform create_and_init_alv changing gt_outtab[]
                                             gt_fieldcat.
      endif.
    endmodule.                 " STATUS_0100  OUTPUT
    *&      Form  create_and_init_alv
    *       text
    *      <--P_GT_OUTTAB[]  text
    *      <--P_GT_FIELDCAT  text
    form create_and_init_alv changing pt_outtab like gt_outtab[]
                                      pt_fieldcat type lvc_t_fcat.
      data: lt_exclude type ui_functions.
      create object g_custom_container
             exporting container_name = g_container.
      create object g_grid
             exporting i_parent = g_custom_container.
    * Create Objekt to verify input values.
    * (This object is already needed in form SELECT_DATA).
      create object g_verifier.
    *  SET HANDLER g_verifier->handle_data_changed FOR g_grid.
      perform select_data changing pt_outtab[].
      perform build_fieldcat changing pt_fieldcat.
      perform exclude_tb_functions changing lt_exclude.
      gs_layout-stylefname = 'CELLTAB'.
      call method g_grid->set_table_for_first_display
        exporting
          it_toolbar_excluding = lt_exclude
          is_layout            = gs_layout
        changing
          it_fieldcatalog      = pt_fieldcat
          it_outtab            = pt_outtab[].
    * Set editable cells to ready for input initially
      call method g_grid->set_ready_for_input
        exporting
          i_ready_for_input = 1.
    endform.                    " create_and_init_alv
    *&      Form  select_data
    *       text
    *      <--P_GT_OUTTAB  text
    form select_data changing pt_outtab like gt_outtab[].
      data: lt_sflight type table of sflight,
            ls_sflight type sflight,
            ls_outtab like line of gt_outtab,
            l_index type i,
            ls_spfli type spfli,                                "#EC NEEDED
            lt_celltab type lvc_t_styl.
    * Check parameter 'p_ds'=>optionally select no data
      if p_ds is initial.
    * Select data from sflight
        select * from sflight into table lt_sflight up to g_max rows
                         where carrid = g_carrid
                           and connid = g_connid.
      endif.
      if sy-subrc ne 0 or not p_ds is initial.
    * no flights were found!
    * We provide some default values for the first line that is entered:
        ls_outtab-carrid = g_carrid.
        ls_outtab-connid = g_connid.
        case g_carrid.
          when 'LH'.
            ls_outtab-currency = 'DEM'.
          when others.
            ls_outtab-currency = 'US'.
        endcase.
        ls_outtab-seatsocc = 0.
        ls_outtab-paymentsum = 0.
    * set fields FLDATE, PRICE and PLANETYPE to editable
        perform fill_celltab using 'RW'
                             changing lt_celltab.
        insert lines of lt_celltab into table ls_outtab-celltab.
        append ls_outtab to pt_outtab.
    * Tell Verify-Objekt that the table was initial
        call method g_verifier->set_table_is_initial.
      else.
        call method g_verifier->set_table_is_not_initial.
    * move corresponding fields from lt_sflight to gt_outtab
        loop at lt_sflight into ls_sflight.
          move-corresponding ls_sflight to ls_outtab.
          append ls_outtab to pt_outtab.
        endloop.
    * §3.Set all cells of the table non-editable by using the style table.
        loop at pt_outtab into ls_outtab.
          l_index = sy-tabix.
          refresh lt_celltab.
          perform fill_celltab using 'RO'
                            changing lt_celltab.
    * Copy your celltab to the celltab of the current row of gt_outtab.
          insert lines of lt_celltab into table ls_outtab-celltab.
          modify pt_outtab from ls_outtab index l_index.
        endloop.
      endif.
    endform.                               " select_data
    *&      Form  fill_celltab
    *       text
    *      -->VALUE(P_MODE)  text
    *      -->PT_CELLTAB     text
    form fill_celltab using value(p_mode)
                      changing pt_celltab type lvc_t_styl.
      data: ls_celltab type lvc_s_styl,
            l_mode type raw4.
    * This forms sets the style of columns 'PRICE', FLDATE and PLANETYPE
    * editable
      if p_mode eq 'RW'.
        l_mode = cl_gui_alv_grid=>mc_style_enabled.
      else.                                "p_mode eq 'RO'
        l_mode = cl_gui_alv_grid=>mc_style_disabled.
      endif.
      ls_celltab-fieldname = 'FLDATE'.
      ls_celltab-style = l_mode.
      insert ls_celltab into table pt_celltab.
      ls_celltab-fieldname = 'PRICE'.
      ls_celltab-style = l_mode.
      insert ls_celltab into table pt_celltab.
      ls_celltab-fieldname = 'PLANETYPE'.
      ls_celltab-style = l_mode.
      insert ls_celltab into table pt_celltab.
    endform.                               " FILL_CELLTAB
    *&      Form  BUILD_FIELDCAT
    *       text
    *      <--P_GT_FIELDCAT  text
    form build_fieldcat changing pt_fieldcat type lvc_t_fcat.
      data ls_fcat type lvc_s_fcat.
      call function 'LVC_FIELDCATALOG_MERGE'
        exporting
          i_structure_name = 'SFLIGHT'
        changing
          ct_fieldcat      = pt_fieldcat.
      loop at pt_fieldcat into ls_fcat.
        if    ls_fcat-fieldname eq 'PRICE'
           or ls_fcat-fieldname eq 'PLANETYPE'
           or ls_fcat-fieldname eq 'FLDATE'.
    * §1.Set status of columns FLDATA, PRICE and PLANETYPE to editable.
    *    Since all cells are set to non-editable (see step 3) the cells
    *    of this columns will only be editable for new lines.
          ls_fcat-edit = 'X'.
    * Field 'checktable' is set to avoid shortdumps that are caused
    * by inconsistend data in check tables. You may comment this out
    * when the test data of the flight model is consistent in your system.
          ls_fcat-checktable = '!'.        "do not check foreign keys
          modify pt_fieldcat from ls_fcat.
        elseif ls_fcat-fieldname = 'CARRID'
           or ls_fcat-fieldname = 'CONNID'
           or ls_fcat-fieldname = 'CURRENCY'.
    * §2.Use field AUTO_VALUE of the fieldcatalog to preset values when new
    *    lines are added.
          ls_fcat-auto_value = 'X'.
          ls_fcat-checktable = '!'.   "do not check foreign key relations
          modify pt_fieldcat from ls_fcat.
        endif.
      endloop.
    endform.                    "build_fieldcat
    *&      Form  exclude_tb_functions
    *       text
    *      <--P_LT_EXCLUDE  text
    form exclude_tb_functions changing pt_exclude type ui_functions.
      data ls_exclude type ui_func.
      ls_exclude = cl_gui_alv_grid=>mc_fc_loc_insert_row.
      append ls_exclude to pt_exclude.
      ls_exclude = cl_gui_alv_grid=>mc_fc_loc_undo.
      append ls_exclude to pt_exclude.
      ls_exclude = cl_gui_alv_grid=>mc_fc_loc_copy_row.
      append ls_exclude to pt_exclude.
    endform.                               " EXCLUDE_TB_FUNCTIONS
    *&      Module  USER_COMMAND_0100  INPUT
    *       text
    module user_command_0100 input.
      save_ok = sy-ucomm.
      clear ok_code.
      case save_ok.
        when 'SAVE'.
    *      perform save_data.
        when 'BACK'.
    * §10.Unlock your database table.
    *      perform unlock_sflight.
          leave to screen 0.
        when 'EXIT'.
          perform exit_program.
        when 'ADD'.
          perform add_line_item.
        when others.
    *     do nothing
      endcase.
    endmodule.                 " USER_COMMAND_0100  INPUT
    *       FORM EXIT_PROGRAM                                             *
    form exit_program.
      leave program.
    endform.                    "exit_program
    *&      Form  ADD_LINE_ITEM
    *       text
    *  -->  p1        text
    *  <--  p2        text
    form add_line_item .
    data: lt_rows type lvc_t_row.
    data: wa_rows type lvc_t_row with header line.
    data: tabix type sy-tabix.
    *&Find the  row ( index ) number
    call method g_grid->get_selected_rows
              importing et_index_rows = lt_rows.
    call method cl_gui_cfw=>flush.
    read table lt_rows into wa_rows index 1.
    tabix = wa_rows-index .
    insert gt_outtab  index tabix.
    *REFRESH_TABLE_DISPLAY
    call method g_grid->refresh_table_display
    *  EXPORTING
    *    IS_STABLE      =
    *    I_SOFT_REFRESH =
    *  EXCEPTIONS
    *    FINISHED       = 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.
    endform.                    " ADD_LINE_ITEM
    Thanks,
    Chidanand

  • Delta Extractors: To Add Timestamp to table

    Hi All,
    We have a requirement to make 0GL_ACCOUNT_ATTR to work in delta mode. 0GL_ACCOUNT_ATTR datasource is based on SKA1 database table .
    But with SKA1 table we dont have any timestamp field or calendar day fields.
    We have another requirement to make YC_CTTR_YCCOMPACC to work in delta mode. YC_CTTR_YCCOMPACC  is based on SKB1 table.
    But with SKB1 table we dont have any timestamp field or calendar day fields.
    Please let me know how to acheive this requirement.
    Thanks,
    Arun

    Hi,
    No need to do anything for the 0GL_ACCOUNT_ATTR datasouce. It is already delta enabled. I guess you are running full loads for some reason. You can do an init from BW and carry on with the delta loads afterwards.
    For the other extractor, from RSO2 change mode of datasource, datasource menu, ALE delta, give the details like extractor, change doc (SACH) etc. Replicate to BW and test the datasouce by doing init. Ask functional folks to make changes and do delta load and check if the changes are captured. I have never done this before. Try it and let us know if it works.

  • Standard Generic Delta Extractor 0CRM_SRV_COSTS - Delta stop working

    Hello all,
    Has anyone experienced an issue with the standard generic extractor 0CRM_SRV_COSTS (reside in SAP R/3 system) where its delta suddenly just stop working? The issue is that the datasource keeps extracting the same delta records and from RSA7 and SMQ1, only have the olda data records and no new data coming through (ie. from RSA7 data are only in the Delta Repetition).
    The extractor uses Function Module and Numeric Pointer for the delta and I tried to investigate (via RSA2 and ROOSOURCE ) if there is a way to see what field is being used for the Numeric Pointer and how to trace it - but no luck so far.
    Has anyone experienced the similar/same issue on other extractor which can provide some inputs?
    Any ideas/suggestions will be very much appreciated.
    Thanks,
    Andy

    Maybe someone knows if records in tables SMOXRELP_S and SMOXRELP should match perfectly? I see that table SMOXRELP lacks one record that I have in table SMOXRELP_S.

  • Entries written in tRFC-Queue

    Hi everybody,
    does anybody know, when entries are written in the tRFC Queue (=SM58?)
    Thanks, Regards
    Mario

    Hi Mario
    have a look at this link
    http://help.sap.com/saphelp_nw04/helpdata/en/ad/7b623c6374a865e10000000a11402f/frameset.htm
    http://help.sap.com/saphelp_nw04/helpdata/en/8f/53b67ad30be445b0ccc968d69bc6ff/frameset.htm
    check this thread also
    /thread/370513 [original link is broken]
    Thanks!

  • IDOC sends/shows only the delta changes

    Hi All,
    I went to tcode we02 and trying to see the details for each IDoc number and it only shows the delta changes.similarly I take the IDoc number and executing the fm IDOC_XML_TRANSFORM then it is generating xml with only the delta changes.
    Is that the expected behavior that it sends/shows only the delta changes .
    where do we do the setting so that IDoc only sends the delta changes and how do we change that
    Thanks
    Bala Duvvuri

    Hello,
    I don't know which IDoc type are you ussing, but I guess will be MATMAS or maybe DEBMAS.
    For this two IDocs you can send delta or all the data, the difference is the transaction used.
    For deltas BD21 is always used and this applys for all the Idoc messages for master data iDoc (like MATMAS, DEBMAS, CREMAS etc)
    For send all the data, this differ on which IDoc message you want:
    MATMAS --> BD10
    DEBMAS --> BD12
    So if you want to make this automatically just program a job for each program.
    Hope this will helps.
    Best Regards

  • How to fill set up tables with out missing the delta records

    Hi,
    I would like fill set up tables in the productioon system of apllication of logistics.
    Can you please guide me how do we perform.?
    What are points to be considered?
    Because,when i start the filling  set up table by 10.AM if there are any posting at 10:05,10:06....like that
    how can collect them i.e will i miss any records in second delta run?What setps to be taken care?
    Thanks in advance
    Naresh.

    Hi.
    You can fill the set-up tables during normal operation hours ,if you load the data into ODS and the update queue is 'Queued delta' .Downtime is needed to avoid the duplicates .But if you use  'Direct delta' you miss the delta documents. Hence it is better to go for downtime approach for this case.
    Initially your delta records will be stored in the extraction queue and then when you run the collective job, records will be moved into delta queue. You can run the collective job (LBWE) anytime after the init run.If you need a daily delta ,then schedule this job before the delta loading. You can schedule this job either hrly or daily .This will move your records into delta queue. At the time of delta loading ,all your delta queue records will be moved into BW .
    Thanks.

  • My ipad had been frozen my daughter put wrong pass words more than 3 times its written on the screem connect to itunes what shall i do please.

    My ipad had been frozzen my daughter puts the passwords wrong more than 3 times ,And its written on the screem connect to itunes .What shall I do please?Thank you.

    You have to restore the device within iTunes. You want to use the same computer that you always sync with so that you can restore your app data and settings. You can restore with any other computer, but you will lose everything on the iPad.
    Instructions can be found here.
    http://support.apple.com/kb/ht1212
    You may need to restore using Recovery Mode. You can read about it here.
    http://support.apple.com/kb/ht4097
    Recovery Mode Instructions
    Disconnect the USB cable from the iPad, but leave the other end of the cable connected to your computer's USB port.
    Turn off iPad: Press and hold the Sleep/Wake button for a few seconds until the red slider appears, then slide the slider. Wait for iPad to turn off.
    If you cannot turn off iPad using the slider, press and hold the Sleep/Wake and Home buttons at the same time. When the iPad turns off, release the Sleep/Wake and Home buttons.
    While pressing and holding the Home button, reconnect the USB cable to iPad. When you reconnect the USB cable, iPad should power on.
    Continue holding the Home button until you see the "Connect to iTunes" screen. When this screen appears you can release the Home button.
    If necessary, open iTunes. You should see the recovery mode alert that iTunes has detected an iPad in recovery mode.
    Use iTunes to restore iPad.

  • Can't see the printer queue

    Hi,
    I can't see the printer queue in Snow Leopard.
    Either if I go to the Printer & Fax setting in the System Settings and try to open the printer queue it doesn't open.

    I have the same problem and I'd like to attach my issue to this thread.
    I use a Brother HL5250DN printer connected via USB cable to an Airport Express base station. The model is supported by 10.6, drivers are installed and the printer appears properly on all the lists. I can print on it, I can set all the options, but I have no access to the queue whatsoever. I can print without problems, I just can't access the queue.
    It doesn't appear in the Dock during printing.
    Pressing the button in the Printer & Fax preferences window produces no result, error or feedback of any kind.
    What's wrong? I tried reinstalling the drivers and the entire system, but without "Archive & Install" option I can't do much to ensure there are no left-overs from 10.5. Does anyone know a solution?
    Thanks in advance.
    Message was edited by: Krzysztof Zabko-Potopowicz

  • What is the difference between qued delta  update and serialized delta upda

    what is the difference between qued delta  update and serialized delta update?

    Hi Ks Reddy,
    Queued Delta:
    In case of Queued delta LUW's are posted to Extractor Queue (LBWQ), by scheduling the V3 job we move the documents from Extractor queue to Delta Queue(i.e. RSA7) and we extract the LUW's from Delta Queue to BW side by running Delta Loads. Generally we prefer Queued Delta as it maintain the Extractor Log which us to handle the LUW's which are missed.
    Direct Delta:
    In case of Direct Delta LUW's are directly posted to Delta Queue(i.e. RSA7) and we extract the LUW's from Delta Queue to BW side by running Delta Loads. If we use Direct Delta it degrades the OLTP system performance because when LUW's are directly posted to Delta Queue (RSA7) the application is kept waiting untill all the enhancement code is executed.
    Non-serialized V3 Update:With this update mode, the extraction data for the application considered is written as before into the update tables with the help of a V3 update module. They are kept there as long as the data is selected through an updating collective run and are processed. However, in contrast to the current default settings (serialized V3 update), the data in the updating collective run are thereby read without regard to sequence from the update tables and are transferred to the BW delta queue.
    https://websmp102.sap-ag.de/~sapdownload/011000358700007535452002E/HOWTOCREATEGENERICDELTA.PDF (need id)
    http://help.sap.com/saphelp_bw33/helpdata/en/3f/548c9ec754ee4d90188a4f108e0121/frameset.htm
    Business Intelligence Performance Tuning [original link is broken]
    https://www.sdn.sap.com/irj/servlet/prt/portal/prtroot/docs/library/uuid/cccad390-0201-0010-5093-fd9ec8157802
    How to load data
    /people/sap.user72/blog/2004/12/16/logistic-cockpit-delta-mechanism--episode-one-v3-update-the-145serializer146
    /people/sap.user72/blog/2004/12/23/logistic-cockpit-delta-mechanism--episode-two-v3-update-when-some-problems-can-occur
    /people/sap.user72/blog/2005/01/19/logistic-cockpit-delta-mechanism--episode-three-the-new-update-methods
    Delta Types and methods;&#57245;
    Hope this helps.
    ****Assign Points if Helpful*****
    Regards,
    Ravikanth

Maybe you are looking for

  • Buffer overrun in IE and Firefox

    Can't see any mov in browser from trailers.apple.com (or other web sites). Received error buffer overrun. I've reinstalled QT 7.2, 7.1 the same. Do you have any ideas?

  • Camera timer for Nokia N8

    Hello friends! I need an app to take picture automatically in specified interval... any ideas? Solved! Go to Solution.

  • System form

    Hi When combo select value activated in system form at the same time  once combo value selected it should open the  corresponding user form Regards Pugal

  • DNS settings change when restoring image

    Situation: In one of our computers we changed the DNS settings from static to dynamic (DNS through DHCP). We checked these settings and they worked. When restoring the image on a other computers the settings are back to static. How is this possible?

  • 3rd party integration: How to get XML Schema (.xsd) for a custom entity, to use with a mapper

    Is there an easy way to get the xml schema/DTD for a custom entity, specifically an .XSD file for that entity (which will then be used to create a map to be able to transform the fields of the entity to a 3rd-party message format)? So have a custom e