<?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 BADI issues with SYNTAX in Application Development and Automation Discussions</title>
    <link>https://community.sap.com/t5/application-development-and-automation-discussions/badi-issues-with-syntax/m-p/2452382#M549641</link>
    <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;We want to access the following method using SAP badi. Implementation interface is IF_EX_ME_PROCESS_REQ_CUST. Implementation name is : Z_BBH_PREQ1.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Method: IF_RELEASABLE_MM~IS_RESET_REL_ALLOWED&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Parameter: RE_ALLOWED (Boolean)&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;We were having issues in accessing this method (syntax issues). &lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt; Once the parameter RE_ALLOWED is returned (as true or false) we can put in our logic (custom error messages).&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;method IF_EX_ME_PROCESS_REQ_CUST~PROCESS_ITEM .&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;*- Message the user about more than one cost centers in PR&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  DATA : s_exkn TYPE exkn,&lt;/P&gt;&lt;P&gt;         s_items TYPE MMPUR_ACCOUNTING_LIST,&lt;/P&gt;&lt;P&gt;         z_items TYPE MMPUR_ACCOUNTING_TYPE,&lt;/P&gt;&lt;P&gt;         s_knttp TYPE knttp,&lt;/P&gt;&lt;P&gt;         s_allowed TYPE mmpur_bool.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  CALL METHOD IM_ITEM-&amp;gt;IF_ACCT_CONTAINER_MM~GET_CATEGORY&lt;/P&gt;&lt;P&gt;    RECEIVING&lt;/P&gt;&lt;P&gt;      re_knttp = s_knttp.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  IF s_knttp NE 'F' AND s_knttp NE 'K' and s_knttp NE ''.&lt;/P&gt;&lt;P&gt;    MESSAGE e014(zmm).&lt;/P&gt;&lt;P&gt;  ENDIF.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  IF s_knttp EQ ''.&lt;/P&gt;&lt;P&gt;    Return.&lt;/P&gt;&lt;P&gt;  Else.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  CALL METHOD IM_ITEM-&amp;gt;IF_ACCT_CONTAINER_MM~GET_ITEMS&lt;/P&gt;&lt;P&gt;    RECEIVING&lt;/P&gt;&lt;P&gt;      re_items = s_items.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;    READ TABLE s_items INTO z_items INDEX 1.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;    CALL METHOD z_items-model-&amp;gt;GET_EXKN&lt;/P&gt;&lt;P&gt;      RECEIVING&lt;/P&gt;&lt;P&gt;        re_exkn = s_exkn.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;    IF s_knttp = 'F'.&lt;/P&gt;&lt;P&gt;      IF s_exkn-kostl &amp;lt;&amp;gt; ''.&lt;/P&gt;&lt;P&gt;        MESSAGE e002(zmm).&lt;/P&gt;&lt;P&gt;      ENDIF.&lt;/P&gt;&lt;P&gt;      IF s_exkn-aufnr = ''.&lt;/P&gt;&lt;P&gt;     MESSAGE e003(zmm).&lt;/P&gt;&lt;P&gt;      ENDIF.&lt;/P&gt;&lt;P&gt;      IF s_exkn-aufnr BETWEEN '000000030000' AND '000000049999'.&lt;/P&gt;&lt;P&gt;        MESSAGE e004(zmm).&lt;/P&gt;&lt;P&gt;      ENDIF.&lt;/P&gt;&lt;P&gt;      IF s_exkn-sakto = ''.&lt;/P&gt;&lt;P&gt;        MESSAGE e005(zmm).&lt;/P&gt;&lt;P&gt;      ENDIF.&lt;/P&gt;&lt;P&gt;      IF s_exkn-aufnr BETWEEN '000000010000' AND '000000019999'&lt;/P&gt;&lt;P&gt;        AND NOT s_exkn-sakto BETWEEN '0000080000' AND '0000080009'.&lt;/P&gt;&lt;P&gt;        MESSAGE e009(zmm).&lt;/P&gt;&lt;P&gt;      ELSEIF s_exkn-aufnr BETWEEN '000000020000' AND '000000029999'&lt;/P&gt;&lt;P&gt;        AND NOT s_exkn-sakto BETWEEN '0000080010' AND '0000080019'.&lt;/P&gt;&lt;P&gt;        MESSAGE e010(zmm).&lt;/P&gt;&lt;P&gt;      ELSEIF s_exkn-aufnr BETWEEN '000000050000' AND '000000059999'&lt;/P&gt;&lt;P&gt;        AND NOT s_exkn-sakto BETWEEN '0000080020' AND '0000080029'.&lt;/P&gt;&lt;P&gt;        MESSAGE e011(zmm).&lt;/P&gt;&lt;P&gt;      ELSEIF s_exkn-aufnr BETWEEN '000000060000' AND '000000069999'&lt;/P&gt;&lt;P&gt;        AND NOT s_exkn-sakto BETWEEN '0000080030' AND '0000080039'.&lt;/P&gt;&lt;P&gt;        MESSAGE e012(zmm).&lt;/P&gt;&lt;P&gt;      ELSEIF s_exkn-aufnr BETWEEN '000000280000' AND '000000689999'&lt;/P&gt;&lt;P&gt;        AND NOT s_exkn-sakto BETWEEN '0000080040' AND '0000080049'&lt;/P&gt;&lt;P&gt;      OR s_exkn-aufnr BETWEEN '000031000000' AND '000039999999'&lt;/P&gt;&lt;P&gt;        AND NOT s_exkn-sakto BETWEEN '0000080040' AND '0000080049'&lt;/P&gt;&lt;P&gt;      OR s_exkn-aufnr BETWEEN '000051000000' AND '000051999999'&lt;/P&gt;&lt;P&gt;        AND NOT s_exkn-sakto BETWEEN '0000080040' AND '0000080049'.&lt;/P&gt;&lt;P&gt;        MESSAGE e013(zmm).&lt;/P&gt;&lt;P&gt;      ENDIF.&lt;/P&gt;&lt;P&gt;    ELSEIF s_knttp = 'K'.&lt;/P&gt;&lt;P&gt;      IF s_exkn-kostl = ''.&lt;/P&gt;&lt;P&gt;        MESSAGE e007(zmm).&lt;/P&gt;&lt;P&gt;      ENDIF.&lt;/P&gt;&lt;P&gt;      IF s_exkn-aufnr &amp;lt;&amp;gt; ''&lt;/P&gt;&lt;P&gt;        AND NOT s_exkn-aufnr BETWEEN '000000030000' AND '000000049999'.&lt;/P&gt;&lt;P&gt;        MESSAGE e008(zmm).&lt;/P&gt;&lt;P&gt;      ENDIF.&lt;/P&gt;&lt;P&gt;      IF s_exkn-sakto = ''.&lt;/P&gt;&lt;P&gt;        MESSAGE e005(zmm).&lt;/P&gt;&lt;P&gt;      ENDIF.&lt;/P&gt;&lt;P&gt;      IF NOT s_exkn-sakto BETWEEN '0000050000' AND '0000069999'.&lt;/P&gt;&lt;P&gt;        MESSAGE e006(zmm).&lt;/P&gt;&lt;P&gt;      ENDIF.&lt;/P&gt;&lt;P&gt;    ENDIF.&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;   else.&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;   write:/ 'Release not possible, check the account assignment'.&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;   endif.&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;*----&lt;/P&gt;&lt;HR originaltext="--------------------------------------------" /&gt;&lt;P&gt;endif.&lt;/P&gt;&lt;P&gt;endmethod.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;I have to write a new code to Check for different cost center/order # on different requisition lines: Error message if cost center /order # do not match up on all lines. &lt;/P&gt;&lt;P&gt; &lt;/P&gt;&lt;P&gt;Can anyone help to rewrite the code for me. Thanks heaps&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
    <pubDate>Thu, 05 Jul 2007 18:42:55 GMT</pubDate>
    <dc:creator>Former Member</dc:creator>
    <dc:date>2007-07-05T18:42:55Z</dc:date>
    <item>
      <title>BADI issues with SYNTAX</title>
      <link>https://community.sap.com/t5/application-development-and-automation-discussions/badi-issues-with-syntax/m-p/2452382#M549641</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;We want to access the following method using SAP badi. Implementation interface is IF_EX_ME_PROCESS_REQ_CUST. Implementation name is : Z_BBH_PREQ1.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Method: IF_RELEASABLE_MM~IS_RESET_REL_ALLOWED&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Parameter: RE_ALLOWED (Boolean)&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;We were having issues in accessing this method (syntax issues). &lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt; Once the parameter RE_ALLOWED is returned (as true or false) we can put in our logic (custom error messages).&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;method IF_EX_ME_PROCESS_REQ_CUST~PROCESS_ITEM .&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;*- Message the user about more than one cost centers in PR&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  DATA : s_exkn TYPE exkn,&lt;/P&gt;&lt;P&gt;         s_items TYPE MMPUR_ACCOUNTING_LIST,&lt;/P&gt;&lt;P&gt;         z_items TYPE MMPUR_ACCOUNTING_TYPE,&lt;/P&gt;&lt;P&gt;         s_knttp TYPE knttp,&lt;/P&gt;&lt;P&gt;         s_allowed TYPE mmpur_bool.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  CALL METHOD IM_ITEM-&amp;gt;IF_ACCT_CONTAINER_MM~GET_CATEGORY&lt;/P&gt;&lt;P&gt;    RECEIVING&lt;/P&gt;&lt;P&gt;      re_knttp = s_knttp.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  IF s_knttp NE 'F' AND s_knttp NE 'K' and s_knttp NE ''.&lt;/P&gt;&lt;P&gt;    MESSAGE e014(zmm).&lt;/P&gt;&lt;P&gt;  ENDIF.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  IF s_knttp EQ ''.&lt;/P&gt;&lt;P&gt;    Return.&lt;/P&gt;&lt;P&gt;  Else.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  CALL METHOD IM_ITEM-&amp;gt;IF_ACCT_CONTAINER_MM~GET_ITEMS&lt;/P&gt;&lt;P&gt;    RECEIVING&lt;/P&gt;&lt;P&gt;      re_items = s_items.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;    READ TABLE s_items INTO z_items INDEX 1.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;    CALL METHOD z_items-model-&amp;gt;GET_EXKN&lt;/P&gt;&lt;P&gt;      RECEIVING&lt;/P&gt;&lt;P&gt;        re_exkn = s_exkn.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;    IF s_knttp = 'F'.&lt;/P&gt;&lt;P&gt;      IF s_exkn-kostl &amp;lt;&amp;gt; ''.&lt;/P&gt;&lt;P&gt;        MESSAGE e002(zmm).&lt;/P&gt;&lt;P&gt;      ENDIF.&lt;/P&gt;&lt;P&gt;      IF s_exkn-aufnr = ''.&lt;/P&gt;&lt;P&gt;     MESSAGE e003(zmm).&lt;/P&gt;&lt;P&gt;      ENDIF.&lt;/P&gt;&lt;P&gt;      IF s_exkn-aufnr BETWEEN '000000030000' AND '000000049999'.&lt;/P&gt;&lt;P&gt;        MESSAGE e004(zmm).&lt;/P&gt;&lt;P&gt;      ENDIF.&lt;/P&gt;&lt;P&gt;      IF s_exkn-sakto = ''.&lt;/P&gt;&lt;P&gt;        MESSAGE e005(zmm).&lt;/P&gt;&lt;P&gt;      ENDIF.&lt;/P&gt;&lt;P&gt;      IF s_exkn-aufnr BETWEEN '000000010000' AND '000000019999'&lt;/P&gt;&lt;P&gt;        AND NOT s_exkn-sakto BETWEEN '0000080000' AND '0000080009'.&lt;/P&gt;&lt;P&gt;        MESSAGE e009(zmm).&lt;/P&gt;&lt;P&gt;      ELSEIF s_exkn-aufnr BETWEEN '000000020000' AND '000000029999'&lt;/P&gt;&lt;P&gt;        AND NOT s_exkn-sakto BETWEEN '0000080010' AND '0000080019'.&lt;/P&gt;&lt;P&gt;        MESSAGE e010(zmm).&lt;/P&gt;&lt;P&gt;      ELSEIF s_exkn-aufnr BETWEEN '000000050000' AND '000000059999'&lt;/P&gt;&lt;P&gt;        AND NOT s_exkn-sakto BETWEEN '0000080020' AND '0000080029'.&lt;/P&gt;&lt;P&gt;        MESSAGE e011(zmm).&lt;/P&gt;&lt;P&gt;      ELSEIF s_exkn-aufnr BETWEEN '000000060000' AND '000000069999'&lt;/P&gt;&lt;P&gt;        AND NOT s_exkn-sakto BETWEEN '0000080030' AND '0000080039'.&lt;/P&gt;&lt;P&gt;        MESSAGE e012(zmm).&lt;/P&gt;&lt;P&gt;      ELSEIF s_exkn-aufnr BETWEEN '000000280000' AND '000000689999'&lt;/P&gt;&lt;P&gt;        AND NOT s_exkn-sakto BETWEEN '0000080040' AND '0000080049'&lt;/P&gt;&lt;P&gt;      OR s_exkn-aufnr BETWEEN '000031000000' AND '000039999999'&lt;/P&gt;&lt;P&gt;        AND NOT s_exkn-sakto BETWEEN '0000080040' AND '0000080049'&lt;/P&gt;&lt;P&gt;      OR s_exkn-aufnr BETWEEN '000051000000' AND '000051999999'&lt;/P&gt;&lt;P&gt;        AND NOT s_exkn-sakto BETWEEN '0000080040' AND '0000080049'.&lt;/P&gt;&lt;P&gt;        MESSAGE e013(zmm).&lt;/P&gt;&lt;P&gt;      ENDIF.&lt;/P&gt;&lt;P&gt;    ELSEIF s_knttp = 'K'.&lt;/P&gt;&lt;P&gt;      IF s_exkn-kostl = ''.&lt;/P&gt;&lt;P&gt;        MESSAGE e007(zmm).&lt;/P&gt;&lt;P&gt;      ENDIF.&lt;/P&gt;&lt;P&gt;      IF s_exkn-aufnr &amp;lt;&amp;gt; ''&lt;/P&gt;&lt;P&gt;        AND NOT s_exkn-aufnr BETWEEN '000000030000' AND '000000049999'.&lt;/P&gt;&lt;P&gt;        MESSAGE e008(zmm).&lt;/P&gt;&lt;P&gt;      ENDIF.&lt;/P&gt;&lt;P&gt;      IF s_exkn-sakto = ''.&lt;/P&gt;&lt;P&gt;        MESSAGE e005(zmm).&lt;/P&gt;&lt;P&gt;      ENDIF.&lt;/P&gt;&lt;P&gt;      IF NOT s_exkn-sakto BETWEEN '0000050000' AND '0000069999'.&lt;/P&gt;&lt;P&gt;        MESSAGE e006(zmm).&lt;/P&gt;&lt;P&gt;      ENDIF.&lt;/P&gt;&lt;P&gt;    ENDIF.&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;   else.&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;   write:/ 'Release not possible, check the account assignment'.&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;   endif.&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;*----&lt;/P&gt;&lt;HR originaltext="--------------------------------------------" /&gt;&lt;P&gt;endif.&lt;/P&gt;&lt;P&gt;endmethod.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;I have to write a new code to Check for different cost center/order # on different requisition lines: Error message if cost center /order # do not match up on all lines. &lt;/P&gt;&lt;P&gt; &lt;/P&gt;&lt;P&gt;Can anyone help to rewrite the code for me. Thanks heaps&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Thu, 05 Jul 2007 18:42:55 GMT</pubDate>
      <guid>https://community.sap.com/t5/application-development-and-automation-discussions/badi-issues-with-syntax/m-p/2452382#M549641</guid>
      <dc:creator>Former Member</dc:creator>
      <dc:date>2007-07-05T18:42:55Z</dc:date>
    </item>
    <item>
      <title>Re: BADI issues with SYNTAX</title>
      <link>https://community.sap.com/t5/application-development-and-automation-discussions/badi-issues-with-syntax/m-p/2452383#M549642</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Hello Mukunda&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Assuming that all information you require and that has to be checked can be found in EXKN the logic should look like this:&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;PRE&gt;&lt;CODE&gt;
