HT1688 What is the EXACT procedure of getting your iPhone 4 factory unlocked?

I live in India and I'm looking to buy factory unlocked iPhone4. Are they out yet? Where will I be able to buy factory unlocked? Is there a certain internet store from which i can buy?

There are factory unlocked iPhones available, and I suggest that you check the Apple store.  A locked iPhone can only be unlocked by the carrier, and it may behoove you to check with a carrier and find out the exact unlock policy.  Another way - one that I do not recommend - is to buy an iPhone in a country where iPhones are unlocked.  I live in Thailand, and all iPhones are unlocked.  The downside is:
1. The iPhone cost is not subsidized, and the highest-end model sells for the equivalent of approximately $1000US.
2. The iPhone warranty is only valid in the country in which the iPhone was originally purchased.  So, if you buy an iPhone in Thailand, use it in India and need to have a warranty repair performed, it'll be a nightmare.

Similar Messages

  • What is the exact  procedure of SNOTE implementation(step by step)

    Hello Friends,
    I have 2 system landscape (DEV/QAS and PRD)
    DEV.100/QAS.200 are in one system and  PRD is as separate system..
    Now want to implement SNOTE in two system landscape.
    If you implement SNOTE, is it implemented in all clients..????
    Above two systems are Solution Manager 4.0. SP16.
    Please give me step by step...
    regards,
    gandalf.

    If i want to implement SNOTE, i need SAP transport layer ..????
    Because my DEV/QAS are in same system and PRD is separate system....
    If DEV client /QAS client are in same system and PRD is separate system, you need SAP transport layer. for this two system landscape ??????????????????????
    What is the exact use SAP transport layer
    ( i know that SAP transport layer is used only for SAP standard objects and also it is configured between DEV system and QAS system, if both systems are different)
    IF DEV/QAS are in same system there is no need of configuring SAP transport layer between DEV client and QAS client.
    Please advice.
    regards,
    gandalf.

  • How can I get my iPhone 4 factory unlocked?

    Hi,
    I just bought an iPhone 4 from a dude on Craigslist. I don't have AT&T (never had it in the past either), and was hoping that I could unlock it for T-Mobile. It is running iOS 5.1.1, and the 04.12.01 base band.
    So, who can I go to so that it could get factory unlocked?

    See item 3 Here  >  Community etiquette
    Also... See the  More Like This  on the right...

  • How to get an iPhone 4 factory unlocked

    Will Apple Factory unlock my phone so I can use it with whatever carrier I want to?

    Head north and buy your iPhone from an Apple Store in Canada. Make sure you specify you want an unlocked phone with no contract (you will pay full price). It will not come with a microSIM.
    You can then head home and use either AT&T or T-Mobile. If you go the T-Mobile route you will not have Visual Voice Mail, you will be restricted to EDGE speeds (56k) for data, and FaceTime will not work.
    If you need warranty service you will have to return to a Canadian Apple Store.
    But you can use your iPhone with a almost any system around the world that uses GSM. If you are a world traveler this would be a good thing. If you rarely leave the US you are wasting your money.

  • What is the exact procedure of upgrading the ESS/MSS

    Hi,
    We intially started with EP 7.0 sp13 and ESS/MSS version 600 SP10.Later on we upgraded to EP 7.0 SP13 and ESS/MSS to SP13.
    we have done lot of customisations to SAP ESS/MSS standard code and we did them again when we upgraded ESS/MSS.
    Again we are planning to upgrade Portal to another version .so here my doubts are
    1.Is it necessary to upgrade ESS/MSS everytime we upgrade portal(because ESS/MSS version = Portal version - 3 )
    2.Do we need to do all the customisations again manually?
    3.Is there anyway we can create copy of all the DCs which we want to customise and then do the customisations so that we dont need to redo all the work whenever we upgrade ESS/MSS
    Thanks
    Bala Duvvuri

    Bala,
    Usually, there are 3 (+1 ) types of patches that are done:
    1. Kernel and JDK. This one is easy, can be done often. Affects perfomance, but rarely functionality.
    2. Netweaver SPS. This one will update basic functionality, but in most cases will not affect ESS. Also can be done every 3 month.
    3. ERP SPS. This one will affect ESS. You will be required to go through the cookbook. Backend HR component versions must match EP XSS. It makes sense, because EP XSS will call backend BAPIs and they should be of the same versions. Not very often I see ERP SPS applied every 3 month. One of the reasons is that user UI screens and procedure may change and the cycle of testing and user training rarely fits into 3 month.
    +1. EHP, Enancement Packs. This is SAP effort to give a more granular aproach to functional changes. Basically your functional team will decide if it needs a new function and it will be possible to implement and activate it. If it happens that the function is HR and it affects XSS and it brings a new version, then yes, you will need to do XSS merge-update. It will be clear from the EHP docs. How often to do ESS related EHP? See 3. Keep in mind that EHP docs may give an impression that there is no impact until you "turn on" new function, but it is true for ABAP (with some exceptions), less so on the Java side.
    Regards,
    Slava

  • What is the best way to clean your iPhone 5 screen ?

    I Just bought an iphone 5 and i was wondering how i can clean my screen.
    I used an eyeglass cloth, can i use that ?
    Or is there a better way ?
    Thnx!

    I never used any  spray ever with the cloth so there cannot be any ''leftovers'' of spray in the cloth.
    I guess my eyeglass cloth also is microfiber, but not for sure. But its very soft and there is no dirt in it. And its linnen free.  And it also works awesome. Fingerprints are ereased very easily but i don't want to damage my screen.
    Does anyone know if this can damage (by any reason) ? And if so, i used i one time, will it already be damaged ?:)
    Thanks!

  • What would be the exact query to get above outout?

    Hi
    i hav table like:
    name phys chem math
    ram 80 73 71
    sham 75 73 85
    jadu 72 82 73
    got?
    answer would be like:
    ram phys 80
    sham math 85
    jadu chem 82
    what would be the exact query to get above outout?

    Table: HighestMarks
    Stname          Phy     math     Chem
    Aseet          50     64     90
    Rabi          80     96     34
    Pravat          57     95     90
    Sankar          80     60     45
    Query:
    select t1.stname, decode(t2.m_p,t1.phy,'phys',decode(t2.m_c,t1.chem,'chem','math')) subject
    ,decode(t2.m_p,t1.phy,phy,decode(t2.m_c,t1.chem,chem,math)) marks
    from HighestMARKS t1,
    select max(phy) m_p, max(chem) m_c, max(math) m_m from HighestMARKS t1
    ) t2
    where t1.phy=t2.m_p
    or t1.math = t2.m_m
    or t1.chem = t2.m_c
    Error:
    1.     if a single person secure highest marks in two subjects(Pravat secure highest mark in Math and Chem) then this query shows 2 subjects .It does not show the highest mark in Math
    Stname Subjects Marks
    Aseet     chem     90
    Rabi     phys     80
    Pravat     chem     90
    Sankar     phys     80
    But if 2 person secures same highest mark then this query returns results.

  • Hi, I have a Iphone 5. Its a little physically damaged at corders of steel band and now its not getting boot up. I am from INDIA and what to know what is the excat procedure for my phone replacement. Phone is under warranty.

    hi can anone answer the question i have asked ??
    Ques: Hi, I have a Iphone 5. Its a little physically damaged at corders of steel band and now its not getting boot up. I am from INDIA and what to know what is the excat procedure for my phone replacement. Phone is under warranty.

    goelAkash wrote:
    now who is responsible ?? I think the apple care people are responsible as the phone was charging when they cleaned that charging jack. fault is at their end.
    It doesn't matter that the damage doesn't appear to be related to the problem you're having. Once the phone is damaged, the warranty is void.
    Forum etiquette note: you don't need to post the identical response three times.
    Best of luck.

  • What is the exact name of the cable I need to connect my old hard drive from my macbook pro (it has been taken out of the computer) to my new macbook pro?  I need to transfer files from the old hard drive to the new computer.

    What is the exact name of the cable I need to connect my old hard drive from my macbook pro, which has been removed from the computer, to my new macbook pro?  I need to transfere files from the old hard drive to the new computer.

    No eSATA to USB. Just a SATA/IDE to USB adapter. Google SATA/IDE to USB adapter and you will get tons of links to buy them. Most likely your local computer electronics store has them, although they might be more expensive buying locally than online.
    I have several. You can get either USB 2, which what I recommend, or USB 3. USB is backward compatible so a USB 3 adapter will work on a USB 2 port and a USB 2 adapter will work on a USB 3 port. Backward compatible in both directions.
    I suggest a USB 2 type because there have been some problems with certain USB 3 devices, the USB 3 interface used isn't all that good in those certain devices. USB 3 is still fairly new where as USB 2 has been around for over 10 years.
    synghem wrote:
    Thank you LowLuster,
    At the apple store they said I needed an esata to usb wire.  But looking at wires on line has been confusing.  Is sata the same as esata?  How do I know if I need a usb 3 or usb 2?

  • What Are the Exact Basic rules for Replying a Thread...... -:)   @};-

    Hi Experts,
    After Looking into the forums many days I had a small conclusion about forums,
    SAP Forums are better place I have seen for getting a goo dhelp & Knowledge...
    Why can't we make it a BEST Place.
    This is just a small doubt which I would like to clear myself first,
    I have seen many users In the forums asking for a Basic Questions
    When cleared, But still they want to have a Spoon feeding with a Sample Code.
    When Sample Code Given they will provide the original code and requests for Modifications.
    These always looks to me as crazy.
    I have seen somelong time agin by moderators posting that In SCN there will be no SPOON FEEDING.
    I am not sure whether if still this Rule AVAILABLE or NOT.
    Ok if the task is really difficult let them ask again and again,
    And it was not replied, let them repost, I agree with them.
    And How about a User Registered in SDN very long back and asking for a silly question in below thread,
    [Sendin Email to the recipent list -Need correct FM |Getting the address from shipto partner of Bil. item not directly from C.ma]
    This is one more example, really funny, The thread poster needs the solution at any cost, he doesn't require and Suggetions,,, {He Only needs Solution}
    [Radio Buttons |Radio Buttons;
    [Turning Off Debugger |Turning Off Debugger;
    [Regarding Amount in words|Regarding Amount in words;
    There are 100's of threads like this....Everyone knows this facts.
    Check this who answered this one and who replied correct answer, who copied, finally who was rewarded...!
    [how to validate POsting period |Re: how to validate POsting period]
    Now My Real Problem is....!
    User is always intelligent, Only the weakness is in Contributor, trying to help them,..,
    And I openly say that Someone requesting for basic help is not DUMB, But the Contributor replying forgets
    the basic rules " Why Contributing ?"
    According to me It's not the Requestor to see Rules & Requlations before posting the threads,
    But its responsibilty for the Contributing person to see th Rules & Requlations before replying the threads,
    If we follow the rules and stand on a single word or rule or anything there will be Good Result.
    Major Problem is in US not anyone else.
    Example Some one saying search in the forum,,, then please no replies after that...
    But we are very pity hearted again we post the solution,,,
    But it is not at all enough(for cintribtor's)... they will copy the solution and post again by slight Modifications,
    And Some users are having 500,600,700,800 Posts with 0 points, registered long long back.
    They are completly dependent on forums,,, As they goto office and as they eat, The same they open forums and ask Queries...
    They will never realize what they are doing,, and we will never let them improve better...
    Finally Lets Discuss About this and Correct & Suggest me if I am wrong,
    Is my thoughts are going in the right way or not I am not even sure... Please Aslo Correct me if I did any mistakes.
    Thanks & regards,
    Dileep .C
    Edited by: Dileep Kumar Chinnaiah on Apr 29, 2009 12:33 PM
    Title Changed Form
    "What to do when someone asking for Basic Questions" to "What Are the Exact Basic rules for Replying a Threads...... "

    Hi Stephen,
    Very useful Information,
    First tell me a little something about my self...
    After completion of my certification(as a fresher) I was down the streets hunting the job,
    with the insufficient knowledge and being a non-experienced person, I never got one.
    And mean while when I got my "S-UserID", I used to be proud, To say frankly, I registerd in SDN & SAP all at a time, without even knowing what I can do there..,
    When I got a job afterwords I was doing the job and never seen SDN page for many months,
    when I came to know that of we have doubts we can post at SDN. then started requesting help,
    I posted only a little, I didnot got the proper response. on that day I decided,
    still there are some places where we cannot get help on time and there will be people waiting to get help,
    Why cant I put some of my efforts to help others.
    Then I searched some topic by Topic in SDN topic by Topic I used to read threads just for knowledge.
    when I feel my self comfort for contributing, I started contibuting...!
    If you haven't read it, take a look first, so you can understand where things are now.
    I dont know where things are now. But these in this thread I mentioned clearly what I seen from the day I started contributing.
    I searched with the terms of 'Rules for replying', The results are not as I expected, and this link has subject as
    "O SDN, where art thou?" So it dosent hit my in the list.
    Like everybody until a certain stage I am also rushing for points.
    But I most cases I never tried to copy paste answers. If I done some then that is just to point it myself some day,
    I have no hopes or no intrest on the points...! This was discussed with Rob & Matt, at my inital contribution where my points are 36.
    From that day till date I have changed a lot to myself.
    Everyone cannot change like me because they are not like me & And I dont even expect that...!
    I will be online almost 6-8Hrs a day, Not even getting intrest to see the forums just because of the co-contributors.
    My only point is I am just requesting to a co-contributor,
    Clearly In a example : Lets say contributor has replied to a thread, and if you know that is a correct solution,
    please dont reply any more, If you have a better solution than that, then only reply,
    Even there is one reply in the thread not a matter, if correct answer leave that query.
    If still error persists, Show up with your Idea's...
    Dont let down the contributor, by copying his reply and editing and pasting(edit only if incorrect).
    I am just looking for this one exactly to circulate between ourselfs.
    For this we a little support from moderators to circulate(may be as a rule or may be as a mail to them)
    You may say again how many mails we have to send, It dosent matter, one mail to one person one time,
    and +ve factors will show up definetly.
    A real contributor always understand what I am talking about, but some one who hunts for points will never.
    I am really sorry if I am troubling with my doubts & requests,
    If so, Pleae forgive me,,
    Thanks & regards,
    Dileep .C

  • What is the exact problem with this file?

    Hi all,
    There is an old form , which was not in use from many days.
    Now when we tried to run the form, i got the error saying "FRM-40734:Internal Error:Pl/SQL error occured.", in the login form.
    When i tried to open the fmb file in Oracle Forms Builder 6i, i got the following error:
    FRM-10102: Cannot attach PL/SQL library d2kwutil. This library attachment will be lost if the module is saved., but the fmb file got open.
    The login button has the following code:
    DECLARE
      UNAME VARCHAR2(30);
      --USER_ID PARAMLIST;
      V_USER APUSERMA.USER_NAME%TYPE;
      V_PASSWED APUSERMA.USER_PASSWD%TYPE;
    BEGIN
    select user_CD INTO :GLOBAL.USER_ID from apuserma 
    where user_CD = :TI_USER_NAME AND user_PASSWD = :IT_USER_PASSWD
    AND SYSDATE BETWEEN USER_VALID_FRM AND USER_VALID_TO;
    :global.user_id  := substr(win_api_environment.read_registry('HKEY_LOCAL_MACHINE\system\currentcontrolset\control\computername\computername','computername'),1,10);
    :global.compname := :compname;
    compnm(:compname);
    --USER_ID := CREATE_PARAMETER_LIST('USER_id_NAME');
    call_form('Forms\MAIN_SCREEN',hide,DO_REPLACE);
    exception
      when no_data_found then
      MESSAGE('Incorrect Username or Password.  Please Re-Enter');
      message(' ');
      RAISE FORM_TRIGGER_FAILURE;
    END;
    EXIT_FORM;
    When i tried to compile, i got error saying ,
    Error 201 at line 10, column 28
    identifier 'WIN_API_ENVIRONMENT.READ_REGISTRY' must be declared.
    I am not getting to know What is the exact problem with this file?
    Help me with this please.
    Thank You.
    Oracle forms builder 6i.
    Oracle 9i.

    Vijetha wrote:
    I also want to know what is the use of  win_api_environment.read_registry('HKEY_LOCAL_MACHINE\system\currentcontrolset\control\computername\computername','computername') ??
    What does it do??
    If i comment the following line , will it be a problem??
    :global.user_id  := substr(win_api_environment.read_registry('HKEY_LOCAL_MACHINE\system\currentcontrolset\control\computername\computername','computername'),1,10);
    Because i commented the above line & compiled, so it is not giving any error now.
    So please tell me what win_api_environment.read_registry does??
    it's read windows registry value. So, no problem if you comment it.
    Thanks

  • What is the best procedure to update from Leopard (or Snow Leopard) to Mavericks?

    The pacient:
    Macbook Pro A1278
    Running 10.5.8 -- but have an Update DVD to 10.6 (Snow Leopard)
    Got slower in start-up
    Very slow in power-off (takes lot of time on shut-down!)
    What is the BEST procedure to update it from Leopard to Mavericks?
    A) update & clean
    Backup to Time Machine (in Leopard)
    Update from 10.5.8 to 10.6 (Snow Leopard)
    Update 10.6 to 10.6.8
    Donwnload and Update to Maverics
    Do any kind of clean to increase speed in start-up / shut-down - Any suggestions?
    or
    B) fresh install & update & recover Time Machine
    Backup to Time Machine
    Reinstall a fresh 10.5.8 (Leopard) - should increase speed in start-up / shut-down ??
    Update from 10.5.8 to 10.6 (Snow Leopard)
    Update 10.6 to 10.6.8
    Donwnload and Update to Maverics
    Recover users data & config from Time Machine
    I am thrilled to heard your advices!!
    PS. Aditional suggestions to make a faster boot / power-down , before or after updating are very welcome ;!)

    Go to  Menu > About this Mac > and tell us Version, Processor & Memory specs on your Mac. Also available hard disk space, by choosing your Macintosh HD and "Get Info" (cmd-i)
    If you're having issues now with slow sratup and shutdown, it's probably a third party item. If it is, then it may limited to your user account. If that's the case and you do a clean install, then migrate you will wind up migrating it right back.
    The first thing to check would be to boot into your Guest account and test, or try starting in Safe Mode and see if the problem still occurs?
    Restart holding the "shift" key.
    (Expect it to take longer to start this way because it runs a directory check first.)
    If this works look in System Preferences > Users & Groups > Login items and delete any third party login items.
    Also look in /Library/Startup Items. Nothing is put in that folder by default, so anything in there is yours. Then log out and back in or restart and test.
    If the problem is sorted, be sure to make a new backup before proceeding. Since the problem is sorted and you have a backup without the offending items, then there's no reason not to use the simple upgrade method you outlined in A. With the exception of "cleaning". The only cleaning your Mac should need is with a soft cloth. Stay away from so-called cleaning/optomizing utilities.

  • What is the proper procedure to backup to multiple external hard drives if one wishes to rotate drives such that you may store one in a fire safe?

    Description:  If I want to back up to two external hard drives using Time Machine, what is the proper procedure to follow such that I could keep one attached to Time Machine for daily backups, and one that I attach monthly such that I can back it up monthly, and then store it in a fire safe.  To do this, what are the exact steps to follow?
    Research in Progress:
    I selected the "?" icon in Time Machine which took me to "Mac Help - Time Machine Preferences" section.  I reviewed this section, including the "Select Backup Disk, Select Disk, Add or Remove Backup Disk."  It says, "If you haven’t set up Time Machine, click Select Backup Disk to set up a backup disk. Repeat the steps for each backup disk you want to set up."  I did add two backup disks.  It goes on to say "If you already set up Time Machine, your backup disks are listed, and information about each backup disk is shown. To select, add, or remove backup disks, click Select Disk or Add or Remove Backup Disk."  Well, what is lacking here is what happens when you "Remove" the backup disk.
    As I have read this section, it raises additional questions:
    What are some cautionary statements.
    What happens after you remove a backup disk?  Will Time Machine recognize it later?
    What is the proper procedure for removing and ejecting one of your external hard drive when you use it with Time Machine?  What happens if you don't "remove" a backup drive and instead just drag it to the "trash can, i.e. eject it" and later reconnect it.?

    Time Machine supports multiple backup drives including network area storage volumes (NAS) as well as physically-connected external backup drives.
    In , System Preferences, Time Machine, add the second drive by clicking Select Disk.
    All available connected drives including connected network drives are displayed.
    Select the additional drives, one at a time.
    Connected Network drives are displayed on the desktop only when actively being used by Time Machine for backup.
    When prompted, select 'use both' when adding the second drive.
    Then choose Select or Remove at the bottom of the list of available devices and network volumes to add additional drives.
    Time Machine then automatically rotates backups among the available designated devices and volumes.
    If the drive is physically not present, Time Machine skips to the next available backup drive.
    To DISMOUNT a drive to take it off-site, it is NOT necessary to remove it from the Time Machine preferences.
    When the drive is NOT in use, dismount it by Command+clicking that Drive icon on your desktop (or in Finder) and then "Eject".
    That's it.
    After 10 days with no backups to a given device, Time Machine does display a message and (as I recall) asks if you want to remove that drive from the rotation.
    You can never be too rich or have too many backups!

  • What is the correct procedure to connect and collect events from IPS through SDEE

    What is the correct procedure to connect and collect events from IPS through SDEE?
    We are a 3rd party application, that needs to collect and analyze the IPS events for a client.
    Currently the approach we are following is
    1) get a SubscriptionId using the URL below
    https://IP_Of_IPS/cgi-bin/sdee-server?action=open&events=evIdsAlert&force=yes
    This gets us a subscriptionId which is used in step 2
    2) Collect events from the url below
    https://IP_Of_IPS/cgi-bin/sdee-server?confirm=yes&action=get&subscriptionId=sub-sample&startTime=1362699903575432000
    a few more notes here are
    - starttime is current time in nanoseconds
    the peculiar problem here is that, even though we specify todays date, SDEE returns us the events from mid Feb (today is march 7)
    we did try a few combinations, but are out of ideas.
    any help or direction would be appreciated

    This is more an application issue than an IPS issue.
    Have you compared your app against other apps [IME]?

  • 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