Strings comparision and get unique string in pure sql,

Dear all,
Here is two strings
S1='A,B,C,D,F';
s2='C,F,H,B,A,K';
output should be like unique string values ..
S3= A,B,C,D,F,H,K;
How to get this in pure sql..
thanks in advance,
Roots

Hi,
In a relational database, each column of each row should store one value, not a repleating group of values, such as a delimited list. This is so basic to database design that it is called "First Normal Form". You don't have to follow rules like this, but, if you don't, your code will be complicated, inefficient, and error-prone. It sould be best to re-design your application so that each value was on a separate row.
If you can't do that, then you can start by splitting your delimitd lists into separate rows. Then you can easily fond the distinct values, and use any String Aggregation technique to combine the results into one output row.
Here's one way to do all that:
WITH     got_params     AS
     SELECT     'A,B,C,D,F' AS str, 1 AS str_id     FROM dual     UNION ALL
     SELECT     'C,F,H,B,A,K',          2            FROM dual
,     got_part_cnt     AS
     SELECT     str
     ,     1 + LENGTH (str)
            - LENGTH (REPLACE (str, ','))     AS part_cnt
     FROM    got_params
,     cntr          AS
     SELECT     LEVEL     AS n
     FROM     (
              SELECT  MAX (part_cnt)     AS max_part_cnt
              FROM    got_part_cnt
     CONNECT BY     LEVEL     <= max_part_cnt
,     got_substr     AS
     SELECT DISTINCT
            REGEXP_SUBSTR ( p.str
                           , '[^,]+'
                    , 1
                    , c.n
                    )          AS sub_str
     FROM    got_part_cnt p
     JOIN     cntr          c  ON     c.n     <= p.part_cnt
,     got_r_num     AS
     SELECT     sub_str
     ,     ROW_NUMBER () OVER (ORDER BY  sub_str)     AS r_num
     ,     ROWNUM                                        AS r
     FROM     got_substr
SELECT     MIN ( SUBSTR ( SYS_CONNECT_BY_PATH (sub_str, ',')
                      , 2
         )          AS unique_sub_strs
FROM    got_r_num
WHERE     CONNECT_BY_ISLEAF     = 1
-- START WITH     r_num     = 1
CONNECT BY     r_num     = 1 + PRIOR r_num
;This works in Oracle 10.2.0.2.0 Express Edition, which is the only database I can use right now. For the main query, you should be able to say:
SELECT     SUBSTR ( SYS_CONNECT_BY_PATH (sub_str, ',')
            , 2
            )     AS unique_sub_strs
FROM    got_r_num
WHERE     CONNECT_BY_ISLEAF     = 1
START WITH     r_num     = 1
CONNECT BY     r_num     = 1 + PRIOR r_num
;but, when I try that on my database, I only get 'A,B' as the output. CONNECT BY is very buggy in Oracle 10.2; if you have Oracle 10.1, the simpler form might work.
The query above can be shortened some, but I wrote it this way to make it easier to understand.
You can, for example, combine the sub-queries got_sub_str and got_r_num. If you do, use DENSE_RANK instead of ROW_NUMBER.
This does not assume that the sub-qtrings are all 1-character long. If they are, then the query can be simplified.
For more about string aggregation, see
http://www.oracle-base.com/articles/10g/StringAggregationTechniques.php

Similar Messages

  • Bind Variable in SELECT statement and get the value  in PL/SQL block

    Hi All,
    I would like  pass bind variable in SELECT statement and get the value of the column in Dynamic SQL
    Please seee below
    I want to get the below value
    Expected result:
    select  distinct empno ,pr.dept   from emp pr, dept ps where   ps.dept like '%IT'  and pr.empno =100
    100, HR
    select  distinct ename ,pr.dept   from emp pr, dept ps where   ps.dept like '%IT'  and pr.empno =100
    TEST, HR
    select  distinct loc ,pr.dept   from emp pr, dept ps where   ps.dept like '%IT'  and pr.empno =100
    NYC, HR
    Using the below block I am getting column names only not the value of the column. I need to pass that value(TEST,NYC..) into l_col_val variable
    Please suggest
    ----- TABLE LIST
    CREATE TABLE EMP(
    EMPNO NUMBER,
    ENAME VARCHAR2(255),
    DEPT VARCHAR2(255),
    LOC    VARCHAR2(255)
    INSERT INTO EMP (EMPNO,ENAME,DEPT,LOC) VALUES (100,'TEST','HR','NYC');
    INSERT INTO EMP (EMPNO,ENAME,DEPT,LOC) VALUES (200,'TEST1','IT','NYC');
    INSERT INTO EMP (EMPNO,ENAME,DEPT,LOC) VALUES (300,'TEST2','MR','NYC');
    INSERT INTO EMP (EMPNO,ENAME,DEPT,LOC) VALUES (400,'TEST3','HR','DTR');
    INSERT INTO EMP (EMPNO,ENAME,DEPT,LOC) VALUES (500,'TEST4','HR','DAL');
    INSERT INTO EMP (EMPNO,ENAME,DEPT,LOC) VALUES (600,'TEST5','IT','ATL');
    INSERT INTO EMP (EMPNO,ENAME,DEPT,LOC) VALUES (700,'TEST6','IT','BOS');
    INSERT INTO EMP (EMPNO,ENAME,DEPT,LOC) VALUES (800,'TEST7','HR','NYC');
    COMMIT;
    CREATE TABLE COLUMNAMES(
    COLUMNAME VARCHAR2(255)
    INSERT INTO COLUMNAMES(COLUMNAME) VALUES ('EMPNO');
    INSERT INTO COLUMNAMES(COLUMNAME) VALUES ('ENAME');
    INSERT INTO COLUMNAMES(COLUMNAME) VALUES ('DEPT');
    INSERT INTO COLUMNAMES(COLUMNAME) VALUES ('LOC');
    COMMIT;
    CREATE TABLE DEPT(
    DEPT VARCHAR2(255),
    DNAME VARCHAR2(255)
    INSERT INTO DEPT(DEPT,DNAME) VALUES ('IT','INFORMATION TECH');
    INSERT INTO DEPT(DEPT,DNAME) VALUES ('HR','HUMAN RESOURCE');
    INSERT INTO DEPT(DEPT,DNAME) VALUES ('MR','MARKETING');
    INSERT INTO DEPT(DEPT,DNAME) VALUES ('IT','INFORMATION TECH');
    COMMIT;
    PL/SQL BLOCK
    DECLARE
      TYPE EMPCurTyp  IS REF CURSOR;
      v_EMP_cursor    EMPCurTyp;
      l_col_val           EMP.ENAME%type;
      l_ENAME_val       EMP.ENAME%type;
    l_col_ddl varchar2(4000);
    l_col_name varchar2(60);
    l_tab_name varchar2(60);
    l_empno number ;
    b_l_col_name VARCHAR2(255);
    b_l_empno NUMBER;
    begin
    for rec00 in (
    select EMPNO aa from  EMP
    loop
    l_empno := rec00.aa;
    for rec in (select COLUMNAME as column_name  from  columnames
    loop
    l_col_name := rec.column_name;
    begin
      l_col_val :=null;
       l_col_ddl := 'select  distinct :b_l_col_name ,pr.dept ' ||'  from emp pr, dept ps where   ps.dept like ''%IT'' '||' and pr.empno =:b_l_empno';
       dbms_output.put_line('DDL ...'||l_col_ddl);
       OPEN v_EMP_cursor FOR l_col_ddl USING l_col_name, l_empno;
    LOOP
        l_col_val :=null;
        FETCH v_EMP_cursor INTO l_col_val,l_ename_val;
        EXIT WHEN v_EMP_cursor%NOTFOUND;
          dbms_output.put_line('l_col_name='||l_col_name ||'  empno ='||l_empno);
       END LOOP;
    CLOSE v_EMP_cursor;
    END;
    END LOOP;
    END LOOP;
    END;

    user1758353 wrote:
    Thanks Billy, Would you be able to suggest any other faster method to load the data into table. Thanks,
    As Mark responded - it all depends on the actual data to load, structure and source/origin. On my busiest database, I am loading on average 30,000 rows every second from data in external files.
    However, the data structures are just that - structured. Logical.
    Having a data structure with 100's of fields (columns in a SQL table), raise all kinds of questions about how sane that structure is, and what impact it will have on a physical data model implementation.
    There is a gross misunderstanding by many when it comes to performance and scalability. The prime factor that determines performance is not how well you code, what tools/language you use, the h/w your c ode runs on, or anything like that. The prime factor that determines perform is the design of the data model - as it determines the complexity/ease to use the data model, and the amount of I/O (the slowest of all db operations) needed to effectively use the data model.

  • Group by GEOM and get unique points

    Hello,
    I need some help with a spatial query. I have a table of addresses and wanted to know if there is an easy way to group by x and y coordinates , so that I just get one record for multiple addresses with the same coords (and do simple clustering).
    This is my current sql statement
    select map_id, m.shape.sdo_point.x as X, m.shape.sdo_point.y
    from MAPS m
    where MDSYS.SDO_RELATE (m.SHAPE,
    MDSYS.SDO_GEOMETRY(2003,
    8311,
    NULL,
    MDSYS.SDO_ELEM_INFO_ARRAY(1, 1003, 3),
    MDSYS.SDO_ORDINATE_ARRAY(<%= mbrCoords[3]%>, <%= mbrCoords[2]%>, <%= mbrCoords[1]%>, <%= mbrCoords[0]%>)), 'mask=ANYINTERACT') = 'TRUE';

    Hi,
    another way would be like this (geom is SDO_GEOMETRY)
    -- 2D
    select A.* from
           select t.id, gv.x,gv.y
           from <TABLE> t, table(sdo_util.getvertices(t.geom)) gv
           ) A, (
           select count (gv.x||gv.y) ct , gv.x,gv.y
           from <TABLE>, table(sdo_util.getvertices(geom)) gv
           group by gv.x,gv.y
           ) B
    where A.X = B.X and A.Y = B.Y
    and B.ct > 1
    -- 3D
    select A.* from
           select t.id, gv.x,gv.y ,gv.z
           from <TABLE> t, table(sdo_util.getvertices(t.geom)) gv
           ) A, (
           select count (gv.x||gv.y||gv.z) ct , gv.x,gv.y,gv.z
           from <TABLE>, table(sdo_util.getvertices(geom)) gv
           group by gv.x,gv.y,gv.z
           ) B
    where A.X = B.X and A.Y = B.Y and A.Z = B.Z
    and B.ct > 1

  • How to get information from desktops into SQL?

    Hello Everyone,
    I could use some help with an idea that I have been working on. I basically am looking for a way to capture information from desktops and get that data into a SQL database. Could anyone give me any links, kb articles, etc on how I can go about doing this?
    Any help would be very appreciated
    Thanks :)

    Powershell is the tool for you. If you could please move this post to powershell; you should get better response.  I almost certain that there are already some powershell scripts that does this, or at least will give you a report or a excel\csv file
    with this information.
    once you have that info you import that data into sql and sql server agent jobs you can automate. 
    Below are some of the resources :
    http://serverfault.com/questions/585223/how-to-list-all-computers-operating-system-on-a-network-in-powershell
    https://www.simple-talk.com/sql/database-administration/let-powershell-do-an-inventory-of-your-servers/
    http://gallery.technet.microsoft.com/scriptcenter/Hardware-Inventory-Using-fe6611e0
    http://blogs.technet.com/b/heyscriptingguy/archive/2006/11/09/how-can-i-use-windows-powershell-to-get-a-list-of-all-my-computers.aspx
    Again, please move this powershell thread. you will get better response,
    Hope it Helps!!

  • How to convert String "(50-10)" to number and get output as 40 as a number.

    Hi,
    I have a string with formula, eg: String formula="(ABC-DEF)";
    I replaced the values of ABC and DEF in the above string now I have formula="(50-10)";
    How can I calculate the above value and get output (40)as a number like int or double.
    Regards
    Alex.
    Edited by: AlexRaju on Dec 8, 2009 10:11 AM

    Values for ABC and DEF are coming from different java collections like HashMap or ArrayList etc. The formulas can be complex which need some string manipulations and atlast I will get a string like "(50-10)" or "(20+(Math.SQRT(25)/Math.Power(2,3)))". Here all the numbers are values for variables like ABC or DEF coming from different hashmaps and arraylists based on different conditions.
    Thanks
    Alex.
    Edited by: AlexRaju on Dec 8, 2009 10:36 AM

  • How to call plsql procedure or function and getting back the string?

    Hi Everyone,
    i am using Jdev 11.1.1.5.0.
    i have a requirement to call plsql procedure or function from my backing bean java file and get back the returned value from the procedure or function.
    what piece of simple code i need to write in my backing bean?
    please suggest.
    Thanks.

    As always you write the method to call he pl/sql in the application module, expose this method to the client (so you see it in the datacontroll) then create a operation binding to the method and call this operation from the bean. The result you get by operation.getResult();
    You should never call pl/sql from the bean directly!
    The doc shows how to call the procedure from an application module: http://docs.oracle.com/cd/E21764_01/web.1111/b31974/bcadvgen.htm#sm0297
    Timo

  • How to build dynamic query strings in the query using DB adapter 'Pure SQL'

    Dear Forum,
    I am building an application which will access DB to fetch some result set. The query involves retrieving data from multiple tables(nearly 10 tables). So I have created a DB adapter using 'execute pure sql' option. With this query works fine, but my inputs parameters will vary. So I need to make my query dynamic to append the query strings at runtime depending on the inputs.
    For example I have 3 input variables - input1,input2 and input3 (in my request xsd) which are used in the pure sql query. Now if I get a 4th input parameter input4 in the request, I need to append this to query string as 'AND input4=[some value]' at runtime. Otherwise my query should have only 3 parameters. Please suggest how this can be achieved.
    Regards,
    Satya.

    This is a strange requirement, depending on the columns you have and what are optional in them, one way is to have separate operations and each opeartion will have different inputs and for each operation , a different DB Adapter is called. But this way, it results in more number of operations for the service as well as more number of references in the composite. Even if you pass the column inputs to the SQL procedure, it will result in a large number of if-else cases..
    Thanks,
    N

  • Slow processing and getting opening errors/warnings

    I've modified the PDF Binder sample to get a plugin that would open PDF's and Tif files, and save them as PDF/A-1b (code below).
    It's working. The problem: it's processing too slow (compared with the Actions batch processing)... and I've been getting warnings/and errors about "The imput file is corrupt or of an unknown/unsupported type" type. This is stopping my batch process until I click OK, and the it continues.
    I am trying to process a few thousand of tif files now. I tried first to use the Batch processing capability built in the Acrobat X... an it works, but only with the first 255 documents in the folder... then gives an "insufficient disk space" message for the rest of the files in the directory.
    So, 2 questions: Does anyone knows why it is so slow processing the tiff files and... how I can make my code "silent" so it does not wait for the OK after the message??
    Thanks in advance.
    The code:
    ADOBE SYSTEMS INCORPORATED
    Copyright (C) 1998-2006 Adobe Systems Incorporated
    All rights reserved.
    NOTICE: Adobe permits you to use, modify, and distribute this file
    in accordance with the terms of the Adobe license agreement
    accompanying it. If you have received this file from a source other
    than Adobe, then your use, modification, or distribution of it
    requires the prior written permission of Adobe.
      \file PDFBinder.cpp
    - Implements a method to convert multiple files into PDFs and bind the PDFs
    into one PDF file. The code shows how to use AVConversionToPDFHandler to
    convert files to PDF and how to use PDDocInsertPages() to combind PDF files.
    // Headers.
    #include <stdio.h>
    #include <ctype.h>
    #ifndef MAC_PLATFORM
    #include <direct.h>
    #include "PIHeaders.h"
    #endif
    // Defines ----------
    // Define this flag to show AVConversionToPDFEnumHandler info. in log file.
    #define SHOW_TOPDF_HANDLER_TYPES   
    // define this flag to use file type filter 
    #define USE_FILE_FILTER   
        Constants/Declarations
    // Message display control.  Ture: display
    ASBool bEcho = true;
    // File location. User can change the following filenames.
    #if WIN_PLATFORM
        const char* STRING_PDFBinderFolder = "C:\\Fairfax\\Adobe\\in";
        const char* STRING_PDFOutputFolder = "C:\\Fairfax\\Adobe\\PDFA";
        const char* FOLDERSYMBOL="\\";
    #endif
    #if MAC_PLATFORM
        const char* STRING_PDFBinderFolder = "/PDFBinder";
        const char* FOLDERSYMBOL="/";
    #endif
    char* OutputPdfFileName = "PDFBinderOutput.pdf";
    char* LogFileName = "PDFProcessLog.txt";
    static ASInt32 gNumToPDFExt;
    static ASInt32 gNumFromPDFExt;
    static AVConversionFromPDFHandler RightHandler;
    const int MAX_FILENAME_LENGTH = 256;
    char sLogFileName[MAX_FILENAME_LENGTH];
    // Filter -----------
    // Filter is a list of file types which can be converted to PDF in this program.
    // Use a filter may fit user's specific needs and ensure a smooth automation process.
    // Of course, the user can turn off the filter in two ways:
    //   (1) gPDFBinderFileFilter = "";
    //   (2) comment out //USE_FILE_FILTER 
    // The filter should be consistent with the Acrobat viewer's menu capability:
    //   Create PDF from multiple files ...
    // Here we put the types which have been tested, but user can expand it.
    const char* gPDFBinderFileFilter = "pdf,tif,tiff,PDF,TIF,TIFF";
    const int MAX_STRING_LENGTH = 2048;
    AVConversionToPDFHandler gHandler;
    // functions in this file.
    int    ConvertAndInsertFileToPDF(ASPathName aspItem, char* aFileName, PDDoc  PDFfile);
    void BindingFileToPDF(ASPathName aPathName, char* aFilename, ASFileSysItemPropsRec nFileAttrb, PDDoc targetPDdDoc, ASPathName outputPathName, int *ipTotal, int *ipConverted);
    ASBool PassPDFBinderFileFilter(char* filename);
    int    ConvertAndSavePDFInTargetFolder(ASPathName aPathName, char* aFileName, PDDoc PDFfile, ASPathName outputPathName);
    char* NewFileName(char *& aFileName);
    // callbacks
    ACCB1 ASBool ACCB2 MyAVConversionToPDFEnumProc(AVConversionToPDFHandler handler, AVConversionEnumProcData data);
    ACCB1 ASBool ACCB2 AVConversionToPDFEnumFindHandler(AVConversionToPDFHandler handler, AVConversionEnumProcData data);
    static ACCB1 ASBool ACCB2 myAVConversionFromPDFEnumProc(AVConversionFromPDFHandler handler, AVConversionEnumProcData data);
        Implementation
    /**    This sample implements a method to convert multiple files into PDF
      and bind the PDFs into one PDF file .
        This sample shows developers how to grammatically implement To-PDF file
      converson functionality.  Basically, the code uses AVConversionToPDFHandler
      to convert files to PDF and PDDocInsertPages()to combine PDF files.
      This plug-in is designed to run from a menu item, and by setting bEcho = false
      it may be run without any graphics user interface on the screen. Therefore, it 
      can be executed from other programs such as C IAC, VB IAC, and JavaScript
      to meet enterprise workflow needs.
        How to run it :
        - This sample adds a menu item "PDF Binder" under the Acrobat SDK submenu. Two ways to
        execute it: 1) click the menu item to run the program using a fixed file location
        hard coded; 2) press the shift key and click the menu item to choose a folder where
        files to be converted are located.
        - Without folder selection, this original code is to convert and bind files in a
        directory    C\test\PDFBinder for Win, or a folder   MacHD:test:PDFBinder for Mac.
        You can copy the test files in the project's testfiles folder to the appropriate location 
        for testing. You may locate files to be converted in another directory/folder, and
        specify the location in the string variable PDFBinderFolder in the code.
        - When you have the files to be converted ready in the specified location,
        run Acrobat 6 menu Advanced->AcrobatSDK->PDF Binder to start the operation.  There are
        echo messages informing you of the operation start and end, but you can change and
        rebuild the code to turn off the display on screen.
        - An output file PDFBinderOutput.pdf in the same location is created
        when the program succeeds. A text log file  PDFBinderLog.txt in the same
        location records the process and results.
        -  You can set bEch = false in the code to turn off any display on the screen.
        This is necessary when you  call the menu function from within other programs
        of C IAC, VB IAC, JavaScript. 
        -  An optional file filter is used to pre-process the files. The filter only allows
        the files with predefined types to be processed. You can change the file type list
        as you wish. Using a filter may ensure a smooth automation process, since you can put
        only well-tested file types in the filter. To turn off the filter, you can set
        gPDFBinderFileFilter = "" or not to define USE_FILE_FILTER 
        - Note this is a sample only, developers need to make further improvement for
        their actual use. For example, you can set up a list of files to use the method for
        the conversion and binding. And you can add code to handle special file types.
          @see AVConversionConvertToPDFWithHandler
        @see AVConversionEnumToPDFConverters
        @see ASFileSysDestroyFolderIterator
        @see PDDocOpen
        @see PDDocClose
        @see PDDocInsertPages
        @see PDDocCreatePage
        @see PDDocDeletePages
        @see PDPageRelease
        @see ASFileSysCreatePathName
        @see ASFileSysFirstFolderItem
        @see ASFileSysNextFolderItem
        @see ASFileSysGetNameFromPath
        @see ASFileSysReleasePath
    ACCB1 void ACCB2 PDFBinderCommand(void*)
        // if the menu item clicked with Shift key pressed down, go to interactive mode.
        // let the user to choose a folder and process all the file in the folder.
        ASText dispText = ASTextNew();
        char PDFBinderFolder[MAX_STRING_LENGTH];
        ASBool shiftKeyIsDown = ((AVSysGetModifiers() & AV_SHIFT) != 0);
        if(shiftKeyIsDown) {
            AVOpenSaveDialogParamsRec dialogParams;
            // Configure the dialog box parameters.
            memset (&dialogParams, 0, sizeof (AVOpenSaveDialogParamsRec));
            dialogParams.size = sizeof(AVOpenSaveDialogParamsRec);
            dialogParams.windowTitle = ASTextFromScriptText("Choose folder with files to bind",kASRomanScript);
            dialogParams.flags |= kAVOpenSaveAllowForeignFileSystems;
            dialogParams.initialFileSys = ASGetDefaultUnicodeFileSys();
            ASPathName thePath;
            ASFileSys fileSys;
            AVAppBeginModal(NULL);
            if(ASBoolToBool(AVAppChooseFolderDialog(&dialogParams, &fileSys, &thePath)) != true){
                AVAppEndModal();
                //AVAlertNote("Failed to select the folder");
                return;
            AVAppEndModal();
    #ifdef WIN_PLATFORM       
            ASFileSysDisplayASTextFromPath(ASGetDefaultUnicodeFileSys(), thePath, dispText);
            ASHostEncoding bestEnc = ASTextGetBestEncoding(dispText, (ASHostEncoding)PDGetHostEncoding());
            strncpy(PDFBinderFolder, ASTextGetEncoded(dispText, bestEnc), MAX_STRING_LENGTH - 1);
    #else       
            ASPlatformPath aspPath;
            ASFileSysAcquirePlatformPath(fileSys, thePath, ASAtomFromString("POSIXPath"), &aspPath);
            strncpy(PDFBinderFolder, (char *)ASPlatformPathGetPOSIXPathPtr(aspPath), MAX_STRING_LENGTH - 1);
            ASFileSysReleasePlatformPath(fileSys, aspPath);
            // remove extra path separator
            char e = PDFBinderFolder[strlen(PDFBinderFolder)-1];
            if(e == ':' || e == '/')
                PDFBinderFolder[strlen(PDFBinderFolder)-1]='\0';
            dispText = ASTextFromScriptText(PDFBinderFolder, kASEUnicodeScript);
    #endif
            ASFileSysReleasePath(fileSys, thePath);
        // Otherwise, the hard coded file path will be used.
        else {
            strcpy(PDFBinderFolder, STRING_PDFBinderFolder);
            dispText = ASTextFromScriptText(PDFBinderFolder, kASRomanScript);
        // instruction message
        char strMsg[MAX_STRING_LENGTH] = "";
        sprintf(strMsg, "This function will convert and process Tiff and PDF files in the selected directory. ");
        strcat(strMsg, " You need to copy your files in C:\\Fairfax\\Adobe\\in directory." );
        strcat(strMsg, " Files will be processed into C:\\Fairfax\\Adobe\\PDFA directory." );
        strcat(strMsg, " If you are ready, click OK to continue, or click Cancel to quit. " );
        strcat(strMsg, " \nNote you can press down Shift key and click the menu item to have a folder selection. " );
        strcat(strMsg, " \nNote you can turn off the echo message by setting bEcho = false and rebuild the code. " );
        if(ASBoolToBool(bEcho)==true){
            ASInt32 choice = AVAlert(ALERT_CAUTION, strMsg, "OK", "Cancel", NULL, true);
            if(choice==2) {
                return;
        // create a new target pdf file with one empty page
        PDDoc TargetPDF = PDDocCreate();
        ASFixedRect mediaBox = { fixedZero, ASInt32ToFixed(792), ASInt32ToFixed(612), fixedZero };
        PDPage emptyPage = PDDocCreatePage (TargetPDF, PDBeforeFirstPage, mediaBox);
        PDPageRelease (emptyPage);
        //     get available headlers and set our file filter
        char ValidExt[MAX_STRING_LENGTH];
        memset(ValidExt, 0, MAX_STRING_LENGTH);
    #ifdef SHOW_TOPDF_HANDLER_TYPES   
        // enumerate AVConversioToPDF handlers to get all available file
        // types which can be converted to PDF.
        AVConversionEnumToPDFConverters(MyAVConversionToPDFEnumProc, (AVConversionEnumProcData) ValidExt);
        //AVAlertNote("Converters Defined");
        //AVAlertNote(ValidExt);
        //AVAlertNote(gPDFBinderFileFilter);
    #endif
    #ifdef USE_FILE_FILTER    
        // set File filter
        strcpy(ValidExt, gPDFBinderFileFilter);
        //AVAlertNote(ValidExt);
    #endif
        // process all files in the directory
        int iNumFiles = 0;
        int iNumFilesConverted = 0;
        char* Done = "Converted";
        char* NotDone = " - ";
        char fileName[MAX_FILENAME_LENGTH+1];
        ASFileSysItemPropsRec props;
        ASFolderIterator iter;
        ASPathName aspItem = NULL;
        memset(&props, 0, sizeof(props));
        props.size = sizeof(props);
        //AVAlertNote("Props Defined");
        ASPathName theFolder = NULL;
        ASFileSys fileSys = NULL;
        DURING
    #ifdef WIN_PLATFORM   
        fileSys = ASGetDefaultFileSysForPath(ASAtomFromString("ASTextPath"), dispText);
        theFolder = ASFileSysCreatePathName (fileSys, ASAtomFromString("ASTextPath"), dispText, 0);
        //AVAlertNote("FileSys and Folder Defined");
    #else
        fileSys = ASGetDefaultFileSysForPath(ASAtomFromString("POSIXPath"), PDFBinderFolder);
        theFolder = ASFileSysCreatePathName (fileSys,
                                ASAtomFromString("POSIXPath"), PDFBinderFolder, 0);
    #endif
        if (theFolder==NULL) {
            //AVAlertNote("Fail to create ASPathName for the selected folder.");
            E_RTRN_VOID
        // Find first file in current directory
        if((iter = ASFileSysFirstFolderItem(fileSys, theFolder, &props, &aspItem))==FALSE) {
            //AVAlertNote("This is either an invalid folder or the folder contains no files.");
            E_RTRN_VOID
        ASFileSysReleasePath(fileSys, theFolder);
        //AVAlertNote("Folder Released");
        // get filename only
        if(ASFileSysGetNameFromPath(fileSys, aspItem, fileName, sizeof(fileName))) {
            E_RTRN_VOID
        HANDLER   
            // exception handling
            char errorMsg[256];
            ASGetErrorString (ASGetExceptionErrorCode(), errorMsg, 256);
            if(aspItem!=NULL) ASFileSysReleasePath(fileSys, aspItem);
            if(theFolder!=NULL) ASFileSysReleasePath(fileSys, theFolder);
            // display an error message.
            if(ASBoolToBool(bEcho)==true) {
                AVAlertNote (errorMsg);
            return;
        END_HANDLER
        //AVAlertNote(fileName);
        // go to binding if it's a valid type of file
        if(props.type == kASFileSysFile && PassPDFBinderFileFilter(fileName)) {
            char outFileName[] = "";
            //strcat(outFileName, STRING_PDFOutputFolder);
            //strcat(outFileName, FOLDERSYMBOL);
            //strcat(outFileName, fileName);
            strcat(outFileName, STRING_PDFOutputFolder);
            strcat(outFileName, FOLDERSYMBOL);
            strcat(outFileName, fileName);
            //AVAlertNote(outFileName);
            ASPathName outputFileName = ASFileSysCreatePathName (ASGetDefaultFileSys(), ASAtomFromString("Cstring"), outFileName, 0);
            BindingFileToPDF(aspItem, fileName, props, TargetPDF, outputFileName ,&iNumFiles, &iNumFilesConverted);
            //AVAlertNote("File Processed");
        ASFileSysReleasePath(fileSys, aspItem);
        // process all other files 
        while(ASFileSysNextFolderItem(fileSys, iter, &props, &aspItem)) {
            // get filename only
            if(ASFileSysGetNameFromPath(fileSys, aspItem, fileName, sizeof(fileName))) {
                return;
            // go to binding if it's a valid type of file
            if(props.type == kASFileSysFile && PassPDFBinderFileFilter(fileName))  {
                char outFileName[] = "";
                //strcat(outFileName, STRING_PDFOutputFolder);
                //strcat(outFileName, FOLDERSYMBOL);
                //strcat(outFileName, fileName);
                strcat(outFileName, STRING_PDFOutputFolder);
                strcat(outFileName, FOLDERSYMBOL);
                strcat(outFileName, fileName);
                //AVAlertNote(outFileName);
                ASPathName outputFileName = ASFileSysCreatePathName (ASGetDefaultFileSys(), ASAtomFromString("Cstring"), outFileName, 0);
                BindingFileToPDF(aspItem, fileName, props, TargetPDF, outputFileName, &iNumFiles, &iNumFilesConverted);
                //AVAlertNote("File Processed");
            ASFileSysReleasePath(fileSys, aspItem);
        ASPathName pdfPathName = NULL;
        DURING
        // close the findfile
        ASFileSysDestroyFolderIterator(fileSys, iter);
        // save and close the output pdf file
        // create path
        ASText pathText = ASTextNew();
        ASTextCatMany(
            pathText,
            dispText,
            ASTextFromScriptText(FOLDERSYMBOL, kASRomanScript),
            ASTextFromScriptText(OutputPdfFileName, kASRomanScript),
            NULL);
    #ifdef WIN_PLATFORM
        ASFileSys fileSys = ASGetDefaultFileSysForPath(ASAtomFromString("ASTextPath"), pathText);
        pdfPathName = ASFileSysCreatePathName (fileSys,
                                ASAtomFromString("ASTextPath"), pathText, 0);
    #else
        char path[MAX_STRING_LENGTH];
        strncpy(path, ASTextGetEncoded(pathText,
            ASTextGetBestEncoding(pathText, (ASHostEncoding)PDGetHostEncoding())), MAX_STRING_LENGTH - 1);
        ASFileSys fileSys = ASGetDefaultFileSysForPath(ASAtomFromString("POSIXPath"), path);
        pdfPathName = ASFileSysCreatePathName (fileSys,
                                ASAtomFromString("POSIXPath"), path, 0);   
    #endif
        if(pdfPathName==NULL) {
            E_RTRN_VOID
        // delete the empty page
        if(PDDocGetNumPages(TargetPDF)>1) {
            PDDocDeletePages (TargetPDF, 0,0,NULL, NULL);
        // save
        //PDDocSave (TargetPDF, PDSaveFull | PDSaveCollectGarbage | PDSaveLinearized,
        //            pdfPathName, ASGetDefaultUnicodeFileSys(),    NULL, NULL);
        PDDocClose (TargetPDF);
        //ASFileSysReleasePath(fileSys, pdfPathName);
        HANDLER   
            // exception handling
            char errorMsg[256];
            ASGetErrorString (ASGetExceptionErrorCode(), errorMsg, 256);
            if(pdfPathName!=NULL) ASFileSysReleasePath(fileSys, pdfPathName);
            // display an error message.
            if(ASBoolToBool(bEcho)==true) {
                AVAlertNote (errorMsg);
            return;
        END_HANDLER
        // use this line to show the massage on screen if you need
        //if(ASBoolToBool(bEcho)==true) {
        AVAlertNote ("Folder Completed. PDF/A Output files generated.");
        return;
    /* ConvertAndInsertFileToPDF
    /** Internal function \n
    ** Convert a file to PDF, then insert it to target PDF file.
    ** @param aFileName IN  char string, filename.
    ** @param PDFfile IN/OUT PDDoc of the target PDF file.
    ** @return 0 if OK, 1 if failed.
    int    ConvertAndInsertFileToPDF(ASPathName aPathName, char* aFileName, PDDoc PDFfile)
        PDDoc tempPDF;
        char* Ext;
        DURING
            // get file extention
            Ext = strrchr(aFileName,'.');
            if(Ext) {
                Ext++;
            else {
                E_RETURN (1);
            // if the file is PDF, open PDDoc
            if(strcmp(Ext,"PDF")==0 || strcmp(Ext,"pdf")==0) {
                tempPDF = PDDocOpen (aPathName, ASGetDefaultFileSys(), NULL, true);
                if(tempPDF==NULL) {
                    PDDocClose(tempPDF);
                    E_RETURN (1);
            // else convert it to PDF
            else
                // let it automatically find right handler for the file and do the job.
                AVConversionStatus stat = AVConversionConvertToPDF
                    (kAVConversionAsyncOkay, //kAVConversionNoFlags
                      aPathName, ASGetDefaultFileSys(), &tempPDF, NULL);
                // check if successful
                if(stat != kAVConversionSuccess) {
                    //AVAlertNote("Cannot convert the file.");
                    E_RETURN (1);
        HANDLER   
            // exception handling
            char errorMsg[256];
            ASGetErrorString (ASGetExceptionErrorCode(), errorMsg, 256);
            // display an error message.
            if(ASBoolToBool(bEcho) == true) {
                AVAlertNote (errorMsg);
            return 1;
        END_HANDLER
        // insert new PDF into target PDF
        DURING
            // insert all pages of new pdfc to TargetPDFfile.
            PDDocInsertPages(PDFfile, PDLastPage, tempPDF, 0,
                            PDAllPages, PDInsertAll, NULL, NULL, NULL, NULL);
            PDDocClose(tempPDF);
        HANDLER
             char errorMsg[256];
            ASGetErrorString (ASGetExceptionErrorCode(), errorMsg, 256);
            if(ASBoolToBool(bEcho)==true) {
                AVAlertNote(errorMsg);
        END_HANDLER
            if(strcmp(Ext,"doc")==0) {
                char fname[40];
                sprintf(fname,"%s.pdf",aFileName);
                remove(fname);
            return 0;
    /* MyAVConversionToPDFEnumProc
    /** Internal callback function \n
    ** called for every AVConversionToPDFHandler.
    ** get the valid type (file extention) for the conversion. 
    ** @return true.
    ACCB1 ASBool ACCB2 MyAVConversionToPDFEnumProc(AVConversionToPDFHandler handler,
                                                 AVConversionEnumProcData data)
        ASUns16 numFileExt = handler->convFilter.numFileDescs;
        for (int i = 0; i < numFileExt; i++) {
            char* ext = handler->convFilter.fileDescs[i].extension;
            if(strlen(ext)>0) {
                strcat((char*) data, ext);
                strcat((char*) data, ",");
        return true;
    /* this is alternative code to get right conversion handler for a specific file
       to be converted. It works with function AVConversionConvertToPDFWithHandler.
       It's not used now, but kept for user's reference.
    ACCB1 ASBool ACCB2 AVConversionToPDFEnumFindHandler(AVConversionToPDFHandler handler,
                                                 AVConversionEnumProcData data)
        ASUns16 numFileExt = handler->convFilter.numFileDescs;
        for ( int i = 0; i < numFileExt; i++)
            char* ext = handler->convFilter.fileDescs[i].extension;
            if(strlen(ext)) {
                if(!strcmp((char*) data, ext)) {
                    gHandler = handler;
                    return false;
        return true;
    /* BindingFileToPDF
    /** Internal callback function for binding process \n
    ** IN: char* aFilename, ASFileSysItemPropsRec nFileAttrb \n
    **     PDDoc targetPDdDoc, int *ipTotal, \n
    **     int *ipConverted, FILE *logfile \n
    ** OUT: int *ipTotal, int *ipConverted. \n
    void BindingFileToPDF(ASPathName aPathName, char* aFilename, ASFileSysItemPropsRec nFileAttrb, PDDoc targetPDdDoc, ASPathName outputPathName, int *ipTotal, int *ipConverted)
        // ignore system, hidden files, and our target PDF and log file.
        if( nFileAttrb.isHidden 
            || (strcmp(aFilename,".")==0) || (strcmp(aFilename,".." )==0)
            || (strcmp(aFilename,OutputPdfFileName)==0) || (strcmp(aFilename,LogFileName)==0)) {
                return;
        (*ipTotal)++;
        char msg[MAX_STRING_LENGTH] = "";
        char* Done = "Converted";
        char* NotDone = " - ";
        // try to convert and insert it to target PDF file.
        // rc would be 0 for success, otherwise 1.
        int rc = ConvertAndSavePDFInTargetFolder(aPathName, aFilename, targetPDdDoc, outputPathName);
        // if converted
        if(rc==0) {
            (*ipConverted)++;
    /* PassPDFBinderFileFilter
    /** Internal callback function for binding process
    ** @return true if the IN aFilename is a valid file for PDF conversion,
    ** otherwise false.
    ASBool PassPDFBinderFileFilter(char* aFilename)
    #ifdef USE_FILE_FILTER
        // if the filter is empty, any file will pass.
        if(strlen(gPDFBinderFileFilter)==0)
            return true;
        char* Ext = strrchr(aFilename,'.');
        if(Ext!=NULL) {
            Ext++;
            if(strstr(gPDFBinderFileFilter, Ext)) {
                return true;
        return false;
    #else
            // not use filter, any file will pass.
            return true;
    #endif
    /* ConvertAndInsertFileToPDF
    /** Internal function \n
    ** Convert a file to PDF, then insert it to target PDF file.
    ** @param aFileName IN  char string, filename.
    ** @param PDFfile IN/OUT PDDoc of the target PDF file.
    ** @return 0 if OK, 1 if failed.
    int    ConvertAndSavePDFInTargetFolder(ASPathName aPathName, char* aFileName, PDDoc PDFfile, ASPathName outputPathName)
        PDDoc tempPDF;
        char* Ext;
        DURING
            // get file extention
            Ext = strrchr(aFileName,'.');
            if(Ext) {
                Ext++;
            else {
                E_RETURN (1);
            // if the file is PDF, open PDDoc
            if(strcmp(Ext,"PDF")==0 || strcmp(Ext,"pdf")==0) {
                tempPDF = PDDocOpen (aPathName, ASGetDefaultFileSys(), NULL, true);
                if(tempPDF==NULL) {
                    PDDocClose(tempPDF);
                    E_RETURN (1);
            // else convert it to PDF
            else
                // let it automatically find right handler for the file and do the job.
                AVConversionStatus stat = AVConversionConvertToPDF
                    (kAVConversionAsyncOkay, //kAVConversionNoFlags
                      aPathName, ASGetDefaultFileSys(), &tempPDF, NULL);
                // check if successful
                if(stat != kAVConversionSuccess) {
                    //AVAlertNote("Cannot convert the file.");
                    E_RETURN (1);
                else {
                    //change Extension
                    ASText asTmp = ASTextNew();
                    ASFileSysDisplayASTextFromPath(ASGetDefaultUnicodeFileSys(), outputPathName, asTmp);
                    //AVAlertNote(ASTextGetScriptText(asTmp, kASRomanScript));
                    if(strcmp(Ext,"TIF")==0 || strcmp(Ext,"tif")==0){
                        ASTextReplace(asTmp, ASTextFromScriptText(".tif", kASRomanScript), ASTextFromScriptText(".pdf", kASRomanScript));
                    } else {
                        ASTextReplace(asTmp, ASTextFromScriptText(".tiff", kASRomanScript), ASTextFromScriptText(".pdf", kASRomanScript));
                    //AVAlertNote(ASTextGetScriptText(asTmp, kASRomanScript));
                    outputPathName = ASFileSysCreatePathName (ASGetDefaultUnicodeFileSys(), ASAtomFromString("ASTextPath"), asTmp, 0);
        HANDLER   
            // exception handling
            char errorMsg[256];
            ASGetErrorString (ASGetExceptionErrorCode(), errorMsg, 256);
            // display an error message.
            if(ASBoolToBool(bEcho) == true) {
                AVAlertNote (errorMsg);
            return 1;
        END_HANDLER
        // Run OCR and Save new PDF into target PDF
        DURING
            //    OCR
            ASAtom cmdName;
            AVCommand cmd;
            cmdName=ASAtomFromString("PaperCapture");
            cmd=AVCommandNew(cmdName);
            ASCab config = ASCabNew();
            ASCabPutInt (config, "UIPolicy", kAVCommandUISilent);       //hide the interface
            if (kAVCommandReady ==     AVCommandSetConfig (cmd, config)) {
                //AVAlertNote("Config Ready");
            ASCab inputs = ASCabNew();
            ASCabPutPointer (inputs, kAVCommandKeyPDDoc, PDDoc, tempPDF, NULL);
            if (kAVCommandReady == AVCommandSetInputs (cmd, inputs)) {
                //AVAlertNote("Input Ready");
            ASCabDestroy (inputs);
            AVCommandStatus status = AVCommandExecute(cmd);
                        //switch (status) {
                        //    case kAVCommandReady :
                        //        AVAlertNote("Not working, but ready to work.");
                        //        break;
                        //    case kAVCommandWorking :
                        //        AVAlertNote("Still working");
                        //        break;   
                        //    case kAVCommandDone :
                        //        AVAlertNote("Done working");
                        //        break;   
                        //    case kAVCommandInError :
                        //        AVAlertNote("In Error");
                        //        break;       
                        //    case kAVCommandNotExecuted :
                        //        AVAlertNote("Command not executed due to lack of objects on which the command to be executed");
                        //        break;
            AVCommandDestroy(cmd);
            //Save
            //PDDocSave (tempPDF, PDSaveFull | PDSaveCollectGarbage | PDSaveLinearized, outputPathName, ASGetDefaultUnicodeFileSys(),    NULL, NULL);
            //ClosePDF
            //PDDocClose(tempPDF);
            //Convert to PDF/A Compliance
            //Select the right handler
            AVConversionEnumFromPDFConverters(myAVConversionFromPDFEnumProc, NULL);
            // do conversion
            AVConversionStatus stat = AVConversionConvertFromPDFWithHandler(RightHandler, NULL, kAVConversionAsyncOkay, tempPDF, outputPathName,  ASGetDefaultFileSys(), NULL);
            // check the returned status and show message
            //if (stat == kAVConversionSuccess)
            //                AVAlertNote( "The PDF/A file was saved in output folder." );
            //else if (stat == kAVConversionFailed)
            //                AVAlertNote( "The PDF/A conversion failed." );
            //else if (stat == kAVConversionSuccessAsync)
            //                AVAlertNote( "The conversion will continue asynchronously." );
            //else if (stat == kAVConversionCancelled)
            //                AVAlertNote( "The conversion was cancelled." );
            //Save
            //PDDocSave (tempPDF, PDSaveFull | PDSaveCollectGarbage | PDSaveLinearized, outputPathName, ASGetDefaultUnicodeFileSys(), NULL, NULL);
            //ClosePDF
            PDDocClose(tempPDF);
            ASFileSysReleasePath(ASGetDefaultFileSys(), outputPathName);
        HANDLER
             char errorMsg[256];
            ASGetErrorString (ASGetExceptionErrorCode(), errorMsg, 256);
            if(ASBoolToBool(bEcho)==true) {
                AVAlertNote(errorMsg);
        END_HANDLER
            if(strcmp(Ext,"doc")==0) {
                char fname[40];
                sprintf(fname,"%s.pdf",aFileName);
                remove(fname);
            return 0;
    //Select the appropiate handler for the PDF/A conversion
    static ACCB1 ASBool ACCB2 myAVConversionFromPDFEnumProc(AVConversionFromPDFHandler handler, AVConversionEnumProcData data)
        AVFileFilterRec filter = handler->convFilter;
        ASUns16 numFileExt = filter.numFileDescs;
        char *kUniqueID = handler->uniqueID;
        // go through the conversion handlers to find a handler for PDF extension files and the unique key matches the PDF/A one.
        for  (ASInt32  i = 0; i < numFileExt; i++)
            if  (strlen(handler->convFilter.fileDescs[i].extension)>0)
                // found it, fill in the handler and return false to stop going on.
                if (!strcmp(handler->convFilter.fileDescs[i].extension, "pdf") && !strcmp(kUniqueID,"com.callas.preflight.pdfa")) {
                    RightHandler = handler;
                    return  false ;
        return true;

    There are some options for various APIs to run "kinda silent" - but again, Acrobat is designed for INTERACTIVE use…so "completely silent" isn't really an option.
    As for speed – you'd need to be MUCH MORE specific about where your slow downs are.  Have you profiled?
    From: Adobe Forums <[email protected]<mailto:[email protected]>>
    Reply-To: "[email protected]<mailto:[email protected]>" <[email protected]<mailto:[email protected]>>
    Date: Mon, 12 Dec 2011 07:39:08 -0800
    To: Leonard Rosenthol <[email protected]<mailto:[email protected]>>
    Subject: Slow processing and getting opening errors/warnings
    Re: Slow processing and getting opening errors/warnings
    created by FFX-ER<http://forums.adobe.com/people/FFX-ER> in Acrobat SDK - View the full discussion<http://forums.adobe.com/message/4079175#4079175

  • Assigning a hex value to a variable and getting binary value of a variable.

    I try to develop java programs and I need to do a conversion unicode to EBCDIC and vice versa.
    How can I assign hex values to variables to build UTF-EBCDIC and EBCDIC-UTF table and get hex or binary value of data to compare it to value of in the table?
    I did a conversion like this with PL/1 before. I do not know how can I do it with Java. Because I am new to Java.
    Thank you in advance.

    I will run java code in mainframe and java uses
    unicode for data in default and mainframe environment
    is EBCDIC. So I have to translate the data from
    unicode to ebcdic.I said I think String supports EBCDIC encoding...
    String ebcdic = new String(ebcdicBytes, "Cp500");
    http://java.sun.com/j2se/1.4.2/docs/guide/intl/encoding.doc.html

  • Set and get values with vector

    I have a class that that querys a db and sets a value of the result to a vector array. Is it possible to set and retrieve that vector array using the set and get methods?
    ex:
    my class:
    sql = "Select ...";
    Vector fName = new Vector();
    rs = sqlStatement.executeQuery(sql);
    if (rs != null) {
    while (rs.next()) {
    fName.add(rs.getString("fName") + "");
    rs.close();
    setFName(fName);
    how would I set up the set and get methods???
    thanks

    I am unsure of what you are asking:
    A Vector has set and get methods for it, you use indexes of the array to say what element you want to work with.
    If you are asking how do you know what elements of the Vector contain which data columns, you have to remember how you put them in.
    If you are asking if you can use set to load the Vector: then NO, you have to have elemenets already there to change, use the add method.
    If you are asking how to access the elements of the Vector you use an Enumeration:
    for(java.util.Enumeration e = v.elements(); e.hasMoreElements();){
    s = (java.lang.String) e.nextElement();
    vl.add(s.substring(0, 12));
    If you are asking something else: please elaborate what you want--my brain may not be very functional this morning.

  • Abstract class with set and get methods

    hi
    how to write set and get methods(plain methods) in an abstartc class
    ex: setUsername(String)
    String getUsername()
    and one class is extending this abstract class and same methods existing in that sub class also..... how to write......plz provide some ideas
    am new to programming....
    asap
    thnx in advance

    yes... as i told u.... i am new to coding......
    and my problem is ..... i have 2 classes one is abstract class without abstract methods.. and another class is extending abstract class.....
    in abstract class i have 2 methods...one is setusername(string) and getusername() ..... how to write these two methods.... in abstract class i have private variables username...... when user logins ..... i need to catch the user name and i need to validate with my oracle database and i need to identify the role of that user and based on role of that user i need to direct him to appropriate jsp page.......
    for that now i am writing business process classes..... the above mentioned two classes are from business process.....
    could u help me now
    thnx in advance

  • To store time only in the table and get it to the report in Apex

    Hi,
    I am very very new to Apex.
    I get a txt file with around 57 columns(comma seperated). In apex we import this and insert it into a database table (csv into table) and then generate a reports out of this table using procedure/packages. we have different fields in this extract which gives different dates and times ( thats right dates and time comes seperate in seperate columns). I would like to insert this dates and times seperately into the table. thats is, getting a table as an exact image of the extract we receive.What data type do I choose to save just the time.
    I can only see 'date' data type where I can have both date and time. But can't find anything just for time.
    The main use of this time(s) saved seperately in the table is , I can then easily display it in reports.
    The report the users want has got fields like transport start time, duty start time etc..
    If you can't save time seperately in the database table, then can somebody suggest a way of saving it in table (in the method available)and then getting the time seperated out into the report.
    Currently the users use macro on excel to get this reports and formatting a cell to 'time' is simple.
    Any suggestions welcome.
    Regards
    Liza

    Varad,
    I have been trying to get this date-time issue in different areas in my application.
    From csv to table its working (once I got dates in the extract adjusted to '02mar2009' format).
    Now I have manipulation to do on this datetime.
    Say I have datetime1, to get datetime2 I have to get datetime1 and reduce some minutes.
    I got the time part into l_temp after reducing the minutes.
    datetime2 :=to_date(sysdate || l_temp,'dd-mon-yyyy hh24mi');
    It gives an error saying 'literals doesn't match format string' (both at sql command and PL/SQL in apex
    I even tried datetime2 :=to_date(to_char(sysdate,'dd-mon-yyyy') || l_temp,'dd-mon-yyyy hh24mi');
    gets the same error in apex but this works fine in sql command.
    But if I put datetime2 :=to_date('02mar09' || l_temp,'dd-mon-yyyy hh24mi');
    Do you know why? Can you suggest something?
    Obviously, I can't hard code it. I have read the date from table1 and write it to table 2 with after this manipulation.
    Any suggestion?
    regards
    Liza
    Edited by: liza on Mar 3, 2009 5:13 PM

  • Generate a PDF export and getting the file or the bytestream to modify it

    Hi everybody
    I have a web dynpro application and want to get the bytestream or the PDF file itself.
    Is there a function (RFC, J2EE-Method, ABAP methode/class) where I can say
    "Hey function, generate a PDF export of a BI report and save the PDF file <br>somewhere in the KM or return the bytestream of the PDF"
    I must be able to define following parameters
    -BI template name
    -values for the selection mask (the same as the BEx BI-Commands to prefill a field in the selection mask)
    -KM path + filename (if the function saves the file in the KM)
    What I already tried:
    Broadcast to KM
    I can start the broadcast automatically using the report RSRD_BROADCAST_STARTER. But the problem is that I can't generate a broadcast setting and so I'm not able to define the filename and selectionmask data dynamically.
    Package RSRD
    When you enter the transaction SE80 and look for the package "RSRD" there are a lot of interesting classes and methods. But I couldn't figure out how to call them to generate a PDF export of a BI report.
    FM RSADOB_PDFREPORT_GENERATE
    This function module have all the parameters I wish. The problem is that it does not work anymore. It's just an internal test for the SAP guys themselves.
    So ...
    Have anybody an idea how to solve this?
    How to generate a PDF export of a BI report and fill the selection mask and get the PDF (as bytecode or file in the KM) ?
    Thanks lot
    Klaudio

    hi,
    Like you said.. steps are simple and clearly mentioned in guide.
    1. create a variable of type string
    2. after configuring the file adapter , go to corresponding receive activity , go to properties tab
    3. search for a property with name as jca.file.FileName . This basically keeps track of file name
    4. for this property, give the value as name of variable created in step 1 above
    5. Use this variable anywhere in assign / transform
    HTH,
    Ketan

  • Date fields and compare and get the later date of the fields

    I am trying to compare these date fields and compare and get the later date of the fields
    Tables are
    TABCASER
    TABCASER1
    EVCASERS
    Field
    Are
    TABCASER1.CASER_no
    The dates are to be compared and then get the records with the highest or latest date value.
    TABCASER1.CASERRECIEVEDDATE
    EVCASERS.FINALEVDATES
    EVCASERS.PUBLICATIONDATE
    EVCASERS.PUBLICATIONDATE
    TABCASER.COMPAREACCEPDATE
    I have this code but I am trying to figure out what it all means.
    I have several questions.
    1.
    1.     greatest it is used here to compare right? How do I then output this ? do I store it to a var (coldfusion) ultimately , I wish to send it to a page of records
    2.     is it necessary to use todate? And to_date? What does this do?
    3.     decode, is this necessary too. What does this do? NULL?
    4.     
    5.     
    6.     when I do get the query results how do I send it to coldsuion and out put to a display.
    Someone sent me this code.
    is there abetter way of doing this? To compare the dates and store in a var to display. thanks
    Here is my code below:
    Greatest(
         CASE
              WHEN INSTR(TABCASER1.CASER_no,'-CE') > 0 THEN
         decode(TABCASER1.CASERRECIEVEDDATE,NULL,TO_DATE('01/01/1900','mm/dd/yyyy'),TABCASER1.CASERRECIEVEDDATE)
                             WHEN INSTR(TABCASER1.CASER_no,'-ERNIE') > 0 THEN
         decode(EVCASERS.FINALEVDATES,NULL,TO_DATE('01/01/1900','mm/dd/yyyy'),EVCASERS.FINALEVDATES)
                             WHEN INSTR(TABCASER1.CASER_no,'-MONIE') > 0 THEN
         decode(EVCASERS.PUBLICATIONDATE,NULL,TO_DATE('01/01/1900','mm/dd/yyyy'),EVCASERS.PUBLICATIONDATE)
                             WHEN INSTR(TABCASER1.CASER_no,'-NADINE') > 0 THEN
         decode(EVCASERS.PUBLICATIONDATE,NULL,TO_DATE('01/01/1900','mm/dd/yyyy'),EVCASERS.PUBLICATIONDATE)
                             ELSE
         decode(TABCASER.COMPAREACCEPDATE,NULL,TO_DATE('01/01/1900','mm/dd/yyyy'),TABCASER.COMPAREACCEPDATE)
                        END
              ,decode(TABCASER.COMPAREACCEPDATE,NULL,TO_DATE('01/01/1900','mm/dd/yyyy'),TABCASER.COMPAREACCEPDATE))
              between TO_DATE('#dateformat(form.startDate,"mm/dd/yyyy")#','MM/DD/YYYY') and TO_DATE('#dateformat(form.endDate,"mm/dd/yyyy")#','MM/DD/YYYY')
    is there abetter way of doing this? To compare the dates and store in a var to display. thanks

    Hi
    If you have date datatypes than:
    select
    greatest(TABCASER1.CASERRECIEVEDDATE, EVCASERS.FINALEVDATES, EVCASERS.PUBLICATIONDATE, EVCASERS.PUBLICATIONDATE, TABCASER.COMPAREACCEPDATE)
    from TABCASER, TABCASER1, EVCASERS
    where ...-- join and other conditions
    1. greatest is good enough
    2. to_date creates date dataype from string with the format of format string ('mm/dd/yyyy')
    3. decode(a, b, c, d) is a function: if a = b than return c else d. NULL means that there is no data in the cell of the table.
    6. to format the date for display use to_char function with format modell as in the to_date function.
    Ott Karesz
    http://www.trendo-kft.hu

  • Connection to CRX via RMI and getting WeakReference value..... with an exception!

    Hi there,
    I have the following problem.
    I opened a ticket in Day Care Support system, about CRX users/group membership that got lost while synchronization with our LDAP server.
    Although when the user and the group had been created (and therefore taken from that same LDAP server), the membership was good.... but after some time the membership got lost......
    So what i am trying to do now is a Java program that connects to CRX via RMI.
    And gets the list of all the users from a group (aka membership).
    The idea is to monitor the membership each seconds.
    But when trying to get the property "rep:members" of the group, I have the following exception :
    javax.jcr.ValueFormatException: Unknown value type 10
              at org.apache.jackrabbit.rmi.server.ServerObject.getRepositoryException(ServerObject.java:13 9)
              at org.apache.jackrabbit.rmi.server.ServerProperty.getValues(ServerProperty.java:71)
              at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
              at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:60)
              at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:37)
              at java.lang.reflect.Method.invoke(Method.java:611)
              at sun.rmi.server.UnicastServerRef.dispatch(UnicastServerRef.java:322)"
    I searched a little bit and found that "10" is the number for type WeakReference.
    That's normal to me because memberships are stored in the group as a list reference to users linked to that group....
    Anyways, what's not normal to me is that when the type is "10" the API does not let me get the Value (cf. ServerProperty.getValues() method)
    Here is the program:
    import java.util.HashMap;
    import java.util.Iterator;
    import java.util.Map;
    import javax.imageio.spi.ServiceRegistry;
    import javax.jcr.Node;
    import javax.jcr.NodeIterator;
    import javax.jcr.Property;
    import javax.jcr.PropertyIterator;
    import javax.jcr.Repository;
    import javax.jcr.RepositoryException;
    import javax.jcr.RepositoryFactory;
    import javax.jcr.Session;
    import javax.jcr.SimpleCredentials;
    import javax.jcr.Value;
    public class Test {
              public static void main(String[] args) {
                        String uri = "rmi://sma11c02.............:1234/crx";
                        String username = "admin";
                        char[] password = {....................};
                        String workspace = "crx.default";
                        String nodePath = "/home/groups/a";
                        Repository repository = null;
                        Session session = null;
                        try {
                                  // Connection to repository via RMI
                                            Map<String, String> jcrParameters = new HashMap<String, String>();
                                            jcrParameters.put("org.apache.jackrabbit.repository.uri", uri);
                                            Iterator<RepositoryFactory> iterator = ServiceRegistry.lookupProviders(RepositoryFactory.class);
                                            while (null == repository && iterator.hasNext()) {
                                                      repository = iterator.next().getRepository(jcrParameters);
                                  if (repository == null) {
                                            throw new IllegalStateException("Problem with connection to the repository...");
                                  // Creation of a session to the workspace
                                  session = repository.login(new SimpleCredentials(username, password), workspace);
                                  if (session == null) {
                                            throw new IllegalStateException("Problem with creation of session to the workspace...");
                                  // Get the targetted node
                                  Node node = session.getNode(nodePath);
                                  System.out.println("Node : " + node.getName());
                                  System.out.println();
                                  PropertyIterator properties = node.getProperties();
                                  System.out.println("List of properties for this node :");
                                  while (properties.hasNext()) {
                                            Property property = properties.nextProperty();
                                            System.out.print("\t"+property.getName() + " : ");
                                            if (property.isMultiple()) {
                                                      Value[] values = property.getValues();
                                                      for (int i = 0; i < values.length; i++) {
                                                                System.out.print(values[i]);
                                                                if (i+1 != values.length) {
                                                                          System.out.print(", ");
                                                      System.out.println();
                                            } else {
                                                      Value value = property.getValue();
                                                      System.out.println(value);
                                  System.out.println();
                                  NodeIterator kids = node.getNodes();
                                  System.out.println("List of children nodes for this node :");
                                  while (kids.hasNext()) {
                                            Node kid = kids.nextNode();
                                            System.out.println("\tChild node : "+kid.getName());
                                            PropertyIterator kidProperties = kid.getProperties();
                                            System.out.println("List of properties for this child :");
                                            while (kidProperties.hasNext()) {
                                                      Property property = kidProperties.nextProperty();
                                                      System.out.print("\t"+property.getName() + " : ");
                                                      if (property.isMultiple()) {
                                                                Value[] values = property.getValues();
                                                                for (int i = 0; i < values.length; i++) {
                                                                          System.out.print(values[i]);
                                                                          if (i+1 != values.length) {
                                                                                    System.out.print(", ");
                                                                System.out.println();
                                                      } else {
                                                                Value value = property.getValue();
                                                                System.out.println(value);
                                            System.out.println();
                        } catch (RepositoryException e) {
                                  e.printStackTrace();
                        } finally {
                                  if (session != null) {
                                            session.logout();
    Here is the output of the below program:
    Node : a
    List of properties for this node :
              jcr:createdBy : admin
              jcr:mixinTypes : mix:lockable
              jcr:created : 2011-10-25T16:58:48.140+02:00
              jcr:primaryType : rep:AuthorizableFolder
    List of children nodes for this node :
              Child node : administrators
    List of properties for this child :
              jcr:createdBy : admin
              rep:principalName : administrators
              rep:members : javax.jcr.ValueFormatException: Unknown value type 10
              at org.apache.jackrabbit.rmi.server.ServerObject.getRepositoryException(ServerObject.java:13 9)
              at org.apache.jackrabbit.rmi.server.ServerProperty.getValues(ServerProperty.java:71)
              at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
              at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:60)
              at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:37)
              at java.lang.reflect.Method.invoke(Method.java:611)
              at sun.rmi.server.UnicastServerRef.dispatch(UnicastServerRef.java:322)
              at sun.rmi.transport.Transport$1.run(Transport.java:171)
              at java.security.AccessController.doPrivileged(AccessController.java:284)
              at sun.rmi.transport.Transport.serviceCall(Transport.java:167)
              at sun.rmi.transport.tcp.TCPTransport.handleMessages(TCPTransport.java:547)
              at sun.rmi.transport.tcp.TCPTransport$ConnectionHandler.run0(TCPTransport.java:802)
              at sun.rmi.transport.tcp.TCPTransport$ConnectionHandler.run(TCPTransport.java:661)
              at java.util.concurrent.ThreadPoolExecutor$Worker.runTask(ThreadPoolExecutor.java:897)
              at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:919)
              at java.lang.Thread.run(Thread.java:736)
              at sun.rmi.transport.StreamRemoteCall.exceptionReceivedFromServer(Unknown Source)
              at sun.rmi.transport.StreamRemoteCall.executeCall(Unknown Source)
              at sun.rmi.server.UnicastRef.invoke(Unknown Source)
              at org.apache.jackrabbit.rmi.server.ServerProperty_Stub.getValues(Unknown Source)
              at org.apache.jackrabbit.rmi.client.ClientProperty.getValues(ClientProperty.java:173)
              at Test.main(Test.java:96)
    Here is the list of jar files i'm using with this program:
              2862818581          61388           crx-rmi-2.2.0.jar
              732434195           335603           jackrabbit-jcr-commons-2.4.0.jar
              1107929681           411330           jackrabbit-jcr-rmi-2.4.0.jar
              3096295771           69246           jcr-2.0.jar
              1206850944           367444           log4j-1.2.14.jar
              685167282           25962           slf4j-api-1.6.4.jar
              2025068856           9748           slf4j-log4j12-1.6.4.jar
    Finally, we are using CQ 5.4 (CRX 2.2) with the latest hotfix and under Websphere 7.0
    Best regards,
    Vincent FINET

    Je suis absent(e) du bureau jusqu'au 17/04/2012
    Je suis absent.
    Je répondrai à votre sollicitation à mon retour le 17 avril 2012.
    Cordialement,
    Vincent FINET
    Remarque : ceci est une réponse automatique à votre message  "[CQ5]
    Connection to CRX via RMI and getting WeakReference value..... with an
    exception!" envoyé le 13/4/12 0:32:14.
    C'est la seule notification que vous recevrez pendant l'absence de cette
    personne.
    Le papier est un bien precieux, ne le gaspillez pas. N'imprimez ce document que si vous en avez vraiment besoin !
    Ce message est confidentiel.
    Sous reserve de tout accord conclu par ecrit entre vous et La Banque Postale, son contenu ne represente en aucun cas un engagement de la part de La Banque Postale.
    Toute publication, utilisation ou diffusion, meme partielle, doit etre autorisee prealablement.
    Si vous n'etes pas destinataire de ce message, merci d'en avertir immediatement l'expediteur.

Maybe you are looking for

  • Working, now not working

    Hi all, I have just upgraded my PC from my sig data to a MSI K9VGN-V MoBo etc etc. It was working OK with an old 20 pin PSU - 20 pin block and 4 pin block for the CPU. Today I fitted a nice new Corsair VX550w PSU - 24 pin block, now the PC won't powe

  • Notification globe is not appearing in my mail icon

    My emails are send and receive fine, but I only noticed a new email when entered the mail icon, there is no sound or red globe notification when a new one is in my inbox.

  • Windows XP Internet Connection

    I have Windows XP and MAC OS on my MacBook Pro. For some reason the internet connection only works on the MAC OS portion. I've tried using the control panel options to detect my wireless connection and connect to the other computer in the house (whic

  • Don't advance when partially correct

    I have a multiple choice question with multiple answers, I enabled the option to make it partially correct when the user selects one of the correct answers, but after showing the feedback for partial correct, it advances to the next question, how can

  • Why won't the tabs on Mac App Store show?

    When i click on mac app store every thing seems fine but the tabs disappare and i cannot click anything if any one can help me please do so.