Screen Exit in MIGO transaction

Hi All,
My requirement is to add new tab in the item level of the transaction MIGO.
For this purpose, I found the BADI MB_MIGO_BADI in which I am making use of methods PBO_DETAIL, PAI_DETAIL, LINE_MODIFY and POST_DOCUMENT in my enhancement.
Now In my enhancement, I have create a container on the sub screen along with few fields and display some text based on the material. For this I have created a program ZTEST_BADI with screen 9000 and handled the logic for placing text editor on the container and populating the text in the text editor. But I am getting an exception ERROR_DP from the method SET_TEXT_AS_R3TABLE in the class CL_GUI_TEXTEDIT.
Exception is stated as "Error while sending R/3 table to TextEdit control!"
My questions:
1. What might be the reason for this exception? This functionlity is working when I have tested the program by executing it individually with out calling from MIGO transaction.
2. How text should be passed when we are handling text editor in sub screens.Is that mandatory to convert to stream? or will this method SET_TEXT_AS_R3TABLE suits my requirement?
Thanks,
Ravee..

hi ravee,
      Please go through that link ...it will helpful for U...
      WWWDOTSAPTECHNICALDOTCOM/Tutorials/ExitsBADIs/MIGO/screenexit.htm
Regards,
Arun.
Edited by: Arun Kumar on Dec 4, 2009 11:51 AM
Edited by: Arun Kumar on Dec 4, 2009 11:51 AM

