Receiver File Error while using Dynamic Configuration

Hi All,
My Scenario is from SAP IDOC --> PI --> FIle...
In the mapping i have used the dynamic variable substitution for the receiver file....
The Dyanamic file will be alwasy generated irrespective of the condition for the Mapping...
Now Whenever SAP sends IDOC then file to be created . If the condition is met then there is no problem the file is being created...
But if condition is not met then the error is being thrown in the Communication Channel...
Error occurred while connecting to the FTP server "10.1.999.222:21": java.lang.Exception: Exception in XML Parser (format problem?):'java.lang.Exception: Message processing failed in XML parser: 'Conversion configuration error: Unknown structure '' found in document', probably configuration error in file adapter (XML parser error)'
Note the payload has the dyanmic file generated....
And when i tested the mapping by coping the payload then
I am getting the target with empty ...but with MT_ProductMaster node...
<?xml version="1.0" encoding="UTF-8"?>
<ns0:MT_ProductMaster xmlns:ns0="http://xyz/Ix_ProductMaster/WMS"></ns0:MT_ProductMaster>
and the error i think bcz of this payload ... but i dont have any option to remove this .... because if condition not met then the root node always will be created...
In CC File  Content conversion i have given like this
Record setStructure  FileHeader,FileDetail,FileTrailer
FileHeader.fieldSeparator |
FileHeader.endSeparator |'nl'
FileDetail.fieldSeparator |
FileDetail.endSeparator |'nl'
FileTrailer.fieldSeparator |
FileTrailer.endSeparator |
and my MT structure is
MT_ProductMaster 1.1
FileHeader  0...1
FileDetail 0....unbounded
FileTrailer 0...1
Please help me on how to ignore the empty root node... do i need to handle something else???
Regards,
Sridhar Reddy

Hey
Record setStructure FileHeader,FileDetail,FileTrailer
FileHeader.fieldSeparator |
FileHeader.endSeparator |'nl'
FileDetail.fieldSeparator |
FileDetail.endSeparator |'nl'
FileTrailer.fieldSeparator |
FileTrailer.endSeparator |
and my MT structure is
MT_ProductMaster 1.1
FileHeader 0...1
FileDetail 0....unbounded
FileTrailer 0...1
of course you will get error in content conversion if file is missing any of the parameters expected by FCC.
Right now the Content conversion is expecting several values in your payload(even if blank values) but you don't have any of them hence you get this error.
If you want to deliver empty file,you need to map all the receiver side nodes to some default,so that it is populated to that default (could be blank) if no values are present,then when this comes to content conversion,it will assume the blank value as node and do correct conversion.
If you dont have values in payload but have specified parameters for it on content conversion,then you will get errors as you mentioned in your first post.
Thanks
Aamir

