User exit or Function Module for determining route in PO

Hi all,
We want to determine a new route in the stock transport order based on certain conditions. Can somebody help us with the appropriate user exit or a function modue.
Kind Regards
Chakradhar

Hi Alpesh,
We have checked this one,but it is not of much of help.
Kind Regards
Chakradhar

Similar Messages

  • User exit or functional module for multiple GR of Production order.

    Hi All,
           I have done a enhancement in CO11N so that batches can get created in production order  confirmation.
    Now When I go to MIGO to do GR I have option to enter the nulitple batches against the production order.
    But what I am looking for is there any exit or functional module which reads the production order and fecth batches which were created from CO11N.
    Regards.

    Hi,
    A few options:
    1. User Exit - MBCF0002
    2. BADi - MB_MIGO_BADI, MB_DOCUMENT_BADI
    3. A Z program by calling BAPI_GOODSMVT_CREATE
    Regards,
    Vivek

  • Difference between User Exit & a Functional Module

    Dear all,
    Please help me in understanding ,what's an User Exit & a Functional Module in
    standard SAP.How do we define both of them.
    1.When  can/cannot I use an user exit?How to check for which T codes in PP
    Module an User Exit can be used or present.
    2.Can I use only a Functional Modules for Z developments or also an user Exit for
    Z developments?
    Please explain it in a simple way.
    It will be a great help for me,Expecting for your help.
    Regards
    Mangal

    user exit is a customised code used to extend or change normal SAP functionality.FM is a piece of reusable code uesed as a part of modularisation technique in SAP so that you can use this code again & again.
    1. you create FM through se37. First create function group which in return will contain your FM. you creates user exits through SMOD and CMOD. In case of some standard programs there are special includes where you can add u r own code to extend standard functionality. ( in pro sapmv45a include sapmvfzz used).
    to find an exit go to se80 or se84 give the package name and find exit corresponding to it ( ex for sales exits give package VA then search for exit )
    for second point i didnt get get what u want to know?
    for any z development u dont need at all to use exits u can do it thru SE38.USER-EXIT is add on functionality to customise u r standard transaction.
    i hope this will clear u r doubt.reward points if helpful.
    Rushikesh

  • Functional module for determining the sales tax code

    Dear all,
    Kindly help me is there any Functional module to determine the sales tax code?
    My Requirement is Based on the Country, Sales Org and Tax code Pricing should pick up automatically.
    I tried adding the same fields in the table and inserted in the access sequence and created the condition record for the same.
    Created the order but system is not able to get  the Tax code while determining the price?
    Please help ...
    Regards,
    SK

    My Requirement is Based on the Country, Sales Org and
         Tax code Pricing should pick up automatically
    but system is not able to get the Tax code while determining the price?
    Your both the above comments are contradict to each other. In the first statement, you say pricing should pick up automatically whereas, in the next statement, you say tax code is not determining.   Please indicate the requirement clearly.
    thanks
    G. Lakshmipathi

  • User-Exit/Badi/Funtion Module for update Batch in transaction CORK

    Hi Gurus,
      when an IDoc 'Z' is executed to do a confirmation using the FM CO_RU_ORDER_CONFIRMATION, the values of transaction CORK are modified.
      I'd like to update the field batch number so when you enter a process order in transaction CORK and then you click on Components, you'll see the list of component and the batch number updated throught the custom IDoc.
      Does anyone knows any user-exit or Badi or maybe a FM to implement so when the first confirmation is done, the batch numbers are updated?
    Thanks in advance.

    Hi,
    You can copy and paste the Report code below. This will give the list of User Exits and BADIs available for the Transcation code. Very usefull program.
    Below code will give a list of BADIs for particular transaction.
    =============START
    *& Report ZNEGI16 *
    REPORT ZNEGI16 .
    TABLES : TSTC,
    TADIR,
    MODSAPT,
    MODACT,
    TRDIR,
    TFDIR,
    ENLFDIR,
    SXS_ATTRT ,
    TSTCT.
    DATA : JTAB LIKE TADIR OCCURS 0 WITH HEADER LINE.
    DATA : FIELD1(30).
    DATA : V_DEVCLASS LIKE TADIR-DEVCLASS.
    PARAMETERS : P_TCODE LIKE TSTC-TCODE,
    P_PGMNA LIKE TSTC-PGMNA .
    DATA wa_tadir type tadir.
    START-OF-SELECTION.
    IF NOT P_TCODE IS INITIAL.
    SELECT SINGLE * FROM TSTC WHERE TCODE EQ P_TCODE.
    ELSEIF NOT P_PGMNA IS INITIAL.
    TSTC-PGMNA = P_PGMNA.
    ENDIF.
    IF SY-SUBRC EQ 0.
    SELECT SINGLE * FROM TADIR
    WHERE PGMID = 'R3TR'
    AND OBJECT = 'PROG'
    AND OBJ_NAME = TSTC-PGMNA.
    MOVE : TADIR-DEVCLASS TO V_DEVCLASS.
    IF SY-SUBRC NE 0.
    SELECT SINGLE * FROM TRDIR
    WHERE NAME = TSTC-PGMNA.
    IF TRDIR-SUBC EQ 'F'.
    SELECT SINGLE * FROM TFDIR
    WHERE PNAME = TSTC-PGMNA.
    SELECT SINGLE * FROM ENLFDIR
    WHERE FUNCNAME = TFDIR-FUNCNAME.
    SELECT SINGLE * FROM TADIR
    WHERE PGMID = 'R3TR'
    AND OBJECT = 'FUGR'
    AND OBJ_NAME EQ ENLFDIR-AREA.
    MOVE : TADIR-DEVCLASS TO V_DEVCLASS.
    ENDIF.
    ENDIF.
    SELECT * FROM TADIR INTO TABLE JTAB
    WHERE PGMID = 'R3TR'
    AND OBJECT in ('SMOD', 'SXSD')
    AND DEVCLASS = V_DEVCLASS.
    SELECT SINGLE * FROM TSTCT
    WHERE SPRSL EQ SY-LANGU
    AND TCODE EQ P_TCODE.
    FORMAT COLOR COL_POSITIVE INTENSIFIED OFF.
    WRITE:/(19) 'Transaction Code - ',
    20(20) P_TCODE,
    45(50) TSTCT-TTEXT.
    SKIP.
    IF NOT JTAB[] IS INITIAL.
    WRITE:/(105) SY-ULINE.
    FORMAT COLOR COL_HEADING INTENSIFIED ON.
    Sorting the internal Table
    sort jtab by OBJECT.
    data : wf_txt(60) type c,
    wf_smod type i ,
    wf_badi type i ,
    wf_object2(30) type C.
    clear : wf_smod, wf_badi , wf_object2.
    Get the total SMOD.
    LOOP AT JTAB into wa_tadir.
    at first.
    FORMAT COLOR COL_HEADING INTENSIFIED ON.
    WRITE:/1 SY-VLINE,
    2 'Enhancement/ Business Add-in',
    41 SY-VLINE ,
    42 'Description',
    105 SY-VLINE.
    WRITE:/(105) SY-ULINE.
    endat.
    clear wf_txt.
    at new object.
    if wa_tadir-object = 'SMOD'.
    wf_object2 = 'Enhancement' .
    elseif wa_tadir-object = 'SXSD'.
    wf_object2 = ' Business Add-in'.
    endif.
    FORMAT COLOR COL_GROUP INTENSIFIED ON.
    WRITE:/1 SY-VLINE,
    2 wf_object2,
    105 SY-VLINE.
    endat.
    case wa_tadir-object.
    when 'SMOD'.
    wf_smod = wf_smod + 1.
    SELECT SINGLE MODTEXT into wf_txt
    FROM MODSAPT
    WHERE SPRSL = SY-LANGU
    AND NAME = wa_tadir-OBJ_NAME.
    FORMAT COLOR COL_NORMAL INTENSIFIED OFF.
    when 'SXSD'.
    For BADis
    wf_badi = wf_badi + 1 .
    select single TEXT into wf_txt
    from SXS_ATTRT
    where sprsl = sy-langu
    and EXIT_NAME = wa_tadir-OBJ_NAME.
    FORMAT COLOR COL_NORMAL INTENSIFIED ON.
    endcase.
    WRITE:/1 SY-VLINE,
    2 wa_tadir-OBJ_NAME hotspot on,
    41 SY-VLINE ,
    42 wf_txt,
    105 SY-VLINE.
    AT END OF object.
    write : /(105) sy-ULINE.
    ENDAT.
    ENDLOOP.
    WRITE:/(105) SY-ULINE.
    SKIP.
    FORMAT COLOR COL_TOTAL INTENSIFIED ON.
    WRITE:/ 'No.of Exits:' , wf_smod.
    WRITE:/ 'No.of BADis:' , wf_badi.
    ELSE.
    FORMAT COLOR COL_NEGATIVE INTENSIFIED ON.
    WRITE:/(105) 'No userexits or BADis exist'.
    ENDIF.
    ELSE.
    FORMAT COLOR COL_NEGATIVE INTENSIFIED ON.
    WRITE:/(105) 'Transaction does not exist'.
    ENDIF.
    AT LINE-SELECTION.
    data : wf_object type tadir-object.
    clear wf_object.
    GET CURSOR FIELD FIELD1.
    CHECK FIELD1(8) EQ 'WA_TADIR'.
    read table jtab with key obj_name = sy-lisel+1(20).
    move jtab-object to wf_object.
    case wf_object.
    when 'SMOD'.
    SET PARAMETER ID 'MON' FIELD SY-LISEL+1(10).
    CALL TRANSACTION 'SMOD' AND SKIP FIRST SCREEN.
    when 'SXSD'.
    SET PARAMETER ID 'EXN' FIELD SY-LISEL+1(20).
    CALL TRANSACTION 'SE18' AND SKIP FIRST SCREEN.
    endcase.
    ================END
    <b>Reward POints if this helps.
    Manish</b>

  • Functional Module for Free Goods Determination

    Dear Experts,
             What is the standard Functional module used to determine  Free goods in sales order creation.
    Thanks & Regards
    Parviz

    Hi Moazzam,
          Found that standard Functional Module for Determine  Free goods is "NATRAB_SELECTION".
    Thanks for replay, Closing the issue.
    Regards
    Parviz.

  • Function Module for search help Exit

    How to create a function Module for search help exits?
    please explain in details with step by step process.

    Hi,
    How to create a function Module for search help exits?
    function module for search help F4IF_SHLP_EXIT_EXAMPLE
    dynamic search help use 'F4IF_INT_TABLE_VALUE_REQUEST'
    please check out the link below it will help you
    A repository object maintained in the ABAP Dictionary. It supplies input fields on Dynpros with single- or multi-column input helps. Search helps can be linked in the Dictionary with components from structures, data elements, and check tables. A search help enables you to search for entry values with assigned data, without you having to know the exact spelling of the value.
    http://help.sap.com/saphelp_46c/helpdata/EN/cf/21ee52446011d189700000e8322d00/content.htm
    please explain in details with step by step process.
    create a search help exit:
    1. create an fm with this interface:
    *" TABLES
    *" SHLP_TAB TYPE SHLP_DESCR_TAB_T
    *" RECORD_TAB STRUCTURE SEAHLPRES
    *" CHANGING
    *" VALUE(SHLP) TYPE SHLP_DESCR_T
    *" VALUE(CALLCONTROL) LIKE DDSHF4CTRL STRUCTURE DDSHF4CTRL
    put this logic in it:
    Delete duplicate filter logic.
    This logic only needs to apply at the 'DISP' event - which is just
    before the hit list is displayed
    if callcontrol-step = 'DISP'.
    delete adjacent duplicates from record_tab.
    endif.
    2. edit your search help in se11 and enter the name of the above search help exit fm
    check this sample code..for dynamic search help
    REPORT  ZTEST_F4HELP                              .
    *---Report with selection screen and to display the list of
    possible entries for field 'B' as per the value in field 'A'.
    parameters: p_vbeln type vbak-vbeln,
                p_posnr type vbap-posnr.
    at selection-screen on value-request for p_posnr.
      data: begin of help_item occurs 0,
              posnr type vbap-posnr,
              matnr type vbap-matnr,
              arktx type vbap-arktx,
            end of help_item.
      data: dynfields type table of dynpread with header line.
      dynfields-fieldname = 'P_VBELN'.
      append dynfields.
      call function 'DYNP_VALUES_READ'
           exporting
                dyname               = sy-cprog
                dynumb               = sy-dynnr
                translate_to_upper   = 'X'
           tables
                dynpfields           = dynfields
           exceptions
                invalid_abapworkarea = 1
                invalid_dynprofield  = 2
                invalid_dynproname   = 3
                invalid_dynpronummer = 4
                invalid_request      = 5
                no_fielddescription  = 6
                invalid_parameter    = 7
                undefind_error       = 8
                double_conversion    = 9
                stepl_not_found      = 10
                others               = 11.
      read table dynfields with key fieldname = 'P_VBELN'.
      p_vbeln = dynfields-fieldvalue.
      call function 'CONVERSION_EXIT_ALPHA_INPUT'
           exporting
                input  = p_vbeln
           importing
                output = p_vbeln.
      select posnr matnr arktx into table help_item
                     from vbap
                          where vbeln = p_vbeln.
      call function 'F4IF_INT_TABLE_VALUE_REQUEST'
           exporting
                retfield    = 'POSNR'
                dynprofield = 'P_POSNR'
                dynpprog    = sy-cprog
                dynpnr      = sy-dynnr
                value_org   = 'S'
           tables
                value_tab   = help_item.
    also check this link it will help you
    /message/3854825#3854825 [original link is broken]
    *********please reward points if the information is helpful to you*************

  • Function Module for Discount Date

    Hi,
         Can somebody tell me whether there is any function module for determining the Discount Date (DATS) and Payment Due Date(DATS) based on Payment Terms (ZTERM)?
    Thanks,
    John.

    FI_FIND_PAYMENT_CONDITIONS
    DETERMINE_DUE_DATE

  • Determining active package in exit variable function module

    Hi all.
    I'm writing an exit variable function module that will return different values for different packages in a level, based on a custom table to map the area / level / package to a key, then look up the variable values for that key in another table. 
    The idea is to get around the BPS constraint of choosing the variable in levels rather than in packages.  I'm trying to reduce the number of levels needed.
    Function module 'UPC_FW_GET_ACTIVE_OBJECTS' works to show the active package when the variable is being resolved in BPS0 (e.g. click on package then click on layout or other parameter group), but it does not work for executing global planning sequences.  In that case the active object is the global sequence.
    Any other ideas about how to determine the package that is active when the variable code is run? 
    Or any ideas about how to tell which global sequence step is being run so that the package can be determined from UPF_BSTEPS?
    Any ideas would be appreciated.
    Thanks!  Aron
    Message was edited by:
            Aron Weaver

    There seems not to be any available standard code providing package ID to call the exit variable function module, so it looks like either a code modification or a custom copy of UPC_BUNDLE_EXECUTE and several function modules will be necessary.  The objective of either approach would be to pass the package ID along to the plan level read and variable resolution portion of the code, then include package as an imported parameter for the exit variable function module.
    SAP development and support declined to assist, giving us the infamous standard "consulting required" response.  I've seen something like this done previously, but that client was matching the packages up with layouts in folders, and used a custom method in a standard class reading folder information to identify the package.  There doesn't seem to be anything equivalent for global planning sequences.

  • Function module to determine the date for the nth weekday of the mth month

    Hey folks,
    Is there a function module which determines the date for the mth weekday of the nth month in the pth year.
    For instance, if I input 2nd thursday of the 4th month in 2008, it should return me, 04/10/2008  (MM/DD/YYYY).
    Thanks and Best Regards,
    Puja.

    Hi Ravi,
    Hadn't been able to work on this lately...You solution was quite close, but did not work for a few scenarios....I tweaked the logic a bit to take care of them as well...
    So here goes the code:
    ================================================
      DATA first_day_of_month TYPE datum.
      DATA day TYPE p.
      CONCATENATE year month '01' INTO first_day_of_month.
      CALL FUNCTION 'DAY_IN_WEEK'
        EXPORTING
          datum = first_day_of_month
        IMPORTING
          wotnr = day.
      DATA day_number TYPE numc2.
      IF day = weekday.
        IF recur = 1.
          DATA ls_date(10) TYPE c.
          CONCATENATE month '/01/' year INTO ls_date.
          CALL FUNCTION 'CONVERT_DATE_TO_INTERNAL'
            EXPORTING
              date_external                  = ls_date
           IMPORTING
             date_internal                  = date.
        ELSE.
          day_number =  ( ( recur - 1 ) * 7 )  + 1.
        ENDIF.
      ELSEIF day < weekday.
        day_number = ( ( recur - 1 ) * 7 ) + ( weekday - day ) + 1.
      ELSE.
        day_number = ( ( recur - 1 ) * 7 ) + ( 7 - day ) + weekday + 1.
      ENDIF.
      IF date IS INITIAL.
        CONCATENATE year month day_number INTO date.
      ENDIF.
    ====================================
    There still could be some loopholes in this....am not sure....but it sure did seem to work for a couple of random checks that I performed.
    Brownie points to you for giving me a direction.
    Thanks,
    Puja.

  • Function Modules for Text determination

    Hello,
    Could someone please point me to Function Modules for the following:
    1) Given a transaction type (say '0000'), I need the text Det. procedure for that transaction type.
    2) Now, given the Text Det. Procedure, I need the set of all Valid Text Types (For eg: A0002, A0001, etc..).
    Thanks and Regards,
    Nisha

    Hi all,
    any idea about this topic?

  • Any Bapi or Function module for transaction CA22

    Hi experts,
    Is there any Bapi or Function module for transaction CA22(Change Rate Routing).
    Thanks,
    Yogesh

    Hi,
    The following r the Enhancement's and BADI'S fro CA22
    Enhancement
    CMDI001                                 Determine explosion control for BOM
    CPAU0001                                Enhancement for Authorization Check in Task Lists
    CPDO0001                                Test units of measure for reference operation set
    CPRE0001                                Enhancement for Reorgnization Checks in Task Lists
    XCZD0004                                Extend authority check for the material-recipe allocation
    Business Add-in
    CEWB_OPR_MENU_EXTERN                    Menu Extensions in the Engineering Workbench
    CEWB_OPR_MENU_INTERN                    Menu Extensions in the EWB (SAP Internal)
    CEWB_SEQ_MENU_INTERN                    Menu Extensions in the EWB (SAP Internal)
    CEWB_TSK_MENU_EXTERN                    Menu Extensions in the Engineering Workbench
    CEWB_TSK_MENU_INTERN                    Menu Extensions in the EWB (SAP Internal)
    CEWB_TSK_SCREENS                        Screen Extensions for Task Lists in the EWB
    CEWB_TSK_UPDATE                         Task List Maintenance and Checks in the EWB
    CP_DIG_SIGNATURE                        Digital Signature for Routings
    EWB_SELECTION                           Selection Within the Engineering Workbench
    ROUTING_EXIT                            User Exits for Routings
    CEWB_MTK_MENU_INTERN                    Menu Extensions in the EWB (SAP Internal)
    CEWB_MST_MENU_INTERN                    Menu Extensions in the EWB (SAP Internal)
    CEWB_MST_MENU_EXTERN                    Menu Extensions in the Engineering Workbench
    CEWB_ITM_MENU_INTERN                    Menu Extensions in the EWB (SAP Internal)
    CEWB_ITM_MENU_EXTERN                    Menu Extensions in the Engineering Workbench
    CEWB_GEN_MENU_INTERN                    Menu Extensions in the EWB (SAP Internal)
    CEWB_GEN_MENU_EXTERN                    Menu Extensions in the Engineering Workbench
    CEWB_COM_MENU_INTERN                    Menu Extensions in the EWB (SAP Internal)
    CEWB_COM_MENU_EXTERN                    Menu Extensions in the EWB (SAP Internal)
    CEWB_CHA_MENU_INTERN                    Menu Extensions in the EWB (SAP Internal)
    CEWB_CHA_MENU_EXTERN                    Menu Extensions in the Engineering Workbench

  • Function Module to determine due date in BI form Payment Terms

    Hi to all,
    Can any one tell me what is the Function Module to determine due date in BI, form ZTERM ( Payment Terms ).
    I am working on Accounts Receivable (AR). and need to calculate Due date.
    I shall be thankful to you for this.
    Regards
    Pavneet Rana

    Thanks For reply,
    I have to do aging for Receivables and report format is like that.
                    1 - 10      11 - 30        31 - 60         61 - 90       > 90     Notoverdue   Overdue
    North
    East
    south
    West
    According to client requirement in first 5 bucket i need to display Receivables according to aging
    and for  Notoverdue   Overdue  bucket condition is like that.
    if sy-datum - vbrk-fkdat  > 0NETDUEDATE then it is under Overdue bucket
    if sy-datum - vbrk-fkdat  < 0NETDUEDATE then it is under notOverdue bucket
    there i have created 2 DSO , one for sales which have North,East,south,West and vbrk-fkdat using 2LIS_13_VDHDR,2LIS_13_VDITM
    and other  DSO which will have 0NETDUEDATE from 0FI_AR_4 .
    for Notoverdue   Overdue how i will calculate aging at query level.
    also is 0p_keydt is variable for 0CALDAY which will take user entery and should i applied offcet, to get firts 5 bucket Receivables data for aging.
    i shall be thankful to you for this.
    Regards
    Pavneet Rana

  • Want to find function module for MB31.

    HY,
    <b>I WANT TO KNOW THE FUNCTION MODULE FOR THE MB31</b>,
    AND WHEN WE ENTER THE PRODUCTION ORDER NO IN THE 1ST SCREEN OF MB31,
    IT GOES TO THE 2ND SCREEN
    HERE WE HAVE TO PUT THE QUALITY,
    <b> WAT I WANT IS THAT:-</b>
    WHEN WE ENTER THE ORDER NO IN CO11 i.e. CREATE PRODUCTION ORDER CONFIRMATION,
    IT ASK FOR THE QUALITIES TO CONFIRM.
    AFTER THIS WHEN WE GO TO MB31 AND PUT IN THE ORDER NO
    ON THE 2ND SCREEN IT ASKS FOR THE QUALITY,
    NOW, I WANT THAT WHEN WE ENTER THE NO OF QUALITIES IN MB31 MORE THAN WE HAVE ENTERED IN CO11, IT SHOULD GIVE AN ERROR MESSAGE.
    <b>POINTS CONFIRMED.</b>
    THANKS IN ADVANCE,
    KARTIKEY.

    Hi,
    Please look at the following thread:
    Re: user exit and customer exit
    If you scroll down, there is a post by Aashish Anchlia which has a useful utility to find a user exit for an SAP transaction. That should help.
    Sudha

  • Regarding Function Module for Locking ( enque)

    Hi,
    I am facing a Problem that is when iam running Call transaction one popup is coming because some other user currently editing that Tcode at that time i need to lock tcode using enque specially for table . If suppose some other user editing at that time it will shoe that popup and it will exit from their with out doing any other process For that i need Function module for Lock and Delock.
    thanks in advance,
    murali krishna.

    So in this example, I am doing a loop and check for a lock, if I don't get one, I wait for 5 seconds, this loop continues untill 30 seconds, no lock then it quits and gives message.
    report zrich_0001.
    data: counter type i.
    parameters: p_equnr type equi-equnr.
    start-of-selection.
      clear counter.
      do.
    Exhausted,  no luch in getting a lock, get of of DO loop.
        if counter > 6.
          sy-subrc = 1.
          exit.
        endif.
    Try for lock
        call function 'ENQUEUE_EIEQUI'
          exporting
            mode_equi            = 'E'
            mandt                = sy-mandt
            equnr                = p_equnr
       _wait                = 'X'
          exceptions
            foreign_lock         = 1
            system_failure       = 2
            others               = 3.
    Got a lock, get out of DO loop.
       if sy-subrc  = 0.
          exit.
        endif.
    Still here?  Then wait another 5 seconds
        wait up to 5 seconds.
        counter = counter  + 1.
      enddo.
    Report status
      case sy-subrc.
        when  0.
          message s001(00) with 'Lock could not be established'.
        when  1.
          message i001(00) with 'Lock could not be established'.
      endcase.
    Regards,
    rewards point

Maybe you are looking for