RFC enabled function module for insert update and delete in a Ztable..

friends..
Is there any standatd RFC enabled function module to insert , update and delete data in a custom database-table (Ztable)? if not how can we create it? plz give me the details steps..
what are the import, export parameters and how to develop and process it.. (for example: suppose fields in the table is Emp_Id, Name, Address)
Thanks and Regards

Hi,
Try this code.
REPORT ZMMC071Z_RMV.
TYPE-POOLS : ABAP.
FIELD-SYMBOLS: <DYN_TABLE> TYPE STANDARD TABLE,
               <DYN_WA>,
               <DYN_FIELD>,
               <LV_CONDI>.
DATA: DY_TABLE TYPE REF TO DATA,
DY_LINE TYPE REF TO DATA,
XFC TYPE LVC_S_FCAT,
IFC TYPE LVC_T_FCAT.
SELECTION-SCREEN BEGIN OF BLOCK F1 WITH FRAME TITLE TEXT-001.
PARAMETERS: P_TABLE  LIKE DD02L-TABNAME OBLIGATORY.
SELECTION-SCREEN END OF BLOCK F1.
Evento: At Selection Screen                                          *
START-OF-SELECTION.
  PERFORM GET_STRUCTURE.
  PERFORM CREATE_DYNAMIC_ITAB.
  PERFORM GET_DATA.
END-OF-SELECTION.
*& Form get_structure
text
FORM GET_STRUCTURE.
  DATA : IDETAILS TYPE ABAP_COMPDESCR_TAB,
  XDETAILS TYPE ABAP_COMPDESCR.
  DATA : REF_TABLE_DES TYPE REF TO CL_ABAP_STRUCTDESCR.
  DATA VL_LENGHT(30).
Get the structure of the table.
  REF_TABLE_DES ?=
  CL_ABAP_TYPEDESCR=>DESCRIBE_BY_NAME( P_TABLE ).
  IDETAILS[] = REF_TABLE_DES->COMPONENTS[].
  LOOP AT IDETAILS INTO XDETAILS.
    CLEAR XFC.
    XFC-FIELDNAME = XDETAILS-NAME .
    XFC-DATATYPE = XDETAILS-TYPE_KIND.
    XFC-INTTYPE = XDETAILS-TYPE_KIND.
    XFC-INTLEN = XDETAILS-LENGTH.
    XFC-DECIMALS = XDETAILS-DECIMALS.
    APPEND XFC TO IFC.
  ENDLOOP.
ENDFORM. "get_structure
*& Form create_dynamic_itab
text
FORM CREATE_DYNAMIC_ITAB.
Create dynamic internal table and assign to FS
  CALL METHOD CL_ALV_TABLE_CREATE=>CREATE_DYNAMIC_TABLE
    EXPORTING
      IT_FIELDCATALOG = IFC
    IMPORTING
      EP_TABLE        = DY_TABLE.
  ASSIGN DY_TABLE->* TO <DYN_TABLE>.
Create dynamic work area and assign to FS
  CREATE DATA DY_LINE LIKE LINE OF <DYN_TABLE>.
  ASSIGN DY_LINE->* TO <DYN_WA>.
ENDFORM. "create_dynamic_itab
*&      Form  get_data
      text
-->  p1        text
<--  p2        text
FORM GET_DATA .
*Get data from p_table into internal table <DYN_TABLE>
  SELECT * INTO TABLE <DYN_TABLE>
      FROM (P_TABLE)
Here you can implemente function DELETE, INSERT.
ENDFORM.                    " De_para

