<?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: Program to cancel PO? in Application Development and Automation Discussions</title>
    <link>https://community.sap.com/t5/application-development-and-automation-discussions/program-to-cancel-po/m-p/5614934#M1279298</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;Check this BAPI BAPI_PO_RESET_RELEASE&lt;/P&gt;&lt;P&gt;Or &lt;/P&gt;&lt;P&gt;Check this link..&lt;A class="jive_macro jive_macro_message" href="https://community.sap.com/" __jive_macro_name="message" modifiedtitle="true" __default_attr="2899862"&gt;&lt;/A&gt;&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
    <pubDate>Wed, 06 May 2009 06:28:18 GMT</pubDate>
    <dc:creator>Former Member</dc:creator>
    <dc:date>2009-05-06T06:28:18Z</dc:date>
    <item>
      <title>Program to cancel PO?</title>
      <link>https://community.sap.com/t5/application-development-and-automation-discussions/program-to-cancel-po/m-p/5614932#M1279296</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Hi all, &lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Is there any BAPI or FM to cancel the Purchase orders? &lt;/P&gt;&lt;P&gt;If no please provide the sample BDC program to cancel PO. &lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Thanks, &lt;/P&gt;&lt;P&gt;Vamshi.&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Wed, 06 May 2009 06:18:38 GMT</pubDate>
      <guid>https://community.sap.com/t5/application-development-and-automation-discussions/program-to-cancel-po/m-p/5614932#M1279296</guid>
      <dc:creator>Former Member</dc:creator>
      <dc:date>2009-05-06T06:18:38Z</dc:date>
    </item>
    <item>
      <title>Re: Program to cancel PO?</title>
      <link>https://community.sap.com/t5/application-development-and-automation-discussions/program-to-cancel-po/m-p/5614933#M1279297</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Go to me22n-enter the order no. which has to be cancelled/deleted-select the line item after then click the delete icon and save it. your po will got deleted/cancelled.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;if you want BDC then take a recording of above steps and write the program.&lt;/P&gt;&lt;P&gt; &lt;/P&gt;&lt;P&gt;AD&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Wed, 06 May 2009 06:26:29 GMT</pubDate>
      <guid>https://community.sap.com/t5/application-development-and-automation-discussions/program-to-cancel-po/m-p/5614933#M1279297</guid>
      <dc:creator>Former Member</dc:creator>
      <dc:date>2009-05-06T06:26:29Z</dc:date>
    </item>
    <item>
      <title>Re: Program to cancel PO?</title>
      <link>https://community.sap.com/t5/application-development-and-automation-discussions/program-to-cancel-po/m-p/5614934#M1279298</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;Check this BAPI BAPI_PO_RESET_RELEASE&lt;/P&gt;&lt;P&gt;Or &lt;/P&gt;&lt;P&gt;Check this link..&lt;A class="jive_macro jive_macro_message" href="https://community.sap.com/" __jive_macro_name="message" modifiedtitle="true" __default_attr="2899862"&gt;&lt;/A&gt;&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Wed, 06 May 2009 06:28:18 GMT</pubDate>
      <guid>https://community.sap.com/t5/application-development-and-automation-discussions/program-to-cancel-po/m-p/5614934#M1279298</guid>
      <dc:creator>Former Member</dc:creator>
      <dc:date>2009-05-06T06:28:18Z</dc:date>
    </item>
    <item>
      <title>Re: Program to cancel PO?</title>
      <link>https://community.sap.com/t5/application-development-and-automation-discussions/program-to-cancel-po/m-p/5614935#M1279299</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Hi Vamshi,&lt;/P&gt;&lt;P&gt;I also had similar requirement,when client uploaded cut-over data of 6000+ PO and unfortunately all were wrong.&lt;/P&gt;&lt;P&gt;I used BAPI to delete all line items for PO.The following is the BAPI code:&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;PRE&gt;&lt;CODE&gt;REPORT  ZMM_BAPI_PO_DELETE MESSAGE-ID ZSW LINE-SIZE 255.

