Finding an idoc number from a given sales document

hi,
       please send me the code for the finding idoc number for a given sales document.
it is urgent............
thanks in advance..........

I written the code to find the idoc number for given Purchase order number,so you can change the code depends on your requirement
TYPE-POOLS: slis.
tables : edid4 , edidc ,edids ,lfa1,teds2.
DATA: t_fieldcatalog TYPE slis_t_fieldcat_alv.
DATA: s_fieldcatalog TYPE slis_fieldcat_alv.
DATA: s_layout TYPE slis_layout_alv.
DATA: text11 LIKE E1EDP02.
DATA: text111 LIKE E1MBXYI.
DATA: s_keyinfo TYPE slis_keyinfo_alv.
DATA: v_repid TYPE syrepid.
DATA: V_MSGNO LIKE T100-MSGNR.
*DATA: V_TEXT(90).
DATA : WA_EDIDS TYPE EDIDS.
data : begin of itab_edids occurs 0,
   user like edids-UNAME,
   date like edids-CREDAT,
   time like edids-cretim,
   idoc like edids-docnum,
  MESSAGETYPE like edidc-MESTYP,
  VENDOR LIKE EDIDC-SNDPRN,
  name like lfa1-name1,
  icon(1),
   EXPAND TYPE C,
end of itab_edids.
data : itab type edid4.
data : begin of itab_edidc occurs 0,
     doc_num like edidc-docnum,
     MESSAGETYPE like edidc-MESTYP,
   IDOCTYPE like edidc-DOCTYP,
   PARTNERNUMBER like edidc-RCVPRN,
   PARTNERTYPE like edidc-RCVPRT,
  MESSAGECODE like edidc-MESCOD,
  VENDOR LIKE EDIDC-SNDPRN,
  data like edidc-credat,
*include structure edidc.
  end of itab_edidc.
data : begin of itab_status occurs 0,
idoc like edids-docnum,
date_stauus like edids-logdat,
status_counter like edids-countr,
staTus like edids-status,
*descrp like teds2-descrp,
DESCRP(70),
ponumber like  ekpo-ebeln,
MESS LIKE edidc-MESTYP,
*appdoc like edids-stapa1,
end of itab_status.
data : text like edid4-sdata.
DATA: text1 LIKE E1EDK01.
data : begin of itab_teds1 occurs 0.
        include structure teds1.
data end of itab_teds1.
*selection-screen begin of block sb with frame title text-001.
*select-options:
   s_rsdat for edidc-CREDAT.
*selection-screen end of block sb.
DATA: f_fieldcatalog TYPE slis_fieldcat_alv.
selection-screen begin of block sb with frame title text-001.
parameters:
       p_su radiobutton group gp1,
       p_re radiobutton group gp1,
       p_al radiobutton group gp1.
select-options:
    s_rsdat for edids-creDAT,
    s_user for edids-uname.
selection-screen end of block sb.
initialization.
PERFORM INITIALIZATION.
start-of-selection.
PERFORM DATA_RETRIVAL.
PERFORM DATA_BASED_SELECTION.
PERFORM PASSING_ALV.
*select docnum mestyp doctyp rcvprn rcvprt mescod credat into
*table itab_edidc from edidc
*where credat in s_rsdat.
*CALL FUNCTION 'REUSE_ALV_FIELDCATALOG_MERGE'
*EXPORTING
*i_program_name = v_repid
*I_INTERNAL_TABNAME = 'ITAB_STATUS'
*CHANGING
*ct_fieldcat = t_fieldcatalog.
*CALL FUNCTION 'REUSE_ALV_FIELDCATALOG_MERGE'
*EXPORTING
*i_program_name = v_repid
*I_INTERNAL_TABNAME = 'ITAB_EDIDS'
*CHANGING
*ct_fieldcat = t_fieldcatalog.
s_LAYOUT-ZEBRA = 'X'.
*s_LAYOUT-SUBTOTALS_TEXT = 'SUBTOTAL'.
*s_LAYOUT-TOTALS_TEXT = 'TOTAL'.
*&      Form  INITIALIZATION
      text
-->  p1        text
<--  p2        text
FORM INITIALIZATION.
V_REPID = SY-REPID.
  s_keyinfo-header01 = 'IDOC'.
  s_keyinfo-item01 = 'IDOC'.
