IDoc Status "& & & &" in IDoc posting in BD87 - ALE

hi,
I am integrating two R3 servers and posting the datas from HR to cProjects server.
In Outbound I can send the IDocs and In Inbound IDocs are getting into destinations (cProjects) servers along with status "& & & &" in BD87.
Can anyone help me to know..Where the cause of problem..
Thanks in advance
Regards,
Srinivasan.R

Hi.,
In we02 its OK..
Its showing ...
Status Message for Selected IDoc                                                               
Status Text:   IDoc: 0000000000036306 Status: IDoc ready to be transferred to application       
T100 Text:     No filters , No conversion , No version change .                                 
But., in place of BD87 I am getting status only "& &, &, &".
Regards,
Srinivasan.R

Similar Messages

  • ALE-IDOCS posting

    Hi,
    How to do the inbound data transfer using ale-idocs..
    In hr i am getting errors  plz help me.

    Hi ,
    the thing is ,  data will transfer either outbound and inbound by using the idocs. outbound means sending some information to another system it may be version to version and client to client.
    inbound means receving the data.
    Basically we have some procedure to send an idoc.
    Phase 1 : ALE settings
    Phase 2 : Idoc Creation
    Phase 3 : Code develpment
    Now i am going to first phase..
       Process :
        SALE is the tranx code where we defined the logical systems and assign them.
       here we defined both inbound and outbound system.
       then define RFC destination by using Tranx code : SM59
       define the partner profiles and port using tranx WE21 and WE20
       define the CDM ,Customer distribution model , BD64 , enter the message type and logical system for both (inbound and outbound )
        Note " in distributin model we can defined the filtering and field conversions ..
    Once we finished these settings sucessfully then moves to phase 2.
      Idoc creation :
       creation of segments using tranx code : WE31
       creation of idoc   using tranx code : WE30
        creation of message type : we80 and we81.
    Phase 3 :
    we can use in three ways to develp the code, 
    standard alone program and message control and change control..
    Reg,
    Rupa

  • What triggers idoc posting in outbound message from sap ?

    Do change or create events can be used to trigger Posting to IDOC? Have any body used idoc for outbound message sending from SAP?

    Hi Reddy,
    Posting IDoc Packets
    Two groups of function modules are used to post IDocs:
    · Function modules which process IDocs in mass. These transfer packets of IDocs for which individual IDocs are updated in the same Logical Unit of Work (LUW).
    · Function modules which process one IDoc per call.
    · INPUTTYP contains the code for posting function modules.
    To display the function module's INPUTTYP on the ALE Development screen, choose IDoc ® Inbound Processing ® Function Module® Maintain Attributes (BD51).
    INPUTTYP can contain the following values:
    · "0", for function modules which process IDocs in packets.
    "1" and "2" for function modules which process one IDoc per call:
    If you post the IDocs immediately, the SAP sending system determines the packet size. ALE inbound processing can recognize if the posting function module allows packet processing and if so, passes the IDoc packet to it. If not, the IDoc packet is split into individual IDocs.
    If IDocs are posted in the background, you can specify the size of the IDocs to be generated in the program RBDAPP01.
    If you use function modules that can process IDocs in mass, the database load is reduced.
    If you group IDocs into packets, this may also be practical for function modules that post inbound IDocs one at a time, because the ALE layer calls the function module several times in the same dialog process, thereby reducing the administrative load on the SAP system.
    If program RBDAPP01 carries out the background processing, as a guide, you should use a packet size of between 20 and 100 IDocs.
    Packet processing and parallelism complement one another. Packet processing and parallelism complement each other, although in some situations they may compete with each other. If the size of the packet is too big, this may mean that not all the available dialog processes are being used.
    Scheduling IDoc Posting  
    There are two ways of posting IDocs in ALE inbound processing:
    ·        Immediate processing:
    Upon receipt inbound IDocs are immediately released for posting. ALE inbound processing splits the IDoc packets into individual IDocs.
    ·        Background processing
    Inbound IDocs and IDoc packets are first saved in the database. IDoc packets are split into single IDocs beforehand.
    The program RBDAPP01 later releases the saved IDocs for processing. Single IDocs can be put into packets and then processed.
    Perform the following steps:
    1.       Set-up background processing (IDoc/ALE area menu):
    IDoc Interface/ALE ® Administration ® Runtime Settings ® Partner Profiles (WE20)
    Then the required setting is: In the detail screen Inbound Parameters select the option Trigger by background program.
    2.       Schedule posting (ALE customizing):
    Transaction SALE ® Set-Up System Monitoring ®
             Posting IDocs in Recipient System ®Schedule
    You can also process the IDocs manually by passing them to the posting function module.  In ALE Administration choose Monitoring ®Status Monitor (BD87), select the IDocs and then select Process.
    Regards,
    Kumar.

  • IDoc ready for dispatch (ALE service)

    Hello All,
    My IDoc gets generated with the status 30: IDoc ready for dispatch (ALE service).
    I want to trigger the IDoc automatically [status 03 (Data passed to port) and the signal light displayed to Green colour.]
    Also, I checked the partner profile (WE20). In the outbound parameters, I went to the appropriate message type & there the output mode is set to 2 (send immediately).
    Please let me know if there is any configuration setting that I need to check.
    Thanks & Regards,
    Saurabh Buksh

    Hello,
    could you please check whether there is any process or program that is locking the status of the idoc you are trying to process via BD87?
    Once I got the same error and I solved by just closing up a report (RC1_IDOC_SET_STATUS) that i was using in order to change the idoc status.
    Regards
    Antonio

  • Inbound IDOC Posting

    I am developing a function module in ECC that will be used to post inbound IDOC for customer creation DEBMAS07
    The logic is as follows -
    The function receives an IDOC structure
    It then invokes function module 'IDOC_INPUT_DEBITOR'
    IDOC_INPUT_DEBITOR takes care of creating a new customer in table KNA1. But I was expecting IDOC_INPUT_DEBITOR to also handle the IDOC posting. This way I can go to WE02 and see a new IDOC record. What am I missing? Is there some more code I need to write after the function module call?
    Thank you.
    * IDOC structures for using ALE
         data       lc_no_display         type bdwfap_par-inputmethd value ' '.
         data       lt_idoc_control       type standard table of edidc.
         data       ls_idoc_control       type edidc.
         data       lt_idoc_data          type standard table of edidd.
         data       lt_idoc_data_knvi     type standard table of edidd.
         data       lt_idoc_status        type standard table of bdidocstat.
         data       ls_idoc_status        type bdidocstat.
         data       lt_return_variables   type standard table of bdwfretvar.
         data       lt_serialization_info type standard table of bdi_ser.
         data       lv_workflow_result    type bdwf_param-result.
         data       pi_idoctyp            type edi_iapi00-idoctyp.
         data       pt_segments           type standard table of edi_iapi11.
         data       lw_segments           type edi_iapi11.
         data       ls_idoc_data          type edidd.
         data       ls_e1kna1m            type  zdebmas07_e1kna1m.
         data       e1kna1m               type e1kna1m.
    *** CONTROL DATA
         ls_idoc_control-mandt  = input-idoc-edi_dc40-mandt.
         ls_idoc_control-status = input-idoc-edi_dc40-status.
         ls_idoc_control-doctyp = input-idoc-edi_dc40-idoctyp.
         ls_idoc_control-direct = input-idoc-edi_dc40-outmod.
         ls_idoc_control-rcvprt = input-idoc-edi_dc40-rcvprt.
         ls_idoc_control-rcvprn = input-idoc-edi_dc40-rcvprn.
         ls_idoc_control-stdmes = input-idoc-edi_dc40-stdmes.
         ls_idoc_control-outmod = input-idoc-edi_dc40-outmod.
         ls_idoc_control-sndpor = input-idoc-edi_dc40-sndpor.
         ls_idoc_control-sndprt = input-idoc-edi_dc40-sndprt.
         ls_idoc_control-sndprn = input-idoc-edi_dc40-sndprn.
         ls_idoc_control-mestyp = input-idoc-edi_dc40-mestyp.
         ls_idoc_control-idoctp = input-idoc-edi_dc40-idoctyp.
         append ls_idoc_control to lt_idoc_control.
    *** READ SEGMENTS
         pi_idoctyp = ls_idoc_control-idoctp.
         call function 'IDOCTYPE_READ_COMPLETE'
           exporting
             pi_idoctyp         = pi_idoctyp
           tables
             pt_segments        = pt_segments
           exceptions
             object_unknown     = 1
             segment_unknown    = 2
             relation_not_found = 3
             others             = 4.
         loop at pt_segments into lw_segments.
           case lw_segments-segmenttyp.
             when 'E1KNA1M'.
               ls_idoc_data-segnam = 'E1KNA1M'.
               ls_idoc_data-mandt  = sy-mandt.
               ls_idoc_data-segnum = lw_segments-nr.
               ls_idoc_data-psgnum = lw_segments-parpno.
               ls_e1kna1m          = input-idoc-e1kna1m.
               move-corresponding ls_e1kna1m to e1kna1m.
               move e1kna1m to ls_idoc_data-sdata.
               append ls_idoc_data to lt_idoc_data.
               exit.
           endcase.
         endloop.
    *** IDOC INPUT CALL FUNCTION
         data: response type zsi_create_customer_is_res_tab.
         data: response_lwa type zsi_create_customer_is_respons.
         data: lwa_error_message type string.
         call function 'IDOC_INPUT_DEBITOR'
           exporting
             input_method          = lc_no_display
             mass_processing       = space
           importing
             workflow_result       = lv_workflow_result
           tables
             idoc_contrl           = lt_idoc_control
             idoc_data             = lt_idoc_data
             idoc_status           = lt_idoc_status
             return_variables      = lt_return_variables
             serialization_info    = lt_serialization_info
           exceptions
             wrong_function_called = 1
    others                = 2.

    Hello Megan,
    Check with the function modules
    EDI_DATA_INCOMING
    IDOC_WRITE_AND_START_INBOUND
    Program:
    RBDAPP01
    I guess this would answer your query.
    Regards,
    TP

  • Debugging customized function module when Idoc is triggered via ALE

    Hi,
    Whenever we save the billing document, an outbound idoc is triggered via ALE. The logic for the data to be included in the idoc is written in a customized function module.
    However we are making some changes and would like to include some more data in the idoc. But we find that when we put a breakpoint in the function module, on saving the billing document, the flow does not stop at the break point. We are 100% sure that the code in the function module gets executed based on the data in the idoc.
    How do we get into debug mode and break the flow in the function module so that we can debug in the function module?
    Any help would be greatly appreciated.
    Thanks in advance,
    Mick

    Hi Mick, this might be of some help 4 u.
    ALE IDOC
    Sending System(Outbound ALE Process)
    Tcode SALE - for
    a) Define Logical System
    b) Assign Client to Logical System
    Tcode SM59-RFC Destination
    Tcode BD64 - Create Model View
    Tcode BD82 - Generate partner Profiles & Create Ports
    Tcode BD64 - Distribute the Model view
    Message Type MATMAS
    Tcode BD10 - Send Material Data
    Tcode WE05 - Idoc List for watching any Errors
    Receiving System(Inbound ALE )
    Tcode SALE - for
    a) Define Logical System
    b) Assign Client to Logical System
    Tcode SM59-RFC Destination
    Tcode BD64 - Check for Model view whether it has distributed or not
    Tcode BD82 -- Generate partner Profiles & Create Ports
    Tcode BD11 Getting Material Data
    Tcode WE05 - Idoc List for inbound status codes
    ALE IDOC Steps
    Sending System(Outbound ALE Process)
    Tcode SALE ?3 for
    a) Define Logical System
    b) Assign Client to Logical System
    Tcode SM59-RFC Destination
    Tcode BD64 - Create Model View
    Tcode BD82 - Generate partner Profiles & Create Ports
    Tcode BD64 - Distribute the Model view
    This is Receiving system Settings
    Receiving System(Inbound ALE )
    Tcode SALE - for
    a) Define Logical System
    b) Assign Client to Logical System
    Tcode SM59-RFC Destination
    Tcode BD64 - Check for Model view whether it has distributed or not
    Tcode BD82 -- Generate partner Profiles & Create Ports
    Tcode BD11 Getting Material Data
    Tcode WE05 - Idoc List for inbound status codes
    Message Type MATMAS
    Tcode BD10 - Send Material Data
    Tcode WE05 - Idoc List for watching any Errors
    1)a Goto Tcode SALE
    Click on Sending & Receiving Systems-->Select Logical Systems
    Here Define Logical Systems---> Click on Execute Button
    go for new entries
    1) System Name : ERP000
    Description : Sending System
    2) System Name : ERP800
    Description : Receiving System
    press Enter & Save
    it will ask Request
    if you want new request create new Request orpress continue for transfering the objects
    B) goto Tcode SALE
    Select Assign Client to Logical Systems-->Execute
    000--> Double click on this
    Give the following Information
    Client : ERP 000
    City :
    Logical System
    Currency
    Client role
    Save this Data
    Step 2) For RFC Creation
    Goto Tcode SM59-->Select R/3 Connects
    Click on Create Button
    RFC Destination Name should be same as partner's logical system name and case sensitive to create the ports automatically while generating the partner profiles
    give the information for required fields
    RFC Destination : ERP800
    Connection type: 3
    Description
    Target Host : ERP000
    System No:000
    lan : EN
    Client : 800
    User : Login User Name
    Password:
    save this & Test it & RemortLogin
    3)
    Goto Tcode BD64 -- click on Change mode button
    click on create moduleview
    short text : xxxxxxxxxxxxxx
    Technical Neme : MODEL_ALV
    save this & Press ok
    select your just created modelview Name :'MODEL_ALV'.
    goto add message type
    Model Name : MODEL_ALV
    sender : ERP000
    Receiver : ERP800
    Message type :MATMAS
    save & Press Enter
    4) Goto Tcode BD82
    Give Model View : MODEL_ALV
    Partner system : ERP800
    execute this by press F8 Button
    it will gives you sending system port No :A000000015(Like)
    5) Goto Tcode BD64
    seelct the modelview
    goto >edit>modelview-->distribute
    press ok & Press enter
    6)goto Tcode : BD10 for Material sending
    Material : mat_001
    Message Type : MATMAS
    Logical System : ERP800
    and Execute
    7)goto Tcode : BD11 for Material Receiving
    Material : mat_001
    Message Type : MATMAS
    and Execute --> 1 request idoc created for message type Matmas
    press enter
    Here Master Idoc set for Messge type MATMAS-->press Enter
    1 Communication Idoc generated for Message Type
    this is your IDOC
    Change Pointers
    I know how to change the description of a material using ALE Change Pointers.
    I will give the following few steps
    1) Tcode BD61---> check the change pointers activated check box
    save and goback.
    2) Tcode BD50---> check the MATMAS check box save and comeback.
    3) Tcode BD51---> goto IDOC_INPUT_MATMAS01 select the checkbox save and comeback.
    4) Tcode BD52---> give message type : matmas press ok button.
    select all what ever you want and delete remaining fields.
    save & come back.
    5) 5) go to Tcode MM02 select one material and try to change the description and save it
    it will effects the target systems material desciption will also changes
    6) goto Tcode SE38 give program Name is : RBDMIDOC and Execute
    give Message type : MATMAS and Executte
    ALE/IDOC Status Codes/Messages
    01 Error --> Idoc Added
    30 Error --> Idoc ready for dispatch(ALE Service)
    then goto SE38 --> Execute the Program RBDMIDOC
    29 Error --> ALE Service Layer
    then goto SE38 --> Execute the Program RSEOUT00
    03 Error --> Data Passed to Port ok
    then goto SE38 --> Execute the Program RBDMOIND
    12 Error --> Dispatch ok
    Inbound Status Codes
    50 Error --> It will go for ALE Service Layer
    56 Error --> Idoc with Errors added
    51 Error --> Application Document not posted
    65 Error --> Error in ALE Service Layer
    for 51 or 56 Errors do the following steps
    goto WE19 > give the IDOC Number and Execute>
    Press on Inbound function Module
    for 65 Error --> goto SE38 --> Execute the Program RBDAPP01 then your getting 51 Error
    cheers,
    Hema.

  • Issue in Idoc Posting

    Hi Guru's,
    I am facing an issue during the consumption values upload in forecasting view thru LSMW (BAPI) with Idoc, issue is that at the end of the upload i am getting status of Idoc posting is 53 which is Application Document Posted, but i found some of the the materials for which consumption values were not uploaded but Idoc posting status is showing 53 and getting massage:Material number XYZ1234 in version  already exists.
    Kindly give ur expert opinion on the above mentioned issue.
    With Regards.

    A little clarification might help you...  explain 'BOX'.  Do you mean an SAP Instance?  SAP Instance/Client?  Or ??

  • Inbound IDoc Posting Function Module

    Give me an example of   how to write "Inbound IDoc Posting Function Module".
    In my IDOC i have 10 segments each containing 1 field.
    How do i create the Inbound IDoc Posting Function Module ??
    Is the following code correct ??
    FUNCTION ZIDOC_INBOUND.
    ""Local interface:
    *"  IMPORTING
    *"     VALUE(INPUT_METHOD) LIKE  BDWFAP_PAR-INPUTMETHD
    *"     VALUE(MASS_PROCESSING) LIKE  BDWFAP_PAR-MASS_PROC
    *"  EXPORTING
    *"     VALUE(WORKFLOW_RESULT) LIKE  BDWFAP_PAR-RESULT
    *"     VALUE(APPLICATION_VARIABLE) LIKE  BDWFAP_PAR-APPL_VAR
    *"     VALUE(IN_UPDATE_TASK) LIKE  BDWFAP_PAR-UPDATETASK
    *"     VALUE(CALL_TRANSACTION_DONE) LIKE  BDWFAP_PAR-CALLTRANS
    *"  TABLES
    *"      IDOC_CONTRL STRUCTURE  EDIDC
    *"      IDOC_DATA STRUCTURE  EDIDD
    *"      IDOC_STATUS STRUCTURE  BDIDOCSTAT
    *"      RETURN_VARIABLES STRUCTURE  BDWFRETVAR
    *"      SERIALIZATION_INFO STRUCTURE  BDI_SER
    *"  EXCEPTIONS
    *"      WRONG_FUNCTION_CALLED
    *DATABASE TABLES
    TABLES:LIKPUK.
    *DATA DECLARATIONS
        DATA: SALES_ORDER_NUM             LIKE Z1VBELN.
        DATA: DEL_TYPE                    LIKE Z1LFART.
        DATA: ACTUAL_GOODS_MOVEMENT_DATE  LIKE Z1WADAT_IST.
        DATA: SHIPPING_POINT              LIKE Z1VSTEL.
        DATA: LOADING_POINT               LIKE Z1LSTEL.
        DATA: ROUTE_PGI                   LIKE Z1ROUTE.
        DATA: PICK_DATA                   LIKE Z1KODAT.
        DATA: CUST_NO                     LIKE Z1KUNNR.
        DATA: LOCAL_DATE                  LIKE Z1STDAT.
        DATA: TOTAL_GOOD_MOV              LIKE Z1WBSTK.
    *INTERNAL TABLE DECLARATION
    DATA:
    IT_LIKP LIKE LIKPUK OCCURS 0 WITH HEADER LINE.
    INITIALIZE WORK FLOW
        WORK_RESULT = C_WF_RESULT_OK.
         LOOP AT IDOC_CONTRL.
    MAKE SURE WE HAVE CORRECT MESSAGE TYPE PASSED.
         IF IDOC_CONTRL-MESTYP NE 'Z_IDOC_PGI'.
         RAISE WRONG_FUNCTION_CALLED.
         ENDIF.
    CLEAR APPLICATION BUFFERS BEFORE READING NEW ENTRY
        CLEAR :IT_LIKP.
      REFRESH IT_LIKP.
    *PROCESS ALL THE DATA RECORDS IN AN IDOC AND TRANSFER THEM TO
    *APPLICATION BUFFERS
    INCLUDE MBDCONWF.
    LOOP AT IDOC_DATA WHERE DOCNUM EQ idoc_contrl-docnum.
    CASE IDOC_DATA-SEGNAM.
    WHEN'Z1VBELN'.
       SALES_ORDER_NUM  =    IDOC_DATA-SDATA.
       MOVE-CORRESPONDING SALES_ORDER_NUM TO IT_LIKP.
    WHEN 'Z1LFART'.
       DEL_TYPE    = IDOC_DATA-SDATA.
       MOVE-CORRESPONDING DEL_TYPE TO IT_LIKP.
    WHEN 'Z1WADAT_IST'.
       ACTUAL_GOODS_MOVEMENT_DATE    = IDOC_DATA-SDATA.
       MOVE-CORRESPONDING ACTUAL_GOODS_MOVEMENT_DATE TO IT_LIKP.
    WHEN 'Z1VSTEL'.
       SHIPPING_POINT    = IDOC_DATA-SDATA.
       MOVE-CORRESPONDING SHIPPING_POINT TO IT_LIKP.
    WHEN 'Z1LSTEL'.
       LOADING_POINT   = IDOC_DATA-SDATA.
       MOVE-CORRESPONDING LOADING_POINT TO IT_LIKP.
    WHEN 'Z1ROUTE'.
       ROUTE_PGI    = IDOC_DATA-SDATA.
       MOVE-CORRESPONDING ROUTE_PGI TO IT_LIKP.
    WHEN 'Z1KODAT'.
       PICK_DATA =   IDOC_DATA-SDATA.
       MOVE-CORRESPONDING PICK_DATA TO IT_LIKP.
    WHEN'Z1KUNNR'.
       CUST_NO  =   IDOC_DATA-SDATA.
       MOVE-CORRESPONDING CUST_NO TO IT_LIKP.
    WHEN'Z1STDAT'.
       LOCAL_DATE  =   IDOC_DATA-SDATA.
       MOVE-CORRESPONDING LOCAL_DATE TO IT_LIKP.
    WHEN'Z1WBSTK'.
       TOTAL_GOOD_MOV  =   IDOC_DATA-SDATA.
       MOVE-CORRESPONDING TOTAL_GOOD_MOV TO IT_LIKP.
    ENDCASE.
    ENDLOOP.
    selecting data from the database
    select * from likp into corresponding fields of table it_likp.
    add status record
        IF SY-SUBRC EQ 0.
          IDOC_STATUS-DOCNUM = IDOC_CONTRL-DOCNUM.
          IDOC_STATUS-STATUS = '53'.
          IDOC_STATUS-MSGTY = 'I'.
          IDOC_STATUS-MSGID = 'YM'.
          IDOC_STATUS-MSGNO = '004'.
          IDOC_STATUS-MSGV1 = it_likp-VBELN.
          APPEND IDOC_STATUS.
          CLEAR IDOC_STATUS.
        ELSE.
          IDOC_STATUS-DOCNUM = IDOC_CONTRL-DOCNUM.
          IDOC_STATUS-STATUS = '51'.
          IDOC_STATUS-MSGTY = 'E'.
          IDOC_STATUS-MSGID = 'YM'.
          IDOC_STATUS-MSGNO = '005'.
          IDOC_STATUS-MSGV1 = it_likp-VBELN.
          APPEND IDOC_STATUS.
          CLEAR IDOC_STATUS.
          WORKFLOW_RESULT = C_WF_RESULT_ERROR.
          RETURN_VARIABLES-WF_PARAM = 'Error_Idocs'.
          RETURN_VARIABLES-DOC_NUMBER = IDOC_CONTRL-DOCNUM.
          APPEND RETURN_VARIABLES.
          CLEAR RETURN_VARIABLES.
        ENDIF.
    IF SY-SUBRC EQ 0.
          IDOC_STATUS-DOCNUM = IDOC_CONTRL-DOCNUM.
          IDOC_STATUS-STATUS = '53'.
          IDOC_STATUS-MSGTY = 'I'.
          IDOC_STATUS-MSGID = 'YM'.
          IDOC_STATUS-MSGNO = '004'.
          IDOC_STATUS-MSGV1 = IT_LIKP-LFART.
          APPEND IDOC_STATUS.
          CLEAR IDOC_STATUS.
        ELSE.
          IDOC_STATUS-DOCNUM = IDOC_CONTRL-DOCNUM.
          IDOC_STATUS-STATUS = '51'.
          IDOC_STATUS-MSGTY = 'E'.
          IDOC_STATUS-MSGID = 'YM'.
          IDOC_STATUS-MSGNO = '005'.
          IDOC_STATUS-MSGV1 = IT_LIKP-LFART.
          APPEND IDOC_STATUS.
          CLEAR IDOC_STATUS.
          WORKFLOW_RESULT = C_WF_RESULT_ERROR.
          RETURN_VARIABLES-WF_PARAM = 'Error_Idocs'.
          RETURN_VARIABLES-DOC_NUMBER = IDOC_CONTRL-DOCNUM.
          APPEND RETURN_VARIABLES.
          CLEAR RETURN_VARIABLES.
        ENDIF.
    IF SY-SUBRC EQ 0.
          IDOC_STATUS-DOCNUM = IDOC_CONTRL-DOCNUM.
          IDOC_STATUS-STATUS = '53'.
          IDOC_STATUS-MSGTY = 'I'.
          IDOC_STATUS-MSGID = 'YM'.
          IDOC_STATUS-MSGNO = '004'.
          IDOC_STATUS-MSGV1 = IT_LIKP-WADAT_IST.
          APPEND IDOC_STATUS.
          CLEAR IDOC_STATUS.
        ELSE.
          IDOC_STATUS-DOCNUM = IDOC_CONTRL-DOCNUM.
          IDOC_STATUS-STATUS = '51'.
          IDOC_STATUS-MSGTY = 'E'.
          IDOC_STATUS-MSGID = 'YM'.
          IDOC_STATUS-MSGNO = '005'.
          IDOC_STATUS-MSGV1 = IT_LIKP-WADAT_IST.
          APPEND IDOC_STATUS.
          CLEAR IDOC_STATUS.
          WORKFLOW_RESULT = C_WF_RESULT_ERROR.
          RETURN_VARIABLES-WF_PARAM = 'Error_Idocs'.
          RETURN_VARIABLES-DOC_NUMBER = IDOC_CONTRL-DOCNUM.
          APPEND RETURN_VARIABLES.
          CLEAR RETURN_VARIABLES.
        ENDIF.
        IF SY-SUBRC EQ 0.
          IDOC_STATUS-DOCNUM = IDOC_CONTRL-DOCNUM.
          IDOC_STATUS-STATUS = '53'.
          IDOC_STATUS-MSGTY = 'I'.
          IDOC_STATUS-MSGID = 'YM'.
          IDOC_STATUS-MSGNO = '004'.
          IDOC_STATUS-MSGV1 = IT_LIKP-VSTEL.
          APPEND IDOC_STATUS.
          CLEAR IDOC_STATUS.
        ELSE.
          IDOC_STATUS-DOCNUM = IDOC_CONTRL-DOCNUM.
          IDOC_STATUS-STATUS = '51'.
          IDOC_STATUS-MSGTY = 'E'.
          IDOC_STATUS-MSGID = 'YM'.
          IDOC_STATUS-MSGNO = '005'.
          IDOC_STATUS-MSGV1 = IT_LIKP-VSTEL.
          APPEND IDOC_STATUS.
          CLEAR IDOC_STATUS.
          WORKFLOW_RESULT = C_WF_RESULT_ERROR.
          RETURN_VARIABLES-WF_PARAM = 'Error_Idocs'.
          RETURN_VARIABLES-DOC_NUMBER = IDOC_CONTRL-DOCNUM.
          APPEND RETURN_VARIABLES.
          CLEAR RETURN_VARIABLES.
        ENDIF.
        IF SY-SUBRC EQ 0.
          IDOC_STATUS-DOCNUM = IDOC_CONTRL-DOCNUM.
          IDOC_STATUS-STATUS = '53'.
          IDOC_STATUS-MSGTY = 'I'.
          IDOC_STATUS-MSGID = 'YM'.
          IDOC_STATUS-MSGNO = '004'.
          IDOC_STATUS-MSGV1 = IT_LIKP-LSTEL.
          APPEND IDOC_STATUS.
          CLEAR IDOC_STATUS.
        ELSE.
          IDOC_STATUS-DOCNUM = IDOC_CONTRL-DOCNUM.
          IDOC_STATUS-STATUS = '51'.
          IDOC_STATUS-MSGTY = 'E'.
          IDOC_STATUS-MSGID = 'YM'.
          IDOC_STATUS-MSGNO = '005'.
          IDOC_STATUS-MSGV1 = IT_LIKP-LSTEL.
          APPEND IDOC_STATUS.
          CLEAR IDOC_STATUS.
          WORKFLOW_RESULT = C_WF_RESULT_ERROR.
          RETURN_VARIABLES-WF_PARAM = 'Error_Idocs'.
          RETURN_VARIABLES-DOC_NUMBER = IDOC_CONTRL-DOCNUM.
          APPEND RETURN_VARIABLES.
          CLEAR RETURN_VARIABLES.
        ENDIF.
        IF SY-SUBRC EQ 0.
          IDOC_STATUS-DOCNUM = IDOC_CONTRL-DOCNUM.
          IDOC_STATUS-STATUS = '53'.
          IDOC_STATUS-MSGTY = 'I'.
          IDOC_STATUS-MSGID = 'YM'.
          IDOC_STATUS-MSGNO = '004'.
          IDOC_STATUS-MSGV1 = IT_LIKP-ROUTE.
          APPEND IDOC_STATUS.
          CLEAR IDOC_STATUS.
        ELSE.
          IDOC_STATUS-DOCNUM = IDOC_CONTRL-DOCNUM.
          IDOC_STATUS-STATUS = '51'.
          IDOC_STATUS-MSGTY = 'E'.
          IDOC_STATUS-MSGID = 'YM'.
          IDOC_STATUS-MSGNO = '005'.
          IDOC_STATUS-MSGV1 = IT_LIKP-ROUTE.
          APPEND IDOC_STATUS.
          CLEAR IDOC_STATUS.
          WORKFLOW_RESULT = C_WF_RESULT_ERROR.
          RETURN_VARIABLES-WF_PARAM = 'Error_Idocs'.
          RETURN_VARIABLES-DOC_NUMBER = IDOC_CONTRL-DOCNUM.
          APPEND RETURN_VARIABLES.
          CLEAR RETURN_VARIABLES.
        ENDIF.
        IF SY-SUBRC EQ 0.
          IDOC_STATUS-DOCNUM = IDOC_CONTRL-DOCNUM.
          IDOC_STATUS-STATUS = '53'.
          IDOC_STATUS-MSGTY = 'I'.
          IDOC_STATUS-MSGID = 'YM'.
          IDOC_STATUS-MSGNO = '004'.
          IDOC_STATUS-MSGV1 = IT_LIKP-KODAT.
          APPEND IDOC_STATUS.
          CLEAR IDOC_STATUS.
        ELSE.
          IDOC_STATUS-DOCNUM = IDOC_CONTRL-DOCNUM.
          IDOC_STATUS-STATUS = '51'.
          IDOC_STATUS-MSGTY = 'E'.
          IDOC_STATUS-MSGID = 'YM'.
          IDOC_STATUS-MSGNO = '005'.
          IDOC_STATUS-MSGV1 = IT_LIKP-KODAT.
          APPEND IDOC_STATUS.
          CLEAR IDOC_STATUS.
          WORKFLOW_RESULT = C_WF_RESULT_ERROR.
          RETURN_VARIABLES-WF_PARAM = 'Error_Idocs'.
          RETURN_VARIABLES-DOC_NUMBER = IDOC_CONTRL-DOCNUM.
          APPEND RETURN_VARIABLES.
          CLEAR RETURN_VARIABLES.
        ENDIF.
        IF SY-SUBRC EQ 0.
          IDOC_STATUS-DOCNUM = IDOC_CONTRL-DOCNUM.
          IDOC_STATUS-STATUS = '53'.
          IDOC_STATUS-MSGTY = 'I'.
          IDOC_STATUS-MSGID = 'YM'.
          IDOC_STATUS-MSGNO = '004'.
          IDOC_STATUS-MSGV1 = IT_LIKP-KUNNR.
          APPEND IDOC_STATUS.
          CLEAR IDOC_STATUS.
        ELSE.
          IDOC_STATUS-DOCNUM = IDOC_CONTRL-DOCNUM.
          IDOC_STATUS-STATUS = '51'.
          IDOC_STATUS-MSGTY = 'E'.
          IDOC_STATUS-MSGID = 'YM'.
          IDOC_STATUS-MSGNO = '005'.
          IDOC_STATUS-MSGV1 = IT_LIKP-KUNNR.
          APPEND IDOC_STATUS.
          CLEAR IDOC_STATUS.
          WORKFLOW_RESULT = C_WF_RESULT_ERROR.
          RETURN_VARIABLES-WF_PARAM = 'Error_Idocs'.
          RETURN_VARIABLES-DOC_NUMBER = IDOC_CONTRL-DOCNUM.
          APPEND RETURN_VARIABLES.
          CLEAR RETURN_VARIABLES.
        ENDIF.
        IF SY-SUBRC EQ 0.
          IDOC_STATUS-DOCNUM = IDOC_CONTRL-DOCNUM.
          IDOC_STATUS-STATUS = '53'.
          IDOC_STATUS-MSGTY = 'I'.
          IDOC_STATUS-MSGID = 'YM'.
          IDOC_STATUS-MSGNO = '004'.
          IDOC_STATUS-MSGV1 = SY-DATLO.
          APPEND IDOC_STATUS.
          CLEAR IDOC_STATUS.
        ELSE.
          IDOC_STATUS-DOCNUM = IDOC_CONTRL-DOCNUM.
          IDOC_STATUS-STATUS = '51'.
          IDOC_STATUS-MSGTY = 'E'.
          IDOC_STATUS-MSGID = 'YM'.
          IDOC_STATUS-MSGNO = '005'.
          IDOC_STATUS-MSGV1 = SY-DATLO.
          APPEND IDOC_STATUS.
          CLEAR IDOC_STATUS.
          WORKFLOW_RESULT = C_WF_RESULT_ERROR.
          RETURN_VARIABLES-WF_PARAM = 'Error_Idocs'.
          RETURN_VARIABLES-DOC_NUMBER = IDOC_CONTRL-DOCNUM.
          APPEND RETURN_VARIABLES.
          CLEAR RETURN_VARIABLES.
        ENDIF.
        IF SY-SUBRC EQ 0.
          IDOC_STATUS-DOCNUM = IDOC_CONTRL-DOCNUM.
          IDOC_STATUS-STATUS = '53'.
          IDOC_STATUS-MSGTY = 'I'.
          IDOC_STATUS-MSGID = 'YM'.
          IDOC_STATUS-MSGNO = '004'.
          IDOC_STATUS-MSGV1 = IT_LIKP-WBSTK.
          APPEND IDOC_STATUS.
          CLEAR IDOC_STATUS.
        ELSE.
          IDOC_STATUS-DOCNUM = IDOC_CONTRL-DOCNUM.
          IDOC_STATUS-STATUS = '51'.
          IDOC_STATUS-MSGTY = 'E'.
          IDOC_STATUS-MSGID = 'YM'.
          IDOC_STATUS-MSGNO = '005'.
          IDOC_STATUS-MSGV1 = IT_LIKP-WBSTK.
          APPEND IDOC_STATUS.
          CLEAR IDOC_STATUS.
          WORKFLOW_RESULT = C_WF_RESULT_ERROR.
          RETURN_VARIABLES-WF_PARAM = 'Error_Idocs'.
          RETURN_VARIABLES-DOC_NUMBER = IDOC_CONTRL-DOCNUM.
          APPEND RETURN_VARIABLES.
          CLEAR RETURN_VARIABLES.
        ENDIF.
    endloop.
    endfunction.

    Hi,
    First goto WE20-> click on the logical system , now select the receiver LS which you are using as your partner. Now in the inbound parameters cehck what is the process code is attached.
    once you get the process code then go to WE42 tcode.. there you give the process code and then double click you will get the function module IDOC_INPUT_FIDCMT.
    Hopw you got my point.
    Regards,
    Nagaraj

  • How to Debug IDOC posting

    Hi,
       Could anyone please advise how to debug an IDOC posting. I am new to ABAP.
    regards,
    Munavar Basha A.K.

    Hi,
    1)Use tcode we19 , enter your idoc no and click on the inbound function module push button then check call in debugging mode to debug.
    or
    1. Go to BD87
    2. make a right click at the IDoc and choose restrict and process.
    3. delete the check at the bottom(Background Processing)
    4. Go ahead
    5. edit -> process -> Foreground at Error
    Thanks Hope this will be Helpful
    Thanks
    Kalyan

  • IDOC Posting _Outbound

    Hi XI Experts,
                 I am doing an idoc to file scenario and i have an abap report which used the FM master_idoc_distribure to send the idoc. The idoc gets posted with status 03, but in sxmb_moni i donot see any thing.There is no entry in idx5 for the idoc posted by the report.
    If i use we19 with the same idoc number then my interface works and i see an entry in moni.
    Any inputs? What has possibly went wrong?
    Regards,
    Anirban

    Hi Anirban,
    After you call FM master_idoc_distribute, you need to add the following code:
      COMMIT WORK.
      CALL FUNCTION 'DEQUEUE_ALL'
        EXPORTING
          _SYNCHRON = ' '.
    This should then send your idoc.
    Hope that this helps,
    Thanks,
    Miguel

  • Using INVOIC01, IDOC posts invoices against POs that weren't sent to vendor

    Does anyone have any suggestions on how to prevent the IDOC INVOIC01 invoices from posting against POs that were not originally sent to the vendor??  (BSART = INVO)
    For example, vendor (1521) sends an electronic invoice file processed as an IDOC.  Vendor 1521 includes an invoice against a PO that was sent to vendor 7549.  Since the PO exists, the IDOC posts against it.  I want to make this a hard error (a 51 status).
    Please help,
    Cindy

    Hi Cindy,
    If you are using a standard process code for this interface, you will not have this sort of problem as the combination of Vendor and PO number are validated before that is posted. If you are using a custom stuff then you need to check the table EKKO by passing the vendor number and PO number as input to that, if that combination exists go ahead otherwise throw the idoc into 51 status.
    Thanks,
    Mahesh.

  • Starting new database LUW inside ABAP during IDoc posting

    Hi all,
    During posting of an inbound IDoc, I am trying to update my Z-table in user-exit. I want to do it regardless of the result of IDoc posting. The problem is: if IDoc posted successfully - table is updated because COMMIT WORK is called at the end of the posting, however, if IDoc not posted - ROLLBACK WORK is called and table is not updated. So, my aim now is to commit the update of Z-table in any case, but it is the only thing that should be committed - no other prior update FMu2019s should be committed.
    I'm aware about the following thread
    http://forums.sdn.sap.com/thread.jspa?threadID=1884700
    Author of this thread says that he solved a problem by means of RFC and STARTING NEW TASK. But ABAP help says
    that starting asynchronous RFC triggers immediately a database commit in the calling program (which is unacceptable because all prior update FMu2019s will be committed ). I've checked and it is really the case.
    From my point of view SET UPDATE TASK LOCAL with COMMIT WORK should work in such kind of tasks, but in case of IDoc processing the whole process runs in a local update (see SET UPDATE TASK LOCAL in FM 'IDOC_INPUT'), so writing once again SET UPDATE TASK LOCAL has no effect.
    I tested SUBMIT statement as well. It had no effect and then I found out from ABAP help that SUBMIT ... AND RETURN starts new SAP LUW, but NOT a DB LUW. That is if I update my Z-table in the program called by SUBMIT - all ROLLBACK statements still affect my  Z-table update.
    Is there any simple solution? Please suggest.
    Thanks in advance!

    Hello,
    Try SUBMIT VIA JOB.....
    Sample Code
    call function 'JOB_OPEN'
    exporting
    jobname = name
    importing
    jobcount = number
    exceptions
    cant_create_job = 1
    invalid_job_data = 2
    jobname_missing = 3
    others = 4.
    if sy-subrc = 0.
    submit z_idoc_create_process_order and return
    via job name number number
    with p_aufnr = it_header1-aufnr
    with p_werks = it_header1-werks
    with p_autyp = c_autyp
    with p_auart = it_header1-auart
    with p_dispo = it_header1-dispo
    with p_opt = c_opt
    with p_mestyp = c_mestyp.
    if sy-subrc = 0.
    call function 'JOB_CLOSE'
    exporting
    jobcount = number
    jobname = name
    strtimmed = 'X'
    exceptions
    cant_start_immediate = 1
    invalid_startdate = 2
    jobname_missing = 3
    job_close_failed = 4
    job_nosteps = 5
    job_notex = 6
    lock_failed = 7
    others = 8.
    if sy-subrc 0.
    endif.

  • Delay in the Inbound Idoc Posting Process

    Dear Friends,
    We have an scenario in the Inbound Idoc Posting Process, when we process the Idocs through the standard Inbound Program - RBDAPP01, we face the delay of 3hrs to 12 hrs, approx.
    When we try to re-process the same through the manual process, we could successfully post the Idocs, immediately.
    When the same happens, through the background job - the delay is happening.
    As we see, there is no problem with the program - RBDAPP01, but can't able to trace the delay in the process.
    Any suggestions / advises are welcome.
    Thanks in advance.

    Hi Prasanna,
    The update will happen only if a value already exists with the same unit of measure in the system. If the quantity is left blank in the system and if you are trying to update, the update might not happen. Even if the value is Zero in the system, provide the same unit of measure as the data used in the BAPI.
    Regards,
    Yogesh

  • Processes in Inbound IDoc posting

    Hi guys,
    I'm new with IDocs, and I have an object which requires Inbound IDoc posting..
    Can you give me the possible steps/processes including the tcodes on how can I solve this object?
    Please also include FMs that I might possibly used during my development.
    I highly appreciate all your swift responses. Thanks!

    Hi Mel,
    You can use FM IDOC_INBOUND_WRITE_TO_DB to create an inbound IDoc.
    CALL FUNCTION 'IDOC_INBOUND_WRITE_TO_DB'
        EXPORTING
          PI_STATUS_MESSAGE       = I_EDIDS
        IMPORTING
          PE_IDOC_NUMBER          = DOCNUM
          PE_STATE_OF_PROCESSING  = STPROC
          PE_INBOUND_PROCESS_DATA = I_TEDE2
        TABLES
          T_DATA_RECORDS          = I_EDIDD
        CHANGING
          PC_CONTROL_RECORD       = I_EDIDC
        EXCEPTIONS
          IDOC_NOT_SAVED          = 1
          OTHERS                  = 2.
    Regards,
    Chandra Sekhar

  • /SAPTRX/IDOC_INPUT_EVMSTA IDoc posting only works for single BAPI call

    Although the settings and code imply that the function /SAPTRX/IDOC_INPUT_EVMSTA can handle multiple events in a single IDoc the fact is that the code does not have a refresh statement on the BAPI internal tables with the loop through the IDoc control record. This means that we end up posting multiple events for the the same event during Idoc posting.
    Is SAP going to fix this situation? PS: The same applies with the EHPOST Idoc function module.
    Thank you
    Kevin

    Dear,
    I just debugged my Z-function, after adding all input parameters as in the standard BAPI function.
    All parameters seems to be passed correctly except from the table parameters from
    CLASS_OBJECTS
    So all I_parameters are passed :
    {ZBAPI_CLASS_GET_CLASSIFICATION.I_LANGU_INT} = "EN" and
    {ZBAPI_CLASS_GET_CLASSIFICATION.I_LANGU_ISO} = "EN" and
    {ZBAPI_CLASS_GET_CLASSIFICATION.I_KEY_DATE} = Date (2011, 08, 05) and
    {ZBAPI_CLASS_GET_CLASSIFICATION.I_CLASSNUM} = "DSWTEST" and
    {ZBAPI_CLASS_GET_CLASSIFICATION.I_CLASSTYPE} = "001" and
    {ZBAPI_CLASS_GET_CLASSIFICATION.I_CHARACTS_OF_CLASS_ONLY.BAPIFLAG} = ""
    but the table parameters aren't coming through:
    {ZBAPI_CLASS_GET_CLASSIFICATION.T_CLASS_OBJECTS.OBJECT_TYPE} = "MARA" and
    {ZBAPI_CLASS_GET_CLASSIFICATION.T_CLASS_OBJECTS.OBJECT_KEY} = "000000000000000085" and
    these are 'blanco' in the function.
    also after the function is executed and all data is retrieved, when passing the data back to Crystal reports, once again, the table result isn't passed to Crystal Reports.
    please advise

Maybe you are looking for

  • Mail won't open -- says home dir is full, but 7GB is free!

    I'm getting an error message when I try to open Mail.app. It says "Mail cannot update your mailbox becuase your home directory is full" And proceeds to quit. I have over 7GB free on my startup drive. Why does mail think my HD is full?

  • Just Purchased a HP Envy7640E All in One Printer - No Display on screen

    Hello, Printer is brand new out of the box.  I'm unable to get the screen to show anything for me to give commands of what I would like to do.  If I poke around on the screen, I can get a home icon, ? ion and a back icon to show to the left of screen

  • Solution Extension Contacts in the UK

    Who should partners contact if they want to discuss becoming a solution extension partner in the UK?

  • NEED  Information on BPS( Business Planning & SImulation )

    Hi All, I am new to BPS . please give me some Information for the following. 1. What is the use of BPS with BW. 2. Any good Document available on the net for the beginner like me.( If any Document is there plz give me the link ) 3. What is the need o

  • Creating documents/content correctly

    Okay, If anyone can answer this one, I will be very, very happy. I am curious about all of the attributes that need to be set when you insert a file (document) into ifs. Here is my problem. If I use the webui to insert a file into ifs, or parse an xm