<?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: to stop repeating in Application Development and Automation Discussions</title>
    <link>https://community.sap.com/t5/application-development-and-automation-discussions/to-stop-repeating/m-p/3066432#M726665</link>
    <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;data: begin of itab,&lt;/P&gt;&lt;P&gt;         docno&lt;/P&gt;&lt;P&gt;         tax&lt;/P&gt;&lt;P&gt;        end of itab.&lt;/P&gt;&lt;P&gt;data: fl type c.&lt;/P&gt;&lt;P&gt;sort itab by docno.&lt;/P&gt;&lt;P&gt;loop at itab.&lt;/P&gt;&lt;P&gt;at new docno.&lt;/P&gt;&lt;P&gt;    fl = 'X'.&lt;/P&gt;&lt;P&gt;endat.&lt;/P&gt;&lt;P&gt;  if fl = 'X'.&lt;/P&gt;&lt;P&gt;    write:/ itab-docno, itab-tax.&lt;/P&gt;&lt;P&gt;    clear fl.&lt;/P&gt;&lt;P&gt;  else.&lt;/P&gt;&lt;P&gt;    write: itab-tax.&lt;/P&gt;&lt;P&gt;  endif.&lt;/P&gt;&lt;P&gt;endloop.&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
    <pubDate>Thu, 29 Nov 2007 05:55:16 GMT</pubDate>
    <dc:creator>Former Member</dc:creator>
    <dc:date>2007-11-29T05:55:16Z</dc:date>
    <item>
      <title>to stop repeating</title>
      <link>https://community.sap.com/t5/application-development-and-automation-discussions/to-stop-repeating/m-p/3066429#M726662</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;hi guys.....i have a requirement as below&lt;/P&gt;&lt;P&gt;my output is as per the database &lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;example: &lt;/P&gt;&lt;P&gt;doc: ' tax1 ' tax2 ' tax3..........'taxn&lt;/P&gt;&lt;P&gt;009 ' 1% ' 0 ' 0............'..&lt;/P&gt;&lt;P&gt;009 ' 0 ' 2% ' 0............'...&lt;/P&gt;&lt;P&gt;009 ' 0 ' 0 ' 3%.........'....&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;the same document number has three different taxes or even more&lt;/P&gt;&lt;P&gt;so the requirement is to print all the taxes in one row for given document number&lt;/P&gt;&lt;P&gt;example:&lt;/P&gt;&lt;P&gt;docno: tax1 tax2 tax3..........taxn&lt;/P&gt;&lt;P&gt;009 1% 2% 3% ............n%&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;thank you in advance&lt;/P&gt;&lt;P&gt;Vikram.&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Wed, 28 Nov 2007 16:24:11 GMT</pubDate>
      <guid>https://community.sap.com/t5/application-development-and-automation-discussions/to-stop-repeating/m-p/3066429#M726662</guid>
      <dc:creator>Former Member</dc:creator>
      <dc:date>2007-11-28T16:24:11Z</dc:date>
    </item>
    <item>
      <title>Re: to stop repeating</title>
      <link>https://community.sap.com/t5/application-development-and-automation-discussions/to-stop-repeating/m-p/3066430#M726663</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Hi Vikram,&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;do like this&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;PRE&gt;&lt;CODE&gt;data: wa1 like line of wa,
        lv_lines type i,
        cnt type i.
descibe table itab lines lv_lines.
loop at itab into wa.
 cnt = cnt + 1.
 if wa-doc = wa1-doc.
  delete itab from wa.
  modify itab from wa.
 endif.
 if cnt = lv_lines.
  exit.
 endif.
wa1 = wa.
endloop.&lt;/CODE&gt;&lt;/PRE&gt;&lt;P&gt;&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;Satish&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Wed, 28 Nov 2007 16:43:40 GMT</pubDate>
      <guid>https://community.sap.com/t5/application-development-and-automation-discussions/to-stop-repeating/m-p/3066430#M726663</guid>
      <dc:creator>Former Member</dc:creator>
      <dc:date>2007-11-28T16:43:40Z</dc:date>
    </item>
    <item>
      <title>Re: to stop repeating</title>
      <link>https://community.sap.com/t5/application-development-and-automation-discussions/to-stop-repeating/m-p/3066431#M726664</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;hi satish this the code....if u get more clarity post a message...thank you for the helpful answer.....Vikram&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;PRE&gt;&lt;CODE&gt;*&amp;amp;---------------------------------------------------------------------*
*&amp;amp;  Include           ZJ_1ISTAD2
*&amp;amp;---------------------------------------------------------------------*
TABLES : BSET ,                   "Tax data document segment
         BKPF ,                   "Accounting document header
         bseg,
         T001 ,                   "Company Codes
         T001W,                   "plant / branches
         T005 ,                   "Countries
         T005U,                   "taxes region key : texts
         T007A,                   "Tax keys
*        t007b ,                  "Taxation procedure in accounting
         T007S,                   "Tax Code Names
