Need to Download FAGLL03 transaction output list to XML

Hi Experts,
I want to download FAGLL03 transaction output to an XML file, but there is no such button to download the data.
Is there any way to add button in application toolbar and to code corresponding download code in an enhancement.
If is there any alternative, could you please let me know.
Thank and regards,
Srinivas.

Hi Srini,
Syntax for calling simple transformations are different... Like to call a Simple Trans..
Syntax
CALL TRANSFORMATION {trans|(name)}
                    [PARAMETERS {p1 = e1 p2 = e2 ...}|(ptab)]
                    [OBJECTS    {o1 = e1 o2 = e2 ...}|(otab)]
                    [transformation_options]
                    SOURCE {XML sxml}
                         | {{bn1 = e1 bn2 = e2 ...}|(stab)}
                    RESULT {XML rxml}
                         | {{bn1 = f1 bn2 = f2 ...}|(rtab)}.
Regards

Similar Messages

  • Need to download the report output list to a Excel file.

    Hi,
       I have a report output list, which i need to download to an Excel file, could any body suggest how to do this with out writing the ws_download.
    My report data is coming from two internal tables, one internal table for left side reprt display and another internal table for right side report display, both the internal tables having the same fields.
    suggest me how to combine these two internal table data in one internal table.
    2 internal table structure is same but data is different.
    Sunil

    Hi,
    in the o/p list use the below menu path.
    LIST>SAVE/SEND>FILE,
    then a pop-up window with different formates will appear,then choose u r required format.
    Thanks,
    Anji

  • Push button in output list

    Hi,
    Im displaying one text in output and next to that i need to create one push button as shown below. Is it possible in normal list or ALV ?
    text PUSH BUTTON.
    I dont want to create a push button in application tool bar, or menu bar. I need to create it in output list. Can anyone tell me how to do this?
    Thanks,
    Amal

    Hi, Amal
    In Normal List it is not possible i don't know your goal exactly there are some Ideas which you can use if your requirements are as i am thinking you can Check HOTSPOT with Write Statement. just write hotspot and Press F1 you will get info to use it on other way i am thinking if you want to select multiple record in ALV than Please have a look at the following Thread hope will help you out to take to step to solve your problem,
    [Selecting Multiple rows in an ALV |Selecting Multiple rows in an ALV]
    [Selecting Multiple Rows from ALV GRID Display|Selecting Multiple Rows from ALV GRID Display]
    Sorry, if i didn't understand you.
    Kind Regards,
    Faisal

  • Transaction output on custom subscreen

    Hi All,
    We have a requirement where we need to display one transaction output on a custom subscreen.That's means i need to display call transaction result on subscreen of another transaction.
    Can you please help.
    Thanks
    Mohit

    Hi All,
    Any sugestion for this requirement.
    Thanks
    Mohit khandelwal

  • What are all the ways that can add fields in the output list of FBL3N transaction?

    Hello dear experts,
    There is this transaction FBL3N, which you might be aware of. Now, the requirement is to add 4 new fields in the output list of the standard program.
    The fields are:
    NAME1   KNA1
    LOKKT    BSEG
    USNAM   BKPF
    TXT50      SKA1 -> SKAT
    Please tell me how to do this apart from implementing the note 310886. What are the other ways?

    I agree, start reading 984305 - Line item: Definition of special fields (T021S)
    Then for non BSEG/BKPF fields, better use BAdI FI_ITEMS_CH_DATA (1323512) and not the good old BTE 1650, the BAdI will be called once with the full internal table with special fields already filled, when the BTE will be executed for each and every record without special fields, so harder to optimize, and may require access to BKPF/BSEG for missing fields.
    Regards,
    Raymond
    PS: Did you use search tool, there are already many discussions/threads on this subject.

  • Need to download the ALV blocked output in to excel sheet

    I have a requirement where there is a need to download the Alv block output to excel sheet. when i click on excel button which is on output only header block data is coming in excel sheet.but i need both header block and item block data into excel.

    Hi,
    create a pushbutton on the toolbar,
    whenever user clicks the pushbutton,
    call the fm gui_download for 2 times
    for the first time,
    append = ' ',
    and for second time.
    append = 'X'.
    check this thread.
    Re: How to download multiple ALV Container data on a screen to a single Excel?
    Regards.
    R K.

  • Audio output device deleted in error from hp mini 110-3500 need to download an reinstall

    I accidentally deleted the prgram via the control panel uninstall. Need to download an reinstall same.
    This question was solved.
    View Solution.

    Hi 
             What program are you refering to ??  Or do you mean you have deleted the driver for your Audio/output device ?? 
                                                        Checkurtech
    ****Click the White Kudos star to say thanks****
    ****Please mark Accept As Solution if it solves your problem****

  • Need to have an identifier on the Report Output List View (My BIP Reports)

    Please help as we need to have an identifier e.a (Quote Id - Report Name) when the BIP
    report was generated in Report Output List View, is it possible to customize
    this vanilla functionallity or is there a patch we need in order to apply
    this requirement?

    i doubt it is from skype. i havent used skype in 2 days or so.
    here are the crash reports IDs from JUST today..
    bp-8c7fab55-79c8-4db1-9527-4ba072111013 10/13/2011 4:51 PM
    bp-db6bf6c4-cf34-4eae-a742-105842111013 10/13/2011 4:51 PM
    bp-f28611cf-3ff0-4658-a843-05da92111013 10/13/2011 4:32 PM
    bp-03fa57ef-580d-4f1d-8fb4-52ac72111013 10/13/2011 4:21 PM
    bp-d07e0d82-df2a-41c8-a19b-bb99e2111013 10/13/2011 4:19 PM
    bp-fafbd8cf-6769-4b76-8153-c17242111013 10/13/2011 4:06 PM
    bp-ee9694ab-585b-4963-8b94-e46432111013 10/13/2011 3:47 PM
    bp-773242e1-a87d-4e19-90cb-ce4e52111013 10/13/2011 3:37 PM
    bp-6bae0db3-895b-4239-8a71-758ce2111013 10/13/2011 3:36 PM
    bp-6dfc1b57-5a8f-4244-baa1-8d0642111013 10/13/2011 3:36 PM
    bp-9a6589cd-0e2f-4299-b517-a6c862111013 10/13/2011 3:31 PM

  • Do I need to declare a transaction in this case?

    I am struggling to understand when it is necessary to declare my own transaction to ensure the data is properly updated.
    For example, in the following code, which is part of a java bean in the EJB project, KeyFacade is a stateless session bean tied to the entity "Key". it is a standard EJB created with the netBeans 5.5 wizard. I have changed no defaults.
    Do I need to declare a transaction, commit the transaction and close it when I use the "KeyFacade.edit(key);" in order to ensure the database is updated? Or is it automatically done because the .edit() method uses the entityManager and the persistence is container managed?
    Would it make a difference if this bean was part of a WAR project?
        public BigInteger getNextKey(String tableName){
            KeyFacadeLocal KeyFacade = this.lookupKeyFacade();
            Key key = KeyFacade.findByTablename(tableName);
            long nextKey = key.getKeyvalue();
            BigInteger BINextKey =BigInteger.valueOf((int)nextKey);
            //  now update the table by incrementing the key value by 1
            long incrementKey = nextKey + 1;
            key.setKeyvalue(incrementKey);
            KeyFacade.edit(key);
            return BINextKey;
        }

    808239 wrote:
    I have a Map<Integer, List<T>> data, and all the lists are initialized using Collections.synchronizedList().Seems like overkill to me. Your Map also looks like a Multimap, of which there are several existing implementations.
    When I do the traversal, I want to traverse ALL lists in the map at the same timeI suspect not. What you want to do is to traverse each one in sequence.
    so I have to sync all lists as shown in the API doc as follows: ...Seems like overkill to me, and will probably result in a very slow Map (not that there's any problem with that if it's the right thing to do; in this case, I suspect it isn't).
    Is this approach ok?What are you trying to achieve? If you need full consistency for your iterators (ie, a snapshot of the entire Map at the time the iterator is created), you have a two choices (assuming you don't want to deal with update journals):
    1. Lock the Map.
    2. Clone the Map (and your clone() method should be synchronized).
    Of the two, the second seems best to me, but neither is all that wonderful.
    However, if all you need is weak consistency - that is to say, what you return reflects the state of the Map when Iterator.next() is called - all you really need to do is make sure that your Lists are synchronized when you do the read.
    Since the List updates are the responsibility of your Map (I'm still presuming this is some sort of Multimap implementation), there's no real need to synchronize them; just synchronize the Map's own update methods.
    I'd also suggest that you make sure your getValue() method hands back an [url http://download.oracle.com/javase/6/docs/api/java/util/Collections.html#unmodifiableList%28java.util.List%29]unmodifiable List to clients; otherwise they could start adding or removing values themselves.
    HIH
    Winston

  • Add button to QA33 ALV output list

    Hi, SAP experts:
    I need to add a custom button to the ALV output list display in QA33 transaction.
    I´ve only found the BAdi ALV_SWITCH_GRID_LIST, but it doesn´t fit my requirements at all.
    Any idea?
    Thank you very much!

    Hi,
        Please check if this explanation helps you,
    Custom Butoon in REUSE_ALV_GRID_DISPLAY_LVC
    Regards
    Ram

  • Adding field in standard SAP transaction output results.

    Hi,
    I have to add a new field in standard SAP transaction output results.
    Can any one tell me what are the ways (brief explanation) that I can do this?
    If using exists - then what kind of exists I have to use? And how to find out the possibility with user exists?
    Thanks for your time.
    Thanks.
    Chris.

    Hi,
        There are so many ways to find out the user exits.
    Hi,
    To see SAP Exits -> Use Tcode SMOD
    To See create a project for Customer Exits -> Use Tcode CMOD
    There are projects to which Exits are assigned. Selects the relevant projects.
    What is User Exit:
    http://www.sap-img.com/abap/what-is-user-exits.htm
    How to find then:
    http://www.sap-img.com/abap/a-short-tutorial-on-user-exits.htm
    All Exits List:
    http://www.easymarketplace.de/userexit.php
    Do a search on SAP Exits, Customer Exits, enhancements, etc
    Step 1 :- Execute transaction
    step 2 :- Click on Status Menu
    step 3 :- Double click on the program (screen) __?????___
    Step 4 :- Search source code for the 'Customer-Function' string using the find button. Remember to select 'In main program'.
    Step 5 :- A list of search results should be displayed indicating where all function exits can be found.
    You can now double click on each of them to go to its position in the source code. This also
    allows for the insertion of breakpoints so that you can test if the exits are called in the
    appropriate place.
    Step 6 :-Once you have found the Function Exit within the source code (Find Function Exit) you need to
    access the actual function module it executes. This is done using the following steps:
    Step 6.1 :-
    Step 1
    Locate desired 'Call Customer-function' statement within source code.
    Step 2
    If code is not within main program (module pool) e.g. SAP* then you will need to find this
    out by selecting 'Main Program' from the 'GOTO' menu. The Main program for transaction
    Step 3
    The actual function module name can now be calculated based on the information retrieved,
    it is defined by the following format:
    EXIT_<Program name>_<Exit number>
    eg :- 'EXIT_SAPLMR1M_004'.
    Step 7.1:-
    Once you have found the Exit function module
    Step 1
    Execute transaction CMOD
    Step 2
    Select 'SAP Enhancements' from the 'Utilities' menu.
    Step 3
    Select 'All selections' from the 'Edit' menu.
    Step 4
    Now populate the Component name field with the exit function module and press
    the execute button.
    Step 5
    A list of all Exits(Enhancements) containing that function module should now be displayed.
    Step 5
    You can now double click on the desired exit to display a detailed description of its uses and a list of all
    components contained in it.
    Implementing Function Exit
    This is required in-order to activate Function exit:
    Step 1
    The first step is to enter source code into function module in the usual way i.e. via SE37.
    There will already be an include declaration within the code with the following
    format: Include zx*.
    Double click on this to create it, source code can then be entered within here.
    Although it is good practice to create another include with this to store your
    code, this allows separation of difference enhancements allowing them to be easlity
    removed without de-activating the enhancement.
    Step 2
    Execute transaction CMOD and create new Enhancement. Enter name and press the create
    Button.
    Step 3
    The following screen should be displayed, enter short text then click on the 'Enhancement
    Step 4
    Now enter the Exit name (enhancement) which contains the desired Function Exit.
    Step 5
    Return to initial screen of CMOD and press the activate icon. The exit is now ready for use.
    Please Mark The Helfull Answers & close the thread.
    regards
    dj
    reward for all useful answers.

  • Regarding rental object-I want to add some fields in output list?

    Hi,
    I am creating Ze program of transaction REISROOC.I want to add some fields in the output list .
    here logical database is used & for adding some fields i need to write Select query.
    how n where should i add this query?
    can anyone help me????
    Thanks,
    vaishali

    Solved
    Edited by: vaishali patil on Mar 2, 2009 1:32 PM

  • Getting alternative colors in output list

    Hi Frnds,
                  I have to provide alternative colors for each row for my report which i m unable to do.
    Actually i am getting colors in my header but i need alternative colors for each row in my output.
    below i am providing my code.
    <code>
    REPORT  ZVVK_DOWNLOAD.
    TYPE-POOLS RSDS.
    DATA : IT_TABLEKEY LIKE COND_FLDS OCCURS 0 WITH HEADER LINE,
           IT_TABLEDAT LIKE COND_FLDS OCCURS 0 WITH HEADER LINE,
           IT_PRICING  LIKE COND_RECS OCCURS 0 WITH HEADER LINE,
           IT_RANGE    TYPE RSDS_FRANGE_T,
           IT_KNUMH    LIKE COND_KNUMH OCCURS 0 WITH HEADER LINE .
    DATA : IT_KONH                  LIKE KONHDB OCCURS 0 WITH HEADER LINE,
           IT_KONP                  LIKE KONPDB OCCURS 0 WITH HEADER LINE,
           IT_KONM                  LIKE COND_KONM OCCURS 0 WITH HEADER LINE,
           IT_KONW                  LIKE COND_KONW OCCURS 0 WITH HEADER LINE,
           IT_BAPI_COND_RECS        LIKE BAPICONDCT   OCCURS 0 WITH HEADER LINE,
           IT_BAPI_KEY_FIELDS       LIKE BAPICONDDD   OCCURS 0 WITH HEADER LINE,
           IT_BAPI_DATA_FIELDS      LIKE BAPICONDDD   OCCURS 0 WITH HEADER LINE,
           IT_COND_HEADER           LIKE BAPICONDHD OCCURS 0 WITH HEADER LINE,
           IT_COND_ITEM             LIKE BAPICONDIT OCCURS 0 WITH HEADER LINE,
           IT_COND_QUANTITY_SCALE   LIKE BAPICONDQS OCCURS 0 WITH HEADER LINE,
           IT_COND_VALUE_SCALE      LIKE BAPICONDVS OCCURS 0 WITH HEADER LINE,
           IT_T682I                 LIKE T682I      OCCURS 0 WITH HEADER LINE.
    DATA : WA_RANGES LIKE LINE OF IT_RANGE,
           WA_SELOPT LIKE LINE OF WA_RANGES-SELOPT_T.
    *Data declarations for displaying downloaded file into application server in output list
    TYPES: BEGIN OF T_VARINFO,
              FLAG TYPE C,
              OLENGTH TYPE X,
              LINE LIKE RALDB-INFOLINE,
            END OF T_VARINFO.
    DATA:TABLES TYPE TRDIR-NAME OCCURS 0 WITH HEADER LINE ,
         INFOTAB TYPE T_VARINFO OCCURS 0 WITH HEADER LINE.
    SELECT-OPTIONS SO_DATE FOR SY-DATUM.
    PARAMETERS : P_CONTAB TYPE T681-KOTABNR   OBLIGATORY,
                FILENAME(128) DEFAULT '/usr/sap/tmp/' LOWER CASE.
    *start-of-selection
    START-OF-SELECTION.
      IF NOT SO_DATE[] IS INITIAL.
        WA_RANGES-FIELDNAME = 'DATBI'.
        LOOP AT SO_DATE.
          MOVE-CORRESPONDING SO_DATE TO WA_SELOPT.
          APPEND WA_SELOPT TO WA_RANGES-SELOPT_T.
        ENDLOOP.
        APPEND WA_RANGES TO IT_RANGE.
      ENDIF.
    *--For Datarevin for condition table
      CALL FUNCTION 'SELECT_RECORDS_FROM_COND_TABLE'
        EXPORTING
          I_KVEWE                       = 'A'
          I_KOTABNR                     = P_CONTAB
          I_BLOCKSIZE                   = 0
          I_RANGES                      = IT_RANGE
        TABLES
          T_COND_TABLES_KEY_FIELDS      = IT_TABLEKEY
          T_COND_TABLES_DATA_FIELDS     = IT_TABLEDAT
          T_COND_RECORD_PRICING         = IT_PRICING
        EXCEPTIONS
          INVALID_USAGE                 = 1
          INVALID_TABLE                 = 2
          DIFFERENT_PARAMETERS_IN_BLOCK = 3
          LASTBLOCK_ALREADY_SENT        = 4
          OTHERS                        = 5.
      IF SY-SUBRC <> 0.
    MESSAGE ID SY-MSGID TYPE SY-MSGTY NUMBER SY-MSGNO
            WITH SY-MSGV1 SY-MSGV2 SY-MSGV3 SY-MSGV4.
      ENDIF.
      SELECT * INTO TABLE IT_T682I
        FROM T682I
        WHERE KOTABNR = P_CONTAB.
      LOOP AT IT_PRICING.
        IT_KNUMH-KNUMH = IT_PRICING-KNUMH.
        APPEND IT_KNUMH.
      ENDLOOP.
      CALL FUNCTION 'SELECT_PRICES_DETAILS'
        TABLES
          T_KNUMH = IT_KNUMH
          T_KONH  = IT_KONH
          T_KONP  = IT_KONP
          T_KONM  = IT_KONM
          T_KONW  = IT_KONW.
      CALL FUNCTION 'CRS_MAP_COND_INTO_BAPISTUCTURE'
        EXPORTING
          I_OPERATION            = '005'
        TABLES
          TI_COND_RECS           = IT_PRICING
          TI_KEY_FIELDS          = IT_TABLEKEY
          TI_DATA_FIELDS         = IT_TABLEDAT
          TI_KONHDB              = IT_KONH
          TI_KONPDB              = IT_KONP
          TI_VKONM               = IT_KONM
          TI_VKONW               = IT_KONW
          TO_BAPI_COND_RECS      = IT_BAPI_COND_RECS
          TO_BAPI_KEY_FIELDS     = IT_BAPI_KEY_FIELDS
          TO_BAPI_DATA_FIELDS    = IT_BAPI_DATA_FIELDS
          TO_COND_HEADER         = IT_COND_HEADER
          TO_COND_ITEM           = IT_COND_ITEM
          TO_COND_QUANTITY_SCALE = IT_COND_QUANTITY_SCALE
          TO_COND_VALUE_SCALE    = IT_COND_VALUE_SCALE.
      IF SY-SUBRC <> 0.
      ENDIF.
    For displaying filename and number of records downloaded in application server
      DATA:VAR_INFO TYPE TABLE OF RSVARADMIN WITH HEADER LINE ,
           VAR_NAME TYPE TABLE OF RSVARRANGE WITH HEADER LINE  .
      CALL FUNCTION 'RS_VARIANT_ADMIN_DATA'
        EXPORTING
          CURR_REPORT   = SY-REPID
        TABLES
          VARIANT_INFO  = VAR_INFO
          VARIANT_NAMES = VAR_NAME.
      CALL FUNCTION 'PRINT_SELECTIONS'
        EXPORTING
          MODE      = TABLES
          RNAME     = SY-REPID         "program name
          RVARIANTE = VAR_INFO-VARIANT    "varient name
        TABLES
          INFOTAB   = INFOTAB.
      LOOP AT INFOTAB.
        WRITE / INFOTAB-LINE.
      ENDLOOP.
      WRITE:/1(80) SY-ULINE .
      WRITE:/1 SY-VLINE ,
             3 'The output filename:' COLOR 7,
             49 sy-vline,
             50 'no of records downloaded:' COLOR 6 ,
             80 SY-VLINE.
      WRITE:/1(80) SY-ULINE .
    Where used
      PERFORM DATA_DWNLD TABLES IT_T682I USING P_CONTAB 'WHERE_USED' 'DAT' 'xls'.
    *IT_BAPI_COND_RECS
      PERFORM DATA_DWNLD TABLES IT_BAPI_COND_RECS USING P_CONTAB 'COND_RECS' 'BIN' 'txt'.
    IT_BAPI_KEY_FIELDS
      PERFORM DATA_DWNLD TABLES IT_BAPI_KEY_FIELDS USING P_CONTAB 'KEY_FIELDS' 'ASC' 'txt'.
    KEY_FIELDS
      PERFORM DATA_DWNLD TABLES IT_BAPI_KEY_FIELDS USING P_CONTAB 'KEY_FIELDS' 'DAT' 'xls'.
    *DATA_FIELDS
      PERFORM DATA_DWNLD TABLES IT_BAPI_DATA_FIELDS USING P_CONTAB 'DATA_FIELDS' 'BIN' 'txt'.
    *COND_HEADER
      PERFORM DATA_DWNLD TABLES IT_COND_HEADER USING P_CONTAB 'COND_HEADER' 'BIN' 'txt'.
    *COND_ITEM
      PERFORM DATA_DWNLD TABLES IT_COND_ITEM USING P_CONTAB 'COND_ITEM' 'BIN' 'txt'.
    *COND_QUANTITY_SCALE
      PERFORM DATA_DWNLD TABLES IT_COND_QUANTITY_SCALE  USING P_CONTAB 'QUANTITY_SCALE' 'BIN' 'txt'.
    *COND_VALUE_SCALE
      PERFORM DATA_DWNLD TABLES IT_COND_VALUE_SCALE  USING P_CONTAB 'VALUE_SCALE' 'BIN' 'txt'.
    *&      Form  DATA_DWNLD
          text
    FORM DATA_DWNLD TABLES P_TAB
                    USING  P_CONTAB   TYPE ANY
                           P_TABNAME  TYPE ANY
                           P_FILETYPE TYPE CHAR10
                           P_EXT      TYPE ANY.
      DATA: L_FILE TYPE STRING,
            V_LINES TYPE I .
      DESCRIBE TABLE P_TAB LINES V_LINES.
      CONCATENATE 'ORG' P_CONTAB P_TABNAME
                 INTO L_FILE SEPARATED BY '_'.
      CONCATENATE FILENAME L_FILE '.' P_EXT INTO L_FILE.
      CONDENSE L_FILE.
      FIELD-SYMBOLS : <FS_DATA> TYPE ANY.
      OPEN DATASET L_FILE FOR OUTPUT IN BINARY MODE .
      IF SY-SUBRC NE 0.
        EXIT.
      ELSE.
        LOOP AT P_TAB ASSIGNING <FS_DATA>.
          TRANSFER <FS_DATA> TO L_FILE .
        ENDLOOP.
      ENDIF.
      CLOSE DATASET L_FILE.
    For displaying filename and number of records downloaded in application server
      WRITE:/1 SY-VLINE ,
             3  L_FILE ,
             49 sy-vline,
             50 v_lines,
             80 SY-VLINE.
      WRITE:/1(80) SY-ULINE .
    ENDFORM.                    " DOWNLOAD_FILE
    </code>

    Hi Satya,
    Try this .
    select ebeln ebelp statu aedat matnr menge meins netpr peinh
    up to 10 rows
      from ekpo
      into table it_ekko.
    *Populate field with color attributes
    loop at it_ekko into wa_ekko.
    Populate color variable with colour properties
    Char 1 = C (This is a color property)
    Char 2 = 3 (Color codes: 1 - 7)
    Char 3 = Intensified on/off ( 1 or 0 )
    Char 4 = Inverse display on/off ( 1 or 0 )
              i.e. wa_ekko-line_color = 'C410'
      ld_color = ld_color + 1.
    Only 7 colours so need to reset color value
      if ld_color = 8.
        ld_color = 1.
      endif.
      concatenate 'C' ld_color '10' into wa_ekko-line_color.
    wa_ekko-line_color = 'C410'.
      modify it_ekko from wa_ekko.
    endloop.
    endform.                    " DATA_RETRIEVAL
    For more info ,
    http://www.sapdev.co.uk/reporting/alv/alvgrid_color.htm
    Regards,
    Chitra

  • Add additional field in the output list

    Tcode(VL10G) .ie.out put list will not showing one new field.I want to add one more field to output list. field(VIKP-SDABW) In the SHP_VL10_ITEM and write the logic in the exit LV50R_VIEWG05----
    >USEREXIT_PREPARE_LAYOUT_FILL.Plase explain me step-by-step.It is very uggent?Please help me.
    Thanks & Regards,
    sairam

    Hi Sairam,
    Go through this info.
    /3 provides three "customization spots" that allow you to enhance FI/CO features without modifying the standard code. Although often collectively referred to as "user exits," two of the three have different names. SAP Enhancements are used to expand the standard functionality within SAP. Enhancements use function modules and are called from the standard SAP code. Each module in the system has a set of delivered enhancements that help companies expand the standard functionality where they need it. Enhancements were new in release 3.0.      
    The Open FI Interfaces or Business Transaction Events are also used to expand the standard functionality within SAP. These events are defined in the IMG. Business Transaction Events were new in release 4.0. They are not available for all modules and are not called on all integrated transactions into FI as of release 4.5B. This will change with each release and should be retested.The older User Exits in FI/CO are "Z" programs that are defined in table T80D for client-dependent user exits, and in table T80I for client-independent user exits. These are also used to expand the standard functionality within the FI/CO modules. These User Exits have been available since the early releases of SAP. All of these FI/CO User Exits are listed in this document in the Configuring User Exits (Older). The list is included because these User Exits are not a part of the Enhancements or Business Transaction Events and do not have an Info System for searching.
    Benefits•        Standard SAP functionality can be enhanced without modification to the standard code.
    •        Upgrades do not erase the functionality and it does not have to be re-transported or re-entered into the system. The enhancements should be thoroughly tested when upgrading to ensure the system will still work as implemented.
    Configuring SAP Enhancements
    Basic Steps in Configuring an Enhancement
    •        Find the appropriate Enhancement.
    •        Enter the ABAP code in the "Z" program within the function module.
    •        Create a project.
    •        Add the Enhancement to the project.
    •        Activate the project.
    Example Business Scenario for Enhancements
    Company A has a requirement to validate all customer master records created with a U.S. address. The U.S. entity reports on the industry field on the customer master. This is only a U.S. requirement and should not be required for the other countries, so the field status would not work. To accomplish this requirement, Company A will need to set up an Enhancement for the customer master transaction. The necessary steps are detailed below with screenprints. This example was configured in a 4.6C system.
    Detailed Steps
    1.    Tools   ABAP Workbench   Utilities   Enhancements   Definition   Utilities   List Enhancements
    2.    Do not execute this without any parameters! There are too many Enhancements and it will probably time out. You’re searching for a customer master exit. Enter mast in the short text (see Figure 1). You’ll start there. Searching for an exit can be tricky, so make sure you try several things before giving up.
    3.    Execute the search.
    Figure 1. Start Your Search for a Master Exit Here
    4.    Look through the list until you find the Enhancement for User exits: Customer Master Data.
    5.    Double-click on the enhancement SAPMF02D. This will take you to the details of the Enhancement and list the function modules included in the Enhancement.
    6.    To continue, double-click on the function module EXIT_SAPMF02D_001
    7.    This will take you to the source code for the function module. Click on the Import tab to review the tables/fields that are available for the Enhancement (see Figure 2).
    Figure 2. The Tables That Are Available for the Enhancement
    8.      To view the tables/fields that can be changed in the function module, click on the Export and Changing tabs. For this function module, these tabs are empty because you can only validate data. You cannot change any fields in this enhancement.
    9.      Return to the Source Code tab.
    10.  Scroll down until you see the Include statement in the program. The "Z" program listed after the Include is where your code will be written (see Figure 3).
    Figure 3. Your Program Will Begin After the Include Statement
    11.   Double-click on the Include. You will be prompted to create the include. Click on Yes to create.
    12.   At this point you will be prompted to enter a development class and to create a transport request. If you do not know which development class to use, please contact your technical team.
    13.  Enter the following ABAP code into the program (Figure 4):
    User exit to ensure that all US customers have a group key
    entered on the customer master.
    if i_kna1-land1 = 'US' and
    i_kna1-brsch = ' '.
    message e001(F2).
    endif.
    Figure 4. The ABAP Code You Need to Enter
    14.   Note that the table name matches the table name in the import tab tables.
    15.   In this example you are using the standard message class F2 with message number 001. Normally, you will create your own message within your own message class. All customer message classes must begin with a "Z" and are created in transaction SE91.
    16.  Save the program.
    17.  The next step is to create the project. Go to transaction code CMOD or follow menu path: Tools   ABAP Workbench   Utilities   Enhancements   Project Management.
    18.  Enter the project name; begin the name with a "Z."
    19.  Click on the Create button.
    Figure 5. Click on Create After You Type in the Project Name
    20.   Enter in a description for the project.
    21.   Click on the Enhancement Assignments button.
    22.   You will be prompted to save the enhancement. Click on Yes.
    23.   At this point you will be asked for a development class and to create a transport for the project. You may use the same one created when adding the ABAP code to the function module.
    24.  Enter the name of the enhancement SAPMF02D (see Figure 6).
    Figure 6. Enter the Name of the Enhancement Here
    25.  Save the project.
    26.  Back out of the enhancement assignment.
    27.  Activate the project by hitting the Activate button.
    The SAP Enhancement is ready to be tested! Try creating a customer with U.S. as the country and a blank group key. Be sure to test one with a group key to make sure the message is not displayed in error as well.
    Configuring Business Transaction Events
    Basic Steps in Configuring an Event
    •        Make sure the application is active for Business Transaction Events.
    •        Copy the sample interface function module into a "Z" function module.
    •        Enter the ABAP code into the source code section of the new "Z" function module. You may choose to create a "Z" program to enter the code into and then insert the "Z" program into your function module source code.
    •        Activate the function module.
    •        Assign the function module to the event, country and application.
    Example Business Scenario for Business Transaction Events
    Company A would like to copy the group key field from the vendor master into the allocation field on all the line items within a vendor invoice and payments, including the vendor lines. This requirement assumes only one vendor is posted to in a document.
    To accomplish this requirement, Company A will use the Business Transaction Event 1130, Post Document: SAP Internal Field Substitution.
    1.      IMG Menu Path: Financial Accounting   Financial Accounting Global Settings   Use Business Transaction Events   Environment   Infosystem (Processes).
    2.      Find the correct Business Event. You are updating a field, so you select the Processes Info System instead of the Publish and Subscribe Info System.
    3.      Execute the search with the defaults.
    4.      Find the correct interface for updating a document: Post Document: SAP- Internal Field Substitution (see Figure 7).
    Figure 7. Find the Correct Interface for the Business Event
    5.      Put your cursor on the event and click on the Sample Function Module button.
    6.      You are now in transaction SE37 – Function Builder. This is the function module (sample_process_00001130) you will need to copy into a "Z" name function module for your coding (see Figure 8).
    Figure 8. This Is the Function Module You Need to Copy Your "Z" Name Function Module
    7.      Click on the Copy button.
    8.      Enter the "Z" function module name in the To Function Module field (see Figure 9).
    9.      Enter a Function Group. If you need to create a "Z" function group, go to transaction code SE37 and follow menu path: Go to   Function Groups   Create Group. A function group is a logical grouping of function modules, and the ABAP code is generated for function groups. You will be prompted for a development class and transport when creating the function group.
    Figure 9. Enter Your "Z" Function Module Name Here
    10.  In Function Builder (transaction SE37), enter the new "Z" function module. Click on the Change button.
    11.  The system will default into the source code screen where you may enter your ABAP code.
    12.  Notice the tables available for the code. Additional tables may be declared if necessary.
    13.  Enter the following source code (see Figure 10):
    tables: lfa1.
    data: z_groupkey like lfa1-konzs.
    z_groupkey = ' '.
    loop at t_bseg.
    check for vendor lines. If one is found, read the vendor master and
    retrieve the group key field.
    if t_bseg-koart eq 'K'.
      select single konzs from lfa1 into z_groupkey
        where lifnr = t_bseg-lifnr.
    endif.
    Move the group key field into all line items allocation field.
    loop at t_bsegsub.
      t_bsegsub-zuonr = z_groupkey.
      modify t_bsegsub index sy-tabix.
    endloop. "t_bsegsub
    endloop. "t_bseg
    Figure 10. The Screen Where You Enter Your Source Code
    14.  Save the function module.
    15.  Back out to the main Function Builder screen by clicking on the green arrow button.
    16.  Activate the function module by clicking on the Activate button (see Figure 11).
    Figure 11. Activate the Function Module from This Screen
    17.  Assign the function module to the event in the IMG: Financial Accounting   Financial Accounting Global Settings   Business Transaction Events   Settings   Process Function Modules   of an SAP Appl.
    18.  Hit enter past the warning messages that this is SAP data.
    19.  Click on the New Entries button.
    20.  Enter the process for your interface. In your example it is 00001130.
    21.  Enter the country the interface is valid for. If it is valid for all countries, leave this field blank.
    22.  Enter the application the interface should be called for. If it should be called for all applications, leave this field blank. Please note that not all integrated transactions are programmed to go through these interfaces! You will need to test to find out!
    23.  Enter the new "Z" function module (see Figure 12).
    Figure 12. Enter Your New "Z" Function Module Here
    24.  Save the settings. At this point you will be prompted for a CTS number for the configuration change.
    25.  The Business Transaction Event is complete! You are ready for testing.
    Configuring User Exits (Older)
    Basic Steps in Configuring an User Exit
    •      Create a "Z" program for the User Exits and enter the necessary ABAP code.
    •      Enter the new program name into table T80D.
    •      Configure the application to call the User Exit.
    List of User Exits
    •      Variable Field Movements
    •      Substitutions in FI, CO, PCA
    •      Validations in FI, CO, PCA
    •      Rollups in SPL
    •      Fixed Field Movements in SPL
    •      Cost Center Summarization on Detail Screen
    •      Sets Formula Variables
    Example Business Scenario for User Exits
    Company A would like to add a "Z" field in the Special Purpose Ledger to capture a Business Unit field for reporting. They have used all the standard SAP fields such as Business Area and Profit Center. The field will only be used for reporting and is only needed in the Special Purpose Ledger. You created a special ledger table (ZZSPL1) with field Z_BUNIT and need to populate this field based on a combination of G/L account, fund and functional area.
    To accomplish this requirement, Company A will use the Variable Field Movement User Exit. To make maintenance easier, table ZZBUSUNIT was created with the G/L account, fund and functional area fields as key fields, and the business unit field as a non-key field. You generated the table maintenance so the table could be updated using transaction SM30. SAP users update the business unit determination rules in table ZZBUSUNIT by entering the G/L account, fund and functional area, and then the business unit that combination should be posting to. The User Exit will read table ZZBUSUNIT using the G/L account, fund and functional area from the posting transaction and determine the business unit. The steps for using the user exit are detailed below. This example was created on a 4.6C system.
    1.      Copy the delivered template User Exit program RGIVU000_TEMPLATE into a "Z" program. Follow menu path Tools   ABAP Workbench   Development   ABAP Editor (transaction code SE38). In early releases, the delivered program was RGIVU000.
    2.      You will be prompted for a development class and a transport. Please check with the technical team for the correct development class.
    3.      At the initial ABAP Editor screen, enter your new "Z" program name, select the Source Code button and click on Change (see Figure 13).
    Figure 13. To Enter Your New Code, Select Source Code and Click on the Change Button
    4.      Enter the following code in the User Exit (Figure 14):
    FORM E01_MVC USING FROM_FIELD TO_FIELD.
    to_field = 'CORP'. "Set a default business unit.
    read table zzbusunit to determine the business unit field.
    select single z_bunit from zzbusunit into to_field
       where hkont = accit_glx-hkont and
        geber = accit_glx-geber and
        fkber = accit_glx-fkber.
    ENDFORM.
    Figure 14. Enter Your New Code at This Screen.
    5.      Activate the program by clicking on the Activate button.
    6.      Change the configuration in the User Exit table to point to your new "Z" program.
    7.      Follow the IMG menu path: Financial Accounting   Special Purpose Ledger   Basic Settings   User Exits   Maintain Client Specific User Exits.
    8.      The entry to maintain is application area GIMV: Variable Field Movement. Enter your "Z" program (see Figure 15).
    Figure 15. Enter Your "Z" Program in the Application Area GIMV: Variable Field Movement
    9.      Save the changes.
    10.  The final configuration step is to assign the User Exit in the variable field movement for your special ledger table. In the IMG: Financial Accounting ? Special Purpose Ledger ? Basic Settings ? Master Data ? Maintain Field Movements. Field movements control how the fields in a special ledger table are populated. They can be populated straight from other fields in a posting or through User Exits.
    Figure 16. After You Assign the Business Unit Field and the G/L Account, the Exit Field Should Contain U01.
    11.  Assign the business unit field as a receiver and the G/L account as the sender. The Exit field should contain U01 (see Figure 16).
    12.  The User Exit number U01 calls User Exit E01_MVC form in the "Z" program.
    13.  Save the field movement.
    14.  You are ready to test your User Exit!
    Rewords some points.
    Rgds,
    P.Naganjana Reddy

  • Change output list   FBL5N

    Hi, i want to add a new fields to the output of transactions FBL5N.
    I want to show in the output list the fields Credit Limit, Sales Ditrict and description of sales district in transaction.
    I need know how can i change the layout and in the hidden fields appear this fields.  this is possible?
    You think that exist some SAP notes for this requirement? If yes, can you give me the number if this note?
    Sales district: field KNVV-BZIRK
    por el credit limit: field KNKK-KLIMK.
    Thanks in advance.

    Hello Stilianos, yes of course with pleasure.
    The code that i put in my MF en the event 1650 from the start is following:
    function zzsample_interface_00001650.
    ""Local Interface:
    *"  IMPORTING
    *"     VALUE(I_POSTAB) LIKE  RFPOS STRUCTURE  RFPOS
    *"  EXPORTING
    *"     VALUE(E_POSTAB) LIKE  RFPOS STRUCTURE  RFPOS
    Descripción: Copy of the MF SAMPLE_INTERFACE_00001650, the MF for
    the event 1650: Line Item Display: Add to data per line.This specific
    MF was been created to fill new fields in the ALV list of the
    transaction FBL5N as part of the developmenet
    GB-DEV-FIN - Impact Assessment RFC FIN 1270).
    ........................................................u2026u2026u2026u2026u2026u2026u2026u2026u2026u2026u2026.
    MÓDULO AL QUE PERTENECE: FI
    AUTOR : Amal SALHI    EMPRESA: Accenture     FECHA: 03/06/08
    CONTROL DE MODIFICACIONES
    AUTOR           EMPRESA            FECHA          MOTIVO
    ...........     ...............    DD/MM/AA      ......................
    ...........     ...............    DD/MM/AA       ......................
    Initialize Output by using the following line -
    E_POSTAB = I_POSTAB.
      tables: bkpf,      "Accounting Document Header
              vbrk,      "Billing Document: Header Data
              knvv,      "Customer Master Sales Data
              knkk,      "Customer master credit management: Control area data
              t171t.     "Customers: Sales districts: Texts
    Variable and constants declaration
      data: l_awtyp type bkpf-awtyp,  " Reference Transaction
            l_awkey type bkpf-awkey,  " Reference Key
            l_vkorg type vbrk-vkorg,  " Sales Organization
            l_kunnr type vbrk-kunrg,  " Payer
            l_vtweg type vbrk-vtweg,  " Distribution Channel
            l_spart type vbrk-spart.  " Division
      constants:c_vbrk type bkpf-awtyp  value 'VBRK',
                c_d    type rfpos-koart value 'D',
                c_fbl5n like sy-tcode   value 'FBL5N'.
    Fill all fields except new fields: Sales district, Customer's credit limit
    and Name of the district (Copy of FDM_AR_INTERFACE_00001650 code)
      data:
           lt_attributes type fdm_t_line_item_attributes,
           ls_attributes type fdm_line_item_attributes.
      clear e_postab.
    *--- pass the account type, customer account to the service layer
      move-corresponding i_postab to ls_attributes.
      append ls_attributes to lt_attributes.
    *--- call the service layer to get the case attributes
      call function 'FDM_AR_DOC_ATTRIBUTES_GET'
        changing
          ct_attributes = lt_attributes.
    *--- pass the case attributes back to the exporting
      clear ls_attributes.
      move-corresponding i_postab to e_postab.
      read table lt_attributes into ls_attributes index 1.
      move-corresponding ls_attributes to e_postab.
    *--- fill line item fields overwritten by last move-corresponding
      e_postab-konto = i_postab-konto.
      e_postab-koart = i_postab-koart.
      e_postab-bukrs = i_postab-bukrs.
      e_postab-belnr = i_postab-belnr.
      e_postab-gjahr = i_postab-gjahr.
      e_postab-buzei = i_postab-buzei.
      check sy-tcode = c_fbl5n.
    Fill new fields: Sales district (RFPOS-BZIRK), Customer's credit limit (RFPOS-KLIMK)
    and Name of the district (RFPOS-BZTXT)
    Find the Customer Number
      if e_postab-koart = c_d.
        clear l_kunnr.
        l_kunnr = i_postab-konto.
      endif.
    Fill the column Customer's credit limit (KLIMK)
      clear e_postab-klimk.
      select single klimk
      into e_postab-klimk
      from knkk
      where kunnr = l_kunnr         "Customer Number 1
      and   kkber = i_postab-kkber. "Credit control area
    Find the original document from BKPF
      clear: l_awtyp, l_awkey.
      select single awtyp awkey
      from bkpf
      into (l_awtyp, l_awkey)
      where bukrs = i_postab-bukrs
      and   belnr = i_postab-belnr
      and   gjahr = i_postab-gjahr.
    Check if the original document is a sales document.
      if l_awtyp = c_vbrk.
        clear: l_vkorg, l_vtweg, l_kunnr, l_spart.
        select single vkorg vtweg spart kunrg
        from vbrk
        into (l_vkorg, l_vtweg, l_spart, l_kunnr)
        where vbeln = l_awkey(10).
        if sy-subrc = 0.
    Fill the column Sales district (BZIRK)
          clear e_postab-bzirk.
          select single bzirk
          from knvv
          into e_postab-bzirk
          where kunnr = l_kunnr     "Customer Number 1
          and   vkorg = l_vkorg     "Sales Organization
          and   vtweg = l_vtweg     "Distribution Channel
          and   spart = l_spart.    "Division
    Fill the column Name of the district (BZTXT)
          clear e_postab-bztxt.
          select single bztxt
          into e_postab-bztxt
          from t171t
          where spras = sy-langu        "Connection Language
          and   bzirk = e_postab-bzirk. "Sales district
        endif.
    CB
      else.
    Fill the column Sales district (BZIRK)
        clear e_postab-bzirk.
        select single bzirk
        from knvv
        into e_postab-bzirk
        where kunnr = l_kunnr         "Customer Number 1
        and   vkorg = i_postab-bukrs. "Sales Organization
        check sy-subrc = 0.
    Fill the column Name of the district (BZTXT)
        clear e_postab-bztxt.
        select single bztxt
        into e_postab-bztxt
        from t171t
        where spras = sy-langu        "Connection Language
        and   bzirk = e_postab-bzirk. "Sales district
    CB
      endif.
    endfunction.
    One remark that you know is it makes sense to show those fields only if the invoice was generated by a bill for that we search inf the origin document in BKPF is an invoice.
    I hope that helps you. For anything about that, you can tell me and i will see if i can help you.
    Tell if this resolves your problem.

Maybe you are looking for

  • How to change the data type in the table ESLL for the field USERF2_NUM ?

    Hello Friends, I have a requirement in which one of the change is to convert the data type of the field 'USERF2_NUM' in the table 'ESLL'  from 'QUAN' to 'CHAR'.  How do i do it if i have an access to change it..........i think i should also check the

  • ICloud backup with no wifi

    The wifi on my iPhone 4S is greyed out.  I tried doing a DFU restore but the wifi still does not work.  I'm going to wait until my upgrade to get a new phone but my most recent backup is on iCloud, not iTunes.  Since I can't restore my iCloudn back u

  • CONNECTING AE TO CABLE MODEM

    Hi. I have an Arris cable modem connected to my MacBook and everything works fine but when I connect my AE everything seems go go wrong. I have a static IP and I transfered the details to the AE via ethernet and then plugged the cable modem into the

  • Report required with Storage Bin

    Hi, I need a report that contains the Material Document number and the Storage Bin.  Anyone know of the transaction I can use.  I did it a yr ago and it worked so I know it exist, just can't seem to find it again.

  • Icloud " terms and conditions" server connection

    "unable to connect to server" for accepting icloud terms. contacts & calendar will not load on iphone.