DATA:
  ls_exkn         TYPE exkn,
  lt_exkn          TYPE STANDARD TABLE OF exkn.


...
s_items = IM_ITEM-&amp;gt;IF_ACCT_CONTAINER_MM~GET_ITEMS( ).

"READ TABLE s_items INTO z_items INDEX 1.  " Replaced by:

 REFRESH: lt_exkn.
" Collect requisition lines
 LOOP AT s_items INTO z_items.
   ls_exkn = z_items-model-&amp;gt;GET_EXKN( ).

  APPEND ls_exkn TO lt_exkn.
ENDLOOP.

IF ( lt_exkn IS NOT INITIAL ).
  READ TABLE lt_exkn INTO ls_exkn INDEX 1.

  LOOP AT lt_exkn TRANSPORTING NO FIELDS
                 WHERE ( kostl NE ls_exkn-kostl ).
    EXIT.
  ENDLOOP.
" At least one requisition line has a different cost center -&amp;gt; error
  IF ( syst-subrc = 0 ).
... " send error message
  ENDIF.

ENDIF. &lt;/CODE&gt;&lt;/PRE&gt;&lt;P&gt; &lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Regards&lt;/P&gt;&lt;P&gt;  Uwe&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Fri, 06 Jul 2007 03:49:22 GMT</pubDate>
      <guid>https://community.sap.com/t5/application-development-and-automation-discussions/badi-issues-with-syntax/m-p/2452383#M549642</guid>
      <dc:creator>uwe_schieferstein</dc:creator>
      <dc:date>2007-07-06T03:49:22Z</dc:date>
    </item>
  </channel>
</rss>

