Debugging doubt ??

Hi gurus,
I have copied Program A to Program B.
When i execute a transaction , the program A is called ; by setting break points in this program i am able to debug this program.
Now, I have made some changes in program B and i want to debug this program. I want to debug this program, so i want  this program to be executed instead of Program A when i execute the transaction.
And once i am done with debugging stuff, i want the transaction to call the Program A again.
How to achieve this ? and is it possible to do this without affecting the calling  of Program A ??
Plz help !!
Regards.

Hi Akshay,
                To solve your problem follow the below steps.
1. First copy the program in to Z.
2. Create one Z transaction and assign the Zprogram which we have copied newly to the Ztransaction.
3. Now put the debug points and execute the program.
               What ever the changes u required do it in Zprogram and do the debugging.comple all your  modifications in Zprogram itself, once it is done copy the modifications which ever did in Zprogram in to original program.I think this will resolve your problem.
<REMOVED BY MODERATOR>
Regards,
Koti Reddy Nandaloori
Edited by: Alvaro Tejada Galindo on Feb 22, 2008 9:13 AM

Similar Messages

  • External debugging doubt

    Hi,
    We  are in  SRM 4.0,
    I am trying do external debugging while creating a shopping cart(BBPSC01),
    The breakpoint is getting stopped but in the same web portal only, not in a new gui screen.
    When I press F5 the portal screen is getting refresh and F6,F8 doesnt work.
    Only I can check the value where the breakpoint stopped.
    Checked:-
    1.Utilities -> Settings -> ABAP Editor -> Debugging -> External Debugging and made the check box as active.
    2.The parameter ~GENERATEDYNPRO = 1 in sicf service
    Please let me know how can external debugging opens in a new session.
    Regards,
    Neelima

    Hi,
    Thanks for ur respone,
    Hi  kedar
    I tried keeping ABAP DEBUGGER as "New debugger",   still it is opening in the same portal page. And it is giving error
    " No additional external mode for new ABAP debugger available".
    Hi Ricardo Cavedini ,
    I checked that note it cannot be implemented in our system(checked in SNOTE)
    Regards,
    Neelima

  • DataGrid Tab Order Problems

    Please bear with me as I'm a total newbie to Flex (my experience has always been on the server side writing Java and working with the DB primarily). I have implemented a DataGrid table, provided several custom Renderers and Editors for the cells and loaded data to the grid and displayed it successfully. Then, when I try tabbing in it, I get some bad results.
    My DataGrid has 9 columns. The first colum (item 0) is not editable nor is item 1. Item 2 is a TextInput Renderer. Item 3 is a TextArea Renderer. Items 4, 5, and 6 are all Spark components encapsulatede in an MX tag so that they display in the DataGrid. They are all NumericSteppers. Items 7 to n are all TextInput Renderers. All Renderers I've built are in components wrapped by the s:MXDataGridItmeRenderer tags.
    Since I can't edit 0 or 1, I start my cursor in 2. I edit that cell and tab to the next cell. I then edit that but can't seem to get the tab to go to item 4, 5 or 6 (my numericsteppers). The cursor skips to the next TextInput field (when it behaves at all).
    I tried forcing the code by adding a DataGridEvent Listener and moving the cursor as follows:
                protected function datagridEvent(event:DataGridEvent):void {
                    if(event.reason == DataGridEventReason.NEW_COLUMN) {
                        columnIndex:int = event.columnIndex;
                        rowIndex:int = event.rowIndex;       
                        movieEntryGrid.editedItemPosition(columnIndex + 1, rowIndex);
    That seems to ensure that at least my tabs run horizontally (I'll deal with new rows next) but it still skips the NumericSteppers and only moves the cursor to any editable column that is not a NumericStepper. Can someone help me understand how to make this work?

    Sorry. I thought I had provided what you asked for. Thanks for your help. After much fiddling, here's the entire code for the DataGrid.
    <?xml version="1.0" encoding="utf-8"?>
    <s:Group xmlns:fx="http://ns.adobe.com/mxml/2009"
             xmlns:s="library://ns.adobe.com/flex/spark"
             xmlns:mx="library://ns.adobe.com/flex/mx">
        <fx:Script>       
            <![CDATA[
                import flash.events.Event;
                import mx.controls.Alert;
                import mx.events.DataGridEvent;
                import mx.events.DataGridEventReason;
                private function releaseDateFormat(item:Object, column:DataGridColumn):String {
                    return releaseDateFormatter.format(item[column.dataField]);
                commented in and out for debugging - doubt this method is needed based on forum help
                protected function datagridEvent(event:DataGridEvent):void {
                    var totalColumns:int = movieEntryGrid.columnCount;
                    var totalRows:int = movieEntryGrid.rowCount;
                    if(event.reason == DataGridEventReason.NEW_COLUMN) {
                        var columnIndex:int = event.columnIndex;
                        var rowIndex:int = event.rowIndex;               
                        movieEntryGrid.editedItemPosition(columnIndex + 1, rowIndex);
                    if(event.reason == DataGridEventReason.NEW_ROW) {
                        columnIndex = event.columnIndex;
                        rowIndex = event.rowIndex;
                        //implement once I figure out the movement in columns...
            ]]>       
        </fx:Script>   
        <fx:Declarations>
            <!-- Temp data object until I load the xml from server via SOAP call -->
            <s:ArrayCollection id="arrayCollection">
                <s:source>               
                    <fx:Array>                   
                        <fx:Object name="01234.mp4" title="" description="" length="1" bitrate="1" releaseDate="" ageRestriction="0" size=""/>
                        <fx:Object name="43210.mp4" title="" description="" length="1" bitrate="1" releaseDate="" ageRestriction="0" size=""/>                   
                    </fx:Array>
                </s:source>
            </s:ArrayCollection>
            <mx:DateFormatter id="releaseDateFormatter"
                              formatString="YYYY/MM/DD"/>       
        </fx:Declarations>   
        <s:layout>
            <s:VerticalLayout/>
        </s:layout>
        <s:Label text="Video Data" styleName="addHeader"/>
        <mx:DataGrid id="movieEntryGrid" dataProvider="{arrayCollection}"                        
                             sortableColumns="false"
                             editable="true" fontSize="11">
            <mx:columns>
                <mx:DataGridColumn id="idColumn" dataField="id"
                                   headerText="Movie ID"                              
                                   editable="false"/>           
                <mx:DataGridColumn id="nameColumn" dataField="name"
                                   headerText="Movie Name"
                                   editable="false"/>
                <mx:DataGridColumn id="titleColumn" dataField="title"
                                   headerText="Movie Title"
                                   editable="true" />
                <mx:DataGridColumn id="descriptionColumn" dataField="description"
                                   headerText="Movie Description"
                                   editable="true"
                                   itemRenderer="tv.socialkast.upload.DescriptionRenderer"
                                   rendererIsEditor="true" />
                <mx:DataGridColumn id="durationColumn" dataField="length"
                                   headerText="Seconds"                              
                                   rendererIsEditor="true"
                                   editable="true">           
                    <mx:itemRenderer>
                        <fx:Component>
                            <s:MXDataGridItemRenderer height="100">
                                <s:NumericStepper id="secStepper" minimum="1" maximum="72000"
                                                  width="75"
                                                  horizontalCenter="5"
                                                  verticalCenter="5"/>
                            </s:MXDataGridItemRenderer>
                        </fx:Component>
                    </mx:itemRenderer>
                </mx:DataGridColumn>   
                <mx:DataGridColumn id="bitColumn" dataField="bitrate"
                                   headerText="Bit Rate"
                                   rendererIsEditor="true"
                                   editable="true">
                    <mx:itemRenderer>
                        <fx:Component>
                            <s:MXDataGridItemRenderer height="100">
                                <s:NumericStepper id="bitStepper" minimum="1" maximum="5000"
                                                  width="75"
                                                  horizontalCenter="5"
                                                  verticalCenter="5"/>
                            </s:MXDataGridItemRenderer>
                        </fx:Component>
                    </mx:itemRenderer>       
                </mx:DataGridColumn>
                <mx:DataGridColumn id="releaseDateColumn" dataField="releaseDate"
                                   headerText="Release Date"
                                   editable="true"
                                   labelFunction="releaseDateFormat"/>
                <mx:DataGridColumn id="ageRestrictColumn" dataField="ageRestriction"
                                   headerText="Minimum Age"
                                   rendererIsEditor="true"
                                   editable="true">
                    <mx:itemRenderer>
                        <fx:Component>
                            <s:MXDataGridItemRenderer height="100">
                                <s:NumericStepper id="ageStepper" minimum="1" maximum="125"
                                                  width="75"
                                                  horizontalCenter="5"
                                                  verticalCenter="5"/>
                            </s:MXDataGridItemRenderer>
                        </fx:Component>
                    </mx:itemRenderer>
                </mx:DataGridColumn>
                <mx:DataGridColumn id="sizeColumn" dataField="size"
                                   headerText="Size in MB"
                                   editable="true"/>                              
            </mx:columns>
        </mx:DataGrid>
    </s:Group>
    I have removed all TextInput custom Renderers, leaving only the inline Renderers you see here plus one custom Renderer (below) until I get this tabbing and editing function working. This is "DescriptionRenderer.mxml":
    <?xml version="1.0" encoding="utf-8"?>
    <s:MXDataGridItemRenderer xmlns:fx="http://ns.adobe.com/mxml/2009"
                              xmlns:s="library://ns.adobe.com/flex/spark"
                              xmlns:mx="library://ns.adobe.com/flex/mx"
                              focusEnabled="true">
        <s:TextArea id="editor" editable="true" width="100" height="100" focusEnabled="true" enabled="true"/>
    </s:MXDataGridItemRenderer>

  • Debug a Web Dynpro Java Application.

    Hi All,
    I am trying to debug a Web Dynpro for java application, however I am getting this error whenever i try to do
    Failed to connect to remote VM. connection refused.
    I tried the following options that were suggested in few Threads
    1) I have the J2EE server running in Debug mode,
    2) I also ensured that there is no one else using the NWDS in debug mode
    3) I restarted the NWDS and the portal server several time.
    Are there any other suggestions apart from the ones mentioned above?
    the following thread talks about locking of port [link|NWDS: Debug: Failed to connect to remote VM. Connection refused.;. I doubt if that could be the issue.
    Can someone suggest how to identify the port is locked and how to unlock it?
    Thanks
    Bharath mohan B

    Hi Bharath,
    1) Check if you are following the procedure as mentioned at the following link:
    https://www.sdn.sap.com/irj/scn/go/portal/prtroot/docs/library/uuid/849170e3-0601-0010-d59e-ddfce735fac5
    2) Please do check whether the Server Instance Debug Mode is "ON"
    You can check it from NWDS >J2EE Engine View>Server Instance>server0
    If its not then you need to change it and any Basis Team can help you.
    3) If it is running in the debug mode then please ensure that there is no one else debugging on the same server node. Generally there is only one instance configured for debugging. If someone is using the same server node instance for debugging then you might have to ask for closing that debug session to continue with your debugging.
    4) Check whether you are using the correct server for debugging. Most of the we make mistake while configuring the debug server
    5) Check this discussion:
    NWDS: Debug: Failed to connect to remote VM. Connection refused.
    Regards.
    Rajat

  • Help me debug DAC-104, BC4J

    DAC-104: ImmediateAccess: setAttribute failed. ColumnView: Hct row: 1
    JBO-26080: Error while selecting entity for Cbc
    [ODBC S1C00] driver not capable of this operation
    This is an Oracle Lite source. I'm confused by the ODBC statement - as I thought I'm running a JDBC connection.
    How can I debug this????

    I'm a bit further - with debug output on I find:
    [267] Executing LOCK...SELECT DAY, HORSE_ID, WBC, HGB, HCT, PLT, MCHC, PMN, STAB, BASO, LYMPH, MONO, EOS, FECAL, MY, ALBUMIN, BL FROM CBC WHERE DAY=? AND HORSE_ID=? FOR UPDATE NOWAIT
    I doubt that Oracle LITE supports "Select for update nowait", which is why I then get:
    [268] {{+++ id=10059 type: 'JDBC_CREATE_STATEMENT' createPreparedStatement - prefetch size: 1
    [269] }}+++ End Event10060 null
    [270] SQL Failure in select for lock: [ODBC S1C00] driver not capable of this operation
    This is a detail entity of a master detail. It fails like this if you bring up an existing row, then change any field, and tab/navigate to the next field. Apparently at this point DAC/BC4J are trying to lock the row for update for me. I have no idea how this got turned on - how do I turn it back off? [Assuming Oracle Lite does not support "Select for update".
    Thanks,
    Bryan                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                   

  • Kernel panics & grey debug screen at startup

    Tiger (10.4.10) on a 2 GHz Mac mini (Intel) and Airport as well as IPv6 disabled.
    Not sure which torrent client I installed first but I think it was Transmission and everything was fine. Then I installed Azureus on the advise of a friend and started getting kernel panics. Switched back to Transmission and KPs continued. Soon I started getting them with just running Safari or even Firefox.
    Next there was a Mac OS upgrade (10.4.11 and a couple other things) and the machine would not even start up anymore. Always got a grey debug screen with msg to press powerbutton.
    Tried doing an archive and install and it failed twice.
    Tried doing a clean install (OS only) on external 30GB USB 2.0 HD and it failed as well.
    Apple Support and Apple store were clueless.
    At least the genius was able to boot with their troubleshooting HD and run Disk Warrior which found a couple minor issues and I was able to see that my data was stull there. Unfortunately the 30gb HD was too small to copy my user folder (86gb).
    Went and bought an external 320gb firewire disk and tried to do a clean install and it failed.
    Called Apple again and suspected bad DVD media. They sent replacement disks and they failed as well.
    Ran Apple Hardware Test and it found bad memory (?) with 2x 1GB Corsair sticks. I even tried them individually. That memory has worked since August 2007 until I started seeing the kernel panics in December. What are the odds of both SODIMMs going bad at the same time ? Could a bad app cause memory to go bad ? I doubt it.
    with 2 GB Corsair memory: 4MEM/4/40000000:2c02fd60
    Swapped original 2x 512 MB Apple sticks in and AHT found another error.
    with 1 GB Apple memory: 4SNS/1/40000000:TAOP
    From other forum posts I found that 4MEM usually indicates a memory or system board issue while 4SNS seems to indicate a sensor issue, but that could have been due to unplugged (termal?) cable in front of mini due to the need to swap memory in and out for testing.
    What gives ?
    I was however, able to install now on external FW disk and copy my user folder to it as well.
    So this indicates a problem with 3rd party mem but there may be something else wrong with mini system board or Apple mem as well.
    TX

    ::UPDATE::
    Okay, I eventually got my iMac to start up successfully, without crashing after logging in. But I still thought there was something wrong so I booted from the Apple Hardware Test CD that came with my computer and I got yet ANOTHER Kernel Panic! Here is what it said:
    Kernel Panic Message:
    DEFAULT CATCH!, code=300 at %SRR0: 000352d4 %SRR1: 00003030
    Apple PowerMac4,2 4.3.5f1 BootROM built on 03/16/02 at 21:45:18
    Copyright 1994-2002 Apple Computer, Inc.
    All Ri
    DEFAULT CATCH!, code=300 at %SRR0: ff84750c %SSR1: 0000b030
    ok
    0>
    DEFAULT CATCH!, code=300 at SSR0: ff84750c %SSR1:_
    This message appeared soon after it began testing the memory. The result of the test were as follows:
    Test Results:
    Airport Passed
    Logic Board Passed
    Mass Storage Passed
    Memory In Progress
    Modem Device Found
    Video RAM Has not been run yet
    And now it is back to not booting up at all!
    Does anyone have any suggestions based on the new kernel panic message?
    Thank you for your help.
    Message was edited by: rrm74001

  • Doubt in ORA_FFI(Its urgent)

    Hi,
    I've created a test.dll which contains caps func as follows:
    int caps()
         int * ptr=0x417;
         if (*ptr==64)
              return 1;
    else
    return 0;
    Then I called this func through ORA_FFI package..
    DECLARE
    dll_handle ORA_FFI.LIBHANDLETYPE;
    winexec_handle ORA_FFI.FUNCHANDLETYPE;
    vn_ret PLS_INTEGER;
    FUNCTION Runp( handle IN ORA_FFI.FUNCHANDLETYPE)
    RETURN PLS_INTEGER;
    PRAGMA INTERFACE(C, Runp, 11265);
    BEGIN
    break;
    dll_handle := ORA_FFI.REGISTER_LIBRARY(NULL,'test.dll');
    winexec_handle := ORA_FFI.REGISTER_FUNCTION(dll_handle,'caps');
    ORA_FFI.REGISTER_RETURN(winexec_handle,ORA_FFI.C_INT);
    vn_ret := Runp(winexec_handle);
    IF vn_ret = 2 THEN
    MESSAGE('Cannot find file ' );
    END IF;
    EXCEPTION WHEN OTHERS THEN
    FOR i IN 1..Tool_Err.NErrors LOOP
    message(Tool_Err.Message);
    Tool_Err.Pop;
    END LOOP;
    END;
    When I debug this code,It gives error as caps func not found in test.dll.
    But the only func in test.dll is caps..
    I'm using forms 6i in client server mode.
    I created test.dll using Microsoft visual c++ by creating new win32 Dynamic link library.
    One more doubt:
    How can I find functions in a already compiled DLL?
    Pls reply me..Its urgent..
    Adios..
    Prashanth Deshmukh

    Hi,
    refer these ,u will get some help
    Standard Buttons:
    https://www.sdn.sap.com/irj/sdn/wiki?path=/display/snippets/webDynproABAP-ALVControllingStandard+Buttons&
    alv-pfstatus:
    http://www.sapdevelopment.co.uk/reporting/alv/alvgrid_pfstatus.htm
    then how to capture that button click.
    http://www.sapdevelopment.co.uk/reporting/alv/alvgrid_ucomm.htm
    http://www.sapdevelopment.co.uk/reporting/alv/alvgrid_rowsel.htm

  • Impossible Debug. Infuritate situtation

    Hi.
    I did a post in the past about this sistuation: I CAN NOT DEBUG WHAT THE HELL IS GOING ON INSIDE DPS WEBVIEW. My application is very well written: it is using RequireJS via CoffeeScript, compiled with NodeJS (so "you forgot the semi-colon in the end of the line"). It works perfectly inside iOS Safari browser. It works perfectly inside webview if i point the webcontent of the view to a external URL. But never works like "local, embeded file". Im NOT using "http://" calls to point files. ALL PATHS ARE relative.
    But... Im missing the point here. The problem with this DPS WebView is: I cant figure out why the hell i can not debug my code! The Safari web inspector doesnt work! I already read the "Debugging a custom iOS storefront or library | Adobe Developer Connection". I use Safari Web Inspector with Safari iOS for a long time. BUT it didnt works WITH DPS WEBVIEW! It says "No Inspcetable Application". It only works if access the page through iOS Safari. But it do works perfectly in Safari. It doesnt work only inside DPS with as a local embed html. So, what do I do??
    How should I found where my scripts stop working? If it is broke, and I doubt, where can i found information WHERE it is breaking inside Webview on DPS? Why dont you give us a real, reliable information/log/connection about scripts running inside your webview?? It runs like "file://" or it does create a kind of "http://localhost" inside DPS?
    Please, Im really tired to stay "guessing" what is wrong with a code that runs:
    - Perfectly in desktop browsers
    - Perfectly in my iPad iOS Safari browser
    - Perfectly in Adobe DPS WebView WHEN I point the HTML as an external URL
    - Broken when I point the HTML as local file in my hard drive.
    I really need some help here.
    Thank You
    Pedro Paulo Almeida
    Brazil Developer

    After a lot of searches, at least i have an indication. When i set -debug=false, i don't have the issue anymore. But of course, i can't debug my file, so it is not of a great help, but maybe this will lead to an idea to you all..
    Note that Apple support was indicating me that by creating a new user account on my Mac i could have solved it. I tried, and it seems to work for few hours. But after the problem came back again with my new account.
    Of course still looking for a solution , it is very very annoying.

  • Script to collect all fonts throw an assert in CS5 Debug. Have someone an idea to find the solution?

    Hello forum members,
    Sorry for my english, this is not my native language.
    I use a Script from http://www.typomedia.org/adobe/indesign/fontcatalog/ to get all fonts from %Systemroot%/Fonts and the font folder of InDesign and write a simple text with these fonts. To test the script I run it under CS5 and CS5 Debug. It found only 6 of over 900 fonts. In CS5 Debug any time I run the Script, I collect two times the assert:
    JavaScriptDataConverter::ScriptDataToVariant - Untranslated key string: System Font
    Eng: Script providers must return untranslated strings to INX and translated strings to scripting clients.
    QE: Please report this assert as a 2/2 bug
    ..\..\..\source\components\script\javascript\JavaScriptDataConverter.cpp (101)
    In my first step I consult the developer of the script, but he has no idea why I get the assert. He also test his script under InDesign CC but he has no problems.
    My InDesign CS5 and CS5 Debug versions are installed on the same system Windows Server 2008 R2 Standard SP 1.
    I think the assert is the reason I get only 6 fonts in the normal CS5 Version.
    Maybe the problem occur, because its a Server System or there are interdependency with other components because its an developer machine.
    Have someone an idea or a similar issue, how I can clear my problem?
    Thanks for your attention
    m.gmaz

    The debug version is for developing plugins, so a script programmer need not know such details.
    The assert is just a warning, you will still receive the string.
    As you have the debug build, you should know that, and how to file a bug report / support case, but I doubt that bug fixes for CS5 will be handled with high priority - after all it is just an assert. OTOH if you can demonstrate that this also leads to broken INX files, that might ring a bell.
    Iterating fonts by means of the file system is a less than stellar idea, for that purpose we have the app.fonts collection which also considers the other applicable locations - application specific fonts, document fonts, fonts provided by font activation programs, even fonts in some spurious location of the scripts folder and missing fonts. The font object also has a property for its file system path, if you really need that (writing your own package command?).
    Dirk

  • Debugging of inbound ABAP proxy

    Please To show the debugging of inbound ABAP proxy, the implementation of the demo scenario is used. The demo scenario is available in any installation WebAS 6.40 or higher.

    follow this method and check debugging mode.
    Debugging of inbound proxies in WebAS 6.40 or higher
    To show the debugging of inbound ABAP proxy, the implementation of the demo scenario is used. The demo scenario is available in any installation WebAS 6.40 or higher.
    At first you have to set a break point in the ABAP code. Call transaction SPROXY. Expand the namespace http://sap.com/xi/XI/Demo/Airline, the node Message Interface (inbound) and the interface FlightBookingOrderRequest_In.
    Double click on interface II_SXIDAL_FBO_REQUEST and get the view of the proxy object properties.
    Double click on the implementing class (ABAP name) and then double click on the method name (this class has only one method).
    Now you are in the inbound proxy implementation. Set the break point on the first executable line.
    With help of the back button (F3) go back to the transaction SPROXY. Here you choose from menu Proxy -> Test Interface
    In the next pop up check the field XML Editor to maintain the payload.
    In the next screen apply suitable values or upload the XML payload of the SXMB_MONI (after mapping).
    Now the inbound proxy processing should stop at the break point.
    If the processing does not stop at the break point, there might be an error in the XML. Check at the result page for error messages.
    Debugging of inbound proxies in WebAS 6.20
    You set the break point the same way as described above.
    To start the proxy test you call the report SPRX_TEST_INBOUND.
    As parameters you enter the name of the ABAP interface and the method name of of the ABAP interface and check the parameter Edit Native XML
    In the next screen you apply suitable values or upload the XML payload of the SXMB_MONI (after mapping).
    Then you click first on save button (F11), then on back button (F3).
    Now you should see your debug session. If not, check if the XML is valid. BAPI_GOODSMVT_CREATE to post Goods Movement
    The following is an abap program making used of the BAPI function BAPI_GOODSMVT_CREATE to do Goods Receipts for Purchase Order after importing the data from an external system.
    BAPI TO Upload Inventory Data
    GMCODE Table T158G - 01 - MB01 - Goods Receipts for Purchase Order
                         02 - MB31 - Goods Receipts for Prod Order
                         03 - MB1A - Goods Issue
                         04 - MB1B - Transfer Posting
                         05 - MB1C - Enter Other Goods Receipt
                         06 - MB11
    Domain: KZBEW - Movement Indicator
         Goods movement w/o reference
    B - Goods movement for purchase order
    F - Goods movement for production order
    L - Goods movement for delivery note
    K - Goods movement for kanban requirement (WM - internal only)
    O - Subsequent adjustment of "material-provided" consumption
    W - Subsequent adjustment of proportion/product unit material
    report zbapi_goodsmovement.
    parameters: p-file like rlgrap-filename default
                                     'c:\sapdata\TEST.txt'.
    parameters: e-file like rlgrap-filename default
                                     'c:\sapdata\gdsmvterror.txt'.
    parameters: xpost like sy-datum default sy-datum.
    data: begin of gmhead.
            include structure bapi2017_gm_head_01.
    data: end of gmhead.
    data: begin of gmcode.
            include structure bapi2017_gm_code.
    data: end of gmcode.
    data: begin of mthead.
            include structure bapi2017_gm_head_ret.
    data: end of mthead.
    data: begin of itab occurs 100.
            include structure bapi2017_gm_item_create.
    data: end of itab.
    data: begin of errmsg occurs 10.
            include structure bapiret2.
    data: end of errmsg.
    data: wmenge like iseg-menge,
          errflag.
    data: begin of pcitab occurs 100,
            ext_doc(10),           "External Document Number
            mvt_type(3),           "Movement Type
            doc_date(8),           "Document Date
            post_date(8),          "Posting Date
            plant(4),              "Plant
            material(18),          "Material Number
            qty(13),               "Quantity
            recv_loc(4),           "Receiving Location
            issue_loc(4),          "Issuing Location
            pur_doc(10),           "Purchase Document No
            po_item(3),            "Purchase Document Item No
            del_no(10),            "Delivery Purchase Order Number
            del_item(3),           "Delivery Item
            prod_doc(10),          "Production Document No
            scrap_reason(10),      "Scrap Reason
            upd_sta(1),            "Update Status
          end of pcitab.
    call function 'WS_UPLOAD'
      exporting
        filename                      = p-file
        filetype                      = 'DAT'
    IMPORTING
      FILELENGTH                    =
      tables
        data_tab                      = pcitab
    EXCEPTIONS
      FILE_OPEN_ERROR               = 1
      FILE_READ_ERROR               = 2
      NO_BATCH                      = 3
      GUI_REFUSE_FILETRANSFER       = 4
      INVALID_TYPE                  = 5
      OTHERS                        = 6
    if sy-subrc <> 0.
      message id sy-msgid type sy-msgty number sy-msgno
              with sy-msgv1 sy-msgv2 sy-msgv3 sy-msgv4.
      exit.
    endif.
    gmhead-pstng_date = sy-datum.
    gmhead-doc_date = sy-datum.
    gmhead-pr_uname = sy-uname.
    gmcode-gm_code = '01'.   "01 - MB01 - Goods Receipts for Purchase Order
    loop at pcitab.
      itab-move_type  = pcitab-mvt_type.
      itab-mvt_ind    = 'B'.
      itab-plant      = pcitab-plant.
      itab-material   = pcitab-material.
      itab-entry_qnt  = pcitab-qty.
      itab-move_stloc = pcitab-recv_loc.
      itab-stge_loc   = pcitab-issue_loc.
      itab-po_number  = pcitab-pur_doc.
      itab-po_item    = pcitab-po_item.
      concatenate pcitab-del_no pcitab-del_item into itab-item_text.
      itab-move_reas  = pcitab-scrap_reason.
      append itab.
    endloop.
    loop at itab.
      write:/ itab-material, itab-plant, itab-stge_loc,
              itab-move_type, itab-entry_qnt, itab-entry_uom,
              itab-entry_uom_iso, itab-po_number, itab-po_item,
                                                  pcitab-ext_doc.
    endloop.
    call function 'BAPI_GOODSMVT_CREATE'
      exporting
        goodsmvt_header             = gmhead
        goodsmvt_code               = gmcode
      TESTRUN                     = ' '
    IMPORTING
        goodsmvt_headret            = mthead
      MATERIALDOCUMENT            =
      MATDOCUMENTYEAR             =
      tables
        goodsmvt_item               = itab
      GOODSMVT_SERIALNUMBER       =
        return                      = errmsg
    clear errflag.
    loop at errmsg.
      if errmsg-type eq 'E'.
        write:/'Error in function', errmsg-message.
        errflag = 'X'.
      else.
        write:/ errmsg-message.
      endif.
    endloop.
    if errflag is initial.
      commit work and wait.
      if sy-subrc ne 0.
        write:/ 'Error in updating'.
        exit.
      else.
        write:/ mthead-mat_doc, mthead-doc_year.
        perform upd_sta.
      endif.
    endif.
          FORM UPD_STA                                                  *
    form upd_sta.
      loop at pcitab.
        pcitab-upd_sta = 'X'.
        modify pcitab.
      endloop.
      call function 'WS_DOWNLOAD'
        exporting
          filename                      = p-file
          filetype                      = 'DAT'
    IMPORTING
      FILELENGTH                    =
        tables
          data_tab                      = pcitab
    EXCEPTIONS
      FILE_OPEN_ERROR               = 1
      FILE_READ_ERROR               = 2
      NO_BATCH                      = 3
      GUI_REFUSE_FILETRANSFER       = 4
      INVALID_TYPE                  = 5
      OTHERS                        = 6
    endform.
    *--- End of Program
    Finding the user-exits of a SAP transaction code
    Finding the user-exits of a SAP transaction code
    Enter the transaction code in which you are looking for the user-exit
    and it will list you the list of user-exits in the transaction code.
    Also a drill down is possible which will help you to branch to SMOD.
    report zuserexit no standard page heading.
    tables : tstc, tadir, modsapt, modact, trdir, tfdir, enlfdir.
             tables : tstct.
    data : jtab like tadir occurs 0 with header line.
    data : field1(30).
    data : v_devclass like tadir-devclass.
    parameters : p_tcode like tstc-tcode obligatory.
    select single * from tstc where tcode eq p_tcode.
    if sy-subrc eq 0.
       select single * from tadir where pgmid = 'R3TR'
                        and object = 'PROG'
                        and obj_name = tstc-pgmna.
       move : tadir-devclass to v_devclass.
          if sy-subrc ne 0.
             select single * from trdir where name = tstc-pgmna.
             if trdir-subc eq 'F'.
                select single * from tfdir where pname = tstc-pgmna.
                select single * from enlfdir where funcname =
                tfdir-funcname.
                select single * from tadir where pgmid = 'R3TR'
                                   and object = 'FUGR'
                                   and obj_name eq enlfdir-area.
                move : tadir-devclass to v_devclass.
              endif.
           endif.
           select * from tadir into table jtab
                         where pgmid = 'R3TR'
                           and object = 'SMOD'
                           and devclass = v_devclass.
            select single * from tstct where sprsl eq sy-langu and
                                             tcode eq p_tcode.
            format color col_positive intensified off.
            write:/(19) 'Transaction Code - ',
                 20(20) p_tcode,
                 45(50) tstct-ttext.
                        skip.
            if not jtab[] is initial.
               write:/(95) sy-uline.
               format color col_heading intensified on.
               write:/1 sy-vline,
                      2 'Exit Name',
                     21 sy-vline ,
                     22 'Description',
                     95 sy-vline.
               write:/(95) sy-uline.
               loop at jtab.
                  select single * from modsapt
                         where sprsl = sy-langu and
                                name = jtab-obj_name.
                       format color col_normal intensified off.
                       write:/1 sy-vline,
                              2 jtab-obj_name hotspot on,
                             21 sy-vline ,
                             22 modsapt-modtext,
                             95 sy-vline.
               endloop.
               write:/(95) sy-uline.
               describe table jtab.
               skip.
               format color col_total intensified on.
               write:/ 'No of Exits:' , sy-tfill.
            else.
               format color col_negative intensified on.
               write:/(95) 'No User Exit exists'.
            endif.
          else.
              format color col_negative intensified on.
              write:/(95) 'Transaction Code Does Not Exist'.
          endif.
    at line-selection.
       get cursor field field1.
       check field1(4) eq 'JTAB'.
       set parameter id 'MON' field sy-lisel+1(10).
       call transaction 'SMOD' and skip first   screen.
    *---End of Program
    u2026u2026u2026u2026u2026u2026u2026u2026u2026u2026u2026u2026u2026u2026u2026u2026u2026u2026u2026u2026u2026
    Difference Between BADI and User Exits
    Business Add-Ins are a new SAP enhancement technique based on ABAP Objects. They can be inserted into the SAP System to accommodate user requirements too specific to be included in the standard delivery. Since specific industries often require special functions, SAP allows you to predefine these points in your software. 
    As with customer exits two different views are available:
    In the definition view, an application programmer predefines exit points in a source that allow specific industry sectors, partners, and customers to attach additional software to standard SAP source code without having to modify the original object. 
    In the implementation view, the users of Business Add-Ins can customize the logic they need or use a standard logic if one is available.
    In contrast to customer exits, Business Add-Ins no longer assume a two-level infrastructure (SAP and customer solutions), but instead allow for a multi-level system landscape (SAP, partner, and customer solutions, as well as country versions, industry solutions, and the like). Definitions and implementations of Business Add-Ins can be created at each level within such a system infrastructure.
    SAP guarantees the upward compatibility of all Business Add-In interfaces. Release upgrades do not affect enhancement calls from within the standard software nor do they affect the validity of call interfaces. You do not have to register Business Add-Ins in SSCR.
    The Business Add-In enhancement technique differentiates between enhancements that can only be implemented once and enhancements that can be used actively by any number of customers at the same time. In addition, Business Add-Ins can be defined according to filter values. This allows you to control add-in implementation and make it dependent on specific criteria (on a specific Country value, for example).
    All ABAP sources, screens, GUIs, and table interfaces created using this enhancement technique are defined in a manner that allows customers to include their own enhancements in the standard. A single Business Add-In contains all of the interfaces necessary to implement a specific task.
    The actual program code is enhanced using ABAP Objects. In order to better understand the programming techniques behind the Business Add-In enhancement concept, SAP recommends reading the section on ABAP Objects.
    What is difference between badi and user-exists?
    What is difference between enhancements and user-exists? and what is the full form of BADI?
    I have another doubt in BDC IN BDC WE HAVE MSEGCALL (i did not remember the > correct name) where the error logs are stored, MSEGCALL is a table or structure.
    What is the system landscape?
    1) Difference between BADI and USER-EXIT.
        i) BADI's can be used any number of times, where as USER-EXITS can be used only one time.
           Ex:- if your assigning a USER-EXIT to a project in (CMOD), then you can not assign the same to other project.
        ii) BADI's are oops based.
    2) About 'BDCMSGCOLL' it is a structure.  Used for finding error records.
    3) Full form of BADI 'Business addins'.
    3) System land scape will be depends on your project 
        Ex:- 'Development server'>'Quality server'-> 'Production server'...... 
    List Of User Exit Related to VL01N
    I need to some restriction in fields ( Actual GI Date, T-Code:Vl01n ).
    How do you find out whcih user exits belongs to VL01n ?
    Here is the list of user exit related to VL01N :
    V02V0001   - Sales area determination for stock transport order 
    V02V0002   - User exit for storage location determination 
    V02V0003   - User exit for gate + matl staging area determination 
    V02V0004   - User Exit for Staging Area Determination (Item) 
    V50PSTAT  - Delivery: Item Status Calculation 
    V50Q0001   - Delivery Monitor: User Exits for Filling Display Fields
    V50R0001    -  Collective processing for delivery creation 
    V50R0002    - Collective processing for delivery creation 
    V50R0004    - Calculation of Stock for POs for Shipping Due Date List
    V50S0001    - User Exits for Delivery Processing 
    V53C0001    - Rough workload calculation in time per item 
    V53C0002    - W&S: RWE enhancement - shipping material type/time slot
    V53W0001   - User exits for creating picking waves 
    VMDE0001  - Shipping Interface: Error Handling - Inbound IDoc 
    VMDE0002  - Shipping Interface: Message PICKSD (Picking, Outbound) 
    VMDE0003  - Shipping Interface: Message SDPICK (Picking, Inbound) 
    VMDE0004  - Shipping Interface: Message SDPACK (Packing, Inbound)

  • Is it possible to debug step by step for share point designer workflow in share point 2010

    Hi all,<o:p></o:p>
    I have created a reminder date work flow but it is not working .In this work flow it need to be check first its status if its status is suspend then only workflow can run .I am
    attaching below workflow logic check if any modifications needed please suggest me . And  I have doubt is it possible to check step by step debugging like in coding we are using break point in this way any break point is available for designer workflows
    ? If break point is available please guide me how to get and use those<o:p></o:p>
    Thanking you,<o:p></o:p>
    ArunDarly 
    <o:p>Workflow logic given below</o:p>

    You can't step through a SharePoint Designer Workflow.  The normal workaround is to Log messages to the History list with the values you want to look at where you would normally put breakpoints.  Then run the workflow and examine the history
    list to see how the values changed as you went through your workflow.
    Paul Stork SharePoint Server MVP
    Principal Architect: Blue Chip Consulting Group
    Blog: http://dontpapanic.com/blog
    Twitter: Follow @pstork
    Please remember to mark your question as "answered" if this solves your problem.

  • SQL Developer - viewing table data while debugging

    Apologies if this is in the wrong forum.
    I'm using SQL Developer to debug a complex stored procedure line by line. There are a lot of inserts / updates / deletes in the procedure and I'd like to be able to view the data in the relevant tables after each statement has been run to see the effect of each statement.
    Trouble is, when I try to do this, SQL Developer shows the contents of the tables as if they have been unaffected by the stored procedure. Is there a setting somewhere or some type of locking I can use to see the data changes as they happen?

    Only the session that is inserting the data can see that new data until the session issues a commit, so I would doubt that you could do this. You probably want to a) view the data before the insert or b) (ugly but should work) put a trigger on the table being inserted so it inserts a copy of the data to a tracking table. This procedure will have to have the AUTONOMOUS TRANSACTION pragma in order to not be held until your debug session commits.

  • Debug dynpro + call script form

    Hello ,
    I have a req, I need to debug the few dynpro, and one of the dynpro is calling a form and I have to figure it out, which form is this ( and from where it is called ). I have never worked with script form before, can any one let me know how I can figure it out that ( how to call a form, I mean it should be statemnt like, call form .... or ) ?
    One another thing, I went into the coding, and there I see the screen ( in execution mode, the screen shows some button, ( e.g show , and after pressing this button show ,the form appers ), but when I went in flowlogic of the screen, I cant see those button ?
    Any idea....
    Regards,

    Shah,
    Do like this.You might be pressing some push button after which the smart form or script is appearing.
    do screen debugging.
    enter /h in the command field and press enter.
    now press the push button.
    this will take you to the logic in the driver program where the smartform or script is getting invoked.
    if it is a smartform you will see a function module SSF_FUNCTION_MODULE_NAME.
    smartform name will be stored in LF_FORMNAME
    put a watch point here to get the smartform name.
    if it is a script you will come across the following functional modules.
    open_form,write_form,close_form.
    Script name will be given in the open form functional module.
    If any doubt revert it.
    K.Kiran.
    Message was edited by:
            Kiran K

  • How do we debug jobs in background

    hi guys can any one clarify my doubt regrding debugging a job which is scheduled
    in back ground..
               thanks in advance..........

    Hello,
    You can debug very easily if your program that you want to debug is a custom program. You can put an endless loop in the code somewhere.
    WHILE SY-SUBRC = 0.
    CHECK SY-SUBRC = 0.
    ENDWHILE.
    Now go to SM50, select the work process that is running the program. Click Program/Session->Program->Debugging, it will then open the debugger and you will be looping at your endless loop. Change the value of SY-SUBRC to get out of the loop and debug as normal.
    or
    1) Fix the break points.
    2) Create job.
    3) Go SM37
    4) Select the job and write "jdbg" in command line.
    Check:
    <b>Re: Debug the baclground job
    Regards,
    Beejal
    **Reward if this helps

  • Doubt in javacard simple programming

    We read that jcwde acts as a simulator to run the program(ie when only we don't have card terminal),
    but we are owning a card terminal(gemplus) and card.
    Then what's the use of jcwde tool (simulator) in running the application.
    whether our card external program communicates with card resident program thru jcwde tools?
    Is it takes(jcwde) any active role in storing the applet permanently in the card.
    pls clarify our doubts at the earliest
    thangs in advance
    vinoth and vasan

    The use of the JCWDE is to allow simulation of a card without a reader. Also the JCWDE allows you to set debugging features in your code that can't exist in a real applet. Even if you have a card and reader you'd still want to test your code in a simulator. You don't use the JCWDE to communicate with a real card. It doesn't store applets on card either. The role of the JCWDE is a first stage of testing. After that, you'll want to use the C-REF, which is a true JCVM. ( JCWDE runs Java VM ).
    By the way, owning a card terminal isn't all that's needed to store applets on a card. You'll need a loader and that is provided by purchasing a kit.

Maybe you are looking for

  • Ical Help needed- can not delete a four year ical event

    I accidentally sent an ical event that lasts for four years and now I he cant delete it and it is taking up more and more memory on his phone as it is repeating infinitly every day?? Have tried restore but it still syncs with icloud. is there an easy

  • Photoshop 5 Installed on New Win7 computer missing a library to work

    Had purchased Photoshop Elements 5 (don't use Photoshop alot) and when tried to install on new computer after old one crashed has error message that it is missing a library--won't work.  Same as I installed on XP machine.  New machine has Win7 but ha

  • Change Exchange Rate VF02

    Hi Friends, I need to change the Exchange Rate in VF02 transaction code, but it is showing GREY field. How can I change the exchange rate before posting to accounting entry. Please suggest the solution for changing the Exchange rate in VF02 or any ot

  • How to synchronize N95 8GB with Google calendar

    Hello, I'm using N95 8GB and I would like to synchronize all my information with Google Calendar. How can I do it? Thank you, Tom K. Solved! Go to Solution.

  • Archive data in external file

    Can somebody tell me how to archive customer-specific data in an external file per customer(prefer .pdf) Regards Rob