List of system fields like sy-index, sy-srow......

can any one give me list of system fields with there use. i would b very thankful.

hi Amjad,
Please find below the request fields, from table SYST.
INDEX     Loops, number of current pass
PAGNO     List creation, current page
TABIX     Internal table, current line index
TFILL     Internal tables, current number of lines
TOCCU     Internal tables, initial main memory requirements
DBCNT     DB operations, number of table lines processed
FDPOS     Character strings, offset in character string
COLNO     List creation, current column of list
LINCT     List processing, page length of list
LINNO     List creation, current line
LINSZ     List creation, width of list
MACOL     Print list, columns from SET MARGIN statement
MAROW     List printing, lines from SET MARGIN statement
TLENG     Internal tables, line width
LILLI     List processing, current list line
SUBRC     Return value, return value after ABAP statements
CUCOL     Screens, horizontal cursor position at PAI
CUROW     Screens, vertical cursor position at PAI
LSIND     List processing, details list index
LISTI     List processing, index of current list
STEPL     Screens, current table line index
SROWS     Screens, numbers of lines
SCOLS     Screens, number of columns
LOOPC     Screens, number of lines visible in table
TZONE     Date and time, time difference from Greenwich Mean Time
DAYST     Date and time, Daylight savings time flag
FDAYW     Date and time, factory calendar weekday
LANGU     R/3 System, current language
MODNO     R/3 System, external modes index
BATCH     Program running in background
BINPT     Batch input, program running under batch input
CALLD     ABAP program, ABAP program call mode
DYNNR     ABAP program, number of current screen
DYNGR     ABAP program, screen group of current screen
WTITL     List creation, flag for standard page header
CPAGE     List processing, current page number
DBNAM     ABAP program, related logical database
MANDT     R/3 System, client number from logon
PEXPI     Print parameters, spool retention period
PRIMM     Print parameters, print immediately
PRREL     Print parameters, delete after printing
PRBIG     Print parameters, selection cover page
PRNEW     Print parameters, new spool request
PDEST     Print parameters, output device
PLIST     Print parameters, name of spool request
PRDSN     Print parameters, name of spool dataset
CALLR     Print list, ID for print dialog function
RTITL     Print parameters, title of print program
PRREC     Print parameters, recipient
PRTXT     Print parameters, text for cover page
PRABT     Print parameters, department on cover page
PAART     Print parameters, print formatting
PRCOP     Print parameters, number of copies
DBSYS     R/3 System, name of central database system
SYSID     R/3 System, name of R/3 System
OPSYS     R/3 System, operating system of application server
PFKEY     Screens, current GUI status
SAPRL     R/3 System, system release
TCODE     ABAP program, current transaction code
UCOMM     Screens, function code triggered by PAI
SPONO     Print list, spool number
DATUM     Date and time, current (application server) date
SLSET     Selection screens, name of variant
UZEIT     Dat and time, current application server time
REPID     ABAP program, current main program
UNAME     R/3 System, user logon name
LSTAT     List processing, list level IDs
ABCDE     Constant: Alphabet (A,B,C,...)
MSGLI     Messages, message line
TITLE     Screens, title text
LISEL     List processing, contents of selected line
ULINE     Constants, horizontal line with length 255
CPROG     ABAP program, caller in external procedures
LDBPG     ABAP program, logical database program
TVAR0     List creation, text variable for headers
TVAR1     List creation, text variable for headers
TVAR2     List creation, text variable for headers
TVAR3     List creation, text variable for headers
TVAR4     List creation, text variable for headers
TVAR5     List creation, text variable for headers
TVAR6     List creation, text variable for headers
TVAR7     List creation, text variable for headers
TVAR8     List creation, text variable for headers
TVAR9     List creation, text variable for headers
MSGID     Messages, message class
MSGTY     Messages, message type
MSGNO     Messages, message number
MSGV1     Messages, message variables
MSGV2     Messages, message variables
MSGV3     Messages, message variables
MSGV4     Messages, message variables
VLINE     Constants, vertical bar
STACO     List processing, initial column displayed
STARO     List processing, first line displayed at top
DATAR     Screens, display user entry
HOST     R/3 System, Name of application server
DATLO     Date and time, local date of user
TIMLO     Date and time, local time for user
ZONLO     Date and time, time zone of user
Hope this helps,
Sajan Joseph.

