Unicode bound parameter in criteria

I am using Oracle 9iR2 with ODBC driver version 9.2.0.5.4 (the latest as of this writing) with a Visual C++ application. I am trying to perform a query from a table with an NVARCHAR2 column in the WHERE clause as a bound parameter. The query looks like this:
SELECT * FROM UNICODE_P WHERE UNICODE_COLUMN = ?
The column UNICODE_COLUMN is an NVARCHAR2 (UTF-16) column. The table contains one row, and the column in question in that row contains a 5 Japanese characters (10 bytes). When calling SQLBindParameter, I am using SQL_C_WCHAR for the c-type and SQL_WVARCHAR for the sql-type. Attempting to fetch the data results in SQL_NO_DATA_FOUND.
I also get SQL_NO_DATA_FOUND when I attempt an UPDATE with a unicode column in the criteria. I can perform INSERTs and UPDATEs using SQLBindParameter in this way (except for in the where clause in the update statement), and they work as expected.
I have found that if I set the "Force SQL_WCHAR Support" option on my DSN, the query does return the row in question; however, this is not acceptable for my application since that causes the driver identify every normal character type column (char, varchar2, or clob) as being a Unicode type column.
This works as expected when I run my app against other databases (MS SQL Server and IBM DB2). Has anyone experienced this problem and know how to get around it? Is it a bug in the Oracle ODBC driver?
Any help is greatly appreciated!
-Chris

I am using Oracle 9iR2 with ODBC driver version 9.2.0.5.4 (the latest as of this writing) with a Visual C++ application. I am trying to perform a query from a table with an NVARCHAR2 column in the WHERE clause as a bound parameter. The query looks like this:
SELECT * FROM UNICODE_P WHERE UNICODE_COLUMN = ?
The column UNICODE_COLUMN is an NVARCHAR2 (UTF-16) column. The table contains one row, and the column in question in that row contains a 5 Japanese characters (10 bytes). When calling SQLBindParameter, I am using SQL_C_WCHAR for the c-type and SQL_WVARCHAR for the sql-type. Attempting to fetch the data results in SQL_NO_DATA_FOUND.
I also get SQL_NO_DATA_FOUND when I attempt an UPDATE with a unicode column in the criteria. I can perform INSERTs and UPDATEs using SQLBindParameter in this way (except for in the where clause in the update statement), and they work as expected.
I have found that if I set the "Force SQL_WCHAR Support" option on my DSN, the query does return the row in question; however, this is not acceptable for my application since that causes the driver identify every normal character type column (char, varchar2, or clob) as being a Unicode type column.
This works as expected when I run my app against other databases (MS SQL Server and IBM DB2). Has anyone experienced this problem and know how to get around it? Is it a bug in the Oracle ODBC driver?
Any help is greatly appreciated!
-Chris

