Custom IDOC changes in the IDoc structure

HI experts,
I have made some changes in the Custom IDoc Structure
But when I have transported the changes like I have 5 fields in the custom IDoc I changed the data type of field 2 changing the length of that field to 132 but when i am executing that all the other remaining fields getting populated in that 2nd field. Is there any way this problem can be resolved
early answer is appreciated.......
advance thanks
srini

Hi Srinivas,
I would like to confirm some things. First your IDoc struc had field2 which is of length less than 132 and then you increased it to 132. Now you are now using <b>WE19</b> to test your IDoc. The reference IDoc no. that you gave was the IDoc that had been generated while the length was less than 132.
If this is what you have done, then you will have this issue. I will tell you why. When you created the IDocs, this field was less than 132, then in the EDIDD-SDATA which is a character field of length 1000 bytes would have got filled with a different position.
Say for example you have two fields in a segmentthey are A(of lenght 10) and B(of length 20). When you create IDoc, EDIDD-SDATA(which actually contains data would have been like the following:
Say if A = 'ABC', B = 'DEF'
EDIDD-SDATA = 'ABC       DEF                 '
If you see it carefully it is a string of charachter where A starts at 1st and B starts at 11th position of the string. Now you changed length of A to 15. Then A would start from 1st Position upto 15th position while B starts from 16th upto 35. Hence when the WE19 tool extracts data from EDIDD, it extracts it as:
A = 'ABC       DEF  '
B = space
Hope this answers your question.
Regards,
Srikanth
PS: Same will be the case with WE09 as well. The IDocs which was created before changing the length will still look distorted.
Message was edited by: Srikanth Lodd
Message was edited by: Srikanth Lodd

Similar Messages

  • Monitor changes in the Organizational Structure

    Hello All,
    What is the best way to monitor the changes made in the Organizational Structure.
    We are observing changes in the Org Structure in our system. We want to find out the User who made the change.
    Thanks

    Hi,
    I'm afraid the only way is tcode: SCU3 (Table History), but it's not user friedly.
    Most important info is stored in tables:
    HRP1000 ( object info ),
    HRP1001 ( relations ),
    HRP1222 ( general attributes - id's  ),
    HRT1222 ( general attributes - data ).
    Regards, Robert

  • Customer Address change on the Open orders

    We are unable to make a customer address change on the customer whenever an open order exists with the customer, is it intended functionality? Is there any workaround available to update the customer info whenever an open order exists.
    Thanks,
    Srini C

    Hi
    It is not possible to maintain address as validity period. Print program is always considering the current address.

  • How to insert the standard idoc segment in the idoc

    Hi Experts!
    We  are using  SRM 7.0.Wo got a requirement as below:
    In our organiation there will be both regular employees and the non-employees.For non-employees address will not be maintained in Tcode PA20 in backend ECC HR  system.Where as for employees address will be maintained.
    As the HR replication will be done by scheduled jobs, in case of non employees replication is not happening due to the missing address in PA20.In order to avoid this we are building some logic and as part of it we need to add the standard IDOC segment  'E1P0006' in the main idoc as this particular segment is for address and it is missing due to the missing address in PA20 for non-employees where as this idoc segment will be there for employees.
    As am very much new to idoc concept can some one help me how to handle this if any one of you came across this kind of scenario.
    Please find the attached document for the idoc seq we have.
    Thanks in advance.
    Regards,
    Kalyani

    1. Open the form
    2. Choose Tools--> Diagnostics
    3. In the block field choose $DESCRIPTIVE_FLEXFIELD$
    4. Field will show the list of all the DFF's enabled for that form.
    5. Choosing one will display the name of the DFF in the value field.
    Thanks
    Nagamohan

  • Changes in the PRICING STRUCTURE FOR THE DOCUMENT TYPE

    Hello Gurus,
    What is pricing structure?
    and what is meant by changes in pricing structure for the document type.
    Could anyone let me know about pricing structure and changes in Pricing structure for document type.
    prashant

    Hi Prashnat,
    In SAP Pricing works on Condition Techniqe.
    Condition Technic consits to following things.
    1.Condition Tabels ( Assigned to Access Sequence )
    2.Access Sequence ( Assigned to Condition Types)
    3.Condition Types ( Assigned to Pricing Procedure)
    4.Pricing Procedure
    5.In Pricing Procedure Determination will be assigning as fallows:
    Sales Org + Dist Channel + Division + Document Pricing Procedure + Customer Pricing Procedure + Pricing Procedure.
    Based on this the Pricing will be takes place in the system.
    Hope this Clarifies your Doubts and Please Reward If Really Helpful,
    Thanks and Regards,
    Sateesh.Kandula

  • ITunes 11 custom color changes all the sudden (album)

    Because I use iTunes 11 between 2 PCs, I've noticed this slight issue since, where one particular album on 1 PC gives a slightly different palette of colors than the other.
    All the sudden today, my Kelly Clarkson Greatest Hits: Chapter 1 Deluxe album decided to change colors. It went from this.... :
    To this:
    That said, what makes iTunes decide the color changes? By the way I did not change the album art at all to cause this. Both files are their exact same copies from their respective PCs.
    The last thing I did with my PC was using a software called "calibrize" to calibrate my PC monitor. Did that have something to do with it? Anyone else who have this similar situation?

    Found another thread in Discussions- Closing down then re-opening Itunes solves the problem.
    Worked for me.

  • Change of the folder structure in a solution

    Hi all,
    Does anybody know whether it is possible to modify/extend the mandatory folder structure in a solution:
    Organizational Units
    Master Data
    Business Scenarios
    Interface Scenarios
    Product Systems
    Server
    Actually I want to add a folder for integration considerations across projects and I think the best place to put this is on solution level.
    If anybody knows if and how to modify the above or maybe has a better idea to cover the requirement I would appreciate very much every input.
    Best regards
    hirmuinen

    Hi Hirmuinen,
    It is not possible to add a folder in the standard system.  I would suggest that you place special project integration documentation in the highest level of the Business Scenario folder, in the documentation tab.
    Regards,
    Rich Labib

  • How do i restore music files from backup without changing loosing the library structure?

    hello,
    i have 2 external hard drives. i had my itunes media files on one of them and a copy of them on the other one. (the itunes library files are on the internal hard drive)
    the external hard drive with the original media files crashed so now i want to use my other disc for itunes. so how do i use the copies of the files and making itunes believe theese are the originals? so i won't have all songs in itunes twice with one of them not working and so i still have all playlists, ratings and playcounts with the new files?

    Actually you can do this. Select the song(s) (in a playlist) that you want to delete then hit option + delete. This deletes the track(s) from library as well. You can also select a playlist and press option + delete and all of the songs that were in that playlist get deleted from the library.
    L

  • Reg : change pointer mechanism for triggering the IDOC for delivery note

    Hi ,
    I am working on a change pointer mechanism for triggering the IDOC for delivery note and will be using this message class DESADV.
    So SAP has suggested for assigning the message class DESADV with the function module in MASTERIDOC_CREATE_SMD_DESADV in BD60 transaction code.
    So I was looking to create this MASTERIDOC_CREATE_SMD_DESADV function module in SAP and SAP suggesting that  we should create this MASTERIDOC_CREATE_SMD_DESADV function module as same as the function module MASTERIDOC_CREATE_SMD_MATMAS.
    So do anyone knows that is there any tool has been provided by SAP for creating this function module MASTERIDOC_CREATE_SMD_DESADV in SAP system for triggering the change pointer mechanism for outbound Delivery.
    Thanks !
    Regards,
    Kiran

    Hi,
    When you are change pointer the system itself will take care of sending the changed master data to your partner system and the user will not have any intervention.  If you really wanted to have that then you need to use the change pointers to read the master data which is modified in a custom program and then display that on the screen.  Once the user selects that master data records then trigger an IDOC for creating the idoc for that master data and also flag that master data record as processed in the SAP BDCPS standard table, so that the same record will not be picked. If you wanted to know how the change pointers piece of code is written go through the program RBDMIDOC and you can understand how the change pointers logic is written.
    Thanks,
    Mahesh.

  • ALE/IDOC Change Pointers for Custom Table

    Hello all,
       There is a requirement for my client, to trigger IDOC based on the Custom Table changes. The custom table has a maintenance view and will be updated/modified/deleted randomly by user. Now, i need to track the changes in that table and should trigger IDOC for the changes. The Message type i am using for this is MATMAS, as I need to incorporate changes to the same IDOC.
        Is it ok to modify BDCP/BDCPS tables to update the changes from custom table? The Custom Table changes can be tracked through DBTABLOG......and i have my logic to trigger the IDOC
      The question is: If i do modifications to BDCP and BDCPS, how this will impact? In future SAP upgrade/enhancements will this affect anyway? Can any one of you share your experience regarding this. Thanks.

    Hi Raja,
    You can send IDOC based on  table maintenance event
    I think you can code in event 02, to generate IDOC.
    Check below link:
    http://help.sap.com/saphelp_nw04/helpdata/en/91/ca9f0ea9d111d1a5690000e82deaaa/frameset.htm
    Regards,
    Nisha Vengal.

  • How to change the IDOC Status from 30 to 03

    Hi Friends,
    In the Partner Profiles Collect IDOCS option is Selected and the Output mode is 4.
    In my Custom Program i am Using the Function Module MASTER_IDOC_DISTRIBUTE to generate the IDOCs
    I am getting the IDOCs of Status 30.
    then in my Custom Program, I am Submitting the IDOCs to RSEOUT00 program.
    to change the IDOC status from 30 to 03.
      SUBMIT rseout00 USING SELECTION-SCREEN '1000'
                   WITH docnum  IN  gt_range_idocs
                   WITH p_compl EQ 'Y'
                   AND RETURN.
    but still i am not getting the IDOCs of changed status.
    I need to get the Changed IDOC status and if the IDOC status is not changed then I need to generate an Error file for the IDOCs data and send that data to customers as a mail.
    so my requirment is to call the RSEOUT00 in the Custom Program and Change the IDOCs Status to 03.
      When i am Executing the RSEOUT00 Indidually by giving the IDOCs numbers, then the IDOCs Status is going to change to 03 from 30.
    Kindly Guide me how to proceed furthur
    Thanks in Advance,
    Ganesh

    Thanks Shrishit,
    RC1_IDOC_SET_STATUS changing the Status from 30 to 03.
    Its fine, But my Question is will IDOC Data will be reached to XI Server or not.??
    means is the functionality of this Program is same as the RSEOUT00.
    MY job is to change Status from 30 to 03 only
    and then Check the Status of those IDOCs, and if the IDOC is not sended to XI  i.e.;03 status, then I need to send the Details of IDOC (i.e.; data in filed IDOC) to Customer Mail ID through an Attachement.
    I hope you Understood my AIM, why I need to change the Status in my Custom Program only, by submitting IDOCs to this report .
    Kindly waiting for your reply,
    Thanks in Advance,
    Ganesh

  • How do i generate the idoc for the custom infotype?

    Hi Experts,
        I have a requirement to create the custom infotype and generate the idoc for the custom infotype
        whenever the user change or crate the data by PA30, PA40 transaction .
    so please give some help to write a logic for generate the idoc?
    Thanks in advance.
    Venkat

    I have just found out from the Archives, it is not possible to generate a formula line (trend line) in Numbers_08.
    I am currently upgrading to Numbers_09.

  • IDOC creation after the creation of a purchase order

    Hi everybody,
                I want some configuration details regardign IDOC creation. The requirement is, once i create a purchase order in one system, the details should automatciaclly transfer to other system through IDOC. could any one suggest any document or detailed procedure to accomplish the task. Thanks in advance,
             Santosh.

    hi santosh kumar,
    Creating an IDoc Segment WE31:
    The segment defines the structure of the records in an IDoc. They are defined with transaction WE31.
    We will define a structure to send a text from the text database.
    Transaction WE31 calls the IDoc segment editor. The editor defines the fields of a
    single segment structure. The thus defined IDoc segment is then created as a data
    dictionary structure. You can view the created structure with SE11 and use it in an
    ABAP as any TABLES declaration.
    To demonstrate the use of the IDoc segment editor we will set up an example, which
    allows you to send a single text from the text pool (tables STXH and STXL) as an
    IDoc. These are the texts that you can see with SO10 or edit from within many
    applications.
    We will show the steps to define an IDoc segment YAXX_THEAD with the DDic
    structure of THEAD.
    To facilitate our work, we will use the "copy-from-template-tool", which reads the
    definition of a DDIC structure and inserts the field and the matching definitions as
    rows in the IDoc editor. You could, of course, define the structure completely
    manually, but using the template makes it easier.
    The tool in release 4.0b lets you use both DDIC structures or another IDoc segment
    definition as a template.
    The thus created structure can be edited any time. When saving, it will create a data
    dictionary structure based on the definition in WE31. The DDIC structure will retain
    the same name. You can view the structure as a table definition with SE11 and use it
    in an ABAP the same way.
    Defining the Message Type (EDMSG)
    The message type defines the context under which an IDoc is transferred to its destination. It allows for using the same IDoc file format for several different applications.
    Imagine the situation of sending a purchase order to a supplier. When the IDoc with
    the purchase order reaches the supplier, it will be interpreted as a sales order
    received from a customer, namely you.
    Simultaneously you want to send the IDoc data to the supplier's warehouse to inform
    it that a purchase order has been issued and is on the way.
    Both IDoc receivers will receive the same IDoc format; however, the IDoc will be
    tagged with a different message type. While the IDoc to the supplier will be flagged
    as a purchase order (in SAP R/3 standard: message type = ORDERS), the same IDoc
    sent to the warehouse should be flagged differently, so that the warehouse can
    recognize the order as a mere informational copy and process it differently than a
    true purchase order.
    The message type together with the IDoc type determine the processing function.
    The message types are stored in table EDMSG.
    Defining the message type can be done from the transaction WEDI
    EDMSG: Defining the message type (1)
    The entry is only a base entry which tells the system that the message type is
    allowed. Other transactions will use that table as a check table to validate the entry.
    IT is as shown .
    EDMSG: Defining the message type (1):
    The entry is only a base entry which tells the system that the message type is
    allowed. Other transactions will use that table as a check table to validate the entry.
    Sales Orders are being created through inbound IDocs using FM 'EDI_DATA_INCOMING'. Now a Report is required to check the status of these Inbound IDocs along with Sales Orders generated against customer Purchase Orders.
    Requirement:
    Sales Orders are being created through inbound IDocs using FM 'EDI_DATA_INCOMING'. Now a Report is required to check the status of these Inbound IDocs along with Sales Orders generated against customer Purchase Orders.
    Processing:
    The report selects, 'ORDERS' IDoc numbers & status, generated between given time range, from table EDIDC. Further, it calls Function Module 'IDOC_READ_COMPLETELY' to get the IDoc details. Then required information is extracted by reading relevant field data of IDoc segments.
    sampl code:
    REPORT  Z_EDI_FILE_LOAD_STATUS_REPORT           .
    Staus Report for Inbound IDOCs ( Sales Orders )
    Program        : Z_EDI_FILE_LOAD_STATUS_REPORT
    Presented By   : www.rmtiwari.com
    TABLES : EDIDC.
    ALV stuff
    TYPE-POOLS: SLIS.
    DATA: GT_FIELDCAT TYPE SLIS_T_FIELDCAT_ALV,
          GS_LAYOUT   TYPE SLIS_LAYOUT_ALV,
          GT_SORT     TYPE SLIS_T_SORTINFO_ALV,
          GT_LIST_TOP_OF_PAGE TYPE SLIS_T_LISTHEADER.
    DATA : BEGIN OF T_REPORT OCCURS 0,
             IDOC_NO       TYPE EDI_DOCNUM,
             IDOC_DATE     TYPE SY-DATUM,
             IDOC_TIME     TYPE SY-UZEIT,
             SORDER_NO     TYPE VBELN,
             STP_NO        TYPE KNA1-KUNNR,
             STP_NAME(35)  TYPE C,
             STP_PHONE(12) TYPE C,
             PO_NO(15)     TYPE C,
             STATUS        TYPE C,
             S_TEXT(70)    TYPE C,
             ERROR(70)     TYPE C,
           END OF T_REPORT.
    --PARAMETER--
    selection-screen begin of block date with frame title TEXT-S01.
    select-options: UDATE for  EDIDC-UPDDAT
                          default SY-datum obligatory,    "Changed On
                    UTIME for  EDIDC-UPDTIM .             "Changed Time
    selection-screen end   of block date.
    INITIALIZATION.
    START-OF-SELECTION.
    PERFORM SHOW_STATUS_REPORT.
    *&      Form  alv_grid
          text
    -->   p1        text
    < --  p2        text
    FORM ALV_GRID.
      IF GT_FIELDCAT[] IS INITIAL.
        PERFORM FIELDCAT_INIT.
        PERFORM LAYOUT_INIT.
        PERFORM SORT_INIT.
      ENDIF.
      PERFORM GRID_DISPLAY.
    ENDFORM.                    "alv_grid
    *&      Form  layout_init
    FORM LAYOUT_INIT.
      GS_LAYOUT-ZEBRA             = 'X'.
      GS_LAYOUT-CELL_MERGE        = 'X'.
      GS_LAYOUT-COLWIDTH_OPTIMIZE = 'X'.
      GS_LAYOUT-NO_VLINE          = ' '.
      GS_LAYOUT-TOTALS_BEFORE_ITEMS = ' '.
    ENDFORM.                    " layout_init
    *&      Form  fieldcat_init
    FORM FIELDCAT_INIT.
      DATA: LS_FIELDCAT TYPE SLIS_FIELDCAT_ALV.
       CLEAR LS_FIELDCAT.
      LS_FIELDCAT-FIELDNAME    = 'IDOC_NO'.
      LS_FIELDCAT-KEY          = 'X'.
      LS_FIELDCAT-REPTEXT_DDIC = 'IDOC'.
      LS_FIELDCAT-OUTPUTLEN    = 10.
    Fix for ALV print bug, which puts 'N/A' over last digit
    Set inttype to 'N' to stop corruption of printed ALV cell.
      LS_FIELDCAT-INTTYPE = 'N'.
      APPEND LS_FIELDCAT TO GT_FIELDCAT.
      CLEAR LS_FIELDCAT.
      LS_FIELDCAT-FIELDNAME    = 'IDOC_DATE'.
      LS_FIELDCAT-REPTEXT_DDIC = 'Creation Date'.
      LS_FIELDCAT-OUTPUTLEN    = 10.
      APPEND LS_FIELDCAT TO GT_FIELDCAT.
      CLEAR LS_FIELDCAT.
      LS_FIELDCAT-FIELDNAME    = 'IDOC_TIME'.
      LS_FIELDCAT-REPTEXT_DDIC = 'Creation Time'.
      LS_FIELDCAT-OUTPUTLEN    = 8.
      APPEND LS_FIELDCAT TO GT_FIELDCAT.
      CLEAR LS_FIELDCAT.
      LS_FIELDCAT-FIELDNAME    = 'STATUS'.
      LS_FIELDCAT-REPTEXT_DDIC = 'St'.
      LS_FIELDCAT-OUTPUTLEN    = 2.
      APPEND LS_FIELDCAT TO GT_FIELDCAT.
      CLEAR LS_FIELDCAT.
      LS_FIELDCAT-FIELDNAME    = 'ERROR'.
      LS_FIELDCAT-REPTEXT_DDIC = 'Message'.
      LS_FIELDCAT-OUTPUTLEN    = 70.
      APPEND LS_FIELDCAT TO GT_FIELDCAT.
      CLEAR LS_FIELDCAT.
      LS_FIELDCAT-FIELDNAME    = 'STP_NO'.
      LS_FIELDCAT-REPTEXT_DDIC = 'S.T.Party No'.
      LS_FIELDCAT-OUTPUTLEN    = 10.
      APPEND LS_FIELDCAT TO GT_FIELDCAT.
      CLEAR LS_FIELDCAT.
      LS_FIELDCAT-FIELDNAME    = 'STP_NAME'.
      LS_FIELDCAT-REPTEXT_DDIC = 'Sold to Party Name'.
      LS_FIELDCAT-OUTPUTLEN    = 35.
      APPEND LS_FIELDCAT TO GT_FIELDCAT.
      CLEAR LS_FIELDCAT.
      LS_FIELDCAT-FIELDNAME    = 'PO_NO'.
      LS_FIELDCAT-REPTEXT_DDIC = 'Purch Order'.
      LS_FIELDCAT-OUTPUTLEN    = 15.
      APPEND LS_FIELDCAT TO GT_FIELDCAT.
      CLEAR LS_FIELDCAT.
      LS_FIELDCAT-FIELDNAME    = 'STP_PHONE'.
      LS_FIELDCAT-REPTEXT_DDIC = 'S.T.Party Phone'.
      LS_FIELDCAT-OUTPUTLEN    = 15.
      APPEND LS_FIELDCAT TO GT_FIELDCAT.
    ENDFORM.                    "fieldcat_init
    *&      Form  sort_init
    FORM SORT_INIT.
      DATA: LS_SORT TYPE SLIS_SORTINFO_ALV.
      CLEAR LS_SORT.
      LS_SORT-FIELDNAME = 'IDOC_DATE'.
      LS_SORT-SPOS      = 1.
      LS_SORT-UP        = 'X'.
      APPEND LS_SORT TO GT_SORT.
      CLEAR LS_SORT.
      LS_SORT-FIELDNAME = 'IDOC_TIME'.
      LS_SORT-SPOS      = 2.
      LS_SORT-UP        = 'X'.
      APPEND LS_SORT TO GT_SORT.
      CLEAR LS_SORT.
      LS_SORT-FIELDNAME = 'STATUS'.
      LS_SORT-SPOS      = 3.
      LS_SORT-UP        = 'X'.
      APPEND LS_SORT TO GT_SORT.
      CLEAR LS_SORT.
      LS_SORT-FIELDNAME = 'IDOC_NO'.
      LS_SORT-SPOS      = 4.
      LS_SORT-UP        = 'X'.
      APPEND LS_SORT TO GT_SORT.
    ENDFORM.                    "sort_init
    *&      Form  grid_display
    FORM GRID_DISPLAY.
      CALL FUNCTION 'REUSE_ALV_GRID_DISPLAY'
        EXPORTING
          IS_LAYOUT     = GS_LAYOUT
          IT_FIELDCAT   = GT_FIELDCAT
          IT_SORT       = GT_SORT
          i_callback_program      = SY-REPID
          I_CALLBACK_TOP_OF_PAGE = 'TOP_OF_PAGE'
          I_DEFAULT     = ' '
          I_SAVE        = 'X'
        TABLES
          T_OUTTAB      = T_REPORT
        EXCEPTIONS
          PROGRAM_ERROR = 1
          OTHERS        = 2.
    ENDFORM.                    "grid_display
    *&      Form  COMMENT_BUILD
          Processing of listheader
    FORM COMMENT_BUILD USING P_FK_LIST_TOP_OF_PAGE TYPE SLIS_T_LISTHEADER.
      DATA: LS_LINE TYPE SLIS_LISTHEADER.
      REFRESH P_FK_LIST_TOP_OF_PAGE.
    List Heading : Typ H
      CLEAR LS_LINE.
      LS_LINE-TYP  = 'H'.
      LS_LINE-INFO  = 'Sales Order Interface: Z_EDI_FILE_LOAD'.
      APPEND LS_LINE TO P_FK_LIST_TOP_OF_PAGE.
    List : Typ S
      clear LS_LINE.
      LS_LINE-typ  = 'S'.
      LS_LINE-key  = 'Date Range:'.
      LS_LINE-info  = UDATE-low.
      if not UDATE-high is initial.
        write ' To ' to  LS_LINE-info+30.
        LS_LINE-info+36 = UDATE-high.
      endif.
      APPEND LS_LINE TO P_FK_LIST_TOP_OF_PAGE.
    ENDFORM.                               " COMMENT_BUILD
          FORM TOP_OF_PAGE                                              *
          Ereigniss TOP_OF_PAGE                                       *
          event     TOP_OF_PAGE
    FORM TOP_OF_PAGE.
      PERFORM COMMENT_BUILD  USING gt_LIST_TOP_OF_PAGE[].
      CALL FUNCTION 'REUSE_ALV_COMMENTARY_WRITE'
        EXPORTING
          IT_LIST_COMMENTARY = GT_LIST_TOP_OF_PAGE.
    ENDFORM.                    "TOP_OF_PAGE
    *&      Form  show_status_report
    FORM SHOW_STATUS_REPORT .
    Report to show status.
      DATA: BEGIN OF T_TEDS2 OCCURS 0.
              INCLUDE STRUCTURE TEDS2.
      DATA: END OF T_TEDS2.
      DATA: BEGIN OF T_IDOC_CONTROL_TMP OCCURS 0.
              INCLUDE STRUCTURE EDIDC.
      DATA: END OF T_IDOC_CONTROL_TMP.
      CONSTANTS: C_STATUS_IN_IDOC_POSTED       LIKE EDIDC-STATUS VALUE '53'.
      DATA : T_EDIDS TYPE STANDARD TABLE OF EDIDS WITH HEADER LINE.
      DATA : T_EDIDD TYPE STANDARD TABLE OF EDIDD WITH HEADER LINE.
      DATA : GV_PARTNER_SEG TYPE E1EDKA1,
             GV_PO_REF_SEG  TYPE E2EDK02.
    Get text for status values
      SELECT * FROM TEDS2 INTO TABLE T_TEDS2 WHERE LANGUA = SY-LANGU.
    Read the IDoc's status after processing
      SELECT * FROM EDIDC
        INTO TABLE T_IDOC_CONTROL_TMP
       WHERE UPDDAT IN UDATE
         AND UPDTIM IN UTIME
         AND MESTYP = 'ORDERS'.
      LOOP AT T_IDOC_CONTROL_TMP.
      IDoc has been processed, since control record changed.
        READ TABLE T_TEDS2 WITH KEY STATUS = T_IDOC_CONTROL_TMP-STATUS.
        T_REPORT-IDOC_NO = T_IDOC_CONTROL_TMP-DOCNUM.
        T_REPORT-IDOC_DATE = T_IDOC_CONTROL_TMP-CREDAT.
        T_REPORT-IDOC_TIME = T_IDOC_CONTROL_TMP-CRETIM.
        T_REPORT-S_TEXT = T_TEDS2-DESCRP.
        IF T_IDOC_CONTROL_TMP-STATUS = C_STATUS_IN_IDOC_POSTED.
        ok status
          T_REPORT-STATUS = 'S'.
        ELSE.
        error status
          T_REPORT-STATUS = 'E'.
        ENDIF.
        Get IDoc details.
        CALL FUNCTION 'IDOC_READ_COMPLETELY'
          EXPORTING
            DOCUMENT_NUMBER         = T_REPORT-IDOC_NO
          TABLES
            INT_EDIDS               = T_EDIDS
            INT_EDIDD               = T_EDIDD
          EXCEPTIONS
            DOCUMENT_NOT_EXIST      = 1
            DOCUMENT_NUMBER_INVALID = 2
            OTHERS                  = 3.
      Get Error status
        READ TABLE T_EDIDS WITH KEY STATUS = T_IDOC_CONTROL_TMP-STATUS.
        IF SY-SUBRC EQ 0.
          REPLACE FIRST OCCURRENCE OF '&1' IN T_EDIDS-STATXT
                                WITH T_EDIDS-STAPA1.
          REPLACE FIRST OCCURRENCE OF '&2' IN T_EDIDS-STATXT
                                WITH T_EDIDS-STAPA2.
          REPLACE FIRST OCCURRENCE OF '&3' IN T_EDIDS-STATXT
                                WITH T_EDIDS-STAPA3.
          REPLACE FIRST OCCURRENCE OF '&4' IN T_EDIDS-STATXT
                                WITH T_EDIDS-STAPA4.
          REPLACE FIRST OCCURRENCE OF '&' IN T_EDIDS-STATXT
                                WITH T_EDIDS-STAPA1.
          REPLACE FIRST OCCURRENCE OF '&' IN T_EDIDS-STATXT
                                WITH T_EDIDS-STAPA2.
          REPLACE FIRST OCCURRENCE OF '&' IN T_EDIDS-STATXT
                                WITH T_EDIDS-STAPA3.
          REPLACE FIRST OCCURRENCE OF '&' IN T_EDIDS-STATXT
                                WITH T_EDIDS-STAPA4.
          T_REPORT-ERROR = T_EDIDS-STATXT.
        ENDIF.
        LOOP AT T_EDIDD.
          CASE T_EDIDD-SEGNAM.
            WHEN 'E1EDKA1'.
              GV_PARTNER_SEG = T_EDIDD-SDATA.
              CLEAR : T_REPORT-STP_NAME.
              CALL FUNCTION 'CONVERSION_EXIT_ALPHA_INPUT'
                EXPORTING
                  INPUT  = GV_PARTNER_SEG-PARTN
                IMPORTING
                  OUTPUT = T_REPORT-STP_NO.
              SELECT SINGLE NAME1 TELF1
                INTO (T_REPORT-STP_NAME,T_REPORT-STP_PHONE)
                FROM KNA1
               WHERE KUNNR = T_REPORT-STP_NO.
            WHEN 'E1EDK02'.
              GV_PO_REF_SEG = T_EDIDD-SDATA.
              T_REPORT-PO_NO = GV_PO_REF_SEG-BELNR.
          ENDCASE.
        ENDLOOP.
        APPEND T_REPORT.
      ENDLOOP .
      SORT T_REPORT BY STATUS IDOC_NO.
    Show Report
      PERFORM ALV_GRID.
    ENDFORM.                    " show_status_report
    thanks
    karthik
    reward me points if usefull.

  • How the idoc interfaces works..

    Hi...
    When we design a interfaces using Idocs... what is the actual process so that data get updated in SAP..
    I want to know the flow of the process...
    I have created Idoc structure in the system....but how the data will get into this...and from Idoc what makes the data to get updated into system....
    Just few lines will be helpfull..

    Hi,
    An IDoc is simply a data container that is used to exchange information between any two processes that can understand the syntax and semantics of the data...
    1.IDOCs are stored in the database. In the SAP system, IDOCs are stored in database tables.
    2.IDOCs are independent of the sending and receiving systems.
    3.IDOCs are independent of the direction of data exchange.
    The two available process for IDOCs are
    1) Outbound Process
    2) Inbound Process
    There are basically two types of IDOCs.
    1) Basic IDOCs: Basic IDOC type defines the structure and format of the business document that is to be exchanged between two systems.
    2) Extended IDOCs: Extending the functionality by adding more segments to existing Basic IDOCs.
    For creating a IDOC
    see the below steps for outbound processing IDOCS..
    1. Analyse Hierarchy Levels
    2. Create New segment
    3. Create New IDoc Type
    4. Create New Message Type
    5. Link Message with IDoc Type
    6. Create an entry in EDP13 via transactions WE20 and BD64
    7. Populate the Custom IDoc via ABAP Program
    7b Error Handling
    7c. Send Status Email
    8. Test the Population of the Custom IDoc
    Step 1 – Analyse Hierarchy Levels:
    Analyse the data relationships being processed in the interface. Define the appropriate hierarchical Parent-to-Child relationships.
    Navigate to transaction code WEDI
    Transaction WEDI displays the IDOC main menu. This allows navigation around the various development and control areas to create a customised IDOC.
    Step 2 – Create a new segment:
    via wedi : Development - IDOC Segments or Transaction code WE31.
    • Enter segment name and click on Create.
    name of the segment type must start with Z1 , and have a maximum&#61662;The of eight characters.
    • Enter description and enter the relevant field names and data elements.
    The segment should represent a structure in the program so each field in the segment a field name and a data element must be&#61662;for defined.
    • Save the segment and enter Person Responsible and Processing Person .
    • Go to Edit and Set Release.
    • Repeat this procedure for each new Segment in the IDOC.
    Step 3 – Create a new IDOC Type
    via wedi Development - IDOC Types or Transaction WE30.
    • Enter segment name (starting with Z), click on Basic Type and then Create.
    • Create as new, enter Person Responsible and Processing Person and enter description.
    • On ‘Create Basic Type’ screen decide where segments should be inserted and go to Edit/Create Segment.
    • Complete relevant fields in the Maintain Attributes screen:
    • From the relevant segments created in Step 2 enter the Segment type and if mandatory segment.
    • The Minimum and Maximum number of segments to be allowed in the sequence. (One minimum and one maximum if segment is mandatory).
    • The Parent Segment and Hierarchy Level will be automatically created depending on where in the IDOC tree you decided to create that particular segment.
    • Repeat this process for each segment needed in the IDOC type, deciding whether to add the next segments at the same level or as a ‘Child’.
    • When IDOC created return to initial screen. Go to Edit and Set Release.
    • Go to Transaction WE60 to view the IDoc Type you have created.
    Step 4 – Create new Message Type
    via wedi Development - Message Types or Transaction WE81.
    • Display/Change and click on New Entries
    • Create a new Message Type and Save.
    Step 5 – Link Message Type to IDOC Type
    via wedi Development - IDOC Type/Message or Transaction WE82.
    • Display/Change and then click on New Entries.
    • Enter Message Type, Basic Type (IDOC Type) and Release (46C) and Save.
    Step 6 – Create an entry in EDP13 via transactions WE20 and BD64.
    The partner profile for the Idoc must be set up and generated in the transaction BD64 and transaction WE20.
    • WE20 – Add Message Type to appropriate Partner Type, Enter Message Type, Receiver Port and Idoc Type and Save.
    • BD64 – Create a Model View, Enter Sender and Receiver Ports, Attach Message Type. Go to ‘Environment’ on Menu and click on Generate Partner Profiles and generate (not save) profile.
    Step 7 – Populate the custom IDOC via ABAP Program
    See Test Program ZOUTBD_IDOC_TEMPLATE, Appendix IV.
    • Create an Internal Table for each segment type, this should be exactly the same structure as the segment type.
    • The control record is filled into a structure like EDIDC. The message type and the Idoc type for the Idoc must be populated into the eddic structure.
    PERFORM populate_Control_structure USING c_mestyp
    c_SEGMENT_type1.
    • The data segments are filled into a structure like edidd-sdata; sdata and the segment name are populated into the edidd structure.
    PERFORM transfer_Parent_data_to_seg.
    • The standard SAP function module MASTER_IDOC_DISTRIBUTE is called to pass the populated IDOC to the ALE Layer.
    PERFORM master_idoc_distribute.
    • NOTE: This function module is only called for stand alone programs and Shared Master Data programs (SMD). It is not called when using extensions or output determination.
    • The ALE Layer handles the sending of the IDOC to the receiving system.
    • Error Handling (see Step 7b).
    • Commit work.
    Project SpecificStep 7b – Error Handling
    • Analyse which fields in the interface are mandatory for the receiving system and who needs to receive error notification.
    • Declare a structure of type ‘MCMAILOBJ’ for sending instructions.
    • Enter values for the internal table based on structure ‘MCMAILOBJ’
    • For selection processes, on SY-SUBRC checks and where fields are mandatory for the receiving system; insert Function Module ‘MC_SEND_MAIL’.
    • Enter values in the following parameters: -
    MS_MAIL_SENDMODE = ‘B’ (Batch Mode)
    MS_MAIL_TITLE = 'Mail Title'
    MS_MAIL_DESCRIPTION = ‘Error description’ (e.g. MATNR not given)
    MS_MAIL_RECEIVER = ‘Name of Receiver’ (To be determined)
    MS_MAIL_EXPRESS = ‘E’ (Express Delivery)
    MS_MAIL_DLINAME = Leave Blank
    MS_MAIL_LANGU = 'E' (Language)
    MS_MAIL_FUNKOBJ_NAME = Leave Blank
    TABLES
    MS_MAIL_CONT = I_MCMAILOBJ
    Note:
    It has to be determined separately for each interface how these errors and mail notifications are to be grouped – dependant upon the number of errors that are potentially likely. One possible approach is to send an email for each reason for rejection and include all the records that failed for that reason in the mail notification. Another possible approach is to send an email for every failure.
    When error checking for mandatory fields it is common SAP practice to reject a record on its first failure (irrespective of subsequent errors in that record)
    Step 7c – Send status mail
    • Append to table I_MCMAILOBJ details of the time the interface was processed, how many Idocs were created and how many of these produced a status of 03.
    • Select the user to receive the mail from ZINT_RECEIVER, using the name of the program as a key (SY-CPROG).
    • Use function Module ‘MC_SEND_MAIL’ to send a mail to the user containing the contents of I_MCMAILOBJ at the end of the interface processing.
    Step 8 – Test the population of the custom IDOC
    via wedi IDoc - Display IDoc or Transaction WE02.
    • Enter your message type and execute.
    • Status should be green, double click on one of the Idocs you have created to view its contents.
    • If a problem has occurred click on Status which will give you a description of the error.
    • Drop down Data Records arrow and this should list the data in the IDoc in the correct hierarchical structure.
    • Click on each individual segment and view the content to check that the correct data has been read.
    • If you have UNIX access by using AL11 you can view the file that you have created.
    Note:
    For some interfaces it may be valid to send an empty file to SAP. This empty file is converted to the custom IDOC format expected by SAP. This custom IDOC will contain dummy information. In the inbound processing code, if the dummy information is identified then the processing of the IDOC is considered to be complete and the IDOC should then be assigned a successfully processed status of 53, even though it has not been processed at all.
    hi,
    2.2 Inbound Interface
    Follow steps 1 to 5 inclusive as detailed above in outbound interface.
    Step 6
    Write a custom function module to handle custom inbound processing. This custom function module must
    • Check for the correct message type
    • Read the IDoc data segment
    • Perform data conversion and validate the data as appropriate
    • Post the data to the database
    • Handle any error situations
    • Set the correct return values for the status record
    Note that the Function Module must not make a commit to the database. This is because the status record is not written until control returns to the ALE layer. So if you commit work in the Function Module and an error occurs in returning to the ALE Layer, the status record must not be updated with a successful outcome.
    The commit work is executed in the ALE Layer after the status records are updated, via the standard SAP function module IDOC_INBOUND_PROCESS. This attributes of this function module are set up in (Transaction BD51), click on ‘New Entries’ and fill in data; the main input parameters being ‘Input Type’ and ‘Dialog Allowed’.
    Take care as some standard SAP transactions contain a Commit Work as part of their processing. Therefore using a BDC to process inbound data to SAP may not be acceptable. You need to check that the SAP transaction is ALE enabled.
    Step 7
    (Transaction WE57)
    Assign the custom function module to the IDoc type and the message type.
    Set function module to type ‘F’ and direction ‘2’ for inbound.
    Step 8
    (Transaction WE42)
    Create a new process code and assign it to the function module. The process code determines how the incoming IDoc is to be processed in SAP.
    Step 9
    (Transaction BD67)
    Assign the function module to the process code created above. Got to ‘New Entries’ and enter the process code and the function module name.
    Step 10
    (Transaction WE20 and Transaction BD64)
    Create a partner profile for your message and ensure that in transaction WE20 the process code is the one that points to your function module. (See step 6 of creating Outbound Idocs).
    Step 11
    Ensure that error handling functionality is present.
    Or Check these links.....
    ALE/ IDOC
    http://help.sap.com/saphelp_erp2004/helpdata/en/dc/6b835943d711d1893e0000e8323c4f/content.htm
    http://www.sapgenie.com/sapgenie/docs/ale_scenario_development_procedure.doc
    http://edocs.bea.com/elink/adapter/r3/userhtm/ale.htm#1008419
    http://www.netweaverguru.com/EDI/HTML/IDocBook.htm
    http://www.sapgenie.com/sapedi/index.htm
    http://www.sappoint.com/abap/ale.pdf
    http://www.sappoint.com/abap/ale2.pdf
    http://www.sapgenie.com/sapedi/idoc_abap.htm
    http://help.sap.com/saphelp_erp2005/helpdata/en/0b/2a60bb507d11d18ee90000e8366fc2/frameset.htm
    http://help.sap.com/saphelp_erp2005/helpdata/en/78/217da751ce11d189570000e829fbbd/frameset.htm
    http://www.allsaplinks.com/idoc_sample.html
    http://www.sappoint.com/abap.html
    http://help.sap.com/saphelp_erp2004/helpdata/en/dc/6b835943d711d1893e0000e8323c4f/content.htm
    http://www.sapgenie.com/sapgenie/docs/ale_scenario_development_procedure.doc
    http://edocs.bea.com/elink/adapter/r3/userhtm/ale.htm#1008419
    http://www.netweaverguru.com/EDI/HTML/IDocBook.htm
    http://www.sapgenie.com/sapedi/index.htm
    http://www.allsaplinks.com/idoc_sample.html
    Reward points if useful....
    Regards
    AK

  • Help With IDOC Change Pointers

    Hi guys,
    I'm trying an IDOC to file scenario. The scenario is working fine. I have activated change pointers for my IDOC. My understanding was that if there will be any change in my master tables, then because of the activated change pointers, the IDOC will be generated automatically. But in my case, for eg if i'm inserting any new record say Vendor data, no new IDOC is generated. For sending IDOC i have to use bd14 to send my IDOC explicitly.
    Is my idea of change pointers wrong???Or am i missing some setting, so that the IDOC should be generated automatically???
    Please help me on this guys...
    Regards
    Varun

    <b>Automatic generation of IDOC when we change the MASTER DATA:</b>
    <b>Change Pointers:</b>
    Change documents are working based on change document technique which
    tracks changes made to the key documents (Material Master, Customer Master,
    Vendor Master.Etc) in SAP.
    Changes made to the keydocuments are recorded in the change document Header
    table i.e. CDHDR and Item table CDPOS, Additional change pointers are written
    in the BDCP and BDCPS tables.
    Change pointers technique is used to initiate the outbound process automatically
    when master data is created or changed.
    A standard program RBDMIDOC is sechuled to run on periodic basis to evaluate the change pointers for a message type and starts the ALE process for distributing the Masterdata to the appropriate destination. 
    'Object' is collection of fields of different database tables. T.code for creating an object
    is SCDO.
    <b><u>Configuration for Change Pointers:</u></b>
    1. BD61 Active change pointers generally
         - Check the checkbox "Change pointers activated -generally"
         - Save it
    2. BD50 Active change pointers for Message Type
    Message Type     Active
    MATMAS              Check the check box
    3. SCDO Change Document Objects
         - Check whether the "MATERIAL" is available in the object list.      
    4. BD52 Maintain Table Views
    -     Enter the Message type "MATMAS" and press enter.
    For example
    OBJECT     TABLE NAME     FIELD NAME
    MATERIAL     MARA     BISMT
    5. BD60 Additional data for message types:
    For example:
    Message Type                Function Module                         Table
    MATMAS                 MASTERIDOC_CREATE_SMD_MATMAS        MARA
    6. WE21 Port
    7. WE20 Partner Profile
    8.  BD64 Distribution Model
    as michal said we have to use RBDMIDOC program.for executing this program we need to give message type like
    MATMAS or
    DEBMAS or
    CREMAS
    depending on your requirement.
    go to SE38 tcode
    --- copy RBDMIDOC to zprogram(i'e., ZRBDMIDOC)
    ---create variant
    use this zprogram(ZRBDMIDOC) in BACKGROUND SCHEDULING SM36
    <u>STEPS IN BACKGROUND SCHEDULING:</u>
    Use tcode SM36
    Click Job wizard in the button set
    Click Continue
    Enter Job name and press continue
    Select ABAP program and press Continue
    enter Program name and press continue
    and again press Continue
    set Schedule type immediately and continue
    Select periodic job checkbox, press continue
    Select none of the above and click on other periods – give one-minute and then press create
    Press continue and then press complete.
    recently i did this requirement
    if u have any doubts plz let me know
    Best Regards,
    Srikanth     
    Reward the useful answers and you will get one point yourself

Maybe you are looking for

  • Customer contact and business activity

    Hi, I have a requirement , When we create a Business activity in CRM that should should create and maintain in ISU( R3) as Customer contact with the same number range .. Like wise if I create a customer contact in ISU that should create in CRM as Bus

  • How to format external drive to MAC OS Extended w/ MBR scheme?

    Hello all, I have a Maxtor 1TB drive that I would like to format to MAC OS Extended (Journaled) but also using a Master Boot Record partition map scheme. Every time I try using the Disk Utility, I get a partition error. It will only let me partition

  • Illustrator 32-bit will not update to 17.0.1. Get U43M1D204

    Hi, I am running a Windows 7 64-bit machine with the latest updates and Adobe Cloud will not update the Illustrator 32-bit CC version to the 17.0.1 update even though I am logged in to the creative cloud.  The 64-bit of Illustrator CC update just fin

  • Can't start RoboHelp5 after I used trial of RH6

    I installed the trial version of RH6 on my computer. (Before doing so, I made backups of my project, in case of non compatibility with RH5). After the trial period I decided not to buy it yet and uninstalled RH6, because I couldn't find important dif

  • Ouicktime doesn't play my mpegs??

    I have uploaded mpegs from a Sony Camcorder but my macbook doesn't seem to play the mpeg files..help? It says quicktime needs a codex or smtg..I am french to ths please help. Dont understand why it doesnt show a simple camcorder recorded mpeg!!