Similar Messages

  • LIST OF SYSTEM FIELDS?

    CAN SOME ONE GIVE ME THE LIST OF SYSTEM FIELDS THAT WE CAN USE IN TEH PROGEAM.
    LIKE SY-DATUM...
    vj

    hi VJ,
    Please find below the request fields, from table SYST.
    INDEX     Loops, number of current pass
    PAGNO     List creation, current page
    TABIX     Internal table, current line index
    TFILL     Internal tables, current number of lines
    TOCCU     Internal tables, initial main memory requirements
    DBCNT     DB operations, number of table lines processed
    FDPOS     Character strings, offset in character string
    COLNO     List creation, current column of list
    LINCT     List processing, page length of list
    LINNO     List creation, current line
    LINSZ     List creation, width of list
    MACOL     Print list, columns from SET MARGIN statement
    MAROW     List printing, lines from SET MARGIN statement
    TLENG     Internal tables, line width
    LILLI     List processing, current list line
    SUBRC     Return value, return value after ABAP statements
    CUCOL     Screens, horizontal cursor position at PAI
    CUROW     Screens, vertical cursor position at PAI
    LSIND     List processing, details list index
    LISTI     List processing, index of current list
    STEPL     Screens, current table line index
    SROWS     Screens, numbers of lines
    SCOLS     Screens, number of columns
    LOOPC     Screens, number of lines visible in table
    TZONE     Date and time, time difference from Greenwich Mean Time
    DAYST     Date and time, Daylight savings time flag
    FDAYW     Date and time, factory calendar weekday
    LANGU     R/3 System, current language
    MODNO     R/3 System, external modes index
    BATCH     Program running in background
    BINPT     Batch input, program running under batch input
    CALLD     ABAP program, ABAP program call mode
    DYNNR     ABAP program, number of current screen
    DYNGR     ABAP program, screen group of current screen
    WTITL     List creation, flag for standard page header
    CPAGE     List processing, current page number
    DBNAM     ABAP program, related logical database
    MANDT     R/3 System, client number from logon
    PEXPI     Print parameters, spool retention period
    PRIMM     Print parameters, print immediately
    PRREL     Print parameters, delete after printing
    PRBIG     Print parameters, selection cover page
    PRNEW     Print parameters, new spool request
    PDEST     Print parameters, output device
    PLIST     Print parameters, name of spool request
    PRDSN     Print parameters, name of spool dataset
    CALLR     Print list, ID for print dialog function
    RTITL     Print parameters, title of print program
    PRREC     Print parameters, recipient
    PRTXT     Print parameters, text for cover page
    PRABT     Print parameters, department on cover page
    PAART     Print parameters, print formatting
    PRCOP     Print parameters, number of copies
    DBSYS     R/3 System, name of central database system
    SYSID     R/3 System, name of R/3 System
    OPSYS     R/3 System, operating system of application server
    PFKEY     Screens, current GUI status
    SAPRL     R/3 System, system release
    TCODE     ABAP program, current transaction code
    UCOMM     Screens, function code triggered by PAI
    SPONO     Print list, spool number
    DATUM     Date and time, current (application server) date
    SLSET     Selection screens, name of variant
    UZEIT     Dat and time, current application server time
    REPID     ABAP program, current main program
    UNAME     R/3 System, user logon name
    LSTAT     List processing, list level IDs
    ABCDE     Constant: Alphabet (A,B,C,...)
    MSGLI     Messages, message line
    TITLE     Screens, title text
    LISEL     List processing, contents of selected line
    ULINE     Constants, horizontal line with length 255
    CPROG     ABAP program, caller in external procedures
    LDBPG     ABAP program, logical database program
    TVAR0     List creation, text variable for headers
    TVAR1     List creation, text variable for headers
    TVAR2     List creation, text variable for headers
    TVAR3     List creation, text variable for headers
    TVAR4     List creation, text variable for headers
    TVAR5     List creation, text variable for headers
    TVAR6     List creation, text variable for headers
    TVAR7     List creation, text variable for headers
    TVAR8     List creation, text variable for headers
    TVAR9     List creation, text variable for headers
    MSGID     Messages, message class
    MSGTY     Messages, message type
    MSGNO     Messages, message number
    MSGV1     Messages, message variables
    MSGV2     Messages, message variables
    MSGV3     Messages, message variables
    MSGV4     Messages, message variables
    VLINE     Constants, vertical bar
    STACO     List processing, initial column displayed
    STARO     List processing, first line displayed at top
    DATAR     Screens, display user entry
    HOST     R/3 System, Name of application server
    DATLO     Date and time, local date of user
    TIMLO     Date and time, local time for user
    ZONLO     Date and time, time zone of user
    Hope this helps,
    Sajan Joseph.

  • How can we assign system fields like sy-datum, sy-uzeit to the ztable field

    hi experts,
    i have created one ztable inthis one it has some fields like date changed , time changed... in this table when the user enters the data it automatically updates time and date... for this where i have to assign those fields and code pls....

    Hi Gopal,
    Make use of the events in Table maintenance generator,
    Generate a Table maintenance genrator and in TMG make use of the events
    Link to create the events
    http://www.goodpeople.co.in/jobseeker/JobDetailPage.aspx?postjobid=43001
    select the table maintenance event maintenance dialog as 05
    in the event between form and endform write the following code
    field1 = sy-uname.
    field2 = sy-uzeit
    field3 = sy-datum.
    regards
    prasanth

  • Top of page system fields

    How to use Top of page system fields like sy-tvar0 to sy-tvar1
    thanks in advance
    Rishi

    Hello ,
    in the standard title you can have &0 ... &n. The program must put the values to fields SY-TVAR0 to SY-TVARN.
    see this sample:
    Pass the variables for the list heading
    MOVE SY-Title TO SY-TVAR0.
    MOVE SY-Datum TO SY-TVAR1.
    MOVE SY-Pagno TO SY-TVAR2.
    From output screen: System>List>List Header
    Click on first white line and enter the following title to the yellow box: Title: &0…………… Date: &1………. Page No: &2......
    Hope its what you mean.
    Vasanth

  • Display system fields on web templates

    Is there any way to display system fields like SY-DATUM, SY-TZONE, etc. on a web template?
    I am talking about the fields NOT provided as general text elements (ROLLUPTIME, REPTXTLG, etc) in the text element web item.

    Sorry Nikhil, my java skills are not upto mark..
    but you can try the following
    <h4>It is now <script type="text/javascript">
    <!--
    var currentTime = new Date()
    var month = currentTime.getMonth() + 1
    var day = currentTime.getDate()
    var year = currentTime.getFullYear()
    document.write(month + "/" + day + "/" + year)
    //-->
    </script>
    </h4> ... I am sure some one over here will answer better..
    2) coming to accesing r3 tables.. i am afraid you may have to go for customer exits..
    regards,
    hari

  • Spotlight stopped finding files, even after "index". They're visible files, not system files (like.jpg, .xls, .doc). This happened for no apperent reason.

    Spotlight stopped finding files, even after "index". They're visible files, not system files (like.jpg, .xls, .doc). This happened for no apparent reason.
    Worked well with Yosemite the first week, but now it doesn't.

    Any advice would be helpful. Thanks

  • I need a field like "System.RelatedLinkCount" but where the count is linked items with a field in a certain state

    I need a field like "System.RelatedLinkCount" but where the count is linked items with a field in a certain state.
    e.g. I've got a WI with a field on it that tells me how many active bugs are linked to it. (I'm not actually counting active bugs, but hopefully you get the idea). 
    The only way I can think to do this is with a TFS plugin and catching the workitemchanged event. I'd prefer to do this entirely in the WI if possible? is there a way to do this? Thanks

    Hi TimB33, 
    Thanks for your post.
    As far as I know there’s no default WI rule support to get the specific WIT linked count, I think you need to create your custom work item control to achieve that if you want this field.
    For this scenario, please submit it to User Voice site at: http://visualstudio.uservoice.com/forums/121579-visual-studio. Microsoft engineers will evaluate them
    seriously.  
    We are trying to better understand customer views on social support experience, so your participation in this interview project would be greatly appreciated if you have time. Thanks for helping make community forums a great place.
    Click
    HERE to participate the survey.

  • Empty System Fields after error creates a short dump

    Hello!
    Could someone please help me?
    After calling a function, I catch errors with sy-subrc NE 0.
    Handling this error the "normal" way throws a short dump (I marked the row bold), because all the system fields are empty!
    Could someone please give me a hint, how to handle this situation?
    Many thanx in advance!
    Perhaps some code:
    CALL FUNCTION 'Z_CONFIRM'
      EXPORTING
        is_bdnum      = is_bed-bdnum
      TABLES
        et_return     = lt_return
      EXCEPTIONS
        error_occured = 1
        lock_error    = 2
      OTHERS        = 3.
    IF sy-subrc NE 0.
    MESSAGE ID sy-msgid TYPE sy-msgty NUMBER sy-msgno
      WITH sy-msgv1 sy-msgv2 sy-msgv3 sy-msgv4.
    ENDIF.
    I get a short dump with this:
    Content of the system fields
    Name
    Wert
    SY-SUBRC
    1
    SY-INDEX
    1
    SY-TABIX
    1
    SY-DBCNT
    0
    SY-FDPOS
    0
    SY-LSIND
    0
    SY-PAGNO
    0
    SY-LINNO
    1
    SY-COLNO
    1
    SY-PFKEY
    SY-UCOMM
    SY-TITLE
    HTTP-Steuerung
    SY-MSGTY
    SY-MSGID
    SY-MSGNO
    SY-MSGV1
    SY-MSGV2
    SY-MSGV3
    SY-MSGV4
    SY-MODNO
    0
    SY-DATUM
    20080117
    SY-UZEIT
    080907
    SY-XPROG
    SY-XFORM

    Hi,
    You need to capture the message like this way
    IF sy-subrc eq 1.
       message e999(your mesage class) with 'Error Occured'.
    endif.
    IF sy-subrc eq 2.
       message e999(your mesage class) with 'Lock error'.
    endif.
    IF sy-subrc eq 3.
       message e999(your mesage class) with 'Other Errors'.
    endif.

  • How to update a large (over 4 million item) List(Of Byte) quickly by altering indexes contained in a Dictionary(Of Integer, Byte) where the Dictionaries keys are the indexes in the List(Of Byte) that need to be changed to the values for those indexes?

       I'm having some difficulty with transferring images from a UDP Client to a UDP Server. The issue is receiving the bytes necessary to update an original image sent from the Client to the Server and updating the Servers List(Of Byte) with the
    new bytes replacing bytes in that list. This is a simplex connection where the Sever receives and the Client sends to utilize the least amount of bandwidth for a "Remote Desktop" style application where the Server side needs image updates of whatever
    occurs on the Client desktop.
       So far I can tranfer images with no issue. The images can be be any image type (.Bmp, .Gif, .JPeg, .Png, etc). I was working with sending .JPeg's as they appear to be the smallest size image when a Bitmap is saved to a memory stream as type
    .JPeg. And then I am using GZip to compress that byte array again so it is much smaller. However on a loopback on my NIC the speed for sending a full size screen capture is not very fast as the Server updates fairly slowly unless the Clients screen capture
    Bitmap is reduced in size to about 1/3'd of the original size. Then about 12000 bytes or less are sent for each update.
       Due to .JPeg compression I suppose there is no way to get the difference in bytes between two .JPegs and only send those when something occurs on the desktop that alters the desktop screen capture image. Therefore I went to using .Bmp's as each
    .Bmp contains the same number of bytes in its array regardless of the image alterations on the desktop. So I suppose the difference in bytes from a second screen capture and an inital screen capture are what is different in the second image from the initial
    image.
       What I have done so far is save an initial Bitmap of a screen capture using a memory stream and saving as type .Bmp which takes less than 93 milliseconds for 4196406 bytes. Compressing that takes less than 118 milliseconds to 197325 bytes for
    the current windows on the desktop. When that is done PictureBox1 is updated from nothing to the captured image as the PictureBox's background image with image layout zoom and the PictureBox sized at 1/2 my screens width and 1/2 my screens height.
       Then I save a new Bitmap the same way which now contains different image information as the PictureBox is now displaying an image so its back color is no longer displayed (solid color Aqua) and the cursor has moved to a different location. The
    second Bitmap is also 4196406 in bytes and compressed it was 315473 bytes in size.
       I also just found code from this link Converting a Bitmap to a Byte Array (and Byte Array to Bitmap) which gets a byte array
    directly from a Bitmap and the size of that is 3148800 for whatever is full screen captured on my laptop. So I should be able to work with smaller byte arrays at some point.
       The issue I'm having is that once the Client sends an image of the desktop to the Server I only want to update the server with any differences occuring on the Clients desktop. So what I have done is compare the first screen captures bytes (stored
    in a List(Of Byte)) to the second screen captures bytes (stored in a List(Of Byte)) by using a For/Next for 0 to 4196405 where if a byte in the first screen captures List is not equal to a byte in the second screen captures List I add the index and byte of
    the second screen captures list to a Dictionary(Of Integer, Byte). The Dictionary then only contains the indexes and bytes that are different between the first screen capture and second screen capture. This takes about 125 milliseconds which I think is pretty
    fast for 4196406 byte comparison using a For/Next and adding all the different bytes and indexes for each byte to a Dictionary.
        The difference in Bytes between the inital screen capture and the second screen capture is 242587 as an example which changes of course. For that amount of bytes the Dictionary contains 242587 integers as indexes and 242587 bytes as different
    bytes totaling 485174 bytes for both arrays (keys, values).  Compressed the indexes go from 242587 to 43489 bytes and the values go from 242587 to 34982 bytes. Which means I will have to send 78, 481 bytes from the Client to the Server to update the display
    on the server. Quite smaller than the original 4196406 bytes of the second Bitmap saved to type .Bmp or the compressed size of that array which was 315473 bytes. Plus a few bytes I add as overhead so the server knows when an image array ends and how many packets
    were sent for the array so it can discard complete arrays if necessary since UDP is lossfull although probably not so much in current networks like it may originally have been when the internet started.
        In reality the data from the Client to the Server will mostly be the cursor as it moves and updating the Server image with only a few hundred bytes I would imagine at a time. Or when the cursor selects a Button for example and the Buttons
    color changes causing those differences in the original screen capture.
       But the problem is if I send the Dictionaries Indexes and Bytes to the Server then I need to update the original Bitmap List(Of Byte) on the server by removing the Bytes in the received informations Index locations array from the Servers Bitmap
    List(Of Byte) and replacing those Bytes with the Bytes in the received informations Byte array. This takes so long using a For/Next for however many indexes are in the received informations Index array to update the Bitmap List(Of Byte) on the server using
    "Bmp1Bytes.RemoveAt(Index As Integer)" followed by "Bmp1Bytes.Insert(Index As Integer, Item As Byte)" in the For/Next.
        I've tried various For/Next statements including using a new List(Of Byte) with If statements so If the the integer for the For/Next ='s the Key in a Dictionary(Of Integer, Byte) using a Counter to provide the Dictionaries Key value then
    the Dictionaries byte value will be added to the List(Of Byte) and the counter will increas by one Else the List(Of Byte) adds the original "Bmp1Bytes" byte at that index to the new List(Of Byte). This takes forever also.
       I also tried the same For/Next adding to a new Dictionary(Of Integer, Byte) but that takes forever too.
       I think I could use RemoveRange and AddRange to speed things up. But I don't know how to retrieve a contiguous range of indexes in the received indexes that need to be updated in the servers "Bmp1Bytes" List(Of Byte) from the received
    array of indexes and bytes which are in a Dictionary(Of Integer, Byte).  But I believe this would even be slower than some realistic method for replacing all Bytes in a List(Of Byte) when I have the indexes that need to be replaced and the bytes to replace
    them with.
       Even if I just used AddRange on a new List(Of Byte) to add ranges of bytes from the original "Bmp1Bytes" and the changes from the Dictionary(Of Integer, Byte) I think this would be rather slow. Although I don't know how to do that
    by getting contiguous ranges of indexes from the Dictionaries keys.
       So I was wondering if there is some method perhaps using Linq or IEnumerable which I've been unable to figure anything out which could do this.
       I do have some copy and pasted code which I don't understand how it works that I am using which I would guess could be altered for doing something like this but I can't find information that provides how the code works.  Or even if I did
    maybe I can't understand it. Like the code below which is extremely fast.
       Dim strArray() As String = Array.ConvertAll(Of Integer, String)(BmpComparisonDict.Keys.ToArray, Function(x) x.ToString())
    La vida loca

    Monkeyboy,
    That was quite a bit to read, but still a bit unclear. Could you put a specific list of goals/questions, asked in the smallest possible form?
    It seems like either you're making a program that monitors activity on your computer, or you're writing some kind of remote pc app.
    When you do get your bytes from using lockbits, keep in mind all the files header info would be lost. I think retaining the header info is worth the extra bytes.
    The other, thing: I'm not sure if you're taking 32bpp screen shots, but also keep in mind that the "whole desktop" is the final destination for blended graphics, if that makes sense. What I mean is that there is no need to capture an "alpha"
    channel for a desktop screenshot, as alpha would always be 255, this could save you 1 byte per pixel captured... Theres nothing "behind" the desktop, therefore no alpha, and every window shown above the desktop is already blended. I suggest using
    24Bpp for a full screen capture.
    Your X,Y information for the mouse could be stored as UINT16, this would save you a measly 2 bytes per location update/save.
    When you update your byte arrays, maybe you can turn the array into a stream and write to whatever index, however many bytes, that should prevent a "Shift" of bytes, and instead overwrite any bytes that "get in the way".
    ex
    Dim example As String = "This is an example."
    Dim insertString As String = "was"
    Dim insertBytes As Byte() = System.Text.Encoding.ASCII.GetBytes(insertString)
    Dim bytes As Byte() = System.Text.Encoding.ASCII.GetBytes(example)
    Dim modifiedBytes As Byte() = {}
    Using ms As New System.IO.MemoryStream(bytes)
    ms.Position = 5
    ms.Write(insertBytes, 0, 3)
    modifiedBytes = ms.ToArray
    End Using
    Dim newString As String = System.Text.Encoding.ASCII.GetString(modifiedBytes)
    'Notice how below there isn't the word "is" anymore, and that there isn't a
    'space.
    'This demonstrates that you overwrite existing data, versus shifting everything to
    'the right.
    'Returns: This wasan example.
    MsgBox(newString)
    “If you want something you've never had, you need to do something you've never done.”
    Don't forget to mark
    helpful posts and answers
    ! Answer an interesting question? Write a
    new article
    about it! My Articles
    *This post does not reflect the opinion of Microsoft, or its employees.
    Well it's too much to read. I was really tired when I wrote it. Even the below is too much to read but perhaps gets the point across of what I would like to do which I think
    Joel Engineer may have answered but I'm not sure. As I'm still too tired to understand that yet and research what he said in order to figure it out yet.
    But maybe the code below can provide the concept of the operation with the comments in it. But seeing as how I'm still tired it may be confused.
    Option Strict On
    Imports System.Windows.Forms
    Imports System.IO
    Imports System.IO.Compression
    Imports System.Drawing.Imaging
    Imports System.Runtime.InteropServices
    Public Class Form1
    Dim Bmp1Bytes As New List(Of Byte)
    Dim Bmp1BytesCompressed As New List(Of Byte)
    Dim Bmp2Bytes As New List(Of Byte)
    Dim BmpComparisonDict As New Dictionary(Of Integer, Byte)
    Dim BmpDifferenceIndexesCompressed As New List(Of Byte)
    Dim BmpDifferenceBytesCompressed As New List(Of Byte)
    Private Sub Button1_Click(sender As Object, e As EventArgs) Handles Button1.Click
    SomeSub()
    End Sub
    Private Sub SomeSub()
    ' Pretend this code is in UDP Client app. A screen capture is performed of the desktop. Takes about 90 milliseconds.
    Bmp1Bytes.Clear()
    Using BMP1 As New Bitmap(Screen.PrimaryScreen.Bounds.Width, Screen.PrimaryScreen.Bounds.Height)
    Using g1 As Graphics = Graphics.FromImage(BMP1)
    g1.CopyFromScreen(0, 0, 0, 0, BMP1.Size)
    Cursor.Draw(g1, New Rectangle(Cursor.Position.X, Cursor.Position.Y, Cursor.Size.Width, Cursor.Size.Height))
    Using MS As New MemoryStream
    BMP1.Save(MS, System.Drawing.Imaging.ImageFormat.Bmp)
    Bmp1Bytes.AddRange(MS.ToArray)
    End Using
    End Using
    End Using
    Bmp1BytesCompressed.AddRange(Compress(Bmp1Bytes.ToArray))
    ' UDP Client app sends Bmp1BytesCompressed.ToArray to UDP Server which is the entire image of the desktop that the UDP
    ' Client is on. This image takes awhile to send since compressed it is about 177000 bytes from over 4000000 bytes.
    ' I will be using different code just to get the bytes from the actual Bitmap in the future. That is not important for now.
    ' Pretend the UDP Server has received the bytes, decompressed the array received into a List(Of Byte) and is displaying
    ' the image of the UDP Clients desktop in a PictureBox.
    ' Now the image on the UDP Clients desktop changes due to the mouse cursor moving as an example. Therefore a new Bitmap
    ' is created from a screen capture. This takes about 90 milliseconds.
    Bmp2Bytes.Clear()
    Using BMP2 As New Bitmap(Screen.PrimaryScreen.Bounds.Width, Screen.PrimaryScreen.Bounds.Height)
    Using g1 As Graphics = Graphics.FromImage(BMP2)
    g1.CopyFromScreen(0, 0, 0, 0, BMP2.Size)
    Cursor.Draw(g1, New Rectangle(Cursor.Position.X, Cursor.Position.Y, Cursor.Size.Width, Cursor.Size.Height))
    Using MS As New MemoryStream
    BMP2.Save(MS, System.Drawing.Imaging.ImageFormat.Bmp)
    Bmp2Bytes.AddRange(MS.ToArray)
    End Using
    End Using
    End Using
    ' Now I have the original images bytes in Bmp1Bytes and the new images bytes in Bmp2Bytes on the UDP Client. But I don't
    ' want to send all of the bytes in Bmp2Bytes to the UDP Server. Just the indexes of and the bytes that are different in
    ' Bmp2Bytes from Bmp1Bytes.
    ' This takes less than 100 milliseconds for what I've tested so far where over 500000 bytes in Bmp2Bytes are different
    ' than the bytes in Bmp1Bytes. Usually that amount would be much less. But during testing I was displaying the image
    ' from Bmp1 bytes in a PictureBox so a large amount of data would change between the first screen shot, the PictureBox
    ' then displaying an image on the same PC and then the second screen shot.
    BmpComparisonDict.Clear()
    For i = 0 To Bmp1Bytes.Count - 1
    If Bmp1Bytes(i) <> Bmp2Bytes(i) Then
    BmpComparisonDict.Add(i, Bmp2Bytes(i))
    End If
    Next
    ' So now I have all the difference bytes and their indexes from Bmp2Bytes in the BmpComparisonDict. So I compress
    ' the indexes into on List and the Bytes into another List.
    BmpDifferenceIndexesCompressed.Clear()
    BmpDifferenceBytesCompressed.Clear()
    BmpDifferenceIndexesCompressed.AddRange(Compress(BmpComparisonDict.Keys.SelectMany(Function(d) BitConverter.GetBytes(d)).ToArray()))
    BmpDifferenceBytesCompressed.AddRange(Compress(BmpComparisonDict.Values.ToArray))
    ' Now pretend the UDP Client has sent both those arrays to the UDP Server which has added both decompressed arrays
    ' to a Dictionary(Of Integer, Byte). And the server has the original image decompressed bytes received in a List
    ' called Bmp1Bytes also.
    ' This is where I am stuck. The UDP Server has the Dictionary. That part was fast. However there is no
    ' fast method I have found for creating a new List(Of Byte) where bytes in the originally received List(Of Byte) that
    ' do not have to be altered are placed into a new List(Of Byte) except for the indexes listed in the
    ' Dictionary(Of Integer, Byte) that need to be placed into the appropriate index locations of the new List(Of Byte).
    ' The below example for doing so is exceptionally slow. Pretend UpdateDictionary has all of the decompressed indexes
    ' and bytes received by the UDP Server for the update contained within it.
    Dim UpdateDictionary As New Dictionary(Of Integer, Byte)
    Dim UpdatedBytes As New List(Of Byte)
    Dim Counter As Integer = 0
    For i = 0 To Bmp1Bytes.Count - 1
    If i = UpdateDictionary.Keys(Counter) Then ' Provides the index contained in the Keys for the Dictionary
    UpdatedBytes.Add(UpdateDictionary.Values(Counter))
    Counter += 1
    If Counter > UpdateDictionary.Count - 1 Then Counter = 0
    Else
    UpdatedBytes.Add(Bmp1Bytes(i))
    End If
    Next
    ' So what I'm trying to do is find an extremely fast method for performing something similar to what the
    ' above operation performs.
    End Sub
    Private Function Compress(BytesToCompress() As Byte) As List(Of Byte)
    Dim BytesCompressed As New List(Of Byte)
    Using compressedStream = New MemoryStream()
    Using zipStream = New GZipStream(compressedStream, CompressionMode.Compress)
    zipStream.Write(BytesToCompress, 0, BytesToCompress.Count)
    zipStream.Close()
    BytesCompressed.AddRange(compressedStream.ToArray)
    End Using
    End Using
    Return BytesCompressed
    End Function
    Private Function Decompress(BytesToDecompress() As Byte) As List(Of Byte)
    Dim BytesDecompressed As New List(Of Byte)
    Using DecompressedStream = New MemoryStream()
    Using zipStream = New GZipStream(DecompressedStream, CompressionMode.Decompress)
    zipStream.Write(BytesToDecompress, 0, BytesToDecompress.Count)
    zipStream.Close()
    BytesDecompressed.AddRange(DecompressedStream.ToArray)
    End Using
    End Using
    Return BytesDecompressed
    End Function
    End Class
    La vida loca

  • In which system field double click feild will stored

    hi when you double click in interactive report, in which system field will store that value
    Message was edited by:
            sudhakara reddy

    Check this simple program that illustrates the interactive reports. Also look at features like HOTSPOT extension of WRITE statement and HIDE.
    REPORT  zakstest1 NO STANDARD PAGE HEADING.
    DATA: BEGIN OF itab OCCURS 0,
            matnr LIKE mara-matnr,
            matkl LIKE mara-matkl,
            mtart LIKE mara-mtart.
    DATA: END OF itab.
    SELECT matnr matkl mtart FROM mara INTO TABLE itab UP TO 20 ROWS.
    LOOP AT itab.
      WRITE:/ itab-matnr,
              itab-matkl,
              itab-mtart.
    ENDLOOP.
    AT LINE-SELECTION.
      IF sy-lsind = 2.
        CLEAR sy-ucomm.
        EXIT.
      ENDIF.
      sy-lsind = 1.
      WRITE:/ sy-lisel.
    *-- you can also read the specific record of the internal table and show
    *   the values you want to show
      CLEAR itab.
      READ TABLE itab INDEX sy-lilli.
      IF sy-subrc = 0.
        WRITE:/ itab-mtart,
                itab-matkl,
                itab-matnr.
      ENDIF.

  • How to list all the Fields for an Active Directory Object

    How do I list all the fields that an Active Directory object contains? I know the most common ones, but would like to enumerate through all the fields and obtain the type of fields and their values...

    Here is my complete code - I only put snippets so that the post was not too huge...
    Option Explicit
    Const ADS_SCOPE_SUBTREE = 2
    Const ForReading = 1, ForWriting = 2, ForAppending = 8
    Dim adoCommand, adoConnection, adoRecordSet
    Dim dtmDate, dtmValue
    Dim j
    Dim lngBias, lngBiasKey, lngHigh, lngLow, lngValue
    Dim objADObject, objClass, objDate, objFile, objFSO, objRootDSE, objShell
    Dim pathToScript
    Dim strAdsPath, strConfig, strDNSDomain, strHex, strItem, strProperty, strValue
    Dim strFilter, strQuery
    Set objFSO = CreateObject("Scripting.FileSystemObject")
    Set objShell = CreateObject("Wscript.Shell")
    pathToScript = objShell.CurrentDirectory
    Set objFile = objFSO.CreateTextFile(pathToScript & "\TestAD.csv")
    ' Determine Time Zone bias in local registry.
    ' This bias changes with Daylight Savings Time.
    lngBiasKey = objShell.RegRead("HKLM\System\CurrentControlSet\Control\TimeZoneInformation\ActiveTimeBias")
    If (UCase(TypeName(lngBiasKey)) = "LONG") Then
    lngBias = lngBiasKey
    ElseIf (UCase(TypeName(lngBiasKey)) = "VARIANT()") Then
    lngBias = 0
    For j = 0 To UBound(lngBiasKey)
    lngBias = lngBias + (lngBiasKey(j) * 256^j)
    Next
    End If
    ' Determine configuration context and DNS domain from RootDSE object.
    Set objRootDSE = GetObject("LDAP://RootDSE")
    strConfig = objRootDSE.Get("configurationNamingContext")
    strDNSDomain = objRootDSE.Get("defaultNamingContext")
    Set adoCommand = CreateObject("ADODB.Command")
    Set adoConnection = CreateObject("ADODB.Connection")
    adoConnection.Provider = "ADsDSOObject"
    adoConnection.Open "Active Directory Provider"
    adoCommand.ActiveConnection = adoConnection
    adoCommand.CommandText = "SELECT * FROM 'LDAP://" & strDNSDomain & "'WHERE objectClass=user'"
    adoCommand.Properties("Page Size") = 1000
    adoCommand.Properties("Searchscope") = ADS_SCOPE_SUBTREE
    Set adoRecordSet = adoCommand.Execute
    Set adoRecordSet = adoCommand.Execute
    adoRecordSet.MoveFirst
    Do Until adoRecordSet.EOF
    strAdsPath = adoRecordSet.Fields("ADsPath").Value
    ' Bind to Active Directory object specified.
    Set objADObject = GetObject(strAdsPath)
    Set objClass = GetObject(objADObject.Schema)
    ' Write which object is grabbed from AD
    objFile.Write(Replace(strAdsPath, ",", ";;;"))
    ' Enumerate mandatory object properties.
    For Each strProperty In objClass.MandatoryProperties
    On Error Resume Next
    strValue = objADObject.Get(strProperty)
    If (Err.Number = 0) Then
    On Error GoTo 0
    If (TypeName(strValue) = "String") Or (TypeName(strValue) = "Long") Or (TypeName(strValue) = "Date") Then
    objFile.Write("," & strProperty & "|||" & Replace(CStr(strValue), ",", ";;;"))
    ElseIf (TypeName(strValue) = "Byte()") Then
    strHex = OctetToHexStr(strValue)
    objFile.Write("," & strProperty & "|||" & CStr(strHex))
    ElseIf (TypeName(strValue) = "Variant()") Then
    For Each strItem In strValue
    On Error Resume Next
    objFile.Write("," & strProperty & "|||" & Replace(CStr(strItem), ",", ";;;"))
    If (Err.Number <> 0) Then
    On Error GoTo 0
    objFile.Write("," & strProperty & "|||Value cannot be displayed")
    End If
    On Error GoTo 0
    Next
    ElseIf (TypeName(strValue) = "Boolean") Then
    objFile.Write("," & strProperty & "|||" & CBool(strValue))
    Else
    objFile.Write("," & strProperty & "|||Type:" & TypeName(strValue))
    End If
    Else
    Err.Clear
    sColl = objADObject.GetEx(strProperty)
    If (Err.Number = 0) Then
    For Each strItem In sColl
    objFile.Write("," & strProperty & "|||" & CStr(strItem))
    If (Err.Number <> 0) Then
    objFile.Write("," & strProperty & "|||Value cannot be displayed")
    End If
    Next
    On Error GoTo 0
    Else
    Err.Clear
    Set objDate = objADObject.Get(strProperty)
    If (Err.Number = 0) Then
    lngHigh = objDate.HighPart
    If (Err.Number = 0) Then
    lngLow = objDate.LowPart
    If (lngLow < 0) Then
    lngHigh = lngHigh + 1
    End If
    lngValue = (lngHigh * (2 ^ 32)) + lngLow
    If (lngValue > 120000000000000000) Then
    dtmValue = #1/1/1601# + (lngValue / 600000000 - lngBias) / 1440
    On Error Resume Next
    dtmDate = CDate(dtmValue)
    If (Err.Number <> 0) Then
    objFile.Write("," & strProperty & "|||<Never>")
    Else
    objFile.Write("," & strProperty & "|||" & CStr(dtmDate))
    End If
    Else
    objFile.Write("," & strProperty & "|||" & FormatNumber(lngValue, 0))
    End If
    Else
    objFile.Write("," & strProperty & "|||Value cannot be displayed")
    End If
    Else
    On Error GoTo 0
    objFile.Write("," & strProperty)
    End If
    On Error GoTo 0
    End If
    End If
    Next
    ' Enumerate optional object properties.
    For Each strProperty In objClass.OptionalProperties
    On Error Resume Next
    strValue = objADObject.Get(strProperty)
    If (Err.Number = 0) Then
    On Error GoTo 0
    If (TypeName(strValue) = "String") Then
    objFile.Write("," & strProperty & "|||" & Replace(CStr(strValue), ",", ";;;"))
    ElseIf (TypeName(strValue) = "Long") Then
    objFile.Write("," & strProperty & "|||" & Replace(CStr(strValue), ",", ";;;"))
    ElseIf (TypeName(strValue) = "Date") Then
    objFile.Write("," & strProperty & "|||" & Replace(CStr(strValue), ",", ";;;"))
    ElseIf (TypeName(strValue) = "Byte()") Then
    strHex = OctetToHexStr(strValue)
    objFile.Write("," & strProperty & "|||" & CStr(strHex))
    ElseIf (TypeName(strValue) = "Variant()") Then
    For Each strItem In strValue
    On Error Resume Next
    objFile.Write("," & strProperty & "|||" & Replace(CStr(strItem), ",", ";;;"))
    If (Err.Number <> 0) Then
    On Error GoTo 0
    objFile.Write("," & strProperty & "|||Value cannot be displayed")
    End If
    On Error GoTo 0
    Next
    ElseIf (TypeName(strValue) = "Boolean") Then
    objFile.Write("," & strProperty & "|||" & CBool(strValue))
    Else
    objFile.Write("," & strProperty & "|||Type:" & TypeName(strValue))
    End If
    Else
    Err.Clear
    sColl = objADObject.GetEx(strProperty)
    If (Err.Number = 0) Then
    For Each strItem In sColl
    objFile.Write("," & strProperty & "|||" & CStr(strItem))
    If (Err.Number <> 0) Then
    objFile.Write("," & strProperty & "|||Value cannot be displayed")
    End If
    Next
    On Error GoTo 0
    Else
    Err.Clear
    Set objDate = objADObject.Get(strProperty)
    If (Err.Number = 0) Then
    lngHigh = objDate.HighPart
    If (Err.Number = 0) Then
    lngLow = objDate.LowPart
    If (lngLow < 0) Then
    lngHigh = lngHigh + 1
    End If
    lngValue = (lngHigh * (2 ^ 32)) + lngLow
    If (lngValue > 120000000000000000) Then
    dtmValue = #1/1/1601# + (lngValue / 600000000 - lngBias) / 1440
    On Error Resume Next
    dtmDate = CDate(dtmValue)
    If (Err.Number <> 0) Then
    objFile.Write("," & strProperty & "|||<Never>")
    Else
    objFile.Write("," & strProperty & "|||" & CStr(dtmDate))
    End If
    Else
    objFile.Write("," & strProperty & "|||" & lngValue)
    End If
    Else
    objFile.Write("," & strProperty & "|||Value cannot be displayed")
    End If
    Else
    On Error GoTo 0
    objFile.Write("," & strProperty & "||| ")
    End If
    On Error GoTo 0
    End If
    End If
    Next
    objFile.WriteLine("")
    adoRecordSet.MoveNext
    Loop
    objFile.Close
    ' Function to convert OctetString (Byte Array) to a hex string.
    Function OctetToHexStr(arrbytOctet)
    Dim k
    OctetToHexStr = ""
    For k = 1 To Lenb(arrbytOctet)
    OctetToHexStr = OctetToHexStr _
    & Right("0" & Hex(Ascb(Midb(arrbytOctet, k, 1))), 2)
    Next
    End Function
    I have been able to obtain all the Computer, Contact, Group and OU objects without issue with this code...

  • Wat is the use of "DATA var-name LIKE SY-INDEX" statement

    Hi to all,
           is there any use of "DATA <var-name> LIKE SY-INDEX"  statement in ABAP, do the variable <var-name> be changed with that of SY-INDEX when we declare like this.
             Could u give me a fast response,
                                            Thank you,
                                                 Srinivasa Rao k.

    hi check this example..
    data: v_index type sy-index value 10 .
    do 15 times .
    if sy-index = v_index .
    write:/ 'the system index is 10 '.
    exit.
    endif.
    enddo.
    the main use of the index is used in the hr programs..
    the user wants the emp salary and previous months   salary then you need to use the index .
    if the table had 10 records .then you need to catch the record of  index1(current) and index 2(for previous month)..
    select pernr ansal  from pa0008 into table it_pa0008 where pernr in s_pernr and begda in s_begda .
    loop at it_pa0008.
    case sytabix.
    when 1 .
    it_final-cursal =  it_pa0008-ansal.
    when 2 .
    it_final-prevsal =  it_pa0008-ansal.
    endcase .
    endloop.
    regards,
    venkat.

  • View with selection conditions with system fields.

    Hi Experts,
    I have a view. Now i want to control the data that is selected using 'Selection Conditions'.
    here i want to use system field SY-DATUM.
    My requirement is  i want to control the output like
    Valid_From_Date GE SY-DATUM and
    Valid_To_Date     LE  SY-DATUM
    which means that i would be showing only active users in this view.
    How can i go about this? System is not allowing system fields in comparision value.
    Any help on this is highly appreciated. Thanks.
    regards,
    Simha

    Hi,
    I am getting a warning first 'enter constant as comparision value'
    when i trying to activate the view i am getting the below error.
    A join condition on a field of the system table SY (or SYST) was defined.
    This is not permitted for database views because the system table is not known to the database
    Have tried to activate the view you created?
    How to go about this?
    Regards,
    Simha

  • Help on System fields.

    Hi all,
    I have always confusion when to use which system fields(tabix, index, tfill).
    í created one program first i used sy-tabix instead of sy-index.Then it doesnt work.
    Please clarify me with examples.
    that code is.
    FORM delimiting.
      DO.
    * assigns the next field in the current header to <f>.
        ASSIGN COMPONENT sy-index OF STRUCTURE i_itab TO <f>.
        IF sy-subrc <> 0.
          EXIT.
        ENDIF.
        IF sy-index = 1.
          excel_string = <f>.
        ELSE.
          CONCATENATE excel_string <delim> <f> INTO excel_string.
        ENDIF.
      ENDDO.
    ENDFORM.                    " delimiting
    Thanks and regards
    Chandu.

    Hi,
    Sy-index specifies about the current loop pass which is same as ur example.
    Sy-tabix stores the current line index of the table.
    loop at it_mara.
      < ur logic >
      modify table it_mara index sy_tabix.
    endloop.
    Sy-tfill tells abt the current number of lines in the internal table.
    describe table it_mara lines sy-tfill.
    if sy-tfill = 0.
      <ur code if table is initial>
    endif.
    Regards,
    Neelima.

  • SY - System fields and return codes in ABAP

    Hi
    I'm new to ABAP, where do I find what the meaning of the system field return codes are ?
    example SY-SUBRC returns a number of codes 0, 2, 4, 8 etc what do they mean.
    Is there a resource somewhere that provides this information for all the system fields.
    I have searched high and low and have found little, they must be defined somwhere ?
    cheers Hugh

    Here is a listing of all of the system fields.
    http://help.sap.com/saphelp_scm50/helpdata/en/7b/fb96c8882811d295a90000e8353423/frameset.htm
    As for what the return codes( 0, 4, 8) for SY-SUBRC mean,  that is a little tricky.  The meanings of the values are dependent on what statement was used previously. They would mean different things when used with different statements.  For example, if you check SY-SUBRC after a FIND statement, the return code value 4, would mean something different than if you had check the SY-SUBRC value after doing an OPEN DATASET.  So you need to look at the specific statements in help.sap.com and see what it says about the SY-SUBRC values for each statement.
    http://help.sap.com/saphelp_scm50/helpdata/en/43/41341147041806e10000000a1553f6/frameset.htm
    Regards,
    Rich Heilman

Maybe you are looking for

  • HT3819 homesharing stops when computer sleeps. I already checked the "wake for access". What is wrong?

    Homesharing stops when the computer sleeps. Already checked the " wake for access" and already changed the computer sleep to never.

  • Keynote won't update

    having problems updating keynote and pages

  • URGENT: CO and CO-PA Document

    Hi! Are CO and CO-PA Documents different? May I know what are the differences? How do I explain what is a CO Document and CO-PA Documner to my user? From where do they get their values? Also, what does it mean by Company Document and Company Book. I

  • Global parameters

    Hey, I would like to setup global parameters so that I can use then in any portlet. I am trying to set global parameters more like how oracle manages username and other variables. Any help is appreciated.

  • Cannot connect to Activation Server

    My system is Windows Vista. Recently installed ADE 3.0.  I tried to open ACSM file, both with & w/o authorization ID. Both times, I get the same error:  cannot connect to Activation Server My internet connection works. So, I configured my Windows Fir