DATA : W_EBELN TYPE BAPIMEPOHEADER-PO_NUMBER,
       WA_POHEADER TYPE BAPIMEPOHEADER,
       WA_POHEADERX TYPE BAPIMEPOHEADERX,
       RETURN TYPE TABLE OF BAPIRET2,
       WA_RETURN TYPE BAPIRET2,
       IT_POITEM TYPE TABLE OF BAPIMEPOITEM WITH HEADER LINE,
       IT_POITEMX TYPE TABLE OF BAPIMEPOITEMX WITH HEADER LINE.

DATA: IT_EXCELFILE TYPE ALSMEX_TABLINE OCCURS 0 WITH HEADER LINE.

DATA : BEGIN OF RECORD OCCURS 0,
        EBELN TYPE EKKO-EBELN,
      END OF RECORD.
DATA : BEGIN OF IT_EBELP OCCURS 0,
        EBELP TYPE EKPO-EBELP,
       END OF IT_EBELP.

DATA : BEGIN OF IT_FINAL OCCURS 0,
        EBELN TYPE EKKO-EBELN,
        TY TYPE BAPIRET2-TYPE,
        MESSAGE TYPE BAPIRET2-MESSAGE,
       END OF IT_FINAL.
*----------------------------------------------------------------------*
* Temporary work variables
*----------------------------------------------------------------------*

DATA : WRK_LI TYPE I,
       W_SUC(10) TYPE N,
       W_ERR(10) TYPE N.

FIELD-SYMBOLS : &amp;lt;L_FS&amp;gt; .

*----------------------------------------------------------------------*
*                     Selection-Screen                                 *
*----------------------------------------------------------------------*

SELECTION-SCREEN BEGIN OF BLOCK B1 WITH FRAME TITLE TEXT-001.
PARAMETERS :  P_INFILE  LIKE RLGRAP-FILENAME.
PARAMETERS : P_SKIP(2) TYPE N OBLIGATORY DEFAULT '1'.
SELECTION-SCREEN END OF BLOCK B1 .

*----------------------------------------------------------------------*
*                   AT SELECTION-SCREEN ON VALUE REQUEST               *
*----------------------------------------------------------------------*

AT SELECTION-SCREEN ON VALUE-REQUEST FOR P_INFILE.

  PERFORM OPEN_FILE.

*----------------------------------------------------------------------*
*                  AT Selection-Screen
*----------------------------------------------------------------------*

AT SELECTION-SCREEN.

  IF P_INFILE IS INITIAL.

    MESSAGE E000 WITH 'Please provide filename'.

  ENDIF.

  PERFORM READ_FILE.
*----------------------------------------------------------------------*
*                   START-OF-SELECTION                                 *
*----------------------------------------------------------------------*


START-OF-SELECTION.

  PERFORM MOVE_EXCEL_ITTABLE.