*        mara,                    "Material Master: General Data
         EKBE,                    "History of Purchasing Document
         VBFA,                    "Sales Document Flow
         EKPO,
         KNA1,
         EKPA,                    "partner roles in purchasing
         EKKO,                    "Purchasing Document Header
         LFA1,                    "Vendor Master general selections
         VBRP,
         TVST,
         SADR,
         VBPA,
         LIPS.

DATA : BEGIN OF REC OCCURS 100 ,
   YMWSKZ LIKE  BSET-MWSKZ ,                 "tax code
   YTXJCD LIKE BSET-TXJCD ,                  "tax jurisdiction code
*  ytext1 like t007s-text1 ,                 "name of taxes on sales/pur
   YEBELN LIKE  EKBE-EBELN,                  "po/so document number
   YVBELN LIKE  VBRK-VBELN,
   YBELNR LIKE  BKPF-BELNR ,                 "accounting doc. number
   YBUDAT LIKE  BKPF-BUDAT ,
   YFROM  LIKE T005U-BEZEI ,                 "shipped from
   YTO    LIKE T005U-BEZEI,                  "shipped to
   YHWBAS1 LIKE BSET-HWBAS,                  "tax base amt in local curr
   YRATE1 LIKE BSET-HWSTE,
   YHWSTE1 LIKE BSET-HWSTE ,                 "tax amt in local currency
   YRATE2 LIKE BSET-HWSTE,
   YHWSTE2 LIKE BSET-HWSTE ,                 "tax amt in local currency
   YRATE3 LIKE BSET-HWSTE,
   YHWSTE3  LIKE BSET-HWSTE,                 "tax mat in local currency
   YRATE4 LIKE BSET-HWSTE,
   YHWSTE4  LIKE BSET-HWSTE,
   YRATE5 LIKE BSET-HWSTE,
   YHWSTE5  LIKE BSET-HWSTE,
   YRATE6 LIKE BSET-HWSTE,
   YHWSTE6  LIKE BSET-HWSTE,
    SEL   ,
   KBETR LIKE BSET-KBETR,
   amount like bset-hwste,
   name like lfa1-name1,
   excise like BSET-HWSTE,
   wrbtr like bseg-wrbtr,
  END OF REC .
DATA: BEGIN OF X007A OCCURS 0.
       INCLUDE STRUCTURE T007A.
DATA: END OF X007A.
DATA CTR TYPE I .
DATA TLINE TYPE I.
DATA CTR1 TYPE I .
DATA : CURSORFLD(40) , CURSORVAL(10) ,
        CURR(3) VALUE 'INR'.
DATA:   STXJCD LIKE BSET-TXJCD ,                  "tax jurisdiction code
        SFROM LIKE  T005U-BEZEI,
   STEXT1 LIKE T007S-TEXT1 .               "name of taxes on sales/pur
data  addr1_val like addr1_val.
data  addr1_sel like addr1_sel.
data: s_bseg like bseg.
data: it_bseg type standard table of bseg.
data: s_lfa1 like lfa1.
*data: it_lfa1 type standard table of lfa1.
DATA: s_bset LIKE bset.
DATA: t_bset TYPE STANDARD TABLE OF bset.
DATA: s_bkpf LIKE bkpf.
DATA: t_bkpf TYPE STANDARD TABLE OF bkpf.

data: BEGIN OF REC1 OCCURS 100 ,
   YMWSKZ LIKE  BSET-MWSKZ ,                 "tax code
   YTXJCD LIKE BSET-TXJCD ,                  "tax jurisdiction code
*  ytext1 like t007s-text1 ,                 "name of taxes on sales/pur
   YEBELN LIKE  EKBE-EBELN,                  "po/so document number
   YVBELN LIKE  VBRK-VBELN,
   YBELNR LIKE  BKPF-BELNR ,                 "accounting doc. number
   YBUDAT LIKE  BKPF-BUDAT ,
   YFROM  LIKE T005U-BEZEI ,                 "shipped from
   YTO    LIKE T005U-BEZEI,                  "shipped to
   YHWBAS1 LIKE BSET-HWBAS,                  "tax base amt in local curr
   YRATE1 LIKE BSET-HWSTE,
   YHWSTE1 LIKE BSET-HWSTE ,                 "tax amt in local currency
   YRATE2 LIKE BSET-HWSTE,
   YHWSTE2 LIKE BSET-HWSTE ,                 "tax amt in local currency
   YRATE3 LIKE BSET-HWSTE,
   YHWSTE3  LIKE BSET-HWSTE,                 "tax mat in local currency
   YRATE4 LIKE BSET-HWSTE,
   YHWSTE4  LIKE BSET-HWSTE,
   YRATE5 LIKE BSET-HWSTE,
   YHWSTE5  LIKE BSET-HWSTE,
   YRATE6 LIKE BSET-HWSTE,
   YHWSTE6  LIKE BSET-HWSTE,
    SEL   ,
   KBETR LIKE BSET-KBETR,
   amount like bset-hwste,
   name like lfa1-name1,
   excise like BSET-HWSTE,
   wrbtr like bseg-wrbtr,
  END OF REC1 .
*----------------------------------------------------------------------
*The report lists all the documents liable for Sales/Purchase taxes   *
* using the  general company information.    *
*----------------------------------------------------------------------