Similar Messages

  • Runtime Error while using Dynamic Selection

    Hi,
      We are getting a runtime error while using a dynamic selection. One of the fields has got an apostrophe in the middle of the text and so the condition is returning an error SAPSQL_WHERE_PARANTHESES.
      Let's say the value in the field is SCV's. So the WHERETAB is filled as 'SCV's' or `SCV's`. An exception is caught in this case as there is no closing apostrophe.
    Let us know if anyone has come across a similar issue and any help is appreciated.
    Regards,
    Sarves

    Hi Sarves,
    as Rob said.
    check also the [ORACLE FAQS|http://www.orafaq.com/faq/how_does_one_escape_special_characters_when_writing_sql_queries] or [SQL SERVER u2013 How to Escape Single Quotes|http://blog.sqlauthority.com/2008/02/17/sql-server-how-to-escape-single-quotes-fix-error-105-unclosed-quotation-mark-after-the-character-string/]
    Honestly: Before posting here and getting a whole lot of more or less useless comments just use your favorite search engine.
    Regards,
    Clemens

  • Getting error while using DYNAMIC SQL

    Hi Team,
    I am Oracle DBA. I have limited knowledge on PL/SQL. I used below PL/SQL code to drop 50 partitons from one of the table.
    I used Dynamic SQL EXECUTE IMMEDIATE to drop partions. But error occured. If I commented EXECUTE IMMEDIATE, procedure executed successfully.
    Please suggest me, where i did the mistake. Also please suggest for better code than my code. please find below code and error details.
    SQL> ed
    Wrote file afiedt.buf
    1 DECLARE
    2 CURSOR DROP_PARTITON IS select partition_name from user_tab_subpartitions where PARTITION_NAME<='ABCD_2011_04';
    3 BEGIN
    4 for curr IN DROP_PARTITON LOOP
    5 DBMS_output.put_line(curr.partition_name);
    6 execute immediate(Alter table Table_Name drop partition curr.partition_name);
    7 end loop;
    8* END;
    SQL> /
    execute immediate(Alter table BILLCHRG drop partition curr.partition_name);
    ERROR at line 6:
    ORA-06550: line 6, column 19:
    PLS-00103: Encountered the symbol "ALTER" when expecting one of the following:
    ( - + case mod new not null others <an identifier>
    <a double-quoted delimited-identifier> <a bind variable> avg
    count current exists max min prior sql stddev sum variance
    execute forall merge time timestamp interval date
    <a string literal with character set specification>
    <a number> <a single-quoted SQL string> pipe
    <an alternatively-quoted string literal with character set specification>
    <an alternative
    SQL> ed
    Wrote file afiedt.buf
    1 DECLARE
    2 CURSOR DROP_PARTITON IS select partition_name from user_tab_subpartitions where PARTITION_NAME<='ABCD_2011_04';
    3 BEGIN
    4 for curr IN DROP_PARTITON LOOP
    5 DBMS_output.put_line(curr.partition_name);
    6 --execute immediate(Alter table TABLE_NAME drop partition curr.partition_name);
    7 end loop;
    8* END;
    SQL> /
    ABCD_2009_06
    ABCD_2009_06
    ABCD_2009_06
    BILLCHRG_2011_04
    PL/SQL procedure successfully completed.

    PL/SQL code runs on the server, inside an Oracle process - thus PL/SQL code cannot dynamically write and display messages to the client. That server process is not connected to any keyboard, mouse or display.
    DBMS_OUTPUT can be used. This is a PL/SQL buffer area in that server process that code can write lines of text too. When the server process informs the client that it has completed, the client can now request the contents of the DBMS_OUTPUT buffer and the client can display it on the client device.
    This is what set serveroutput on in SQL*Plus does - tell the sqlplus client to request the DBMS_OUTPUT buffer after each Oracle server call made and to display the contents locally.
    So to display the SQL command can be done using DBMS_OUTPUT. E.g.
    declare
      dropPart varchar2(32767);
    begin
      for c in (select...) loop
        dropPart := 'alter table my_tab drop partition '||c.partition_name';
        --// write the SQL command to DBMS_OUTPUT
        DBMS_OUTPUT.put_line( dropPart );
        --// execute the SQL using a begin..end block in order to catch error
        begin
          execute immediate dropPart;
          DBMS_OUTPUT.put_line( 'command completed successfully' );
        exception when OTHERS then
          DBMS_OUTPUT.put_line( 'command failed with: '||SQLERRM(SQLCODE) );
        end;
      end loop;
    end;So after this code block has been executed and partitions dropped, sqlplus will display the DBMS_OUTPUT generated by this code block.

  • Error while using dynamic pointers in STD_LOGIC_VECTORs and for sentences

    Hi Forum,
    I am having a few problems in the Synthesis cause I am using dynamic pointers in STD_LOGIC_VECTORs and for sentences.
    Here I show two examples: 
    1)
    indx := array_of_indexes(repeat_deep);
    aux_data(repeat_deep)(BUF_SIZE - indx*NUM_BITS downto BUF_SIZE-3 - indx*NUM_BITS) <= data_in_p;
    Here, my problem is that indx is a dynamic pointer so it works in the simulation but no in the Synthesis.
    aux_data is an array of STD_LOGIC_VECTORs
    2)
    for i_for in 0 to repeat_deep -1 loop
        indx := array_of_indexes(i_for);
        aux_data(i_for)(BUF_SIZE - indx*NUM_BITS downto BUF_SIZE-3 - indx*NUM_BITS) <= lasts_power(i_for);
        array_of_indexes(i_for) <= array_of_indexes(i_for) + 1;
    end loop;
    Here I have both problems, the 'repeat_deep' in the 'for' is dynimic, and the 'indx' in the STD_LOGIC_VECTORs.
    What can I do to solve the problem?
    Thanks!!
    Daniel

    "I am having a few problems in the Synthesis cause I am using dynamic pointers"
    If you're using Vivado, dynamic indexing is a known issue with Vivado Synthesis:
       Vivado Synthesis - Does Vivado Synthesis support non-constant (dynamic) range expression?
       http://www.xilinx.com/support/answers/52302.html
    -Brian

  • SOM Error while using Dynamic Tables

    Hi Gurus,
        I have created a Adobe form with Dynamic tables and integrated in Webdynpro ABAP.
    When I test the form, while opening the form the following error occurs ..
    " The SOM Expression '$record.BP_DETAILS' for the dataRef specified on field 'BP_DETAILS' ,resolved to an incompatible node of type 'dataValue'..
    After I press ok in the popup error message the Interactive form is displayed and I am able to add rows dynamically .. but the data .. but on submit the data is not passed to the context..
    when i change the cardinality of the context from " 0..n" to "1..n" .. this error does not appear.. but while submit only the first row is saved to the context..
    Has some one come across this error.. Please let me know how to get the dynamic table data to be passed to webdynpro ..
    Thanks and Regards
    Sivaraj

    Hi
    To show dynamic data in tables using adobe,follow these steps:
    1. Create a value node say DataSource of cardinality 1.n and an other value node  of cardinality 0.n which actually contains data.
    2. create an array or use value node to collect data which is to be transferred to adobe.
    3. data can be collected using for loop and create node element inside the loop and set corresponding values of each element.
    4. add this element to value node.(step 3,4 are to be performed under loop)
    5.You can use reverse loop to read and send data from adobe to data base which can be performed under submit button to sap.
    Sample code to send data from dynpro view to adobe
    Collection myRecords = new ArrayList();
    myRecords.clear();
    Collection records = new Vector();
    IPrivateTestAdobeFormView.INotificationRecordsElement notifRecord = null;
    int NUM_RECORDS = 5;
    for (int i = 0; i < NUM_RECORDS; i++)
    IPrivateTestAdobeFormView
         .INotificationRecordsElement
              notifRecordElement =
                   wdContext
                        .createNotificationRecordsElement();
    notifRecordElement.setNotificationNumber("" + i);
    notifRecordElement.setNotificationDesc("Description for " + i);
    myRecords.add(notifRecordElement);
    wdContext.nodeNotificationRecords().bind(myRecords);
    To save data from adobe to sap
    IPublic<your view>.I<your>Node node = wdContext.<your>node();
            node.invalidate();
            int size = wdContext.nodeRFQ_Questions().size();
            Zqq_Qid_Ans_Txt newnode;
            for (int i = size-1; i >= 0; i--) {
                 newnode = new Zqq_Qid_Ans_Txt();
                 String answertext = wdContext.nodeRFQ_Questions().getRFQ_QuestionsElementAt(i).getAnswer_Text();
                 newnode.setAnswer_Text(answertext);
                 String questionid = wdContext.nodeRFQ_Questions().getRFQ_QuestionsElementAt(i).getQuestion_Id();
                 newnode.setQuestion_Id(questionid);
                 quote.addT_Qid_Anstxt(newnode);
    Mandeep Virk

  • "Cannot interpret data in file" error while using GUI_UPLOAD for .xls file

    Hi,
         I have made a program using FM GUI_UPLOAD to upload an .xls file to an internal table. But upon executing ,it gives error "Cannot Interpret data in file". I have seen in other posts people talking about GUI_UPLOAD FM to upload data from excel directly into internal table. Kindly help.
    Here is my code. I had tried using different combination for HAS_FIELD_SEPARATOR but still its not working.
    In my emp1.xls file , the data in each column is present in the same order as in the internal table. Although the first column in my internal table is NUMC. I dont know if that is causing the problem.
    REPORT  ZUPLOAD_1.
    data: itab TYPE TABLE OF zempl_master WITH HEADER LINE.
    CALL FUNCTION 'GUI_UPLOAD'
      EXPORTING
        FILENAME                      = 'C:\empl1.xls'
        FILETYPE                      = 'ASC'
        HAS_FIELD_SEPARATOR           = 'X'
    *   HEADER_LENGTH                 = 0
    *   READ_BY_LINE                  = 'X'
    *   DAT_MODE                      = ' '
    *   CODEPAGE                      = ' '
    *   IGNORE_CERR                   = ABAP_TRUE
    *   REPLACEMENT                   = '#'
    *   CHECK_BOM                     = ' '
    *   VIRUS_SCAN_PROFILE            =
    *   NO_AUTH_CHECK                 = ' '
    * IMPORTING
    *   FILELENGTH                    =
    *   HEADER                        =
      TABLES
        DATA_TAB                      = itab.
    * EXCEPTIONS
    *   FILE_OPEN_ERROR               = 1
    *   FILE_READ_ERROR               = 2
    *   NO_BATCH                      = 3
    *   GUI_REFUSE_FILETRANSFER       = 4
    *   INVALID_TYPE                  = 5
    *   NO_AUTHORITY                  = 6
    *   UNKNOWN_ERROR                 = 7
    *   BAD_DATA_FORMAT               = 8
    *   HEADER_NOT_ALLOWED            = 9
    *   SEPARATOR_NOT_ALLOWED         = 10
    *   HEADER_TOO_LONG               = 11
    *   UNKNOWN_DP_ERROR              = 12
    *   ACCESS_DENIED                 = 13
    *   DP_OUT_OF_MEMORY              = 14
    *   DISK_FULL                     = 15
    *   DP_TIMEOUT                    = 16
    *   OTHERS                        = 17
    IF SY-SUBRC <> 0.
    * MESSAGE ID SY-MSGID TYPE SY-MSGTY NUMBER SY-MSGNO
    *         WITH SY-MSGV1 SY-MSGV2 SY-MSGV3 SY-MSGV4.
    ENDIF.
    LOOP at itab.
      write:/ itab-emp_no,itab-name.
    endloop.

    hi amber22 you need to use the below fm to upload an xls file
    FORM EXCEL_UPLOAD .
    CALL FUNCTION 'ALSM_EXCEL_TO_INTERNAL_TABLE'
        EXPORTING
          FILENAME    = FILENAM
          I_BEGIN_COL = 1
          I_BEGIN_ROW = 1
          I_END_COL   = 6
          I_END_ROW   = 100
        TABLES
          INTERN      = xl_itab.
    * EXCEPTIONS
    * INCONSISTENT_PARAMETERS = 1
    * UPLOAD_OLE = 2
    * OTHERS = 3 .
      IF SY-SUBRC = 0.
    MESSAGE 'DATA UPLOADED SUCCESSFULLY' TYPE 'I'.
      ENDIF.
    ENDFORM.                    " EXCEL_UPLOAD

  • Getting file directory using dynamic configuration:Code needed

    Hi,
    I need the code for getting the source file directory name using dynamic configuration. Also, an explanation on how it can be used in mapping for comparison.
    Thanks,
    Vishal

    Hi Vishal,
      Refer  carefully the following blog by micheal to get the  Attributes dynamically during runtime by enabling the Adapter Specific message Attributes in adapter level.
      /people/michal.krawczyk2/blog/2005/11/10/xi-the-same-filename-from-a-sender-to-a-receiver-file-adapter--sp14
    Create an UDF in mapping with no input parameters to it and include the piece of code and use it according to your requirement in mapping.
    //write your code here
    try{
    String filedirectory    = "";
    DynamicConfiguration conf1 = (DynamicConfiguration) container
        .getTransformationParameters()
        .get(StreamTransformationConstants.DYNAMIC_CONFIGURATION);
    DynamicConfigurationKey key1 = DynamicConfigurationKey.create( "http:/"+"/sap.com/xi/XI/System/File","Directory");
    filedirectory = conf1.get(key1);
    return filedirectory;
    catch(Exception e)
         String exception = e.toString();
          return exception;
    Thanks,
    Ram.

  • Error while using module in receiver file adapter??

    Hi,
           I am using user defined module(for converting EBCDIC type of data to ASCII type of data)  in receiver file adapter, while running the module it is giving erors in audit log
    Exception caught by adapter framework: class com.sap.aii.af.mp.module.ModuleLocalHomeImpl0_0 can not be casted to ModuleLocalHome or SModuleLocalHome
    MP: exception caught with cause java.lang.ClassCastException: class com.sap.aii.af.mp.module.ModuleLocalHomeImpl0_0 can not be casted to ModuleLocalHome or SModuleLocalHome
    Please help.
    Thanks.
    Madhusudhan.

    hi ....Stephan
    now we are getting the below exceptions in the message disply tool audit log
    Delivery of the message to the application using connection File_http://sap.com/xi/XI/System failed, due to: com.sap.aii.af.ra.ms.api.RecoverableException: java.lang.Exception.
    MP: exception caught with message null
    Thanks,
    Madhusudhan.

  • Error while updating the configuration files (MOB20003)

    hi,
    After installing the BI 4.0 server, i am trying to configure mobile using mobile server configuration tool. When i enter all the information for non Blackberry option as i would like to access through ipad, its giving me the error message" Error while updating the configuration files (MOB20003)" Please advise.

    Hi Somesh,
    If i am not wrong, only a war file deployment is needed to make ipad work.
    This happens with URL hitting directly on the Server.
    If you want to configure VAS and VMS servers, let us know what configuration settings have been done.
    Regards,
    Atul

  • Problem:obtaing file name using Dynamic configuration of file adapter

    hi all
    I am using Dynamic configuration for getting file name.
    I am getting Dynamic configuration in SXMB_MONI containg file name, but payload is empty unlike file i am sending.

    Hi All,
    Basically my requirement to get Filename in idoc segments in order to validate the posting at month end.
    Its an File to idoc scenario- GL Posting.
    Please check attached UDF and it gives error. Kindly help. Thanks

  • Receiving an error while trying to installed Photoshop CS4 . error code 6. using windows 7

    receiving an error while trying to installed Photoshop CS4 . error code 6. using windows 7

    There isn't much here which is actionable.  Please review your installation logs by following the steps listed at Troubleshoot installation with install logs | CS3, CS4 - http://helpx.adobe.com/creative-suite/kb/troubleshoot-installation-install-logs-cs3.html.

  • Variable substitution error while using Seeburger module parameter

    Hi Freinds,
    I would like to use the variable substitution in a receiver file adapter to add the invoice no.
    (which is contained in the XML file) to the target filename.
    In addition I have to convert the XML file to an X12 EDI format using the seeburger module "localejbs/CallBicXIRaBean".
    As soon as this entry is made in the modules the following error message occurs:
    "com.sap.aii.adapter.file.configuration.DynamicConfigurationException:
    Error during variable substitution: com.sap.aii.adapter.file.varsubst.VariableDataSourceException:
    Caught SAXException while parsing XML payload: Fatal Error: com.sap.engine.lib.xml.parser.ParserException:
    XMLParser: No data allowed here: (hex) 53, 4f, 48(:main:, row:1, col:3)"
    My problem is that the conversion from XML to X12 EDI is done before the variable substitution is started.
    That`s why the reference for the variable is no longer valid as the file is already converted to a X12 EDI (=flatfile) format.
    If I disable one of the two steps (either 1:1-mapping or variable substitution) the other step runs properly.
    Has anybody an idea how to solve this topic?
    Is it possible to specify the variable substitution as module?
    If this is possible I could solve it by just reordering the two steps in the module chain.
    Regards
    Venkatesh

    Use Dynamic Configuration Bean to set this value. You have to use this well before "localejbs/CallBicXIRaBean".
    Check SAP note : 974481 for more information.
    Blog: [/people/jin.shin/blog/2007/04/27/sap-netweaver-xi-variable-substitution-with-adapter-specific-message-attributes-via-dynamicconfigurationbean|/people/jin.shin/blog/2007/04/27/sap-netweaver-xi-variable-substitution-with-adapter-specific-message-attributes-via-dynamicconfigurationbean]
    Second Approach if the above approach doesnt work.
    Use Dynamic Configuration concept in UDF to set the filename under message Mapping.
    Thanks,
    - Gujjeti.
    Edited by: Praveen Gujjeti on Feb 25, 2009 11:25 AM

  • Error while using  CALL METHOD

    I am getting a error while using CALL METHOD cl_ssf_xsf_utilities=>get_bds_graphic_as_bmp
    The error is class "CL_SSF_XSF_UTILITIES is unknown. How to correct that?? please help I am new to object oriented programming??
    Edited by: priya singh on Nov 18, 2008 2:14 PM

    This is my code.
    REPORT ZSAVE_FUNCTION .
    D A T A D E C L A R A T I O N S *
    DATA: v_bitmap TYPE xstring, "graphic data
    v_file TYPE string, "file name
    v_length TYPE i. "length of binary file
    DATA: BEGIN OF it_bitmaps OCCURS 0,
    object TYPE tdobjectgr, "object
    name TYPE tdobname, "name
    id TYPE tdidgr, "id
    tdbtype TYPE tdbtype, "graphic type
    END OF it_bitmaps.
    DATA: itab TYPE TABLE OF x.
    *class cl_ssf_xsf_utilities definition.
        public section.
      methods : get_bds_graphic_as_bmp
    DATA: L_GRAPHIC_XSTR TYPE XSTRING.
    *method cl_ssf_xsf_utilities
    S E L E C T I O N - S C R E E N *
    SELECTION-SCREEN BEGIN OF BLOCK b1 WITH FRAME.
    PARAMETERS: p_object TYPE tdobjectgr, "object
    p_btype TYPE tdbtype, "graphic type
    p_name TYPE tdobname, "name
    p_id TYPE tdidgr. "id
    SELECTION-SCREEN END OF BLOCK b1.
    SELECTION-SCREEN BEGIN OF BLOCK b2 WITH FRAME.
    PARAMETERS: p_file TYPE rlgrap-filename. "file name
    SELECTION-SCREEN END OF BLOCK b2.
    *A T S E L E C T I O N - S C R E E N O N V A L U E - R E Q U E S T *
    AT SELECTION-SCREEN ON VALUE-REQUEST FOR p_name.
    *-- Creating f4 help for the parameters
    PERFORM get_f4_object_name.
    AT SELECTION-SCREEN ON VALUE-REQUEST FOR p_file.
    *-- Getting the current value entered
    PERFORM get_current_value.
    *-- Value Request Functionality For Input File Name
    PERFORM f4_value_request.
    S T A R T O F - S E L E C T I O N *
    START-OF-SELECTION.
    *--Getting the graphic as a BMP file
    PERFORM get_graphic_bmp.
    *--Convert the Xstring format to binary format
    PERFORM convert_to_binary.
    *--Download the graphic
    PERFORM download_graphic.
    *& Form get_current_value
    Get the current file path entered
    FORM get_current_value .
    DATA: BEGIN OF li_dynp_value_tab OCCURS 0.
    INCLUDE STRUCTURE dynpread.
    DATA: END OF li_dynp_value_tab.
    DATA: l_program_name LIKE d020s-prog,
    l_dynpro_number LIKE d020s-dnum.
    l_program_name = sy-cprog.
    l_dynpro_number = sy-dynnr.
    REFRESH li_dynp_value_tab.
    li_dynp_value_tab-fieldname = 'P_FILE'.
    APPEND li_dynp_value_tab.
    CALL FUNCTION 'DYNP_VALUES_READ'
    EXPORTING
    dyname = l_program_name
    dynumb = l_dynpro_number
    TABLES
    dynpfields = li_dynp_value_tab
    EXCEPTIONS
    invalid_abapworkarea = 04
    invalid_dynprofield = 08
    invalid_dynproname = 12
    invalid_dynpronummer = 16
    invalid_request = 20
    no_fielddescription = 24
    undefind_error = 28.
    IF sy-subrc <> 0.
    MESSAGE ID sy-msgid TYPE 'S' NUMBER sy-msgno
    WITH sy-msgv1 sy-msgv2 sy-msgv3 sy-msgv4.
    ENDIF.
    READ TABLE li_dynp_value_tab INDEX 1.
    p_file = li_dynp_value_tab-fieldvalue.
    ENDFORM. " get_current_value
    *& Form f4_value_request
    Provinding the f4 for the given path
    FORM f4_value_request .
    *-- if the file is to be downloaded to presentation server
    CALL FUNCTION '/SAPDMC/LSM_F4_FRONTEND_FILE'
    EXPORTING
    pathname = p_file
    CHANGING
    pathfile = p_file
    EXCEPTIONS
    canceled_by_user = 1
    system_error = 2
    OTHERS = 3.
    IF sy-subrc <> 0.
    MESSAGE ID sy-msgid TYPE 'S' NUMBER sy-msgno
    WITH sy-msgv1 sy-msgv2 sy-msgv3 sy-msgv4.
    ENDIF.
    ENDFORM. " f4_value_request
    *& Form GET_GRAPHIC_BMP
    Get the graphic as a BMP file
    FORM get_graphic_bmp.
    CALL METHOD cl_ssf_xsf_utilities=>get_bds_graphic_as_bmp
    EXPORTING
    p_object = p_object
    p_name = p_name
    p_id = p_id
    p_btype = p_btype
    RECEIVING
    p_bmp = L_GRAPHIC_XSTR
    EXCEPTIONS
    not_found = 1
    internal_error = 2
    OTHERS = 3.
    IF sy-subrc <> 0.
    MESSAGE ID sy-msgid TYPE sy-msgty NUMBER sy-msgno
    WITH sy-msgv1 sy-msgv2 sy-msgv3 sy-msgv4.
    ENDIF.
    ENDFORM. " GET_GRAPHIC_BMP
    *& Form CONVERT_TO_BINARY
    Converting the xstring to binary format
    FORM convert_to_binary .
    CALL FUNCTION 'SCMS_XSTRING_TO_BINARY'
    EXPORTING
    buffer = v_bitmap
    IMPORTING
    output_length = v_length
    TABLES
    binary_tab = itab.
    ENDFORM. " CONVERT_TO_BINARY
    *& Form DOWNLOAD_GRAPHIC
    Download the graphic
    FORM download_graphic .
    v_file = p_file.
    CONCATENATE p_file '.BMP' INTO v_file.
    CALL FUNCTION 'GUI_DOWNLOAD'
    EXPORTING
    bin_filesize = v_length
    filename = v_file
    filetype = 'BIN'
    TABLES
    data_tab = itab
    EXCEPTIONS
    file_write_error = 1
    no_batch = 2
    gui_refuse_filetransfer = 3
    invalid_type = 4
    no_authority = 5
    unknown_error = 6
    header_not_allowed = 7
    separator_not_allowed = 8
    filesize_not_allowed = 9
    header_too_long = 10
    dp_error_create = 11
    dp_error_send = 12
    dp_error_write = 13
    unknown_dp_error = 14
    access_denied = 15
    dp_out_of_memory = 16
    disk_full = 17
    dp_timeout = 18
    file_not_found = 19
    dataprovider_exception = 20
    control_flush_error = 21
    OTHERS = 22.
    IF sy-subrc <> 0.
    MESSAGE ID sy-msgid TYPE sy-msgty NUMBER sy-msgno
    WITH sy-msgv1 sy-msgv2 sy-msgv3 sy-msgv4.
    ENDIF.
    ENDFORM. " DOWNLOAD_GRAPHIC
    *& Form GET_F4_OBJECT_NAME
    Get F4 values for object names
    FORM get_f4_object_name .
    DATA: dynpfld_mapping TYPE STANDARD TABLE OF dselc WITH HEADER LINE,
    return_tab TYPE STANDARD TABLE OF ddshretval WITH HEADER LINE.
    *--Selecting the values to be provided as f4 help
    SELECT tdobject
    tdname
    tdid
    tdbtype
    FROM stxbitmaps
    INTO TABLE it_bitmaps.
    *--To update the values in the remaining fields
    dynpfld_mapping-fldname = 'F0001'.
    dynpfld_mapping-dyfldname = 'P_OBJECT'.
    APPEND dynpfld_mapping.
    dynpfld_mapping-fldname = 'F0002'.
    dynpfld_mapping-dyfldname = 'P_NAME'.
    APPEND dynpfld_mapping.
    dynpfld_mapping-fldname = 'F0003'.
    dynpfld_mapping-dyfldname = 'P_ID'.
    APPEND dynpfld_mapping.
    dynpfld_mapping-fldname = 'F0004'.
    dynpfld_mapping-dyfldname = 'P_BTYPE'.
    APPEND dynpfld_mapping.
    *--Providing f4 help with the selected values
    CALL FUNCTION 'F4IF_INT_TABLE_VALUE_REQUEST'
    EXPORTING
    retfield = 'TDOBNAME'
    dynpprog = sy-repid
    dynpnr = sy-dynnr
    dynprofield = 'P_NAME'
    value_org = 'S'
    TABLES
    value_tab = it_bitmaps
    dynpfld_mapping = dynpfld_mapping
    EXCEPTIONS
    parameter_error = 1
    no_values_found = 2
    OTHERS = 3.
    IF sy-subrc <> 0.
    MESSAGE ID sy-msgid TYPE sy-msgty NUMBER sy-msgno
    WITH sy-msgv1 sy-msgv2 sy-msgv3 sy-msgv4.
    ENDIF.
    ENDFORM. " GET_F4_OBJECT_NAME

  • OSB: Cannot acquire data source error while using JCA DBAdapter in OSB

    Hi All,
    I've entered 'Cannot acquire data source' error while using JCA DBAdapter in OSB.
    Error infor are as follows:
    The invocation resulted in an error: Invoke JCA outbound service failed with application error, exception: com.bea.wli.sb.transports.jca.JCATransportException: oracle.tip.adapter.sa.api.JCABindingException: oracle.tip.adapter.sa.impl.fw.ext.org.collaxa.thirdparty.apache.wsif.WSIFException: servicebus:/WSDL/DBAdapter1/RetrievePersonService [ RetrievePersonService_ptt::RetrievePersonServiceSelect(RetrievePersonServiceSelect_inputParameters,PersonTCollection) ] - WSIF JCA Execute of operation 'RetrievePersonServiceSelect' failed due to: Could not create/access the TopLink Session.
    This session is used to connect to the datastore.
    Caused by Exception [EclipseLink-7060] (Eclipse Persistence Services - 2.0.2.v20100323-r6872): org.eclipse.persistence.exceptions.ValidationException
    Exception Description: Cannot acquire data source [jdbc/soademoDatabase].
    Internal Exception: javax.naming.NameNotFoundException: Unable to resolve 'jdbc.soademoDatabase'. Resolved 'jdbc'; remaining name 'soademoDatabase'.
    ; nested exception is:
    BINDING.JCA-11622
    Could not create/access the TopLink Session.
    This session is used to connect to the datastore.
    JNDI Name for the Database pool: eis/DB/soademoDatabase
    JNDI Name for the Data source: jdbc/soademoDatabase
    I created a basic DBAdapter in JDeveloper, got the xsd file, wsdl file, .jca file and the topLink mapping file imported them into OSB project.
    Then I used the .jca file to generate a business service, and tested, then the error occurs as described above.
    Login info in RetrievePersonService-or-mappings.xml
    <login xsi:type="database-login">
    <platform-class>org.eclipse.persistence.platform.database.oracle.Oracle9Platform</platform-class>
    <user-name></user-name>
    <connection-url></connection-url>
    </login>
    jca file content are as follows:
    <adapter-config name="RetrievePersonService" adapter="Database Adapter" wsdlLocation="RetrievePersonService.wsdl" xmlns="http://platform.integration.oracle/blocks/adapter/fw/metadata">
    <connection-factory location="eis/DB/soademoDatabase" UIConnectionName="Connection1" adapterRef=""/>
    <endpoint-interaction portType="RetrievePersonService_ptt" operation="RetrievePersonServiceSelect">
    <interaction-spec className="oracle.tip.adapter.db.DBReadInteractionSpec">
    <property name="DescriptorName" value="RetrievePersonService.PersonT"/>
    <property name="QueryName" value="RetrievePersonServiceSelect"/>
    <property name="MappingsMetaDataURL" value="RetrievePersonService-or-mappings.xml"/>
    <property name="ReturnSingleResultSet" value="false"/>
    <property name="GetActiveUnitOfWork" value="false"/>
    </interaction-spec>
    </endpoint-interaction>
    </adapter-config>
    RetrievePersonService_db.wsdl are as follows:
    <?xml version="1.0" encoding="UTF-8"?>
    <WL5G3N0:definitions name="RetrievePersonService-concrete" targetNamespace="http://xmlns.oracle.com/pcbpel/adapter/db/KnowledeMgmtSOAApplication/AdapterJDevProject/RetrievePersonService" xmlns:WL5G3N0="http://schemas.xmlsoap.org/wsdl/" xmlns:WL5G3N1="http://xmlns.oracle.com/pcbpel/adapter/db/KnowledeMgmtSOAApplication/AdapterJDevProject/RetrievePersonService" xmlns:WL5G3N2="http://schemas.xmlsoap.org/wsdl/soap/">
    <WL5G3N0:import location="RetrievePersonService.wsdl" namespace="http://xmlns.oracle.com/pcbpel/adapter/db/KnowledeMgmtSOAApplication/AdapterJDevProject/RetrievePersonService"/>
    <WL5G3N0:binding name="RetrievePersonService_ptt-binding" type="WL5G3N1:RetrievePersonService_ptt">
    <WL5G3N2:binding style="document" transport="http://www.bea.com/transport/2007/05/jca"/>
    <WL5G3N0:operation name="RetrievePersonServiceSelect">
    <WL5G3N2:operation soapAction="RetrievePersonServiceSelect"/>
    <WL5G3N0:input>
    <WL5G3N2:body use="literal"/>
    </WL5G3N0:input>
    <WL5G3N0:output>
    <WL5G3N2:body use="literal"/>
    </WL5G3N0:output>
    </WL5G3N0:operation>
    </WL5G3N0:binding>
    <WL5G3N0:service name="RetrievePersonService_ptt-bindingQSService">
    <WL5G3N0:port binding="WL5G3N1:RetrievePersonService_ptt-binding" name="RetrievePersonService_ptt-bindingQSPort">
    <WL5G3N2:address location="jca://eis/DB/soademoDatabase"/>
    </WL5G3N0:port>
    </WL5G3N0:service>
    </WL5G3N0:definitions>
    Any suggestion is appricated .
    Thanks in advance!
    Edited by: user11262117 on Jan 26, 2011 5:28 PM

    Hi Anuj,
    Thanks for your reply!
    I found that the data source is registered on server soa_server1 as follows:
    Binding Name: jdbc.soademoDatabase
    Class: weblogic.jdbc.common.internal.RmiDataSource_1033_WLStub
    Hash Code: 80328036
    toString Results: ClusterableRemoteRef(8348400613458600489S:10.2.1.143:[8001,8001,-1,-1,-1,-1,-1]:base_domain:soa_server1 [8348400613458600489S:10.2.1.143:[8001,8001,-1,-1,-1,-1,-1]:base_domain:soa_server1/291])/291
    Binding Name: jdbc.SOADataSource
    Class: weblogic.jdbc.common.internal.RmiDataSource_1033_WLStub
    Hash Code: 92966755
    toString Results: ClusterableRemoteRef(8348400613458600489S:10.2.1.143:[8001,8001,-1,-1,-1,-1,-1]:base_domain:soa_server1 [8348400613458600489S:10.2.1.143:[8001,8001,-1,-1,-1,-1,-1]:base_domain:soa_server1/285])/285
    I don't know how to determine which server the DBAdapter is targetted to.
    But I found the following information:
    Under Deoloyment->DBAdapter->Monitoring->Outbound Connection Pools
    Outbound Connection Pool Server State Current Connections Created Connections
    eis/DB/SOADemo AdminServer Running 1 1
    eis/DB/SOADemo soa_server1 Running 1 1
    eis/DB/soademoDatabase AdminServer Running 1 1
    eis/DB/soademoDatabase soa_server1 Running 1 1
    The DbAdapter is related to the following files:
    C:\ Oracle\ Middleware\ home_11gR1\ Oracle_SOA1\ soa\ connectors\ DbAdapter. rar
    C:\ Oracle\ Middleware\ home_11gR1\ Oracle_SOA1\ soa\ DBPlan\ Plan. xml
    I unzipped DbAdapter.rar, opened weblogic-ra.xml and found that there's only one data source is registered:
    <?xml version="1.0"?>
    <weblogic-connector xmlns="http://www.bea.com/ns/weblogic/90">
    <enable-global-access-to-classes>true</enable-global-access-to-classes>
    <outbound-resource-adapter>
    <default-connection-properties>
    <pool-params>
    <initial-capacity>1</initial-capacity>
    <max-capacity>1000</max-capacity>
    </pool-params>
    <properties>
    <property>
    <name>usesNativeSequencing</name>
    <value>true</value>
    </property>
    <property>
    <name>sequencePreallocationSize</name>
    <value>50</value>
    </property>
    <property>
    <name>defaultNChar</name>
    <value>false</value>
    </property>
    <property>
    <name>usesBatchWriting</name>
    <value>true</value>
    </property>
    <property>
    <name>usesSkipLocking</name>
    <value>true</value>
    </property>
    </properties>
              </default-connection-properties>
    <connection-definition-group>
    <connection-factory-interface>javax.resource.cci.ConnectionFactory</connection-factory-interface>
    <connection-instance>
    <jndi-name>eis/DB/SOADemo</jndi-name>
              <connection-properties>
                   <properties>
                   <property>
                   <name>xADataSourceName</name>
                   <value>jdbc/SOADataSource</value>
                   </property>
                   <property>
                   <name>dataSourceName</name>
                   <value></value>
                   </property>
                   <property>
                   <name>platformClassName</name>
                   <value>org.eclipse.persistence.platform.database.Oracle10Platform</value>
                   </property>
                   </properties>
              </connection-properties>
    </connection-instance>
    </connection-definition-group>
    </outbound-resource-adapter>
    </weblogic-connector>
    Then I decided to use eis/DB/SOADemo for testing.
    For JDeveloper project, after I deployed to weblogic server, it works fine.
    But for OSB project referencing wsdl, jca and mapping file from JDeveloper project, still got the same error as follows:
    BEA-380001: Invoke JCA outbound service failed with application error, exception:
    com.bea.wli.sb.transports.jca.JCATransportException: oracle.tip.adapter.sa.api.JCABindingException: oracle.tip.adapter.sa.impl.fw.ext.org.collaxa.thirdparty.apache.wsif.WSIFException: servicebus:/WSDL/DBAdapterTest/DBReader [ DBReader_ptt::DBReaderSelect(DBReaderSelect_inputParameters,PersonTCollection) ] - WSIF JCA Execute of operation 'DBReaderSelect' failed due to: Could not create/access the TopLink Session.
    This session is used to connect to the datastore.
    Caused by Exception [EclipseLink-7060] (Eclipse Persistence Services - 2.0.2.v20100323-r6872): org.eclipse.persistence.exceptions.ValidationException
    Exception Description: Cannot acquire data source [jdbc/SOADataSource].
    Internal Exception: javax.naming.NameNotFoundException: Unable to resolve 'jdbc.SOADataSource'. Resolved 'jdbc'; remaining name 'SOADataSource'.
    ; nested exception is:
    BINDING.JCA-11622
    Could not create/access the TopLink Session.
    This session is used to connect to the datastore.
    Caused by Exception [EclipseLink-7060] (Eclipse Persistence Services - 2.0.2.v20100323-r6872): org.eclipse.persistence.exceptions.ValidationException
    Exception Description: Cannot acquire data source [jdbc/SOADataSource].
    Internal Exception: javax.naming.NameNotFoundException: Unable to resolve 'jdbc.SOADataSource'. Resolved 'jdbc'; remaining name 'SOADataSource'.
    You may need to configure the connection settings in the deployment descriptor (i.e. DbAdapter.rar#META-INF/weblogic-ra.xml) and restart the server. This exception is considered not retriable, likely due to a modelling mistake.
    It almost drive me crazy!!:-(
    What's the purpose of 'weblogic-ra.xml' under the folder of 'C:\Oracle\Middleware\home_11gR1\Oracle_OSB1\lib\external\adapters\META-INF'?
    ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------

  • Error while using '*'in the NTE (EDI 850) Segment where '*' is also used as Data Element

    Hi All,
    I am facing below mentioned error while using '*'in the NTE (EDI 850) Segment where '*' is also used as Data Element
    Error: 1 (Field level error)
      SegmentID: NTE
      Position in TS: 70
      Data Element ID: NTE02
      Position in Segment: 2
      Data Value:
      3: Too many data elements
    For Eg: NTE*GEN*My Text *goes here
    Here, NTE02 should be My Text *goes here. So, how can I use "*" here without changing anything in the EDI message?
    Can it be done?
    Thanks.

    Sorry, no.
    X12 does not support an escape character so whatever is used for delimiters become reserved characters.
    If you want to allow '*' in the data, you will have to chooser a different Element delimiter.  The receiver should read the from this from the ISA Segment so it's supposed to be dynamic but that's not always the case in practice.

Maybe you are looking for

  • How do I stop iTunes changing my album artwork?

    I do not want iTunes changing my album artwork. I spend a lot of time getting this right. iTunes 12.01 has started messing with this, substituting new artwork and removing what I put there. How do I stop this happening?

  • Org unit structure

    Hi, Is it possible for a person (engineer in this case) to have direct reports but at the same time that person is not a Chief (and not part of a separate org unit)? If that is possible, are there potential implications with something like head-count

  • Controlling "Log apply" on Logical standby.

    Hi, We are going Live with logical standby ina day or two, and suddenly found what seems to be a potential problem in the near future. Despite issuing the command ALTER DATABASE START LOGICAL STANDBY APPLY IMMEDIATE;Logs are not getting applied immed

  • IPhoto doesn't accept my iPhone photos.

    I have an iPhone 4s and an iMac whith the new iPhoto, when I sicronized it it tells me that it can not be read by iPhoto becasue of its format, what can I do?

  • Screen layout problem

    Dear Gurus we are facing one serious problem we are making changes in screen layout of the PO and PR but the changes we made are not visible i.e there is no effect of these changes for example we made item category and account assignment mandatory st