IDOC Via Reprot program ( conversion)

Dear All,
I have to develop a conversion through IDOC Via Reprot program
Can any one please give a little idea how to do this.
Cheers,
Raadha.

Reviving an old thread...
I'm getting a similar error making RFC calls from a stand-alone program to an ABAP server using JCo:
RFC_GET4, GET_ID-3c05 LINE 990
Any ideas?
Thanks.
Tim

Similar Messages

  • MATMAS01 IDOC not reaching to SAP XI via report program.

    Dear Experts,
    WE are facing small challenge.
    I searched on SDN on scenarios: IDOC not reaching to SAP XI. But could not find exact solution t oour scenario.
    Problem:
    MATMAS01 IDOC is not reaching to SAP XI via report program and is in status of 03 on SAP system. And there are not entries under SM58.
    Under SAP XI system IDOC entry is not reflecting under IDX5 transaction, I tried to delete meta data of MATMAS01 thru IDX1 and uploaded again but still IDOC is not reaching to SAP XI.
    The strange is that MATMS01 IDOC is reaching to XI via WE19 test tool. So PORT and RFC destination settings betweeen R3 and XI is also correct.
    What could be the wrong ?
    Thanks
    Divyesh

    When sending Idoc from R/3,
    Settings at R/3
    create one port at WE21,
    Create Partner Profile for Outbound Message type in WE20.
    settings at XI
    Create one port in IDX1
    Import Matadata in IDX2.
    Create complete scenario in ESR for Idoc sender, also import IDoc in Imported Objects.
    Check these settings & send test idoc using WE19.

  • How to extract data from BPC InfoCube via ABAP program?

    Hi experts!!
    I tried to extract data from a BPC InfoCube via ABAP program, but I did'n have succeed.
    I used the function 'RSDRI_INFOPROV_READ' to extract data from standard InfoCubes such as '0COPC_C07' and it run OK! However, when I change the InfoCube name to '/CPMB/WAIX8NE' (BPC InfoCube), everything goes wrong...
    Is there any difference between extracting data from BPC and standard InfoCubes?
    Thank you all!

    Moderator message - Welcome to SCN.
    But please do not cross and duplicate post.
    Thread locked.
    Rob

  • Getting error code 37 while sending IDOC via WE19

    Hello experts,
    I am facing a very unlikely error which is preventing me from testing my scenario.
    I dont have XI quality server and hence I am using my development server as both dev and quality. Hence I need to connect both dev and quality SAP R/3 system to my XI dev system. While I have done all the configurations in my XI and both SAP R/3 systems, its giving me error when i am trying to send IDOC from quality system.
    In quality R/3 i have done the following:
    1) Created RFC for my XI dev server
    2) Created port for this RFC
    3) Created partner profile adding all required IDOCS in the outbound parameters
    4) Created distribution channel for all the idocs
    In XI dev system i have done the following:
    1) Created RFC for both dev and quality of R/3
    2) Created port for both the RFCs
    3) Maintained the IDOC metadata for both the ports
    Now when I am pusing IDOC via dev of r/3 (we19) is working fine but when I am doing the same from quality of r/3 its giving me status code of idoc as 37 that says "An error was identified in the control record while adding an IDoc. The sender port SAPQTY_510 is invalid."
    But I have created this sender port SAPQTY_510 in my XI dev system and have also maintained the idoc metadata. I dont know why this error is coming.
    Can anyone please point out what mistake i have done or if i missed sometig as I am trying to connect 2 r/3 systems to one XI system.
    Its really urgent hence your help will be highly apreciated.
    Thanks,
    Yash

    hi yash,
    where you created SAPQTY_510 ,it should be created in R/3 Quality RFC destinations.
    In XI DEV create port like SAPxxx WHERE xxx is SID of quality system.
    actually we are getting confused.
    i guess you used same name SAPQTY_510 in quality R/3 and XI DEV .
    In error it says sender port SAPQTY_510  is invalid mean port of Source not XI DEV(receiver).
    just try to use some other name say SAPXXX_QUA and confirm the error.
    when IDOC is sent to XI DEV  ,port of  XIDEV  SAPQTY_510 has nothing to play any role .
    just check whether rfc destination of sender port (QUALITY R/3)you used is of type 3.
    so please check at which port error is coming.
    Thanks & Regards,
    Rama Krishna
    Edited by: rama krishna talluri on Mar 5, 2008 10:02 AM

  • Creation of IDOC through abap program.

    hello all,
    I hav created idoc through abap program. I hav used FM 'Master_idoc _distrribute'.this program creates an idoc but giving status 30. can any one tell me how to get status 03. I hav already created port, Logical sys,partner no.,distribution model.
    My Program is as follows:
    ABLES : CRMD_ORDERADM_I,CRMD_ORDERADM_H,CRMD_SCHEDLIN.
    DATA : S_CTRL_REC LIKE EDIDC OCCURS 0 WITH HEADER LINE,"Idoc Control Record
           ORDER_NO TYPE CRMT_OBJECT_ID VALUE '5000000032'," SEGMENT ORDER DATA
           PRODUCT TYPE CRMT_ORDERED_PROD VALUE 'SRV_01',
           QUANTITY TYPE CRMT_SCHEDLIN_QUAN VALUE '1.000'.
    DATA : ZORDER LIKE ZORDER_NUM OCCURS 0 WITH HEADER LINE.
    DATA :  T_EDIDD LIKE EDIDD OCCURS 0 WITH HEADER LINE.     "Data Records
    DATA :  T_COMM_IDOC LIKE EDIDC OCCURS 0 WITH HEADER LINE. "Generated Communication IDOc
    CONSTANTS :
    C_ZRZSEG1 LIKE EDIDD-SEGNAM VALUE 'ZORDER_NUM'.
    PARAMETERS :  C_MESTYP LIKE EDIDC-MESTYP DEFAULT 'ZORDER_IDOC2', "Message Type
                  C_RCVPRT LIKE EDIDC-RCVPRT DEFAULT 'LS',          "Partner type of receiver
                  C_LOGSYS LIKE EDIDC-RCVPRN DEFAULT 'BSNL_OUT',
                  C_RCVPOR LIKE EDIDC-RCVPOR DEFAULT 'A000000006',
                  C_SNDPOR LIKE EDIDC-SNDPOR DEFAULT 'SAPBCD0000',
                  C_SNDPRN LIKE EDIDC-SNDPRN DEFAULT 'BCDCLNT100',
                  C_IDOCTP LIKE EDIDC-IDOCTP DEFAULT 'ZORDER2',
                  C_SNDPRT LIKE EDIDC-SNDPRT DEFAULT 'LS'.          "Destination System
    ***START-OF-SELECTION
    START-OF-SELECTION.
      PERFORM GENERATE_CONTROL_RECORD.
      PERFORM SEND_IDOC.
    *&      Form  generate_control_record
    FORM GENERATE_CONTROL_RECORD .
      S_CTRL_REC-RCVPOR = C_RCVPOR. "Receiver Port
      S_CTRL_REC-MESTYP = C_MESTYP. "Message type
      S_CTRL_REC-IDOCTP = C_IDOCTP. "Basic IDOC type
      S_CTRL_REC-RCVPRT = C_RCVPRT. "Partner type of receiver
      S_CTRL_REC-SNDPOR = C_SNDPOR. "SENDER PORT
      S_CTRL_REC-RCVPRN = C_LOGSYS. "Partner number of receiver
      S_CTRL_REC-SNDPRT = C_SNDPRT. "Sender Partner type
      S_CTRL_REC-SNDPRN = C_SNDPRN. "Sender Partner Number
    APPEND S_CTRL_REC.
    ENDFORM.                    " generate_control_record
    *&      Form  send_idoc
    FORM SEND_IDOC.
    ZORDER-ORDER_NO = ORDER_NO.
    ZORDER-PRODUCT = PRODUCT.
    ZORDER-QUANTITY = QUANTITY.
    APPEND ZORDER.
    T_EDIDD-SEGNAM = C_ZRZSEG1.
    T_EDIDD-SDATA = ZORDER.
    APPEND T_EDIDD.
      CALL FUNCTION 'MASTER_IDOC_DISTRIBUTE'
        EXPORTING
          MASTER_IDOC_CONTROL            = S_CTRL_REC
        TABLES
          COMMUNICATION_IDOC_CONTROL     = T_COMM_IDOC
          MASTER_IDOC_DATA               = T_EDIDD
        EXCEPTIONS
          ERROR_IN_IDOC_CONTROL          = 1
          ERROR_WRITING_IDOC_STATUS      = 2
          ERROR_IN_IDOC_DATA             = 3
          SENDING_LOGICAL_SYSTEM_UNKNOWN = 4
          OTHERS                         = 5.
      IF SY-SUBRC <> 0.
        MESSAGE ID SY-MSGID TYPE SY-MSGTY NUMBER SY-MSGNO
                WITH SY-MSGV1 SY-MSGV2 SY-MSGV3 SY-MSGV4.
      ELSE.
        COMMIT WORK.
        LOOP AT T_COMM_IDOC.
          WRITE:/ 'IDoc Generated - ', T_COMM_IDOC-DOCNUM.
        ENDLOOP.
      ENDIF.
    ENDFORM.                    " send_idoc
    I hav created segment , basic type,message typealso and release also .I also linked them.
    Plz help me.
    Hemlata

    Hi Hemalatha,
    Just call this Progream RSEOUT00 from your Zprogram and pass the basic parameters like IDOC number, Basic type,Partner number etc.
    You can check the parameters by executing the Program RSEOUT00.
    This Program will change the status of your IDOC 30 to 03.
    Thanks.
    Note:Reward Points if you find useful.

  • How to call a idoc in abap program and updates catsdb table

    how to call a idoc in abap program and updates catsdb table
    thank you,
    Jagrut BharatKumar Shukla

    Hi Kishan,
    You can refer to following help document,
    http://help.sap.com/saphelp_nw04/helpdata/en/bf/d005244e9d1d4d92b2fe7935556b4c/content.htm
    Regards,
    Meera

  • Error in number range while testing inbound idoc via we19

    hi all,
    i have done all configurations but while testing the inbound idoc via we19 i am getting an error 'error in assigning number to idoc'..i checked and found that the number range object for idoc is edidoc in it number interval is defined from 1 to 99
    i dont think that anything is wrong with the number object..
    Can u tell me how dow i eliminate this error?

    Increase Higher limit the reason is when you look at current idoc number ( This idoc number already exists ) ,it will not create new idoc number.
    System will get the number from SNRO Based on IDOC Object.
    Just look at EDIDC and see the current idoc number.
    Simple example :
    I have one number - 100 ,it is already exists in database,if i insert same record to the database ,did system will accept ?
    Thanks
    Seshu

  • Selecting (and resizing, for example) a layer under the top layer via the Program Monitor

    Hello all.
    Using CS5
    I am in the timeline and have selected layer 1 which is a video layer
    Layer 2 is a title layer.
    I want to manually resize layer 1, via the Program Monitor.
    But when I go to the Program Monitor and select it Layer 2 (the title layer) becomes selected, preventing me from selecting and manually resizing/repositioning Layer 1.
    The above example is a simplified version of what I usually find myself doing.  Usually I have many layers above a layer that I want to resize or reposition (or do something else) but when I try to resize or repositon via the program monitor I am only able to manipulate the top layer.
    Any suggestions, other than locking every layer other than what I want to resize etc .?
    Thanks
    Rowby

    Hi Bill,
    No they are separate orginal tracks. 
    Is there a way to "select" a layer below the top layer via the Progam Monitor -- and perform modifications on that lower level -- such a manually resizing on the Program Monitor.  I find if I want to do it via the Program  Monitor I have to temporarily lock the top layer.
    And if I have lots of layers above the layer I want to manually resize, I have to lock all of the layers above that layer so I don't start moving around (for example a title layer which might be the top layer of the sequence) in order to manually resize via the Program Monitor.
    I know (for example) in the case of scaling or repositioning a layer I could do it via the effects control panel, but I often want to do it via the Program Monitor.
    Rowby

  • How to create batch job via a program

    hi
    i need to know how to create batch job via a program please suggest
    arora

    Wow!
    > Total Questions:  234 (138 unresolved) 
    ...and now you ask this?
    Please accept our apologies for not pointing out to you way-back-when already that there is a search functionality here at SDN and that the correct forum should be used to post questions to.
    Please read "the rules" at the top of the forum page, and search first => ask questions later.
    I take the liberty of closing your question for you.
    Kind regards,
    Julius

  • Send a mail via ABAP program

    Hello Experts,
    I want to send mail via ABAP program with the following requirements :
    1. Recipient is OUTLOOK email -id
    2. Sender address has to be an external email-id
    3. Send mail as CC and BCC also to other email-id.
    Is there any function module which can satisfy all the above requirements.
    Regards,
    Mansi.

    hi,
    this code will definately help you just go through it:
    firstly  exported the data to memory using the FM LIST_FROM_MEMORY.
    CALL FUNCTION 'LIST_FROM_MEMORY'
    TABLES
    listobject = t_listobject
    EXCEPTIONS
    not_found = 1
    OTHERS = 2.
    IF sy-subrc 0.
    MESSAGE e000(su) WITH text-001.
    ENDIF.
    then i converted it into ASCII using LIST_TO_ASCI,
    CALL FUNCTION 'LIST_TO_ASCI'
    TABLES
    listasci = t_xlstab
    listobject = t_listobject
    EXCEPTIONS
    empty_list = 1
    list_index_invalid = 2
    OTHERS = 3.
    IF sy-subrc NE 0.
    MESSAGE e003(yuksdbfzs).
    ENDIF.
    This gives the data in ASCII format separated by '|' and the header has '-', dashes. If you use this internal table directly without any proccesing in SO_NEW_DOCUMENT_ATT_SEND_API1, then you will not get a good excel sheet attachment. To overcome this limitation, i used cl_abap_char_utilities=>newline and cl_abap_char_utilities=>horizontal_tab to add horizontal and vertical tabs to the internal table, replacing all occurences of '|' with
    cl_abap_char_utilities=>horizontal_tab.
    Set the doc_type as 'XLS', create the body and header using the packing_list and pass the data to be downloaded to SO_NEW_DOCUMENT_ATT_SEND_API1 as contents_bin.
    This will create an excel attachment.
    Sample code for formatting the data for the attachment in excel format.
    u2022     Format the data for excel file download
    LOOP AT t_xlstab INTO wa_xlstab .
    DESCRIBE TABLE t_xlstab LINES lw_cnt.
    CLEAR lw_sytabix.
    lw_sytabix = sy-tabix.
    u2022     If not new line then replace '|' by tabs
    IF NOT wa_xlstab EQ cl_abap_char_utilities=>newline.
    REPLACE ALL OCCURRENCES OF '|' IN wa_xlstab
    WITH cl_abap_char_utilities=>horizontal_tab.
    MODIFY t_xlstab FROM wa_xlstab .
    CLEAR wa_xlstab.
    wa_xlstab = cl_abap_char_utilities=>newline.
    IF lw_cnt NE 0 .
    lw_sytabix = lw_sytabix + 1.
    u2022     Insert new line for the excel data
    INSERT wa_xlstab INTO t_xlstab INDEX lw_sytabix.
    lw_cnt = lw_cnt - 1.
    ENDIF.
    CLEAR wa_xlstab.
    ENDIF.
    ENDLOOP.
    Sample code for creating attachment and sending mail:
    FORM send_mail .
    u2022     Define the attachment format
    lw_doc_type = 'XLS'.
    u2022     Create the document which is to be sent
    lwa_doc_chng-obj_name = 'List'.
    lwa_doc_chng-obj_descr = w_subject. "Subject
    lwa_doc_chng-obj_langu = sy-langu.
    u2022     Fill the document data and get size of message
    LOOP AT t_message.
    lt_objtxt = t_message-line.
    APPEND lt_objtxt.
    ENDLOOP.
    DESCRIBE TABLE lt_objtxt LINES lw_tab_lines.
    IF lw_tab_lines GT 0.
    READ TABLE lt_objtxt INDEX lw_tab_lines.
    lwa_doc_chng-doc_size = ( lw_tab_lines - 1 ) * 255 + STRLEN( lt_objtxt ).
    lwa_doc_chng-obj_langu = sy-langu.
    lwa_doc_chng-sensitivty = 'F'.
    ELSE.
    lwa_doc_chng-doc_size = 0.
    ENDIF.
    u2022     Fill Packing List For the body of e-mail
    lt_packing_list-head_start = 1.
    lt_packing_list-head_num = 0.
    lt_packing_list-body_start = 1.
    lt_packing_list-body_num = lw_tab_lines.
    lt_packing_list-doc_type = 'RAW'.
    APPEND lt_packing_list.
    u2022     Create the attachment (the list itself)
    DESCRIBE TABLE t_xlstab LINES lw_tab_lines.
    u2022     Fill the fields of the packing_list for creating the attachment:
    lt_packing_list-transf_bin = 'X'.
    lt_packing_list-head_start = 1.
    lt_packing_list-head_num = 0.
    lt_packing_list-body_start = 1.
    lt_packing_list-body_num = lw_tab_lines.
    lt_packing_list-doc_type = lw_doc_type.
    lt_packing_list-obj_name = 'Attach'.
    lt_packing_list-obj_descr = w_docdesc.
    lt_packing_list-doc_size = lw_tab_lines * 255.
    APPEND lt_packing_list.
    u2022     Fill the mail recipient list
    lt_reclist-rec_type = 'U'.
    LOOP AT t_recipient_list.
    lt_reclist-receiver = t_recipient_list-address.
    APPEND lt_reclist.
    ENDLOOP.
    u2022     Finally send E-Mail
    CALL FUNCTION 'SO_NEW_DOCUMENT_ATT_SEND_API1'
    EXPORTING
    document_data = lwa_doc_chng
    put_in_outbox = 'X'
    commit_work = 'X'
    IMPORTING
    sent_to_all = lw_sent_to_all
    TABLES
    packing_list = lt_packing_list
    object_header = lt_objhead
    contents_bin = t_xlstab
    contents_txt = lt_objtxt
    receivers = lt_reclist
    EXCEPTIONS
    too_many_receivers = 1
    document_not_sent = 2
    document_type_not_exist = 3
    operation_no_authorization = 4
    parameter_error = 5
    x_error = 6
    enqueue_error = 7
    OTHERS = 8.
    Hope it will help you
    regards
    Rahul sharma

  • Sending IDocs via RFC Adapter

    Hello!
    In an itegration scenario, we need to send (non XML) IDocs via RFC to a remote R/3 system (4.6C). As we don't want to get these IDocs persisted on the target system, it's intended to address the remote functions directly.
    Now the problem:
    - RFC Adapter only works with XML IDocs (so we cannot transfrom back to native IDoc)
    - IDoc-Adapter sends native IDocs, but only to IDOC_INBOUND_ASYNCHRONOUS on target system (and the Idocs will be persisted)
    In a next step, we also tried to implement a workaround with a local ABAP proxy on the XI system. But it seems, that it's not allowed to call a abap proxy locally on the integration engine.
    Has anybody any idea to solve this problem? Maybe I'm thinking too complicated Help is highly appreciated!
    Cheers,
    Matthias

    Hi,
    what kind of document you want to post?
    most (many) IDOCs use BAPIs so you can
    just call the BAPI (RFC) from XI
    >>>But it seems, that it's not allowed to call a abap proxy locally on the integration engine.
    you can call it on another client on the XI
    (which is set as application system in SXMB_ADM)
    Regards,
    michal

  • IDOC for Batch Master Conversion

    Hi,
    Is there any IDOC for Batch Master Conversion (Transaction : MSC2N) ?
    The data being maintained is in Basic data 1 and classification tabs.
    Regards,
    Esha Raj

    Hello,
    I faced the problem with BATMAS03.  When drilling down to F'tn BAPI_BATCH_SAVE_REPLICA I could that one and similar BATMAS03 get to work with filling following set of fields.  Adapt of course the values to you're system.
    BAPIBATCH_SAVE_REPLICA_
    MATERIAL = 000000000000033001
    BATCH = 12543872
    PLANT = D010
    CLASSALLOCATIONS
    CLASS_TYPE 023
    OBJECTKEY 00000000000003300112543872 (in our case MATNR&BATCH combination, dependend on system setting Plant could also be needed)
    CLASSNUM FROZEN_FINISHED (Classification Class)
    OBJECTTABLE MCH1
    CLASSVALUATIONSCHAR
    CLASS_TYPE 023
    OBJECTKEY 00000000000003300112543872
    OBJECTTABLE MCH1
    CHARACT LOBM_ZUSTD
    VALUE_CHAR X
    This works now fine and similar for the BATMAS IDOC
    Hope this is helpfull for you.
    Dirk

  • Flat-Idocs via the IDOC-adapter

    Hi All,
    I want to send a flat-IDOC via the IDOC Adapter to a SAP R/3 system. The IDOC adapter does not accept flat-IDOC, but wants xml-IDOC. Does anyone know how to send this flat-IDOC to the SAP R/3 via ALE, but without XML-lizing the IDOC?
    I am looking in to the principle of tunneling, but that will involve some ABAP coding.
    Cheers,
    Frank

    Hi Bhavesh,
    I tried, but the IDOC adapter wants XML. The receiver IDOC adapter checks the type of the payload and determines if IDOC tunneling is used or not. I don't know yet how to change the type of the payload:
    <i>method CL_IDX_IDOC_SERVICE-GET_PAYLOAD, part of package SIDOC_ADAPTER
    test if idoc is in tunnel-payload-format
        l_content_type = l_payload->getcontenttype( ).
        IF l_content_type = if_xms_resource=>mimetype_idoc.
          l_idoc_resource ?= l_payload->getdata( ).
          l_tunnel_flag    = 'X'.
        ELSE.</i>
    and with tunneling the idoc must be stored in certain tables where the receiver idoc adapter will get the IDOC instead of the payload. And our flat-idoc is in the actual payload. So the direction I am looking into is an abap mapping, which will change the payload type and stores the flat idoc in these tables, so the idoc adapter is "fooled" to believe it is IDOC tunneling.
    Cheers,
    Frank

  • RSEXARCD: Idoc archiving deletion program issues

    Hi,
    I have two queries:
    1. The Idoc archive deletion program, RSEXARCD, when executed in background, terminates when there are no archive files to process (as seen in SARA). How can we prevent this? Our deletion jobs are scheduled weekly, but sometimes there are no archive files created from the archive write program RSEXARCA.
    2. Secondly, how can we process multiple archive files using this program RSEXARCD in background? Currently, it processes only one archive file at a time and takes up the oldest unprocessed archive file. Also, would like to know how it gets this information of the oldest unprocessed archive file?
    Thanks.

    if a program terminates, then you should look into the dump to see the root cause and follow the instructions. e.g. search for OSS notes with the metioned terms
    I just searched with the terms "archiving idocs termination" and found 12 notes with program fixes.
    Further, the program names you mentioned are not the most recent programs.
    Have a look into OSS note Note 582828 - IDoc archiving: Standardization
    maybe you will not have your problems anymore if you use the new programs

  • Sending MATMAS05 IDOC via XML-HTTP Interface (without XI)

    Dear all,
    I have to send the MATMAS05 IDOC via XML-SOAP-HTTP Interface to a subsystem. Sending works (the sub-system receives the SOAP-Request with the MATMAS05 as Body). So far so good. Now the SAP System is waiting for an answer (synchronous communication). How should this answer look like?
    We receive the Error EA390 "Problem with SOAP Class" - execute_processing: entry result table
    Can anybody give me a hint how the response should look like.
    Many thanks and best regards
    Roman

    Hello Sven,
    we find a solution. As far as I remember, there is a flag to send without waiting for answer (or technical better to not rely on SOAP standard).
    Look in WE21 and the XML_HTTP Port you use. Uncheck the "SOAP Protocol" flag. Then it should work.
    HTH and Best regards
    Roman

Maybe you are looking for