REPORT ZJ_1ISTAX2 MESSAGE-ID 8I LINE-SIZE 250 .

*----------------------------------------------------------------------
*                       Data / Tables                                 *
*----------------------------------------------------------------------
INCLUDE ZJ_1ISTAD2 .

*----------------------------------------------------------------------
*                   Parameter and Select-Options                      *
*----------------------------------------------------------------------
* Report Type
*General Data
*SELECTION-SCREEN BEGIN OF BLOCK B2 WITH FRAME TITLE TEXT-002 .
*SELECT-OPTIONS :
*               ZMWSKZ FOR BSET-MWSKZ NO-EXTENSION,      " tax code
*               ZTXJCD FOR BSET-TXJCD NO-EXTENSION.   " tax jurisdication
*PARAMETERS:
*               ZLST   LIKE T685-KSCHL,       " LST condition
*               ZCST   LIKE T685-KSCHL,       " CST condition
*               ZSETOFF LIKE T685-KSCHL.      " Set Off condition

*SELECTION-SCREEN END OF BLOCK B2.
*SELECTION-SCREEN BEGIN OF BLOCK B3 WITH FRAME TITLE TEXT-003 .
*PARAMETERS:
*          ZFROM  LIKE T005S-BLAND ,        " Location shipped from
*          ZTO    LIKE T005S-BLAND.         "location shipped to
*SELECTION-SCREEN END OF BLOCK B3.

*DATA t_KBETR(10) TYPE C.

*----------------------------------------------------------------------
*                    Selection Screen                                 *
*----------------------------------------------------------------------
* validate tax conditions
*AT SELECTION-SCREEN ON BLOCK B2 .
PERFORM CHECK_CONDITIONS.
*----------------------------------------------------------------------
*                      Start-of-Selection                             *
*----------------------------------------------------------------------

START-OF-SELECTION.
 GET BKPF.
 if t005-kalsm is initial.
   SELECT SINGLE * FROM T005 WHERE LAND1 = T001-LAND1 .
 endif.
 describe table x007a lines tline.
 if tline = 0.
 SELECT * FROM T007A INTO TABLE X007A WHERE KALSM = T005-KALSM . "AND
                                            "MWSKZ IN ZMWSKZ.
 endif.
* if BR_BUDAT = space.
*message e036 with text-033.
*ENDIF.

 get bseg.

* Get the tax data for the selected accounting document
      SELECT * FROM BSET
      into s_bset
      WHERE BUKRS = BKPF-BUKRS AND
            BELNR = BKPF-BELNR AND
            GJAHR = BKPF-GJAHR AND
            buzei = bseg-buzei "AND
*            MWSKZ IN ZMWSKZ AND
*            TXJCD IN ZTXJCD "AND
*            ( KSCHL = ZLST or
*              KSCHL = ZCST or
*              KSCHL = ZSETOFF )
            .

*t_KBETR = S_BSET-KBETR / 10.
*MOVE T_KBETR TO REC-KBETR.

*SELECT WRBTR FROM BSEG INTO T_BSEG WHERE KTOSL = 'VS4' AND BELNR = s_bset-belnr.


*      PERFORM PROCESS_DOC using s_bset.
 APPEND s_bset TO t_bset.
 APPEND bkpf TO t_bkpf.
 append bseg to it_bseg.

    ENDSELECT.


*----------------------------------------------------------------------
* End of Selection
*----------------------------------------------------------------------

END-OF-SELECTION.

   CLEAR s_bset.

    LOOP AT t_bset INTO s_bset.
      PERFORM process_doc
           USING s_bset.
    ENDLOOP.


   LOOP AT REC .
*      IF NOT ZFROM IS INITIAL AND REC-YFROM NE ZFROM.
*         DELETE REC.
*      ENDIF.
*      IF NOT ZTO IS INITIAL AND REC-YTO NE ZTO.
*         DELETE REC.
*      ENDIF.
   ENDLOOP.
   SET PF-STATUS 'J1ST' .
   DESCRIBE TABLE REC LINES TLINE.
   IF TLINE IS INITIAL.
      MESSAGE I152(8I).
   ENDIF.
   SORT REC BY YBELNR .


*
   LOOP AT REC.

*    move rec-ytext1 to stext1.
*     MOVE REC-YTXJCD TO STXJCD.
*     MOVE REC-YFROM  TO SFROM.
*     AT NEW YMWSKZ.
*        PERFORM  TAX_TITLE.
*     ENDAT.
*     AT NEW YTXJCD.
*        PERFORM JURISDICTION_TITLE.
*     ENDAT.
**
*ON CHANGE OF REC-YBELNR.
*ULINE.
*ENDON.


 PERFORM DISPLAY_ITEMS.

*     AT END OF YTXJCD.
*       PERFORM DISPLAY_TAX_TOTAL.
*     ENDAT.

      AT LAST.
         PERFORM DISPLAY_GRAND_TOTAL.
      ENDAT.
   ENDLOOP.

TOP-OF-PAGE.
   PERFORM SET_PAGE_TITLE.

