Update Batch Details via DI API

I'm little confused if that topic is in right place, so excuse me if not.
I need to do "Receipt from production" from "Production order". I have Items in "Item master data" defined with Batches.
private void test()
ProductionOrders vProdOrder;
vProdOrder = (SAPbobsCOM.ProductionOrders)oCompany.GetBusinessObject(BoObjectTypes.oProductionOrders);
vProdOrder.GetByKey(28);
SAPbobsCOM.Documents oGoodsIssue;
SAPbobsCOM.Document_Lines oGoodsLines;
SAPbobsCOM.BatchNumbers oBatchNumber;
oGoodsIssue = (SAPbobsCOM.Documents)oCompany.GetBusinessObject(SAPbobsCOM.BoObjectTypes.oInventoryGenEntry);
oGoodsLines = oGoodsIssue.Lines;
oGoodsLines.BaseEntry = 28;
oGoodsLines.Quantity = 2;
oGoodsLines.WarehouseCode = "01";
oBatchNumber = oGoodsLines.BatchNumbers; oBatchNumber.BatchNumber = "aaa";
oBatchNumber.Quantity = 2;
oBatchNumber.Location = "XXXXX";
oBatchNumber.Add();
oGoodsLines.TransactionType = boTransactionTypeEnum.botrntComplete;
int RetVal = oGoodsIssue.Add();
When I do this next time but the line is
oBatchNumber.Location = "YYYYY";
then Quantity on this butch rise on 4, but Location is still XXXXX.
I need to do that Location will be "XXXXX, YYYYY" and so on.
I need to find how Update the existing batches.
I thought that there is some object which handle work with batch details. I found nothing. But in SAPBO its possible to do this. Can you help me somebody?

Dev,
Have a look at the Budget Editor sample that comes with the SDK.  You can find that sample code at ...
..\Program Files\SAP\SAP Business One SDK\Samples\COM DI\VB.NET\09.BudgetEditor
Eddy

