Transport of ALE Interfaces for Function Module

hi,
i have a Z function module, Z business object type and z message type identifying ALE interface.
i need to move all the objects from Dev R3 to QA R3. What are the steps involved?
Thanks,
Tirumal

Hi
While creating a Z function module it will ask you for a change request number. attach it to change request and migrate it to Production.
In case your function group to which you assigned this function module is open then the CTS number will by default come in CTS number field if any exists for the function group. You can now migrate your CTS to production.
Now after assinging function module to a CTS you can be sure that your program for function module and FM both will be migrated. For confirmation you can now check attribuutes section in your function module. it will list the SAP program associated with Func mod , function group to which function module is assigned , package and include programs which needs to be migrated. So you only need to attach a CTS and migrate your CTS.
You can create a Change erquest (CTS) in SE01 or SE10 transactions.
Regards,
Amit.
Please reward any help
Message was edited by: amit bhadauria
Message was edited by: amit bhadauria

Similar Messages

  • Interface for function module is incorrect in ALE inbound processing

    I have created a custom function module and i assign this FM
    to the custom process code for ALE INBOUND process and  i already assigned this Fm to message type and basictype in Tcode we57.i have assigned this process code to the msgtype in WE20 also.
    But while trying to execute the inbound function module through WE19, I get an error message: "interface for the function module is incorrect". What could be wrong?

    Hi
    if you ibserve clearly all the FM's will be having same parameters. Your function module also should contain same interface. Ensure that your FM does contain the same.
    *"  IMPORTING
    *"     VALUE(INPUT_METHOD) LIKE  BDWFAP_PAR-INPUTMETHD
    *"     VALUE(MASS_PROCESSING) LIKE  BDWFAP_PAR-MASS_PROC
    *"  EXPORTING
    *"     VALUE(WORKFLOW_RESULT) LIKE  BDWF_PARAM-RESULT
    *"     VALUE(APPLICATION_VARIABLE) LIKE  BDWF_PARAM-APPL_VAR
    *"     VALUE(IN_UPDATE_TASK) LIKE  BDWFAP_PAR-UPDATETASK
    *"     VALUE(CALL_TRANSACTION_DONE) LIKE  BDWFAP_PAR-CALLTRANS
    *"  TABLES
    *"      IDOC_CONTRL STRUCTURE  EDIDC
    *"      IDOC_DATA STRUCTURE  EDIDD
    *"      IDOC_STATUS STRUCTURE  BDIDOCSTAT
    *"      RETURN_VARIABLES STRUCTURE  BDWFRETVAR
    *"      SERIALIZATION_INFO STRUCTURE  BDI_SER
    *"  EXCEPTIONS
    *"      WRONG_FUNCTION_CALLED

  • Making BDBG Easy (Generate ALE Interface for BAPI)

    <b>Making BDBG Easy</b>
    Transaction BDBG is used to generate an ALE interface for SAP standard or custom developed BAPIs. Once a BAPI is given an ALE interface, it can be used in LSMW for migrating data or just as another IDoc. Quite a few SAP standard BAPIs cannot be used in LSMW as they do not come with an ALE interface. OSS note Documentation on Transaction BDBG (note number 125776) details the necessary steps to use transaction BDBG but it does not comprehensively cover the technical issues that one may encounter in order to create an ALE interface.
    BAPI_ACTIVITYCRM_CREATEMULTI, which is used to create Activities in CRM, will be used to illustrate a step-by-step approach to using transaction BDBG.
    Go to Object Navigator (transaction SE80) and create a bespoke function group, we will call ours Z_CRM_ACTIVITY. Activate it.
    Then go to Function Builder (transaction SE37), and copy the BAPI to a bespoke function module. Thus, BAPI_ACTIVITYCRM_CREATEMULTI is copied to Z_BAPI_ACTIVITYCRM_CREATEMULTI and assigned to the function group that we created in the previous step – Z_CRM_ACTIVITY. Edit the bespoke function module, go to the Attributes tab, and release the function module (<i>Menu Path – Function Module >> Release >> Release</i>). Now activate the function module.
    IDoc segment types have a maximum length of 27 characters. Each associated type for the Parameters (tabs – Import, Export, Changing, and Tables) in a BAPI becomes a segment in the IDoc. Thus, an associated type in a BAPI cannot exceed 27 characters. During the ALE generation process anything beyond the 27th character gets truncated. This leads to more than 1 segment being called the same, and as a result an error occurs when the ALE interface is generated in the final step as an IDoc cannot have the same segment twice.
    Eg: Table parameters DATE and DATEX correspond to types BAPIBUS20001_APPOINTMENT_INS (28 characters long) and BAPIBUS20001_APPOINTMENT_INSX (29 characters) respectively.
    Also, a developer does not have the option to reduce the segment name during the ALE generation process. So in order to have an error free ALE generation happening in the end, bespoke associated types need to be created and assigned to our bespoke BAPI.
    Go to ABAP Dictionary (transaction SE11), and create ZXXXXXXXXXXXXXXXX data types for the structures in the BAPI that are greater than 27 characters. Activate all these bespoke structures.
    Bespoke structures – ZBAPIBUS20001_APP_INS and ZBAPIBUS20001_APP_INSX can be used in lieu of the standard SAP ones for parameters DATE and DATEX. The same correction method needs to take place for other excessively long types, like the types being referenced by LOCATION and LOCATIONX.
    Go to Business Object Builder (transaction SWO1). A search for Activity as the short description produces a few hits. After examining all the objects returned in the hit, we see that BAPI_ACTIVITYCRM_CREATEMULTI belongs to 2 Business Objects - BUS2000110 (CRM Activity) and BUS2000126 (CRM Business Activity).
    Copy either of these objects to a bespoke object ZXXXXXXXXX, we will copy BUS2000110 and rename it to ZBUS200010, program RBUS2000110 should also be copied to a Z version (ZRBUS2000110), and the object name can be changed to Company Name (eg: XXX) followed by ActivityCRM (XXXActivityCRM).
    Now we edit our bespoke object, and create a method for it by placing the mouse cursor on methods in the object type tree and clicking the create button on the menu bar.
    A pop-up appears on the screen with the following text –
    <i>Create with function module
    as template? </i>         
    After clicking on Yes, another pop-up asks for a function module to be entered, enter the bespoke function module Z_BAPI_ACTIVITYCRM_CREATEMULTI here and click the tick button.
    Accept all the default values in the next pop-up – Create Method: Method Properties, and do the same for the next pop-up – Create Method: Create Parameters. In the next pop-up click Yes to the question –
    <i>Method ZBAPIACTIVITYCRMCREATEMULTI not
    yet implemented                       
    Do you want to generate a template    
    automatically for the missing section?</i>
    Double-click on the newly created method and go to the ABAP tab, the Function Module option will be selected as the default, make the API function as the default and click OK. Generate the business object.
    Now, click on the method of the object and release the method (<i>Menu Path – Edit >> Change Release Status >> Object Type Component >> To Released</i>). Double-click on the method to confirm that the Status is released.
    Save all the changes made, and Back out of the Edit mode and go the main Business Object Builder screen. Re-generate the business object. First implement, then release the main object ZBUS200010 (<i>Menu Path – Object Type >> Change Release Status To >> Implemented, then follow the same menu path and click on Released</i>).
    Go to the BAPI Explorer (transaction BAPI), click on the filter icon on the menu bar, and select radiobutton – All. Click on the alphabetical tab. Look for XXXActivityCRM in the list. Release status should be Released for this object.     
    Now we should be able to generate the ALE interface for the BAPI. Execute transaction BDBG, enter the bespoke object (ZBUS200010), do a drop down on the method field and select the bespoke method from the list. Click on the create button on the menu bar. In the first pop-up accept Message Type ZBAPIACTIVITYCRM and click OK. In the next pop-up the following values should be there by default –
    IDoc type – ZBAPIACTIVITYCRM01,
    ALE Outbound Processing
    Function Module – ZZ_ALE_ACTIVITYCRM_CREATEMULTI,
    Function Group – Z_CRM_ACTIVITY, and
    ALE Inbound Processing
    Function Module – ZIDOC_INPUT_ZBAPIACTIVITYCRM,
    Function Group – Z_CRM_ACTIVITY.
    The option – Call in update task – should be ticked.
    Now our BAPI has an ALE Interface to it and can be used in conjunction with either the BAPI or IDoc option in LSMW. The default values for an IDoc Inbound Processing should be maintained in order to use the bespoke BAPI / IDoc.

    Great

  • How to log input parameters for Function Modules?

    Hi,
    I need to create a Logging system to trace input parameters for function modules.
    The log functionality could be done by developing a class method or a function module (For example 'write_log'), and calling it within each function module that I want to log. The 'write_log' code should be independent from the interface of the Function Module that I want to log.
    For example, I'd like to write a function/class method that can log both these functions modules:
    Function DummyA
       Input parameters: A1 type char10, A2 type char10.
    Function DummyB
       Input parameters: B1 type char20, B2 type char20, B3 type char20, B4 type Z_MYSTRUCTURE
    Now the questions...
    - Is there a "standard SAP" function that provide this functionality?
    - If not, is there a system variable in which I can access runtime all parameters name, type and value for a particular function module?
    - If not, how can I loop at Input parameters in a way that is independent from the function module interface?
    Thank you in advance for helping!

    check this sample code. here i am capturing only parameters (import) values. you can extend this to capture tables, changin, etc.
    FUNCTION y_test_fm.
    *"*"Local Interface:
    *"  IMPORTING
    *"     REFERENCE(PARAM1) TYPE  CHAR10
    *"     REFERENCE(PARAM2) TYPE  CHAR10
    *"     REFERENCE(PARAM3) TYPE  CHAR10
      DATA: ep TYPE STANDARD TABLE OF rsexp ,
            ip TYPE STANDARD TABLE OF rsimp ,
            tp TYPE STANDARD TABLE OF rstbl ,
            el TYPE STANDARD TABLE OF rsexc ,
            vals TYPE tihttpnvp ,
            wa_vals TYPE ihttpnvp ,
            wa_ip TYPE rsimp .
      FIELD-SYMBOLS: <temp> TYPE ANY .
      CALL FUNCTION 'FUNCTION_IMPORT_INTERFACE'
        EXPORTING
          funcname                 = 'Y_TEST_FM'
    *   INACTIVE_VERSION         = ' '
    *   WITH_ENHANCEMENTS        = 'X'
    *   IGNORE_SWITCHES          = ' '
    * IMPORTING
    *   GLOBAL_FLAG              =
    *   REMOTE_CALL              =
    *   UPDATE_TASK              =
    *   EXCEPTION_CLASSES        =
        TABLES
          exception_list           = el
          export_parameter         = ep
          import_parameter         = ip
    *   CHANGING_PARAMETER       =
          tables_parameter         = tp
    *   P_DOCU                   =
    *   ENHA_EXP_PARAMETER       =
    *   ENHA_IMP_PARAMETER       =
    *   ENHA_CHA_PARAMETER       =
    *   ENHA_TBL_PARAMETER       =
    *   ENHA_DOCU                =
       EXCEPTIONS
         error_message            = 1
         function_not_found       = 2
         invalid_name             = 3
         OTHERS                   = 4
      IF sy-subrc = 0.
        LOOP AT ip INTO wa_ip .
          MOVE: wa_ip-parameter TO wa_vals-name .
          ASSIGN (wa_vals-name) TO <temp> .
          IF <temp> IS ASSIGNED .
            wa_vals-value = <temp> .
          ENDIF .
          APPEND wa_vals TO vals .
        ENDLOOP .
      ENDIF.
    ENDFUNCTION.

  • RFC Lookup error :No RFC authorization for function module

    Hi All,
    I have created RFC in the PI system and enabled it as remote. I am working on PI7.1
    I have imported RFC into Repository.But when i am trying to execute RFC lookup function in the graphical mapping I am getting No RFC authorization for function module error.
    Unhandled RFC exception: <rfc:Z_MAIL_LOOKUP.Exception xmlns:rfc="urn:sap-com:document:sap:rfc:functions"><Name>RFC_ERROR_SYSTEM_FAILURE</Name><Text>No RFC authorization for function module Z_MAIL_LOOKUP.</Text><Message><ID>RFC_ERROR_SYSTEM_FAILURE</ID><Number>341</Number></Message><Attributes><V1>RFC_NO_AUTHORITY</V1></Attributes></rfc:Z_MAIL_LOOKUP.Exception> com.sap.aii.mapping.api.StreamTransformationException: Unhandled RFC exception: <rfc:Z_MAIL_LOOKUP.Exception xmlns:rfc="urn:sap-com:document:sap:rfc:functions"><Name>RFC_ERROR_SYSTEM_FAILURE</Name><Text>No RFC authorization for function module Z_MAIL_LOOKUP.</Text><Message><ID>RFC_ERROR_SYSTEM_FAILURE</ID><Number>341</Number></Message><Attributes><V1>RFC_NO_AUTHORITY</V1></Attributes></rfc:Z_MAIL_LOOKUP.Exception> at com.sap.aii.mappingtool.flib7.RfcLookup.cacheMore(RfcLookup.java:95) at com.sap.aii.mappingtool.tf7.rt.AMultiResIterator$MultiOutIterator.gotoNextContext(AMultiResIterator.java:95) at com.sap.aii.mappingtool.tf7.AMappingProgram.processNode(AMappingProgram.java:315) at com.sap.aii.mappingtool.tf7.AMappingProgram.processNode(AMappingProgram.java:406) at com.sap.aii.mappingtool.tf7.AMappingProgram.start(AMappingProgram.java:496) at com.sap.aii.mappingtool.tf7.Transformer.start(Transformer.java:133) at com.sap.aii.mappingtool.tf7.AMappingProgram.transform(AMappingProgram.java:626) at com.sap.aii.ibrep.server.mapping.exec.ExecuteXiMappingCommand.transformInternal(ExecuteXiMappingCommand.java:197) at com.sap.aii.ibrep.server.mapping.exec.ExecuteXiMappingCommand.execute(ExecuteXiMappingCommand.java:94) at com.sap.aii.ib.server.mapping.exec.CommandManager.execute(CommandManager.java:43) at com.sap.aii.ibrep.server.mapping.ServerMapService.execute(ServerMapService.java:40) at com.sap.aii.ibrep.server.mapping.MapServiceBean.execute(MapServiceBean.java:40) at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39) at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25) at java.lang.reflect.Method.invoke(Method.java:585) at com.sap.engine.services.ejb3.runtime.impl.RequestInvocationContext.proceedFinal(RequestInvocationContext.java:43) at com.sap.engine.services.ejb3.runtime.impl.AbstractInvocationContext.proceed(AbstractInvocationContext.java:166) at com.sap.engine.services.ejb3.runtime.impl.Interceptors_StatesTransition.invoke(Interceptors_StatesTransition.java:19) at com.sap.engine.services.ejb3.runtime.impl.AbstractInvocationContext.proceed(AbstractInvocationContext.java:177) at com.sap.engine.services.ejb3.runtime.impl.Interceptors_Resource.invoke(Interceptors_Resource.java:71) at com.sap.engine.services.ejb3.runtime.impl.AbstractInvocationContext.proceed(AbstractInvocationContext.java:177) at com.sap.engine.services.ejb3.runtime.impl.Interceptors_Transaction.doWorkWithAttribute(Interceptors_Transaction.java:38) at com.sap.engine.services.ejb3.runtime.impl.Interceptors_Transaction.invoke(Interceptors_Transaction.java:22) at com.sap.engine.services.ejb3.runtime.impl.AbstractInvocationContext.proceed(AbstractInvocationContext.java:177) at com.sap.engine.services.ejb3.runtime.impl.AbstractInvocationContext.proceed(AbstractInvocationContext.java:189) at com.sap.engine.services.ejb3.runtime.impl.Interceptors_StatelessInstanceGetter.invoke(Interceptors_StatelessInstanceGetter.java:16) at com.sap.engine.services.ejb3.runtime.impl.AbstractInvocationContext.proceed(AbstractInvocationContext.java:177) at com.sap.engine.services.ejb3.runtime.impl.Interceptors_SecurityCheck.invoke(Interceptors_SecurityCheck.java:21) at com.sap.engine.services.ejb3.runtime.impl.AbstractInvocationContext.proceed(AbstractInvocationContext.java:177) at com.sap.engine.services.ejb3.runtime.impl.Interceptors_ExceptionTracer.invoke(Interceptors_ExceptionTracer.java:16) at com.sap.engine.services.ejb3.runtime.impl.AbstractInvocationContext.proceed(AbstractInvocationContext.java:177) at com.sap.engine.services.ejb3.runtime.impl.DefaultInvocationChainsManager.startChain(DefaultInvocationChainsManager.java:133) at com.sap.engine.services.ejb3.runtime.impl.DefaultEJBProxyInvocationHandler.invoke(DefaultEJBProxyInvocationHandler.java:164) at $Proxy1005_10002.execute(Unknown Source) at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39) at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25) at java.lang.reflect.Method.invoke(Method.java:585) at com.sap.engine.services.rmi_p4.P4DynamicSkeleton.dispatch(P4DynamicSkeleton.java:234) at com.sap.engine.services.rmi_p4.DispatchImpl._runInternal(DispatchImpl.java:351) at com.sap.engine.services.rmi_p4.server.ServerDispatchImpl.run(ServerDispatchImpl.java:70) at com.sap.engine.services.rmi_p4.P4Message.process(P4Message.java:62) at com.sap.engine.services.rmi_p4.P4Message.execute(P4Message.java:37) at com.sap.engine.services.cross.fca.FCAConnectorImpl.executeRequest(FCAConnectorImpl.java:872) at com.sap.engine.services.rmi_p4.P4Message.process(P4Message.java:53) at com.sap.engine.services.cross.fca.MessageReader.run(MessageReader.java:58) at com.sap.engine.core.thread.execution.Executable.run(Executable.java:108) at com.sap.engine.core.thread.execution.CentralExecutor$SingleThread.run(CentralExecutor.java:304) Runtime exception when processing target-field mapping /ns0:MT_FileDummy/File; root message: Unhandled RFC exception: <rfc:Z_MAIL_LOOKUP.Exception xmlns:rfc="urn:sap-com:document:sap:rfc:functions"><Name>RFC_ERROR_SYSTEM_FAILURE</Name><Text>No RFC authorization for function module Z_MAIL_LOOKUP.</Text><Message><ID>RFC_ERROR_SYSTEM_FAILURE</ID><Number>341</Number></Message><Attributes><V1>RFC_NO_AUTHORITY</V1></Attributes></rfc:Z_MAIL_LOOKUP.Exception>
    13:42:37 End of test
    Edited by: Rams on Apr 17, 2009 1:43 PM

    Hi! Rams,
    I think the issue is related to Authentification Issue..Even though u did correctly please check once the below
    1) Check any Typo Erros are there while configuring or giving names in Lookups.
    2) please check Authorizations like ID and PWD and Sufficient Roles
    3) Also please check did u given paramters correctly while doing RFC look up I mean paramers , Binding parameters and RFC channel name and adapter type or Simple type it must be an  adapter
    4) In ID part while configuring Interface determinaition you need to give your RFC look Up name there also..Hence check whether u given or not if yes correctly or not
    5) Also remember one thing if your scenario is correct mostly you can know the result in mapping itself it seems while testing Message mapping and Interface mappings give your RFC look up paramters in the parameters tab present in TEST tab and later in Document tab give Input...and execute it works if it doesn;t works and if there is an issue with RFC you can get there only..ok
    Also go through the below document::
    [https://www.sdn.sap.com/irj/scn/go/portal/prtroot/docs/library/uuid/20befc9a-aa72-2b10-ae9b-b0988791d457]
    I hope this will give u brief idea...
    Also check with basis while taking SAP_ALL authorization so that first u ill came to know whether issue is related to authentification or RFC module itself remote enabled and also do SXI_CACHE also ocne to refresh ESR and ID objects..
    Regards::
    Amar Srinivas Eli

  • Interface for function *** is incorrect

    Hi!
    I want to test the inbound function module in we19, but it says:
    "Interface for function EXIT_SAPLVEDF_002 is incorrect"
    the same with other FM:
    "Interface for function IDOC_OUTPUT_INVOIC is incorrect"
    Will reward,
    Mindaugas

    Hi Mindaugas,
    EXIT_SAPLVEDF_002 is not an IDOC inbound interface function
    IDOC_OUTPUT_INVOIC is for outbound
    The function must be configured for the message type, check transaction WE57 to find out which function module is the right one.
    Try F4 on FM in WE19, this will give you the FMs configured for your IDOC.
    Regards,
    Clemens

  • What are  the input parameters for Function Module

    Dear Experts,
    I want to generate a Sales Tax returns report,those fields are not available in my existing Datasources.
    For that i want to write a Generic Datasource with Function Module.
    audat
    bukrs
    vkorg
    vtweg
    spart
    aurat
    auart
    netwr
    mwsbp
    kschl zedp(consition type)
    kschl zvat(condition type)
    ksch   zcst(condition type)
    matkl     material group
    Here what are the Input parameters for Function Module.
    Thanks in Advance.
    Srinivasan.

    Srinivasan-
    For creating a Generic extractor based on a FM, you first of all need to know what is going to be your structure.. i.e. what all fields you need to pull from what all tables. A functional consultant may help you identify the exact DB tables.
    Once you know them, hand over the requirement and the pdf mentioned by Krishna to the ABAP guy, he would be able to take this up further.
    Also decide 1st whether you would be using a full load or delta. There is a slight difference in the way they are built.
    Let me know how it goes.
    -Bhushan.

  • Formal error: Invalid calling sequence for function modules

    Hi All,
    I have developed a function module for FQEVENT 620 Payment: Transfer Line Items for Clearing.
    The clearing works fine.
    After clearing the open items i need to post an FI-CA Document(BAPI : BAPI_CTRACDOCUMENT_CREATE) for each open item(cleared item)
    I have used the bapi : BAPI_CTRACDOCUMENT_CREATE in the same function module that i have developed for FQEVENT 620 Payment: Transfer Line Items for Clearing.Here i am getting an error "Formal error: Invalid calling sequence for function modules".
    So please let me know where i can use this bapi to post fi-ca document.Is there a BAdi or Enhancement Spot where i can use this BAPI or tell me what should i do to overcome this error.
    Regards
    Venkat

    Venkat:
    While I am confused about your business process - creating an open item when clearing one seems strange.  Look into event 0020 which is called after documents are posted - it may present the opportunity to post process additional documents.
    regards,
    bill.

  • Alternative for  Function module 'F4_CHOOSE_MCID' in ECC 5.0?

    Hi,
    Can any one tell me the Alternative for  Function module <b>'F4_CHOOSE_MCID'</b> in ECC 5.0?
    Helpful answers will be rewarded.
    Thanks
    Kiran

    Hi,
    Please use this FM UMC_NOTIF_SEND_EMAIL to send an email in ECC 5.0.
    Regards,
    Ferry Lianto

  • Alternative for  Function module 'IDOC_CONFIGURE_0001'

    Hi,
    Can anyone tell me the alternative for  Function module <b>'IDOC_CONFIGURE_0001'</b>. This is obsolute in ECC 5.0
    Thanks
    Kiran

    Hi Kiran,
    Please try this FM.
    DDIF_FIELDINFO_GET
    Regards,
    Ferry Lianto

  • Looking for function module to update User data

    Hi All,
    I'm looking for function module/base table to update data into User (User-Specific Data) data. You can notice it under PRTE t.code. Thank you.
    Regards
    Kishore

    To Read: HRTRV_IF_GET_TRIP
    To Modify: HRTRV_IF_MODIFY_TRIP
    Please be aware that these FMs are not released for customers, i.e. you won't get any support for them.
    EDIT: Since you are dealing with Structure USER/PTK99, maybe the document I created is of interest to you: Adding fields in Travel WDA Applications
    Cheers, Lukas
    Message was edited by: Lukas Weigelt

  • Search help(f4)  for function module input

    can we create a serch help for  function module input giving process

    Hello basichodary,
    You can encapsulate the function module within a program.  Include the search help in a parameter statement in the calling program and pass the parameter to the function module.  For example, suppose you want to have field i_carrid to have a search help.  Use the following code. 
    report  call_function_module.
    parameters p_carrid type s_carr_id matchcode object demo_f4_de.
    call function 'FUNCTION_MODULE'
       exporting
          i_carrid    = p_carrid
    Kind Regards,
    Rae Ellen Woytowiez

  • No RFC authorization for function module

    Hi Experts,
    I am working on PI 7.3, doing a idoc to jdbc scenario by using the AEX(Advance Adapter Engine Extended).
    I created Integrated Configuration, in tab "Inbound Processing" pointed IDoc_AAE sender channel etc...
    While doing the configuration testing i am getting the below error "No RFC authorization for function module IDOCTYPE_READ_COMPLETE."
    Messages fails in tRFC.
    What can i do, to solve this problem?
    Thanks & Regards
    Stanislav

    I ordered the right to RFC-connect.
    The problem was this: in RFC-connect, in Destination(in NWA), you must specify a username, who have permission to read idoc-metadata (from ERP).
    More about settings AAE, you may read here http://scn.sap.com/community/pi-and-soa-middleware/blog/2010/10/21/pixi-pi-73-new-java-based-idoc-adapters-configuration-sender-receiver--teaser
    Sorry for my bad English.
    Thanks all.

  • Tcode BDBG - Generate ALE Interface for BAPI

    Hi All,
    I'm trying to generate an ALE interface for the BAPI - BAPI_BUSPROCESSND_CREATEMULTI for my LSMW project, for which I have created a bespoke object in SWO1 (ZBUS), but each time I try to generate the ALE interface for the BAPI I get the error as follows -
    Segment Z1BPBUS20001_HEADER_INS is used multiple times in IDoc types
    Message no. EA799
    Diagnosis
    Segment type Z1BPBUS20001_HEADER_INS is used multiple times in the IDoc type. A segment type may only be used once in each IDoc type.
    I agree, segment BAPIBUS20001_HEADER_INS is used more than once in BAPI_BUSPROCESSND_CREATEMULTI for the HEADER and CREATED_PROCESS tables, so is there any alternate solution to it?
    I have also tried running BDBG for BAPI_ACTIVITYCRM_CREATEMULTI, and I get athe same error message as above for the segment - BAPIBUS20001_APPOINTMENT_INS - but I cannot see this segment being used anywhere else except for tables DATE.
    Kind regards,
    Arijit Das

    Hi Suresh,
    thanks for your reply.
    Method of BAPI has not been deleted,
    but message type, idoc type and FM for Outbound processing.
    These objects are within SAP namespace, so recreation will not work.
    Regards
    rea

  • Creating Includes for Function Modules

    Hi Experts,
    Can you please let me know how to create includes for function modules.
    I came across this in a standard include program, which was generated by a function library. The includes inside this program where linked to the function modules (when I double clicked on them).
    Please let me know how to create it.
    Thanks in advance !
    Regards,
    Anand Patil.

    Hi,
    have a look at the code for better understanding
    Declaration of Workareas                                             *
      DATA: lwa_e1bp2017_gm_item_create TYPE e1bp2017_gm_item_create,
            lwa_data         TYPE edidd, " Work area for IDOC
            lwa_control      TYPE edidc. " Work Area for control rec
    Read the control data information of idoc.
      loop at idoc_contrl INTO lwa_control Where mestyp = lc_mbgmcr.
    Extract the data from the segments.
        LOOP AT idoc_data INTO lwa_data
        WHERE docnum = lwa_control-docnum and
              segnam = lc_item_create.
    *->> Set the tabix of the internal table
          lv_index = sy-tabix.
    Move the Material Document Item Segment data
          MOVE lwa_data-sdata TO lwa_e1bp2017_gm_item_create.
    Modify the material document item data  internal table
          PERFORM sub_modify_idocdata changing lwa_e1bp2017_gm_item_create.
    *->> set the changed values to the IDOC SDATA
          MOVE  lwa_e1bp2017_gm_item_create TO lwa_data-sdata.
    *->> Modify the table
          MODIFY idoc_data FROM lwa_data index lv_index.
    Clear the Work areas
          CLEAR : lwa_data,
                  lwa_e1bp2017_gm_item_create.
        ENDLOOP.                                     "LOOP AT t_idoc_data
    Call the BAPI function module to create the
    appropriate Material Document
        CALL FUNCTION 'BAPI_IDOC_INPUT1'
          EXPORTING
            input_method          = input_method
            mass_processing       = mass_processing
          IMPORTING
            workflow_result       = workflow_result
            application_variable  = application_variable
            in_update_task        = in_update_task
            call_transaction_done = call_transaction_done
          TABLES
            idoc_contrl           = idoc_contrl
            idoc_data             = idoc_data
            idoc_status           = idoc_status
            return_variables      = return_variables
            serialization_info    = serialization_info
          EXCEPTIONS
            wrong_function_called = 1
            OTHERS                = 2.
        IF sy-subrc = 1.
          RAISE wrong_function_called.
        ENDIF.
      endloop.
    ENDFUNCTION.
    here when we write the statment
    PERFORM sub_modify_idocdata changing lwa_e1bp2017_gm_item_create and double click on sub_modify_idocdata .
    it will create a include with the name "LZDTSINT052F_GPOMS_GMF01 ".
    now we can write the FORM ..END FORM In this inculde.like this.
    ***INCLUDE LZDTSINT052F_GPOMS_GMF01 .
    *&      Form  sub_modify_idocdata
    Modify the material document item data  internal table
    FORM sub_modify_idocdata
    CHANGING pwa_e1bp2017_gm_item_create TYPE e1bp2017_gm_item_create.
    contant declaration
      CONSTANTS: lc_261(3) TYPE c VALUE '261'.
      DATA : lv_aplzl LIKE resb-aplzl,
             lv_aufpl LIKE resb-aufpl,
             lv_subrc LIKE sy-subrc,
             lv_charg LIKE resb-charg,
             lv_uom LIKE pwa_e1bp2017_gm_item_create-entry_uom.
      CLEAR: pwa_e1bp2017_gm_item_create-reserv_no,
             pwa_e1bp2017_gm_item_create-res_item.
    *->> Get SAP storage bin & Storage type from the Z table
      SELECT lgtyp lgpla
        INTO (pwa_e1bp2017_gm_item_create-stge_type,
              pwa_e1bp2017_gm_item_create-stge_bin)
         UP TO 1 ROWS
        FROM zdtsint050_sttyp
         WHERE zstorage_typ = pwa_e1bp2017_gm_item_create-stge_type
          AND  zstorage_bin = pwa_e1bp2017_gm_item_create-stge_bin.
      ENDSELECT.
      IF sy-subrc NE 0.
        CLEAR: pwa_e1bp2017_gm_item_create-stge_type,
               pwa_e1bp2017_gm_item_create-stge_bin.
      ENDIF.
      PERFORM get_oper CHANGING pwa_e1bp2017_gm_item_create.
    Get the Reservation number and Reservation item number
    basing on the idoc data.
      SELECT rspos werks lgort
             INTO (pwa_e1bp2017_gm_item_create-res_item,
                  pwa_e1bp2017_gm_item_create-plant,
                     pwa_e1bp2017_gm_item_create-stge_loc)
             FROM resb
             UP TO 1 ROWS
             WHERE rsnum = pwa_e1bp2017_gm_item_create-reserv_no
             AND   matnr = pwa_e1bp2017_gm_item_create-material
             AND   charg = pwa_e1bp2017_gm_item_create-batch
             AND   aufnr = pwa_e1bp2017_gm_item_create-orderid
             AND   vornr = pwa_e1bp2017_gm_item_create-activity
             AND   bwart = lc_261.
      ENDSELECT.
      IF sy-subrc <> 0.
    Start of insertion for R31K993797
        CLEAR lv_charg.
        SELECT rspos werks lgort
             INTO (pwa_e1bp2017_gm_item_create-res_item,
                  pwa_e1bp2017_gm_item_create-plant,
                     pwa_e1bp2017_gm_item_create-stge_loc)
             FROM resb
             UP TO 1 ROWS
             WHERE rsnum = pwa_e1bp2017_gm_item_create-reserv_no
             AND   matnr = pwa_e1bp2017_gm_item_create-material
             AND   charg = lv_charg
             AND   aufnr = pwa_e1bp2017_gm_item_create-orderid
             AND   vornr = pwa_e1bp2017_gm_item_create-activity
             AND   ( splkz = 'X' or
                     splkz = space )
             AND   bwart = lc_261.
        ENDSELECT.
        IF sy-subrc <> 0.
    End of insertion for R31K993797
          SELECT SINGLE werks lgort
                INTO (pwa_e1bp2017_gm_item_create-plant,
                       pwa_e1bp2017_gm_item_create-stge_loc)
                FROM resb
                WHERE rsnum = pwa_e1bp2017_gm_item_create-reserv_no.
          CLEAR : pwa_e1bp2017_gm_item_create-reserv_no,
                  pwa_e1bp2017_gm_item_create-res_item.
        ENDIF.
      ENDIF.
    get SAP UOM
      SELECT SINGLE zsap_uom
                    INTO lv_uom
                    FROM zca_uom_conv
                    WHERE zext_uom = pwa_e1bp2017_gm_item_create-entry_uom.
      IF sy-subrc = 0.
        pwa_e1bp2017_gm_item_create-entry_uom = lv_uom.
      ENDIF.
    ENDFORM.                    " sub_modify_idocdata
    *&      Form  get_oper
         Get the operation
         <--P_PWA_E1BP2017_GM_ITEM_CREATE_RE  Segment
    FORM get_oper  CHANGING p_pwa_e1bp2017_gm_item_create TYPE
                   e1bp2017_gm_item_create.
      DATA : l_aufpl LIKE afko-aufpl,
             l_aplzl LIKE afvc-aplzl.
      REFRESH : i_op.
      UNPACK p_pwa_e1bp2017_gm_item_create-orderid TO
             p_pwa_e1bp2017_gm_item_create-orderid.
    Get the reservation and routing number for the order
      SELECT SINGLE
             rsnum
             aufpl
             FROM afko
             INTO (p_pwa_e1bp2017_gm_item_create-reserv_no,
                   l_aufpl)
             WHERE aufnr = p_pwa_e1bp2017_gm_item_create-orderid.
      IF sy-subrc = 0.
        CALL FUNCTION 'CONVERSION_EXIT_NUMCV_INPUT'
          EXPORTING
            input  = p_pwa_e1bp2017_gm_item_create-activity
          IMPORTING
            output = p_pwa_e1bp2017_gm_item_create-activity.
      ENDIF.
    ENDFORM.                    " get_oper
    Regards,
    nagaraj

Maybe you are looking for