*---------------------------------------------------------------------
*                  Line Selection
*---------------------------------------------------------------------
AT LINE-SELECTION.
   PERFORM DISPLAY_DOC.

*----------------------------------------------------------------------
*  Includes                                                           *
*----------------------------------------------------------------------
  INCLUDE ZJ_1ISTAI2.
*&amp;amp;---------------------------------------------------------------------*
*&amp;amp;  Include           ZJ_1ISTAI1
*&amp;amp;---------------------------------------------------------------------*
*&amp;amp;---------------------------------------------------------------------*
*&amp;amp;      Form  GET_TAX_DESC
*&amp;amp;---------------------------------------------------------------------*
* Get the tax details from the tax code
*-----------------------------------------------------------------------
FORM get_tax_desc.
  SELECT SINGLE * FROM t007s WHERE spras = sy-langu AND
                            kalsm = t005-kalsm AND
                            mwskz = rec-ymwskz .    "tax code name
* move t007s-text1 to rec-ytext1 .
ENDFORM.                               " GET_TAX_DESC
*&amp;amp;---------------------------------------------------------------------*
*&amp;amp;      Form for  DISPLAY_ITEMS
*&amp;amp;---------------------------------------------------------------------*
* Write actual document line items.                                    *
*----------------------------------------------------------------------*
DATA: BEGIN OF IT_LFA1 OCCURS 0,
      LIFNR TYPE LFA1-LIFNR,
      NAME1 TYPE LFA1-NAME1,
      END OF IT_LFA1.

FORM display_items.


  IF rec-sel NE 'X'   .
    ctr1 = ( ctr  MOD 2 ) .
    IF ctr1 = 0 .
      FORMAT COLOR COL_NORMAL INTENSIFIED .
    ELSE.
      FORMAT COLOR COL_NORMAL INTENSIFIED OFF.
    ENDIF.


    WRITE : / rec-yebeln,
              13 rec-ybelnr   ,
              30(38) REC-NAME ,
              69(10) rec-wrbtr,
**             24 rec-ymwskz ,
**             28 rec-ytxjcd  right-justified ,
**             32(10) rec-ybudat,
              83(10) rec-ybudat,
**              47(04) rec-yfrom,
              94(04) rec-yfrom,
**              52(04) rec-yto,
              100(04) rec-yto,
**              57(15) rec-yhwbas1 CURRENCY curr,
               106(14) rec-yhwbas1 CURRENCY curr,
**              74(5) rec-yrate1  CURRENCY curr,
               121(5) rec-yrate1  CURRENCY curr,
**              80(15) rec-yhwste1 CURRENCY curr,
               128(14) rec-yhwste1 CURRENCY curr,
**              97(5) rec-yrate2  CURRENCY curr,
               144(5) rec-yrate2  CURRENCY curr,
**              103(15) rec-yhwste2 CURRENCY curr,
               152(13) rec-yhwste2 CURRENCY curr,
**              119(5) rec-yrate3 CURRENCY curr,
               167(5) rec-yrate3 CURRENCY curr,
               174(10) rec-yhwste3 CURRENCY curr,
               186(10) rec-yrate4 ,
               198(10) rec-yhwste4,
               210(5) REC-YRATE5,
               217(10) REC-YHWSTE5,
               228(5) REC-YRATE6,
               240(10) REC-YHWSTE6.
**               195(10) REC-WRBTR.
**               136(5) itab-kbetr .
**               120(15) rec-yhwste3 CURRENCY curr.
**               131(5)  rec-ykbetr CURRENCY curr.
**               136(6)  rec-ywrbtr CURRENCY curr.

    ctr = ctr + 1 .

*--------------------------------------------------------------------
* loop at itab.
* write /136(5) itab-kbetr.
* endloop.
*--------------------------------------------------------------------

  ENDIF.
ENDFORM.                               " DISPLAY_ITEMS

*&amp;amp;---------------------------------------------------------------------*
*&amp;amp;      Form  DISPLAY_TAX_TOTAL
*&amp;amp;---------------------------------------------------------------------*
* Calculate and Display the total per tax code
**----------------------------------------------------------------------
*
FORM display_tax_total.
  SUM.

  FORMAT COLOR COL_TOTAL.
  ULINE.
  WRITE  : / text-020,  57(15) rec-yhwbas1 CURRENCY curr, "TAX BASE
                        80(15) rec-yhwste1 CURRENCY curr,
                        103(15) rec-yhwste2 CURRENCY curr ,
                        125(15) rec-yhwste3 CURRENCY curr.
  ULINE.
ENDFORM.                               " DISPLAY_TAX_TOTAL
*&amp;amp;---------------------------------------------------------------------*
*&amp;amp;      Form  DISPLAY_GRAND_TOTAL
*&amp;amp;---------------------------------------------------------------------*
* Calculate and display the total for all  the tax codes.
**----------------------------------------------------------------------
*
FORM display_grand_total.
  SUM.

  FORMAT COLOR COL_TOTAL.
  WRITE : / text-022 , 106(15) rec-yhwbas1 CURRENCY curr ,
                       128(15) rec-yhwste1 CURRENCY curr ,
                       152(15) rec-yhwste2 CURRENCY curr,
                       174(15) rec-yhwste3  CURRENCY curr,
                       198(15) rec-yhwste4  CURRENCY curr,
                       217(15) rec-yhwste5  CURRENCY curr,
                       240(15) rec-yhwste6  CURRENCY curr.

