Want to capture the exception in webservice?..

Hi,
I have written a BAPI within the MAIN function module for Asset creation. Suppose if the asset is not created due to some invalid data i dont want to use the BAPIRET2 structure for Exception handling, but i want to capture on the MAIN function module EXCEPTIONS.
Note: EvenIf the BAPI fails the sy-subrc is 0.
Please suggest.
Regards,
Neslin.

Hi Neslin,
the following content may help you
https://www.sdn.sap.com/irj/sdn/go/portal/prtroot/docs/library/uuid/107aeaf2-540f-2a10-4286-a03955f5274c
if helpful reward points are appreciated

Similar Messages

  • Capture the exceptions from BW Bex Report in a class/interface

    Hi....
    I am trying to capture the exceptions defined in the BW BEx Reports in a class (superclass - CL_RSR_WWW_MODIFY_TABLE) in a variable or something.
    This is actually to change the properties of a table in Web Applcn. acc to the exceptions by altering the cell content in the class(Transaction - SE80).
    Is it possible to store the exceptions in a variable in the class???

    Hi Smriti,
    Exception and Exception Handling can be based on classes in ABAP Objects. In an exception situation, an exception is represented by an exception object –
    i.e. an instance of an exception class. Its attributes contain information about the
    error situation. Exception classes can be defined both locally and globally. When a class based exception is raised, the system interrupts normal   program flow and tries to navigate to the suitable handler.
    An exception can only be handled if the causing statement(s) is enclosed in a TRY-ENDTRY block. If a exception occurs in a TRY block, the system first searches for a CATCH statement (which will handle the exception) in the same block and then step by step upwards in all enclosing TRY-ENDTRY blocks. If it finds one, it navigates to this handler, else if TRY-ENDTRY block is in a procedure, it then tries to propagate the exception to the calling program. After exception occurs, system searches through the listed exception handlers in specified order and executes first handler whose CATCH statement contains the relevant exception class or one of its superclasses.
    PARAMETERS: p_num1 TYPE i,
                p_num2 TYPE i.
    DATA: gv_result TYPE i,
          gv_text   TYPE string,
    Defining reference variables  with reference to the common superclass *
    CX_ROOT of all exception classes.                                     *
          z_ref_exc TYPE REF TO cx_root.
    TRY.
        gv_result = p_num1 / p_num2.
        WRITE / gv_result.
    For division by zero, the runtime system raises the exception         *
    cx_sy_zerodivide. This is handled in the CATCH block. The reference   *
    to the appropriate instance is stored in the data object z_ref_exc.   *  
      CATCH cx_sy_zerodivide INTO z_ref_exc.
    Handler can access the instance's exception text using the functional *
    method GET_TEXT.                                                      *   
        gv_text = z_ref_exc->get_text( ).
        MESSAGE gv_text TYPE 'I'.
    ENDTRY.
    Award points if found useful.
    Regards
    Indrajit

  • I would want to capture the reference of memory of a generic component ?

    I would want to capture the reference of memory of a generic component
    example1 ->{javax.swing.JScrollPane@678 }
    example2 ->{javax.swing.JTextField@577 }
    ecc..
    Thanks

    I would want to capture the reference of memory of a
    generic component
    example1 ->{javax.swing.JScrollPane@678 }
    example2 ->{javax.swing.JTextField@577 }
    ecc..
    Thanksuse an Objectit is the closest thing in the language to a memory reference
    all EventListeners have a getSource() method that yields an Object
    Furthermore anything allocated with new descends from Object
    For example, lets say you added the same ActionListener to 3 different buttons
    You could test which button triggered the action as follows
    Let e be the ActionEvent passed to the ActionPerformed method of an ActionListener
    if (e.getSource().equals(jButtonOne)){; // jButton1 actions
    } else if (e.getSource().equals(jButtonTwo)){;//jButton2 actions
    } else if (e.getSource().equals(jButtonThree)){;//jButton3 actions
    }The equals method of Object is the Java idiom for comparing memory references.

  • Cannot capture the exception generated by EJB components.

    Hi, All:
    I got a strange problem when developing EJB application under SAP WAS server. I developed an EJB as below:
    public class UserAccountBean implements SessionBean{
         String getUserEmail(String accountID) throws SAPSystemException{
              if(error){
                   throw new SAPSystemException("Specified user not found.");
    Exception I defined as below.
    public class SAPSystemException extends Exception {
    @param message
         public SAPSystemException(String message) {
              super(message);
    In client side I code as below:
    public String getUserMail(String accountID){
         UserAccount bean = home.create();
         try{
              String email = bean.getUserEmail(accountID);
         }catch(SAPSystemException e){
              // do something here;
         }catch(Exception e){
              // do some other thing here;
    It is strange that the SAPSystemException I throw out in the bean cannot be caught by the block catch(SAPSystemException e), it is only captured as general exception and it is said as UndeclaredThrowableException.
    When I deployed EJB components and Web components together, the exception can be captured successfully. But when I deployed them separately, it has problem for exception capture. I think it must be the protocol problem. Before I only use RMI-IIOP but SAP WAS server using RMI-P4. Is anything I can do to solve this problem?
    I packed the remote and home interface for the EJB and common classes like value objects and exceptions in both components. Is there anything I forgot to set for the deployment?
    Thanks in advance.
    Message was edited by: Weimin Guo
    Message was edited by: Weimin Guo

    Thank you very much Gregor. In fact, I already defined this throws exception in the remote object interface.
    public interface UserAccount extends EJBObject {
         public String getUserEmail(String accountID) throws RemoteException, SAPSystemException;
    This is application-specific interface and this mechanism works well in my previous in other application server.
    I checked the SAP document and found if you using RMI-IIOP, you need to get the client package for your deployed EJBs and put in the path accessible by the WEB components. Based on this suggestion, I put the EJB jar file together with WEB application (Sure the EJB application still deployed in other host and JNDI point to that host. I remembered one book mentioned that if you don't want generate the client package from EJB containter, you can do it this way. For me, I just haven't found the way to get the client package with Administrator Tool it said.), It works!!!. I checked the remote object generated by home object, it is different with EJB jar file there or not. But in the document SAP said that only if you use RMI-IIOP you need do this way, for RMI-P4, you don't need that. Anyway, it seems that RMI-P4 use same way as RMI-IIOP(You only don't need narrow the home object after lookup).
    I'll try to find how to get EJB client package from WAS server. For this is my first time to use SAP WAS Server, things a little strange.
    Thank you very much for your great help.
    Cheers.

  • I want to capture the remainder of a division operation

    Hi,
    I need to capture the remainder  of a division operation. Ex : 33/9  remainder is 6. I want to know the way to capture the remainder. Can any body help me out.
    Regards,
    Srinivas

    Hi,
    MOD : Integer remainder of the division of the left by the right operand
    Syntax
    [COMPUTE] result = [+|-] operand1
                       [{+|-|*|/|DIV|MOD|**} [+|-] operand2
                       [{+|-|*|/|DIV|MOD|**} [+|-] operand3
    In an arithmetic expression, you can use arithmetic operators to link an operand operand1 with one or more operands operand2, operand3, and so on; parentheses are possible. Arithmetic expressions can only be used in the COMPUTE statement. Each arithmetic expression has a calculation type.
    Arunima

  • Want To Capture The File name Using the SQL Loader

    Hi,
    I Am loading The Data To Staging Table Using The SQL*developer, The File That need to be Loaded Will be One Of The Input To the SQL*Loader Concurrent Program.
    In One Of The Column Of My staging Table I want To Put The File name.
    Can We do the Same.
    thanks,
    Ankit

    Not unless you generate the loader controlfile dynamically.. try this.. pass file name as $1 first parameter. Use the below example and modify as per your requirement
    1) create table with following table structure
    create table temp_table (x varchar2(20),file_name varchar2(30));
    2) create data file - test.dat (contains only values for x)
    abc
    def
    geh
    ggg
    fff
    3) create a host file host file - test.sh with following content:
    echo "load data
    infile $1
    append
    into table temp_table
    fields terminated by ','
    (x,
    file_name constant "$1")" > test.ctl
    sqlldr <usr>/<pwd>control=test.ctl
    4) run the host file from unix prompt with data file name as parameter (ensure test.sh has execute permissions)
    test.sh test.dat
    Hope this helps
    Regards,
    Bhadri

  • To capture the error after processing LOGON function

    Dear friends
    I want to capture the exception after the execution of the LOGON function. Scenario i need to capture is when the user account been locked, password expired and password will expire in N days.
    I made the user account locked and password expired through backend.
    In the when-button-pressed trigger I make a call to the procedure where the Logon function is coded
    Function P_CONNECT (io_message IN OUT varchar2)
    Account_locked EXCEPTION;
    Password_expired EXCEPTION;
    Password_will_expire EXCEPTION;
    PRAGMA Exception_Init (Account_locked, -28000);
    PRAGMA Exception_Init (Password_expired, -28001);
    PRAGMA Exception_Init (Password_will_expire, -28002);
    begin
    begin
    Logon( L_username,
    L_string,
    FALSE);
    exception
    when Account_locked then
    io_message := 'acc_loc';
    return FALSE;
    end;
    if form_success then
    /* code with certain activities*/
    end if
    end;
    During the execution of this procedure, i tried to capture the account_locked for example. I couldnt.
    Then I created on_error trigger at the form level. I couldnt able to capture as well.
    Also I need the form errorcode (FRM 4....) equvalent to -28000. -28001, -28002.
    Or any other suggestions are welcome
    Thanks
    Sada

    Hi,
    I got struck with the similar case. i.e.., if the user enters the login details incorrectly or login details are not provided then I've used exec_sql package. This package is been used to check whether a connection can be established or not. If the connection cannot be established then I'll pop up a message saying that the login details are incorrect.
    Though my case is different than that of yours, but i think that this will give u some idea to kick start to your solution.
    Regards,
    Alok Dubey

  • How to capture Java Exceptions in batch file

    I have a batch file that calls java class. When the java class throws exception, how do I capture the exception as an error message in batch file.
    This is the java program
    import java.io.*;
    public class Test{
           public static void main(String []args) {
         String wantThisToFail=null;
              try {
                   if (wantThisToFail.equals("SomeString") ) {
                        System.out.println("Testing");     
              }catch (Exception e){
                   System.out.println("Exception " + e);
    This is the batch file
    @echo off
    echo Testing
    REM execute the java class
    java Test
    set deployError=%ERRORLEVEL%
    echo %deployError%
    IF NOT %deployError% == 0 (
    echo failed
    )else (
    echo succeeded
    )Since the java class throws NullPointerException, i want the batch file to show "Failed" Message.
    Please Help!!

    Try capturing the return value of the command "java Test". If it succeeds, you should get a '0', otherwise you'll get something else. I admit it's been years since I had to do that, but it rings a bell. If it works, and you're on Java 5 or later, you can use the method Thread.setDefaultUncaughtExeptionHandler ( look at the docs ) and from there use System.exit(<your integer value return code here>) for more control over the return value

  • ALV Grid - capturing the data of checked records

    Hi All,
    I have a report with ALV Grid display and it displays the contents of a custom table. Each record has a CHBOX, and I want to capture the data of all checked records in to an internal table when 'create Order' button is pressed.  Please help me.
    Thanks,
    Neelu.

    Hi neelu,
      Find attached complete code for the check box in ALV
    REPORT ZTESTPRG .
    TABLES AND DATA DECLARATION.
    *TABLES: mara,makt.",marc.
    data syrepid like sy-repid.
    data sydatum(10). " LIKE sy-datum.
    data sypagno(3) type n.
    WHEN USING MORE THAN ONE TABLE IN ALV WE NEEED TO DECLARE THE TYPE
    GROUP (TYPE-POOLS--------->SLIS)
    type-pools : slis.
    INTERNAL TABLE DECLARATION.
    INTERNAL TABLE TO HOLD THE VALUES FROM THE MARA TABLE
    data: begin of t_mara occurs 0,
    matnr like mara-matnr,
    meins like mara-meins,
    mtart like mara-mtart,
    matkl like mara-matkl,
    end of t_mara.
    INTERNAL TABLE TO HOLD THE CONTENTS FROM THE EKKO TABLE
    data : begin of t_marc occurs 0,
    matnr like mara-matnr,
    werks like marc-werks,
    minbe like marc-minbe.
    data: end of t_marc.
    INTERNAL TABLE TO HOLD THE VALUES FROM MAKT TABLE.
    data : begin of t_makt occurs 0,
    matnr like mara-matnr,
    maktx like makt-maktx,
    spras like makt-spras,
    end of t_makt.
    INTERNAL TABLE WHICH ACTUALLY MERGES ALL THE OTHER INTERNAL TABLES.
    data: begin of itab1 occurs 0,
    chkbox(1) type c,
    matnr like mara-matnr,
    meins like mara-meins,
    maktx like makt-maktx,
    spras like makt-spras,
    werks like marc-werks,
    minbe like marc-minbe,
    end of itab1.
    THE FOLLOWING DECLARATION IS USED FOR DEFINING THE FIELDCAT
    AND THE LAYOUT FOR THE ALV.
    HERE AS slis_t_fieldcat_alv IS A INTERNAL TABLE WITHOUT A HEADER LINE
    WE EXPLICITELY DEFINE AN INTERNAL TABLE OF THE SAME STRUCTURE AS THAT
    OF slis_t_fieldcat_alv BUT WITH A HEADER LINE IN THE DEFINITION.
    THIS IS DONE TO MAKE THE CODE SIMPLER.
    OTHERWISE WE MAY HAVE TO DEFINE THE STRUCTURE AS IN THE NORMAL SAP
    PROGRAMS.
    IN THE FIELDCATALOG TABLE WE ACTUALLY PASS THE FIELDS FROM ONE OR
    MORE TABLES AND CREATE A STRUCTURE
    IN THE LAYOUT STRUCTURE WE BASICALLY DEFINE THE FORMATTING OPTIONS
    LIKE DISPLAY IN THE ZEBRA PATTERN ,THE HOTSPOT OPTIONS ETC.
    data: fieldcatalog type slis_t_fieldcat_alv with header line,
    fieldlayout type slis_layout_alv.
    DECLARING THE EVENTTABLE INTERNL TABLE FOR USING EVENTS LIKE
    TOP-OF-PAGE ETC.
    data : eventstab type slis_t_event with header line.
    DECLARING AN INTERNAL TABLE TO HOLD THE DATA FOR THE TOP-OF-PAGE
    data : heading type slis_t_listheader with header line.
    data : heading1 type slis_t_listheader with header line.
    data : heading2 type slis_t_listheader with header line.
    data : heading3 type slis_t_listheader with header line.
    data : heading4 type slis_t_listheader with header line.
    data : heading5 type slis_t_listheader with header line.
    data : heading6 type slis_t_listheader with header line.
    data : heading7 type slis_t_listheader with header line.
    data : heading8 type slis_t_listheader with header line.
    STRUCTURE TO PASS THE COLOR ATTRIBUTES FOR DISPLAY.
    data : colorstruct type slis_coltypes.
    INITIALIZATION. *
    initialization.
    syrepid = sy-repid.
    sypagno = sy-pagno.
    clear fieldcatalog.
    START-OF-SELECTION. *
    start-of-selection.
    SUBROUTINE TO POPULATE THE COLORSTRUCT
    perform fill_colorstruct using colorstruct.
    SUBROUTINE TO POPULATE THE FIELDS OF THE FIELD CATALOGUE
    perform populate_fieldcatalog.
    SUBROUTINE TO SELECT DATA FROM VARIOUS TABLES AND POPULATE IT IN THE
    INTERNAL TABLE.
    perform selectdata_and_sort.
    SUBROUTINE TO POPULATE THE LAYOUT STRUCTURE.
    perform populate_layout using fieldlayout.
    SUBROUTINE TO CALL THE FUNCTION MERGE TO ENSURE PROPER DISPLAY.
    perform merge_fieldcatalog.
    SUBROUTINE TO POPULATE THE EVENTSTAB.
    perform fill_eventstab tables eventstab.
    SUBROUTINE TO POPULATE THE HEADING TABLES.
    perform fill_headingtable tables heading using 'HEADING'.
    perform fill_headingtable tables heading1 using 'HEADING1'.
    perform fill_headingtable tables heading2 using 'HEADING2'.
    perform fill_headingtable tables heading3 using 'HEADING3'.
    perform fill_headingtable tables heading4 using 'HEADING4'.
    perform fill_headingtable tables heading5 using 'HEADING5'.
    perform fill_headingtable tables heading6 using 'HEADING6'.
    perform fill_headingtable tables heading7 using 'HEADING7'.
    perform fill_headingtable tables heading8 using 'HEADING8'.
    SUBROUTINE TO DISPLAY THE LIST.
    perform display_alv_list.
    FORMS
    IN THIS SUBROUTINE WE POPULATE THE FIELDCATALOG TABLE WITH THE NAMES
    OF THE TABLE,FIELDNAME,WHETHER IT IS KEY FIELD OR NOT,HEADING AND
    COLUMN JUSTIFICATION.
    form populate_fieldcatalog.
    perform fill_fields_of_fieldcatalog tables fieldcatalog
    using 'ITAB1' 'MATNR' 'X' .
    perform fill_fields_of_fieldcatalog tables fieldcatalog
    using 'ITAB1' 'MEINS' ' '.
    perform fill_fields_of_fieldcatalog tables fieldcatalog
    using 'ITAB1' 'MAKTX' ' ' .
    perform fill_fields_of_fieldcatalog tables fieldcatalog
    using 'ITAB1' 'MTART' ' ' .
    perform fill_fields_of_fieldcatalog tables fieldcatalog
    using 'ITAB1' 'MATKL' ' ' .
    perform fill_fields_of_fieldcatalog tables fieldcatalog
    using 'ITAB1' 'SPRAS' ' ' .
    perform fill_fields_of_fieldcatalog tables fieldcatalog
    using 'ITAB1' 'WERKS' ' ' .
    perform fill_fields_of_fieldcatalog tables fieldcatalog
    using 'ITAB1' 'MINBE' ' ' .
    endform. " POPULATE_FIELDCATALOG
    FORM FILL_FIELDS_OF_FIELDCATALOG *
    --> FIELDCATALOG *
    --> P_TABNAME *
    --> P_FIELDNAME *
    --> P_KEY *
    --> P_KEY *
    form fill_fields_of_fieldcatalog tables fieldcatalog
    structure fieldcatalog
    using p_tabname
    p_fieldname
    p_key.
    p_no_out.
    fieldcatalog-tabname = p_tabname.
    fieldcatalog-fieldname = p_fieldname.
    fieldcatalog-key = p_key.
    fieldcatalog-emphasize = '1234'.
    *fieldcatalog-no_out = p_no_out.
    append fieldcatalog.
    endform. " FILL_FIELDSOFFIELDCATALOG
    FORM POPULATE_LAYOUT *
    --> FIELDLAYOUT *
    form populate_layout using fieldlayout type slis_layout_alv.
    fieldlayout-f2code = '&ETA' .
    fieldlayout-zebra = 'X'.
    FOR THE WINDOW TITLE.
    fieldlayout-window_titlebar = 'ALV with Events'.
    fieldlayout-colwidth_optimize = 'X'.
    fieldlayout-no_vline = ' '.
    *fieldlayout-no_input = 'X'.
    fieldlayout-confirmation_prompt = ''.
    fieldlayout-key_hotspot = 'X'.
    This removes the column headings if the flag is set to 'X'
    fieldlayout-no_colhead = ' '.
    *fieldlayout-hotspot_fieldname = 'MAKTX'.
    fieldlayout-detail_popup = 'X'.
    fieldlayout-coltab_fieldname = 'X'.
    fieldlayout-box_fieldname = 'CHKBOX'.
    fieldlayout-edit_mode = 'X'.
    endform. " POPULATE_LAYOUT
    FORM SELECTDATA_AND_SORT *
    form selectdata_and_sort.
    select matnr meins mtart matkl from mara
    into corresponding fields of t_mara
    up to 500 rows .
    select matnr maktx spras from makt
    into corresponding fields of t_makt
    where matnr = t_mara-matnr and
    spras = sy-langu.
    select matnr werks minbe from marc
    into corresponding fields of t_marc
    where matnr = t_mara-matnr.
    append t_marc.
    endselect.
    append t_makt.
    endselect.
    append t_mara.
    endselect.
    perform populate_itab1.
    sort itab1 by matnr.
    endform. " SELECTDATA_AND_SORT
    FORM MERGE_FIELDCATALOG *
    form merge_fieldcatalog.
    call function 'REUSE_ALV_FIELDCATALOG_MERGE'
    exporting
    i_program_name = syrepid
    i_internal_tabname = 'ITAB1'
    i_structure_name = 'COLORSTRUCT'
    I_CLIENT_NEVER_DISPLAY = 'X'
    i_inclname = syrepid
    changing
    ct_fieldcat = fieldcatalog[]
    exceptions
    inconsistent_interface = 1
    program_error = 2
    others = 3.
    endform. " MERGE_FIELDCATALOG
    IN THIS FUNCTION THE MINIMUM PARAMETERS THAT WE NEED TO PASS IS AS
    FOLLOWS:-
    i_callback_program --> CALLING PROGRAM NAME
    i_structure_name --> STRUCTURE NAME.
    is_layout --> LAYOUT NAME.
    it_fieldcat ---> BODY OF THE FIELD CATALOGUE INTERNAL TABLE
    form display_alv_list.
    call function 'REUSE_ALV_LIST_DISPLAY'
    exporting
    I_INTERFACE_CHECK = ' '
    i_callback_program = syrepid
    I_CALLBACK_PF_STATUS_SET = ' '
    I_CALLBACK_USER_COMMAND = ' '
    i_structure_name = 'ITAB1'
    is_layout = fieldlayout
    it_fieldcat = fieldcatalog[]
    IT_EXCLUDING =
    IT_SPECIAL_GROUPS =
    IT_SORT =
    IT_FILTER =
    IS_SEL_HIDE =
    I_DEFAULT = 'X'
    THE FOLLOWING PARAMETER IS SET AS 'A' INORDER TO DISPLAY THE STANDARD
    TOOL BAR
    i_save = 'A'
    IS_VARIANT = ' '
    it_events = eventstab[]
    IT_EVENT_EXIT =
    IS_PRINT =
    I_SCREEN_START_COLUMN = 0
    I_SCREEN_START_LINE = 0
    I_SCREEN_END_COLUMN = 0
    I_SCREEN_END_LINE = 0
    IMPORTING
    E_EXIT_CAUSED_BY_CALLER =
    ES_EXIT_CAUSED_BY_USER =
    tables
    t_outtab = itab1
    exceptions
    program_error = 1
    others = 2.
    endform. " DISPLAY_ALV_LIST
    *& Form POPULATE_ITAB1
    text
    --> p1 text
    <-- p2 text
    form populate_itab1.
    loop at t_mara.
    loop at t_makt where matnr = t_mara-matnr.
    loop at t_marc where matnr = t_mara-matnr.
    move-corresponding t_mara to itab1.
    move-corresponding t_makt to itab1.
    move-corresponding t_marc to itab1.
    append itab1.
    endloop.
    endloop.
    endloop.
    endform. " POPULATE_ITAB1
    *& Form FILL_EVENTSTAB
    text
    -->P_EVENTSTAB text *
    form fill_eventstab tables p_eventstab structure eventstab.
    WHEN THE FOLLOWING FUNCTION IS CALLED THE SYSTEM POPULATES THE
    INTERNAL TABLE EVENTSTAB WITH A LIST OF EVENTS NAME.
    AS SHOWN BELOW WHEN USING I_LIST_TYPE = 0 THE FUNCTION RETURNS 14
    EVENTS NAME.
    call function 'REUSE_ALV_EVENTS_GET'
    exporting
    i_list_type = 0
    importing
    et_events = p_eventstab[]
    exceptions
    list_type_wrong = 1
    others = 2.
    BY CALLING THE ABOVE FUNCTION WE FIRST POPULATE THE EVENTSTAB WITH
    THE PREDEFINED EVENTS AND THEN WE MOVE THE FORM NAME AS SHOWN BELOW.
    WE ASSIGN A FORM NAME TO THE EVENT AS REQUIRED BY THE USER.
    FORM NAME CAN BE ANYTHING.THE PERFORM STATEMENT FOR THIS FORM
    IS DYNAMICALY CALLED.
    read table p_eventstab with key name = slis_ev_top_of_page.
    if sy-subrc = 0 .
    move 'TOP_OF_PAGE' to p_eventstab-form.
    append p_eventstab.
    endif.
    read table p_eventstab with key name = slis_ev_top_of_coverpage.
    if sy-subrc = 0 .
    move 'TOP_OF_COVERPAGE' to p_eventstab-form.
    append p_eventstab.
    endif.
    read table p_eventstab with key name = slis_ev_end_of_coverpage .
    if sy-subrc = 0 .
    move 'END_OF_COVERPAGE' to p_eventstab-form.
    append p_eventstab.
    endif.
    read table p_eventstab with key name = slis_ev_foreign_top_of_page.
    if sy-subrc = 0 .
    move 'FOREIGN_TOP_OF_PAGE' to p_eventstab-form.
    append p_eventstab.
    endif.
    read table p_eventstab with key name = slis_ev_foreign_end_of_page.
    if sy-subrc = 0 .
    move 'FOREIGN_END_OF_PAGE' to p_eventstab-form.
    append p_eventstab.
    endif.
    read table p_eventstab with key name = slis_ev_list_modify.
    if sy-subrc = 0 .
    move 'LIST_MODIFY' to p_eventstab-form.
    append p_eventstab.
    endif.
    read table p_eventstab with key name = slis_ev_top_of_list.
    if sy-subrc = 0 .
    move 'TOP_OF_LIST' to p_eventstab-form.
    append p_eventstab.
    endif.
    read table p_eventstab with key name = slis_ev_end_of_page.
    if sy-subrc = 0 .
    move 'END_OF_PAGE' to p_eventstab-form.
    append p_eventstab.
    endif.
    read table p_eventstab with key name = slis_ev_end_of_list .
    if sy-subrc = 0 .
    move 'END_OF_LIST' to p_eventstab-form.
    append p_eventstab.
    endif.
    endform. " FILL_EVENTSTAB
    *& Form FILL_HEADINGTABLE
    text
    -->P_HEADING text *
    form fill_headingtable tables p_heading structure heading
    using tablename.
    case tablename.
    when 'HEADING'.
    p_heading-typ = 'H'.
    concatenate
    ' REPORT NAME:-' syrepid
    ' ABB Industry Pte Ltd' into p_heading-info.
    append p_heading.
    write sy-datum using edit mask '__/__/____' to sydatum.
    concatenate
    ' DATE:-' sydatum ' USER: ' sy-uname 'PAGE NO:' sypagno
    into p_heading-info.
    append p_heading.
    when 'HEADING1'.
    p_heading-typ = 'H'.
    p_heading-info = 'TOP-OF-COVER-PAGE'.
    append p_heading.
    when 'HEADING2'.
    p_heading-typ = 'H'.
    p_heading-info = 'END-OF-COVER-PAGE'.
    append p_heading.
    when 'HEADING3'.
    p_heading-typ = 'H'.
    p_heading-info = 'FOREIGN-TOP-OF-PAGE'.
    append p_heading.
    when 'HEADING4'.
    p_heading-typ = 'H'.
    p_heading-info = 'FOREIGN-END-OF-PAGE'.
    append p_heading.
    WHEN 'HEADING5'.
    P_HEADING-TYP = 'H'.
    P_HEADING-INFO = 'LIST-MODIFY'.
    APPEND P_HEADING.
    when 'HEADING6'.
    p_heading-typ = 'H'.
    p_heading-info = 'END-OF-PAGE'.
    append p_heading.
    when 'HEADING7'.
    p_heading-typ = 'H'.
    p_heading-info = 'END-OF-LIST'.
    append p_heading.
    when 'HEADING8'.
    p_heading-typ = 'H'.
    p_heading-info = 'TOP-OF-LIST'.
    append p_heading.
    endcase.
    endform. " FILL_HEADINGTABLE
    FORM TOP_OF_PAGE *
    form top_of_page.
    call function 'REUSE_ALV_COMMENTARY_WRITE'
    exporting
    it_list_commentary = heading[]
    exceptions
    others = 1.
    endform.
    *& Form FILL_COLORSTRUCT
    text
    -->P_COLORSTRUCT text *
    form fill_colorstruct using p_colorstruct type slis_coltypes .
    p_colorstruct-heacolfir-col = 6.
    p_colorstruct-heacolfir-int = 1.
    p_colorstruct-heacolfir-inv = 1.
    endform. " FILL_COLORSTRUCT
    FORM TOP_OF_COVERPAGE *
    form top_of_coverpage.
    call function 'REUSE_ALV_COMMENTARY_WRITE'
    exporting
    it_list_commentary = heading1[]
    exceptions
    others = 1.
    endform.
    FORM END_OF_COVERPAGE *
    form end_of_coverpage.
    call function 'REUSE_ALV_COMMENTARY_WRITE'
    exporting
    it_list_commentary = heading2[]
    exceptions
    others = 1.
    endform.
    FORM FOREIGN_TOP_OF_PAGE *
    form foreign_top_of_page.
    call function 'REUSE_ALV_COMMENTARY_WRITE'
    exporting
    it_list_commentary = heading3[]
    exceptions
    others = 1.
    endform.
    FORM FOREIGN_END_OF_PAGE *
    form foreign_end_of_page.
    call function 'REUSE_ALV_COMMENTARY_WRITE'
    exporting
    it_list_commentary = heading4[]
    exceptions
    others = 1.
    endform.
    FORM LIST_MODIFY *
    *FORM LIST_MODIFY.
    CALL FUNCTION 'REUSE_ALV_COMMENTARY_WRITE'
    EXPORTING
    IT_LIST_COMMENTARY = HEADING5[]
    EXCEPTIONS
    OTHERS = 1.
    *ENDFORM.
    FORM END_OF_PAGE *
    form end_of_page.
    call function 'REUSE_ALV_COMMENTARY_WRITE'
    exporting
    it_list_commentary = heading6[]
    exceptions
    others = 1.
    endform.
    FORM END_OF_LIST *
    form end_of_list.
    call function 'REUSE_ALV_COMMENTARY_WRITE'
    exporting
    it_list_commentary = heading7[]
    exceptions
    others = 1.
    endform.
    FORM TOP_OF_LIST *
    form top_of_list.
    call function 'REUSE_ALV_COMMENTARY_WRITE'
    exporting
    it_list_commentary = heading8[]
    exceptions
    others = 1.
    endform.
    *--- End of Program
    Thanks
    Mahesh

  • Select statement to capture the vender address in SMARTFORM ?

    Hi All,
    I need help,i want to Capture the address and have to keep that address in vender address window of the smartform,
    For this I want to show the field form LFA1 that are NAME1,STRAS,ORT01,ORT02,PSTLZ,REGIO.
    I already kept address text for that but it is not collecting full Address and is collecing one field extra like "Republic Of India".
    Please any body send me the Coad for THIS .....
    Advence Thnks.

    Types: begin of TY_LFA1,
         NAME1 type LFA1-NAME1,
    STRAS type LFA1- STRAS,
    ORT01 type LFA1- ORT01,
    ORT02 type LFA1-,
    PSTLZ type LFA1- PSTLZ,
    REGIO type LFA1- REGIO,
         End of TY_LFA1.
    Data: WA_LFA1 type TY_LFA1.
    Parameter: lifnr TYPE lifnr.
    Select NAME1 STRAS ORT01 ORT02 PSTLZ REGIO
    into corresponding fields of WA_LFA1
    from LFA1
    Where Lifnr = Lifnr.
    If you are already getting Lifnr from some where remove the parameter statement and replace the where condition with the corresponding WA holding the lifnr value.
    Now while calling your Smart Function Module.
    add the WA in the Exporting part.
    Eg:
    CALL FUNCTION FM_NAME
    EXPORTING
    wa_lifnr = wa_lifnr.
    EXCEPTIONS
    FORMATTING_ERROR = 1
    INTERNAL_ERROR = 2
    SEND_ERROR = 3
    USER_CANCELED = 4
    OTHERS = 5.IF SY-SUBRC <> 0.
    Now you will be able to use the Vendor data on the smart form

  • Capturing the text of a textfield to be used in another class

    Hi Java Gurus. I have two classes called Login and Profile. In the Login class, a user will enter a username and password which is verified against a table stored in an oracle database. This works fine.
    My problem is that when the user enters his/her username, I want to capture the username of the user so that I can make a reference to it from the Profile class.
    You may wonder why I am doing this from the Profile class. Well, I want the user's profile to be uploaded after login and in order for me to do this, I am using the username in my SELECT statement from my Profile class to upload the profile of a specific user.
    Thanks a lot in advance!

    Hi guys! Maybe none of you who have already viewed my problem understood what i meant, so i'll try to explain using some code snippets.
    Login class;
    public class Login extends JDialog implements ActionListener{
    JLabel nameLabel;
    JLabel passLabel;
    JTextField name;
    JTextField pass;
    JButton okButton;
    JButton cancelButton;
    JPanel buttonPanel;
    public Login(){
    nameLabel = new JLabel("Username:");
    passLabel = new JLabel("Password:");
    name = new JTextField(10);
    pass = new JTextField(10);
    okButton = new JButton("Ok");
    cancelButton = new JButton("Cancel");
    buttonPanel = new JPanel();
    buttonPanel.setLayout(new FlowLayout());
    buttonPanel.add(okButton);
    buttonPanel.add(cancelButton);
    setSize(new Dimension(100,200));
    setLayout(new GridLayout(1,5));
    add(nameLabel);
    //Add remaining components here and display dialog
    public void connect(){
    //connect to database here
    public void ActonPerformed(ActionEvent evt){
    //do events here
    }Profile class;
    public class Profile extends JPanel{
    JLabel fnameLabel,lnameLabel,dobLabel;
    JTextField fnameText,lnameText,dobText;
    Login login;
    public Profile(){
    //initialize variables here
    public void connect(){
    //connect to database here
    public void getProfile() {
    String uname = login.name.getText();
              String fname = "";
              String lname = "";
              String dob = "";
              Statement stmt = null;
              connect();
              try {
              stmt = conn.createStatement();
              ResultSet result = stmt.executeQuery("SELECT Firstname,Lastname,DOB FROM Profile WHERE User_id ='"+uname+'" ");
                   if (result.next()) {
                        fname = result.getString("Firstname");
                        lname = result.getString("Lastname");
                        dob = result.getString("DOB");
                                            if ((fname.length() != 0) && (lname.length() != 0)) {
                             fnameText.setText(fname);          lnameText.setText(lname);               dobText.setText(dob);                    validate();
         repaint();
              } catch (Exception ex) {
                   System.out.println(ex);
                   //JOptionPane.showMessageDialog(null, "Please enter your username\n
                   // and password", "Logon error", JOptionPane.INFORMATION_MESSAGE);
    }So please i need your help.....

  • Unable to capture the Idle time for BSP page

    Hi Experts,
    I want to capture the Idle time of my BSP page. If that is 5 mins then i have to display the pop up displaying the remaining time.
    Please let me know how to capture the IDLE TIME. not the time after the page is loaded.
    Any suggestion will be helpful.
    Aready checked in SDN but unable to get the solution so posting it.
    Thanks in advance.
    Sravanthi.V

    hi,
    After capturing the idle time iam giving the warning popup to user before 5mins of expiry.Now my requirement is if the user clicks on OK button of popup the page should get refresh. i.e.Idle time should of system should break and we have to get one more hour for expiry.
    Thanks in advance,
    Sravanthi.V

  • To capture the Mini-DV file through the 1394 firewire card from t

    hii there!
    first let mi make you understand what we people are doing ....
    We people want to capture the Mini-DV file directly through the 1394 firewire card from the sony camcorder in to the MPEG2
    format. Thent on the fly(i.e.during capturing into MPEG2) we also want to capture the metadata i.e (time,date etc. of the
    original shooting event) into some text file. Our MPEG2 format requirements are: 8mbps viedeo,freq-48KHz,16 bit sterio,384
    audio kbps, Deinterlace... we are using JavaMediaFramework-2.1.1e(Java Media Studio tool)..so we want to explore that tool
    much more coz rightnow it's not supporting MPEG2(only supporting MPEG1) and also not supporting 1394 cpture card ...we want
    the codec for converting DV-AVI to MPEG2 with date and time exctrated and much more explored details about JMf2.1.1 JavaMedia
    Studio to get more familiar.....
    for the above mentioned problem I am trying to add the mpeg2 codec inthe plugin of the jmf studio..and i have followed the
    steps ..
    Download the Codec from IBM
    Extracted jmf.jar
    Extracted codec.zip
    Added files from codec folder to jmf folder
    Made a jar out of it and name it jmf.jar
    Replaced that with current jmf.jar (kept a backup)
    Opened JMFRegistry and in "Plugins","Codec" and now unable to add " "
    this becoz i am not knowing the exact way of recopiling that newly created jar file and because of that that mpeg-2 codedc is
    not get added .....so i am looking forward for any help for the above mentioned problem!
    I would be gratefull on getting ur help coz it's such challenging and techy concept to explore...
    thanks..
    nilesh hardikar
    contact: [email protected]

    I understand your pain. See BUG ID 4640032: JMF does not support DSVD encoding
    http://bugs.sun.com/bugdatabase/view_bug.do?bug_id=4640032
    Add your vote, maye Sun will hear!

  • Need to capture the excise for the excise tab missing item in GR

    Hi Masters
        Our users has done MIGO with one line item(for Material A) with excise item tab and other line item(fro MAterial B) without excise item tab(non availability of Chapter ID).
    They are able to capture excise in J1IEX for the first item only with the help of GR document.
    But they want to capture the excise for the second line item?
    When we process the same GR document in J1IEX once again it shows error that documeny has been already processed.
    How to resolve this?
    Regards
    Mohanraj.C

    Hi,
    If u have done only GR for Both materials then Cancel ur GR and Post it again.
    And if you have Done J1iex for first material then Cancel GR first then Cancel Excise Invoice.
    Now to cancel Excise Invoice follow the path as
    From the SAP Easy Access screen, choose Logistics ® Materials Management ® Inventory Management ® Goods Movement ® Goods Movement (MIGO).
    In the top line:
    Select Cancellation.
    Select Material document.
    Enter the number of the goods receipt that you want to cancel
    Choose .
    Flag all of the line items as OK.
    Save the reversal document.
    Reversing CENVAT Postings
    From the SAP Easy Access screen, choose Indirect Taxes ® Procurement ® Excise Invoice ® Incoming Excise Invoices ® Individual Processing ® Change/Display/Post/Cancel.
    In the top line:
    Select Post CENVAT.
    Select Vendor Excise Invoice.
    Enter the excise invoice number.
    Choose .
    Choose Simulate CENVAT.
    A dialog box appears, showing which postings the system will make to reverse the CENVAT.
    To close the dialog box, choose .
    Choose Post CENVAT.
    Canceling Excise Invoices
    From the SAP Easy Access screen, choose Indirect Taxes ® Procurement ® Excise Invoice ® Incoming Excise Invoices ® Individual Processing ® Change/Display/Post/Cancel.
    In the top line:
    Select Cancel.
    Select Vendor Excise Invoice.
    Enter the excise invoice number.
    Choose .
    Save the excise invoice
    if Not solved then please specify that is error by system.
    Regards,
    Pardeep malik

  • How to capture the cost on project of freely supplied components to vendors

    Dear Friend's,
    My client is sending some child components to their vendor's on free of cost basis to manufacture products like panels, tanks etc. for any particular Customer Project.
    Once these products gets manufacured by vendor,  they supply to client stores, from here my client is doing the delivery & billing to their customer's.
    Here my client's requirement is that they wanted to capture the cost of free supplied child componenets to vendors for any particular project.
    How i can capture this cost for any project..............Kindly give some input on this scenario to full fill the requirement.
    Thanks & Regards,
    Sandeep Theurkar

    Dear Sandeep
    How is the client "sending" the parts to the vendor?How are you maintaining the process of sending  these parts to the vendor?
    Are these parts maintained in the Organization's inventory?
    Thanks and Regards

Maybe you are looking for