Doubt in transient and volatile

Hi,
I have doubt in using transient n volatile modifiers
  class Test
      public static final  transient  int i=1;
      public static final  volatile int i=1;  //line 1
}If i use final n volatile ,having a comp err like
illegal combination of final and volatile.. line 1..while i dont have any problem with
final transient
I didnt understand the reason..Can anyone pls explain?
Thnx.
Mysha.

this is just off the top of my head, so it might not be strictly accurate, but:
transient has to do with serialization, it means that field won't be serialzed. Of course, for a static final variable, it's I'm not sure, but that could be a redundent modifier, as I'd think the reconstituted class still has whatever it's static final contents are anyway.
volatile has to do with synchronization and access across threads, and since you can't change a final variable's value once initialized, volatile is contrary to what final is saying. So it's either one or the other.

Similar Messages

  • Doubt in concepts and scenarios where used

    doubt in differentiating and scenarios for below.
    statistics Vs document update      -  i already know the definitions of V1 V2 V3 updates, pls dont give defn links
    conditions Vs global filters in QD     and scenarios
    btree/bitmap index         and scenarios
    reconstruction Vs repair   and scenarios
    already searched forums, didnt get satisfactory answer.
    pls suggest.
    Edited by: Swetha N on Jan 20, 2012 10:10 AM

    Conditions - You want to get the top 10 customers, you can use condition to get the same. done during the execution, before displayign the data. last step in the report execution.
    Filters - You can filter only particular plant, customer etc. will be done before query execution, kind of starting point for qery execution.
    Btree / Bit map - in addition to Venkatesh said - Bit Map is read optimized and B Tree is write optimized.
    Reconstruction - used in 3.x flow. if a request got deleted by request you can retriev it. Go to reconstruction tab and select the request and do reconstruction.
    Repair - I guess you are asking repair full request, if it so, it is a way to pull the data from R3. with some selection that can be defined at the info package for example you found one purchase order with some incorrect data, what you do is delete selectively the purchase order from the system and do full repail request. You can define the same at info provider level.
    Document update - you change a Purchase order from Me22n, the document will get update in the r/3 backend table EKKO EKPO etc. Statistical update is from the R/3 reporting table perspective, these are LIS tables.

  • Doubt about Scan and Update Catalog Objects That Require Updates link

    Hi,
    I have a doubt about 'Scan and Update Catalog Objects That Require Updates' link in Administration,
    how can I know how many objects that required upgrading before I click this link???
    in doc.
    http://docs.oracle.com/cd/E28280_01/bi.1111/e10541/prescatadmin.htm#BIESG3750
    section 17.2.4 Updating Catalog Objects
    It is said 'You can confirm the need to update by viewing the metrics in Fusion Middleware Control. In the Catalog folder, find a metric called "Reads Needing Upgrade" with description "The number of objects read that required upgrading." '
    but I don't find it . my OBIEE version :11.1.1.6.2
    conld you pleae help me ??
    thank you in advance.

    That link should be there in 6 version.
    I've verified in 11g6 version doc the same is existing
    ref: http://docs.oracle.com/cd/E23943_01/bi.1111/e10541/prescatadmin.htm#BAJDDFFI
    BTW:
    http://docs.oracle.com/cd/E28280_01/bi.1111/e10541/prescatadmin.htm#BIESG3750is 11g7 version
    Thanks,
    http://cool-bi.com

  • A Doubt on Material and Chapter ID Combination

    Hello All,
    A Doubt on Material and Chapter ID Combination.
    We use HALB materials - for procurement as well as manufacturing. It manufactures certain parts in-house and sells them outside. If there is no manufacturing capacity, we procure same parts from outside and then sells them outside.
    How do we enter Material and Chapter ID Combination for such items in J1ID ? Their count is 5000+.
    In Material and Chapter ID Combination, when we specify "Material Type" for such items as Raw Materials and manufacture them in-house and sell them outside, SAP does not update RG1 register. It updates RG1 register, only when "Material Type" for such items is RG1.
    If we specify "Material Type" for such items as RG1, but procure them from outside, SAP does not update RG 23 registers. It updates RG 23 registers, only when "Material Type" for such items is Raw Materials.
    Any solution for the above problem ? Creating a separate material code is out of question.
    Thanks and Regards,

    Hi,
    there is no possibilty to have two differant material type for a material, you may assign the material as RG1 and when you procure the goods you can change the material type as Rawmaterial during MIGO/J1iex so that you will be allowed to take the credit and also the RG23 registers will be updated, there is no other possibility.
    Regards,
    Murali

  • Doubt about Role and Policy

    Hi everyone,
    I have a doubt about role and policy,
    I'm using OBIEE11.1.1.5, I try to creating role R1 by creating like BIConsumer.
    then I go to policies interface,Edit 'BIConsumer' policy,
    I find only one role 'BIConsumer' under grantee.
    so I'd like to ask why 'R1' is not under policy 'BIConsumer' while R1 has permission like role BIConsumer ???
    thanks in advance!

    Application policies are sets of java permissions that are associated with a principal which is BIConsumer role in this case which grants permissions necessary to use, or to consume, content created by other users.
    So when you try to create like BIConsumer, you are not modifying the existing BIConsumer principal policy( which you should never do) but instead trying to create one similar grants like it.
    Usually as long as you are not dealing with BI Publisher, Financial Reporting and Real-Time Decisions application security permissions restriction, you would not have to modify any of these policies and use the default ones.
    Hope this helps. Pls mark if it does.
    Thanks,
    SVS

  • Doubt in partition and subpartition

    hi gems...good afternoon...
    I have a doubt redgarding partitioning and subpartitioning...This may be a silly question, but i am really not getting this...please help me..
    I have a table which has Range-Hash composite partitioning.
    The Range partitioning is on the default tablespace TS_PROD (because I didnt mention any tablespace name in the Range partitions).
    The Hash subpartitioning are on the corresponding partition tablespaces (TS_PART1,TS_PART2,TS_PART3....TS_PART6).
    I have created total 8 Range partitions and the number of Hash subpartitions are 6 for each of them.
    Now when I query the DBA_TAB_PARTITIONS, then I got the desired output i.e. all the Range partitions are in the default tablespace.
    When I query the DBA_TAB_SUBPARTITIONS, then also I got the desired output i.e. all the Hash subpartitions are in the separate partition tablespaces.
    But when I have inserted data in that table, then I found that both the default tablespace and partition tablespaces are getting filled up.
    Moreover, the sum of the increase in sizes of the partition tablespaces is equal to the increase in default tablespace.
    I am not getting the concept of this. Where are the datas are getting stored??? In the default tablespace or in the partition tablespaces??
    Thanks a lot in advance..

    thanks a lot RP for your reply...
    and sorry for the late and miscommunication...
    Actually i am not so experienced in the DBA line and in my company suddenly my senior DBA left and i am the only one here...I got tensed... :( :(
    I have started reading documentation of Oracle, have started the Administrator's Guide first...
    Anyways...now i got the concept of the partitioning and subpartitioning i was doing...
    The mistake which I was doing is: I was not mentioning the primary key index tablespace and that segment is going into the default tablespace and thats why the size was increasing for both default tablespace and partitioned tablespaces. Because of that fact I was getting confused again and again.
    As soon as I mentioned the primary key index tablespace, the size of the default tablespace stopped increasing...
    Now the script from which I am getting the size of the tablespaces: (join of dba_datafiles and dba_free_space)
    select /* + RULE */ t.tablespace, t.totalspace as " Totalspace(MB)",
    round((t.totalspace-fs.freespace),2) as "Used Space(MB)",
    fs.freespace as "Freespace(MB)",
    round(((t.totalspace-fs.freespace)/t.totalspace)*100,2) as "% Used",
    round((fs.freespace/t.totalspace)*100,2) as "% Free"
    from
    (select round(sum(d.bytes)/(1024*1024)) as totalspace, d.tablespace_name tablespace
    from dba_data_files d
    group by d.tablespace_name) t,
    (select round(sum(f.bytes)/(1024*1024)) as freespace, f.tablespace_name tablespace
    from dba_free_space f
    group by f.tablespace_name) fs
    where t.tablespace=fs.tablespace
    order by t.tablespace;
    Thanks a lot RP for your help... :)

  • Transient and Durable Process

    Can anyone explain me what is transient and durable bpel processes are?
    Regards
    Senthil R

    Senthil, as far as my knowledge no such information is stored in database.
    Sundar, what is your goal? We normally work with our simple sync and async terms only. Transient/Durable or one/two way invocation are the ways to categorize the BPEL Process and its activities to improve the performance. I request you to study BPEL Threading Model. You can refer the OTN page http://download.oracle.com/docs/cd/B31017_01/core.1013/b28942/tuning_bpel.htm and get more information.
    As you will be aware, typical sync process is a single web service call where the process is initiated, executes the logic and sends the response back to caller. Till the response arrives the caller would be waiting for that (and timeout calculations would be going on). Synchronous are typical Transient process if the criterion in the above forum post is matched. But suppose, in any invoke activity the idempotent property is set to false (default is true), the BPEL process will dehydrate the instance soon after that invoke activity and this process is durable process. Hope this explains.
    Ahmed is right, he writes that durable processes are long-living and initiated through a one-way invocation. There might be separate call back for such processes to send the response back to the caller process. Typical Async example.

  • Doubt on Rows and Coloums in BEx Query Designer.

    Hello, Experts.
    I have a Doubt in BEx Query Designer.
    In the Rows I have a Fiscal year Period,  if the user enters the Fiscal year period for e.g. : 001/2006  .  
    in the columns i have  forecast for the Fiscal year period which user entered ( 001/2006 ),   and we have another column pervious ( Prior )fiscal year period ( 001/2005 ). 
    My Questions is ,  as we are Restricting with 001/2006 will the query retrieve the values of 2005 or not?
    Thanks in Advance .
    Sharp

    yes i am  Doing Offest.
    I moved this Fiscal year Period to Free char,   and i Restricted with Pervious Fical Year period and Fical year period .  it worked.  but
    when i kept this in Rows and deleted Previous Fiscal Year period .  it is displaying blanks.   in prior years forecast.
    is it because i am Ristricting it to only fical year period  which user entered
             Colums-->  Forcast ( User Entered year )          Prior year
    Rows
    Fiscal year period
      Fiscal year period( user enterd )
    Thanks

  • Switch between transient and persistent objects?

    Hi Folks,
    I'm Re: transient object to persistent to ask this type of question, but couldn't find an answer.
    Using persistent classes, does anyone know an elegant way to convert a transient object to a persistent one and vice versa? There is no standard functionality provided that I can see, and cloning the object results in clashing keys.
    What am I trying to accomplish?
    I need an object instance which <i>may</i> exist in the DB and if not, it <i>may</i> need to be saved for future use. I'm using a table with key fields K1 and K2 and the app will ask for an object instance using the full key K1+K2.
    If the object doesn't find a DB record for K1K2 then it should instantiate itself with values for K1blank. Here is where I'm considering transient in order to provide the app with default functionality defined in record K1+blank.
    If a write access occurs to a transient object then is should become persistent and the K1+K2 record be created.
    Any ideas appreciated.
    Cheers,
    Mike

    Hi Mike,
    I written something similar working on Persistent Objects.
    The only point of attention is that you cannot create a new persistent while a transient is resident in memory.
    This is checked by the OS system during the creation of a new persistent:
    in method CREATE_PERSISTENT of Basis Class, there is a check on the existing object:
    * Precondition   : No object exists with the given business key, neither
    *                  in memory nor on database.
    So, you can create a new transient, fill it with the values you need and then pass this values to the agent to create a new persistent, but only after releasing the existing transient (because they will have the same key).
    I've solved the problem like this:
    METHOD flush.
    "IMPORTING value(im_transient) TYPE REF TO zcl_liquidate_daily_bo
    "IMPORTING value(im_commit) TYPE xfeld
    "IMPORTING value(im_agent) TYPE REF TO zca_liquidate_daily_bo
    "RETURNING value(re_persistent) TYPE REF TO zcl_liquidate_daily_bo
    "--> raised by event PERNR_PROCESSED
      DATA: s_dip_liq TYPE zhr_tm_dip_liq.
      s_dip_liq-zpernr    = im_transient->get_employee_no( ).
      s_dip_liq-zsocmat   = im_transient->get_matricola_legale( ).
      s_dip_liq-zdataev   = im_transient->get_event_date( ).
      s_dip_liq-zcodev    = im_transient->get_event_type( ).
      s_dip_liq-zdescev   = im_transient->get_event_descr( ).
      s_dip_liq-zmotev    = im_transient->get_event_reasn( ).
      s_dip_liq-zmeseall  = im_transient->get_mese_allineamento( ).
      s_dip_liq-zannoall  = im_transient->get_anno_allineamento( ).
    * // Invalidate the transient before create the persistent!
      im_agent->if_os_factory~release( im_transient ).
      CLEAR im_transient.
      IF im_commit EQ abap_true.
        TRY.
    re_persistent =
    im_agent->create_persistent( EXPORTING i_anno_allineamento = s_dip_liq-zannoall
                                                   i_mese_allineamento = s_dip_liq-zmeseall
                                                   i_employee_no       = s_dip_liq-zpernr
                                                   i_event_date        = s_dip_liq-zdataev
                                                   i_event_type        = s_dip_liq-zcodev
                                                   i_event_descr       = s_dip_liq-zdescev
                                                   i_event_reasn       = s_dip_liq-zmotev
                                                   i_matricola_legale  = s_dip_liq-zsocmat ).
          CATCH cx_os_object_existing.
        ENDTRY.
        COMMIT WORK AND WAIT.
      ENDIF.
    ENDMETHOD.
    This method is called inside a loop on a table that containes references to transient objects.
    For each object I perform some tasks, and if all it's ok I raise the event PERNR_PROCESSED, which automatically calls this method FLUSH, transferring the transient to the persistent.
    Return Object is the new persistent, which will be passed back to the internal table, changing the content from the transient to the new persistent.
    Hope this helps,
    Roby.

  • Doubt about Sync and Async process

    hi experts i have one small doubt
    if we r having the scenario like file to rfc
    iam passing the input parameter like material number through file  adapter
    and then i want to get the material details response from rfc sap r/3 to file system
    this is the scenario.
    now here which is the synchronous processs 
    and which is the asynchronous process
    please let me know
    clear my doubt with explanation please......
    thanks
    giri

    Hi Sesha,
    For information on sync/async please refer:
    <a href="http://help.sap.com/saphelp_nw2004s/helpdata/en/43/65d4dab39b0398e10000000a1553f6/frameset.htm">http://help.sap.com/saphelp_nw2004s/helpdata/en/43/65d4dab39b0398e10000000a1553f6/frameset.htm</a>
    <a href="http://help.sap.com/saphelp_nw2004s/helpdata/en/83/d2a84028c9e469e10000000a1550b0/frameset.htm">http://help.sap.com/saphelp_nw2004s/helpdata/en/83/d2a84028c9e469e10000000a1550b0/frameset.htm</a>
    Regards,
    Subhasha ranjan
    Message was edited by:
            Subhasha Ranjan

  • Word 2007 and volatile user

    Guys,
    I did not know where to ask. We use volatile user and I have a problem with word 2007. I can't get word to hold the settings, toolbars etc. I was able to change normal.dotx, and that's fine in regards to the page formating, but I can't make word 2007 to remember its layout. I even copied the profile to the default profile, which worked with word 2003. Please advise. Thank you.

    Jakub,
    It appears that in the past few days you have not received a response to your
    posting. That concerns us, and has triggered this automated reply.
    Has your problem been resolved? If not, you might try one of the following options:
    - Do a search of our knowledgebase at http://support.novell.com/search/kb_index.jsp
    - Check all of the other support tools and options available at
    http://support.novell.com.
    - You could also try posting your message again. Make sure it is posted in the
    correct newsgroup. (http://support.novell.com/forums)
    Be sure to read the forum FAQ about what to expect in the way of responses:
    http://support.novell.com/forums/faq_general.html
    If this is a reply to a duplicate posting, please ignore and accept our apologies
    and rest assured we will issue a stern reprimand to our posting bot.
    Good luck!
    Your Novell Product Support Forums Team
    http://support.novell.com/forums/

  • How to Create BO in BOPF as to hold 3 different Nodes as Transient and Data sharing between the 3 Nodes ?

    Hi All,
    My requirement :
    I have to create a FBI OVP Application, Displaying Search UIBB in the first Section .(Fetches Data from Standard Table)
    Below this search UIBB I have to create a List UIBB (Name it as LIST_1) in the Second Section to display Search Result.(This List UIBB has to Tool Bar Actions like 'Delete' & 'MOVE'  . user select a record from the list and click on delete action, Delete action has to remove the Record from the list ).
    Below this List UIBB we have another List UIBB (Name it as LIST_2) which Holds the Records Moved from the LIST_1.(User selects a record in LIST_1 and Clicks on action 'MOVE'  the selected record in the LIST_1 has to be Removed and it should be place in the LIST_2 ).
    My Development Plan :
    Step 1 : Creating a BO of type Controller Object.
    Step 2 : Make ROOT Node as Transient Node-->Propose Names for Data structure, combined structure, combined Table type. Provide fields in the data type and Generate Dictionary Objects.
    Create LIST_1 and LIST_2 as transient nodes ---> Propose Names for Data structure, combined structure, combined Table type. Provide fields in the data type and Generate Dictionary Objects.
    For LIST_1 Create Actions 'DELETE' & 'MOVE'
    Question 1) How to code to delete a Record from the LIST_1 in DELETE Action?
    Question 2) How to Code to move a Record from the LIST_1 to LIST_2 based on user selection in the LIST_1 in MOVE Action ?
    Question 3) Is this Possible to Handle all the 3 nodes in my requirement in a single BO or I Should Create 3 different BO as in my requirement the 3 nodes are independent and in the BO it uses KEY and Parent_Key relation with the SUB Node, Is this possible to handle all the 3 independent nodes in single BO ?
    Question 4) If i Create # different BO How can i achieve this Functionality ?
    Please Guide me with Your valuable Suggestions.
    Thanks in Adv.
    Thanks,
    Kranthi Kumar.

    Hello Kranti,
    As I understand , you have all the required data in non BO existing standard tables. You now want to represent this data as a business object. What you need is a BO wrapper on this existing data , and a controller object would be one way to achieve this ( in theory ). Or you can create a Business Process Object/Master Data Object  that acts as a BO wrapper ( with its own buffer implementation ) on top of existing data/APIs , see the standard  Business Process Object BO /BOFU/BASIS_APPLICATION_LOG as an example. The Master Data Object /BOFU/BUSINESSPARTNER is another example.
    Question 1) How to code to delete a Record from LIST_1 in DELETE Action ?
    There is nothing to be done here. The underlying data source for the list is a BO node and the standard Delete action that you get as part of regular CRUD for a BO node will do the job. However note that this delete just deletes the record from the buffer, if this now needs to be translated to an actual delete in the standard table then you need to handle that.
    There are two ways to handle the actual update to the table based on how you consume the data from the table. You can do the update within a determination set to Before Save (Before writing data). Or , you can create your own buffer implementation and handle your data manipulation there.
    Question 2) How to Code to move a Record from the LIST_1 to LIST_2 based on user selection in the LIST_1 in MOVE Action ?
    Add the record to the underlying node for List_2 and remove the record from the underlying node of List_1.Again , this is just buffer data manipulation , the standard tables are not touched , you will need to handle that.
    Question 3) Is this Possible to Handle all the 3 nodes in my requirement in a single BO or I Should Create 3 different BO as in my requirement the 3 nodes are independent and in the BO it uses KEY and Parent_Key relation with the SUB Node, Is this possible to handle all the 3 independent nodes in single BO ?
    Your BO design depends upon your requirements/use case/functionalities. Is the data related and can be defined as constituent of a single business entity ? If yes , then it should ideally be a single business object. In short , let your functionality decide the scope of your business object. Technical considerations should be secondary.
    In addition , remember that too many Business Objects will create a performance overhead.
    The use case that you provide is technical and it does not give me enough info  to advise on the scope of the business object(s) you will need to create. From a technical perspective , handling 3 nodes in the same business object to address your use case is very much possible.
    Question 4) If i Create # different BO How can i achieve this Functionality ?
    I will indulge in this question from a point of technical feasibility. When you have multiple BOs and you want to establish a relationship between them , this is achieved by using Business Object Representation nodes. Business Object Representation nodes enable cross BO associations that establish a relationship between a node of the source BO with a node of the target BO.
    Regards,
    Indranil.

  • Doubt with Windows and Oracle Forms 10G and 11g

    Hi
    I have some doubts in installing Oracle Client on Windows.
    a)Can we install Oracle Forms 10g and Reports 10g client on Windows 7?
    b)Can we install Oracle Forms 11g and Reports 11g client on Windows XP?
    c)If we have an Oracle Forms 11g and Reports 11g, can it connect to a 10g Server?
    d)If we have an Oracle Forms 10g and Reports 10g Client, can it connect to an 11g Server?
    Please, Can any one help me in this????

    a)yes it can be installed on win7, may have some issues on 64bit systems but they're solvable
    b)11g had some problems with windows 2000, but didn't see mention of any problems on XP
    c)if you mean a database server then yes - i managed to connect 11g to an 8i database, so v10 should not be a problem. If you mean a forms/reports server..well newer forms/reports builder might not want to run old forms/reports and vice versa, but I don't see the point of operating on the same files from different versions. You can still load old form/report source files with a newer builder and recompile them to run on the new server.
    d) the "client" is effectively your web browser with a java plugin, unless I misunderstood your question. What version was a form/report compiled with should not be an issue.

  • Doubt about constructor and show.Input dialog

    Hi everybody!
    I wrote this program in java. It works, but I have some doubts. The points that are not clear to me are in comments. Thanks in advance:
    import javax.swing.JOptionPane;
    public class Bicicleta extends JOptionPane{
         int velocidad;
         int cambios;
         String color;
    public Bicicleta(){// Why we have to make a constructor without procedures, if we have the constructor public Bicicleta(values) down?
                             //I mean, if we delete this constructor,
                             // the program will not work.
    public Bicicleta(int cambiarVelocidad, int cambiarCambios, String cambiarColor){ //without the constructor bicicleta
         velocidad = cambiarVelocidad;                                                            // that is up of this procedure,     
         cambios = cambiarCambios;                                                                 // the program will not work, Why?
         color = cambiarColor;
    public int getVelocidad(){
         return velocidad;
    public int getCambios(){
         return cambios;
    public String getColor(){
         return color;
    public void setVelocidad(int nuevaVelocidad){
         velocidad = nuevaVelocidad;
    public void setCambios(int nuevoCambio){
         cambios = nuevoCambio;
    public void setColor(String nuevoColor){
         color = nuevoColor;
    public void showBici(){
         this.showMessageDialog(null, "Los valores de la nueva bicicleta son: Velocidad de "+velocidad+" tiene "
         cambios" cambios y es de color "+color);
    public Bicicleta getBici(){
         return (new Bicicleta(this.getVelocidad(),this.getCambios(),this.getColor()));
    public void setBicicleta(){
         velocidad = Integer.parseInt(this.showInputDialog("Inserte la velocidad de la bicicleta"));
         cambios = Integer.parseInt(this.showInputDialog("Inserte la cantidad de cambios de la bicicleta"));
         color = (this.showInputDialog ("Inserte el color de la bicicleta"));
    public static void main(String[] args){
         Bicicleta bike = new Bicicleta();
         bike.setBicicleta();
         Bicicleta nuevaBici; // I copy this segment of code form anyone else, but I dont understand it.
         nuevaBici = bike.getBici();          // Can someone explain it please?
         nuevaBici.showBici(); //
    }

    The program is supposed to recollect the data with:
    public void setBicicleta(){
    velocidad =
    = Integer.parseInt(this.showInputDialog("Inserte la
    velocidad de la bicicleta"));
    cambios =
    = Integer.parseInt(this.showInputDialog("Inserte la
    cantidad de cambios de la bicicleta"));
    color = (this.showInputDialog ("Inserte el color de
    e la bicicleta"));
    So, I think that the values of variables are defined
    by the user. So, we dont have to define any previous
    data, because it is a input of the program user.
    Maybe I?m wrong, so what is my error in this case?Not thinking about responsibilities? So when I go and create a new Bicycle, I have a bicycle with no color and no top speed. Have you ewver seen a bicycle like that? A bycicle that asks you about what color it should have? Shouldn't rather the one creating the bicycle be the one to ask you for the values, and then apply them to the bicycle he creates?
    Do the asking first, then call
    bike = new Bicicleta(theColor, theSpeed, theGears, whatever);That way you can also get rid of that c'tor you don't want, since it makes no sense anyway.

  • Doubts about XI and RFC or IDOC

    Hello
    We have an external system that will send a file with data, with data from that file will have to make some Batch input on a number of transactions and I doubt arises in the orient
    The platform of exchange will be XI and I would like if someone could guide me in which are the advantages and disadvantages of undertaking such Batch Inputs through IDOC or through an RFC function or if there is another better way to make this process
    Thanks

    Hi Alberto.
    As far as I understand your scenario, you are fetching the data from a file and update the R3 database using a BDC session.
    In that case, my suggestion is to use a custom RFC that takes these records and creates a BDC session. This would be a better way to handle this scenario instead of using any IDOCs.
    Regards,
    Hari.

Maybe you are looking for