Please give me flowchart for this code...

Writing a Java applet to communicate with a serial device attached to the Device
Server is very straightforward. However, familiarity with Java programming and a
Java compiler are required.
As with any network application, open a communication channel to the remote
device. In our example, a socket is opened and and two data streams are created to
perform the actual sending and receiving of data.
The following example uses a new Java Class called tcpip. Copy the following code
into a file called tcpip.java.
import java.*;
import java.lang.*;
import java.net.*;
import java.util.*;
import java.io.*;
* This class opens a TCP connection, and allows reading and writing of byte
arrays.
public class tcpip
protected Socket s = null;
public DataInputStream dis = null;
protected DataOutputStream dos = null;
public tcpip(InetAddress ipa, int port)
Socket s1 = null;
try { // Open the socket
s1 = new Socket(ipa.getHostAddress(), port);
catch (IOException e) {
System.out.println("Error opening socket");
return;
s = s1;
try { // Create an input stream
dis = new DataInputStream(new
BufferedInputStream(s.getInputStream()));
catch(Exception ex) {
System.out.println("Error creating input stream");
try { // Create an output stream
dos = new DataOutputStream(new
BufferedOutputStream(s.getOutputStream()));
catch(Exception ex) {
System.out.println("Error creating output stream");
public synchronized void disconnect()
if (s != null) {
try {
s.close();
catch (IOException e){}
public synchronized void send(byte[] temp)
try {
dos.write(temp, 0, temp.length);
dos.flush();
catch(Exception ex) {
System.out.println("Error sending data : " + ex.toString());
public synchronized void send(byte[] temp, int len)
try {
dos.write(temp, 0, len);
dos.flush();
catch(Exception ex) {
System.out.println("Error sending data : " + ex.toString());
public synchronized void send(String given)
// WARNING: this routine may not properly convert Strings to bytes
int length = given.length();
byte[] retvalue = new byte[length];
char[] c = new char[length];
given.getChars(0, length, c, 0);
for (int i = 0; i < length; i++) {
retvalue[i] = (byte)c;
send(retvalue);
public synchronized byte[] receive()
byte[] retval = new byte[0];
try {
while(dis.available() == 0); /* Wait for data */
catch (IOException e){}
try {
retval = new byte[dis.available()];
catch (IOException e){}
try {
dis.read(retval);
catch (IOException e){}
return(retval);
public int available()
int avail;
avail = 0;
try {
avail = dis.available();
catch (IOException e) {}
return(avail);
Next, create the Text_io class as the application. Copy the following code
into a file called �Text_io.java�.
import java.awt.*;
import java.awt.event.*;
import java.lang.*;
public class Text_io extends Panel implements Runnable,
TextListener {
private tcpip gtp;
String oldmessage = new String("");
TextArea input_box = new TextArea("", 10, 60, 3);
TextArea output_box = new TextArea("", 10, 60, 3);
Thread timer;
public Text_io(tcpip tp) {
gtp = tp;
setLayout(new GridBagLayout());
GridBagConstraints c = new GridBagConstraints();
c.insets = new Insets(5,5,5,5);
setBackground(java.awt.Color.lightGray);
setSize(561,380);
c.gridx = 0; c.gridy = 2; c.gridwidth = 1; c.gridheight =
1;
c.weightx = 0.0; c.weighty = 0.0; c.anchor =
GridBagConstraints.WEST;
c.fill = GridBagConstraints.NONE;
add((new Label("To Device Server: (Type Here--->)")), c);
//input_box
input_box.addTextListener(this);
c.gridx = 1; c.gridy = 2; c.gridwidth = 3; c.gridheight =
1;
c.weightx = 0.5; c.weighty = 0.0; c.anchor =
GridBagConstraints.CENTER;
c.fill = GridBagConstraints.BOTH;
add(input_box,c);
c.gridx = 0; c.gridy = 4; c.gridwidth = 1; c.gridheight =
1;
c.weightx = 0.0; c.weighty = 0.0; c.anchor =
GridBagConstraints.WEST;
c.fill = GridBagConstraints.NONE;
add((new Label("From Device Server:")), c);
c.gridx = 1; c.gridy = 4; c.gridwidth = 3; c.gridheight =
1;
c.weightx = 0.5; c.weighty = 0.0; c.anchor =
GridBagConstraints.CENTER;
c.fill = GridBagConstraints.BOTH;
add(output_box,c);
output_box.setEditable(false);
timer = new Thread(this);
timer.start();
public void run() {
int i;
byte[] in;
Thread me = Thread.currentThread();
while (timer == me) {
try {
Thread.currentThread().sleep(200);
catch (InterruptedException e) { }
if ( (gtp != null) && ((i = gtp.available()) > 0) ) {
in = gtp.receive();
/* remove non-printing bytes */
for (i = 0; i < in.length; i++) {
if (in[i] < 0x20)
in[i] = 0x20;
output_box.append((new String(in)));
public void textValueChanged(TextEvent e) {
int len, i;
String str = new String("");
String message = input_box.getText();
len = message.length() - oldmessage.length();
if (len < 0) {
for (i = 0; i < -len; i++)
str += "\b";
//System.out.println("Backspace");
else if (len > 0) {
str = message.substring(oldmessage.length());
//System.out.println("len = "+str.length()+" str =
"+str);
oldmessage = message;
if ( (len != 0) && (gtp != null) )
gtp.send(str);
Next, create the actual applet that uses the tcpip and Text_io classes. Copy
the following code into a file called �Test.java�.
import java.awt.*;
import java.awt.event.*;
import java.applet.Applet;
import java.net.*;
import java.io.*;
import java.lang.*;
import java.text.*;
import java.util.*;
public class Test extends Applet {
static private boolean isapplet = true;
static private InetAddress arg_ip = null;
static private int arg_port = 0;
public tcpip gtp = null;;
InetAddress reader_ip = null;
int port = 10001;
public void init()
gtp = null;
reader_ip = null;
port = 10001;
public void start()
String st = new String("TCP/IP connection status: ");
setFont(new Font("Dialog",Font.BOLD,16));
setLayout(new GridBagLayout());
GridBagConstraints c = new GridBagConstraints();
c.gridx = 0; c.gridy = 0; c.gridwidth = 1; c.gridheight
= 1;
c.anchor = GridBagConstraints.CENTER;
c.fill = GridBagConstraints.BOTH;
c.insets = new Insets(5,5,5,5);
setBackground(Color.yellow);
setSize(600,500);
/* Either get the IP address from the HTTP server if
we're an applet, or from the commandline (if passed).
if (isapplet) {
try{
reader_ip = InetAddress.getByName(getCodeBase().getHost());
catch (UnknownHostException e){}
else {
reader_ip = arg_ip;
if (arg_port != 0) {
port = arg_port;
/* Open a socket to the Device Server's serial port
if (reader_ip != null) {
if (gtp == null) {
gtp = new tcpip(reader_ip, port);
if (gtp.s == null) {
st += "Connection FAILED! ";
gtp = null;
if (gtp == null) {
st += "Not Connected";
add((new Label(st)), c);
return;
st += "Connected";
add((new Label(st)), c);
/* You may now perform IO with the Device Server via
* gtp.send(byte[] data_out);
* byte[] data_in = gtp.receive();
* functions.
* In our example we'll use two TextBoxes which have
* been extended to handle IO to the Device Server.
*Data typed in the upper text box will be sent to
* the Device Server, and data received will be
*displayed in the lower text box.
/* Start of custom application code */
/* ADD YOUR CODE HERE */
c.gridx = 0; c.gridy = 2; c.gridwidth = 3; c.gridheight =
1;
c.anchor = GridBagConstraints.WEST;
add((new Text_io(gtp)), c);
/* End of custom application code */
public void destroy()
if (gtp != null)
gtp.disconnect();
gtp = null;
public void stop() {
public static void main(String[] args) {
Frame frame = new Frame("TCP/IP Test");
frame.addWindowListener(new WindowAdapter() {
public void windowClosing(WindowEvent e) {
System.exit(0);
if (args.length > 0) {
try{
arg_ip = InetAddress.getByName(args[0]);
catch (UnknownHostException e){}
if (args.length > 1) {
try {
arg_port = Integer.valueOf(args[1]).intValue();
catch (NumberFormatException e) {}
Test ap = new Test();
frame.add(ap);
ap.init();
isapplet = false;
ap.start();
frame.pack();
frame.show();

Let's see a decent try by you towards a solution first. I've found that usually the more thought and effort posters put into creating and solving their questions, the better their chances are of a volunteer here taking the time and effort to consider it and give a helpful answer. In other words, show that you are putting effort into doing your own homework first.
Also, when posting your code, please use code tags so that your code will retain its formatting and be readable. To do this, you will need to paste already formatted code into the forum, highlight this code, and then press the "code" button at the top of the forum Message editor prior to posting the message. You may want to click on the Preview tab to make sure that your code is formatted correctly. Another way is to place the tag &#91;code] at the top of your block of code and the tag &#91;/code] at the bottom, like so:
&#91;code]
  // your code block goes here.
  // note the differences between the tag at the top vs the bottom.
&#91;/code]or
{&#99;ode}
  // your code block goes here.
  // note here that the tags are the same.
{&#99;ode}good luck

Similar Messages

  • Unable to charge my Ipad 4 with my Laptop (HP 7010tx) USB . I am Getting error message as "Not Charging" . Please give a solution for this ...???

    Unable to charge my Ipad 4 with my Laptop (HP 7010tx) USB . I am Getting error message as "Not Charging" . Please give a solution for this ...???

    The quickest way (and really the only way) to charge your iPad is with the included 10W or 12W (5W on Mini) USB Power Adapter. iPad will also charge, although more slowly, when attached to a computer with a high-power USB port (many recent Mac computers) or with an iPhone Power Adapter (5W). When attached to a computer via a standard USB port (2.5W, most PCs or older Mac computers) iPad will charge very slowly (but iPad indicates not charging). Make sure your computer is on while charging iPad via USB. If iPad is connected to a computer that’s turned off or is in sleep or standby mode, the iPad battery will continue to drain.
    Apple recommends that once a month you let the iPad fully discharge & then recharge to 100%.
    How to Calibrate Your Mac, iPhone, or iPad Battery
    http://www.macblend.com/how-to-calibrate-your-mac-iphone-or-ipad-battery/
    At this link http://www.tomshardware.com/reviews/galaxy-tab-android-tablet,3014-11.html , tests show that the iPad 2 battery (25 watt-hours) will charge to 90% in 3 hours 1 minute. It will charge to 100% in 4 hours 2 minutes. The new iPad has a larger capacity battery (42 watt-hours), so using the 10W charger will obviously take longer. If you are using your iPad while charging, it will take even longer. It's best to turn your new iPad OFF and charge over night. Also look at The iPad's charging challenge explained http://www.macworld.com/article/1150356/ipadcharging.html
    Also, if you have a 3rd generation iPad, look at
    Apple: iPad Battery Nothing to Get Charged Up About
    http://allthingsd.com/20120327/apple-ipad-battery-nothing-to-get-charged-up-abou t/
    Apple Explains New iPad's Continued Charging Beyond 100% Battery Level
    http://www.macrumors.com/2012/03/27/apple-explains-new-ipads-continued-charging- beyond-100-battery-level/
    New iPad Takes Much Longer to Charge Than iPad 2
    http://www.iphonehacks.com/2012/03/new-ipad-takes-much-longer-to-charge-than-ipa d-2.html
    Apple Batteries - iPad http://www.apple.com/batteries/ipad.html
    Extend iPad Battery Life (Look at pjl123 comment)
    https://discussions.apple.com/thread/3921324?tstart=30
    New iPad Slow to Recharge, Barely Charges During Use
    http://www.pcworld.com/article/252326/new_ipad_slow_to_recharge_barely_charges_d uring_use.html
    Best Practices for iPad Battery Charging
    http://www.ilounge.com/index.php/articles/comments/best-practices-for-ipad-batte ry-charging/
    Tips About Charging for New iPad 3
    http://goodscool-electronics.blogspot.com/2012/04/tips-about-charging-for-new-ip ad-3.html
    How to Save and Prolong the battery life of your new ipad
    https://discussions.apple.com/thread/4480944?tstart=0
    Prolong battery lifespan for iPad / iPad 2 / iPad 3: charging tips
    http://thehowto.wikidot.com/prolong-battery-lifespan-for-ipad
    iPhone, iPod, Using the iPad Charger
    http://support.apple.com/kb/HT4327
    Install and use Battery Doctor HD
    http://itunes.apple.com/tw/app/battery-doctor-hd/id459702901?mt=8
    To Extend a Device’s Battery Life, Get to Know It Better
    http://tinyurl.com/b67c7xz
    iPad Battery Replacement
    http://www.apple.com/batteries/replacements.html
    In rare instances when using the Camera Connection Kit, you may notice that iPad does not charge after using the Camera Connection Kit. Disconnecting and reconnecting the iPad from the charger will resolve this issue.
     Cheers, Tom

  • Sir since update of ios 8.1.2 i got serious battery problem on 3g 4.30 hrs my battery gets low and sometimes serious net probelms please give an update for this issue its not alone me my friends too getting many problem lcommonly battery problem

    sir since update of ios 8.1.2 i got serious battery problem on 3g 4.30 hrs my battery gets low and sometimes serious net probelms please give an update for this issue its not alone me my friends too getting many problem commonly battery problem please can this be resolved
    its not related to any hardware because last year april i got replacement new phone from apple and i maintained it well...!

    Probably apps running in the background are causing this, sometimes Mail get's stuck connecting to the mail server, or some social media app like Facebook can also be a reason for prolonged background activity.
    Try to reset the phone by holding the sleep and home button for about 10sec, until the Apple logo comes back again. You will not lose any data by resetting, but it can cure some glitches.
    If this does not help, setting it up as new device would be the next step:
    How to erase your iOS device and then set it up as a new device or restore it from backups
    Also take a look at these tips to prolong the battery life again:
    http://www.overthought.org/blog/2014/the-ultimate-guide-to-solving-ios-battery-d rain

  • Please give the meaning of this code

    Hi anyone please give the meaning of the below mentioned modify command code
      READ TABLE XKOMV INTO L_XKOMV
                  WITH KEY
                  KSCHL = 'ZGBC'.
      IF sy-subrc = 0.
        XKOMV-KINAK = 'X'.
        <b>MODIFY XKOMV TRANSPORTING KINAK WHERE KSCHL = 'ZFIK'.</b>
      ENDIF.
    Point will be sure.
    vijai

    Hello Vijaya,
    Its reading the Conditiuon table and checking for the condition type ZGBC in the document condition table. If it exists then its makeing the Condition ZFIK as in active. So   During pricing, the system ignores conditions that are valid but not active in this case ZFIK.
    Regards,
    <b>Reward Points if Useful</b>
    Sake Sharma

  • Hello Experts please give some suggestions in this code

    Hello Experts . Please give suggestions in changing the below code to increase the performance . Thanks in advance for all your suggestions...
    PARAMETERS   : Pr_WERKS LIKE EKPO-WERKS OBLIGATORY,
                   Pr_EINDT LIKE EKET-EINDT OBLIGATORY.
    SELECT-OPTIONS : S_LIFNR FOR  EKKO-LIFNR MATCHCODE
                                    OBJECT KRED OBLIGATORY.
    DATA: BEGIN OF SELEC OCCURS 10,
            SIGN(1),
            OPTION(2),
            LOW  LIKE p_eindt,
            HIGH LIKE p_eindt,
         END   OF SELEC.
    SELEC-SIGN = 'I'.
    SELEC-OPTION = 'BT'.
    SELEC-LOW = pr_eindt.
    SELEC-HIGH = pr_eindt + 31.
    SELECT * FROM EKET WHERE EINDT IN SELEC.
        CHECK EKET-MENGE NE 0.
        SELECT * FROM EKPO WHERE EBELN = EKET-EBELN AND
                                 EBELP = EKET-EBELP AND
                                 WERKS = Pr_WERKS.
          SELECT * FROM EKKO WHERE EBELN = EKET-EBELN AND
                                   LIFNR IN S_LIFNR AND
                                   BSTYP = 'L' AND
                                   FRGKE = 'R'.
            SELECT SINGLE * FROM MAKT WHERE MATNR = EKPO-MATNR AND
                                            SPRAS = 'EN'.
            SELECT SINGLE * FROM LFA1 WHERE LIFNR = EKKO-LIFNR.
            EXTRACT DETAIL.
          ENDSELECT.
        ENDSELECT.
      ENDSELECT.

    Ways of Performance Tuning
    1.     Selection Criteria
    2.     Select Statements
    •     Select Queries
    •     SQL Interface
    •     Aggregate Functions
    •     For all Entries
    Select Over more than one internal table
    Selection Criteria
    1.     Restrict the data to the selection criteria itself, rather than filtering it out using the ABAP code using CHECK statement. 
    2.     Select with selection list.
    SELECT * FROM SBOOK INTO SBOOK_WA.
      CHECK: SBOOK_WA-CARRID = 'LH' AND
             SBOOK_WA-CONNID = '0400'.
    ENDSELECT.
    The above code can be much more optimized by the code written below which avoids CHECK, selects with selection list
    SELECT  CARRID CONNID FLDATE BOOKID FROM SBOOK INTO TABLE T_SBOOK
      WHERE SBOOK_WA-CARRID = 'LH' AND
                  SBOOK_WA-CONNID = '0400'.
    Select Statements   Select Queries
    1.     Avoid nested selects
    SELECT * FROM EKKO INTO EKKO_WA.
      SELECT * FROM EKAN INTO EKAN_WA
          WHERE EBELN = EKKO_WA-EBELN.
      ENDSELECT.
    ENDSELECT.
    The above code can be much more optimized by the code written below.
    SELECT PF1 PF2 FF3 FF4 INTO TABLE ITAB
        FROM EKKO AS P INNER JOIN EKAN AS F
          ON PEBELN = FEBELN.
    Note: A simple SELECT loop is a single database access whose result is passed to the ABAP program line by line. Nested SELECT loops mean that the number of accesses in the inner loop is multiplied by the number of accesses in the outer loop. One should therefore use nested SELECT loops only if the selection in the outer loop contains very few lines or the outer loop is a SELECT SINGLE statement.
    2.     Select all the records in a single shot using into table clause of select statement rather than to use Append statements.
    SELECT * FROM SBOOK INTO SBOOK_WA.
      CHECK: SBOOK_WA-CARRID = 'LH' AND
             SBOOK_WA-CONNID = '0400'.
    ENDSELECT.
    The above code can be much more optimized by the code written below which avoids CHECK, selects with selection list and puts the data in one shot using into table
    SELECT  CARRID CONNID FLDATE BOOKID FROM SBOOK INTO TABLE T_SBOOK
      WHERE SBOOK_WA-CARRID = 'LH' AND
                  SBOOK_WA-CONNID = '0400'.
    3.     When a base table has multiple indices, the where clause should be in the order of the index, either a primary or a secondary index.
    To choose an index, the optimizer checks the field names specified in the where clause and then uses an index that has the same order of the fields. In certain scenarios, it is advisable to check whether a new index can speed up the performance of a program. This will come handy in programs that access data from the finance tables.
    4.     For testing existence, use Select.. Up to 1 rows statement instead of a Select-Endselect-loop with an Exit. 
    SELECT * FROM SBOOK INTO SBOOK_WA
      UP TO 1 ROWS
      WHERE CARRID = 'LH'.
    ENDSELECT.
    The above code is more optimized as compared to the code mentioned below for testing existence of a record.
    SELECT * FROM SBOOK INTO SBOOK_WA
        WHERE CARRID = 'LH'.
      EXIT.
    ENDSELECT.
    5.     Use Select Single if all primary key fields are supplied in the Where condition .
    If all primary key fields are supplied in the Where conditions you can even use Select Single.
    Select Single requires one communication with the database system, whereas Select-Endselect needs two.
    Select Statements SQL Interface
    1.     Use column updates instead of single-row updates
    to update your database tables.
    SELECT * FROM SFLIGHT INTO SFLIGHT_WA.
      SFLIGHT_WA-SEATSOCC =
        SFLIGHT_WA-SEATSOCC - 1.
      UPDATE SFLIGHT FROM SFLIGHT_WA.
    ENDSELECT.
    The above mentioned code can be more optimized by using the following code
    UPDATE SFLIGHT
           SET SEATSOCC = SEATSOCC - 1.
    2.     For all frequently used Select statements, try to use an index.
    SELECT * FROM SBOOK CLIENT SPECIFIED INTO SBOOK_WA
      WHERE CARRID = 'LH'
        AND CONNID = '0400'.
    ENDSELECT.
    The above mentioned code can be more optimized by using the following code
    SELECT * FROM SBOOK CLIENT SPECIFIED INTO SBOOK_WA
      WHERE MANDT IN ( SELECT MANDT FROM T000 )
        AND CARRID = 'LH'
        AND CONNID = '0400'.
    ENDSELECT.
    3.     Using buffered tables improves the performance considerably.
    Bypassing the buffer increases the network considerably
    SELECT SINGLE * FROM T100 INTO T100_WA
      BYPASSING BUFFER
      WHERE     SPRSL = 'D'
            AND ARBGB = '00'
            AND MSGNR = '999'.
    The above mentioned code can be more optimized by using the following code
    SELECT SINGLE * FROM T100  INTO T100_WA
      WHERE     SPRSL = 'D'
            AND ARBGB = '00'
            AND MSGNR = '999'.
    Select Statements  Aggregate Functions
    •     If you want to find the maximum, minimum, sum and average value or the count of a database column, use a select list with aggregate functions instead of computing the aggregates yourself.
    Some of the Aggregate functions allowed in SAP are  MAX, MIN, AVG, SUM, COUNT, COUNT( * )
    Consider the following extract.
                Maxno = 0.
                Select * from zflight where airln = ‘LF’ and cntry = ‘IN’.
                 Check zflight-fligh > maxno.
                 Maxno = zflight-fligh.
                Endselect.
    The  above mentioned code can be much more optimized by using the following code.
    Select max( fligh ) from zflight into maxno where airln = ‘LF’ and cntry = ‘IN’.
    Select Statements  For All Entries
    •     The for all entries creates a where clause, where all the entries in the driver table are combined with OR. If the number of entries in the driver table is larger than rsdb/max_blocking_factor, several similar SQL statements are executed to limit the length of the WHERE clause.
         The plus
    •     Large amount of data
    •     Mixing processing and reading of data
    •     Fast internal reprocessing of data
    •     Fast
         The Minus
    •     Difficult to program/understand
    •     Memory could be critical (use FREE or PACKAGE size)
    Points to be must considered FOR ALL ENTRIES
    •     Check that data is present in the driver table
    •     Sorting the driver table
    •     Removing duplicates from the driver table
    Consider the following piece of extract
              Loop at int_cntry.
      Select single * from zfligh into int_fligh
      where cntry = int_cntry-cntry.
      Append int_fligh.
                          Endloop.
    The above mentioned can be more optimized by using the following code.
    Sort int_cntry by cntry.
    Delete adjacent duplicates from int_cntry.
    If NOT int_cntry[] is INITIAL.
                Select * from zfligh appending table int_fligh
                For all entries in int_cntry
                Where cntry = int_cntry-cntry.
    Endif.
    Select Statements Select Over more than one Internal table
    1.     Its better to use a views instead of nested Select statements.
    SELECT * FROM DD01L INTO DD01L_WA
      WHERE DOMNAME LIKE 'CHAR%'
            AND AS4LOCAL = 'A'.
      SELECT SINGLE * FROM DD01T INTO DD01T_WA
        WHERE   DOMNAME    = DD01L_WA-DOMNAME
            AND AS4LOCAL   = 'A'
            AND AS4VERS    = DD01L_WA-AS4VERS
            AND DDLANGUAGE = SY-LANGU.
    ENDSELECT.
    The above code can be more optimized by extracting all the data from view DD01V_WA
    SELECT * FROM DD01V INTO  DD01V_WA
      WHERE DOMNAME LIKE 'CHAR%'
            AND DDLANGUAGE = SY-LANGU.
    ENDSELECT
    2.     To read data from several logically connected tables use a join instead of nested Select statements. Joins are preferred only if all the primary key are available in WHERE clause for the tables that are joined. If the primary keys are not provided in join the Joining of tables itself takes time.
    SELECT * FROM EKKO INTO EKKO_WA.
      SELECT * FROM EKAN INTO EKAN_WA
          WHERE EBELN = EKKO_WA-EBELN.
      ENDSELECT.
    ENDSELECT.
    The above code can be much more optimized by the code written below.
    SELECT PF1 PF2 FF3 FF4 INTO TABLE ITAB
        FROM EKKO AS P INNER JOIN EKAN AS F
          ON PEBELN = FEBELN.
    3.     Instead of using nested Select loops it is often better to use subqueries.
    SELECT * FROM SPFLI
      INTO TABLE T_SPFLI
      WHERE CITYFROM = 'FRANKFURT'
        AND CITYTO = 'NEW YORK'.
    SELECT * FROM SFLIGHT AS F
        INTO SFLIGHT_WA
        FOR ALL ENTRIES IN T_SPFLI
        WHERE SEATSOCC < F~SEATSMAX
          AND CARRID = T_SPFLI-CARRID
          AND CONNID = T_SPFLI-CONNID
          AND FLDATE BETWEEN '19990101' AND '19990331'.
    ENDSELECT.
    The above mentioned code can be even more optimized by using subqueries instead of for all entries.
    SELECT * FROM SFLIGHT AS F INTO SFLIGHT_WA
        WHERE SEATSOCC < F~SEATSMAX
          AND EXISTS ( SELECT * FROM SPFLI
                         WHERE CARRID = F~CARRID
                           AND CONNID = F~CONNID
                           AND CITYFROM = 'FRANKFURT'
                           AND CITYTO = 'NEW YORK' )
          AND FLDATE BETWEEN '19990101' AND '19990331'.
    ENDSELECT.
    1.     Table operations should be done using explicit work areas rather than via header lines.
    READ TABLE ITAB INTO WA WITH KEY K = 'X‘ BINARY SEARCH.
    IS MUCH FASTER THAN USING
    READ TABLE ITAB INTO WA WITH KEY K = 'X'.
    If TAB has n entries, linear search runs in O( n ) time, whereas binary search takes only O( log2( n ) ).
    2.     Always try to use binary search instead of linear search. But don’t forget to sort your internal table before that.
    READ TABLE ITAB INTO WA WITH KEY K = 'X'. IS FASTER THAN USING
    READ TABLE ITAB INTO WA WITH KEY (NAME) = 'X'.
    3.     A dynamic key access is slower than a static one, since the key specification must be evaluated at runtime.
    4.     A binary search using secondary index takes considerably less time.
    5.     LOOP ... WHERE is faster than LOOP/CHECK because LOOP ... WHERE evaluates the specified condition internally.
    LOOP AT ITAB INTO WA WHERE K = 'X'.
    ENDLOOP.
    The above code is much faster than using
    LOOP AT ITAB INTO WA.
      CHECK WA-K = 'X'.
    ENDLOOP.
    6.     Modifying selected components using “ MODIFY itab …TRANSPORTING f1 f2.. “ accelerates the task of updating  a line of an internal table.
    WA-DATE = SY-DATUM.
    MODIFY ITAB FROM WA INDEX 1 TRANSPORTING DATE.
    The above code is more optimized as compared to
    WA-DATE = SY-DATUM.
    MODIFY ITAB FROM WA INDEX 1.
    7.     Accessing the table entries directly in a "LOOP ... ASSIGNING ..." accelerates the task of updating a set of lines of an internal table considerably
    Modifying selected components only makes the program faster as compared to Modifying all lines completely.
    e.g,
    LOOP AT ITAB ASSIGNING <WA>.
      I = SY-TABIX MOD 2.
      IF I = 0.
        <WA>-FLAG = 'X'.
      ENDIF.
    ENDLOOP.
    The above code works faster as compared to
    LOOP AT ITAB INTO WA.
      I = SY-TABIX MOD 2.
      IF I = 0.
        WA-FLAG = 'X'.
        MODIFY ITAB FROM WA.
      ENDIF.
    ENDLOOP.
    8.    If collect semantics is required, it is always better to use to COLLECT rather than READ BINARY and then ADD.
    LOOP AT ITAB1 INTO WA1.
      READ TABLE ITAB2 INTO WA2 WITH KEY K = WA1-K BINARY SEARCH.
      IF SY-SUBRC = 0.
        ADD: WA1-VAL1 TO WA2-VAL1,
             WA1-VAL2 TO WA2-VAL2.
        MODIFY ITAB2 FROM WA2 INDEX SY-TABIX TRANSPORTING VAL1 VAL2.
      ELSE.
        INSERT WA1 INTO ITAB2 INDEX SY-TABIX.
      ENDIF.
    ENDLOOP.
    The above code uses BINARY SEARCH for collect semantics. READ BINARY runs in O( log2(n) ) time. The above piece of code can be more optimized by
    LOOP AT ITAB1 INTO WA.
      COLLECT WA INTO ITAB2.
    ENDLOOP.
    SORT ITAB2 BY K.
    COLLECT, however, uses a hash algorithm and is therefore independent
    of the number of entries (i.e. O(1)) .
    9.    "APPEND LINES OF itab1 TO itab2" accelerates the task of appending a table to another table considerably as compared to “ LOOP-APPEND-ENDLOOP.”
    APPEND LINES OF ITAB1 TO ITAB2.
    This is more optimized as compared to
    LOOP AT ITAB1 INTO WA.
      APPEND WA TO ITAB2.
    ENDLOOP.
    10.   “DELETE ADJACENT DUPLICATES“ accelerates the task of deleting duplicate entries considerably as compared to “ READ-LOOP-DELETE-ENDLOOP”.
    DELETE ADJACENT DUPLICATES FROM ITAB COMPARING K.
    This is much more optimized as compared to
    READ TABLE ITAB INDEX 1 INTO PREV_LINE.
    LOOP AT ITAB FROM 2 INTO WA.
      IF WA = PREV_LINE.
        DELETE ITAB.
      ELSE.
        PREV_LINE = WA.
      ENDIF.
    ENDLOOP.
    11.   "DELETE itab FROM ... TO ..." accelerates the task of deleting a sequence of lines considerably as compared to “  DO -DELETE-ENDDO”.
    DELETE ITAB FROM 450 TO 550.
    This is much more optimized as compared to
    DO 101 TIMES.
      DELETE ITAB INDEX 450.
    ENDDO.
    12.   Copying internal tables by using “ITAB2[ ] = ITAB1[ ]” as compared to “LOOP-APPEND-ENDLOOP”.
    ITAB2[] = ITAB1[].
    This is much more optimized as compared to
    REFRESH ITAB2.
    LOOP AT ITAB1 INTO WA.
      APPEND WA TO ITAB2.
    ENDLOOP.
    13.   Specify the sort key as restrictively as possible to run the program faster.
    “SORT ITAB BY K.” makes the program runs faster as compared to “SORT ITAB.”
    Internal Tables         contd…
    Hashed and Sorted tables
    1.     For single read access hashed tables are more optimized as compared to sorted tables.
    2.      For partial sequential access sorted tables are more optimized as compared to hashed tables
    Hashed And Sorted Tables
    Point # 1
    Consider the following example where HTAB is a hashed table and STAB is a sorted table
    DO 250 TIMES.
      N = 4 * SY-INDEX.
      READ TABLE HTAB INTO WA WITH TABLE KEY K = N.
      IF SY-SUBRC = 0.
      ENDIF.
    ENDDO.
    This runs faster for single read access as compared to the following same code for sorted table
    DO 250 TIMES.
      N = 4 * SY-INDEX.
      READ TABLE STAB INTO WA WITH TABLE KEY K = N.
      IF SY-SUBRC = 0.
      ENDIF.
    ENDDO.
    Point # 2
    Similarly for Partial Sequential access the STAB runs faster as compared to HTAB
    LOOP AT STAB INTO WA WHERE K = SUBKEY.
    ENDLOOP.
    This runs faster as compared to
    LOOP AT HTAB INTO WA WHERE K = SUBKEY.
    ENDLOOP.

  • Please Give me reply for this problem(How can I get the result)???

    Hello Friends,
    I have one table CXATCMS.Which has 3 columns and has the following data
    start_no end_no activity_date
    05001000001 05001000002 01-OCT-03
    05001000015 05001000016 01-OCT-03
    05001000017 05001000018 12-JUN-05
    05001000019 05001000020 12-JUL-06
    I have to create a report which lists the the specific range.
    If the next record's start_no is the immediate next number for the prevoius record's
    end_no .....then it has to display all those numbers in a range until it finds a number which is not next immediate number for the previous record's end number.
    like for example....if the user wants to see from 1 to 20 range.
    then the result must be like this........
    start_no end_no
    05001000001 05001000002-------there is no 05001000003 number in the
    05001000015 05001000020 start numbers so it has to stop its range by this number).
    How can i get this result........

    Hi,
    Try this. I am sure you know how to write procedure, I have skipped those obligations, anyway u can sense the absic way of working from here I think. Pls do the uppercase / lowercase adjustment as required by your operating system.
    Declare
    mnd CXATCMS.end_no%type;
    numRec CXATCMS.%rowtype;
    Cursor C is select * from CXATCMS where start_no between 1 and 20 order by start_no;
    begin
    select min(end_no)+1 into mnd from CXATCMS where start_no between 1 and 20;
    open C;
    Loop
    fetch C into numRec;
    DBMS_OUTPUT.putline(numRec);
    exit when mnd<>numrec.start_no;
    if mnd=numrec.start_no then
    mnd:=numRec.end_no + 1;
    end if;
    end loop;
    Exception
    when no_data_found raise application_error;
    end;
    gimme feadback pl,
    Pragati.

  • I want to start a new iTunes U course for catolog and I don't know what can I do please give me description about this title.

    I want to start a new iTunes U course for catolog and I don't know what can I do please give me description about this title.

    If you haven't already done so then you can contact iTunes support via this page and ask them why the message is appearing (these are user-to-user forums, we won't know why) : http://www.apple.com/support/itunes/contact/ - click on Contact iTunes Store Support on the right-hand side of the page

  • User exit for  this code

    Hi ..
    my requirement  is the program should prompt for 3 parameters (all check marks) with the follwoing text; all check marks enabled by default
    - Variables
    - Key Figures
    - Structures
    So when users select variables then do this part in main program
    test_for = 'STR'.
    perform dowork using test_for.
    for key figures
    test_for = 'CKF'.
    perform dowork using test_for.
    test_for = 'SEL'.
    perform dowork using test_for.
    for variables
    test_for = 'VAR'.
    perform dowork using test_for.
    please give  the code how to write that one.
    thanks in advance
    Madhavi

    Hi Maik,
    am using this quode for one tool .this tool is used for copy queries from one system another instead of transporting.its easy method.so i want to do some modifications for this code.please elaborate ur answer .will assign points.
    Cheers,
    Madhavi

  • Is Apple providing any karaoke service such as selling karaoke software, whole set of karaoke hardware or even karaoke store? If yes, please give me information on this; If no, let me know if there are similar karaoke services providing in the future.

    Is Apple providing any karaoke service such as selling karaoke software, whole set of karaoke hardware or even karaoke store? If yes, please give me information on this; If no, let me know if there are similar karaoke services providing in the future.

    No, Apple does not. What other companies might provide what you're looking for I don't know. Try searching the web for "karaoke software" or something similar.
    Regards.

  • My ipad is taking restart automatically and screen is fully balck and showing only apple logo.please give me solution for that

    my ipad is taking restart automatically and screen is fully balck and showing only apple logo.please give me solution for that

    Have you tried a reset first? If it works, you won't have to go through the restore process.
    Hold down the sleep (upper right hand top) and the home button at the same time. A slider will appear. Ignore it and keep holding down the buttons. The Apple logo shoud appear. Then your ipad might work again. It takes a good 15 seconds. You will not lose anything on your ipad.
    If you try it a couple of times and it doesn't work, you might have to go through the restore process as has been suggested above. But follow the steps so you don't lose your data.
    Hope this helps.

  • Equivalent for this code

    Hi, Could you please let me know what is the EQUIVALENT for this code. This code replace 2 number of  0s or 1s to Just one 0 or 1. The code is very very slow when the input string is very big. Is there any way to replace it with something faster.
    Thanks 
    Attachments:
    Untitled 1.vi ‏7 KB

    This code takes 1ms to run on a string of 60,000 characters (one continuous string of 0's and 1's).  Whereas using your code, it takes about 900ms for the same string.

  • Please help me to complete this code

    import java.security.MessageDigest;
    import java.util.Map;
    import java.util.Scanner;
    public class PasswordService
       //The hash is to be formed using the SHA algorithm
       //to create a MessageDigest
       private final String algorithmName = "SHA";
       //Use a message digest to create hashed passwords
       private MessageDigest md = null;
       //We simulate a database of users using who have a login and password
       //as a key and value pair in a Map
       private Map<String, byte[]> userData;
       //complete the constructor
       public PasswordService()
         //TODO - intialize the class instance data
          //some dummy data - do not alter these lines
          addUser("daddy", "cool");
          addUser("nightflight", "topChat");
          addUser("boney", "2E5sxuSRg6A");
       public void showProvider()
          //TODO
       //Get the hash value for the provided string password.
         public byte[] getHash(String password)
          //TODO
          return null;
       public void addUser(String login, String password)
          //TODO
       public byte[] getPassword(String login)
          //TODO
          return null;
       public boolean checkLogin(String login, String password)
         // TODO
          return false;
       //This method is provided to perform a login from the command line
       public boolean doLogin()
          Scanner sc = new Scanner(System.in);
          System.out.println("Enter login please");
          String login = sc.next();
          System.out.println("Your password please");
          String password = sc.next();
          return checkLogin(login, password);
       public static void main(String[] args)
          int attempts = 0;
          showProvider();
          while(attempts < 4)
             boolean match = doLogin(); //request login and password
             System.out.println("match? " + match);
             attempts++;
    }

    please help me to complete this code
    void completeCode(Code code,Properties options) throws CodeCompletingException
    CodeCompleterFactory cf = CodeCompleterFactory.newInstance();
    CodeCompleter cc = cf.newCodeCompleter();
    cc.complete(code,options);
    }

  • You think Apple will give us something for this?

    Do you think Apple will give us something in return for this chaos? Like maybe a free game or something? I have read soooo many stories and man its pretty messed up. Ive read ppl saying that "apple did not force them to update" but when ur iPhone says "New Update Available - 2.0" and you've waited since January for this, then they say that it will be here in March, then they say June then finally July....what do you think? There are some innocent people who just updated and were victims of this. This really s u c k s i know. but do you think apple will give us something for this?

    Some of you people are clueless. You act as if Apple is completely blameless. here's a newsflash for you: If a company makes a product available, they have a responsibility to the consumer that it works properly. That's the basic idea behind express and implied warranty laws. "Oh, but it's free...so you can't complain!" - It's not free, and you're not very smart. Apple provides software updates to keep consumers happy, and keep us using their products. it's built in to the cost of the iPhone. A cost of doing business, if you will. If it wasn't beneficial to them, why would they spend countless man-hours developing the code? because it's a happy, shiny world? Yeah, exactly.
    "But no one forced you to download the update!" - And no one forced them to make it available before the infrastructure was ready either. It's not as if Apple is new to this game. They had issues at launch. And I don't know about your job, but at mine...if I know I'm going to have issues, I make dang well sure I've got my bases covered next time around, so I have ZERO repeats. and given the scope of their marketing, it's not like Apple can say "Hurr, we didn't know it would be so popular, hur hur.".

  • I have iPhone 4 and I have purchased this from Dubai and now I am in India but now my phone didnot working here .so plz give me solution for this so I will use this in India.can I factory unlocked my iPhone by apple store at jaipur india

    I have iPhone 4 and I have purchased this from Dubai and now I am in India but now my phone didnot working here .so plz give me solution for this so I will use this in India.can I factory unlocked my iPhone by apple store at jaipur india

    ONLY the carrier it is locked to can authorize unlocking it. Most have restrictions in that you must be a current customer and have maintained service for a minimum period of time. Do yourself a favor, sell it and purchase a phone in India instead.

  • Please give the meaning of this 9.2.0.7

    please give the meaning of this 9.2.0.7
    each number represents what?

    It's a version number. They're quite common in the computer industry.
    The first number is the version of the database. This supposedly represents major changes in database functionality (usually there's a big idea Oracle 8 was ORDBMS, 9 was (I think) XML, 10 was definitely grid, who knows what 11 will bring).
    The second and third numbers represent incremental releases - these represent enhances to the main release. Deciding whether the next release after 9.0.7 should be numbered 9.0.8 or 9.1.0 is often just down to marketing.
    The fourth number is a patch release and just represents a package of bug fixes.
    It's interersting (well, mildly diverting) that 8i went from 8.1.5 through to 8.1.7.4 but never made it to 8.2. That eventually became 9.0.1.
    Is that what you wanted to know?
    Cheers, APC

Maybe you are looking for

  • 0xc0000428 error code on boot no installation media

    When I turn on my laptop it comes up with the blue screen of death and it says recovery at the top. It then says error code: 0xc0000428 I'm not an IT wiz and have no idea how to solve it. Can anyone help

  • Hint: guest{blog}book as a workaround

    Need a guestbook in iWeb? There is an easy way since iWeb 1.1(.1 of course). You have blogs. Visitors can add comments there, right? A list of comments looks very similar to a guestbook, I thought. Aah! Let's make a guestbook out of the comments of a

  • 6280 - Time issue (please help!)

    This message has come up before but mine is still not working. When I receive a text, the time it is received is an hour behind, the same thing happens for a missed call. This is my third Nokia phone and one has already been sent to get fixed because

  • MyMovie._height on dynamic content in that movie...

    I have a movie that I am loading text into. The textbox is set so the text flows downward. In an ifStatement further down, I am trying to see how tall that movie is(depending on how much text goes into it) to see if I should attach a scrollbar for th

  • Layer Comps to Files as Part of Action

    Hello, I use Layer Comps to create many different color combinations in my PSD files, and then use Layer Comps to Files to export them as individual PNG. This works just as I want, but I would like to run this as a batch on multiple files. When I use