Similar Messages

  • RFC enabled function module to insert , update and delete data in a ZTABLE

    friends..
    Is there any standatd RFC enabled function module to insert , update and delete data in a custom database-table (Ztable)?
    if not how can we create it? plz give me the details steps..
    what are the import, export parameters and how to code and process it.. (for example: suppose fields in the table is Emp_Id, Name, Address. I need to develop a RFM which does the 3 tasks, insert update delete in the same RFM)
    Thanks and Regards

    create a f.n mod in se37 and make it rfc enabled.  ur import parameters are Emp_Id, Name, Address and TASK and u can have an export parameter like result which gives the status of the update. based on task u can insert using keyword INSERT....and update using UPDATE or MODIFY and delete using DELETE. these keyword are not compelte with syntax but need to refer the SAP documentation.

  • Rfc enabled function module for the updating the database table

    Hi,
            I need one rfc enabled function module for the updating the database table from the legacy system.currently i am using the rfc_read_table to read the database table.similarly i need for the update.

    Hi
    I believe you need to create one by yourself
    Max

  • RFC enabled function module for file browse

    Suggest a Function Module which is RFC enabled one.
    to perform directory browse and file browse
    Thanks

    hi,
    check these fm.
    SRM_RFC_CALL_BROWSER
    /BDL/_GET_RFC_DESTINATIONS
    SCMS_RFC_FILE_GET
    SA_KW_RFC_FILENAME_EXT_GET
    SA_KW_RFC_PHIOS_FILE_PROPS_GET

  • Function Module for blocking, unblocking and deleting assets

    Hi,
    Are there function modules available for blocking,unblocking and deleting assets in SAP.
    Can I user 'BAPI_FIXEDASSET_CHANGE' for the same?
    Thanks in adavnce,
    Laxman

    Hey,
    I tried by putting the values of company code,asset number,subnumber, transaction type as 'A' and passing the value of INLA-XSPEB as 'X' in FM ASSET_MASTERRECORD_MAINTENANCE to block the asset but it is not working. I am trying many other things. Can you suggest what are the mandatory fields that need to be passed for the asset to be blocked.
    As there are lot of parameters in this FM, I am little confused. Is there a proper documentation available somewhere to understand the flow.
    Thanks in advance for the help.
    Laxman Pai.

  • Cursor problem ! (equivalents for insert, update and delete)

    Hi,
    I am having following three sql statements. I am using Oracle 8i.
    ====================================================================================================================
    Statement1 : Insert
    Insert Into DBSchema.DstTableName( dstCol1, dstColP, dstColKey, dstCol2, dstCol3, dstCol4, dstCol5, dstCol6 )
    ( SELECT DbSchema.Seq.nextval, srColP, srColKey, srCol1, srCol2, nvl(srCol3,0), nvl(srCol4,0), SYSDATE
    From
    SrcTableName SRC
    Where
    srcColP IS NOT NULL AND
    NOT EXISTS
    (SELECT 1
    From
    DBSchema.DstTableName Dst
    Where
    SRC.srcColP = DST.dstColP AND SRC.srcColKey = DST.dstColKey )
    ====================================================================================================================
    Statement2 : Update
    Update DBSchema.DstTableName dst
    SET ( dstCol1,dstCol2,dstCol3,dstCol4, dstCol5)
    =
    ( SELECT srCol1, srCol2, nvl(srCol3,0), nvl(srCol4,0), SYSDATE
    From
    SrcTableName src
    Where
    src.srcColP = dst.dstColP AND SRC.srcColKey = DST.dstColKey
    WHERE EXISTS (
    SELECT
    1
    From
    SrcTableName SRC
    Where
    SRC.srcColP = DST.dstColP AND SRC.srcColKey = DST.dstColKey ) ;
    ====================================================================================================================
    Statement3 : Delete
    Delete
    FROM DBSchema.DstTableName DST
    Where Exists (
    SELECT
    1
    From
    SrcTableName SRC
    Where
    src.srcColP = dst.dstColP )
    AND NOT EXISTS
    SELECT
    1
    From
    SrcTableName SRC
    Where
    src.srcColP = dst.dstColP AND SRC.srcColKey = DST.dstColKey ) ;
    ====================================================================================================================
    For the above three statement I have written the following cursor.
    Equivalent Cursor:
    PROCEDURE DEMOPROC
    is
    loop_Count integer := 0;
    insert_Count integer := 0;
    CURSOR c1
    IS
    SELECT src.srcCol1,
    src.srcCol2,
    src.srcCol3,
    src.srcCol4,
    src.srcCol5,
    src.srcCol6,
    src.srcCol7,
    src.srcCol8,
    src.srcCol9,
    src.srcColKey,
    src.srcColP
    FROM
    SrcTableName SRC
    Where src.srcColP IS NOT NULL
    AND NOT EXISTS
    (SELECT 1
    From
    DBSchema.DstTableName Dst
    Where
    src.srcColP = DST.dstColP AND src.srcColKey = DST.dstColKey )
    BEGIN
    FOR r1 in c1 LOOP
    Insert Into DBSchema.DstTableName( dstCol1, dstColP, dstColKey, dstCol2, dstCol3, dstCol4, dstCol5, dstCol6 )
    values(DBSchema.Seq.nextval, r1.srcColP, r1.srcColKey, r1.srcCol1, r1.srcCol2, nvl(r1.srcCol3,0), nvl(r1.srcCol4,0), SYSDATE);
    Update DBSchema.DstTableName dst
    SET dst.dstCol1=r1.srcCol1 , dst.dstCol2=r1.srcCol2,
    dst.dstCol3=nvl(r1.srcCol3,0),
    dst.dstCol4=nvl(r1.srcCol4,0),
    dst.dstCol5=SYSDATE
    Where
    r1.srcColP = dst.dstColP
    AND
    r1.srcColKey = DST.dstColKey ;
    Delete
    FROM DBSchema.DstTableName DST
    Where
    r1.srcColP = dst.dstColP ;
    insert_Count := insert_Count + 1 ;
    /* commit on a pre-defined interval */
    if loop_Count > 999
    then begin
    commit;
    loop_Count := 0;
    end;
    else loop_Count := loop_Count + 1;
    end if;
    end loop;
    /* once the loop ends, commit and display the total number of records inserted */
    commit;
    dbms_output.put_line('total rows processed: '||TO_CHAR(insert_Count)); /*display insert count*/
    EXCEPTION
    WHEN OTHERS THEN
    DBMS_OUTPUT.PUT_LINE('Error '||TO_CHAR(SQLCODE)||': '||SQLERRM);
    END;
    ====================================================================================================================
    I am not sure whether this cursor is right or not, have to verify it.
    In delete and insert statements there is same where not exist clause in the original statement so I included that in my cursor declaration but not sure whether update will work with that or not.
    I have to use the three statements mentioned above for few source and destination tables and each are having many rows. How do i tune it ?
    What else can be done to improve the performance with the the three statements mentioned above.
    Any help will be highly appreciated.
    Thanks !
    Regards,

    You wont any anything extra by creating mulitple threads of the same question. Instead of this just provide the full information wht have been asked so that someone here can helpo you. If you keep doing like this then you will put yourself in our's negative list and that's not good for you.
    Daljit Singh

  • Using stored procedures for insert, update and delete

    Hello all;
    We have a question from our customer (who is the DBA), who has not in the past used TopLink, about whether it makes sense to tie TopLink into existing stored procedures to save and retrieve informations.
    Is it possible?
    Is there any circumstance under which it is a good idea?
    Thanks

    In TopLink any operation for which TopLink generates SQL, can be replaced by custom SQL, or a stored procedure call.
    Custom SQL or stored procedures can be used for each of the descriptor's CRUD operations, but also for mapping queries and named queries. The Mapping Workbench only supports defining custom SQL for the descriptor CRUD operations and named queries, so many of the stored procedures call from the descriptor and mappings will need to be done through amendment methods.
    Whether it makes sense or not depends on the application and the company and their requirements. It will add significant overhead to the development process to have to define and maintain all of the stored procedures, and the stored procedure calls in the descriptors. You may wish develop your application using TopLink generated SQL, and once you have the model and queries stabilized then switch to using stored procedures.
    Whether it is a good idea depends on the application and the company and their requirements. Stored procedures may give the DBA more freedom to change the data-model once in production, and may allow for adding database-level security checks. In general using stored procedures will not improve performance if the procedures contain the same SQL that would have be executed anyway, but they may allow for the DBA to tune the SQL better.

  • How to create stored procedure for insert update and delete operations with input output paramters?

    I  have the follwing table is called master table contain the follwing fields,
    So here i need to create  three Stored procedures 
    1.Insert operations(1 o/p paramter,and  14 input paramters)              - uspInsert
    2.Update operations(1 o/p paramter,and  14 input paramters)          - uspUpdate
    3.Delete Operations(1 o/p paramter,and  14 input paramters)          
     - uspdelte
    The following is the table ,so using this to make the three sp's ,Here we will use Exception machanism also.
    Location 
    Client Name
    Owner 
    ConfigItemID
    ConfigItemName
    DeploymentID
    IncidentID
    Package Name
    Scope 
    Stage
    Type 
    Start Date
    End Date
    Accountable 
    Comments
    So can u pls help me out for this ,bcz i knew to stored procedure's creation.

    I  have the follwing table is called master table contain the follwing fields,
    So here i need to create  three Stored procedures 
    1.Insert operations(1 o/p paramter,and  14 input paramters)              - uspInsert
    2.Update operations(1 o/p paramter,and  14 input paramters)          - uspUpdate
    3.Delete Operations(1 o/p paramter,and  14 input paramters)            - uspdelte
    The following is the table ,so using this to make the three sp's ,Here we will use Exception machanism also.
    Location 
    Client Name
    Owner 
    ConfigItemID
    ConfigItemName
    DeploymentID
    IncidentID
    Package Name
    Scope 
    Stage
    Type 
    Start Date
    End Date
    Accountable 
    Comments
    So can u pls help me out for this ,bcz i knew to stored procedure's creation.
    Why you have to pass 14 parameters for DELETE and UPDATE? Do you have any Primary Key?  If you do NOT have primary key in your table then in case you have duplicate information, SQL will update both or delete them together. You need to provide DDL of
    you table. What are the data types of fields?
    Best Wishes, Arbi; Please vote if you find this posting was helpful or Mark it as answered.

  • Are there any self-service tools that enable business users to insert, update, and delete data in SQL Server without using SSMS?

    Our IT department spends way too much time maintaining simple reference tables that could easily be maintained by business users, if they had some simple tools that gave them limited access to only the tables they need.  Looking for something other
    than SSMS or MS Access.  These are not tech-savvy users.  They dabble in Excel and Access, and they know their data pretty well, but wouldn't be comfortable with SQL.  Generally the data would initially be in Excel (but not always).

    Create a separate FileGroup on your UAT/pre-prod environment for those Business Users and allocate limited space for them to read/write data here. I expect they create their own reference tables here which are small enough in size. SQL Server does not have
    concept of Quota like Oracle has, so you need to tie back FG with Data Steward user groups using separate mechanism to make sure they have limited rights here. 
    As IT - you verify business changes every sprint and push them to Production. 
    Best Regards
    Shrikant Kulkarni 
     

  • RFC enabled function module which will be called from XI

    Hi Abappers,
    I have to send confirmation of the sales orders created by inbound Idocs ORDERS05 to XI. For this I have to use outbound Idoc ALEAUD01. But since I also need to send NETWR(from VBAK) and there is no field in this Idoc for that,
    I have to develop an RFC enabled function module for which a RFC lookup will be performed from XI. This function module has to return NETWR values for sales orders. Can anyone please tell me how to go about with this function module.
    Thanks in advance.

    Hi Priyanka,
    Add a parameter in <b>tables tab</b> of function module with reference to NETWR. It'll work.
    Regards,
    Younus
    Reward Helpful Answers!!!!

  • How to perform insert, update and delete in a table component

    hi all,
    i am using a table component in my page. I want to retreive data from multiple tables as well as perform insertion, updation and deletion operation.The changes should be affected in the corresponding tables. can anyone provide a solution for my problem.
    Thanks in advance
    regards,
    prasant

    There is a great tutorial for insert, update and delete records in a table.
    http://developers.sun.com/prodtech/javatools/jscreator/learning/tutorials/2/inserts_updates_deletes.html
    Hope it helps.
    Thanks,
    Moumita

  • RFC enabled function module and BAPI?

    What is the difference between RFC enabled function module and BAPI? 
    I have requirement to develop a new BAPI which will update a custom table and read the same table in SAP from an external application.
    Do we need define a port or RFC destination for the external application to use the new BAPI?
    I am clear how the external application access the BAPI.
    Thank you

    BAPI are business objects which are basically object oriented. Created and linked with business objects in <b>SWO1</b>. Those business objects will be listed under BAPI tcode.
    Where are RFC enabled Function call are not like that. They are just Function modules which can be accessed remotely from an SAP application.
    For your example updating table, you may need to create BAPIs in SWO1 and access using those using object oriented methods from external application.
    Cheers,
    Thomas.

  • RFC enabled function module is not runing the BDC code in it.

    Dear Experts,
    1. We have created a RFC enabled function module to change status of a activity and to save it we are using BDC code and we have also put the code in the RFC FM only.
    The RFC fm is runing fine and changing the data and also saving it by runing the BDC when run in the R/3 system only.
    But when i run the FM from portal its just chaning the status but not runing the BDC code in it.
    below i am puting the code of the FM.
    FUNCTION ZRFC_CRM_STATUS_CHANGE_EXTERN .
    ""Local Interface:
    *"  IMPORTING
    *"     VALUE(CHECK_ONLY) TYPE  XFELD DEFAULT ' '
    *"     VALUE(CLIENT) LIKE  SY-MANDT DEFAULT SY-MANDT
    *"     VALUE(OBJNR) TYPE  CRM_JSTO-OBJNR OPTIONAL
    *"     VALUE(USER_STATUS) LIKE  CRM_JEST-STAT
    *"     VALUE(SET_INACT) TYPE  XFELD DEFAULT ' '
    *"     VALUE(SET_CHGKZ) LIKE  CRM_JSTO-CHGKZ OPTIONAL
    *"     VALUE(XNOAUTO) LIKE  CRM_JSTO_UPD-XNOAUTO OPTIONAL
    *"     VALUE(NO_CHECK) TYPE  XFELD DEFAULT ' '
    *"     VALUE(ZOBJNR) TYPE  CHAR80
    *"     VALUE(OBJECT_ID) TYPE  CRMT_OBJECT_ID
    *"  EXPORTING
    *"     VALUE(STONR) LIKE  TJ30-STONR
    *"  EXCEPTIONS
    *"      OBJECT_NOT_FOUND
    *"      STATUS_INCONSISTENT
    *"      STATUS_NOT_ALLOWED
    *{   INSERT         D60K900707                                        1
      DATA: BEGIN OF JSTAT_TMP.
              INCLUDE STRUCTURE JSTAT.
      DATA: END OF JSTAT_TMP.
      data: bdcdata like bdcdata  occurs 0 with header line.
      data: dire type CRMD_ACTIVITY_H-direction.
      CLEAR: DIRE.
    OBJNR = ZOBJNR.
      MANDT = CLIENT.
      JSTAT_TMP-STAT  = USER_STATUS.
      JSTAT_TMP-INACT = SET_INACT.
      IF USER_STATUS+0(1) NE EXTERN.
        RAISE STATUS_NOT_ALLOWED.
      ENDIF.
    Statusobjekt ggf. einlesen
      PERFORM STATUS_READ USING OBJNR IOBTYP ISTSMA NOT_FOUND.
      CHECK NOT_FOUND = OFF.
    ggf. Änderungsbelege aktivieren
      IF SET_CHGKZ = 'X' AND JSTO_BUF-CHGKZ = SPACE AND CHECK_ONLY = SPACE.
        PERFORM SET_CHGKZ USING OBJNR.
      ENDIF.
    set XNOAUTO-flag if desired
      IF XNOAUTO = 'X' AND CHECK_ONLY = SPACE.
        PERFORM SET_XNOAUTO USING OBJNR.
      ENDIF.
      crm_jostd-OBJNR = OBJNR.
    Status-Puffer füllen
      REFRESH JEST_BUF_A.
      REFRESH JEST_BUF_E.
      CLEAR   JEST_BUF_A.
      CLEAR   JEST_BUF_E.
      CLEAR JEST_K.
      MOVE MANDT       TO JEST_K-MANDT.
      MOVE crm_jostd-OBJNR TO JEST_K-OBJNR.
      READ TABLE JEST_BUF WITH KEY JEST_K BINARY SEARCH.
      IF SY-SUBRC IS INITIAL.
        TABIX = SY-TABIX.
        MOVE-CORRESPONDING JEST_BUF TO JEST_BUF_E.
        APPEND JEST_BUF_E.
        MOVE-CORRESPONDING JEST_BUF TO JEST_BUF_A.
        MOVE MANDT TO JEST_BUF_A-MANDT.
        APPEND JEST_BUF_A.
        DO.
          ADD 1 TO TABIX.
          READ TABLE JEST_BUF INDEX TABIX.
          IF SY-SUBRC IS INITIAL AND JEST_BUF-OBJNR = crm_jostd-OBJNR.
            MOVE-CORRESPONDING JEST_BUF TO JEST_BUF_E.
            APPEND JEST_BUF_E.
            MOVE-CORRESPONDING JEST_BUF TO JEST_BUF_A.
            MOVE MANDT TO JEST_BUF_A-MANDT.
            APPEND JEST_BUF_A.
          ELSE.
            EXIT.
          ENDIF.
        ENDDO.
      ENDIF.
      g_no_check = no_check.
      OBJNR = ZOBJNR.
      PERFORM STATUS_CHANGE_EXTERN USING CHECK_ONLY
                                         OBJNR
                                         JSTAT_TMP
                                         EXTERN.
      clear g_no_check.
    Zurückschreiben in Puffer
      PERFORM CHG_JEST_BUF_E.
    ggf. Statusordnungsnummer ermitteln
      IF STONR IS REQUESTED.
        CALL FUNCTION 'CRM_STATUS_READ'
             EXPORTING
                  OBJNR       = OBJNR
                  ONLY_ACTIVE = 'X'
             IMPORTING
                  STONR       = STONR.
      ENDIF.
    CALL FUNCTION 'BAPI_TRANSACTION_COMMIT'
    EXPORTING
       WAIT          = 'X'
    IMPORTING
      RETURN        =
    *COMMIT WORK.
    wait up to 10 seconds.
      CLEAR bdcdata.
      bdcdata-program  = 'SAPLCRM_1O_MANAG_UI'.
      bdcdata-dynpro   = '0100'.
      bdcdata-dynbegin = 'X'.
      APPEND bdcdata.
       CLEAR bdcdata.
      bdcdata-fnam = 'BDC_OKCODE'.
      bdcdata-fval = '=READ'.
      APPEND bdcdata.
      CLEAR bdcdata.
      bdcdata-program  = 'SAPLCRM_1O_MANAG_UI'.
      bdcdata-dynpro   = '0510'.
      bdcdata-dynbegin = 'X'.
      APPEND bdcdata.
       CLEAR bdcdata.
      bdcdata-fnam = 'BDC_CURSOR'.
      bdcdata-fval = 'GV_OBJECT_ID'.
      APPEND bdcdata.
       CLEAR bdcdata.
      bdcdata-fnam = 'GV_OBJECT_ID'.
      bdcdata-fval = OBJECT_ID.
      APPEND bdcdata.
         CLEAR bdcdata.
      bdcdata-fnam = 'BDC_OKCODE'.
      bdcdata-fval = '=OKAY'.
      APPEND bdcdata.
      CLEAR bdcdata.
      bdcdata-program  = 'SAPLCRM_1O_MANAG_UI'.
      bdcdata-dynpro   = '0100'.
      bdcdata-dynbegin = 'X'.
      APPEND bdcdata.
      CLEAR bdcdata.
      bdcdata-fnam = 'BDC_OKCODE'.
      bdcdata-fval = '=1OMAIN_TT'.
      APPEND bdcdata.
      CLEAR bdcdata.
      bdcdata-program  = 'SAPLCRM_1O_MANAG_UI'.
      bdcdata-dynpro   = '0100'.
      bdcdata-dynbegin = 'X'.
      APPEND bdcdata.
       CLEAR bdcdata.
      bdcdata-fnam = 'BDC_CURSOR'.
      bdcdata-fval = 'CRMT_7010_ACTIVITY_UI-DIRECTION'.
      APPEND bdcdata.
    select single direction from CRMD_ACTIVITY_H into dire
                                  where  guid = objnr.
      if sy-subrc = 0.
        if dire = '0'.
          dire = '1'.
        elseif dire = '1'.
         dire = ''.
       elseif dire is initial.
         dire = '1'.
        endif.
    endif.
    CLEAR bdcdata.
      bdcdata-fnam = 'CRMT_7010_ACTIVITY_UI-DIRECTION'.
      bdcdata-fVAL = DIRE.
      APPEND bdcdata.
      CLEAR bdcdata.
      bdcdata-fnam = 'BDC_OKCODE'.
      bdcdata-fval = '=SAVE'.
      APPEND bdcdata.
    CALL TRANSACTION 'CRMD_BUS2000126'  using bdcdata mode 'N'.
    CALL FUNCTION 'BAPI_TRANSACTION_COMMIT'
    EXPORTING
       WAIT          = 'X'
    IMPORTING
      RETURN        =
    *COMMIT WORK.
    wait up to 5 seconds.
    *}   INSERT
    ENDFUNCTION.
    Thanks and regards
    Neel

    Dear experts,
    Already the FM is RFC enabled other i won't be able to call it from portal
    and coming to using the BAPI_ACTIVITY CHANGE fm that acting very weird so we are using the CRM EXTERN CHANGE USER STATUS fm which is working fine but the only problem is even when we comit from BAPI_TRANSACTION_COMMIT its not getting the delta queue of BW updated eventhough its chaning the status.
    So for the above reasons we are using the BDC code in the FM for pressing the save button then its will update the changes to BW delta queue as well.
    its working fine when i run it from the system in tcode SE37 only the BDC code is not runing when i am doing it from portal apart from the fm is chaning the status .
    thanks and regards
    Neel

  • RFC enabled function module using call transaction

    Hi,
    We have a scenario wherein we have a RFC enabled function module which inturn uses a call transaction to create a PM order & attaches the PM notification against it. Sometimes it so happens that the order does not get created for some reason or the other and there are no logs generated on the system to investigate. However we are capturing the messages produced via the BDCMSGCOLL. At present we are using the update parameter as 'L'.
    In some scenarios it states that the notification is locked by the same notification and comes out without creating the order, in this process we are losing out on the order & the notification number which if successful would have got updated in the database.
    I know this could be done via the BAPI, but there are innumerable steps within the BDC which can't be actually done using the BAPI and hence we could not use this procedure.
    Is there any other way by which we can ensure that there's always a successful order creation, I mean without losing out on the order/notification number?. Would changing the update mode to 'S' help?. Since this process is time bound, it can't actually take more time then what its taking with the current logic.
    Please let me know if you require further details on the same. Any help in this regard would be highly appreciated.
    Regards,
    Vidya

    Sorry for an unclear replay.
    In Simple terms; I have 2 scenarios;
    Launch a new tab (IW38 tcode), on click of a button in SAP screen of custom transaction in NWBC.
    Launch a new tab (IW38 tcode), on click of a button in a Non - SAP App opened (using URL) in NWBC.
    For 1st case, i have used
    CL_NWBC=>URL_CONSTRUCT
      EXPORTING
         CANVAS_WDA__CLIENT_TYPE       = 'nwbc'
         CANVAS_TRANSACTION            = 'IW38'
      RECEIVING
         URL                           = lv_URL.
    CALL METHOD CL_NWBC=>URL_LAUNCH
       EXPORTING
         URL    = lv_url
    But it gets open in NWBC HTML not in NWBC Desktop client.
    I tried all the Parameters you have mentioned in your response to this post earlier, but nothing worked. the last one is CANVAS__WINDOW which actually hides the top area and few buttons but still it is a HTML version.
    If i set the HTML_CLIENT = ABAP_FALSE, it launches a new window instead of the tab and asks for Login. If i login in can see the IW38 in NWBC desktop client. But the only problem is we have the restriction of single window/single login for users.
    I am on NWBC PL12 and also updated the GUI 7.3 to PL8.
    Simply the problem is URL_CONSTRUCT for any transaction is launching it in a new tab but in HTML Version.
    For 2nd case,
    It asks for the login details on click of a button on the 3rd party URL opened in NWBC. which means i am launching SAP from a 3rd party.
    Is there any way to achieve the launch of new tab in this case instead of the new window ?
    I hope its more clear now.
    Regards,
    Nik.

  • How to call a RFC-enabled function module

    Hi All,
    We have 2 systems; system 1 (client 420) and system 2 (client 600).
    I just want to know that how can a RFC-enabled function module be called from one system (420) whereas the RFC-enabled functio nmodule exists in the other system (600).
    Also, as per my understanding any RFC-enabled function module is a BAPI. Please confirm.
    Please help.
    Thanks & Regards,
    Namrata

    Hi,
    RFC enabled FM can be called from anther system:
    From 420 we can call RFC FM residing in 600, through RFC destination cretaed in SM59 tcode in 420 client.In sm59, maintain the entries of destination system i.e 600.and test the connection whether it is succesful or not/ through remote logon.
    suppose in 420 client , in sm59 u have cretaed with destination DEST600 say.
    In 420, u can code as below..
    Call  'RSSDK_LOGSYS_REMOTE_CHECK' destination DEST600
    exporting
    I_QSYSTEMNAME =
    tables
    E_T_MSG =
    there exist difference between BAPI/RFC.
    BAPI always return messages / RFC doen't.
    BAPI follows ceratin naiming convetions while defineing the parameter structures ( ex BAPI_..)
    In bapi , no dialog screens can be called.
    In bapi, statements liek COmmit work/Call Transaction/Submit...shouldn't exit.
    Bapi's are implemented as FM's and are stored as methods in Business Object repository.
    another Ex for RFC
    RSAN_LOGSYS_DETERMINE
    Revert back if any issues,
    Reagrds,
    Naveen
    Edited by: Naveen Deva on Feb 18, 2009 9:54 AM

Maybe you are looking for

  • Data Services 4.0 installation with MS SQL 2008

    hey guys, I am trying to install data services 4.0 on a windows server with MS SQL database as the repository database. So, my plan was to install MS SQL 2008 first, then IPS, then data services. But i am facing a problem in installation of MS SQL it

  • Unable to print, "printer error".

    I recently installed canon printer software when away on a trip to use someone else's printer.  When I returned home I was unable to print on my c309a all in one printer, running windows 7, have the printer on my home network.  I have uninstalled, re

  • Java.lang.NullPointerException in wdDoModifyView

    Hi, I have a table in my application. I am trying to change the table values in second and third view. But when i press cancel and come to first page again i am getting this exception. Can any one tell the solution plz. The initial exception that cau

  • ICal sync

    I just got my MacBook Pro and I'm trying to sync it with my iPhone and iPad (iCloud is turned on). My problem is getting my iCal to sync with my MacBook...it is showing up on both my iPhone and iPad. Any suggestions?!

  • Commitment deletion

    Hi SAP gurus I want to close the Project while closing i am getting error that purchase requisition commitment exists for the WBS . PR's created from the project builder and these purchase requistion are unwanted. Tried by deleting the components / l