Function modules modification

Hi, when a function module is modified and saved, the system is asking for request number. What should be given there? Even if we do not have plans to transport this module, we need to provide the request number? Thanks

HI,
if u create that function module in different package other than that of local package it will ask u  for the req number.save it in $tmp package or click on the create request number to get rid of that problem.
to change the package go to that function module and select goto->object directory entry.one pop-up will come.select change button there u can change the package.
rgds,
bharat.
Message was edited by:
        Bharat Kalagara

Similar Messages

  • SAP Upgrade - Standard function modules & modifications

    Hello everybody,
    we are doing a SAP Upgrade to SAP ERP 6.0 and I need your help
    Some SAP standard funcion modules were modified in the last years and some weeks ago the changes were undone. The last version of the function modules are the same than the original function modules, but the version manager shows that the last version belongs to the user FGZ583 (and not SAP).
    The Problem is, that SAP deals with that function modules as a modification (because the last change was done by FGZ583?), but they are identical to the original SAP function modules.
    When the Upgrade is done, the SPAU/SPDD/se95 show that function modules as "modifications", although they are the same that the original ones.
    What could I do to avoid that SAP deals with that function modules as modifications?
    Cheers
    Prashad

    Hello Prashad,
    Its standard that once the object is changed the corresponding entry is recorded in different tables.Even if you roll back now system will treat as the modifications because corresponding change entries are present in the tables. You can try to activate the older versions but i don't think this will help you.
    This is not a point of worry as in SPDD adn SPAU you can choose reset to original for all those objects.
    Even if you can get those objects to move back to the source version they will get back to the standard in the new release.So my advise will be to let your upgrade run and then reset these objects to original.
    Regards
    Niraj

  • Function module modification(z_hr_read_quali_texte)

    when i execute the function module the result is a table with 10 lines(example)
    i donot want these lines having in the exported table LINES of the function module
    H2Notiz angelegt von daniela Schwaiger (sgd) am 14.07.2005 um 17:45:11
        (cet)
    H2Notiz angelegt von doosa sumitha (dss) am 23.03.2007 um 10:24:50  (cet)
    H2Notiz angelegt von babu narendra (bnc) am 23.03.2007 um 10:26:21 (cet)
    In this coding when can i change the logic( may be AFTER REFRESH LINES)
    FUNCTION Z_HR_READ_QUALI_TEXTE.
    ""Lokale Schnittstelle:
    *"  IMPORTING
    *"     VALUE(PLVAR) TYPE  PLVAR DEFAULT '10'
    *"     VALUE(OTYPE) TYPE  OTYPE
    *"     VALUE(OBJID) TYPE  HROBJID
    *"     VALUE(DATUM) TYPE  DATUM DEFAULT SY-DATUM
    *"     VALUE(QUALI) TYPE  HROBJID
    *"  TABLES
    *"      LINES STRUCTURE  TLINE
    *"  EXCEPTIONS
    *"      NOT_FOUND
    *"      ILLEGAL_INFOTYPE
    *"      INTERNAL_ERROR
    *"      NOTE_NOT_FOUND
    dieser fuba liest die qualifikation des quali-profil's
    des bewerbers / der person
    im qualiprofil kann eine notiz hinterlegt werden
    wir lesen diesen text
    Marcus Sieber; 23.01.2007
    lokale datendefinition
      data: wa_hrp1001 like hrp1001,
            wa_hripkey like p1001.
      DATA: local_name  TYPE ttname,
            local_info  TYPE tninfo,
            local_head  TYPE tthead,
            local_spras LIKE thead-tdspras,                     "XMK#693640
            local_subrc TYPE tsubrc,
            local_title LIKE ttxit-tdtext,
            lines_tab   TYPE ttline OCCURS 1 WITH HEADER LINE.
    1. verknüpfung lesen
      select single * from hrp1001
                               into wa_hrp1001
                                   where otype = 'Q'
                                     and objid = quali
                                     and plvar = plvar
                                     and rsign = 'B'
                                     and relat = '032'
                                     and istat = '1'
                                     and sclas = otype
                                     and sobid = objid
                                     and begda <= datum
                                     and endda >= datum.
      if sy-subrc <> 0.
        raise not_found.
      endif.
      PERFORM fgr_init(SAPLRHNT).
      move-corresponding wa_hrp1001 to wa_hripkey.
      PERFORM txt_compose_key(SAPLRHNT) USING wa_hripkey local_name local_info
                                                        local_subrc.
      IF local_subrc <> 0.
        RAISE illegal_infotype.
      ENDIF.
      PERFORM txt_get_spras(SAPLRHNT) USING
                                     local_info-noteid          "XMK#693640
                                     local_name
                                     local_info-noteobj
                            CHANGING local_spras
                                     local_subrc.
    *--- read text -
      CALL FUNCTION 'READ_TEXT'
        EXPORTING
          id                      = local_info-noteid
          language                = local_spras                 "XMK#693640
          name                    = local_name
          object                  = local_info-noteobj
        IMPORTING
          header                  = local_head
        TABLES
          lines                   = lines_tab
        EXCEPTIONS
          id                      = 1
          language                = 1
          name                    = 2
          not_found               = 2
          object                  = 1
          reference_check         = 1
          wrong_access_to_archive = 1
          OTHERS                  = 1.
      CASE sy-subrc.
        WHEN 1. RAISE internal_error.
        WHEN 2. RAISE note_not_found.
      ENDCASE.
      refresh lines.
      lines[] = lines_tab[].
    ENDFUNCTION.

    add the following in the data declaration
    data: w_str1(7) value  'H2N0tiz' ,
            w_str2(5) value '(CET)'.
    & this line of code after<i> refresh lines.</i>
    delete  lines_tab where ( tdline cs w_str1 or tdline cs w_str2 ).
    ~Suresh

  • Function Module for REBDBU0012-BU Field Modification Criteria - Sample reqd

    We are using three distinct type of Business Entities to look after three types of business of client. For this we have defined three number ranges for each such BE. Now, we wish to use Transaction code "REBDBU0012-BU Field Modification Criteria " and wish to define the field status of based in BE number range criteria.
    I have discussed this in detail with my developer but he is unable to find any help/functional module. Is there any sample object available with in SAP library or if any member from SAP community could help us in it.
    Regards
    Rohit Goel

    Hi Rohit,
    function module that gets field status für BU in standard is REBU_REBU_EVENT_FMOD2.
    There is no such function module that fulfills your requirement available yet.
    For your requirement you have to develop your own function module with the same parameters and in the function module you have to insert the logic to determine the field status as you require it.
    You may use REBU_GET_BUSOBJ to get the data of the object and so you should have all necessary information. As I already mentioned you can use RERO_RERO_EVENT_FMOD2_USAGE as an example.
    Hope that helps.
    Regards, Franz

  • Modification of function module

    Hi Experts,
    This is the function module.
    for "R3001" contract type (specified as WHEN 'R3001'),
    the extended termination date should be end of the month ,for this we  are aading 29 days to agent starting date, but in the case of february if we add 29 days it is going to the next month,(every year the problem appearing in  the month of FEB only) for leap year also its creating problem in the month of february only,if it is moving to next month the checks are paying unnecessarily. My requirement is  whatever the "ZAGENT_START" ,the extended termination should be last day of the month only.
    How can we modify this ? Please suggest me ASAP.
    FUNCTION zepc_get_extended_trm_dt_new.
    ""Local interface:
    *"  IMPORTING
    *"     REFERENCE(INSOBJECT) TYPE  INSOBJECT_MD
    *"     REFERENCE(ZAGENT) TYPE  ZAGENT_NO
    *"     REFERENCE(SUB_CHANNEL) TYPE  ZSUB_CHANNEL
    *"     REFERENCE(ZCONT_CODE) TYPE  ZCONTR_CODE
    *"     REFERENCE(ZAGENT_START) TYPE  ZAGENTNUMSTDATE
    *"     REFERENCE(ZAGENT_REF) LIKE  ZEPC_IO_AGENT STRUCTURE
    *"        ZEPC_IO_AGENT OPTIONAL
    *"     REFERENCE(ZAGENT_NEW) LIKE  ZEPC_IO_AGENT STRUCTURE
    *"        ZEPC_IO_AGENT OPTIONAL
    *"  EXPORTING
    *"     REFERENCE(EXTENDED_TRM_DATE) TYPE  ZAGENTNUMSTDATE
    02/10/06  TMARVIN  DV2K908222    TD #3181
    08/09/06  APOT5    DV2K910117    Include status reason code
      DATA: l_day TYPE p,
            t_agent LIKE zepc_io_agent OCCURS 0 WITH HEADER LINE,
            l_enddate LIKE sy-datum,
            f_extend TYPE c.
      CLEAR l_enddate.
      IF zagent_ref IS INITIAL AND
         zagent_new IS INITIAL.
    Then derive the from DB.
        SELECT * FROM zepc_io_agent INTO TABLE t_agent
               WHERE insobject = insobject AND
                     zagent_no = zagent.
        SORT t_agent BY zintrl_agt_no DESCENDING.
        READ TABLE t_agent INDEX 2.
        IF t_agent-zagent_stat = 'ACT' AND
            ( t_agent-zstat_reas  = '010'
           or t_agent-zstat_reas  = '028' ) .
          f_extend = 'X'.
        ENDIF.
      ELSE.  "Compare structures.
    Still to do.
      ENDIF.
    Processing Logic
      IF f_extend IS INITIAL.
        extended_trm_date = zagent_start - 1.
      ELSE.
        CASE zcont_code+0(5).
          WHEN 'R3001'.
              extended_trm_date = zagent_start + 29.
    Set the comparison date to the end date of the active record
            l_enddate = zagent_start - 1.
          WHILE zagent_start4(2) = extended_trm_date4(2).
            WHILE l_enddate4(2) = extended_trm_date4(2).
              ADD 1 TO extended_trm_date.
            ENDWHILE.
          WHEN 'L2000' OR 'NYFS '.
            extended_trm_date = zagent_start + 6.
            CLEAR l_day.
            CALL FUNCTION 'DAY_IN_WEEK'
              EXPORTING
                datum = extended_trm_date
              IMPORTING
                wotnr = l_day.
            CALL FUNCTION 'DATE_CHECK_WORKINGDAY'
              EXPORTING
                date                       = extended_trm_date
                factory_calendar_id        = 'ZD'
                message_type               = 'I'
              EXCEPTIONS
                date_after_range           = 1
                date_before_range          = 2
                date_invalid               = 3
                date_no_workingday         = 4
                factory_calendar_not_found = 5
                message_type_invalid       = 6
                OTHERS                     = 7.
    If not a working day and it is Thursday, make it Friday.
            IF sy-subrc = 4 AND
                  l_day = 4.
              extended_trm_date = extended_trm_date + 1.
            ENDIF.
          WHEN OTHERS.
            extended_trm_date = zagent_start - 1.
        ENDCASE.
      ENDIF.
    ENDFUNCTION.
    Regards,
    Sam.

    >
    asdf hgvbg wrote:
    My requirement is  whatever the "ZAGENT_START" ,the extended termination should be last day of the month only.
    > Regards,
    > Sam.
    Hi sam,
    Only since you asked as above i gave the solution, but now you are confusing.
    What exactly you want?
    If Zagent_start is 12th january and you add 29 days it will also go to next month, right?
    Give some example zagent_start dates and what you expect in EXTENDED_TRM_DATE.
    Regards
    Karthik D

  • Modification in SAP Function Module of ABUZ

    Dear experts,
    There is a Function Group ABUZ. In it, there is a Function Module fiaa_get_buzsm. In the FM I found that one line has to be modified. I would like to know if there is a possibility to use a user exit? How to check whether the user exit exists? What exactly I need to know / to have to write such an exit?
    Thank you and regards
    Rafal

    Hi
    I don't believe there's an exit so you should change the std program.
    Anyway try to check if there's a code line as CALL CUSTOMER-FUNCTION
    Max

  • Modifications to ACAC_DATA_TRANSFER_EXAMPLE_2 function module

    Hi,
    I have a requirement where ACAC_DATA_TRANSFER_EXAMPLE_2 this function module has to be copied in to some u2018Z_VEND_INVu2019 and make the changes as below mentioned-
    -- The standard logic in selection method u2018Z_VEND_INVu2019u2019 only takes into consideration vendor invoices that have not yet been cleared. This restriction should be deleted, i.e. all vendor invoices that adhere to the selection criteria should be selected.
    Here- in this FM which field refres to vendor invoices and what logic do i need to implement.
    Pls help.

    Sample.....
    call method cl_gui_frontend_services=>gui_download
      exporting
    *    BIN_FILESIZE            =
        filename                =  your_file_path
    *    FILETYPE                = 'ASC'
    *    APPEND                  = SPACE
    *    WRITE_FIELD_SEPARATOR   = SPACE
    *    HEADER                  = '00'
    *    TRUNC_TRAILING_BLANKS   = SPACE
    *    WRITE_LF                = 'X'
    *    COL_SELECT              = SPACE
    *    COL_SELECT_MASK         = SPACE
    *  IMPORTING
    *    FILELENGTH              =
      changing
        data_tab                = The_ALV_itab
    *  EXCEPTIONS
    *    FILE_WRITE_ERROR        = 1
    *    NO_BATCH                = 2
    *    GUI_REFUSE_FILETRANSFER = 3
    *    INVALID_TYPE            = 4
    *    NO_AUTHORITY            = 5
    *    UNKNOWN_ERROR           = 6
    *    HEADER_NOT_ALLOWED      = 7
    *    SEPARATOR_NOT_ALLOWED   = 8
    *    FILESIZE_NOT_ALLOWED    = 9
    *    HEADER_TOO_LONG         = 10
    *    DP_ERROR_CREATE         = 11
    *    DP_ERROR_SEND           = 12
    *    DP_ERROR_WRITE          = 13
    *    UNKNOWN_DP_ERROR        = 14
    *    ACCESS_DENIED           = 15
    *    DP_OUT_OF_MEMORY        = 16
    *    DISK_FULL               = 17
    *    DP_TIMEOUT              = 18
    *    FILE_NOT_FOUND          = 19
    *    DATAPROVIDER_EXCEPTION  = 20
    *    CONTROL_FLUSH_ERROR     = 21
    *    others                  = 22
    if sy-subrc <> 0.
    * MESSAGE ID SY-MSGID TYPE SY-MSGTY NUMBER SY-MSGNO
    *            WITH SY-MSGV1 SY-MSGV2 SY-MSGV3 SY-MSGV4.
    endif.
    Regards,
    Rich Heilman

  • Required help on Function Modules and Bapis

    Web portal publishing of ERS invoice letters. This involves modification in the BAPI screens to show the invoice PDF instead of printing??
    can anyone help me in fixing this issue.

    hi Anjaneyulu,
    open the t-code --> and go to menu system->status-->select the program and open the program-->
    selct the tree structure----in the left side the includes screen and function module everthing will show..
    or
    open the t-code --> and go to menu system->status-->select the program and open the program-->
    go to attributes and select the Package..
    next----
    go to se80--> enter the package --> and dispalay it shows the list of Program , include transaction function modules and bapi's under the pakage
    Regards,
    Prabhudas

  • Function module to release a work permit attached to a service order.

    Hi,
    We have a requirement of automating the process of work permit release attached to service order.
    I am looking for a function module / BAPI for releasing the work permit attached to a service order by passing service order number and permit ID/Name.
    If any of you have come accrose such one please share.
    Thanks
    Achuthanandan

    Hello Philip
    The following function modules should be useful:
       - CY_PRIMARY_SELECTION            - Function module for selection of orders for the work center
       - CY_SECONDARY_SELECTION          - Check for additional criteria
       - CR_CAPACITY_AVAILABLE_PERIODS   - Reads the available capacity from work center
       - HR_PERSON_READ_TIME_INFO        - Reads the available capacity from person (modification)
       - CY_GET_PART_CAPACITY            - used only for the first period to read backlog
       - CY_LOAD_DISTRIBUTION            - Distribution key
    Please observe that these are simple function modules, not BAPIs, That means, they were developed to be used on the SAP internal programs and they are not supported by SAP when used in custom programs.
    BR
    Caetano

  • Calling New Function Module from JAVA ISA b2b

    I need to call a new function module which accepts some parameters as input and
    returns some result parameters back as output.
    These returned value needs to be displayed on the JSP pages of ISA B2B applications.
    Can someone please guide me and provide code snippet on how to do this?
    Thanks in advance.
    Points will be awarded for all relevant and helpful answers.

    Stride,
    I did this on CRM ISA 4.0...  I used the dev and extension guide as a basis - I think the ISA 5.0 guide has the examples and tutorials in a separate document that can also be downloaded from service.sap.com.
    Here’s some info on how to do it although I can't guarantee this is the full solution or that it will work the same for ISA 5.0, and I will probably forget a lot of stuff as its been a few years since I did it!  I also can’t guarantee it is the correct way to do it – but it worked!  Basically, we built a link into the order overview page to display url’s to order tracking websites using an RFC on the backend CRM system.  Hope it helps anyway.
    1. Create RFC enabled function module in backend.
    2. Edit file backendobject-config.xml in folder project_root\b2b_z\WEB-INF\xcm\customer\modification:-
    [code] <backendobject
         xmlns:isa="com.sapmarkets.isa.core.config"
         xmlns:xi="http://www.w3.org/2001/XInclude"
         xmlns:xml="http://www.w3.org/XML/1998/namespace">
         <configs>
              <!-- customer changes in backendobject-config should be done here by extending/overwriting the base configuration-->
              <xi:include
                   href="$
    Template for backend object in customer projects
    Concrete implementation of a backend object
    This implemenation demonstrates how a backend object
    is used to communicate with the CRM system
    @see com.ao.isa.backend.boi.Z_AOFuncBackend#getOrderDeliveryTrackingData(java.lang.String)
    Interface used to communicate with a backend object
    The purpose of this interface is to hide backend implementation details
    from the business objects
    Returns a vector of Z_OrderDeliverTracking objects containing data to link
    to external delivery tracking websites
    @param orderNo The sales order document number
    @return A vector of order tracking objects
    @return
    @return
    @return
    @return
    @return
    @param string
    @param string
    @param string
    @param string
    @param string
    /modification/backendobject-config.xml#xpointer(backendobject/configs/*)"/>
              <!-- This is an example customer extension. A new Backend Object is registered in the framework using XCM extension mechanism. -->
              <!-- If you write customer extensions you should register your backend objects in the same way. -->
              <!-- Please make sure that you use the correct base configuration (e.g. crmdefault for CRM or r3default, r3pidefault for R/3) -->
              <config
                   isa:extends="../config[@id='crmdefault']">
                   <businessObject
                        type="Z_AO_Custom"
                        name="Z_AO_Custom"
                        className="com.ao.isa.backend.crm.Z_AOFuncCRM"
                        connectionFactoryName="JCO"
                        defaultConnectionName="ISAStateless"/>
              </config>
         </configs>
    </backendobject>
    [/code]
    File com.ao.isa.backend.crm.Z_AOFuncCRM.java looks like this :-
    [code] package com.ao.isa.backend.crm;
    //jco imports
    import java.util.Vector;
    import com.ao.isa.backend.boi.Z_AOFuncBackend;
    import com.ao.isa.businessobject.order.Z_OrderDeliveryTrackingItem;
    import com.sap.mw.jco.JCO;
    import com.sap.mw.jco.JCO.ParameterList;
    import com.sapmarkets.isa.core.eai.BackendException;
    import com.sapmarkets.isa.core.eai.sp.jco.BackendBusinessObjectBaseSAP;
    import com.sapmarkets.isa.core.logging.IsaLocation;
    public class Z_AOFuncCRM
         extends BackendBusinessObjectBaseSAP
         implements Z_AOFuncBackend
         // initialize logging
         private static IsaLocation log =
              IsaLocation.getInstance(Z_AOFuncCRM.class.getName());
         /* (non-Javadoc)
         public Vector getOrderDeliveryTrackingData(String orderNo)
              Vector urlData = new Vector();
              try
                   // get Java representation of function module
                   JCO.Function func =
                        getDefaultJCoConnection().getJCoFunction(
                             "Z_BAPI_CRM_ORDER_TRACKING_URLS");
                   // provide export parameters
                   ParameterList params = func.getImportParameterList();
                   params.setValue(orderNo, "ORDER_NO");
                   func.setExportParameterList(params);
                   // execute function
                   getDefaultJCoConnection().execute(func);
                   // get result table
                   JCO.Table table =
                        func.getTableParameterList().getTable("TRACKING_DATA");
                   int numRows = table.getNumRows();
                   for (int i = 0; i < numRows; i++)
                        // get row
                        table.setRow(i);
                        // create a new Z_orderdeliverytracking object
                        Z_OrderDeliveryTrackingItem trackItem =
                             new Z_OrderDeliveryTrackingItem(
                                  table.getString(0),
                                  table.getString(1),
                                  table.getString(2),
                                  table.getString(3),
                                  table.getString(4));
                        urlData.addElement(trackItem);
                        trackItem = new Z_OrderDeliveryTrackingItem();
                   return urlData;
              catch (BackendException bex)
                   // The following key has to be added to WEB-INF/classes/ISAResources.properties
                   // in order to see the exception correctly
                   log.config("ao.b2b.order.error.getOrderTrackingURLs", bex);
              return null;
    [/code]
    And file com.ao.isa.backend.boi.Z_AOFuncBackend.java looks like this:-
    [code] package com.ao.isa.backend.boi;
    //package java.ao.com.ao.isa.backend.boi;
    import java.util.Vector;
    import com.sapmarkets.isa.core.eai.sp.jco.JCoConnectionEventListener;
    public interface Z_AOFuncBackend
         public Vector getOrderDeliveryTrackingData(String orderNo);
    [/code]
    Whilst file com.ao.isa.businessobject.order.Z_OrderDeliveryTrackingItem.java looks like this:-
    [code]
    package com.ao.isa.businessobject.order;
    // Referenced classes of package com.sapmarkets.isa.businessobject.order:
    //            PaymentType
    public class Z_OrderDeliveryTrackingItem // extends SalesDocument implements OrderData
         private String deliveryDocNo;
         private String goodsIssuedDate;
         private String consignmentNo;
         private String status;
         private String url;
         public Z_OrderDeliveryTrackingItem()
         public Z_OrderDeliveryTrackingItem(
              String delDocNo,
              String GIDate,
              String consNo,
              String status,
              String url)
              this.setDeliveryDocNo(delDocNo);
              this.setGoodsIssuedDate(GIDate);
              this.setConsignmentNo(consNo);
              this.setStatus(status);
              this.setUrl(url);
         public String getConsignmentNo()
              return consignmentNo;
         public String getDeliveryDocNo()
              return deliveryDocNo;
         public String getGoodsIssuedDate()
              return goodsIssuedDate;
         public String getStatus()
              return status;
         public String getUrl()
              return url;
         public void setConsignmentNo(String string)
              consignmentNo = string;
         public void setDeliveryDocNo(String string)
              deliveryDocNo = string;
         public void setGoodsIssuedDate(String string)
              goodsIssuedDate = string;
         public void setStatus(String string)
              status = string;
         public void setUrl(String string)
              url = string;
    [/code]
    3. Edit file bom-config.xml in folder project_root\b2b_z\WEB-INF\xcm\customer\modification :-
    [code] <BusinessObjectManagers
         xmlns:isa="com.sapmarkets.isa.core.config"
         xmlns:xi="http://www.w3.org/2001/XInclude"
         xmlns:xml="http://www.w3.org/XML/1998/namespace">
         <!-- customer changes in bom-config should be done here by extending/overwriting the base configuration-->
         <xi:include
              href="$/modification/bom-config.xml#xpointer(BusinessObjectManagers/*)"/>
         <!-- This is an example Business Object Manager. It can act as template for customer written Business Object Managers -->
         <BusinessObjectManager
              name="Z_AO-BOM"
              className="com.ao.isa.businessobject.Z_AOBusinessObjectManager"
              />
    </BusinessObjectManagers>
    [/code]
    File com.ao.isa.businessobject.Z_AOBusinessObjectManager.java looks like this:-
    [code] package com.ao.isa.businessobject;
    // Internet Sales imports
    import com.sapmarkets.isa.core.businessobject.management.BOManager;
    import com.sapmarkets.isa.core.businessobject.management.DefaultBusinessObjectManager;
    import com.sapmarkets.isa.core.businessobject.BackendAware;
    Template for a custom BusinessObjectManager in customer projects
    public class Z_AOBusinessObjectManager
         extends DefaultBusinessObjectManager
         implements BOManager, BackendAware {
         // key used for the backend object in customer version of backendobject-config.xml
         public static final String CUSTOM_BOM = "Z_AO-BOM";
         // reference to backend object
         private Z_AOFunc mCustomBasket;
    constructor
         public Z_AOBusinessObjectManager() {
    Method is called by the framework before the session is invalidated.
    The implemenation of this method should free any allocated resources
         public void release() {
    Returns custom business object
         public Z_AOFunc getCustomBasket() {
              if (mCustomBasket == null) {
                   mCustomBasket = new Z_AOFunc();
                   assignBackendObjectManager(mCustomBasket);
              return mCustomBasket;
    [/code]
    And uses file com.ao.isa.businessobject.Z_AOFunc.java which looks like this:-
    [code]
    package com.ao.isa.businessobject;
    // Internet Sales imports
    import com.sapmarkets.isa.core.businessobject.BOBase;
    import com.sapmarkets.isa.core.businessobject.BackendAware;
    import com.sapmarkets.isa.core.eai.BackendObjectManager;
    import com.sapmarkets.isa.core.eai.BackendException;
    import com.sapmarkets.isa.core.logging.IsaLocation;
    // custom imports
    import com.ao.isa.backend.boi.Z_AOFuncBackend;
    import java.util.Vector;
    Template for business object in customer projects
    public class Z_AOFunc extends BOBase implements BackendAware
         // initialize logging
         private static IsaLocation log =
              IsaLocation.getInstance(Z_AOFunc.class.getName());
         private BackendObjectManager bem;
         private Z_AOFuncBackend backendAOBasket;
    Returns a reference to the backend object. The backend object
    is instantiated by the framework.
    @return a reference to the backend object
         private Z_AOFuncBackend getCustomBasketBackend()
              if (backendAOBasket == null)
                   //create new backend object
                   try
                        backendAOBasket =
                             (Z_AOFuncBackend) bem.createBackendBusinessObject(
                                  "Z_AO_Custom");
                        // the backend object is registered in customer version
                        // of backendobject-config.xml using the 'Z_AO_Custom' type
                   catch (BackendException bex)
                        // The following key has to be added to WEB-INF/classes/ISAResources.properties
                        // in order to see the exception correctly
                        log.config("ao.b2b.order.error.getOrderTrackingURLs", bex);
              return backendAOBasket;
    This method is needed when a business object has a corresponding
    backend object.
         public void setBackendObjectManager(BackendObjectManager bem)
              this.bem = bem;
    Returns a vector of url links for tracking
    @return vector of urls
         public Vector getOrderDeliveryTrackingData(String orderNo)
              // the call is delegated to the CRM aware backend object
              return getCustomBasketBackend().getOrderDeliveryTrackingData(orderNo);
    [/code]
    4. Edit file config.xml in folder project_root\b2b_z\WEB-INF to add custom actions (the section below is just the custom stuff added at the end of the file – the Z_orderTracking is the relevant one) :-
    [code] <!-- Begin of custom AO action definitions -->
         <action path="/b2b/Z_orderTracking" type="com.ao.isa.order.actions.Z_OrderTrackingAction">
              <forward name="success" path="/b2b/order/Z_orderTracking.jsp"/>
         </action>
         <action path="/catalog/Z_displaySVGPage" type="com.ao.isa.catalog.actions.Z_SVGPageAction">
              <forward name="success" path="/catalog/Z_SVG_fs.jsp"/>
         </action> [/code]
    Which points at Java file com.ao.isa.order.actions.Z_OrderTrackingAction.java which looks like this :-
    [code] package com.ao.isa.order.actions;
    // internet sales imports
    import com.sapmarkets.isa.core.BaseAction;
    import com.sapmarkets.isa.core.UserSessionData;
    // struts imports
    import org.apache.struts.action.ActionForward;
    import org.apache.struts.action.ActionMapping;
    import org.apache.struts.action.ActionForm;
    // servlet imports
    import javax.servlet.http.HttpServletRequest;
    import javax.servlet.http.HttpServletResponse;
    import javax.servlet.ServletException;
    // Internet Sales imports
    import com.ao.isa.businessobject.Z_AOBusinessObjectManager;
    import java.util.Vector;
    This action acts as a template for customer extensions
    public class Z_OrderTrackingAction extends BaseAction
    This method is called by the ISA Framework when the
    action is executed
         public ActionForward doPerform(
              ActionMapping mapping,
              ActionForm form,
              HttpServletRequest request,
              HttpServletResponse response)
              throws ServletException
              // get user session data object
              UserSessionData userSessionData =
                   UserSessionData.getUserSessionData(request.getSession());
              // gettting custom BOM
              Z_AOBusinessObjectManager myBOM =
                   (Z_AOBusinessObjectManager) userSessionData.getBOM(
                        Z_AOBusinessObjectManager.CUSTOM_BOM);
              // get the order number being processed
              String orderDocNumber = request.getParameter("orderNo");
              // pass the order number back to the page
              request.setAttribute("orderNo", orderDocNumber);
              if (orderDocNumber != null)
                   // Get a vector of delivery tracking objects from lower layers (Business Object layer =>
                   // Business Logic Service Layer)
                   Vector trackingTable =
                        myBOM.getCustomBasket().getOrderDeliveryTrackingData(
                             orderDocNumber);
                   String error = "";
                   if (trackingTable != null)
                        if (trackingTable.size() == 0)
                             error = "true";
                        else
                             error = "false";
                   else
                        error = "true";
                   request.setAttribute("errorMessage", error);
                   request.setAttribute("trackingTable", trackingTable);
              return mapping.findForward("success");
    [/code]
    5. I added the call to the function module for page orderstatusdetail.jsp in folder project_root\b2b_z\b2b\order to display a custom page Z_orderTracking.jsp in the same folder.  To do this I added a link into the HTML to call a JavaScript function that passed the current order number to the /b2b/Z_orderTracking.do actionhandler mapped in the config.xml file.
    So, in summary!  Create an RFC; define business managers for it in the XML files; create a new Strut action and supporting Java class; create all the Java class’ for the managers.
    I hope this makes some sense!
    Gareth.

  • Need of Changing Parameters in Function Module

    Hi All,
    Why we need sepearte Import and Export parameters in Function Module if the Changing Parameters
    acts as both import and export parameters.
    What is the use of using Changing Parametrs in Function Module.
    Thanks in advance.
    Sundaresan

    Hi,
    EXPORT PARAMETERS: When u r passing some value to the function, and the parameter will not be changed in the function, we use export parameter. Example: u pass parameter (a : 10) to a function, even after the function has been executed, value of a will be 10 only.
    IMPORT PARAMETER: When u require some value back from the function. u do not provide any initial value to the function. Example : u pass a parameter (b: <blank>) to the function, function returns the same import parameter as (b : 20).
    CHANGING PARAMETER: When u pass some value to the function and that function may change that value inside function, then changing parameters are used. Example: u pass parameter ( c: 30) to the function as changing parameter and function modifies this variable and return ( c: 50).
    Reward points if helpful.
    Thanks & Regards
    - Rishika Bawa

  • ABAP Function Module where-used in BI-Transformations

    Hi,
    we have developed some ABAP-Z-Function-Modules. These are used in several BI-Data-Transformations and work fine and performant.
    The problem we have now is to find out in which transformation a Function-Module is used.
    The where-used-list in SE37 doesn't report any BI-Transformations althought I check all categories.
    Got anyone a solution for our problem?
    Christian

    Hi,
    see this code for function module where used list only for transformation . i used the same code as bhaskar specified..but little modification..here u used "date_get_week" function module..
    TYPE-POOLS slis.
    DATA fcat1 TYPE slis_t_fieldcat_alv.
    DATA: BEGIN OF t_display OCCURS 0,
             targetname LIKE rstran-targetname,
             sourcename LIKE rstran-sourcename,
             tranid LIKE rstran-tranid,
             routine LIKE rstran-startroutine,
             line_no LIKE rsaabap-line_no,
             line LIKE rsaabap-line,
    END OF t_display.
    data : input(75) type c.
    DATA : input_pattern1(75) TYPE c.
    DATA : input_pattern2(75) TYPE c.
    DATA : same_source(30) TYPE c.
    **Internal table declerations**************************************
    TYPES:  BEGIN OF t_trans_lookup_finder,
             targetname TYPE rstran-targetname,
             sourcename TYPE rstran-sourcename,
             tranid TYPE rstran-tranid,
             routine TYPE rstran-startroutine,
             line_no TYPE rsaabap-line_no,
             line TYPE rsaabap-line,
    END OF t_trans_lookup_finder.
    DATA: i_lookup_finder TYPE STANDARD TABLE OF t_trans_lookup_finder,
      wa_lookup_finder TYPE t_trans_lookup_finder,
      i_trans_lookup_finder TYPE STANDARD TABLE OF t_trans_lookup_finder,
      wa_trans_lookup_finder TYPE t_trans_lookup_finder,
      i_trans_final TYPE STANDARD TABLE OF t_trans_lookup_finder,
      wa_trans_final TYPE t_trans_lookup_finder.
    DATA : i(7) TYPE n.
    DATA  old_cube(20) TYPE c VALUE ' '.
    DATA  old_source(20) TYPE c VALUE ' '.
    **Selections for update rules**************************************
    SELECT DISTINCT  targetname    sourcename  tranid        endroutine       line_no       line
           INTO TABLE i_trans_lookup_finder FROM
           rstran AS a  INNER JOIN rsaabap AS b ON aendroutine = bcodeid
                           WHERE
                           aobjvers = 'A' AND bobjvers = 'A'.
      APPEND LINES OF i_trans_lookup_finder TO i_lookup_finder.
    **Selections for Transformations(Expert routine)*******************
    SELECT DISTINCT        targetname       sourcename       tranid       expert       line_no       line
           INTO TABLE i_trans_lookup_finder FROM
           rstran AS a  INNER JOIN rsaabap AS b ON aexpert = bcodeid
                           WHERE
                           aobjvers = 'A' AND bobjvers = 'A'.
      APPEND LINES OF i_trans_lookup_finder TO i_lookup_finder.
    Edited by: Sakthi Jaganathan on May 20, 2009 6:25 PM

  • BADI or function module for updating open purchase orders

    Hi all,
    Does anyone know of a BADI or function module which can be used for updating item prices in open purchase orders?
    All helpful answers are highly appreciated!
    Regards,
    MV

    1 ) execute this program  in se38 .enter the input as transaction code  for which you want list of User
    Exit.
    REPORT z_find_userexit NO STANDARD PAGE HEADING.
    *&  Enter the transaction code that you want to search through in order
    *&  to find which Standard SAP® User Exits exists.
    *& Tables
    TABLES : tstc,     "SAP® Transaction Codes
             tadir,    "Directory of Repository Objects
             modsapt,  "SAP® Enhancements - Short Texts
             modact,   "Modifications
             trdir,    "System table TRDIR
             tfdir,    "Function Module
             enlfdir,  "Additional Attributes for Function Modules
             tstct.    "Transaction Code Texts
    *& Variables
    DATA : jtab LIKE tadir OCCURS 0 WITH HEADER LINE.
    DATA : field1(30).
    DATA : v_devclass LIKE tadir-devclass.
    *& Selection Screen Parameters
    SELECTION-SCREEN BEGIN OF BLOCK a01 WITH FRAME TITLE text-001.
    SELECTION-SCREEN SKIP.
    PARAMETERS : p_tcode LIKE tstc-tcode OBLIGATORY.
    SELECTION-SCREEN SKIP.
    SELECTION-SCREEN END OF BLOCK a01.
    *& Start of main program
    START-OF-SELECTION.
    Validate Transaction Code
      SELECT SINGLE * FROM tstc
        WHERE tcode EQ p_tcode.
    Find Repository Objects for transaction code
      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 = enlfdir-area.
            MOVE : tadir-devclass TO v_devclass.
          ENDIF.
        ENDIF.
    Find SAP® Modifications
        SELECT * FROM tadir
          INTO TABLE jtab
          WHERE pgmid    = 'R3TR'
            AND object   = 'SMOD'
            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:/(95) sy-uline.
          FORMAT COLOR COL_HEADING INTENSIFIED ON.
          WRITE:/1 sy-vline,
          2 'Exit Name',
          21 sy-vline ,
          22 'Description',
          95 sy-vline.
          WRITE:/(95) sy-uline.
          LOOP AT jtab.
            SELECT SINGLE * FROM modsapt
            WHERE sprsl = sy-langu AND
            name = jtab-obj_name.
            FORMAT COLOR COL_NORMAL INTENSIFIED OFF.
            WRITE:/1 sy-vline,
            2 jtab-obj_name HOTSPOT ON,
            21 sy-vline ,
            22 modsapt-modtext,
            95 sy-vline.
          ENDLOOP.
          WRITE:/(95) sy-uline.
          DESCRIBE TABLE jtab.
          SKIP.
          FORMAT COLOR COL_TOTAL INTENSIFIED ON.
          WRITE:/ 'No of Exits:' , sy-tfill.
        ELSE.
          FORMAT COLOR COL_NEGATIVE INTENSIFIED ON.
          WRITE:/(95) 'No User Exit exists'.
        ENDIF.
      ELSE.
        FORMAT COLOR COL_NEGATIVE INTENSIFIED ON.
        WRITE:/(95) 'Transaction Code Does Not Exist'.
      ENDIF.
    Take the user to SMOD for the Exit that was selected.
    AT LINE-SELECTION.
      GET CURSOR FIELD field1.
      CHECK field1(4) EQ 'JTAB'.
      SET PARAMETER ID 'MON' FIELD sy-lisel+1(10).
      CALL TRANSACTION 'SMOD' AND SKIP FIRST SCREEN.
    2) Second way is to go to transaction code SE93 .enter transaction code click on display.
    There you will see the package. Copy that package name.
    Go to transaction code se84
    Enhancements -customer exits-enhancementsu2014enter package there and execute.
    You will get list of exits.
    3) BAPI for PO change is
    BAPI_PO_CHANGE

  • Function module to send mail from SAP

    Can any one please tell the Function module to send mail from SAP. The scenario is like this,I have a file in local system that i have to send to a particular mail address like [email protected] through a report program.

    Hi shafiq,
    1. There is some trick involved
    in the binary files.
    2. I have made a program (and it works fantastic)
    ONLY 6 LINES FOR EMAILING
    BELIEVE ME
    ITS A FANTASTIC PROGRAM.
    IT WILL WORK LIKE OUTLOOK EXPRESS !
    3. The user is provided with
    a) file name
    b) email address to send mail
    and it sends ANY FILE (.xls,.pdf .xyz..)
    Instantaneously !
    4. Make two things first :
    1. Include with the name : ZAMI_INCLFOR_MAIL
    2. Report with the name : ZAM_TEMP147 (any name will do)
    3. Activate both and execute (2)
    4. After providing filename, email adress
    5. Code for Include :
    10.08.2005 Amit M - Created
    Include For Mail (First Req F16)
    Modification Log
    Data
    DATA: docdata LIKE sodocchgi1,
    objpack LIKE sopcklsti1 OCCURS 1 WITH HEADER LINE,
    objhead LIKE solisti1 OCCURS 1 WITH HEADER LINE,
    objtxt LIKE solisti1 OCCURS 10 WITH HEADER LINE,
    objbin LIKE solisti1 OCCURS 10 WITH HEADER LINE,
    objhex LIKE solix OCCURS 10 WITH HEADER LINE,
    reclist LIKE somlreci1 OCCURS 1 WITH HEADER LINE.
    DATA: tab_lines TYPE i,
    doc_size TYPE i,
    att_type LIKE soodk-objtp.
    DATA: listobject LIKE abaplist OCCURS 1 WITH HEADER LINE.
    FORM
    FORM ml_customize USING objname objdesc.
    Clear Variables
    CLEAR docdata.
    REFRESH objpack.
    CLEAR objpack.
    REFRESH objhead.
    REFRESH objtxt.
    CLEAR objtxt.
    REFRESH objbin.
    CLEAR objbin.
    REFRESH objhex.
    CLEAR objhex.
    REFRESH reclist.
    CLEAR reclist.
    REFRESH listobject.
    CLEAR listobject.
    CLEAR tab_lines.
    CLEAR doc_size.
    CLEAR att_type.
    Set Variables
    docdata-obj_name = objname.
    docdata-obj_descr = objdesc.
    ENDFORM. "ml_customize
    FORM
    FORM ml_addrecp USING preceiver prec_type.
    CLEAR reclist.
    reclist-receiver = preceiver.
    reclist-rec_type = prec_type.
    APPEND reclist.
    ENDFORM. "ml_customize
    FORM
    FORM ml_addtxt USING ptxt.
    CLEAR objtxt.
    objtxt = ptxt.
    APPEND objtxt.
    ENDFORM. "ml_customize
    FORM
    FORM ml_prepare USING bypassmemory whatatt_type whatname.
    IF bypassmemory = ''.
    Fetch List From Memory
    CALL FUNCTION 'LIST_FROM_MEMORY'
    TABLES
    listobject = listobject
    EXCEPTIONS
    OTHERS = 1.
    IF sy-subrc <> 0.
    MESSAGE ID '61' TYPE 'E' NUMBER '731'
    WITH 'LIST_FROM_MEMORY'.
    ENDIF.
    CALL FUNCTION 'TABLE_COMPRESS'
    IMPORTING
    COMPRESSED_SIZE =
    TABLES
    in = listobject
    out = objbin
    EXCEPTIONS
    OTHERS = 1
    IF sy-subrc <> 0.
    MESSAGE ID '61' TYPE 'E' NUMBER '731'
    WITH 'TABLE_COMPRESS'.
    ENDIF.
    ENDIF.
    Header Data
    Already Done Thru FM
    Main Text
    Already Done Thru FM
    Packing Info For Text Data
    DESCRIBE TABLE objtxt LINES tab_lines.
    READ TABLE objtxt INDEX tab_lines.
    docdata-doc_size = ( tab_lines - 1 ) * 255 + STRLEN( objtxt ).
    CLEAR objpack-transf_bin.
    objpack-head_start = 1.
    objpack-head_num = 0.
    objpack-body_start = 1.
    objpack-body_num = tab_lines.
    objpack-doc_type = 'TXT'.
    APPEND objpack.
    Packing Info Attachment
    att_type = whatatt_type..
    DESCRIBE TABLE objbin LINES tab_lines.
    READ TABLE objbin INDEX tab_lines.
    objpack-doc_size = ( tab_lines - 1 ) * 255 + STRLEN( objbin ).
    objpack-transf_bin = 'X'.
    objpack-head_start = 1.
    objpack-head_num = 0.
    objpack-body_start = 1.
    objpack-body_num = tab_lines.
    objpack-doc_type = att_type.
    objpack-obj_name = 'ATTACHMENT'.
    objpack-obj_descr = whatname.
    APPEND objpack.
    Receiver List
    Already done thru fm
    ENDFORM. "ml_prepare
    FORM
    FORM ml_dosend.
    CALL FUNCTION 'SO_NEW_DOCUMENT_ATT_SEND_API1'
    EXPORTING
    document_data = docdata
    put_in_outbox = 'X'
    commit_work = 'X' "used from rel. 6.10
    IMPORTING
    SENT_TO_ALL =
    NEW_OBJECT_ID =
    TABLES
    packing_list = objpack
    object_header = objhead
    contents_bin = objbin
    contents_txt = objtxt
    CONTENTS_HEX = objhex
    OBJECT_PARA =
    object_parb =
    receivers = reclist
    EXCEPTIONS
    too_many_receivers = 1
    document_not_sent = 2
    document_type_not_exist = 3
    operation_no_authorization = 4
    parameter_error = 5
    x_error = 6
    enqueue_error = 7
    OTHERS = 8
    IF sy-subrc <> 0.
    MESSAGE ID 'SO' TYPE 'S' NUMBER '023'
    WITH docdata-obj_name.
    ENDIF.
    ENDFORM. "ml_customize
    FORM
    FORM ml_spooltopdf USING whatspoolid.
    DATA : pdf LIKE tline OCCURS 0 WITH HEADER LINE.
    Call Function
    CALL FUNCTION 'CONVERT_OTFSPOOLJOB_2_PDF'
    EXPORTING
    src_spoolid = whatspoolid
    TABLES
    pdf = pdf
    EXCEPTIONS
    err_no_otf_spooljob = 1
    OTHERS = 12.
    Convert
    PERFORM doconv TABLES pdf objbin.
    ENDFORM. "ml_spooltopdf
    FORM
    FORM doconv TABLES
    mypdf STRUCTURE tline
    outbin STRUCTURE solisti1.
    Data
    DATA : pos TYPE i.
    DATA : len TYPE i.
    Loop And Put Data
    LOOP AT mypdf.
    pos = 255 - len.
    IF pos > 134. "length of pdf_table
    pos = 134.
    ENDIF.
    outbin+len = mypdf(pos).
    len = len + pos.
    IF len = 255. "length of out (contents_bin)
    APPEND outbin.
    CLEAR: outbin, len.
    IF pos < 134.
    outbin = mypdf+pos.
    len = 134 - pos.
    ENDIF.
    ENDIF.
    ENDLOOP.
    IF len > 0.
    APPEND outbin.
    ENDIF.
    ENDFORM. "doconv
    CODE FOR PROGRAM
    5.
    REPORT zam_temp147 .
    INCLUDE zami_inclfor_mail.
    DATA
    DATA : itab LIKE tline OCCURS 0 WITH HEADER LINE.
    DATA : file_name TYPE string.
    data : path like PCFILE-PATH.
    data : extension(5) type c.
    data : name(100) type c.
    SELECTION SCREEN
    PARAMETERS : receiver TYPE somlreci1-receiver lower case.
    PARAMETERS : p_file LIKE rlgrap-filename
    OBLIGATORY.
    AT SELECTION SCREEN
    AT SELECTION-SCREEN ON VALUE-REQUEST FOR p_file.
    CLEAR p_file.
    CALL FUNCTION 'F4_FILENAME'
    IMPORTING
    file_name = p_file.
    START-OF-SELECTION
    START-OF-SELECTION.
    PERFORM ml_customize USING 'Tst' 'Testing'.
    PERFORM ml_addrecp USING receiver 'U'.
    PERFORM upl.
    PERFORM doconv TABLES itab objbin.
    PERFORM ml_prepare USING 'X' extension name.
    PERFORM ml_dosend.
    SUBMIT rsconn01
    WITH mode EQ 'INT'
    AND RETURN.
    FORM
    FORM upl.
    file_name = p_file.
    CALL FUNCTION 'GUI_UPLOAD'
    EXPORTING
    filename = file_name
    filetype = 'BIN'
    TABLES
    data_tab = itab
    EXCEPTIONS
    file_open_error = 1
    file_read_error = 2
    no_batch = 3
    gui_refuse_filetransfer = 4
    invalid_type = 5
    no_authority = 6
    unknown_error = 7
    bad_data_format = 8
    header_not_allowed = 9
    separator_not_allowed = 10
    header_too_long = 11
    unknown_dp_error = 12
    access_denied = 13
    dp_out_of_memory = 14
    disk_full = 15
    dp_timeout = 16
    OTHERS = 17.
    path = file_name.
    CALL FUNCTION 'PC_SPLIT_COMPLETE_FILENAME'
    EXPORTING
    complete_filename = path
    CHECK_DOS_FORMAT =
    IMPORTING
    DRIVE =
    EXTENSION = extension
    NAME = name
    NAME_WITH_EXT =
    PATH =
    EXCEPTIONS
    INVALID_DRIVE = 1
    INVALID_EXTENSION = 2
    INVALID_NAME = 3
    INVALID_PATH = 4
    OTHERS = 5
    ENDFORM. "upl
    regards,
    amit m.

  • Function Module to get a work center's capacity requirements (load) within a given period

    Hi all experts,
    Currently I’m doing a capacity summary report similar to CM01, but with a summarized capacity availability and loading for a period.
    Selection Parameters: Work center range from and to, Period from and to
    List Format: Work Center, Avail Capacity, Loaded Capacity, Free Capacity, Load %
    I have found a standard function module (FM) to get work center's available capacity for a period, but still facing the challenge to find a FM to get a work center’s capacity requirements (load) in a period.
    I have read through all the related threads from the web, and tested the recommended FMs, but still cannot get a right result.
    Please help to provide some leads for a FM or the logic.
    Best Regards
    Philip

    Hello Philip
    The following function modules should be useful:
       - CY_PRIMARY_SELECTION            - Function module for selection of orders for the work center
       - CY_SECONDARY_SELECTION          - Check for additional criteria
       - CR_CAPACITY_AVAILABLE_PERIODS   - Reads the available capacity from work center
       - HR_PERSON_READ_TIME_INFO        - Reads the available capacity from person (modification)
       - CY_GET_PART_CAPACITY            - used only for the first period to read backlog
       - CY_LOAD_DISTRIBUTION            - Distribution key
    Please observe that these are simple function modules, not BAPIs, That means, they were developed to be used on the SAP internal programs and they are not supported by SAP when used in custom programs.
    BR
    Caetano

Maybe you are looking for

  • Problem with opening doc. files in pages '09

    Hello, can anybody help me, ever since i installed " snow leopard" v10.6.2, pages '09 doesn't open doc. files ( word ) anymore. Even documents produced in pages en ""saved as" a word document can't be opened again. Keep receiving pop up whit message

  • Return array value based on selection criteria

    I have one data field that holds text data similar to below: "Meeting Room 1 (Projector), Meeting Room 2 (Whiteboard), Meeting Room 3 (Video Conferencing)" "Meeting Room 3 (LCD Display), Meeting Room 1 (Video Conferencing), Meeting Room 2 (Whiteboard

  • Error: Set type Z contains multiple-value attributes

    Hi forum, I have a problem when i try to assign a set type with the same value but diferent name on another set type to the same product category. This is the detail of the error but i dont know where i have to set this indicator: If you set this ind

  • Edit and save without reencoding?

    I have a bunch of lectures in mp4 format which I need to add to add identical intro/outro sections to. I do that in QTPro, and save - nice and quick and no reencoding. Unfortunately it saves it as a .mov instead of .mp4, and the only way I've found o

  • IBM OS ISSUE: SYSTEM HANG WITH JFS2 AND HEAVY LOAD

    제품 : ORACLE SERVER 작성날짜 : 2004-11-24 IBM OS ISSUE: SYSTEM HANG WITH JFS2 AND HEAVY LOAD ================================================== PURPOSE 이 문서는 IBM AIX5L OS 상에서 Arch Process가 online redo log 를 release하지 못하고 OS의 kill 명령으로 kill조차 되지 않을 경우 조치 방