START-OF-SELECTION.

  LOOP AT RECORD.

    CLEAR : WA_POHEADER,WA_POHEADERX,W_EBELN,IT_EBELP,IT_POITEMX,IT_POITEM.
    REFRESH : IT_EBELP,IT_POITEMX,IT_POITEM,RETURN.

    W_EBELN = RECORD-EBELN.
    WA_POHEADER-PO_NUMBER = RECORD-EBELN.

    WA_POHEADERX-PO_NUMBER = 'X'.

    SELECT EBELP INTO TABLE IT_EBELP FROM EKPO WHERE EBELN = RECORD-EBELN.

    IF SY-SUBRC &amp;lt;&amp;gt; 0.

      IT_FINAL-EBELN = RECORD-EBELN.
      IT_FINAL-TY = 'E'.
      IT_FINAL-MESSAGE = 'This PO does not exist/No items found'.

      APPEND IT_FINAL.

      W_ERR = W_ERR + 1.

    ELSE.

      LOOP AT IT_EBELP.

        IT_POITEM-PO_ITEM = IT_EBELP-EBELP.
        IT_POITEM-DELETE_IND = 'L'.

        APPEND IT_POITEM.

        IT_POITEMX-PO_ITEM = IT_EBELP-EBELP.
        IT_POITEMX-DELETE_IND = 'X'.

        APPEND IT_POITEMX.

        CLEAR : IT_POITEMX,IT_POITEM.

      ENDLOOP.

      CALL FUNCTION 'BAPI_PO_CHANGE'
        EXPORTING
          PURCHASEORDER = W_EBELN
          POHEADER      = WA_POHEADER
          POHEADERX     = WA_POHEADERX
        TABLES
          RETURN        = RETURN
          POITEM        = IT_POITEM
          POITEMX       = IT_POITEMX.

      READ TABLE RETURN INTO WA_RETURN WITH KEY TYPE = 'E'.

      IF SY-SUBRC = 0.

        W_ERR = W_ERR + 1.

        LOOP AT RETURN INTO WA_RETURN.

          IT_FINAL-EBELN = RECORD-EBELN.
          IT_FINAL-TY = WA_RETURN-TYPE.
          IT_FINAL-MESSAGE = WA_RETURN-MESSAGE.

          APPEND IT_FINAL.
          CLEAR : WA_RETURN,IT_FINAL.

        ENDLOOP.

      ELSE.

        W_SUC = W_SUC + 1.

        CALL FUNCTION 'BAPI_TRANSACTION_COMMIT'
          EXPORTING
            WAIT = 'X'.

        LOOP AT RETURN INTO WA_RETURN.

          IT_FINAL-EBELN = RECORD-EBELN.
          IT_FINAL-TY = WA_RETURN-TYPE.
          IT_FINAL-MESSAGE = WA_RETURN-MESSAGE.

          APPEND IT_FINAL.
          CLEAR : WA_RETURN,IT_FINAL.

        ENDLOOP.

      ENDIF.
    ENDIF.
  ENDLOOP.

*----------------------------------------------------------------------*
*                   END-OF-SELECTION                                   *
*----------------------------------------------------------------------*

END-OF-SELECTION.

  ULINE.

  READ TABLE RECORD.

  WRITE : 'Total Records Processed : ' COLOR 4 ,SY-TFILL COLOR 4.

  WRITE : / 'Success Records : ' COLOR 5 ,W_SUC COLOR 5,
          / 'Error Records   : ' COLOR 6 ,W_ERR COLOR 6.

  ULINE.

  LOOP AT IT_FINAL.

    IF  IT_FINAL-TY &amp;lt;&amp;gt; 'E'.

      WRITE : / IT_FINAL-EBELN,'|',IT_FINAL-TY,'|',IT_FINAL-MESSAGE.

    ELSE.

      WRITE : / IT_FINAL-EBELN COLOR 6,'|',IT_FINAL-TY COLOR 6,'|',IT_FINAL-MESSAGE COLOR 6.

    ENDIF.

  ENDLOOP.

*&amp;amp;---------------------------------------------------------------------*
*&amp;amp;      Form  read_file
*&amp;amp;---------------------------------------------------------------------*

FORM READ_FILE .

  CALL FUNCTION 'ALSM_EXCEL_TO_INTERNAL_TABLE'
    EXPORTING
      FILENAME                = P_INFILE
      I_BEGIN_COL             = 1
      I_BEGIN_ROW             = 1
      I_END_COL               = 100
      I_END_ROW               = 65536
    TABLES
      INTERN                  = IT_EXCELFILE
    EXCEPTIONS
      INCONSISTENT_PARAMETERS = 1
      UPLOAD_OLE              = 2
      OTHERS                  = 3.

  IF IT_EXCELFILE[] IS INITIAL.
    MESSAGE E000.
  ENDIF.

ENDFORM.                    " read_file