*s_layout-subtotals_text = 'SUBTOTAL TEXT'.
*s_layout-key_hotspot = 'X'.
*s_layout-expand_fieldname = 'EXPAND'.
  CALL FUNCTION 'REUSE_ALV_FIELDCATALOG_MERGE'
       EXPORTING
            i_program_name         = V_REPID
            I_INTERNAL_TABNAME     = 'ITAB_STATUS'
            I_INCLNAME = V_repid
       CHANGING
            ct_fieldcat            = T_fieldcatalog
       EXCEPTIONS
            INCONSISTENT_INTERFACE = 1
            PROGRAM_ERROR          = 2
            OTHERS                 = 3.
  CALL FUNCTION 'REUSE_ALV_FIELDCATALOG_MERGE'
       EXPORTING
            i_program_name         = V_REPID
            I_INTERNAL_TABNAME     = 'ITAB_EDIDS'
            I_INCLNAME = V_repid
       CHANGING
            ct_fieldcat            = T_fieldcatalog
       EXCEPTIONS
            INCONSISTENT_INTERFACE = 1
            PROGRAM_ERROR          = 2
            OTHERS                 = 3.
f_fieldcatalog-just = 'L'.
MODIFY t_fieldcatalog FROM f_fieldcatalog
TRANSPORTING just
WHERE  ( fieldname = 'IDOC' OR FIELDNAME = 'STATUS_COUNTER' ).
f_fieldcatalog-SELTEXT_L = 'Status Message'.
MODIFY t_fieldcatalog FROM f_fieldcatalog
TRANSPORTING SELTEXT_L
WHERE  fieldname = 'DESCRP'.
f_fieldcatalog-TECH = 'X'.
MODIFY t_fieldcatalog FROM f_fieldcatalog
TRANSPORTING TECH
WHERE  fieldname = 'EXPAND'.
f_fieldcatalog-REPTEXT_DDIC = 'Vendor Name'.
MODIFY t_fieldcatalog FROM f_fieldcatalog
TRANSPORTING REPTEXT_DDIC
WHERE  fieldname = 'NAME'.
*f_fieldcatalog-REPTEXT_DDIC = 'V Code 32122'.
*MODIFY t_fieldcatalog FROM f_fieldcatalog
*TRANSPORTING REPTEXT_DDIC
*WHERE  fieldname = 'VENDOR'.
ENDFORM.                    " INITIALIZATION
*&      Form  DATA_RETRIVAL
      text
-->  p1        text
<--  p2        text
FORM DATA_RETRIVAL.
select  uname credat cretim docnum into  table
itab_edids from edids
               where credat in s_rsdat and
                      uname in s_user and
                      countr = ' '.
select  uname credat cretim docnum from edids
*APPENDING CORRESPONDING FIELDS OF TABLE itab_edids
              where logdat in s_rsdat and
                     uname in s_user.
                     SELECT budat hkont belnr shkzg wrbtr FROM bsas
*APPENDING CORRESPONDING FIELDS OF TABLE it_temp WHERE hkont = w_glacct
*"wa_cb-gl_account
*AND bukrs IN (so_bukrs-low)
*AND budat < so_date-low.
  delete  adjacent duplicates from itab_edids.
  if not itab_edids[]  is initial.
     select docnum mestyp doctyp rcvprn rcvprt mescod SNDPRN credat into
    table itab_edidc from edidc for all entries in itab_edids
    where docnum = itab_edids-idoc.
  endif.
LOOP AT ITAB_edids.
   READ TABLE ITAB_EDIDC WITH KEY  DOC_NUM = ITAB_EDIDS-IDOC.
   itab_edids-messagetype = ITAB_EDIDC-MESSAGETYPE.
   itab_edids-VENDOR = ITAB_EDIDC-VENDOR.
   MODIFY ITAB_EDIDS.
   CLEAR ITAB_EDIDS.
   ENDLOOP.
DELETE ITAB_EDIDC WHERE MESSAGETYPE = 'ORDERS'.
loop at itab_edids.
read table itab_edidc with key doc_num  = itab_edids-idoc.
if sy-subrc ne 0.
delete itab_edids.
endif.
endloop.
select docnum logdat countr status into table itab_status from edids for
   all entries in itab_edidc where docnum = itab_edidc-doc_num.
   LOOP AT ITAB_STATUS.
   READ TABLE ITAB_EDIDC WITH KEY  DOC_NUM = ITAB_STATUS-IDOC.
   ITAB_STATUS-MESS = ITAB_EDIDC-MESSAGETYPE.
   MODIFY ITAB_STATUS.
   CLEAR ITAB_STATUS.
   ENDLOOP.
  loop at itab_status.
    clear : text ,text1 , text11, text111, itab.
   select single descrp from teds2 into itab_status-descrp
                          where status = itab_status-STATUS AND
                               LANGUA = 'E'.
   select single sdata into text from edid4 where
     DOCNUM =  itab_status-idoc and
     segnam = 'E1EDK01'.
