Variables for dates
Hi Experts,
i am trying to design an query,in which i have two charecteristics named as Start Date & End Date.
The values for start date & end date are diffrent for some records and same for same records.
i have the requirement to use start date and end date in the selection screen for variable entry and i have tried a lot by using diffrent methods.
could any body please suggest the simplest way to solve this.if it would work with user exits, please please give me some sample coding.
Thanks
Debasish
Not sure try this -
1. Create a Single value and User entry for Start Date.
2. Create a Single value and User entry for End Date.
3. In the query designer, restrict the Start date characteristic with this variable and while doing the restriction. Select the Selection as Value Rrange and then Greater than or equal to (for start date).
4. Similarly, restrict the End date characteristic with the variable and while doing the restriction. Select the Selection as Value Rrange and then Less than or equal to (for end date).
5. The idea is to ask the user for for single values of Start Date and End Date and then try running the query in that range.
Hope the above steps helps.
rgs,
Parth.
Similar Messages
-
Formula variable for date in report
Hi All,
I have to display the last date value of a particular date in the report.
For a better understanding,
I have Customer, Equipment, Service date, Amount
In the report, I have to display
Customer, Equipment, Last Service date, Last Service Amount.
I have created a formula variable (Formula variable for Service date) for Service date with Replacement path.
Replace Variable with Infoobject, Replace with Key, Dimension dates.
And in Key figures, I have created a formula (Last Service date) with Last value in the Aggregation using the "Formula variable for Service date".
The Last Service date is displayed as 'X' in the report since the Service date is not in the row. I cannot have the service date in the row either (not even by hiding the display).
Kindly tell me how to rectify this problem.
Thanks and Regards
Adhira Anand.The X is appearing because, with the drill downs you have added, you have more than 1 date value to choose from when you attempt to aggregate.
Have you tried using APD instead of exception aggregation?
Have you built the exception aggregation calculated key figure globally or just locally (i.e. as a structure element)? It must be built globally to work properly. -
Formula Variable for Date/year not possible
Hi, I have a query where I want to create a formula variable for a year that I can use in a user exit to populate other variables. When I go to create a formula variable there is not option for a date or year variable. I only see Amount; Quantity; Price; Number. Is it possible just to create a formula variable for a year input without having a year time characteristic in the query?
Thanks!I just ended up creating a Formual Variable as a number. Thank You
-
OLAP variable for data selection
hi all ,
can any own explain how the OLAP variable is used for data selection in the info package. how the value is changing in the Variable.
thanks in advance
rajanHi Rajan,
You will not be entering any date value. As Dirk mentions, the value will be filled into the variable by way of an exit, i.e. automatic processing according to some code.
Like your date variable can get you the first of the previous month from the exit processing.
Hope this helps... -
Replacement path variable for date not working
We have a formula variable using replacement path (BEx 7.0) for a date field and after that we have calculated key figures to perform date difference calculations.
This was working perfectly well until recently when the calculated key figures displayed an "X" instead of the value.
The value seems to appear only when the date fields are drilled down in the report.SO this works like a formula instead.
Is this just an unnatural case where something just stopped working ?
We have checked the calculated key figures and the formula variables , they havent been changed in the recent past.
Is there any other solution you could offer to get date differences without having the date fields in the rows ?
Edited by: ABCD on Jul 29, 2009 2:28 PMHow to use Replacement Path Variables to perform Date Calculations
A Step-by-Step guide
Have you ever wanted to perform calculations using dates defined as characteristics but have never worked out how it can be done? Replacement Path Variables are the key.
Using Replacement Path in your Text and Formula variables, replace values held in a characteristic. The Characteristic value variables are replaced by the results of a query at run-time.
The steps detailed below show a technique to enable a BEx query user to determine the number of days between two dates.
Scenario:
The group HR administrator wants a detailed line item report that lists all employee absences in a given period. The report is to show the employee number, the absence start date, together with the end date of the absence and show the number of calendar days the employee was absent.
The good thing about using this technique is that no redesign work is needed from your technical BW team, no ABAP is involved and best of all, it quick and easy.
Solution:
For this example I created an ODS object called Absence that holds basic employee information along with individual absence record data.
Follow the steps below:
1. Open the BEx Query Designer and create a new report on your chosen InfoProvider.
2. Drag the Employee, Valid from and Valid to characteristics into the Rows section of the screen.
If needed, apply data selection restrictions to the characteristics as shown in Figure 1.
3. Right click on the Key Figures structure and select New Formula (Figure 1).
Figure 1
4.
5. In the new formula window right click on Formula Variable and choose New Variable ( Figure 2 ).
Figure 2
6.
7. The Variables Wizard will launch and will require you to specify the variable details.
( Click the NEXT button if the Introduction screen appears )
8. Enter the variable details on the General Information as shown in Figure 3 .
Enter the Variable Name , Description and select Replacement Path in the Processing by field.
Click the Next Button.
Figure 3
9.
10. In the Characteristic screen (Figure 4) select the date characteristic that represents the first date to use in the calculation (From Date).
Click the Next Button.
Figure 4
11.
12. In the Replacement Path screen (Figure 5) select Key in the Replace Variable with field. Leave all the other options as they are (The offset values will be set automatically).
Click the Next Button.
Figure 5
13.
14. In the Currencies and Units screen (Figure 6) select Date as the Dimension ID.
Click the Next button.
Figure 6
15.
16. The Save Variable screen (Figure 7) displays a summary of the new variable.
Click on the Finish button to save the variable.
Figure 7
17.
18. Repeat steps 4 to 11 to create a second variable for the second date to be used in the calculation.
In the example shown, the characteristic 0DATETO is used to create the variable ABSEND (Absence End Date).
Define the Calculation
We can now use our two new replacement variables to define our new calculated key figure that generates the number of absence days for each record.
1. You will now be back at the New Formula screen (Figure 8). Drag and drop the two new variables into the formula section of the screen and insert the subtract sign (u201C-u201C) between the two.
2. Give the new formula a description and click the formula syntax check button to ensure the formula is valid.
Figure 8
3.
4. The new calculated key figure will now show in the columns section of the BEx query designer (Figure 9).
Figure 9
5.
6. Save the query and execute it.
In the example shown the Number of Calendar Days Absent is calculated correctly. See the table of results below.
Employee Valid From Valid To Number of Calendar
Days Absent
50000001 17/04/2004 21/04/2004 4
50000002 16/07/2004 29/09/2004 13
50000003 07/01/2004 09/02/2004 33
50000004 04/08/2004 05/08/2004 1
Cheers:)
Vivek -
"global" variables for data slices
Hello experts,
Can someone tell me how to create a global variable which can be set for all user of a planning application?
I want to use this variable to be used by one or two users, so that they can lock the planning data by setting the variable. The variable will be used in a data slice and by changing the value of the variable, they are also able to change the range of the data slice. I thought that I found the solution, but in the end I remembered that variables are user specific and therefore has to be set for each user.
I hope that one of you has a solution (not using STS) for this problem.
Kind regards,
Harald van der MeijHallo Harald
I see your point and i hope this can help you.
Create a Variable of type exit which get the values for data freezing.
For example: Calmonth.
then in the Function Module, derive Calmonth making the Select from a custom table. give the rights to the two user to maintain the table for lock and unlock the planning.
Based on entries on the tables, then you can have the value for Calmonth. based on it you freeze or unfreeze the data.
of course you can use any Characteristic.
for example:
you want to freezee from 01.2005 to 10.1005. pass these values to the variable making a select from the custome table (Zfreezing) where you maintain 01.2005 to 10.2005.
if you need then to reopen the planning, then cahnge the values in the tables and consequentely to the variables.
the user can maintain entries in the tables.
When you create the table assign an authorization group and then create a role with it and assing these the two users.
Regards
Mike -
Hello
I have a question about bind variable.
I have a simple query which is a stand alone SQL.
Its simple select
select a, b , c from table1, table 2
where table1.g1 = table 2.p1
and table1.pnumber like :var1 || '%'
and table2.check_date between :var2 and :var3
This SQL is embedded in another piece of code.
I have table1.pnumber like :var1 || '%'
So even when I do not pass any value for var1, it will run fine because I concatenate a % with it.
But my question is how can I do the same for "table2.check_date like :var2 "
I can not append % with it because then it throws an error.
How can I modify my SQL so that I can run it without giving any value for var2 and var3.
I do not want to use an or condition in which I give a default value of date.
Is there any way to modify the SQL so that I can run it without giving a value for var2 and var3
Thanksvar var2 varchar2(11)
var var3 varchar2(11)
EXEC :VAR2 := '01-JUN-1981'
PL/SQL procedure successfully completed.
EXEC :VAR3 := '30-JUN-1981'
PL/SQL procedure successfully completed.
select * from emp
where nvl2(:var2,hiredate,to_date('01-JAN-2000','DD-MON-YYYY')) between
nvl(to_date(:var2,'DD-MON-YYYY'),to_date('01-JAN-2000','DD-MON-YYYY'))
AND
nvl(to_date(:var3,'DD-MON-YYYY'),to_date('01-JAN-2000','DD-MON-YYYY'))
EMPNO ENAME JOB MGR HIREDATE SAL COMM DEPTNO
7782 CLARK MANAGER 7839 09-JUN-81 2450 100 10
EXEC :VAR2 := NULL
PL/SQL procedure successfully completed.
EXEC :VAR3 := NULL
PL/SQL procedure successfully completed.
EMPNO ENAME JOB MGR HIREDATE SAL COMM DEPTNO
7782 CLARK MANAGER 7839 09-JUN-81 2450 100 10
7839 KING PRESIDENT 17-NOV-81 5000 100 10
7934 MILLER CLERK 7782 23-JAN-82 1300 100 10
7566 JONES MANAGER 7839 02-APR-81 20
7902 FORD ANALYST 7566 03-DEC-81 20
7876 ADAMS CLERK 7788 12-JAN-83 20
7369 SMITH CLERK 7902 17-DEC-80 20
7788 SCOTT ANALYST 7566 09-DEC-82 20
7521 WARD SALESMAN 7698 22-FEB-81 30
7844 TURNER SALESMAN 7698 08-SEP-81 30
7499 ALLEN SALESMAN 7698 20-FEB-81 30
7900 JAMES CLERK 7698 03-DEC-81 30
7698 BLAKE SALESMAN 7839 01-MAY-81 30
7654 MARTIN SALESMAN 7698 28-SEP-81 30
Message was edited by: Priyasagi -
Using TCP or shared variable for data transfer
I am trying to send a large amount of numbers from a real-time module to a host computer. These numbers have been arranged into a large array, such as an array with 10s of thousands of points. The time critical portion of getting the information has already been done, so the data transfer back to the host VI is not time critical. I know I will need to break the large array down into smaller arrays and then reform the large array after all the information has been sent. I know how to use both TCP and shared variables with FIFO. What I am unsure of is which one is better to use for this application. I do not know what the maximum size arrays I can send through either.
Also, from what I have gathered from using LabView is that the sender has to be listening for a connection before the client opens a connection, or else it will throw an error. When I tried breaking it down into 50 points, if i did not wait long enough in the host VI or if I did not put a long enough wait function in the RT loop, and error would throw, so it would take a long time to transfer the data when it worked properly.
Any help or suggestions is appreciated, thanks.Regarding the array size question, there is no real limit (other then the amount of memory in your system) to the size of data that you can transfer in a single block using either TCP or the Shared Variable. In your case you can easily transfer an array with 10's of thousands of data points in a single write operation. Both TCP and the Shared Variable will automatically handle breaking up the data for the maximum packet size on Ethernet and then reconstitute the array on the receiving end. In LabVIEW you will simply get back the array as a whole without needing to worrying about how the data is broken into smaller packets on the Ethernet.
I tested the attached example which transfers 400kB per block (50000 Doubles) without any problems. You do need to have the Server (in this case RT) running first before the client (Windows) can connect.
Message Edited by Christian L on 02-09-2007 11:34 AM
Christian Loew, CLA
Principal Systems Engineer, National Instruments
Please tip your answer providers with kudos.
Any attached Code is provided As Is. It has not been tested or validated as a product, for use in a deployed application or system,
or for use in hazardous environments. You assume all risks for use of the Code and use of the Code is subject
to the Sample Code License Terms which can be found at: http://ni.com/samplecodelicense
Attachments:
TCP.JPG 44 KB -
Use of Shared Variables for data transfer from a RT traget to a desktop application
Hi,
I want to adopt the shared variables to share data in an existing distributed application comparable with the T3 Benchmark configuration in this document:
[1] http://zone.ni.com/devzone/conceptd.nsf/webmain/5B4C3CC1B2AD10BA862570F2007569EF
The current implementation uses a well tuned solution with RT FIFOs and TCP/IP communication with a desktop-PC which monitors and stores the data.
The desktop application runs with a much slower execution rate than the TCL. So the TCP/IP packets are used to buffer the data with a package size dependent on the data send rate.
To use the shared variables instead of this RT FIFO + TCP/IP implementation I need to read the shared vairable buffer at once each time the desktop application reads the shared variable.
But according to this quotation from [1]:
"With buffering, you can account for temporary fluctuations between read/write rates of a variable. Readers that occasionally read a variable slower than the writer can miss some updates."
this seems to be impossible. Am I right?
Are there any suggestions to circumvent this problem? Or are shared variables not made to share data between unsynchronized processes without data loss?
Regards TillYou can use the error-cluster to detect the end of your queue. The erroroutput of the shared variable will return a -2220 Warning, if it reads a value it has read already before. I attached a modified example and saved it for 8.2 I hope you can open it.
Attachments:
readbuffered82.zip 51 KB -
Hi gurus,
I am trying to fill a formula variable of type date via manual entry, but I cannot find which is the correct way to do it. I can introduce any other type of data (amount, prices...) via manual entry but I can´t do the same with dates. Any help about this??
Thanx.Hi Ortiz,
You can do it like this:
1. Create one variable based on any date field.
2. In you query In column create 1 selection, restrict any key figure with this variable (created above). In display property set Hide.
3. Create 1 formula variable with processing type customer exit and choose dimension as date.
4. Now in CMOD, write the below code for your formula variable:
Suppose the source variable name is ZDATE1,
Forumla var name is ZFinal_date
Code it like this:
when 'ZFinal_date'.
READ TABLE i_t_var_range INTO wa_value WITH KEY vnam = 'ZDATE1'.
wa_range-low = wa_value-low.
wa_range-opt = 'EQ'.
wa_range-sign = 'I'.
APPEND wa_range TO e_t_range.
Now u will get the date inputed value in your formula cariable.
5. Create 1 CKF and do the subtraction in there:
if ur key figure name is KF1 then type forumal as:
KF1 - ZFinal_date.
Hopefully u wil get the desired output.
Thanks
Dipika -
Formula variable for date calculations with date-characteristics (2004s)
Hi SDN,
I'd like to calculate the number of days between to date-characteristics. In 3.5, I was used to create 2 formula variables of the type 'replacement path', with 'date' as the dimension indicator. In my formula, I used the 'proces value as date' function for each variable, and I could perform calculations with them.
I'm trying to do the same in 2004s. However, I can't create replacement path's with 'date' as a dimension indicator. So I use 'number' instead, but it doesn't work: my query shows 'x'.
I can use the variables that I created using the 3.5 query designer as a workaround. But I hope there is a better solution.
If other people experience the same problem, please respond. Then I know it's probably a bug.
Kind regards,
DanielDaniel,
Try to look at the formula variables defined before the upgrade and see what is different to the newly defined. I am guessing just the terminology used is different.
If not the date value might be blank or something for one of the f-variables used. Try to display the formula variable values as KF in the query results and check what it is showing.
I hope this helps.
-Bala -
Customer exit variable for date range for the last day
Hi,
If user enters date ranges in variable
suppose user enters 9/1/2010 to 9/15/2010 and we have to calculate currency conversion based on last day i..e 9/15/2010 . 08
2)User input is date range 08/01/2010 to 08/30/2010
I need from the customer exit 08/30/2010 (on last day) to calculate currency conversion.
Can anyone help me with ABAP code to achieve this customer exit?And please tell me how to proceed step by step
Sridharcreate a variable to enter date range (ZDATE1)
create a key date variable(ZDATE2) with processing type customer exit, should not be ready for input.
In the exit ZXRSRU01 write below code.
DATA: l_s_range TYPE rsr_s_rangesid,
loc_var_range LIKE rrrangeexit.
WHEN 'ZDATE2'.
IF i_step = 2.
read table i_t_var_range INTO loc_var_range
with key vnam = 'ZDATE1'.
CLEAR l_s_range.
l_s_range-low = loc_var_range-high.
l_s_range-sign = 'I'.
l_s_range-opt = 'EQ'.
APPEND l_s_range TO e_t_range.
ENDIF. -
How to use string Variables for data provider names
Really what I need to be able to do is insert the variable
name in this:
dataProvider="{chartXML2.lastResult.month.day}"
I need to replace the "month" with a string variable name
(i.e public var monthName = "January";)
I also need to do the same for the categoryfield as it will
not let me do categoryfield=$String.
In PHP this is incredibly easy to do. You just say
blah=$string . In fact, in PHP you can embed variable names
everywhere. Its very powerful. For instance, in php, for the
dataprovider issue above, i'd just do
dataProvider="{chartXML2.lastResult.$StringName.day}"
and it'd work just fine. Whats the syntax for doing this in
Flex?You can use bracket notation. But don't. Use a reuslt handler
to wrap the xmllist in an XMLListCollection instance variable and
bind to that.
Tracy -
F4 help for Date field and Validation
Hi Friends,
I am new to BSP programming .I knew getting F4 help in normal ABAP.But i don't know in BSP .
I want simple steps to get F4 for a field on Page as well as date field .
and How to valid those entered dates.
Presently i am using length 10 character variable for DATE without F4 help and No validation.
I think you guys will help me out.
Thanks,
Venkat.OWelcome to SDN.
for F4 help with validation for dates you can use the following code.
<htmlb:inputField id = "wf_ad_date"
type = "date"
showHelp = "TRUE"
value = "<%= sy-datum %>"
visible = "true"
disabled = "false"
required = "true"
maxlength = "10"
size = "10"
doValidate = "true"
design = "standard" />
For other type of fields check out this weblog by Thomas Jung
<a href="/people/thomas.jung3/blog/2005/08/22/bsp-value-input-help-popups-version-30 Value Input Help Popups Version 3.0</a>
Regards
Raja -
I end up having to take a lot of high sample rate data for relativily long periods of time. When I save the data it is usually over 100 MB. When I load the data for post-processing though the amount of memory used is excessively higher than the file size. This causes my computer to crash because 1.5 GB is not enough. Is there a way to stop this from happening withoput splitting up the file into smaller files.
LabVIEW can efficiently handle large files, far beyond 100Mb, provided that care is taken in the coding of the loading/processing routines. Here are several suggestions:
1) Check out the resources National Instruments has put together (NI Developer Zone > Development Library > Measurement and Automation Software > LabVIEW > Development System > Optimizing Applications > Managing Memory), specifically the article entitled "Managing Large Data Sets in LabVIEW".
2) Load and process the data in chunks if possible.
3) Avoid sending the data to front panel indicators, using local/global variables for data storage, or changing data types unless absolutely necessary.
4) If using LabVIEW 7.1, use the "show buffer" tool to determine when LabVIEW is creating extra
copies of data in memory.
Maybe you are looking for
-
How can I add linkable urls when making a web gallery
I need linkable urls on a web gallery page - ie opening in the browser, preferably in a new window/tab. I thought I had it by manually editing: <contactEmail>url:http://mysite.co.uk</contactEmail> This *does* load Firefox, but the appended 'url:' is
-
Acrobat 7.0 Professional file disappears after loading
Recently my co-worker ran into the following problem: every time she opened a PDF file, the file would load, display on the screen and then disappear. Acrobat would still be open and the title bar would still display the file name, but the file would
-
Hello, I am looking for some help because I am out of options. When I open up a pdf through IE, and use the add-on toolbar, none of the buttons can be used. They are all "frozen" except for the zoom function. This is the case for multiple or any docu
-
CVS JDev 9.0.3.4 compare
I am trying to compare a local modified Java source file with the latest release of the file in the repository with the command : right clic -> source control -> compare with previous version and I have this CVS error : unable to perform cvs file dif
-
Director 11 in Adobe News?
Why was Director 11 not mentioned in the News section of Adobe's home page?