Batch mode & ClassCastException question

Hi
I'm using JDev 10.1.2.1 (1913) and have a problem with a JClient app using batch mode.
The issue started when I decided to use ranges on my JTable. In sync=Immediate mode the JTable would render with data equaling the number of records requested from my VO plus empty rows (my NextSet and PrevousSet operation buttons made sets appear and disappear in existing rows of the table). For example, picture a table with 100 records and a VO tuned to request in batches of 10. My JTable would render with 10 rows displayed and 90 empty rows. When I click NextSet, the first 10 rows go blank and the next 10 appear. Obviously this is not desired behavior.
Ok, so I decided to try "Batch" mode which cause the jTable to operate correctly but it causes ClassCastException errors when calling custom VO methods. Since I make sure to cast to interfaces and not implementations (per Steve's article: http://www.oracle.com/technology/products/jdev/tips/muench/batchmode/index.html) I don't understand why I'm getting these.
Here's a test case to demonstrate:
1) New Project - Connection: SCOTT
2) Create EmpVO - Select * from EMP
3) Tune EmpVO - Batches of 5, as needed; Fill Last Page unchecked
4) Edit EmpVO class. Create custom method
public String toString()
return "Custom method: " + getClass().toString();
5) Shuttle method to selected for Client Interface (interface EmpVO generated and automatically implemented by EmpVOImpl)
6) Create EmpAppMod - Assign EmpVO
7) Create runnable Panel from VO (Swing/JClient for ADF; template=Table)
8) Modify panel by adding new panel (Constraints = SOUTH) and dragging "NextSet" and "PreviousSet" Operations from the EmpVO1 data control onto new panel as buttons
9) Under the panel's UIModel you'll see two iterators for the same VO (one for the jTable and one for the buttons). Check the range sizes, the table iterator should be set to -1 and the button iterator to 5 (matches the VO's batch retrieve section).
10) Edit panel code and add a call to the custom VO method in main():
System.out.println(((EmpVO)panel.getPanelBinding().findIterBinding("EmpVO1Iter").getViewObject()).toString());
11) Set Sync=Immediate for the AppMod DC in DataBindings.cpx
12) Run panel
Hopefully you'll see the blank row behavior described above and the custom toString() result printed to the console.
Again, if batch mode works I don't care about this jTable problem.
Now set Sync=Batch and re-run the panel. In my version the jTable works as expected but I get the ClassCastException...even though I'm casting to the EmpVO interface. In my real application this means I can't call any of my custom VO methods.
Exception:
Exception in thread main
java.lang.ClassCastException: oracle.jbo.common.ws.WSViewObjectImpl
     at mypackage9.PanelEmpVO1.main(PanelEmpVO1.java:95)
If anyone has a suggestion on how to make this work (in either sync mode) pls let me know.
thanks
John