*MOVE: text        TO text1,
     text1-BELNR TO itab_status-ponumber.
      itab_status-ponumber = text1-belnr.
   move text+83(30) to itab_status-ponumber.
   MODIFY ITAB_STATUS.
   clear itab_status.
IF itab_status-MESS = 'WMMBXY'.
   select single * from edid4  INTO ITAB where segnam = 'E1MBXYI' AND
                 HLEVEL = '02' AND DOCNUM = itab_status-idoc.
MOVE  : ITAB-SDATA  TO TEXT111 ,
text111-EBELN TO itab_status-ponumber.
**text1-BELNR TO ponumber.
ELSE.
select single * from edid4  INTO ITAB where segnam = 'E1EDP02' AND
                 HLEVEL = '03' AND DOCNUM = itab_status-idoc.
MOVE  : ITAB-SDATA  TO TEXT11 ,
*text1-EBELN TO ponumber.
text11-BELNR TO itab_status-ponumber.
endif.
    MODIFY ITAB_STATUS.
    clear itab_status.
  endloop.
ENDFORM.                    " DATA_RETRIVAL
*&      Form  PASSING_ALV
      text
-->  p1        text
<--  p2        text
FORM PASSING_ALV.
s_LAYOUT-EXPAND_FIELDNAME = 'EXPAND'.
DATA: t_events TYPE slis_t_event.
DATA: s_events LIKE LINE OF t_events.
s_events-form = 'TOP_OF_PAGE'.
s_events-name = 'TOP_OF_PAGE'.
APPEND s_events TO t_events.
s_layout-lights_fieldname = 'ICON'.
sort itab_status by status_counter descending. " -
mod3
  CALL FUNCTION 'REUSE_ALV_HIERSEQ_LIST_DISPLAY'
       EXPORTING
            i_callback_program = v_repid
            is_layout          = s_layout
            it_fieldcat        = t_fieldcatalog
            i_callback_user_command = 'USER_COMMAND'
            i_tabname_header   = 'ITAB_EDIDS'
            i_tabname_item     = 'ITAB_STATUS'
            IT_EVENTS          = t_events
            is_keyinfo         = s_keyinfo
       TABLES
            t_outtab_header    = itab_EDIDS
            t_outtab_item      = itab_STATUS
       EXCEPTIONS
            program_error      = 1
            OTHERS             = 2.
  IF sy-subrc <> 0.
MESSAGE ID SY-MSGID TYPE SY-MSGTY NUMBER SY-MSGNO
WITH SY-MSGV1 SY-MSGV2 SY-MSGV3 SY-MSGV4.
  ENDIF.
ENDFORM.                    " PASSING_ALV
*&      Form  DATA_BASED_SELECTION
      text
