How to get the last run date.
We intend to develop an incremental data load mapping using this strategy:
1) The mapping reads the date it was last run from an auxiliary table.
2) It selects from the source only those rows that were inserted or updated after said date.
3) Then, a post-mapping process updates the last run date in the auxiliary table, using SYSDATE.
The problem with this logic is that there is a gap: if the mapping starts running at 1:00 and ends at 2:00, the rows that are inserted in between will never be loaded.
Is there any way to get the value when the mapping started running? Is there a better way to do this?
Any help would be appreciated.
Juan Algaba
There is always the possibility of some record updates slipping through the crack if you are depending on dates unless you are very carefull. All of the audit tasks that the OWB-generate code performes take time. Any pre- or post- process that needs to run takes time. So which date is the best cuttoff point to equate to "when the last run of the merge (or insert or update) statement completed"?
Plus, how do you handle reloads if the previous load failed and your mapping had incremental commits?
Is your source on another server? If so, are the dates in perfect synch? The audit tables populate with sysdate of your runtime schema. Is that the same as the sysdate on your source remote database?
I would qualify my query to look for all updates since the start of the last run that finished successfully - adjusted if neccesary for sysdate differences if it is on a remote schema. And make sure that your code handles any reloads gracefully in the event that this brings back data that you have already loaded once. .
Because we use Oracle Streams to load a local staging area, we also have custom code to dump the primary keys of all data changes to utility staging tables while streams is updating the local copy. So, our Person table has an st_Person_delta table that just holds the primary keys that have been updated by Streams since the last ETL run.
During datamart load we disable the streams apply to stabilize our environment, and join these lists of pk's to their source tables to drive our ETL. So we only select data where Streams has performed an update to the row since our last run. When we are done our ETL, we truncate the primary key staging tables, and then turn streams back on to start loading up our new delta into our staging tables again..
The ETL gets pretty complex though when many tables join together in one mapping and you need to check all possible source table deltas to see if any of them got updated to determine the delta for a given dimension or fact record, but it works great once you get it all done.
Similar Messages
-
How to get the last run date of an ISchedulerTask ?
Hello,
I have implemented an ISchedulerTask and inside the run method I would like to get a reference to the last timestamp/date that the task was running, any idea how to achieve that?
Rgds,
RoyHi
You can create a custom metadata property and set this property with the date when the Ischedlar task runs.
So, in your code you can read this property whenever you want to read the previous date.
Hope this works.
Thanks
Puneet -
How to find the last run date of the report..
please any one one help me
how to find last run date of the report...
for example if my report is zgrir...if i am exuted in last week
if want to find when it executed
last run date is req
please any one help me...The trasaction stat is limited because i want all the execution date even if it is 3 years ago.
I have tryied the transaction st03 but it is limited to 3 months ago.
check transaction STAT and it's report RSSTAT00.
U can copy RSSTAT00 into ZRSSTAT00 and modify corresponding.
*& Report ZDSAP *
REPORT ZDSAP .
DATA: d_ref TYPE REF TO data,
d_ref2 TYPE REF TO data ,
i_alv_cat TYPE TABLE OF lvc_s_fcat,
ls_alv_cat LIKE LINE OF i_alv_cat.
TYPES tabname LIKE dcobjdef-name .
parameter: p_tablen type tabname.
data: begin of itab occurs 0.
INCLUDE STRUCTURE dntab.
data: end of itab.
FIELD-SYMBOLS : <F_FS> TYPE table,
<F_FS1> TYPE TABLE,
<F_FS2> TYPE ANY,
<F_FS3> TYPE TABLE.
REFRESH itab.
CALL FUNCTION 'NAMETAB_GET'
EXPORTING
langu = sy-langu
tabname = p_tablen
TABLES
nametab = itab
EXCEPTIONS
no_texts_found = 1.
LOOP AT itab .
ls_alv_cat-fieldname = itab-fieldname.
ls_alv_cat-ref_table = p_tablen.
ls_alv_cat-ref_field = itab-fieldname.
APPEND ls_alv_cat TO i_alv_cat.
ENDLOOP.
internal table build
CALL METHOD cl_alv_table_create=>create_dynamic_table
EXPORTING it_fieldcatalog = i_alv_cat
IMPORTING ep_table = d_ref .
ASSIGN d_ref->* TO <F_FS>.
SELECT * FROM (p_tablen) INTO CORRESPONDING FIELDS OF TABLE <F_FS>.
LOOP AT <F_FS> ASSIGNING <F_FS2>.
*your code goes here.
ENDLOOP. -
How to get the last update date
Hi Everyone,
I need to insert into a table the name of the package and date of the last updated version of the execution.
I was thinking in inserting from procedure into a table, the ID and system date into a table.
But I would like to know if there is another way, or better way of doing this.
I do appreciate your help and guidance.
Best regards.
J_ORCL
Edited by: J_ORCL on Apr 23, 2012 9:16 AMHey Atdi,
Thank you so much for your guidance and help.
What i do need is the following:
Once I am inserting/passing some data into a table from an excel file/Database to an Oracle Table in my environment, I do need now to get a record of the last update that has been inserted. And after that I will have to show that date on my screen, but that is something else.
So i have thought of inserting it with a store procedure over a new table that i will have to create or if ODI stores this information somewhere it will be really useful for me to retrieve from there.
In some cases I am passing data from one table to other using store procedures, because there is no link between them, but as this is a new scenario, which is why I am asking if ODI already does this for us, or if I will have to implement it myself.
Hope to be a bit clearer with this explanation.
Please do not hesitate to contact me if any further detail is required.
Best regards.
J_ORCL -
How do I get the last changed date & time of a file in app server?
Hi Experts,
How do I get the last changed date & time of a file in app server?
Thanks!
- Anthony -Hi,
that's what I use...
CALL 'C_DIR_READ_FINISH'. " just to be sure
CALL 'C_DIR_READ_START' ID 'DIR' FIELD p_path.
IF sy-subrc <> 0.
EXIT. "Error
ENDIF.
DO.
CLEAR l_srvfil.
CALL 'C_DIR_READ_NEXT'
ID 'TYPE' FIELD l_srvfil-type
ID 'NAME' FIELD l_srvfil-file
ID 'LEN' FIELD l_srvfil-size
ID 'OWNER' FIELD l_srvfil-owner
ID 'MTIME' FIELD l_mtime
ID 'MODE' FIELD l_srvfil-attri.
* l_srvfil-dir = p_path .
IF sy-subrc = 1.
EXIT.
ENDIF." sy-subrc <> 0.
PERFORM p_to_date_time_tz
USING l_mtime
CHANGING l_srvfil-mod_time
l_srvfil-mod_date.
TRANSLATE l_srvfil-type TO UPPER CASE. "#EC TRANSLANG
PERFORM translate_attribute CHANGING l_srvfil-attri.
CHECK:
NOT l_srvfil-file = '.',
l_srvfil-type = 'D' OR
l_srvfil-type = 'F' .
APPEND l_srvfil TO lt_srvfil.
ENDDO.
CHECK NOT lt_srvfil IS INITIAL.
pt_srvfil = lt_srvfil.
FORM p_to_date_time_tz USING p_ptime TYPE p
CHANGING p_time TYPE syuzeit
p_date TYPE sydatum.
DATA:
l_abaptstamp TYPE timestamp,
l_time TYPE int4,
l_opcode TYPE x VALUE 3,
l_abstamp TYPE abstamp.
l_time = p_ptime.
CALL 'RstrDateConv'
ID 'OPCODE' FIELD l_opcode
ID 'TIMESTAMP' FIELD l_time
ID 'ABAPSTAMP' FIELD l_abstamp.
l_abaptstamp = l_abstamp.
CONVERT TIME STAMP l_abaptstamp TIME ZONE sy-zonlo INTO DATE p_date
TIME p_time.
ENDFORM. " p_to_date_time_tz
Regards,
Clemens -
How to get the last day of the week?
Hii
i can get the calender week number for any given date using
SELECT to_char(to_date('04/04/2011','MM/DD/YYYY'),'WW') FROM dual
can any body tell me, how to get the last day of that week ?
and the answer should be 04/08/2011(8th april )
thanks
San
Edited by: sandeep9 on Apr 4, 2011 3:50 AMHi, San,
Here's one way:
WITH sample_data AS
SELECT DATE '2011-04-04' AS dt
FROM dual
SELECT dt
, TO_CHAR (dt, 'WW') AS week_num
, NEXT_DAY ( dt - 1
, TO_CHAR ( TRUNC (dt, 'YEAR') - 1
, 'Day'
) AS end_o_week
FROM sample_data;Another way is to use date arrithmetic:
WITH sample_data AS
SELECT DATE '2011-04-09' AS dt
FROM dual
SELECT dt
, TO_CHAR (dt, 'WW') AS week_num
, TRUNC (dt, 'YEAR')
+ (7 * CEIL ( (dt - (TRUNC (dt, 'YEAR') - 1))
/ 7
- 1 AS using_date_arithmetic
FROM sample_data; -
How to get the last day of a month?
HI,
I want to know how to get the last day of a month.
In my JClient form, I tried to get it by using oracle.sql.Date method, that is:
lastday=oracle.sql.Date anydate.lastDayOfMonth();
But it does not work. The result is lastday=anydate.
Why?
StephenYou can use the Calender class...
Calendar c = Calendar.getInstance();
and then something like...
c.add(c.MONTH, 1);
int dayOfMonth = c.get(Calender.MONTH);
c.add(c.DAY_OF_MONTH, - (dayOfMonth-1) );
other usefull functions are:
System.out.println(" YEAR : " + c.get(Calendar.YEAR));
System.out.println(" MONTH : " + c.get(Calendar.MONTH));
System.out.println(" DAY_OF_MONTH : " + c.get(Calendar.DAY_OF_MONTH));
System.out.println(" DAY_OF_WEEK : " + c.get(Calendar.DAY_OF_WEEK));
System.out.println(" DAY_OF_YEAR : " + c.get(Calendar.DAY_OF_YEAR));
System.out.println(" WEEK_OF_YEAR : " + c.get(Calendar.WEEK_OF_YEAR));
System.out.println(" WEEK_OF_MONTH : " + c.get(Calendar.WEEK_OF_MONTH));
System.out.println(" DAY_OF_WEEK_IN_MONTH : " + c.get(Calendar.DAY_OF_WEEK_IN_MONTH));
System.out.println(" HOUR : " + c.get(Calendar.HOUR));
System.out.println(" AM_PM : " + c.get(Calendar.AM_PM));
System.out.println(" HOUR_OF_DAY (24-hour): " + c.get(Calendar.HOUR_OF_DAY));
System.out.println(" MINUTE : " + c.get(Calendar.MINUTE));
System.out.println(" SECOND : " + c.get(Calendar.SECOND));
System.out.println();*/ -
How to get the last day according to fiscal period input in selection scree
Hello expert
how to get the last day of fiscal period input.
the fiscal period inculdes 1-16
when fiscal period is greater than 12, only calculate the last day of 12nd month
your solution will be apprecaited, FM existing?
thank you
KevinHi,
when you give a particular date in any month
the following fm will give you the last date of that month
here you can give
R_FDATE-HIGH as 01 and month as the period you wnat and year for current year
concatenates '01' month year into r_fdate-high separated by '.'.
then it will give g_ltdt for that month and year which wil be the last date of that month
CALL FUNCTION 'RP_LAST_DAY_OF_MONTHS'
EXPORTING
DAY_IN = R_FDATE-HIGH
IMPORTING
LAST_DAY_OF_MONTH = G_LTDT
EXCEPTIONS
DAY_IN_NO_DATE = 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.
thanks & regards,
Venkatesh -
How to get the "last changed by" for a set of function modules?
How to get the "last changed by" for a set of function modules?
is there any table to get it??See [this|Re: Date of creation of function module] I posted earlier.
>TFDIR will give you the name of the function group program and the include number.
>E.g. SAPLZFUNCGROUP Include 01.
>From this you can construct the include name: LZFUNCGROUPU01.
>You can look this up in TRDIR to find the creation date (CDAT) of the function module.
In your case, you need unam and udat.
matt -
Query on 0TCT_MC01 to get the last used date of a query
Dear All,
I tried to create a query on 0TCT_MC01 to get the last used date of a query.
Since we do not have readily available key figure for Last used date, could any one help me out to achieve this result?
I am interested to find the old queries which are not being used anymore.
Thanks in advance.You can get the info from the below tables
if you are working with BW 3.5 you can look in table RSDDSTAT in BI 7.0 it is RSDDSTAT_OLAP.
Make a selction on the infocube and the OLAP Statistic Object which is the query ID and execute. Then you should see how often the query was executed, by whom and which date/time.
in field Statistics Object Name Query ID you type in the tech name of the query
from the Counter for statistics event calls -- will give the count... no of times the query used least the count lesser the query is used.
Regards
KP
Edited by: Konduru Prashanth. on Dec 22, 2011 2:44 PM -
How to find the Last modified date and time of a package
Hi,
We need a clarification on how to find the Last modified date and time of a package in Oracle. We used the example below to explain our scenario,
Lets consider the following example
Let A, B be two packages.
Package A calls the package B. So A is dependent on B.
When A is compiled the TIMESTAMP,LAST_DDL_TIME in USER_OBJECTS gets updated.
Now there a modification in package B so it is compiled. There is no modification in package A.
Now when the package A is executed the TIMESTAMP,LAST_DDL_TIME in USER_OBJECTS gets updated but we did not make any change in Package A. Now we need to find last modified date and time of the package A . So we can not rely on the TIMESTAMP,LAST_DDL_TIME in USER_OBJECTS . Can u please tell us any other solution to get last modified date and time of the package A .
Regards,
Vijayanand.CHere is an example:
SQL> SELECT OBJECT_NAME,CREATED,LAST_DDL_TIME,TIMESTAMP,STATUS FROM USER_OBJECTS
2 WHERE OBJECT_NAME = ANY('A','B');
OBJECT_NAM CREATED LAST_DDL_TIME TIMESTAMP STATUS
A 20-MAY-2004 10:57:32 20-MAY-2004 10:57:32 2004-05-20:10:57:32 VALID
B 20-MAY-2004 10:58:22 20-MAY-2004 10:59:04 2004-05-20:10:59:04 VALID
SQL> CREATE OR REPLACE PROCEDURE A AS
2 BEGIN
3 NULL;
4 NULL;
5 END;
6 /
Procedure created.
SQL> SELECT OBJECT_NAME,CREATED,LAST_DDL_TIME,TIMESTAMP,STATUS FROM USER_OBJECTS
2 WHERE OBJECT_NAME = ANY('A','B');
OBJECT_NAM CREATED LAST_DDL_TIME TIMESTAMP STATUS
A 20-MAY-2004 10:57:32 20-MAY-2004 11:01:28 2004-05-20:11:01:28 VALID
B 20-MAY-2004 10:58:22 20-MAY-2004 10:59:04 2004-05-20:10:59:04 INVALID
SQL> EXEC B
PL/SQL procedure successfully completed.
SQL> SELECT OBJECT_NAME,CREATED,LAST_DDL_TIME,TIMESTAMP,STATUS FROM USER_OBJECTS
2 WHERE OBJECT_NAME = ANY('A','B');
OBJECT_NAM CREATED LAST_DDL_TIME TIMESTAMP STATUS
A 20-MAY-2004 10:57:32 20-MAY-2004 11:01:28 2004-05-20:11:01:28 VALID
B 20-MAY-2004 10:58:22 20-MAY-2004 11:01:53 2004-05-20:11:01:53 VALID
Note that the date under the column 'created' only changes when you really create or replace the procedure.
Hence you can use the column 'created' of 'user_objects'. -
How to get the last error for while loop?
How to get the last error for while loop? I just want transfer the last error for while loop, but the program use the shift register shift all error every cycle.
What do you mean by "get" and "transfer"?
If the shift register is not what you want, use a plan tunnel instead.
Typically, programmers are interested in the first, not last, error.
Can you show us your code so we have a better idea what you are trying to?
LabVIEW Champion . Do more with less code and in less time . -
How to get the last version of flash in MSI format automatically?
How to get the last version of flash in MSI format automatically?
Roberto Neigenfind
Bravo Tecnologia
www.bravotecnologia.com.brHi Barbara,
Flash Professional CS5.5 is a 32-bit application which can be installed on computers with either 32-bit or 64-bit operating systems.
You can purchase this by Adobe's backward Licensing policy :
" Adobe allows program members to order a current-version license but use a prior version. These members can contact Adobe Customer Service to request a serial number for the earlier version if they do not already have one. Prior-version software is available via ESD and can be purchased through standard resellers. The program member must follow all guidelines of the current-version EULA. "
Please check the doc : http://www.adobe.com/volume-licensing/policies.html -
How to get the last page SAP Script form
How to get the last page SAP Script form.
I want to print a specific information in the last page of SAP form (Script). Please tell me how to get the last page number.
RegardsHi
You have to check the system variable &NEXTPAGE&, if it's 0 it means you're in the last page.
From SAP Help:
This symbol is used to print the number of the following page. The output format is the same as with &PAGE& .
Note that on the last page of the output, in each window that is not of type MAIN, &NEXTPAGE& has the value 0.
/: IF &NEXTPAGE& = '0'
Last page
/: ENDIF
Max -
How to get the user entered data?
Hi all,
I have created an HTMLB DynPage component.
In That i have created my input screen with textboxes using response.write method.
i have added one onConfirm event on which the data whould validate.
so onConfirm method im trying to get the data with request.getParameter method which returns null...
how to do...how to get the user entered data to do my validations...can anyone plz advice.
Thanks,
ViswesHi
inputfield or textbox component entered directly using response.write(...) are not htmlb , but html.
to create portal input field (ie HTMLB), you should do something like
this in the doProcessBeforeOutput member function
InputField field1 = new InputField("Id1");
field1.setSize(8); // 8 characters
this.getForm().addComponent(field1);
and in doProcessAfterInput member function
InputField field1 =
(InputField) this.getComponentByName("Id1");
you can then manipulate the content of the field.
Hope this help,
Guillaume
Maybe you are looking for
-
Down payment issue against sales order
Hi I have some down payment of 100000 and it is to be executed in 20 parts against a sales order. there was some error in the payment processing and while debugging we have posted some five of above payments as cleared although there was no clearing
-
I have a problem with my SQL, it will return values if I submit nothing into my searchbox or it will find one matching value and display results for that, I would like a match for exact search values, mainly on price. Also is there a way I can dynami
-
Hi all, i have database 11.2.0.1.0 on linux 5. on this database we found so many block corruption with are related to indexes. some of the indexes rebuiled, and rebuilded indexes are working fine. But we have so many indexes corrupted. SQL> select co
-
Screen shot file time is wrong
I've taken a few screen shots in the past couple of days. I'm noticing that the time on the file is wrong for all of them. For example, I take a screen shot at 11:30 a.m., and the file, saved on the desktop, shows that the screen shot was taken at 3:
-
Database don't delete prom the table, help please !!
there is my code : Class.forName("sun.jdbc.odbc.JdbcOdbcDriver").newInstance(); Connection con=DriverManager.getConnection(jdbc:odbc:Medic); con.setReadOnly(false); try{ Statement st=con.createStatement(ResultSet.TYPE_SCROLL_SENSITIVE,ResultSet.CONCU