특정 SUPPLIER SITE LEVEL의 DATA수정 시도시 RE-QUERY ERROR

제품 : FIN_AP
작성날짜 : 2004-05-19
특정 SUPPLIER SITE LEVEL의 DATA수정 시도시 RE-QUERY ERROR
=================================================
Problem Description
특정 Supplier Site level의 Data수정 시도시 아래의 Message발생
==============================================
record has been updated, re-query block to see change
==============================================
Solution Description
아래의 SQL을 실행해서 "CHK_TRAIL_SPACE"라는 Procedure를
만든 후 생성된 Procedure를 다음의 방법으로 실행하면, Input Table의
어떤 Column에 NULL문자가 들어갔는지 확인할 수 있다.
set serveroutput on
execute chk_trail_space(<table_name to check>);
i.e. (execute chk_trail_space('PO_VENDORS');)
trailspace.sql:
===============================================================================
CREATE OR REPLACE PROCEDURE CHK_TRAIL_SPACE (p_table_name in varchar)
IS
v_table_name varchar(30);
v_column_name varchar(30);
v_column_name_c char(30);
v_space_count number;
v_ret number; -- temp holder for above
v_initial_space_counter number;
dyn_cursor number;
CURSOR TABLE1 IS
SELECT table_name
FROM DBA_TABLES
WHERE table_name = p_table_name;
CURSOR COLUMN1 IS
SELECT column_name
FROM DBA_TAB_COLUMNS
WHERE table_name = v_table_name;
BEGIN
OPEN TABLE1;
LOOP
-- FOR crec1 in TABLE1 LOOP
fetch TABLE1 into v_table_name;
IF (TABLE1%NOTFOUND) THEN
exit;
END IF;
dbms_output.put_line(v_table_name);
dbms_output.put_line
v_initial_space_counter := 0;
OPEN COLUMN1;
LOOP
-- FOR crec2 in COLUMN1 LOOP
fetch COLUMN1 into v_column_name;
IF (COLUMN1%NOTFOUND) THEN
exit;
END IF;
dyn_cursor := DBMS_SQL.OPEN_CURSOR;
DBMS_SQL.PARSE
(dyn_cursor,
'SELECT COUNT(*) ' ||
'FROM ' || p_table_name ||
' WHERE ' || v_column_name || ' LIKE ''% ''',
DBMS_SQL.NATIVE);
DBMS_SQL.define_column (dyn_cursor, 1, v_space_count);
v_ret := DBMS_SQL.EXECUTE(dyn_cursor);
if DBMS_SQL.fetch_rows(dyn_cursor) > 0 then
DBMS_SQL.column_value (dyn_cursor, 1, v_space_count);
end if;
DBMS_SQL.CLOSE_CURSOR(dyn_cursor);
IF v_space_count > 0 THEN
v_initial_space_counter := v_initial_space_counter + 1;
END IF;
v_column_name_c := v_column_name;
IF v_space_count > 0 THEN
dbms_output.put_line(' ' || v_column_name_c || to_char(v_space_count))&
#059;
END IF;
end loop;
close column1;
end loop;
close table1;
END CHK_TRAIL_SPACE;
====================================================================
NULL문자가 들어간 Column이 확인되면,
update po_vendors
set vendor_name = rtrim(vendor_name);
위의 방법으로 수정하면 된다.
Reference Documents
Note :234048.1

If I delete the purchase details/line item, the supplier site can be changed.
The error appeared again after the new line item selected,click on "Shipment" button, and change the supplier site.
It's not able to change it. Any reason caused by the line item shipment? how it relate?