ENDFORM.                               " DISPLAY_GRAND_TOTAL
*&amp;amp;---------------------------------------------------------------------*
*&amp;amp;      Form  SET_PAGE_TITLE
*&amp;amp;---------------------------------------------------------------------*
* Give the page heading.                                               *
*----------------------------------------------------------------------*
FORM set_page_title.
  WRITE : / text-016 , t001-butxt  , 70 text-017 , sy-datum .
  WRITE : /  text-018 ,
             br_budat-low DD/MM/YYYY , text-019 ,
             br_budat-high DD/MM/YYYY .
  ULINE.
  FORMAT COLOR COL_HEADING.
  WRITE : 'Purchase' , 13'Document' , 30(38)'Vendor Name' , 69(10)'Amount' , 83(10)'Invoice' , 94(04)'Ship' , 100(04) 'Ship' ,
          108(14)'Tax' , 121(5)'LST' , 130(14)'LST' , 144(5)'CST' , 154(13)'CST' , 167(5)'SetOff' , 176(10)'SetOff' ,
          186(10)'Cess' , 200(10)'Cess' , 210(6)'Excise' , 219(10)'Excise' , 228(10)'Secondary' , 240(10)'Secondary'.
  write : / 'Order No:' , 13'No:' , 83(10)'Date' , 94(04)'from' , 100(04)'to' , 108(14)'Base' , 121(5)'%age', 130(14)'Amount' ,
           144(5)'%age' , 154(13)'Amount' , 167(5)'%age' , 176(10)'Amount' , 186(10)'%age' , 200(10)'Amount' , 210(5)'%age' , 219(10)'Amount' ,
           228(10)'Cess %age' , 240(10)'CessAmount'.
  ULINE.

ENDFORM.                               " SET_PAGE_TITLE
*&amp;amp;---------------------------------------------------------------------*
*&amp;amp;      Form  PROCESS_DOC
*&amp;amp;---------------------------------------------------------------------*
*  Select the documents which are to be displayed .                    *
*----------------------------------------------------------------------*
FORM process_doc
   USING s_bset STRUCTURE bset.

  CLEAR rec .
  MOVE s_bset-belnr TO rec-ybelnr .


READ TABLE t_bkpf INTO s_bkpf
      WITH KEY bukrs = s_bset-bukrs
               belnr = s_bset-belnr
               gjahr = s_bset-gjahr.


  MOVE s_bkpf-budat TO rec-ybudat.
  IF s_bset-shkzg = 'H'.
    s_bset-hwbas = s_bset-hwbas * -1.
    s_bset-hwste = s_bset-hwste * -1.
  ENDIF.
  MOVE s_bset-hwbas TO rec-yhwbas1.

******************************************************
*&amp;amp;*&amp;amp;           modified code                        &amp;amp;*
******************************************************

  IF  s_bset-kschl = 'JIPC'.
    MOVE s_bset-hwste TO rec-yhwste2 .
    COMPUTE rec-yrate2 = ( rec-yhwste2 / rec-yhwbas1 ) * 100.
  ELSEIF s_bset-kschl = 'JAPS' OR s_bset-kschl = 'JAPL' .
    MOVE s_bset-hwste TO rec-yhwste1 .
    COMPUTE rec-yrate1 = ( rec-yhwste1 / rec-yhwbas1 ) * 100.
   ELSEIF s_bset-kschl = 'JIPS'.
    MOVE s_bset-hwste TO rec-yhwste3.
    COMPUTE rec-yrate3 = ( rec-yhwste3 / rec-yhwbas1 ) * 100.
  ELSEIF s_bset-kschl = 'JEC3' OR s_bset-kschl = 'JECP' OR s_bset-kschl = 'JECI' .
    MOVE s_bset-hwste TO rec-yhwste4.
    COMPUTE rec-yrate4 = ( rec-yhwste4 / rec-yhwbas1 ) * 100.
  elseif s_bset-kschl = 'JSRT' OR  s_bset-kschl = 'JAOP' OR  s_bset-kschl = 'JSOP' OR  s_bset-kschl = 'BASB' OR  s_bset-kschl = 'JMOP' OR
  s_bset-kschl = 'JMOQ' OR  s_bset-kschl = 'JAOQ' OR  s_bset-kschl = 'JSOQ'  OR  s_bset-kschl = 'JMIP' OR  s_bset-kschl = 'JMIQ'
  OR  s_bset-kschl = 'JAIP' OR  s_bset-kschl = 'JAIQ' OR  s_bset-kschl = 'JSIP' OR  s_bset-kschl = 'JSIQ' OR  s_bset-kschl = 'JMX1'
  OR  s_bset-kschl = 'JAX1' OR  s_bset-kschl = 'JSX1' OR  s_bset-kschl = 'JMX2' OR  s_bset-kschl = 'JAX2' OR  s_bset-kschl = 'JSX2'.
    MOVE S_BSET-HWSTE TO REC-YHWSTE5.
    COMPUTE rec-yrate5 = ( rec-yhwste5 / rec-yhwbas1 ) * 100.
  ELSEIF S_BSET-KSCHL = 'JA1X' .
    MOVE S_BSET-HWSTE TO REC-YHWSTE6.
    COMPUTE rec-yrate6 = ( rec-yhwste6 / rec-yhwbas1 ) * 100.
  ENDIF.

