Should we call a transaction within RFC

Hi,
I have a scenario like this.
There is a portal application where in customers can create inbound delivery.
What I am thinking is portal application will invoke a RFC passing the required data. Within the RFC I can write the BDC code for transaction VL31N to create inbound delivery.
I just wanted to know if this is the correct way to do this.
Should we call a transaction within a RFC ? What are the pros n cons associated with this ?
Is there ne BAPI to create Inbound Delivery (VL31N) ?
Regards,
Nitin

Hi Nitin,
There's unfortunately no BAPI available to create an inbound delivery. So considering that, what you're doing is fine.
I did not get what you meant by calling a transaction within an RFC in this context. If you're talking about a Portal application, what's the point in calling the transaction in the RFC ? Or did you mean that you want to use CALL TRANSACTION USING... ?
Regards,
Anand Mandalika.

Similar Messages

  • Calling Batch Input within RFC

    Hello experts.
    I need to call a Batch Input within a RFC Function. I heard that approach might bring some problems, taking into account that the RFC function must act as a Web Service for a .Net application calling.
    Has anybody came up with a similar situation?
    Thank you in advance.
    Regards,
    Andrés Sarcevic.

    Hello Andres
    Two things come into my mind with this scenario:
    1) Does the batch input require that the executing user is a dialog user? If so then the RFC user must be a dialog user as well.
    2) Does the RFC user have sufficient authorizations to execute the batch input?
    Regards
      Uwe

  • Call a transaction in a new session within a program

    Hi Friends,
    I have a requierment to call a custom Z Tcode within a module pool program. When I click on a particular pushbutton the custom transaction should get called in such a way that user should be able to be in the called transaction as well as in the calling program.
    Can someone please help me on how to go about this? I have tried SUBMIT, CALL TRANSACTION, LEAVE TRANSACTION, etc.,
    Thanks,
    Dikshitha

    Hi dixitha,
    1. You want to open VA01 in NEW WINDOW
    2. You want to PASS some values to VA01 (eg. Order Type, Sales Organization etc)
    There are two things.
    1. As mentioned by Vinod, use the function module
    DATA: bdcdata TYPE TABLE OF BDCDATA.
    CALL FUNCTION 'CKEKUTIL_CALL_TRANSACTION_TASK'
      EXPORTING
        transaction       = 'VA01'
    *   MODE              = 'A'
    *   UPDATE            = 'S'
      TABLES
        bdcdata_imp       = bdcdata  "Blank table
    2. BUT, this will ONLY open the tcode VA01 with BLANK values.
       If you have made a BDC program, then you will understand that
       for filling up values automatically, we have to pass some informatino
       (eg. program name, screen number, X
              field name, field value
              field name, field value ) etc.
      to this , using the tables parameter BDCDATA_IMP.
    So for eg., the values for this itab will be
    PROGRAM          DYNPRO     DYNBEGIN FNAM          FVAL
    SAPMV45A     0101     X
                        VBAK-AUART     OR
                        VBAK-VKORG     1000
    This will open VA01 tcode, with order type  as OR (Standard order)
    and Sales organization as 1000.
    (You can use SHDB tcode to get the screen field names and values and the full recording)
    Hope this helps.
    regards,
    amit m.

  • Call transaction from RFC?

    Hi Experts,
    I need to call Different transactions from a RFC.
    I am looking for different approaches to achieve this.
    One Idea is RFC will take input parameters as
    -Transaction name
    -Field names to be updated with its values (as a table)
    Now in RFC, it should be able to update this transactionu2019s fields with the values provided in table parameter.
    RFC will fill up the BDC table with the needed data, and will call the needed transaction to update the data.
    Once the execution is complete, RFC will send back the different messages (error, info, and warning) through Table parameter.
    Now, I do not have much of ABAP experience so I need your help in following
    1)     Should I use BDC recording in RFC?
    2)     Can BDC send back all the messages encountered while calling the transaction?
    3)     Is there any other way to approach this requirement?
    Thank you in advance.
    Regards,
    Ashish Shah

    Hi Amitava,
    This RFC might be called from any WebBased application , like Portal , Visual Composer or WebDynpro for Java.
    One more idea , may be an extension to my current idea is:
    To add one more input parameter to RFC, a table with single field of type string.
    Populate this table with entire BDC recording for one particular transaction, and pass it as an input parameter of RFC.
    Once in RFC , this BDC recording can be used to populate BDC table and then pass this table to call transaction statement.
    Do you see any sense in this logic?
    Regards,
    Ashish Shah

  • Call Transaction Through RFC

    Hi ,
    I am trying to do a call transaction through RFC call from a Middleware which is a CPIC user (only communication Non dialog User ) . 
    Call  transaction does gets executed without any error but it does not update any data.But when I run it through my user id it works absolutely fine .
    I am not sure what is causing the issue
    Security authorization?
    RFC through Non Dialog user ?
    Paramters missing in RFC  ?
    Paramatertes missing in call transaction option?
    If anyone of you has faced a similiar issue then please let me know the path forward.
    Thanks
    Vikas

    Hi Vikas,
        The problem is in Authorization? And check the mode of Process Synchoronus or asynchoronous? Both the RFC and CALL transaction should be Same /
    Thanks
    MAnju

  • Lag when calling BLS Transaction from within another

    Using MII 12.0.
    In MII class, they told us a "best practice" was to check the "Reload Transaction after Execution" box in the configuration of a Transaction call within a BLS.  The reasoning behind it was that should this not be checked, a previous result of that called BLS transaction would still be cached in memory and used instead of the newly assigned values from within your calling BLS.
    Checking the "Reload transaction after Execution" box forces MII to reload that transaction when it is called.
    In time analysis, what has been noticed is that there's a significant - up to 9 seconds - lag time when one BLS calls another BLS.  On a time-sensitive operation, that is an eternity.  That amount of overhead defeats any hope of using common code libraries.
    Questions -
    1.  Is this a true "best practice", or is it one that adds unnecessary overhead to a BLS? 
    2.  If the calling BLS executes 1 time - but is subject to be executed multiple times over a certain interval - is checking the Reload box of the BLS it is calling unnecessary? 
    3.  Even if you pass new data each time you call that BLS, is it still going to use/return whatever data it has cached until the cache expires?
    4.  Is there another way to ensure that the called BLS uses the data you pass it (and returns the corresponding result set) without incurring the amount of overhead that we have noted? 
    Thanks

    The version we're on is 12.0.6 Build 13, and moving to  12.1 (something I am not directly involved in).  In this version, I'm not seeing the menu options you describe, so it's apparently in 12.1 or later. 
    The issue we are having if the "Reload transaction after execution" box is not selected is indeed caching of values. 
    For example -
    BLS1 runs every 5 minutes
    BLS2 is called from BLS1, and in this case, retrieves error log info from a table - a common module used by several BLS's.
    BLS3 is also called from BLS1, and in this case, writes to an error log using information retrieved from BLS2 from within the execution of BLS1.  BLS2 & BLS3's calls are in 2 separate sequences, one after the other. 
    If BLS2 & BLS3 DO NOT have the "Reload Transaction after execution" checked, each will run with whatever the cached data in memory is for them, even though inside BLS1 I am assigning values to the input of BLS1 to send to BLS2, and passing the returned data from BLS2 into BLS3.  Unless it's checked, BLS2 & BLS3 would continue to be called, however, it would be with whatever data has been cached for them. 
    If that "Reload" switch is checked, it will reload each transaction & call it with whatever data is being passed.
    This was mentioned in the MII class I was in also.  This is a generalization, but the way they described it was being similar to how you might save a web page to your local PC, and that unless that page is refreshed & changed, that from that point on, every time you brought up your saved web page, it would always display the same values in it.  They didn't go into great deal to explain the mechanics of it, but MII would only load it the first time it executed, and that unless you forced it (by checking the Reload switch), it would always execute using the same cached values no matter what you were passing.

  • Call function within rfc

    Hi,
    i´ve developed an RFC FM and within this FM i use    
    CALL FUNCTION '
    NUMBER_GET_NEXT'
    in order to get a sequential number each time the FM is called.
    When this RFC FM is called from XI
    i get exception 1 (INTERVAL_NOT_FOUND) 
    Why is this happening?
    How can i solve this problem?
    Best regards.

    Hi,
    i just do this:
      DATA: l_number(15) TYPE C.
      IF l_number IS INITIAL.
        CALL FUNCTION 'NUMBER_GET_NEXT'
          EXPORTING
            NR_RANGE_NR             = '00'
            OBJECT                  = 'ZVLBSOLICI'
          IMPORTING
            NUMBER                  = l_number
          EXCEPTIONS
            INTERVAL_NOT_FOUND      = 1
            NUMBER_RANGE_NOT_INTERN = 2
            OBJECT_NOT_FOUND        = 3
            QUANTITY_IS_0           = 4
            QUANTITY_IS_NOT_1       = 5
            INTERVAL_OVERFLOW       = 6
            BUFFER_OVERFLOW         = 7
            OTHERS                  = 8.
    ENDIF.
    Best regards.

  • Where should i call the rfc function module? in xi or in r/3

    where should i call the rfc function module?
    for the synch scenario: file < -- >  xi <---> rfc
    i know the type of rfc is tcp/ip; but i'm not sure with the followings,
    and with some trials i can not even see any message via rwb even all the setting
    can be activated without errors.
    where should i create the rfc destination? in r/3 or xi
    where should i call the rfc via abap program? in r/3 or xi
    i guess the calling program should belong to the different server with the rfc itself....
    so confused....
    Thanks for your reply!!
    Jun

    if i create the destination in xi point to r/3, then i call the rfc use the destination in r/3 right ?
    The call doesnt use the destination in R3. XI has the RFC destination which is just used to connect to the R3 system
    but where i need to create the fm via se37? in xi or r/3 ?
    In R3
    Regards,
    Prateek

  • Invoke MII Transaction thru RFC Call from SAP

    Hi,
    We want to get the data from Oracle DB table thru MII (12.0.2).
    We need to use RFC call from SAP to MII.
    Is it possible to invoke the MII transaction thru RFC by setting in Message Listener?
    We have used iDoc messages but not tried with RFC.
    How to do that?
    Regards,
    Senthil

    I feel MII doesn't have anything equivalent to RFC in ECC. You may try web services in an ABAP program
    Hope the article below helps you
    http://www.sdn.sap.com/irj/scn/index?rid=/library/uuid/9f101377-0c01-0010-269f-c3ee905d583b&overridelayout=true
    Regards,
    Musarrat

  • Open ERP transaction within CRM 2007 using wizard for transaction launcher

    Hello everybody,
    I am trying to launch a SAP ERP transaction within SAP CRM 2007 using the transaction launcher wizard.
    First I maintained all necessary setting for the RFC connections (in ERP and CRM) using for example transaction SM59 and BD87, e.g. the master data replication is working fine. Second I created a business object type based on the SAP Standard business object TSTC and set the u201CExecuteu201D method to u201CSynchronousu201D in SAP ERP.
    Afterwards I created the URL for our ITS server and started the transaction launcher in CRM. During the step u201CFurther technical detailsu201D I selected as transaction type u201CBOR transactionu201D and chose our logical system (ERP) and added our newly created BOR object type as well as the method u201CExecuteu201D. If I now press the u201CNextu201D button the error message u201CAn RFC destination could not be specified for the logical system XYu201D is shown.
    Any help is highly appreciated.
    Thanks lot and kind regards,
    Franziska

    Hi,
    The error you get is because the client you have mentioned for logical system mapping and the client in which you created the BOR object are not same.
    Remember, for sucessfull transaction Launcher Configurations,
    1) The client in which WEB UI Runs
    2) The Logical System mapping and client mentioned in ITS url
    3) The client is which you created the BOR object.
    4) The client on which you are configuring transaction launcher wizard
    ALL SHOULD BE THE SAME CLIENT, unless you are using the OWNLOGSYS concept for logical system mapping.
    For example,
    If my WEB UI is on client 200 of development system,
    then i must create TSTC based BOR in client 200 , Map logical system for client 200 and configure trnsaction launcher in client 200.
    In this approach, you cant transport the developments to other system and client ( like Quality and production system) , hence its advicible to create a logical system with name OWNLOGSYS. The name of logical system must be kept OWNLOGSYS in all the systems and clients so that then you can transport yout transaction launcher developments and the error you get now will not come. It its not possible to maintain the logical system with this name in all the system , then you will have to do as i mentioned in points 1 to 4.
    Hope this helps.
    Thanks & Regards,
    Suchita

  • How to call a transaction (in a new session) from a program

    Hi ,
    I need to call a transaction from my report on the click of a button in toolbar.
    But the transaction should open in a new session.
    This is the code that i have written, MM03 is getting opened in the same session.
    call transaction 'MM03' and skip first screen.
    Hope that my question is clear.
    Thanking you in advance..
    Shankar

    check this
    <b>CALL FUNCTION 'ABAP4_CALL_TRANSACTION' STARTING NEW TASK 'TEST'
      DESTINATION 'NONE'
      EXPORTING
          TCODE = 'SM59'
      EXCEPTIONS
        COMMUNICATION_FAILURE = 1 MESSAGE MSG_TEXT
        SYSTEM_FAILURE        = 2 MESSAGE MSG_TEXT.
      IF SY-SUBRC NE 0.
        WRITE: MSG_TEXT.
      ELSE.
        WRITE: 'O.K.'.
      ENDIF.</b>
    <b>u can avoid such errors thru this FM
    check FI_DUPLICATE_INVOICE_SHOW program for sample code.</b>
    regards
    Prabhu
    Message was edited by: Prabhu Peram

  • How to call 2 transactions in a single screen

    Hi All,
    I need to call 2 Standard transaction in a single screen.
    ie: 1 transaction should be displayed in first half of the sceen and another transaction should be in the next half. How we can do this.
    Thanks
    Partha.

    Attach two subscren in that screen and call the transactions from the seperate subscreens.

  • Error while calling MII transaction as web service

    Hi all,
    I am using MII version 12.1.8
    When i try calling a BLS as a web service i am getting an error as " [ERROR] Error Invoking Web Service Action: Status (502): Proxy Error ( No data record is available. ) "
    The same WSDLGen url is working from the browser. The path is http://<server>:50000/XMII/WSDLGen/<TrxPath>
    I also gave Proxy Host and Proxy Port in System Management --> System Administration
    Is there anything i am missing in the web service action.
    Kindly help
    Regards
    Muzammil

    Hi Diana,
    It is working now. I removed the proxy settings from system administrator and added a new credential alias for web service. And then it started working..
    The scenario which i am trying is as mentioned. We need to call a transaction from a diiferent MII Server. So at first i was trying with the Trx within the same server.
    Hope this is the best way to access the transaction from a different server.
    Regards
    Muzammil

  • Possible to call a transaction from a planning book using a macro button?

    Hi All,
    Is it somehow possible to call a transaction using a macro button in the planning book? Also, the current selection should be passed as input parameters to the transaction.
    In my example, I am trying to run the transaction /SAPAPO/MC90 - Release to Supply Network Planning from the Demand Planning  Planning Book/Data View. This way if planners need to change forecasts mid month for specific selections, they can easily transfer to SNP without having to go out of interactive planning.
    Thank you,
    Maria

    Hello Maria,
              It's possible to call a transaction from a planning book using a macro button.
    What you can do is ..... Create a function module and inside it use the command "Call Transaction Tcode"  (ABAPer can do this) to call ur specific transaction. And this module can in turn be called from your macro. Please find the below link which explanis how to call a function module from a macro. Do let me know if you need more information on this.
    Calling a function module from APO Macro
    Regards,
    Siva.

  • Call a transaction with Application WD ABAP

    Dear Expert.
    In this moment I have the following requirement:
    I created an Application WD ABAP and created a button that must call a transaction of R/3 in the portal.
    I created a Transaction Iview and for this iView I created a Page. Now I want that  when the enduser press the button in the application WD ABAP, the system call the transaction.
    How Can solve this issue?
    Thanks in advance for you help.
    Regards

    the wizard tool will create the OBN call for you, just go to portal navigation in the wizard tool.
    your IVIEW parameters should be pass in the OBN call.
    thanks!
    Jason PV

Maybe you are looking for