Similar Messages

  • Bank Account at Supplier Site Level in R12

    Hi,
    I have a requirement to create bank account at supplier site level. This is part of the conversion.
    I have been testing with the below code
    DECLARE
    l_extbank_rec iby_ext_bankacct_pub.extbankacct_rec_type;
    l_vendor_site_id NUMBER (10) := 704;
    l_party_site_id NUMBER (10) := 42458;
    p_org_id NUMBER (10) := 11665;
    l_account_id NUMBER (10);
    l_return_status VARCHAR2 (2000);
    l_msg_count NUMBER (5);
    l_msg_data VARCHAR2 (2000);
    l_response iby_fndcpt_common_pub.result_rec_type;
    BEGIN
    --l_extbank_rec.  bank_account_id   :=    ;
    l_extbank_rec.country_code := 'US';
    l_extbank_rec.branch_id := 284238;
    l_extbank_rec.bank_id := 284236;
    --l_extbank_rec.  acct_owner_party_id           :=    ;
    l_extbank_rec.bank_account_name := 'TEST_ACCT';
    l_extbank_rec.bank_account_num := 976431;
    l_extbank_rec.currency := 'USD';
    --l_extbank_rec.  iban                          :=    ;
    --l_extbank_rec.  check_digits                  :=    ;
    --l_extbank_rec.  multi_currency_allowed_flag   :=    ;
    --l_extbank_rec.  alternate_acct_name              :=    ;
    --l_extbank_rec.  short_acct_name               :=    ;
    l_extbank_rec.acct_type := 'Current';
    --l_extbank_rec.  acct_suffix                      :=    ;
    --l_extbank_rec.  description                      :=    ;
    --l_extbank_rec.  agency_location_code          :=    ;
    ----l_extbank_rec. foreign_payment_use_flag := ;
    --l_extbank_rec.  exchange_rate_agreement_num   :=    ;
    --l_extbank_rec.  exchange_rate_agreement_type  :=    ;
    --l_extbank_rec.  exchange_rate                    :=    ;
    --l_extbank_rec.  payment_factor_flag              :=    ;
    --l_extbank_rec.  status                        :=    ;
    -- l_extbank_rec.end_date := '27-AUG-2011';
    l_extbank_rec.start_date := SYSDATE;
    iby_ext_bankacct_pub.create_ext_bank_acct
    (p_api_version => 1.0,
    p_init_msg_list => fnd_api.g_true,
    p_ext_bank_acct_rec => l_extbank_rec,
    p_association_level => 'SS',
    p_supplier_site_id => l_vendor_site_id,
    p_party_site_id => l_party_site_id,
    p_org_id => p_org_id,
    p_org_type => 'OPERATING_UNIT',
    x_acct_id => l_account_id,
    x_return_status => l_return_status,
    x_msg_count => l_msg_count,
    x_msg_data => l_msg_data,
    x_response => l_response
    COMMIT;
    DBMS_OUTPUT.put_line ('x_return_status = ' || l_return_status);
    DBMS_OUTPUT.put_line ('x_msg_count = ' || l_msg_count);
    DBMS_OUTPUT.put_line ('x_msg_data = ' || l_msg_data);
    DBMS_OUTPUT.put_line ('x_acct_id = ' || l_account_id);
    DBMS_OUTPUT.put_line ('Error = ' || SQLERRM);
    END;
    ===========================
    Result:
    x_return_status =
    x_msg_count =
    x_msg_data =
    x_acct_id =741
    Error = ORA-0000: normal, successful completion
    ===========================
    Your response is much appreciated.
    Thanks,
    Srini

    Have you initialized the environment before calling the API?
    You can do this by
    fnd_global.apps_initialize(&user_id,&responsibility_id,&application_id>);
    mo_global.init('SQLAP'); -- Required for R12

  • INVALID_PARTY_CONTEXT while creating Bank accounts at supplier site level

    Hi All,
    I am trying to create a bank account at supplier site level using below code.
    IBY_EXT_BANKACCT_PUB.CREATE_EXT_BANK_ACCT(p_api_version => 1.0,
    p_init_msg_list => fnd_api.g_true,
    p_ext_bank_acct_rec => l_ExtBankAcct_rec,
    p_association_level => 'SS',
    p_supplier_site_id => l_vendor_site_id, --Vendor_site_id from ap_supplier_sites_all table
    p_party_site_id => l_party_site_id, --party_site_id from ap_supplier_sites_all table
    p_org_id => p_org_id, , --org_id fron which the program is run
    p_org_type => 'OPERATING_UNIT',
    x_acct_id => x_acct_id,
    x_return_status => l_return_status,
    x_msg_count => l_msg_count,
    x_msg_data => l_msg_data,
    x_response => x_response);
    when I run this code from concurrent program.
    x_return_status is NULL, x_msg_count is also NULL, X_msg_data is also NULL.
    Whereas in x_response i am getting x_response.Result_Code = INVALID_PARTY_CONTEXT
    Can you please help, why is it not able to create bank account, I have valid bank and branch for this.
    Thanks,
    Sachin

    Thanks for reply Hussain.
    I have checked all these notes, 2 our of these 2 are for AR API's.
    The first note says that it would given error if you try to create a supplier of type 'EMPLOYEE' and site is given other than 'HOME' or 'OFFICE', but I am creating supplier of type 'VENDOR' and 'EMPLOYEE'.
    This note has solution "Set supplier site = 'HOME' or 'OFFICE' type.".
    As we are not creating supplier of Type 'EMPLOYEE', i guess this solution does not hold good for us.
    Any other suggestions please?
    Thanks,
    Sachin

  • Supplier Sites Interface errors out -- URGENT!! please help.

    Hi All,
    The log file has the following message when executing the supplier sites interface import program that errored out:
    REP-1419: 'beforereport': PL/SQL program aborted.
    I have searched Metalink where they said the Batch Size should be 1000 by default. I did the same but still did not work.
    I have made sure that teh vendor_id, vendor_site_code, org_id combination is unique.
    I am not sure why I am getting this record. I have to process around 300000 records. When I ran the import progam the first time, it errored out after processing 171000 records. Then when I ran the program again for new records(that were not imported) it errored out after processing 42000 records. I dod not know how to resolve this issue.
    Please help!!
    Swati

    Please check if the following notes are applicable to the issue:
    Note: 369443.1 - Supplier Sites Open Interface Import Errs With Rep-1419 Rep-1419
    https://metalink.oracle.com/metalink/plsql/ml2_documents.showDocument?p_database_id=NOT&p_id=369443.1
    Note: 369913.1 - Supplier Open Interface Import (APXSUIMP) Errors: Rep-1419
    https://metalink.oracle.com/metalink/plsql/ml2_documents.showDocument?p_database_id=NOT&p_id=369913.1

  • Supplier site open interface

    Hi,
    I am working on supplier site open interface. I succesfully loaded data into 'ap_supplier_sites_int' interface table. After submitting supplier site open interface program, it's giving '*Operating Unit Info is null*' error. But, i have operating unit for corresponding supplier site.
    Data in 'ap_supplier_sites_int' : (Just providing important columns)
    vendor_name operating_unit country address1 address2 city state org_id
    INTELLI Vision Operatins America 5 INDEPENDENCE WAY Suite 200 Princeton NJ 204
    Verizon Vision Operatins America PO BOX 1100 null null NY 204
    Verizon Vision Operatins America PO BOX 15124 null null NY 204
    Verizon Vision Operatins America PO BOX 4648 null null NJ 204
    Is there any link between operating unit, city and country.
    Kindly help me. Thanks in advance.

    I don't see anything in your question specific to BI Publisher.
    Is this better targeted for the E-Business Suite forum?

  • R12 API for Payment Method Update at supplier site

    Hi
    I am using api AP_VENDOR_PUB_PKG.Update_Vendor_Site to update the Payment Method at Supplier Site level. The below code executes with no error but dont update the payment method. The requirement is to update the payment method to SEPA
    Code :
    DECLARE
    v_error_reason VARCHAR2 (2000) := NULL;
    v_msg_data VARCHAR2 (1000) := NULL;
    v_msg_count NUMBER := NULL;
    v_return_status VARCHAR2 (100) := NULL;
    v_vensite_rec_type      AP_VENDOR_PUB_PKG.r_vendor_site_rec_type;
    ext_payee_rec           IBY_DISBURSEMENT_SETUP_PUB.EXTERNAL_PAYEE_REC_TYPE;
    BEGIN
    DBMS_OUTPUT.put_line ('BEFORE apps initialization');
    --Fnd_Global.apps_initialize(-1,20639,200);
    fnd_global.apps_initialize(730908,141200,401);
    --DBMS_OUTPUT.put_line ('AFTER apps initialization');
    v_error_reason := NULL;
    v_return_status := NULL;
    v_msg_count := NULL;
    v_msg_data := NULL;
    --ext_payee_rec.default_pmt_method := 'SEPA';
    v_vensite_rec_type.org_id := 2796;
    v_vensite_rec_type.vendor_site_code := '0653-01NEUSS';
    v_vensite_rec_type.ext_payee_rec.default_pmt_method := 'SEPA';
    --v_vensite_rec_type.ext_payee_rec.default_pmt_method:= 'CHECK';
    DBMS_OUTPUT.put_line ('BEFORE remittance API');
    AP_VENDOR_PUB_PKG.Update_Vendor_Site
    ( p_api_version => 1.0,
    p_init_msg_list => FND_API.G_FALSE,
    p_commit => FND_API.G_FALSE,
    p_validation_level => FND_API.G_VALID_LEVEL_FULL,
    x_return_status =>v_return_status ,
    x_msg_count => v_msg_count,
    x_msg_data => v_msg_data,
    p_vendor_site_rec =>v_vensite_rec_type,
    p_vendor_site_id => '393130'
    commit;
    DBMS_OUTPUT.put_line ('AFTER pymt mtd API');
    DBMS_OUTPUT.put_line (v_return_status);
    DBMS_OUTPUT.put_line (v_msg_count);
    DBMS_OUTPUT.put_line (v_msg_data);
    IF v_return_status = fnd_api.g_ret_sts_success THEN
         IF v_msg_count >= 1 THEN
    FOR i IN 1 .. v_msg_count
    LOOP
    IF v_error_reason IS NULL THEN
    v_error_reason := SUBSTR (fnd_msg_pub.get (p_encoded => fnd_api.g_false), 1, 255);
    ELSE
    v_error_reason := v_error_reason|| ' ,'|| SUBSTR (fnd_msg_pub.get (p_encoded => fnd_api.g_false), 1, 255);
    END IF;
    DBMS_OUTPUT.put_line ('VENDOR_remittance email UPDATE API ERROR-' || v_error_reason);
    END LOOP;
    END IF;
    ROLLBACK;
    ELSE
    DBMS_OUTPUT.put_line ('The updateion is sucessful');
    COMMIT;
    END IF;
    EXCEPTION
    WHEN OTHERS THEN
    DBMS_OUTPUT.put_line (SQLERRM || '-' || SQLCODE);
    END;
    the fnd_api.g_ret_sts_success returns value as 'U' . Means it did not completed successfully
    Do I need to user following API ?
    IBY_DISBURSEMENT_SETUP_PUB.Update_External_Payee instead of above API?
    Thanks for help
    Best Regards
    Nikhilesh
    Edited by: user10238025 on Apr 26, 2013 5:38 AM

    Hi Irfan,
    thanks for reply.
    we are on application version 12.1.1 .
    But i have one doubt here, if we update directly ap_supplier_sites_all table, it won't impact on TCA tables know?
    Thanks.
    Edited by: user627525 on Jul 27, 2010 12:16 AM

  • R12 SUPPLIER SITE UPDATE API

    Hi Gurus,
    Currently I'm developing Supplier Site Update Program, I need to update Supplier Site level liability account information.
    I found an API (AP_VENDOR_PUB_PKG.Update_Vendor_Site), please confirm is this right API to update vendor sites? As I aware, In R12 Supplier moved to TCA, will this API takes care of TCA table update? If not, any other API should be called to update Supplier related records in TCA table?
    Any sample code will help a much
    Thanks

    Yes. See AP_VENDOR_PUB_PKG.Update_Vendor_Site updating inactive date doesn't work for sample code.
    Hope this helps
    Sandeep Gandhi
    Independent Techno-functional Consultant

  • Defaulting Bank details in AP Invoice automatically from Supplier Site

    Hi,
    I want the bank details (bank name, number in the payment schedules tab in AP invoice form) to be defaulted from the supplier site when I select the supplier and site in the AP invoice header. can anyone tell me the setup or the profile option to set to do this?
    I am using 11.5.10.2
    Thanks.
    Imran

    Hi Imran
    You need to define the supplier bank account and attach the same to the supplier site level. Ensure that the primary check box is cheked wile attaching the bank account at the site level. After this, once you create the invoice against the supplier and site, the bank account will default on the invoice. Thyere is no other set up required.
    Thanks
    Vinit

  • Auto Sequence create on Supplier Site  DFF

    Dear,
    We are on r12, Requirment is that we have DFF on supplier site level, now i want to generate auto squence on Segment1,
    which should be generated on every site creation through Fron-END,
    So how can i acheive This.
    Thanks

    I assume you meant attribute1 (not segment1).
    Have you considered a before-insert database trigger?
    Hope this helps,
    Sandeep Gandhi

  • Supplier conversion into R12 giving error at site level(AP_INVALID_TCA_ERR)

    Hi All,
    I am running "Supplier Sites Open Interface Import" for Supplier Site conversion but standard program is failing with the following error msg: "AP_INVALID_TCA_ERROR".
    Can any one please help me how I can fix this issue. Any help will be Gold for me.
    Best Regards,
    Shaik.

    Hi Hussein,
    OS: Linux.
    DataBase: Oracle 11g
    Application is : Oracle R12.2
    Below is the coucurrent request Log.
    Payables: Version : 12.0.0
    Copyright (c) 1979, 1999, Oracle Corporation. All rights reserved.
    APXSSIMP module: Supplier Sites Open Interface Import
    Current system time is 09-NOV-2010 02:48:40
    +-----------------------------
    | Starting concurrent program execution...
    +-----------------------------
    Arguments
    P_WHAT_TO_IMPORT='ALL'
    P_COMMIT_SIZE='50000'
    P_PRINT_EXCEPTIONS='N'
    P_DEBUG_SWITCH='Y'
    P_TRACE_SWITCH='Y'
    APPLLCSP Environment Variable set to :
    Current NLS_LANG and NLS_NUMERIC_CHARACTERS Environment Variables are :
    American_America.AL32UTF8
    Enter Password:
    MSG-00001: After SRWINIT
    MSG-00002: After Get_Company_Name
    MSG-00003: After Get_NLS_Strings
    MSG-00004: After Importing Suppliers
    MSG-00005: After Get_Header_Information
    MSG-00020: After SRWEXIT
    Report Builder: Release 10.1.2.3.0 - Production on Tue Nov 9 02:48:43 2010
    Copyright (c) 1982, 2005, Oracle. All rights reserved.
    Executing request completion options...
    Output file size:
    2369
    ------------- 1) PRINT   -------------
    Printing output file.
    Request ID : 1446582      
    Number of copies : 0      
    Printer : noprint
    Finished executing request completion options.
    Concurrent request completed successfully
    Current system time is 09-NOV-2010 02:48:54
    Best Regards,
    Shaik

  • MDW Disk Usage for Database Report Error - A data source has not been supplied for the data source DS_TraceEvents

    Hello,
    On the MDW Disk Usage Collection Set report, I get the following error when I click on a database hyperlink.
    A data source has not been supplied for the data source DS_TraceEvents
    SQL profiler shows the following SQL statements are executed (I've replaced the database name with databaseX)
    1. exec sp_executesql N'SELECT
    dtb.name AS [Name]
    FROM
    master.sys.databases AS dtb
    WHERE
    (dtb.name=@_msparam_0)',N'@_msparam_0 nvarchar(4000)',@_msparam_0=N'databaseX'
    this returns zero rows as databaseX does not exist on my MDW central server, but is a database on a target server (i.e. one that is being monitored and uploaded into the MDW central server).
    2. USE [datatbaseX]
    this produces the following error:
    Msg 911, Level 16, State 1, Line 1
    Database 'databaseX' does not exist. Make sure that the name is entered correctly.
    why is the report looking for the database on my server?
    thanks
    Jag
    Environment: MDW (Management Data Warehouse) on SQL 2008 R2

    Hi Jag,
    Based on my test, while this database is offline, we will encounter this issue. This is because that while we click the certain database in “Disk Usage Collection
    Set” report, it will query some information with that certain database. If this database is offline, we will not access this database to acquire related information and generates this error.
    Therefore I recommend that you check the status of this database by using this system view:
    sys.databases. If it is not online, please execute
    the following statements in a new window to make this database to be online:
    USE master
    GO
    ALTER DATABASE <database name> SET ONLINE
    GO
    If anything is unclear, please let me know.
    Regards,
    Tom Li

  • Supplier Site Contacts Open Interface Import Program is erroring out.

    Hi,
    We are on 12.0.4 on solaris 10.
    Tomorrow is go-live in one of our client, When we doing data migration. Uploaded the data into Interface table. From there we are running this standard program to push th edata into standard table.
    Its erroring out saying:
    ================
    Enter Password:
    REP-0069: Internal error
    REP-57054: In-process job terminated:Terminated with error:
    REP-300: unable to extend temp segment by 128 in tablespace TEMP2
    ==> SELECT INT.org_id C_Rejected_Org_Id,
    ===============
    I have added 2 GB of Tempfile to the tablespace even though it is erroring in the same. And it is taking too much time to give error.
    We are tried with only one record also it is taking 1 hr to give the error.
    Please help me out in resolving the same.
    Many thanks in Advance..
    Supplier Site Contacts Open Interface Import

    I believe you hit Bug# 6624764, so you may need to apply (Patch 6624764 - SUPPLIER REPORT ERROS WITH ENTER PASSWORD: REP-0069: INTERNAL ERROR REP-57054).
    Please log a SR to confirm this with Oracle Support.
    Note: 565898.1 - Oracle Financials Software Updates, Release Update Pack 5
    https://metalink.oracle.com/metalink/plsql/ml2_documents.showDocument?p_database_id=NOT&p_id=565898.1

  • Customer Communication Tab details query at site level

    Hi,
    Can anyone please provide query to get the customer communication tab details in 11i at site level.
    Regards
    Dev

    Hi Octavio,
    Thank you for sending me this query. I am working on Customer Interface in R11i. For updating the records I need to check already existing data for a particular customer in a particular site. I am getting all the details except the communication tab details.
    I am writing the below query but it is giving multiple rows and same data. Some phone numbers and email addresses are missing in the communication tab . Please correct me what mistake i am doing.
    SELECT hcp.email_address,
    ,hcp.phone_area_code
    ,hcp.phone_number
    ,hcp.phone_extension
    ,hcp.phone_line_type
    FROM ra_customers rc
    ,ra_addresses_all raa
    ,hz_party_relationships hpr
    ,hz_contact_points hcp
    WHERE rc.party_id = raa.party_id
    AND rc.party_id = hpr.object_id
    AND hcp.owner_table_id = raa.party_site_id
    AND rc.orig_system_reference = 'C100233' -- This I will get from the file for update
    AND raa.orig_system_reference = 'A100961' -- This I will get from the file for update
    AND hcp.orig_system_reference = '<Phone Reference>' -- This I will get from the file for update
    Regards
    Dev

  • Error when update supplier site in Purchase Order

    Step to re-produce:
    1. Create New Purchase Order.
    2. Add 1 line item, fill-in Type = Goods, Item No, Need-By or Promised.
    3. Click on the "Shipment" button.
    4. Change the Site of the Supplier in the PO header.
    5. Error shown: "You cannot change the supplier or site for this order. Re-query the order to proceed".
    What is causing this error? Pls help. Thanks.

    If I delete the purchase details/line item, the supplier site can be changed.
    The error appeared again after the new line item selected,click on "Shipment" button, and change the supplier site.
    It's not able to change it. Any reason caused by the line item shipment? how it relate?

  • Query to create supplier site

    What is the query to create supplier site? I have to create 500 suppliers sites for a project, how do i do it? What is the query?

    Oracle provides a number of APIs to create such data.
    For your task, you can use the supplier api.
    See sample code at http://oracleapps88.blogspot.com/2011/09/supplier-supplier-site-creation-using.html
    Since you have to create only the sites, you can skip to supplier creation steps in the above website.
    Sandeep Gandhi

Maybe you are looking for

  • Displaying text in two columns in SAP Script

    Moved to correct forum.  Please use a meaningful subject in future - I've edited it for you this time. Hello Everybody, I have a text to be displayed in Scripts. I want to split the text into 2 columns. Like in news paper. aaaaaaaaaaaaaaaa   aaaaaaaa

  • What can be done to enable multiple usb  "mouse" buttons  in Solaris 10 ?

    My usb multimedia keyboard is recognized as a "combined" usb device. Two /dev/usb/hidx are created , one with usb keyboard driver attached, the other with the usb mouse driver attached. Events are generated for the scroll wheel on the keyboard, but n

  • Photo app close suddenly

    When I push icon of photo app, try to open but suddenly close. I have a 64Gb 3G model Message was edited by: albertosoler

  • Control deployed SOA Composite from another BPEL

    Hi All, I am trying to control the bpel process(activate/retire) on the server, by using JAVA Embedding activity in another bpel. So i am using the below code. import java.util.Hashtable; import java.util.*; import javax.naming.Context; import oracle

  • How to retouch for a softer focus behind the main subject?

    My problem must be common enough: I take a photo of my son and two grandchildren in the park - take a bunch, actually, because the kids are small and wriggling around. As hoped, one is fine, so crop it to a good snap of the three on the grass - f/5.6