-->  p1        text
<--  p2        text
FORM DATA_BASED_SELECTION.
if p_su eq 'X'.
*loop at itab_status where status = '53'.
*select single stapa1 from edids into itab_status-appdoc
where  docnum = itab_status-idoc and status = '53'.
*delete itab_status where status ne '53'.
*modify itab_status.
*endloop.
delete itab_status where status ne '53'.
loop at itab_edids.
read table itab_status with key idoc = itab_edids-idoc binary search.
if sy-subrc ne 0.
delete itab_edids.
ELSE.
*SHIFT ITAB_EDIDS-IDOC LEFT  DELETING LEADING '0'.
MODIFY ITAB_EDIDS.
endif.
endloop.
LOOP AT ITAB_STATUS WHERE MESS NE 'WMMBXY'.
SELECT SINGLE * FROM EDIDS INTO WA_EDIDS WHERE DOCNUM = ITAB_STATUS-IDOC
AND COUNTR = ITAB_STATUS-STATUS_COUNTER.
IF  WA_EDIDS-STATXT CA '&'.
V_MSGNO = WA_EDIDS-STAMNO.
IF V_MSGNO NE '000'. "----mod3
CALL FUNCTION 'MESSAGE_PREPARE'
EXPORTING
msg_id = WA_EDIDS-STAMID
msg_no = V_MSGNO
MSG_VAR1 = wa_edids-stapa1
MSG_VAR2 = WA_EDIDS-STAPA2
MSG_VAR3 = WA_EDIDS-STAPA3
MSG_VAR4 = WA_EDIDS-STAPA4
IMPORTING
MSG_TEXT = itab_status-descrp.
CONDENSE ITAB_STATUS-DESCRP.
ENDIF."---- mod3
ELSE .
ITAB_STATUS-DESCRP = WA_EDIDS-STATXT.
ENDIF.
*SHIFT ITAB_STATUS-IDOC LEFT  DELETING LEADING '0'.
*SHIFT ITAB_STATUS-STATUS_COUNTER LEFT  DELETING LEADING '0'.
MODIFY ITAB_STATUS.
ENDLOOP.
LOOP AT ITAB_STATUS WHERE MESS EQ 'WMMBXY'.
SHIFT ITAB_STATUS-IDOC LEFT  DELETING LEADING '0'.
SHIFT ITAB_STATUS-STATUS_COUNTER LEFT  DELETING LEADING '0'.
ITAB_STATUS-DESCRP = 'APPLICATION DOCUMENT POSTED'.
MODIFY ITAB_STATUS.
ENDLOOP.
delete adjacent duplicates from  itab_edids comparing idoc.
elseif p_re eq 'X'.
loop at itab_status where status = '53'.
delete itab_edids where idoc = itab_status-idoc.
endloop.
loop at itab_status.
read table itab_edids with key idoc = itab_status-idoc binary search.
if sy-subrc ne 0.
delete itab_status.
endif.
endloop.
LOOP AT ITAB_STATUS.
SELECT SINGLE * FROM EDIDS INTO WA_EDIDS WHERE DOCNUM = ITAB_STATUS-IDOC
AND COUNTR = ITAB_STATUS-STATUS_COUNTER.
IF  WA_EDIDS-STATXT CA '&'.
V_MSGNO = WA_EDIDS-STAMNO.
IF V_MSGNO NE '000'. "----mod3
CALL FUNCTION 'MESSAGE_PREPARE'
EXPORTING
msg_id = WA_EDIDS-STAMID
msg_no = V_MSGNO
MSG_VAR1 = WA_EDIDS-STAPA1
MSG_VAR2 = WA_EDIDS-STAPA2
MSG_VAR3 = WA_EDIDS-STAPA3
MSG_VAR4 = WA_EDIDS-STAPA4
IMPORTING
MSG_TEXT = itab_status-descrp.
CONDENSE ITAB_STATUS-DESCRP.
endif. "-----mod3
ELSE .
ITAB_STATUS-DESCRP = WA_EDIDS-STATXT.
ENDIF.
SHIFT ITAB_STATUS-IDOC LEFT  DELETING LEADING '0'.
SHIFT ITAB_STATUS-STATUS_COUNTER LEFT  DELETING LEADING '0'.
MODIFY ITAB_STATUS.
ENDLOOP.
LOOP AT ITAB_EDIDS.
SHIFT ITAB_EDIDS-IDOC LEFT  DELETING LEADING '0'.
MODIFY ITAB_EDIDS.
ENDLOOP.
delete adjacent duplicates from  itab_edids comparing idoc.
elseif p_al eq 'X'.
delete adjacent duplicates from  itab_edids comparing idoc.
LOOP AT ITAB_STATUS." WHERE MESS NE 'WMMBXY'.
SELECT SINGLE * FROM EDIDS INTO WA_EDIDS WHERE DOCNUM = ITAB_STATUS-IDOC
AND COUNTR = ITAB_STATUS-STATUS_COUNTER.
IF  WA_EDIDS-STATXT CA '&'.
V_MSGNO = WA_EDIDS-STAMNO.
IF V_MSGNO NE '000'. "----mod3
CALL FUNCTION 'MESSAGE_PREPARE'
EXPORTING
msg_id = WA_EDIDS-STAMID
msg_no = V_MSGNO
MSG_VAR1 = WA_EDIDS-STAPA1
MSG_VAR2 = WA_EDIDS-STAPA2
MSG_VAR3 = WA_EDIDS-STAPA3
MSG_VAR4 = WA_EDIDS-STAPA4
IMPORTING
MSG_TEXT = itab_status-descrp.
CONDENSE ITAB_STATUS-DESCRP.
endif. "----mod3
ELSE .
ITAB_STATUS-DESCRP = WA_EDIDS-STATXT.
ENDIF.
*SHIFT ITAB_STATUS-IDOC LEFT  DELETING LEADING '0'.
*SHIFT ITAB_STATUS-STATUS_COUNTER LEFT  DELETING LEADING '0'.
MODIFY ITAB_STATUS.
ENDLOOP.
endif.
LOOP AT ITAB_EDIDS.
  if p_su EQ 'X'.
  itab_edids-icon = '3'.
  elseif p_re eq 'X'.
   itab_edids-icon = '1'.
   ELSE.
   read table itab_sTATUS with  key idoc = itab_EDIDS-idoc
                               STATUS  = '53' ."binary search.
   IF SY-SUBRC EQ 0.
    itab_edids-icon = '3'.
   ELSE.
   itab_edids-icon = '1'.
   ENDIF.
   ENDIF.