*if s_bset-ktosl = 'VS4'.
*  move s_bset-kbetr TO itab-kbetr.
*     endif.

READ TABLE it_bseg INTO s_bseg
      WITH KEY bukrs = s_bset-bukrs
               belnr = s_bset-belnr
               gjahr = s_bset-gjahr
               KOART = 'K'.

MOVE s_bseg-WRBTR TO REC-WRBTR.
SELECT LIFNR
       NAME1 FROM LFA1 INTO IT_LFA1 WHERE LIFNR = S_BSEG-LIFNR.
MOVE IT_LFA1-NAME1 TO REC-NAME.
ENDSELECT.
****************************************************************************


  MOVE s_bset-mwskz TO rec-ymwskz .
  MOVE s_bset-txjcd TO rec-ytxjcd .

  READ TABLE x007a WITH KEY  mwskz = rec-ymwskz.
  PERFORM get_order_details.
  PERFORM get_shipping_info.
  APPEND rec.

ENDFORM.                               " PROCESS_DOC
*&amp;amp;---------------------------------------------------------------------*
*&amp;amp;      Form  DISPLAY_DOC
*&amp;amp;---------------------------------------------------------------------*
FORM display_doc.
  GET CURSOR FIELD cursorfld VALUE cursorval .
  IF cursorfld = 'REC-YBELNR' .
    SET PARAMETER ID 'BLN' FIELD  cursorval.
*    set parameter id 'BUK' field  zbukrs.
*       set parameter id 'GJR' field  zgjahr.
    CALL TRANSACTION 'FB03' AND SKIP FIRST SCREEN.
  ENDIF.
ENDFORM.                               " DISPLAY_DOC
*&amp;amp;---------------------------------------------------------------------*
*&amp;amp;      Form  GET_ORDER_DETAILS
*&amp;amp;---------------------------------------------------------------------*
*       text                                                           *
*----------------------------------------------------------------------*
*  --&amp;gt;  p1        text
*  &amp;lt;--  p2        text
*----------------------------------------------------------------------*
FORM get_order_details.

  IF x007a-mwart = 'A'.                "output tax take from sales order
    IF s_bkpf-awtyp = 'VBRK'.
      SELECT SINGLE * from vbrp WHERE
             vbeln = s_bkpf-awkey.
      IF sy-subrc EQ 0.
        MOVE vbrp-aubel TO rec-yebeln.
        MOVE s_bkpf-xblnr TO rec-yvbeln.
      ENDIF.
    ELSE.
      SELECT SINGLE * FROM lips WHERE
        vbeln = s_bkpf-xblnr.              "retrieve sales order number
      IF sy-subrc EQ 0.
        MOVE lips-vgbel TO rec-yebeln.
        MOVE s_bkpf-xblnr TO rec-yvbeln.
      ENDIF.
    ENDIF.
  ELSEIF x007a-mwart = 'V'.            "input tax take from purchase ord
    IF s_bkpf-awtyp = 'RMRP'.
      SELECT SINGLE * FROM ekbe WHERE
             belnr = s_bkpf-awkey+0(10) AND
             bewtp = 'Q'.
      IF sy-subrc EQ 0.
        MOVE ekbe-ebeln TO rec-yebeln.

      ENDIF.

    ELSE.
      SELECT SINGLE * FROM ekbe WHERE
        belnr = s_bkpf-belnr AND
        bewtp = 'R'.                     "retrieve PO number
      IF sy-subrc EQ 0.
        MOVE ekbe-ebeln TO rec-yebeln.
      ENDIF.
    ENDIF.
  ENDIF.
  ENDFORM.                               " GET_ORDER_DETAILS
*&amp;amp;---------------------------------------------------------------------*
*&amp;amp;      Form  CHECK_CONDITIONS
*&amp;amp;---------------------------------------------------------------------*
*Check if the user has entered atlease one tax conditions              *
*----------------------------------------------------------------------*
*  --&amp;gt;  p1        text
*  &amp;lt;--  p2        text
*----------------------------------------------------------------------*
FORM check_conditions.
*  IF zlst = space AND zcst = space AND zsetoff = space.
*    MESSAGE e036 WITH text-030.
*  ENDIF.
ENDFORM.                               " CHECK_CONDITIONS
*&amp;amp;---------------------------------------------------------------------*
*&amp;amp;      Form  TAX_TITLE
*&amp;amp;---------------------------------------------------------------------*
*       text                                                           *
*----------------------------------------------------------------------*
*  --&amp;gt;  p1        text
*  &amp;lt;--  p2        text
*----------------------------------------------------------------------*
FORM tax_title.
  PERFORM get_tax_desc.
  ctr = 0 .
  FORMAT COLOR COL_NORMAL INTENSIFIED OFF.
  WRITE : /    text-014 , rec-ymwskz ,
               15 t007s-text1.

  ULINE.
  FORMAT COLOR OFF.