thanks but I don't understand. I thought I was using the client interface. The call to oracle.jbo.common.ws.WSViewObjectImpl is not being done by me.
I found another thread (Re: ClassCastException: WSViewObjectImpl where Steve M. says do access the VO interface in batch mode like so:
ApplicationModule am = (ApplicationModule) actionContext.getBindingContext().findDataControl("YourDataControlName").getDataProvider();
YourCustomViewObject vo = (YourCustomViewObject) am.findViewObject("view1");
I'm using a JClient panel to call the custom method so my code is:
ApplicationModule am = (ApplicationModule)panel.getPanelBinding().getBindingContext().findDataControl("EmpAMDataControl1").getDataProvider();
EmpVO ep = (EmpVO)am.findViewObject("EmpVO1");
ep.toString();
Both the default ApplicationModule and custom EmpVO are interfaces but I still get the ClassCastException
I don't know if this helps, but if I create a method in my AppMod that calls the custom VO method I don't get the error....but that can't be right - I shouldn't have to create AppMod methods for all custom VO methods. Obviously I missing something fundamental

Similar Messages

  • How to Upload a file in a Batch Mode ?

    Hi, I want to upload a Comma separated value File via RFC to a BW system.
    The scenario is the following: From a Portal server i call the BAPI using JC0/JCA.
    The problem is that GUI_UPLOAD does not support a BATCH job. At least i get a error when calling the BAPI: Exception condition "NO_BATCH" raised. 
    How do i upload a file in a Batch Mode ?
    Thanks,
    Kai

    Hi Kai,
    Sorry for the delay. The delay was in trying to get to talk to the Basis team.
    Here is how we have it.
    On the message server of every instance, there will be a SAP admin id that is '<SID>ADM' or 'SAPSERVER<SID>' where SID is the system ID. We use the '<SID>ADM' user id.
    On the external NT fileserver, there has to be a user id created on the NT box with the same SAP admin id and this id on the NT box should have access rights do Read/Write.
    All of these have to be in the same domain (or different domains that have trust access to each other).
    So, there is basis,network and security groups involved.
    Once these are in place, we can have file access to the external fileserver box.
    We use logical filenames at our place (Transaction FILE).
    This makes all the file transfer locations well organized and manageable.
    Hope that answers your question regarding this.
    Regards,
    -Ramesh

  • XML SQL format for Prepared statements in batch mode

    Hi
    I want to use the batch mode in JDBC adapter for inserting huge volume of records with better performance.
    so i need to execute the prepared statements in one batch.   Is the XML SQL format for prepared statements below correct ?to<root>
      <stmt>
        <Customers action="SQL_DML">
          <access> INSERT INTO Customers (CompanyName,Address,CustomerID) VALUES($NAME$,$ADDRESS$,$KEYFIELD$)
          </access>
          <key>
            <NAME>IBM</NAME>
            <ADDRESS>Street 3 </ADDRESS>
            <KEYFIELD>CO</KEYFIELD>
          </key>
          <key>
            <NAME>PWC</NAME>
            <ADDRESS>Street 4 </ADDRESS>
            <KEYFIELD>NO</KEYFIELD>
         </key>
        </Customers>
      </stmt>
    </root>
    Please advise

    Hello Experts
    Please throw some light on the above question.
    Thanks in advance.

  • PreparedStatement in batched mode gives Exception

    Hi
    I have a problem.
    I am running PreparedStatement in batched mode, actually I am using Springs BatchSQLUpdate component.
    Now i am creating a batch of about 10000 inserts / updates. However if any single of these inserts / updates fails, it gives exception with DataIntegrityViolation, BadSQLGrammer etc.
    I am also maintaining a parallel cache of the values that I am using to bind the preparedstatements.
    So for statement 1 in the batch, i know what values are being used.
    My question is when the batch update fails, how can we identify which SQL statement, i mean which index in the batch caused the issue?
    Please help me as I am stuck and need to build some robust exception handling for PreparedStatement batch loads.
    Niki

    Niki-Nono wrote:
    The insertPreparedStatements.get() in my code returns a BatchSqlUpdate object which has already been assigned a statement and also have passed the array of object values to it.
    I have done this using batchSqlUpdate.update(objects); where objects is an array of values.
    THe code block that I executes the flush(). This throws an exception. In some cases it is a BadSQLGrammerException for cases where we try to insert alphabets in integer columns or in some cases DataIntegrityViolation where the batch has 2 sets of values with same primary key.
    The results array is null when i check the value in the catch block.
    And the flush() does not proceed with execution of the complete batch in fact it aborts when even 1 statement fails.
    I hope it is clearer now.
    However, if all the statements go through, I have seen that the results array has correct values as to how many rows were updated / inserted.
    Please let me know.OK, I really wasn't sure about what it did on flush, as there's no explicitly stated exception and nothing in the method description. The array will be null since it hasn't been set with the return value from flush since an exception was thrown.
    From what I can tell this Spring class uses, under the hood, the batch functionality from JDBC. So the particular exceptions you;re getting will have started life as SQLExceptions...which themselves will be of the BatchSQLException I mention in my first post. I'm wondering if the Spring exceptions contain the SQLException. I would hope so, and I have a vague recollection that the original is wrapped so you should be able to do something along the lines of:
    catch (DataAccessException ex)
        SQLException ex = ex.getCause();
        if (ex instanceof java.sql.BatchUpdateException)
            // Get the info from here.
    }Now, this is only a concept, and I haven't tested it or anything, but I would hope something along these lines should get you to the data you're after.

  • Download created XML File in batch mode // Parse XML file into single lines

    Hello!
    I upload a CSV file and based on that CSV file I create an XML "object". First I uploaded and downloaded it via gui frontendclass, but as it has to be run in a batch in the night I need to upload and download the data via OPEN DATASET.
    The import and transformation of the CSV file works fine, also the transfer into an itab with the same structure as a CSV line is ok. I also create the XML file, which could be downloaded easily with gui-download but it is not permittet.
    Import of data: I scan the folder and get the filenames into a itab, I loop over that itab and read the single files like this:
         OPEN DATASET ls_convert_batch FOR INPUT IN TEXT MODE ENCODING DEFAULT.
          CLEAR tab.
          IF sy-subrc = 0.
            DO.
              READ DATASET ls_convert_batch INTO line.
              IF sy-subrc <> 0.
                EXIT.
              ELSE.
                CLEAR tmptab.
                SPLIT line AT ';' INTO  tmptab-product
                                        tmptab-contract
                                        tmptab-extagent.
                APPEND tmptab TO tab.
              ENDIF.
            ENDDO.
          ENDIF.
    The XML file has a strucutre like
    <file>
    - <file formant_no="1.1" format_date="02.10.2003">
      <status>V</status>
      <number>001001025</numbner>
      <name>Schmeisser,Christof</name>
    - <details>
    -    <detail>
             <contract>00000003494</contract>
             <name>Schmeisser, Christof</name>
             <invoice_no>000000003840</invoice_no>
             <due_date>20100601</due_date>
             <amount>140,00</amount>
         </detail>
    -    <detail>
             <contract>00000003495</contract>
             <name>Schmeisser, Christof</name>
             <invoice_no>000000003841</invoice_no>
             <due_date>20100601</due_date>
             <amount>130,00</amount>
         </detail>
    - </details>
    <elements>2</elements>
    <amount_overall>270</amount_overall>
    </file>
    At the moment I download it like this:
    CALL METHOD cl_gui_frontend_services=>gui_download
            EXPORTING
              bin_filesize = l_xml_size
              filename     = filename
              filetype     = 'BIN'
    *        CONFIRM_OVERWRITE = '0'
            CHANGING
              data_tab     = l_xml_table
            EXCEPTIONS
              OTHERS       = 24.
          IF sy-subrc <> 0.
            MESSAGE ID sy-msgid TYPE sy-msgty NUMBER sy-msgno
                       WITH sy-msgv1 sy-msgv2 sy-msgv3 sy-msgv4.
          ELSEIF sy-subrc = 0.
            lv_create_counter = lv_create_counter + 1.
          ENDIF.
    But I need to download it via OPEN TRANSFER CLOSE Dataset as it has to run in batch mode.
    Anyone has an idea? I am really desperate here. One idea would be to parse the single lines into a string and then create the XML file line by line as text and save it with ending XML, should work. But I don't know how!
    Thank you very much in advance,
    kind regards from Tallinn, Estonia,
    Christof!
    Edited by: Christof Schmeisser on Nov 25, 2010 7:51 PM
    I edited the heading, would be too general and missleading!

    Tipos Pools
    TYPE-POOLS: ixml.
    CLASS cl_ixml DEFINITION LOAD.
    TYPES: BEGIN OF xml_node_type,
             node   TYPE char50,
             vlnode TYPE string,
           END OF xml_node_type,
           BEGIN OF xml_line_type,
             data(256) TYPE x,
           END OF xml_line_type.
    Tabelas Internas
    DATA: ti_xml_node        TYPE TABLE OF xml_node_type.
    Variáveis TYPE REF
    *Type REF para utilizar no XML
    DATA: ixml_type             TYPE REF TO if_ixml,
          streamfactory_type    TYPE REF TO if_ixml_stream_factory,
          ostream_type          TYPE REF TO if_ixml_ostream,
          istream_type          TYPE REF TO if_ixml_istream,
          parser_type           TYPE REF TO if_ixml_parser,
          renderer_type         TYPE REF TO if_ixml_renderer,
          document_type         TYPE REF TO if_ixml_document,
          encoding_type         TYPE REF TO if_ixml_encoding,
          node_type             TYPE REF TO if_ixml_node,
          element_dtrans_type   TYPE REF TO if_ixml_element,
          element_xml_in_type   TYPE REF TO if_ixml_element,
          element_roteiros_type TYPE REF TO if_ixml_element,
          element_roteiro_type  TYPE REF TO if_ixml_element,
          element_vias_type     TYPE REF TO if_ixml_element,
          element_via_type      TYPE REF TO if_ixml_element,
          element_dummy_type    TYPE REF TO if_ixml_element,
          gw_xml_node           TYPE TABLE OF xml_node_type,
          gw_xml_node_ret       TYPE TABLE OF xml_node_type,
          gw_xml_node_err       TYPE TABLE OF xml_node_type,
          gw_xml_node_xml       TYPE TABLE OF xml_node_type,
          gw_xml_table          TYPE TABLE OF xml_line_type,
          gw_xml_table2         TYPE TABLE OF xml_line_type,
          gs_xml_node           TYPE xml_node_type,  "WA para leitura do xml
          gs_xml_node_ret       TYPE xml_node_type,  "WA para leitura do xml retorno
          gs_xml_node_err       TYPE xml_node_type,  "WA para leitura do xml erro
          gs_xml_node_xml       TYPE xml_node_type,  "WA para leitura do xml info sucesso
          gs_xml_table2         TYPE xml_line_type.  "WA para importar xml
    Variáveis do Programa
    DATA: l_value              TYPE string,
          l_rc                 TYPE i,
          l_xml_size           TYPE i,
          cod_cartaorepom      TYPE char20 VALUE '123456789',
          v_caminho_exp        TYPE string VALUE 'C:TEMP',
          v_salvaarquivo       TYPE string,
          v_nomearquivo        TYPE string,
          w_nodetext           TYPE string,
          v_roteiros           TYPE string,
          v_roteiro            TYPE string,
          v_roteiro_codigo     TYPE string,
          v_percurso_codigo    TYPE string,
          v_percurso_descricao TYPE string,
          v_cidade_origem      TYPE string,
          v_estado_origem      TYPE string,
          v_cidade_destino     TYPE string,
          v_estado_destino     TYPE string,
          v_transporte_tipo    TYPE string,
          v_cartao_taxa        TYPE string,
          v_cobra_taxa         TYPE string.
    Constants
    CONSTANTS: cc_39         TYPE string VALUE '39', " Numero 39.
               cc_dt_trans   TYPE string VALUE 'data_transfer'," document_type(name)
               cc_metodo_cod TYPE string VALUE 'metodo_codigo'," document_type(name)
               cc_xml_in     TYPE string VALUE 'xml_in'," document_type(name)
               cc_ct_tx_ativ TYPE string VALUE 'cartao_taxa_ativacao'," document_type(name)
               cc_cartao     TYPE string VALUE 'cartao', " Parâmetro Perform.
               cc_xml        TYPE string VALUE '.XML'," extenção
               cc_bin        TYPE char10 VALUE 'BIN'." filetype
    START-OF-SELECTION.
      PERFORM yf_inicia_criacao_xml USING cc_39.
      element_roteiro_type  = document_type->create_simple_element(
                     name   = cc_ct_tx_ativ
                     parent = element_xml_in_type  ).
      PERFORM yf_dummy_roteiro USING cod_cartaorepom cc_cartao.
      PERFORM yf_finaliza_xml.
      PERFORM yf_exporta_xml USING v_caminho_exp.
      PERFORM yf_convert_xml_to_itab TABLES gw_xml_node_ret
                                      USING v_salvaarquivo.
    END-OF-SELECTION.
    *&      Form  yf_inicia_criacao_xml
          text
         -->VALUE(P_0783)  text
    FORM yf_inicia_criacao_xml USING value(p_0783).
      DATA: s_encoding_type TYPE string VALUE 'ISO-8859-1'.
    Cria o ixml factory
      ixml_type = cl_ixml=>create( ).
    *Cria o objeto com modelo
      document_type = ixml_type->create_document( ).
    *Cria o cabeçalho encoding="iso-8859-1"
      encoding_type = ixml_type->create_encoding( byte_order = 0
                        character_set = s_encoding_type ).
    *Cria o root "DATA_TRANSFER"
      element_dtrans_type = document_type->create_simple_element(
                    name  = cc_dt_trans
                  parent  = document_type ).
    *Cria o node "METODO_CODIGO" e preenche com um valor passado no L_VALUE
      l_value = p_0783.
      CONDENSE l_value.
      element_dummy_type = document_type->create_simple_element(
                    name = cc_metodo_cod
                   value = l_value
                  parent = element_dtrans_type ).
    *Cria o node "XML_IN"
      element_xml_in_type   = document_type->create_simple_element(
                  name   = cc_xml_in
                  parent = element_dtrans_type  ).
    ENDFORM.                    " yf_inicia_criacao_xml
    *&      Form  yf_dummy_roteiro
          text
         -->VALUE(P_0996)  text
         -->VALUE(P_0997)  text
    FORM yf_dummy_roteiro USING value(p_0996)
                                value(p_0997).
      l_value  = p_0996.
      CONDENSE l_value.
      element_dummy_type = document_type->create_simple_element(
                    name = p_0997
                   value = l_value
                  parent = element_roteiro_type ).
    ENDFORM.                    " yf_dummy_roteiro
    *&      Form  yf_finaliza_xml
          text
    FORM yf_finaliza_xml.
    *Cria o stream factory
      streamfactory_type = ixml_type->create_stream_factory( ).
    *Conecta a internal table de XML com o stream factory
      ostream_type = streamfactory_type->create_ostream_itable( table = gw_xml_table  ).
      CALL METHOD ostream_type->set_encoding
        EXPORTING
          encoding = encoding_type.
    *Rendering the document
      renderer_type = ixml_type->create_renderer( ostream  = ostream_type
                                            document = document_type ).
      l_rc = renderer_type->render( ).
    *Salva o documento XML
      l_xml_size = ostream_type->get_num_written_raw( ).
    ENDFORM.                    " yf_finaliza_xml
    *&      Form  yf_exporta_xml
          text
         -->VALUE(P_0783)  text
    FORM yf_exporta_xml USING value(p_0783).
      CONCATENATE cod_cartaorepom
                  sy-datum
                  sy-uzeit
                  cc_xml
             INTO v_nomearquivo.
      CONCATENATE p_0783
                  v_nomearquivo
             INTO v_salvaarquivo.
      TRANSLATE v_nomearquivo TO UPPER CASE.
    *Exporta o XML
      CALL METHOD cl_gui_frontend_services=>gui_download
        EXPORTING
          bin_filesize = l_xml_size
          filename     = v_salvaarquivo
          filetype     = cc_bin
        CHANGING
          data_tab     = gw_xml_table
        EXCEPTIONS
          OTHERS       = 24.
      IF sy-subrc = 0.
       PERFORM yf_sapgui_progress_indicator USING cc_msg_xml_ok.
      ELSE.
        MESSAGE ID sy-msgid TYPE sy-msgty NUMBER sy-msgno
                   WITH sy-msgv1 sy-msgv2 sy-msgv3 sy-msgv4.
      ENDIF.
    ENDFORM.                    " yf_exporta_xml
    *&      Form  yf_convert_xml_to_itab
          text
         -->P_GW_XML_NODE_RET  text
         -->P_FILENAME         text
    FORM yf_convert_xml_to_itab  TABLES p_gw_xml_node_ret LIKE gw_xml_node
                                USING  p_filename.
      DATA l_count.
      ixml_type = cl_ixml=>create( ).
    Now Create Stream Factory
      streamfactory_type = ixml_type->create_stream_factory( ).
      CALL METHOD cl_gui_frontend_services=>gui_upload
        EXPORTING
          filename   = p_filename
          filetype   = cc_bin
        IMPORTING
          filelength = l_xml_size
        CHANGING
          data_tab   = gw_xml_table2
        EXCEPTIONS
          OTHERS     = 19.
      IF sy-subrc = 0.
        istream_type = streamfactory_type->create_istream_itable( table = gw_xml_table2
                                                            size  = l_xml_size ).
        document_type = ixml_type->create_document( ).
        parser_type = ixml_type->create_parser( stream_factory = streamfactory_type
                                         istream         = istream_type
                                         document        = document_type ).
        IF parser_type->parse( ) NE 0.
          IF parser_type->num_errors( ) NE 0.
            l_count = parser_type->num_errors( ).
          ENDIF.
        ENDIF.
        CALL METHOD istream_type->close( ).
        CLEAR istream_type.
        node_type = document_type.
        PERFORM yf_get_data USING node_type.
        p_gw_xml_node_ret[] = gw_xml_node[].
        CLEAR gw_xml_node[].
      ENDIF.
    ENDFORM.                    " yf_convert_xml_to_itab
    *&      Form  yf_get_data
          text
         -->VALUE(X_NODE)  text
    FORM yf_get_data    USING value(x_node) TYPE REF TO if_ixml_node.
      DATA: indent      TYPE i.
      DATA: ptext       TYPE REF TO if_ixml_text.
      DATA: string      TYPE string.
      DATA: temp_string(100).
      CASE x_node->get_type( ).
        WHEN if_ixml_node=>co_node_element.
          string = x_node->get_name( ).
          w_nodetext = string.
          CLEAR string.
          string = x_node->get_value( ).
          IF NOT w_nodetext IS INITIAL OR
             NOT string IS INITIAL.
            gs_xml_node-node   = w_nodetext.
            gs_xml_node-vlnode = string.
            IF NOT gs_xml_node-vlnode IS INITIAL.
              APPEND gs_xml_node TO gw_xml_node.
              CLEAR  gs_xml_node.
            ENDIF.
          ENDIF.
      ENDCASE.
    Get the next child
      x_node = x_node->get_first_child( ).
    Recurse
      WHILE NOT x_node IS INITIAL.
        PERFORM yf_get_data USING x_node.
        x_node = x_node->get_next( ).
      ENDWHILE.
    ENDFORM.                    "yf_get_data

  • Help needed in consuming BTQueryAUI query in batch mode

    Hi Friends,
    I am trying to consume BTQueryAUI in a custom function module. I have a requirement where in when i receive a external ref nbr, i need to update the status of crm service request to completed. We have already built logic to store the external nbr info in AET field on Service request and enhance inbox search to take give the results accordingly. now when i try to consume the query service with standard query parameters in batch mode..its not working..
    REPORT  ZTEST_CSOCRM.
    DATA : ob_oref           TYPE REF TO zcl_im_z_badi_inbox_search,
      C_ITEM_1O                TYPE CRMT_AUI_MAP_ITEM_TYPE VALUE 'ONEORDER',
       l_param1o_tab   TYPE crmt_name_value_pair_tab,
       is_name         type standard table of CRMT_NAME_VALUE_PAIR,
       wa_name         like line of is_name,
          l_sort_1o_tab   TYPE crmtt_aui_sorting,
           lv_result_1o  TYPE REF TO cl_crm_bol_entity_col.
    data QUERY_1O type ref to CL_CRM_BOL_QUERY_SERVICE.
    CONSTANTS:
      abap_true      TYPE abap_bool VALUE 'X',
      abap_false     TYPE abap_bool VALUE ' '.
    data: c_BTQueryAUI          TYPE crmt_ext_obj_name
                                        VALUE 'BTQueryAUI',
           c_query1o              TYPE crmt_ext_obj_name VALUE  'BTQueryAUI',
          ob_query                    TYPE REF TO
                                        cl_crm_bol_query_service,
    ob_result                   TYPE REF TO if_bol_bo_col,
    ob_core                     TYPE REF TO cl_crm_bol_core,
             lr_aui_dq        TYPE REF TO cl_crm_aui_advquery_service,
             lr_aui           type ref to cl_crm_aui_query_service.
    wa_name-name = 'ASSIGNEDTYPE'.
    wa_name-value = '0000'.
    append wa_name to is_name.
    wa_name-name = 'DATETYPE'.
    wa_name-value = '0001'.
    append wa_name to is_name.
    wa_name-name = 'MAINCATEGORY'.
    wa_name-value = 'ZBGW'.
    append wa_name to is_name.
    wa_name-name = 'SORTEDBY'.
    wa_name-value = '0000'.
    append wa_name to is_name.
    wa_name-name = 'SORTEDBY2'.
    wa_name-value = '0000'.
    append wa_name to is_name.
    wa_name-name = 'TIMEPERIOD'.
    wa_name-value = '0000'.
    append wa_name to is_name.
    wa_name-name = 'ZZFLD000006'.
    wa_name-value = '0000012345'.
    append wa_name to is_name.
    wa_name-name = 'DESCRIPTON'.
    wa_name-value = '*test*'.
    append wa_name to is_name.
    l_param1o_tab = IS_NAME.
    ob_core = cl_crm_bol_core=>get_instance( ).
            ob_core->start_up( 'ALL' ).
    TRY.
          query_1o  = cl_crm_bol_query_service=>get_instance( c_query1o ).
        CATCH: cx_crm_unsupported_object.
      ENDTRY.
    query_1o->set_query_parameters( EXPORTING it_parameters = l_param1o_tab
                                                  iv_convert    = abap_false  ).
    lv_result_1o ?= query_1o->get_query_result( ).
            ob_query = cl_crm_bol_query_service=>get_instance( c_BTQueryAUI ).
      ob_query->set_query_parameters( EXPORTING it_parameters = l_param1o_tab
                                                  iv_convert    = abap_false  ).
      lv_result_1o ?= ob_query->get_query_result( ).

    Tried obtaining the output using SQL and the result is as follows:
    SQL> WITH T AS
      2  (
      3  SELECT 1 COL1 FROM DUAL
      4  UNION
      5  SELECT 2 COL1 FROM DUAL
      6  UNION
      7  SELECT 3 COL1 FROM DUAL
      8  UNION
      9  SELECT 4 COL1 FROM DUAL
    10  UNION
    11  SELECT 5 COL1 FROM DUAL
    12  UNION
    13  SELECT 8 COL1 FROM DUAL
    14  UNION
    15  SELECT 9 COL1 FROM DUAL
    16  UNION
    17  SELECT 10 COL1 FROM DUAL
    18  UNION
    19  SELECT 13 COL1 FROM DUAL
    20  UNION
    21  SELECT 14 COL1 FROM DUAL
    22  UNION
    23  SELECT 15 COL1 FROM DUAL
    24  UNION
    25  SELECT 16 COL1 FROM DUAL
    26  UNION
    27  SELECT 23 COL1 FROM DUAL
    28  UNION
    29  SELECT 24 COL1 FROM DUAL
    30  )
    31  SELECT OUTPUT FROM
    32  (
    33  SELECT DECODE(COL3,NULL,COL1, COL2)  || '-' || LEAD(DECODE(COL3,NULL,COL3, COL1)) OVER (ORDER BY DECODE(COL3,NULL,COL1, COL2)) OUTPUT  FROM
    34  (
    35  SELECT COL1, LEAD(COL1) OVER (ORDER BY COL1) COL2, LAG(COL1) OVER (ORDER BY COL1) COL3 FROM T
    36  )
    37  WHERE
    38  (COL2 - COL1 > 1 OR COL2 IS NULL OR COL3 IS NULL)
    39  )
    40  WHERE OUTPUT != '-';
    OUTPUT                                                                         
    1-5                                                                            
    8-10                                                                           
    13-16                                                                          
    23-24

  • Getting a COM error when calling MenuItemExecute in batch mode

    I support an internal document management system for our corporate contracts. Among other applications, I have one that runs nightly in batch mode to store new invoices and connect them via bookmarks to their corresponding “parent” contract files. The original program was created in 2005 with Acrobat 7 (later updated to Acrobat 8) and it worked well for several years. However, a few months ago I upgraded the system to Acrobat 9 and since then the program has not run consistently.
    The “program” actually consists of a VB application and two plug-ins. The VB application does as much work as it can with IAC and the JSO bridge, but because the files are (owner) password protected one plug-in automatically applies the necessary password using AVDocDidOpen when the VB application opens the AVDoc. The VB application then also calls the other plug-in using MenuItemExecute. The second plug-in is used to create the bookmarks between the two files by grabbing info off bookmark strings and creating the necessary actions. It also applies the password to the files.
    Here is brief outline form is how this is all structured:
    pdDocParent.Open
             pdDocInvoice.Open
                     avDocParent.Open (This triggers the first plug-in to apply the password)
                             Create bookmark strings in both files using JSO bridge
                                    MenuItemExecute (To create the bookmark action in the parent)
                                    pdDocParent.Save
                            avDocParent.Close
                            avDocInvoice.Open (This triggers the first plug-in to apply the password)
                                    MenuItemExecute (To create the bookmark action in the invoice)
                                    pdDocInvoice.Save
                            avDocInvoice.Close
                    pdDocInvoice.Close
            pdDocParent.Close
    Since the upgrade, I’m getting a COM error [The server threw an exception. (Exception from HRESULT: 0x80010105 (RPC_E_SERVERFAULT))] on a non-consistent basis when the application tries to call MenuItemExecute. When I say “non-consistent” I mean that some days the program will process several hundred files just fine. Other days it won’t process any. Then some days it will not process the first, oh, four files but will process the next 300. Usually it runs fine when started interactively, but even then the error sometimes occurs.
    I recompiled both plug-ins and the VB app using the Acrobat 9 SDK (headers for the plug-in and the Acrobat type library for the VB app) but that didn’t make any difference. I added code to check if the MenuItem is available and it is in all cases.
    After reviewing this more, I got to thinking that perhaps a race condition was the culprit—that a string hadn’t been completely written before the second plug-in tried to create an action for it. So I added some half-second pauses along the way, but that doesn’t seem to have helped, either.
    At this point the only thing I can think of is to rewrite the application as a pure plug-in. But it’s a long and involved application and if I can get the current app to work I’d prefer to do that. I tested it with Acrobat 10.1 and encountered similar problems.
    As I said, it’s been working fine up until Acrobat 9. Does anyone know of anything that might have changed with Acrobat 9 that I haven’t considered? Is there anything else I might check? Thanks.

    Leonard,
    I'd be interested in hearing why you think that because others at Adobe have told me it's OK. Acrobat is only being called by one user at a time and we've paid for a full license.
    Thanks,
    Dick

  • Photoshop CS3 Actions Batch mode bug?

    I posted this in the Mac forum but received no responses after a couple of days, so I am trying it here.
    Photoshop CS3 Actions seem to have a bug such that when used in Automate > Batch mode it will use the name of the first file opened in the batch session for every file processed in that session. Since that name is used in Save step, this means having to deal with the "File Already Exist" dialog for every file in the batch because it is attempting to save at the designated location with the same file name. If the continue option is chosen each time, the final result is one file with the first opened file name, but with the contents of the last processed file.
    To confirm that this is a problem particular to the opening step, I have disabled all processing steps as well as the saving step by toggling them in the Actions panel. I then ran the action in batch mode on a folder containing 4 files. This resulted in 4 opened files all with the same name but different image content.
    This was with the "Override 'Open' Action Commands" checked/not checked, and the "Suppress File Open Options Dialogs"  checked/not checked. The  problem described also occurs when using a Droplet.
    By comparison, Photoshop CS exhibits the expected behavior: when an action is used in batch mode to process an entire folder of files, the name of each file is retained after opening and used after processing in the save or export step.
    The above described behavior of CS3 is a change acquired along the way to the CS3 version (I do not have the CS2 version to test). But more importantly, can someone please report if the CS4 version behaves as I described for CS3, or if it has been returned to the CS behavior?
    OS X 10.4.11
    G4 800 MHz 2 MB L3/processor 1.25 GB SDRAM
    Is this a known bug?
    Al

    Hello Miguel,
    I was going to come back to post some of my findings, one of which relates to your staement:
    "- The open command created by Photoshop 6 doesn't keep the file's name, it is a much simple open command, and so it opens the file with the own file's name."
    In my case I found that my CS version of the "same" action worked, while the  CS3 version failed, precisely because the earlier one records less detail for the open step.
    My need is to convert dozens of Quark pdf files to GIF and JPEG files for the web. What I found after several days of testing is that it is best to record the opening step in CS3 NOT using a pdf file, so that the "Open As Generic Pdf with 'Name____' " would not be coded into the opening step. Instead I recorded the whole action using a PSD file. Then I can proceed to run it in Batch mode choosing a folder of Quark pdf files as the source location with "Override 'Open' Action Commands" checked, and the "Suppress File Open Options Dialogs"  checked, and it opens all the pdf files just fine in some background process, not getting stuck in the details of the file name, and proceeds to cary out the flattening, saving, and closing steps to my chosen target location and uses the finder file name of each pdf files in the source folder to save a filename.ext in the Target folder.
    Contrary to what I stated in my original post, "Override 'Open' Action Commands" checked/not checked does indeed make a difference. If it is not checked, the files do open in batch mode, but the other steps are not performed. There is much more about this that I would like to know, and this may not be a general solution for all types of files that a user may wish to process in batch mode, but it works for my case. The main trick is to use as simple an opening step as possible when recording the action, and then letting Photoshop use whatever background process it requires to open a particular file type. I tested this by manually saving a pdf file to each of the twenty some odd formats available in the save as dialog to a Source folder, and then proceeded to batch process that folder with the action described above, and it worked for all except one.
    So while there may not be a bug involved in this problem, there certainly is a lack of documentation about how the "improvements" in the opening step in newer versions of Photoshop affect using Actions in Batch mode.
    Please comment if you can further explain any of the reported results. In particular, what is the situation in CS4?
    Thanks,
    Al

  • RE: Reporting after many forte tasks run in batch mode?

    Actually, if you're looking for MAKEAPPDISTRIB (I assume that's how you
    create distributable) you can see if the command was succesfull or not.
    <<deployrep.js>> This Jscript will look for this string and it will
    generate a report based on the next line in the log file.
    The script assumes you have an environment variable (DESCARTES_ROOT) that
    points to a folder (let's say "D:\TEST"). Under that folder you have a log
    folder ("d:\test\log") which holds the deploy.log log file. You can easily
    change the script to reflect your systems settings.
    The generated report looks like that : <<deployrep.txt>>
    Norocel Popa
    Forte SysEng
    (519)746-8110 x 2292
    -----Original Message-----
    From: [email protected] [mailto:[email protected]]
    Sent: Tuesday, March 16, 1999 11:58 AM
    To: Forte-Users (Adresse de messagerie)
    Subject: Reporting after many forte tasks run in batch mode ?
    Hi,
    I would like to know if overnight builds went okay, and therefore need to
    parse the log(s).
    The issue is that I don't have a proper string to look for (i.e. for
    grep).
    If I consider 'ERROR", then the following message won't be understandable.
    There might a way to cheat with the indentation (i.e. the lines with only
    two first blank chars)..
    Has anyone experimented such a need ?
    J-Paul Gabrielli
    DTS
    SYSTEM ERROR: Service object MySuperApplicationServer.MySuperMgrSO has
    not been partitioned. Therefore, you cannot move it to an existing
    partition.
    Class: qqsp_UsageException
    Error #: [1602, 606]
    Detected at: qqcf_StandardConfig::MoveServiceObject at 3
    Error Time: Tue Mar 16 17:39:26
    Exception occurred (locally) on partition "Fscript_cl9_Client",
    (partitionId = B84E6180-D639-11D2-82F2-1863030AAA77:0x244:0x1,
    taskId =
    [B84E6180-D639-11D2-82F2-1863030AAA77:0x244:0x1.1]) in application
    "fscript", pid 22713 on node rambo in environment SuperEnv.

    Hi,
    To trap error message from Forte log, I usually do this
    egrep '(EXCEPTION|Exception|exception|ERROR|Error|error)' filename
    This takes a regular expression to 'egrep' all occurrences of "exception" or
    "error" not matter they are in upper case or lower case.
    Hope this help.
    Regards,
    Peter Sham.
    -----Original Message-----
    From: [email protected] [SMTP:[email protected]]
    Sent: Wednesday, March 17, 1999 12:58 AM
    To: Forte-Users (Adresse de messagerie)
    Subject: Reporting after many forte tasks run in
    batch mode ?
    Hi,
    I would like to know if overnight builds went okay, and
    therefore need to parse the log(s).
    The issue is that I don't have a proper string to look for
    (i.e. for grep).
    If I consider 'ERROR", then the following message won't be
    understandable.
    There might a way to cheat with the indentation (i.e. the
    lines with only two first blank chars)..
    Has anyone experimented such a need ?
    J-Paul Gabrielli
    DTS
    SYSTEM ERROR: Service object
    MySuperApplicationServer.MySuperMgrSO has
    not been partitioned. Therefore, you cannot move it to an
    existing partition.
    Class: qqsp_UsageException
    Error #: [1602, 606]
    Detected at: qqcf_StandardConfig::MoveServiceObject at 3
    Error Time: Tue Mar 16 17:39:26
    Exception occurred (locally) on partition
    "Fscript_cl9_Client",
    (partitionId =
    B84E6180-D639-11D2-82F2-1863030AAA77:0x244:0x1, taskId =
    [B84E6180-D639-11D2-82F2-1863030AAA77:0x244:0x1.1]) in
    application
    "fscript", pid 22713 on node rambo in environment
    SuperEnv.
    To unsubscribe, email '[email protected]' with
    'unsubscribe forte-users' as the body of the message.
    Searchable thread archive <URL:<a href=
    "http://pinehurst.sageit.com/listarchive/">http://pinehurst.sageit.com/listarchive/</a>>

  • How to run a 10g report in quiet\batch mode

    Good Afternoon,
    Please advise if there is a way to run a 10g report from command line.
    We use 6i right now and our job scheduler runs reports using "D:\ORADEV6I\BIN\RWRUN60.EXE ..." executable in batch mode on a separate server. We plan to migrate to 10g Database, Forms, Reports. Is there a way to keep this functionality and create a "command" to request the report server to run a report?
    Thank you,
    Dmitri

    So the server (we will call it server1) you have "Redwood Cronacle 6.0.2" installed on has a C: drive and a D: drive. On the D: drive is installed Developer 6i (D:\ORADEV6I). You can install Developer Suite 10g also on the D: drive (D:\ORADEV10G for example). After that, setup Oracle iAS on server2. The good news is you have to change very little code. You can:
    Not use the iAS server at all and use the following command (similar to how you are doing it now) in Redwood:
    return 'D:\ORADEV10G\BIN\RWRUN.EXE'
    ||' userid=:USRPWD'
    ||' module='
    ||v_path||'\'||p_module
    ||' batch=yes paramform=no destype=file'
    ||' desformat=' || v_printer_driver
    ||' desname=:OUTFILE'
    ||' cmdfile=:CMDFILE errfile=:LOGFILE';If you want to use the iAS server, you have to consider where the report will physicall exist. You can have it exist on the reports server or you can have it brought back to the client. If you bring it back to the client you will lose the ability to run this asynchronously (or in batch mode). You will have to play with some of these parameters to get it to work perfectly, but this should be a good start. These are examples of have the report results saved locally on server1...not server2:
    1. Use rwclient to submit a report request
    return 'D:\ORADEV10G\BIN\RWCLIENT.EXE'
    ||' userid=:USRPWD'
    ||' module='
    ||v_path||'\'||p_module
    ||' paramform=no destype=localfile'
    ||' desformat=' || v_printer_driver
    ||' desname=:OUTFILE'
    ||' cmdfile=:CMDFILE errfile=:LOGFILE'
    ||' server=server2';2. Use rwservlet to submit a report request
    return 'D:\ORADEV10G\BIN\RWSERVLET.EXE'
    ||' userid=:USRPWD'
    ||' module='
    ||v_path||'\'||p_module
    ||' paramform=no destype=localfile'
    ||' desformat=' || v_printer_driver
    ||' desname=:OUTFILE'
    ||' cmdfile=:CMDFILE errfile=:LOGFILE'
    ||' server=server2';I would think that Cronacle 6.0.2 can submit a url as a job and wait for the results to be streamed back, so you could look into doing that also, in which case the url you would submit for the job would be something like:
    return 'http://server2:7777/reports/rwservlet?'
    ||' userid=:USRPWD'
    ||' module='
    ||v_path||'\'||p_module
    ||' paramform=no destype=cache'
    ||' desformat=' || v_printer_driver
    ||' desname=:OUTFILE'
    ||' cmdfile=:CMDFILE errfile=:LOGFILE'
    ||' server=server2';

  • How to run a 10g report in batch mode.

    Good Afternoon,
    Please advise if there is a way to run a 10g report from command line.
    We use 6i right now and our job scheduler runs reports using "D:\ORADEV6I\BIN\RWRUN60.EXE ..." executable in batch mode on a separate server. We plan to migrate to 10g Database, Forms, Reports. Is there a way to keep this functionality and create a "command" to request the report server to run a report?
    Thank you,
    Dmitri

    For those of you interested in following this refer to the same thread in the Reports Forum:
    How to run a 10g report in quiet\batch mode

  • RE: Processing Logged messages in batch mode ?

    Paul,
    One way to findout the log file is to inspect your
    <CentralServer>.log. It should have a line something like..
    Redirecting output to <someDirectory>/forte_ex_26564.log.
    That is the file the the current ftexec is writing to.
    This has worked fine for me.
    Another way is to sort the files by date, and look at the latest
    ones.
    ...I'd love to hear about a better way to do this.
    Ajith Kallambella. M
    Forte Systems Engineer
    International Business Corporation.
    -----Original Message-----
    From: [email protected] [mailto:[email protected]]
    Sent: Monday, March 01, 1999 9:06 AM
    To: Forte-Users (Adresse de messagerie)
    Subject: Processing Logged messages in batch mode ?
    Hi,
    When I launch partitions, they display a whole bunch of 'useful' messages.
    (maybe using 'task.logmgr.putline')
    I'm afraid these traces go directly in the launcher's log file under
    $FORTE_ROOT/log
    As I get control only when the ftexec ends for the next instruction to be
    interpreted,
    how can I figure out which of these log files relates to the ftexec I just
    got executed ?
    (example: "forte_ex_3613.log")
    I found '/output' for node managers, but for single ftexec(s) ?
    (thinking also about re-used ftexec(s))
    Thanks in advance,
    j-paul gabrielli
    To unsubscribe, email '[email protected]' with
    'unsubscribe forte-users' as the body of the message.
    Searchable thread archive <URL:http://pinehurst.sageit.com/listarchive/>

    Paul,
    One way to findout the log file is to inspect your
    <CentralServer>.log. It should have a line something like..
    Redirecting output to <someDirectory>/forte_ex_26564.log.
    That is the file the the current ftexec is writing to.
    This has worked fine for me.
    Another way is to sort the files by date, and look at the latest
    ones.
    ...I'd love to hear about a better way to do this.
    Ajith Kallambella. M
    Forte Systems Engineer
    International Business Corporation.
    -----Original Message-----
    From: [email protected] [mailto:[email protected]]
    Sent: Monday, March 01, 1999 9:06 AM
    To: Forte-Users (Adresse de messagerie)
    Subject: Processing Logged messages in batch mode ?
    Hi,
    When I launch partitions, they display a whole bunch of 'useful' messages.
    (maybe using 'task.logmgr.putline')
    I'm afraid these traces go directly in the launcher's log file under
    $FORTE_ROOT/log
    As I get control only when the ftexec ends for the next instruction to be
    interpreted,
    how can I figure out which of these log files relates to the ftexec I just
    got executed ?
    (example: "forte_ex_3613.log")
    I found '/output' for node managers, but for single ftexec(s) ?
    (thinking also about re-used ftexec(s))
    Thanks in advance,
    j-paul gabrielli
    To unsubscribe, email '[email protected]' with
    'unsubscribe forte-users' as the body of the message.
    Searchable thread archive <URL:http://pinehurst.sageit.com/listarchive/>

  • FW: Processing Logged messages in batch mode ?

    If you rename your partitions' log files before running the app and do the
    renaming according to each partitions' purpose or partition number, then
    after running the app, just go to the approprate log file. You can do the
    renaming using system agents so that it is not a manual process.
    Essentially, you know in advance where the output goes.
    -Ravi
    -----Original Message-----
    From: J-Paul GABRIELLI [SMTP:[email protected]]
    Sent: Monday, March 01, 1999 11:29 AM
    To: 'Kalidindi, Ravi CWT-MSP'
    Subject: RE: Processing Logged messages in batch mode ?
    Sorry, I was looking for a batch way, when the partition is dead (i.E.
    can't monitor it nor view it in escript)
    No gui :-)
    j-p
    -----Message d'origine-----
    De: Kalidindi, Ravi CWT-MSP [SMTP:[email protected]]
    Date: lundi 1 mars 1999 17:51
    A: 'Kallambella, Ajith'; 'J-Paul GABRIELLI'; 'Forte'
    Objet: RE: Processing Logged messages in batch mode ?
    In case of installed applications or running in distributed mode, you can
    use econsole to choose the appropriate active partition and view the log
    file for it. The "log file" window also displays the name of the
    particular
    log file. In case of installed applications, you can also rename the log
    file for your partitions.
    Hope that helps
    -Ravi Kalidindi
    Born Info Svcs Group
    -----Original Message-----
    From: Kallambella, Ajith [SMTP:[email protected]]
    Sent: Monday, March 01, 1999 9:47 AM
    To: 'J-Paul GABRIELLI'; 'Forte'
    Subject: RE: Processing Logged messages in batch mode ?
    Paul,
    One way to findout the log file is to inspect your
    <CentralServer>.log. It should have a line something like..
    Redirecting output to <someDirectory>/forte_ex_26564.log.
    That is the file the the current ftexec is writing to.
    This has worked fine for me.
    Another way is to sort the files by date, and look at the latest
    ones.
    ...I'd love to hear about a better way to do this.
    Ajith Kallambella. M
    Forte Systems Engineer
    International Business Corporation.
    -----Original Message-----
    From: [email protected] [mailto:[email protected]]
    Sent: Monday, March 01, 1999 9:06 AM
    To: Forte-Users (Adresse de messagerie)
    Subject: Processing Logged messages in batch mode ?
    Hi,
    When I launch partitions, they display a whole bunch of 'useful'messages.
    (maybe using 'task.logmgr.putline')
    I'm afraid these traces go directly in the launcher's log file under
    $FORTE_ROOT/log
    As I get control only when the ftexec ends for the next instruction tobe
    interpreted,
    how can I figure out which of these log files relates to the ftexec Ijust
    got executed ?
    (example: "forte_ex_3613.log")
    I found '/output' for node managers, but for single ftexec(s) ?
    (thinking also about re-used ftexec(s))
    Thanks in advance,
    j-paul gabrielli
    To unsubscribe, email '[email protected]' with
    'unsubscribe forte-users' as the body of the message.
    Searchable thread archive <URL:http://pinehurst.sageit.com/listarchive/>
    To unsubscribe, email '[email protected]' with
    'unsubscribe forte-users' as the body of the message.
    Searchable thread archive <URL:http://pinehurst.sageit.com/listarchive/>

    If you rename your partitions' log files before running the app and do the
    renaming according to each partitions' purpose or partition number, then
    after running the app, just go to the approprate log file. You can do the
    renaming using system agents so that it is not a manual process.
    Essentially, you know in advance where the output goes.
    -Ravi
    -----Original Message-----
    From: J-Paul GABRIELLI [SMTP:[email protected]]
    Sent: Monday, March 01, 1999 11:29 AM
    To: 'Kalidindi, Ravi CWT-MSP'
    Subject: RE: Processing Logged messages in batch mode ?
    Sorry, I was looking for a batch way, when the partition is dead (i.E.
    can't monitor it nor view it in escript)
    No gui :-)
    j-p
    -----Message d'origine-----
    De: Kalidindi, Ravi CWT-MSP [SMTP:[email protected]]
    Date: lundi 1 mars 1999 17:51
    A: 'Kallambella, Ajith'; 'J-Paul GABRIELLI'; 'Forte'
    Objet: RE: Processing Logged messages in batch mode ?
    In case of installed applications or running in distributed mode, you can
    use econsole to choose the appropriate active partition and view the log
    file for it. The "log file" window also displays the name of the
    particular
    log file. In case of installed applications, you can also rename the log
    file for your partitions.
    Hope that helps
    -Ravi Kalidindi
    Born Info Svcs Group
    -----Original Message-----
    From: Kallambella, Ajith [SMTP:[email protected]]
    Sent: Monday, March 01, 1999 9:47 AM
    To: 'J-Paul GABRIELLI'; 'Forte'
    Subject: RE: Processing Logged messages in batch mode ?
    Paul,
    One way to findout the log file is to inspect your
    <CentralServer>.log. It should have a line something like..
    Redirecting output to <someDirectory>/forte_ex_26564.log.
    That is the file the the current ftexec is writing to.
    This has worked fine for me.
    Another way is to sort the files by date, and look at the latest
    ones.
    ...I'd love to hear about a better way to do this.
    Ajith Kallambella. M
    Forte Systems Engineer
    International Business Corporation.
    -----Original Message-----
    From: [email protected] [mailto:[email protected]]
    Sent: Monday, March 01, 1999 9:06 AM
    To: Forte-Users (Adresse de messagerie)
    Subject: Processing Logged messages in batch mode ?
    Hi,
    When I launch partitions, they display a whole bunch of 'useful'messages.
    (maybe using 'task.logmgr.putline')
    I'm afraid these traces go directly in the launcher's log file under
    $FORTE_ROOT/log
    As I get control only when the ftexec ends for the next instruction tobe
    interpreted,
    how can I figure out which of these log files relates to the ftexec Ijust
    got executed ?
    (example: "forte_ex_3613.log")
    I found '/output' for node managers, but for single ftexec(s) ?
    (thinking also about re-used ftexec(s))
    Thanks in advance,
    j-paul gabrielli
    To unsubscribe, email '[email protected]' with
    'unsubscribe forte-users' as the body of the message.
    Searchable thread archive <URL:http://pinehurst.sageit.com/listarchive/>
    To unsubscribe, email '[email protected]' with
    'unsubscribe forte-users' as the body of the message.
    Searchable thread archive <URL:http://pinehurst.sageit.com/listarchive/>

  • Processing Logged messages in batch mode ?

    Hi,
    When I launch partitions, they display a whole bunch of 'useful' messages.
    (maybe using 'task.logmgr.putline')
    I'm afraid these traces go directly in the launcher's log file under $FORTE_ROOT/log
    As I get control only when the ftexec ends for the next instruction to be interpreted,
    how can I figure out which of these log files relates to the ftexec I just got executed ?
    (example: "forte_ex_3613.log")
    I found '/output' for node managers, but for single ftexec(s) ?
    (thinking also about re-used ftexec(s))
    Thanks in advance,
    j-paul gabrielli

    The instrument "LogFile" on the active partition agent contains the name of
    the log file.
    At 10:47 AM 3/1/99 -0500, Kallambella, Ajith wrote:
    Paul,
    One way to findout the log file is to inspect your
    <CentralServer>.log. It should have a line something like..
    Redirecting output to <someDirectory>/forte_ex_26564.log.
    That is the file the the current ftexec is writing to.
    This has worked fine for me.
    Another way is to sort the files by date, and look at the latest
    ones.
    ...I'd love to hear about a better way to do this.
    Ajith Kallambella. M
    Forte Systems Engineer
    International Business Corporation.
    -----Original Message-----
    From: [email protected] [mailto:[email protected]]
    Sent: Monday, March 01, 1999 9:06 AM
    To: Forte-Users (Adresse de messagerie)
    Subject: Processing Logged messages in batch mode ?
    Hi,
    When I launch partitions, they display a whole bunch of 'useful' messages.
    (maybe using 'task.logmgr.putline')
    I'm afraid these traces go directly in the launcher's log file under
    $FORTE_ROOT/log
    As I get control only when the ftexec ends for the next instruction to be
    interpreted,
    how can I figure out which of these log files relates to the ftexec I just
    got executed ?
    (example: "forte_ex_3613.log")
    I found '/output' for node managers, but for single ftexec(s) ?
    (thinking also about re-used ftexec(s))
    Thanks in advance,
    j-paul gabrielli
    To unsubscribe, email '[email protected]' with
    'unsubscribe forte-users' as the body of the message.
    Searchable thread archive <URL:http://pinehurst.sageit.com/listarchive/>============================================
    Don Nelson
    Senior Systems Architect
    Forte Software, Inc.
    Denver, CO
    Phone: 303-265-7709
    Corporate voice mail: 510-986-3810
    aka: [email protected]
    ============================================
    "Nothing spoils fun like finding out it builds character." - Calvin
    To unsubscribe, email '[email protected]' with
    'unsubscribe forte-users' as the body of the message.
    Searchable thread archive <URL:http://pinehurst.sageit.com/listarchive/>

  • Need Expert Help.....Photoshop to slice pages in half Batch mode

    I've searched everywhere for a solution to this, but in vain. Pls. Help...
    I have taken digital images (color) of a few pages from a printed book. These are all double pages (2 facing pages in 1 shot). Pls. see the attached sample image. http://www.box.net/shared/ay2rqjp317
    I want to use Photoshop (Elements 6 / CS 3 or above) to AUTOMATE the following :
    1. Cut the single image (of two facing pages) into 2 single page images. (Also if you could suggest a way that picture be split (in batch mode) to NEARLY FIT the single page dimensions of the book).
    2. Straighten the resulting single page image (to look NEARLY like a flat eBook - with text in ALMOST straight lines).
    3. If at all possible, Remove imprint of fingers (seen bottom of the pic- finger holding pages flat- I've held the same place in all images).
    4. Convert color image to black and white, to remove unnecessary details.
    5. CREATE A BATCH process of all above steps, so it can be done for the 30 or so double pages I have, creating 60 single pages.
    After step 5, I will run Omnipage to OCR text from all pages (This is simple, I can do it) and create a clean B&W book type PDF of 60 pages or so.
    Its really important that I do the batch mode for all...this is beacuse in sucesssive projects, I need to digitize a few pretty old books.
    At wikihow, I fdid find some useful info, but not for STEP 1 to 3, which are crucial. I'm reproducing that info here, if someone wants to incorporate that into approach they suggest for me.
    Pls. Help...I'm just an amateur with Photoshop. Thanks a ton..
    -------------------- Notes from WikiHow ---------------
    4 # Create a processing action: Photoshop (any version) is a good software for processing, but other software may work just as well. To save file size and increase readability, you want to strip out as much extra color information as possible. You can automate this process: Start recording a new action. Then select Image>adjustments>threshold to convert to black and white - drag the cutoff slider to where it looks most readable. Save the images using File > Save for web and devices. Save in the gif format. You only need two colors, and you may safely crank up the lossy compression. Using this method you can compress six megapixel images down to under 200 kb, down from the roughly 2 mb original files.
    5 # Create your pages. Now that you have created your action, open Photoshop and select file > automate > batch. Select the action you just made, as well as the original images you want to work on. Then select a destination and numbering scheme. Run the process and you should end up with a number of compressed GIFs. Review your images again. If any of your images were underexposed or out of focus, they will be illegible.

    Someone may be able to recommend some easier to use software, but on machines where I do not have Photoshop I use http://gimp.org/downloads/

Maybe you are looking for

  • Adobe Acrobat 6 pro in win 7 install problem

    hi iam tring to install Acrobat 6 pro in windows 7 64bit . when i launch setup.exe a windows 7 compaitabilty error message pop up when i click on run program it will start installing and again it gives a setup error saying "adobe acrobat 6 pro setup

  • How to cut and paste a picture into a shape in Illustrator CS4

    In illustrator CS4 I am trying to cut and paste a picture into a shape. In freehand the shortcut was so easy. I know there is one in Illustrator but cant remember what it is, can anyone tell me?

  • Failure to boot after restarting, no distinct pattern.

    My Mac Pro has an issue where every third or fourth restart the mac will fail to boot, needing me to hold the power button until it turns off. I get the grey apple and the spinning progress wheel for 30 seconds, then the screen stays grey and the app

  • Multiple Artwork Covers Issue & Grouping Question

    My favorite band is The Smashing Pumpkins. Their latest album +Teargarden by Kaleidyscope+ is being released one song at a time online for free and in 11 different limited EPs that will compose the whole album. My problem here is that there a two art

  • Multi-page ID file into multiple individual ID files

    I am creating a catalog in ID and have started it as a single file with multiple pages. My printer has asked that I submit it as multiple individual ID pages. I found a script that will do it for me. The problem is that I have applied master pages to