Similar Messages

  • StartDrag bounds parameter gets truncated and/or rounded

    This one is very frustrating. I have determined that the
    bounds parameter passed to startDrag is being truncated and/or
    rounded. Not exactly sure where the truncating and/or rounding is
    happening. It is very apparent with large scaleX and scaleY values.
    I have a sample that illustrates this, create a one file project
    and copy/past it in. Both images should be constrained inside of
    the red square, the top left point of the images constrained to the
    green square in each. However, it appears that the left constraint
    snaps to the top left of the canvas. I am doing something where
    people can use arbitrary sizes, so if people use small numbers to
    make the math easy, I end up with horrible drag functionality. I
    guess I could refrain from using the scaleX and scaleY values, but
    that is what they are supposed to do.

    Since I haven't heard a reply, I've posted a functioning demo
    (or not functioning as the case may be) so that people can see it
    in action. Any assistance would be great, this is a real problem
    now.
    http://flex.theonlinedemo.com/DragTest/DragTest.html

  • A question about a method with generic bounded type parameter

    Hello everybody,
    Sorry, if I ask a question which seems basic, but
    I'm new to generic types. My problem is about a method
    with a bounded type parameter. Consider the following
    situation:
    abstract class A{     }
    class B extends A{     }
    abstract class C
         public abstract <T extends A>  T  someMethod();
    public class Test extends C
         public <T extends A>  T  someMethod()
              return new B();
    }What I want to do inside the method someMethod in the class Test, is to
    return an instance of the class B.
    Normally, I'm supposed to be able to do that, because an instance of
    B is also an instance of A (because B extends A).
    However I cannot compile this program, and here is the error message:
    Test.java:16: incompatible types
    found   : B
    required: T
                    return new B();
                           ^
    1 errorany idea?
    many thanks,

    Hello again,
    First of all, thank you very much for all the answers. After I posted the comment, I worked on the program
    and I understood that in fact, as spoon_ says the only returned value can be null.
    I'm agree that I asked you a very strange (and a bit stupid) question. Actually, during recent months,
    I have been working with cryptography API Core in Java. I understood that there are classes and
    interfaces for defining keys and key factories specification, such as KeySpec (interface) and
    KeyFactorySpi (abstract class). I wanted to have some experience with these classes in order to
    understand them better. So I created a class implementing the interface KeySpec, following by a
    corresponding Key subclass (with some XOR algorithm that I defined myself) and everything was
    compiled (JDK 1.6) and worked perfectly. Except that, when I wanted to implement a factory spi
    for my classes, I saw for the first time this strange method header:
    protected abstract <T extends KeySpec> T engineGetKeySpec
    (Key key, Class<T> keySpec) throws InvalidKeySpecExceptionThat's why yesterday, I gave you a similar example with the classes A, B, ...
    in order to not to open a complicated security discussion but just to explain the ambiguous
    part for me, that is, the use of T generic parameter.
    The abstract class KeyFactorySpi was defined by Sun Microsystem, in order to give to security
    providers, the possibility to implement cryptography services and algorithms according to a given
    RFC (or whatever technical document). The methods in this class are invoked inside the
    KeyFactory class (If you have installed the JDK sources provided by Sun, You can
    verify this, by looking the source code of the KeyFactory class.) So here the T parameter is a
    key specification, that is, a class that implements the interface KeySpec and this class is often
    defined by the provider and not Sun.
    stefan.schulz wrote:
    >
    If you define the method to return some bound T that extends A, you cannot
    return a B, because T would be declared externally at invocation time.
    The definition of T as is does not make sense at all.>
    He is absolutely right about that, but the problem is, as I said, here we are
    talking about the implementation and not the invocation. The implementation is done
    by the provider whereas the invocation is done by Sun in the class KeyFactory.
    So there are completely separated.
    Therefore I wonder, how a provider can finally impelment this method??
    Besides, dannyyates wrote
    >
    Find whoever wrote the signature and shoot them. Then rewrite their code.
    Actually, before you shoot them, ask them what they were trying to achieve that
    is different from my first suggestion!
    >
    As I said, I didn't choose this method header and I'm completely agree
    with your suggestion, the following method header will do the job very well
    protected abstract KeySpec engineGetKeySpec (Key key, KeySpec key_spec)
    throws InvalidKeySpecException and personally I don't see any interest in using a generic bounded parameter T
    in this method header definition.
    Once agin, thanks a lot for the answers.

  • Data model: single quote in default parameter value

    Hello,
    when I assign a default value to a parameter in my Data model, which includes a single quote (i.e. "It's a default value"), then the single quote is escaped with a backslash (i.e. "It\'s a default value") when I open the report associated with the data model. How can I get rid of the escape character when opening a report?
    Regards,
    Jure

    Hi Yogini,
    Thanks for your reply.
    When the customer name is selected, discoverer reports automatically enclose the customer names in single quotes. like 'ABC LTD', 'ABC's INC',
    I know how to change this single quote format. Also we don't want user to change the parameter selection criteria once selected.
    Also related to double quotes isn't it doubles are treated as column names in the SQL query and can not be used for any other purpose.
    Apologies, I haven't tried this but I think it will not work. Have you tried this with discoverer viewer.
    As mentioned intrusting things is when a customer name with single quote is selected in discoverer Plus it automatically formats the filter criteria to look like ['ABC LTD', 'ABC''s INC'] but this thing doesn't happen in viewer.
    I think this is a bug in discoverer viewer and think there must be some patch available to correct this problem.
    Sorry, don't have a solution yet but will certainly update the thread once I get the solution.
    Also please keep looking for a solution and let me know as well.
    Thanks a lot in advance.
    Best Regards,
    Manish

  • Single Quote in Parameter values...!

    Hi there,
    I am using oracle oracle disco. 10g
    In my report there are 2 parameters. First being the customer name and another being the transaction reference. Transaction reference parameter is based on the customer name(s) selected.
    The customer data contains a single quote [e.g. ABC's]. Thus, when the user selects the customer name [with a single quote] and tries to select the transaction reference - discoverer viewer returns an error message - 'Invalid Value'
    This does not happens in discoverer plus.
    Imp: We can not change the data - otherwise I would have remove the single quote from the customer name as part of my query.
    any ideas..!
    Any help would be really appreciated.
    Best Regards,
    Manish

    Hi Yogini,
    Thanks for your reply.
    When the customer name is selected, discoverer reports automatically enclose the customer names in single quotes. like 'ABC LTD', 'ABC's INC',
    I know how to change this single quote format. Also we don't want user to change the parameter selection criteria once selected.
    Also related to double quotes isn't it doubles are treated as column names in the SQL query and can not be used for any other purpose.
    Apologies, I haven't tried this but I think it will not work. Have you tried this with discoverer viewer.
    As mentioned intrusting things is when a customer name with single quote is selected in discoverer Plus it automatically formats the filter criteria to look like ['ABC LTD', 'ABC''s INC'] but this thing doesn't happen in viewer.
    I think this is a bug in discoverer viewer and think there must be some patch available to correct this problem.
    Sorry, don't have a solution yet but will certainly update the thread once I get the solution.
    Also please keep looking for a solution and let me know as well.
    Thanks a lot in advance.
    Best Regards,
    Manish

  • Problems with bound parameters in oracle text queries

    Executing the following query I get strange effects depending on the value I pass for the search string :str ...
    With value "Med" everything works fine and I get the results I have expected.
    But when passing "Tech" as value to the query, the result is ORA-20000 and DRG-50901 (Oracle Text error, syntax error in parser)
    select * from (
    SELECT /*+ FIRST_ROWS */ *
    FROM SERVICE_CATEGORY sCat
    WHERE (
    CONTAINS ( sCat.SERVICE_CATEGORY_C , '<QUERY><textquery grammar="CONTEXT"><progression><seq>{'
    || :str || '}</seq><seq>'
    || :str || '%</seq><seq>%'
    || :str || '%</seq><seq>fuzzy({'
    || :str || '},1,100,WEIGHT)</seq></progression></textquery></QUERY>', 1 ) <> 0 AND
    sCat.SERVICE_TYPE_C IS NULL AND sCat.SERVICE_SPECIALTY_C IS NULL )
    ORDER BY score(1) DESC ) where rownum <= 20
    When passing the search string "Tech" directly to the query without using bound paramters, everthing works fine:
    select * from (
    SELECT /*+ FIRST_ROWS */ *
    FROM SERVICE_CATEGORY sCat
    WHERE (
    CONTAINS ( sCat.SERVICE_CATEGORY_C , '<QUERY><textquery grammar="CONTEXT"><progression><seq>{'
    || 'Tech' || '}</seq><seq>'
    || 'Tech' || '%</seq><seq>%'
    || 'Tech' || '%</seq><seq>fuzzy({'
    || 'Tech' || '},1,100,WEIGHT)</seq></progression></textquery></QUERY>', 1 ) <> 0 AND
    sCat.SERVICE_TYPE_C IS NULL AND sCat.SERVICE_SPECIALTY_C IS NULL )
    ORDER BY score(1) DESC ) where rownum <= 20
    Also, when I use >0 instead of <>0 everthing works fine:
    select * from (
    SELECT /*+ FIRST_ROWS */ *
    FROM SERVICE_CATEGORY sCat
    WHERE (
    CONTAINS ( sCat.SERVICE_CATEGORY_C , '<QUERY><textquery grammar="CONTEXT"><progression><seq>{'
    || 'Tech' || '}</seq><seq>'
    || 'Tech' || '%</seq><seq>%'
    || 'Tech' || '%</seq><seq>fuzzy({'
    || 'Tech' || '},1,100,WEIGHT)</seq></progression></textquery></QUERY>', 1 ) > 0 AND
    sCat.SERVICE_TYPE_C IS NULL AND sCat.SERVICE_SPECIALTY_C IS NULL )
    ORDER BY score(1) DESC ) where rownum <= 20
    Does anybody have an explanation for the strange effect when using a bound parameter in combination with <> 0?

    I don't know why your query using bind variables is giving you a problem but use of literal inside CONTAINS second argument is encouraged anyway over bind variables starting with 10gR2 (unless you are confident enough about the cost and selectivity of your queries to the extent that you can use SQL hint instead). The literal replacement feature introduced in release 9i caused a hard-parse if the literal value changed but starting with 10gR2, at least for CONTAINS, a hard-parse is avoided even if the literal value has changed as long as the cost and selectivity is similar to an existing cursor in the library cache (e.g. within 10%).
    Faisal

  • Subreport parameter question

    I have a report on liquor licensees that brings in zero to several values (extra license privileges)  in a subreport.  It works ok but I can't get a parameter/selection criteria to work.  I can get it to select based on the parameters, but when I don't put in any parameters I don't get any records, and when I put in all the choices, I get them, but I don't get the records with no extra license privileges, i.e., no records in the subreport's table.
    The report already has several parameters that don't draw from the subreport.
    I tried using a left outer join.
    I don't know if I have the subreport links right.  Right now I'm back to the beginning, without that parameter.  Will someone please help me?
    Edited by: Lauri Malone on Aug 21, 2008 10:46 PM

    Then I see two options:
    1. Conditionally suppress details section and here are the steps
    - have subreport in Details A section and pass subreports results as shared variable to main report
    - Conditionally suppress all other Details (B,C,D,.etc) sections based on shared variable
    2. Switch main report and subreport
    -Your current subreport could be a main report where based on parameters you can concatenate a list of records that you want to select.
    - Your current main report could be added as a subreport in Report Footer and list of records passed as a parameter in subreport links
    I am ready to explain details depending on which option you prefer

  • Message mapping : UDF parameter string type versus default UTF-8 encoding

    Hi,
    I'm facing an issue with character encoding when using an UDF to transform into base64 encoding.
    While thinking about the subject, I'm not 100% sure if it's possible to get it to work corerctly :
    Given :
    -The input XML is encoded UTF-8 ( with a special characeter )
    -The UDF is generated with java parameter type 'string' ( = set of 16bit unicode characters )
    Doubts :
    -What is supposed to happen when a node content ( of message encoded in UTF-8 ) is used as input for the UDF string type parameter  ? Is the node content decoded/encoded correctly by PI automatically ( at input/output versus the internal 16bit unicode character string ) ?
    ( I would assume yes )
    -Is the default charset of the underlying JVM relevant ? Or does pi always use explicit charsets when encoding/decoding ?
    ( I would assume it's not relevant )
    The UDF java code considers the string as a array of chars while processing them. It uses methods .length and .charat on the input string.
    The result is that I have a ISO-8859 encoded string ! ( after decoding it back from the base64 ) 
    What could cause this ?
    regards
    Dirk
    PS If I simply use default functions ( concat etc..) then the resulting xml stays correctly encoded...

    Hi,
    But that would mean that an UTF-8 encoded byte array would be passed unconverted to the UTF-16 unicode string parameter ?
    Shouldn't that trigger an exception ?
    I'm going to make some tests and see if it enlights my knowledge ( empirical )
    Keep you updated,
    thanks
    dirk

  • Bound mismatch error

    Hi everyone
    I am developing a 3d engine using java and at this point I need to create an edge table for my rendering purposes. here is my problem:
    I Have an ArrayList of Edge pointed to by a List reference like this:
    List<Edge> list = new ArrayList<Edge>();
    and i want to use the Collections.sort(list) to sort this list, but when i try to sort the list my editor shows an error saying:
    Bound mismatch: The generic method sort(List<T>) of type Collections is not applicable for the
    arguments (List<Edge>). The inferred type Edge is not a valid substitute for the bounded
    parameter <T extends Comparable<? super T>>
    here is my Edge class:
    public abstract class Edge implements Comparable{
         protected double ymax;
         protected double ymin;
         protected double xval;
         protected double mInverse;
         public abstract int compareTo(Object e);
    could anyone please tell me what is the problem here?
    thanks
    sina
    Edited by: sina_izad on Dec 27, 2007 10:11 AM

    Well, like the error message suggests, you need this:public abstract class Edge implements Comparable<Edge>and consequently this:public abstract int compareTo(Edge e);

  • Variable passing to an email activity

    Hi,
    In my simple process flow I have:
    START--------TRANSFORMATION (procedure call)--------EMAIL ACTIVITY--------END
    My procedure has an output parameter (which consists of an email address).
    In the transformation, the output parameter is passed into a variable VAR1.
    In my EMAIL activity, the TO_ADDRESS parameter is assigned VAR1.
    My problem is, when I validate the processflow it comes up with the error:
    "VLD-10034: Parameter TO_ADDRESS is bound to variable VAR1, but VAR1 has no default value set. For a processflow to be valid the bound parameter or variable should have a default value."
    So I assigned the variable VAR1 a default value (I entered a valid email address), the processflow validates successfully, but when I run it, it fails with an error.
    It's the variable that's causing a problem as when I hard-code an email address in the TO_ADDRESS parameter it runs without a problem.
    Do you have any ideas why the variable is failing when a default value is set?
    Thanks for any replies
    Ansel

    Hi Armands
    I managed to sort this one out.
    I stripped out the transformation from the processflow to simplify it as much as possible.
    So I had:
    START-------- EMAIL ACTIVITY--------END
    The problem was where it was forcing me to enter a default value for the variable VAR1 (where VAR1 was assigned to the TO_ADDRESS parameter in the email activity).
    I entered an email address as the default value in VAR1, and it failed. So I changed the value to 'aaa', and it failed.
    But it DIDN'T fail when I entered '1' (even though the variable is of a string type).
    So it's working now.
    Thank you for taking the time to try to understand my problem.
    Ansel

  • Upgrading to Acrobat X Web service calls slower...

    Hey,
    we made a plug-in button using javascript that takes the current document and sends it to a server using a webservice, the document is divided in chunks and sent to the server in size of 10 mg per chunk.
    this plug-in was working great, until the customer demanded that we migrate to acrobat x.
    we ran the same code and hit the wall to something similiar to this problem:
    http://forums.adobe.com/thread/756218?decorator=print&displayFullThrea d=true
    see, we figured out that the time it takes to communicate with the web service became slower depending on the size of the parameter sent to this service.
    when sending a chunk of 10 mega using 9 it took almost 15 sec.
    when sending a chunk of 80 kbyte using x it took almost 15 min.
    a sample code is shown below:
        var stream = Collab.documentToStream(document);
        var service = Net.SOAP.connect(url);
        var bound = 10485760;
        var documentSize = document.filesize;
        var thermo = app.thermometer;
        thermo.duration = Math.round(documentSize / bound);
        thermo.text = "Sending document to server";
        var counter = 0;
        thermo.begin();
        try {
            var stringReaded;
            var fileName = '';
            var parameter = {
                soapType: "xsd:string"
            do {
                thermo.value = counter;
                stringReaded = stream.read(bound);
                    parameter.jsonPdf = stringReaded;
                    fileName = service.SavePdf(parameter);
                counter++;
            while (stringReaded.length == bound * 2);
        catch (e) {
            app.alert(e);
        thermo.end();
    Update:
    Just un-installed x and downgraded to 9 with typical installation
    works like a sharm...
    still its needed to be deployed in 10 or x, any help is much appreciated

    What happens when you deactivate the Thermometer code?
    I believe to remember having the IMHO weird effect in Acrobat 9 that under some circumstances the Thermometer was speeding things up. This "bug" may have been "fixed" in 10.
    HTH.
    Max Wyss.

  • File to idoc adapter   :IDOC IS POSTED IN XI but showing error EDI partner

    Hi ,
    my interface is working fine but issue is that in Recver R3 system idoc is in errors status 56 (EDI partner profile not available.
    I already define business system which is used to send data from XI.
    My Business system name is testBsys1 for sender XI service.
    In R3 i have created logical system testBsys1
    and in we20 already created partner profile testBsys1
    and also maintain in bound parameter.
    please suggest me where is i am doing mistake.

    Hi Mohit,
    How is the control record of the posted Idoc made in PI? Check the Control Record of The IDoc that is posted in R3, it is not having correct information.
    IF you are not making the control records in PI  mapping, then in the receiver IDoc, keep apply control records from payload as checked.
    Regards
    Suraj

  • Even with parameters, reports reading entire data source and then filtering

    I'm working with an Oracle database (read-only access) and Crystal Reports 2008.  I have created a report and added three parameters for which I have already done all necessary steps in the select expert.  But when I do a Print preview of the report, and after selecting the parameter values, the report tries to read all of the data source records before the parameters are utilized by the report.  In other words, if the data source has 100,000 records, the report will return (in the background) all 100,000 records and then filter among these returned records to present/display the data according to the provided parameter values.  Instead, I would like it to use the parameters first so that only those records that meet the parameter value criteria are read into the report from the "get go"...Since I only have read only access to the Oracle database, I cannot write a stored procedure either...(company policy)...Can parameters be used to read in only pertaining records instead of filtering already read in records in a given report?  Is there some syntax that can be entered into a Command type connection to do this?

    I've tried that but I'm now getting an error on line 6...
    Crystal Reports Error:
    Failed to retrieve data from the database.
    Details: HYooo:[Oracle][ODBC][Ora]ORA-00911: invalid character
    ORA-06512: at line 6
    [Database Vendor Code: 911 ]
    for the following syntax: (Not sure why...any help would be extremely appreciated!)
    DECLARE
    varCCN CHAR(7);
    varMASLOC char(3);
    varWO char(10);
    BEGIN
    EXECUTE IMMEDIATE '
    SELECT Trim(DB.D_WO.SERIAL) AS Serial,
    Trim(DB.WO.WO_NUM) AS WO,
    DB.WO.WO_LINE AS Line,
    DB.WO_HDR.WO_DESCRIPTION,
    DB.WO.ITEM,
    DB.WO.REVISION,
    CASE WHEN DB.WO.ITEM=' || '''\''' || 'THEN DB.WONSD.DESC_ ELSE DB.ITEM.DESCRIPTION END AS Item_Description,
    DB.WO.ORD_QTY,
    DB.WO.START_DATE,
    DB.WO.DUE_DATE,
    DB.WO_RTG.OPERATION,
    DB.D_OPERNM.D_OPER_NUM_SEQ,
    DB.WC.DESCRIPTION AS WC_Description,
    DB.WO.CCN,
    DB.WO.MAS_LOC,
    DB.D_WKINST.D_WORK_INSTRUCTION,
    DB.D_WORTG.NA_OPER,
    DB.D_WORTG.D_OPER_GROUP,
    DB.GLOVCLB.CONTENT,
    DB.D_WOHDR.D_J_MACHINE,
    DB.D_WOHDR.D_H_MACHINE,
    DB.D_WOHDR.D_STD_ASSEMBLY,
    DB.D_WOHDR.D_T_C_A_ASSEMBLY,
    DB.D_WOHDR.D_T_C_B_ASSEMBLY,
    DB.D_WOHDR.D_B_S_ASSEMBLY
    FROM DB.WO_HDR
    LEFT JOIN DB.WO
    ON DB.WO_HDR.CCN = DB.WO.CCN
    AND DB.WO_HDR.MAS_LOC = DB.WO.MAS_LOC
    AND DB.WO_HDR.WO_NUM = DB.WO.WO_NUM 
    LEFT JOIN DB.D_WO
    ON DB.WO.WO_LINE = DB.D_WO.WO_LINE
    AND DB.WO.WO_NUM = DB.D_WO.WO_NUM
    AND DB.WO.MAS_LOC = DB.D_WO.MAS_LOC
    AND DB.WO.CCN = DB.D_WO.CCN
    LEFT JOIN DB.WONSD
    ON DB.WO.WO_LINE = DB.WONSD.WO_LINE
    AND DB.WO.WO_NUM = DB.WONSD.WO_NUM
    AND DB.WO.MAS_LOC = DB.WONSD.MAS_LOC
    AND DB.WO.CCN = DB.WONSD.CCN
    LEFT JOIN DB.ITEM
    ON DB.WO.REVISION = DB.ITEM.REVISION
    AND DB.WO.ITEM = DB.ITEM.ITEM
    LEFT JOIN DB.WO_RTG
    ON DB.WO.WO_LINE = DB.WO_RTG.WO_LINE
    AND DB.WO.WO_NUM = DB.WO_RTG.WO_NUM
    AND DB.WO.MAS_LOC = DB.WO_RTG.MAS_LOC
    AND DB.WO.CCN = DB.WO_RTG.CCN
    LEFT JOIN DB.D_WORTG
    ON DB.WO_RTG.OPERATION = DB.D_WORTG.OPERATION
    AND DB.WO_RTG.WO_LINE = DB.D_WORTG.WO_LINE
    AND DB.WO_RTG.WO_NUM = DB.D_WORTG.WO_NUM
    AND DB.WO_RTG.MAS_LOC = DB.D_WORTG.MAS_LOC
    AND DB.WO_RTG.CCN = DB.D_WORTG.CCN
    LEFT JOIN DB.WC
    ON DB.WO_RTG.WC = DB.WC.WC
    AND DB.WO_RTG.CCN = DB.WC.CCN
    LEFT JOIN DB.D_OPERNM
    ON DB.WO_RTG.OPERATION = DB.D_OPERNM.OPERATION
    AND DB.WO_RTG.WO_LINE = DB.D_OPERNM.WO_LINE
    AND DB.WO_RTG.WO_NUM = DB.D_OPERNM.WO_NUM
    AND DB.WO_RTG.MAS_LOC = DB.D_OPERNM.MAS_LOC
    AND DB.WO_RTG.CCN = DB.D_OPERNM.CCN
    LEFT JOIN DB.D_WKINST
    ON DB.D_WORTG.D_WORK_INSTRUCTION = DB.D_WKINST.D_WORK_INSTRUCTION
    LEFT JOIN DB.WOLN_TXT
    ON DB.WO.WO_LINE = DB.WOLN_TXT.WO_LINE
    AND DB.WO.WO_NUM = DB.WOLN_TXT.WO_NUM
    AND DB.WO.MAS_LOC = DB.WOLN_TXT.MAS_LOC
    AND DB.WO.CCN = DB.WOLN_TXT.CCN
    LEFT JOIN DB.GLOVCLB
    ON DB.WOLN_TXT.OBJECT_ID = DB.GLOVCLB.OBJECT_ID
    LEFT JOIN DB.D_WOHDR
    ON DB.WO.CCN = DB.D_WOHDR.CCN
    AND DB.WO.MAS_LOC = DB.D_WOHDR.MAS_LOC
    AND DB.WO.WO_NUM = DB.D_WOHDR.WO_NUM
    WHERE DB.WO_HDR.CCN=' || varCCN || ';
    AND DB.WO_HDR.MAS_LOC=' || varMASLOC || ';
    AND TRIM(DB.WO_HDR.WO_NUM)=' || varWO || ';';
    END;
    Edited by: lirizarry on Nov 6, 2009 4:37 PM

  • How to generate checks when executing Automatic Payment Program (F110)

    Is it possible to generate checks automatically when I execute the automatic payment program? Will reward points to any suggestion. Thanks!

    hi patrick
    try this.....ur problem may solve.....
    Create Automatic Payment Transactions (F110)
    Purpose
    Use this procedure to generate checks proposals or ACH proposals and then subsequently issue checks or set up ACH files to be transmitted to the bank.
    Trigger
    Perform this procedure when through either an ACH or a check, a creditor of the University needs to be paid.
    Prerequisites
    Open invoices with reached due dates have to be present in the SAP system.
    Menu Path
    Use the following menu path to begin this transaction:
    ·         Select Accounting  Financial Accounting  Accounts Payable  Periodic processing  Payments to go to the Automatic Payment Transactions: Status screen.
    Transaction Code
    F110
    Business Process Information
    The automatic payment process will be centrally managed in the Accounts Payable Office. The automatic payment program will be executed each day for all open invoices (across vendors) in the system. There will be separate payment run execution corresponding to each payment method category:
    Check payments: clears the open invoices and issues a check output
    ACH payments: clears the open invoices and issues an ACH file output
    Foreign currency payments: clears open invoices but no output is issued
    State/Grant payments: clears open invoices but no output is issued
    The process steps executed during the automatic payment program are:
    Enter Payment Parameters
    Edit/review Payment Proposal
    Post Payments
    Generate Payment Medium (print checks or create ACH payment file)
    Generate Positive Payment File
    The payment parameters are entered in order to limit the open invoices and credits selected for payment. It is important to note that the payment terms that are defined on the invoice will drive whether a invoice is due for payment during the current payment run. During the payment program execution, the invoices that are due for payment will be presented to the user on a payment proposal list.
    The payment proposal is a list of expected payments grouped by vendor account. Invoices that are due for payment but cannot be paid due to some kind of accounting or system error are listed as exceptions. Examples of typical exceptions are missing banking information (for ACH payments) and blocked invoices. Some payment exceptions will be resolved at the Accounts Payable Office. However the Department must resolve some exceptions. When these types of exceptions appear on the payment proposals, the Accounts Payable Office will inform the Department of the blocked payment in order to get a resolution. Key personnel in the Accounts Payable Office will be the only resources to have access to the editing function of the payment proposal processing. Typically, there is no business reason the edit or change a payment proposal. Editing options for a payment proposal includes: changing the default disbursing bank account information or changing the payment method.
    After the payment proposals have been reviewed and edited, the proposals are posted as payments. It is important to note that any open credit on the vendor's account is also taken in consideration when creating the vendor's payment. The payment method supplement defined on the invoice will drive the check sorting.
    In addition to the printed check output, the payment program run produces an ACH file and a Positive Pay file. Both files are sent to the bank for further processing. The ACH file contains the vendor's payment and banking data. The Positive Pay file contains the check data (check processed, voided, etc) and is used for confirmation of payments.
    Helpful Hints
    ·         The R/O/C column in the field description tables below defines whether the field is required (R), optional (O), or conditional (C).
    ·         On certain screens you may have to scroll to view some data entry fields.
    ·         Click the  tab to view the current overall status of the payment process by viewing the informational messages.
    Procedure
    1. Start the transaction using the menu path or transaction code.
        Automatic Payment Transactions: Status
    2. As required, complete the following fields:
    ·         Run date
    ·         Identification
    3. Click the  tab.
    The payment program parameters are used to limit the program's selection of open invoices and credits.
        Automatic Payment Transactions: Parameters
    4. As required, complete/review the following fields:
    ·         Posting date
    ·         Docs entered up to
    ·         Company codes
    ·         Pmt meths
    ·         Next p/date
    ·         Vendor
    5. Click the  tab.
    Free selection criteria are extended parameter selection criteria used to limit the open invoices and credits selected in the payment run.
        Automatic Payment Transactions: Free Selection
    6. Perform any of the following:
    If You Want To
    Then
    Select data by a particular field value; use the match code on the Field Name field to obtain the required field
    Enter the required field value to be considered in the payment program selection of open items. The field value is entered in the Values field
    Payment selection can be based on fields on the invoice or credit memo document or fields on the vendor master.
    Example: A (AP payment block)
    Exclude the open items that match your field value
    Select  to the left of Exclude values.
    Include only those open items that match your field value
    Deselect  to the left of Exclude values.
    7. Click the  tab.
    This information is used to expand the information that is automatically recorded in the payment run log. The payment run log is used to diagnose any program errors during the payment run.
        Automatic Payment Transactions: Additional Log
    8. Perform the following:
    If You Want the Payment Program Log to Record
    Then
    Information on due date check
    Select  to the left of Due date check.
    Activate this option.
    Any payment method selection data
    Select  to the left of Payment method selection in all cases.
    Activate this option.
    Line item information the payment documents generated upon posting the payment proposal
    Select  to the left of Line items of the payment documents.
    Activate this option.
    9. As required, complete/review the following fields:
    ·         Vendors (from)
    ·         Vendors (to)
    Enter the same vendor account number range for Accounts required section of the transaction.
    10. Click the  tab.
    The specifications defined in this section of the transaction inform the payment program the correct form to use for check printing and the correct payment file format to use for ACH payments.
        Automatic Payment Transactions: Printout and DME
    11. As required, complete the following fields:
    ·         RFFOAVIS
    ·         RFFOUS_C
    12. Click the  tab.
        Exit editing
    13. Click  to save the data.
    If you want to delete the payment program parameters entered, select Edit  Parameters  Delete.
        Automatic Payment Transactions: Status (2)
    The system displays the message, "Details have been saved for the run on XX/XX/XX XXXX."
    14. Click  .
    If you want to refresh the screen in order to view the current status (processing step) of the payment program click  at any time.
        Schedule Proposal
    15. Perform one of the following:
    If You Want To
    Then
    Execute the payment program (i.e. process the payment parameters entered and create a payment proposal) immediately
    Select  to the left of Start immediately.
    Activate this option.
    Designate a target computer
    Enter the name in the Target computer field.
    16. Click  to process the payment parameters and create a payment proposal.
    While the payment program is selecting and processing data, the status will display the message, "Proposal is running." When the payment proposal has completed and is ready for review/edit, the system will display the message, "Payment proposal has been created."
        Automatic Payment Transactions: Status (3)
    The system displays the message, "Proposal run has been scheduled."
    17. Click  .
        Automatic Payment Transactions: Status (4)
    The system updates the status, "Payment proposal has been created."
    18. Perform one of the following:
    If You Want To
    Then
    Go To
    Execute the payment run
    Click  .
    Step 19
    Edit the payment proposal
    Click  .
    Step 43
    Display the payment proposal
    Click  .
    Step 54
    Display the payment proposal run log
    Click  .
    Step 57
    Delete the proposal
    Select Edit  Proposal  Delete.
    Step 60
    Display the proposal list in a printer friendly format
    Select Edit  Proposal  Proposal List....
    Step 62
    Display only the exception (error) invoices or credits
    Select Edit  Proposal  Exception List....
    Step 67
    Exit this transaction
    Step 72
        Schedule Payment
    19. Perform the following:
    If You Want To
    Then
    Execute the payment program (i.e. process the payment parameters entered and create a payment proposal) immediately
    Select  to the left of Start immediately.
    Activate this option.
    Designate a target computer
    Enter the name in the Target computer field.
    20. Click  to process the payment proposal and post the payment documents.
    While the payment program is selecting and processing data, the status will display 'Payment is running'. When the payment proposal posted the status will display 'Payment run has been carried out. Posting orders X generated, X completed. (X will represent the total number of checks produced).
        Automatic Payment Transactions: Status (5)
    The system displays the message, "Payment run has been scheduled."
    21. Click  .
        Automatic Payment Transactions: Status (6)
    The system updates the status, "Payment run has been carried out." If you click  after seeing the status update, "Payment run has been carried out", the system will display an update to the status, "Posting orders: XXXX generated, XXXX completed."
    22. Perform one of the following:
    If You Want To
    Then
    Go To
    Review the payments posted
    Click  .
    Step 23
    Display the payment proposal
    Click  .
    Step 26
    Display the payment proposal run log
    Click  .
    Step 29
    Display the payment list in a printer friendly format
    Select Edit  Payments  Payment List.
    Step 32
    Display only the exception (error) invoices or credits
    Select Edit  Payments  Exception List.
    Step 36
    Print the payment run information
    Click  .
    Step 40
    Exit this transaction
    Step 72
        Job Log Entries for F110-XXXX-XXXX / XXXX
    23. Review the displayed information.
    24. Click  .
    25. Return to Step 22.
        Display Payment Proposal: Payments
    26. Review the displayed information.
    27. Click  .
    28. Return to Step 22.
        Job Log Entries for F110-XXXX-XXXX-X / XXXX (2)
    29. Review the displayed information.
    30. Click  .
    31. Return to Step 22.
        List Variant
    32. Click  .
        Payment list
    33. Review the displayed information.
    34. Click  .
    35. Return to Step 22.
        List Variant (2)
    36. Click  .
        Payment list (2)
    37. Review the displayed information.
    38. Click  .
    39. Return to Step 22.
        Schedule Print
    40. As required, complete/review the following fields:
    ·         Start date
    ·         Start immediately
    ·         Start time
    ·         Target computer
    ·         Job name
    41. Click  .
    42. Return to Step 22.
        Accounting clerk
    43. Click  .
        Edit Payment Proposal: Payments
    44. Review the displayed information.
    45. Perform one of the following:
    If You Want To
    Then
    Go To
    Continue with the payment process
    Click  .
    Step 18
    Review/edit invoice information for the payment (invoice numbers, discounts, payment amounts, etc).
    1. Click on the line you want to select.
    2. Click  .
    Step 46
    Change the key payment information (payment method, house bank, payee name and address, etc.)
    1. Click on the line you want to select.
    2. Click  .
    This option does not work for lines that have exceptions.
    Step 51
        Edit Payment Proposal: Open Items
    46. Double-click on the line you want to choose.
        Change Line Items
    47. As required, complete/review the following fields:
    ·         Payment block
    ·         Discount amount
    ·         Cash discount %
    48. Click  .
    49. Click  .
    50. Return to Step 45.
        Change Payment
    51. As required, complete/review the following fields:
    ·         Payment method
    ·         Pmt meth.supl.
    ·         Due date
    52. Click  .
    53. Return to Step 45.
        Display Payment Proposal: Payments
    54. Review the displayed information.
    55. Click  .
    56. Return to Step 18.
        Job Log Entries for F110-XXXX-XXXX-X / XXXX (3)
    57. Review the displayed information.
    58. Click  .
    59. Return to Step 18.
        Delete proposal
    60. Click  .
        Automatic Payment Transactions: Status (7)
    The system displays the message, "Data and log deleted."
    61. Go to Step 72.
        List Variant (3)
    62. As required, complete the following field:
    ·         Variant
    63. Click  .
        Payment list (3)
    64. Review the displayed information.
    65. Click  .
    66. Return to Step 18.
        List Variant (4)
    67. As required, complete the following field:
    ·         Variant
    68. Click  .
        Payment list (4)
    69. Review the displayed information.
    70. Click  .
    71. Return to Step 18.
    72. Click  until you return to the SAP Easy Access screen.
    73. You have completed this transaction.
    Result
    You have executed a payment proposal, executed and posted a payment run and printed checks.
    reward me points.......dont forget

  • How to convert RTF or XSL-FO template to PDF template

    We have a "satisfied" RTF template used in 11.15.9. But it no longer works in 11.5.10.2. We would like to try what metalink note#305307.1 suggested.
    Has anyone done template conversion from RTF or XSL-FO to PDF?
    Thanks.

    Hi
    You should not have a problem. When you upgraded did you run the post install step?
    Step 5 Run XML Publisher Template Re-Generator concurrent program. (Required for Upgrades Only) (System Administrator)
    If you are upgrading from an earlier version of XML Publisher, you must run the XML Publisher Template Re-Generator concurrent program. Use Standard Request Submission to submit this request from the XML Publisher Administrator responsibility. The request will prompt you for the following parameter:
    Regeneration Criteria
    Select "Outdated" to regenerate only outdated templates.
    Select "All" to regenerate all templates.
    Regards, Tim

Maybe you are looking for

  • Reducing SVG File Size

    I'm using Wallaby for simple animations, and as long as you remember what Flash features aren't supported (eg, filters), it's working fine. However, the SVG files are rather bloated. I've brought them into Illustrator and re-saved them, which resulte

  • Problems with statement cache using OCI

    Hello! We recently changed our program to use statement cache, but we found a problem and not yet a solution. We have problems in this situation: OCIEnvCreate(); OCIHandleAlloc(); OCILogon2(..... OCI_LOGON2_STMTCACHE); OCIStmtPrepare2("CREATE TABLE d

  • Using Image as alpha layter

    I'm reading an Image from a ByteArrayInputStream. This image is purely black-and-white, where the white parts of it should be transparent and the black parts should not. The problem is, the white parts are not transparent. Is it possible to create an

  • How do you test any SAP objects before a transport to the production server

    How do you test any SAP objects before a transport to the production server?

  • Pages upgrade 5.5.2 HELP

    Pages 5.5.2 upgrade is creating problems for me. I export my doc to PDF and/or Word and I cannot get them emailed. They seem to disappear into Etherland. Anyone else having such problems?