Typing type parameters

Apparently you can't type type parameters as such:
public <COLLECTION_TYPE extends Collection, FROM, TO> COLLECTION_TYPE<TO> convert(COLLECTION_TYPE<FROM> from, Class<COLLECTION_TYPE> clazz);Why is this not allowed?

me.in wrote:
Apparently you can't type type parameters as such:
public <COLLECTION_TYPE extends Collection, FROM, TO> COLLECTION_TYPE<TO> convert(COLLECTION_TYPE<FROM> from, Class<COLLECTION_TYPE> clazz);Why is this not allowed?Because type parameters in Java have to represent concrete types, not "type families".
You're trying to mimick "template template parameters" from C++, right?
BTW, the corresponding declaration in C++ would look like this, IIRC:
template<template <typename> class COLLECTION_TYPE, typename FROM, typename TO> COLLECTION_TYPE<TO> convert(COLLECTION_TYPE<FROM> from, Class<COLLECTION_TYPE<TO>> clazz);

Similar Messages

  • LIKE as typing for parameters is obsolete!

    Hi,
    I am creating a function module in ECC6 for custom Inbound IDoc. I am creating in the Import tab as
    INPUT_METHOD     LIKE     BDWFAP_PAR-INPUTMETHD
    While saving system giving information message that
    <i>
    LIKE as typing for parameters is obsolete!
    </i>
    I press f4 in the Type field there i can able find only TYPE and TYPE REF TO entries
    Please correct me what i am doing wrong
    Sa_R

    Hi AR,
    In ECC 6, SAP suggests us to use LIKE to reference data objects in the memory (for example, a variable, structure, or internal table).
    We should use TYPE to reference build-in types (for example, i, p, f, etc.) and ABAP dictionary types (for example, MARA, MARD or any other object in the ABAP dictionary).
    We can still use LIKE to reference an ABAP dictionary type (for example, BDWFAP_PAR in your program); however, SAP suggests us NOT to do so and sends us a warning message.
    PS. TYPE/LIKE has no relationship to header/internal table.  You can use TYPE to declare internal table and you can use LIKE to declare header, too.
    For example, the following statement declares it_bkpf as an internal table.
    DATA: it_bkpf TYPE bkpf_t.
    B.R.

  • Consolidating Decimal/Numeric type parameters in GP

    Hi guys,
    Need some pointers here. I'm calling a webservice CO to populate my Adobe form in GP on initiation. That works fine. But, some how or rather, i can't seem to consolidate any of the 'decimal/numeric' type parameters. The 'group' functionality is just greyed out. Eg. 'insurance' parameter in the WS is type 'decimal' (from ECC) and i've created a decimal type field in Adobe form too. HOwever, i can't seem to consolidate those type of parameters. Any reasons why? Thanks

    Hi,
    Just an update on this. The fields in the WebService are actaully of type 'CURR' (ABAP type). How do i map this in GP? Thanks

  • Too many type parameters for interface

    In JDev 11.1.1.0.0, I do a compile and I get 65 files with errors saying
    Error: too many type parameters for interface java.util.Map<java.lang.String, java.lang.Class<?>>
    but the class doesn't use the Map object.
    Other files get it for the Set object.
    Note that no line number was given as part of the error message.
    I installed the JDev 11.1.1.0.0 base from the zip file.
    What's wrong?

    Hi,
    And you do a compile on what exactly, Please post one of the erroneous class' code using the code within bracket tag so that we can help you.
    Regards,
    ~ Simon

  • Obtaining Generics type parameters using reflection

    I have been trying to obtain the type parameters of a method using reflection. This is what I have done:
    getGenericTypeParameters(aMethod.getTypeParameters());
    private static String getGenericTypeParameters(TypeVariable genericParameters[])
           String returnName = new String();
                   if(genericParameters.length > 0)
                           returnName += "< ";
                           for(int i=0; i<genericParameters.length; i++)
                                   if(i > 0) returnName += ", ";
                                   returnName += genericParameters.getName();
    returnName += " >";
    return returnName;
    } This doesn't take care of the cases when the method is of the form  public static <T, V extends T> boolean isIn(T x, V[] y)
    and the type parameters I get using the method I've written is <T, V>
    Is there any workaround or a better way of doing it?                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                       

    Have you consulted Angelika Langer's [Java Generics FAQs|http://www.angelikalanger.com/GenericsFAQ/JavaGenericsFAQ.html]?

  • Eliminating type parameters used only for superclass information?

    I have a class called BaseObject. I have another class called Reference. A
    BaseObject has one canonical Reference that can be gotten and set. A Reference
    is capable of pointing at a BaseObject subclass of a particular type and can
    return the Class of that BaseObject subclass.
    I'd like to genericize these classes so that if you create a reference and
    assign it to an object, their types should line up. That is, a Reference that
    points to a Banana should not be able to be assigned as a canonical reference to
    a Cherry.
    My goal is to express these type constraints once somewhere. I cannot seem to
    achieve my goal.
    Pass one, which looks OK at the outset:
      public class BaseObject<T extends BaseObject> {
        public Reference<T> getReference() {
        public void setReference(final Reference<T> reference) {
      public class Reference<T extends BaseObject> {
        public Class<T> getObjectType() {
      }But that would mean that every subclass of BaseObject<T> would need to be
    declared with a type parameter as well to permit further subclassing, right?
    Like so:
      public class Fruit<T extends Fruit> extends BaseObject<T> {
        // Note: T is not used in this class except to "pass it up" to BaseObject
      public class Banana<T extends Banana> extends Fruit<T> {
        // Note: T is not used in this class except to "pass it up" to Fruit
        // Callers will have to say: new Banana<Banana>();
      }That seems WEIRD to me. Is there any way to...to...hide the genericization of
    the fundamental classes--BaseObject and Reference--without forcing the type
    parameters to be propagated all the way down the subclass stack?
    In other words, assuming a hierarchy of Object<--Fruit<--Banana, is there any
    way to have Fruit and Banana not mention type parameters at all?
    Thanks,
    Laird

    I'm up a creek here, aren't I?I think so. It's been a while since I complained
    about the lack of 'self-types' in Java. 'Self-type'
    actually means something different in other languages
    (Scala for example) so just be aware of that.AH! Yes! That's exactly what I'm talking about. OK, knowing that I'm screwed helps a lot, actually. It lets me know where I can and cannot apply generics to solve problems.
    I would envision:
    class BaseObject<self>
    // OR
    class BaseObject<T extends self>The idea would be that self is what ever the
    'current' class is. So if you used the first one,
    the type of the class that extended BaseObject would
    be assumed to be the parameteric type. The second
    one would require that the parameter (if present at
    time of variable of declaration is instantiation) be
    at least as specific as the current extenstion of
    BaseObject.Yes, exactly. This would be wildly helpful. Oh well.
    Back to 1.4 syntax.
    Cheers,
    Laird

  • Generic method invocations with explicit type parameters

    If I interpret the JSR14 public draft spec (June 23, 2003) section 5.6 correctly the following method invocations with explicit type parameters should compile: package generics;
    public class G121 {
      void f() {
        this.<String>f2();
        <String>f2(); // compilation error
        <String>f3(); // compilation error
      <T> void f2() {
      static <T> void f3() {
    }but the class does not compile: jc -J-showversion generics\G121.javajava version "1.5.0-beta"
    Java(TM) 2 Runtime Environment, Standard Edition (build 1.5.0-beta-b32c)
    Java HotSpot(TM) Client VM (build 1.5.0-beta-b32c, mixed mode)
    generics\G121.java:6: illegal start of expression
        <String>f2(); // compilation error
                ^
    generics\G121.java:8: illegal start of expression
        <String>f3(); // compilation error
                ^
    2 errors
    >A bug or do I miss something?

    I get this error:
    LineCount.java:104: cannot find symbol
    symbol : method <java.io.File>sort(java.util.List<java.io.File>)
    location: class java.util.Collections
    Collections.<File>sort( list );
    ^
    1 errorYou don't need the explicit type argument there, but anyway...
    If you look at the docs for Collections.sort(List<T> list) you'll see it is declared as:
    static <T extends Comparable<? super T>> void Collections.sort(List<T> list) Unfortunately, although File implements Comparable, it doesn't actually implement Comparable<File> or even Comparable<Object>, so I guess it can't satisfy the bound.
    You can get it to compile by removing the explicit type argument and casting to the raw type List, but that's not very nice.
    This seems like an oversight to me - File already has both int compareTo(Object o) and int compareTo(File pathname) so I don't see why it can't implement Comparable<File>. This isn't the only such case in the API though, so maybe I'm missing something.
    Mark

  • Date type parameters do not work package procedure

    a cordial greeting to the whole community, in advance thank you very much for your precious time
    a general way I have the following, a package in which I have a main procedure which I recible three parameters: a start date, a final, and a number of client
    to use the dates I enter as parameter to query yields no records, but if I assign the date internally in the procedure, if it sheds records, the strange thing is that both the data and the parameters that are identical internally assigned even in its length and I checked, the truth and I stay out of ideas thank you very much for your time attaching the code
    for now I'm just using the second query forget the first
    ------call to procedure-----
    DECLARE
    errcode VARCHAR2(200);
    errbuf VARCHAR2(200);
    BEGIN
    xxxxx.pkg.xxxinitial_end(errcode  ,errbuf
                                                        ,'2013/08/19 00:00:00'
                                                        ,'2013/08/23 00:00:00','456456456546');
    END;
    -----------------------------------------------------------------procedure---------------------------------------------------------------------
    PROCEDURExxxinitial_end (ERRCODE OUT VARCHAR2
      , ERRBUFF OUT VARCHAR2
      , p_initial_date IN VARCHAR2
      , p_end_date IN VARCHAR2
      , customer IN VARCHAR2)IS
    l_encoding_line VARCHAR2(240);
    cur_without_customer SYS_REFCURSOR;
    cur_with_customer SYS_REFCURSOR;
      initial_date DATE;
      end_date DATE;
      initial_date2 DATE;
      end_date2 DATE;
    BEGIN
    l_encoding_line := '<?xml version="1.0" encoding=' || '"iso-8859-1"' ||
                       ' ?>' || chr(10) || '<XXOCS_TOTAL_VENTAS_SINEXP>';
      initial_date := to_date(p_initial_date, 'YYYY/MM/DD HH24:MI:SS');-----------------input parameters  NOT WORKING
      end_date := to_date(p_end_date, 'YYYY/MM/DD HH24:MI:SS');-------------------input parameters
      initial_date2:=to_date('2013/08/19 00:00:00', 'YYYY/MM/DD HH24:MI:SS');---------------------default values
      end_date2:=to_date('2013/08/23 00:00:00', 'YYYY/MM/DD HH24:MI:SS');---------------------default values        WORKING FINE
      IF customer IS NULL THEN
       -- OPEN cur_without_customer;
        DBMS_OUTPUT.PUT_LINE('se ejecuto el primero');
        -------------------------cursor  -----------------------------------
        OPEN cur_without_customer FOR
            SELECT rct.customer_trx_id
                  ,rctl.customer_trx_line_id
                  ,hp.party_name ---cliente
                  ,hca.account_number ----N° Cliente
                  ,rctl.line_number -----item
                  ,rctt.name---descripcion transaccion
                  ,rct.trx_number -----numero
                  ,rctt.type ------tipo de transaccion
                  ,hp.party_id--control solamente
                  ,rct.trx_date------Fecha de emisión Comprobante de Venta
                  ,rct.attribute1   ---No. de autorización del Comprobante de Venta
                  ,mp.attribute9||rct.trx_number N_Comprobante---No. de Comprobante de Venta
                  ,rct.attribute4-----Unidad Estratégica de Negocio
                  ,mp.attribute9----  N° de establecimiento
                  ,rctl.description-----Descripción (Tipo de Combustible)
                  ,rctl.quantity_invoiced---Cantidad Vendida en galones
                  ,rctl.unit_selling_price---Precio de venta unitario
                  --,rctl.taxable_amount-------Valor Base Imponible --restriccion
                  --,rctl.extended_amount---valor iva 12%
                 -- ,NVL(importe_12(rctl.customer_trx_line_id,rct.customer_trx_id),'N/A')
              FROM ra_customer_trx_all         rct,
                   ra_customer_trx_lines_all   rctl,
                   hz_cust_accounts            hca,
                   hz_parties                  hp,
                   ra_cust_trx_types_all       rctt,
                   mtl_parameters              mp
                  -- mtl_system_items_b          msi,
                 --  zx_lines                    zl
                   --ra_batch_sources_all  rbs
             WHERE
               --rct.trx_date BETWEEN initial_date  AND end_date --parametros de fecha
               rct.trx_date BETWEEN to_date('2013/08/19 00:00:00', 'YYYY/MM/DD HH24:MI:SS')/*initial_date*/ AND to_date('2013/08/23 00:00:00', 'YYYY/MM/DD HH24:MI:SS')/*end_date*/
               AND rct.sold_to_customer_id = hca.cust_account_id
               AND hca.party_id = hp.party_id
               AND rct.customer_trx_id=rctl.customer_trx_id
               --AND rctl.inventory_item_id=msi.inventory_item_id
               AND mp.organization_id=rctl.warehouse_id
               AND rct.cust_trx_type_id = rctt.cust_trx_type_id;
         print_output(fnd_file.output, l_encoding_line);
        get_xml(cur_without_customer, 'G_REGISTER', 'CABECERA', ERRCODE);                         
      IF ERRCODE = 1 THEN
        ERRBUFF := 'El reporte no arrojo datos para los parametros ingresados';
        ERRCODE := 2;
        RETURN;
      ELSIF ERRCODE = 2 THEN
        ERRBUFF := SQLERRM;
        RETURN;
      END IF;
      print_output(fnd_file.output, '</XXOCS_TOTAL_VENTAS_SINEXP>');
         ELSE
         --  OPEN cur_with_customer;
           DBMS_OUTPUT.PUT_LINE('se ejecuto el segundo');
           -----------------------cursor 2---------------------------
           DBMS_OUTPUT.PUT_LINE('customer ' || customer);
           DBMS_OUTPUT.PUT_LINE('ASI ESTAN ENTRANDO LOS PARAMETROS              '||length(p_initial_date));
           DBMS_OUTPUT.PUT_LINE('ASI ESTAN ENTRANDO LOS PARAMETROS              '||length(p_end_date));
           DBMS_OUTPUT.PUT_LINE('customer ' || customer);
           DBMS_OUTPUT.PUT_LINE('ASI ESTAN ENTRANDO LOS PARAMETROS   quemados   '|| length(initial_date2));
           DBMS_OUTPUT.PUT_LINE('ASI ESTAN ENTRANDO LOS PARAMETROS   quemados   '|| length(end_date2));
           DBMS_OUTPUT.PUT_LINE('customer ' || customer);
           DBMS_OUTPUT.PUT_LINE('ASI ESTAN ENTRANDO LOS PARAMETROS convertidso  '|| length(initial_date));
           DBMS_OUTPUT.PUT_LINE('ASI ESTAN ENTRANDO LOS PARAMETROS convertidos  '|| length(end_date));
           OPEN  cur_with_customer FOR
          SELECT     rct.customer_trx_id
                    ,rctl.customer_trx_line_id
                    ,hp.party_name ---cliente
                    ,hca.account_number ----N° Cliente
                    ,rctl.line_number-----item
                    ,rctt.name---descripcion transaccion
                    ,rct.trx_number -----numero
                    ,rctt.type ------tipo de transaccion
                    ,hp.party_id---control solamente
                    ,rct.trx_date------Fecha de emisión Comprobante de Venta
                    ,rct.attribute1   ---No. de autorización del Comprobante de Venta
                    ,mp.attribute9||rct.trx_number N_Comprobante--No. de Comprobante de Venta
                    ,rct.attribute4------ Unidad Estratégica de Negocio
                    ,mp.attribute9---------N° de establecimiento
                    ,rctl.description---------Descripción (Tipo de Combustible)
                    ,rctl.quantity_invoiced----Cantidad Vendida en galones
                    ,rctl.unit_selling_price ---Precio de venta unitario
                   -- ,rctl.taxable_amount-------Valor Base Imponible --restriccion
                   -- ,rctl.extended_amount---valor iva 12%
              -- ,NVL(importe_12(rctl.customer_trx_line_id,rct.customer_trx_id),'N/A')
                FROM ra_customer_trx_all           rct,
                     ra_customer_trx_lines_all     rctl,
                     hz_cust_accounts              hca,
                     hz_parties                    hp,
                     ra_cust_trx_types_all         rctt,
                     mtl_parameters                mp
                    -- mtl_system_items_b            msi,
                     --zx_lines                      zl
                 WHERE hca.account_number=customer
                  AND  hca.party_id=hp.party_id
                  AND  hca.cust_account_id=rct.sold_to_customer_id
                  AND  rct.customer_trx_id=rctl.customer_trx_id
                 -- AND  rctl.inventory_item_id=msi.inventory_item_id
                  AND  mp.organization_id=rctl.warehouse_id
                  AND  rct.cust_trx_type_id = rctt.cust_trx_type_id
                  AND rownum = 1
            AND rct.trx_date BETWEEN initial_date AND end_date;<------------when I assign these parameters( initial_date AND end_date  )--are the insert by parameter  initial_date2 AND end_date2 defualt
           DBMS_OUTPUT.PUT_LINE('customer ' || customer);
           DBMS_OUTPUT.PUT_LINE('fe inicial ' || initial_date);
           DBMS_OUTPUT.PUT_LINE('fe final ' ||end_date);
           print_output(fnd_file.output, l_encoding_line);
           get_xml(cur_with_customer, 'G_REGISTER', 'CABECERA', ERRCODE);                         
      IF ERRCODE = 1 THEN
        ERRBUFF := 'El reporte no arrojo datos para los parametros ingresados';
        ERRCODE := 2;
        RETURN;
      ELSIF ERRCODE = 2 THEN
        ERRBUFF := SQLERRM;
        RETURN;
      END IF;
      print_output(fnd_file.output, '</XXOCS_TOTAL_VENTAS_SINEXP>');
        END IF;
        EXCEPTION
      WHEN OTHERS THEN
        print_output(fnd_file.log, 'Error Ventas sin Exportaciones:' || SQLERRM);
        ERRCODE := 2;
        ERRBUFF := SQLERRM;
      -- Initialization
    END  xxxinitial_end;

    Welcome.  As a note, this question has nothing to do with PL/SQL XML programming and everything to do with SQL and PL/SQL
    That said, the simple test case I setup, because I don't have all your tables, works just fine.
    declare
       l_errcode  VARCHAR2(300);
       l_errbuff  VARCHAR2(300);
       PROCEDURE xxxinitial_end (ERRCODE OUT VARCHAR2
         , ERRBUFF OUT VARCHAR2
         , p_initial_date IN VARCHAR2  -- why not a date?
         , p_end_date IN VARCHAR2      -- why not a date?
         , customer IN VARCHAR2)
       IS
         initial_date DATE;
         end_date DATE;
         l_value  VARCHAR2(10);
       BEGIN
         initial_date := to_date(p_initial_date, 'YYYY/MM/DD HH24:MI:SS');
         end_date := to_date(p_end_date, 'YYYY/MM/DD HH24:MI:SS');
         -- Not trapping the No Data Found on purpose
         SELECT 'hit'
           INTO l_value
           FROM dual
          WHERE SYSDATE BETWEEN initial_date AND end_date;
       END  xxxinitial_end;
    begin
      -- Test statements here
      xxxinitial_end(l_errcode, l_errbuff
                     ,'2013/08/19 00:00:00'
                     ,'2013/10/19 00:00:00'
                     ,null);
    end;
    As a comment above says, if you are dealing with dates, why not use a DATE parameter in the procedure and avoid the conversion in your code.
    Also, you can simplify your code a bit by using a third sys_refcursor and setting one of the opened cursors to it.  This allows you to pull out the common logic following the OPEN and only have one copy of it.
    PROCEDURE xxxinitial_end (ERRCODE OUT VARCHAR2
      , ERRBUFF OUT VARCHAR2
      , p_initial_date IN VARCHAR2  -- why not a date?
      , p_end_date IN VARCHAR2      -- why not a date?
      , customer IN VARCHAR2)
    IS
      l_encoding_line VARCHAR2(240);
      cur_without_customer SYS_REFCURSOR;
      cur_with_customer SYS_REFCURSOR;
      cur_comm          SYS_REFCURSOR;
      initial_date DATE;
      end_date DATE;
    BEGIN
      l_encoding_line := '<?xml version="1.0" encoding=' || '"iso-8859-1"' ||
                         ' ?>' || chr(10) || '<XXOCS_TOTAL_VENTAS_SINEXP>';
      initial_date := to_date(p_initial_date, 'YYYY/MM/DD HH24:MI:SS');-----------------input parameters  NOT WORKING
      end_date := to_date(p_end_date, 'YYYY/MM/DD HH24:MI:SS');-------------------input parameters
      IF customer IS NULL THEN
        -------------------------cursor  -----------------------------------
        OPEN cur_without_customer FOR
            SELECT rct.customer_trx_id
                  ,rctl.customer_trx_line_id
                  ,hp.party_name ---cliente
                  ,hca.account_number ----N° Cliente
                  ,rctl.line_number -----item
                  ,rctt.name---descripcion transaccion
                  ,rct.trx_number -----numero
                  ,rctt.type ------tipo de transaccion
                  ,hp.party_id--control solamente
                  ,rct.trx_date------Fecha de emisión Comprobante de Venta
                  ,rct.attribute1   ---No. de autorización del Comprobante de Venta
                  ,mp.attribute9||rct.trx_number N_Comprobante---No. de Comprobante de Venta
                  ,rct.attribute4-----Unidad Estratégica de Negocio
                  ,mp.attribute9----  N° de establecimiento
                  ,rctl.description-----Descripción (Tipo de Combustible)
                  ,rctl.quantity_invoiced---Cantidad Vendida en galones
                  ,rctl.unit_selling_price---Precio de venta unitario
                  --,rctl.taxable_amount-------Valor Base Imponible --restriccion
                  --,rctl.extended_amount---valor iva 12%
                 -- ,NVL(importe_12(rctl.customer_trx_line_id,rct.customer_trx_id),'N/A')
              FROM ra_customer_trx_all         rct,
                   ra_customer_trx_lines_all   rctl,
                   hz_cust_accounts            hca,
                   hz_parties                  hp,
                   ra_cust_trx_types_all       rctt,
                   mtl_parameters              mp
                  -- mtl_system_items_b          msi,
                 --  zx_lines                    zl
                   --ra_batch_sources_all  rbs
             WHERE
               --rct.trx_date BETWEEN initial_date  AND end_date --parametros de fecha
               rct.trx_date BETWEEN to_date('2013/08/19 00:00:00', 'YYYY/MM/DD HH24:MI:SS')/*initial_date*/ AND to_date('2013/08/23 00:00:00', 'YYYY/MM/DD HH24:MI:SS')/*end_date*/
               AND rct.sold_to_customer_id = hca.cust_account_id
               AND hca.party_id = hp.party_id
               AND rct.customer_trx_id=rctl.customer_trx_id
               --AND rctl.inventory_item_id=msi.inventory_item_id
               AND mp.organization_id=rctl.warehouse_id
               AND rct.cust_trx_type_id = rctt.cust_trx_type_id;
           cur_comm := cur_without_customer;
         ELSE
           -----------------------cursor 2---------------------------
           OPEN  cur_with_customer FOR
          SELECT     rct.customer_trx_id
                    ,rctl.customer_trx_line_id
                    ,hp.party_name ---cliente
                    ,hca.account_number ----N° Cliente
                    ,rctl.line_number-----item
                    ,rctt.name---descripcion transaccion
                    ,rct.trx_number -----numero
                    ,rctt.type ------tipo de transaccion
                    ,hp.party_id---control solamente
                    ,rct.trx_date------Fecha de emisión Comprobante de Venta
                    ,rct.attribute1   ---No. de autorización del Comprobante de Venta
                    ,mp.attribute9||rct.trx_number N_Comprobante--No. de Comprobante de Venta
                    ,rct.attribute4------ Unidad Estratégica de Negocio
                    ,mp.attribute9---------N° de establecimiento
                    ,rctl.description---------Descripción (Tipo de Combustible)
                    ,rctl.quantity_invoiced----Cantidad Vendida en galones
                    ,rctl.unit_selling_price ---Precio de venta unitario
                   -- ,rctl.taxable_amount-------Valor Base Imponible --restriccion
                   -- ,rctl.extended_amount---valor iva 12%
              -- ,NVL(importe_12(rctl.customer_trx_line_id,rct.customer_trx_id),'N/A')
                FROM ra_customer_trx_all           rct,
                     ra_customer_trx_lines_all     rctl,
                     hz_cust_accounts              hca,
                     hz_parties                    hp,
                     ra_cust_trx_types_all         rctt,
                     mtl_parameters                mp
                    -- mtl_system_items_b            msi,
                     --zx_lines                      zl
                 WHERE hca.account_number=customer
                  AND  hca.party_id=hp.party_id
                  AND  hca.cust_account_id=rct.sold_to_customer_id
                  AND  rct.customer_trx_id=rctl.customer_trx_id
                 -- AND  rctl.inventory_item_id=msi.inventory_item_id
                  AND  mp.organization_id=rctl.warehouse_id
                  AND  rct.cust_trx_type_id = rctt.cust_trx_type_id
                  AND rownum = 1
            AND rct.trx_date BETWEEN initial_date AND end_date;<------------when I assign these parameters( initial_date AND end_date  )--are the insert by parameter  initial_date2 AND end_date2 defualt
         cur_comm := cur_with_customer;
      END IF;
      print_output(fnd_file.output, l_encoding_line);
      get_xml(cur_comm, 'G_REGISTER', 'CABECERA', ERRCODE);
      CLOSE cur_comm;
      IF ERRCODE = 1 THEN
        ERRBUFF := 'El reporte no arrojo datos para los parametros ingresados';
        ERRCODE := 2;
        RETURN;
      ELSIF ERRCODE = 2 THEN
        ERRBUFF := SQLERRM;
        RETURN;
      END IF;
    EXCEPTION
      WHEN OTHERS THEN
        print_output(fnd_file.log, 'Error Ventas sin Exportaciones:' || SQLERRM);
        ERRCODE := 2;
        ERRBUFF := SQLERRM;
      -- Initialization
    END  xxxinitial_end;

  • "Date / Date Time" type parameters in crystal reports 2008

    i am using parameters in crystal report to select records. one of the parameters is "From Date" of type Date Time.
    i mapped this parameter to a field "DateIn" of type smalldatetime in my sql table.
    Now, when i open the report it asks for "From Date" but b y default it sets the time to current time so i have to change it to 00:00:00 manually. i want it to show 00:00:00 by default. which means i don't want time here.
    For this if i select the datatype of parameter "From Date" as Date only then i am not able to map it to the "DateIn" field of the sql table.
    Please help me out of this.
    Edited by: rohit0825 on Jun 2, 2010 2:25 PM

    >
    Deepravs wrote:
    > Hi Rohit,
    >
    > Change the Parameter to Date Datatype and use this formula in the "Record Selection Formula " (Report Tab -> Selection Formulas -> Record)
    >
    > = CDateTime ({?From Date})
    >
    > Though the parameter is date datatype it converts to datetime datatype amd maps to the desired column.
    >
    >
    > Thanks,
    Great !!!
    this is working.
    i found another way, i changed the datatype of parameter to Date and click ok and everything was good, it doesn't require any conversion to date time.
    Thank You so much. All Points You.
    Edited by: rohit0825 on Jun 3, 2010 10:47 AM

  • How to get instance of Class with its type parameters

    Hi,
    Have any of you folks been dealing with generics long enough to show me how this should be written? Or point me to the answer (I have searched as well as I could).
    I boiled down my situation to the included sample code, which is long only because of the inserted comments. And while boiling I accidentally came across a surprise solution (a bug?), but would obviously prefer a smoother solution.
    My Questions (referred to in the code comments):
    #1. Is there a way to get my parameterized type (classarg) without resorting to using the bogus (proto) object?
    #2. Can anyone understand why the "C" and "D" attempts are different? (All I did was use an intermediate variable????) Is this a bug?
    Thanks so much for any input.
    /Mel
    class GenericWeird
       /* a generic class -- just an example */
       static class CompoundObject<T1,T2>
          CompoundObject(T1 primaryObject, T2 secondaryObject)
       /* another generic class -- its main point is that its constr requires its type class */
       static class TypedThing<ValueType>
          TypedThing(Class<ValueType> valuetypeclass)
       // here I just try to create a couple of TypedThings
       public static void main(String[] args)
          // take it for granted that I need to instantiate these two objects:
          TypedThing<String>                        stringTypedThing = null;
          TypedThing<CompoundObject<String,String>> stringstringTypedThing = null;
          // To instantiate stringTypedThing is easy...
          stringTypedThing = new TypedThing<String>(String.class);
          // ...but to instantiate stringstringTypedThing is more difficult to call the constructor
          Class<CompoundObject<String,String>> classarg = null;
          // classarg has got to be declared to this type
          //    otherwise there will rightfully be compiler error about the constructor call below
          // This method body illustrates my questions
          classarg = exploringHowToGetTheArg();
          // the constructor call
          stringstringTypedThing = new TypedThing<CompoundObject<String,String>>(classarg);
       } // end main method
       // try compiling this method with only one of A,B,C,D sections uncommented at a time
       private static Class<CompoundObject<String,String>> exploringHowToGetTheArg()
          Class<CompoundObject<String,String>> classarg = null;
          /* Exhibit A: */
      ////     classarg = CompoundObject.class;
             results in compiler error "incompatible types"
             found   : java.lang.Class<GenericWeird.CompoundObject>
             required: java.lang.Class<GenericWeird.CompoundObject<java.lang.String,java.lang.String>>
                   classarg = CompoundObject.class;
                                            ^
             I understand this.  But how to get the type information?
          /* It's obnoxious, but it looks like I will have to construct a temporary
              prototype instance of type
                 CompoundObject<String,String>
              in order to get an instance of
                 Class<CompoundObject<String,String>>
              (see my Question #1) */
          CompoundObject<String,String> proto = new CompoundObject<String,String>("foo", "fum");
          /* Exhibit B: */
      ////     classarg = proto.getClass();
             results in compiler error: "incompatible types"
             found   : java.lang.Class<capture of ? extends GenericWeird.CompoundObject>
             required: java.lang.Class<GenericWeird.CompoundObject<java.lang.String,java.lang.String>>
                   classarg = proto.getClass();
                                            ^
          /* Exhibit C: */
      ////     classarg = proto.getClass().asSubclass(proto.getClass());
             results in compiler error: "incompatible types"
             found   : java.lang.Class<capture of ? extends capture of ? extends GenericWeird.CompoundObject>
             required: java.lang.Class<GenericWeird.CompoundObject<java.lang.String,java.lang.String>>
                   classarg = proto.getClass().asSubclass(proto.getClass());
                                                         ^
          /* Exhibit D: (notice the similarity to C!): */
      ////     Class tmp1 = proto.getClass();
      ////     classarg = tmp1.asSubclass(tmp1);
          /* It compiles (see my Question #2) */
          return classarg;
       } // end method exploringHowToGetTheArg()
    } // end class GenericWeird

    Thanks so much, Bruce. (Oh my goodness, how would I have ever come up with that on my own?)
    So in summary
    This doesn't compile:
          classarg = (Class<CompoundObject<String,String>>)CompoundObject.class;but these do compile:
          classarg = (Class<CompoundObject<String,String>>)(Class)CompoundObject.class;or
          Class coclass = (Class)CompoundObject.class;
          classarg = (Class<CompoundObject<String,String>>)coclass;And this doesn't compile:
           classarg = proto.getClass().asSubclass(proto.getClass());but this does:
           Class tmp1 = proto.getClass();
           classarg = tmp1.asSubclass(tmp1);

  • How to pass the value of the return type parameters in teststand sequence file programatically through c#

    I have used the method LoadProtoTypeFromMeteDataToken(tokenvalue,options).with this i cant set the value in the return parameters. How can I pass the value.with the above method it displays parameter Name,Type,In/Out. how can i set the value in the return parameters.

    Or here
    http://forums.ni.com/ni/board/message?board.id=330&thread.id=26979
    =s=i=g=n=a=t=u=r=e= Click on the Star and see what happens :-) =s=i=g=n=a=t=u=r=e=

  • How to execute function takes user defined type parameters as input &output

    Hi All,
    I want to execute a function which takes user defined type as input & output parameters. But i don't know how to execute that function in pl/sql statements.
    CREATE TYPE T_INPUT AS OBJECT
    USER          VARCHAR2(255),
    APPLICATION     VARCHAR2(255),
    REFERENCE          VARCHAR2(30)
    ) NOT FINAL;
    CREATE TYPE T_ID UNDER T_INPUT
    E_ID                    VARCHAR2 (50),
    CODE                    VARCHAR2 (3),
    SERVICE                    VARCHAR2 (10),
    C_TYPE                    VARCHAR2 (1)
    ) NOT FINAL;
    CREATE TYPE T_OUTPUT AS OBJECT
         R_STATUS               NUMBER(10),
         E_DESC_LANG_1          VARCHAR2(1000),
         E_DESC_LANG_2          VARCHAR2(1000),
         A_REFERENCE          VARCHAR2(30)
    ) NOT FINAL;
    CREATE TYPE T_INFO UNDER T_OUTPUT
    E_INFO XMLTYPE
    CREATE FUNCTION Get_Dtls
    I_DETAILS IN T_ID,
    O_DETAILS OUT T_INFO
    RETURN NUMBER AS
    END;
    Here
    1. T_ID is an input parameter which is a combination of T_ID + T_INPUT,
    2. T_INFO is an output parameter which is a combination of T_INFO + T_OUTPUT.
    Here i'll assign the T_ID values.
    --- T_INPUT values
    USER          = "admin";
    APPLICATION     = "test";
    REFERENCE     = "null";
    ---- T_ID values
    E_ID               = "1234";
    CODE               = "TTT";
    SERVICE               = "NEW";
    C_TYPE = "P";
    Now i want to execute Get_Dtls function with T_ID,T_INFO parameters in pl/sql statements.
    I want to catch the E_INFO value from T_INFO type.
    How can i Do this ?
    Pls Help. Thanxs in advance.
    Anil.

    I am very new to this. New to Oracle, PL/SQL, OO programming or testing?
    set serveroutput on
    declare
      tst_obj ctype;
    begin
      tst_obj := pkg.proc(11);
      dbms_output.put_line('id='||tst_obj.id||'::code='||tst_obj.code||'::usage='||tst_obj.usage);
    end;
    /Generally I disapprove of the use of DBMS_OUTPUT (for just about anything) but it is sufficient to demonstrate the basic principle.
    Really you should start using proper testing practices, ideally with an automated test harness like QUTE.
    Cheers, APC
    Blog : http://radiofreetooting.blogspot.com/

  • VIVADO 2015.2 IP Packager ruins all bool type parameters

    Hi All,
    As subject: in one IP of ours, there are 3 boolean parameters (last packaged with IPI 2014.4). The component.xml is attached for Xilinx's comments, as you can see, the parameter is defined properly. When I open the IP Package from the VIVADO 2015.5, I get 3 errors of the following form:
     [IP_Flow 19-343] HDL Parameter 'C_FORCE_BYPASS_MODE (C Force Bypass Mode)': Default value "false" does not match format "long"
    I also get 3 other errors that are derivatives, but in the gui, the 'type' column does not say 'long' but it says 'bool'. The same issue used to appear with 2014.4, but we could work around it by iterative repackaging.
    What is going on? I cannot do anything with the IPI now (did not try manual editing of the XML yet).
    Thanks
    Vlad

    Module declaration can of course be sent, here it is below. Digesting your response though... I am thinking the interpretation of the values may have changed in the 2015.2
    That is, in 2014.4, the value of 0 was treated as false and in 2015.2, the IPI interpreter automatically converts it to 'long'
    BOLD text are the parameters that we are talking about.
    module cmpipe
        parameter C_VIDEO_CFG_SAME_CLK = 0,
        parameter C_ROWS = 768,
        parameter C_PIXELS_PER_CYCLE = 2,
        parameter C_NUM_SRCDRV = 12,
        parameter C_COMP_SUBPIXELS = 3,
        parameter C_COORD_WIDTH = 22,
        parameter C_FORCE_BYPASS_MODE = 0,
        parameter C_LUMINANCE_CORRECTION_LUT_TYPE = "PLAIN",
        parameter C_CMPIPE_GAMMA_DECODE_LUTRAM_STAGES = 0,
        parameter C_GAMMA_DECODE_INPUT_PIXEL_WIDTH = 10,
        parameter C_GAMMA_DECODE_OUTPUT_PIXEL_WIDTH = 10,
        parameter C_M_AXIS_VDMA_VID_BUS_WIDTH = 128,
        parameter C_M_AXIS_VDMA_COMP_BUS_WIDTH = 128,
        parameter C_INPUT_VIDEO_PIXEL_WIDTH = 10,
        parameter C_ACTUAL_VIDEO_PIXEL_WIDTH = 10,
        parameter C_CMPIPE_OUTPUT_PIXEL_WIDTH = 10,
        parameter C_GAMMA_CORRECTION_LUT_TYPE = "PLAIN",
        parameter C_GAMMA_CORR_INPUT_PIXEL_WIDTH = 10,
        parameter C_GAMMA_CORR_OUTPUT_PIXEL_WIDTH = 10,
        parameter C_INCLUDE_RGBW_CONV = 1,
        parameter C_RGB_TO_RGBW_PIXEL_WIDTH = 10,
        parameter C_PNLCCB_INPUT_PIXEL_WIDTH = 10,
        parameter C_PNLCCB_OUTPUT_PIXEL_WIDTH = 10,
        parameter C_INCLUDE_STR_HIST = 0,
        parameter C_STR_HIST_PIXEL_WIDTH = 16,
        parameter C_COLUMNS = 1296,
        parameter C_S_AXI_DATA_WIDTH = 32,
        parameter C_S_AXI_ADDR_WIDTH = 32,
        parameter C_S_AXI_MIN_SIZE = 32'h0000_ffff,
        parameter C_BASEADDR = 32'h0000_0000,
        parameter C_HIGHADDR = 32'hffff_ffff,
        parameter C_FAMILY = "virtex6"
       (/*AUTOARG*/
     

  • RFC function module - not considering string type parameters

    Hi,
    i am calling one RFC, this rfc function module is enhanced to have one more import parameter and the type of this parameter is of type "string".
    i am passing this value from while calling rfc fm but i can see this value is not being considered here in the target system, i mean the passed value from source system is not seen in the target system.
    i read some thing related to rfc restrictions on code pages, is it something to do with that or string type is not allowed??
    Please suggest!!!

    Hi all,
                   I faced the same problem and solved it ,
    You have defined a reference parameter for a remotely called
      function module. However, only value parameters are allowed
      for this type of module.
      Procedure
      Change the reference parameter to a value parameter.
    Guys  pls .don't leave the thread un-asnwered when you solved problem , post the solution it might be useful for others also.
    Regards
    Krishna Acharya

  • ORA-22913 while creating a QUEUE TABLE of a "Typed type"

    Hi guys:
    I'm trying to recreate an [AskTom's post|http://asktom.oracle.com/pls/apex/f?p=100:11:0::::P11_QUESTION_ID:8760267539329], but with a single difference. My Oracle Type contains a field that is another Oracle Type and when I try to create a QUEUE_TABLE, I got the ORA-22913.
    Here are my steps:
    create or replace TYPE PODTL_TYPE AS OBJECT
    item varchar2(25),
    ref_item varchar2(25),
    physical_location_type varchar2(1),
    physical_location number(10),
    physical_qty_ordered number(12,4),
    unit_cost number(20,4),
    origin_country_id varchar2(3),
    supp_pack_size number(12,4),
    earliest_ship_date date,
    latest_ship_date date,
    pickup_loc varchar2(250),
    pickup_no varchar2(25),
    packing_method varchar2(6),
    round_lvl varchar2(6),
    door_ind varchar2(1),
    priority_level number(1),
    new_item varchar2(1),
    quarantine varchar2(1),
    rcvd_unit_qty number(12,4),
    tsf_po_link_id number(10),
    cost_source varchar2(4),
    est_in_stock_date date
    create or replace TYPE PODtl_coll as table of PODTL_TYPE;
    create or replace TYPE PODesc AS OBJECT
    doc_type varchar2(1),
    order_no varchar2(10),
    order_type varchar2(9),
    order_type_desc varchar2(250),
    dept number(4),
    dept_name varchar2(120),
    buyer number(4),
    buyer_name varchar2(120),
    supplier varchar2(10),
    promotion number(10),
    prom_desc varchar2(160),
    qc_ind varchar2(1),
    not_before_date date,
    not_after_date date,
    otb_eow_date date,
    earliest_ship_date date,
    latest_ship_date date,
    close_date date,
    terms varchar2(15),
    terms_code varchar2(50),
    freight_terms varchar2(30),
    cust_order varchar2(1),
    payment_method varchar2(6),
    payment_method_desc varchar2(40),
    backhaul_type varchar2(6),
    backhaul_type_desc varchar2(40),
    backhaul_allowance number(20,4),
    ship_method varchar2(6),
    ship_method_desc varchar2(40),
    purchase_type varchar2(6),
    purchase_type_desc varchar2(40),
    status varchar2(1),
    ship_pay_method varchar2(2),
    ship_pay_method_desc varchar2(40),
    fob_trans_res varchar2(2),
    fob_trans_res_code_desc varchar2(40),
    fob_trans_res_desc varchar2(250),
    fob_title_pass varchar2(2),
    fob_title_pass_code_desc varchar2(40),
    fob_title_pass_desc varchar2(250),
    vendor_order_no varchar2(15),
    exchange_rate number(20,10),
    factory varchar2(10),
    factory_desc varchar2(240),
    agent varchar2(10),
    agent_desc varchar2(240),
    discharge_port varchar2(5),
    discharge_port_desc varchar2(150),
    lading_port varchar2(5),
    lading_port_desc varchar2(150),
    bill_to_id varchar2(5),
    freight_contract_no varchar2(10),
    po_type varchar2(4),
    po_type_desc varchar2(120),
    pre_mark_ind varchar2(1),
    currency_code varchar2(3),
    contract_no number(6),
    pickup_loc varchar2(250),
    pickup_no varchar2(25),
    pickup_date date,
    app_datetime date,
    comment_desc varchar2(2000),
    PODtl PODtl_coll
    These are my 3 Oracle types. When I try to create the QUEUE TABLE:
    DBMS_AQADM.CREATE_QUEUE_TABLE(
    Queue_table => 'PODESC_QUEUE_TABLE',
    Queue_payload_type => 'PODesc',
    Multiple_consumers => TRUE);
    END;
    I got the following error:
    22913. 00000 - "must specify table name for nested table column or attribute"
    *Cause:    The storage clause is not specified for a nested table column
    or attribute.
    *Action:   Specify the nested table storage clause for the nested table
    column or attribute.
    How can I solve this?

    Here is the syntax used by Oracle in one of their internal tables.
    orabase> select dbms_metadata.get_ddl('TABLE', 'ORDERS_QUEUETABLE', 'IX') from dual;
    DBMS_METADATA.GET_DDL('TABLE','ORDERS_QUEUETABLE','IX')
      CREATE TABLE "IX"."ORDERS_QUEUETABLE"
       (    "Q_NAME" VARCHAR2(30),
            "MSGID" RAW(16),
            "CORRID" VARCHAR2(128),
            "PRIORITY" NUMBER,
            "STATE" NUMBER,
            "DELAY" TIMESTAMP (6),
            "EXPIRATION" NUMBER,
            "TIME_MANAGER_INFO" TIMESTAMP (6),
            "LOCAL_ORDER_NO" NUMBER,
            "CHAIN_NO" NUMBER,
            "CSCN" NUMBER,
            "DSCN" NUMBER,
            "ENQ_TIME" TIMESTAMP (6),
            "ENQ_UID" VARCHAR2(30),
            "ENQ_TID" VARCHAR2(30),
            "DEQ_TIME" TIMESTAMP (6),
            "DEQ_UID" VARCHAR2(30),
            "DEQ_TID" VARCHAR2(30),
            "RETRY_COUNT" NUMBER,
            "EXCEPTION_QSCHEMA" VARCHAR2(30),
            "EXCEPTION_QUEUE" VARCHAR2(30),
            "STEP_NO" NUMBER,
            "RECIPIENT_KEY" NUMBER,
            "DEQUEUE_MSGID" RAW(16),
            "SENDER_NAME" VARCHAR2(30),
            "SENDER_ADDRESS" VARCHAR2(1024),
            "SENDER_PROTOCOL" NUMBER,
            "USER_DATA" "IX"."ORDER_EVENT_TYP" ,   <---------------------- seems analogous to what you are trying to do
            "USER_PROP" "SYS"."ANYDATA" ,
             PRIMARY KEY ("MSGID")
      USING INDEX PCTFREE 10 INITRANS 2 MAXTRANS 255 COMPUTE STATISTICS NOLOGGING
      STORAGE(INITIAL 65536 NEXT 1048576 MINEXTENTS 1 MAXEXTENTS 2147483645
      PCTINCREASE 0 FREELISTS 1 FREELIST GROUPS 1 BUFFER_POOL DEFAULT FLASH_CACHE DEFAULT CELL_FLASH_CACHE DEFAULT)
      TABLESPACE "EXAMPLE"  ENABLE
       ) USAGE QUEUE PCTFREE 10 PCTUSED 40 INITRANS 1 MAXTRANS 255 NOCOMPRESS NOLOGGING
      STORAGE(INITIAL 65536 NEXT 1048576 MINEXTENTS 1 MAXEXTENTS 2147483645
      PCTINCREASE 0 FREELISTS 1 FREELIST GROUPS 1 BUFFER_POOL DEFAULT FLASH_CACHE DEFAULT CELL_FLASH_CACHE DEFAULT)
      TABLESPACE "EXAMPLE"
    OPAQUE TYPE "USER_PROP" STORE AS BASICFILE LOB (
      ENABLE STORAGE IN ROW CHUNK 8192 RETENTION
      CACHE
      STORAGE(INITIAL 65536 NEXT 1048576 MINEXTENTS 1 MAXEXTENTS 2147483645
      PCTINCREASE 0 FREELISTS 1 FREELIST GROUPS 1 BUFFER_POOL DEFAULT FLASH_CACHE DEFAULT CELL_FLASH_CACHE DEFAULT))Spend some time looking in directories under $ORACLE_HOME and you may well find the DDL that built it.

Maybe you are looking for

  • Runtime error in activation BADI (CX_HRPA_INVALID_PARAMETER)

    In activation BADI i get a runtime error using 'HR_INFOTYPE_OPERATION' An exception occurred that is explained in detail below.                        The exception, which is assigned to class 'CX_HRPA_INVALID_PARAMETER', was not    caught in        

  • How can i reset password????

    I have been having connectivity problems and worked with Comcast last night to try and resolve.They internally somehow re-set everything in my computer, now it wants my secured network password. We had original problems getting everyting to work when

  • When Closing the window giving error " Virtual Column not allowed"

    Hi All, In my main block, i have a button, on clicking which will open a new window(block) with a free text field to enter. I have a Save button in a new window which will save entered text fiedl and refresh the main block to see the value entered in

  • Excise values

    Hi Excise values are not flowing in MIRO. partI, part II entries are completed MRP indicator is OK in Excise invoice. in this excise invoice 3 line items are displying(PO have 3 line items) for 1st, 2nd line items are showing the excise values are co

  • CUC 10.0.1 cluster status stuck in Split Brain Recovery (SBR) on Primary server - HA reports fine.

    Hi, Have a 10.01.11900 CUC cluster and everything is working fine (no one having issues with voice mail, etc) but the cluster status reports is not consistent.  DBreplication is showing 2 on both servers.  Primary unity server cluster status shows Pr