ENDFORM.                               " TAX_TITLE
*&amp;amp;---------------------------------------------------------------------*
*&amp;amp;      Form  JURISDICTION_TITLE
*&amp;amp;---------------------------------------------------------------------*
*       text                                                           *
*----------------------------------------------------------------------*
*  --&amp;gt;  p1        text
*  &amp;lt;--  p2        text
*----------------------------------------------------------------------*
FORM jurisdiction_title.

  FORMAT COLOR COL_NORMAL INTENSIFIED OFF.
  WRITE : /    text-015 , stxjcd.

  ULINE.
  FORMAT COLOR OFF.
ENDFORM.                               " JURISDICTION_TITLE
*&amp;amp;---------------------------------------------------------------------*
*&amp;amp;      Form  GET_SHIPPING_INFO
*&amp;amp;---------------------------------------------------------------------*
*       text                                                           *
*----------------------------------------------------------------------*
*  --&amp;gt;  p1        text
*  &amp;lt;--  p2        text
*----------------------------------------------------------------------*
FORM get_shipping_info.

  IF x007a-mwart = 'V'.                     "Input Tax Purchase orders.
    PERFORM input_shipfrom.
    PERFORM input_shipto.
*
  ELSEIF x007a-mwart = 'A'.
    PERFORM output_shipfrom.
    PERFORM output_shipto.
  ENDIF.
ENDFORM.                               " GET_SHIPPING_INFO
*&amp;amp;---------------------------------------------------------------------*
*&amp;amp;      Form  LOCATION_SHIPFROM
*&amp;amp;---------------------------------------------------------------------*
*       text                                                           *
*----------------------------------------------------------------------*
*  --&amp;gt;  p1        text
*  &amp;lt;--  p2        text
*----------------------------------------------------------------------*
FORM location_shipfrom.

  FORMAT COLOR COL_NORMAL INTENSIFIED OFF.
  WRITE : /    text-016 , sfrom.

  ULINE.
  FORMAT COLOR OFF.
ENDFORM.                    " LOCATION_SHIPFROM
*&amp;amp;---------------------------------------------------------------------*
*&amp;amp;      Form  INPUT_SHIPFROM
*&amp;amp;---------------------------------------------------------------------*
*       text                                                           *
*----------------------------------------------------------------------*
*  --&amp;gt;  p1        text
*  &amp;lt;--  p2        text
*----------------------------------------------------------------------*
FORM input_shipfrom.

*get location shipped from
  SELECT SINGLE * FROM ekpa
    WHERE parvw = 'LW' AND
          ebeln = rec-yebeln.



  IF sy-subrc EQ 0.
    SELECT SINGLE * FROM lfa1
      WHERE lifnr = ekpa-lifn2.
    IF sy-subrc EQ 0.
      MOVE lfa1-regio TO rec-yfrom.
    ENDIF.
  ELSE.
    SELECT SINGLE * FROM ekko
      WHERE ebeln = rec-yebeln.
    IF sy-subrc EQ 0.
      SELECT SINGLE * FROM lfa1
       WHERE lifnr = ekko-lifnr.
      IF sy-subrc EQ 0.
        MOVE lfa1-regio TO rec-yfrom.
      ENDIF.
    ENDIF.
  ENDIF.
ENDFORM.                    " INPUT_SHIPFROM
*&amp;amp;---------------------------------------------------------------------*
*&amp;amp;      Form  INPUT_SHIPTO
*&amp;amp;---------------------------------------------------------------------*
*       text                                                           *
*----------------------------------------------------------------------*
*  --&amp;gt;  p1        text
*  &amp;lt;--  p2        text
*----------------------------------------------------------------------*
FORM input_shipto.

* get location shipped to for Input tax
  SELECT SINGLE * FROM ekpo WHERE ebeln = ekbe-ebeln.
  IF ekpo-werks &amp;lt;&amp;gt; t001w-werks.
    SELECT SINGLE * FROM t001w
       WHERE werks = ekpo-werks.

    IF sy-subrc EQ 0.
      MOVE t001w-regio TO rec-yto.
    ENDIF.
  ELSE.
    MOVE t001w-regio TO rec-yto.
  ENDIF.
ENDFORM.                    " INPUT_SHIPTO
*&amp;amp;---------------------------------------------------------------------*
*&amp;amp;      Form  OUTPUT_SHIPFROM
*&amp;amp;---------------------------------------------------------------------*
*       text
**----------------------------------------------------------------------
*
*  --&amp;gt;  p1        text
*  &amp;lt;--  p2        text
*----------------------------------------------------------------------*
FORM output_shipfrom.
*ship from for sales from the shipping point of the plant
  SELECT SINGLE * FROM vbrp
    WHERE aubel = rec-yebeln .
  IF sy-subrc EQ 0.
    SELECT SINGLE * FROM tvst
      WHERE vstel = vbrp-vstel.
    IF sy-subrc EQ 0 AND tvst-adrnr NE space.