Similar Messages

  • Update serial number via DI-API , PickList Function doesn't make sense

    First , Our client want to update the serial number after posting the delivery.
    they receive the goods and store into warehouse,
    but they don't want to scan the serial-number twice ( Incoming-Receive and Outgoing-Delivery )
    they would like to generate a temp serial number for goods receive.
    then they will post a delivery note and choosing the temp serial number for the items.
    after that, their workers scan the serial on the truck and update the serial number of good of delivery note .
    however, the serial number management object is missing. i wish DI-API would provide this kind of function.
    ==========================
    On the other hand, our client have one customer but different delivery address
    i would like to do a delivery via a the pick and pack module,
    B1 will group two or more sales order to one delivery even these order have different shipping address ,
    it doesn't make sense, i wish split the delivery while the shipping address of sale order are not the same.
    Thanks
    Gordon

    Hello Adrian
    Please have a look at SAP Note.864113,which explains how to enter initial quantities for Stock via the DI
    or DTW.
    In both case,the oStockTaking object/template should be used.
    After this information has been entered, the process must be completed
    manually via the Business One client using the Stock posting option
    under 'Initial quantities, Stock taking and Stock posting' window.
    PS:This process is not valid if the items are managed by Serial/Batch.
    In order to do that please follow note 841270.
    Regards,
    Syn Qin
    SAP Business One Forums Team

  • Goods Receipt DTW - Possible to update existing batch details?

    Hello experts,
    Using the three templates OIGE, IGE1, and BTNT I've managed to perform some Inventory Adjustments BY BATCH using DTW.
    The issue I am having is that some of the fields in BTNT are not updating in SAP despite a successful DTW instance depending on whether the batchnumber is pre-existing or is new.
    If the batch already exists, quantities are being receiving as expected but additional data such as "Notes", "InternalSerialNumber", and even some user-defined fields we have created for Appearance, Inventory Tag Number, etc. will not update.  I have checked DTW mapping and it is setup correctly.
    In fact, if the batch number defined in BTNT is NEW to the system these additional details load up as expected, only when it is a quantity update on the batch number do they not.  I thought that since the quantity of a pre-existing batch is being update successfully via this method the other "Batch Details" should update as well.
    Can anyone provide insight as to whether it is possible (and if so how) to update these batch details during a Goods Receipt or Goods Issue DTW for pre-existing batches or will it only do it for a brand new batch #?
    Thanks very much,
    Richard

    Hi Richard,
    Welcome you post on the forum.
    I am afraid you could only update batch details when you imported them as new. You may only update the existing batch details through UI.
    Thanks,
    Gordon

  • How can I import the Batch details after a Good Receive PO is posted?

    Hi,
    My situation is, I will receive the exp.date after I have posted the Good Receive PO, can I import the batch details using the DTW after the Good receive PO is posted?
    Please help.
    Paddy

    Hello Paddy
    The Batch completion window is not exposed by the DI and the only way to
    create/modify Batch numbers via DI API is when creating new documents.
    Once the document is added, it cannot be modified therefore no batch can
    be added afterwards.
    Thus It is not possible to add/modify batch numbers to Business One
    using the DI API or DTW once the GRPO has been added already.
    Regards,
    Syn Qin
    SAP Business One Forums Team

  • Update userid via SOAP API?

    Good morning,
    I'm just curious whether it's possible to change the username in ilearning via the webservice API? As far as I see the userimport transaction uses userid as key, so when I submit a user with a different username (all other data is the same) I get a new user..
    So far so good, but I can change the username on the ilearning admin interface - but is it possible via the API?
    thanks
    peter

    Yes it is, if the existing accounts have an external id and external source and the web service call checks the external id and source first, you can update the username.
    Check the webservices documentation for more detail and external id and src
    Scott
    http://www.seertechsolutions.com

  • Can not update PO via update_po api and getting error in Budgetary Control

    Hi all,
    I am trying to update PO by calling update_PO API. I am trying to follow the manual but am getting an error and can't update the PO. Here is the code:
    declare
    l_result NUMBER;
    l_api_errors apps.po_api_errors_rec_type;
    l_version_no NUMBER := 0;
    l_po_header_id po_headers_all.po_header_id%TYPE;
    l_po_original_amount NUMBER;
    v_po_updated_price NUMBER;
    l_oracle_promised_date DATE;
    v_vendor_site_id po_headers_all.vendor_site_id%TYPE;
    l_vendor_site_code po_vendor_sites_all.vendor_site_code%TYPE;
    l_return_status VARCHAR2 (2000);
         v_error_message VARCHAR2(2000);
    BEGIN
    l_version_no := 0;
    l_po_header_id := 0;
    v_po_updated_price := 0;
    v_error_message := NULL;
    BEGIN
    SELECT revision_num, po_header_id, vendor_site_id
    INTO l_version_no, l_po_header_id, v_vendor_site_id
    FROM po_headers_all
    WHERE segment1 = '*****' --<PO#>
    AND type_lookup_code = 'STANDARD';
    END;
    dbms_output.put_line('l_version_no is ' ||l_version_no);
    --Getting 0 here          
    BEGIN
              l_result := PO_CHANGE_API1_S.record_acceptance(
                        x_po_number => '****', --PO#
                        x_release_number => null,
                        x_revision_number =>l_version_no,
                        x_action => 'NEW',
                        x_action_date => null,
                        x_employee_id => 1359,
                        x_accepted_flag => 'Y',
                        x_acceptance_lookup_code => 'ACCEPT WITH CHANGES',
                        x_note => 'All valid',
                        x_interface_type => 'APITEST',
                        x_transaction_id => null,
                        version => '1.0');
              dbms_output.put_line('Record Acceptance l_result is '||l_result);
    --Getting 1 here. Success.
    l_result :=
    po_change_api1_s.update_po
    (x_po_number => '****', --PO#
    x_release_number => NULL,
    x_revision_number => l_version_no,
    x_line_number => 1,
    x_shipment_number => NULL,
    new_quantity => 10,
    new_price => NULL,
    new_promised_date => NULL,
    launch_approvals_flag => 'Y',
    update_source => NULL,
    VERSION => '1.0',
    x_override_date => NULL,
    x_api_errors => l_api_errors,
    p_buyer_name => NULL
    EXCEPTION
    WHEN OTHERS
    THEN
    dbms_output.put_line('error is ' ||SQLERRM);
    END;
    dbms_output.put_line('l_result is '||l_result);
    --Getting 0 here.... Failure
    IF (l_result <> 1)
    THEN
    FOR i IN 1 .. l_api_errors.MESSAGE_TEXT.COUNT
    LOOP
    v_error_message :=
    v_error_message
    || ' '
    || l_api_errors.MESSAGE_TEXT (i);
    END LOOP;
    END IF;
    COMMIT;
    END;
    Final error message is:
    Supplier site is either exempt from CCR registration or has not been added to agency vendor. Procedure PSA_FUNDS_CHECKER_PKG.glxfck returns an error without any details to the calling procedure PO_ENCUMBRANCE_POSTPROCESSING.execute_gl_call. Please contact your support representative. Your Budgetary Control action completed with exceptions. DO_UNRESERVE-100: User-Defined Exception
    Cause: A SQL error has occurred in DO_UNRESERVE. The SQL error is User-Defined Exception.
    Action: Take note of both this error number and the actions you were trying to perform. Contact your system administrator for further assistance.
    Your Budgetary Control action completed with exceptions.
    Please let me know what can be the croblem here. I can not find anything here on this issue. Please help.
    Thanks.

    Can you review these notes, may help you.
    R12: Funds Check Error 'PSA_BC_XLA_PUB.Budgetary_Control Returns an Error' for Purchase Orders and Requisitions When Federal Financial is Installed [ID 1292042.1]
    Procedure PSA_BC_XLA_PUB.Budgetary_Control Returns an Error Due To "XLA_AP_TECHNICAL_ERROR" [ID 950385.1]
    Fund Check Is Failing - Procedure PSA_BC_XLA_PUB.Budgetary_Control Returns An Error [ID 1338545.1]
    Error: PSA_BC_XLA_PUB.Budgetary_Control When Approving A Project Related PO [ID 1319065.1]
    Procedure Psa_bc_xla_pub.Budgetary_control Returns An Error For Autocreated Blanket Release [ID 751635.1]

  • Retrieve contact list  via the API not with the last updated date but created date?

    I can connect via the API and retrieve a list of contacts  but it seems that the only paramater i can pass is to search since the last Update  Date.
    Is it possible to search on the Created date and to have a date range as well?
    I found the xml result is slow to come as it gives all entries since the "lastUpdateDate" entered.

    A change in score does not cause the Date Modified field to change on the contact record. This field only changes when some data in one of the fields has changed.
    However, some of the confusion can come from the fact that lead scores have a Profile and Engagement portion. So if you have certain fields on the profile section being modified, that would cause a rescore at the same time. Engagement criteria such as form submits often cause the contact record to be modified while website visits and email clicks/opens do not.
    Hopefully this helps clarify,
    Bojan

  • How to determine host status in a task via python api

    Hello all,
    using the python api I am having some issues trying to determine the status of a host within a task. For example I have a job, with one task and 10 hosts associated with that task. Eight hosts finish the task, 2 fail. However via the api I can only seem to determine the status of the job and the task. What I want is to be able to generate a report that basically matches what you see via the gui (ie 8 hosts ok, 2 hosts failed). The data structure OnStageTaskData gives me a status and a list of hosts, but not a status for each host. (Note I am not using any of the depricated functions/data structures). Currently my code looks like (minus the api init, etc)...
    # list all the jobs for last week
    joblist = api.GetJobs()
    for job in joblist:
    # if the job occured in the last week
    if job.c_time > reportstarttime:
    print "\nJob name %s Time %s " %(job.name, time.ctime(job.c_time))
    try:
    jobdetails = api.GetOnStageJob(job.id)
    except COsApiJobNotFoundException:
    print "Can't find job %s details" %job.name
    continue
    for tasks in jobdetails.job_data.tasks:
    for hostid in tasks.task_data.target:
    try:
    hostinfo = api.GetHostGroup(hostid)
    except OsApiHostNotFoundException:
    print "Can't find host details %s" %tasks.task_data.name
    print "Hostname %s Status %s" %(hostinfo.name, tasks.status)
    which generates output like...
    Job name chg233146-sol9 Time Sun Jan 13 10:31:42 2008
    Hostname tacnomsrv02 Status Failed
    Hostname tacpthsrv01 Status Failed
    anyone have another way to doing this or suggestions? Or is this kind of info not available via the api? Thank you.

    Hi ConnectSolutions,
    As you correctly pointed out, there is some bug in our code
    that keeps the room active and you dont receive any events or
    notification if you are entering as guest and waiting and the host
    arrives. Also, since you havent entered yet i.e your role is still
    5 i.e. UserRoles.LOBBY , you can't access any of the UserManager's
    collections and will get a length of 0 always. We will be fixing
    this with priority .
    But you can get around the problem as of now, by having a
    small shared model of yours ( any collectionNode or sharedModel
    will do) where you create a node and publish a message on it from
    the Owner's side whenever the owner/host enters to notify everyone
    that he has entered. Just remember to set the accessmodel of
    NodeConfiguration of node on which you are publishing to LOBBY ie.
    role = 5 , and make the publishModel = 100 so that only owners can
    publish on this node. In this way , any users waiting will be
    receiving this message and will know the host has arrived. If you
    can't get this sharedModel concept to work, let me know. I will try
    to run on my side.
    And as of our side regarding actual fix, we will fix this use
    case and put in the next drop of SDK and also update in forum about
    it.
    On the host side though, he is always notified when he enters
    if there are pending users knocking to enter. See the KnockingQueue
    example in case you want to explore that.
    Thanks
    Hironmay Basu

  • Updating Serial # Location via DTW???

    Hi,  we recently had to relocate some inventory from one location to another.  During initial upload we populated the serial # location during goods receipt.  I now need to change that location for about 100 serial numbers.  Is there a way to do this via DTW?

    Hi Joe........
    Location field for Serial or Batch No. details is editable and you can edit it anyhow but only by going through Inventory> Inventiory Management> Serial/Batch Details and which you can not update through DTW.
    But SAP allows you to enter the correct location while uploading data through DTW of Marketing docs.
    But unfortunately you cannot update the location through DTW where you want to update it. You have to do it one by one manually........
    Regards,
    Rahul

  • Terminate job applications via the APIs in Oracle HR

    Hello, we're trying to terminate a few thousand job applications which have been hanging
    in the database for many years.
    Looking for a programmatic solution we looked at
    hr_application_api.update_apl_details
    but it seems it cannot close the application, only update the "details", as the
    name suggests. We also tried
    hr_person_type_usage.update_person_type_usage
    to change the person type to ex applicant, but, while the person type is
    correctly changed, the applications remains open, creating some inconsistency
    in the data.
    Is there any solution to properly terminate these applications via the public APIs?
    Thanks

    did you tried already the p_termination_reason parameter in the application api?

  • Oracle Updating Batches

    Hi All,
    I wanted to have Batch execute in my java method.
    There are few requirements of that
    1. The data has to be inserted in 2 tables
    2. The data has to be deleted from 2 tables
    3. I have to use Statement for delete as the query uses in clause.
    I have gone through http://web.umr.edu/~ora9i/java.901/a90211/oraperf.htm for Oracle Updating batches.As per the details given in above link, I have few doubts
    1.Can I use 2 or more different Prepared Statements in same Batch?
    For Example:
    //Creating a prepared statement for first table
    ps = conn.prepareStatement(INSERT_INTO_TABLE1);
    ((OraclePreparedStatement)ps).setExecuteBatch (30);
    ps.setInt(1, 23);
    ps.setString(2, "Sales");
    ps.setString(3, "USA");
    ps.executeUpdate(); //JDBC queues this for later execution
    ps.setInt(1, 24);
    ps.setString(2, "Blue Sky");
    ps.setString(3, "Montana");
    ps.executeUpdate(); //JDBC queues this for later execution
    ps.setInt(1, 25);
    ps.setString(2, "Applications");
    ps.setString(3, "India");
    ps.executeUpdate(); //The queue size equals the batch value of 3
    //JDBC sends the requests to the database
    ps.setInt(1, 26);
    ps.setString(2, "HR");
    ps.setString(3, "Mongolia");
    ps.executeUpdate(); //JDBC queues this for later execution
    //Creating a prepared statement for second table
    ps = conn.prepareStatement(INSERT_INTO_TABLE2);
    ((OraclePreparedStatement)ps).setExecuteBatch (30);
    ps.setInt(1, 23);
    ps.setString(2, "Sales");
    ps.setString(3, "USA");
    ps.setInt(4,1);
    ps.executeUpdate(); //JDBC queues this for later execution
    ps.setInt(1, 24);
    ps.setString(2, "Blue Sky");
    ps.setString(3, "Montana");
    ps.setInt(4,1);
    ps.executeUpdate(); //JDBC queues this for later execution
    ps.setInt(1, 25);
    ps.setString(2, "Applications");
    ps.setString(3, "India");
    ps.setInt(4,1);
    ps.executeUpdate(); //The queue size equals the batch value of 3
    //JDBC sends the requests to the database
    ps.setInt(1, 26);
    ps.setString(2, "HR");
    ps.setString(3, "Mongolia");
    ps.executeUpdate(); //JDBC queues this for later execution
    //Atlast calling send batch
    ((OraclePreparedStatement)ps).sendBatch();
    2.Can I use the Oracle Updating Batches for Normal Statements? Can any one elaborate following points
    •     Do not mix standard update batching syntax with Oracle update batching syntax in the same application. The JDBC driver will throw an exception when you mix these syntaxes
    As per above statement, we can’t have both type of updating in a method or in the whole application. Can any one elaborate this point, how it’s possible as every time we have to open a new connection object?
    If we cant make use of both type of batching, then how to implement the Oracle Updating Batches for simple Statements.
    •     The Oracle implementation of standard update batching does not implement true batching for generic statements and callable statements. Although Oracle JDBC supports the use of standard batching syntax for Statement and CallableStatement objects, you will see performance improvement for only PreparedStatement objects.
    3. If first case is possible & if we can use the Oracle Updating Batches for simple Statements, then can we have all the statements in one Batch?
    the query if run from PL/SQL will be like this and in same sequence
    delete from table1 where country in ('USA','GERMANY')// multiple statement of this type
    delete from table2 where country in ('USA','INDIA'))// multiple statement of this type
    insert into table1 values(1,'SALES','USA'))// multiple statement of this type
    insert into table2 values(1,'SALES,'Australia','1')// multiple statement of this type

    Dear Robert Richardson,
    Unfortunately you can only access the Batch/Serial object by an document object.
    If you want to update a Batch fields, then you need to get the document object first, then get its batch object as
    Documents > Document_Lines > BatchNumbers.
    Another thought is to update the field value by UI API when open the OIBT form if possible.
    Best Regards
    Jane Jing
    SAP Business One Forums team

  • Updating user details programmatically

    Portal version 3.0.9.8.1
    We are successfully creating users programmatically using the
    APIs:
    PORTAL30_SSO.WWSSO_API_USER_ADMIN.CREATE_USER and
    PORTAL30.WWSEC_API.ADD_PORTAL_USER
    We are now trying to update user details programmatically using
    PORTAL30.WWSEC_API.MODIFY_PORTAL_USER but noticed that this only
    updates the portal30 user details - not portal30_sso.
    Is there an equivalent API for updating the portal30_sso user?

    Hi mon_adobe,
    It's not possible to redirect this form upon submission to another page. However what you can do here is place a redirect on the 'Update Details Form Confirmation Page' System Page as a workaround. You can access this System Page via Site Manager > System Pages > Update Details Form Confirmation Page.

  • Corrupt Credit Note created via DI API

    Hello,
    when i try to create a credit note via di api i get the error message "one of the base documents has been closed", even if the source document is not closed. But this is not the main problem. After this i have a corrupt credit memo in my system, that means a credit memo with out any detail lines. The error occurs only on one customer systems, on a lot of other systems the creation of credit notes works fine. Had anybody the same effect or clue what causes this problem.
    Regards

    Hello we found the problem, i can reproduce it on a belgium database.
    I want you to inform about a critical error in the SBO_SP_TransactionNotification.
    If you check the line data of a document and send an error for this data the front end works fine. But if you use the DI-API the header data of document will be saved and the lines will be not saved.
    if @object_type in ('14','19') and @transaction_type = 'A'
    begin
    declare @corrCRD as varchar(8)
    if @object_type = '14'
    set @corrCRD = (select distinct(correction) from ovtg where code in (select vatgroup from RIN1 where docentry = @list_of_cols_val_tab_del) and correction = 'N')
    else if @object_type = '19'
    set @corrCRD = (select distinct(correction) from ovtg where code in (select vatgroup from RPC1 where docentry = @list_of_cols_val_tab_del) and correction = 'N')
    if @corrCRD = 'N'
    begin
    set @error = 1
    set @error_message = 'You have entered a regular VAT Code on the document, this is not allowed'
    end
    end

  • Error while updating bank details through ESS

    Hi All,
    While updating banks details through ESS, " change in the payroll past not possible".
    I have checked IT0003 and noticed that accounted to  31.08.2014.
    I assume this might be causing the error. Could you please advice with your expertise.

    Let me explain how it happens and why we don't allow change of bank records in past 1959820 - ESS: Wrong delimit of TC3 records For other scenarios where ESS behavior is similar to PA30 :
    An example i share
    For other scenarios where ESS behavior is similar to PA30 :
    Current date < End date of current payroll period
    Current date > Accounted to date in IT0003
    Payroll status: released for payroll Got error when reviewing the editin
    -g.
    Error: Online maintenance is locked in payroll area QM
    Current date < End date of current payroll period
    Current date < Accounted to date in IT0003
    Payroll status: released for correction Got error when reviewing the edi
    -ting.
    Error: Change in the payroll past not possible
    Current date < End date of current payroll period
    Current date < Accounted to date in IT0003
    Payroll status: released for payroll Got error when reviewing the editin
    -g.
    Error: Online maintenance is locked in payroll area QM
    When the infotype 0009 is modified, the system is regrouping data for the infotypes which are checked releavnt according to the table T582G. Retroactivity is checked via V_T582A In view V_T582A for infotype 0009 you will see, I guess, that the field 'Past entry all.' is maintained with an 'E'. This means that it is not allowed to maintain any infotype 0009 record for the payroll past. The important day for this check is the last day of the last accounted period. Retroactive change of infotype 0009 is not permitted as the bank transfer is already done. This is the reason why this infotype can not be changed retroactively. For bank records end user must not be allowed to maintain past date records and should not be allowed to change any other detail of record when payroll for that period is already run. for e.g. if current date is 26/11/2013. Then end user must not be allowed to edit other bank record effective from 25/11/2013. We should not allow end user to edit record effective from 27/11/2013 because payroll is already run for that period. If user is allowed to change then data maintained in infotype 9 and information send to payroll may be different. You can use BAdi HRXSS_PER_BEGDA,to default the next payroll period

  • Cannot update batch header MIGO GR in MB_DOCUMENT_BADI

    I am trying to update next inspection date via MIGO when Goods Receipting a production order which is held in the batch header and in a classification we have set up. I have used function modules to try and perform the update.
    I have used both 'VB_UPDATE_BATCH' and QEVA_BATCH_UPDATE both by themselves and in an update task to update field QNDAT. (1st one updating MCHA and MCH1 the second one to update MCHA).
    I had the code before in POST_DOCUMENT of BADI MB_MIGO_BADI and this made no difference either. Sometimes it updates if I cancel the material document and redo the goods receipt with the same production number but this is very inconsistent. I need this to be done when I am posting the goods receipt.
    Does anyone have any ideas as I am at the end of my tether with this one?
    Many thanks
    Regards
    Larissa Maryniuk

    i did not get total req .
    but i came to know that u want to update batch.
    rt .use this i did in this.
    MB_MIGO_BADI
    use this method  LINE_MODIFY
    where u can modify batch field.
    and if u want to modify batch characteristics
    use
    MBCFC004
    in this
    EXIT_SAPMM07M_004
    if nay clarification plz reply.

Maybe you are looking for

  • HDMI Audio Output doesn't work in Windows on Retina MBP

    When I'm using Windows 7 (with BootCamp) on my Retina MacBook Pro, I like to connect it to my TV using the HDMI out to watch movies. However, when in Windows, it doesn't seem to output the audio to the TV. Instead, it plays through the MacBook's inte

  • How can I use a right,  left or decimal tab in a table?

    As soon as I set up a left, right, center or decimal key and then hit the tab key in order to position a number, the cell highlight switches to the next cell and the number does not move to the position desired. I can set a left, right or center posi

  • Date Difference in Oracle 10g

    Hi All, Am having two input parameter, 1. Period Start Date 2. Period End Date Now i need to find out the difference for the following parameters between those two dates, 1. Monthly Difference (Number of months between two dates) 2. Quaterly Differen

  • SAP Script not printing as viewed in preview

    Hi Experts, I have a SAP Script which is driven via RFFOUS_C Program.The script is using custom page format which is created via SPAD. I have a wierd issue like i can see all my data in preview but when i print all the lines are not printing as viewe

  • Has anyone from the UK recieved their iPod Touch 4th Gen yet?

    I ordered mine on 2nd and it was estimated for delivery 10th - 15th September but still say Prepared for Shipment