Enhancement for Automatic GI  for MIGO transaction

Hey Folks ,
My requirement is as :
I wanted to do automatic GI of the goods once their GR is done and dat data should also be updated to sap tables   .Now a days we are using MIGO transaction for GI and GR both ,I have found a BADI for MIGO also but i am unable how to procede since GR and GI are in single trancation code .
We are also not using PP module so backflushing wont work here  .
Automatic GI should trigger after saving the GR entries  .
Regards
Edited by: swapnil kamble on Jan 13, 2010 5:53 PM
Moderator message - Cross post locked
Edited by: Rob Burbank on Jan 13, 2010 12:04 PM

Hi Renjith,
You can check the following link, Hope it helps you to some extent:
Re: Implement unique serial number within a client
And you can also try user exit EXIT_SAPLIPW1_001 for Automatic serial number assignment.

Similar Messages

  • How to do reversal of GI for production order in  MIGO transaction

    Hi,
    i want to do  reversal of Goods issue for a production order in MIGO transaction  only .
    is it possible and how to give the inputs to it.
    i am  selecting goods issue and giving  order number and giving movement type 262. then it is selecting only components which are to be issued  and not components which are to be reversed. is that i am doing wrong .
    pls suggest me in this.
    regards
    madan

    Hi,
    thanks for your  reply.
    i want to know whether i can do partial reversal of a material with respect to an Production order using MIGO 262 movement type.
    i am able to cancel a document completely. but i want only one component in it to be reversed using MIGO and 262 movement type.is it possible
    regards
    madan

  • Authorization for cost center in migo transaction

    Dear Experts,
    I need to restrict the user by the cost center assigned to him in the migo transaction,
    i tried with these objects A_S_KOSTL, K_CSKS  and K_CCA. As per forum threads I  also maintained the  check in su24 , but still authorization is not happening.
    please let me know how to do it, is there any user exits to achieve .
    waiting for ur help.
    Thanks & regards,
    Reena...

    Reena,
    You can do teh followign , apart from others :
    1. Ask the business owner the values for teh objects...ofcourse explain to them what the objects are in plain lainguage.
    2. Then populate the values "accordingly"
    OR
    1.As an earlier post...trace teh user --on ST01 - here  again - you can give eiither wide access and trace teh path and then restrict ..or restriced acces and then each time a road block is hit ..analysi s and assign.
    BUT DONOT maintian SU24 to restrict acces !!

  • Program details / T-Code for automatic clearing for AP Check  Encashment

    Hi Friends,
    Please provide me the details of the std program used or (if t-code is there) for the AUTOMATIC CLEARING for AP Check Enchasment) . I am trying in SDN , but could not find.
    Thanks in advance.
    Vengal Rao.

    hi
    RFEBCK00 (t-code FF.5)
    Cashed Checks (FCKR)
    with regards,
    ramanuja chary
    Edited by: Ramanuja Chary Sripada on Mar 22, 2010 9:20 PM

  • User exit for Delivery note in MIGO transaction

    hi friends,
    Basically i am MM Functional ,so please guide me how worte user exit in SAP system . if any body face this same issue pls put progrmme and where it placed
    In case we enter the duplicate delivery note from the same vendor in the same physical/financial year, should get error/warning message
    In MIGO delivery note not accpeted repeted DC numbers
    Use MBCF0002 Customer function exit: Segment text in material doc. item
    EXIT_SAPMM07M_001 to give ur coding for duplicate delivery note entry and chk.
    Field name i_mkpf-xblnr for delivery note number

    >
    sivasankar cherukuri wrote:
    > hi friends,
    >
    > Basically i am MM Functional ,so please guide me how worte user exit in SAP system . if any body face this same issue pls put progrmme and where it placed
    >
    > In case we enter the duplicate delivery note from the same vendor in the same physical/financial year, should get error/warning message
    >
    > In MIGO delivery note not accpeted repeted DC numbers
    >
    > Use MBCF0002 Customer function exit: Segment text in material doc. item
    >
    > EXIT_SAPMM07M_001 to give ur coding for duplicate delivery note entry and chk.
    >
    > Field name i_mkpf-xblnr for delivery note number
    Go to TCode CMOD and select an existing project / create a new project.
    Select enhancement assignment and give the name EXIT_SAPMM07M_001
    Save the change.
    Then enter again and double click on the name provided above. Inside there will be an INCLUDE ZX*****
    Double click on that include, the system will ask to create a program. Accept it.
    Now you have the open field to make your validation.
    Regards,
    Aroop

  • If you selected "no" for automatic downloads for season passes can you change that?

    Thats what I was wonderinmg and it would really help if it would.

    Yeah. Open iTunes. Go to iTunes>Preferences>Store. Check "Automatically download pre-orders when available."

  • Default value in MIGO transaction for PLANT specific

    Hi Experts,
    I am looking for default vaule in MIGO transaction.
    Whenever goods receipt is entered for one particular PLANT ,i want vaule to be dafaulted in Quantity tab No.of container unit value to be PC for english and ST for german.
    Is is possible to achiece by creating new role ? if then how ?
    Note : It is for PLANT specific and for only one user.
    Thanks

    >
    Dhina wrote:
    > Is is possible to achiece by creating new role ? if then how ?
    This is not possible using security.  You will be able to do it via some form of customisation but you need to judge whether is it worth it.

  • 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

  • Goods Receipt for Inbound Delivery through MIGO

    Hi All,
    Can anyone pl. explain me in steps the process of GR for Inbound Delivery from MIGO transaction.
    Also I need the process of reversing this goods receipt done.
    For certain inbound deliveries a dump occurs in the program SAPLIE01 in 'EQUIPMENT_ADAPT_BUSVIEWS' fn module.
    I need to analyse the reason for the dump. Here is the extract from the dump
    <b>IF WA_EQUI IS INITIAL
      keine Equidaten vorhanden => EXCEPTION
    --->       RAISE ERR_ADAPT_BUSVIEWS . ENDIF.                     </b>                                          
    Advance Thanks

    Hi Sanjay and Srikanth,
    Thank you for the correction. I was just wondering over this number.
    Sanjay, regd the release level, it is 0017 for SAP_APPL.
    In brief, when GR is done for an inbound delivery, a fn moudle equipment_adapt_busviews is called, in which if the equipment data of the material (wa_equi) is initial, it gives dump.
    1. This fn module is called 3 or 4 times while the posting is done through MIGO
    2. In the 4th call, the parameter wa_equi is initial - which gives the dump.
    3. While debugging, when I reach this point,if I restart the debugging, I find that the posting is completed !!!! (so something happening after posting of GR gives the dump)
    4. I have to reverse this GR for replicating the same again.
    Any further clues !!
    Regards
    Aadarsh

  • GRIR - Criteria set in OB74 - Additional rule for automatic clearing

    Hi,
    WIth reference to the subject of this post, I would like to have advice on the commonly used criteria for the GRIR GL account.
    My GL master for this GRIR settings: sort key is 010: Purchase order no., which is EBELN (Tcode: OB16).
    Currently the settings at OB74 - Additional rule for automatic clearing for my GRIR are as follows:
    DMBTR, Amt.in loc.cur.
    ZUONR, Assignment
    EBELN, Purchasing Document
    My issue is due to the criteria of DMBTR, Amt.in loc.cur, I am not able to clear the GRIR GL using F.13, and after I remove the criteria: DMBTR, Amt.in loc.cur, I manage to clear all my GR and IR entries which have 0 balance in amount in local currency.
    KIndly advise.
    P/S: DO I need to have the following settings, additionally?
    Define Tolerance Groups for G/L Accounts
    Define Tolerance Groups for Employees
    Assign Users to Tolerance Groups
    Create Accounts for Clearing Differences
    Thanks in advance.

    Thanks.
    But my problem is as follows:
    My issue is due to the criteria of DMBTR, Amt.in loc.cur, I am not able to clear the GRIR GL using F.13, and after I remove the criteria: DMBTR, Amt.in loc.cur, I manage to clear all my GR and IR entries which have 0 balance in amount in local currency.
    Do you have any idea?

  • Automatically optimize for battery lifespan charges the batt to 100% in Power Manager settings

    Whats crazy about my system is I did a complete driver update with the lenovo update and I still dont have the option for Automatically optimize for battery lifespan. It never shows in my options please someone help me to get this option so I wont burn out my battery. Here is the link to my screen shot http://screencast.com/t/aOvXEJfLnmSm thank you

    Hi Shaggy2626,
    Thank you for the reply!
    There are no additional settings for that, only thing we have to check with setting the BIOS to factory default. To proceed with that go to BIOS and press F9 to set factory default setting and F10 to save and exit.
    Uninstall the current version which you have installed and download the application from the below link, it might be little older version. But I have checked with my T430 and its working fine for me.
    http://download.lenovo.com/ibmdl/pub/pc/pccbbs/mobiles/n14u403w.exe
    Hope this helps!!!
    Do post us back if the issue still persists.
    Best regards,
    Hemanth Kumar
    Did someone help you today? Press the star on the left to thank them with a Kudo!
    If you find a post helpful and it answers your question, please mark it as an "Accepted Solution"! This will help the rest of the Community with similar issues identify the verified solution and benefit from it.
    Follow @LenovoForums on Twitter!

  • Two separate Print out while MIGO transaction

    All,
    While doing MIGO, internal batch numbers are generated .
    While doing this transaction a GR slip is printed out with batch number , production date , expiry date , material code and many other informations with output type WE01.
    Now  business want while doing this transaction , a separate print out with only batch number , Production date and expiry date .
    These two separate print outs should automatically come while MIGO transaction .
    1. Is this possible ?
    2. If possible , which output type will be for the 2nd print out .?
    2. Any user exit required here?
    Kindly advise.
    regards

    Hi Sandeep
    1) Inventory Mgmt IMG->Output Determ..->Maintain output types
    Copy WE01 and create a new output type ZWE01.
    In processing routines, you need to change the program/form for your new output. Discuss with your ABAPer for this.
    2) In 'Maintain Output determination procedure', insert this new output type in 'Control'
    3) Maintain conditions as required
    After this, use WE90 to print both outputs.
    Best regards
    Ramki

  • BADI or userexit for MIGO transaction

    hi All,
                  I have a requirement to enhance the MIGO transaction subscreen 304.
    In subscreen 304 there is only check box ITEM_OK.
    In the MIGO at the bottom of the screen ,whenver we click on item_OK check box and press enter, in the line item it will automatically checks.
    After the first check it has to get disabled in the screen.
    I am trying to find the BADI for this..still trying
    Please let me know how to achieve this functionality.

    Hi,
    Try below BAdi's :
    MB_MIGO_ITEM_BADI or
    MB_MIGO_BADI
    MB_DOCUMENT_BADI.
    Also these will be of help furthur.
    Enhancement/ Business Add-in Description
    Enhancement
    MB_CF001 Customer Function Exit in the Case of Updating a Mat. Doc.
    MBCF0011 Read from RESB and RKPF for print list in MB26
    MBCF0010 Customer exit: Create reservation BAPI_RESERVATION_CREATE1
    MBCF0009 Filling the storage location field
    MBCF0007 Customer function exit: Updating a reservation
    MBCF0006 Customer function for WBS element
    MBCF0005 Material document item for goods receipt/issue slip
    MBCF0002 Customer function exit: Segment text in material doc. item
    Business Add-in
    MB_RESERVATION_BADI MB21/MB22: Check and Complete Dialog Data
    MB_QUAN_CHECK_BADI BAdI: Item Data at Time of Quantity Check
    MB_PHYSINV_INTERNAL Connection: Core Inventory and Retail AddOn
    MB_MIGO_ITEM_BADI BAdI in MIGO for Changing Item Data
    MB_MIGO_BADI BAdI in MIGO for External Detail Subscreens
    MB_DOC_BADI_INTERNAL BAdIs when Creating a Material Document (SAP Internal)
    MB_DOCUMENT_UPDATE BADI when updating material document: MSEG and MKPF
    MB_DOCUMENT_BADI BAdIs when Creating a Material Document
    MB_CIN_MM07MFB7_QTY Proposal of quantity from Excise invoice in GR
    MB_CIN_MM07MFB7 BAdI for India Version exit in include MM07MFB7
    MB_CIN_LMBMBU04 posting of gr
    MB_CHECK_LINE_BADI BAdI: Check Line Before Copying to the Blocking Tables
    ARC_MM_MATBEL_WRITE Check Add-On-Specific Data for MM_MATBEL
    ARC_MM_MATBEL_CHECK Check Add-On-Specific Criteria for MM_MATBEL
    hope this will help you.
    Regards,
    Kiran

  • BTE is for automatic payment transactions:status

    hi,
    anybody know about the BTE for automatic payment transactions: status?
    Thanks,
    KG

    Hi,
    Check the link for the steps to implement the Badi with example..
    http://www.sapdevelopment.co.uk/enhance/enhance_badi.htm
    /message/1388342#1388342 [original link is broken]

  • EXIT NAME OR BADI FOR FIELD IN MIGO TRANSACTION (full poins will be given)

    Hai all,
    VERY URGENT REQ.
    In MIGO transaction, I want to know the BADI or EXIT NAME in which the following fields are avilable .
    Fields name: exgrp, EXCISE_ACTION
    exact screen field name is : J_1IEXHEAD-EXGRP
    J_1IEXHEAD-EXCISE_ACTION
    Full Points will be given for correct answer.
    Thanks in advance.
    s.senthil kumar

    Hi,
    Try this code .We can get the User exits and Badis for the Tcode.
    Code:
    & Report ZPJA_PM002 (Ver4) &
    & PJA Consultancy Services (www.pjas.com) &
    & This report attmpts to find Enhancements, Program-Exits, BADIs &
    & and Business Transaction Events in a particular program/tcode. &
    & Other search options: &
    & Program: RPR_ABAP_SOURCE_SCAN &
    & FModule: &
    & 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 221.
    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_fsel like sy-ucomm, " Determination of screen field
    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',
    c_col6(8) type c value 'Project',
    c_col7(1) type c value 'S',
    c_col8(12) type c value 'ChangeName',
    c_col9(10) type c value 'ChangeDate'.
    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 ty_mod,
    member like modact-member,
    name like modact-name,
    status like modattr-status,
    anam like modattr-anam,
    adat like modattr-adat,
    end of ty_mod.
    data: w_mod type ty_mod.
    types: begin of t_userexit,
    type(12) type c,
    pname like trdir-name,
    txt(300),
    level type c,
    modname(30) type c,
    modtext(60) type c,
    modattr type ty_mod,
    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.
    types: begin of t_enlfdir,
    area type enlfdir-area,
    end of t_enlfdir.
    data: i_enlfdir type standard table of t_enlfdir 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 NEEDED
    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
    endif.
    else.
    message e110(/saptrx/asc) with 'No program found for: ' p_tcode."#EC NOTEXT
    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.
    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.
    store function groups
    select single area from enlfdir into wa_enlfdir-area
    where funcname = i_fmodule-name.
    i_enlfdir-area = wa_enlfdir-area.
    append i_enlfdir.
    Store development classes
    if 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.
    endif.
    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.
    sort funtion groups
    sort i_devclass.
    delete adjacent duplicates from i_devclass.
    sort i_enlfdir.
    delete adjacent duplicates from i_enlfdir.
    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'.
    check i_submit-pname ne p_pname. " ensure not the same as origianl program
    clear: i_stoken, i_sstmnt, sourcetab.
    refresh: i_stoken, i_sstmnt, sourcetab.
    read report i_submit-pname into sourcetab.
    if sy-subrc 0.
    delete i_submit.
    continue.
    else.
    scan abap-source sourcetab tokens into i_stoken
    statements into i_sstmnt
    keywords from keywords
    with includes.
    if sy-subrc > 0.
    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.
    sort i_submit.
    delete adjacent duplicates from i_submit comparing pname.
    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 'IDOC'.
    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.
    read table i_fmodule with key name = i_fmodule-name.
    if sy-subrc 0.
    i_fmodule-level = p_level.
    append i_fmodule.
    endif.
    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.
    MOH - enhancement to get the project name
    clear w_mod.
    select single modactmember modactname modattr~status
    modattranam modattradat
    into w_mod
    from modact
    inner join modattr
    on modattrname = modactname
    where modact~member = wa_modsapa-name
    and modact~typ = space.
    i_userexit-modattr = w_mod.
    MOH - eoe
    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.
    Get IDOCs
    loop at i_devclass.
    endloop.
    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,
    (60) c_col5, "Enhancement description
    sy-vline,
    (8) c_col6, "Project
    sy-vline,
    (1) c_col7, "S
    sy-vline,
    (12) c_col8, "ChangeName
    sy-vline,
    (10) c_col9, "ChangeDate
    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(60),
    sy-vline,
    i_userexit-modattr-name,
    sy-vline,
    i_userexit-modattr-status,
    sy-vline,
    i_userexit-modattr-anam,
    sy-vline,
    i_userexit-modattr-adat no-zero,
    sy-vline.
    hide: i_userexit-type,
    i_userexit-txt,
    i_userexit-pname,
    i_userexit-modname,
    i_userexit-modtext.
    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).
    write: 157''.
    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
    & User Selection Processing &
    at line-selection.
    get cursor field w_fsel.
    case w_fsel.
    when 'I_USEREXIT-MODNAME'.
    case i_userexit-type.
    when 'Enhancement'.
    set parameter id 'MON' field i_userexit-modname.
    call transaction 'SMOD' and skip first screen.
    when 'BADI'.
    check i_userexit-modname ne 'Dynamic call'.
    set parameter id 'EXN' field i_userexit-modname.
    call transaction 'SE18' and skip first screen.
    when 'BusTrEvent'.
    submit rfopfi00 with attr_typey_selm = 'A'
    with event = i_userexit-modname(8)
    via selection-screen
    and return.
    when others.
    endcase.
    when 'I_USEREXIT-PNAME'.
    check i_userexit-modname ne 'Unknown'.
    w_off = 0.
    find '/' in i_userexit-pname match offset w_off.
    if w_off = 0.
    set parameter id 'RID' field i_userexit-pname.
    call transaction 'SE38' and skip first screen.
    else.
    w_off = w_off + 1.
    w_prog = i_userexit-pname+w_off.
    set parameter id 'RID' field w_prog.
    call transaction 'SE38' and skip first screen.
    endif.
    when others.
    endcase.
    Thank You,
    Saritha

Maybe you are looking for

  • KONA 3 will not playback on CRT Monitor

    Hi I am having problems with playback of clips and sequences in a DVCPRO HD 720p50 project. When I view clips on a JVC CRT monitor, via SDI out, using the 625i 25 down conversion feature in the KONA control panel, I only get a still frame until I sto

  • GOTO Functionality from BW Report to Transaction on Portal

    Hi All, I wanted to know if anyone has any idea about having a "go to" function capability from the BW report to a transaction on the Portal? for eg if we can jump from a CRM complaints or opportunity report to the corresponding transaction on portal

  • Best practice power setting when doing a Site Survey for VOIP

    Hi Team, Can someone please confirm or correct me.  When doing a Wireless Active Site Survey for Cisco VOIP, I should be setting the Test AP to local power of 14, which is 25mW?  Is this correct, or should it be another value?  I asked the customer f

  • Best setting for my set of devices

    I would like to know what would be the best settings to get the maximum throughput for my set of devices. Last night both Airport Extreme and Airport Express were updated with firmware to 7.5.2 1) Upstairs I have an Airport Extreme. Newer version wit

  • Does anyone know how to calculate the impedance using waveforms

    does anyone know how to calculate the impedance using waveforms?