Mm predefined constants

Hello!
Considering MM and Purchase Requisitions, I would like to know if there is some interface defining common constants, like 'item category purchase requisition'. For example, I wanna compare the pstyp value but I don't wanna to use the value to compare it...In code below, I want to avoid the first example and use the second one :
    if pstyp = 7. ' NO!
    if pstyp = <constant defining the value for stock transfer>.  ' YES!
Thanks a lot!

Hi Raymond
Thank you very much! It's exactly what I need!

Similar Messages

  • PL/SQL predefined constant

    Hi all,
    are there any predefined constants in PL/SQL which are holding the package name and/or procedure name my program code is in.
    Like the USER constant or something like that.
    Example
    CREATE OR REPLACE package body mypackage is
    procedure myproc is
    begin
    dbms_output.put_line("Hello i'm in procedure" || [PROCEDURE-CONSTANT] || ' in package' || [PACKAGE_CONSTANT || ' on line ' || [LINE_CONSTANT]);
    dbms_output.put_line("Hello i'm user" || USER);
    end myproc;
    end mypackage;
    Thanks in advance,
    Greetz Sven

    Look at the conditional compilation literal $$PLSQL_UNIT.
    it is a varchar2 literal containing the program name, or in the case of an anonymous block, it's a null string
    CREATE OR REPLACE package body mypackage is
      procedure myproc is
      begin
        dbms_output.put_line('Hello i''m in procedure ' || $$PLSQL_UNIT|| ' in package ' || $$PLSQL_UNIT || ' on line ' || $$PLSQL_LINE);
        dbms_output.put_line('Hello i''m user ' || USER);
      end myproc;
    end mypackage;
    SQL>exec mypackage.myproc;
    Hello i'm in procedure MYPACKAGE in package MYPACKAGE on line 4
    Hello i'm user JOEUSER
    PL/SQL procedure successfully completed.

  • Urgent help with quick translation questions

    Hello,
    I am somewhat new to Java. I have a translation to hand in in a few hours (French to English). Argh! I have questions on how I worded some parts of the translation (and also if I understood it right). Could you, great developers, please take a look and see if what I wrote makes sense? I've put *** around the words I wasn't sure about. If it sounds strange or is just plain wrong, please let know. I also separated two terms with a slash, when I was in doubt of which one was the best.
    Many thanks in advance.
    1) Tips- Always ***derive*** the exceptions java.lang.Exception and java.lang.RuntimeException.
    Since these exceptions have an excessively broad meaning, ***the calling layers will not know how to
    distinguish the message sent from the other exceptions that may also be passed to them.***
    2) The use of the finally block does not require a catch block. Therefore, exceptions may be passed back to the
    calling layers, while effectively freeing resources ***attributed*** locally
    3) TIPS- Declare the order for SQL ***statements/elements*** in the constant declaration section (private static final).
    Although this recommendation slightly hinders reading, it can have a significant impact on performance. In fact, since
    the layers of access to data are ***low level access***, their optimization may be readily felt from the user’s
    perspective.
    4) Use “inlining.”
    Inlining is a technique used by the Java compiler. Whenever possible, during compilation, the compiler
    copies the body of a method in place of its call, rather than executing a ***memory jump to the method***.
    In the example below, the "inline" code will run twice as fast as the ***method call***
    5)tips - ***Reset the references to large objects such as arrays to null.***
    Null in Java represents a reference which has not been ***set/established.*** After using a variable with a
    large size, it must be ***reassigned a null value.*** This allows the garbage collector to quickly ***recycle the
    memory allocated*** for the variable
    6) TIPS Limit the indexed access to arrays.
    Access to an array element is costly in terms of performance because it is necessary to invoke a verification
    that ***the index was not exceeded.***
    7) tips- Avoid the use of the “Double-Checked Locking” mechanism.
    This code does not always work in a multi-threaded environment. The run-time behavior ***even depends on
    compilers.*** Thus, use the following ***singleton implementation:***
    8) Presumably, this implementation is less efficient than the previous one, since it seems to perform ***a prior
    initialization (as opposed to an initialization on demand)***. In fact, at runtime, the initialization block of a
    (static) class is called when the keyword MonSingleton appears, whether there is a call to getInstance() or
    not. However, since ***this is a singleton***, any occurrence of the keyword will be immediately followed by a
    call to getInstance(). ***Prior or on demand initializations*** are therefore equivalent.
    If, however, a more complex initialization must take place during the actual call to getInstance, ***a standard
    synchronization mechanism may be implemented, subsequently:***
    9) Use the min and max values defined in the java.lang package classes that encapsulate the
    primitive numeric types.
    To compare an attribute or variable of primitive type integer or real (byte, short, int, long, float or double) to
    ***an extreme value of this type***, use the predefined constants and not the values themselves.
    Vera

    1) Tips- Always ***derive*** the exceptions java.lang.Exception and java.lang.RuntimeException.***inherit from***
    ***the calling layers will not know how to
    distinguish the message sent from the other exceptions that may also be passed to them.***That's OK.
    while effectively freeing resources ***attributed*** locally***allocated*** locally.
    3) TIPS- Declare the order for SQL ***statements/elements*** in the constant declaration section (private static final).***statements***, but go back to the author. There is no such thing as a 'constant declaration section' in Java.
    Although this recommendation slightly hinders reading, it can have a significant impact on performance. In fact, since
    the layers of access to data are ***low level access***, their optimization may be readily felt from the user’s
    perspective.Again refer to the author. This isn't true. It will make hardly any difference to the performance. It is more important from a style perspective.
    4) Use “inlining.”
    Inlining is a technique used by the Java compiler. Whenever possible, during compilation, the compiler
    copies the body of a method in place of its call, rather than executing a ***memory jump to the method***.
    In the example below, the "inline" code will run twice as fast as the ***method call***Refer to the author. This entire paragraph is completely untrue. There is no such thing as 'inlining' in Java, or rather there is no way to obey the instruction given to 'use it'. The compiler will or won't inline of its own accord, nothing you can do about it.
    5)tips - ***Reset the references to large objects such as arrays to null.***Correct, but refer to the author. This is generally considered bad practice, not good.
    Null in Java represents a reference which has not been ***set/established.******Initialized***
    After using a variable with a
    large size, it must be ***reassigned a null value.*** This allows the garbage collector to quickly ***recycle the
    memory allocated*** for the variableAgain refer author. Correct scoping of variables is a much better solution than this.
    ***the index was not exceeded.******the index was not out of range***
    The run-time behavior ***even depends on compilers.***Probably a correct translation but the statement is incorrect. Refer to the author. It does not depend on the compiler. It depends on the version of the JVM specification that is being adhered to by the implementation.
    Thus, use the following ***singleton implementation:***Correct.
    it seems to perform ***a prior initialization (as opposed to an initialization on demand)***.I would change 'prior' to 'automatic pre-'.
    ***this is a singleton***That's OK.
    ***Prior or on demand initializations***Change 'prior' to 'automatic'.
    ***a standard
    synchronization mechanism may be implemented, subsequently:***I think this is nonsense. I would need to see the entire paragraph.
    ***an extreme value of this type******this type's minimum or maximum values***
    I would say your author is more in need of a technical reviewer than a translator at this stage. There are far too serious technical errors in this short sample for comfort. The text isn't publishable as is.

  • XSL transformation not working

    Hi!
    I am having problems when trying to generate XSL transformation from XML to XML (where XML output is actually XHTML). It always fails executing <xsl:callTemplate name="something", when <xsl:callTemplate /> is executed from another <xsl:template> which is also called with <xsl:callTemplate. Version of database is 10.2.0.4.0, received error is: ORA-00604: invalid character value 'burek' for attribute 'name'.
    Transformation is working in Java and Altova XMLSpy.
    PL/SQL code:
    procedure process_xsl(p_xml in clob, p_xsl in clob, p_result out clob) is
    w_xsl_proc dbms_XSLProcessor.Processor;
    w_xsl_ss dbms_XSLProcessor.Stylesheet;
    w_dom_xsl dbms_xmldom.DOMDocument;
    w_dom_xml dbms_xmldom.DOMDocument;
    w_parser dbms_xmlparser.Parser;
    begin
    --xml in xsl iz cloba v DOMDocument
    w_parser := dbms_xmlparser.newParser;
    dbms_xmlparser.parseClob(w_parser, p_xml);
    w_dom_xml := dbms_xmlparser.getDocument(w_parser);
    dbms_xmlparser.freeParser(w_parser);
    w_parser := dbms_xmlparser.newParser;
    dbms_xmlparser.parseClob(w_parser, p_xsl);
    w_dom_xsl := dbms_xmlparser.getDocument(w_parser);
    dbms_xmlparser.freeParser(w_parser);
    --xsl procesiranje
    w_xsl_proc := dbms_XSLProcessor.newProcessor;
    w_xsl_ss := dbms_XSLProcessor.newStylesheet(w_dom_xsl, null); <-- Here error is received
    END;
    Stylesheet:
    <?xml version="1.0" encoding="UTF-8"?>
    <xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform">
         <xsl:output method="xml" version="1.0" encoding="UTF-8" indent="yes" doctype-public="-//W3C//DTD XHTML 1.0 Transitional//EN" doctype-system="http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"></xsl:output>
         <xsl:decimal-format name="dec" decimal-separator="," grouping-separator="."/>
         <!-- Predefined constants from einvoice xml schema -->
         <xsl:variable name="einvoiceIssuerCode" select="'II'"></xsl:variable>
         <xsl:variable name="einvoiceRecipientCode" select="'IV'"></xsl:variable>
         <xsl:variable name="einvoiceIssueLocationCode" select="91"></xsl:variable>
         <xsl:variable name="einvoiceIssueDateCode" select="137"></xsl:variable>
         <!-- Constants directly from document which is a part of transformation -->
         <xsl:variable name="einvoiceNumber" select="/IzdaniRacunEnostavni/Racun/GlavaRacuna/StevilkaRacuna/text()"></xsl:variable>
         <!-- Intro template -->
         *<xsl:template name="burek"> <!-- Second template called with xsl:call template -->*
              <xsl:text>TEST</xsl:text>
         </xsl:template>
         <!-- Template in which we create html structure including css -->
         <xsl:template name="einvoice">
              <html xmlns="http://www.w3.org/1999/xhtml">
              <head>
                   <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
                   <title>Vizualizacija e-računa št. </title>
                   <xsl:call-template name="burek"></xsl:call-template>
              </head>
              <body>
              </body>
              </html>
         </xsl:template>
         <!-- Intro template -->
         <xsl:template match="/">
    *          <xsl:call-template name="einvoice"></xsl:call-template> <!-- This call is OK -->*
         </xsl:template>
    </xsl:stylesheet>
    XML document
    <?xml version="1.0" encoding="UTF-8"?>
    <IzdaniRacunEnostavni>
    <Racun Id="data">
    <GlavaRacuna>
    <VrstaRacuna>380</VrstaRacuna>
    <StevilkaRacuna>1205019908211</StevilkaRacuna>
    <FunkcijaRacuna>9</FunkcijaRacuna>
    </GlavaRacuna>
    <DatumiRacuna>
    <VrstaDatuma>137</VrstaDatuma>
    <DatumRacuna>2012-05-07T00:00:00.0Z</DatumRacuna>
    </DatumiRacuna>
    <DatumiRacuna>
    <VrstaDatuma>263</VrstaDatuma>
    <DatumRacuna>2012-04-28T00:00:00.0Z</DatumRacuna>
    </DatumiRacuna>
    <DatumiRacuna>
    <VrstaDatuma>263</VrstaDatuma>
    <DatumRacuna>2012-05-27T00:00:00.0Z</DatumRacuna>
    </DatumiRacuna>
    <DatumiRacuna>
    <VrstaDatuma>263</VrstaDatuma>
    <DatumRacuna>2012-03-28T00:00:00.0Z</DatumRacuna>
    </DatumiRacuna>
    <DatumiRacuna>
    <VrstaDatuma>263</VrstaDatuma>
    <DatumRacuna>2012-04-26T00:00:00.0Z</DatumRacuna>
    </DatumiRacuna>
    <DatumiRacuna>
    <VrstaDatuma>263</VrstaDatuma>
    <DatumRacuna>2012-04-27T00:00:00.0Z</DatumRacuna>
    </DatumiRacuna>
    <Lokacije>
    <VrstaLokacije>91</VrstaLokacije>
    <NazivLokacije>Ljubljana</NazivLokacije>
    </Lokacije>
    </Racun>
    </IzdaniRacunEnostavni>
    Edited by: 938026 on 01-Jun-2012 00:35

    Hi,
    I think your problem lies in the <title>. You are using non UTF-8 characters in the title (š), but you marked your XML as UTF-8. So change the title to have unicode charaters and it will work.
    Herald ten Dam
    http://htendam.wordpress.com

  • Get_audit_id

    Hi All,
    I have ORACLE 11gr2 and i can create a mapping OWB with PRE/POST mapping.
    In the POST Mapping I insert a Procedure that capture the AUDIT_ID and insert its in
    a new Table "T25_AUDIT".
    My Problem is that when I Deploy tha Mapping;OWB give me two Warning
    1.ORA-06550: PACKAGE BODY, line 1056, column 20:
    2.PLS-00201: l'identificativo 'EXPRESSION_1_OAUDIT' deve essere dichiarato
         ORA-06550: PACKAGE BODY, line 1056, column 8:
         PL/SQL: Statement ignored
    If I run this mapping OWB present this Error
    ORA-04063
    If use a function <NameMapping>.get_audit_id in a Costant Palette and insert this
    value in POSTMapping, the value in the table "T25_AUDIT" is 0.

    type get_runtime_audit_id in constant and then check "Is Predefined Constant".
    (mark it helpful or correct if it is )
    Cheers
    Nawneet
    Edited by: Nawneet on Jun 10, 2010 5:49 AM

  • Display data type

    hi,
    how to display oralce's data type from system table is there any system table to fetch the data types for that version i'm using Oracle 11g.
    in sql server we fetch the details by using
    select * from sys.types
    this will return what the data types supported by that version
    Thanks!

    There is a package called STANDARD in the SYS schema that defines many of the standard datatypes and functions.
    e.g.
    CREATE OR REPLACE package SYS.STANDARD AUTHID CURRENT_USER is              -- careful on this line; SED edit occurs!
      /********** Types and subtypes, do not reorder **********/
      type BOOLEAN is (FALSE, TRUE);
      type DATE is DATE_BASE;
      type NUMBER is NUMBER_BASE;
      subtype FLOAT is NUMBER; -- NUMBER(126)
      subtype REAL is FLOAT; -- FLOAT(63)
      subtype "DOUBLE PRECISION" is FLOAT;
      subtype INTEGER is NUMBER(38,0);
      subtype INT is INTEGER;
      subtype SMALLINT is NUMBER(38,0);
      subtype DECIMAL is NUMBER(38,0);
      subtype NUMERIC is DECIMAL;
      subtype DEC is DECIMAL;
      subtype BINARY_INTEGER is INTEGER range '-2147483647'..2147483647;
      subtype NATURAL is BINARY_INTEGER range 0..2147483647;
      subtype NATURALN is NATURAL not null;
      subtype POSITIVE is BINARY_INTEGER range 1..2147483647;
      subtype POSITIVEN is POSITIVE not null;
      subtype SIGNTYPE is BINARY_INTEGER range '-1'..1;  -- for SIGN functions
      type VARCHAR2 is NEW CHAR_BASE;
      subtype VARCHAR is VARCHAR2;
      subtype STRING is VARCHAR2;
      subtype LONG is VARCHAR2(32760);
      subtype RAW is VARCHAR2;
      subtype "LONG RAW" is RAW(32760);
      subtype ROWID is VARCHAR2(256);
      -- Ansi fixed-length char
      -- Define synonyms for CHAR and CHARN.
      subtype CHAR is VARCHAR2;
      subtype CHARACTER is CHAR;
      type MLSLABEL is new CHAR_BASE;
      -- Large object data types.
      --  binary, character, binary file.
      type  BLOB is BLOB_BASE;
      type  CLOB is CLOB_BASE;
      type  BFILE is BFILE_BASE;
      -- Verbose and NCHAR type names
      subtype "CHARACTER VARYING" is VARCHAR;
      subtype "CHAR VARYING" is VARCHAR;
      subtype "NATIONAL CHARACTER" is CHAR CHARACTER SET NCHAR_CS;
      subtype "NATIONAL CHAR" is CHAR CHARACTER SET NCHAR_CS;
      subtype "NCHAR" is CHAR CHARACTER SET NCHAR_CS;
      subtype "NATIONAL CHARACTER VARYING" is VARCHAR CHARACTER SET NCHAR_CS;
      subtype "NATIONAL CHAR VARYING" is VARCHAR CHARACTER SET NCHAR_CS;
      subtype "NCHAR VARYING" is VARCHAR CHARACTER SET NCHAR_CS;
      subtype "NVARCHAR2" is VARCHAR2 CHARACTER SET NCHAR_CS;
      subtype "CHARACTER LARGE OBJECT" is CLOB;
      subtype "CHAR LARGE OBJECT" is CLOB;
      subtype "NATIONAL CHARACTER LARGE OBJEC" is CLOB CHARACTER SET NCHAR_CS;
      subtype "NCHAR LARGE OBJECT" is CLOB CHARACTER SET NCHAR_CS;
      subtype "NCLOB" is CLOB CHARACTER SET NCHAR_CS;
      subtype "BINARY LARGE OBJECT" is BLOB;
      subtype pls_integer is binary_integer;
      type TIME is new DATE_BASE;
      type TIMESTAMP is new DATE_BASE;
      type "TIME WITH TIME ZONE" is new DATE_BASE;
      type "TIMESTAMP WITH TIME ZONE" is new DATE_BASE;
      type "INTERVAL YEAR TO MONTH" is new DATE_BASE;
      type "INTERVAL DAY TO SECOND" is new DATE_BASE;
      SUBTYPE TIME_UNCONSTRAINED IS TIME(9);
      SUBTYPE TIME_TZ_UNCONSTRAINED IS TIME(9) WITH TIME ZONE;
      SUBTYPE TIMESTAMP_UNCONSTRAINED IS TIMESTAMP(9);
      SUBTYPE TIMESTAMP_TZ_UNCONSTRAINED IS TIMESTAMP(9) WITH TIME ZONE;
      SUBTYPE YMINTERVAL_UNCONSTRAINED IS INTERVAL YEAR(9) TO MONTH;
      SUBTYPE DSINTERVAL_UNCONSTRAINED IS INTERVAL DAY(9) TO SECOND (9);
      TYPE UROWID IS NEW CHAR_BASE;
      type "TIMESTAMP WITH LOCAL TIME ZONE" is new DATE_BASE;
      subtype timestamp_ltz_unconstrained is timestamp(9) with local time zone;
      subtype BINARY_FLOAT is NUMBER;
      subtype BINARY_DOUBLE is NUMBER;
      -- The following data types are generics, used specially within package
      -- STANDARD and some other Oracle packages.  They are protected against
      -- other use; sorry.  True generic types are not yet part of the language.
      type "<ADT_1>" as object (dummy char(1));
      type "<RECORD_1>" is record (dummy char(1));
      type "<TUPLE_1>" as object (dummy char(1));
      type "<VARRAY_1>" is varray (1) of char(1);
      type "<V2_TABLE_1>" is table of char(1) index by binary_integer;
      type "<TABLE_1>" is table of char(1);
      type "<COLLECTION_1>" is table of char(1);
      type "<REF_CURSOR_1>" is ref cursor;
      -- This will actually match against a Q_TABLE
      type "<TYPED_TABLE>" is table of  "<ADT_1>";
      subtype "<ADT_WITH_OID>" is "<TYPED_TABLE>";
      -- The following generic index table data types are used by the PL/SQL
      -- compiler to materialize an array attribute at the runtime (for more
      -- details about the array attributes, please see Bulk Binds document).
      type " SYS$INT_V2TABLE" is table of pls_integer index by binary_integer;
      -- The following record type and the corresponding generic index table
      -- data types are used by the PL/SQL compiler to materialize a table
      -- at the runtime in order to record the exceptions raised during the
      -- execution of FORALL bulk bind statement (for more details, please
      -- see bulk binds extensions document in 8.2).
      type " SYS$BULK_ERROR_RECORD" is
              record (error_index pls_integer, error_code pls_integer);
      type " SYS$REC_V2TABLE" is table of " SYS$BULK_ERROR_RECORD"
                                   index by binary_integer;
      /* Adding a generic weak ref cursor type */
      type sys_refcursor is ref cursor;
      /* the following data type is a generic for all opaque types */
      type "<OPAQUE_1>" as opaque FIXED(1) USING LIBRARY dummy_lib
        (static function dummy return number);
      type "<ASSOC_ARRAY_1>" is table of char(1) index by varchar2(1);
      /********** Add new types or subtypes here **********/
      /********** Predefined constants **********/
      BINARY_FLOAT_NAN constant BINARY_FLOAT;
      BINARY_FLOAT_INFINITY constant BINARY_FLOAT;
      BINARY_FLOAT_MAX_NORMAL constant BINARY_FLOAT;
      BINARY_FLOAT_MIN_NORMAL constant BINARY_FLOAT;
      BINARY_FLOAT_MAX_SUBNORMAL constant BINARY_FLOAT;
      BINARY_FLOAT_MIN_SUBNORMAL constant BINARY_FLOAT;
      BINARY_DOUBLE_NAN constant BINARY_DOUBLE;
      BINARY_DOUBLE_INFINITY constant BINARY_DOUBLE;
      BINARY_DOUBLE_MAX_NORMAL constant BINARY_DOUBLE;
      BINARY_DOUBLE_MIN_NORMAL constant BINARY_DOUBLE;
      BINARY_DOUBLE_MAX_SUBNORMAL constant BINARY_DOUBLE;
      BINARY_DOUBLE_MIN_SUBNORMAL constant BINARY_DOUBLE;
      /********** Add new constants here **********/
      /********** Predefined exceptions **********/
      CURSOR_ALREADY_OPEN exception;
        pragma EXCEPTION_INIT(CURSOR_ALREADY_OPEN, '-6511');
      DUP_VAL_ON_INDEX exception;
        pragma EXCEPTION_INIT(DUP_VAL_ON_INDEX, '-0001');
    ..and so it goes on... take a look yourself
    Edited by: BluShadow on 18-Dec-2012 09:32

  • Syntax error in ECC 6

    HI All,
    can any one please suggest me that cant we assign any prg to sy-repid.
    i have ana error for this code SY-REPID = 'PRGNAME'.
    error is:the field SY-REPID cant be changed

    Hi the error is because:
    The system field SY-REPID is not part of SYST or SY. Instead, every program contains the predefined constants SY-REPID and SYST-REPID, which both contain the name of the corresponding program. Furthermore, there are two predefined types of the same name, SY-REPID and SYST-REPID.
    All system fields are addressed using SY field name and their types using SYST field name.
    Go through this link....
    http://help.sap.com/saphelp_nw2004s/helpdata/en/7b/fb96c8882811d295a90000e8353423/content.htm
    Regards
    vasu

  • Can any one explain me about Field symbols in Genral Reports?

    Can any one explain me about Field symbols in Genral Reports?
    If possible, plz explain me with the code to explain me about the field symbols.
    Regards,
    Krishna Chaitanya

    Syntax
    FIELD-SYMBOLS <fs> { typing | STRUCTURE struc DEFAULT dobj }.
    Extras:
    1. ... typing
    2. ... STRUCTURE struc DEFAULT dobj
    Effect
    The FIELD-SYMBOLS statement declares a field symbol <fs>. The naming conventions apply to the name fs. The angle brackets of the field symbols indicate the difference to data objects and are obligatory. You can declare field symbols in any procedure and in the global declaration section of an ABAP program, but not in the declaration section of a class or an interface. You can use a field symbol in any operand position in which it is visible and which match the typing defined using typing.
    After its declaration, a field symbol is initial - that is, it does not reference a memory area. You have to assign a memory area to it (normally using the ASSIGN statement) before you can use it as an operand. Otherwise an exception will be triggered.
    Addition 1
    ... typing
    Effect
    You can use the addition typing to type the field symbol. The syntax of typing is described under Syntax of Typing. The typing specifies which memory areas can be assigned to the field symbol (see Checking the Typing) and in which operand positions it can be used.
    Note
    You can omit the addition typing outside of methods. In this case, the field symbol has the complete generic type any and is implicitly assigned the predefined constant space during the declaration.
    Addition 2
    ... STRUCTURE struc DEFAULT dobj
    Effect
    If you specify the addition STRUCTURE instead of typing for a field symbol, and struc is a local program structure (a data object, not a data type) or a flat structure from the ABAP Dictionary, this structure is cast for the field symbol <fs>. You have to specify a data object dobj that is initially assigned to the field symbol.
    The field symbol copies the technical attributes of structure struc as if it were completely typed. When you assign a data object using the addition DEFAULT, or later using ASSIGN, its complete data type is not checked in non- Unicode programs. Instead, the system merely checks whether it has at least the length of the structure and its alignment.
    In Unicode programs, we differentiate between structured and elementary data objects. For a structured data object dobj, its Unicode fragment view has to match the one of struc. In the case of an elementary data object, the object must be character-type and flat, and struc must be purely character-type. The same applies to assignments of data objects to field symbols typed using STRUCTURE when using the ASSIGN statement.
    Note
    Field symbols declared using the addition STRUCTURE are a mixture of typed field symbols and a utility for casting structured data types. You should use the additions TYPE or LIKE for the FIELD-SYMBOLS statement to type field symbols, while the addition CASTING of the ASSIGN statement is used for casting.
    Example
    The first example shows the obsolete usage of the addition STRUCTURE.
    DATA wa1 TYPE c LENGTH 512.
    FIELD-SYMBOLS <scarr1> STRUCTURE scarr DEFAULT wa1.
    <scarr1>-carrid = '...'.
    The second example shows the replacement of STRUCTURE with the additions TYPE and CASTING.
    DATA wa2 TYPE c LENGTH 512.
    FIELD-SYMBOLS <scarr2> TYPE scarr.
    ASSIGN wa2 TO <scarr2> CASTING.
    <scarr2>-carrid = '...'.
    Also,
    Field Symbols
    Field symbols are placeholders or symbolic names for other fields. They do not physically reserve space for a field, but point to its contents. A field symbol cam point to any data object. The data object to which a field symbol points is assigned to it after it has been declared in the program.
    Whenever you address a field symbol in a program, you are addressing the field that is assigned to the field symbol. After successful assignment, there is no difference in ABAP whether you reference the field symbol or the field itself. You must assign a field to each field symbol before you can address the latter in programs.
    Field symbols are similar to dereferenced pointers in C (that is, pointers to which the content operator * is applied). However, the only real equivalent of pointers in ABAP, that is, variables that contain a memory address (reference) and that can be used without the contents operator, are reference variables in ABAP Objects.
    All operations programmed with field symbols are applied to the field assigned to it. For example, a MOVE statement between two field symbols moves the contents of the field assigned to the first field symbol to the field assigned to the second field symbol. The field symbols themselves point to the same fields after the MOVE statement as they did before.
    You can create field symbols either without or with type specifications. If you do not specify a type, the field symbol inherits all of the technical attributes of the field assigned to it. If you do specify a type, the system checks the compatibility of the field symbol and the field you are assigning to it during the ASSIGN statement.
    Field symbols provide greater flexibility when you address data objects:
    If you want to process sections of fields, you can specify the offset and length of the field dynamically.
    You can assign one field symbol to another, which allows you to address parts of fields.
    Assignments to field symbols may extend beyond field boundaries. This allows you to address regular sequences of fields in memory efficiently.
    You can also force a field symbol to take different technical attributes from those of the field assigned to it.
    The flexibility of field symbols provides elegant solutions to certain problems. On the other hand, it does mean that errors can easily occur. Since fields are not assigned to field symbols until runtime, the effectiveness of syntax and security checks is very limited for operations involving field symbols. This can lead to runtime errors or incorrect data assignments.
    While runtime errors indicate an obvious problem, incorrect data assignments are dangerous because they can be very difficult to detect. For this reason, you should only use field symbols if you cannot achieve the same result using other ABAP statements.
    For example, you may want to process part of a string where the offset and length depend on the contents of the field. You could use field symbols in this case. However, since the MOVE statement also supports variable offset and length specifications, you should use it instead. The MOVE statement (with your own auxiliary variables if required) is much safer than using field symbols, since it cannot address memory beyond the boundary of a field. However, field symbols may improve performance in some cases.
    check the below links u will get the answers for your questions
    http://help.sap.com/saphelp_nw04/helpdata/en/fc/eb3860358411d1829f0000e829fbfe/content.htm
    http://www.sts.tu-harburg.de/teaching/sap_r3/ABAP4/field_sy.htm
    http://searchsap.techtarget.com/tip/1,289483,sid21_gci920484,00.html
    Syntax Diagram
    FIELD-SYMBOLS
    Basic form
    FIELD-SYMBOLS <fs>.
    Extras:
    1. ... TYPE type
    2. ... TYPE REF TO cif
    3. ... TYPE REF TO DATA
    4. ... TYPE LINE OF type
    5. ... LIKE s
    6. ... LIKE LINE OF s
    7. ... TYPE tabkind
    8. ... STRUCTURE s DEFAULT wa
    The syntax check performed in an ABAP Objects context is stricter than in other ABAP areas. See Cannot Use Untyped Field Symbols ad Cannot Use Field Symbols as Components of Classes.
    Effect
    This statement declares a symbolic field called <fs>. At runtime, you can assign a concrete field to the field symbol using ASSIGN. All operations performed with the field symbol then directly affect the field assigned to it.
    You can only use one of the additions.
    Example
    Output aircraft type from the table SFLIGHT using a field symbol:
    FIELD-SYMBOLS <PT> TYPE ANY.
    DATA SFLIGHT_WA TYPE SFLIGHT.
    ASSIGN SFLIGHT_WA-PLANETYPE TO <PT>.
    WRITE <PT>.
    Addition 1
    ... TYPE type
    Addition 2
    ... TYPE REF TO cif
    Addition 3
    ... TYPE REF TO DATA
    Addition 4
    ... TYPE LINE OF type
    Addition 5
    ... LIKE s
    Addition 6
    ... LIKE LINE OF s
    Addition 7
    ... TYPE tabkind
    Effect
    You can define the type of the field symbol using additions 2 to 7 (just as you can for FORM parameters (compare Defining the Type of Subroutine Parameters). When you use the ASSIGN statement, the system carries out the same type checks as for USING parameters of FORMs.
    This addition is not allowed in an ABAP Objects context. See Cannot Use Obsolete Casting for FIELD SYMBOLS.
    In some cases, the syntax rules that apply to Unicode programs are different than those for non-Unicode programs. See Defining Types Using STRUCTURE.
    Effect
    Assigns any (internal) field string or structure to the field symbol from the ABAP Dictionary (s). All fields of the structure can be addressed by name: <fs>-fieldname. The structured field symbol points initially to the work area wa specified after DEFAULT.
    The work area wa must be at least as long as the structure s. If s contains fields of the type I or F, wa should have the structure s or at least begin in that way, since otherwise alignment problems may occur.
    Example
    Address components of the flight bookings table SBOOK using a field symbol:
    DATA SBOOK_WA LIKE SBOOK.
    FIELD-SYMBOLS <SB> STRUCTURE SBOOK
    DEFAULT SBOOK_WA.
    WRITE: <SB>-BOOKID, <SB>-FLDATE.
    Related
    ASSIGN, DATA
    Additional help
    Declaring Field Symbols

  • NI -488.2 GPIB

    I am Sze Yuen Cheng from Osram Sylvania Inc. I have a few questions about your NI-488.2 GPIB. I need to use the GPIB to interface a few Xitron power analyzer instruments with the computer by using Visual Basic 6, and this is the first time that I am using both Visual Basic and GPIB. I found 2 files from the NI-488.2 software CD: one is called Vbibi-32.bas and the other is Niglobal.bas. What are these files? Are they just the initialization and variable definitions for the GPIB hardware? Do I have to include these files with the Visual Basic program in order to communicate between the computer and the instruments through the GPIB? How can I include these files in the Visual Basic program? What are the most important things that I have to know
    or acquire from the Vbibi-32.bas and the Niglobal.bas files in order to finish my task? I am going to attach these 2 files for your references.
    If you need more information, please contact me at [email protected] or 847-726-6258.
    Thank you,
    Sincerely,
    Sze Yuen Cheng
    Attachments:
    Vbib-32.bas.txt ‏52 KB
    Niglobal.bas.txt ‏13 KB

    Hi,
    You have found the right two files! These two files make up what we call the "language interface files" for VB. You can find out more here: http://sine.ni.com/apps/we/niepd_web_display.display_epd4?p_guid=B45EACE3D90756A4E034080020E74861&p_node=DZ52353&p_source=external
    In summary:
    NIGLOBAL.BAS: global module containing predefined constant declarations
    VBIB-32.BAS: source file containing NI-488.2 routine and NI-488 function prototypes
    I always find that the best way to learn is by example. There should be some basic examples that installed with your NI-488.2 driver. If you installed it to the default path, it will be located in C:\Program Files\National Instruments\NI-488.2\Languages\Visual Basic
    Take a look at those examples. They should hel
    p you get on your way.
    Best Regards,
    Aaron K.
    Application Engineer
    National Instruments

  • CVI2013: _TARGET_PRODUCT_VERSION_ and _TARGET_FILE_VERSION_ troubles

    I've just noticed another strange behaviour of CVI 2013, and it's related with precompiled headers (am I the only user of this feature?).
    It's very simple to trigger:
     Set up any project for using precompiled headers
    Set in Target Settings -> Version Info a version number with auto increment (e.g. 1.0.0.0+) for both file version and product version fields, for the release configuration.
    Rebuild the "release" configuration, so to have all files recompiled.
    Modify any source that does not trigger precompiled header recompilation
    Build the project.
    Then the build will terminate with this error messages:
    main.c - 2 errors, 2 warnings
    1, 1 error: definition of the macro '_TARGET_FILE_VERSION_' conflicts with the definition used to build the precompiled header
    1, 1 <built-in>:162:1: note: definition of macro '_TARGET_FILE_VERSION_' in the precompiled header
    1, 1 error: definition of the macro '_TARGET_PRODUCT_VERSION_' conflicts with the definition used to build the precompiled header
    1, 1 <built-in>:163:1: note: definition of macro '_TARGET_PRODUCT_VERSION_' in the precompiled header
    Build failed.
    As additional  information please note that there is no reference to _TARGET_PRODUCT_VERSION_  and _TARGET_FILE_VERSION_ macros.
    The reason is obvious: the precompiled header retains the old values of these variables.
    I don't have found any workaround but to stop using the auto-increment feature.
    Carlo A.
    Megaris

    Luis, I hope that my words didn't sound offensive: it wasn't my intention.
    No, I don't do the bulk of my development in release configuration. 
    In my applications, I usually have some "release only" and "debug only" code, selected by conditional compilation by using the NDEBUG / _CVI_DEBUG_ predefined constants.
    Sometimes, by chance, it happens I had to do a quick fix in the "release only" code. It isn't a frequent event, anyway.
    When this happened on CVI 2013, the compilation ended in a fatal error, on perfectly valid code.
    The whole scenario is not exactly common, but it could be misleading to other users, too.
    I think I can survive   doing only full rebuilds in release configuration: its impact can be made negligible by using a more conventional development pattern.
    IMHO all the problems come from the definition itself of the two constants. 
    Both of them refer to the version of something that should not exist at compilation time, something that in a logical sequence should come to life only when the executable file is generated, or - more precisely - when resource compiler appends to the executable the version information.
    Preprocessor constant must obviously be known in the first phase of compilation, so the compiler is somewhat betting on the build result, hoping that all steps involved in executable generation will be successful.
    Given this, these constant should not exist at all.
    If someone needs to know at run time the actual executable version number, it's not hard get it by using GetFileVersionInfo() API from version.dll. I don't know if there is some equivalent on Linux.
    And if someone claims he/she needs to know at compilation time the version number, then he/she is simply doing it wrong...  
    A sort of compromise could be to exclude from the constants any... variable part, e.g. the autoincrementing numbers. After all, a proper costant must be constant, isn't it ?
    I'm very interested to hear your opinion.
    Carlo A.
    Megaris

  • What are the various system variabels in ABAP

    What are the various system variabels in ABAP?

    u can view all the system variables in SYST TABLE Also   ...............
    ABAP System Fields
    ABAP system fields are always available in ABAP programs. The runtime system fills them according to context. They can then be used in programs to query the system status. System fields are variables but you should always treat them as though they were constants, and only read them. If you change their values, important information for the flow of the program may be lost. In exceptional circumstances, system fields may be overwritten in an ABAP program to control the system – for example, SY-LSIND (for navigating to a detail list).
    With one exception the names and data types of the system fields are stored in the ABAP Dictionary in the SYST structure and realized as components of the predefined structure SY in ABAP programs.
    The system field SY-REPID is not part of SYST or SY. Instead, every program contains the predefined constants SY-REPID and SYST-REPID, which both contain the name of the corresponding program. Furthermore, there are two predefined types of the same name, SY-REPID and SYST-REPID.
    All system fields are addressed using SY field name and their types using SYST field name.
                                                                                    Alphabetical Overview
    The following table lists the definitions of the structure SYST in the ABAP Dictionary alphabetically. The character in the first column indicates how you can use the corresponding system field in ABAP programs. Name is the name of the component, Type is the Dictionary data type, and Length is the field length defined in the Dictionary. The Use column shows in which environment the system fields are set. The Description indicates the content.
    Name
    Type
    Length
    Use
    Description
    ABCDE
    CHAR
    26
    Constants
    Alphabet (A,B,C,...)
    APPLI
    RAW
    2
    Obsolete
    BATCH
    CHAR
    1
    Background processing
    Program runs in the background
    BATZD
    CHAR
    1
    Obsolete
    BATZM
    CHAR
    1
    Obsolete
    BATZO
    CHAR
    1
    Obsolete
    BATZS
    CHAR
    1
    Obsolete
    BATZW
    CHAR
    1
    Obsolete
    BINPT
    CHAR
    1
    Batch input
    Program runs under batch input
    BREP4
    CHAR
    4
    Obsolete
    BSPLD
    CHAR
    1
    Obsolete
    CALLD
    CHAR
    1
    ABAP Program
    Call mode of ABAP program
    CALLR
    CHAR
    8
    Printing Lists
    ID for print dialog function
    CCURS
    DEC
    9
    Obsolete
    CCURT
    DEC
    9
    Obsolete
    CDATE
    DATS
    8
    Obsolete
    CFWAE
    CUKY
    5
    Internal
    CHWAE
    CUKY
    5
    Internal
    COLNO
    INT4
    10
    Creating Lists
    Current column in the list
    CPAGE
    INT4
    10
    List processing
    Current page number
    CPROG
    CHAR
    40
    ABAP Program
    External procedure call
    CTABL
    CHAR
    4
    Obsolete
    CTYPE
    CHAR
    1
    Obsolete
    CUCOL
    INT4
    10
    Screens
    Horizontal cursor position at PAI
    CUROW
    INT4
    10
    Screens
    Vertical cursor position at PAI
    DATAR
    CHAR
    1
    Screens
    Displays user input
    DATLO
    DATS
    8
    Date and time
    Local date of user
    DATUM
    DATS
    8
    Date and time
    Current (application server) date
    DAYST
    CHAR
    1
    Date and time
    Daylight saving time flag
    DBCNT
    INT4
    10
    Database accesses
    Number of processed table rows
    DBNAM
    CHAR
    20
    ABAP Program
    Linked logical database
    DBSYS
    CHAR
    10
    R/3 System
    Name of central database system
    DCSYS
    CHAR
    4
    Obsolete
    DEBUG
    CHAR
    1
    Internal
    DSNAM
    CHAR
    8
    Internal
    DYNGR
    CHAR
    4
    ABAP Program
    Screen group of current screen
    DYNNR
    CHAR
    4
    ABAP Program
    Number of current screen
    ENTRY
    CHAR
    72
    Internal
    FDAYW
    INT1
    3
    Date and time
    Factory calendar weekday
    FDPOS
    INT4
    10
    Character strings
    Offset in character strings
    FFILE
    CHAR
    8
    Internal
    FLENG
    INT4
    10
    Internal
    FMKEY
    CHAR
    3
    Obsolete
    FODEC
    INT4
    10
    Internal
    FOLEN
    INT4
    10
    Internal
    FTYPE
    CHAR
    1
    Internal
    GROUP
    CHAR
    1
    Internal
    HOST
    CHAR
    8
    R/3 System
    Name of application server
    INDEX
    INT4
    10
    Loops
    Current loop pass
    INPUT
    CHAR
    1
    Internal
    LANGU
    LANG
    1
    R/3 System
    Current language
    LDBPG
    CHAR
    40
    ABAP Program
    Program of logical database
    LILLI
    INT4
    10
    List processing
    Selected list row
    LINCT
    INT4
    10
    Creating Lists
    Page length of list
    LINNO
    INT4
    10
    Creating Lists
    Current row
    LINSZ
    INT4
    10
    Creating Lists
    Column width of list
    LISEL
    CHAR
    255
    List processing
    Content of selected row
    LISTI
    INT4
    10
    List processing
    Index of selected list
    LOCDB
    CHAR
    1
    Obsolete
    LOCOP
    CHAR
    1
    Obsolete
    LOOPC
    INT4
    10
    Screens
    Number of rows visible in table
    LPASS
    CHAR
    4
    Internal
    LSIND
    INT4
    10
    List processing
    Index of detail list
    LSTAT
    CHAR
    16
    List processing
    ID for list levels
    MACDB
    CHAR
    4
    Obsolete
    MACOL
    INT4
    10
    Printing Lists
    Columns from SET MARGIN statement
    MANDT
    CLNT
    3
    R/3 System
    Client number from logon
    MARKY
    CHAR
    1
    Obsolete
    MAROW
    INT4
    10
    Printing Lists
    Rows from SET MARGIN statement
    MODNO
    CHAR
    1
    R/3 System
    Index of external modes
    MSGID
    CHAR
    20
    Messages
    Message class
    MSGLI
    CHAR
    60
    Messages
    Message line
    MSGNO
    NUMC
    3
    Messages
    Message number
    MSGTY
    CHAR
    1
    Messages
    Message type
    MSGV1
    CHAR
    50
    Messages
    Message variable
    MSGV2
    CHAR
    50
    Messages
    Message variable
    MSGV3
    CHAR
    50
    Messages
    Message variable
    MSGV4
    CHAR
    50
    Messages
    Message variable
    NEWPA
    CHAR
    1
    Internal
    NRPAG
    CHAR
    1
    Internal
    ONCOM
    CHAR
    1
    Internal
    OPSYS
    CHAR
    10
    R/3 System
    Operating system of application server
    PAART
    CHAR
    16
    Print parameters
    Print formatting
    PAGCT
    INT4
    10
    Obsolete
    PAGNO
    INT4
    10
    Creating Lists
    Current page:
    PAUTH
    NUMC
    2
    Internal
    PDEST
    CHAR
    4
    Print parameters
    Output device
    PEXPI
    NUMC
    1
    Print parameters
    Retention period
    PFKEY
    CHAR
    20
    Screens
    Current GUI status
    PLAYO
    CHAR
    5
    Internal
    PLAYP
    CHAR
    1
    Internal
    PLIST
    CHAR
    12
    Print parameters
    Name of spool request
    PNWPA
    CHAR
    1
    Internal
    PRABT
    CHAR
    12
    Print parameters
    Part of cover sheet
    PRBIG
    CHAR
    1
    Print parameters
    Selection cover page
    PRCOP
    NUMC
    3
    Print parameters
    Number of copies
    PRDSN
    CHAR
    6
    Print parameters
    Name of spool dataset
    PREFX
    CHAR
    3
    Obsolete
    PRI40
    CHAR
    1
    Internal
    PRIMM
    CHAR
    1
    Print parameters
    Print immediately
    PRINI
    NUMC
    1
    Internal
    PRLOG
    CHAR
    1
    Internal
    PRNEW
    CHAR
    1
    Print parameters
    New spool request
    PRREC
    CHAR
    12
    Print parameters
    Recipient
    PRREL
    CHAR
    1
    Print parameters
    Delete after print
    PRTXT
    CHAR
    68
    Print parameters
    Text for cover sheet
    REPI2
    CHAR
    40
    Internal
    REPID
    CHAR
    40
    ABAP Program
    Current main program
    RSTRT
    CHAR
    1
    Internal
    RTITL
    CHAR
    70
    Print parameters
    Title of printing program
    SAPRL
    CHAR
    4
    R/3 System
    Release status R/3 System
    SCOLS
    INT4
    10
    Screens
    Number of columns
    SFNAM
    CHAR
    30
    Obsolete
    SFOFF
    INT4
    10
    Internal
    SLSET
    CHAR
    14
    Selection screens
    Name of variant
    SPONO
    NUMC
    10
    Printing Lists
    Spool number
    SPONR
    NUMC
    10
    Obsolete
    SROWS
    INT4
    10
    Screens
    Number of rows
    STACO
    INT4
    10
    List processing
    First displayed column
    STARO
    INT4
    10
    List processing
    Uppermost displayed row
    STEPL
    INT4
    10
    Screens
    Index of current table row
    SUBCS
    CHAR
    1
    Internal
    SUBRC
    INT4
    10
    Return value
    Return value after ABAP statement
    SUBTY
    RAW
    1
    Internal
    SYSID
    CHAR
    8
    R/3 System
    Name of R/3 System
    TABID
    CHAR
    8
    Internal
    TABIX
    INT4
    10
    Internal Tables
    Current row index
    TCODE
    CHAR
    20
    ABAP Program
    Current transaction code
    TFDSN
    CHAR
    8
    Obsolete
    TFILL
    INT4
    10
    Internal Tables
    Current number of rows
    TIMLO
    TIMS
    6
    Date and time
    Local time of user
    TITLE
    CHAR
    70
    Screens
    Text in header line
    TLENG
    INT4
    10
    Internal Tables
    Row size
    TLOPC
    INT4
    10
    Internal
    TMAXL
    INT4
    10
    Obsolete
    TNAME
    CHAR
    30
    Obsolete
    TOCCU
    INT4
    10
    Obsolete
    TPAGI
    INT4
    10
    Obsolete
    TSTIS
    INT4
    10
    Internal
    TTABC
    INT4
    10
    Obsolete
    TTABI
    INT4
    10
    Obsolete
    TVAR0
    CHAR
    20
    Creating Lists
    Text variable for headers
    TVAR1
    CHAR
    20
    Creating Lists
    Text variable for headers
    TVAR2
    CHAR
    20
    Creating Lists
    Text variable for headers
    TVAR3
    CHAR
    20
    Creating Lists
    Text variable for headers
    TVAR4
    CHAR
    20
    Creating Lists
    Text variable for headers
    TVAR5
    CHAR
    20
    Creating Lists
    Text variable for headers
    TVAR6
    CHAR
    20
    Creating Lists
    Text variable for headers
    TVAR7
    CHAR
    20
    Creating Lists
    Text variable for headers
    TVAR8
    CHAR
    20
    Creating Lists
    Text variable for headers
    TVAR9
    CHAR
    20
    Creating Lists
    Text variable for headers
    TZONE
    INT4
    10
    Date and time
    Time difference to Greenwich Mean Time
    UCOMM
    CHAR
    70
    Screens
    Function code that triggered PAI
    ULINE
    CHAR
    255
    Constants
    Horizontal line with length 255
    UNAME
    CHAR
    12
    R/3 System
    Logon name of user
    UZEIT
    TIMS
    6
    Date and time
    Current (application server) time
    VLINE
    CHAR
    1
    Constants
    Vertical line
    WAERS
    CUKY
    5
    Obsolete
    WILLI
    INT4
    10
    Obsolete
    WINCO
    INT4
    10
    Obsolete
    WINDI
    INT4
    10
    Obsolete
    WINRO
    INT4
    10
    Obsolete
    WINSL
    CHAR
    79
    Obsolete
    WINX1
    INT4
    10
    Obsolete
    WINX2
    INT4
    10
    Obsolete
    WINY1
    INT4
    10
    Obsolete
    WINY2
    INT4
    10
    Obsolete
    WTITL
    CHAR
    1
    Creating Lists
    Flag for standard page header
    XCODE
    CHAR
    70
    Internal
    XFORM
    CHAR
    30
    Internal
    XPROG
    CHAR
    40
    Internal
    ZONLO
    CHAR
    6
    Date and time
    Time zone of user
    Key:
    The system field is set by the runtime environment. Its content can be evaluated in the ABAP program but not changed.
    The system field is set by the runtime environment. Its content can be changed in the ABAP program to influence the runtime environment.
    The system field must be set in the ABAP program. It can then be evaluated by the runtime environment or the program.
    The system field is only for internal use and must not be used in ABAP programs.
    The system field is obsolete and its content is not set. It cannot be used in ABAP programs.
                                                                                    Thematic Overview
    The following is a thematic summary of the system fields with notes on their use:
    System information
    ·        Information on the current R/3 System
    ·        Information on the user session
    ·        Date and time information
    ·        Information on the current ABAP program
    ·        Background processing
    ·        Batch input
    ABAP programming
    ·        Constants
    ·        Character strings
    ·        Loops
    ·        Internal Tables
    ·        Database accesses
    ·        Return value
    Screens
    ·        Screens
    ·        Selection screens
    ·        Lists
    ·        Messages
    Internal system fields
    Obsolete system fields
                                                                                    System Information
    Information on the Current R/3 System
    SY-DBSYS
    Central database system, for example INFORMIX, ORACLE
    SY-HOST
    Application server, for example HS0333, PAWDF087
    SY-OPSYS
    Operating system of application server, for example HP-UX, SINIX
    SY-SAPRL
    Release status of R/3 System, for example 30D, 46A
    SY-SYSID
    Name of R/3 System, for example B20, I47
    Information on the User Session
    SY-LANGU
    One-digit language key, for example D, E, F. Either logon language of user or set using the SET LOCALE LANGUAGE statement.
    SY-MANDT
    Client number the user logged on with, for example 000, 400.
    For database accesses with Open SQL, SY-MANDT is used as the first key field of the WHERE clause.
    SY-MODNO
    Indexes external modes. Zero in first mode. In new modes, opened using the Create Mode function or by calling a transaction using /o, it is raised by 1. If previous modes were deleted, the free numbers are used first. Modes opened using  CALL TRANSACTION … STARTING NEW TASK start back at 0.
    SY-UNAME
    Logon name of user, for example KELLERH, BC400-01.
    Date and Time Information
    The following system fields are always set automatically. If necessary, the GET TIME statement synchronizes the application server time with that of the database server and writes it to the system field SY-UZEIT. SY-DATUM and the system fields for the local time zone, that is SY-TIMLO, SY-DATLO, and SY-ZONLO are also reset.
    SY-DATLO
    Local date of user, for example 19981129, 19990628.
    SY-DATUM
    Current (application server) date, for example 19981130, 19990627.
    SY-DAYST
    During daylight saving time X, otherwise empty.
    SY-FDAYW
    Factory calendar weekday, Sunday 0 … Saturday 6.
    SY-TIMLO
    Local time of user, for example 154353, 225312.
    SY-TZONE
    Time difference to Greenwich Mean Time (UTC) in seconds, for example 3600, 10800.
    SY-UZEIT
    Current (application server) time, for example 164353, 215312.
    SY-ZONLO
    Time zone of user, for example CET, UTC.
    Information on the Current ABAP Program
    SY-CALLD
    SY-CALLD contains SPACE if the program is the first and only program in a call chain. SY_CALLD contains 'X' if the program is a called program in a call chain (see ABAP Calls Overview).
    ·        SY-CALLD is set to ‘X‘ in a program called using CALL TRANSACTION, CALL DIALOG, or SUBMIT … AND RETURN.
    ·        SY-CALLD is set to SPACE in a program called using LEAVE TO TRANSACTION, entering a transaction code on a screen, and processing batch input folders. 
    ·        With SUBMIT (without RETURN) SY-CALLD retains the previous value.
    SY-CPROG
    In externally called procedures, the name of the calling program, otherwise the name of the current program. If an externally called procedure calls another external procedure, SY-CPROG keeps the name of the first main program and is not given the name of the main program of the further caller.
    SY-DBNAM
    With executable programs this is the linked logical database.
    SY-DYNGR
    Screen group of current screen. You can assign several screens to a common screen group. You can use this, for example, to modify all of the screens in the group in a uniform way.
    SY-DYNNR
    Number of current screen During the selection screen processing, SY-DYNNR contains the screen number of the current selection screen. During list processing, SY-DYNNR contains the number of the container screen. While a subscreen is being processed, SY-DYNNR contains its screen number. This also applies to tabstrips.
    SY-LDBPG
    With executable programs, the database program of the linked logical database.
    SY-REPID
    Name of current ABAP program. With externally called procedures this is the name of the procedure’s main program.
    If SY-REPID was transferred to an external procedure as an actual parameter before Release 6.10, the formal parameter was not given the name of the caller, but the name of the procedure’s main program. SY-REID had to be transferred to an auxiliary variable before the call or you had to use SY-PROG.
    As of Release 6.10, SY-REPID is a separate constant that is no longer part of the structure SYST or SY. It can be transferred to external procedures directly.
    SY-TCODE
    Name of current transaction code.
    Background Processing
    SY-BATCH
    SY-BATCH is set to X in an ABAP program running in the background. Otherwise it is empty.
    Batch Input
    SY-BINPT
    SY-BINPT is set to X during processing of batch input folders and in ABAP programs called with CALL TRANSACTION USING. Otherwise it is empty.
    ·         OPTIONS FROM in the CALL TRANSACTION USING statement can set SY-BINPT to empty for the whole program execution, as well as at the end of the BDC data.
    ·         In CATT procedures, SY-BINPT is always empty.
                                                                                    ABAP Programming
    Constants
    SY-ABCDE
    Contains the Alphabet. Can be used to access individual letters independently of the codepage by specifying offset.
    SY-ULINE
    Contains a horizontal line with length 255. Can be used when creating the list.
    SY-VLINE
    Contains a vertical line (|). Can be used when creating the list
    Loops
    SY-INDEX
    SY-INDEX contains the number of loop passes in DO and WHILE loops, including the current loop pass.
    Character Strings
    SY-FDPOS
    Found location for operations with character-type fields.
    ·        If the operators CO, CN, CA, NA, CS, NS, CP, NP are used in comparisons, SY-FDPOS is assigned offset values depending on the comparison result.
    ·        SEARCH … FOR … sets SY-FDPOS to the offset of the found search string.
    Internal Tables
    SY-TABIX
    Current line in an internal table. With the following statements SY-TABIX is set for index tables. With hashed tables, SY-TABIX is not filled or it is set to 0.
    ·        APPEND sets SY-TABIX to the index of the last table row, that is the total number of entries in the target table.
    ·        COLLECT sets SY-TABIX to the index of the existing or appended table row. With hashed tables, SY-TABIX is set to 0.
    ·        LOOP AT sets SY-TABIX to the index of the current table row at the beginning of every loop pass. After leaving a loop, SY-TABIX is set to the value it had before entering the loop. With hashed tables, SY-TABIX is set to 0.
    ·        READ TABLE sets SY-TABIX to the index of the table row read. If no row is found with binary search while reading, SY-TABIX contains the index of the next-highest row or the total number of rows +1. If no row is found with linear search while reading, SY-TABIX is undefined.
    ·        SEARCH  0). Each time an interactive list event occurs, the system automatically increases SY-LSIND by 1. SY-LSIND can be changed in the ABAP program to navigate between detail lists. Changes to SY-LSIND are not taken into account until the end of the list event. Therefore, any manipulation of SY-LISND should be done using the last command of the processing block.
    SY-LSTAT
    ID for list levels within the program. SY-LSTAT can be filled with values during list creation in the ABAP program. The value valid when the list is completed is saved with the list. In the case of an interactive list event, SY-LSTAT is set to the value it was assigned during the creation of the list from which the event takes place. SY-LSTAT is no longer maintained and should therefore no longer be used.
    SY-STACO
    Number of the first displayed column of the list from which the event was triggered. Counting starts at 1.
    SY-STARO
    Number of the upper-most displayed row of the upper-most page of the list, from which the event was triggered. Counting begins at 1. This does not include the page header.
    Printing Lists
    When printing lists, the spool and runtime systems require certain internal information, which is available in the following system fields and is set during print activation.
    SY-CALLR
    Contains a value that displays where printing was started, for example NEW-PAGE for program-controlled printing or RSDBRUNT for printing from the selection screen.
    SY-PRDSN
    Contains the name of the spool file during printing.
    SY-SPONO
    Contains the name of the spool number during printing.
    SY-MAROW, SY-MACOL
    The SET MARGIN statement fills the system fields SY-MAROW and SY-MACOL, which determine the number of lines on the upper margin and the number of columns on the left margin when printing.
    Print Parameters
    The print parameters are transferred to the spool system by the runtime system in a structure of dictionary type PRI_PARAMS. Before this structure was used, its purpose was served by system fields. Today a subset of the PRI_PARAMS structure is still written to system fields with the same names when printing is activated. This information is redundant and should not be used.
    Messages
    If you execute the MESSAGE statement, the following system fields are set. If you execute the MESSAGE … RAISING statement in function modules and methods, these fields are also set in the calling program, if it handles the exception.
    SY-MSGID
    SY-MSGID contains the message ID.
    SY-MSGNO
    SY-MSGNO contains the message number.
    SY-MSGTY
    SY-MSGTY contains the message type.
    SY-MSGV1,…,SY-MSGV4
    SY-MSGV1 to SY-MSGV4 contain the field contents that are used for the message’s placeholders. 
    Special Actions that Fill Message Fields
    ·        If you request database locks using the ENQUEUE function module, the field SY-MSGV1 contains the name of the user who holds the lock, in the case of the FOREIGN_LOCK exception.
    ·        IN the case of CALL TRANSACTION or CALL DIALOG with the USING addition, a message displayed during the called screen sequence is returned in the fields SY-MSGID, SY-MSGTY, SY-MSGNO, SY-MSGV1, ... , SY-MSGV4.
    ·        During Remote Function Call (RFC), error messages are transferred from the remote system to the calling system and SY-MSGID, SY-MSGTY, SY-MSGNO,SY-MSGV1, SY-MSGV2, SY-MSGV3, SY-MSGV4 are set. If short dumps or type X messages occur, the system also sets the fields.
                                                                                    Internal System Fields
    Internal system fields are only for internal use in the ABAP runtime environment and are defined in the kernel. Under no circumstances must they be overwritten in ABAP programs and they should also not be read (processed).
    SY-CFWAE
    Undocumented
    SY-CHWAE
    Undocumented
    SY-DEBUG
    Undocumented
    SY-DSNAM
    Name of spool output file.

  • Extending EventDispatcher with dynamic event types

    I'm currently trying to write my own class to extend the
    EventDispatcher class. My goal is to create a Service class which
    acts as a switchboard for incoming socket data. Incoming socket
    data is parsed to create an Event which is Dispatched to the
    appropriate Service object which dispatches the event to any
    registered listeners.
    The problem I'm having is that I'm confused about how to
    handle the event types -- the string parameter which is always
    supplied as the first argument to the addEventListener() function.
    In all the examples I've seen, the value supplied is a class
    constant like MouseEvent.CLICK or VideoEvent.READY. In the case of
    my application, I want the developer to define their own Event
    types without having to go and edit my class files. In other words,
    I'd like to use dynamic event types with my class--maybe something
    like the code I've attached.
    I'm not new to Actionscript but am very new to the
    EventDispatcher class. I'm wondering a bit what that first
    parameter really does in a strict programming sense -- i haven't
    seen it explained all that well in the piles of documentation I've
    read on the Adobe site so I don't really know if I need to define
    my own Event class or what and whether I have to define all those
    possible event type constants/strings in advance or what.
    Any help/advice would be much appreciated.

    I have looked it up here:
    Actionscript
    3.0 Language Reference
    and it just says that the first arg to 'addEventListener' is
    "The type of event" with no further explanation at all.
    I have read this:
    Flash
    Quick Starts: Programming With Actionscript 3.0: Event handling
    It doesn't help much either. It tells me I need the
    appropriate event object which makes me wonder DO I NEED MY OWN
    CLASS? For that first ard to addEventListener, it merely says
    "Substitute the appropriate constant". Given that I want to use
    dynamic types (i think so anyway) that is not helpful information
    either. Every single example on that page uses a class constant for
    event type.
    It links to
    this
    which says "First, the name of the specific event you want to
    respond to. Once again, each event is affiliated with a specific
    class, and that class will have a special value predefined for each
    event--sort of like the event's own unique name, which you should
    use for the first parameter." Still no useful detail about what
    that arg does and the insistence on constants.
    The quick start page also has a link title "Handling Events"
    in Programming ActionScript 3.0 but it links to some documentation
    titled "Working with XML". The only discussion of events in that 10
    or so pages is because some user posted a comment.
    I have read this
    entire
    article which is more helpful than anything in the flash docs
    but still doesn't answer all my questions which (AGAIN) are:
    1) What is the real function of the first argument to
    addEventListener? I have not seen a clear explanation anywhere.
    2) Do I need to write my own Event class?
    3) What about dynamic event types that are defined at
    runtime? Are there any pitfalls or risks that arise from using a
    string instead of a predefined constant as the first param to
    addEventListener() ?
    Please stop telling me to read the documentation. I've been
    reading it for days.

  • Systems variables

    what are systems variables ?
    Regards,
    Jagan

    ABAP system fields are always available in ABAP programs. The runtime system fills them according to context. They can then be used in programs to query the system status. System fields are variables but you should always treat them as though they were constants, and only read them. If you change their values, important information for the flow of the program may be lost. In exceptional circumstances, system fields may be overwritten in an ABAP program to control the system – for example, SY-LSIND (for navigating to a detail list).
    With one exception the names and data types of the system fields are stored in the ABAP Dictionary in the SYST structure and realized as components of the predefined structure SY in ABAP programs.
    The system field SY-REPID is not part of SYST or SY. Instead, every program contains the predefined constants SY-REPID and SYST-REPID, which both contain the name of the corresponding program. Furthermore, there are two predefined types of the same name, SY-REPID and SYST-REPID.
    All system fields are addressed using SY field name and their types using SYST field name.
    here is a list of some important system variables
    INDEX
    SYINDEX
    INT4
    10
    0
    Loops, number of current pass
    PAGNO
    SYPAGNO
    INT4
    10
    0
    List creation, current page
    TABIX
    SYTABIX
    INT4
    10
    0
    Internal table, current line index
    TFILL
    SYTFILL
    INT4
    10
    0
    Internal tables, current number of lines
    DBCNT
    SYDBCNT
    INT4
    10
    0
    DB operations, number of table lines processed
    FDPOS
    SYFDPOS
    INT4
    10
    0
    Character strings, offset in character string
    COLNO
    SYCOLNO
    INT4
    10
    0
    List creation, current column of list
    LINCT
    SYLINCT
    INT4
    10
    0
    List processing, page length of list
    LINNO
    SYLINNO
    INT4
    10
    0
    List creation, current line
    LINSZ
    SYLINSZ
    INT4
    10
    0
    List creation, width of list
    SUBRC
    SYSUBRC
    INT4
    10
    0
    Return value, return value after ABAP statements
    LILLI
    SYLILLI
    INT4
    10
    0
    List processing, current list line
    LSIND
    SYLSIND
    INT4
    10
    0
    List processing, details list index
    STEPL
    SYSTEPL
    INT4
    10
    0
    Screens, current table line index
    LOOPC
    SYLOOPC
    INT4
    10
    0
    Screens, number of lines visible in table
    LANGU
    SYLANGU
    LANG
    1
    0
    R/3 System, current language
    MANDT
    SYMANDT
    CLNT
    3
    0
    R/3 System, client number from logon
    DBSYS
    SYDBSYS
    CHAR
    10
    0
    R/3 System, name of central database system
    SYSID
    SYSYSID
    CHAR
    8
    0
    R/3 System, name of R/3 System
    SAPRL
    SYSAPRL
    CHAR
    4
    0
    R/3 System, system release
    TCODE
    SYTCODE
    CHAR
    20
    0
    ABAP program, current transaction code
    DATUM
    SYDATUM
    DATS
    8
    0
    Date and time, current (application server) date
    UCOMM
    SYUCOMM
    CHAR
    70
    0
    Screens, function code triggered by PAI
    UZEIT
    SYUZEIT
    TIMS
    6
    0
    Dat and time, current application server time
    UNAME
    SYUNAME
    CHAR
    12
    0
    R/3 System, user logon name
    MSGLI
    SYMSGLI
    CHAR
    60
    0
    Messages, message line
    TITLE
    SYTITLE
    CHAR
    70
    0
    Screens, title text
    LISEL
    SYLISEL
    CHAR
    255
    0
    List processing, contents of selected line
    ULINE
    SYULINE
    CHAR
    255
    0
    Constants, horizontal line with length 255
    MSGID
    SYMSGID
    CHAR
    20
    0
    Messages, message class
    MSGID
    SYMSGID
    CHAR
    20
    0
    Messages, message class
    MSGTY
    SYMSGTY
    CHAR
    1
    0
    Messages, message type
    MSGNO
    SYMSGNO
    NUMC
    3
    0
    Messages, message number
    MSGV1
    SYMSGV
    CHAR
    50
    0
    Messages, message variables
    MSGV2
    SYMSGV
    CHAR
    50
    0
    Messages, message variables
    MSGV3
    SYMSGV
    CHAR
    50
    0
    Messages, message variables
    MSGV4
    SYMSGV
    CHAR
    50
    0
    Messages, message variables
    VLINE
    SYVLINE
    CHAR
    1
    0
    Constants, vertical bar
    HOST
    SYHOST
    CHAR
    32
    0
    R/3 System, Name of application server
    the link is
    http://abaplovers.blogspot.com/2008/02/list-of-important-system-variables.html
    do reward if helpful

  • Tagging records with the Map_Run_ID

    I load dimension tables incrementally. So the target dimension table only receives source records that have been inserted or updated since the last ETL run.
    I want to capture the mappings map_run_id (stored in the all_rt_audit_step_runs table) as a column in the target table. That way, I can associate the records in the target table with the operation that last touched them.
    I'm new to OWB. How do I accomplish this within a Mapping? I assume I need to reference the get_runtime_audit_id variable. But how? A constant or expression operator? Those don't work -- at least not if you just type the variable name. Is there another way?
    Thanks,
    David

    David,
    what was the problems with using constant and expression operator for get_runtime_audit_id? Describe this problem more precisely.
    Did you set option "Is predefined constant" in constant operator?
    Regards,
    Oleg

  • How can I change the dates on many photos with a fix time of say 20s?

    Before it was possible to change the date on many pictures scanned by adddind a fix increlental of time.
    How can I now change the dates on many pictures taht I have renumbered to keep the same incremental?

    The seconds:
    I just remembered - the time increment is set in Apple Script in seconds -  the variable  "minutes" is just a name for the value "60" and "hours" for "3600". Since "seconds" would have the value "1", there is no predefined constant "seconds".
    If you want an increment of 30 seconds, simply write
    set timeIncrement to 30
    For example
    on run {input, parameters}
      (* copyright leonieDF *)
              set timeIncrement to (1 * hours) + (2 * minutes) + 30
      (* select at least 2 images in Aperture *)
              tell application "Aperture"
      activate
                        set imageSel to (get selection)
                        if imageSel is {} then
                                  error "Please select an image."
                        else
                                  tell (item 1 of imageSel)
                                            set imageDate to value of EXIF tag "ImageDate"
      --set imageDate to get the value of EXIF tag "ImageDate"
                                  end tell
                                  repeat with i from 2 to count of imageSel
                                            set imageDate to imageDate + timeIncrement
      adjust image date imageDate of images {item i of imageSel}
                                  end repeat
                        end if
                        return imageSel
              end tell
    end run

Maybe you are looking for

  • JOB_OUTPUT_INFO not returned

    hi all, i have made a smart form and want it to mail in pdf i am getting mail but with out any data on deburg i find that smart form does not return data in JOB_OUTPUT_INFO . any missing parameters that i am missing. and i am passing this smrt form i

  • Sharing a photo or photo page on Facebook

    Is there a way in iWeb to have a "Share on Facebook" button on a photo page (or better yet, an individual photo)?

  • 24" iMac LCD no backlight

    I was just told that the inverter board is probably bad on the LCD of my 24" iMac. The screen is working, it just has no backlight so it is dark... I was wondering what my options are... fix the LCD inverter, replace the LCD inverter, or buy a whole

  • Experts to help me see this serious problem? Thank you very much

    http://forums.adobe.com/message/4839978

  • Error : Delivery does not contain items to be picked

    Hi Exps I have created Stock Transport Order (STO) and then Delivery Note with VL10g. In Delivery Output EK00 (Picking list Printing ) gets populated along with EKSU (Picking List EDI output). But EK00 only turns green and EKSU turns Red saying that