Change variable and re write

can enyone change this variable and rewrite this program????
public class CommonBirthdays
public static void main(String args[])
int NumberOfTrials=1000;
int NumberOfStudent=40;
int birthdays=0;
int b[]=new int[NumberOfStudent];
for(int a=0; a < NumberOfTrials; a++)
for(int i=0; i < NumberOfStudent; i++)
b=(int)Math.floor((Math.random() * 365.0) + 1);
for(int i=0; i < b.length; i++)
boolean common=false;
for(int j=i+1; j<b.length; j++)
if(b[i]==b[j])
common=true;
if(common)
birthdays++;
break;
double probability=((double)birthdays/((double)NumberOfTrials))*100;
System.out.println("The total number of trials made : "+NumberOfTrials + "\n");
System.out.println("The amount of same birthdays : " birthdays "\n");
System.out.println("The probability of same birthday in a class is : " + probability + "%");

here you are, [all] variable[s] changed...
public class CommonBirthdays {
  public static void main(String args[]) {
    int a=1000;
    int b=40;
    int c=0;
    int d[]=new int;
for(int e=0; e < a; e++) {
for(int f=0; f < b; f++)
d[f]=(int)Math.floor((Math.random() * 365.0) + 1);
for(int f=0; f < d.length; f++) {
boolean g=false;
for(int h=f+1; h<d.length; h++)
if(d[f]==d[h])
g=true;
if(g) {
c++;
break;
double i=((double)c/((double)a))*100;
System.out.println("The total number of trials made : "+a + "\n");
System.out.println("The amount of same birthdays : " c "\n");
System.out.println("The probability of same birthday in a class is : " + i + "%");

Similar Messages

  • Format for Predefined lists of repeated measurements with changing variables

    Hi,
    I am a scientist and trying to draw an instrument ("writing a script" sounded wrong for LabView ) that is supposed to perform repeated measurements in an imaging experiment.
    I want to be able to give the instrument a list that defines the values for several variables for each repetition, because I want it to do different things in different episodes of the experiments and/or alternate different acquisition methods. In this way I can use the same script for a wide range of experimental paradigms.
    I am trying to decide on the format in which I could write the sequence to LabView to read. I looked into XML, but the LabView scheme seems pretty useless. If I use a textfile I would have to program a parseing script myself. If I use binary files I need to program an editor.
    I also thought about whether I want a line by line execution protocoll or just changing variables and leaving the execution protocoll integrated in the instrument. However, the latter would reduce the versatility.
    What would you think is a good way to do it?
    In general each measurement consists of:
    0. wait for a defined time (always the same)
    1. light on (different light sources)
    2. acquire images (different durations, exposure times, frames numbers)
    3. trigger a device (not in all repetitions, maybe changing devices in future)
    4. turn on a channel (changing channels)
    5. acquire images (different durations, exposure times, frames numbers - also different from step 2)
    6. turn off the channel (same as in 4)
    7. acquire images (different durations, exposure times, frames numbers - also different from step 2 and 5)
    8. light off (same source as 1)
    So there is basically a repetitive pattern. The image acquitisition 'epics' are performed by the same device, everything else is switching on and off channels of a NI PCI.
    Dennis
    P.S. I use LabView 2009

    I'm in agreement that your best bet would be a simple CSV or tab delimited file.  You can edit these in Excel, which makes the writing a lot easier.  There is the Read Spreadsheet File VI which can give you a 2D array for your steps and parameters.
    So, to keep it simple, use a csv.
    There are only two ways to tell somebody thanks: Kudos and Marked Solutions
    Unofficial Forum Rules and Guidelines

  • Session variable and initialization block issues

    We are using OBIEE 10.1.3.3 and utilizes built in security features. (No LDAP or other single sign on). The user or group names are not stored in any external table. I have a need to supplement Group info of the user to the usage tracking we implemented recently as the NQ_LOGIN_GROUP.RESP column contains username instead of group name. So I created a session variable and associated with a new initialization block and also had a junk default value set to the variable. In the initialization block, I wrote the following query and as a result it inserted correct values into the table when the TEST button was clicked from the initialization block form.
    insert into stra_login_data (username, groupname, login_time) values ('VALUEOF(NQ_SESSION.USER)', 'VALUEOF(NQ_SESSION.GROUP)', SYSDATE)
    My intention is to make this execute whenever any user logs on. The nqserver.log reports the following error and it doesn?t insert values into the table.
    [nQSError: 13011] Query for Initialization Block 'SET_USER_LOGIN_BLOCK' has failed.
    [nQSError: 23006] The session variable, NQ_SESSION.USER, has no value definition.
    [nQSError: 13011] Query for Initialization Block 'SET_USER_LOGIN_BLOCK' has failed.
    [nQSError: 23006] The session variable, NQ_SESSION.GROUP, has no value definition.
    When I changed the insert statement as below, this does get populated whenever someone logs in. But I need the values of GROUP associated with the user as defined in the repository.
    insert into stra_login_data (username, groupname, login_time) values ('TEST_USER', TEST_GROUP', SYSDATE)
    Could someone help me out! As I mentioned above, I need the GROUP info into the usage tracking. So, if there is another successful approach, could you please share?
    Thank you
    Amin

    Hi Amin,
    See [this thread|http://forums.oracle.com/forums/thread.jspa?messageID=3376946&#3376946]. You can't use the GROUP session variable in an Init Block unless it has been seeded from an Init Block first. There isn't an easy solution for what you want, but here are some options:
    1) Create a copy of your User => Groups assignments in your RPD in an table so you can use it in your Usage Tracking Subject Area. But this means you will have to replicate the changes in two places so it's not a good solution.
    2) As the GROUP session variable is populated when you login you could theoretically use it a Dashboard and pass it a parameter to write the value to the database. But as I am not sure how can you make fire only once when the user logins it sounds like a bad idea.
    3) Move your User => Groups assignments from your RPD to a DB table. Use OBIEE Write Back or something like Oracle APEX to maintain them.
    I think 3) is the best solution to be honest.

  • Using Shared Variables and Initialize Front Panel Binding (to PSP)

    Hi,
    I use LV DSC RT 8.2.1
    I have a Vacuum System That includes signals from - Pumps failure, Valves status, Vacuum gauge, start Pump ...
    Each signal is read by a FieldPoint. 
    All the relevant FieldPoint Channels are read by the Server (a computer in the Ethernet Network) and published to the network in the form of Shared Variables.
    I have a client VI that is reading the Shared Variables published by the Server using Front Panel Binding.
    Problem : 
    Some of the Bindings are in the mode 'Write &Read' and that causes some initialization problems.
    For example - Valve #1 is Open, and then a User start running the Client VI, (the Valve #1 Status mode is 'Write & Read")
                           if in the VI the status of Valve #1 is closed (before running it) then the Valve status is changing to Closed.
    I want the Client VI to first read the Physical status of the instrument and then to change the Value if the User changes it.
    But that's seems to be a problem when using Front Panel Binding... (is it?)
    I know I can Deploy a lvlib in the Client Side and Item Bind to the Shared Variables or Use DataSocket.
    (Is DataSocket is a Reliable method when connecting to Shared Variables? What are the disadvantages when using DataSocket?) 
    What is recommended by those of you that are experienced or by NI ?
    Sincerely Yours,
    Amitai Abramson.

    Amitai Abramson,
    Hello and thanks for using the NI Forums.
    I'm glad that you've read the Using the LabVIEW Shared Variable Tutorial on our website. Check out these other resources:
    Network Variable Technical Overview
    Troubleshooting Network-Published Shared Variables
    Why Do I See Unexpected Value Change Events for Shared Variables Using LabVIEW DSC?
    All You Need to Know About Shared Variables
    Creating a Value Change Event for Shared Variables
    Alternative Method for Using Shared Variables Between Systems in LabVIEW 8.x
    What Is The Difference Between Using Shared Variables And DataSocket VIs To Access OPC Tags?
    The issue that you are seeing by having "Write & Read" bound items on both the server and client side is essentially a race condition, you don't know which one is being read/written at what time. To resolve this issue I would take a look at some of the documents below.
    Using a Local, Global, or Shared Variable in Parallel Loops Can Cause Race Conditions
    Using Local and Global Variables Carefully
    Tutorial: Local Variable, Global Variable, and Race Conditions
    Locking a Shared Resource or Variable in LabVIEW Using Semaphores
    You mentioned not wanting to have two sets of shared variables (one on each side), but this is a great method to resovle this issue, that, or you can develope some sort of hand shaking to prevent these race conditions.
    I would suggest that in the future when using these forums you try to ask only one question per thread and make it more concise. It's hard to tackle multiple questions and such broad questions as "I want to know all the ways that I can connect to Shared Variables, and I want to know the advantages and disadvantages." I suggest this because we want you to get your questions answered and more concise questions will result in quicker and better answers. 
    Message Edited by Ben S on 10-01-2009 06:05 PM
    Ben Sisney
    FlexRIO V&V Engineer
    National Instruments

  • Storing carriage return and other special characters in a TestStand variable and passing to LabVIEW

    I am using TestStand step to call a LabVIEW VI that writes commands to a serial device.  The device expects a carriage return at the end of the command.  I can create a constant string in TestStand with the carriage return, e.g., "ATA\x0D" and pass that to a LabVIEW string control which shows ATA\r and the VI works properly.
    To provide consistency and flexibility in my code, I want to store the terminator character(s) in a TestStand variable.  However, when I try to use an expression to create the command string, i.e. "ATA" + "Locals.Terminator", where Locals.Terminator is set to "\x0D", my LabVIEW VI string control shows "ATA\\x0D" which doesn't work.  And when I try Locals.Terminator set to "\r", the LabVIEW string control shows "ATA\\r" which doesn't work either.
    Is there a way to store special characters in a TestStand variable and pass them to LabVIEW as special characters?  I saw in another post that if you edit the TestStand variable by pressing Cntl-Enter, it will store  the newline \n properly and it can be sent to LabVIEW - that works for me as well for \n.  But  I need to send a carriage return.
    I've attached my test sequence and the corresponding LabVIEW VI with a string control.
    Hans
    Attachments:
    Special Chars.seq ‏27 KB
    String Passing.vi ‏13 KB

    Hi Hans, 
    Thanks for your detailed explanation and examples.  In TestStand, change the String parameter's String Type to Binary String instead of ASCII.  Then it will pass the desired value.
    Cheers,
    David Goldberg
    National Instruments
    Software R&D

  • BEx Analyzer Not showing report result in canceling "Change variable Icon"

    Hi Experts,
    Do we have any settings in BEx Analyzer for retrive the Result set even after I click 'Change variable Icon' in Toolbar and cancel the variable pop-up window??
    Eg: My query Result is displayed in Analyzer selecting some vaues in Selection screen.And when I click the Change Variable Icon from 'Analyzer Toolbar' its showing me 'Select values for variable' window.If I select the cancel button in it, then Query result becom blank showing the message "There are variables; change variable values". Do Analyzer having an option or settings to keep the result even if i cancel the variable selection from "change variable icon".
    Thanx in advance..

    Sari-
    If SAP provides such a function, I have not found it. The way I understand it., the change variable value initiates the OLAP back end. This clears the Presentation Manager front end, and clears the 'results' that are displayed on your workbook. If you cancel the OLAP run, the front end clear still executes.
    HOWEVER... if you turn OFF Automatic Refresh before clicking on Change Variable Values and then clicking on Cancel, the presentation manager will not write any changes to your workbook. So that is your best solution.

  • Question about shared variables and report generator

    I have a project with about 200-250 shared variables and at every 12 hours i want to make a report containing information about some boolean and double front panel variables linked to the shared variables... Now, i've tried with both the "Write Trace to SpreadSheet File" function from DSC->History and with different functions from NI Report Generation Toolkit. My problem is this: i would like to get my xls file to contain just the timestamps when my shared variable changed value. As it is, the number of rows in the file depends, obviously, on the sampling interval given as input. As an example, in 12 hours, my shared variable would change value maybe 5-6 times. Thus i would like my xls file to contain just 5-6 rows with those 5-6 changes. If i set the sampling interval to say, a matter of seconds, that would mean too much unneeded information in my xls file. Instead, if i set it to let's say 15 minutes, i would probably lose the moment the shared variable changed value. Is there a way for me to achieve my desired functionality with functions from DSC or Report Generation Toolkit? Thanks in advance, Sabin 

    Hi Mike and thanks for the reply. Actually, my first idea was exactly this: in an event case structure, whenever my variable changed value, i would retain the relevant data in an array and then at the 12 hour period write all of it in a report. However, my boss deeemed it memory unefficient and compelled me to use only one function. Thus my predicament... If you have more advice on this new info, i would be grateful... Cheers, sabin

  • How to define a changing variable in Broadcasting.

    I would like to run bex web report in background using information broadcasting in bw 3.5. I setup all required settings and it is running fine. But I would want the broadcaster should take changing variable (example: date or fiscal period etc) based on the execution date or other condition. (please note that this is not for including date and  time etc in description).
    I want broadcaster should take current date  or date range or fiscal period as variable (selection screen) while running the report. I have tried using filter variable tab in broadcaster. But it was taking only static dates.
    pls suggest.
    Thanks in advance.

    Could you please tell me in detail. Which user exit variable you have mentioned? I am already using user exits (code in CMOD) for variables in query and it is working fine.
    Now, I want to run the same query in background using information broadcasting. When i run the query it asks for user input (for example: date etc). I enter the current date and execute the report. But I dont want to enter current date each time. Instead i want to execute them in backgroun and system should take values by itself.
    Correct me if I am wrong. For this you suggested me write one more user variable where it will populate variable values for backgroun (not used in query)? pls reply.
    Thanks, points assigned.

  • How can I create a function using TestStand variables and call it from a step's Pre-Expression?

    In one sequence I have dozens of Pre-Expressions which are almost the same thing, like this...
    Locals.tagID = (Parameters.singlePhaseEnabled ? "L" : "D") & Str(Locals.phase) & "006"
    ...and the only thing different is that three digit string at the end ("006" will vary). How can I write a function that I can call from a step's Pre-Expression so it would look something like this? ...
    Locals.tagID = MyNewFunction("006")

    You cannot write custom commands for expressions.
    That being said, there are a couple of options:
    Create a subsequence with a single step. Use a parameter of the sequence as "function parameter".
    Create a custom step type including a substep module which implements the function. Add an edit substep to enable the user of the steptype to gracefully change the parameter.
    Store the variable parameter in a local/file global variable and modify the value in each step. This will, at least, keep the "function" the same for every step.
    Norbert

  • To Run GPS by changing variable in UPSPL transaction automatically??

    Can somebody tell me if it is possible through an ABAP code to run global Plannig Sequence by changing variable value automatically by just a single click of button. (for eg. If i have a variable which can be given 5 different values, and i want to run a Global Planning Sequence for each variable value. Then can i write a ABAP code so that on just a single click of botton this is possible.) It would be helpful if somebody can send me a demo code also. My email id is [email protected]
    Regards
    Rishi

    Hi Rishi,
    To Answer, How to run GPS through ABAP code -
    i do not know a planning function to run a GPS, but i have written an ABAP code thought with i'm executing 3 planning functions one after another using function module UPC_FUNCEXE.
    CALL FUNCTION 'UPC_FUNCEXEC'
      EXPORTING
        I_AREA                =
        I_PLEVEL              =
        I_PACKAGE             =
        I_METHOD              =
        I_PARAM               =
    IMPORTING
      ET_LOG                =
      E_ERROR_OCCURED       =
    you can call this function module multiple time in your ABAP code. it will work same as a Global Planning Sequence.
    Can you explain more about how do you want to execute a planning sequence on the change of variable value.
    Regards
    Tarun

  • Send Captivate user variables and values to the LMS ?

    Hi all. has anyone got a clever way to send a bunch of Captivate user variables and their values to an LMS (Moodle) so that they end up recorded as part of the SCORM course results or do these need to be explicitly part of a Quiz ? I think that I can setup where I get these values from the Learner so that they take the form of a Quiz (even though there is not a right answser) and set the the LMS settings to record interactions and scores. But is there an easier way to send them via LMSSetValue or even using a widget ?
    Fergal

    You can do it, but it will definitely not be the easiest way to achieve the objective. The accessibility of your web form will determine what you can and can not do.
    The first issue would be populating the field of the form, and that can be achieved by actually re-generating the form programmatically and assigning a value to the html value tag for that field.
    The second issue of "click on the button" is not trivial. If you're in the windows environment you will have to get into intercepting windows messages from the message queues and get the handle of the web browser window and after finding all the relevant information that will change every time this process is performed, is in my opinion not worth the effort.
    I would approach this di
    fferently in looking at what you are trying to achieve in the first place and that is to do directly with the data what the form would've done.
    Forms will either send some e-mail to someone using the submitted data or submit information to a database or write it to a file. If you have a cgi script behind the form you can pass the information directly to the script rather, i.e call the scrip directly in the same way the form would've using your program and skip the form.
    If you can be specific about your objectives and give me details about the forms and detail on the web server type and the capabilities of handling various types of cgi scripts I can give you detailed advice and pointers towards achieving the solution.
    Questions you need to answer:
    What would the form do with the data? (mail, file, database etc.)
    How many fields do you need to submit?
    What type of web server are you running? (IIS, Apache etc.)
    Were is the form hosted, on the www
    or on an intranet?
    Is it accessible to you to change/add scrips to it?
    Hope this helps.
    Best regards
    Jattie van der Linde
    Engineering Manager, Software & Automation
    TEL Magnetic Solutions Ltd

  • BEx crashes when changing variable values

    Hi all,
    We're having a problem with BEx.
    It crashes when trying to change variable values.
    We've been looking into syslogs and dev logs and so on,
    and found that the cpic connection has been disconnected
    before the crash. BUT we cannnot find out what is actually
    disconnecting the session.
    Well, at least F/W wasn' the cause. Have check the logs.
    Any ideas? Thx in advance!
    Yuko
    Below is our info.
    BEx: BI 7.10 sp7
    BI: BI 7.0 SAPKW70017
    <BI syslog at the time of BEx crash>
    15:40:36 RD                                 Q0  I Operating system call recv failed (error no. 232 )
    15:40:36 RD                                 S2  3 Connection to CPI-C client 586 was closed
    15:40:36 RD                                 S7  4 > Partner LU name:
    15:40:36 RD                                 S0  R > Host: 172.19.xx.xxx
    15:40:36 RD                                 S0  I > Partner TP Name: EXCEL
    15:40:36 DIA  000 500 BIB103                R4  9 Communication error, CPIC return code 020, SAP return code 223
    15:40:36 DIA  000 500 BIB103                R5  A > Conversation ID: 82142217
    15:40:36 DIA  000 500 BIB103                R6  4 > CPI-C function: CMSEND(SAP)
    <dev_rd log trace level 3>
    GWRD LOOP **********
    I'm in GwReceive
    SiSelPSelect: start select (timeout=20000)
    Thu Apr  9 15:40:36 2009
    SiSelPNext: an error occurred in sock 31
    NiSelISelectInt: error detected on hdl 18 / sock 31
    NiSelIListInsert: add hdl 18 [17] to sel-list (0) of set0
    NiSelISelectInt: 1 handles selected (0 buffered)
    main: NiSelNext (ni_hdl=18, read=1, write=0, connect=0, hdl_info=0x6000000000587400)
    request from CLIENT
    GwRequest: request from client 586
    GwGetMemory: allocated 0x600000000089bee0 (len=34615)
    NiHsLGetHostName: found address 172.19.xx.xxx in cache
    ***LOG Q0I=> NiIRead: recv (232: Connection reset by peer) [nixxi.cpp 4423]
    ERROR => NiIRead: SiRecv failed for hdl 18 / sock 31
        (SI_ECONN_BROKEN/232; I4; ST; 172.19.xx.xxx:1097) [nixxi.cpp    4423]
    Adresse   Offset  bad request
    GwSaveErrInfo2: save err info (225)
    ***LOG S23=> GwIDisconnectClient, client disconnected (586) [gwxxrd.c     11657]
    ***LOG S74=> GwIDisconnectClient, client disconnected ( SY08472) [gwxxrd.c     11665]
    ***LOG S0R=> GwIDisconnectClient, client disconnected () [gwxxrd.c     11704]
    ***LOG S0I=> GwIDisconnectClient, client disconnected ( EXCEL) [gwxxrd.c     11713]
    LOCATION    SAP-Gateway on host mxxx112 / sapgw01
    ERROR       connection to partner '172.19.xx.xxx:1097' broken
    TIME        Thu Apr  9 15:40:36 2009
    RELEASE     700
    COMPONENT   NI (network interface)
    VERSION     38
    RC          -6
    MODULE      nixxi.cpp
    LINE        4423
    DETAIL      NiIRead
    SYSTEM CALL recv
    ERRNO       232
    ERRNO TEXT  Connection reset by peer
    COUNTER     790

    Just FYI.
    After all, we ended up applying BEx addon patch 9.
    The problem about the BEx crash seemed to be fixed in patch 8, but another problem (I heard it was about something to do with report jump function) was not fixed. As a result, we skipped patch 8 and applied 9.
    Both problems were fixed in patch 9.
    Many thanks to SDN informations.
    Yuko

  • What's the difference between global variables and instance variables?

    hi im just a biginner,
    but what is the difference between these two?
    both i declare them above the constructor right.
    and both can access by any method in the class but my teacher said
    global variables are not permitted in java....
    but i don't know what that means....and i got started to confuse these two types,,
    im confusing.......
    and why my teacher said declaring global variables is not permitted,,,,,,
    why.....

    instance variables are kindof like Global variables. I'm not surprised you are confused.
    The difference is not in how they are declared, but rather in how they are used.
    There are two different "styles" of programming
    - procedural programming.
    - object oriented programming.
    Global variables are a term from Procedural programming.
    In this style of programming, you have only one class, and one "main" procedure. You only create one instance of the class, and then "run" it.
    There is one thread of control, which goes through various methods/procedures to accomplish your task.
    In this style of programming instance variables ARE "global" variables. They are accessible to all methods. There is only one instance of the class, and thus only one instance of the variables.
    Global variables are "bad" BECAUSE you can change them in any method you like. Even from places that shouldn't have to. Also if you use the same name as a global variable and a local variable, you can cause great trouble. This can lead to very subtle bugs, as the procedures interact in ways you don't expect.
    The preferred method in procedural programming is to pass the values as parameters to the methods, and only refer to the parameters, and local variables. This means that you can track exactly what your method is doing, and what it affects. It makes it simpler to understand. If you use global variables in your methods, it becomes harder to understand.
    So when are instance variables not global variables?
    When you are actually using the class as an Object, rather than just a program to run. If you are creating multiple instances of an object, all with different values for their instance variables, then they are not global variables. For instance you declare a Person object with an attribute "firstname". Your "main" program then creates many instances of the Person object, each with their own "firstname"
    I guess at the end of all this, it comes down to definitions.
    Certainly you can write procedural code in java. You can treat your instance variables, for all intents and purposes like global variables.
    I can only think to show a sort of example
    public class Test1
       User[] users;
       public void printUsers(){
         // loop through and print all the users
         // uses a global variable
          for(int i=0; i<users.length; i++){
            users.printUser();
    public void printUsers(User[] users){
    // preferred method - pass it the info it needs to do the job
    for(int i=0; i<users.length; i++){
    users[i].printUser();
    public Test1(){
    User u1 = new User("Tom", 20);
    User u2 = new User("Dick", 42);
    User u3 = new User("Harry", 69);
    users = new User[3];
    users[0] = u1;
    users[1] = u2;
    users[2] = u3;
    printUsers();
    printUsers(users);
    public static void main(String[] args)
    new Test1();
    class User{
    String firstName;
    int age;
    public User(String name, int age){
    this.firstName = name;
    this.age = age;
    public void printUser(){
    // here they are used as instance variables and not global variables
    System.out.println(firstName + " Age: " + age);
    Shit thats a lot of typing, and I'm not even sure I've explained it any good.
    Hope you can make some sense out of this drivel.
    Cheers,
    evnafets

  • Differences Between Report Painter and Report Writer

    Hi,
    Anyone knows the differences between report painter and report writer?
    Thanks,
    CW

    Hello CW Teo,
    Yes report writer can be used in logistics also. One of the way which I am aware of is described below.
    Flexible analyses allow you to can tailor the way in which key figures are combined and aggregated. This means that it is possible to both provide administrators with detailed information and management with aggregated information.
    Flexible analyses enable easy access to the Report Writer, a user-friendly tool with which you can create reports for various analyses. The Report Writer is integrated in other SAP applications, such as Extended General Ledger and Cost Center Accounting.
    Evaluation structures form the interface to the Report Writer. Evaluation structures consist of characteristics and key figures and are easy to construct.An evaluation structure with the same name exists for each information structure in the standard system.Even the self-defined information structures created in Customizing can be evaluated via the flexible analyses.
    Evaluations:You can create an evaluation on the basis of the evaluation structure.
    To define an evaluation, all you need to do is select the characteristics and key figures you require (pick-up technique).One of the especially useful features here is that you have the option of tailoring the layout of your report to suit your particular requirements. You can also define extra key figures for the reports, which are derived from existing key figures by means of calculation formulas. You can thereby multiply the key figures or divide one key figure by another.
    ============================================================
    In addition to the above you can also edit a report in logistics module with the help of a report writer. below mentioned is the process for it.
    It is now possible to edit your report data using the Report Writer. You can also change the layout of the report. The most important functions of the layout design are summarized below.
    Summation levels:In the report screen, you can use the menu sequence View ->Summation level to specify the number of summation used to calculate total values. All totals that do not lie within the specified interval will be hidden. A summation level corresponds to a hierarchical level (for example, material level). Summation level 1 is the lowest hierarchical level. Summation level 2 is the next level up, and so on. The individual values are on the summation level 0.
    The summation levels can be specified both universally (for the entire report) or locally (for specific blocks of rows). In this case, the local settings overwrite global values.
    Report views:If a report is displayed on the screen, the Report Writer will then set page breaks so that exactly one page fits into the current window. This view will be defined as the standard view. As the Report Writer always processes exactly one page, you can only use the page keys and page icons to page up and down; the scroll bars cannot be used.
    The page view can be determined via Settings-> Page view. The page breaks in the page view correspond to those defined in the report layout.
    Hide and show rows:The function Edit->Hide rows exclude certain preselected areas of your report from the display. You can undo this command with Edit ® Show rows.
    Expanding and collapsing report rows:View-> Hierarchy->Collapse allows you to hide the report rows of the sub-trees that are located underneath. View->Hierarchy ->Expand allows you to undo this command level by level.
    If you want to display all the report rows that were hidden by collapsing the hierarchy or restricting the summation levels, select, View->Hierarchy-> Expand all.
    View->Collapse all allows you to reduced every row block to the highest summation level.
    Texts and Annotations:You can create an annotation for your report.
    Select: Extras->Annotation.
    You branch into the text editor of the Report Writer.
    Via the menu sequence Settings->Texts, you can create and format a title page, the last page, as well as headers and footers using word processing functions.
    For example, you can store variables in the header for the author of the report, the date of the selection or the name of the person who last changed the report.
    Layout parameters:Using the menu sequence Settings->Layout you can specify the page format, display form, rows and columns of the report according to your needs and you can determine the settings for the graphics function. You can make these layout settings with Report->Save settings.
    Hope I had been able to help you to some extent. please assign points as reward.
    Rgds
    Manish

  • What is the difference between variable and Define

    WHAT IS THE DIFFERENCE BETWEEN
    these different declarations when it is done using the keyword "variable" and "define"
    and both of these are done OUTSIDE "DECLARE"
    VARIABLE g_monthly_sal NUMBER
    DEFINE p_annual_sal =5000
    -- I understand that p_annual_sal will be taken as a CHAR.
    -- ALSO IF DEFINE variable acts as macro variable, SO is it necessary to give it some value whenever we define it.
    if not what value would be substituted for it?
    OR does that mean whenever we want to specify data type for a bind varible we should use VARIABLE and
    when we do not want to specify type we use DEFINE?
    THANK YOU
    Edited by: user6287828 on Feb 24, 2009 11:03 AM
    Edited by: user6287828 on Feb 24, 2009 11:04 AM

    Both are SQL*plus commands. In a real programming environment you will not use such constructs (except a few rare scripting cases).
    The difference is how the construct is later used. DEFINE is more like a copy&paste string. Whereever the name of this substitution variable is found it will be pasted into the sql*plus session.
    VARIABLE creates a real variable. You can change the value and if follwos the usual principles of variables (including binding).
    Example can be found the docs:
    from the docs
    Where and How to Use Substitution Variables
    You can use substitution variables anywhere in SQL and SQL*Plus commands, except as the first word entered. When SQL*Plus encounters an undefined substitution variable in a command, SQL*Plus prompts you for the value.
    You can enter any string at the prompt, even one containing blanks and punctuation. If the SQL command containing the reference should have quote marks around the variable and you do not include them there, the user must include the quotes when prompted.
    SQL*Plus reads your response from the keyboard, even if you have redirected terminal input or output to a file. If a terminal is not available (if, for example, you run the script in batch mode), SQL*Plus uses the redirected file.
    After you enter a value at the prompt, SQL*Plus lists the line containing the substitution variable twice: once before substituting the value you enter and once after substitution. You can suppress this listing by setting the SET command variable VERIFY to OFF.
    Using Bind Variables
    Bind variables are variables you create in SQL*Plus and then reference in PL/SQL or SQL. If you create a bind variable in SQL*Plus, you can use the variable as you would a declared variable in your PL/SQL subprogram and then access the variable from SQL*Plus. You can use bind variables for such things as storing return codes or debugging your PL/SQL subprograms.
    Because bind variables are recognized by SQL*Plus, you can display their values in SQL*Plus or reference them in PL/SQL subprograms that you run in SQL*Plus.
    Creating Bind Variables
    You create bind variables in SQL*Plus with the VARIABLE command. For example
    VARIABLE ret_val NUMBER
    This command creates a bind variable named ret_val with a datatype of NUMBER. See the VARIABLE command for more information. (To list all bind variables created in a session, type VARIABLE without any arguments.)
    Referencing Bind Variables
    You reference bind variables in PL/SQL by typing a colon (:) followed immediately by the name of the variable. For example
    :ret_val := 1;
    To change this bind variable in SQL*Plus, you must enter a PL/SQL block. For example:
    BEGIN
    :ret_val:=4;
    END;
    /

Maybe you are looking for