Reset flag

Hi Experts I need an advice for the below case.
A flag which is set in the EBAN must be reseted. This
is the programm. It doesn't do that. What can be reason for that.
This is the Function Module Call from SAP SRM System with destination command.
CALL FUNCTION 'ZBM_RESET_FLAG'
DESTINATION 'RV3CLNT888'
  EXPORTING
    BANFNUMBER        = ls_ITEM-EXT_DEMID
EXCEPTIONS
   NOT_RESETED       = 1
   OTHERS            = 2.
The Function Module is in the the backendsystem (R/3).
FUNCTION ZBM_RESET_FLAG.
*"*"Lokale Schnittstelle:
*"  IMPORTING
*"     VALUE(BANFNUMBER) TYPE  BANFN
*"  EXCEPTIONS
*"      NOT_RESETED
  data lt_eban type table of eban.
  data ls_eban type eban.
  data:  l_r_banfn type table of ZBANFEN.
SELECT * FROM eban into table lt_eban where BANFN EQ BANFNUMBER AND LOCKFLAG EQ 'X'.
  IF SY-SUBRC IS INITIAL.
    LOOP AT lt_eban INTO ls_eban .
      clear: ls_eban-LOCKFLAG .
      modify eban from ls_eban.
    ENDLOOP.
    ELSE.
    raise NOT_RESETED.
  ENDIF.
ENDFUNCTION.

Dear Colleques,
the problem is still existing.
I have inserted a infinite loop and have called t-code sm50 and debugged this coding.
There is no sy-subrc <> 0 and any error message.
Is it not possible to update a dictionary table via remote call like in my case ?
What is worng here ?
Regards
ertas
data lzahl1 type i .
data lzahl2 type i .
lzahl1 = 0.
lzahl2 = 2.
while lzahl1 < lzahl2.
clear sy-subrc.
endwhile.
  data lt_eban type table of eban.
  data ls_eban type eban.
  data:  l_r_banfn type table of ZBANFEN.
  CALL FUNCTION 'CONVERSION_EXIT_ALPHA_INPUT'
    EXPORTING
      INPUT  = BANFNUMBER
    IMPORTING
      OUTPUT = BANFNUMBER.
  SELECT * FROM eban into table lt_eban where BANFN EQ BANFNUMBER AND LOCKFLAG EQ 'X'.
  IF SY-SUBRC IS INITIAL.
    LOOP AT lt_eban INTO ls_eban .
      UPDATe eban set lockflag = ' ' where banfn = ls_eban-BANFN.
     commit work and wait.
    ENDLOOP.
  ELSE.
    raise NOT_RESETED.
  ENDIF.

