SYNTAX-CHECK undocumented parsing parameters

Hello,
as I'm working for a project where we need an ABAP-Parser I was searching for something that could help us with that.
I found the statement SYNTAX-CHECK with a lot of undocumented parameters, like 'id 'STMTS'', that seem to produce something like a parsing result for a program/class.
Does anyone have any documentation about these parameters, that are not documented in the normal sap-help?
mfg
- clemens heppner

Hi Roberto,
The new thing brought by BW 3.5 in start routines is:
<i>$$ end of global - insert your declaration only before this line   -
The follow definition is new in the BW3.x
TYPES:
  BEGIN OF DATA_PACKAGE_STRUCTURE.
     INCLUDE STRUCTURE /BIC/CS<b><DS name></b>.
TYPES:
     RECNO   LIKE sy-tabix,
  END OF DATA_PACKAGE_STRUCTURE.
DATA:
  DATA_PACKAGE TYPE STANDARD TABLE OF DATA_PACKAGE_STRUCTURE
       WITH HEADER LINE
       WITH NON-UNIQUE DEFAULT KEY INITIAL SIZE 0.
FORM startup
  TABLES   MONITOR STRUCTURE RSMONITOR "user defined monitoring
           MONITOR_RECNO STRUCTURE RSMONITORS " monitoring with record n
           DATA_PACKAGE STRUCTURE DATA_PACKAGE
  USING    RECORD_ALL LIKE SY-TABIX
           SOURCE_SYSTEM LIKE RSUPDSIMULH-LOGSYS
  CHANGING ABORT LIKE SY-SUBRC. "set ABORT <> 0 to cancel update
$$ begin of routine - insert your code only below this line        -
</i>
I could find a fix to the resulting syntax errors (due to RECNO field - cf. note 547669).
BUT, my question is: <u>how to check the syntax of a whole bunch of update rules without editing them manually one after the other?</u>
Thxs Roberto.
LauQ