*      SELECT SINGLE * FROM sadr
*       WHERE adrnr EQ tvst-adrnr.
*      IF sy-subrc EQ 0.
*        MOVE sadr-regio TO rec-yfrom.
*      ENDIF.
    clear addr1_val.
    clear addr1_sel.
    addr1_sel-ADDRNUMBER          = tvst-adrnr.

    CALL FUNCTION 'ADDR_GET'
      EXPORTING
        address_selection             = addr1_sel
      IMPORTING
       ADDRESS_VALUE                 =  addr1_val
      EXCEPTIONS
       PARAMETER_ERROR               = 1
       ADDRESS_NOT_EXIST             = 2
       VERSION_NOT_EXIST             = 3
       INTERNAL_ERROR                = 4
       OTHERS                        = 5
          .
    IF sy-subrc = 0.
       move addr1_val-region to rec-yfrom.
    ENDIF.

    ELSE.
      IF t001w-werks &amp;lt;&amp;gt; vbrp-werks.  "address no not maintained
        SELECT SINGLE * FROM t001w
          WHERE werks = vbrp-werks.

      ENDIF.
      MOVE t001w-regio TO rec-yfrom.
    ENDIF.
  ENDIF.
ENDFORM.                    " OUTPUT_SHIPFROM
*&amp;amp;---------------------------------------------------------------------*
*&amp;amp;      Form  OUTPUT_SHIPTO
*&amp;amp;---------------------------------------------------------------------*
*       text                                                           *
*----------------------------------------------------------------------*
*  --&amp;gt;  p1        text
*  &amp;lt;--  p2        text
*----------------------------------------------------------------------*
FORM output_shipto.

* get ship to party information
  SELECT SINGLE * FROM vbpa
   WHERE vbeln = rec-yebeln AND
         parvw = 'WE'.
  IF sy-subrc = 0 AND vbpa-adrnr NE space.
*    SELECT SINGLE * FROM sadr
*     WHERE adrnr EQ vbpa-adrnr.
*    IF sy-subrc EQ 0.
*      MOVE sadr-regio TO rec-yto.
*    ENDIF.
    clear addr1_val.
    clear addr1_sel.
    addr1_sel-ADDRNUMBER          = vbpa-adrnr.
    CALL FUNCTION 'ADDR_GET'
      EXPORTING
        address_selection             = addr1_sel
      IMPORTING
       ADDRESS_VALUE                 =  addr1_val
      EXCEPTIONS
       PARAMETER_ERROR               = 1
       ADDRESS_NOT_EXIST             = 2
       VERSION_NOT_EXIST             = 3
       INTERNAL_ERROR                = 4
       OTHERS                        = 5
          .
    IF sy-subrc = 0.
       move addr1_val-region to rec-yto.
    ENDIF.

  ELSE.
*
    SELECT SINGLE * FROM kna1 WHERE kunnr = vbpa-kunnr.
    MOVE kna1-regio TO rec-yto.
  ENDIF.
ENDFORM.                    " OUTPUT_SHIPTO


*ENDFORM.&lt;/CODE&gt;&lt;/PRE&gt;&lt;P&gt;&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Thu, 29 Nov 2007 05:47:22 GMT</pubDate>
      <guid>https://community.sap.com/t5/application-development-and-automation-discussions/to-stop-repeating/m-p/3066431#M726664</guid>
      <dc:creator>Former Member</dc:creator>
      <dc:date>2007-11-29T05:47:22Z</dc:date>
    </item>
    <item>
      <title>Re: to stop repeating</title>
      <link>https://community.sap.com/t5/application-development-and-automation-discussions/to-stop-repeating/m-p/3066432#M726665</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;data: begin of itab,&lt;/P&gt;&lt;P&gt;         docno&lt;/P&gt;&lt;P&gt;         tax&lt;/P&gt;&lt;P&gt;        end of itab.&lt;/P&gt;&lt;P&gt;data: fl type c.&lt;/P&gt;&lt;P&gt;sort itab by docno.&lt;/P&gt;&lt;P&gt;loop at itab.&lt;/P&gt;&lt;P&gt;at new docno.&lt;/P&gt;&lt;P&gt;    fl = 'X'.&lt;/P&gt;&lt;P&gt;endat.&lt;/P&gt;&lt;P&gt;  if fl = 'X'.&lt;/P&gt;&lt;P&gt;    write:/ itab-docno, itab-tax.&lt;/P&gt;&lt;P&gt;    clear fl.&lt;/P&gt;&lt;P&gt;  else.&lt;/P&gt;&lt;P&gt;    write: itab-tax.&lt;/P&gt;&lt;P&gt;  endif.&lt;/P&gt;&lt;P&gt;endloop.&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Thu, 29 Nov 2007 05:55:16 GMT</pubDate>
      <guid>https://community.sap.com/t5/application-development-and-automation-discussions/to-stop-repeating/m-p/3066432#M726665</guid>
      <dc:creator>Former Member</dc:creator>
      <dc:date>2007-11-29T05:55:16Z</dc:date>
    </item>
  </channel>
</rss>

