<?xml version="1.0" encoding="UTF-8"?>
<rss xmlns:content="http://purl.org/rss/1.0/modules/content/" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns:taxo="http://purl.org/rss/1.0/modules/taxonomy/" version="2.0">
  <channel>
    <title>topic Re: IDOC_QUERY in Application Development and Automation Discussions</title>
    <link>https://community.sap.com/t5/application-development-and-automation-discussions/idoc-query/m-p/1414542#M199501</link>
    <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Subhash,&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;In order to show the error in a IDOC, you will have to update the status record always like the one shown in the post. BDCMSGCOLL deals with BDC and NOT with IDOC's/&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Regards,&lt;/P&gt;&lt;P&gt;Ravi&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Note :Please mark the helpful answers&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
    <pubDate>Wed, 14 Jun 2006 14:45:27 GMT</pubDate>
    <dc:creator>Former Member</dc:creator>
    <dc:date>2006-06-14T14:45:27Z</dc:date>
    <item>
      <title>IDOC_QUERY</title>
      <link>https://community.sap.com/t5/application-development-and-automation-discussions/idoc-query/m-p/1414538#M199497</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Hi..&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;My requirement is that , I am processing an IDOC, and I am validating some conditions in the segments of the IDOC.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;I want to display an error message, if any of the conditions in any of the segments doesnt match with the required one.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;The error message, should come in red status with the text displayed on it just like any standard SAP IDOC error occurs.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;So, basically I want to show the error message as shown by Standard SAP programs in case of any mismatch.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Please tell me how shall I proceed for every segment(As tehre is a check in almost every segment of my IDOC)&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Thanks&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Wed, 14 Jun 2006 13:38:26 GMT</pubDate>
      <guid>https://community.sap.com/t5/application-development-and-automation-discussions/idoc-query/m-p/1414538#M199497</guid>
      <dc:creator>Former Member</dc:creator>
      <dc:date>2006-06-14T13:38:26Z</dc:date>
    </item>
    <item>
      <title>Re: IDOC_QUERY</title>
      <link>https://community.sap.com/t5/application-development-and-automation-discussions/idoc-query/m-p/1414539#M199498</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Hi subhash soni ,&lt;/P&gt;&lt;P&gt; &lt;/P&gt;&lt;P&gt;Check out this custom Function Module&lt;/P&gt;&lt;P&gt;Schedule it on the inbound system&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;FUNCTION Z_IDOC_INPUT_EMPREP.&lt;/P&gt;&lt;P&gt;*"----&lt;/P&gt;&lt;HR originaltext="-----------------------------------------------------------------" /&gt;&lt;P&gt;&lt;STRONG&gt;"&lt;/STRONG&gt;"Local interface:&lt;/P&gt;&lt;P&gt;*"  IMPORTING&lt;/P&gt;&lt;P&gt;*"     VALUE(INPUT_METHOD) LIKE  BDWFAP_PAR-INPUTMETHD&lt;/P&gt;&lt;P&gt;*"     VALUE(MASS_PROCESSING) LIKE  BDWFAP_PAR-MASS_PROC&lt;/P&gt;&lt;P&gt;*"  EXPORTING&lt;/P&gt;&lt;P&gt;*"     VALUE(WORKFLOW_RESULT) LIKE  BDWFAP_PAR-RESULT&lt;/P&gt;&lt;P&gt;*"     VALUE(APPLICATION_VARIABLE) LIKE  BDWFAP_PAR-APPL_VAR&lt;/P&gt;&lt;P&gt;*"     VALUE(IN_UPDATE_TASK) LIKE  BDWFAP_PAR-UPDATETASK&lt;/P&gt;&lt;P&gt;*"     VALUE(CALL_TRANSACTION_DONE) LIKE  BDWFAP_PAR-CALLTRANS&lt;/P&gt;&lt;P&gt;*"  TABLES&lt;/P&gt;&lt;P&gt;*"      IDOC_CONTRL STRUCTURE  EDIDC&lt;/P&gt;&lt;P&gt;*"      IDOC_DATA STRUCTURE  EDIDD&lt;/P&gt;&lt;P&gt;*"      IDOC_STATUS STRUCTURE  BDIDOCSTAT&lt;/P&gt;&lt;P&gt;*"      RETURN_VARIABLES STRUCTURE  BDWFRETVAR&lt;/P&gt;&lt;P&gt;*"      SERIALIZATION_INFO STRUCTURE  BDI_SER&lt;/P&gt;&lt;P&gt;*"  EXCEPTIONS&lt;/P&gt;&lt;P&gt;*"      WRONG_FUNCTION_CALLED&lt;/P&gt;&lt;P&gt;*"----&lt;/P&gt;&lt;HR originaltext="-----------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;----&lt;/STRONG&gt;&lt;/P&gt;&lt;HR originaltext="-----------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt; Database Tables&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;&lt;STRONG&gt;----&lt;/STRONG&gt;&lt;/P&gt;&lt;HR originaltext="-----------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  TABLES: ZAK_EMPLIST.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;----&lt;/STRONG&gt;&lt;/P&gt;&lt;HR originaltext="-----------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt; Include programs&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;&lt;STRONG&gt;----&lt;/STRONG&gt;&lt;/P&gt;&lt;HR originaltext="-----------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  INCLUDE MBDCONWF.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;----&lt;/STRONG&gt;&lt;/P&gt;&lt;HR originaltext="-----------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt; Data Declarations&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;&lt;STRONG&gt;----&lt;/STRONG&gt;&lt;/P&gt;&lt;HR originaltext="-----------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;*--- Employee Header -IDOC&lt;/P&gt;&lt;P&gt;  DATA: FS_EMPHDR_DATA LIKE Z1RKMSG.&lt;/P&gt;&lt;P&gt;*--- Employee Details -IDOC&lt;/P&gt;&lt;P&gt;  DATA: FS_EMPDET_DATA LIKE Z1RKMSG1.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;*--- Employee Header - application data&lt;/P&gt;&lt;P&gt;  DATA: FS_APP_EMPHDR LIKE ZAK_EMPLIST.&lt;/P&gt;&lt;P&gt;*--- Employee Details - application data&lt;/P&gt;&lt;P&gt;  DATA: FS_APP_EMPDET LIKE ZAK_EMPLIST.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;----&lt;/STRONG&gt;&lt;/P&gt;&lt;HR originaltext="-----------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt; Program Logic&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;&lt;STRONG&gt;----&lt;/STRONG&gt;&lt;/P&gt;&lt;HR originaltext="-----------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;*---Initialize Work Flow Result&lt;/P&gt;&lt;P&gt;  WORKFLOW_RESULT = C_WF_RESULT_OK.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  LOOP AT IDOC_CONTRL.&lt;/P&gt;&lt;P&gt;*--- Check whether the correct message was passed to us&lt;/P&gt;&lt;P&gt;  IF IDOC_CONTRL-MESTYP NE 'ZRKMSG'.&lt;/P&gt;&lt;P&gt;      RAISE WRONG_FUNCTION_CALLED.&lt;/P&gt;&lt;P&gt;  ENDIF.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;*--- Clear application buffers before reading a new record&lt;/P&gt;&lt;P&gt;  CLEAR   FS_APP_EMPDET.&lt;/P&gt;&lt;P&gt;  CLEAR   FS_APP_EMPHDR.&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt; REFRESH FS_APP_EMPDET.&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt; REFRESH FS_APP_EMPDET.&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;*--- Process all records and pass them on to application buffers&lt;/P&gt;&lt;P&gt;    LOOP AT IDOC_DATA WHERE DOCNUM EQ IDOC_CONTRL-DOCNUM.&lt;/P&gt;&lt;P&gt;      CASE IDOC_DATA-SEGNAM.&lt;/P&gt;&lt;P&gt;        WHEN 'Z1RKMSG'.            " Employee Header&lt;/P&gt;&lt;P&gt;          FS_EMPHDR_DATA = IDOC_DATA-SDATA.&lt;/P&gt;&lt;P&gt;          MOVE-CORRESPONDING FS_EMPHDR_DATA TO FS_APP_EMPHDR.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;        WHEN 'Z1RKMSG1'.            " Employee Details&lt;/P&gt;&lt;P&gt;          FS_EMPDET_DATA = IDOC_DATA-SDATA.&lt;/P&gt;&lt;P&gt;          MOVE-CORRESPONDING FS_EMPDET_DATA TO FS_APP_EMPDET.&lt;/P&gt;&lt;P&gt;      ENDCASE.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;    ENDLOOP.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;*--- If data is ok&lt;/P&gt;&lt;P&gt;  SELECT * FROM ZAK_EMPLIST WHERE ENUMBER = FS_APP_EMPHDR.&lt;/P&gt;&lt;P&gt;    IF SY-SUBRC NE 0.&lt;/P&gt;&lt;P&gt;      INSERT INTO ZAK_EMPLIST VALUES FS_APP_EMPHDR.&lt;/P&gt;&lt;P&gt;      INSERT INTO ZAK_EMPLIST VALUES FS_APP_EMPDET.&lt;/P&gt;&lt;P&gt;    ELSE.&lt;/P&gt;&lt;P&gt;      UPDATE ZAK_EMPLIST FROM FS_APP_EMPHDR.&lt;/P&gt;&lt;P&gt;      UPDATE ZAK_EMPLIST FROM FS_APP_EMPDET.&lt;/P&gt;&lt;P&gt;    ENDIF.&lt;/P&gt;&lt;P&gt;  ENDSELECT.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  IF SY-SUBRC EQ 0.&lt;/P&gt;&lt;P&gt;*--- Populate Return variables for success&lt;/P&gt;&lt;P&gt;      RETURN_VARIABLES-WF_PARAM    = 'Processed_IDOCs'.&lt;/P&gt;&lt;P&gt;      RETURN_VARIABLES-DOC_NUMBER  = IDOC_CONTRL-DOCNUM.&lt;/P&gt;&lt;P&gt;      RETURN_VARIABLES-WF_PARAM    = 'Appl_Objects'.&lt;/P&gt;&lt;P&gt;      RETURN_VARIABLES-DOC_NUMBER  = FS_APP_EMPHDR-ENUMBER.&lt;/P&gt;&lt;P&gt;      APPEND RETURN_VARIABLES.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;*--- Add Status Reocrds indicating success&lt;/P&gt;&lt;P&gt;      IDOC_STATUS-DOCNUM           = IDOC_CONTRL-DOCNUM.&lt;/P&gt;&lt;P&gt;      IDOC_STATUS-STATUS           = '53'.&lt;/P&gt;&lt;P&gt;      IDOC_STATUS-MSGTY            = 'I'.&lt;/P&gt;&lt;P&gt;      IDOC_STATUS-MSGID            = 'ZE'.&lt;/P&gt;&lt;P&gt;      IDOC_STATUS-MSGNO            = '006'.&lt;/P&gt;&lt;P&gt;      IDOC_STATUS-MSGV1            = FS_APP_EMPHDR-ENUMBER.&lt;/P&gt;&lt;P&gt;      APPEND IDOC_STATUS.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  ELSE.&lt;/P&gt;&lt;P&gt;      WORKFLOW_RESULT              = C_WF_RESULT_ERROR.&lt;/P&gt;&lt;P&gt;      RETURN_VARIABLES-WF_PARAM    = 'Error IDOCs'.&lt;/P&gt;&lt;P&gt;      RETURN_VARIABLES-DOC_NUMBER  = IDOC_CONTRL-DOCNUM.&lt;/P&gt;&lt;P&gt;      APPEND RETURN_VARIABLES.&lt;/P&gt;&lt;P&gt;*--- Add status record indicating failure in updating&lt;/P&gt;&lt;P&gt;      IDOC_STATUS-DOCNUM           = IDOC_CONTRL-DOCNUM.&lt;/P&gt;&lt;P&gt;      IDOC_STATUS-STATUS           = '51'.&lt;/P&gt;&lt;P&gt;      IDOC_STATUS-MSGTY            = 'E'.&lt;/P&gt;&lt;P&gt;      IDOC_STATUS-MSGID            = 'ZE'.&lt;/P&gt;&lt;P&gt;      IDOC_STATUS-MSGNO            = '007'.&lt;/P&gt;&lt;P&gt;      IDOC_STATUS-MSGV1            = FS_APP_EMPHDR-ENUMBER.&lt;/P&gt;&lt;P&gt;      APPEND IDOC_STATUS.&lt;/P&gt;&lt;P&gt;    ENDIF.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt; ENDLOOP.&lt;/P&gt;&lt;P&gt;ENDFUNCTION.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Good Luck and Reward me for the same&lt;/P&gt;&lt;P&gt;Thanks &lt;/P&gt;&lt;P&gt;Ashok&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Wed, 14 Jun 2006 13:51:28 GMT</pubDate>
      <guid>https://community.sap.com/t5/application-development-and-automation-discussions/idoc-query/m-p/1414539#M199498</guid>
      <dc:creator>ashok_kumar24</dc:creator>
      <dc:date>2006-06-14T13:51:28Z</dc:date>
    </item>
    <item>
      <title>Re: IDOC_QUERY</title>
      <link>https://community.sap.com/t5/application-development-and-automation-discussions/idoc-query/m-p/1414540#M199499</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Hi Subhash,&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;In standard IDOC error display process, error messages are logged into status table IDOC_STATUS.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;whenever you are validation some segment and if it is not valid, move the error data to idoc_status table.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;declare idoc_status table like :&lt;/P&gt;&lt;P&gt;IDOC_STATUS TYPE STRUCTURE  BDIDOCSTAT.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Move IDOC to the status table with status '51', type 'E' and relevant error message.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Code snippet will be like below :&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;loop at idoc_data where docnum eq idoc_contrl-docnum.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;    case idoc_data-segnam.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;*- Header record&lt;/P&gt;&lt;P&gt;      when 'Z1ORDACK3HDR'.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;        move idoc_data-sdata to z1ordack3hdr.&lt;/P&gt;&lt;P&gt;        if z1ordack3hdr is initial.&lt;/P&gt;&lt;P&gt;          idoc_status-docnum  = idoc_contrl-docnum.&lt;/P&gt;&lt;P&gt;          idoc_status-status = '51'.&lt;/P&gt;&lt;P&gt;          idoc_status-msgty  = 'E'.&lt;/P&gt;&lt;P&gt;          idoc_status-msgid  = 'ZV'.&lt;/P&gt;&lt;P&gt;          idoc_status-msgno  = '00'.&lt;/P&gt;&lt;P&gt;          idoc_status-msgv1  = 'Header data missing!'.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;          append idoc_status.&lt;/P&gt;&lt;P&gt;       endif.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Cheers,&lt;/P&gt;&lt;P&gt;Vikram&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Pls reward for helpful replies!!&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Wed, 14 Jun 2006 14:02:42 GMT</pubDate>
      <guid>https://community.sap.com/t5/application-development-and-automation-discussions/idoc-query/m-p/1414540#M199499</guid>
      <dc:creator>Former Member</dc:creator>
      <dc:date>2006-06-14T14:02:42Z</dc:date>
    </item>
    <item>
      <title>Re: IDOC_QUERY</title>
      <link>https://community.sap.com/t5/application-development-and-automation-discussions/idoc-query/m-p/1414541#M199500</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Hi Ashok&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Thanks a lot..&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Can we also use structure BDCMSGCOLL(Collecting messages in the SAP System) to collect messages instead of structure BDWFRETVAR keeping all other things constant?&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Wed, 14 Jun 2006 14:21:06 GMT</pubDate>
      <guid>https://community.sap.com/t5/application-development-and-automation-discussions/idoc-query/m-p/1414541#M199500</guid>
      <dc:creator>Former Member</dc:creator>
      <dc:date>2006-06-14T14:21:06Z</dc:date>
    </item>
    <item>
      <title>Re: IDOC_QUERY</title>
      <link>https://community.sap.com/t5/application-development-and-automation-discussions/idoc-query/m-p/1414542#M199501</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Subhash,&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;In order to show the error in a IDOC, you will have to update the status record always like the one shown in the post. BDCMSGCOLL deals with BDC and NOT with IDOC's/&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Regards,&lt;/P&gt;&lt;P&gt;Ravi&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Note :Please mark the helpful answers&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Wed, 14 Jun 2006 14:45:27 GMT</pubDate>
      <guid>https://community.sap.com/t5/application-development-and-automation-discussions/idoc-query/m-p/1414542#M199501</guid>
      <dc:creator>Former Member</dc:creator>
      <dc:date>2006-06-14T14:45:27Z</dc:date>
    </item>
  </channel>
</rss>