Similar Messages

  • bsp:parameter with syntax check?

    I use subcontrollers pretty often in my application.
    I usually pass parameters to my subcontrollers like this:
    <bsp:call url = "blabla.do" comp_id = "id1">
        <bsp:parameter name = "my_attribute" value = "<%= lv_bla %>" />       
    </bsp:call>
    By this, the public attribute "my_attribute" of the controller class of blabla.do is set to the value of lv_bla. This works perfectly.
    However, what if there is no such an attribute in the controller class or if I rename the attribute. Of course, the syntax checker would not recognize this.
    I was thinking of adding a dummy-statement to the bsp:call that would detect the syntax error
    <% IF controller->my_attribute IS INITIAL.ENDIF.%>
    However, obviously, my_attribute is not in the controller, but in the subcontroller class. Can I also access the subcontroller? Or are there other ways to check if my_attribute exists in the subcontroller class?

    hi,
    One way to access a subcontroller class is to instantiate it using create object but in this case the instance of it will not be the same one in its parent controller.
    another way in a controller class there is an attribute M_SUBCONTROLLERS of type BSP_CONTROLLER_LIST  which contains Tables with Instances of Subcontrollers (it is protected type). so we can make our own attribute (public) in controller of same type and inside our controller we just fill our attribute with values from this one. this way it will be ascessible outside also.
    one more way is we just instatiate the subcontroller in our application class instead of instantiating in controller this way the same instance of the same subcontroller will be accessible and we can check for a attribute existance in it.
    hope this may help you,
    cheers,
    Hemendra

  • How to Disable Syntax Checker for DDL Generation

    Would like to include shell script commands before a create table statement. Modified the .xdb but PowerDesigner does not recognize this code as it is not native to the database. Is there a way to disable the syntax check so that the create table script can include these statements rather than a number of errors? Running v15.2 of PowerDesigner. Any feedback would be appreciated!

    Hello. Yes. To be more specific, want to be able to run the create table DDL for Teradata from BTEQ. I added the following statements to a customized version of the Terada .xdb for the table BeforeCreate:
    .logon ${TD_SERVER}/${TD_USERNAME},${TD_PASSWORD}
    select 1
    from dbc.tables
    where DatabaseName =  [%QUALIFIER%]
    and TableName = '%TABLE%'
    .if errorcode > 0 then .goto error
    .if activitycount <> 1 then .goto create_tbl
    drop table %TABLE%;
    .if errorcode > 0 then .goto error
    .label create_tbl
    The DDL shows up with syntax errors as follows. So clearly, there is something that is attempting to validate the code:
    3 error(s), 0 warning(s)
    (1) (Table "DATE_DIM"):
       [syntax error] unknown macro: logon ${TD_SERVER}/${TD_USERNAME},${TD_PASSWORD}
    (8) (Table "DATE_DIM"):
       [syntax error] condition parsing error
    (16) (Table "DATE_DIM"):
       [syntax error] expecting .endif

  • Error during program syntax check

    Hi,
    I have written the following code
    INCLUDE zfirf_rfd_final_top.
    * INCLUDE ZFIRF_RFD_FINAL1_O01                    .  " PBO-Modules
    * INCLUDE ZFIRF_RFD_FINAL1_I01                    .  " PAI-Modules
    INCLUDE ZFIRF_RFD_FINAL_F01                    .  " FORM-Routines
    SELECTION-SCREEN BEGIN OF BLOCK b1 WITH FRAME TITLE text-001.
    PARAMETERS:     p_keydt TYPE erdk-erdat OBLIGATORY.
    SELECT-OPTIONS: s_bp    FOR  erdk-partner,
                    s_ca    FOR  erdk-vkont.
    SELECTION-SCREEN END OF BLOCK b1.
    INITIALIZATION.
      SET TITLEBAR 'REFUND'.
    START-OF-SELECTION.
    PERFORM get_data_from_selection.
    FORM get_data_from_selection.
      SELECT opbel
             partner
             vkont
        FROM erdk
        INTO CORRESPONDING FIELDS OF TABLE t_erdk
       WHERE verart      EQ c_43
         AND simulated   EQ space
         AND stokz       EQ space
         AND tobreleasd  EQ space
         AND intopbel    EQ space
         AND invoiced    NE space
         AND partner     IN s_bp
         AND vkont       IN s_ca.
    ENDFORM.
    when i do a syntax check i get the following error
    The IN operator with "S_BP" is followed neither by an internal table nor by a value list.
    Can you suggest what is the error in the program ?
    Regards,
    Imran

    Hi Imran,
    please try this one dont try in perform and form
    INCLUDE zfirf_rfd_final_top.
    INCLUDE ZFIRF_RFD_FINAL1_O01                    .  " PBO-Modules
    INCLUDE ZFIRF_RFD_FINAL1_I01                    .  " PAI-Modules
    INCLUDE ZFIRF_RFD_FINAL_F01                    .  " FORM-Routines
    SELECTION-SCREEN BEGIN OF BLOCK b1 WITH FRAME TITLE text-001.
    PARAMETERS:     p_keydt TYPE erdk-erdat OBLIGATORY.
    SELECT-OPTIONS: s_bp    FOR  erdk-partner,
                    s_ca    FOR  erdk-vkont.
    SELECTION-SCREEN END OF BLOCK b1.
    INITIALIZATION.
      SET TITLEBAR 'REFUND'.
    START-OF-SELECTION.
      SELECT opbel
             partner
             vkont
        FROM erdk
        INTO CORRESPONDING FIELDS OF TABLE t_erdk
       WHERE verart      EQ c_43
         AND simulated   EQ space
         AND stokz       EQ space
         AND tobreleasd  EQ space
         AND intopbel    EQ space
         AND invoiced    NE space
         AND partner     IN s_bp
         AND vkont       IN s_ca.
    reward points to all helpful answers
    kiran.M

  • Syntax checker

    Hi all,
    I wish to create a Custom Syntax checker for a String expression. This should incorporate small checks like count of "{" equals count of "}" so on and so forth. Is there a way[other than parsing the String using charAt() or indexOf()] that I can use to have the count of particular characters in a String. Is there anything in Apache Reg Exp that can help me do it. Does any body has similar code for custom syntax checkers.
    Any help would be appreciated..
    Sushil

    This should incorporate small checks like count of "{" equals count of "}" so on and so forth.Can't be done with true regexps (although I'm not sure about PERL-style ones).

  • Disable Immediate syntax checker in Java editor

    Could anyone suggest how to disable the syntax checker in Creator's java editor? Would be helpful if I could run it on demand, just immediately before bulding the project. Or even not run at all, as syntax errors are shown during the build.
    The idea is to increase the performance and prevent occasional but still unwanted popups from the bottom of the screen.
    Thanks,
    -Ivan

    Does anybody know how to do that? After I've made the change Creator stalls for a sec trying to parse the code and detect the errors. But quite often I want to leave the code as it is and get back to it later. Creator starts to complain about syntax errors, etc. Quite an annoying thing, could anyone suggest anything?

  • Syntax Check Problem?

    Hi there!
    I have an ActionScript Project and have many AS Classes on my
    source directory, but have only one Application (Main.as).
    The question is that I can write anything on the AS Classes
    and the Flex doesn't point any errors. Flex only parse the classes
    that are used by my Main Application. This is not a good thing,
    because not all the classes are laoded by the Main Application
    directly, but I still need a instant syntax checking...
    So, could some one say me if this is a Syntax Check Problem?
    Thank you,
    CaioToOn!

    Hi,
    Indeed, it can be frustrating that your class gets compiled
    only when it gets used. I'm guessing the compiler behaves that way
    for performance reasons.
    But I don't understand the bit about classes not being loaded
    by the main application directly? You mean those classes are
    compiled into modules / rsls?
    As long as the classes are referenced in some class which is
    being used by the application, it *should* get compiled. It would
    be interesting to know the dependency of your actionscript
    classes.

  • Tool for Syntax check

    Hi,
    exist a function or a tool that check if syntax in a script is correct?
    Thanks a lot
    Cristina

    user5366366 wrote:
    exist a function or a tool that check if syntax in a script is correct?Yes.. kind of. You can use DMBS_SQL to parse SQL or PL/SQL code only - without executing it. A successful parse means it passed syntax checking within that specific session environment.
    A dirty method that can be used from any client is to add "+EXPLAIN PLAN+" to the SQL - and instead of asking Oracle to execute the SQL, request it to parse it and generate an execution plan for you. Again, a successful execution plan result means a successful parse - and again, for that specific session environment only.
    Why is session environment important? There are NLS setting that can make an explicit string to date conversion of a literal work in one session and fail in another. The current scope of the session could point to a different schema. Etc.
    So even though you may get a successful parse, it could be pretty meaningless as when it is executed the environment is different.
    Which then begs the question why do you not parse it once up front, and then used the code in its "+parsed+" format? This is what stored procedure code does for you. And why it is a better option than to store the source code externally, outside Oracle, on another system.
    There are also a host of other issues to consider such as security, maintenance, access control and so on, that makes stored code a significantly superior option all around than storing SQL and PL/SQL code in some external script somewhere.

  • Syntax check error in the standard include

    Hi,
    I have modified one standard include using access key to insert one logic as per businness requirements.Now after inserting that code iam getting syntax error but while activating it is not showing the error and getting activated.
    The include is V05XZZMO in that i have inserted code is as follows
    FORM MOVE_USERFIELDS USING ZP.
      CASE ZP.
        WHEN 'VBRK'.
        header
        MOVE LVBRK-XXXXX TO LFAMTV-ZZXXXXX.
    *{   INSERT         GDVK934083                                        1
              MOVE LVBRK-ZUONR TO LFAMTV-ZZZUONR.
    *}   INSERT
        WHEN 'VBRP'.
        item
        MOVE LVBRP-XXXXX TO LFAMTV-ZZXXXXX.
    *{   INSERT         GDVK934083                                        2
       MOVE LVBRP-MATWA TO LFAMTV-ZZMATWA.
    *}   INSERT
      ENDCASE.
    ENDFORM.
    now it is throwing error saying that LFAMTV doesn't exist...when I double click on that it is taking me to the FM RV_INVOICE_VIEW_2 where it is defined....
    Can anyone know the reason why it is throwing the error when we go for the syntax check but when u activate the program it is getting activated.. so can this error can be neglected?
    Any help on this will be appreciated..
    Regards,
    Rohan.

    Hi,
    First comment ur code and then activate the include.
    Now put a break point in the form and then in the debug mode check the structre LFAMTV is visible or not.
    if yes then once again add ur code and then activate the whole program.
    and now once again debug it and see...., whether the values are updated to the strurure LFAMTV.
    Regards,
    Nagaraj

  • SQL Developer 1.1.0.21: Issues with Data Grid and SQL syntax checking

    In this new release of SQL Dev, when I execute a SQL in the SQL Worksheet and click in the Data Grid in the Results tab and try to navigate within a record using arrow keys, the grid cell enters into edit mode by default and so I cannot use the Left or Right arrow keys to navigate the grid. I am forced to use tab key to navigate. This is counter intuitive in my opinion.
    Is there any option to change this behavior?
    Another issue that I have come across is with SQL syntax checking. In some cases, when I press F9 to execute a SQL, it shows the SQL as executed i.e. shows something like 0.0134 seconds in the toolbar and no results displayed. In reality, the SQL had some syntax error which were NOT reported. This can be frustrating since now I have to fall back to SQL*Plus or TOAD just for syntax check.
    I like the fact that SQLDev highlights the current SQL but it would be more useful if it just indicated the first line of the current sql instead of highlighting the whole sql.
    Manish

    "In this new release of SQL Dev, when I execute a SQL in the SQL Worksheet and click in the Data Grid in the Results tab and try to navigate within a record using arrow keys, the grid cell enters into edit mode by default and so I cannot use the Left or Right arrow keys to navigate the grid. I am forced to use tab key to navigate. This is counter intuitive in my opinion."
    In the "Results" tab, Click Ctrl & Tab keys (at the same time) or with mouse click on any cell other than the first column (a sequence or rownum), you will be able to navigate using the arrow keys.
    "Another issue that I have come across is with SQL syntax checking. In some cases, when I press F9 to execute a SQL, it shows the SQL as executed i.e. shows something like 0.0134 seconds in the toolbar and no results displayed. In reality, the SQL had some syntax error which were NOT reported. This can be frustrating since now I have to fall back to SQL*Plus or TOAD just for syntax check."
    The 0.0134 seconds could be the result of the most recently executed successful statement. Check the Script Output tab for errors. Use F5 (Run Script option) instead of F9.
    "I like the fact that SQLDev highlights the current SQL but it would be more useful if it just indicated the first line of the current sql instead of highlighting the whole sql."
    On the SQL statement (or code), Right Click -> Format SQL (or press Ctrl & B), proper formatting would help.
    I use version 1.0.0.15.57 and seems to be working allright.
    - Babu Rangasamy

  • Getting Error 26 in ALE IDOC scenario .- EDI Syntax Check Error...

    Hi..
    i am working in ALE Idoc scenario...I am getting Status 3 as well as status 26 in we02 transaction in my custom IDOC scenario for outbound process..
    The error is 'EDI- SYntax Check'..
    How to remove this error..
    Pls help.

    ya, there is only one segment available in IDOC..named i.e zseg_a .
    So , error in postion is avoided..
    How to find syntax error then?

  • Syntax check for tables and function modules

    Hi,
    I am writing a program that perform syntax check on object such as executable programs , function modules and tables.
    Syntax check works fine for programs, but not for tables.
    How can I perform syntax check on my tables or structures?
    I get my data from the table TADIR. But I don't get my function modules from there. What is the table for this.
    Thanks 4 ur replies.
    Parvez

    hi
    good
    generally in sap while creating a table or structure we get the error and we solved them,but like reports during runtime it is not possible to check the syntax of a table or structure.
    thanks
    mrutyun^

  • Can we use SAMT to syntax check methods in global classes ?

    Transaction SAMT can be used to perform syntax checks on programs but I can't see how to use it to check methods in global  classes. Can anyone tell me how to do this ?
    thanks,
    Malcolm.

    I've figured out a way to do this.
    You need to put the class name followed by '=====CP' into the program name......with enough ='s to make the name up to 32 characters. Bit fiddly but it can be done.

  • Warning in query in Extended Syntax Check

    Hi all,
    I perform Extended Syntax Check.
    It generates following warning for the query: -
    In "SELECT SINGLE....", the WHERE condition for the key field "MATNR" does not test for equality. Therefore the single record in question may not be unique.
    (You can hide the message using "#EC *)
    Please tell me what does it mean. How can I suppress this warning?
    Regards,
    Saurabh A. Buksh

    Hi,
    whenu r using select single use a variable or a workarea don't use tables.
    select single matnr from mara into v_matnr
    where matnr in s_matnr.
    also as it is warning message u can neglectit .
    when u  r using select single u should give entire key information also.
    Regards,
    Nagaraj
    Message was edited by: nagaraj kumar nishtala

  • Extended Syntax Check  in abap code

    Hi Guys,
    We are upgrading from 4.6 C to ECC 6.0.  When I do the Extended Syntax check for the custom function module it gives me the following error.  Please help.
    The EXCEPTION "REPORT_NOT_EXISTENT" is not defined in the interface of the function module "RS_VARIANT_CONTENTS" "RS_VARIANT_CONTENTS".  Internal Message Code: MESSAGE G-7. 
    (The message can be hidden with "#EC ARGCHECKED)
    Regards,
    Shankar

    <b>Don't suppress the message. </b> You should only suppress messages if you are aware of why they are appearing, and they are not an error.
    What it means is, that in your custom function module, there is some code like
    CALL FUNCTION 'RS_VARIANT_CONTENTS'
      EXPORTING
        report                     = v_report
        variant                    = v_variant
    EXCEPTIONS
       VARIANT_NON_EXISTENT        = 1
       VARIANT_OBSOLETE            = 2
       REPORT_NOT_EXISTENT         = 3
       OTHERS                      = 4
    But if you look at FM rs_variant_contents, you'll see this exception is not defined.  The correct course of action is to remove it from your call.
    matt

Maybe you are looking for

  • Discrepancy between F.19 and F.05 on GR/IR accounts

    Hi, In my opinion, the documents reported as GNB (goods received not invoiced) in transaction F.19 should be exactly the same documents that are being revalued in F.05 using Open Items, GR/IR account, radio button on "Valuate GR/IR" accounts. By defi

  • D11 Cross-Platform Shockwave Issue

    I just did a build of a Shockwave version of a freeware game that I created in Director. I'm using the DCR and HTML page generated by Director 11, but while it loads and works just fine on a Mac, it doesn't load on my Windows computer (or on my Mac u

  • Active directory vs OID

    Hi, Can anyone please give me pros and cons of using active directory vs OID. We are in process of centralizing tnsnames.ora. Thanks in advance!

  • Error in Displaying Form 16 in Portal

    Hello Everybody,      I am facing a problem related to display of Form 16 in Portal. Here i have SAP EP 7.0 SP15 and ECC(EA_HR and SAP_HR) SP 30. For form 16 I am using TCode :HRESSIN_F16. Now Problem is that Iview is showing till Tab DISPLAY REPORT

  • Reserving tasks

    Here is a condensed version of my issue: Hardware:  cDAQ-9174 USB, module of concern, NI-9401 used as a counter/timer module. Software:  LabVIEW 12, Windows 7 What I need to do: Ctr0 is used to generate a finite number of pulses to turn a motor X dis