Similar Messages

  • Reset Flag MARC-XCHAR

    Hi All,
    For few materials in the system MARC-XCHAR (internal Batch Management Indicator) is set where as MARC-XCHPF (Batch Management requriement) is BLANK.
    I am unable to trace the reason, Can you let me know importance of the same
    and request you let me know the procedure & pre-requisites to deactivate MARC-XCHAR field.
    Thanks in advance,
    Nag

    MM17  is just not possible as the field XCHAR is not among the changable fields (it is only among the fields for selection)
    It is an internal field that indicates that the material is to be managed in batches.
    A material is to be managed in batches for 2 reasons: batch managment requirement is set (field XCHPF)
    or split valuation without batch management requirement is chosen. In this case SAP creates still a batch. the batch number is then equal to the valuation type.
    You certainly cannot undo this unless you archive the material master valuation data.
    Further in SE38 for Report LMGD1I1U you can see SAPs explanation of this indicator, unfortunatly only in German language.

  • JCO - Connection reset by peer - after 5 minute timeout

    Hello
    We're using SUP with the JCO Connector. This has been working flawlessly since project inception. Now, after switching to a new data center (Windows Server 2008 Server Enterprise Edition, SP2 on VMWare) we're observing a mysterious behavior with timeouts of idle connections. I hope someone in this forum knows what this might be.
    JCO connections originate from SUP servers. When such connections are idle for more than 5 minutes they get disconnected from SAP -- this is in agreement with SAP timeout parameter of 300 seconds.
    On our new systems we noticed that requests sent 5min+ (after timeout) show following error:
    Thread-8 [22:08:55:343]: [JNI-LAYER] RFC.nativeExecute() before RfcCallReceive(2,"Z_U_ONEMOBILE_SWO_SEARCH",0000000010CDC850,0000000000000000,0000000010C81530,000000000C79CA88)
    Thread-8 [22:08:55:344]: [JNI-LAYER] RFC.nativeExecute() after  RfcCallReceive(2,"Z_U_ONEMOBILE_SWO_SEARCH",0000000010CDC850,0000000000000000,0000000010C81530,000000000C79CA88) = RFC_SYS_EXCEPTION
    Thread-8 [22:08:55:344]: [JAV-LAYER] JCO.Client.execute (Z_U_ONEMOBILE_SWO_SEARCH) threw a NON-ABAP exception: com.sap.mw.jco.JCO$Exception: (104) RFC_ERROR_SYSTEM_FAILURE: CPIC-CALL: 'CMRCV : rc=20
    ERROR       connection to partner '---removed!---:3299'
                broken
    TIME        Fri Feb 11 18:08:55 201
    RELEASE     710
    COMPONENT   NI (network interface)
    VERSION     39
    RC          -6
    MODULE      nixxi.cpp
    LINE        4448
    DETAIL      NiIWrite: P=161.88.23.170:3299; L=0.0.0.0:49730
    SYSTEM CALL WSASend
    ERRNO       10054
    ERRNO TEXT  WSAECONNRESET: Connection reset by peer
    COUNTER     3
    Thread-8 [22:08:55:344]: [JNI-LAYER] RFC.nativeDisconnect()                                       enter, [SUCCESS]
    Thread-8 [22:08:55:344]: [JNI-LAYER] RFC.nativeDisconnect() before RfcClose(2)
    Thread-8 [22:08:55:344]: [JNI-LAYER] RFC.nativeDisconnect() after  RfcClose(2)
    Thread-8 [22:08:55:344]: [JNI-LAYER] RFC.nativeDisconnect()                   with rc = RFC_OK   leave, [SUCCESS]
    Our suspicion is that the JCO client doesn't notice the fact that it gets disconnected. We used Network Monitor 3.4 to look at network traffic. Indeed, after 5 minutes the client gets a single frame (with reset flag) and no acknowledgement goes back.
    What could this be?
    We use
    JCO 2.1.8 AMD 64-bit (contains librfc 6.40) and
    JCO 2.1.9 AMD 64-bit (contains librfc 6.40) but replaced this with librfc 7.10 (after seeing Note 825494). Behavior was exactly the same. We did confirm in jco/rfc trace that those versions were actually used.
    Any ideas?
    Thanks and regards
    Edited by: B. Gottipati on Feb 14, 2011 9:17 PM

    Hello
    We're using SUP with the JCO Connector. This has been working flawlessly since project inception. Now, after switching to a new data center (Windows Server 2008 Server Enterprise Edition, SP2 on VMWare) we're observing a mysterious behavior with timeouts of idle connections. I hope someone in this forum knows what this might be.
    JCO connections originate from SUP servers. When such connections are idle for more than 5 minutes they get disconnected from SAP -- this is in agreement with SAP timeout parameter of 300 seconds.
    On our new systems we noticed that requests sent 5min+ (after timeout) show following error:
    Thread-8 [22:08:55:343]: [JNI-LAYER] RFC.nativeExecute() before RfcCallReceive(2,"Z_U_ONEMOBILE_SWO_SEARCH",0000000010CDC850,0000000000000000,0000000010C81530,000000000C79CA88)
    Thread-8 [22:08:55:344]: [JNI-LAYER] RFC.nativeExecute() after  RfcCallReceive(2,"Z_U_ONEMOBILE_SWO_SEARCH",0000000010CDC850,0000000000000000,0000000010C81530,000000000C79CA88) = RFC_SYS_EXCEPTION
    Thread-8 [22:08:55:344]: [JAV-LAYER] JCO.Client.execute (Z_U_ONEMOBILE_SWO_SEARCH) threw a NON-ABAP exception: com.sap.mw.jco.JCO$Exception: (104) RFC_ERROR_SYSTEM_FAILURE: CPIC-CALL: 'CMRCV : rc=20
    ERROR       connection to partner '---removed!---:3299'
                broken
    TIME        Fri Feb 11 18:08:55 201
    RELEASE     710
    COMPONENT   NI (network interface)
    VERSION     39
    RC          -6
    MODULE      nixxi.cpp
    LINE        4448
    DETAIL      NiIWrite: P=161.88.23.170:3299; L=0.0.0.0:49730
    SYSTEM CALL WSASend
    ERRNO       10054
    ERRNO TEXT  WSAECONNRESET: Connection reset by peer
    COUNTER     3
    Thread-8 [22:08:55:344]: [JNI-LAYER] RFC.nativeDisconnect()                                       enter, [SUCCESS]
    Thread-8 [22:08:55:344]: [JNI-LAYER] RFC.nativeDisconnect() before RfcClose(2)
    Thread-8 [22:08:55:344]: [JNI-LAYER] RFC.nativeDisconnect() after  RfcClose(2)
    Thread-8 [22:08:55:344]: [JNI-LAYER] RFC.nativeDisconnect()                   with rc = RFC_OK   leave, [SUCCESS]
    Our suspicion is that the JCO client doesn't notice the fact that it gets disconnected. We used Network Monitor 3.4 to look at network traffic. Indeed, after 5 minutes the client gets a single frame (with reset flag) and no acknowledgement goes back.
    What could this be?
    We use
    JCO 2.1.8 AMD 64-bit (contains librfc 6.40) and
    JCO 2.1.9 AMD 64-bit (contains librfc 6.40) but replaced this with librfc 7.10 (after seeing Note 825494). Behavior was exactly the same. We did confirm in jco/rfc trace that those versions were actually used.
    Any ideas?
    Thanks and regards
    Edited by: B. Gottipati on Feb 14, 2011 9:17 PM

  • Parameter field still editable after setting flag 'PropFlags​_NotEditab​le'?

    Hi,
    Parameter field still editable after setting flag ‘PropFlags_NotEditable’?
    I have defined a step type with a string parameter. (MyParameter). This parameter field has to contain custom generated data, stuffed from a code module.
    I want to have ‘MyParameter’ read only for all instances of the step in my sequence.
    I have set the property flag ‘PropFlags_NotEditable’ for ‘MyParameter’ in my step type definition, because I want to have this parameter read only in all instances.
    When I try to edit ‘MyParameter’ field in an instance of the step in the sequence in the variable pane ‘Step’ - ‘MyParameter’, it still works?
    What is wrong here, I suppose this should work?
    Best regards

    1) Make sure you have show hidden properties turned on in the station options, preferences tab.
    2) In your step type expand the variables to the place where the expression is stored for the parameter argument. In the .NET adapter this would be something like the following:TS.SData.Call.Params[0].ArgVal. Right-click on ArgVal and select the Properties menu item.
    3)  Click on the advanced button and select flags.
    4) When the edit flags dialog pops up, click on the Type Flags button.
    5) Check the PropFlags_NotEditable flag for the Instance Default Flags section. Click OK on this dialog.
    6)  If you want the change to effect currently open instances I think checking the "Reset Flags... " checkbox on the edit flags dialog will do this, otherwise this change will only effect new instances of your step type. Press ok on the remaining dialogs.
    7) New instances will now not allow editing that value. NOTE: This only works for the sequence editor module panel though. It does not work for the dialog version used by the user-interfaces.
    One thing I want to make sure you are aware of for step types is that using a default code module like this has drawbacks versus using postsubsteps. Setting the default code module doesn't keep the user from changing the specification after they insert the step, also updating existing steps if you want to change the prototype is more problematic. You might be better off with a design more like the step types that ship with teststand like the message popup step type (which also ship with source code so you can see how they are implemented) which instead use post-substeps and edit-substeps and instead designate the none adapter for the step type so that the step type can never have a code module. What they do instead is their edit substeps display a dialog that gets the settings/parameters to the operation that the step type performs and stores those as subproperties of the step. Then at runtime the post-substep gets this information and executes the necessary code. Unlike the default code module setting, changing the substeps in a step type automatically effects all existing instances of the step. Changing the code module only effects new instances, and loaded instances if you check the checkbox for that.
    Hope this helps,
    -Doug
    Message Edited by dug9000 on 04-16-2010 09:58 AM

  • Resetting JProgressBar

    The JProgressBar works great using a separate thread for the process and a Runnable thread for progress (calling SwingUtilities.invokeLater()), but I cannot get the darn thing to reset back to 0 for another run. A simple call to progressBar.setValue(0); does not accomplish this. Setting a reset flag (boolean) checked within the Runnable and calling SwingUtilities.invokeLater() doesn't accomplish this either. How the heck do I reset the progress bar for multiple successive activities?
    Thanks,
    Robert Templeton

    This works for me:
    import java.awt.BorderLayout;
    import java.awt.event.ActionEvent;
    import java.awt.event.ActionListener;
    import javax.swing.JButton;
    import javax.swing.JFrame;
    import javax.swing.JPanel;
    import javax.swing.JProgressBar;
    public class ProgressExample extends JFrame implements ActionListener, Runnable {
         private JProgressBar progress = new JProgressBar(0, 100);
         private JButton start = new JButton("Start!");
         private static int[] sleeps = {20, 10, 40}; //milliseconds
         public ProgressExample() {
              super("Progress example");
              setDefaultCloseOperation(EXIT_ON_CLOSE);
              JPanel cp = (JPanel)getContentPane();
              cp.add(progress, BorderLayout.NORTH);
              start.addActionListener(this);
              cp.add(start);
              pack();
              setVisible(true);
         public void actionPerformed(ActionEvent e) {
              start.setEnabled(false);
              new Thread(this).start();
         public void run() {
              for (int sleep : sleeps) {
                   progress.setValue(0);
                   for (int i=1; i<101; i++) {
                        try {
                             Thread.sleep(sleep);
                        } catch (InterruptedException e) {
                             break;
                        progress.setValue(i);
              start.setEnabled(true);
         public static void main(String[] args) {
              new ProgressExample();
    }-Muel

  • Error :  Business partner has status "Flagged for Archiving"

    Hi All,
    I have error in order: Business partner (Sold to Party) .has status "Flagged for Archiving"
    I removed the Click "Archiving Flag" from BP and I changed the order.
    But still error is not going.
    Can somebody suggest what to do for removing this error?
    Regards
    Jay

    Hi Jay,
    Follow these steps :
    1. Go to Transaction BUPA_PRE_DA.
    2. In the relevant fields, enter the BP number, mark the radio button for 'To be archived' , check the 'Reset Flag' check box.
    3. Uncheck the 'test run' check box.
    4. Execute.
    This will reset the archiving flag.
    Hope this solves your problem.
    Cheers,
    Rishu.

  • Error Reset-O Reset-I

    Hi all,
    i have a strange error on my ASA5515-X and I can not understand what can be.
    I natted server-mail with services https:
    object network Owa_10.0.1.4
    host 10.0.1.4
    object network Owa_10.0.1.4
        nat (INSIDE,OUTSIDE) static interface service tcp https https
    access-list INSIDE_access_in extended permit ip any any
    access-list OUTSIDE_access_in extended permit ip any any
    access-group INSIDE_access_in in interface INSIDE
    access-group OUTSIDE_access_in in interface OUTSIDE
    interface GigabitEthernet0/0
    nameif INSIDE
    security-level 100
    ip address 10.0.1.254 255.255.0.0
    interface GigabitEthernet0/1
    nameif OUTSIDE
    security-level 0
    ip address 217.5x.xxx.xxx 255.255.255.240
    If i send a mail from inside to outside mail reaches the receiver, if mail is sent from outside (such as from @gmail.com to internal mailbox) mail does not arrive. Attached there are logs with TCP Reset-O.
    what could be the issue? I have something wrong in the configuration?
    Thanks in advance.
    M

    Hello Marco,
    Your configuration looks all right, I would say "permit ip any any"
    is okay on this case for troubleshooting purposes but do not remember later change rules on outside and only  allow services you  need to. Besides your configuration is fine. Also in log provided connection looks okay from firewall perspective.
    Here is meaning of Reset-O and Reset-I according title on this post:
    - TCP Reset-I - The client tear down the connection (typical in an SMTP or IMAP exchange -I = inside interface).
    - TCP Reset-O - The server was not listening on that protocol at that time (usually seen as coming from SMTP servers -O = Outside interface).
    I would suggest you to check if server is listening on ports required (netstat works on this), run some captures on your server maybe using wireshark in order to confirm if server is resetting connection and check out for incoming traffic.
    Run  some captures on the firewall in order to confirm the reset is comming from Outside.
    capture inside interface inside match tcp any host 10.0.1.4 eq 443
    capture outside interface outside match tcp  any host 217.5x.xxx.xxx  eq 443
    capture asp type asp all  >>> in order to check packets firewall has dropped.
    show capture asp | inc 10.0.1.4
    show capture asp  | inc 217.5x.xxx.xxx.443
    show capture inside >>>> check for tcp reset flag (R)
    Captures:
    https://supportforums.cisco.com/docs/DOC-17345
    Jhn

  • Error while updating table before branching to a report

    Hi,
    I have an apex form screen where on click of a button, i need to change a few flags on the screen and then display a bi publisher report.
    when the user clicks the PRINT Button a javascript function is called, which will set the flags and submits the form. I have the default process row of table process to update the form fields.
    in the branch i gave the BI publisher report url.
    everything works fine so far.
    if i click the print button again for a second time, i get a checksum ... error as shown below.
    ORA-20001: Error in DML: p_rowid=982-000790, p_alt_rowid=_ID_NUMBER, p_rowid2=, p_alt_rowid2=. ORA-20001: Current version of data in database has changed since user initiated update process. current checksum = "BD63FDD3142B79017CCD2C8DA8ED8CA7" application checksum = "B2FD7581A9478214E59264F9C1CFAF96"
    Error Unable to process row of table .
    OK
    Any idea how to fix this?
    What i am trying to do is:
    when the print button is clicked then i need to set the Print flag in the screen and database to true.I am using the default row update process generated by apex for a table form.
    Thanks
    Knut

    Hi Scott,
    example 1
    I have a demo at the following url
    http://apex.oracle.com/pls/otn/f?p=30091:6:1206476651563662::NO:::
    1. page 6 is the report and page 7 will be the details form.
    2. select a record from the report click edit and it will take you to the details screen page 7.
    3. on page 7 i have 2 select boxes with YES/NO flag. Initially set them to NO.
    save changes.
    4. click on the print button. it will reset the select lists to YES and opens a report.
    5.now go and edit anything on the screen and click apply changes.
    we will get the an error.
    All i am trying to do is update the flags to YES before displaying the report which works fine. but if i try to edit any data and save it throws an error.
    is my table.
    CREATE TABLE "DEMO_MINISTER"
    (     "MINISTER_ID" VARCHAR2(12),
         "NAME" VARCHAR2(50),
         "CERT_FLAG" VARCHAR2(1),
         "LABEL_FLAG" VARCHAR2(1)
    MINISTER_ID" is the primary key generated using a sequence. (i have to actually generate it with - year prefix etc hence a varchar)
    example 2:
    http://apex.oracle.com/pls/otn/f?p=30091:1:607292687304632:::::
    i have another page page 1 with demo_customers list. here the id is a number here. on edit it displays page 5 where i tried the same print reset flag stuff here and it works.
    Table Data Indexes Model Constraints Grants Statistics UI Defaults Triggers Dependencies SQL
    CREATE TABLE "DEMO_CUSTOMERS"
    (     "CUSTOMER_ID" NUMBER NOT NULL ENABLE,
         "CUST_FIRST_NAME" VARCHAR2(20) NOT NULL ENABLE,
         "CUST_LAST_NAME" VARCHAR2(20) NOT NULL ENABLE,
         "CUST_STREET_ADDRESS1" VARCHAR2(60),
         "CUST_STREET_ADDRESS2" VARCHAR2(60),
         "CUST_CITY" VARCHAR2(30),
         "CUST_STATE" VARCHAR2(2),
         "CUST_POSTAL_CODE" VARCHAR2(10),
         "PHONE_NUMBER1" VARCHAR2(25),
         "PHONE_NUMBER2" VARCHAR2(25),
         "CREDIT_LIMIT" NUMBER(9,2),
         "CUST_EMAIL" VARCHAR2(30),
         "PRINT_FLAG" VARCHAR2(1),
         "PRINT_LABEL_FLAG" VARCHAR2(1),
         CONSTRAINT "DEMO_CUST_CREDIT_LIMIT_MAX" CHECK (credit_limit <= 5000) ENABLE,
         CONSTRAINT "DEMO_CUSTOMERS_PK" PRIMARY KEY ("CUSTOMER_ID") ENABLE
    So what should i do to get the example 1 to work.
    Thanks
    knut

  • How to store numbers in a stack....

    hello guys...i ve got the following assignment:
    Write a Java program that reads and evaluates a fully parenthesised arithmetic expression. The
    purpose of this program is to illustrate a fundamental use of stacks. Implement the stack using
    Linked Lists as explained in your notes.
    For e.g if a user enters the expression: (((6 + 9) / 3) * (6 � 4))
    The result should be 10.
    Your program should be properly documented and well structured. Specifications should be
    clearly written in your logbook for all the methods, constructors, and classes that you implement
    in the following format:
    Class / Method/ Constructor name explaining what it does
    Parameters
    Preconditions
    Postconditions
    Throws
    Now, i ve come up with the following code:
    import java.util.EmptyStackException;
    class StackNode {
         private static Object data;
         private StackNode link;
         private static StackNode head;
         private int totalnodes;
    // the constructors
    public StackNode(Object obj, StackNode lk)
         data = obj;
         link = lk;
    public StackNode()
         head = null;
         totalnodes = 0;
         // the push method
         public void push(Object obj)
              head = new StackNode(obj, head);
              totalnodes++;
         // the pop method
         public Object pop()
              Object answer;
              if(head == null)
                   throw new EmptyStackException();
              answer = head.getData();
              head = head.getLink();
              totalnodes--;
              return answer;
         // the isEmpty method
         public boolean isEmpty()
              return (head == null);
         // get data
         public Object getData()
              return data;
         // get link
         public StackNode getLink()
              return link;
         // size or length method
         public int size()
              return totalnodes;
         public static void main (String args [])
              int i;
              StackNode number = new StackNode();
              StackNode operator = new StackNode();
              head = new StackNode(data, head);
              number.push(new Integer(9));
              number.push(new Integer(6));
              operator.push(new Character('+'));
    and i dont know how to store numbers into the stack and how to use the operations such as addition substraction division and multiply...
    any ideas how to do that??
    cheers....

    This doesn't use a stack but the concept is the same:
    import java.util.*;
    public class formula {
    public  int aValue = 1;
    public  int bValue = 2;
    public  int cValue = 3;
    public formula() {
       //StringTokenizer st = new StringTokenizer("a + b/c", " abc()+-*/", true);
       //while (st.hasMoreTokens()) { System.out.println(st.nextToken()); }
       StringTokenizer st2 = new StringTokenizer("a + (c - b) + (b * c)", " abc()+-*/", true);
      int operand1 = 0;
      int operand2 = 0;
      int operator = 0;
      //flag: first operand has a value
      boolean firstOperandFull = false;
      //flag: second operand has a value
      boolean secondOperandFull = false;
      //flag: tokens are between parens
      boolean inParens = false;
      Vector inParensVector = null;
      MAINLOOP:
        while (st2.hasMoreTokens()) {
                  String x = st2.nextToken();
                  //if token is a blank skip it.
                  if (x.equals(" ")) { continue MAINLOOP; }
                  System.out.println(x);
                  //if token is open parens set flag and skip to next token
                  if (x.equals("(")) { inParens = true; inParensVector = new Vector(); continue MAINLOOP; }
                  //if tokn is close parens, retrieve the value from between the parens and reset flag.
                  if (x.equals(")")) { if (! firstOperandFull) { operand1 = doInParens(inParensVector); firstOperandFull = true; }
                                       else { operand2 = doInParens(inParensVector); secondOperandFull = true;  }
                                       inParensVector = null; inParens = false; }
                  //if token is open parens store all tokens until close else process the token
                  if (inParens) { inParensVector.add(x); }
                  else {
                       //if token is a variable put correct value in operand
                       if (x.equals("a")) { if (! firstOperandFull) { operand1 = aValue; firstOperandFull = true; }
                                            else { operand2 = aValue; secondOperandFull = true;  } }
                       if (x.equals("b")) { if (! firstOperandFull) { operand1 = bValue; firstOperandFull = true; }
                                            else { operand2 = bValue; secondOperandFull = true;  } }
                       if (x.equals("c")) { if (! firstOperandFull) { operand1 = cValue; firstOperandFull = true; }
                                            else { operand2 = cValue; secondOperandFull = true;  } }
                       //if token is a operator store the operation
                       if (x.equals("+")) { if (firstOperandFull) { operator = 1; } }
                       if (x.equals("-")) { if (firstOperandFull) { operator = 2; } }
                       if (x.equals("*")) { if (firstOperandFull) { operator = 3; } }
                       if (x.equals("/")) { if (firstOperandFull) { operator = 4; } }
                       System.out.println("operand1 = " + operand1 + " operand2 = " + operand2 + " operator = " + operator);
                        //if second operand has a value perform the operation.
                       if (secondOperandFull) {
                                               switch (operator) {
                                                        case 1 : operand1 = add(operand1, operand2); secondOperandFull = false; break;
                                                        case 2 : operand1 = subtract(operand1, operand2); secondOperandFull = false; break;
                                                        case 3 : operand1 = multiply(operand1, operand2); secondOperandFull = false; break;
                                                        case 4 : operand1 = divide(operand1, operand2); secondOperandFull = false; break;
                                                        }//end switch
                                                 } //end if
                     } //End inParens else
      } //End while
    System.out.println("answer = " + operand1);
    public static void main(String[] args) { //formula f = new formula();
    Vector v = new Vector();
    StringTokenizer st = new StringTokenizer(",Greg,,Paul,,", ",", true);
    String token = null;
    String lastToken = " ";
    boolean firstToken = true;
    while (st.hasMoreTokens()) {
    token = st.nextToken();
    if (firstToken) { if (token.equals(",")) { v.add("X"); }
    firstToken = false; }
    if (! token.equals(",")) { v.add(token); }
    else { if (lastToken.equals(",")) { v.add("X"); } }
    lastToken = token;
    } //End While
    if (token.equals(",")) { v.add("X"); }
    Enumeration tokens = v.elements();
    while (tokens.hasMoreElements()) {
          System.out.println((String)tokens.nextElement()); }
    } //End Main
    public int add(int operand1, int operand2) { return operand1 + operand2; }
    public int subtract(int operand1, int operand2) { return operand1 - operand2; }
    public int divide(int operand1, int operand2) { return operand1 / operand2; }
    public int multiply(int operand1, int operand2) { return operand1 * operand2; }
    public int doInParens(Vector inParensVector) {
          int operand1 = 0;
          int operand2 = 0;
          int operator = 0;
          boolean firstOperandFull = false;
          boolean secondOperandFull = false;
          Enumeration tokens = inParensVector.elements();
          INPARENSLOOP:
               while (tokens.hasMoreElements()) {
                  String x = (String)tokens.nextElement();
                  //if token is a blank skip it.
                  if (x.equals(" ")) { continue INPARENSLOOP; }
                  System.out.println("inparens : " + x);
                  //if token is a variable put correct value in operand
                      if (x.equals("a")) { if (! firstOperandFull) { operand1 = aValue; firstOperandFull = true; }
                                          else { operand2 = aValue; secondOperandFull = true;  } }
                  if (x.equals("b")) { if (! firstOperandFull) { operand1 = bValue; firstOperandFull = true; }
                                      else { operand2 = bValue; secondOperandFull = true;  } }
                  if (x.equals("c")) { if (! firstOperandFull) { operand1 = cValue; firstOperandFull = true; }
                                           else { operand2 = cValue; secondOperandFull = true;  } }
                 //if token is a operator store the operation
                 if (x.equals("+")) { if (firstOperandFull) { operator = 1; } }
                  if (x.equals("-")) { if (firstOperandFull) { operator = 2; } }
                 if (x.equals("*")) { if (firstOperandFull) { operator = 3; } }
                 if (x.equals("/")) { if (firstOperandFull) { operator = 4; } }
                  System.out.println("Inparens : operand1 = " + operand1 + " operand2 = " + operand2 + " operator = " + operator);
                 if (secondOperandFull) {
                                         switch (operator) {
                                                   case 1 : operand1 = add(operand1, operand2); secondOperandFull = false; break;
                                                       case 2 : operand1 = subtract(operand1, operand2); secondOperandFull = false; break;
                                                       case 3 : operand1 = multiply(operand1, operand2); secondOperandFull = false; break;
                                                       case 4 : operand1 = divide(operand1, operand2); secondOperandFull = false; break;
                                                       }//end switch
                                         } //end if
                  } //End while
               System.out.println("Inparens return = " + operand1);
               return  operand1;
    }//End doInParens
    }//End Class

  • Problem: Why does this only work for powers of 2?

    I wrote this program to create a golf league schedule for, ideally, eight players. However I want it to be flexible enough to permit for other denominations, such as 10 or 12. When I run the program it works perfectly for any number that is a power of 2 (2,4,8,16,32,etc...) but it will not work for other even numbers such as 6,10, or 12. If anyone has any insights it would be most helpful.
    *(This is my first post on this forum so if anything looks not quite right or if this post isn't worded exactly how it should be then I apologize in advance)*
    Here's the three classes.
    public class ScheduleDriver
         public static void main(String[] args)
                              //instance variables
              int max;     //size of flight matches array
              ScheduleMaster master;//instance of class
              //get max number of players for flight
              System.out.print("Max number of players in this flight:");
              max = Keyboard.readInt();
              master = new ScheduleMaster(max);
              //create weekly schedules for season
              master.createSchedule();
              //display weekly schedules
              master.displayWeekly();
         }//end main
    }//end ScheduleDriver
    public class ScheduleMaster
         //instance variables
         int maxPlyrs;//maximum number of players in flight
         Week[] weeklySchedule;//array of weekly matches
         public ScheduleMaster(int plyrs)
              //set up instance data and declare array size
              maxPlyrs = plyrs;
              weeklySchedule = new Week[plyrs];
              //set up the size of each week's matches array
              for (int pos = 0; pos < plyrs; pos++)
                   weeklySchedule[pos] = new Week(plyrs);
              }//end for
         }//end constructor
         public void createSchedule()
              int count = 0;//index of weeklySchedule array
              final int QUIT = -1;     //quit value for loop
              int flag = 0;     //value to continue or exit loop
              //for each player A
              for (int a = 1; a < maxPlyrs; a++)
                   //for each opponent of player A
                   for (int b = (a + 1); b <=maxPlyrs;b++)
                        //set count/index and       reset flag to zero
                        count = (a - 1);
                        flag = 0;
                        //while still haven't found correct week for this match
                        while (flag != QUIT)
                             //if at least one of these players are already scheduled
                             //for a match this week
                             if (weeklySchedule[count].checkPlayers(a,b) == true)
                                  //if last valid index of array has been reached
                                  if (count == (maxPlyrs - 2))
                                       //reset count/index to zero
                                       count = 0;
                                  else
                                       //incriment count
                                       count++;
                             }//end if
                             else
                                  //assign this match to array of matches for week
                                  //and then exit loop
                                  weeklySchedule[count].setMatch(a,b);
                                  flag = -1;
                             }//end else
                        }//end while
                   }//end for
              }//end for
              //fill in last week/position night
              for (int pos = 0; pos < maxPlyrs;pos++)
                   //set up position match
                   weeklySchedule[maxPlyrs - 1].setMatch(pos + 1, pos + 2);
                   //incriment pos
                   pos++;
              }//end for
         }//end createSchedule
         public void displayWeekly()
              //for each week in schedule
              for (int pos = 0; pos < maxPlyrs;pos++)
                   //display header
                   System.out.print("WEEK " + (pos + 1));
                   //if pos/index is 0 or even, flight plays front 9
                   if ((pos % 2) == 0)
                        System.out.println(" [FRONT 9]");
                   //else flight plays back 9
                   else
                        System.out.println(" [BACK 9]");
                   //display lines
                   System.out.println("----------------");
                   //display week's matches
                   weeklySchedule[pos].display();
                   //skip a line
                   System.out.println("\n");
              }//end for
         }//end displayWeekly
    }//end ScheduleMaster
    public class Week
         int[] schedule;          //array of players involved in matches for week
         int max;               //max number of players
         int count = 0;          //number of players currently involved in matches
         public Week(int size)
              //set up instance data and size of array
              max = size;
              schedule = new int[size];
         }//end constructor
         public boolean checkPlayers(int playerA, int playerB)
              boolean flag = false;     //flag to determine if at least one of
                                            //the players to check are already playing
                                            //this week
              //for each element of array
              for (int pos = 0; pos < max; pos++)
                   //if player A matches player already playing this week
                   if (schedule[pos] == playerA)
                        flag = true;
              }//end for
              //for each element of array
              for (int pos = 0; pos < max; pos++)
                   //if player B matches player already playing this week
                   if (schedule[pos] == playerB)
                        flag = true;
              }//end for
              return flag;
         }//end checkPlayers
         public void setMatch(int playerA, int playerB)
              //if array can take more matches
              if (count <= (max - 2))
                   //insert players into array of active players for week
                   schedule[count] = playerA;
                   schedule[count + 1] = playerB;
                   //incriment count of players playing this week by 2
                   count = count + 2;
              }//end if
              else
                   System.out.print("No more matches can be entered!!!");
         }//end setMatch
         public void display()
              //for every even numbered index starting at zero
              for (int num = 0;num < max;num++)
                   //display the player at that position and the next consecutive
                   //player who will be his opponent for the week
                   System.out.println(schedule[num] + "VS" + schedule[num + 1] +
                   //incriment num
                   num++;
              }//end for
         }//end display
    }//end Week

    Ah, I have discovered the problem. The reason for the infinite loop was because of the resetting of the counter/index after every successful match entry back to (a - 1). This was causing matches to be put into weeks where they didn't belong, which caused the program to infinitely loop because it couldn't find an appropriate week to place it's next match. The only time the count should be reset back to zero is when a new player A is being processed or the last valid array index has been referenced before an out of bounds exception would be thrown. I'm still not entirely sure why this doesn't occur on powers of 2 but theh again I haven't put too much thought into it having solved the initial problem! :)
    Anyways thanks for the input all who posted, much appreciated.
    Happy programming!!!!

  • How to know if board has already been intialized

    Hello,
       I am trying to automate a microscopy stage.  I need to be able to move the stage in XY with blended motion, and in Z with single axis control.  I have been able to do this but I still have one glaring problem.  The module for the XY stage may be loaded first, or the Z stage may be loaded first.  The one that get loaded first needs to initialize the board, and then the rest need to just run on the board.  I do not know beforehand which one will be first and I have not been able to figure out how to transfer this information between the programs as I have multiple boards that are running from this system and the user may decide to control the stage with one board and the Z focus with a different one.  
    So with all of that, is there a function that will tell you if the board has been initialized.  Here is what I want to do
    Start .dll
    Get properties (Board ID, Axis, blend mode....)
    Check if board is initialized.   If not then flex_initialize_controller (BOARDID,null);
    Set up axis...
    Run program.
    Thanks
    Solved!
    Go to Solution.

    When an NI 73xx motion control board is not initialized (e. g. after a power cycle or a board reset), the board is in Power-Up Reset state. The initialization routine needs to reset this flag to prepare the board for normal operation. You can read the Power-Up Reset flag with flex_read_csr_rtn().
    I hope this helps,
    Jochen Klier
    National Instruments

  • View_maintenance_call

    Hello,
    I want to use fm view_maintenance_call to update a table. But I want to pass one of the key fields from the parameters of the selection screen of my program. Is it possible to display this field with the value from program's selection screen and to lock it against changes. ie. the table has 3 fields to be updated, value of one of the fields will be read from the selection screen and it will be display only in SM31/SM30.
    Is it possible?
    Thx in advance,
    Ali

    <b>I want one field to be display only. for the rest of the fields in the record the user must have the chance to make entries.</b>
    This is not possible :
    Check the below code :
    tables: tvdir.
    Selection screento table View
      selection-screen skip 2.
      parameter p_tabnm(30) as listbox visible length 30 obligatory.
      selection-screen skip 1.
      selection-screen begin of block s1 with frame title text-001.
      parameter: p_radio1 radiobutton group g1,
                 p_radio radiobutton group g1.
      selection-screen end of block s1.
    Add values to list box
    at selection-screen output.
      type-pools: vrm.
      data: name  type vrm_id,
            list  type vrm_values,
            value like line of list.
      name = 'P_TABNM'.
      refresh list.
      value-key = 'V_024'.
      value-text = text-002. "'V_024-Purchasing Groups'.
      append value to list.
      value-key = 'V_T024D'.
      value-text = text-003. "'V_T024D-MRP Controllers'.
      append value to list.
      value-key = 'ZT604'.
      value-text = text-004. "'T604-Commodity Codes'.
      append value to list.
      value-key = 'T179'.
      value-text = text-005. "'T179-Product Hierarchies'.
      append value to list.
      value-key = 'TVM1T'.
      value-text = text-006. "'TVM1T-Business Manager'.
      append value to list.
      value-key = 'TVM2T'.
      value-text = text-007. "'TVM2T-Division manager'.
      append value to list.
      value-key = 'TVM3T'.
      value-text = text-008. "'TVM3T-Director'.
      append value to list.
      value-key = 'V_TVV2'.
      value-text = text-009. "'V_TVV2-Customer Group 2'.
      append value to list.
      call function 'VRM_SET_VALUES'
           exporting
                id     = name
                values = list.
    start-of-selection.
    Get flag of corresponding table view
      select single tabname flag from tvdir into tvdir
                    where tabname = p_tabnm.
    Set flag of corresponding table view
      if p_radio1 eq 'X'.
        if tvdir-flag ne 'X'.
          update tvdir set: flag  = 'X'
                     where tabname = p_tabnm.
        endif.
      endif.
      if p_radio eq 'X'.
        if tvdir-flag eq 'X'.
          update tvdir set: flag  = ''
                       where tabname = p_tabnm.
        endif.
      endif.
    Execute View/Table
      call function 'VIEW_MAINTENANCE_CALL'
        exporting
          action                               = 'U'
          view_name                            = p_tabnm
       exceptions
         client_reference                     = 1
         foreign_lock                         = 2
         invalid_action                       = 3
         no_clientindependent_auth            = 4
         no_database_function                 = 5
         no_editor_function                   = 6
         no_show_auth                         = 7
         no_tvdir_entry                       = 8
         no_upd_auth                          = 9
         only_show_allowed                    = 10
         system_failure                       = 11
         unknown_field_in_dba_sellist         = 12
         view_not_found                       = 13
         others                               = 14.
      if sy-subrc <> 0.
        message id sy-msgid type sy-msgty number sy-msgno
                with sy-msgv1 sy-msgv2 sy-msgv3 sy-msgv4.
      endif.
    Reset flag of corresponding table view
      update tvdir set: flag  = tvdir-flag
                    where tabname = p_tabnm.
    Depend upon Radio button ,you get pop up window for transport request.
    Thanks
    Seshu

  • Problem during IS-OIL activation transport: "ERROR during DD ACTIVATION"

    Dear All,
    On Development system, is-oil was previously activated with SFW5
    transaction (notes 908007, 874541); afterwards transport was created on
    development system and imported on the production system, but
    unsuccessfully!
    On Production system, we have the following errors on file SLOG0847.GP6:
    ERROR: stopping on error 12 during DD ACTIVATION
    ERROR: stopping on error 12 during MOVE NAMETABS
    Please have a look to the following logs to have a complete view of the problem.
    Could you suggest a solution for this problem?
    Additionally, a very important question is:
    Is it necessary activate IS-OIL with  transport in the live system,
    or is it possible activate it manually?
    Thanks for your cooperation,
    Dario Ricci
    File SLOG0847.GP6
    START imp single           GP6        20081118155636              ZRTC4_TM_ADM ensv15xe 20081118155602     
    INFO  TBATG CONVERSION OF  GP6 N      not needed                  ZRTC4_TM_ADM ensv15xe 20081118155602     
    START MOVE NAMETABS        GP6 6      20081118155648              ZRTC4_TM_ADM ensv15xe 20081118155602     
    START tp_getprots          GP6 P      20081118155649              ZRTC4_TM_ADM ensv15xe 20081118155602     
    STOP  tp_getprots          GP6 P      20081118155705              ZRTC4_TM_ADM ensv15xe 20081118155602     
    STOP  MOVE NAMETABS        GP6 6      20081118155705              ZRTC4_TM_ADM ensv15xe 20081118155602     
    START MAIN IMPORT          GP6 I      20081118155705              ZRTC4_TM_ADM ensv15xe 20081118155602     
    STOP  MAIN IMPORT          GP6 I      20081118155728              ZRTC4_TM_ADM ensv15xe 20081118155602     
    INFO  TBATG CREATION OF EN GP6 n      not needed                  ZRTC4_TM_ADM ensv15xe 20081118155602     
    START SET VERSION FLAGS    GP6 V      20081118155730              ZRTC4_TM_ADM ensv15xe 20081118155602     
    START tp_getprots          GP6 V      20081118155730              ZRTC4_TM_ADM ensv15xe 20081118155602     
    STOP  tp_getprots          GP6 V      20081118155741              ZRTC4_TM_ADM ensv15xe 20081118155602     
    STOP  SET VERSION FLAGS    GP6 V      20081118155741              ZRTC4_TM_ADM ensv15xe 20081118155602     
    START GENERATION OF REPORT GP6 G      20081118155741              ZRTC4_TM_ADM ensv15xe 20081118155602     
    START tp_getprots          GP6 G      20081118155742              ZRTC4_TM_ADM ensv15xe 20081118155602     
    STOP  tp_getprots          GP6 G      20081118155752              ZRTC4_TM_ADM ensv15xe 20081118155602     
    STOP  GENERATION OF REPORT GP6 G      20081118155752              ZRTC4_TM_ADM ensv15xe 20081118155602     
    STOP  imp single           GP6   0000 20081118155752              ZRTC4_TM_ADM ensv15xe 20081118155602     
    START imp single           GP6        20081118155954              ZRTC4_TM_ADM ensv15xe 20081118155953     
    INFO  TBATG CONVERSION OF  GP6 N      not needed                  ZRTC4_TM_ADM ensv15xe 20081118155953     
    START MOVE NAMETABS        GP6 6      20081118155954              ZRTC4_TM_ADM ensv15xe 20081118155953     
    START tp_getprots          GP6 P      20081118155954              ZRTC4_TM_ADM ensv15xe 20081118155953     
    STOP  tp_getprots          GP6 P      20081118155958              ZRTC4_TM_ADM ensv15xe 20081118155953     
    STOP  MOVE NAMETABS        GP6 6      20081118155958              ZRTC4_TM_ADM ensv15xe 20081118155953     
    START MAIN IMPORT          GP6 I      20081118155958              ZRTC4_TM_ADM ensv15xe 20081118155953     
    STOP  MAIN IMPORT          GP6 I      20081118160006              ZRTC4_TM_ADM ensv15xe 20081118155953     
    INFO  TBATG CREATION OF EN GP6 n      not needed                  ZRTC4_TM_ADM ensv15xe 20081118155953     
    START SET VERSION FLAGS    GP6 V      20081118160006              ZRTC4_TM_ADM ensv15xe 20081118155953     
    START tp_getprots          GP6 V      20081118160006              ZRTC4_TM_ADM ensv15xe 20081118155953     
    STOP  tp_getprots          GP6 V      20081118160010              ZRTC4_TM_ADM ensv15xe 20081118155953     
    STOP  SET VERSION FLAGS    GP6 V      20081118160010              ZRTC4_TM_ADM ensv15xe 20081118155953     
    STOP  imp single           GP6   0000 20081118160010              ZRTC4_TM_ADM ensv15xe 20081118155953     
    START imp single           GP6        20081118160242              ZRTC4_TM_ADM ensv15xe 20081118160240     
    INFO  TBATG CONVERSION OF  GP6 N      not needed                  ZRTC4_TM_ADM ensv15xe 20081118160240     
    START MOVE NAMETABS        GP6 6      20081118160244              ZRTC4_TM_ADM ensv15xe 20081118160240     
    START tp_getprots          GP6 P      20081118160244              ZRTC4_TM_ADM ensv15xe 20081118160240     
    STOP  tp_getprots          GP6 P      20081118160247              ZRTC4_TM_ADM ensv15xe 20081118160240     
    STOP  MOVE NAMETABS        GP6 6      20081118160247              ZRTC4_TM_ADM ensv15xe 20081118160240     
    START MAIN IMPORT          GP6 I      20081118160247              ZRTC4_TM_ADM ensv15xe 20081118160240     
    STOP  MAIN IMPORT          GP6 I      20081118160252              ZRTC4_TM_ADM ensv15xe 20081118160240     
    INFO  TBATG CREATION OF EN GP6 n      not needed                  ZRTC4_TM_ADM ensv15xe 20081118160240     
    START SET VERSION FLAGS    GP6 V      20081118160253              ZRTC4_TM_ADM ensv15xe 20081118160240     
    START tp_getprots          GP6 V      20081118160253              ZRTC4_TM_ADM ensv15xe 20081118160240     
    STOP  tp_getprots          GP6 V      20081118160256              ZRTC4_TM_ADM ensv15xe 20081118160240     
    STOP  SET VERSION FLAGS    GP6 V      20081118160256              ZRTC4_TM_ADM ensv15xe 20081118160240     
    START EXECUTION OF REPORTS GP6 R      20081118160256              ZRTC4_TM_ADM ensv15xe 20081118160240     
    START tp_getprots          GP6 R      20081118160256              ZRTC4_TM_ADM ensv15xe 20081118160240     
    STOP  tp_getprots          GP6 R      20081118160333              ZRTC4_TM_ADM ensv15xe 20081118160240     
    STOP  EXECUTION OF REPORTS GP6 R      20081118160333              ZRTC4_TM_ADM ensv15xe 20081118160240     
    STOP  imp single           GP6   0000 20081118160333              ZRTC4_TM_ADM ensv15xe 20081118160240     
    START imp single           GP6        20081118160502              ZRTC4_TM_ADM ensv15xe 20081118160458     
    INFO  TBATG CONVERSION OF  GP6 N      not needed                  ZRTC4_TM_ADM ensv15xe 20081118160458     
    START MOVE NAMETABS        GP6 6      20081118160503              ZRTC4_TM_ADM ensv15xe 20081118160458     
    START tp_getprots          GP6 P      20081118160503              ZRTC4_TM_ADM ensv15xe 20081118160458     
    STOP  tp_getprots          GP6 P      20081118160519              ZRTC4_TM_ADM ensv15xe 20081118160458     
    STOP  MOVE NAMETABS        GP6 6      20081118160519              ZRTC4_TM_ADM ensv15xe 20081118160458     
    START MAIN IMPORT          GP6 I      20081118160519              ZRTC4_TM_ADM ensv15xe 20081118160458     
    STOP  MAIN IMPORT          GP6 I      20081118160551              ZRTC4_TM_ADM ensv15xe 20081118160458     
    INFO  TBATG CREATION OF EN GP6 n      not needed                  ZRTC4_TM_ADM ensv15xe 20081118160458     
    START SET VERSION FLAGS    GP6 V      20081118160552              ZRTC4_TM_ADM ensv15xe 20081118160458     
    START tp_getprots          GP6 V      20081118160552              ZRTC4_TM_ADM ensv15xe 20081118160458     
    STOP  tp_getprots          GP6 V      20081118160604              ZRTC4_TM_ADM ensv15xe 20081118160458     
    STOP  SET VERSION FLAGS    GP6 V      20081118160604              ZRTC4_TM_ADM ensv15xe 20081118160458     
    START EXECUTION OF REPORTS GP6 R      20081118160605              ZRTC4_TM_ADM ensv15xe 20081118160458     
    START tp_getprots          GP6 R      20081118160605              ZRTC4_TM_ADM ensv15xe 20081118160458     
    STOP  tp_getprots          GP6 R      20081118160628              ZRTC4_TM_ADM ensv15xe 20081118160458     
    STOP  EXECUTION OF REPORTS GP6 R      20081118160628              ZRTC4_TM_ADM ensv15xe 20081118160458     
    STOP  imp single           GP6   0000 20081118160628              ZRTC4_TM_ADM ensv15xe 20081118160458     
    START imp single           GP6        20081118160804              ZRTC4_TM_ADM ensv15xe 20081118160804     
    INFO  TBATG CONVERSION OF  GP6 N      not needed                  ZRTC4_TM_ADM ensv15xe 20081118160804     
    START MOVE NAMETABS        GP6 6      20081118160805              ZRTC4_TM_ADM ensv15xe 20081118160804     
    START tp_getprots          GP6 P      20081118160805              ZRTC4_TM_ADM ensv15xe 20081118160804     
    STOP  tp_getprots          GP6 P      20081118160808              ZRTC4_TM_ADM ensv15xe 20081118160804     
    STOP  MOVE NAMETABS        GP6 6      20081118160808              ZRTC4_TM_ADM ensv15xe 20081118160804     
    START MAIN IMPORT          GP6 I      20081118160808              ZRTC4_TM_ADM ensv15xe 20081118160804     
    STOP  MAIN IMPORT          GP6 I      20081118160810              ZRTC4_TM_ADM ensv15xe 20081118160804     
    INFO  TBATG CREATION OF EN GP6 n      not needed                  ZRTC4_TM_ADM ensv15xe 20081118160804     
    START SET VERSION FLAGS    GP6 V      20081118160810              ZRTC4_TM_ADM ensv15xe 20081118160804     
    START tp_getprots          GP6 V      20081118160810              ZRTC4_TM_ADM ensv15xe 20081118160804     
    STOP  tp_getprots          GP6 V      20081118160813              ZRTC4_TM_ADM ensv15xe 20081118160804     
    STOP  SET VERSION FLAGS    GP6 V      20081118160813              ZRTC4_TM_ADM ensv15xe 20081118160804     
    START EXECUTION OF REPORTS GP6 R      20081118160813              ZRTC4_TM_ADM ensv15xe 20081118160804     
    START tp_getprots          GP6 R      20081118160813              ZRTC4_TM_ADM ensv15xe 20081118160804     
    STOP  tp_getprots          GP6 R      20081118160814              ZRTC4_TM_ADM ensv15xe 20081118160804     
    STOP  EXECUTION OF REPORTS GP6 R      20081118160814              ZRTC4_TM_ADM ensv15xe 20081118160804     
    STOP  imp single           GP6   0000 20081118160814              ZRTC4_TM_ADM ensv15xe 20081118160804     
    START imp single           GP6        20081118160940              ZRTC4_TM_ADM ensv15xe 20081118160940     
    START DD IMPORT            GP6 H      20081118160940              ZRTC4_TM_ADM ensv15xe 20081118160940     
    STOP  DD IMPORT            GP6 H      20081118160947              ZRTC4_TM_ADM ensv15xe 20081118160940     
    START DD ACTIVATION        GP6 A      20081118160947              ZRTC4_TM_ADM ensv15xe 20081118160940     
    START tp_getprots          GP6 J      20081118160947              ZRTC4_TM_ADM ensv15xe 20081118160940     
    STOP  tp_getprots          GP6 J      20081118161103              ZRTC4_TM_ADM ensv15xe 20081118160940     
    STOP  DD ACTIVATION        GP6 A      20081118161104              ZRTC4_TM_ADM ensv15xe 20081118160940     
    START DISTRIBUTION OF DD-O GP6 S      20081118161104              ZRTC4_TM_ADM ensv15xe 20081118160940     
    START tp_getprots          GP6 S      20081118161104              ZRTC4_TM_ADM ensv15xe 20081118160940     
    STOP  tp_getprots          GP6 S      20081118161107              ZRTC4_TM_ADM ensv15xe 20081118160940     
    STOP  DISTRIBUTION OF DD-O GP6 S      20081118161107              ZRTC4_TM_ADM ensv15xe 20081118160940     
    INFO  TBATG CONVERSION OF  GP6 N      not needed                  ZRTC4_TM_ADM ensv15xe 20081118160940     
    START MOVE NAMETABS        GP6 6      20081118161107              ZRTC4_TM_ADM ensv15xe 20081118160940     
    START tp_getprots          GP6 P      20081118161107              ZRTC4_TM_ADM ensv15xe 20081118160940     
    STOP  tp_getprots          GP6 P      20081118161113              ZRTC4_TM_ADM ensv15xe 20081118160940     
    STOP  MOVE NAMETABS        GP6 6      20081118161113              ZRTC4_TM_ADM ensv15xe 20081118160940     
    START MAIN IMPORT          GP6 I      20081118161113              ZRTC4_TM_ADM ensv15xe 20081118160940     
    STOP  MAIN IMPORT          GP6 I      20081118161115              ZRTC4_TM_ADM ensv15xe 20081118160940     
    INFO  TBATG CREATION OF EN GP6 n      not needed                  ZRTC4_TM_ADM ensv15xe 20081118160940     
    START SET VERSION FLAGS    GP6 V      20081118161115              ZRTC4_TM_ADM ensv15xe 20081118160940     
    START tp_getprots          GP6 V      20081118161115              ZRTC4_TM_ADM ensv15xe 20081118160940     
    STOP  tp_getprots          GP6 V      20081118161116              ZRTC4_TM_ADM ensv15xe 20081118160940     
    STOP  SET VERSION FLAGS    GP6 V      20081118161116              ZRTC4_TM_ADM ensv15xe 20081118160940     
    STOP  imp single           GP6   0000 20081118161117              ZRTC4_TM_ADM ensv15xe 20081118160940     
    START imp single           GP6        20081118161224              ZRTC4_TM_ADM ensv15xe 20081118161224     
    INFO  TBATG CONVERSION OF  GP6 N      not needed                  ZRTC4_TM_ADM ensv15xe 20081118161224     
    START MOVE NAMETABS        GP6 6      20081118161224              ZRTC4_TM_ADM ensv15xe 20081118161224     
    START tp_getprots          GP6 P      20081118161225              ZRTC4_TM_ADM ensv15xe 20081118161224     
    STOP  tp_getprots          GP6 P      20081118161226              ZRTC4_TM_ADM ensv15xe 20081118161224     
    STOP  MOVE NAMETABS        GP6 6      20081118161226              ZRTC4_TM_ADM ensv15xe 20081118161224     
    START MAIN IMPORT          GP6 I      20081118161226              ZRTC4_TM_ADM ensv15xe 20081118161224     
    STOP  MAIN IMPORT          GP6 I      20081118161239              ZRTC4_TM_ADM ensv15xe 20081118161224     
    INFO  TBATG CREATION OF EN GP6 n      not needed                  ZRTC4_TM_ADM ensv15xe 20081118161224     
    START SET VERSION FLAGS    GP6 V      20081118161240              ZRTC4_TM_ADM ensv15xe 20081118161224     
    START tp_getprots          GP6 V      20081118161240              ZRTC4_TM_ADM ensv15xe 20081118161224     
    STOP  tp_getprots          GP6 V      20081118161241              ZRTC4_TM_ADM ensv15xe 20081118161224     
    STOP  SET VERSION FLAGS    GP6 V      20081118161241              ZRTC4_TM_ADM ensv15xe 20081118161224     
    START EXECUTION OF REPORTS GP6 R      20081118161241              ZRTC4_TM_ADM ensv15xe 20081118161224     
    START tp_getprots          GP6 R      20081118161241              ZRTC4_TM_ADM ensv15xe 20081118161224     
    STOP  tp_getprots          GP6 R      20081118161318              ZRTC4_TM_ADM ensv15xe 20081118161224     
    STOP  EXECUTION OF REPORTS GP6 R      20081118161318              ZRTC4_TM_ADM ensv15xe 20081118161224     
    STOP  imp single           GP6   0000 20081118161318              ZRTC4_TM_ADM ensv15xe 20081118161224     
    START imp single           GP6        20081118174057              ZRTC4_TM_ADM ensv15xe 20081118174057     
    INFO  TBATG CONVERSION OF  GP6 N      not needed                  ZRTC4_TM_ADM ensv15xe 20081118174057     
    START MOVE NAMETABS        GP6 6      20081118174057              ZRTC4_TM_ADM ensv15xe 20081118174057     
    START tp_getprots          GP6 P      20081118174057              ZRTC4_TM_ADM ensv15xe 20081118174057     
    STOP  tp_getprots          GP6 P      20081118174058              ZRTC4_TM_ADM ensv15xe 20081118174057     
    STOP  MOVE NAMETABS        GP6 6      20081118174058              ZRTC4_TM_ADM ensv15xe 20081118174057     
    START MAIN IMPORT          GP6 I      20081118174059              ZRTC4_TM_ADM ensv15xe 20081118174057     
    STOP  MAIN IMPORT          GP6 I      20081118174100              ZRTC4_TM_ADM ensv15xe 20081118174057     
    INFO  TBATG CREATION OF EN GP6 n      not needed                  ZRTC4_TM_ADM ensv15xe 20081118174057     
    START SET VERSION FLAGS    GP6 V      20081118174100              ZRTC4_TM_ADM ensv15xe 20081118174057     
    START tp_getprots          GP6 V      20081118174100              ZRTC4_TM_ADM ensv15xe 20081118174057     
    STOP  tp_getprots          GP6 V      20081118174101              ZRTC4_TM_ADM ensv15xe 20081118174057     
    STOP  SET VERSION FLAGS    GP6 V      20081118174101              ZRTC4_TM_ADM ensv15xe 20081118174057     
    STOP  imp single           GP6   0000 20081118174101              ZRTC4_TM_ADM ensv15xe 20081118174057     
    START imp single           GP6        20081118174102              ZRTC4_TM_ADM ensv15xe 20081118174102     
    INFO  TBATG CONVERSION OF  GP6 N      not needed                  ZRTC4_TM_ADM ensv15xe 20081118174102     
    START MOVE NAMETABS        GP6 6      20081118174102              ZRTC4_TM_ADM ensv15xe 20081118174102     
    START tp_getprots          GP6 P      20081118174102              ZRTC4_TM_ADM ensv15xe 20081118174102     
    STOP  tp_getprots          GP6 P      20081118174103              ZRTC4_TM_ADM ensv15xe 20081118174102     
    STOP  MOVE NAMETABS        GP6 6      20081118174103              ZRTC4_TM_ADM ensv15xe 20081118174102     
    START MAIN IMPORT          GP6 I      20081118174103              ZRTC4_TM_ADM ensv15xe 20081118174102     
    STOP  MAIN IMPORT          GP6 I      20081118174104              ZRTC4_TM_ADM ensv15xe 20081118174102     
    INFO  TBATG CREATION OF EN GP6 n      not needed                  ZRTC4_TM_ADM ensv15xe 20081118174102     
    START SET VERSION FLAGS    GP6 V      20081118174104              ZRTC4_TM_ADM ensv15xe 20081118174102     
    START tp_getprots          GP6 V      20081118174104              ZRTC4_TM_ADM ensv15xe 20081118174102     
    STOP  tp_getprots          GP6 V      20081118174106              ZRTC4_TM_ADM ensv15xe 20081118174102     
    STOP  SET VERSION FLAGS    GP6 V      20081118174106              ZRTC4_TM_ADM ensv15xe 20081118174102     
    START EXECUTION OF REPORTS GP6 R      20081118174106              ZRTC4_TM_ADM ensv15xe 20081118174102     
    START tp_getprots          GP6 R      20081118174106              ZRTC4_TM_ADM ensv15xe 20081118174102     
    STOP  tp_getprots          GP6 R      20081118174109              ZRTC4_TM_ADM ensv15xe 20081118174102     
    STOP  EXECUTION OF REPORTS GP6 R      20081118174109              ZRTC4_TM_ADM ensv15xe 20081118174102     
    STOP  imp single           GP6   0000 20081118174109              ZRTC4_TM_ADM ensv15xe 20081118174102     
    START imp single           GP6        20081120123017              gp6adm       ensv15xe 200811201230160076ef
    START DD IMPORT            GP6 H      20081120123017              gp6adm       ensv15xe 200811201230160076ef
    STOP  DD IMPORT            GP6 H      20081120123019              gp6adm       ensv15xe 200811201230160076ef
    START DD ACTIVATION        GP6 A      20081120123019              gp6adm       ensv15xe 200811201230160076ef
    START tp_getprots          GP6 J      20081120123019              gp6adm       ensv15xe 200811201230160076ef
    ERROR GD6K902991           GP6 A 0012 20081120124325 SUPTECENI    gp6adm       ensv15xe 200811201230160076ef
    STOP  tp_getprots          GP6 J      20081120124335              gp6adm       ensv15xe 200811201230160076ef
    STOP  DD ACTIVATION        GP6 A      20081120124335              gp6adm       ensv15xe 200811201230160076ef
    ERROR: stopping on error 12 during DD ACTIVATION
    STOP  imp single           GP6   0012 20081120124335              gp6adm       ensv15xe 200811201230160076ef
    START imp single           GP6        20081120132937              gp6adm       ensv15xe 2008112013293600060e
    START DD IMPORT            GP6 H      20081120132937              gp6adm       ensv15xe 2008112013293600060e
    STOP  DD IMPORT            GP6 H      20081120132939              gp6adm       ensv15xe 2008112013293600060e
    START DD ACTIVATION        GP6 A      20081120132939              gp6adm       ensv15xe 2008112013293600060e
    START tp_getprots          GP6 J      20081120132939              gp6adm       ensv15xe 2008112013293600060e
    STOP  tp_getprots          GP6 J      20081120132942              gp6adm       ensv15xe 2008112013293600060e
    STOP  DD ACTIVATION        GP6 A      20081120132942              gp6adm       ensv15xe 2008112013293600060e
    START DISTRIBUTION OF DD-O GP6 S      20081120132943              gp6adm       ensv15xe 2008112013293600060e
    START tp_getprots          GP6 S      20081120132943              gp6adm       ensv15xe 2008112013293600060e
    STOP  tp_getprots          GP6 S      20081120133028              gp6adm       ensv15xe 2008112013293600060e
    STOP  DISTRIBUTION OF DD-O GP6 S      20081120133028              gp6adm       ensv15xe 2008112013293600060e
    START TBATG CONVERSION OF  GP6 N      20081120133028              gp6adm       ensv15xe 2008112013293600060e
    START tp_getprots          GP6 N      20081120133028              gp6adm       ensv15xe 2008112013293600060e
    STOP  tp_getprots          GP6 N      20081120133031              gp6adm       ensv15xe 2008112013293600060e
    STOP  TBATG CONVERSION OF  GP6 N      20081120133031              gp6adm       ensv15xe 2008112013293600060e
    START MOVE NAMETABS        GP6 6      20081120133031              gp6adm       ensv15xe 2008112013293600060e
    START tp_getprots          GP6 P      20081120133031              gp6adm       ensv15xe 2008112013293600060e
    ERROR ALL                  GP6 6 0012 20081120134632              gp6adm       ensv15xe 2008112013293600060e
    STOP  tp_getprots          GP6 P      20081120134637              gp6adm       ensv15xe 2008112013293600060e
    STOP  MOVE NAMETABS        GP6 6      20081120134637              gp6adm       ensv15xe 2008112013293600060e
    ERROR: stopping on error 12 during MOVE NAMETABS
    STOP  imp single           GP6   0012 20081120134637              gp6adm       ensv15xe 2008112013293600060e
    START imp single           GP6        20081121160246              ZRTC4_TM_ADM ensv15xe 20081121160245     
    INFO  TBATG CONVERSION OF  GP6 N      not needed                  ZRTC4_TM_ADM ensv15xe 20081121160245     
    START MOVE NAMETABS        GP6 6      20081121160247              ZRTC4_TM_ADM ensv15xe 20081121160245     
    START tp_getprots          GP6 P      20081121160247              ZRTC4_TM_ADM ensv15xe 20081121160245     
    STOP  tp_getprots          GP6 P      20081121160251              ZRTC4_TM_ADM ensv15xe 20081121160245     
    STOP  MOVE NAMETABS        GP6 6      20081121160251              ZRTC4_TM_ADM ensv15xe 20081121160245     
    START MAIN IMPORT          GP6 I      20081121160251              ZRTC4_TM_ADM ensv15xe 20081121160245     
    STOP  MAIN IMPORT          GP6 I      20081121160257              ZRTC4_TM_ADM ensv15xe 20081121160245     
    INFO  TBATG CREATION OF EN GP6 n      not needed                  ZRTC4_TM_ADM ensv15xe 20081121160245     
    START SET VERSION FLAGS    GP6 V      20081121160257              ZRTC4_TM_ADM ensv15xe 20081121160245     
    START tp_getprots          GP6 V      20081121160257              ZRTC4_TM_ADM ensv15xe 20081121160245     
    STOP  tp_getprots          GP6 V      20081121160300              ZRTC4_TM_ADM ensv15xe 20081121160245     
    STOP  SET VERSION FLAGS    GP6 V      20081121160300              ZRTC4_TM_ADM ensv15xe 20081121160245     
    START EXECUTION OF REPORTS GP6 R      20081121160301              ZRTC4_TM_ADM ensv15xe 20081121160245     
    START tp_getprots          GP6 R      20081121160301              ZRTC4_TM_ADM ensv15xe 20081121160245     
    STOP  tp_getprots          GP6 R      20081121160311              ZRTC4_TM_ADM ensv15xe 20081121160245     
    STOP  EXECUTION OF REPORTS GP6 R      20081121160311              ZRTC4_TM_ADM ensv15xe 20081121160245     
    STOP  imp single           GP6   0000 20081121160311              ZRTC4_TM_ADM ensv15xe 20081121160245     
    excerpt of File P081120.GP6
    1 ETP199X######################################
    1 ETP172 MOVE OF NAMETABS
    1 ETP101 transport order     : "ALL"
    1 ETP102 system              : "GP6"
    1 ETP108 tp path             : "tp"
    1 ETP109 version and release : "372.04.29" "700"
    1 ETP198
    3 ETP399XMove Nametabs started in batch mode.
    2 ETP399   processing modeflag 'A'
    3 ETP301 -
    3 ETP399 Didb-lib Version : 1.3
    3 ETP399 
    3 ETP399  OPTIONS:
    3 ETP399 
    3 ETP399  PRINT ONLY                     = no
    3 ETP399  iNT-TIMESTAMP RESET            = no
    3 ETP399  DELETE iNT                     = yes
    3 ETP399  DELETE iNT FIELDS              = yes
    3 ETP399  ACTIVATE iNT                   = yes
    3 ETP399  TOLERATE UNCRITICAL STMTs      = no
    3 ETP399  COMPARE TIMESTAMPs IN MV40-Op. = yes
    3 ETP399  SUPPRESS COMMITs               = no
    3 ETP399  CALL EXTERNAL NT_SYNC          = no
    3 ETP399  DONT TOUCH dep. LOADS          = no
    3 ETP399  RESET FLAG DBTABPOS            = no
    3 ETP399  protocol output to file      = yes, /usr/sap/trans/tmp/P081120.GP6
    3 ETP301 -
    3 ETP399  PARAMETERS:
    3 ETP399 
    3 ETP399  '
    2 ETP301 -
    2 ETP364 Begin: Act. of Shadow-Nametabs ("2008/11/20 13:30:32")
    2 ETP301 -
    2 ETP301 -
    2 ETP338XActivation of Shadownametabs
    2 ETP301 -
    3 ETP379Xactivating Nametab "/BEV1/SR_S_VBAP_OUTPUT":
    2 ETP399   >> Name of inactive nametab to read  : DDXTT
    2 ETP399   >> Format of inactive nametab to read: 5.0
    3 ETP380 succeeded
    3 ETP379Xactivating Nametab "/BEV1/SR_T_VBAP":
    3 ETP380 succeeded
    3 ETP379Xactivating Nametab "/BEV1/TSRV43AAS":
    3 ETP380 succeeded
    3 ETP379Xactivating Nametab "/BEV3/CHBDKR":
    3 ETP380 succeeded
    3 ETP379Xactivating Nametab "/BEV3/CHBPR":
    3 ETP380 succeeded
    3 ETP379Xactivating Nametab "/CWM/ACCIT":
    3 ETP380 succeeded
    3 ETP379Xactivating Nametab "/CWM/ADD_FIELDS_A":
    3 ETP380 succeeded
    3 ETP379Xactivating Nametab "/CWM/AFFW":
    3 ETP380 succeeded
    3 ETP379Xactivating Nametab "/CWM/ALVHD":
    3 ETP380 succeeded
    3 ETP379Xactivating Nametab "/CWM/APPL_SD_ME_READ_HISTORY":
    3 ETP380 succeeded
    3 ETP379Xactivating Nametab "/CWM/ARSEG":
    3 ETP380 succeeded
    3 ETP379Xactivating Nametab "/CWM/AUFM":
    3 ETP380 succeeded
    3 ETP379Xactivating Nametab "/CWM/BBEFU":
    3 ETP380 succeeded
    3 ETP379Xactivating Nametab "/CWM/BEREIT":
    3 ETP380 succeeded
    3 ETP379Xactivating Nametab "/CWM/BEREITADD":
    3 ETP380 succeeded
    etc etc ..
    3 ETP379Xactivating Nametab "EMARA":
    1AETR012XProgram terminated (job: "RDDMNTAB", no.: "13303200")
    1AEPU320 See job log"RDDMNTAB""13303200""GP6"
    3 ETP399XMove Nametabs started in batch mode.
    2 ETP399   processing modeflag 'A'
    2 ETP301 -
    2 ETP364 Begin: Act. of Shadow-Nametabs ("2008/11/20 13:34:58")
    2 ETP301 -
    2 ETP301 -
    2 ETP338XActivation of Shadownametabs
    2 ETP301 -
    3 ETP379Xactivating Nametab "EMARA":
    1AETR012XProgram terminated (job: "RDDMNTAB", no.: "13345800")
    1AEPU320 See job log"RDDMNTAB""13345800""GP6"
    3 ETP399XMove Nametabs started in batch mode.
    2 ETP399   processing modeflag 'A'
    3 ETP301 -
    3 ETP399 Didb-lib Version : 1.3
    3 ETP399 
    3 ETP399  OPTIONS:
    3 ETP399 
    3 ETP399  PRINT ONLY                     = no
    3 ETP399  iNT-TIMESTAMP RESET            = no
    3 ETP399  DELETE iNT                     = yes
    3 ETP399  DELETE iNT FIELDS              = yes
    3 ETP399  ACTIVATE iNT                   = yes
    3 ETP399  TOLERATE UNCRITICAL STMTs      = no
    3 ETP399  COMPARE TIMESTAMPs IN MV40-Op. = yes
    3 ETP399  SUPPRESS COMMITs               = no
    3 ETP399  CALL EXTERNAL NT_SYNC          = no
    3 ETP399  DONT TOUCH dep. LOADS          = no
    3 ETP399  RESET FLAG DBTABPOS            = no
    3 ETP399  protocol output to file      = yes, /usr/sap/trans/tmp/P081120.GP6
    3 ETP301 -
    3 ETP399  PARAMETERS:
    3 ETP399 
    3 ETP399  '
    2 ETP301 -
    2 ETP364 Begin: Act. of Shadow-Nametabs ("2008/11/20 13:36:37")
    2 ETP301 -
    2 ETP301 -
    2 ETP338XActivation of Shadownametabs
    2 ETP301 -
    3 ETP379Xactivating Nametab "EMARA":
    2 ETP399   >> Name of inactive nametab to read  : DDXTT
    2 ETP399   >> Format of inactive nametab to read: 5.0
    3 ETP380 succeeded
    3 ETP379Xactivating Nametab "EMARC":
    3 ETP380 succeeded
    3 ETP379Xactivating Nametab "EMARC3":
    3 ETP380 succeeded
    3 ETP379Xactivating Nametab "EMARM":
    3 ETP380 succeeded
    3 ETP379Xactivating Nametab "EMBEW7":
    3 ETP380 succeeded
    etc etc..
    2 ETP399  -
    DB-COMMIT() -
    3 ETP399 CREATE VIEW "V_OIJTS"
    3 ETP399 ("MANDT",
    3 ETP399 "TSYST",
    3 ETP399 "SPRAS",
    3 ETP399 "VSART_TXT",
    3 ETP399 "VKTRA_TXT",
    3 ETP399 "TSNAM",
    3 ETP399 "BOOKTS",
    3 ETP399 "VSART",
    3 ETP399 "VKTRA",
    3 ETP399 "SHTYPE",
    3 ETP399 "BUSTYP")
    3 ETP399 AS SELECT
    3 ETP399 T1."MANDT",
    3 ETP399 T1."TSYST",
    3 ETP399 T4."SPRAS",
    3 ETP399 T4."BEZEI",
    3 ETP399 T5."BEZEI",
    3 ETP399 T1."TSNAM",
    3 ETP399 T1."BOOKTS",
    3 ETP399 T1."VSART",
    3 ETP399 T1."VKTRA",
    3 ETP399 T1."SHTYPE",
    3 ETP399 T1."BUSTYP"
    3 ETP399 FROM
    3 ETP399 "OIJTS" T1,
    3 ETP399 "T173" T2,
    3 ETP399 "TVTR" T3,
    3 ETP399 "T173T" T4,
    3 ETP399 "TVTRT" T5
    3 ETP399 WHERE
    3 ETP399 T2."MANDT" = T1."MANDT" AND
    3 ETP399 T2."VSART" = T1."VSART" AND
    3 ETP399 T3."MANDT" = T2."MANDT" AND
    3 ETP399 T3."VKTRA" = T2."VKTRA" AND
    3 ETP399 T2."MANDT" = T4."MANDT" AND
    3 ETP399 T2."VSART" = T4."VSART" AND
    3 ETP399 T3."MANDT" = T5."MANDT" AND
    3 ETP399 T3."VKTRA" = T5."VKTRA" AND
    3 ETP399 T5."SPRAS" = T4."SPRAS"
    3 ETP399 
    3 ETP356 executed ( "00:00:00" )
    2 ETP399  -
    DB-COMMIT() -
    3 ETP378 13:46:31: succeeded,  DDL executed
    3 ETP359 "V_OIJTS                       " total time = 00:00:00
    3 ETP379X13:46:31: activating Nametab "V_OIJTSLOC":
    3 ETP355Xstatements:
    3 ETP399 DROP VIEW "V_OIJTSLOC"
    3 ETP399 
    3 ETP356 executed ( "00:00:00" )
    2 ETP399  -
    DB-COMMIT() -
    3 ETP399 CREATE VIEW "V_OIJTSLOC"
    3 ETP399 ("MANDT",
    3 ETP399 "TSYST",
    3 ETP399 "LOCID",
    3 ETP399 "LOCNAM",
    3 ETP399 "BLOIND",
    3 ETP399 "DELIND",
    3 ETP399 "RDACT",
    3 ETP399 "TSNAM")
    3 ETP399 AS SELECT
    3 ETP399 T1."MANDT",
    3 ETP399 T1."TSYST",
    3 ETP399 T1."LOCID",
    3 ETP399 T1."LOCNAM",
    3 ETP399 T2."BLOIND",
    3 ETP399 T2."DELIND",
    3 ETP399 T2."RDACT",
    3 ETP399 T3."TSNAM"
    3 ETP399 FROM
    3 ETP399 "OIJTSLOC" T1,
    3 ETP399 "OIJLOC" T2,
    3 ETP399 "OIJTS" T3
    3 ETP399 WHERE
    3 ETP399 T2."MANDT" = T1."MANDT" AND
    3 ETP399 T2."LOCID" = T1."LOCID" AND
    3 ETP399 T3."MANDT" = T1."MANDT" AND
    3 ETP399 T3."TSYST" = T1."TSYST"
    3 ETP399 
    3 ETP356 executed ( "00:00:00" )
    2 ETP399  -
    DB-COMMIT() -
    3 ETP378 13:46:31: succeeded,  DDL executed
    3 ETP359 "V_OIJTSLOC                    " total time = 00:00:00
    3 ETP379X13:46:31: activating Nametab "V_OIJTSLOCBL":
    3 ETP355Xstatements:
    3 ETP399 DROP VIEW "V_OIJTSLOCBL"
    3 ETP399 
    2WETP354 13:46:31: Warning: Retcode 512: SQL-error "942" in DDL statement for "V_OIJTSLOCBL       
    2WETP354           " - IGNORED
    2WETP399 SQL-error-Text: "ORA-00942: table or view does not exist"
    2 ETP399  -
    DB-COMMIT() -
    3 ETP399 CREATE VIEW "V_OIJTSLOCBL"
    3 ETP399 ("MANDT",
    3 ETP399 "TSYST",
    3 ETP399 "LOCID",
    3 ETP399 "PBLTYP",
    3 ETP399 "PLANIND",
    3 ETP399 "TSNAM",
    3 ETP399 "LOCNAM")
    3 ETP399 AS SELECT
    3 ETP399 T1."MANDT",
    3 ETP399 T1."TSYST",
    3 ETP399 T3."LOCID",
    3 ETP399 T2."PBLTYP",
    3 ETP399 T5."PLANIND",
    3 ETP399 T1."TSNAM",
    3 ETP399 T4."LOCNAM"
    3 ETP399 FROM
    3 ETP399 "OIJTS" T1,
    3 ETP399 "OIFSPBL" T2,
    3 ETP399 "OIJTSLOC" T3,
    3 ETP399 "OIJLOC" T4,
    3 ETP399 "OIFSPBLT" T5
    3 ETP399 WHERE
    3 ETP399 T1."MANDT" = T3."MANDT" AND
    3 ETP399 T1."TSYST" = T3."TSYST" AND
    3 ETP399 T4."MANDT" = T3."MANDT" AND
    3 ETP399 T4."LOCID" = T3."LOCID" AND
    3 ETP399 T4."MANDT" = T2."MANDT" AND
    3 ETP399 T4."PBLNR" = T2."PBLNR" AND
    3 ETP399 T5."MANDT" = T2."MANDT" AND
    3 ETP399 T5."PBLTYP" = T2."PBLTYP"
    3 ETP399 
    3 ETP356 executed ( "00:00:00" )
    2 ETP399  -
    DB-COMMIT() -
    3 ETP378 13:46:31: succeeded,  DDL executed
    3 ETP359 "V_OIJTSLOCBL                  " total time = 00:00:00
    3 ETP379X13:46:31: activating Nametab "V_OIRBPBLMAT":
    3 ETP355Xstatements:
    3 ETP399 DROP VIEW "V_OIRBPBLMAT"
    3 ETP399 
    2WETP354 13:46:31: Warning: Retcode 512: SQL-error "942" in DDL statement for "V_OIRBPBLMAT       
    2WETP354           " - IGNORED
    2WETP399 SQL-error-Text: "ORA-00942: table or view does not exist"
    2 ETP399  -
    DB-COMMIT() -
    3 ETP399 CREATE VIEW "V_OIRBPBLMAT"
    3 ETP399 ("MANDT",
    3 ETP399 "PBLNR",
    3 ETP399 "RNBT",
    3 ETP399 "MATHANDGRP",
    3 ETP399 "SEQNR",
    3 ETP399 "MATNR")
    3 ETP399 AS SELECT
    3 ETP399 T1."MANDT",
    3 ETP399 T1."PBLNR",
    3 ETP399 T1."RNBT",
    3 ETP399 T1."MATHANDGRP",
    3 ETP399 T2."SEQNR",
    3 ETP399 T2."MATNR"
    3 ETP399 FROM
    3 ETP399 "OIRBPBLB" T1,
    3 ETP399 "OIRBMATMET" T2
    3 ETP399 WHERE
    3 ETP399 T1."MANDT" = T2."MANDT" AND
    3 ETP399 T1."PBLNR" = T2."PBLNR" AND
    3 ETP399 T1."RNBT" = T2."RNBT"
    3 ETP399 
    3 ETP356 executed ( "00:00:01" )
    2 ETP399  -
    DB-COMMIT() -
    3 ETP378 13:46:32: succeeded,  DDL executed
    3 ETP359 "V_OIRBPBLMAT                  " total time = 00:00:01
    3 ETP379X13:46:32: activating Nametab "V_VGNVA":
    3 ETP355Xstatements:
    3 ETP399 DROP VIEW "V_VGNVA"
    3 ETP399 
    2WETP354 13:46:32: Warning: Retcode 512: SQL-error "942" in DDL statement for "V_VGNVA            
    2WETP354           " - IGNORED
    2WETP399 SQL-error-Text: "ORA-00942: table or view does not exist"
    2 ETP399  -
    DB-COMMIT() -
    3 ETP399 CREATE VIEW "V_VGNVA"
    3 ETP399 ("MANDT",
    3 ETP399 "VSNMR",
    3 ETP399 "VSKAT",
    3 ETP399 "VSINACT",
    3 ETP399 "EXT_AUFNR",
    3 ETP399 "AUTYP",
    3 ETP399 "VORNR",
    3 ETP399 "LTXA1")
    3 ETP399 AS SELECT
    3 ETP399 T1."MANDT",
    3 ETP399 T1."VSNMR",
    3 ETP399 T6."VSKAT",
    3 ETP399 T6."VSINACT",
    3 ETP399 T1."EXT_AUFNR",
    3 ETP399 T1."AUTYP",
    3 ETP399 T3."VORNR",
    3 ETP399 T3."LTXA1"
    3 ETP399 FROM
    3 ETP399 "VSAUFK_CN" T1,
    3 ETP399 "VSAFKO_CN" T2,
    3 ETP399 "VSAFVC_CN" T3,
    3 ETP399 "VSPRPS_CN" T4,
    3 ETP399 "VSPROJ_CN" T5,
    3 ETP399 "VSKOPF" T6
    3 ETP399 WHERE
    3 ETP399 T1."MANDT" = T2."MANDT" AND
    3 ETP399 T1."MANDT" = T3."MANDT" AND
    3 ETP399 T1."MANDT" = T4."MANDT" AND
    3 ETP399 T1."MANDT" = T5."MANDT" AND
    3 ETP399 T1."MANDT" = T6."MANDT" AND
    3 ETP399 T1."VSNMR" = T2."VSNMR" AND
    3 ETP399 T1."VSNMR" = T3."VSNMR" AND
    3 ETP399 T1."VSNMR" = T4."VSNMR" AND
    3 ETP399 T1."VSNMR" = T5."VSNMR" AND
    3 ETP399 T1."VSNMR" = T6."VSNMR" AND
    3 ETP399 T2."AUFNR" = T1."AUFNR" AND
    3 ETP399 T3."AUFPL" = T2."AUFPL" AND
    3 ETP399 T1."PSPEL" = T4."PSPNR" AND
    3 ETP399 T5."PSPNR" = T4."PSPHI" AND
    3 ETP399 T6."OBJNR_PD" = T5."OBJNR"
    3 ETP399 AND
    3 ETP399 T3."INACT"
    3 ETP399 = ' '
    3 ETP399 
    3 ETP356 executed ( "00:00:00" )
    2 ETP399  -
    DB-COMMIT() -
    3 ETP378 13:46:32: succeeded,  DDL executed
    3 ETP359 "V_VGNVA                       " total time = 00:00:00
    3 ETP379X13:46:32: activating Nametab "V_VGNWA":
    3 ETP355Xstatements:
    3 ETP399 DROP VIEW "V_VGNWA"
    3 ETP399 
    2WETP354 13:46:32: Warning: Retcode 512: SQL-error "942" in DDL statement for "V_VGNWA            
    2WETP354           " - IGNORED
    2WETP399 SQL-error-Text: "ORA-00942: table or view does not exist"
    2 ETP399  -
    DB-COMMIT() -
    3 ETP399 CREATE VIEW "V_VGNWA"
    3 ETP399 ("MANDT",
    3 ETP399 "VSNMR",
    3 ETP399 "AUFNR",
    3 ETP399 "AUTYP",
    3 ETP399 "VORNR",
    3 ETP399 "LTXA1")
    3 ETP399 AS SELECT
    3 ETP399 T1."MANDT",
    3 ETP399 T1."VSNMR",
    3 ETP399 T1."EXT_AUFNR",
    3 ETP399 T1."AUTYP",
    3 ETP399 T3."VORNR",
    3 ETP399 T3."LTXA1"
    3 ETP399 FROM
    3 ETP399 "VSAUFK_CN" T1,
    3 ETP399 "VSAFKO_CN" T2,
    3 ETP399 "VSAFVC_CN" T3
    3 ETP399 WHERE
    3 ETP399 T1."MANDT" = T2."MANDT" AND
    3 ETP399 T1."MANDT" = T3."MANDT" AND
    3 ETP399 T1."VSNMR" = T2."VSNMR" AND
    3 ETP399 T1."VSNMR" = T3."VSNMR" AND
    3 ETP399 T2."AUFNR" = T1."AUFNR" AND
    3 ETP399 T3."AUFPL" = T2."AUFPL"
    3 ETP399 
    3 ETP356 executed ( "00:00:00" )
    2 ETP399  -
    DB-COMMIT() -
    3 ETP378 13:46:32: succeeded,  DDL executed
    3 ETP359 "V_VGNWA                       " total time = 00:00:00
    3 ETP379X13:46:32: activating Nametab "V_VSAFVC_ORG":
    3 ETP355Xstatements:
    3 ETP399 DROP VIEW "V_VSAFVC_ORG"
    3 ETP399 
    2WETP354 13:46:32: Warning: Retcode 512: SQL-error "942" in DDL statement for "V_VSAFVC_ORG       
    2WETP354           " - IGNORED
    2WETP399 SQL-error-Text: "ORA-00942: table or view does not exist"
    2 ETP399  -
    DB-COMMIT() -
    3 ETP399 CREATE VIEW "V_VSAFVC_ORG"
    3 ETP399 ("MANDT",
    3 ETP399 "VSNMR",
    3 ETP399 "AUFPL",
    3 ETP399 "APLZL",
    3 ETP399 "ORGAUFPL",
    3 ETP399 "ORGAPLZL",
    3 ETP399 "INACT")
    3 ETP399 AS SELECT
    3 ETP399 T1."MANDT",
    3 ETP399 T1."VSNMR",
    3 ETP399 T1."AUFPL",
    3 ETP399 T1."APLZL",
    3 ETP399 T1."ORGAUFPL",
    3 ETP399 T1."ORGAPLZL",
    3 ETP399 T1."INACT"
    3 ETP399 FROM
    3 ETP399 "VSAFVC_CN" T1
    3 ETP399 
    3 ETP356 executed ( "00:00:00" )
    2 ETP399  -
    DB-COMMIT() -
    3 ETP378 13:46:32: succeeded,  DDL executed
    3 ETP359 "V_VSAFVC_ORG                  " total time = 00:00:00
    2 ETP301 -
    3 ETP361 "90" Shadow-Nametabs activated, DDL executed
    3 ETP362 "0" Shadow-Nametab activations failed
    2 ETP360 Begin: Act. of Shadow-Nametabs with DDL ("2008/11/20 13:46:25")
    2 ETP363 End  : Act. of Shadow-Nametabs with DDL ("2008/11/20 13:46:32")
    2 ETP301 -
    1 ETP172 MOVE OF NAMETABS
    1 ETP110 end date and time   : "20081120134632"
    1 ETP111 exit code           : "12"
    1 ETP199 ######################################
    Excerpt of file GD6A902991.GP6 (I don't know how it can be useful..)
    3 DMC728 Der View muß auf der Datenbank gelöscht und neu angelegt werden
    3 DDO525XAktiviere abhängigen View "V_OIJRDSEL2"
    3 DMC728 Der View muß auf der Datenbank gelöscht und neu angelegt werden
    3 DDO525XAktiviere abhängigen View "V_OIJTS"
    1 DDH202 Prüfe abhängige Suchhilfe "OIJ_TSYST"
    1 DDH103 Suchhilfe "OIJ_TSYST" ist konsistent
    3 DMC763 Schlüsselfeld "TVTRT"-"VKTRA" fehlt
    2WDMC732 Alle Felder werden als Schlüsselfeld gewertet
    3 DMC728 Der View muß auf der Datenbank gelöscht und neu angelegt werden
    3 DDO526 View wurde mit Warnungen aktiviert"V_OIJTS"
    3 DDO525XAktiviere abhängigen View "V_OIJTSLOC"
    1 DDH202 Prüfe abhängige Suchhilfe "OIJLOCID"
    etc etc..
    3 DDT402 Append-Struktur "/CWM/WUEB" an Tabelle "WUEB" angefügt
    2WDDT191 Erweiterungskat. "3" möglich, aber Include oder Subtyp ist noch unklassif.
    3 DDT038 Aktivierung abhängige Tabelle "WUEB" erfolgreich
    3 DDT014XAktiviere abhängige Tabelle "ZCXCB"
    3 DDT402 Append-Struktur "OILZCXCB" an Tabelle "ZCXCB" angefügt
    2WDDT192 Erweiterungskategorie für die Tabelle fehlt
    2WDDT193 Erweiterungskategorie für Include oder Subtyp fehlt
    3 DDT059 Abhängige Tabelle "ZCXCB" wurde mit Warnungen aktiviert
    3 DDO525XAktiviere abhängigen View "M_OIJAA"
    1 DDH202 Prüfe abhängige Suchhilfe "OIJAA"
    1 DDH103 Suchhilfe "OIJAA" ist konsistent
    3 DMC728 Der View muß auf der Datenbank gelöscht und neu angelegt werden
    3 DDO525XAktiviere abhängigen View "M_OIJAB"
    1 DDH202 Prüfe abhängige Suchhilfe "OIJAB"
    1 DDH103 Suchhilfe "OIJAB" ist konsistent
    3 DMC728 Der View muß auf der Datenbank gelöscht und neu angelegt werden
    3 DDO525XAktiviere abhängigen View "M_OIJAC"
    1 DDH202 Prüfe abhängige Suchhilfe "OIJAC"
    1 DDH103 Suchhilfe "OIJAC" ist konsistent
    3 DMC728 Der View muß auf der Datenbank gelöscht und neu angelegt werden
    3 DDO525XAktiviere abhängigen View "V_OIJRDSEL"
    2WDMC506 Inkonsistenz beim Referenzfeld zu "V_OIJRDSEL"-"TMAXLOT"
    2WDMC506 Inkonsistenz beim Referenzfeld zu "V_OIJRDSEL"-"TMINLOT"
    2WDMC506 Inkonsistenz beim Referenzfeld zu "V_OIJRDSEL"-"TINCLOT"
    2WDMC506 Inkonsistenz beim Referenzfeld zu "V_OIJRDSEL"-"TMAXINV"
    2WDMC506 Inkonsistenz beim Referenzfeld zu "V_OIJRDSEL"-"TTARGET"
    etc etc..
    3 DDT014XAktiviere abhängige Tabelle "LEDSPD_ATOM_QUANTS"
    3 DDT402 Append-Struktur "/CWM/LEDSPD_ATOM_QUANTS" an Tabelle "LEDSPD_ATOM_QUANTS" angefügt
    2WDDT192 Erweiterungskategorie für die Tabelle fehlt
    2WDDT193 Erweiterungskategorie für Include oder Subtyp fehlt
    3 DDT059 Abhängige Tabelle "LEDSPD_ATOM_QUANTS" wurde mit Warnungen aktiviert
    3 DDT014XAktiviere abhängige Tabelle "LEDSPD_LIST_ITEM"
    3 DDT402 Append-Struktur "/CWM/LEDSPD_LIST_ITEM" an Tabelle "LEDSPD_LIST_ITEM" angefügt
    2

    Hi, Please go and download the log in ST22 in the time of the transporting these object and post here if you have any.
    Jey

  • XML document structures must start and end within the same entity

    Hi there,
    I'm working with a client/server application and using SaxParser for reading in xml. I get the SaxParserException: XML document structures must start and end within the same entity. I understand what that means, but it isn't applicable! The xml data being used is well-formed. I checked the well-formedness with Stylus Studio to make sure. Here's the data:
    <?xml version='1.0' encoding='UTF-8'?>
    <vcmessage>
         <vcsource>3</vcsource>
         <processevent>16</processevent>
         <shape>
              <llindex>0</llindex>
              <shapetype>9</shapetype>
              <shapeproperties>
                   <shapelocation>
                        <xcoord>54</xcoord>
                        <ycoord>184</ycoord>
                   </shapelocation>
                   <bounds>
                        <width>24</width>
                        <height>24</height>
                   </bounds>
                   <fgcolor>
                        <fgred>0</fgred>
                        <fggreen>0</fggreen>
                        <fgblue>0</fgblue>
                   </fgcolor>
                   <bgcolor>
                        <bgred>255</bgred>
                        <bggreen>255</bggreen>
                        <bgblue>255</bgblue>
                   </bgcolor>
                   <thickness>1</thickness>
                   <isfilled>false</isfilled>
              </shapeproperties>
         </shape>
    </vcmessage>The parser generally stops around the </bgcolor> tag.
    I'm using Eclypse as my IDE. I'm wondering if there's something wrong with it? Or maybe there's something wrong with the class I'm using for reading in the XML? Followng is the class.
    Please advise,
    Alan
    package vcclient;
    import java.io.*;
    import org.xml.sax.*;
    import org.xml.sax.helpers.*;
    import javax.xml.parsers.*;
    public class XMLDocumentReader extends DefaultHandler
      private VCClient client = null;
      private Writer out;
      private String lineEnd =  System.getProperty("line.separator");
      private boolean haveSourceType = false;
      private boolean haveUserName = false;
      private boolean haveMessage = false;
      private boolean haveProcessEvent = false;
      private boolean haveLinkedListIndex = false;
      private boolean haveOpeningShapePropertiesTag = false;
      private boolean haveShapeType = false;
      private boolean haveOpeningShapeLocationTag = false;
      private boolean haveShapeLocation = false;
      private boolean haveOpeningXCoordTag = false;
      private boolean haveOpeningYCoordTag = false;
      private boolean haveOpeningBoundsTag = false;
      private boolean haveBoundsWidth = false;
      private boolean haveBoundsHeight = false;
      private boolean haveOpeningFGColorTag = false;
      private boolean haveOpeningBGColorTag = false;
      private boolean haveOpeningThicknessTag = false;
      private boolean haveOpeningIsFilledTag = false;
      private boolean haveOpeningImageDataTag = false;
      private boolean haveOpeningTextDataTag = false;
      private boolean haveFGRed = false;
      private boolean haveFGGreen = false;
      private boolean haveFGBlue = false;
      private boolean haveBGRed = false;
      private boolean haveBGGreen = false;
      private boolean haveBGBlue = false;
      private boolean haveThickness = false;
      private boolean haveIsFilled = false;
      private boolean haveImageData = false;
      private boolean haveTextData = false;
      private VCMessage vcmessage = null;
      public XMLDocumentReader(VCClient value)
           client = value;
           vcmessage = new VCMessage();
      public VCMessage getVCMessage()
           return vcmessage;
      public boolean haveSourceType()
         return haveSourceType; 
      public boolean ParseXML(InputStream stream)
         boolean success = false;
         // Use the default (non-validating) parser
        SAXParserFactory factory = SAXParserFactory.newInstance();
        try
             // Set up output stream
            out = new OutputStreamWriter(System.out, "UTF-8");
            // Parse the input
            SAXParser saxParser = factory.newSAXParser();
            saxParser.parse( stream, this );
            success = true;
        catch (SAXParseException spe)
            // Error generated by the parser
            System.out.println("\n** Parsing error"
               + ", line " + spe.getLineNumber()
               + ", uri " + spe.getSystemId());
            System.out.println("   " + spe.getMessage() );
            // Unpack the delivered exception to get the exception it contains
            Exception  x = spe;
            if (spe.getException() != null)
                x = spe.getException();
            x.printStackTrace();
            return success;
        catch (SAXException sxe)
             // Error generated by this application
             // (or a parser-initialization error)
             Exception  x = sxe;
             if (sxe.getException() != null)
                 x = sxe.getException();
             x.printStackTrace();
             return success;
        catch (ParserConfigurationException pce)
            // Parser with specified options can't be built
            pce.printStackTrace();
            return success;
        catch (Throwable t)
             t.printStackTrace();
             return success;
        return success;
      public void startDocument()throws SAXException
          emit("<?xml version='1.0' encoding='UTF-8'?>");
          nl();
      public void endDocument()throws SAXException
          try {
              nl();
              out.flush();
          } catch (IOException e) {
              throw new SAXException("I/O error", e);
      public void startElement(String namespaceURI,
                               String lName, // local name
                               String qName, // qualified name
                               Attributes attrs)throws SAXException
          String eName = lName; // element name
          if (eName.equals(""))
             eName = qName; // namespaceAware = false
          emit("<"+eName);
          if (attrs != null) {
              for (int i = 0; i < attrs.getLength(); i++) {
                  String aName = attrs.getLocalName(i); // Attr name
                  if (aName.equals("")) aName = attrs.getQName(i);
                  emit(" ");
                  emit(aName + "=\"" + attrs.getValue(i) + "\"");
          emit(">");
          if(makeStartTag(eName).equals(Constants.OPENING_SHAPEPROPERTIES))
                haveOpeningShapePropertiesTag = true;
          else if(makeStartTag(eName).equals(Constants.OPENING_SHAPELOCATION))
              haveOpeningShapeLocationTag = true;
          else if(makeStartTag(eName).equals(Constants.OPENING_BOUNDS))
                haveOpeningBoundsTag = true;
          else if(makeStartTag(eName).equals(Constants.OPENING_FGCOLOR))
                 haveOpeningFGColorTag = true;
          else if(makeStartTag(eName).equals(Constants.OPENING_BGCOLOR))
              haveOpeningBGColorTag = true;
          else if(makeStartTag(eName).equals(Constants.OPENING_BGGREEN))
               System.out.println("See BGGreen");
          else if(makeStartTag(eName).equals(Constants.OPENING_BGBLUE))
               System.out.println("See BGBlue");
          else if(makeStartTag(eName).equals(Constants.OPENING_THICKNESS))
              haveOpeningThicknessTag = true;
          else if(makeStartTag(eName).equals(Constants.OPENING_ISFILLED))
              haveOpeningIsFilledTag = true;
          else if(makeStartTag(eName).equals(Constants.OPENING_IMAGEDATA))
              haveOpeningImageDataTag = true;
          else if(makeStartTag(eName).equals(Constants.OPENING_TEXTDATA))
              haveOpeningTextDataTag = true;
      public void endElement(String namespaceURI,
                             String sName, // simple name
                             String qName  // qualified name
                            )throws SAXException
           if(sName.equals("") && !qName.equals(""))
              sName = qName;
              emit("</"+sName+">");
           else
              emit("</"+sName+">");
           if(makeEndTag(sName).equals(Constants.CLOSING_SOURCE_TYPE))
              haveSourceType = true;
           else if(makeEndTag(sName).equals(Constants.CLOSING_USER))
              haveUserName = true;
           else if(makeEndTag(sName).equals(Constants.CLOSING_MESSAGE))
              haveMessage = true;
           else if(makeEndTag(sName).equals(Constants.CLOSING_PROCESSEVENT))
               haveProcessEvent = true;
           else if(makeEndTag(sName).equals(Constants.CLOSING_LINKEDLISTINDEX))
               haveLinkedListIndex = true;
           else if(makeEndTag(sName).equals(Constants.CLOSING_SHAPETYPE))
               haveShapeType = true;
           else if(makeEndTag(sName).equals(Constants.CLOSING_SHAPELOCATION))
                haveOpeningShapeLocationTag = false;
           else if(makeEndTag(sName).equals(Constants.CLOSING_WIDTH))
               haveBoundsWidth = true;
           else if(makeEndTag(sName).equals(Constants.CLOSING_HEIGHT))
               haveBoundsHeight = true;
           else if(makeEndTag(sName).equals(Constants.CLOSING_BOUNDS))
                haveOpeningBoundsTag = false;
           else if(makeEndTag(sName).equals(Constants.CLOSING_FGRED))
               haveFGRed = true;
           else if(makeEndTag(sName).equals(Constants.CLOSING_FGGREEN))
               haveFGGreen = true;
           else if(makeEndTag(sName).equals(Constants.CLOSING_FGBLUE))
               haveFGBlue = true;
           else if(makeEndTag(sName).equals(Constants.CLOSING_FGCOLOR))
                haveOpeningFGColorTag = false;
           else if(makeEndTag(sName).equals(Constants.CLOSING_BGRED))
               haveBGRed = true;
           else if(makeEndTag(sName).equals(Constants.CLOSING_BGGREEN))
             haveBGGreen = true;
           else if(makeEndTag(sName).equals(Constants.CLOSING_BGBLUE))
               System.out.println("See closing BGBlue");
               haveBGBlue = true;
           else if(makeEndTag(sName).equals(Constants.CLOSING_BGCOLOR))
                haveOpeningBGColorTag = false;
           else if(makeEndTag(sName).equals(Constants.CLOSING_THICKNESS))
               System.out.println("XMLDocumentReader: Step2");
                haveOpeningThicknessTag = false;
           else if(makeEndTag(sName).equals(Constants.CLOSING_ISFILLED))
               haveOpeningIsFilledTag = false;
           else if(makeEndTag(sName).equals(Constants.CLOSING_IMAGEDATA))
               haveOpeningImageDataTag = false;
           else if(makeEndTag(sName).equals(Constants.CLOSING_TEXTDATA))
               haveOpeningTextDataTag = false;
      private String makeStartTag(String tag_name)
           String start = "<";
           String end = ">";
           return start.concat(tag_name).concat(end);
      private String makeEndTag(String tag_name)
           String start = "</";
           String end = ">";
           return start.concat(tag_name).concat(end);
      public void characters(char buf[], int offset, int len)throws SAXException
           String s = new String(buf, offset, len);
          if(haveSourceType == false)
               if(vcmessage.getSourceType() == null)
                  try
                    if(s.equals(""))return;
                   int sourcetype = Integer.parseInt(s);
                   vcmessage.setSourceType(sourcetype);                            
                  catch(NumberFormatException nfe){}
          else if(vcmessage.getSourceType() == SourceType.CHAT_SOURCE)
            if(vcmessage.getSourceType() == SourceType.CHAT_SOURCE && haveUserName == false)
                 vcmessage.setUserName(s);          
            else if(vcmessage.getSourceType() == SourceType.CHAT_SOURCE && haveMessage == false)
               //When the parser encounters interpreted characters like: & or <,
               //then this method gets invoked more than once for the whole message.
               //Therefore, we need to concatonate each portion of the message.  The
               //following method call automatically concatonates.
               vcmessage.concatMessage(s);                    
          else if(vcmessage.getSourceType() == SourceType.WHITEBOARD_SOURCE)
               if(haveProcessEvent == false)
                 try
                   vcmessage.setProcessEvent(Integer.parseInt(s));
                 catch(NumberFormatException nfe){}
               else if(haveLinkedListIndex == false)
                    try
                       vcmessage.setLinkedListIndex(Integer.parseInt(s));
                     catch(NumberFormatException nfe){}
               else if(haveShapeType == false)
                    try
                       vcmessage.setShapeType(Integer.parseInt(s));
                     catch(NumberFormatException nfe){}
               if(haveOpeningShapePropertiesTag)
                    if(haveOpeningShapeLocationTag)
                         if(haveOpeningXCoordTag)
                              try
                                vcmessage.setXCoordinate(Integer.parseInt(s));
                              catch(NumberFormatException nfe){}
                         else if(haveOpeningYCoordTag)
                              try
                                vcmessage.setYCoordinate(Integer.parseInt(s));
                                //reset all flags for ShapeLocation, X and Y coordinates
                                haveOpeningXCoordTag = false;
                                haveOpeningYCoordTag = false;
                                //haveOpeningShapeLocationTag = false;
                              catch(NumberFormatException nfe){}
                    else if(haveOpeningBoundsTag)
                         if(haveBoundsWidth == false)
                              try
                                vcmessage.setBoundsWidth(Integer.parseInt(s));
                              catch(NumberFormatException nfe){}
                         else if(haveBoundsHeight == false)
                              try
                                vcmessage.setBoundsHeight(Integer.parseInt(s));
                                //reset flag
                                //haveOpeningBoundsTag = false;
                              catch(NumberFormatException nfe){}
                    else if(haveOpeningFGColorTag)
                         if(haveFGRed == false)
                              try
                                vcmessage.setFGRed(Integer.parseInt(s));                           
                              catch(NumberFormatException nfe){}
                         else if(haveFGGreen == false)
                              try
                                vcmessage.setFGGreen(Integer.parseInt(s));                           
                              catch(NumberFormatException nfe){}
                         else if(haveFGBlue == false)
                              try
                                vcmessage.setFGBlue(Integer.parseInt(s));
                                //reset flag
                                //haveOpeningFGColorTag = false;
                              catch(NumberFormatException nfe){}
                    else if(haveOpeningBGColorTag)
                         if(haveBGRed == false)
                              try
                                vcmessage.setBGRed(Integer.parseInt(s));                           
                              catch(NumberFormatException nfe){}
                         else if(haveBGGreen == false)
                              try
                                vcmessage.setBGGreen(Integer.parseInt(s));                           
                              catch(NumberFormatException nfe){}
                         else if(haveBGBlue == false)
                         {   System.out.println("getting BGBlue data");
                              try
                                vcmessage.setBGBlue(Integer.parseInt(s));
                                //reset flag
                                //haveOpeningBGColorTag = false;
                              catch(NumberFormatException nfe){}
                    else if(haveOpeningThicknessTag)
                         try
                            vcmessage.setThickness(Integer.parseInt(s));                       
                          catch(NumberFormatException nfe){}
                    else if(haveOpeningIsFilledTag)
                         vcmessage.setIsFilled(s);
                    else if(haveOpeningImageDataTag && vcmessage.getProcessEvent() == org.jcanvas.comm.ProcessEvent.MODIFY)
                         vcmessage.setBase64ImageData(s);                    
                    else if(haveOpeningTextDataTag && vcmessage.getProcessEvent() == org.jcanvas.comm.ProcessEvent.MODIFY)
                         vcmessage.setTextData(s);
                    //reset
                    haveOpeningShapePropertiesTag = false;
          emit(s);
      //===========================================================
      // Utility Methods ...
      //===========================================================
      // Wrap I/O exceptions in SAX exceptions, to
      // suit handler signature requirements
      private void emit(String s)throws SAXException
          try {
              out.write(s);
              out.flush();
          } catch (IOException e) {
              throw new SAXException("I/O error", e);
      // Start a new line
      private void nl()throws SAXException
          try {
              out.write(lineEnd);
          } catch (IOException e) {
              throw new SAXException("I/O error", e);
      //treat validation errors as fatal
      public void error(SAXParseException e)
      throws SAXParseException
        throw e;
      // dump warnings too
      public void warning(SAXParseException err)
      throws SAXParseException
        System.out.println("** Warning"
            + ", line " + err.getLineNumber()
            + ", uri " + err.getSystemId());
        System.out.println("   " + err.getMessage());
    }

    Just out of curiosity what happens if you append a space to the end of the XML document?

  • Regading getting data to and forth between 2 programs through SUBMIT

    Hi All,
    I have a issue regarding fetching internal table data from one program to another.
    Actually I have <b>Main Program</b> from that through SUBMIT statement i am calling another program and executing it for every 100 records - Actually this program is having BAPI running in it, By result i will get an internal table data. Now i want to get that internal table data back into my MAIN Program so that i can use it for next process.
    <b>EXPORT & IMPORT statements are working from MAIN Program to Other Program.</b>
    <b>EXPORT & IMPORT statements are not working from Other Program[SUBMIT'ed Program] to MAIN Program.</b>
    So can anybody tell me how can i get that data in other program into MAIN Program[Back].
    Thanks in advance.
    Thanks & Regards,
    Rayeez.

    When you submit the program is then running in parallel with the program which submitted it.  There is no mechism that you are using to stop the calling program and wait for the submitted program to finish and bring back some data.   Most likly program 1 ends before program 2 is finished updating the material master. You can do this kind of thing with Function modules.   You would put your call to the submitted program inside of a function module,  then call that function module saying STARTING IN NEW TASK,  then you can wait for it to be done and get the results using the RECIEVING statement.
    Here is the F1 Help.
    +
    CALL FUNCTION
    Variant 2
    CALL FUNCTION func ...STARTING NEW TASK task name.
    Additions:
    1. ... DESTINATION dest
    2. ... DESTINATION IN GROUP group name
    3. ... DESTINATION IN GROUP DEFAULT
    4. ... PERFORMING form ON END OF TASK
    5. ... EXPORTING  p1 = f1    ... pn = fn
    6. ... TABLES     p1 = itab1 ... pn = itabn
    7. ... EXCEPTIONS syst_except = rc MESSAGE mess
    Effect
    Starts the function module func asynchronously ina new session. In contrast to normal function module calls, the callingprogram resumes processing as soon as the function module is started inthe target system. It does not wait until the function module hasfinished. Through CALL SCREEN,the called function module can, for example, display a screen and thusinteract with the user.
    Notes
    This variant applies only from R/3 Release 3.0, so boththe client system and the server system must have Release 3.0 orhigher.
    With this variant, the called function module must also be flagged inthe Function Builder as externally callable, even if it is executedlocally (without the addition DESTINATION).
    There can be no function call to the destination 'BACK' in thecalled function module (for more information about the destination 'BACK', see CALLFUNCTION func DESTINATION dest).
    This variant does not support the execution of externalprograms accessible via the destination of the TCP/IP type asasynchronous calls (see the Transaction Tools ¨Administration, Administration ¨ Network ¨ RFC destinations formaintaining destinations).
    You cannot display screens (screens or lists asamodal windows in RFC communication using SAP Router.
    From Release 4.0, you can check the load of each RFC destination moreclosely (in the RFC destination maintenance for an R/3 connection, choose Destination -> ARFC options). This checks whetherthe target host has sufficient resources before the function module isexecuted. If the target host is overloaded, the system delays executingthe function module. The algorithm for calculating the load on thetarget host is the same one used in an asynchronous RFC call using the DESTINATION IN GROUP addition. Note that this option can only beused with target hosts running Release 3.1H or higher. Note also thatit is the default setting.
    In principle, parallelization makes sense whenever applicationservers have the necessary resources. In this case, the applicationservers must be configured with at least 3 dialog work processes.
    A program that is run in the background and uses RFC parallelizationrequires at least 1 dialog work process per application server becausedialog processes use parallel execution.
    If the instance profile parameter 'auth/rfc_authority_check'is set (to 1), the system automatically performs an RFC authorizationcheck. The authorization check refers to the relevant function groupfor the function module to be called. If no authorization is found, aruntime error occurs. You can check the authorization in advance withthe function module AUTHORITY_CHECK_RFC. If the communication takes place in the same system with thesame user context (same client and user ID), there is no authorizationcheck. For further information, refer to the RFCAuthorization Concept.
    When you are using asynchronous RFC to implement parallel windows,all these windows are closed if the caller session is the only sessionand terminates.
    ABAP_ADDITION_1&
    ... DESTINATION dest
    Effect
    Executes the function module externally as a RemoteFunction Call (RFC); dest can be a literal or a variable.The R/3 System where the function module is executed depends on thespecified destination. Externally callable function modules must beflagged as such in the Function Builder (of the target system).
    Note
    If the destination is not explicitly specified, the systemuses the default destination 'NONE'.
    Note
    If, during a RemoteFunction Call, an error occurs in the target system, detailsof the error message are passed bac to the calling system in thefollowing system fields: SY-MSGNO, SY-MSGID, SY-MSGTY, SY-MSGV1,SY-MSGV2, SY-MSGV3, and SY-MSGV4. These fields areinitialized before every RFC. If a short dump or a type X messageoccurs, the short text of the dump is transferred to the caller, andthe contents of SY-MSGID, SY-MSGTY, SY-MSGNO, and SY-MSGV1 assigned by the system.
    In RFC-enabled function modules, no ABAP statements are allowed thatwould end the RFC connection (for example, LEAVE, SUBMIT or the ANDRETURN addition).
    Note
    Note that a database commit occurs at eachRemote Function Call (RFC). Consequently, you may not use RemoteFunction Calls between pairs of statements that open and close adatabase cursor (such as SELECT ... ENDSELECT).
    Addition 2
    ... DESTINATION IN GROUP group name
    Addition 3
    ... DESTINATION IN GROUP DEFAULT
    Effect
    You use this addition to perform parallel execution offunction modules (asynchronous calls) on a predefined group of R/3System application servers.
    You use addition 2 (DESTINATION IN GROUP group name) toperform parallel execution of function modules on a predefined group ofapplication servers. To maintain the RFC groups, choose Tools ¨ Administration ¨ Administration ¨ Network ¨ RFCdestinations ¨ RFC ¨ RFC groups. The application programmer isresponsible for the availability of RFC groups in the productionsystem.
    You use addition 3 (DESTINATION IN GROUP DEFAULT) to performparallel execution of function modules (asynchronous calls) on all currently available R/3 System application servers. However,instead of this variant, you are recommended to use an RFC group withappropriate resources for parallel processing of asynchronous calls (atleast for performance reasons). Please note that the additionDESTINATION IN GROUP ' ' has the same effect as the additionDESTINATION IN GROUP DEFAULT.
    When you first call a function module with these additions, thesystem initializes the specified RFC group (provided no explicitinitialization has already been performed).
    To obtain current information about resources (that is, the number ofresources available to process function modules), you can alsoinitialize the RFC group explicitly in the program via the functionmodule SPBT_INITIALIZE. You must perform this actionbefore the first function module call.
    In both cases, the system first determines the number of currentlyavailable resources (work processes) on the available applicationservers (either a group of servers or all servers). By checking thecurrent system load of each application server, the system determineshow many work processes are available to execute asynchronous calls.
    After determining the available resources, the asynchronous call isexecuted at one of the destinations. If no resources are available atthat particular time, the system executes the exception routine RESOURCE_FAILURE (see the addition EXCEPTIONS). In thecase of an asynchronous function module call, this exception must be handled by the application program (see example).
    Parallel processing cannot take place if any of the resourcethresholds are exceeded.
    Notes
    In order to be taken into consideration for RFC parallelprocessing, an application server must have at least 3 freedialog processes.
    The system triggers the exception RESOURCE_FAILURE only forasynchronous RFCs with the additions DESTINATION IN GROUP groupname and DESTINATION IN GROUP DEFAULT.
    At present, only one RFC group per program environment issupported for parallel execution of asynchronous calls. Using both theadditions DESTINATION IN GROUP group name and DESTINATION INGROUP DEFAULT in a program is thus not allowed.
    To find out which destination was automatically selected, call thefunction module SPBT_GET_PP_DESTINATION immediately after thefunction module call with the two additions. This returns the selectedRFC destination.
    If you want to delete an application server from the list of theconfigured RFC group at runtime (for example, when the applicationserver is not accessible for technical reasons), use the functionmodule SPBT_DO_NOT_USE_SERVER.
    Addition 4
    ... PERFORMING form ON END OF TASK
    While the parameters for receiving results (i.e. IMPORTING andTABLES parameters) are specified directly as additions in thecase of "conventional" function modules (see variant 2), these arelogged in the FORM routine form when making anasynchronous call (see RECEIVE).
    Notes
    If a function module returns no result, and you are notinterested in error messages that arise when executing the functionmodule, this addition (... PERFORMING form ON END OF TASK) canbe omitted.
    If you want to handle the error messages that arise when executingthe asynchronous function module call, you must use thisaddition. Also, when receiving the results in the FORM routine(see RECEIVE), you must reactaccordingly to the system exceptions SYSTEM_FAILURE andCOMMUNICATION_FAILURE.
    With asynchronous RFC, the task name uniquely identifies theasynchronous connection and thus the context called.
    If several asynchronous function modules are executed consecutivelyto the same destination, you must assign a different task name to each.
    A calling program that starts an asynchronous RFC with PERFORMINGform ON END OF TASK cannot switch roll areas or change to aninternal session. This is because the asynchronous function module callreply cannot be passed on to the relevant program. You can perform aroll area switch with SUBMIT or CALL TRANSACTION.
    If a calling program makes asynchronous calls, finishes, and thenexpects responses, these responses cannot be delivered.
    To wait for the reply to a started asynchronous function module, usethe WAIT command with the additionPERFORMING form ON END OF TASK. Here, WAIT must be in thesame program context (session).
    Note that the execution of the asynchronous calls involves a changeof roll area. This means that the FORM routines for receivingthe external calls can be processed while you are making furtherexternal calls. This means that the developer must ensure thatthe FORM routines can be executed at any time. You cannotmake any assumptions about the processing sequence.
    Addition 5
    ... EXPORTING p1 = f1 ... pn = fn
    Effect
    EXPORTING passes values of fields and fieldstrings from the calling program to the function module. In thefunction module, the formal parameters are defined as importparameters.
    Addition 6
    ... TABLES p1 = itab1 ... pn = itabn
    Effect
    TABLES passes the contents of internal tables.
    Addition 7
    ... EXCEPTIONS syst_except = rc MESSAGE mess
    Effect
    While any exceptions arising in the called functionmodule are handled by the second addition (in the FORM routine),this addition can handle two special system exceptions, as withfunction module calls with the addition DESTINATION:
    SYSTEM_FAILURE
    is triggered, if a system crash occurs on the receiving side.
    COMMUNICATION_FAILURE
    is triggered if there is a connection or communication problem.
    In both cases, you can get a description of the error with theoptional addition
    ... MESSAGE msg
    Note
    In principle, you should always react to these twosystem exceptions, whether you are making an asynchronous functionmodule call or receiving results.
    Examples
    Asynchronous call to a transaction and display in a separate session.
    DATA: MSG_TEXT(80) TYPE C. "Message text
    Asynchronous call to Transaction SM59 -->
    Create a new session
    CALL FUNCTION 'ABAP4_CALL_TRANSACTION' STARTING NEW TASK 'TEST'
      DESTINATION 'NONE'
      EXPORTING
          TCODE = 'SM59'
      EXCEPTIONS
        COMMUNICATION_FAILURE = 1 MESSAGE MSG_TEXT
        SYSTEM_FAILURE        = 2 MESSAGE MSG_TEXT.
      IF SY-SUBRC NE 0.
        WRITE: MSG_TEXT.
      ELSE.
        WRITE: 'O.K.'.
      ENDIF.
    Using RFC groups to parallelize function module calls (RFC parallelprocessing)
    TYPES: BEGIN OF TASKLIST_TYPE,
           TASKNAME(4) TYPE C, "Task administration
           RFCDEST LIKE RFCSI-RFCDEST
           END OF TASKLIST_TYPE.
    DATA: INFO LIKE RFCSI, C,  "Message text
          JOBS TYPE I VALUE 10,  "Number of parallel jobs
          SND_JOBS TYPE I VALUE 1,  "Sent jobs
          RCV_JOBS TYPE I VALUE 1,  "Received replies
          EXCP_FLAG(1) TYPE C,  "Number of RESOURCE_FAILUREs
          TASKNAME(4) TYPE N VALUE '0001',  "Task name administration
          TASKLIST TYPE TABLE OF TASKLIST_TYPE,
          WA_TASKLIST TYPE TASKLIST_TYPE.
    DO.
      CALL FUNCTION 'RFC_SYSTEM_INFO'
           STARTING NEW TASK TASKNAME DESTINATION IN GROUP DEFAULT
           PERFORMING RETURN_INFO ON END OF TASK
           EXCEPTIONS
             COMMUNICATION_FAILURE = 1
             SYSTEM_FAILURE        = 2
             RESOURCE_FAILURE      = 3.
      CASE SY-SUBRC.
        WHEN 0.
    Administration of asynchronous tasks
          WA_TASKLIST-TASKNAME = TASKNAME.
          CLEAR WA_TASKLIST-RFCDEST.
          APPEND WA_TASKLIST TO TASKLIST.
          WRITE: /  'Started task: ', WA_TASKLIST-TASKNAME COLOR 2.
          TASKNAME = TASKNAME + 1.
          SND_JOBS = SND_JOBS + 1.
          JOBS     = JOBS - 1.  "Number of existing jobs
          IF JOBS = 0.
            EXIT.  "Job processing finished
          ENDIF.
        WHEN 1 OR 2.
    Handling of communication and system failure
        WHEN 3.  "No resources available at present
    Receive reply to asynchronous RFC calls
          IF EXCP_FLAG = SPACE.
             EXCP_FLAG = 'X'.
    First attempt for RESOURCE_FAILURE handling
             WAIT UNTIL RCV_JOBS >= SND_JOBS UP TO '0.01' SECONDS.
          ELSE.
    Second attempt for RESOURCE_FAILURE handling
             WAIT UNTIL RCV_JOBS >= SND_JOBS UP TO '0.1' SECONDS.
          ENDIF.
          IF SY-SUBRC = 0.
            CLEAR EXCP_FLAG.  "Reset flag
          ELSE.  "No replies
            "Endless loop handling
          ENDIF.
        ENDCASE.
    ENDDO.
    Receive remaining asynchronous replies
    WAIT UNTIL RCV_JOBS >= SND_JOBS.
    LOOP AT TASKLIST INTO WA_TASKLIST.
      WRITE:/   'Received task:', WA_TASKLIST-TASKNAME COLOR 1,
            30  'Destination: ', WA_TASKLIST-RFCDEST COLOR 1.
    ENDLOOP
    FORM RETURN_INFO USING TASKNAME.
      RECEIVE RESULTS FROM FUNCTION 'RFC_SYSTEM_INFO'
        IMPORTING RFCSI_EXPORT = INFO
        EXCEPTIONS
          COMMUNICATION_FAILURE = 1
          SYSTEM_FAILURE        = 2.
      RCV_JOBS = RCV_JOBS + 1.  "Receiving data
        IF SY-SUBRC NE 0.
    Handling of communication and system failure
        ELSE.
          READ TABLE TASKLIST WITH KEY TASKNAME = TASKNAME
                              INTO WA_TASKLIST
          IF SY-SUBRC = 0.  "Register data
            WA_TASKLIST-RFCDEST = INFO_RFCDEST.
            MODIFY TASKLIST INDEX SY-TABIX FROM WA_TASKLIST.
          ENDIF.
        ENDIF.
    ENDFORM
    Note
    If you encounter problems, refer toTypical RFC problems and theirsolutions.
    Note
    Runtime errors:
    Note
    Runtime errors:
    CALL_FUNCTION_NO_RECEIVER:
    Data received for an unknown CPI-C connection.
    CALL_FUNCTION_DEST_TYPE:
    Destination type not allowed.
    CALL_FUNCTION_NO_DEST:
    Specified destination does not exist.
    CALL_FUNCTION_NO_LB_DEST:
    Specified destination (in load distribution mode) does not exist.
    CALL_FUNCTION_TABINFO:
    Data error (info internal table) in a Remote Function Call.
    CALL_BACK_ENTRY_NOT_FOUND:
    The called function module is not released for use in RFC.
    CALL_FUNCTION_FIELD_NOT_FOUND:
    The function parameter that you passed is not recognized on therecipient side.
    RFC_NO_AUTHORITY:
    The user does not have RFC authorization.
    CALL_FUNCTION_SINGLE_LOGIN_REJ:
    No authorization to log on as a trusted system. The error codeshave the following meanings:
    0) Valid security key but wrong logon data 1) Calling system is not a trusted system, or security key is invalid 2) User either does not have RFC authorization (authorization object S_RFCACL), or logged on as one of the protected users 'DDIC' or 'SAP*' 3) Timestamp of the logon data is invalid
    CALL_FUNCTION_DESTINATION_NO_T:
    Missing communication type (I for internal connection, 3 for R/3) in anasynchronous RFC
    CALL_FUNCTION_NOT_REMOTE:
    The function module called is not flagged as "RFC supported"
    CALL_FUNCTION_REMOTE_ERROR:
    An error occurred during the Remote Function Call. This has been loggedin the target system.
    CALL_FUNCTION_SIGNON_INCOMPL:
    The logon data for the user is incomplete.
    CALL_FUNCTION_SIGNON_INTRUDER:
    You cannot log onto a target system using an internal call.
    CALL_FUNCTION_SIGNON_INVALID:
    External RFC without a valid user name.
    CALL_FUNCTION_SIGNON_REJECTED:
    Attempt to log onto a target system without a valid user name. Theerror code can have the following meanings:
    1) Wrong password or invalid user ID
    2) User locked
    3) Too many logon attempts
    4) Error in authorization buffer (internal error)
    5) No external user check
    6) Invalid user type
    7) Validity period of user has expired
    CALL_FUNCTION_SYSCALL_ONLY:
    RFC without a valid user name only allowed when calling system functionmodules. For the meaning of the error codes, refer toCALL_FUNCTION_SINGLE_LOGIN_REJ.
    CALL_FUNCTION_TABLE_NO_MEMORY:
    No memory available for a table to be imported
    CALL_FUNCTION_TASK_IN_USE:
    Asynchronous RFC only: Task name already in use.
    CALL_FUNCTION_TASK_YET_OPEN:
    Asynchronous RFC only: The specified task is already open.
    CALL_FUNCTION_SNC_ERROR:
    Error reading the SNC information for the destination.
    CALL_RPERF_SLOGIN_READ_ERROR:
    No valid trusted system entry for the calling system.
    CALL_RPERF_SLOGIN_AUTH_ERROR:
    No trusted authorization for the RFC caller and trusted system.
    +
    Regards,
    Rich Heilman

Maybe you are looking for