*&amp;amp;---------------------------------------------------------------------*
*&amp;amp;      Form  OPEN_FILE
*&amp;amp;---------------------------------------------------------------------*
*       text
*----------------------------------------------------------------------*
FORM OPEN_FILE .

  CALL FUNCTION 'WS_FILENAME_GET'
    EXPORTING
      DEF_FILENAME     = SPACE
      DEF_PATH         = P_INFILE
      MASK             = ',*.* ,*.*.'
      MODE             = 'O'
      TITLE            = 'Please Select File'
    IMPORTING
      FILENAME         = P_INFILE
    EXCEPTIONS
      INV_WINSYS       = 04
      NO_BATCH         = 08
      SELECTION_CANCEL = 12
      SELECTION_ERROR  = 16.


ENDFORM.                    " open_file

*&amp;amp;---------------------------------------------------------------------*
*&amp;amp;      Form  MOVE_EXCEL_ITTABLE
*&amp;amp;---------------------------------------------------------------------*
*       text
*----------------------------------------------------------------------*
FORM MOVE_EXCEL_ITTABLE .

  REFRESH RECORD.
  CLEAR RECORD.
  DATA : WRK_ROW TYPE I.
  CLEAR: WRK_ROW.
  DATA : WRK_TABIX LIKE SY-TABIX.
  WRK_ROW = P_SKIP + 1.

  READ TABLE IT_EXCELFILE WITH KEY ROW = WRK_ROW.

  IF SY-SUBRC = 0.

    WRK_TABIX = SY-TABIX.

    LOOP AT IT_EXCELFILE FROM WRK_TABIX.

      ASSIGN COMPONENT IT_EXCELFILE-COL
      OF STRUCTURE RECORD TO &amp;lt;L_FS&amp;gt;.

      MOVE IT_EXCELFILE-VALUE TO &amp;lt;L_FS&amp;gt; .
      AT END OF ROW .

        IF RECORD IS NOT INITIAL.
          APPEND RECORD.
          CLEAR RECORD.
        ENDIF.
      ENDAT.
    ENDLOOP .

  ENDIF.

ENDFORM.                    "MOVE_EXCEL_ITTABLE
&lt;/CODE&gt;&lt;/PRE&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Thanks &amp;amp; Reagrds,&lt;/P&gt;&lt;P&gt;Rock.&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Wed, 06 May 2009 06:28:47 GMT</pubDate>
      <guid>https://community.sap.com/t5/application-development-and-automation-discussions/program-to-cancel-po/m-p/5614935#M1279299</guid>
      <dc:creator>Former Member</dc:creator>
      <dc:date>2009-05-06T06:28:47Z</dc:date>
    </item>
    <item>
      <title>Re: Program to cancel PO?</title>
      <link>https://community.sap.com/t5/application-development-and-automation-discussions/program-to-cancel-po/m-p/5614936#M1279300</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Hello Vamsi,&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;There is a BAPI to cancel a Release of PO --&amp;gt; &lt;STRONG&gt;BAPI_PO_RESET_RELEASE&lt;/STRONG&gt;.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Please check the same.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;-Syed.&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Wed, 06 May 2009 06:28:51 GMT</pubDate>
      <guid>https://community.sap.com/t5/application-development-and-automation-discussions/program-to-cancel-po/m-p/5614936#M1279300</guid>
      <dc:creator>Former Member</dc:creator>
      <dc:date>2009-05-06T06:28:51Z</dc:date>
    </item>
    <item>
      <title>Re: Program to cancel PO?</title>
      <link>https://community.sap.com/t5/application-development-and-automation-discussions/program-to-cancel-po/m-p/5614937#M1279301</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Hi all, &lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Thanks for the reply. &lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Hi Rock, &lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Problem solved. &lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Thanks, &lt;/P&gt;&lt;P&gt;Vamshi&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Wed, 06 May 2009 06:58:20 GMT</pubDate>
      <guid>https://community.sap.com/t5/application-development-and-automation-discussions/program-to-cancel-po/m-p/5614937#M1279301</guid>
      <dc:creator>Former Member</dc:creator>
      <dc:date>2009-05-06T06:58:20Z</dc:date>
    </item>
  </channel>
</rss>

