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, VishalHi 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 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 PMHi 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,
ArunHi,
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,
AndyMaybe 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.
-
Hi everybody,
does anybody know, when entries are written in the tRFC Queue (=SM58?)
Thanks, Regards
MarioHi 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 DuvvuriHello,
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 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. -
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;�
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?
-
Hello friends! I need an app to take picture automatically in specified interval... any ideas? Solved! Go to Solution.
-
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?
-
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