Similar Messages

  • Screen exit - LM46 RF transaction

    Hi,
    This is related to the screen exit of RF transaction LM46.
    We have created a screen exit for logical screen 0212 of SAPLLMOB for the RF transaction LM46 and added this screen in the screen management config.
    The custom sub screen 1212 for the user exit was created in SAPLXLRF as a copy of screen 2212 of SAPLLMOB.
    The issue we are facing is: the sub screen SAPLXLRF 1212 gets called but no data is being passed from SAPLLMOB screen to the SAPLXLRF sub screen as expected, so the screen appears without any values.
    Thanks and Regards,
    Simmi

    Hi
    You can find Exits and BADI from SPRO. Just identify the area where you want to enhance and go to that area by SPRO , then you can see system enhancement that are available. This is the good way to find enhancement because you can find the documentation related to enhancement.
    Like  SPRO > Material Management > Purchasing > Develop enhancement for purchasing (Exits)
    or see Business add ins for purchasing.  Read the documentation.
    Else you can search exits and badi by the package name like find the package of a transaction where you want to put enhancement. SE93 > Transaction name > Display > Package.
    then go to SE80 and open the package then see function group start with X. this are exits  that are available. you can find enhancement also.
    Else to find BADI related to a transaction just put break point to class method cl_exithandler->get_instance in SE24.
    and run the transaction , then you can find the BADI as exit name in this function call.
    These are the way you can find enhancement  , but the way which is describe 1st is the best way.
    hope it will solve ur problem.
    Thanks

  • How to find the screen exit of migo screen

    Hi anybody,
      Please tell me how to find the screen exit in MIGO Sceen.
    Thks
    Kali.

    GO TO TRANSACTIO CODE MIGO
    GO->SYSTEM->STATUS
    COPY THE PROGRAM NAME
    OPEN SE38 EDITOR
    GIVE THE PROGRAM NAME
    IN THE GLOABL SEARCH SEARCH THE STRING
    SELECT RADIO BUTTON MAIN PROGRAM
    CALL CUSTOMER
    U WILL GET SOME CALL CUSTOMER FUNCTION '001'.
    DOUBLE CLICK ON THAT U WILL GET THE EXIT
    FOR ANY EXIT SCREEN MENU FUNCTION THE PROCEDURE IS SAME
    PLEASE REWARD IF USEFUL
    REGARDS
    I

  • Screen exit for FS00 transaction

    Hi All,
    My requirement is i need to provide a button in FS00 transaction to approve the GL Code. Can anyone suggest me screen exit for FS00 transaction. 
    Thanks,
    Chitra.

    Hi
    You can find Exits and BADI from SPRO. Just identify the area where you want to enhance and go to that area by SPRO , then you can see system enhancement that are available. This is the good way to find enhancement because you can find the documentation related to enhancement.
    Like  SPRO > Material Management > Purchasing > Develop enhancement for purchasing (Exits)
    or see Business add ins for purchasing.  Read the documentation.
    Else you can search exits and badi by the package name like find the package of a transaction where you want to put enhancement. SE93 > Transaction name > Display > Package.
    then go to SE80 and open the package then see function group start with X. this are exits  that are available. you can find enhancement also.
    Else to find BADI related to a transaction just put break point to class method cl_exithandler->get_instance in SE24.
    and run the transaction , then you can find the BADI as exit name in this function call.
    These are the way you can find enhancement  , but the way which is describe 1st is the best way.
    hope it will solve ur problem.
    Thanks

  • Screen Exit for MB1C transaction with program :SAPMM07M and screen 410

    I am working on a requirement which is to enhance the Functionality of transaction, MB1C.  In Mb1c item details screen I want to add some additional text line (about 7 to 8) for client Materials. The requirement is to add details of drawings which we have to enter at the time of GR. One item text field is available but that is not enough. As the drawing specs, spool no, ... etc., have to be entered. My question is there any screen exit for MB1c Transaction?. If not how to proceed?.  Could someone answer my query. I am working on ECC 6.0.
    Thanks & Regds
    Ariffu Mohammed

    Please explore the following exit and there documentation , inorder to                    
    fulfill the requirement                                                                               
    MB1C SAPMM07M  MBCF0002        E            EXIT_SAPMM07M_001                             
                   MBCF0006        E            EXIT_SAPMM07M_005                             
                   MBCF0009        E            EXIT_SAPMM07M_009                             
                   MBCFC003        E            EXIT_SAPMM07M_003                             
                   MBCFC004        E            EXIT_SAPMM07M_004                             
                   MBCFC010        E            EXIT_SAPMM07M_010                             
         SAPMM07M  MBCF0002        E            EXIT_SAPMM07M_001                             
                   MBCF0006        E            EXIT_SAPMM07M_005                             
                   MBCF0009        E            EXIT_SAPMM07M_009                             
                   MBCFC003        E            EXIT_SAPMM07M_003                             
                   MBCFC004        E            EXIT_SAPMM07M_004                             
                   MBCFC010        E            EXIT_SAPMM07M_010

  • User exit for MIGO transaction

    I'm checking for user exit in Migo transaction
    what I want to do is when I enter the PO# and try to save all the details ,it must trigger a pop-up(customized transaction) thru USEREXIT.
    Thanks in advance.

    Hello Hema
    These are the "old" customer-exits on ECC 5.0:
    MBCF0002            Customer function exit: Segment text in material doc. item
    MBCF0005            Material document item for goods receipt/issue slip
    MBCF0006            Customer function for WBS element
    MBCF0007            Customer function exit: Updating a reservation
    MBCF0009            Filling the storage location field
    MBCF0010            Customer exit: Create reservation BAPI_RESERVATION_CREATE1
    MBCF0011            Read from RESB and RKPF for print list in  MB26
    MB_CF001            Customer Function Exit in the Case of Updating a Mat. Doc.
    Regards
      Uwe

  • Need a BADI/ exit for MIGO transaction

    Hi,
    I need a BADI / exit for tha transaction MIGO. My requirement is before displaying the materials in the item tab, check whether the user has authorization for that material or not. If he has no authorization, give error message. This should be done for all types of documents.
    Please let me know if you need more information.
    thanks,
    Kishore

    hi,
    You can have the authorization for the inventory management via authorisation..
    Check the path: SPRO --> MM --> Purchasing --> Inv. management nad physical inventory --> Authorization management  --> Maintain roles and assign users....
    Regards
    Priyanka.P

  • Screen Exit for VA25 transaction

    Hi Gurus,
    My requirement is to add one wbs element field on selection screen of  VA25 transaction. and in output also i need to add some fields. Pls tell me if any screen exit is available or not.
    points will be rewarded.
    regards,
    ravi shankar reddy

    Hello Ravi,
    This is little difficult to find out.
    What you can do you need to add the WBS element in the outtab - Copy this include where the table is declared
    It is include MV75ATOP.
    Then copy this include MV75AFD0_DEZIMALENTABELLE_AUFB
    and modify the POSTAB with the WBS element.
    As I told in my previous post copy the screen 120 and add the
    WBS element.
    Hope this will helps you.
    Cheers,
    Vasanth

  • User exit at  MIGO transaction

    Hi experts, I hope your doing well,
    I am looking for an user exit in order to capture information at the good receipt level, for example at header text.
    and also,other user exit to capture information at the batch level (in this case I would like to link any batch with a number).
    Could you help me? in both cases in the MIGO transaction
    Thanks in advance,
    which of these?
    MBCF0002 Customer function exit: Segment text in material doc. item
    MBCF0005 Material document item for goods receipt/issue slip
    MBCF0006 Customer function for WBS element
    MBCF0007 Customer function exit: Updating a reservation
    MBCF0009 Filling the storage location field
    MBCF0010 Customer exit: Create reservation BAPI_RESERVATION_CREATE1
    MBCF0011 Read From RESB and RKPF For Print List in MB26
    MBCFC003 Maintenance of batch master data for goods movements
    MBCFC004 Maintenance of batch specifications for goods movements
    Ignacio

    Hi
    For batch level below are the exits
    User Exits
    Form CHARGE_VORSCHLAGEN
               Propose batch using CFC
              CUSTOMER-FUNCTION '010'
    Form UMCHARGE_VORSCHLAGEN
               Propose transfer batch using CFC
              CUSTOMER-FUNCTION '010'
    have tried the FM MIGO_CUST_FIELDS_GENERATE for own fields

  • Screen exit for fb01 transaction

    i would like to know the screen exit for transaction code fb01

    I dont think there is any. I might be wrong. Maybe you could use Enhancement and call external program.

  • Suitable Screen Exit for VA41 transaction

    Hi,
    Could you pls help me out to find user exit for below requirement:
    In transactions VA41 or VA42 or VA43-> Additional data A,
    Additional data B, I want to add some fields as per requirement!
    Please let me know the required screen exit for above requirement.
    Appreciate for earleast response.
    Thanks,
    Prasad.

    Hi Parsad
    Just execute this program
    *& Report  ZFIND_SCREEN_EXT
    REPORT  ZFIND_SCREEN_EXT.
    TABLES: MODSAP, MODACT, TSTC.
    PARAMETERS: INPUT1 LIKE TSTC-TCODE DEFAULT ' ',
    INPUT2 LIKE MODSAP-TYP DEFAULT ' '.
    DATA: SEARCH1(6),
    SEARCH2(3),
    SEARCH3 LIKE MODSAP-MEMBER.
    DATA : FIRST_ROW VALUE 'Y'.
    CONCATENATE: '%' INPUT1 '%' INTO SEARCH1,
    '%' INPUT2 INTO SEARCH2.
    SELECT * FROM TSTC WHERE TCODE LIKE SEARCH1.
    FIRST_ROW = 'Y'.
    CHECK TSTC-PGMNA NE SPACE.
    CONCATENATE '%' TSTC-PGMNA '%' INTO SEARCH3.
    SELECT * FROM MODSAP WHERE TYP LIKE SEARCH2
    AND MEMBER LIKE SEARCH3.
    SELECT SINGLE * FROM MODACT WHERE MEMBER = MODSAP-NAME.
    IF FIRST_ROW EQ 'Y'.
    WRITE: /0 TSTC-TCODE, 6 TSTC-PGMNA, 16 MODSAP-NAME, 32 MODSAP-TYP,
    45 MODSAP-MEMBER, 70 MODACT-NAME.
    FIRST_ROW = 'N'.
    ELSE.
    WRITE: /16 MODSAP-NAME, 32 MODSAP-TYP, 45 MODSAP-MEMBER, 70 MODACT-NAME.
    ENDIF.
    CLEAR : MODSAP, MODACT.
    ENDSELECT.
    IF SY-SUBRC NE 0.
    WRITE : /0 TSTC-TCODE, 6 TSTC-PGMNA, 30 'No exits found'.
    ENDIF.
    CLEAR TSTC.
    ENDSELECT.
    END-OF-SELECTION.
    CLEAR: SEARCH1, SEARCH2, SEARCH3.
    Regards
    Hitesh

  • User and screen exit for BP transaction

    Hi,
    We need to add a few z-fields to BP (Business Partner) address tab and save data into database. Please let me know if any user or screen exits are available.
    Thank you.

    hi
    use this program to get all the relevant enhancement and based on that ....use the relevant one and write ur piece of code..
    & Report  ZPJA_PM002 (V2)                                            &
    & Text Elements:                                                     &
    & P_DEVC Show user-exits from development class                      &
    & P_LIMIT Limit submit program selection                             &
    & P_FUNC Show function modules                                       &
    & P_SUBM Show submit programs                                        &
    & S01    Selection data (TCode takes precedence  over program name)  &
    report  zpja_pm002
      no standard page heading
      line-size 158.
    *tables: enlfdir.     "Additional Attributes for Function Modules
    data: tabix      like sy-tabix,
          w_linnum   type i,
          w_off      type i,
          w_index    like sy-tabix,
          w_include  like trdir-name,
          w_prog     like trdir-name,
          w_incl     like trdir-name,
          w_area     like rs38l-area,
          w_level,
          w_str(50)  type c,
          w_funcname like tfdir-funcname.
    constants: c_fmod(40) type c value 'Function modules selected: ',
               c_subm(40) type c value 'Submit programs selected: ',
               c_col1(12) type c value 'Enhanmt Type',
               c_col2(40) type c value 'Enhancement',
               c_col3(30) type c value 'Program/Include',
               c_col4(20) type c value 'Enhancement Name',
               c_col5(40) type c value 'Enhancement Description'.
    Work Areas: ABAP Workbench
    data: begin of wa_d010inc.
    data: master type d010inc-master.
    data: end of wa_d010inc.
    data: begin of wa_tfdir.
    data: funcname type tfdir-funcname,
          pname    type tfdir-pname,
          include  type tfdir-include.
    data: end of wa_tfdir.
    data: begin of wa_tadir.
    data: devclass type tadir-devclass.
    data: end of wa_tadir.
    data: begin of wa_tstc.
    data: pgmna type tstc-pgmna.
    data: end of wa_tstc.
    data: begin of wa_tstcp.
    data: param type tstcp-param.
    data: end of wa_tstcp.
    data: begin of wa_enlfdir.
    data: area type enlfdir-area.
    data: end of wa_enlfdir.
    Work Areas: BADIs
    data: begin of wa_sxs_attr.
    data: exit_name type sxs_attr-exit_name.
    data: end of wa_sxs_attr.
    data: begin of wa_sxs_attrt.
    data: text type sxs_attrt-text.
    data: end of wa_sxs_attrt.
    Work Areas: Enhancements
    data: begin of wa_modsap.
    data: member type modsap-member.
    data: end of wa_modsap.
    data: begin of wa_modsapa.
    data: name type modsapa-name.
    data: end of wa_modsapa.
    data: begin of wa_modsapt.
    data: modtext type modsapt-modtext.
    data: end of wa_modsapt.
    Work Areas: Business Transaction Events
    data: begin of wa_tbe01t.
    data: text1 type tbe01t-text1.
    data: end of wa_tbe01t.
    data: begin of wa_tps01t.
    data: text1 type tps01t-text1.
    data: end of wa_tps01t.
    user-exits
    types: begin of t_userexit,
          type(12) type c,
          pname    like trdir-name,
          txt(300),
          level    type c,
          modname(30) type c,
          modtext(40) type c,
    end of t_userexit.
    data: i_userexit type standard table of t_userexit with header line.
    Function module developmnet classes
    types: begin of t_devclass,
          clas   like trdir-clas,
    end of t_devclass.
    data: i_devclass type standard table of t_devclass with header line.
    Submit programs
    types: begin of t_submit,
          pname     like trdir-name,
          level,
          done,
    end of t_submit.
    data: i_submit type standard table of t_submit with header line.
    Source code
    types: begin of t_sourcetab,                        "#EC * (SLIN lügt!)
            line(200),                                  "#EC * (SLIN lügt!)
          end of t_sourcetab.                           "#EC * (SLIN lügt!)
    data: sourcetab type standard table of t_sourcetab with header line.
    data c_overflow(30000) type c.
    Description of an ABAP/4 source analysis token
    data: i_stoken type standard table of stokex with header line.
    data wa_stoken like i_stoken.
    Description of an ABAP/4 source analysis statement
    data: i_sstmnt type standard table of sstmnt with header line."#EC
    keywords for searching ABAP code
    types: begin of t_keywords,
          word(30),
    end of t_keywords.
    data: keywords type standard table of t_keywords with header line.
    function modules within program
    types: begin of t_fmodule,
          name   like rs38l-name,
          pname  like trdir-name,
          pname2 like trdir-name,
          level,
          bapi,
          done,
    end of t_fmodule.
    data: i_fmodule type standard table of t_fmodule with header line.
    & Selection Options                                                  &
    selection-screen begin of block selscr1 with frame title text-s01.
    parameter: p_pname like trdir-name memory id rid,
               p_tcode like syst-tcode,
               p_limit(4) type n default 100,
               p_devc  like rihea-dy_ofn default ' ',
               p_func  like rihea-dy_ofn default ' ',
               p_subm  like rihea-dy_ofn default ' '.
    selection-screen end of block selscr1.
    & START-OF-SELECTION                                                 &
    start-of-selection.
      if p_pname is initial and p_tcode is initial.
        message e008(hrfpm).  "Make entry on the selection screen
        stop.
      endif.
    ensure P_LIMIT is not zero.
      if p_limit = 0.
        p_limit = 1.
      endif.
      perform data_select.
      perform get_submit_data.
      perform get_fm_data.
      perform get_additional_data.
      perform data_display.
    & Form DATA_SELECT                                                   &
    form data_select.
    data selection message to sap gui
      call function 'SAPGUI_PROGRESS_INDICATOR'
        destination 'SAPGUI'
        keeping logical unit of work
        exporting
          text                  = 'Get programs/includes'       "#EC NOTEXT
        exceptions
          system_failure
          communication_failure
        .                                                       "#EC *
    determine search words
      keywords-word = 'CALL'.
      append keywords.
      keywords-word = 'FORM'.
      append keywords.
      keywords-word = 'PERFORM'.
      append keywords.
      keywords-word = 'SUBMIT'.
      append keywords.
      keywords-word = 'INCLUDE'.
      append keywords.
      if not p_tcode is initial.
    get program name from TCode
        select single pgmna from tstc into wa_tstc-pgmna
                     where tcode eq p_tcode.
        if not wa_tstc-pgmna is initial.
          p_pname = wa_tstc-pgmna.
    TCode does not include program name, but does have refereve TCode
        else.
          select single param from tstcp into wa_tstcp-param
                       where tcode eq p_tcode.
          if sy-subrc = 0.
            check wa_tstcp-param(1)   = '/'.
            check wa_tstcp-param+1(1) = '*'.
            if wa_tstcp-param ca ' '.
            endif.
            w_off = sy-fdpos + 1.
            subtract 2 from sy-fdpos.
            if sy-fdpos gt 0.
              p_tcode = wa_tstcp-param+2(sy-fdpos).
            endif.
            select single pgmna from tstc into wa_tstc-pgmna
                   where tcode eq p_tcode.
            p_pname = wa_tstc-pgmna.
            if sy-subrc <> 0.
              message e110(/saptrx/asc) with 'No program found for: '
    p_tcode."#EC NOTEXT
              stop.
            endif.
          else.
            message e110(/saptrx/asc) with 'No program found for: ' p_tcode.
    "#EC NOTEXT
            stop.
          endif.
        endif.
      endif.
    Call customer-function aus Program coding
      read report p_pname into sourcetab.
      if sy-subrc > 0.
        message e017(enhancement) with p_pname raising no_program."#EC *
      endif.
      scan abap-source sourcetab tokens     into i_stoken
                                 statements into i_sstmnt
                                 keywords   from keywords
                                 overflow into c_overflow
                                 with includes.
                                 WITH ANALYSIS.
      if sy-subrc > 0. "keine/syntakt. falsche Ablauflog./Fehler im Skanner
        message e130(enhancement) raising syntax_error.         "#EC *
      endif.
    check I_STOKEN for entries
      clear w_linnum.
      describe table i_stoken lines w_linnum.
      if w_linnum gt 0.
        w_level = '0'.
        w_prog = ''.
        w_incl = ''.
        perform data_search tables i_stoken using w_level w_prog w_incl.
      endif.
    endform.                        "DATA_SELECT
    & Form GET_FM_DATA                                                   &
    form get_fm_data.
    data selection message to sap gui
      call function 'SAPGUI_PROGRESS_INDICATOR'
        destination 'SAPGUI'
        keeping logical unit of work
        exporting
          text                  = 'Get function module data'    "#EC NOTEXT
        exceptions
          system_failure
          communication_failure
        .                                                       "#EC *
    Function module data
      sort i_fmodule by name.
      delete adjacent duplicates from i_fmodule comparing name.
      loop at i_fmodule where done  ne 'X'.
        clear:   i_stoken, i_sstmnt, sourcetab, wa_tfdir, w_include .
        refresh: i_stoken, i_sstmnt, sourcetab.
        clear wa_tfdir.
        select single funcname pname include from tfdir into wa_tfdir
                                where funcname = i_fmodule-name.
        check sy-subrc = 0.
        call function 'FUNCTION_INCLUDE_SPLIT'
          exporting
            program = wa_tfdir-pname
          importing
            group   = w_area.
        concatenate 'L' w_area 'U' wa_tfdir-include into w_include.
        i_fmodule-pname  = w_include.
        i_fmodule-pname2 = wa_tfdir-pname.
        modify i_fmodule.
        read report i_fmodule-pname into sourcetab.
        if sy-subrc = 0.
          scan abap-source sourcetab tokens     into i_stoken
                                     statements into i_sstmnt
                                     keywords   from keywords
                                     with includes.
          if sy-subrc > 0.
            message e130(enhancement) raising syntax_error.
          endif.
    check i_stoken for entries
          clear w_linnum.
          describe table i_stoken lines w_linnum.
          if w_linnum gt 0.
            w_level = '1'.
            w_prog  = i_fmodule-pname2.
            w_incl =  i_fmodule-pname.
            perform data_search tables i_stoken using w_level w_prog w_incl.
          endif.
        endif.
      endloop.
      if p_devc = 'X'.
        loop at i_fmodule.
          clear: wa_tadir, wa_enlfdir.
          select single area from enlfdir into wa_enlfdir-area
                                where funcname = i_fmodule-name.
          check not wa_enlfdir-area is initial.
          select single devclass into wa_tadir-devclass
                          from tadir where pgmid    = 'R3TR'
                                       and object   = 'FUGR'
                                       and obj_name = wa_enlfdir-area.
          check not wa_tadir-devclass is initial.
          move wa_tadir-devclass to i_devclass-clas.
          append i_devclass.
          i_fmodule-done = 'X'.
          modify i_fmodule.
        endloop.
        sort i_devclass.
        delete adjacent duplicates from i_devclass.
      endif.
    endform.                        "GET_FM_DATA
    & Form GET_SUBMIT_DATA                                               &
    form get_submit_data.
    data selection message to sap gui
      call function 'SAPGUI_PROGRESS_INDICATOR'
        destination 'SAPGUI'
        keeping logical unit of work
        exporting
          text                  = 'Get submit data'             "#EC NOTEXT
        exceptions
          system_failure
          communication_failure
        .                                                       "#EC *
      sort i_submit.
      delete adjacent duplicates from i_submit comparing pname.
      w_level = '0'.
      loop at i_submit where done ne 'X'.
        clear:   i_stoken, i_sstmnt, sourcetab.
        refresh: i_stoken, i_sstmnt, sourcetab.
        read report i_submit-pname into sourcetab.
        if sy-subrc = 0.
          scan abap-source sourcetab tokens     into i_stoken
                                     statements into i_sstmnt
                                     keywords   from keywords
                                     with includes.
          if sy-subrc > 0.
           message e130(enhancement) raising syntax_error.
            continue.
          endif.
    check i_stoken for entries
          clear w_linnum.
          describe table i_stoken lines w_linnum.
          if w_linnum gt 0.
            w_prog  = i_submit-pname.
            w_incl = ''.
            perform data_search tables i_stoken using w_level w_prog w_incl.
          endif.
        endif.
    restrict number of submit program selected for processing
        describe table i_submit lines w_linnum.
        if w_linnum ge p_limit.
          w_level = '1'.
        endif.
        i_submit-done = 'X'.
        modify i_submit.
      endloop.
    endform.                       "GET_SUBMIT_DATA
    & Form DATA_SEARCH                                                   &
    form data_search tables p_stoken structure stoken
                            using p_level p_prog p_incl.
      loop at p_stoken.
        clear i_userexit.
        tabix = sy-tabix + 1.
        i_userexit-level = p_level.
        if i_userexit-level = '0'.
          if p_incl is initial.
            i_userexit-pname = p_pname.
          else.
            concatenate  p_pname '/' p_incl into i_userexit-pname.
          endif.
        else.
          if p_incl is initial.
            i_userexit-pname = p_prog.
          else.
            concatenate  p_prog '/' p_incl into i_userexit-pname.
          endif.
        endif.
    Include
        if p_stoken-str eq 'INCLUDE'.
          check p_level eq '0'.    " do not perform for function modules
    *(2nd pass)
          w_index = sy-tabix + 1.
          read table p_stoken index w_index into wa_stoken.
          check not wa_stoken-str cs 'STRUCTURE'.
          check not wa_stoken-str cs 'SYMBOL'.
          read table i_submit with key pname = wa_stoken-str.
          if sy-subrc <> 0.
            i_submit-pname = wa_stoken-str.
            i_submit-level = p_level.
            append i_submit.
          endif.
        endif.
    Enhancements
        if p_stoken-str eq 'CUSTOMER-FUNCTION'.
          clear w_funcname.
          read table p_stoken index tabix.
          translate p_stoken-str using ''' '.
          condense p_stoken-str.
          if p_prog is initial.
            concatenate 'EXIT' p_pname p_stoken-str into w_funcname
                         separated by '_'.
          else.
            concatenate 'EXIT' p_prog p_stoken-str into w_funcname
                   separated by '_'.
          endif.
          select single member from modsap into wa_modsap-member
                where member = w_funcname.
          if sy-subrc = 0.   " check for valid enhancement
            i_userexit-type = 'Enhancement'.
            i_userexit-txt  = w_funcname.
            append i_userexit.
          else.
            clear wa_d010inc.
            select single master into wa_d010inc-master
                  from d010inc
                     where include = p_prog.
            concatenate 'EXIT' wa_d010inc-master p_stoken-str into
    w_funcname
                   separated by '_'.
            i_userexit-type = 'Enhancement'.
            i_userexit-txt  = w_funcname.
          endif.
        endif.
    BADIs
        if p_stoken-str cs 'cl_exithandler='.
          w_index = sy-tabix + 4.
          read table p_stoken index w_index into wa_stoken.
          i_userexit-txt = wa_stoken-str.
          replace all occurrences of '''' in i_userexit-txt with space.
          i_userexit-type = 'BADI'.
          append i_userexit.
        endif.
    Business transaction events
        if p_stoken-str cs 'OPEN_FI_PERFORM'.
          i_userexit-type = 'BusTrEvent'.
          i_userexit-txt = p_stoken-str.
          replace all occurrences of '''' in i_userexit-txt with space.
          i_userexit-modname =  i_userexit-txt+16(8).
          case i_userexit-txt+25(1).
            when 'E'.
              clear wa_tbe01t.
              select single text1 into wa_tbe01t-text1 from tbe01t
                               where event = i_userexit-txt+16(8)
                                 and spras = sy-langu.
              if wa_tbe01t-text1 is initial.
                i_userexit-modtext = ''.            "#EC NOTEXT
              else.
                i_userexit-modtext = wa_tbe01t-text1.
              endif.
              i_userexit-modname+8 = '/P&S'.                    "#EC NOTEXT
            when 'P'.
              clear wa_tps01t.
              select single text1 into wa_tps01t-text1 from tps01t
                               where procs = i_userexit-txt+16(8)
                                 and spras = sy-langu.
              i_userexit-modtext = wa_tps01t-text1.
              i_userexit-modname+8 = '/Process'.
          endcase.
          append i_userexit.
        endif.
    Program exits
        if p_stoken-str cs 'USEREXIT_'.
          i_userexit-type = 'Program Exit'.
          i_userexit-txt = p_stoken-str.
          replace all occurrences of '''' in i_userexit-txt with space.
          append i_userexit.
        endif.
    Submit programs
        if p_stoken-str cs 'SUBMIT'.
          check p_level eq '0'.    " do not perform for function modules
    *(2nd pass)
          check not p_stoken-str cs '_'.   " ensure not SUBMIT_XXX
          w_index = sy-tabix + 1.
          read table p_stoken index w_index into wa_stoken.
          check not wa_stoken-str cs '_'.   " ensure not SUBMIT_XXX
          replace all occurrences of '''' in wa_stoken-str with space.
          read table i_submit with key pname = wa_stoken-str.
          if sy-subrc <> 0.
            i_submit-pname = wa_stoken-str.
            i_submit-level = p_level.
            append i_submit.
          endif.
        endif.
    Perform routines (which reference external programs)
        if p_stoken-str cs 'PERFORM'.
          check p_level eq '0'.    " do not perform for function modules
    *(2nd pass)
          w_index = sy-tabix + 1.
          read table p_stoken index w_index into wa_stoken.
          if not wa_stoken-ovfl is initial.
            w_off = wa_stoken-off1 + 10.
            w_str = c_overflow+w_off(30).
            find ')' in w_str match offset w_off.
            w_off = w_off + 1.
            wa_stoken-str = w_str(w_off).
          endif.
          check wa_stoken-str cs '('.
          w_off = 0.
          while sy-subrc  = 0.
            if wa_stoken-str+w_off(1) eq '('.
              replace section offset w_off length 1 of wa_stoken-str with ''
              replace all occurrences of ')' in wa_stoken-str with space.
              read table i_submit with key pname = wa_stoken-str.
              if sy-subrc <> 0.
                i_submit-pname = wa_stoken-str.
                append i_submit.
              endif.
              exit.
            else.
              replace section offset w_off length 1 of wa_stoken-str with ''
              shift wa_stoken-str left deleting leading space.
            endif.
          endwhile.
        endif.
    Function modules
        if p_stoken-str cs 'FUNCTION'.
          clear i_fmodule.
          check p_level eq '0'.    " do not perform for function modules
    *(2nd pass)
          w_index = sy-tabix + 1.
          read table p_stoken index w_index into wa_stoken.
         if wa_stoken-str cs 'WF_'.
         if wa_stoken-str cs 'IF_'.
           break-point.
         endif.
          if wa_stoken-str cs 'BAPI'.
            i_fmodule-bapi = 'X'.
          endif.
          replace first occurrence of '''' in wa_stoken-str with space.
          replace first occurrence of '''' in wa_stoken-str with space.
          if sy-subrc = 4.   " didn't find 2nd quote (ie name truncated)
            clear wa_tfdir.
            concatenate wa_stoken-str '%' into wa_stoken-str.
            select single funcname into wa_tfdir-funcname from tfdir
                         where funcname like wa_stoken-str.
            if sy-subrc = 0.
              i_fmodule-name = wa_tfdir-funcname.
            else.
              continue.
            endif.
          else.
            i_fmodule-name = wa_stoken-str.
          endif.
          i_fmodule-level = p_level.
          append i_fmodule.
        endif.
      endloop.
    endform.                        "DATA_SEARCH
    & Form GET_ADDITIONAL_DATA                                           &
    form get_additional_data.
    data selection message to sap gui
      call function 'SAPGUI_PROGRESS_INDICATOR'
        destination 'SAPGUI'
        keeping logical unit of work
        exporting
          text                  = 'Get additional data'         "#EC NOTEXT
        exceptions
          system_failure
          communication_failure
        .                                                       "#EC *
      loop at i_userexit.
    Enhancement data
        if  i_userexit-type cs 'Enh'.
          clear: wa_modsapa.
          select single name into wa_modsapa-name from modsap
                            where member = i_userexit-txt.
          check sy-subrc = 0.
          i_userexit-modname = wa_modsapa-name.
          clear wa_modsapt.
          select single modtext into wa_modsapt-modtext from modsapt
                            where name = wa_modsapa-name
                                         and sprsl = sy-langu.
          i_userexit-modtext = wa_modsapt-modtext.
        endif.
    BADI data
        if  i_userexit-type eq 'BADI'.
          clear wa_sxs_attr.
          select single exit_name into wa_sxs_attr-exit_name from sxs_attr
                                        where exit_name = i_userexit-txt.
          if sy-subrc = 0.
            i_userexit-modname = i_userexit-txt.
          else.
            i_userexit-modname = 'Dynamic call'.                "#EC NOTEXT
          endif.
          clear wa_sxs_attrt.
          select single text into wa_sxs_attrt-text from sxs_attrt
                                         where exit_name =
    wa_sxs_attr-exit_name
                                           and sprsl = sy-langu.
          i_userexit-modtext = wa_sxs_attrt-text.
        endif.
        modify i_userexit.
      endloop.
    get enhancements via program package
      clear wa_tadir.
      select single devclass into wa_tadir-devclass from tadir
                                 where pgmid    = 'R3TR'
                                   and object   = 'PROG'
                                   and obj_name = p_pname.
      if sy-subrc = 0.
        clear: wa_modsapa, wa_modsapt.
        select name from modsapa into wa_modsapa-name
                              where devclass = wa_tadir-devclass.
          select single modtext from modsapt into wa_modsapt-modtext
                              where name = wa_modsapa-name
                                and sprsl = sy-langu.
          read table i_userexit with key modname = wa_modsapa-name.
          if sy-subrc <> 0.
            i_userexit-modtext = wa_modsapt-modtext.
            i_userexit-type = 'Enhancement'.                    "#EC NOTEXT
            i_userexit-modname  = wa_modsapa-name.
            i_userexit-txt = 'Determined from program DevClass'."#EC NOTEXT
            i_userexit-pname = 'Unknown'.                       "#EC NOTEXT
            append i_userexit.
          endif.
        endselect.
      endif.
    endform.                        "GET_ADDITIONAL_DATA
    & Form DATA_DISPLAY                                                  &
    form data_display.
    data selection message to sap gui
      call function 'SAPGUI_PROGRESS_INDICATOR'
        destination 'SAPGUI'
        keeping logical unit of work
        exporting
          text                  = 'Prepare screen for display'  "#EC NOTEXT
        exceptions
          system_failure
          communication_failure
        .                                                       "#EC *
      sort i_userexit by type txt modname.
      delete adjacent duplicates from i_userexit comparing txt modname.
    format headings
      write: 'Enhancements from main program'.                  "#EC NOTEXT
      write: /.
      uline.
      format color col_heading.
      write: /    sy-vline,
             (12) c_col1,                    "Enhanmt Type
                  sy-vline,
             (40) c_col2,                    "Enhancement
                  sy-vline,
             (30) c_col3,                    "Program/Include
                  sy-vline,
             (20) c_col4,                    "Enhancement name
                  sy-vline,
             (40) c_col5,                    "Enhancement description
                  sy-vline.
      format reset.
      uline.
    format lines
      loop at i_userexit.
    set line colour
        case i_userexit-type.
          when 'Enhancement'.
            format color 3 intensified off.
          when 'BADI'.
            format color 4 intensified off.
          when 'BusTrEvent'.
            format color 5 intensified off.
          when 'Program Exit'.
            format color 6 intensified off.
          when others.
            format reset.
        endcase.
        write: / sy-vline,
                 i_userexit-type,
                 sy-vline,
                 i_userexit-txt(40),
                 sy-vline,
                 i_userexit-pname(30),
                 sy-vline,
                 i_userexit-modname(20),
                 sy-vline,
                 i_userexit-modtext(40),
                 sy-vline.
      endloop.
      format reset.
      uline.
    user-exits from development class of function modules
      if p_devc = 'X'.
        write: /.
        write: / 'User-exits from function module development class'."#EC
    *NOTEXT
        write: 157''.
        uline (90).
        write: 157''.
        loop at i_devclass.
          clear wa_modsapa.
          select name from modsapa into wa_modsapa
                       where devclass = i_devclass-clas.
         select single name modtext into corresponding fields of wa_modsapt
                                       from modsapt
                                         where name  = wa_modsapa-name
                                           and sprsl = sy-langu.
            format color 3 intensified off.
            write: / sy-vline,
                     (12) 'Enhancement',
                     sy-vline,
                    wa_modsapa-name,
                    sy-vline,
                    wa_modsapt-modtext,
                    sy-vline.
          endselect.
        endloop.
        uline (90).
        format reset.
      endif.
      describe table i_fmodule lines w_linnum.
      write: / c_fmod , at 35 w_linnum.                         "#EC NOTEXT
      write: 157''.
      if p_func = 'X'.
    display fuction modules used in program
        uline (38).
        write: 157''.
        loop at i_fmodule.
          write: sy-vline,
                 i_fmodule-name,
                 sy-vline,
                 i_fmodule-bapi,
                 sy-vline.
          write: 157''.
        endloop.
        uline (38).
      endif.
      describe table i_submit lines w_linnum.
      write: / c_subm , at 35 w_linnum.                         "#EC NOTEXT
      write: 157''.
      if p_subm = 'X'.
    display submit programs used in program
        uline (44).
        write: 157''.
        loop at i_submit.
          write: sy-vline,
                 i_submit-pname,
                 sy-vline.
          write: 157''.
        endloop.
        uline (44).
      endif.
    issue message with number of user-exits displayed
      describe table i_userexit lines w_linnum.
      message s697(56) with w_linnum.
    endform.                        "DATA_DISPLAY
    reward points if it helps
    gunjan

  • Screen exit in IMA11 transaction

    I need to add 4 new fields in User Fields tab of transaction IMA11. When i checked in SMOD i could see 5 Function exits for IMA11. How can i include the new fields.
    How to check whether screen of a standard can be modified or not? eg: FK01 how to check whether screen enhancement is possible or not.
    Regards,
    ABAPer007
    Edited by: ABAPer 007 on Jan 18, 2010 4:30 PM

    hi ravee,
          Please go through that link ...it will helpful for U...
          WWWDOTSAPTECHNICALDOTCOM/Tutorials/ExitsBADIs/MIGO/screenexit.htm
    Regards,
    Arun.
    Edited by: Arun Kumar on Dec 4, 2009 11:51 AM
    Edited by: Arun Kumar on Dec 4, 2009 11:51 AM

  • Regarding the user exits in MIGO transaction

    Hi experts,
    I need to populate the vendor(LIFNR) value automatically during MIGO(Transfer posting is 411 k) transaction depends upon the material, plant, batch combination.  I found user exit for this requirement. But I want to know how to populate the vendor value from user exit to transaction screen.Please help me .

    Hi,
    Try to develop this BADI:
    MB_MIGO_BADI
    In SE19 create implementation.
    try to use method: LINE_MODIFY, if you would like populated vendor on line items.
    Hope it helps.
    Best regards,
    Wojtek

  • Problem in Screen exit for MIGO using MB_MIGO_BADI?

    hi all,
    I have customized the MIGO screen to add two fields and the data entered in these fields is saving in a custom data base table using the POST_DOCUMENT method of the BADI.
    The problem is i am unable to write the code to display these values in the MIGO, while displaying the material document.
    Please help me on how to solve this problem by suggesting the method or sample code?
    Thanks,
    Vamshi.

    Hi,
    Under the line modify method declare a flag and set to u2018Xu2019 checking for material document number by which we can set the fields to be in display mode when we open MIGO for display of material document created after doing goods receipt.
    in method IF_EX_MB_MIGO_BADI~LINE_MODIFY
    if not cs_goitem-mblnr is initial.
    flag = 'X'.
    endif.
    Do write the code in PBO of the screen.......which you have created ....
    In order to make the fields to be in display mode during the display of material document, create a module under PBO and import the flag value and the production order number details in the method LINE_MODIFY and if that flag = u2018Xu2019, use  
    LOOP AT SCREEN.
    IF SCREEN-NAME = 'ZZGBAGS'.
    SCREEN-INPUT = '0'.
    MODIFY SCREEN.
    ENDIF.
    ENDLOOP.
    Thanks,
    Shailaja Ainala.

Maybe you are looking for

  • How do I delete an Apple iD from my iPhone?

    i used to share an iTunes account with my Dad, until recently. I got my own Apple iD. Everything has been working relatively well except for one thing. When I try to update apps, it still asks me for my Dad's iTunes password, instead of mine. I alrea

  • RRI doesn't work in web

    Hi Experts, I' m trying to call a transcation in ERP from a query. Doing this from excel, everything is fine. Trying this within  the same query in web, this error message occurs: <b>No Service Name Specified</b> Your request did not contain a servic

  • Cisco wired guest with one wlc

    Hello my name is Ivan I have a question: You can configure wired guest for wired network users so that appears the cisco wlc web portal for guest user authentication? having the following: Only one (1) cisco wlc 5508 no settings for auto  anchor  or

  • Business Explorer 7.0 Installation error.

    Hi friends, we have installed Business explorer 7.0 but when we execute the query designer the system gives a error as "".NET framework Initialization error"" ""unable to find a version of the runtime to run this application"". even when we execute W

  • Quesions photoshop elements 11

    (2) question regarding photoshop elements 11: - does this program have an organizational feature to see pictures in a calendar format   ..like older photo aalbum 3.2 had .. page for month showing dates like a  typical  calendar on wall would look lik