select single name1 from lfa1 into itab_edids-name where
            lifnr = itab_edids-vendor.
SHIFT ITAB_EDIDS-IDOC LEFT  DELETING LEADING '0'.
MODIFY ITAB_EDIDS.
clear itab_edids.
ENDLOOP.
loop at itab_status.
SHIFT ITAB_STATUS-IDOC LEFT  DELETING LEADING '0'.
SHIFT ITAB_STATUS-STATUS_COUNTER LEFT  DELETING LEADING '0'.
if itab_status-descrp is initial.
select single descrp from teds2 into itab_status-descrp
                           where status = itab_status-STATUS AND
                                LANGUA = 'E'.
endif.
MODIFY ITAB_STATUS.
clear itab_status.
endloop.
sort itab_status by idoc.
sort itab_edids by idoc.
ENDFORM.                    " DATA_BASED_SELECTION
*& Form TOP_OF_PAGE
text
FORM TOP_OF_PAGE.
SKIP.
ULINE.
IF P_SU EQ 'X'.
WRITE : / 'TITLE : SUCCESSFULLY POSTED IDOC', 50 'DATE :', SY-DATUM..
ELSEIF P_RE EQ 'X'.
WRITE : / 'TITLE : REJECTED IDOCS'  ,50 'DATE :', SY-DATUM.
ELSEIF P_AL EQ 'X'.
WRITE : / 'TITLE : ALL IDOCS' ,50 'DATE :', SY-DATUM.
ENDIF.
WRITE  :/9 'Successful-Green light  Unsuccessful-Red Light'.
format color COL_TOTAL intensified on.
WRITE : / 'NOTE  : DOUBLE CLICK TO SEE CORREPONDING IDOC AND PO'.
WRITE :/9 'DOUBLE CLICK IDOC NO ON HEADER LIST'.
WRITE :  'AND PO NUMBER ON DETAIL LIST'.
format color off.
ULINE.
SKIP.
ENDFORM. "TOP_OF_PAGE
FORM user_command *
--> UCOMM *
--> SELFIELD *
FORM user_command USING ucomm LIKE sy-ucomm
selfield TYPE slis_selfield.
DATA: WA_IDOC9 LIKE EDIDC-DOCNUM.
DATA: SELTAB     TYPE TABLE OF RSPARAMS,
      SELTAB_WA  LIKE LINE OF SELTAB.
RANGES : R_DATE FOR EDIDC-CREDAT." SY-DATUM.
IF ucomm = '&IC1'.
if SELFIELD-SEL_TAB_FIELD = 'ITAB_EDIDS-IDOC'.
READ TABLE itab_edids INDEX selfield-tabindex.
IF sy-subrc = 0.
CALL FUNCTION 'CONVERSION_EXIT_ALPHA_INPUT'
EXPORTING
INPUT = ITAB_edids-IDOC
IMPORTING
OUTPUT = WA_IDOC9.
*r_date-low = itab_edids-date.
*r_date-high = itab_edids-date.
*r_date-SIGN = 'I'.
*r_date-OPTION = 'BT'.
*append r_date.
SUBMIT RSEIDOC2  WITH DOCNUM = wa_idoc9
WITH CREDAT in R_DATE[]  AND RETURN.
ENDIF.
ELSEIF SELFIELD-SEL_TAB_FIELD = 'ITAB_STATUS-PONUMBER'.
READ TABLE itab_STATUS INDEX selfield-tabindex.
IF sy-subrc = 0.
SET PARAMETER ID 'BES' FIELD itab_sTATUS-PONUMBER.
CALL TRANSACTION 'ME23N' AND SKIP FIRST SCREEN.
ENDIF.
ENDIF.
ENDIF.
ENDFORM..
Thanks
Seshu

