Output error message in VK11

Hi,
I need to put an authority check before saving in Tcode VK11.
I used BADI SD_COND_SAVE_A to put the checking. I needed to output a message then go back to the same screen with the entered values in the screen still in it.
How Can I make the program go back to the screen with its values.
Below is my code:
      AUTHORITY-CHECK OBJECT 'V_KONH_VKO'
      ID 'ACTVT' FIELD c_activity
      ID 'VTWEG' FIELD v_spart.
      IF sy-subrc NE 0.
        MESSAGE w012(zsd) WITH v_material.   
      ENDIF.
Thanks in advance!
Regards,
Marco

Hi Kumar,
Thanks for the reply.
This is what Im looking for. But unfortunately it is having an error message ($$00000001 in function group) when ever I would change the values and hit the save button again.
When I debug it, whats happening is that an internal table is not getting refresh in this process thus calling the error message. There is no way I can refresh this table because it is not present in the BADI.

Similar Messages

  • Am getting PCM output error message when trying to play a video from iPad2 on my TV

    The movie was purchased on iTunes store.  I connected the iPad2 through the adapter via HDMI straight to the TV and I have a Bose Lifestyle system for surround 5.1 sound.  After a few minutes and every few minutes after that the movie would blur and blackout then it would come back.  Eventually I got a PCM OUTPUT error message onscreen.  How do I resolve this problem?

    I have been able to open a few items in iTunes, but have not been able to play even those videos from my Apple TV. I can airplay them from the computer, but cannot access them directly from Apple TV. This is a bit frustrating.

  • Disk utility 'input/output error' message?

    I am "creating an image" of a DVD using disk utility (prior to making a copy on a blank DVD disk).   Why am I now rec'ing an 'input/output error' message?   I have already copied several other DVDs from the same author (with her permission, they are not copywrited.) w/o a problem.
    What's going on?  original damaged? an incorrect step on my part?  some sort of space problem?  ( I have tons of room on my iMac.)
    Thanks for your help.

    Take a look at Cinematize 2, I've used it with iMovie 06 and iDVD 08. It has several modes of converting the data. One mode is called "lossless".
    For the job you're doing you may prefer to use iMovie 06 instead of iMovie 08 (I would).
    iMovie 06 and iDVD 08 is a terrific combination.
    Your workflow would go something like this.
    Use Cinematize 2 to create a Quicktime file from the DVD.
    http://www.miraizon.com/products/products.html
    Important that file into iMovie 06.
    From iMovie 06, share to iDVD 08 (assuming you want a DVD).

  • Output Error Message in Flash 8

    Hi All,
    I'm building a form in Flash 8 that includes check boxes.
    When I add the check boxes and test the movie I get the following
    output error message:
    **Warning** The linkage identifier 'CheckBox' was already
    assigned to the symbol 'Assets/UIComponents/CheckBox', and cannot
    be assigned to the symbol 'CheckBox', since linkage identifiers
    must be unique.
    For the life of me I can't get rid of this. Anyone know what
    the heck is going on?
    Thanks,
    Scott

    It appears that the OP has created a MovieClip symbol and
    named it CheckBox, then has chosen to export for actionscript. The
    CheckBox component needs to have that identifier to function
    correctly. So the OP needs either, change the linkage ID on the
    symbol named "CheckBox", or take the linkage ID off
    completely.

  • Output error messages

    How does one do to output error messages without having to invoke RAISE_APPLICATION_ERROR? I'm trying to avoid chaining of exceptions handled by OTHERS.
    EDIT: I'm aware of DBMS_OUTPUT.PUT_LINE, though I am looking for a function that produces the same sort of output that RAISE_APPLICATION_ERROR does but without raising an exception.
    Message was edited by:
    0v3rloader

    There isn't a way. An exception is not just an output message it changes the execution path of the code.
    Stored procedures do not have very good IO capabilities as they are stored in the database and do not run directly from a terminal or screen.
    Catching unexpected exceptions using when others, even if followed by a raise, is very poor practice IMHO, whose only excuse is error logging but I think even that is better handled by the client.

  • Leopard Disk Utility and Input/Output error messages.

    This post is describing a problem I had and how I managed to fix it. When I was researching the Input/Output error message I was getting a couple of people had mentioned this fix on the apple discussion boards, so I thought I would add my fix to support them. (Isn't google fab!) I've no idea if this is the right place for this so please bear with me.
    Okay a bit of background:- over christmas we treated ourselves to leopard and as my laptop is now three years old I decided to do a complete reformat and installation. I used my 60GB iPod as an external harddrive and backed everything up. Installed Leopard no probs and was a very happy bunny.
    The problem:- I then wanted to remove everything off my iPod. So I thought "I know I'll use Disk Utility".... I tried it with the 'default' setting and got an Input/Output error message straight away (irrespective of whether I did it as an extended journal or not.) When I tried it with the Zero Out option (can't remember exactly what it's called) it came up with the Input/Output error message right at the very end. Argh! iTunes and Finder no longer recognised it, but Disk Utility did.
    My research:- After using google I saw some guys on here talking about formatting proper external harddrives using leopards disk utility and they were getting the same messages as me. It turns out it is a fault with Leopards Disk Utility. So I did what the guys recommended.
    The solution:- (Thank god I had tiger!) I put in my tiger installation disk, clicked 'install tiger' and restarted the laptop. I clicked my my language, but then rather than going through the actual installation process I went to the top menu bars and chose Disk Utility (using tiger's disk one rather than my laptop's leopard one.) And erased the iPod there. Now when I quit the installation and opened my laptop up properly it worked, both iTunes and finder could see it!!! (I just had to restore my ipod in itunes - and now I'm happily transferring all my music back!)
    I hope this helps someone in the same position as me!

    I took it to work to use my Windows PC to try and format the drive, but got the same problem. I figured either the drive (it's a 2.5" that used to be inside my AlBook) or the external housing it lives is was faulty. Only way I could test without spending more money is by putting the 2.5" drive inside my powerbook, and booting the (Ti) powerbook from a bootable firewire ipod. I successfully booted from the ipod, and had the same problem with the now internal drive: only visible in disk utility, any attempt to erase fails. Also, I plugged the small 10 GB drive that WAS in the TiBook (but which I removed to put the other, problematic drive in) into the external housing, and it connected to other machines just fine.
    Turns out the problem is the hard drive itself.
    So now my question becomes: If disk utility can see the hard disk when it is connected (I have it back in the external enclosure now), but gives "input/output error" messages when I try to erase/format it, is there any way I can salvage this drive? It's an 80 GB drive, and I was looking forward to making it my internal TiBook drive (replacing the old 10 GB drive that's in there now).

  • Understanding Output Error Messages

    I don't understand the "heirarchy" of Flash Output Error Messages.
    For example:
    TypeError: Error #1009: Cannot access a property or method of a null object reference.
        at bBrand_Gallery()
    ArgumentError: Error #2025: The supplied DisplayObject must be a child of the caller.
        at flash.display::DisplayObjectContainer/removeChild()
        at bBrand_Gallery/startShow()
        at bBrand_Gallery/onComplete()
    This error shows when I preview a SWF that calls en external swf. All the code listed in the Error Codes is contained in the external swf. In the TypeError -- where do I look for the problem code? bBrand_Gallery is a class description for the externally called swf. The externally called swf runs fine by itself. All functions in the package are declared as public functions. I know that the null object reference means that it's looking for the property of an object that is not yet instantiated. How do I find that object? Would it most likely be a variable that is not delacred publicly?
    I believe the ArgumentError has to do with the fact that the DisplayObject in question is not "created" by the function startShow which includes the removeChild statement. How do I resolve that issue??
    Is there a reference as to the best way to interpret these error messages?? I'm so confused!?!?!!?
    Thanks,
    Mike

    Ned Murphy wrote:
    The messages remain something in the way of being difficult to interpret, but sometimes you can get a little better information when you set the option to Permit Debugging in the Flash Publish Settings.  Your 1009 error would end up presenting you with a line number just after the frame number to help you narrow down the problem...
    TypeError: Error #1009: Cannot access a property or method of a null object reference.
        at bBrand_Gallery() frame1:19
    That's telling you line 19 holds the problemed code.  Error messages normally report in a manner of increasing distance from the problemed code.  So you can normally stop looking after the first localization...
    ArgumentError: Error #2025: The supplied DisplayObject must be a child of the caller.
        at flash.display::DisplayObjectContainer/removeChild()
    In the case of this error, you need to focus on what it tells you... there is a removeChild attempt being made for something that is not a child of the container object targeted... and if you follow on, it looks like it is being attempted in a function named startShow, which may have been executed via another function named onComplete
    Ned -- thanks for the feedback.
    I enabled Debugging and published again -- the error code remains the same, with no number or frame info.
    AFA the ArgumentError -- I suspect it's not showing as a child since the errors are preventing the entire swf from loading and running. The child is never created. I need to find the first error, and then the second should disappear.
    I guess the next step is to comment out sections of code and see what elinminates the error and then go from there. . .
    If you have any other suggestions I'm game. Thanks for explaining the sequence of the messages -- I suspected that was the case, but your confirmation helps.
    ETA: Found it.
    There was a reference to the stage width in positioning the preloader, which is a TextField. The external SWF couldn't reference the stage dimensions. I replaced the stage reference with hard dimensions, and the errors are gone.
    Thanks again for your help, Ned. . .
    Message was edited by: mjperry1951

  • How can I put all output error message into a String Variable ??

    Dear Sir:
    I have following code, When I run it and I press overflow radio button, It outputs following message:
    Caught RuntimeException: java.lang.NullPointerException
    java.lang.NullPointerException
         at ExceptionHandling.ExceptTest.actionPerformed(ExceptTest.java:72)
         at javax.swing.AbstractButton.fireActionPerformed(AbstractButton.java:1995)
         at javax.swing.AbstractButton$Handler.actionPerformed(AbstractButton.java:2318)
         at javax.swing.DefaultButtonModel.fireActionPerformed(DefaultButtonModel.java:387)
         at javax.swing.JToggleButton$ToggleButtonModel.setPressed(JToggleButton.java:291)
         at javax.swing.plaf.basic.BasicButtonListener.mouseReleased(BasicButtonListener.java:236)
         at java.awt.Component.processMouseEvent(Component.java:6038)
         at javax.swing.JComponent.processMouseEvent(JComponent.java:3260)
         at java.awt.Component.processEvent(Component.java:5803)
         at java.awt.Container.processEvent(Container.java:2058)
         at java.awt.Component.dispatchEventImpl(Component.java:4410)
         at java.awt.Container.dispatchEventImpl(Container.java:2116)
         at java.awt.Component.dispatchEvent(Component.java:4240)
         at java.awt.LightweightDispatcher.retargetMouseEvent(Container.java:4322)
         at java.awt.LightweightDispatcher.processMouseEvent(Container.java:3986)
         at java.awt.LightweightDispatcher.dispatchEvent(Container.java:3916)
         at java.awt.Container.dispatchEventImpl(Container.java:2102)
         at java.awt.Window.dispatchEventImpl(Window.java:2429)
         at java.awt.Component.dispatchEvent(Component.java:4240)
         at java.awt.EventQueue.dispatchEvent(EventQueue.java:599)
         at java.awt.EventDispatchThread.pumpOneEventForFilters(EventDispatchThread.java:273)Caught RuntimeException: java.lang.NullPointerException
         at java.awt.EventDispatchThread.pumpEventsForFilter(EventDispatchThread.java:183)
         at java.awt.EventDispatchThread.pumpEventsForHierarchy(EventDispatchThread.java:173)
         at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:168)
         at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:160)
         at java.awt.EventDispatchThread.run(EventDispatchThread.java:121)I hope to catch all these error message into a String Variable such as StrErrorMsg, then I can use System.out.println(StrErrorMsg) to print it out or store somewhere, not only display at runtime,
    How can I do this??
    Thanks a lot,
    See code below.
    import java.awt.Frame;
    import java.awt.GridLayout;
    import java.awt.event.ActionEvent;
    import java.awt.event.ActionListener;
    import java.awt.event.WindowAdapter;
    import java.awt.event.WindowEvent;
    import java.io.FileInputStream;
    import javax.swing.ButtonGroup;
    import javax.swing.JFrame;
    import javax.swing.JPanel;
    import javax.swing.JRadioButton;
    public class ExceptTest extends JFrame implements ActionListener {
        private double[] a;
      private JRadioButton divideByZeroButton;
      private JRadioButton badCastButton;
      private JRadioButton arrayBoundsButton;
      private JRadioButton nullPointerButton;
      private JRadioButton negSqrtButton;
      private JRadioButton overflowButton;
      private JRadioButton noSuchFileButton;
      private JRadioButton throwUnknownButton;
      public ExceptTest() {
        JPanel p = new JPanel();
        ButtonGroup g = new ButtonGroup();
        p.setLayout(new GridLayout(8, 1));
        divideByZeroButton = addRadioButton("Divide by zero", g, p);
        badCastButton = addRadioButton("Bad cast", g, p);
        arrayBoundsButton = addRadioButton("Array bounds", g, p);
        nullPointerButton = addRadioButton("Null pointer", g, p);
        negSqrtButton = addRadioButton("sqrt(-1)", g, p);
        overflowButton = addRadioButton("Overflow", g, p);
        noSuchFileButton = addRadioButton("No such file", g, p);
        throwUnknownButton = addRadioButton("Throw unknown", g, p);
        getContentPane().add(p);
      private JRadioButton addRadioButton(String s, ButtonGroup g, JPanel p) {
        JRadioButton button = new JRadioButton(s, false);
        button.addActionListener(this);
        g.add(button);
        p.add(button);
        return button;
      public void actionPerformed(ActionEvent evt) {
        try {
          Object source = evt.getSource();
          if (source == divideByZeroButton) {
            a[1] = a[1] / a[1] - a[1];
          } else if (source == badCastButton) {
            Frame f = (Frame) evt.getSource();
          } else if (source == arrayBoundsButton) {
            a[1] = a[10];
          } else if (source == nullPointerButton) {
            Frame f = null;
            f.setSize(200, 200);
          } else if (source == negSqrtButton) {
            a[1] = Math.sqrt(-1);
          } else if (source == overflowButton) {
            a[1] = 1000 * 1000 * 1000 * 1000;
            int n = (int) a[1];
          } else if (source == noSuchFileButton) {
            FileInputStream is = new FileInputStream("Java Source and Support");
          } else if (source == throwUnknownButton) {
            throw new UnknownError();
        } catch (RuntimeException e) {
          System.out.println("Caught RuntimeException: " + e);
          e.printStackTrace();
          System.out.println("Caught RuntimeException: " + e);
        } catch (Exception e) {
          System.out.println("Caught Exception: " + e);
      public static void main(String[] args) {
        JFrame frame = new ExceptTest();
        frame.setSize(150, 200);
        frame.addWindowListener(new WindowAdapter() {
          public void windowClosing(WindowEvent e) {
            System.exit(0);
        frame.show();
    }

    yes, I update as follows,
    but not looks good.
    import java.io.*;
    public class UncaughtLogger implements Thread.UncaughtExceptionHandler {
        private File file;
        private static String errorMessage;
        public UncaughtLogger(File file) {
            this.file = file;
            //Thread.setDefaultUncaughtExceptionHandler(this);
        public UncaughtLogger(String str) {
            this.errorMessage = str;
            Thread.setDefaultUncaughtExceptionHandler(this);
        //@Override()
        public void uncaughtException(Thread t, Throwable e){
            try {
                log(e);
            } catch (Throwable throwable) {
                System.err.println("error in logging:");
                throwable.printStackTrace();
        private void log(Throwable e) throws IOException {
            PrintWriter out = new PrintWriter(new FileWriter(file, true));
            try {
                e.printStackTrace(out);
            } finally {
                out.close();
        private static UncaughtLogger logger = new UncaughtLogger(new File("C:/temp/log.txt"));
        private static UncaughtLogger logger2 = new UncaughtLogger(errorMessage);
        public static void main(String[] args) {
                String s1 = "Hello World!";
                s1 = null;
                String s2 = s1.getClass().getName();
                System.out.println(s1);
                System.out.println(s2);
                System.out.println("errorMessage =" + errorMessage);
    }

  • Outputting error messages in a browser?

    Is there a way to output all error messages to some sort of
    window when viewing a SWF in a browser? I'm working on a game and
    I'm about to beta test with a few dozen people. They will do this
    by playing the game in a browser. Sometimes the game crashes and it
    would be great if the error message that accompanies the crash
    could be shown, so they can copy and paste it to me in an email.
    This way i dont have to play the game over and over in the flash
    IDE to try and re-create the problem.
    I know you can output trace messages to a javascript window,
    but what i need to do is output ALL error messages to a window of
    some sort. Any ideas or advice would be appreciated.
    -Miles Tilmann, Programmer, Pixeljam Games
    (pixeljam.com)

    Okay i answered my own question. For anyone who is looking to
    beta test their SWF with other people, this might be helpful..
    everything in the program is controlled by one mainLoop
    function. so i just enclosed that mainLoop function within a try {}
    statement. then right after that i did:
    catch (e:Error) {
    //some code that puts the String (e.getStackTrace()) on the
    screen
    e.getStackTrace() will create a string that gives you the
    detailed error message. HOWEVER... this will not work within a
    browser. it will only work within the standalone flash player. so
    i'm just going to have people download that stand alone player and
    beta test the game outside the browser. or create a
    self-executable.
    if you need to have it within a browser, i think the most you
    can get back for an error message is the type of error (example:
    ReferenceError 1069). you can get that by showing e.message or
    e.toString(). i cant seem to get it to pass any more information
    about it. and when the program is huge, those errors arent very
    helpful.

  • Input/Output error message when uploading a DVD to copy.

    Hi All,
    I have been getting this message "Unable to Create: input/output error." when trying to upload a dvd to burn using Disk Utility . At first I thought it was a problem with the disc so I had a friend of my send me another copy. This was 2 discs. The first disc I get the error message the 2nd disc copied perfectly. My friend sent me the first disc again and I still get the same error message. It uploads about 2/3 of the disc and then the error message shows up. I tried on both my desktop and laptop and same error message on both. Both are using Leopard.
    This is not a copyright protected disc. This is a personal disc.
    Any help would be greatly appreciated.
    Thanks in Advance.

    I have exactly the same problem. I'm trying to create images for all my DVDs created on Windows Vista. Unfortunately, when around 80% of the disk is already read, I'm getting:
    6/4/08 9:54:06 PM Disk Utility[1872] Unable to create “Lena - prawie 2 lata.cdr”. (Input/output error). I have been able to reproduce this issue on 3 DVDs so far (all filled with 4GB of data).
    The only DVD that I was able to duplicate was 1.4GM is size. Any suggestions?
    Regards,
    Marcin

  • Input /  output error message in Quicktime 6.0.2

    I recently installed Mac OS X [10.2 Jaguar version ] on my old G3 266mhz computer ... After installing the new operating system I was really excited about it and foud that it was quite stable and worked well ... I tested the applications and found that iTunes , iMovie , iCal , IE 5.0 browser , Sherlock and all the applications worked good though the Browsing speed on Internet was slow due to the G3 processor ... I found that my Quicktime 6.0.2 played only Quicktime compatible files and did not open any Avi or Mpeg formats .... In other words I could not open to watch my favourite movies on VCD 's .... I tried to browse all websites to get an idea to find a solution to this problem but nothing has worked so far ... I even tried to use my old Quicktime player listed in my Mac OS 9.1 applications folder and it still would not work either ...I used to play movies on Avseq .dat file MPEG formats before without any problem ... now I am waiting on any Mac expert to tell me how to get my Quicktime player in both Mac OS X application and the older Quicktime player in Mac OS 9.1 applications to playback MPEG files ... I keep getting the message INPUT / OUTPUT ERROR everytime I try to play the MPEG movies.Can anybody help me out with this problem ...
    G3 powerbook   Mac OS 9.1.x  

    You should update your OS X version of QuickTime to version 6.5.2.
    QuickTime can play MPEG-1 files (you may need to change the name of the extension from .DAT to .mpg).
    Other players like VLC http://www.videolan.org can also play MPEG files and MPEG Streamclip can convert them to QT formats. Both are free.

  • Card Game Output Error Message

    Hi, everyone,
    I'm making a card game with two shuffling decks. The cards from both decks are also supposed to flip and drag. My first deck is working fine, but in my second deck, the card won't flip. Every time I try to flip the card in the second deck, I get this output message:
    TypeError: Error #1009: Cannot access a property or method of a null object reference.
    at Wicky/clickCard()
    I don't get any compiler errors at the moment, but I get that message every time I click on deck two. The card does drag, but it won't flip, and that error message pops up. Does anyone have an idea of where my mistake might be?
    I have two files, Wicky.as and Wicky.fla. Below is the code for Wicky.as. Thanks in advance for your help!
    Wicky.as
    package {
    import flash.display.*;
    import flash.events.*;
    public class Wicky extends MovieClip {
      // game constants
      private static const boardWidth:uint = 7;
      private static const boardHeight:uint = 7;
      private static const boardOffsetX:Number = 120;
      private static const boardOffsetY:Number = 45;
      private var firstCard:Card;
      private var secondCard:Card;
      private var thirdCard:Card2;
      private var fourthCard:Card2;
      public function Wicky():void {
       // make a list of card numbers
       var cardlist:Array = new Array();
       for(var i:uint=0;i<boardWidth*boardHeight;i++) {
        cardlist.push(i);
       var cardlist1:Array = new Array();
       for(var j:uint=0;i<boardWidth*boardHeight;j++) {
        cardlist.push(j);
       // create all the cards, position them, and assign a randomcard face to each
       for(var x:uint=0;x<boardWidth;x++) { // horizontal
        for(var y:uint=0;y<boardHeight;y++) { // vertical
         var c:Card = new Card(); // copy the movie clip
         c.stop(); // stop on first frame
         var r:uint = Math.floor(Math.random()*cardlist.length); // get a random face
         c.cardface = cardlist[r]; // assign face to card
         cardlist.splice(r,1); // remove face from list
         c.addEventListener(MouseEvent.CLICK,clickCard); // have it listen for clicks
         addChild(c); // show the card
         // create all the cards, position them, and assign a randomcard face to each
         var b:Card2 = new Card2(); // copy the movie clip
         b.stop(); // stop on first frame
         var s:uint = Math.floor(Math.random()*cardlist1.length); // get a random face
         b.cardface = cardlist1[s]; // assign face to card
         cardlist1.splice(s,1); // remove face from list
         b.addEventListener(MouseEvent.CLICK,clickCard); // have it listen for clicks
         b.x = 200
         b.y = 200
         addChild(b); // show the card
       // This function is called when the mouse button is pressed.
       function startDragging(event:MouseEvent):void
            event.currentTarget.startDrag();
        // This function is called when the mouse button is released.
        function stopDragging(event:MouseEvent):void
           event.currentTarget.stopDrag();
       c.addEventListener(MouseEvent.MOUSE_DOWN, startDragging);
       c.addEventListener(MouseEvent.MOUSE_UP, stopDragging);
       b.addEventListener(MouseEvent.MOUSE_DOWN, startDragging);
       b.addEventListener(MouseEvent.MOUSE_UP, stopDragging);
      // player clicked on a card
      public function clickCard(event:MouseEvent) {
       var thisCard:Card = (event.target as Card); // what card?
        firstCard = thisCard; // note i
        firstCard.gotoAndStop(thisCard.cardface+2); // turn it over
       public function clickCard1(event:MouseEvent) {
       var thatCard:Card2 = (event.target as Card2); // what card?
        thirdCard = thatCard; // note i
        thirdCard.gotoAndStop(thatCard.cardface+2); // turn it over

    Hey, Ned,
    Yeah, I can imagine that would be frustrating.
    I guess the moral of that story is, when somebody says something is impossible, get a second opinion, right? :  )
    Have a good weekend,
    Peter

  • Want to output Error message in BDC recording(PA30)

    Hi all,
    Currently iam working on upload program,whic is done by BDC recording with transaction PA30.while loading the data to different infotypes,iam checking one condition
    in particular infotype,after that i need to give the error message(Type E) and i data should not get uploaded for that infotype,and it has to go to next infotype.i want to log this error also,how can i do this?

    The ERROR message will stop the processing of the program,  the message will need to be either an I(information) or a W(warning) message into for the program to continue processing.
    Log the message by writing it to an internal table.
    IF SOME_CONDITION = 'X'.
    MESSAGE W001(00) with 'Hey, here is a message'.
    itab-pernr = p_pernr.
    itab-msgid = '00'.
    itab-msgno = '001'.
    append itab.
    ENDIF.
    CALL TRANSACTION 'PA30'........
    Regards,
    Rich HEilman

  • How to extract error message for each output type.

    Hi All,
    Need your advice on the problem that I have.
    Expected Solution:
    1. Create an extra column for displaying header output error message from VF02 into a report program.
    Steps that i have did:
    1. Go to transaction VF02.
    2. Enter a billing document number.
    3. Hit enter. Click "Goto" > Header> Output
    4. Click on the status that is red colour. Click on "processing log".
    5. Press "F1" on the red colour message type. (Found out that it is a structure).
    Need your advice on the question that I have:
    1) How do we know that which "not successfully" process output type belong to which error message class?

    Hi Brad Bohn,
    Thanks for your advice. I am so sorry about that. Thanks so much for your advice. And i have follow your advices and steps given by you. Appreciate it very much.
    But for this issue about how to extract message for each output type. I have follow your steps by using SE30 to trace VF03 and I managed to found out that they are using this function module "WFMC_PROTOCOL_SHOW". Need your advice on this, how do we know each different output type with different error message is pulled from?
    From my further research and in depth debugging into this function module, i  manage to find this global internal table "PROTO_TAB" which stores all the text messages for each output.  How does this internal table is populated?
    Thanks in advance.
    Regards
    Shawn

  • Error message with PCR.

    The logic of PCR is as follows :
    Compute 15% of /117.And assign this to WT 1223.
    Compute 27% of /117
    Subtract Wt /3F4,MF10,9805,9809 and 9810 from 27% of /117.Assign this to WT 1224.
    I have written a PCR which is giving an output error message :
    ****Variable ZVAR does not exist in table VAR                                             *   ZX      
    I have written a PCR with following code
        " /117 Superannuation Basis                       
            TABLEP0185 Read table fields                  
          " VARGBICTYP Tab.field VVVVV v.ky               
            " ZX                                          
                ZERO= RNA  AmtNumRteTime = 0              
                AMT=  /117 Set                            
                AMT*0.15   Multiplication                 
                ZERO=&ZVAR VVVV Set zero                  
                ADDWT&ZVAR VAR  Variable table            
                ADDWT 1223 OT   Output table              
                ZERO= RNA  AmtNumRteTime = 0              
                AMT=  /117 Set                            
                AMT*0.27   Multiplication                 
                ZERO=&ZVA1 VVVV Set zero                  
                ADDWT&ZVA1 VAR  Variable table            
                PRINT&ZVA1 Print variable VVVV            
                ZERO= RNA  AmtNumRteTime = 0              
                AMT=  /3F4 Set                            
                AMT+  MF10 Addition                       
                AMT+  9805 Addition                       
                AMT+  9809 Addition                       
                AMT+  9810 Addition                       
                ZERO=&ZVAR VVVV Set zero                  
                ADDWT&ZVAR VAR  Variable table            
                PRINT&ZVAR Print variable VVVV            
                ZERO= RNA  AmtNumRteTime = 0              
                AMT=&ZVA1  Set                            
                AMT-&ZVAR  Subtraction                    
                ADDWT 1224 OT   Output table              
    I am attaching the output from payroll log which is as follows :
    Rule   ESGPCR VaKey    Operation                                                                               
    ZSAN      *            TABLEP0185                                                                            
    ZSAN      *            VARGBICTYP                                                                            
    ZSAN      *   ZX       ZERO= RNA                                                                               
    ZSAN      *   ZX       AMT=  /117                                                                            
    ZSAN      *   ZX       AMT*0.15                                                                               
    ZSAN      *   ZX       ZERO=&ZVAR                                                                            
    ZSAN      *   ZX       ADDWT&ZVAR                                                                            
    ZSAN      *   ZX       NEXTR A                                                                               
    ZSAN      *   ZX       ADDWT 1223                                                                            
    ZSAN      *   ZX       ZERO= RNA                                                                               
    ZSAN      *   ZX       AMT=  /117                                                                            
    ZSAN      *   ZX       AMT*0.27                                                                               
    ZSAN      *   ZX       ZERO=&ZVA1                                                                            
    ZSAN      *   ZX       NEXTR B                                                                               
    ZSAN      *   ZX       ADDWT&ZVA1                                                                            
    ZSAN      *   ZX       PRINT&ZVA1                                                                               
    WType    Rate                         Number                 Amount                                                                               
    ZVA1                     0.00                         0.00               5,751.00                                                                               
    ZSAN      *   ZX       ZERO= RNA                                                                               
    ZSAN      *   ZX       AMT=  /3F4                                                                            
    ZSAN      *   ZX       AMT+  MF10                                                                            
    ZSAN      *   ZX       NEXTR C                                                                               
    ZSAN      *   ZX       AMT+  9805                                                                            
    ZSAN      *   ZX       AMT+  9809                                                                            
    ZSAN      *   ZX       AMT+  9810                                                                            
    ZSAN      *   ZX       ZERO=&ZVAR                                                                            
    ZSAN      *   ZX       ADDWT&ZVAR                                                                            
    ZSAN      *   ZX       NEXTR D                                                                               
    ZSAN      *   ZX       PRINT&ZVAR                                                                            
    ****Variable ZVAR does not exist in table VAR                                             *   ZX       PRINT&ZVAR****
    ZSAN      *   ZX       ZERO= RNA

    Hi
    Other variables are correct, please check, like ZVA1 etc.
    ZERO=&ZVAR VVVV Set zero
    ADDWT&ZVAR VAR Variable table
    In the first lines, you did not maintain print statement. Please check.
    Regards
    Team Member.

Maybe you are looking for