What exactly Persistence Interface does in BI Beans ?

Hi All,
I would like to know the significance and usage of Persistence Interface into BI Beans.
Any ideas or thoughts would be appreciable.
Thankz n advance.
Regards,
Anwar

.

Similar Messages

  • What exactly Deflater.HUFFMAN_ONLY does?

    Hi All,
    I have this code which uses Java own library for Huffman encoding - ie Deflater.HUFFMAN_ONLY.
    It compresses my input bytes very nicely. I have few questios with java strategy here ..
    1 - Does the compression really only using Huffman? Or has it got something else in the background?
    2 - Is there a way of getting at the huffman code table that Java creates in the background?This is to verify for me that yes I can use this class.
    I have to implement a Huffman compression algorithm but if this does what I need, there is no point in me re-inveting the wheel. Afterall, I am unlikely to write as good a class as Java.
    Thanks

    AddisLig wrote:
    1 - Does the compression really only using Huffman? Or has it got something else in the background?Check out the javadocs. The name certainly seems to promise that it's Huffman only.
    2 - Is there a way of getting at the huffman code table that Java creates in the background?This is to verify for me that yes I can use this class.Check out the javadocs. Although I doubt there's access to the code table (unless you use trickery).
    I have to implement a Huffman compression algorithmIf you have to implement it, then you can't use this.
    but if this does what I need, there is no point in me re-inveting the wheel. Afterall, I am unlikely to write as good a class as Java. Agreed.

  • What exactly is Safari doing?

    Let me start by saying that I like Safari. It's a great experience and does everything it needs to do well.
    Having said that...
    Safari HOGS memory on my MacBook Pro. When first launching Safari, it's not uncommon for it to be using 150+mb of RAM. Then I can just sit there and watch it climb on Activity Monitor. It usually tops out after about an hour around 700mb... with no window even open!
    To compare, FireFox takes up about 120mb at launch and climbs up to about 220-230mb after an hour. The Chrome beta uses about 50mb at startup and usually doesn't climb above 100. In fact, I've been running Chrome for about the past 10 hours and it's currently using 65mb of RAM.
    I've looked at how much memory Safari is taking up on other people's Macs and theirs don't seem to allocate near as much memory to Safari as mine. Any idea what the issue is? I have no add-ons, no skins, I've reset Safari, deleted all cache, etc etc etc...

    Did you ran lots of flash videos etc during that one hour? If so just quitting Safari and restarting it again would free up the memory.
    Chrome uses little memory because of the way it operates. Whenever you open a new tab/window in Chrome it actually launches a new helper process using about 50MB of memory each, so it's around the same as Safari and Firefox too.

  • Oraclesystemuser : What exactly this user does ?

    Hi Team ,
    I have a query regarding the user ” oraclesystemuser” Please let me know what is the purpose of this user .
    I have noticed the “oraclesystemuser” is created by default when we install SOA Suite and setup the domains . Its part of the group ” oraclesysetmgroup” . I would like to know the use of the this user . I am planning to change the password of the uset “oraclesystemuser” and would like to know what are the impacts related with this to the domains and what are the areas where we need to change the password . The current SOA Suite version is 11.1.1.3.0 and OS being used is redHat Enterprise Linux .Do let me know if you need anything else ?
    What we have observed is recently we made a password change for weblogic account and we see errors related with security in BAM manage servers logs .
    <Oct 11, 2011 7:38:06 AM MDT> <Notice> <Security> <BEA-090078> <User oraclesystemuser in security realm myrealm has had 10 invalid login attempts, locking account for 5 minutes.>
    From this scenario I would say "oraclesystemuser" is being used by BAM servers and not user what is the imapct on the domain if I chanege the password for " oraclesystemuser"
    thanks,
    Kiran

    Needs Help --
    If you don't know about Terminal, I would exit it, and don't open it again.  You could do incredible damage in there, if you're not knowledgeable.

  • What kind of interface does the Combo drive on a 17" iMac use?

    I found a "universal" adaptor for drives and I was wondering if I could plug the Combo Drive from a 17" iMac (1.6GHz) into it. Here's the adaptor/interface
    http://www.newertech.com/products/usb2_adaptv2.php

    I am familiar with Newer Technology, and their products are good. I suggest contacting them to make sure your drive is compatible, it looks as if it should be, but call to make sure.

  • What exactly does "Make AppleTalk Active" do?

    Hi,
    *System Preferences > Network > Ethernet > AppleTalk > Make AppleTalk Active*.
    I would like to know specifically/technically what exactly this option does?
    When connecting to OS X Macs, and Windows boxes publishing AppleTalk/AppleShare/AFP, there does not seem to be any need to have this option enabled.
    However, I am in an argument with a tech support guy at the moment, who is trying to claim that unless this option is enabled, connecting via AFP [1] is not true AFP...
    I know AppleTalk is a collection of protocols implemented in the 80s some time. And I know that AFP on Tiger is basically AppleShare over TCP/IP, and that AppleTalk over AppleTalk is not supported by Tiger.
    I suspect the Make AppleTalk Active option is somehow related to supporting AppleTalk sharing with old Mac systems, OS9,8,7 etc. But I really need to know exactly.
    Thanks.
    +[1] in this case, it is relating to sharing files between Tiger 10.4.10 systems and a Windows XP based RIP which is publishing some flavour of AppleShare.+

    Chris--
    My understanding is that AppleTalk is the protocol, like TCP/IP is a protocol. That's what this page implies to me:
    http://www.protocols.com/pbook/appletalk.htm
    So, at its inception, AppleTalk was a network transport protocol. There was a time when you could build an AppleTalk network without using TCP/IP, TCP/IP was only for the Internet (if you even knew what that was). You would just connect up some cables (not even ethernet, necessarily), and you'd get a network. It was pretty slow, but ethernet stuff was wicked expensive, so it didn't matter. AppleTalk handled the network transport, and AFP was a part of that.
    Sometime before OS 9 came out, Apple moved the AFP part to TCP/IP. AppleTalk was still available, mostly because of the legions of people who had old printers that only had AppleTalk (I know I was one of them until March of this year, when my LaserWriter Pro 600 gave up the ghost). If I had to guess I'd guess it's been almost ten years since they moved to AFP over TCP/IP. Certainly it was before OS 9.
    If you want to try connecting to the Windows Server via AppleTalk, you can try changing the URL in the dialog you get when you use the Finder's "Connect to Server..." menu item. I think, if I remember correctly, it takes this form:
    <pre class="command">afp://at/serveraddress:*/</pre>
    If that doesn't work, then take out one "/" after "afp:".
    charlie

  • Is there a way to find out exactly what a CIN is doing?

    I have a PC VI Library with 2 more VIs left to convert to work on a Mac. They call programmer created source code, and I have no way to reach the programmer. Help?

    Labviewguru:
    Actually the C/C++ forum would be a very poor place to discuss this
    problem since almost no C/C++ programmers know anything at all about
    NI or the LabVIEW development environment - and CINs are an even rarer
    topic yet - but at least some of us LabVIEW developers know something
    about C/C++ development which is more common. This guy has a very
    difficult problem indeed if he doesn't have the source code. His best
    options are:
    1) Find a way to get a copy of the source code. By far the best
    approach. Try locating the developer (assuming the developer hasn't
    died in which case he'll need a OUIJI board and Madam Cleo make
    contact.)
    Try contacting the company that developed the CIN - perhaps they still
    have the source in a file cabinet or hard drive somewhere. (assuming
    the company hasn't folded.) If the company did fold, was it bought
    out by someone else? They may have the old records still even if the
    company has changed hands.
    If this company has good customer service at all they should be
    willing to help. Offer them a small contract to fix the problem if
    they know the hardware.
    2) Decompile it and/or run a debugger on it. There are a number of
    decompilers available. This can help a lot but it is not guaranteed
    to work. It also requires a skilled C/C++ developer.
    I've written CIN's but I've never tried to decompile a CIN before so
    there may be unforeseen difficulties with this approach as opposed to
    decompiling a regular EXE or DLL.
    This is why I am opposed to using CIN's in code these days because it
    is so proprietary, when all the other development environments support
    DLL and ActiveX server. I no longer write CIN's because the code
    can't be reused outside of the NI development environment. I predict
    that CIN's won't be around (unless maybe for compatibility reasons
    with older LV code) in the next major release of LV.
    Also, many developers protect executable targets by encrypting them so
    that you can't decompile them.
    Finally, there may be copyright issues with directly reverse
    engineering the code. It would be better to try option #1 first.
    3) He already knows the data types being input and output and what the
    overall goal of the program is supposed to be so another option is to
    replace the unknown code with code of his own based on program
    requirements/specifications. Can he deduce what the general purpose
    of the CIN is supposed to be? If so he could try to figure out how to
    would implement it just by going at it either in LabVIEW or if
    necessary in C/C++.
    This can be difficult if it involves I/O with a proprietary piece of
    hardware. If so then he will need to get all the documentation from
    the manufacturer, like a software development kit, etc. before
    proceeding with this route.
    4) Given that the inputs and outputs are known, he could set up some
    for loops etc or user controls etc. to go into the CIN and try to
    reverse engineer it by mapping inputs to outputs, i.e. put in values
    to the CIN and try to deduce what it is doing by watching the outputs.
    This is very time consuming, difficult and error prone especially if
    the CIN interacts with hardware.
    5) Replace the unknown hardware and associated code interface nodes
    with known hardware and known code. Be sure to get the source if it
    is from a small time company (mom and pop shop). Obviously big names
    like TI, IBM, NI, and Microsoft are not likely to give you source but
    if the comapny is small, it seems like a reasonable request to ask for
    the sourcec given how quickly companies come and go these days. You
    may have to sign a non-disclosure /non-compete agreement to get the
    code.
    6) Finally, contact NI with the problem, they may have some special
    tools for reverse engineering CIN's beyon what I have mentioned but I
    doubt it.
    Douglas De Clue
    LabVIEW developer (and sometimes C/C++ developer)
    [email protected]
    Labviewguru wrote in message news:<[email protected]>...
    > You should check for the answer to this on a C/C++ forum. I know that
    > there are a number of ways to see what exactly a piece of compiled
    > code does (though not in LabVIEW), but you may not be able to exactly
    > figure out the code.
    >
    > Your best bet is going to be getting the source code, as there is
    > really no way of knowing what is going on without it.
    >
    > There may be ways to bring the code over however, but I don't know of
    > any personally.

  • What is persistence?  How does it work?

    Hi,
    I'm a total noob. I've been reading and following examples from books but I haven't read anything about how persistence really works? How does it help my session beans to access or make transactions to the database? How does it actually work? What if I just make direct queries from my session beans without the help of the EntityManager or the Peristence API? What's the difference?
    Like this for example:
    Customer requestCustomer = em.find(Customer.class.customerId);Does it mean that the Persistence API keeps the object alive in the Customer Entity? For how long? Until the application is closed? If so, what happens if the user opens the application again and looks for that object?
    Why can't I just make a direct query to see if that customerId exists in the database?
    I hope you guys don't mind my questions... I just really want to learn this stuff and I gotta let things out of my head. Hope you can help. Thanks!

    morphian wrote:
    Hi,
    I'm a total noob. I've been reading and following examples from books but I haven't read anything about how persistence really works? How does it help my session beans to access or make transactions to the database?
    How does it actually work? What if I just make direct queries from my session beans without the help of the EntityManager or the Peristence API? What's the difference?
    You have to code the stuff that EntityManager and Persistence are doing for you.
    Like this for example:
    Customer requestCustomer = em.find(Customer.class.customerId);Does it mean that the Persistence API keeps the object alive in the Customer Entity? For how long? Until the application is closed? Complicated. Not enough info.
    If so, what happens if the user opens the application again and looks for that object?
    Open the app and the object will be refreshed from that data store. Hence the word "persistent".
    Why can't I just make a direct query to see if that customerId exists in the database?
    You can.
    I hope you guys don't mind my questions... I just really want to learn this stuff and I gotta let things out of my head. Hope you can help. Thanks!This isn't the way to do it, but it's a start.
    %

  • What exactly does the following do?

    i understand what this does.
    return(password);
    but what exactly does this do?
    return (password == null ? "" : password);

    got it thanks.
    is the reason for this to prevent the javabean getter
    from sending a null to a jsp file?
    for example, if the setter is not called before the
    getter, the value is null and the jsp won't like
    this.
    could you also initialize the properties of the bean
    to ""?That sounds like a reasonable explanation. Depending on the implementation, initializing to "" might work fine or it might have unintended consequences if there's anywhere that a null and an empty string are interpreted differently.

  • What exactly is happening/​failing when "GPIB Interfaces sequential​ly verified" FAILS?

    I have an AT-GPIB/TNT+ card installed in my computer. It fails the "GPIB Interfaces sequentially verified" portion of the Wizard program. I am able to communicate (IBIC) with my instruments, so it appears that all is working well. I do have older non-compliant GPIB interfaces so the "Scan for Instruments" does not work. What exactly is failing in the Wizard and what can I do? I have windows 95.0.

    Janet,
    Typically when the installations fails the sequential verification, it is due to either a resource conflict or a device being connected to the board during the test. You can click on the failed interface to get a brief explination of what may have caused the error.
    There are instances reported using the AT-GPIB/TNT+ board and Win 98 inwhich this error was reported even though there were no problems with the board's setup. Since you are communicating properly with the board through IBIC your board is functioning properly, and I would not be concerned with the error message.
    As for your instrument, this is likely due to your instruments non-compliance to 488.2 standards. Whenever the Measurement & Automation Explorer does a "Scan for Instruments", it sends out the stri
    ng "*idn?" (which is an IEEE 488.2 identification query string) to all of the devices on the bus. If you have older, non-IEEE 488.2 compliant instruments on your GPIB, then they will not recognize this string as a valid command. This will cause "Scan for Instruments" to fail.
    Best Regards,
    Chris D

  • HT4859 when you go to do this it say that your iPod or whichever device will no longer be backed up to the computer it is currently backed up to, what exactly does that mean? Will i not be able to sync my iPod from that computer?

    when you go to do this it say that your iPod or whichever device will no longer be backed up to the computer it is currently backed up to, what exactly does that mean? Will i not be able to sync my iPod from that computer? Please help me and answer either or both question detailed thanks

    Normally when you sync your device it is automatically backed up to your computer as the first step in the sync process.  When you choose to start backing up your device to iCloud, iTunes stops automatically backing it up on your computer when you sync.  That's what the message is telling your; that you are now backing up to iCloud and not to your computer each time you sync.  You can still manually back up to your computer any time you want by going to the Summary tab and clicking on Back Up Now under Manually Back Up and Restore.
    You can still sync your device as you did before, it just will no longer back up automatically when you do.

  • What exactly is Sand Box and what does it do?

    What exactly is Sand Box and what does it do? I think it works in the Security Mechanism of Java as a Byte Code Verifier (or atleast as a part of the Byte Code Verifier)..
    Your thoughts please..?

    What exactly is Sand Box and what does it do?It's a concept. It means that the executed code (of applets, Webstart apps) has restricted access rights to System resources. So if it tries anything evil, it won't be able to.

  • What, exactly, are 'encoded assets'? Why does removing them resolve problems? How can they be avoided in the first place?

    What, exactly, are 'encoded assets'? Why does removing them resolve problems? How can they be avoided in the first place?

    As I understand it, encoding fomats your digital video clips and photos (assets) into Standard DVD mp2 format so that it can be burned to a DVD.  If there has been an error in the encoding process, then you remove the old encoded assets and start over.  There are numberous reasons why there can be errors in the encoding process. 

  • What exactly does the AppleCare cover for MacBook Pro with Retina Display?

    I purchased the extended protection plan for my MacBook Pro with Retina Display 15" and my question is what exactly does it cover in what kind of situations (i.e. viruses, damaged ports, damaged charger, etc.)? I want to be able to take full advantage of the protection plan since it was a pretty big whole in my wallet.

    AppleCare covers all the problems you have with your MacBook Pro with Retina display and the peripherals which came with it (your charger) if you have a hardware problem that you didn't cause. For example, after 2 or 3 years and 1000 charges, OS X says that your battery has to be replaced: in this case, you have to pay for the battery, because batteries have got a lifetime, and Unibody Macs batteries have got an average lifetime of about 1000 charges.
    However, if the RAM gets damaged and you haven't done anything to cause it, you will get your computer repaired or replaced for free. AppleCare in a MacBook Pro with Retina display is very important, because near all the parts are soldered into the logic board and repairs are expensive

  • What is the exact way of doing BDC ?????

    I know when the input is minimal we have to use CALL TRANSACTION method in BDC and when we have batch of input files we have to use BDC Recording.
    My question is what is the exact way of doing BDC.
    Could any one please tell me the exact way of doing BDC Recording Process.
    I appreciate your help.
    Thanks for your Time.
    Shiv.

    Hello Sivaramu,
    Call transcation can handle only one Trasaction(Tcode).
    Session method can handle multiple transcations.  
    Before getting started with the Recording process...we have to know the transcation code. We do recording to record the screen number, screen values,  Button values(OK codes) ...etc
    For example...while recording we create a record using some t-code (Say MM01) ...Now, we will create a materail master record using the Recording process.
    Let us see the process of recoding a single record with MM01 using SHDB(A tool used to record the details of T-code)
    Go through these steps for recording by using SHDB.
    How to use recording :
    Go to SHDB
    --> Click on New Recording
    --> Provide any name in Recording , For ex: Z_CHAITU
    --> Provide the Transaction name as “MM01”
    --> Select the update mode as Synchrounous or Asynchrounus method
    --> Click on Start Recording button.
    --> It will display MM01 screen….type the appropriate
    information in it.
    --> Type the Material no as : 4567E (Any no, But there should b 1 Character in it)
    --> Type Checmical Industry in INDUSTRY SECTOR
    --> Type COUPONS in MATERIAL TYPE
    --> Now click on Select Views button.
    --> Select BASIC DATA 1
    --> Click on Ok button
    --> Under Basic data tab under Material, it will display the Material number.
    --> Type the short description and “Provide EA as Base Unit Of Measure”
    --> CLICK ON BACK AND IT WILL ASK U TO SAVE THE DATA, CLICK ON YES
    --> Again click on Back, it will ask if u wish to save the changes to record entries.
    -> Click on Yes
    --> Now, u will be in Initial screen
    --> Select the record and Click on Program button
    --> Now, provide any program name
    --> Now, select ‘Transfer from recording’
    --> Click on Tick mark
    --> Give some short description
    --> Type as Executable
    --> Click on Source Code button
    --> Automatically the code will appear in SE 38 program.
    U can try these steps with any T-code by knowing the Mandatory fields in it.
    ---> *Now by following all the above steps ur done with the recording process to create a single record in MAterail master (MM01).  Now, we use the same recording process and put this recording under Loop in report program.*
    So that, it will follow the same steps automatically to create materail master records from the flat file. If you have 10 records in flat file(Note pad) then it will do the same process for 10 times to upload 10 records from the flat file using the recoding process that we have done by using the SHDB
    If you want then i will provide you with the sample program to upload the data for MK01 using Call transcation and Session method.
    Call transcation method for MK01:
    U can try these steps with any T-code by knowing the Mandatory fields in it.
    & TITLE  : BDC FOR MK01
    *& DESCR  : UPLOAD THE DATA THROUGH FLAT FILE
    *& TRANSPORT : DOLK901203
    *& VERSION : V1
    *& DATE  :  17th , JAN , 2008
    report Z24_BDC_MK01
           no standard page heading line-size 255.
    *& DECLARATIONS OF STRUCTURE FOR MK01
    TYPES : BEGIN OF TY_MK01 ,
             KTOKK TYPE RF02K-KTOKK ,
             NAME1 TYPE LFA1-NAME1 ,
             SORTL TYPE LFA1-SORTL ,
             PSTLZ TYPE LFA1-PSTLZ ,
             LAND1 TYPE LFA1-LAND1 ,
             END OF TY_MK01 .
    *& DECLARATION OF INTERNAL TABLE
    DATA : T_MK01 TYPE STANDARD TABLE OF TY_MK01 INITIAL SIZE 0 ,
           T_BDCDATA TYPE STANDARD TABLE OF BDCDATA INITIAL SIZE 0 ,
           T_BDCMSGCOLL TYPE STANDARD TABLE OF BDCMSGCOLL INITIAL SIZE 0 ,
           T_ERROR TYPE STANDARD TABLE OF TY_MK01 INITIAL SIZE 0 ,
    *& DECLARATION OF WORK AREA
           W_MK01 TYPE TY_MK01 ,
           W_BDCDATA TYPE BDCDATA ,
           W_BDCMSGCOLL TYPE BDCMSGCOLL .
    *& DECLARATION OF SELECTION SCREEN
    SELECTION-SCREEN BEGIN OF BLOCK B1 WITH FRAME .
    PARAMETERS : P_FILE TYPE FILENAME .
    SELECTION-SCREEN END OF BLOCK B1 .
    *& DECLARATION OF START-OF-SELECTION
    START-OF-SELECTION .
    PERFORM SUB_UPLOAD_DATA .
    PERFORM SUB_POPULATE_BDC .
    PERFORM SUB_ERROR_REC .
    *include bdcrecx1.
    *&      Form  SUB_UPLOAD_DATA
          text
    form SUB_UPLOAD_DATA .
    DATA  : L_FILE TYPE STRING .
         L_FILE = P_FILE .
    CALL FUNCTION 'GUI_UPLOAD'
       EXPORTING
         filename                      = L_FILE
         HAS_FIELD_SEPARATOR           = 'X'
       tables
         data_tab                      = T_MK01 .
    endform.                    " SUB_UPLOAD_DATA
    *&      Form  SUB_POPULATE_BDC
          text
    form SUB_POPULATE_BDC .
    LOOP AT T_MK01 INTO W_MK01 .
    DATA : L_MSG TYPE STRING .
    REFRESH T_BDCDATA .
    perform bdc_dynpro      using 'SAPMF02K' '0107'.
    perform bdc_field       using 'BDC_CURSOR'
                                  'RF02K-KTOKK'.
    perform bdc_field       using 'BDC_OKCODE'
                                  '/00'.
    perform bdc_field       using 'RF02K-KTOKK'
                                   W_MK01-KTOKK.
    perform bdc_dynpro      using 'SAPMF02K' '0110'.
    perform bdc_field       using 'BDC_CURSOR'
                                  'LFA1-LAND1'.
    perform bdc_field       using 'BDC_OKCODE'
                                  '/00'.
    perform bdc_field       using 'LFA1-NAME1'
                                   W_MK01-NAME1.
    perform bdc_field       using 'LFA1-SORTL'
                                   W_MK01-SORTL.
    perform bdc_field       using 'LFA1-PSTLZ'
                                   W_MK01-PSTLZ.
    perform bdc_field       using 'LFA1-LAND1'
                                   W_MK01-LAND1.
    perform bdc_dynpro      using 'SAPMF02K' '0120'.
    perform bdc_field       using 'BDC_CURSOR'
                                  'LFA1-KUNNR'.
    perform bdc_field       using 'BDC_OKCODE'
                                  '/00'.
    perform bdc_dynpro      using 'SAPMF02K' '0130'.
    perform bdc_field       using 'BDC_CURSOR'
                                  'RF02K-LIFNR'.
    perform bdc_field       using 'BDC_OKCODE'
                                  '=ENTR'.
    perform bdc_dynpro      using 'SAPLSPO1' '0300'.
    perform bdc_field       using 'BDC_OKCODE'
                                  '=YES'.
    CALL TRANSACTION 'MK01' USING T_BDCDATA MODE 'N' MESSAGES INTO T_BDCMSGCOLL .
    IF SY-SUBRC <> 0 .
    APPEND W_MK01 TO T_ERROR .
    ENDIF .
    CLEAR W_BDCMSGCOLL .
    READ TABLE T_BDCMSGCOLL INTO W_BDCMSGCOLL INDEX 1 .
    CLEAR L_MSG .
    CALL FUNCTION 'FORMAT_MESSAGE'
    EXPORTING
       ID              = W_BDCMSGCOLL-MSGID
       LANG            = SY-LANGU
       NO              = W_BDCMSGCOLL-MSGNR
       V1              = W_BDCMSGCOLL-MSGV1
       V2              = W_BDCMSGCOLL-MSGV2
       V3              = W_BDCMSGCOLL-MSGV3
       V4              = W_BDCMSGCOLL-MSGV4
    IMPORTING
       MSG             = L_MSG
    EXCEPTIONS
       NOT_FOUND       = 1
       OTHERS          = 2
    IF sy-subrc = 0.
    WRITE : / 'MESSAGE FOR ' , W_MK01-KTOKK ,'-------' , L_MSG .
    ENDIF.
    ENDLOOP .
    endform.                    " SUB_POPULATE_BDC
           Start new screen                                              *
    FORM BDC_DYNPRO USING PROGRAM DYNPRO.
      CLEAR W_BDCDATA.
      W_BDCDATA-PROGRAM  = PROGRAM.
      W_BDCDATA-DYNPRO   = DYNPRO.
      W_BDCDATA-DYNBEGIN = 'X'.
      APPEND W_BDCDATA TO T_BDCDATA .
    ENDFORM.
           Insert field                                                  *
    FORM BDC_FIELD USING FNAM FVAL.
        CLEAR W_BDCDATA.
        W_BDCDATA-FNAM = FNAM.
        W_BDCDATA-FVAL = FVAL.
        APPEND W_BDCDATA TO T_BDCDATA .
    ENDFORM.
    *&      Form  SUB_ERROR_REC
          text
    -->  p1        text
    <--  p2        text
    form SUB_ERROR_REC .
    CALL FUNCTION 'GUI_DOWNLOAD'
      EXPORTING
        filename                        = 'C:/ERRORS OF MK01.TXT'
       WRITE_FIELD_SEPARATOR           = 'X'
      tables
        data_tab                        = T_ERROR .
    endform.                    " SUB_ERROR_REC
    Session Method for MK01:
    *& PURPOSE : This BDC report is used to upload all the vendor master
    *&           data in to SAP using SESSION METHOD with handling the errors
    report Y035_SESSION_METHOD
           no standard page heading line-size 255.
    *& Structure declaration
    *Structure Declaration for source internal table
    TYPES : BEGIN OF TY_UPLOAD,
              LIFNR TYPE RF02K-LIFNR,
              EKORG TYPE RF02K-EKORG,
              KTOKK TYPE RF02K-KTOKK,
              NAME1 TYPE LFA1-NAME1,
              SORTL TYPE LFA1-SORTL,
              LAND1 TYPE LFA1-LAND1,
              SPRAS TYPE LFA1-SPRAS,
              WAERS TYPE LFM1-WAERS,
            END OF TY_UPLOAD.
    *& Internal Table declaration
    *Internal Table Declaration for source table
    DATA : T_UPLOAD TYPE STANDARD TABLE OF TY_UPLOAD INITIAL SIZE 0,
    *Internal Table Declaration for bdcdata
           T_BDCDATA TYPE STANDARD TABLE OF BDCDATA INITIAL SIZE 0,
    *Internal table declaration for BDCMSGCOLL (To handle the errors)
           T_BDCMSG TYPE STANDARD TABLE OF BDCMSGCOLL,
    *Internal table declaration for reprocess the errors
           T_ERRORS TYPE STANDARD TABLE OF TY_UPLOAD INITIAL SIZE 0,
    *& Workarea declaration
    *Work area delaration for source table
           W_UPLOAD TYPE TY_UPLOAD,
    *Work area delaration for bdcdata
           W_BDCDATA TYPE BDCDATA,
    *Work area delaration for BDCMSGCOLL
           W_BDCMSG TYPE BDCMSGCOLL.
    *& Selection screen declaration
    *Selection Screen declaration
    SELECTION-SCREEN BEGIN OF BLOCK B1 WITH FRAME.
    PARAMETERS : P_FLNAME TYPE FILENAME.
    SELECTION-SCREEN END OF BLOCK B1.
    *& Start of selection declaration
    *Start of selection declaration
    START-OF-SELECTION.
    *Upload the data
    PERFORM SUB_UPLOAD_DATA.
    *Populate the BDC data
    PERFORM SUB_POPULATE_BDC.
    *Process the error records
    PERFORM SUB_ERROR_RECORD.
    *include bdcrecx1.
    *&      Form  SUB_UPLOAD_DATA
          This subroutine is used to upload the data
    FORM SUB_UPLOAD_DATA .
    DATA : L_FLNAME TYPE STRING.
    L_FLNAME = P_FLNAME.
    CALL FUNCTION 'GUI_UPLOAD'
      EXPORTING
        FILENAME                      = L_FLNAME
      FILETYPE                      = 'ASC'
        HAS_FIELD_SEPARATOR           = 'X'
      TABLES
        DATA_TAB                      = T_UPLOAD.
    ENDFORM.                    " SUB_UPLOAD_DATA
    *&      Form  SUB_POPULATE_BDC
          This subroutine is used to populate the BDC data
    FORM SUB_POPULATE_BDC .
    DATA : L_MSG TYPE STRING.
    *To oper a sesion in SE35
    CALL FUNCTION 'BDC_OPEN_GROUP'
    EXPORTING
       CLIENT                    = SY-MANDT
       GROUP                     = 'MAMA_SESSION'
       USER                      = SY-UNAME
       KEEP                      = 'X'
       HOLDDATE                 = '20080129'
       PROG                      = SY-CPROG.
    LOOP AT T_UPLOAD INTO W_UPLOAD.
    REFRESH T_BDCDATA.
    perform bdc_dynpro      using 'SAPMF02K'         '0107'.
    perform bdc_field       using 'BDC_CURSOR'       'RF02K-KTOKK'.
    perform bdc_field       using 'BDC_OKCODE'       '/00'.
    perform bdc_field       using 'RF02K-LIFNR'      W_UPLOAD-LIFNR.
    perform bdc_field       using 'RF02K-EKORG'      W_UPLOAD-EKORG.
    perform bdc_field       using 'RF02K-KTOKK'      W_UPLOAD-KTOKK.
    perform bdc_dynpro      using 'SAPMF02K'         '0110'.
    perform bdc_field       using 'BDC_CURSOR'       'LFA1-SPRAS'.
    perform bdc_field       using 'BDC_OKCODE'       '/00'.
    perform bdc_field       using 'LFA1-NAME1'       W_UPLOAD-NAME1.
    perform bdc_field       using 'LFA1-SORTL'       W_UPLOAD-SORTL.
    perform bdc_field       using 'LFA1-LAND1'       W_UPLOAD-LAND1.
    perform bdc_field       using 'LFA1-SPRAS'       W_UPLOAD-SPRAS.
    perform bdc_dynpro      using 'SAPMF02K'         '0120'.
    perform bdc_field       using 'BDC_CURSOR'       'LFA1-KUNNR'.
    perform bdc_field       using 'BDC_OKCODE'       '/00'.
    perform bdc_dynpro      using 'SAPMF02K'         '0310'.
    perform bdc_field       using 'BDC_CURSOR'       'LFM1-WAERS'.
    perform bdc_field       using 'BDC_OKCODE'       '/00'.
    perform bdc_field       using 'LFM1-WAERS'       W_UPLOAD-WAERS.
    perform bdc_dynpro      using 'SAPMF02K'         '0320'.
    perform bdc_field       using 'BDC_CURSOR'       'RF02K-LIFNR'.
    perform bdc_field       using 'BDC_OKCODE'       '=ENTR'.
    perform bdc_dynpro      using 'SAPLSPO1'         '0300'.
    perform bdc_field       using 'BDC_OKCODE'       '=YES'.
    *Transfer data to the session
    CALL FUNCTION 'BDC_INSERT'
    EXPORTING
       TCODE                  = 'MK01'
      TABLES
        dynprotab              = T_BDCDATA.
    ENDLOOP.
    *To close the session
    CALL FUNCTION 'BDC_CLOSE_GROUP'.
    ENDFORM.                    " SUB_POPULATE_BDC
           Start new screen                                              *
    FORM BDC_DYNPRO USING PROGRAM DYNPRO.
      CLEAR W_BDCDATA.
      W_BDCDATA-PROGRAM  = PROGRAM.
      W_BDCDATA-DYNPRO   = DYNPRO.
      W_BDCDATA-DYNBEGIN = 'X'.
      APPEND W_BDCDATA TO T_BDCDATA.
    ENDFORM.
           Insert field                                                  *
    FORM BDC_FIELD USING FNAM FVAL.
        CLEAR W_BDCDATA.
        W_BDCDATA-FNAM = FNAM.
        W_BDCDATA-FVAL = FVAL.
        APPEND W_BDCDATA TO T_BDCDATA.
    ENDFORM.
    *&      Form  SUB_ERROR_RECORD
         This subroutine is used to process the error records
             in to a file T_ERRORS
    FORM SUB_ERROR_RECORD .
    CALL FUNCTION 'GUI_DOWNLOAD'
      EXPORTING
        FILENAME                        = 'C:\MAMA_ERRORS.TXT'
       WRITE_FIELD_SEPARATOR           = 'X'
      TABLES
        DATA_TAB                        = T_ERRORS.
    ENDFORM.                    " SUB_ERROR_RECORD
    Hope the Explonation and information I had provided will resolve your issue.
    Reward points if information is very Helpful.
    Have a great day!
    Regards,
    Krishna Chaitanya
    Edited by: Krishna Chaitanya on Apr 7, 2008 4:59 AM

Maybe you are looking for

  • Creating pdf file from excel worksheet and save file in a macro created folder.

    Hi I have 3 worksheets and I want to conditionally convert them into a pdf file and than save said file into a folder that the macro will create if not already existing and name it with content of cell A1. So my question is if it is possible to do th

  • Itunes store request error 4002? How to fixs it?

    Try to connect to itunes match server but popup dialog box show "itunes store request error 4002"? How to fixs it?

  • New pink N8 comes with Anna

    release date is 13th May, so we should get new OS around then, crosses fingers. from NokNok.tv The Nokia N8 Pink Edition the same specs we've come to know and love, complete with 3.5-inch AMOLED touchscreen, 12-Megapixel camera complete with Carl Zei

  • Ora-2049 vs ora-12170

    We have a 3 node RAC on AIX and have several dbms_jobs running that read and write to a single remote database. Occasionally, but not often, we encounter ORA-2049 timeout: distributed transaction waiting for lock with only one of the jobs. It's the s

  • IS-U BILLDOC conversion

    Hi all, I'm currently analysing the implications of IS-U BILLDOC historical data conversion for a Utilities implementation project. Has anyone had any experience on it or have any documentation to share on the topic? Appreciate your help and advice.