Similar Messages

  • How to find Outbound Idoc number from inbound Idoc number.

    Hi,
    I have one inbound Idoc in my system, then
    How to find the  idoc number from the system which sends that idoc(Outbound Idoc number).

    Hello
    You can use fm SREL_GET_NEXT_NEIGHBORS for this purpose.
    Scenario: An EDI purchase order is received by SAP-XI and forwarded as Inbound ORDERS IDoc to R/3. SAP-XI generates an (outbound) IDoc number which differs from the (inbound) ORDERS05 IDoc in the R/3 system.
    Calling fm SREL_GET_NEXT_NEIGHBORS with the following parameters:
    OBJECT-OBJKEY = <IDoc number, 16-digits>
    OBJECT-OBJTYPE = 'IDOC'
    MAX_HOPS = '99'            " <<< get all links
    I get the following result:
    0000000000133906                                   IDOC       CUSTOMER   OUTIDOC
    0000000000407402                                   IDOC                  INIDOC
    000000370383                                       BUS2012    CUSTOMER   OUTBELEG
    0010057944                                         BUS2032               INBELEG
    Outbound IDoc number
    Inbound IDoc number (ORDERS05)
    PO number
    Sales order (created from inbound ORDERS IDoc)
    Regards
      Uwe

  • How can we find the Idoc number which posts the material document in SAP

    Hi All,
    How can we find the Idoc number which posts the material document in SAP. We could not able to find the IDOC number from the material document which was posted by Idoc.
    Thanks
    Chandru

    Hi,
    In MIGO you can go to service of object(Just above show overview) and check 5th option workflow you will find the idoc number.
    regards
    suresh

  • Fiding valid idoc for the given sales document

    hi,
          Please send me the code for the 'finding whether valid IDOC  exists for a given sales document'..
    It is very urgent.....................
    Thanks in advance............

    If you are not familiar about manual steps check below..or else you can read directly from EDIDS table, just straight forward selection.
    VA02 or VA03
    >From menu>click System
    -->Click service for object
    -->Click Relationship
    -->You will see idoc number in case if order created from idoc
    Thanks,
    Narayan

  • Problem in finding Idoc number from Delivery document number(VERY URGENT)

    Hi experts,
    I have a delivery document number.Now i have to find the Idoc number for thet delivery document and extract some necessary data from one of the segment of that Idoc.So I am not able to find a link through tables .
    So I exact query is 'what is the selection method i have to follow to get the idoc number given the delivery document number'.
    Regards,
    Praveen.
    Edited by: Praveen Jada on Mar 14, 2008 12:15 PM

    That's what I meant, do the following query:
    DATA: LT_DOCNUM TYPE TABLE OF EDI_DOCNUM.
    SELECT DOCNUM
      INTO TABLE LT_DOCNUM
      FROM EDID4
      WHERE SEGNAM EQ 'E1EDL20'
      AND SDATA EQ '0001234567%'.
    This will list you all the IDOC numbers in which delivery number 0001234567 appear in the delivery header segment.
    Depending on your process it's probably going to be one entry only.
    Hope that clarifies it,
    Michael

  • Getting valid idoc number from the sales document

    hi,
    Iam sending the code for getting the idoc number from sales document.
    but iam not getting the result.
    please see the code and correct the code so that i will get the idoc number from the sales document.
    tables edid4.
    data l_docnum like edid4-docnum.
    parameters:p_vbeln like vbak-vbeln.
    call function 'CONVERSION_EXIT_ALPHA_INPUT'
      exporting
        input         = p_vbeln
    IMPORTING
       OUTPUT        = p_vbeln
    select single docnum from edid4 into l_docnum where sdata like '&p_vbeln&'.
    if sy-subrc = 0.
    write edid4-docnum.
    else.
    write ' the record is not found'.
    endif.
    it is very urgent..............
    thanks in advance......

    See the below code :
    report zxyz.
    tables edid4.
    data l_docnum like edid4-docnum.
    parameters:p_vbeln like vbak-vbeln.
    <b>data sdata like edid4-sdata.</b>
    start-of-selection.
    call function 'CONVERSION_EXIT_ALPHA_INPUT'
    exporting
    input = p_vbeln
    IMPORTING
    OUTPUT = p_vbeln
    <b>concatenate '%' p_vbeln '%' into sdata.</b>
    select single docnum from edid4 into l_docnum
                  where sdata like <b>sdata.</b>
    if sy-subrc = 0.
    write edid4-docnum.
    else.
    write ' the record is not found'.
    endif.
    Thanks
    Seshu

  • Get IDoc-number from flat IDoc using dynamic configuration

    Dear experts
    In an IDoc2File scenario I have added the IDoc-number to dynamic configuration using the folling code in an UDF:
    DynamicConfiguration conf = (DynamicConfiguration)
    container.getTransformationParameters().get(StreamTransformationConstants.DYNAMIC_CONFIGURATION);
    DynamicConfigurationKey FileName = DynamicConfigurationKey.create("http:/"+"/sap.com/xi/XI/System/File","DOCNUM");
    conf.put(FileName, a);
    The information is stored in the SOAP message
    <SAP:DynamicConfiguration SOAP:mustUnderstand="1">
      <SAP:Record namespace="http://sap.com/xi/XI/System/File" name="DOCNUM">0000000000012345</SAP:Record>
    </SAP:DynamicConfiguration>
    Can anybody tell me how I can access this information in the "variable substitution" section of the CC? Perhaps something like "message:docnum"?
    Additional information:
    Taking the IDoc-number from the payload using e.g. "payload:ORDERS05,1,IDOC,1,EDI_DC40,1,DOCNUM,1" does not work, since the XML-IDoc has been converted to an flat-IDoc.
    Thanks in advance for any good ideas
    Markus

    Dear Rodrigo and Sarvesh
    Thanks for your help so far! I applied your hints and now it is working fine.
    But now I have the following additional questions
    1.) My message mapping only maps the input IDoc to an output IDoc of the same type and structure. The MM is only required to process the UDF. Is there another, better solution to achieve my requirement that the IDoc-number shall be part of the filename?
    2.) In the CC you have the possibility to use temporary files (section "Processing", Option "Put File" = "Use Temporary File". I think this will not work with the given solution, will it?
    To possibly help somebody else or clarify the mechanism once again, I wrote down how my solution now looks like.
    My UDF in the message-mapping looks like this
    - Input = DOCNUM of IDoc, e.g. ORDERS05/IDOC/EDIDC/DOCNUM
    - Outpt = DOCNUM of IDoc, e.g. ORDERS05/IDOC/EDIDC/DOCNUM
    - UDF:
    public String putDynamicConfiguration(String docnum, Container container) throws StreamTransformationException{
    try
         DynamicConfiguration conf = (DynamicConfiguration) container.getTransformationParameters().get(StreamTransformationConstants.DYNAMIC_CONFIGURATION);
         DynamicConfigurationKey key = DynamicConfigurationKey.create("http://sap.com/xi/XI/System/File","FileName");
         String filename = "Prefix_" + docnum + ".txt";
         conf.put(key, filename);
         return docnum;
    catch (Exception e)
         return docnum;
    In the CC the settings are now as follows
    File Name Scheme = . -> only a dot or something else, because this field is obligatory, even if it is not used in this case.
    Variable substitution (...)
        Enable -> unchecked
    Adapter-Specific Message Attributes
        Use Adapter-Specific Message Attributes -> checked
        Fail If Adapter-Specific Message Attributes Missing -> checked
        File Name -> checked
        Directory, File Type, Temporary Name Scheme for Target File Name -> unchecked
    When I send an IDoc to PI and view the Adapte-Engine Version of the message (the SOAP-document, not the payload) I can find the Filename:
    <SAP:DynamicConfiguration SOAP:mustUnderstand="1">
    <SAP:Record namespace="http://sap.com/xi/XI/System/File" name="FileName">Prefix_0000000000012345.txt</SAP:Record>
    </SAP:DynamicConfiguration>

  • Unable to find the IDOC number in WE02

    HI All,
    I have executed an outbound program from SM37 and i can see that job got finished in the log.
    but when i check the spool, it doesnt contain any list and also i am unable to find the Idoc number in WE02.
    I am not clear in this. Please expalin me in detail.

    Hi there,
    Go to Sales order screen, In the main screen below the command line, one button will be there " Services for object" Click that...... It will open one tool bar.... on that tool bar one icon will be there with thee arrow ..... Click on that,,,,, and here you can see the idoc number....
    Thanks,
    Raja

  • Retreiving latest IDOC number from Invoice number

    Hi,
    I am interested in retreiving latest IDOC number from a Invoice.
    Usually we have multiple IDOC numbers for same Invoice number.
    This is a report requirement.
    thank you.
    praveen

    Hi,
    Use NAST with the invoice to get the latest record for that output type..
    use the table CMFP to get the IDOC number..The combination is
    NAST-CMFPNR = CMFP-CMFPNR..
    Then in the column CMFP-MSGV1 you can find the idoc number..
    Thanks,
    Naren

  • How can i find differnet output types for a given sales order ?

    hi all,
    answer my question please........?
    how can i find differnet output types for a given sales order ?

    hi
    check in NACO transaction if you have assigned access sequence to your output ytpes and if you have ticked checkbox "Access to output conditions" - otherwise it will not even try to access condition records.
    From help :
    Access to output conditions
    Indicates whether the system determines the output by searching for valid
    condition records.
    Procedure
    If you want the system to search condition records for the appropriate
    output, mark the field.
    Note
    If you leave the field blank and if you are processing sales, shipping,
    or billing documents, the system automatically determines output from
    information stored in the customer master record.
    regards
    ravish
    <b>plz reward points if helpful</b>

  • Finding out Idoc number of the Invoice List

    Hi!
    how to find out Idoc numberr if I have number of Invoice List?
    For example, I have number of Invoice List for checking it in tcode VF22, but how to get Idoc number of the Invoice List in order to check it in WE02?
    Will reward,
    Mindaugas

    Hi,
         Use NAST with the invoice to get the latest record for that output type..
    use the table CMFP to get the IDOC number..The combination is
    NAST-CMFPNR = CMFP-NR..
    Then in the column CMFP-MSGV1 you can find the idoc number
    <b>Reward points</b>
    Regards

  • Copy PO Number from contract to sales order

    Hi,
    My clients requirement is that when i create sales order with reference to contract the PO Number should be copied from contract to sales order other wise we have to enter PO Number every time while creating the sales order.
    Please guide me.

    Hi
    Small change in the program will copy the PO number from Contract to sales order.In case need take help of ABAPer
    Data which is not copied
      LOCAL: VBKD-FKDAT.
      LOCAL: VBKD-FPLNR.
      LOCAL: VBKD-WKWAE.
      LOCAL: VBKD-WKKUR.
      LOCAL: VBKD-DELCO.
      LOCAL: VBKD-BSTKD.
      LOCAL: VBKD-ABSSC.
      LOCAL: VBKD-BSTDK.
    In your data declaration, you have
    LOCAL: VBKD-BSTDK
    Please comment out this line and your purchase order should be copied over. You might also have to comment out some of the other fields which are declared locally if you wish to copy them as well.
    Ramesh

  • Find ipad serial number from icloud backup?

    Someone stole my ipad and erased it so that i couldn't use find my ipad to find it. The thing is I saw it online (Im sure it's mine because my screen was broken) but I need my serial number in order to confirm this (Yes the guy put the serial number in the picture online). Is there a way to find the serial number from my icloud backup?

    Not from your iCloud backup, no.
    If you registered your iPad, you can recover the serial number from the 'My Profile' site:

  • How can I find my IMEI number from icloud

    I have lost my iPhone and as I do not have a PC or Laptop I haven't backed it up to itunes. I have however, got an icloud account that it is backed up to. How can I find the IMEI number from icloud?

    See: http://support.apple.com/kb/HT4061
    and: http://support.apple.com/kb/HT4946

  • To find the IDOC number with SOBID information

    Hi Experts,
      I have an employee information like VARYF, SEQNR, AEDTM, UNAME, ITXNR, SCLAS, SOBID and PROZT.
    Some outbound IDOC number has stopped its process to the SRM system.
    I want to know thw IDOC number.
    Please help me in finding out the transaction to find the IDOC number with the SOBID or OBJECTID information.
    Thanks in Advance.
    Ramya Sekar

    Look at transaction WE09.
    Other IDOC information can be found through WEDI.

Maybe you are looking for

  • DirectX problems - Onboard video problems? K9VGM-V

    I am having problems with loading the new Nero suite (7.xx) version.  It keeps coming back with a DirectX error.  The guys at Ahead are telling the same thing.  My question is:  Can I use DirectX 9.0c using the onboard video?  I don't know what bios

  • Score variables to PHP?

    I was wondering how the score and question tracking variables where named in Captivate. I am trying tpo capture them with the POST methods and then save the scores in a MySQL database. I can do it with Flash because I know what the variables are name

  • Updating to iOS 5.1.1 computer or iTunes will not recognize the device

    Ok I have tried everything possible short of going to the apple store. My computer will not recognize my Ipod and it will not show in iTunes. The computer makes a noise when I plug the device in but nothing happens. The iPod is stuck on the dfu scree

  • Siri keeps telling me something is wrong and can't answer anything. What do I do?

    I just received my iPhone 5 yesterday, and everytime I try to use Siri she tells me something went wrong and to try again. Is there something I can do to fix this?

  • Impossible to activate "sharing"

    Hi, I use a powerbook 12".... since 2 weeks ago I am unable to activate "sharing files" in the preference panel... I am able to connect to see the computers in my network but when I want to connect to one of them it is not possible....The computer ge